@lingoace/lingo-trtc-rtc 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/trtc-lingo.js +48 -48
package/trtc-lingo.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var $7=Object.create;var _d=Object.defineProperty,Z7=Object.defineProperties,Ww=Object.getOwnPropertyDescriptor,e9=Object.getOwnPropertyDescriptors,t9=Object.getOwnPropertyNames,zw=Object.getOwnPropertySymbols,n9=Object.getPrototypeOf,Jw=Object.prototype.hasOwnProperty,r9=Object.prototype.propertyIsEnumerable;var lg=(Z,H,p)=>H in Z?_d(Z,H,{enumerable:!0,configurable:!0,writable:!0,value:p}):Z[H]=p,qr=(Z,H)=>{for(var p in H||(H={}))Jw.call(H,p)&&lg(Z,p,H[p]);if(zw)for(var p of zw(H))r9.call(H,p)&&lg(Z,p,H[p]);return Z},yd=(Z,H)=>Z7(Z,e9(H));var dg=(Z,H)=>()=>(H||Z((H={exports:{}}).exports,H),H.exports);var i9=(Z,H,p,V)=>{if(H&&typeof H=="object"||typeof H=="function")for(let X of t9(H))!Jw.call(Z,X)&&X!==p&&_d(Z,X,{get:()=>H[X],enumerable:!(V=Ww(H,X))||V.enumerable});return Z};var sr=(Z,H,p)=>(p=Z!=null?$7(n9(Z)):{},i9(H||!Z||!Z.__esModule?_d(p,"default",{value:Z,enumerable:!0}):p,Z));var En=(Z,H,p,V)=>{for(var X=V>1?void 0:V?Ww(H,p):H,N=Z.length-1,J;N>=0;N--)(J=Z[N])&&(X=(V?J(H,p,X):J(X))||X);return V&&X&&_d(H,p,X),X};var Ue=(Z,H,p)=>(lg(Z,typeof H!="symbol"?H+"":H,p),p);var Rr=dg((hg,pg)=>{(function(Z,H){typeof hg=="object"&&typeof pg!="undefined"?pg.exports=H():typeof define=="function"&&define.amd?define(H):(Z=typeof globalThis!="undefined"?globalThis:Z||self).TRTC=H()})(hg,function(){function Z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function H(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Z(Object(n),!0).forEach(function(r){ut(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Z(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function p(){p=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=typeof Symbol=="function"?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function s(A,U,T){return Object.defineProperty(A,U,{value:T,enumerable:!0,configurable:!0,writable:!0}),A[U]}try{s({},"")}catch(A){s=function(U,T,v){return U[T]=v}}function c(A,U,T,v){var E=U&&U.prototype instanceof h?U:h,C=Object.create(E.prototype),O=new L(v||[]);return C._invoke=function(F,K,re){var ce="suspendedStart";return function(ge,Ye){if(ce==="executing")throw new Error("Generator is already running");if(ce==="completed"){if(ge==="throw")throw Ye;return P()}for(re.method=ge,re.arg=Ye;;){var Ve=re.delegate;if(Ve){var Ge=z(Ve,re);if(Ge){if(Ge===d)continue;return Ge}}if(re.method==="next")re.sent=re._sent=re.arg;else if(re.method==="throw"){if(ce==="suspendedStart")throw ce="completed",re.arg;re.dispatchException(re.arg)}else re.method==="return"&&re.abrupt("return",re.arg);ce="executing";var Ke=u(F,K,re);if(Ke.type==="normal"){if(ce=re.done?"completed":"suspendedYield",Ke.arg===d)continue;return{value:Ke.arg,done:re.done}}Ke.type==="throw"&&(ce="completed",re.method="throw",re.arg=Ke.arg)}}}(A,T,O),C}function u(A,U,T){try{return{type:"normal",arg:A.call(U,T)}}catch(v){return{type:"throw",arg:v}}}e.wrap=c;var d={};function h(){}function _(){}function y(){}var b={};s(b,i,function(){return this});var f=Object.getPrototypeOf,g=f&&f(f(k([])));g&&g!==t&&n.call(g,i)&&(b=g);var I=y.prototype=h.prototype=Object.create(b);function w(A){["next","throw","return"].forEach(function(U){s(A,U,function(T){return this._invoke(U,T)})})}function j(A,U){function T(E,C,O,F){var K=u(A[E],A,C);if(K.type!=="throw"){var re=K.arg,ce=re.value;return ce&&typeof ce=="object"&&n.call(ce,"__await")?U.resolve(ce.__await).then(function(ge){T("next",ge,O,F)},function(ge){T("throw",ge,O,F)}):U.resolve(ce).then(function(ge){re.value=ge,O(re)},function(ge){return T("throw",ge,O,F)})}F(K.arg)}var v;this._invoke=function(E,C){function O(){return new U(function(F,K){T(E,C,F,K)})}return v=v?v.then(O,O):O()}}function z(A,U){var T=A.iterator[U.method];if(T===void 0){if(U.delegate=null,U.method==="throw"){if(A.iterator.return&&(U.method="return",U.arg=void 0,z(A,U),U.method==="throw"))return d;U.method="throw",U.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var v=u(T,A.iterator,U.arg);if(v.type==="throw")return U.method="throw",U.arg=v.arg,U.delegate=null,d;var E=v.arg;return E?E.done?(U[A.resultName]=E.value,U.next=A.nextLoc,U.method!=="return"&&(U.method="next",U.arg=void 0),U.delegate=null,d):E:(U.method="throw",U.arg=new TypeError("iterator result is not an object"),U.delegate=null,d)}function $(A){var U={tryLoc:A[0]};1 in A&&(U.catchLoc=A[1]),2 in A&&(U.finallyLoc=A[2],U.afterLoc=A[3]),this.tryEntries.push(U)}function ue(A){var U=A.completion||{};U.type="normal",delete U.arg,A.completion=U}function L(A){this.tryEntries=[{tryLoc:"root"}],A.forEach($,this),this.reset(!0)}function k(A){if(A){var U=A[i];if(U)return U.call(A);if(typeof A.next=="function")return A;if(!isNaN(A.length)){var T=-1,v=function E(){for(;++T<A.length;)if(n.call(A,T))return E.value=A[T],E.done=!1,E;return E.value=void 0,E.done=!0,E};return v.next=v}}return{next:P}}function P(){return{value:void 0,done:!0}}return _.prototype=y,s(I,"constructor",y),s(y,"constructor",_),_.displayName=s(y,a,"GeneratorFunction"),e.isGeneratorFunction=function(A){var U=typeof A=="function"&&A.constructor;return!!U&&(U===_||(U.displayName||U.name)==="GeneratorFunction")},e.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,y):(A.__proto__=y,s(A,a,"GeneratorFunction")),A.prototype=Object.create(I),A},e.awrap=function(A){return{__await:A}},w(j.prototype),s(j.prototype,o,function(){return this}),e.AsyncIterator=j,e.async=function(A,U,T,v,E){E===void 0&&(E=Promise);var C=new j(c(A,U,T,v),E);return e.isGeneratorFunction(U)?C:C.next().then(function(O){return O.done?O.value:C.next()})},w(I),s(I,a,"Generator"),s(I,i,function(){return this}),s(I,"toString",function(){return"[object Generator]"}),e.keys=function(A){var U=[];for(var T in A)U.push(T);return U.reverse(),function v(){for(;U.length;){var E=U.pop();if(E in A)return v.value=E,v.done=!1,v}return v.done=!0,v}},e.values=k,L.prototype={constructor:L,reset:function(A){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(ue),!A)for(var U in this)U.charAt(0)==="t"&&n.call(this,U)&&!isNaN(+U.slice(1))&&(this[U]=void 0)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if(A.type==="throw")throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var U=this;function T(K,re){return C.type="throw",C.arg=A,U.next=K,re&&(U.method="next",U.arg=void 0),!!re}for(var v=this.tryEntries.length-1;v>=0;--v){var E=this.tryEntries[v],C=E.completion;if(E.tryLoc==="root")return T("end");if(E.tryLoc<=this.prev){var O=n.call(E,"catchLoc"),F=n.call(E,"finallyLoc");if(O&&F){if(this.prev<E.catchLoc)return T(E.catchLoc,!0);if(this.prev<E.finallyLoc)return T(E.finallyLoc)}else if(O){if(this.prev<E.catchLoc)return T(E.catchLoc,!0)}else{if(!F)throw new Error("try statement without catch or finally");if(this.prev<E.finallyLoc)return T(E.finallyLoc)}}}},abrupt:function(A,U){for(var T=this.tryEntries.length-1;T>=0;--T){var v=this.tryEntries[T];if(v.tryLoc<=this.prev&&n.call(v,"finallyLoc")&&this.prev<v.finallyLoc){var E=v;break}}E&&(A==="break"||A==="continue")&&E.tryLoc<=U&&U<=E.finallyLoc&&(E=null);var C=E?E.completion:{};return C.type=A,C.arg=U,E?(this.method="next",this.next=E.finallyLoc,d):this.complete(C)},complete:function(A,U){if(A.type==="throw")throw A.arg;return A.type==="break"||A.type==="continue"?this.next=A.arg:A.type==="return"?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):A.type==="normal"&&U&&(this.next=U),d},finish:function(A){for(var U=this.tryEntries.length-1;U>=0;--U){var T=this.tryEntries[U];if(T.finallyLoc===A)return this.complete(T.completion,T.afterLoc),ue(T),d}},catch:function(A){for(var U=this.tryEntries.length-1;U>=0;--U){var T=this.tryEntries[U];if(T.tryLoc===A){var v=T.completion;if(v.type==="throw"){var E=v.arg;ue(T)}return E}}throw new Error("illegal catch attempt")},delegateYield:function(A,U,T){return this.delegate={iterator:k(A),resultName:U,nextLoc:T},this.method==="next"&&(this.arg=void 0),d}},e}function V(e){return V=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},V(e)}function X(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(u){return void n(u)}s.done?t(c):Promise.resolve(c).then(r,i)}function N(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(c){X(o,r,i,a,s,"next",c)}function s(c){X(o,r,i,a,s,"throw",c)}a(void 0)})}}function J(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ye(e,t,n){return t&&Pe(e.prototype,t),n&&Pe(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ut(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Nt(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&cr(e,t)}function $e(e){return $e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},$e(e)}function cr(e,t){return cr=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},cr(e,t)}function Dc(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function Go(e,t,n){return Go=Dc()?Reflect.construct.bind():function(r,i,o){var a=[null];a.push.apply(a,i);var s=new(Function.bind.apply(r,a));return o&&cr(s,o.prototype),s},Go.apply(null,arguments)}function Ho(e){var t=typeof Map=="function"?new Map:void 0;return Ho=function(n){if(n===null||(r=n,Function.toString.call(r).indexOf("[native code]")===-1))return n;var r;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(t!==void 0){if(t.has(n))return t.get(n);t.set(n,i)}function i(){return Go(n,arguments,$e(this).constructor)}return i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),cr(i,n)},Ho(e)}function zo(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(e)}function Ar(e){var t=Dc();return function(){var n,r=$e(e);if(t){var i=$e(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return zo(this,n)}}function Lc(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=$e(e))!==null;);return e}function se(){return se=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=Lc(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},se.apply(this,arguments)}function Te(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,r){var i=n==null?null:typeof Symbol!="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,s=[],c=!0,u=!1;try{for(i=i.call(n);!(c=(o=i.next()).done)&&(s.push(o.value),!r||s.length!==r);c=!0);}catch(d){u=!0,a=d}finally{try{c||i.return==null||i.return()}finally{if(u)throw a}}return s}}(e,t)||Be(e,t)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function be(e){return function(t){if(Array.isArray(t))return ze(t)}(e)||function(t){if(typeof Symbol!="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}(e)||
|
|
3
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function
|
|
4
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var c=n.next();return a=c.done,c},e:function(c){s=!0,o=c},f:function(){try{a||n.return==null||n.return()}finally{if(s)throw o}}}}function W(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(a){o[a]=r[a]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(a,s){return s(e,t,a)||a},o),i&&o.initializer!==void 0&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),o.initializer===void 0&&(Object.defineProperty(e,t,o),o=null),o}var ae=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},B=function(e){return e&&e.Math==Math&&e},te=B(typeof globalThis=="object"&&globalThis)||B(typeof window=="object"&&window)||B(typeof self=="object"&&self)||B(typeof ae=="object"&&ae)||function(){return this}()||Function("return this")(),Se={},oe=function(e){try{return!!e()}catch(t){return!0}},_e=!oe(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),Oe=!oe(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),Jt=Oe,Zt=Function.prototype.call,Qe=Jt?Zt.bind(Zt):function(){return Zt.apply(Zt,arguments)},Kt={},ht={}.propertyIsEnumerable,Jn=Object.getOwnPropertyDescriptor,ur=Jn&&!ht.call({1:2},1);Kt.f=ur?function(e){var t=Jn(this,e);return!!t&&t.enumerable}:ht;var Ht,An,et=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},zt=Oe,Kn=Function.prototype,de=Kn.call,le=zt&&Kn.bind.bind(de,de),Ne=function(e){return zt?le(e):function(){return de.apply(e,arguments)}},Je=Ne,De=Je({}.toString),lt=Je("".slice),it=function(e){return lt(De(e),8,-1)},Vt=it,en=Ne,pe=function(e){if(Vt(e)==="Function")return en(e)},Lt=oe,qt=it,lr=Object,wi=pe("".split),yn=Lt(function(){return!lr("z").propertyIsEnumerable(0)})?function(e){return qt(e)=="String"?wi(e,""):lr(e)}:lr,Ct=function(e){return e==null},Dd=Ct,Ot=TypeError,pt=function(e){if(Dd(e))throw Ot("Can't call method on "+e);return e},Oc=yn,Mc=pt,Sn=function(e){return Oc(Mc(e))},va=typeof document=="object"&&document.all,Ei={all:va,IS_HTMLDDA:va===void 0&&va!==void 0},Nc=Ei.all,at=Ei.IS_HTMLDDA?function(e){return typeof e=="function"||e===Nc}:function(e){return typeof e=="function"},ga=at,Vc=Ei.all,ot=Ei.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:ga(e)||e===Vc}:function(e){return typeof e=="object"?e!==null:ga(e)},_a=te,Wo=at,Uc=function(e){return Wo(e)?e:void 0},Pn=function(e,t){return arguments.length<2?Uc(_a[e]):_a[e]&&_a[e][t]},bn=pe({}.isPrototypeOf),qn=Pn("navigator","userAgent")||"",Bc=te,ya=qn,Xr=Bc.process,Sa=Bc.Deno,Jo=Xr&&Xr.versions||Sa&&Sa.version,Ko=Jo&&Jo.v8;Ko&&(An=(Ht=Ko.split("."))[0]>0&&Ht[0]<4?1:+(Ht[0]+Ht[1])),!An&&ya&&(!(Ht=ya.match(/Edge\/(\d+)/))||Ht[1]>=74)&&(Ht=ya.match(/Chrome\/(\d+)/))&&(An=+Ht[1]);var dr=An,hr=dr,Ci=oe,qo=!!Object.getOwnPropertySymbols&&!Ci(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&hr&&hr<41}),Xo=qo&&!Symbol.sham&&typeof Symbol.iterator=="symbol",Qo=Pn,jc=at,Pr=bn,Yo=Object,Ri=Xo?function(e){return typeof e=="symbol"}:function(e){var t=Qo("Symbol");return jc(t)&&Pr(t.prototype,Yo(e))},ba=String,Xn=function(e){try{return ba(e)}catch(t){return"Object"}},Ld=at,Qr=Xn,Qn=TypeError,Ut=function(e){if(Ld(e))return e;throw Qn(Qr(e)+" is not a function")},Fc=Ut,wt=Ct,Xt=function(e,t){var n=e[t];return wt(n)?void 0:Fc(n)},Ai=Qe,$o=at,Yr=ot,Zo=TypeError,Dr={exports:{}},$r=te,ka=Object.defineProperty,Ta=function(e,t){try{ka($r,e,{value:t,configurable:!0,writable:!0})}catch(n){$r[e]=t}return t},es=Ta,xa="__core-js_shared__",Ia=te[xa]||es(xa,{}),pn=Ia;(Dr.exports=function(e,t){return pn[e]||(pn[e]=t!==void 0?t:{})})("versions",[]).push({version:"3.25.5",mode:"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE",source:"https://github.com/zloirock/core-js"});var Dn=pt,Pi=Object,Bt=function(e){return Pi(Dn(e))},ts=Bt,Gc=pe({}.hasOwnProperty),xt=Object.hasOwn||function(e,t){return Gc(ts(e),t)},Ln=pe,Hc=0,wa=Math.random(),On=Ln(1 .toString),Di=function(e){return"Symbol("+(e===void 0?"":e)+")_"+On(++Hc+wa,36)},ns=te,Od=Dr.exports,zc=xt,Wc=Di,rs=qo,is=Xo,Zr=Od("wks"),Rt=ns.Symbol,as=Rt&&Rt.for,Jc=is?Rt:Rt&&Rt.withoutSetter||Wc,nt=function(e){if(!zc(Zr,e)||!rs&&typeof Zr[e]!="string"){var t="Symbol."+e;rs&&zc(Rt,e)?Zr[e]=Rt[e]:Zr[e]=is&&as?as(t):Jc(t)}return Zr[e]},Kc=Qe,os=ot,qc=Ri,Xc=Xt,Qc=function(e,t){var n,r;if(t==="string"&&$o(n=e.toString)&&!Yr(r=Ai(n,e))||$o(n=e.valueOf)&&!Yr(r=Ai(n,e))||t!=="string"&&$o(n=e.toString)&&!Yr(r=Ai(n,e)))return r;throw Zo("Can't convert object to primitive value")},Ea=TypeError,Yc=nt("toPrimitive"),Ca=function(e,t){if(!os(e)||qc(e))return e;var n,r=Xc(e,Yc);if(r){if(t===void 0&&(t="default"),n=Kc(r,e,t),!os(n)||qc(n))return n;throw Ea("Can't convert object to primitive value")}return t===void 0&&(t="number"),Qc(e,t)},Li=Ca,Md=Ri,Ra=function(e){var t=Li(e,"string");return Md(t)?t:t+""},$c=ot,ss=te.document,cs=$c(ss)&&$c(ss.createElement),pr=function(e){return cs?ss.createElement(e):{}},Nd=pr,Zc=!_e&&!oe(function(){return Object.defineProperty(Nd("div"),"a",{get:function(){return 7}}).a!=7}),Vd=_e,Ud=Qe,us=Kt,eu=et,tu=Sn,Oi=Ra,kn=xt,Bd=Zc,nu=Object.getOwnPropertyDescriptor;Se.f=Vd?nu:function(e,t){if(e=tu(e),t=Oi(t),Bd)try{return nu(e,t)}catch(n){}if(kn(e,t))return eu(!Ud(us.f,e,t),e[t])};var At={},ls=_e&&oe(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42}),ds=ot,hs=String,ei=TypeError,It=function(e){if(ds(e))return e;throw ei(hs(e)+" is not an object")},ps=_e,jd=Zc,Fd=ls,fr=It,fs=Ra,ru=TypeError,ms=Object.defineProperty,Gd=Object.getOwnPropertyDescriptor,Aa="enumerable",iu="configurable",Hd="writable";At.f=ps?Fd?function(e,t,n){if(fr(e),t=fs(t),fr(n),typeof e=="function"&&t==="prototype"&&"value"in n&&Hd in n&&!n.writable){var r=Gd(e,t);r&&r.writable&&(e[t]=n.value,n={configurable:iu in n?n.configurable:r.configurable,enumerable:Aa in n?n.enumerable:r.enumerable,writable:!1})}return ms(e,t,n)}:ms:function(e,t,n){if(fr(e),t=fs(t),fr(n),jd)try{return ms(e,t,n)}catch(r){}if("get"in n||"set"in n)throw ru("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var au=At,zd=et,Mn=_e?function(e,t,n){return au.f(e,t,zd(1,n))}:function(e,t,n){return e[t]=n,e},Mi={exports:{}},Pa=_e,Wd=xt,ou=Function.prototype,Jd=Pa&&Object.getOwnPropertyDescriptor,Da=Wd(ou,"name"),Yn={EXISTS:Da,PROPER:Da&&function(){}.name==="something",CONFIGURABLE:Da&&(!Pa||Pa&&Jd(ou,"name").configurable)},Kd=at,ti=Ia,qd=pe(Function.toString);Kd(ti.inspectSource)||(ti.inspectSource=function(e){return qd(e)});var La,ni,Ni,l=ti.inspectSource,m=at,S=te.WeakMap,x=m(S)&&/native code/.test(String(S)),D=Dr.exports,R=Di,M=D("keys"),G=function(e){return M[e]||(M[e]=R(e))},Q={},he=x,fe=te,we=ot,Re=Mn,me=xt,Le=Ia,je=G,st=Q,dt="Object already initialized",jt=fe.TypeError,fn=fe.WeakMap;if(he||Le.state){var St=Le.state||(Le.state=new fn);St.get=St.get,St.has=St.has,St.set=St.set,La=function(e,t){if(St.has(e))throw jt(dt);return t.facade=e,St.set(e,t),t},ni=function(e){return St.get(e)||{}},Ni=function(e){return St.has(e)}}else{var qe=je("state");st[qe]=!0,La=function(e,t){if(me(e,qe))throw jt(dt);return t.facade=e,Re(e,qe,t),t},ni=function(e){return me(e,qe)?e[qe]:{}},Ni=function(e){return me(e,qe)}}var Xe={set:La,get:ni,has:Ni,enforce:function(e){return Ni(e)?ni(e):La(e,{})},getterFor:function(e){return function(t){var n;if(!we(t)||(n=ni(t)).type!==e)throw jt("Incompatible receiver, "+e+" required");return n}}},mr=oe,Oa=at,Nn=xt,Ma=_e,ri=Yn.CONFIGURABLE,Na=l,vs=Xe.enforce,hE=Xe.get,su=Object.defineProperty,pE=Ma&&!mr(function(){return su(function(){},"length",{value:8}).length!==8}),fE=String(String).split("String"),mE=Mi.exports=function(e,t,n){String(t).slice(0,7)==="Symbol("&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!Nn(e,"name")||ri&&e.name!==t)&&(Ma?su(e,"name",{value:t,configurable:!0}):e.name=t),pE&&n&&Nn(n,"arity")&&e.length!==n.arity&&su(e,"length",{value:n.arity});try{n&&Nn(n,"constructor")&&n.constructor?Ma&&su(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(i){}var r=vs(e);return Nn(r,"source")||(r.source=fE.join(typeof t=="string"?t:"")),e};Function.prototype.toString=mE(function(){return Oa(this)&&hE(this).source||Na(this)},"toString");var vE=at,gE=At,_E=Mi.exports,yE=Ta,Qt=function(e,t,n,r){r||(r={});var i=r.enumerable,o=r.name!==void 0?r.name:t;if(vE(n)&&_E(n,o,r),r.global)i?e[t]=n:yE(t,n);else{try{r.unsafe?e[t]&&(i=!0):delete e[t]}catch(a){}i?e[t]=n:gE.f(e,t,{value:n,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return e},ii={},SE=Math.ceil,bE=Math.floor,kE=Math.trunc||function(e){var t=+e;return(t>0?bE:SE)(t)},$n=function(e){var t=+e;return t!=t||t===0?0:kE(t)},TE=$n,xE=Math.max,IE=Math.min,ai=function(e,t){var n=TE(e);return n<0?xE(n+t,0):IE(n,t)},wE=$n,EE=Math.min,vr=function(e){return e>0?EE(wE(e),9007199254740991):0},CE=vr,rn=function(e){return CE(e.length)},RE=Sn,AE=ai,PE=rn,Ig=function(e){return function(t,n,r){var i,o=RE(t),a=PE(o),s=AE(r,a);if(e&&n!=n){for(;a>s;)if((i=o[s++])!=i)return!0}else for(;a>s;s++)if((e||s in o)&&o[s]===n)return e||s||0;return!e&&-1}},gs={includes:Ig(!0),indexOf:Ig(!1)},Xd=xt,DE=Sn,LE=gs.indexOf,OE=Q,wg=pe([].push),Eg=function(e,t){var n,r=DE(e),i=0,o=[];for(n in r)!Xd(OE,n)&&Xd(r,n)&&wg(o,n);for(;t.length>i;)Xd(r,n=t[i++])&&(~LE(o,n)||wg(o,n));return o},Qd=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ME=Eg,NE=Qd.concat("length","prototype");ii.f=Object.getOwnPropertyNames||function(e){return ME(e,NE)};var Yd={};Yd.f=Object.getOwnPropertySymbols;var VE=Pn,UE=ii,BE=Yd,jE=It,FE=pe([].concat),GE=VE("Reflect","ownKeys")||function(e){var t=UE.f(jE(e)),n=BE.f;return n?FE(t,n(e)):t},Cg=xt,HE=GE,zE=Se,WE=At,JE=oe,KE=at,qE=/#|\.prototype\./,_s=function(e,t){var n=QE[XE(e)];return n==$E||n!=YE&&(KE(t)?JE(t):!!t)},XE=_s.normalize=function(e){return String(e).replace(qE,".").toLowerCase()},QE=_s.data={},YE=_s.NATIVE="N",$E=_s.POLYFILL="P",ys=_s,$d=te,ZE=Se.f,eC=Mn,tC=Qt,nC=Ta,rC=function(e,t,n){for(var r=HE(t),i=WE.f,o=zE.f,a=0;a<r.length;a++){var s=r[a];Cg(e,s)||n&&Cg(n,s)||i(e,s,o(t,s))}},iC=ys,Me=function(e,t){var n,r,i,o,a,s=e.target,c=e.global,u=e.stat;if(n=c?$d:u?$d[s]||nC(s,{}):($d[s]||{}).prototype)for(r in t){if(o=t[r],i=e.dontCallGetSet?(a=ZE(n,r))&&a.value:n[r],!iC(c?r:s+(u?".":"#")+r,e.forced)&&i!==void 0){if(typeof o==typeof i)continue;rC(o,i)}(e.sham||i&&i.sham)&&eC(o,"sham",!0),tC(n,r,o,e)}},aC=Me,oC=oe,sC=Sn,Rg=Se.f,Ag=_e,cC=oC(function(){Rg(1)});aC({target:"Object",stat:!0,forced:!Ag||cC,sham:!Ag},{getOwnPropertyDescriptor:function(e,t){return Rg(sC(e),t)}});let Pg=!0,Dg=!0;function Ss(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseInt(r[n],10)}function Va(e,t,n){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(a,s){if(a!==t)return i.apply(this,arguments);let c=u=>{let d=n(u);d&&(s.handleEvent?s.handleEvent(d):s(d))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(s,c),i.apply(this,[a,c])};let o=r.removeEventListener;r.removeEventListener=function(a,s){if(a!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(s))return o.apply(this,arguments);let c=this._eventMap[t].get(s);return this._eventMap[t].delete(s),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,o.apply(this,[a,c])},Object.defineProperty(r,"on"+t,{get(){return this["_on"+t]},set(a){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),a&&this.addEventListener(t,this["_on"+t]=a)},enumerable:!0,configurable:!0})}function uC(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(Pg=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function lC(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(Dg=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function Zd(){if(typeof window=="object"){if(Pg)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function cu(e,t){Dg&&console.warn(e+" is deprecated, please use "+t+" instead.")}function Lg(e){return Object.prototype.toString.call(e)==="[object Object]"}function Og(e){return Lg(e)?Object.keys(e).reduce(function(t,n){let r=Lg(e[n]),i=r?Og(e[n]):e[n],o=r&&!Object.keys(i).length;return i===void 0||o?t:Object.assign(t,{[n]:i})},{}):e}function eh(e,t,n){t&&!n.has(t.id)&&(n.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith("Id")?eh(e,e.get(t[r]),n):r.endsWith("Ids")&&t[r].forEach(i=>{eh(e,e.get(i),n)})}))}function Mg(e,t,n){let r=n?"outbound-rtp":"inbound-rtp",i=new Map;if(t===null)return i;let o=[];return e.forEach(a=>{a.type==="track"&&a.trackIdentifier===t.id&&o.push(a)}),o.forEach(a=>{e.forEach(s=>{s.type===r&&s.trackId===a.id&&eh(e,s,i)})}),i}let Ng=Zd;function Vg(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(a){if(typeof a!="object"||a.mandatory||a.optional)return a;let s={};return Object.keys(a).forEach(c=>{if(c==="require"||c==="advanced"||c==="mediaSource")return;let u=typeof a[c]=="object"?a[c]:{ideal:a[c]};u.exact!==void 0&&typeof u.exact=="number"&&(u.min=u.max=u.exact);let d=function(h,_){return h?h+_.charAt(0).toUpperCase()+_.slice(1):_==="deviceId"?"sourceId":_};if(u.ideal!==void 0){s.optional=s.optional||[];let h={};typeof u.ideal=="number"?(h[d("min",c)]=u.ideal,s.optional.push(h),h={},h[d("max",c)]=u.ideal,s.optional.push(h)):(h[d("",c)]=u.ideal,s.optional.push(h))}u.exact!==void 0&&typeof u.exact!="number"?(s.mandatory=s.mandatory||{},s.mandatory[d("",c)]=u.exact):["min","max"].forEach(h=>{u[h]!==void 0&&(s.mandatory=s.mandatory||{},s.mandatory[d(h,c)]=u[h])})}),a.advanced&&(s.optional=(s.optional||[]).concat(a.advanced)),s},i=function(a,s){if(t.version>=61)return s(a);if((a=JSON.parse(JSON.stringify(a)))&&typeof a.audio=="object"){let c=function(u,d,h){d in u&&!(h in u)&&(u[h]=u[d],delete u[d])};c((a=JSON.parse(JSON.stringify(a))).audio,"autoGainControl","googAutoGainControl"),c(a.audio,"noiseSuppression","googNoiseSuppression"),a.audio=r(a.audio)}if(a&&typeof a.video=="object"){let c=a.video.facingMode;c=c&&(typeof c=="object"?c:{ideal:c});let u=t.version<66;if(c&&(c.exact==="user"||c.exact==="environment"||c.ideal==="user"||c.ideal==="environment")&&(!n.mediaDevices.getSupportedConstraints||!n.mediaDevices.getSupportedConstraints().facingMode||u)){let d;if(delete a.video.facingMode,c.exact==="environment"||c.ideal==="environment"?d=["back","rear"]:c.exact!=="user"&&c.ideal!=="user"||(d=["front"]),d)return n.mediaDevices.enumerateDevices().then(h=>{let _=(h=h.filter(y=>y.kind==="videoinput")).find(y=>d.some(b=>y.label.toLowerCase().includes(b)));return!_&&h.length&&d.includes("back")&&(_=h[h.length-1]),_&&(a.video.deviceId=c.exact?{exact:_.deviceId}:{ideal:_.deviceId}),a.video=r(a.video),Ng("chrome: "+JSON.stringify(a)),s(a)})}a.video=r(a.video)}return Ng("chrome: "+JSON.stringify(a)),s(a)},o=function(a){return t.version>=64?a:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[a.name]||a.name,message:a.message,constraint:a.constraint||a.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(n.getUserMedia=function(a,s,c){i(a,u=>{n.webkitGetUserMedia(u,s,d=>{c&&c(o(d))})})}.bind(n),n.mediaDevices.getUserMedia){let a=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(s){return i(s,c=>a(c).then(u=>{if(c.audio&&!u.getAudioTracks().length||c.video&&!u.getVideoTracks().length)throw u.getTracks().forEach(d=>{d.stop()}),new DOMException("","NotFoundError");return u},u=>Promise.reject(o(u))))}}}function Ug(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function Bg(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(n){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=n)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=n=>{n.stream.addEventListener("addtrack",r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(a=>a.track&&a.track.id===r.track.id):{track:r.track};let o=new Event("track");o.track=r.track,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)}),n.stream.getTracks().forEach(r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(a=>a.track&&a.track.id===r.id):{track:r};let o=new Event("track");o.track=r,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else Va(e,"track",t=>(t.transceiver||Object.defineProperty(t,"transceiver",{value:{receiver:t.receiver}}),t))}function jg(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let t=function(i,o){return{track:o,get dtmf(){return this._dtmf===void 0&&(o.kind==="audio"?this._dtmf=i.createDTMFSender(o):this._dtmf=null),this._dtmf},_pc:i}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(a,s){let c=i.apply(this,arguments);return c||(c=t(this,a),this._senders.push(c)),c};let o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(a){o.apply(this,arguments);let s=this._senders.indexOf(a);s!==-1&&this._senders.splice(s,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(i){this._senders=this._senders||[],n.apply(this,[i]),i.getTracks().forEach(o=>{this._senders.push(t(this,o))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(i){this._senders=this._senders||[],r.apply(this,[i]),i.getTracks().forEach(o=>{let a=this._senders.find(s=>s.track===o);a&&this._senders.splice(this._senders.indexOf(a),1)})}}else if(typeof e=="object"&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let n=t.apply(this,[]);return n.forEach(r=>r._pc=this),n},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function Fg(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[n,r,i]=arguments;if(arguments.length>0&&typeof n=="function")return t.apply(this,arguments);if(t.length===0&&(arguments.length===0||typeof n!="function"))return t.apply(this,[]);let o=function(s){let c={};return s.result().forEach(u=>{let d={id:u.id,timestamp:u.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[u.type]||u.type};u.names().forEach(h=>{d[h]=u.stat(h)}),c[d.id]=d}),c},a=function(s){return new Map(Object.keys(s).map(c=>[c,s[c]]))};if(arguments.length>=2){let s=function(c){r(a(o(c)))};return t.apply(this,[s,n])}return new Promise((s,c)=>{t.apply(this,[function(u){s(a(o(u)))},c])}).then(r,i)}}function Gg(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let n=e.RTCPeerConnection.prototype.getSenders;n&&(e.RTCPeerConnection.prototype.getSenders=function(){let i=n.apply(this,[]);return i.forEach(o=>o._pc=this),i});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let i=r.apply(this,arguments);return i._pc=this,i}),e.RTCRtpSender.prototype.getStats=function(){let i=this;return this._pc.getStats().then(o=>Mg(o,i.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let n=e.RTCPeerConnection.prototype.getReceivers;n&&(e.RTCPeerConnection.prototype.getReceivers=function(){let r=n.apply(this,[]);return r.forEach(i=>i._pc=this),r}),Va(e,"track",r=>(r.receiver._pc=r.srcElement,r)),e.RTCRtpReceiver.prototype.getStats=function(){let r=this;return this._pc.getStats().then(i=>Mg(i,r.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let n=arguments[0],r,i,o;return this.getSenders().forEach(a=>{a.track===n&&(r?o=!0:r=a)}),this.getReceivers().forEach(a=>(a.track===n&&(i?o=!0:i=a),a.track===n)),o||r&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function Hg(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(o=>this._shimmedLocalStreams[o][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(o,a){if(!a)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let s=t.apply(this,arguments);return this._shimmedLocalStreams[a.id]?this._shimmedLocalStreams[a.id].indexOf(s)===-1&&this._shimmedLocalStreams[a.id].push(s):this._shimmedLocalStreams[a.id]=[a,s],s};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(o){this._shimmedLocalStreams=this._shimmedLocalStreams||{},o.getTracks().forEach(c=>{if(this.getSenders().find(u=>u.track===c))throw new DOMException("Track already exists.","InvalidAccessError")});let a=this.getSenders();n.apply(this,arguments);let s=this.getSenders().filter(c=>a.indexOf(c)===-1);this._shimmedLocalStreams[o.id]=[o].concat(s)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(o){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[o.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(o){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},o&&Object.keys(this._shimmedLocalStreams).forEach(a=>{let s=this._shimmedLocalStreams[a].indexOf(o);s!==-1&&this._shimmedLocalStreams[a].splice(s,1),this._shimmedLocalStreams[a].length===1&&delete this._shimmedLocalStreams[a]}),i.apply(this,arguments)}}function zg(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return Hg(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let u=n.apply(this);return this._reverseStreams=this._reverseStreams||{},u.map(d=>this._reverseStreams[d.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(u){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},u.getTracks().forEach(d=>{if(this.getSenders().find(h=>h.track===d))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[u.id]){let d=new e.MediaStream(u.getTracks());this._streams[u.id]=d,this._reverseStreams[d.id]=u,u=d}r.apply(this,[u])};let i=e.RTCPeerConnection.prototype.removeStream;function o(u,d){let h=d.sdp;return Object.keys(u._reverseStreams||[]).forEach(_=>{let y=u._reverseStreams[_],b=u._streams[y.id];h=h.replace(new RegExp(b.id,"g"),y.id)}),new RTCSessionDescription({type:d.type,sdp:h})}function a(u,d){let h=d.sdp;return Object.keys(u._reverseStreams||[]).forEach(_=>{let y=u._reverseStreams[_],b=u._streams[y.id];h=h.replace(new RegExp(y.id,"g"),b.id)}),new RTCSessionDescription({type:d.type,sdp:h})}e.RTCPeerConnection.prototype.removeStream=function(u){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[u.id]||u]),delete this._reverseStreams[this._streams[u.id]?this._streams[u.id].id:u.id],delete this._streams[u.id]},e.RTCPeerConnection.prototype.addTrack=function(u,d){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let h=[].slice.call(arguments,1);if(h.length!==1||!h[0].getTracks().find(b=>b===u))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(b=>b.track===u))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let y=this._streams[d.id];if(y)y.addTrack(u),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let b=new e.MediaStream([u]);this._streams[d.id]=b,this._reverseStreams[b.id]=d,this.addStream(b)}return this.getSenders().find(b=>b.track===u)},["createOffer","createAnswer"].forEach(function(u){let d=e.RTCPeerConnection.prototype[u],h={[u](){let _=arguments;return arguments.length&&typeof arguments[0]=="function"?d.apply(this,[y=>{let b=o(this,y);_[0].apply(null,[b])},y=>{_[1]&&_[1].apply(null,y)},arguments[2]]):d.apply(this,arguments).then(y=>o(this,y))}};e.RTCPeerConnection.prototype[u]=h[u]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=a(this,arguments[0]),s.apply(this,arguments)):s.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let u=c.get.apply(this);return u.type===""?u:o(this,u)}}),e.RTCPeerConnection.prototype.removeTrack=function(u){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!u._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(u._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let d;this._streams=this._streams||{},Object.keys(this._streams).forEach(h=>{this._streams[h].getTracks().find(_=>u.track===_)&&(d=this._streams[h])}),d&&(d.getTracks().length===1?this.removeStream(this._reverseStreams[d.id]):d.removeTrack(u.track),this.dispatchEvent(new Event("negotiationneeded")))}}function th(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(n){let r=e.RTCPeerConnection.prototype[n],i={[n](){return arguments[0]=new(n==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[n]=i[n]})}function Wg(e,t){Va(e,"negotiationneeded",n=>{let r=n.target;if(!(t.version<72||r.getConfiguration&&r.getConfiguration().sdpSemantics==="plan-b")||r.signalingState==="stable")return n})}var Jg=Object.freeze({__proto__:null,shimMediaStream:Ug,shimOnTrack:Bg,shimGetSendersWithDtmf:jg,shimGetStats:Fg,shimSenderReceiverGetStats:Gg,shimAddTrackRemoveTrackWithNative:Hg,shimAddTrackRemoveTrack:zg,shimPeerConnection:th,fixNegotiationNeeded:Wg,shimGetUserMedia:Vg,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(typeof t=="function"?e.navigator.mediaDevices.getDisplayMedia=function(n){return t(n).then(r=>{let i=n.video&&n.video.width,o=n.video&&n.video.height,a=n.video&&n.video.frameRate;return n.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r,maxFrameRate:a||3}},i&&(n.video.mandatory.maxWidth=i),o&&(n.video.mandatory.maxHeight=o),e.navigator.mediaDevices.getUserMedia(n)})}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}}),nh={exports:{}};(function(e){var t={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};t.localCName=t.generateIdentifier(),t.splitLines=function(n){return n.trim().split(`
|
|
1
|
+
var i9=Object.create;var _d=Object.defineProperty,a9=Object.defineProperties,qw=Object.getOwnPropertyDescriptor,o9=Object.getOwnPropertyDescriptors,s9=Object.getOwnPropertyNames,Jw=Object.getOwnPropertySymbols,c9=Object.getPrototypeOf,Kw=Object.prototype.hasOwnProperty,u9=Object.prototype.propertyIsEnumerable;var lg=(Z,H,p)=>H in Z?_d(Z,H,{enumerable:!0,configurable:!0,writable:!0,value:p}):Z[H]=p,Xr=(Z,H)=>{for(var p in H||(H={}))Kw.call(H,p)&&lg(Z,p,H[p]);if(Jw)for(var p of Jw(H))u9.call(H,p)&&lg(Z,p,H[p]);return Z},yd=(Z,H)=>a9(Z,o9(H));var dg=(Z,H)=>()=>(H||Z((H={exports:{}}).exports,H),H.exports);var l9=(Z,H,p,V)=>{if(H&&typeof H=="object"||typeof H=="function")for(let X of s9(H))!Kw.call(Z,X)&&X!==p&&_d(Z,X,{get:()=>H[X],enumerable:!(V=qw(H,X))||V.enumerable});return Z};var cr=(Z,H,p)=>(p=Z!=null?i9(c9(Z)):{},l9(H||!Z||!Z.__esModule?_d(p,"default",{value:Z,enumerable:!0}):p,Z));var En=(Z,H,p,V)=>{for(var X=V>1?void 0:V?qw(H,p):H,N=Z.length-1,J;N>=0;N--)(J=Z[N])&&(X=(V?J(H,p,X):J(X))||X);return V&&X&&_d(H,p,X),X};var Ue=(Z,H,p)=>(lg(Z,typeof H!="symbol"?H+"":H,p),p);var Rr=dg((hg,pg)=>{(function(Z,H){typeof hg=="object"&&typeof pg!="undefined"?pg.exports=H():typeof define=="function"&&define.amd?define(H):(Z=typeof globalThis!="undefined"?globalThis:Z||self).TRTC=H()})(hg,function(){function Z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function H(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Z(Object(n),!0).forEach(function(r){et(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Z(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function p(){p=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=typeof Symbol=="function"?Symbol:{},i=r.iterator||"@@iterator",o=r.asyncIterator||"@@asyncIterator",a=r.toStringTag||"@@toStringTag";function s(A,U,T){return Object.defineProperty(A,U,{value:T,enumerable:!0,configurable:!0,writable:!0}),A[U]}try{s({},"")}catch(A){s=function(U,T,v){return U[T]=v}}function c(A,U,T,v){var E=U&&U.prototype instanceof h?U:h,C=Object.create(E.prototype),M=new L(v||[]);return C._invoke=function(F,q,re){var ce="suspendedStart";return function(ve,Ye){if(ce==="executing")throw new Error("Generator is already running");if(ce==="completed"){if(ve==="throw")throw Ye;return P()}for(re.method=ve,re.arg=Ye;;){var Ve=re.delegate;if(Ve){var Ge=z(Ve,re);if(Ge){if(Ge===l)continue;return Ge}}if(re.method==="next")re.sent=re._sent=re.arg;else if(re.method==="throw"){if(ce==="suspendedStart")throw ce="completed",re.arg;re.dispatchException(re.arg)}else re.method==="return"&&re.abrupt("return",re.arg);ce="executing";var qe=u(F,q,re);if(qe.type==="normal"){if(ce=re.done?"completed":"suspendedYield",qe.arg===l)continue;return{value:qe.arg,done:re.done}}qe.type==="throw"&&(ce="completed",re.method="throw",re.arg=qe.arg)}}}(A,T,M),C}function u(A,U,T){try{return{type:"normal",arg:A.call(U,T)}}catch(v){return{type:"throw",arg:v}}}e.wrap=c;var l={};function h(){}function _(){}function y(){}var S={};s(S,i,function(){return this});var f=Object.getPrototypeOf,g=f&&f(f(k([])));g&&g!==t&&n.call(g,i)&&(S=g);var I=y.prototype=h.prototype=Object.create(S);function w(A){["next","throw","return"].forEach(function(U){s(A,U,function(T){return this._invoke(U,T)})})}function B(A,U){function T(E,C,M,F){var q=u(A[E],A,C);if(q.type!=="throw"){var re=q.arg,ce=re.value;return ce&&typeof ce=="object"&&n.call(ce,"__await")?U.resolve(ce.__await).then(function(ve){T("next",ve,M,F)},function(ve){T("throw",ve,M,F)}):U.resolve(ce).then(function(ve){re.value=ve,M(re)},function(ve){return T("throw",ve,M,F)})}F(q.arg)}var v;this._invoke=function(E,C){function M(){return new U(function(F,q){T(E,C,F,q)})}return v=v?v.then(M,M):M()}}function z(A,U){var T=A.iterator[U.method];if(T===void 0){if(U.delegate=null,U.method==="throw"){if(A.iterator.return&&(U.method="return",U.arg=void 0,z(A,U),U.method==="throw"))return l;U.method="throw",U.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var v=u(T,A.iterator,U.arg);if(v.type==="throw")return U.method="throw",U.arg=v.arg,U.delegate=null,l;var E=v.arg;return E?E.done?(U[A.resultName]=E.value,U.next=A.nextLoc,U.method!=="return"&&(U.method="next",U.arg=void 0),U.delegate=null,l):E:(U.method="throw",U.arg=new TypeError("iterator result is not an object"),U.delegate=null,l)}function $(A){var U={tryLoc:A[0]};1 in A&&(U.catchLoc=A[1]),2 in A&&(U.finallyLoc=A[2],U.afterLoc=A[3]),this.tryEntries.push(U)}function ue(A){var U=A.completion||{};U.type="normal",delete U.arg,A.completion=U}function L(A){this.tryEntries=[{tryLoc:"root"}],A.forEach($,this),this.reset(!0)}function k(A){if(A){var U=A[i];if(U)return U.call(A);if(typeof A.next=="function")return A;if(!isNaN(A.length)){var T=-1,v=function E(){for(;++T<A.length;)if(n.call(A,T))return E.value=A[T],E.done=!1,E;return E.value=void 0,E.done=!0,E};return v.next=v}}return{next:P}}function P(){return{value:void 0,done:!0}}return _.prototype=y,s(I,"constructor",y),s(y,"constructor",_),_.displayName=s(y,a,"GeneratorFunction"),e.isGeneratorFunction=function(A){var U=typeof A=="function"&&A.constructor;return!!U&&(U===_||(U.displayName||U.name)==="GeneratorFunction")},e.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,y):(A.__proto__=y,s(A,a,"GeneratorFunction")),A.prototype=Object.create(I),A},e.awrap=function(A){return{__await:A}},w(B.prototype),s(B.prototype,o,function(){return this}),e.AsyncIterator=B,e.async=function(A,U,T,v,E){E===void 0&&(E=Promise);var C=new B(c(A,U,T,v),E);return e.isGeneratorFunction(U)?C:C.next().then(function(M){return M.done?M.value:C.next()})},w(I),s(I,a,"Generator"),s(I,i,function(){return this}),s(I,"toString",function(){return"[object Generator]"}),e.keys=function(A){var U=[];for(var T in A)U.push(T);return U.reverse(),function v(){for(;U.length;){var E=U.pop();if(E in A)return v.value=E,v.done=!1,v}return v.done=!0,v}},e.values=k,L.prototype={constructor:L,reset:function(A){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(ue),!A)for(var U in this)U.charAt(0)==="t"&&n.call(this,U)&&!isNaN(+U.slice(1))&&(this[U]=void 0)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if(A.type==="throw")throw A.arg;return this.rval},dispatchException:function(A){if(this.done)throw A;var U=this;function T(q,re){return C.type="throw",C.arg=A,U.next=q,re&&(U.method="next",U.arg=void 0),!!re}for(var v=this.tryEntries.length-1;v>=0;--v){var E=this.tryEntries[v],C=E.completion;if(E.tryLoc==="root")return T("end");if(E.tryLoc<=this.prev){var M=n.call(E,"catchLoc"),F=n.call(E,"finallyLoc");if(M&&F){if(this.prev<E.catchLoc)return T(E.catchLoc,!0);if(this.prev<E.finallyLoc)return T(E.finallyLoc)}else if(M){if(this.prev<E.catchLoc)return T(E.catchLoc,!0)}else{if(!F)throw new Error("try statement without catch or finally");if(this.prev<E.finallyLoc)return T(E.finallyLoc)}}}},abrupt:function(A,U){for(var T=this.tryEntries.length-1;T>=0;--T){var v=this.tryEntries[T];if(v.tryLoc<=this.prev&&n.call(v,"finallyLoc")&&this.prev<v.finallyLoc){var E=v;break}}E&&(A==="break"||A==="continue")&&E.tryLoc<=U&&U<=E.finallyLoc&&(E=null);var C=E?E.completion:{};return C.type=A,C.arg=U,E?(this.method="next",this.next=E.finallyLoc,l):this.complete(C)},complete:function(A,U){if(A.type==="throw")throw A.arg;return A.type==="break"||A.type==="continue"?this.next=A.arg:A.type==="return"?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):A.type==="normal"&&U&&(this.next=U),l},finish:function(A){for(var U=this.tryEntries.length-1;U>=0;--U){var T=this.tryEntries[U];if(T.finallyLoc===A)return this.complete(T.completion,T.afterLoc),ue(T),l}},catch:function(A){for(var U=this.tryEntries.length-1;U>=0;--U){var T=this.tryEntries[U];if(T.tryLoc===A){var v=T.completion;if(v.type==="throw"){var E=v.arg;ue(T)}return E}}throw new Error("illegal catch attempt")},delegateYield:function(A,U,T){return this.delegate={iterator:k(A),resultName:U,nextLoc:T},this.method==="next"&&(this.arg=void 0),l}},e}function V(e){return V=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},V(e)}function X(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(u){return void n(u)}s.done?t(c):Promise.resolve(c).then(r,i)}function N(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(c){X(o,r,i,a,s,"next",c)}function s(c){X(o,r,i,a,s,"throw",c)}a(void 0)})}}function J(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Re(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ie(e,t,n){return t&&Re(e.prototype,t),n&&Re(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function et(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ct(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ur(e,t)}function $e(e){return $e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},$e(e)}function ur(e,t){return ur=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},ur(e,t)}function Lc(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function Ho(e,t,n){return Ho=Lc()?Reflect.construct.bind():function(r,i,o){var a=[null];a.push.apply(a,i);var s=new(Function.bind.apply(r,a));return o&&ur(s,o.prototype),s},Ho.apply(null,arguments)}function zo(e){var t=typeof Map=="function"?new Map:void 0;return zo=function(n){if(n===null||(r=n,Function.toString.call(r).indexOf("[native code]")===-1))return n;var r;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(t!==void 0){if(t.has(n))return t.get(n);t.set(n,i)}function i(){return Ho(n,arguments,$e(this).constructor)}return i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),ur(i,n)},zo(e)}function Wo(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}(e)}function Ar(e){var t=Lc();return function(){var n,r=$e(e);if(t){var i=$e(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return Wo(this,n)}}function Oc(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=$e(e))!==null;);return e}function se(){return se=typeof Reflect!="undefined"&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=Oc(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},se.apply(this,arguments)}function ke(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,r){var i=n==null?null:typeof Symbol!="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(i!=null){var o,a,s=[],c=!0,u=!1;try{for(i=i.call(n);!(c=(o=i.next()).done)&&(s.push(o.value),!r||s.length!==r);c=!0);}catch(l){u=!0,a=l}finally{try{c||i.return==null||i.return()}finally{if(u)throw a}}return s}}(e,t)||je(e,t)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function be(e){return function(t){if(Array.isArray(t))return ze(t)}(e)||function(t){if(typeof Symbol!="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}(e)||je(e)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function je(e,t){if(e){if(typeof e=="string")return ze(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ze(e,t):void 0}}function ze(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function ie(e,t){var n=typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=je(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(c){throw c},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
4
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,a=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var c=n.next();return a=c.done,c},e:function(c){s=!0,o=c},f:function(){try{a||n.return==null||n.return()}finally{if(s)throw o}}}}function W(e,t,n,r,i){var o={};return Object.keys(r).forEach(function(a){o[a]=r[a]}),o.enumerable=!!o.enumerable,o.configurable=!!o.configurable,("value"in o||o.initializer)&&(o.writable=!0),o=n.slice().reverse().reduce(function(a,s){return s(e,t,a)||a},o),i&&o.initializer!==void 0&&(o.value=o.initializer?o.initializer.call(i):void 0,o.initializer=void 0),o.initializer===void 0&&(Object.defineProperty(e,t,o),o=null),o}var ae=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},j=function(e){return e&&e.Math==Math&&e},te=j(typeof globalThis=="object"&&globalThis)||j(typeof window=="object"&&window)||j(typeof self=="object"&&self)||j(typeof ae=="object"&&ae)||function(){return this}()||Function("return this")(),Se={},oe=function(e){try{return!!e()}catch(t){return!0}},_e=!oe(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),Oe=!oe(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),Jt=Oe,Zt=Function.prototype.call,Qe=Jt?Zt.bind(Zt):function(){return Zt.apply(Zt,arguments)},qt={},ht={}.propertyIsEnumerable,Jn=Object.getOwnPropertyDescriptor,lr=Jn&&!ht.call({1:2},1);qt.f=lr?function(e){var t=Jn(this,e);return!!t&&t.enumerable}:ht;var Ht,An,tt=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},zt=Oe,qn=Function.prototype,de=qn.call,le=zt&&qn.bind.bind(de,de),Ne=function(e){return zt?le(e):function(){return de.apply(e,arguments)}},Je=Ne,De=Je({}.toString),lt=Je("".slice),at=function(e){return lt(De(e),8,-1)},Vt=at,en=Ne,pe=function(e){if(Vt(e)==="Function")return en(e)},Ot=oe,Kt=at,dr=Object,Ci=pe("".split),yn=Ot(function(){return!dr("z").propertyIsEnumerable(0)})?function(e){return Kt(e)=="String"?Ci(e,""):dr(e)}:dr,Rt=function(e){return e==null},Dd=Rt,Mt=TypeError,pt=function(e){if(Dd(e))throw Mt("Can't call method on "+e);return e},Mc=yn,Nc=pt,Sn=function(e){return Mc(Nc(e))},_a=typeof document=="object"&&document.all,Ri={all:_a,IS_HTMLDDA:_a===void 0&&_a!==void 0},Vc=Ri.all,ot=Ri.IS_HTMLDDA?function(e){return typeof e=="function"||e===Vc}:function(e){return typeof e=="function"},ya=ot,Uc=Ri.all,st=Ri.IS_HTMLDDA?function(e){return typeof e=="object"?e!==null:ya(e)||e===Uc}:function(e){return typeof e=="object"?e!==null:ya(e)},Sa=te,Jo=ot,jc=function(e){return Jo(e)?e:void 0},Pn=function(e,t){return arguments.length<2?jc(Sa[e]):Sa[e]&&Sa[e][t]},bn=pe({}.isPrototypeOf),Kn=Pn("navigator","userAgent")||"",Bc=te,ba=Kn,Qr=Bc.process,ka=Bc.Deno,qo=Qr&&Qr.versions||ka&&ka.version,Ko=qo&&qo.v8;Ko&&(An=(Ht=Ko.split("."))[0]>0&&Ht[0]<4?1:+(Ht[0]+Ht[1])),!An&&ba&&(!(Ht=ba.match(/Edge\/(\d+)/))||Ht[1]>=74)&&(Ht=ba.match(/Chrome\/(\d+)/))&&(An=+Ht[1]);var hr=An,pr=hr,Ai=oe,Xo=!!Object.getOwnPropertySymbols&&!Ai(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&pr&&pr<41}),Qo=Xo&&!Symbol.sham&&typeof Symbol.iterator=="symbol",Yo=Pn,Fc=ot,Pr=bn,$o=Object,Pi=Qo?function(e){return typeof e=="symbol"}:function(e){var t=Yo("Symbol");return Fc(t)&&Pr(t.prototype,$o(e))},Ta=String,Xn=function(e){try{return Ta(e)}catch(t){return"Object"}},Ld=ot,Yr=Xn,Qn=TypeError,Ut=function(e){if(Ld(e))return e;throw Qn(Yr(e)+" is not a function")},Gc=Ut,wt=Rt,Xt=function(e,t){var n=e[t];return wt(n)?void 0:Gc(n)},Di=Qe,Zo=ot,$r=st,es=TypeError,Dr={exports:{}},Zr=te,xa=Object.defineProperty,Ia=function(e,t){try{xa(Zr,e,{value:t,configurable:!0,writable:!0})}catch(n){Zr[e]=t}return t},ts=Ia,wa="__core-js_shared__",Ea=te[wa]||ts(wa,{}),pn=Ea;(Dr.exports=function(e,t){return pn[e]||(pn[e]=t!==void 0?t:{})})("versions",[]).push({version:"3.25.5",mode:"global",copyright:"\xA9 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE",source:"https://github.com/zloirock/core-js"});var Dn=pt,Li=Object,jt=function(e){return Li(Dn(e))},ns=jt,Hc=pe({}.hasOwnProperty),Tt=Object.hasOwn||function(e,t){return Hc(ns(e),t)},Ln=pe,zc=0,Ca=Math.random(),On=Ln(1 .toString),Oi=function(e){return"Symbol("+(e===void 0?"":e)+")_"+On(++zc+Ca,36)},rs=te,Od=Dr.exports,Wc=Tt,Jc=Oi,is=Xo,as=Qo,ei=Od("wks"),At=rs.Symbol,os=At&&At.for,qc=as?At:At&&At.withoutSetter||Jc,rt=function(e){if(!Wc(ei,e)||!is&&typeof ei[e]!="string"){var t="Symbol."+e;is&&Wc(At,e)?ei[e]=At[e]:ei[e]=as&&os?os(t):qc(t)}return ei[e]},Kc=Qe,ss=st,Xc=Pi,Qc=Xt,Yc=function(e,t){var n,r;if(t==="string"&&Zo(n=e.toString)&&!$r(r=Di(n,e))||Zo(n=e.valueOf)&&!$r(r=Di(n,e))||t!=="string"&&Zo(n=e.toString)&&!$r(r=Di(n,e)))return r;throw es("Can't convert object to primitive value")},Ra=TypeError,$c=rt("toPrimitive"),Aa=function(e,t){if(!ss(e)||Xc(e))return e;var n,r=Qc(e,$c);if(r){if(t===void 0&&(t="default"),n=Kc(r,e,t),!ss(n)||Xc(n))return n;throw Ra("Can't convert object to primitive value")}return t===void 0&&(t="number"),Yc(e,t)},Mi=Aa,Md=Pi,Pa=function(e){var t=Mi(e,"string");return Md(t)?t:t+""},Zc=st,cs=te.document,us=Zc(cs)&&Zc(cs.createElement),fr=function(e){return us?cs.createElement(e):{}},Nd=fr,eu=!_e&&!oe(function(){return Object.defineProperty(Nd("div"),"a",{get:function(){return 7}}).a!=7}),Vd=_e,Ud=Qe,ls=qt,tu=tt,nu=Sn,Ni=Pa,kn=Tt,jd=eu,ru=Object.getOwnPropertyDescriptor;Se.f=Vd?ru:function(e,t){if(e=nu(e),t=Ni(t),jd)try{return ru(e,t)}catch(n){}if(kn(e,t))return tu(!Ud(ls.f,e,t),e[t])};var Pt={},ds=_e&&oe(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42}),hs=st,ps=String,ti=TypeError,xt=function(e){if(hs(e))return e;throw ti(ps(e)+" is not an object")},fs=_e,Bd=eu,Fd=ds,mr=xt,ms=Pa,iu=TypeError,vs=Object.defineProperty,Gd=Object.getOwnPropertyDescriptor,Da="enumerable",au="configurable",Hd="writable";Pt.f=fs?Fd?function(e,t,n){if(mr(e),t=ms(t),mr(n),typeof e=="function"&&t==="prototype"&&"value"in n&&Hd in n&&!n.writable){var r=Gd(e,t);r&&r.writable&&(e[t]=n.value,n={configurable:au in n?n.configurable:r.configurable,enumerable:Da in n?n.enumerable:r.enumerable,writable:!1})}return vs(e,t,n)}:vs:function(e,t,n){if(mr(e),t=ms(t),mr(n),Bd)try{return vs(e,t,n)}catch(r){}if("get"in n||"set"in n)throw iu("Accessors not supported");return"value"in n&&(e[t]=n.value),e};var ou=Pt,zd=tt,Mn=_e?function(e,t,n){return ou.f(e,t,zd(1,n))}:function(e,t,n){return e[t]=n,e},Vi={exports:{}},La=_e,Wd=Tt,su=Function.prototype,Jd=La&&Object.getOwnPropertyDescriptor,Oa=Wd(su,"name"),Yn={EXISTS:Oa,PROPER:Oa&&function(){}.name==="something",CONFIGURABLE:Oa&&(!La||La&&Jd(su,"name").configurable)},qd=ot,ni=Ea,Kd=pe(Function.toString);qd(ni.inspectSource)||(ni.inspectSource=function(e){return Kd(e)});var Ma,ri,Ui,d=ni.inspectSource,m=ot,b=te.WeakMap,x=m(b)&&/native code/.test(String(b)),D=Dr.exports,R=Oi,O=D("keys"),G=function(e){return O[e]||(O[e]=R(e))},Q={},he=x,fe=te,we=st,Ae=Mn,me=Tt,Le=Ea,Be=G,ct=Q,dt="Object already initialized",Bt=fe.TypeError,fn=fe.WeakMap;if(he||Le.state){var St=Le.state||(Le.state=new fn);St.get=St.get,St.has=St.has,St.set=St.set,Ma=function(e,t){if(St.has(e))throw Bt(dt);return t.facade=e,St.set(e,t),t},ri=function(e){return St.get(e)||{}},Ui=function(e){return St.has(e)}}else{var Ke=Be("state");ct[Ke]=!0,Ma=function(e,t){if(me(e,Ke))throw Bt(dt);return t.facade=e,Ae(e,Ke,t),t},ri=function(e){return me(e,Ke)?e[Ke]:{}},Ui=function(e){return me(e,Ke)}}var Xe={set:Ma,get:ri,has:Ui,enforce:function(e){return Ui(e)?ri(e):Ma(e,{})},getterFor:function(e){return function(t){var n;if(!we(t)||(n=ri(t)).type!==e)throw Bt("Incompatible receiver, "+e+" required");return n}}},vr=oe,Na=ot,Nn=Tt,Va=_e,ii=Yn.CONFIGURABLE,Ua=d,gs=Xe.enforce,fE=Xe.get,cu=Object.defineProperty,mE=Va&&!vr(function(){return cu(function(){},"length",{value:8}).length!==8}),vE=String(String).split("String"),gE=Vi.exports=function(e,t,n){String(t).slice(0,7)==="Symbol("&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!Nn(e,"name")||ii&&e.name!==t)&&(Va?cu(e,"name",{value:t,configurable:!0}):e.name=t),mE&&n&&Nn(n,"arity")&&e.length!==n.arity&&cu(e,"length",{value:n.arity});try{n&&Nn(n,"constructor")&&n.constructor?Va&&cu(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(i){}var r=gs(e);return Nn(r,"source")||(r.source=vE.join(typeof t=="string"?t:"")),e};Function.prototype.toString=gE(function(){return Na(this)&&fE(this).source||Ua(this)},"toString");var _E=ot,yE=Pt,SE=Vi.exports,bE=Ia,Qt=function(e,t,n,r){r||(r={});var i=r.enumerable,o=r.name!==void 0?r.name:t;if(_E(n)&&SE(n,o,r),r.global)i?e[t]=n:bE(t,n);else{try{r.unsafe?e[t]&&(i=!0):delete e[t]}catch(a){}i?e[t]=n:yE.f(e,t,{value:n,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return e},ai={},kE=Math.ceil,TE=Math.floor,xE=Math.trunc||function(e){var t=+e;return(t>0?TE:kE)(t)},$n=function(e){var t=+e;return t!=t||t===0?0:xE(t)},IE=$n,wE=Math.max,EE=Math.min,oi=function(e,t){var n=IE(e);return n<0?wE(n+t,0):EE(n,t)},CE=$n,RE=Math.min,gr=function(e){return e>0?RE(CE(e),9007199254740991):0},AE=gr,rn=function(e){return AE(e.length)},PE=Sn,DE=oi,LE=rn,Ig=function(e){return function(t,n,r){var i,o=PE(t),a=LE(o),s=DE(r,a);if(e&&n!=n){for(;a>s;)if((i=o[s++])!=i)return!0}else for(;a>s;s++)if((e||s in o)&&o[s]===n)return e||s||0;return!e&&-1}},_s={includes:Ig(!0),indexOf:Ig(!1)},Xd=Tt,OE=Sn,ME=_s.indexOf,NE=Q,wg=pe([].push),Eg=function(e,t){var n,r=OE(e),i=0,o=[];for(n in r)!Xd(NE,n)&&Xd(r,n)&&wg(o,n);for(;t.length>i;)Xd(r,n=t[i++])&&(~ME(o,n)||wg(o,n));return o},Qd=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],VE=Eg,UE=Qd.concat("length","prototype");ai.f=Object.getOwnPropertyNames||function(e){return VE(e,UE)};var Yd={};Yd.f=Object.getOwnPropertySymbols;var jE=Pn,BE=ai,FE=Yd,GE=xt,HE=pe([].concat),zE=jE("Reflect","ownKeys")||function(e){var t=BE.f(GE(e)),n=FE.f;return n?HE(t,n(e)):t},Cg=Tt,WE=zE,JE=Se,qE=Pt,KE=oe,XE=ot,QE=/#|\.prototype\./,ys=function(e,t){var n=$E[YE(e)];return n==eC||n!=ZE&&(XE(t)?KE(t):!!t)},YE=ys.normalize=function(e){return String(e).replace(QE,".").toLowerCase()},$E=ys.data={},ZE=ys.NATIVE="N",eC=ys.POLYFILL="P",Ss=ys,$d=te,tC=Se.f,nC=Mn,rC=Qt,iC=Ia,aC=function(e,t,n){for(var r=WE(t),i=qE.f,o=JE.f,a=0;a<r.length;a++){var s=r[a];Cg(e,s)||n&&Cg(n,s)||i(e,s,o(t,s))}},oC=Ss,Me=function(e,t){var n,r,i,o,a,s=e.target,c=e.global,u=e.stat;if(n=c?$d:u?$d[s]||iC(s,{}):($d[s]||{}).prototype)for(r in t){if(o=t[r],i=e.dontCallGetSet?(a=tC(n,r))&&a.value:n[r],!oC(c?r:s+(u?".":"#")+r,e.forced)&&i!==void 0){if(typeof o==typeof i)continue;aC(o,i)}(e.sham||i&&i.sham)&&nC(o,"sham",!0),rC(n,r,o,e)}},sC=Me,cC=oe,uC=Sn,Rg=Se.f,Ag=_e,lC=cC(function(){Rg(1)});sC({target:"Object",stat:!0,forced:!Ag||lC,sham:!Ag},{getOwnPropertyDescriptor:function(e,t){return Rg(uC(e),t)}});let Pg=!0,Dg=!0;function bs(e,t,n){let r=e.match(t);return r&&r.length>=n&&parseInt(r[n],10)}function ja(e,t,n){if(!e.RTCPeerConnection)return;let r=e.RTCPeerConnection.prototype,i=r.addEventListener;r.addEventListener=function(a,s){if(a!==t)return i.apply(this,arguments);let c=u=>{let l=n(u);l&&(s.handleEvent?s.handleEvent(l):s(l))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(s,c),i.apply(this,[a,c])};let o=r.removeEventListener;r.removeEventListener=function(a,s){if(a!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(s))return o.apply(this,arguments);let c=this._eventMap[t].get(s);return this._eventMap[t].delete(s),this._eventMap[t].size===0&&delete this._eventMap[t],Object.keys(this._eventMap).length===0&&delete this._eventMap,o.apply(this,[a,c])},Object.defineProperty(r,"on"+t,{get(){return this["_on"+t]},set(a){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),a&&this.addEventListener(t,this["_on"+t]=a)},enumerable:!0,configurable:!0})}function dC(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(Pg=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function hC(e){return typeof e!="boolean"?new Error("Argument type: "+typeof e+". Please use a boolean."):(Dg=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function Zd(){if(typeof window=="object"){if(Pg)return;typeof console!="undefined"&&typeof console.log=="function"&&console.log.apply(console,arguments)}}function uu(e,t){Dg&&console.warn(e+" is deprecated, please use "+t+" instead.")}function Lg(e){return Object.prototype.toString.call(e)==="[object Object]"}function Og(e){return Lg(e)?Object.keys(e).reduce(function(t,n){let r=Lg(e[n]),i=r?Og(e[n]):e[n],o=r&&!Object.keys(i).length;return i===void 0||o?t:Object.assign(t,{[n]:i})},{}):e}function eh(e,t,n){t&&!n.has(t.id)&&(n.set(t.id,t),Object.keys(t).forEach(r=>{r.endsWith("Id")?eh(e,e.get(t[r]),n):r.endsWith("Ids")&&t[r].forEach(i=>{eh(e,e.get(i),n)})}))}function Mg(e,t,n){let r=n?"outbound-rtp":"inbound-rtp",i=new Map;if(t===null)return i;let o=[];return e.forEach(a=>{a.type==="track"&&a.trackIdentifier===t.id&&o.push(a)}),o.forEach(a=>{e.forEach(s=>{s.type===r&&s.trackId===a.id&&eh(e,s,i)})}),i}let Ng=Zd;function Vg(e,t){let n=e&&e.navigator;if(!n.mediaDevices)return;let r=function(a){if(typeof a!="object"||a.mandatory||a.optional)return a;let s={};return Object.keys(a).forEach(c=>{if(c==="require"||c==="advanced"||c==="mediaSource")return;let u=typeof a[c]=="object"?a[c]:{ideal:a[c]};u.exact!==void 0&&typeof u.exact=="number"&&(u.min=u.max=u.exact);let l=function(h,_){return h?h+_.charAt(0).toUpperCase()+_.slice(1):_==="deviceId"?"sourceId":_};if(u.ideal!==void 0){s.optional=s.optional||[];let h={};typeof u.ideal=="number"?(h[l("min",c)]=u.ideal,s.optional.push(h),h={},h[l("max",c)]=u.ideal,s.optional.push(h)):(h[l("",c)]=u.ideal,s.optional.push(h))}u.exact!==void 0&&typeof u.exact!="number"?(s.mandatory=s.mandatory||{},s.mandatory[l("",c)]=u.exact):["min","max"].forEach(h=>{u[h]!==void 0&&(s.mandatory=s.mandatory||{},s.mandatory[l(h,c)]=u[h])})}),a.advanced&&(s.optional=(s.optional||[]).concat(a.advanced)),s},i=function(a,s){if(t.version>=61)return s(a);if((a=JSON.parse(JSON.stringify(a)))&&typeof a.audio=="object"){let c=function(u,l,h){l in u&&!(h in u)&&(u[h]=u[l],delete u[l])};c((a=JSON.parse(JSON.stringify(a))).audio,"autoGainControl","googAutoGainControl"),c(a.audio,"noiseSuppression","googNoiseSuppression"),a.audio=r(a.audio)}if(a&&typeof a.video=="object"){let c=a.video.facingMode;c=c&&(typeof c=="object"?c:{ideal:c});let u=t.version<66;if(c&&(c.exact==="user"||c.exact==="environment"||c.ideal==="user"||c.ideal==="environment")&&(!n.mediaDevices.getSupportedConstraints||!n.mediaDevices.getSupportedConstraints().facingMode||u)){let l;if(delete a.video.facingMode,c.exact==="environment"||c.ideal==="environment"?l=["back","rear"]:c.exact!=="user"&&c.ideal!=="user"||(l=["front"]),l)return n.mediaDevices.enumerateDevices().then(h=>{let _=(h=h.filter(y=>y.kind==="videoinput")).find(y=>l.some(S=>y.label.toLowerCase().includes(S)));return!_&&h.length&&l.includes("back")&&(_=h[h.length-1]),_&&(a.video.deviceId=c.exact?{exact:_.deviceId}:{ideal:_.deviceId}),a.video=r(a.video),Ng("chrome: "+JSON.stringify(a)),s(a)})}a.video=r(a.video)}return Ng("chrome: "+JSON.stringify(a)),s(a)},o=function(a){return t.version>=64?a:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[a.name]||a.name,message:a.message,constraint:a.constraint||a.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(n.getUserMedia=function(a,s,c){i(a,u=>{n.webkitGetUserMedia(u,s,l=>{c&&c(o(l))})})}.bind(n),n.mediaDevices.getUserMedia){let a=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(s){return i(s,c=>a(c).then(u=>{if(c.audio&&!u.getAudioTracks().length||c.video&&!u.getVideoTracks().length)throw u.getTracks().forEach(l=>{l.stop()}),new DOMException("","NotFoundError");return u},u=>Promise.reject(o(u))))}}}function Ug(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function jg(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(n){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=n)},enumerable:!0,configurable:!0});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=n=>{n.stream.addEventListener("addtrack",r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(a=>a.track&&a.track.id===r.track.id):{track:r.track};let o=new Event("track");o.track=r.track,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)}),n.stream.getTracks().forEach(r=>{let i;i=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find(a=>a.track&&a.track.id===r.id):{track:r};let o=new Event("track");o.track=r,o.receiver=i,o.transceiver={receiver:i},o.streams=[n.stream],this.dispatchEvent(o)})},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else ja(e,"track",t=>(t.transceiver||Object.defineProperty(t,"transceiver",{value:{receiver:t.receiver}}),t))}function Bg(e){if(typeof e=="object"&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){let t=function(i,o){return{track:o,get dtmf(){return this._dtmf===void 0&&(o.kind==="audio"?this._dtmf=i.createDTMFSender(o):this._dtmf=null),this._dtmf},_pc:i}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};let i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(a,s){let c=i.apply(this,arguments);return c||(c=t(this,a),this._senders.push(c)),c};let o=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(a){o.apply(this,arguments);let s=this._senders.indexOf(a);s!==-1&&this._senders.splice(s,1)}}let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(i){this._senders=this._senders||[],n.apply(this,[i]),i.getTracks().forEach(o=>{this._senders.push(t(this,o))})};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(i){this._senders=this._senders||[],r.apply(this,[i]),i.getTracks().forEach(o=>{let a=this._senders.find(s=>s.track===o);a&&this._senders.splice(this._senders.indexOf(a),1)})}}else if(typeof e=="object"&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){let t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){let n=t.apply(this,[]);return n.forEach(r=>r._pc=this),n},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function Fg(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[n,r,i]=arguments;if(arguments.length>0&&typeof n=="function")return t.apply(this,arguments);if(t.length===0&&(arguments.length===0||typeof n!="function"))return t.apply(this,[]);let o=function(s){let c={};return s.result().forEach(u=>{let l={id:u.id,timestamp:u.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[u.type]||u.type};u.names().forEach(h=>{l[h]=u.stat(h)}),c[l.id]=l}),c},a=function(s){return new Map(Object.keys(s).map(c=>[c,s[c]]))};if(arguments.length>=2){let s=function(c){r(a(o(c)))};return t.apply(this,[s,n])}return new Promise((s,c)=>{t.apply(this,[function(u){s(a(o(u)))},c])}).then(r,i)}}function Gg(e){if(!(typeof e=="object"&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){let n=e.RTCPeerConnection.prototype.getSenders;n&&(e.RTCPeerConnection.prototype.getSenders=function(){let i=n.apply(this,[]);return i.forEach(o=>o._pc=this),i});let r=e.RTCPeerConnection.prototype.addTrack;r&&(e.RTCPeerConnection.prototype.addTrack=function(){let i=r.apply(this,arguments);return i._pc=this,i}),e.RTCRtpSender.prototype.getStats=function(){let i=this;return this._pc.getStats().then(o=>Mg(o,i.track,!0))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){let n=e.RTCPeerConnection.prototype.getReceivers;n&&(e.RTCPeerConnection.prototype.getReceivers=function(){let r=n.apply(this,[]);return r.forEach(i=>i._pc=this),r}),ja(e,"track",r=>(r.receiver._pc=r.srcElement,r)),e.RTCRtpReceiver.prototype.getStats=function(){let r=this;return this._pc.getStats().then(i=>Mg(i,r.track,!1))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;let t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){let n=arguments[0],r,i,o;return this.getSenders().forEach(a=>{a.track===n&&(r?o=!0:r=a)}),this.getReceivers().forEach(a=>(a.track===n&&(i?o=!0:i=a),a.track===n)),o||r&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):r?r.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function Hg(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map(o=>this._shimmedLocalStreams[o][0])};let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(o,a){if(!a)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};let s=t.apply(this,arguments);return this._shimmedLocalStreams[a.id]?this._shimmedLocalStreams[a.id].indexOf(s)===-1&&this._shimmedLocalStreams[a.id].push(s):this._shimmedLocalStreams[a.id]=[a,s],s};let n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(o){this._shimmedLocalStreams=this._shimmedLocalStreams||{},o.getTracks().forEach(c=>{if(this.getSenders().find(u=>u.track===c))throw new DOMException("Track already exists.","InvalidAccessError")});let a=this.getSenders();n.apply(this,arguments);let s=this.getSenders().filter(c=>a.indexOf(c)===-1);this._shimmedLocalStreams[o.id]=[o].concat(s)};let r=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(o){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[o.id],r.apply(this,arguments)};let i=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(o){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},o&&Object.keys(this._shimmedLocalStreams).forEach(a=>{let s=this._shimmedLocalStreams[a].indexOf(o);s!==-1&&this._shimmedLocalStreams[a].splice(s,1),this._shimmedLocalStreams[a].length===1&&delete this._shimmedLocalStreams[a]}),i.apply(this,arguments)}}function zg(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return Hg(e);let n=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){let u=n.apply(this);return this._reverseStreams=this._reverseStreams||{},u.map(l=>this._reverseStreams[l.id])};let r=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(u){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},u.getTracks().forEach(l=>{if(this.getSenders().find(h=>h.track===l))throw new DOMException("Track already exists.","InvalidAccessError")}),!this._reverseStreams[u.id]){let l=new e.MediaStream(u.getTracks());this._streams[u.id]=l,this._reverseStreams[l.id]=u,u=l}r.apply(this,[u])};let i=e.RTCPeerConnection.prototype.removeStream;function o(u,l){let h=l.sdp;return Object.keys(u._reverseStreams||[]).forEach(_=>{let y=u._reverseStreams[_],S=u._streams[y.id];h=h.replace(new RegExp(S.id,"g"),y.id)}),new RTCSessionDescription({type:l.type,sdp:h})}function a(u,l){let h=l.sdp;return Object.keys(u._reverseStreams||[]).forEach(_=>{let y=u._reverseStreams[_],S=u._streams[y.id];h=h.replace(new RegExp(y.id,"g"),S.id)}),new RTCSessionDescription({type:l.type,sdp:h})}e.RTCPeerConnection.prototype.removeStream=function(u){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},i.apply(this,[this._streams[u.id]||u]),delete this._reverseStreams[this._streams[u.id]?this._streams[u.id].id:u.id],delete this._streams[u.id]},e.RTCPeerConnection.prototype.addTrack=function(u,l){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");let h=[].slice.call(arguments,1);if(h.length!==1||!h[0].getTracks().find(S=>S===u))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(S=>S.track===u))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};let y=this._streams[l.id];if(y)y.addTrack(u),Promise.resolve().then(()=>{this.dispatchEvent(new Event("negotiationneeded"))});else{let S=new e.MediaStream([u]);this._streams[l.id]=S,this._reverseStreams[S.id]=l,this.addStream(S)}return this.getSenders().find(S=>S.track===u)},["createOffer","createAnswer"].forEach(function(u){let l=e.RTCPeerConnection.prototype[u],h={[u](){let _=arguments;return arguments.length&&typeof arguments[0]=="function"?l.apply(this,[y=>{let S=o(this,y);_[0].apply(null,[S])},y=>{_[1]&&_[1].apply(null,y)},arguments[2]]):l.apply(this,arguments).then(y=>o(this,y))}};e.RTCPeerConnection.prototype[u]=h[u]});let s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=a(this,arguments[0]),s.apply(this,arguments)):s.apply(this,arguments)};let c=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){let u=c.get.apply(this);return u.type===""?u:o(this,u)}}),e.RTCPeerConnection.prototype.removeTrack=function(u){if(this.signalingState==="closed")throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!u._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(u._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let l;this._streams=this._streams||{},Object.keys(this._streams).forEach(h=>{this._streams[h].getTracks().find(_=>u.track===_)&&(l=this._streams[h])}),l&&(l.getTracks().length===1?this.removeStream(this._reverseStreams[l.id]):l.removeTrack(u.track),this.dispatchEvent(new Event("negotiationneeded")))}}function th(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(n){let r=e.RTCPeerConnection.prototype[n],i={[n](){return arguments[0]=new(n==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),r.apply(this,arguments)}};e.RTCPeerConnection.prototype[n]=i[n]})}function Wg(e,t){ja(e,"negotiationneeded",n=>{let r=n.target;if(!(t.version<72||r.getConfiguration&&r.getConfiguration().sdpSemantics==="plan-b")||r.signalingState==="stable")return n})}var Jg=Object.freeze({__proto__:null,shimMediaStream:Ug,shimOnTrack:jg,shimGetSendersWithDtmf:Bg,shimGetStats:Fg,shimSenderReceiverGetStats:Gg,shimAddTrackRemoveTrackWithNative:Hg,shimAddTrackRemoveTrack:zg,shimPeerConnection:th,fixNegotiationNeeded:Wg,shimGetUserMedia:Vg,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(typeof t=="function"?e.navigator.mediaDevices.getDisplayMedia=function(n){return t(n).then(r=>{let i=n.video&&n.video.width,o=n.video&&n.video.height,a=n.video&&n.video.frameRate;return n.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:r,maxFrameRate:a||3}},i&&(n.video.mandatory.maxWidth=i),o&&(n.video.mandatory.maxHeight=o),e.navigator.mediaDevices.getUserMedia(n)})}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}}),nh={exports:{}};(function(e){var t={generateIdentifier:function(){return Math.random().toString(36).substr(2,10)}};t.localCName=t.generateIdentifier(),t.splitLines=function(n){return n.trim().split(`
|
|
5
5
|
`).map(function(r){return r.trim()})},t.splitSections=function(n){return n.split(`
|
|
6
6
|
m=`).map(function(r,i){return(i>0?"m="+r:r).trim()+`\r
|
|
7
7
|
`})},t.getDescription=function(n){var r=t.splitSections(n);return r&&r[0]},t.getMediaSections=function(n){var r=t.splitSections(n);return r.shift(),r},t.matchPrefix=function(n,r){return t.splitLines(n).filter(function(i){return i.indexOf(r)===0})},t.parseCandidate=function(n){for(var r,i={foundation:(r=n.indexOf("a=candidate:")===0?n.substring(12).split(" "):n.substring(10).split(" "))[0],component:parseInt(r[1],10),protocol:r[2].toLowerCase(),priority:parseInt(r[3],10),ip:r[4],address:r[4],port:parseInt(r[5],10),type:r[7]},o=8;o<r.length;o+=2)switch(r[o]){case"raddr":i.relatedAddress=r[o+1];break;case"rport":i.relatedPort=parseInt(r[o+1],10);break;case"tcptype":i.tcpType=r[o+1];break;case"ufrag":i.ufrag=r[o+1],i.usernameFragment=r[o+1];break;default:i[r[o]]=r[o+1]}return i},t.writeCandidate=function(n){var r=[];r.push(n.foundation),r.push(n.component),r.push(n.protocol.toUpperCase()),r.push(n.priority),r.push(n.address||n.ip),r.push(n.port);var i=n.type;return r.push("typ"),r.push(i),i!=="host"&&n.relatedAddress&&n.relatedPort&&(r.push("raddr"),r.push(n.relatedAddress),r.push("rport"),r.push(n.relatedPort)),n.tcpType&&n.protocol.toLowerCase()==="tcp"&&(r.push("tcptype"),r.push(n.tcpType)),(n.usernameFragment||n.ufrag)&&(r.push("ufrag"),r.push(n.usernameFragment||n.ufrag)),"candidate:"+r.join(" ")},t.parseIceOptions=function(n){return n.substr(14).split(" ")},t.parseRtpMap=function(n){var r=n.substr(9).split(" "),i={payloadType:parseInt(r.shift(),10)};return r=r[0].split("/"),i.name=r[0],i.clockRate=parseInt(r[1],10),i.channels=r.length===3?parseInt(r[2],10):1,i.numChannels=i.channels,i},t.writeRtpMap=function(n){var r=n.payloadType;n.preferredPayloadType!==void 0&&(r=n.preferredPayloadType);var i=n.channels||n.numChannels||1;return"a=rtpmap:"+r+" "+n.name+"/"+n.clockRate+(i!==1?"/"+i:"")+`\r
|
|
@@ -13,12 +13,12 @@ m=`).map(function(r,i){return(i>0?"m="+r:r).trim()+`\r
|
|
|
13
13
|
`}),i},t.parseCryptoLine=function(n){var r=n.substr(9).split(" ");return{tag:parseInt(r[0],10),cryptoSuite:r[1],keyParams:r[2],sessionParams:r.slice(3)}},t.writeCryptoLine=function(n){return"a=crypto:"+n.tag+" "+n.cryptoSuite+" "+(typeof n.keyParams=="object"?t.writeCryptoKeyParams(n.keyParams):n.keyParams)+(n.sessionParams?" "+n.sessionParams.join(" "):"")+`\r
|
|
14
14
|
`},t.parseCryptoKeyParams=function(n){if(n.indexOf("inline:")!==0)return null;var r=n.substr(7).split("|");return{keyMethod:"inline",keySalt:r[0],lifeTime:r[1],mkiValue:r[2]?r[2].split(":")[0]:void 0,mkiLength:r[2]?r[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(n){return n.keyMethod+":"+n.keySalt+(n.lifeTime?"|"+n.lifeTime:"")+(n.mkiValue&&n.mkiLength?"|"+n.mkiValue+":"+n.mkiLength:"")},t.getCryptoParameters=function(n,r){return t.matchPrefix(n+r,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(n,r){var i=t.matchPrefix(n+r,"a=ice-ufrag:")[0],o=t.matchPrefix(n+r,"a=ice-pwd:")[0];return i&&o?{usernameFragment:i.substr(12),password:o.substr(10)}:null},t.writeIceParameters=function(n){return"a=ice-ufrag:"+n.usernameFragment+`\r
|
|
15
15
|
a=ice-pwd:`+n.password+`\r
|
|
16
|
-
`},t.parseRtpParameters=function(n){for(var r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},i=t.splitLines(n)[0].split(" "),o=3;o<i.length;o++){var a=i[o],s=t.matchPrefix(n,"a=rtpmap:"+a+" ")[0];if(s){var c=t.parseRtpMap(s),u=t.matchPrefix(n,"a=fmtp:"+a+" ");switch(c.parameters=u.length?t.parseFmtp(u[0]):{},c.rtcpFeedback=t.matchPrefix(n,"a=rtcp-fb:"+a+" ").map(t.parseRtcpFb),r.codecs.push(c),c.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(c.name.toUpperCase())}}}return t.matchPrefix(n,"a=extmap:").forEach(function(
|
|
16
|
+
`},t.parseRtpParameters=function(n){for(var r={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},i=t.splitLines(n)[0].split(" "),o=3;o<i.length;o++){var a=i[o],s=t.matchPrefix(n,"a=rtpmap:"+a+" ")[0];if(s){var c=t.parseRtpMap(s),u=t.matchPrefix(n,"a=fmtp:"+a+" ");switch(c.parameters=u.length?t.parseFmtp(u[0]):{},c.rtcpFeedback=t.matchPrefix(n,"a=rtcp-fb:"+a+" ").map(t.parseRtcpFb),r.codecs.push(c),c.name.toUpperCase()){case"RED":case"ULPFEC":r.fecMechanisms.push(c.name.toUpperCase())}}}return t.matchPrefix(n,"a=extmap:").forEach(function(l){r.headerExtensions.push(t.parseExtmap(l))}),r},t.writeRtpDescription=function(n,r){var i="";i+="m="+n+" ",i+=r.codecs.length>0?"9":"0",i+=" UDP/TLS/RTP/SAVPF ",i+=r.codecs.map(function(a){return a.preferredPayloadType!==void 0?a.preferredPayloadType:a.payloadType}).join(" ")+`\r
|
|
17
17
|
`,i+=`c=IN IP4 0.0.0.0\r
|
|
18
18
|
`,i+=`a=rtcp:9 IN IP4 0.0.0.0\r
|
|
19
19
|
`,r.codecs.forEach(function(a){i+=t.writeRtpMap(a),i+=t.writeFmtp(a),i+=t.writeRtcpFb(a)});var o=0;return r.codecs.forEach(function(a){a.maxptime>o&&(o=a.maxptime)}),o>0&&(i+="a=maxptime:"+o+`\r
|
|
20
20
|
`),i+=`a=rtcp-mux\r
|
|
21
|
-
`,r.headerExtensions&&r.headerExtensions.forEach(function(a){i+=t.writeExtmap(a)}),i},t.parseRtpEncodingParameters=function(n){var r,i=[],o=t.parseRtpParameters(n),a=o.fecMechanisms.indexOf("RED")!==-1,s=o.fecMechanisms.indexOf("ULPFEC")!==-1,c=t.matchPrefix(n,"a=ssrc:").map(function(_){return t.parseSsrcMedia(_)}).filter(function(_){return _.attribute==="cname"}),u=c.length>0&&c[0].ssrc,
|
|
21
|
+
`,r.headerExtensions&&r.headerExtensions.forEach(function(a){i+=t.writeExtmap(a)}),i},t.parseRtpEncodingParameters=function(n){var r,i=[],o=t.parseRtpParameters(n),a=o.fecMechanisms.indexOf("RED")!==-1,s=o.fecMechanisms.indexOf("ULPFEC")!==-1,c=t.matchPrefix(n,"a=ssrc:").map(function(_){return t.parseSsrcMedia(_)}).filter(function(_){return _.attribute==="cname"}),u=c.length>0&&c[0].ssrc,l=t.matchPrefix(n,"a=ssrc-group:FID").map(function(_){return _.substr(17).split(" ").map(function(y){return parseInt(y,10)})});l.length>0&&l[0].length>1&&l[0][0]===u&&(r=l[0][1]),o.codecs.forEach(function(_){if(_.name.toUpperCase()==="RTX"&&_.parameters.apt){var y={ssrc:u,codecPayloadType:parseInt(_.parameters.apt,10)};u&&r&&(y.rtx={ssrc:r}),i.push(y),a&&((y=JSON.parse(JSON.stringify(y))).fec={ssrc:u,mechanism:s?"red+ulpfec":"red"},i.push(y))}}),i.length===0&&u&&i.push({ssrc:u});var h=t.matchPrefix(n,"b=");return h.length&&(h=h[0].indexOf("b=TIAS:")===0?parseInt(h[0].substr(7),10):h[0].indexOf("b=AS:")===0?1e3*parseInt(h[0].substr(5),10)*.95-16e3:void 0,i.forEach(function(_){_.maxBitrate=h})),i},t.parseRtcpParameters=function(n){var r={},i=t.matchPrefix(n,"a=ssrc:").map(function(s){return t.parseSsrcMedia(s)}).filter(function(s){return s.attribute==="cname"})[0];i&&(r.cname=i.value,r.ssrc=i.ssrc);var o=t.matchPrefix(n,"a=rtcp-rsize");r.reducedSize=o.length>0,r.compound=o.length===0;var a=t.matchPrefix(n,"a=rtcp-mux");return r.mux=a.length>0,r},t.parseMsid=function(n){var r,i=t.matchPrefix(n,"a=msid:");if(i.length===1)return{stream:(r=i[0].substr(7).split(" "))[0],track:r[1]};var o=t.matchPrefix(n,"a=ssrc:").map(function(a){return t.parseSsrcMedia(a)}).filter(function(a){return a.attribute==="msid"});return o.length>0?{stream:(r=o[0].value.split(" "))[0],track:r[1]}:void 0},t.parseSctpDescription=function(n){var r,i=t.parseMLine(n),o=t.matchPrefix(n,"a=max-message-size:");o.length>0&&(r=parseInt(o[0].substr(19),10)),isNaN(r)&&(r=65536);var a=t.matchPrefix(n,"a=sctp-port:");if(a.length>0)return{port:parseInt(a[0].substr(12),10),protocol:i.fmt,maxMessageSize:r};if(t.matchPrefix(n,"a=sctpmap:").length>0){var s=t.matchPrefix(n,"a=sctpmap:")[0].substr(10).split(" ");return{port:parseInt(s[0],10),protocol:s[1],maxMessageSize:r}}},t.writeSctpDescription=function(n,r){var i=[];return i=n.protocol!=="DTLS/SCTP"?["m="+n.kind+" 9 "+n.protocol+" "+r.protocol+`\r
|
|
22
22
|
`,`c=IN IP4 0.0.0.0\r
|
|
23
23
|
`,"a=sctp-port:"+r.port+`\r
|
|
24
24
|
`]:["m="+n.kind+" 9 "+n.protocol+" "+r.port+`\r
|
|
@@ -39,7 +39,7 @@ t=0 0\r
|
|
|
39
39
|
`;a+="a="+s,a+="a=ssrc:"+n.sendEncodingParameters[0].ssrc+" "+s,n.sendEncodingParameters[0].rtx&&(a+="a=ssrc:"+n.sendEncodingParameters[0].rtx.ssrc+" "+s,a+="a=ssrc-group:FID "+n.sendEncodingParameters[0].ssrc+" "+n.sendEncodingParameters[0].rtx.ssrc+`\r
|
|
40
40
|
`)}return a+="a=ssrc:"+n.sendEncodingParameters[0].ssrc+" cname:"+t.localCName+`\r
|
|
41
41
|
`,n.rtpSender&&n.sendEncodingParameters[0].rtx&&(a+="a=ssrc:"+n.sendEncodingParameters[0].rtx.ssrc+" cname:"+t.localCName+`\r
|
|
42
|
-
`),a},t.getDirection=function(n,r){for(var i=t.splitLines(n),o=0;o<i.length;o++)switch(i[o]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[o].substr(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(n){return t.splitLines(n)[0].split(" ")[0].substr(2)},t.isRejected=function(n){return n.split(" ",2)[1]==="0"},t.parseMLine=function(n){var r=t.splitLines(n)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(n){var r=t.matchPrefix(n,"o=")[0].substr(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(n){if(typeof n!="string"||n.length===0)return!1;for(var r=t.splitLines(n),i=0;i<r.length;i++)if(r[i].length<2||r[i].charAt(1)!=="=")return!1;return!0},e.exports=t})(nh);var
|
|
42
|
+
`),a},t.getDirection=function(n,r){for(var i=t.splitLines(n),o=0;o<i.length;o++)switch(i[o]){case"a=sendrecv":case"a=sendonly":case"a=recvonly":case"a=inactive":return i[o].substr(2)}return r?t.getDirection(r):"sendrecv"},t.getKind=function(n){return t.splitLines(n)[0].split(" ")[0].substr(2)},t.isRejected=function(n){return n.split(" ",2)[1]==="0"},t.parseMLine=function(n){var r=t.splitLines(n)[0].substr(2).split(" ");return{kind:r[0],port:parseInt(r[1],10),protocol:r[2],fmt:r.slice(3).join(" ")}},t.parseOLine=function(n){var r=t.matchPrefix(n,"o=")[0].substr(2).split(" ");return{username:r[0],sessionId:r[1],sessionVersion:parseInt(r[2],10),netType:r[3],addressType:r[4],address:r[5]}},t.isValidSDP=function(n){if(typeof n!="string"||n.length===0)return!1;for(var r=t.splitLines(n),i=0;i<r.length;i++)if(r[i].length<2||r[i].charAt(1)!=="=")return!1;return!0},e.exports=t})(nh);var lu=nh.exports,Fe=nh.exports;function qg(e,t,n,r,i){var o=Fe.writeRtpDescription(e.kind,t);if(o+=Fe.writeIceParameters(e.iceGatherer.getLocalParameters()),o+=Fe.writeDtlsParameters(e.dtlsTransport.getLocalParameters(),n==="offer"?"actpass":i||"active"),o+="a=mid:"+e.mid+`\r
|
|
43
43
|
`,e.rtpSender&&e.rtpReceiver?o+=`a=sendrecv\r
|
|
44
44
|
`:e.rtpSender?o+=`a=sendonly\r
|
|
45
45
|
`:e.rtpReceiver?o+=`a=recvonly\r
|
|
@@ -48,64 +48,64 @@ t=0 0\r
|
|
|
48
48
|
`;o+="a="+s,o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" "+s,e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" "+s,o+="a=ssrc-group:FID "+e.sendEncodingParameters[0].ssrc+" "+e.sendEncodingParameters[0].rtx.ssrc+`\r
|
|
49
49
|
`)}return o+="a=ssrc:"+e.sendEncodingParameters[0].ssrc+" cname:"+Fe.localCName+`\r
|
|
50
50
|
`,e.rtpSender&&e.sendEncodingParameters[0].rtx&&(o+="a=ssrc:"+e.sendEncodingParameters[0].rtx.ssrc+" cname:"+Fe.localCName+`\r
|
|
51
|
-
`),o}function
|
|
51
|
+
`),o}function du(e,t){var n={codecs:[],headerExtensions:[],fecMechanisms:[]},r=function(o,a){o=parseInt(o,10);for(var s=0;s<a.length;s++)if(a[s].payloadType===o||a[s].preferredPayloadType===o)return a[s]},i=function(o,a,s,c){var u=r(o.parameters.apt,s),l=r(a.parameters.apt,c);return u&&l&&u.name.toLowerCase()===l.name.toLowerCase()};return e.codecs.forEach(function(o){for(var a=0;a<t.codecs.length;a++){var s=t.codecs[a];if(o.name.toLowerCase()===s.name.toLowerCase()&&o.clockRate===s.clockRate){if(o.name.toLowerCase()==="rtx"&&o.parameters&&s.parameters.apt&&!i(o,s,e.codecs,t.codecs))continue;(s=JSON.parse(JSON.stringify(s))).numChannels=Math.min(o.numChannels,s.numChannels),n.codecs.push(s),s.rtcpFeedback=s.rtcpFeedback.filter(function(c){for(var u=0;u<o.rtcpFeedback.length;u++)if(o.rtcpFeedback[u].type===c.type&&o.rtcpFeedback[u].parameter===c.parameter)return!0;return!1});break}}}),e.headerExtensions.forEach(function(o){for(var a=0;a<t.headerExtensions.length;a++){var s=t.headerExtensions[a];if(o.uri===s.uri){n.headerExtensions.push(s);break}}}),n}function Kg(e,t,n){return{offer:{setLocalDescription:["stable","have-local-offer"],setRemoteDescription:["stable","have-remote-offer"]},answer:{setLocalDescription:["have-remote-offer","have-local-pranswer"],setRemoteDescription:["have-local-offer","have-remote-pranswer"]}}[t][e].indexOf(n)!==-1}function rh(e,t){var n=e.getRemoteCandidates().find(function(r){return t.foundation===r.foundation&&t.ip===r.ip&&t.port===r.port&&t.priority===r.priority&&t.protocol===r.protocol&&t.type===r.type});return n||e.addRemoteCandidate(t),!n}function tn(e,t){var n=new Error(t);return n.name=e,n.code={NotSupportedError:9,InvalidStateError:11,InvalidAccessError:15,TypeError:void 0,OperationError:void 0}[e],n}var pC=function(e,t){function n(a,s){s.addTrack(a),s.dispatchEvent(new e.MediaStreamTrackEvent("addtrack",{track:a}))}function r(a,s,c,u){var l=new Event("track");l.track=s,l.receiver=c,l.transceiver={receiver:c},l.streams=u,e.setTimeout(function(){a._dispatchEvent("track",l)})}var i=function(a){var s=this,c=document.createDocumentFragment();if(["addEventListener","removeEventListener","dispatchEvent"].forEach(function(l){s[l]=c[l].bind(c)}),this.canTrickleIceCandidates=null,this.needNegotiation=!1,this.localStreams=[],this.remoteStreams=[],this._localDescription=null,this._remoteDescription=null,this.signalingState="stable",this.iceConnectionState="new",this.connectionState="new",this.iceGatheringState="new",a=JSON.parse(JSON.stringify(a||{})),this.usingBundle=a.bundlePolicy==="max-bundle",a.rtcpMuxPolicy==="negotiate")throw tn("NotSupportedError","rtcpMuxPolicy 'negotiate' is not supported");switch(a.rtcpMuxPolicy||(a.rtcpMuxPolicy="require"),a.iceTransportPolicy){case"all":case"relay":break;default:a.iceTransportPolicy="all"}switch(a.bundlePolicy){case"balanced":case"max-compat":case"max-bundle":break;default:a.bundlePolicy="balanced"}if(a.iceServers=function(l,h){var _=!1;return(l=JSON.parse(JSON.stringify(l))).filter(function(y){if(y&&(y.urls||y.url)){var S=y.urls||y.url;y.url&&!y.urls&&console.warn("RTCIceServer.url is deprecated! Use urls instead.");var f=typeof S=="string";return f&&(S=[S]),S=S.filter(function(g){return g.indexOf("turn:")!==0||g.indexOf("transport=udp")===-1||g.indexOf("turn:[")!==-1||_?g.indexOf("stun:")===0&&h>=14393&&g.indexOf("?transport=udp")===-1:(_=!0,!0)}),delete y.url,y.urls=f?S[0]:S,!!S.length}})}(a.iceServers||[],t),this._iceGatherers=[],a.iceCandidatePoolSize)for(var u=a.iceCandidatePoolSize;u>0;u--)this._iceGatherers.push(new e.RTCIceGatherer({iceServers:a.iceServers,gatherPolicy:a.iceTransportPolicy}));else a.iceCandidatePoolSize=0;this._config=a,this.transceivers=[],this._sdpSessionId=Fe.generateSessionId(),this._sdpSessionVersion=0,this._dtlsRole=void 0,this._isClosed=!1};Object.defineProperty(i.prototype,"localDescription",{configurable:!0,get:function(){return this._localDescription}}),Object.defineProperty(i.prototype,"remoteDescription",{configurable:!0,get:function(){return this._remoteDescription}}),i.prototype.onicecandidate=null,i.prototype.onaddstream=null,i.prototype.ontrack=null,i.prototype.onremovestream=null,i.prototype.onsignalingstatechange=null,i.prototype.oniceconnectionstatechange=null,i.prototype.onconnectionstatechange=null,i.prototype.onicegatheringstatechange=null,i.prototype.onnegotiationneeded=null,i.prototype.ondatachannel=null,i.prototype._dispatchEvent=function(a,s){this._isClosed||(this.dispatchEvent(s),typeof this["on"+a]=="function"&&this["on"+a](s))},i.prototype._emitGatheringStateChange=function(){var a=new Event("icegatheringstatechange");this._dispatchEvent("icegatheringstatechange",a)},i.prototype.getConfiguration=function(){return this._config},i.prototype.getLocalStreams=function(){return this.localStreams},i.prototype.getRemoteStreams=function(){return this.remoteStreams},i.prototype._createTransceiver=function(a,s){var c=this.transceivers.length>0,u={track:null,iceGatherer:null,iceTransport:null,dtlsTransport:null,localCapabilities:null,remoteCapabilities:null,rtpSender:null,rtpReceiver:null,kind:a,mid:null,sendEncodingParameters:null,recvEncodingParameters:null,stream:null,associatedRemoteMediaStreams:[],wantReceive:!0};if(this.usingBundle&&c)u.iceTransport=this.transceivers[0].iceTransport,u.dtlsTransport=this.transceivers[0].dtlsTransport;else{var l=this._createIceAndDtlsTransports();u.iceTransport=l.iceTransport,u.dtlsTransport=l.dtlsTransport}return s||this.transceivers.push(u),u},i.prototype.addTrack=function(a,s){if(this._isClosed)throw tn("InvalidStateError","Attempted to call addTrack on a closed peerconnection.");var c;if(this.transceivers.find(function(l){return l.track===a}))throw tn("InvalidAccessError","Track already exists.");for(var u=0;u<this.transceivers.length;u++)this.transceivers[u].track||this.transceivers[u].kind!==a.kind||(c=this.transceivers[u]);return c||(c=this._createTransceiver(a.kind)),this._maybeFireNegotiationNeeded(),this.localStreams.indexOf(s)===-1&&this.localStreams.push(s),c.track=a,c.stream=s,c.rtpSender=new e.RTCRtpSender(a,c.dtlsTransport),c.rtpSender},i.prototype.addStream=function(a){var s=this;if(t>=15025)a.getTracks().forEach(function(u){s.addTrack(u,a)});else{var c=a.clone();a.getTracks().forEach(function(u,l){var h=c.getTracks()[l];u.addEventListener("enabled",function(_){h.enabled=_.enabled})}),c.getTracks().forEach(function(u){s.addTrack(u,c)})}},i.prototype.removeTrack=function(a){if(this._isClosed)throw tn("InvalidStateError","Attempted to call removeTrack on a closed peerconnection.");if(!(a instanceof e.RTCRtpSender))throw new TypeError("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.");var s=this.transceivers.find(function(u){return u.rtpSender===a});if(!s)throw tn("InvalidAccessError","Sender was not created by this connection.");var c=s.stream;s.rtpSender.stop(),s.rtpSender=null,s.track=null,s.stream=null,this.transceivers.map(function(u){return u.stream}).indexOf(c)===-1&&this.localStreams.indexOf(c)>-1&&this.localStreams.splice(this.localStreams.indexOf(c),1),this._maybeFireNegotiationNeeded()},i.prototype.removeStream=function(a){var s=this;a.getTracks().forEach(function(c){var u=s.getSenders().find(function(l){return l.track===c});u&&s.removeTrack(u)})},i.prototype.getSenders=function(){return this.transceivers.filter(function(a){return!!a.rtpSender}).map(function(a){return a.rtpSender})},i.prototype.getReceivers=function(){return this.transceivers.filter(function(a){return!!a.rtpReceiver}).map(function(a){return a.rtpReceiver})},i.prototype._createIceGatherer=function(a,s){var c=this;if(s&&a>0)return this.transceivers[0].iceGatherer;if(this._iceGatherers.length)return this._iceGatherers.shift();var u=new e.RTCIceGatherer({iceServers:this._config.iceServers,gatherPolicy:this._config.iceTransportPolicy});return Object.defineProperty(u,"state",{value:"new",writable:!0}),this.transceivers[a].bufferedCandidateEvents=[],this.transceivers[a].bufferCandidates=function(l){var h=!l.candidate||Object.keys(l.candidate).length===0;u.state=h?"completed":"gathering",c.transceivers[a].bufferedCandidateEvents!==null&&c.transceivers[a].bufferedCandidateEvents.push(l)},u.addEventListener("localcandidate",this.transceivers[a].bufferCandidates),u},i.prototype._gather=function(a,s){var c=this,u=this.transceivers[s].iceGatherer;if(!u.onlocalcandidate){var l=this.transceivers[s].bufferedCandidateEvents;this.transceivers[s].bufferedCandidateEvents=null,u.removeEventListener("localcandidate",this.transceivers[s].bufferCandidates),u.onlocalcandidate=function(h){if(!(c.usingBundle&&s>0)){var _=new Event("icecandidate");_.candidate={sdpMid:a,sdpMLineIndex:s};var y=h.candidate,S=!y||Object.keys(y).length===0;if(S)u.state!=="new"&&u.state!=="gathering"||(u.state="completed");else{u.state==="new"&&(u.state="gathering"),y.component=1,y.ufrag=u.getLocalParameters().usernameFragment;var f=Fe.writeCandidate(y);_.candidate=Object.assign(_.candidate,Fe.parseCandidate(f)),_.candidate.candidate=f,_.candidate.toJSON=function(){return{candidate:_.candidate.candidate,sdpMid:_.candidate.sdpMid,sdpMLineIndex:_.candidate.sdpMLineIndex,usernameFragment:_.candidate.usernameFragment}}}var g=Fe.getMediaSections(c._localDescription.sdp);g[_.candidate.sdpMLineIndex]+=S?`a=end-of-candidates\r
|
|
52
52
|
`:"a="+_.candidate.candidate+`\r
|
|
53
|
-
`,c._localDescription.sdp=Fe.getDescription(c._localDescription.sdp)+g.join("");var I=c.transceivers.every(function(w){return w.iceGatherer&&w.iceGatherer.state==="completed"});c.iceGatheringState!=="gathering"&&(c.iceGatheringState="gathering",c._emitGatheringStateChange()),b||c._dispatchEvent("icecandidate",_),I&&(c._dispatchEvent("icecandidate",new Event("icecandidate")),c.iceGatheringState="complete",c._emitGatheringStateChange())}},e.setTimeout(function(){d.forEach(function(h){u.onlocalcandidate(h)})},0)}},i.prototype._createIceAndDtlsTransports=function(){var a=this,s=new e.RTCIceTransport(null);s.onicestatechange=function(){a._updateIceConnectionState(),a._updateConnectionState()};var c=new e.RTCDtlsTransport(s);return c.ondtlsstatechange=function(){a._updateConnectionState()},c.onerror=function(){Object.defineProperty(c,"state",{value:"failed",writable:!0}),a._updateConnectionState()},{iceTransport:s,dtlsTransport:c}},i.prototype._disposeIceAndDtlsTransports=function(a){var s=this.transceivers[a].iceGatherer;s&&(delete s.onlocalcandidate,delete this.transceivers[a].iceGatherer);var c=this.transceivers[a].iceTransport;c&&(delete c.onicestatechange,delete this.transceivers[a].iceTransport);var u=this.transceivers[a].dtlsTransport;u&&(delete u.ondtlsstatechange,delete u.onerror,delete this.transceivers[a].dtlsTransport)},i.prototype._transceive=function(a,s,c){var u=lu(a.localCapabilities,a.remoteCapabilities);s&&a.rtpSender&&(u.encodings=a.sendEncodingParameters,u.rtcp={cname:Fe.localCName,compound:a.rtcpParameters.compound},a.recvEncodingParameters.length&&(u.rtcp.ssrc=a.recvEncodingParameters[0].ssrc),a.rtpSender.send(u)),c&&a.rtpReceiver&&u.codecs.length>0&&(a.kind==="video"&&a.recvEncodingParameters&&t<15019&&a.recvEncodingParameters.forEach(function(d){delete d.rtx}),a.recvEncodingParameters.length?u.encodings=a.recvEncodingParameters:u.encodings=[{}],u.rtcp={compound:a.rtcpParameters.compound},a.rtcpParameters.cname&&(u.rtcp.cname=a.rtcpParameters.cname),a.sendEncodingParameters.length&&(u.rtcp.ssrc=a.sendEncodingParameters[0].ssrc),a.rtpReceiver.receive(u))},i.prototype.setLocalDescription=function(a){var s,c,u=this;if(["offer","answer"].indexOf(a.type)===-1)return Promise.reject(tn("TypeError",'Unsupported type "'+a.type+'"'));if(!qg("setLocalDescription",a.type,u.signalingState)||u._isClosed)return Promise.reject(tn("InvalidStateError","Can not set local "+a.type+" in state "+u.signalingState));if(a.type==="offer")s=Fe.splitSections(a.sdp),c=s.shift(),s.forEach(function(h,_){var y=Fe.parseRtpParameters(h);u.transceivers[_].localCapabilities=y}),u.transceivers.forEach(function(h,_){u._gather(h.mid,_)});else if(a.type==="answer"){s=Fe.splitSections(u._remoteDescription.sdp),c=s.shift();var d=Fe.matchPrefix(c,"a=ice-lite").length>0;s.forEach(function(h,_){var y=u.transceivers[_],b=y.iceGatherer,f=y.iceTransport,g=y.dtlsTransport,I=y.localCapabilities,w=y.remoteCapabilities;if(!(Fe.isRejected(h)&&Fe.matchPrefix(h,"a=bundle-only").length===0)&&!y.rejected){var j=Fe.getIceParameters(h,c),z=Fe.getDtlsParameters(h,c);d&&(z.role="server"),u.usingBundle&&_!==0||(u._gather(y.mid,_),f.state==="new"&&f.start(b,j,d?"controlling":"controlled"),g.state==="new"&&g.start(z));var $=lu(I,w);u._transceive(y,$.codecs.length>0,!1)}})}return u._localDescription={type:a.type,sdp:a.sdp},a.type==="offer"?u._updateSignalingState("have-local-offer"):u._updateSignalingState("stable"),Promise.resolve()},i.prototype.setRemoteDescription=function(a){var s=this;if(["offer","answer"].indexOf(a.type)===-1)return Promise.reject(tn("TypeError",'Unsupported type "'+a.type+'"'));if(!qg("setRemoteDescription",a.type,s.signalingState)||s._isClosed)return Promise.reject(tn("InvalidStateError","Can not set remote "+a.type+" in state "+s.signalingState));var c={};s.remoteStreams.forEach(function(f){c[f.id]=f});var u=[],d=Fe.splitSections(a.sdp),h=d.shift(),_=Fe.matchPrefix(h,"a=ice-lite").length>0,y=Fe.matchPrefix(h,"a=group:BUNDLE ").length>0;s.usingBundle=y;var b=Fe.matchPrefix(h,"a=ice-options:")[0];return s.canTrickleIceCandidates=!!b&&b.substr(14).split(" ").indexOf("trickle")>=0,d.forEach(function(f,g){var I=Fe.splitLines(f),w=Fe.getKind(f),j=Fe.isRejected(f)&&Fe.matchPrefix(f,"a=bundle-only").length===0,z=I[0].substr(2).split(" ")[2],$=Fe.getDirection(f,h),ue=Fe.parseMsid(f),L=Fe.getMid(f)||Fe.generateIdentifier();if(j||w==="application"&&(z==="DTLS/SCTP"||z==="UDP/DTLS/SCTP"))s.transceivers[g]={mid:L,kind:w,protocol:z,rejected:!0};else{var k,P,A,U,T,v,E,C,O;!j&&s.transceivers[g]&&s.transceivers[g].rejected&&(s.transceivers[g]=s._createTransceiver(w,!0));var F,K,re=Fe.parseRtpParameters(f);j||(F=Fe.getIceParameters(f,h),(K=Fe.getDtlsParameters(f,h)).role="client"),E=Fe.parseRtpEncodingParameters(f);var ce=Fe.parseRtcpParameters(f),ge=Fe.matchPrefix(f,"a=end-of-candidates",h).length>0,Ye=Fe.matchPrefix(f,"a=candidate:").map(function(Ke){return Fe.parseCandidate(Ke)}).filter(function(Ke){return Ke.component===1});if((a.type==="offer"||a.type==="answer")&&!j&&y&&g>0&&s.transceivers[g]&&(s._disposeIceAndDtlsTransports(g),s.transceivers[g].iceGatherer=s.transceivers[0].iceGatherer,s.transceivers[g].iceTransport=s.transceivers[0].iceTransport,s.transceivers[g].dtlsTransport=s.transceivers[0].dtlsTransport,s.transceivers[g].rtpSender&&s.transceivers[g].rtpSender.setTransport(s.transceivers[0].dtlsTransport),s.transceivers[g].rtpReceiver&&s.transceivers[g].rtpReceiver.setTransport(s.transceivers[0].dtlsTransport)),a.type!=="offer"||j)a.type==="answer"&&!j&&(P=(k=s.transceivers[g]).iceGatherer,A=k.iceTransport,U=k.dtlsTransport,T=k.rtpReceiver,v=k.sendEncodingParameters,C=k.localCapabilities,s.transceivers[g].recvEncodingParameters=E,s.transceivers[g].remoteCapabilities=re,s.transceivers[g].rtcpParameters=ce,Ye.length&&A.state==="new"&&(!_&&!ge||y&&g!==0?Ye.forEach(function(Ke){rh(k.iceTransport,Ke)}):A.setRemoteCandidates(Ye)),y&&g!==0||(A.state==="new"&&A.start(P,F,"controlling"),U.state==="new"&&U.start(K)),!lu(k.localCapabilities,k.remoteCapabilities).codecs.filter(function(Ke){return Ke.name.toLowerCase()==="rtx"}).length&&k.sendEncodingParameters[0].rtx&&delete k.sendEncodingParameters[0].rtx,s._transceive(k,$==="sendrecv"||$==="recvonly",$==="sendrecv"||$==="sendonly"),!T||$!=="sendrecv"&&$!=="sendonly"?delete k.rtpReceiver:(O=T.track,ue?(c[ue.stream]||(c[ue.stream]=new e.MediaStream),n(O,c[ue.stream]),u.push([O,T,c[ue.stream]])):(c.default||(c.default=new e.MediaStream),n(O,c.default),u.push([O,T,c.default]))));else{(k=s.transceivers[g]||s._createTransceiver(w)).mid=L,k.iceGatherer||(k.iceGatherer=s._createIceGatherer(g,y)),Ye.length&&k.iceTransport.state==="new"&&(!ge||y&&g!==0?Ye.forEach(function(Ke){rh(k.iceTransport,Ke)}):k.iceTransport.setRemoteCandidates(Ye)),C=e.RTCRtpReceiver.getCapabilities(w),t<15019&&(C.codecs=C.codecs.filter(function(Ke){return Ke.name!=="rtx"})),v=k.sendEncodingParameters||[{ssrc:1001*(2*g+2)}];var Ve,Ge=!1;$==="sendrecv"||$==="sendonly"?(Ge=!k.rtpReceiver,T=k.rtpReceiver||new e.RTCRtpReceiver(k.dtlsTransport,w),Ge&&(O=T.track,ue&&ue.stream==="-"||(ue?(c[ue.stream]||(c[ue.stream]=new e.MediaStream,Object.defineProperty(c[ue.stream],"id",{get:function(){return ue.stream}})),Object.defineProperty(O,"id",{get:function(){return ue.track}}),Ve=c[ue.stream]):(c.default||(c.default=new e.MediaStream),Ve=c.default)),Ve&&(n(O,Ve),k.associatedRemoteMediaStreams.push(Ve)),u.push([O,T,Ve]))):k.rtpReceiver&&k.rtpReceiver.track&&(k.associatedRemoteMediaStreams.forEach(function(Ke){var He=Ke.getTracks().find(function(Cr){return Cr.id===k.rtpReceiver.track.id});He&&function(Cr,ma){ma.removeTrack(Cr),ma.dispatchEvent(new e.MediaStreamTrackEvent("removetrack",{track:Cr}))}(He,Ke)}),k.associatedRemoteMediaStreams=[]),k.localCapabilities=C,k.remoteCapabilities=re,k.rtpReceiver=T,k.rtcpParameters=ce,k.sendEncodingParameters=v,k.recvEncodingParameters=E,s._transceive(s.transceivers[g],!1,Ge)}}}),s._dtlsRole===void 0&&(s._dtlsRole=a.type==="offer"?"active":"passive"),s._remoteDescription={type:a.type,sdp:a.sdp},a.type==="offer"?s._updateSignalingState("have-remote-offer"):s._updateSignalingState("stable"),Object.keys(c).forEach(function(f){var g=c[f];if(g.getTracks().length){if(s.remoteStreams.indexOf(g)===-1){s.remoteStreams.push(g);var I=new Event("addstream");I.stream=g,e.setTimeout(function(){s._dispatchEvent("addstream",I)})}u.forEach(function(w){var j=w[0],z=w[1];g.id===w[2].id&&r(s,j,z,[g])})}}),u.forEach(function(f){f[2]||r(s,f[0],f[1],[])}),e.setTimeout(function(){s&&s.transceivers&&s.transceivers.forEach(function(f){f.iceTransport&&f.iceTransport.state==="new"&&f.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),f.iceTransport.addRemoteCandidate({}))})},4e3),Promise.resolve()},i.prototype.close=function(){this.transceivers.forEach(function(a){a.iceTransport&&a.iceTransport.stop(),a.dtlsTransport&&a.dtlsTransport.stop(),a.rtpSender&&a.rtpSender.stop(),a.rtpReceiver&&a.rtpReceiver.stop()}),this._isClosed=!0,this._updateSignalingState("closed")},i.prototype._updateSignalingState=function(a){this.signalingState=a;var s=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",s)},i.prototype._maybeFireNegotiationNeeded=function(){var a=this;this.signalingState==="stable"&&this.needNegotiation!==!0&&(this.needNegotiation=!0,e.setTimeout(function(){if(a.needNegotiation){a.needNegotiation=!1;var s=new Event("negotiationneeded");a._dispatchEvent("negotiationneeded",s)}},0))},i.prototype._updateIceConnectionState=function(){var a,s={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(u){u.iceTransport&&!u.rejected&&s[u.iceTransport.state]++}),a="new",s.failed>0?a="failed":s.checking>0?a="checking":s.disconnected>0?a="disconnected":s.new>0?a="new":s.connected>0?a="connected":s.completed>0&&(a="completed"),a!==this.iceConnectionState){this.iceConnectionState=a;var c=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",c)}},i.prototype._updateConnectionState=function(){var a,s={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(u){u.iceTransport&&u.dtlsTransport&&!u.rejected&&(s[u.iceTransport.state]++,s[u.dtlsTransport.state]++)}),s.connected+=s.completed,a="new",s.failed>0?a="failed":s.connecting>0?a="connecting":s.disconnected>0?a="disconnected":s.new>0?a="new":s.connected>0&&(a="connected"),a!==this.connectionState){this.connectionState=a;var c=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",c)}},i.prototype.createOffer=function(){var a=this;if(a._isClosed)return Promise.reject(tn("InvalidStateError","Can not call createOffer after close"));var s=a.transceivers.filter(function(_){return _.kind==="audio"}).length,c=a.transceivers.filter(function(_){return _.kind==="video"}).length,u=arguments[0];if(u){if(u.mandatory||u.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");u.offerToReceiveAudio!==void 0&&(s=u.offerToReceiveAudio===!0?1:u.offerToReceiveAudio===!1?0:u.offerToReceiveAudio),u.offerToReceiveVideo!==void 0&&(c=u.offerToReceiveVideo===!0?1:u.offerToReceiveVideo===!1?0:u.offerToReceiveVideo)}for(a.transceivers.forEach(function(_){_.kind==="audio"?--s<0&&(_.wantReceive=!1):_.kind==="video"&&--c<0&&(_.wantReceive=!1)});s>0||c>0;)s>0&&(a._createTransceiver("audio"),s--),c>0&&(a._createTransceiver("video"),c--);var d=Fe.writeSessionBoilerplate(a._sdpSessionId,a._sdpSessionVersion++);a.transceivers.forEach(function(_,y){var b=_.track,f=_.kind,g=_.mid||Fe.generateIdentifier();_.mid=g,_.iceGatherer||(_.iceGatherer=a._createIceGatherer(y,a.usingBundle));var I=e.RTCRtpSender.getCapabilities(f);t<15019&&(I.codecs=I.codecs.filter(function(j){return j.name!=="rtx"})),I.codecs.forEach(function(j){j.name==="H264"&&j.parameters["level-asymmetry-allowed"]===void 0&&(j.parameters["level-asymmetry-allowed"]="1"),_.remoteCapabilities&&_.remoteCapabilities.codecs&&_.remoteCapabilities.codecs.forEach(function(z){j.name.toLowerCase()===z.name.toLowerCase()&&j.clockRate===z.clockRate&&(j.preferredPayloadType=z.payloadType)})}),I.headerExtensions.forEach(function(j){(_.remoteCapabilities&&_.remoteCapabilities.headerExtensions||[]).forEach(function(z){j.uri===z.uri&&(j.id=z.id)})});var w=_.sendEncodingParameters||[{ssrc:1001*(2*y+1)}];b&&t>=15019&&f==="video"&&!w[0].rtx&&(w[0].rtx={ssrc:w[0].ssrc+1}),_.wantReceive&&(_.rtpReceiver=new e.RTCRtpReceiver(_.dtlsTransport,f)),_.localCapabilities=I,_.sendEncodingParameters=w}),a._config.bundlePolicy!=="max-compat"&&(d+="a=group:BUNDLE "+a.transceivers.map(function(_){return _.mid}).join(" ")+`\r
|
|
54
|
-
`),
|
|
55
|
-
`,a.transceivers.forEach(function(_,y){
|
|
56
|
-
`,!_.iceGatherer||a.iceGatheringState==="new"||y!==0&&a.usingBundle||(_.iceGatherer.getLocalCandidates().forEach(function(
|
|
57
|
-
`}),_.iceGatherer.state==="completed"&&(
|
|
58
|
-
`))});var h=new e.RTCSessionDescription({type:"offer",sdp:
|
|
53
|
+
`,c._localDescription.sdp=Fe.getDescription(c._localDescription.sdp)+g.join("");var I=c.transceivers.every(function(w){return w.iceGatherer&&w.iceGatherer.state==="completed"});c.iceGatheringState!=="gathering"&&(c.iceGatheringState="gathering",c._emitGatheringStateChange()),S||c._dispatchEvent("icecandidate",_),I&&(c._dispatchEvent("icecandidate",new Event("icecandidate")),c.iceGatheringState="complete",c._emitGatheringStateChange())}},e.setTimeout(function(){l.forEach(function(h){u.onlocalcandidate(h)})},0)}},i.prototype._createIceAndDtlsTransports=function(){var a=this,s=new e.RTCIceTransport(null);s.onicestatechange=function(){a._updateIceConnectionState(),a._updateConnectionState()};var c=new e.RTCDtlsTransport(s);return c.ondtlsstatechange=function(){a._updateConnectionState()},c.onerror=function(){Object.defineProperty(c,"state",{value:"failed",writable:!0}),a._updateConnectionState()},{iceTransport:s,dtlsTransport:c}},i.prototype._disposeIceAndDtlsTransports=function(a){var s=this.transceivers[a].iceGatherer;s&&(delete s.onlocalcandidate,delete this.transceivers[a].iceGatherer);var c=this.transceivers[a].iceTransport;c&&(delete c.onicestatechange,delete this.transceivers[a].iceTransport);var u=this.transceivers[a].dtlsTransport;u&&(delete u.ondtlsstatechange,delete u.onerror,delete this.transceivers[a].dtlsTransport)},i.prototype._transceive=function(a,s,c){var u=du(a.localCapabilities,a.remoteCapabilities);s&&a.rtpSender&&(u.encodings=a.sendEncodingParameters,u.rtcp={cname:Fe.localCName,compound:a.rtcpParameters.compound},a.recvEncodingParameters.length&&(u.rtcp.ssrc=a.recvEncodingParameters[0].ssrc),a.rtpSender.send(u)),c&&a.rtpReceiver&&u.codecs.length>0&&(a.kind==="video"&&a.recvEncodingParameters&&t<15019&&a.recvEncodingParameters.forEach(function(l){delete l.rtx}),a.recvEncodingParameters.length?u.encodings=a.recvEncodingParameters:u.encodings=[{}],u.rtcp={compound:a.rtcpParameters.compound},a.rtcpParameters.cname&&(u.rtcp.cname=a.rtcpParameters.cname),a.sendEncodingParameters.length&&(u.rtcp.ssrc=a.sendEncodingParameters[0].ssrc),a.rtpReceiver.receive(u))},i.prototype.setLocalDescription=function(a){var s,c,u=this;if(["offer","answer"].indexOf(a.type)===-1)return Promise.reject(tn("TypeError",'Unsupported type "'+a.type+'"'));if(!Kg("setLocalDescription",a.type,u.signalingState)||u._isClosed)return Promise.reject(tn("InvalidStateError","Can not set local "+a.type+" in state "+u.signalingState));if(a.type==="offer")s=Fe.splitSections(a.sdp),c=s.shift(),s.forEach(function(h,_){var y=Fe.parseRtpParameters(h);u.transceivers[_].localCapabilities=y}),u.transceivers.forEach(function(h,_){u._gather(h.mid,_)});else if(a.type==="answer"){s=Fe.splitSections(u._remoteDescription.sdp),c=s.shift();var l=Fe.matchPrefix(c,"a=ice-lite").length>0;s.forEach(function(h,_){var y=u.transceivers[_],S=y.iceGatherer,f=y.iceTransport,g=y.dtlsTransport,I=y.localCapabilities,w=y.remoteCapabilities;if(!(Fe.isRejected(h)&&Fe.matchPrefix(h,"a=bundle-only").length===0)&&!y.rejected){var B=Fe.getIceParameters(h,c),z=Fe.getDtlsParameters(h,c);l&&(z.role="server"),u.usingBundle&&_!==0||(u._gather(y.mid,_),f.state==="new"&&f.start(S,B,l?"controlling":"controlled"),g.state==="new"&&g.start(z));var $=du(I,w);u._transceive(y,$.codecs.length>0,!1)}})}return u._localDescription={type:a.type,sdp:a.sdp},a.type==="offer"?u._updateSignalingState("have-local-offer"):u._updateSignalingState("stable"),Promise.resolve()},i.prototype.setRemoteDescription=function(a){var s=this;if(["offer","answer"].indexOf(a.type)===-1)return Promise.reject(tn("TypeError",'Unsupported type "'+a.type+'"'));if(!Kg("setRemoteDescription",a.type,s.signalingState)||s._isClosed)return Promise.reject(tn("InvalidStateError","Can not set remote "+a.type+" in state "+s.signalingState));var c={};s.remoteStreams.forEach(function(f){c[f.id]=f});var u=[],l=Fe.splitSections(a.sdp),h=l.shift(),_=Fe.matchPrefix(h,"a=ice-lite").length>0,y=Fe.matchPrefix(h,"a=group:BUNDLE ").length>0;s.usingBundle=y;var S=Fe.matchPrefix(h,"a=ice-options:")[0];return s.canTrickleIceCandidates=!!S&&S.substr(14).split(" ").indexOf("trickle")>=0,l.forEach(function(f,g){var I=Fe.splitLines(f),w=Fe.getKind(f),B=Fe.isRejected(f)&&Fe.matchPrefix(f,"a=bundle-only").length===0,z=I[0].substr(2).split(" ")[2],$=Fe.getDirection(f,h),ue=Fe.parseMsid(f),L=Fe.getMid(f)||Fe.generateIdentifier();if(B||w==="application"&&(z==="DTLS/SCTP"||z==="UDP/DTLS/SCTP"))s.transceivers[g]={mid:L,kind:w,protocol:z,rejected:!0};else{var k,P,A,U,T,v,E,C,M;!B&&s.transceivers[g]&&s.transceivers[g].rejected&&(s.transceivers[g]=s._createTransceiver(w,!0));var F,q,re=Fe.parseRtpParameters(f);B||(F=Fe.getIceParameters(f,h),(q=Fe.getDtlsParameters(f,h)).role="client"),E=Fe.parseRtpEncodingParameters(f);var ce=Fe.parseRtcpParameters(f),ve=Fe.matchPrefix(f,"a=end-of-candidates",h).length>0,Ye=Fe.matchPrefix(f,"a=candidate:").map(function(qe){return Fe.parseCandidate(qe)}).filter(function(qe){return qe.component===1});if((a.type==="offer"||a.type==="answer")&&!B&&y&&g>0&&s.transceivers[g]&&(s._disposeIceAndDtlsTransports(g),s.transceivers[g].iceGatherer=s.transceivers[0].iceGatherer,s.transceivers[g].iceTransport=s.transceivers[0].iceTransport,s.transceivers[g].dtlsTransport=s.transceivers[0].dtlsTransport,s.transceivers[g].rtpSender&&s.transceivers[g].rtpSender.setTransport(s.transceivers[0].dtlsTransport),s.transceivers[g].rtpReceiver&&s.transceivers[g].rtpReceiver.setTransport(s.transceivers[0].dtlsTransport)),a.type!=="offer"||B)a.type==="answer"&&!B&&(P=(k=s.transceivers[g]).iceGatherer,A=k.iceTransport,U=k.dtlsTransport,T=k.rtpReceiver,v=k.sendEncodingParameters,C=k.localCapabilities,s.transceivers[g].recvEncodingParameters=E,s.transceivers[g].remoteCapabilities=re,s.transceivers[g].rtcpParameters=ce,Ye.length&&A.state==="new"&&(!_&&!ve||y&&g!==0?Ye.forEach(function(qe){rh(k.iceTransport,qe)}):A.setRemoteCandidates(Ye)),y&&g!==0||(A.state==="new"&&A.start(P,F,"controlling"),U.state==="new"&&U.start(q)),!du(k.localCapabilities,k.remoteCapabilities).codecs.filter(function(qe){return qe.name.toLowerCase()==="rtx"}).length&&k.sendEncodingParameters[0].rtx&&delete k.sendEncodingParameters[0].rtx,s._transceive(k,$==="sendrecv"||$==="recvonly",$==="sendrecv"||$==="sendonly"),!T||$!=="sendrecv"&&$!=="sendonly"?delete k.rtpReceiver:(M=T.track,ue?(c[ue.stream]||(c[ue.stream]=new e.MediaStream),n(M,c[ue.stream]),u.push([M,T,c[ue.stream]])):(c.default||(c.default=new e.MediaStream),n(M,c.default),u.push([M,T,c.default]))));else{(k=s.transceivers[g]||s._createTransceiver(w)).mid=L,k.iceGatherer||(k.iceGatherer=s._createIceGatherer(g,y)),Ye.length&&k.iceTransport.state==="new"&&(!ve||y&&g!==0?Ye.forEach(function(qe){rh(k.iceTransport,qe)}):k.iceTransport.setRemoteCandidates(Ye)),C=e.RTCRtpReceiver.getCapabilities(w),t<15019&&(C.codecs=C.codecs.filter(function(qe){return qe.name!=="rtx"})),v=k.sendEncodingParameters||[{ssrc:1001*(2*g+2)}];var Ve,Ge=!1;$==="sendrecv"||$==="sendonly"?(Ge=!k.rtpReceiver,T=k.rtpReceiver||new e.RTCRtpReceiver(k.dtlsTransport,w),Ge&&(M=T.track,ue&&ue.stream==="-"||(ue?(c[ue.stream]||(c[ue.stream]=new e.MediaStream,Object.defineProperty(c[ue.stream],"id",{get:function(){return ue.stream}})),Object.defineProperty(M,"id",{get:function(){return ue.track}}),Ve=c[ue.stream]):(c.default||(c.default=new e.MediaStream),Ve=c.default)),Ve&&(n(M,Ve),k.associatedRemoteMediaStreams.push(Ve)),u.push([M,T,Ve]))):k.rtpReceiver&&k.rtpReceiver.track&&(k.associatedRemoteMediaStreams.forEach(function(qe){var He=qe.getTracks().find(function(Cr){return Cr.id===k.rtpReceiver.track.id});He&&function(Cr,va){va.removeTrack(Cr),va.dispatchEvent(new e.MediaStreamTrackEvent("removetrack",{track:Cr}))}(He,qe)}),k.associatedRemoteMediaStreams=[]),k.localCapabilities=C,k.remoteCapabilities=re,k.rtpReceiver=T,k.rtcpParameters=ce,k.sendEncodingParameters=v,k.recvEncodingParameters=E,s._transceive(s.transceivers[g],!1,Ge)}}}),s._dtlsRole===void 0&&(s._dtlsRole=a.type==="offer"?"active":"passive"),s._remoteDescription={type:a.type,sdp:a.sdp},a.type==="offer"?s._updateSignalingState("have-remote-offer"):s._updateSignalingState("stable"),Object.keys(c).forEach(function(f){var g=c[f];if(g.getTracks().length){if(s.remoteStreams.indexOf(g)===-1){s.remoteStreams.push(g);var I=new Event("addstream");I.stream=g,e.setTimeout(function(){s._dispatchEvent("addstream",I)})}u.forEach(function(w){var B=w[0],z=w[1];g.id===w[2].id&&r(s,B,z,[g])})}}),u.forEach(function(f){f[2]||r(s,f[0],f[1],[])}),e.setTimeout(function(){s&&s.transceivers&&s.transceivers.forEach(function(f){f.iceTransport&&f.iceTransport.state==="new"&&f.iceTransport.getRemoteCandidates().length>0&&(console.warn("Timeout for addRemoteCandidate. Consider sending an end-of-candidates notification"),f.iceTransport.addRemoteCandidate({}))})},4e3),Promise.resolve()},i.prototype.close=function(){this.transceivers.forEach(function(a){a.iceTransport&&a.iceTransport.stop(),a.dtlsTransport&&a.dtlsTransport.stop(),a.rtpSender&&a.rtpSender.stop(),a.rtpReceiver&&a.rtpReceiver.stop()}),this._isClosed=!0,this._updateSignalingState("closed")},i.prototype._updateSignalingState=function(a){this.signalingState=a;var s=new Event("signalingstatechange");this._dispatchEvent("signalingstatechange",s)},i.prototype._maybeFireNegotiationNeeded=function(){var a=this;this.signalingState==="stable"&&this.needNegotiation!==!0&&(this.needNegotiation=!0,e.setTimeout(function(){if(a.needNegotiation){a.needNegotiation=!1;var s=new Event("negotiationneeded");a._dispatchEvent("negotiationneeded",s)}},0))},i.prototype._updateIceConnectionState=function(){var a,s={new:0,closed:0,checking:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(u){u.iceTransport&&!u.rejected&&s[u.iceTransport.state]++}),a="new",s.failed>0?a="failed":s.checking>0?a="checking":s.disconnected>0?a="disconnected":s.new>0?a="new":s.connected>0?a="connected":s.completed>0&&(a="completed"),a!==this.iceConnectionState){this.iceConnectionState=a;var c=new Event("iceconnectionstatechange");this._dispatchEvent("iceconnectionstatechange",c)}},i.prototype._updateConnectionState=function(){var a,s={new:0,closed:0,connecting:0,connected:0,completed:0,disconnected:0,failed:0};if(this.transceivers.forEach(function(u){u.iceTransport&&u.dtlsTransport&&!u.rejected&&(s[u.iceTransport.state]++,s[u.dtlsTransport.state]++)}),s.connected+=s.completed,a="new",s.failed>0?a="failed":s.connecting>0?a="connecting":s.disconnected>0?a="disconnected":s.new>0?a="new":s.connected>0&&(a="connected"),a!==this.connectionState){this.connectionState=a;var c=new Event("connectionstatechange");this._dispatchEvent("connectionstatechange",c)}},i.prototype.createOffer=function(){var a=this;if(a._isClosed)return Promise.reject(tn("InvalidStateError","Can not call createOffer after close"));var s=a.transceivers.filter(function(_){return _.kind==="audio"}).length,c=a.transceivers.filter(function(_){return _.kind==="video"}).length,u=arguments[0];if(u){if(u.mandatory||u.optional)throw new TypeError("Legacy mandatory/optional constraints not supported.");u.offerToReceiveAudio!==void 0&&(s=u.offerToReceiveAudio===!0?1:u.offerToReceiveAudio===!1?0:u.offerToReceiveAudio),u.offerToReceiveVideo!==void 0&&(c=u.offerToReceiveVideo===!0?1:u.offerToReceiveVideo===!1?0:u.offerToReceiveVideo)}for(a.transceivers.forEach(function(_){_.kind==="audio"?--s<0&&(_.wantReceive=!1):_.kind==="video"&&--c<0&&(_.wantReceive=!1)});s>0||c>0;)s>0&&(a._createTransceiver("audio"),s--),c>0&&(a._createTransceiver("video"),c--);var l=Fe.writeSessionBoilerplate(a._sdpSessionId,a._sdpSessionVersion++);a.transceivers.forEach(function(_,y){var S=_.track,f=_.kind,g=_.mid||Fe.generateIdentifier();_.mid=g,_.iceGatherer||(_.iceGatherer=a._createIceGatherer(y,a.usingBundle));var I=e.RTCRtpSender.getCapabilities(f);t<15019&&(I.codecs=I.codecs.filter(function(B){return B.name!=="rtx"})),I.codecs.forEach(function(B){B.name==="H264"&&B.parameters["level-asymmetry-allowed"]===void 0&&(B.parameters["level-asymmetry-allowed"]="1"),_.remoteCapabilities&&_.remoteCapabilities.codecs&&_.remoteCapabilities.codecs.forEach(function(z){B.name.toLowerCase()===z.name.toLowerCase()&&B.clockRate===z.clockRate&&(B.preferredPayloadType=z.payloadType)})}),I.headerExtensions.forEach(function(B){(_.remoteCapabilities&&_.remoteCapabilities.headerExtensions||[]).forEach(function(z){B.uri===z.uri&&(B.id=z.id)})});var w=_.sendEncodingParameters||[{ssrc:1001*(2*y+1)}];S&&t>=15019&&f==="video"&&!w[0].rtx&&(w[0].rtx={ssrc:w[0].ssrc+1}),_.wantReceive&&(_.rtpReceiver=new e.RTCRtpReceiver(_.dtlsTransport,f)),_.localCapabilities=I,_.sendEncodingParameters=w}),a._config.bundlePolicy!=="max-compat"&&(l+="a=group:BUNDLE "+a.transceivers.map(function(_){return _.mid}).join(" ")+`\r
|
|
54
|
+
`),l+=`a=ice-options:trickle\r
|
|
55
|
+
`,a.transceivers.forEach(function(_,y){l+=qg(_,_.localCapabilities,"offer",_.stream,a._dtlsRole),l+=`a=rtcp-rsize\r
|
|
56
|
+
`,!_.iceGatherer||a.iceGatheringState==="new"||y!==0&&a.usingBundle||(_.iceGatherer.getLocalCandidates().forEach(function(S){S.component=1,l+="a="+Fe.writeCandidate(S)+`\r
|
|
57
|
+
`}),_.iceGatherer.state==="completed"&&(l+=`a=end-of-candidates\r
|
|
58
|
+
`))});var h=new e.RTCSessionDescription({type:"offer",sdp:l});return Promise.resolve(h)},i.prototype.createAnswer=function(){var a=this;if(a._isClosed)return Promise.reject(tn("InvalidStateError","Can not call createAnswer after close"));if(a.signalingState!=="have-remote-offer"&&a.signalingState!=="have-local-pranswer")return Promise.reject(tn("InvalidStateError","Can not call createAnswer in signalingState "+a.signalingState));var s=Fe.writeSessionBoilerplate(a._sdpSessionId,a._sdpSessionVersion++);a.usingBundle&&(s+="a=group:BUNDLE "+a.transceivers.map(function(l){return l.mid}).join(" ")+`\r
|
|
59
59
|
`),s+=`a=ice-options:trickle\r
|
|
60
|
-
`;var c=Fe.getMediaSections(a._remoteDescription.sdp).length;a.transceivers.forEach(function(
|
|
61
|
-
`:s+="m=application 0 "+
|
|
62
|
-
`:
|
|
60
|
+
`;var c=Fe.getMediaSections(a._remoteDescription.sdp).length;a.transceivers.forEach(function(l,h){if(!(h+1>c)){if(l.rejected)return l.kind==="application"?l.protocol==="DTLS/SCTP"?s+=`m=application 0 DTLS/SCTP 5000\r
|
|
61
|
+
`:s+="m=application 0 "+l.protocol+` webrtc-datachannel\r
|
|
62
|
+
`:l.kind==="audio"?s+=`m=audio 0 UDP/TLS/RTP/SAVPF 0\r
|
|
63
63
|
a=rtpmap:0 PCMU/8000\r
|
|
64
|
-
`:
|
|
64
|
+
`:l.kind==="video"&&(s+=`m=video 0 UDP/TLS/RTP/SAVPF 120\r
|
|
65
65
|
a=rtpmap:120 VP8/90000\r
|
|
66
66
|
`),void(s+=`c=IN IP4 0.0.0.0\r
|
|
67
67
|
a=inactive\r
|
|
68
|
-
a=mid:`+
|
|
69
|
-
`);var _;
|
|
70
|
-
`)}});var u=new e.RTCSessionDescription({type:"answer",sdp:s});return Promise.resolve(u)},i.prototype.addIceCandidate=function(a){var s,c=this;return a&&a.sdpMLineIndex===void 0&&!a.sdpMid?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise(function(u,
|
|
68
|
+
a=mid:`+l.mid+`\r
|
|
69
|
+
`);var _;l.stream&&(l.kind==="audio"?_=l.stream.getAudioTracks()[0]:l.kind==="video"&&(_=l.stream.getVideoTracks()[0]),_&&t>=15019&&l.kind==="video"&&!l.sendEncodingParameters[0].rtx&&(l.sendEncodingParameters[0].rtx={ssrc:l.sendEncodingParameters[0].ssrc+1}));var y=du(l.localCapabilities,l.remoteCapabilities);!y.codecs.filter(function(S){return S.name.toLowerCase()==="rtx"}).length&&l.sendEncodingParameters[0].rtx&&delete l.sendEncodingParameters[0].rtx,s+=qg(l,y,"answer",l.stream,a._dtlsRole),l.rtcpParameters&&l.rtcpParameters.reducedSize&&(s+=`a=rtcp-rsize\r
|
|
70
|
+
`)}});var u=new e.RTCSessionDescription({type:"answer",sdp:s});return Promise.resolve(u)},i.prototype.addIceCandidate=function(a){var s,c=this;return a&&a.sdpMLineIndex===void 0&&!a.sdpMid?Promise.reject(new TypeError("sdpMLineIndex or sdpMid required")):new Promise(function(u,l){if(!c._remoteDescription)return l(tn("InvalidStateError","Can not add ICE candidate without a remote description"));if(a&&a.candidate!==""){var h=a.sdpMLineIndex;if(a.sdpMid){for(var _=0;_<c.transceivers.length;_++)if(c.transceivers[_].mid===a.sdpMid){h=_;break}}var y=c.transceivers[h];if(!y)return l(tn("OperationError","Can not add ICE candidate"));if(y.rejected)return u();var S=Object.keys(a.candidate).length>0?Fe.parseCandidate(a.candidate):{};if(S.protocol==="tcp"&&(S.port===0||S.port===9)||S.component&&S.component!==1)return u();if((h===0||h>0&&y.iceTransport!==c.transceivers[0].iceTransport)&&!rh(y.iceTransport,S))return l(tn("OperationError","Can not add ICE candidate"));var f=a.candidate.trim();f.indexOf("a=")===0&&(f=f.substr(2)),(s=Fe.getMediaSections(c._remoteDescription.sdp))[h]+="a="+(S.type?f:"end-of-candidates")+`\r
|
|
71
71
|
`,c._remoteDescription.sdp=Fe.getDescription(c._remoteDescription.sdp)+s.join("")}else for(var g=0;g<c.transceivers.length&&(c.transceivers[g].rejected||(c.transceivers[g].iceTransport.addRemoteCandidate({}),(s=Fe.getMediaSections(c._remoteDescription.sdp))[g]+=`a=end-of-candidates\r
|
|
72
|
-
`,c._remoteDescription.sdp=Fe.getDescription(c._remoteDescription.sdp)+s.join(""),!c.usingBundle));g++);u()})},i.prototype.getStats=function(a){if(a&&a instanceof e.MediaStreamTrack){var s=null;if(this.transceivers.forEach(function(u){u.rtpSender&&u.rtpSender.track===a?s=u.rtpSender:u.rtpReceiver&&u.rtpReceiver.track===a&&(s=u.rtpReceiver)}),!s)throw tn("InvalidAccessError","Invalid selector.");return s.getStats()}var c=[];return this.transceivers.forEach(function(u){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(d){u[d]&&c.push(u[d].getStats())})}),Promise.all(c).then(function(u){var d=new Map;return u.forEach(function(h){h.forEach(function(_){d.set(_.id,_)})}),d})},["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"].forEach(function(a){var s=e[a];if(s&&s.prototype&&s.prototype.getStats){var c=s.prototype.getStats;s.prototype.getStats=function(){return c.apply(this).then(function(u){var d=new Map;return Object.keys(u).forEach(function(h){var _;u[h].type={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[(_=u[h]).type]||_.type,d.set(h,u[h])}),d})}}});var o=["createOffer","createAnswer"];return o.forEach(function(a){var s=i.prototype[a];i.prototype[a]=function(){var c=arguments;return typeof c[0]=="function"||typeof c[1]=="function"?s.apply(this,[arguments[2]]).then(function(u){typeof c[0]=="function"&&c[0].apply(null,[u])},function(u){typeof c[1]=="function"&&c[1].apply(null,[u])}):s.apply(this,arguments)}}),(o=["setLocalDescription","setRemoteDescription","addIceCandidate"]).forEach(function(a){var s=i.prototype[a];i.prototype[a]=function(){var c=arguments;return typeof c[1]=="function"||typeof c[2]=="function"?s.apply(this,arguments).then(function(){typeof c[1]=="function"&&c[1].apply(null)},function(u){typeof c[2]=="function"&&c[2].apply(null,[u])}):s.apply(this,arguments)}}),["getStats"].forEach(function(a){var s=i.prototype[a];i.prototype[a]=function(){var c=arguments;return typeof c[1]=="function"?s.apply(this,arguments).then(function(){typeof c[1]=="function"&&c[1].apply(null)}):s.apply(this,arguments)}}),i};function Xg(e){let t=e&&e.navigator,n=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(r){return n(r).catch(i=>Promise.reject(function(o){return{name:{PermissionDeniedError:"NotAllowedError"}[o.name]||o.name,message:o.message,constraint:o.constraint,toString(){return this.name}}}(i)))}}function Qg(e){"getDisplayMedia"in e.navigator&&e.navigator.mediaDevices&&(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=e.navigator.getDisplayMedia.bind(e.navigator)))}function ih(e,t){if(e.RTCIceGatherer&&(e.RTCIceCandidate||(e.RTCIceCandidate=function(r){return r}),e.RTCSessionDescription||(e.RTCSessionDescription=function(r){return r}),t.version<15025)){let r=Object.getOwnPropertyDescriptor(e.MediaStreamTrack.prototype,"enabled");Object.defineProperty(e.MediaStreamTrack.prototype,"enabled",{set(i){r.set.call(this,i);let o=new Event("enabled");o.enabled=i,this.dispatchEvent(o)}})}e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)&&Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=new e.RTCDtmfSender(this):this.track.kind==="video"&&(this._dtmf=null)),this._dtmf}}),e.RTCDtmfSender&&!e.RTCDTMFSender&&(e.RTCDTMFSender=e.RTCDtmfSender);let n=dC(e,t.version);e.RTCPeerConnection=function(r){return r&&r.iceServers&&(r.iceServers=function(i,o){let a=!1;return(i=JSON.parse(JSON.stringify(i))).filter(s=>{if(s&&(s.urls||s.url)){let c=s.urls||s.url;s.url&&!s.urls&&cu("RTCIceServer.url","RTCIceServer.urls");let u=typeof c=="string";return u&&(c=[c]),c=c.filter(d=>{if(d.indexOf("stun:")===0)return!1;let h=d.startsWith("turn")&&!d.startsWith("turn:[")&&d.includes("transport=udp");return h&&!a?(a=!0,!0):h&&!a}),delete s.url,s.urls=u?c[0]:c,!!c.length}})}(r.iceServers,t.version),Zd("ICE servers after filtering:",r.iceServers)),new n(r)},e.RTCPeerConnection.prototype=n.prototype}function Yg(e){e.RTCRtpSender&&!("replaceTrack"in e.RTCRtpSender.prototype)&&(e.RTCRtpSender.prototype.replaceTrack=e.RTCRtpSender.prototype.setTrack)}var $g=Object.freeze({__proto__:null,shimPeerConnection:ih,shimReplaceTrack:Yg,shimGetUserMedia:Xg,shimGetDisplayMedia:Qg});function Zg(e,t){let n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(i,o,a){cu("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),n.mediaDevices.getUserMedia(i).then(o,a)},!(t.version>55&&"autoGainControl"in n.mediaDevices.getSupportedConstraints())){let i=function(a,s,c){s in a&&!(c in a)&&(a[c]=a[s],delete a[s])},o=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(a){return typeof a=="object"&&typeof a.audio=="object"&&(a=JSON.parse(JSON.stringify(a)),i(a.audio,"autoGainControl","mozAutoGainControl"),i(a.audio,"noiseSuppression","mozNoiseSuppression")),o(a)},r&&r.prototype.getSettings){let a=r.prototype.getSettings;r.prototype.getSettings=function(){let s=a.apply(this,arguments);return i(s,"mozAutoGainControl","autoGainControl"),i(s,"mozNoiseSuppression","noiseSuppression"),s}}if(r&&r.prototype.applyConstraints){let a=r.prototype.applyConstraints;r.prototype.applyConstraints=function(s){return this.kind==="audio"&&typeof s=="object"&&(s=JSON.parse(JSON.stringify(s)),i(s,"autoGainControl","mozAutoGainControl"),i(s,"noiseSuppression","mozNoiseSuppression")),a.apply(this,[s])}}}}function e_(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function ah(e,t){if(typeof e!="object"||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(i){let o=e.RTCPeerConnection.prototype[i],a={[i](){return arguments[0]=new(i==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),o.apply(this,arguments)}};e.RTCPeerConnection.prototype[i]=a[i]});let n={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[i,o,a]=arguments;return r.apply(this,[i||null]).then(s=>{if(t.version<53&&!o)try{s.forEach(c=>{c.type=n[c.type]||c.type})}catch(c){if(c.name!=="TypeError")throw c;s.forEach((u,d)=>{s.set(d,Object.assign({},u,{type:n[u.type]||u.type}))})}return s}).then(o,a)}}function t_(e){if(typeof e!="object"||!e.RTCPeerConnection||!e.RTCRtpSender||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let r=t.apply(this,[]);return r.forEach(i=>i._pc=this),r});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let r=n.apply(this,arguments);return r._pc=this,r}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function n_(e){if(typeof e!="object"||!e.RTCPeerConnection||!e.RTCRtpSender||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let n=t.apply(this,[]);return n.forEach(r=>r._pc=this),n}),Va(e,"track",n=>(n.receiver._pc=n.srcElement,n)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function r_(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(t){cu("removeStream","removeTrack"),this.getSenders().forEach(n=>{n.track&&t.getTracks().includes(n.track)&&this.removeTrack(n)})})}function i_(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function a_(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let n=arguments[1],r=n&&"sendEncodings"in n;r&&n.sendEncodings.forEach(o=>{if("rid"in o&&!/^[a-z0-9]{0,16}$/i.test(o.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in o&&!(parseFloat(o.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in o&&!(parseFloat(o.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});let i=t.apply(this,arguments);if(r){let{sender:o}=i,a=o.getParameters();(!("encodings"in a)||a.encodings.length===1&&Object.keys(a.encodings[0]).length===0)&&(a.encodings=n.sendEncodings,o.sendEncodings=n.sendEncodings,this.setParametersPromises.push(o.setParameters(a).then(()=>{delete o.sendEncodings}).catch(()=>{delete o.sendEncodings})))}return i})}function o_(e){if(typeof e!="object"||!e.RTCRtpSender)return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let n=t.apply(this,arguments);return"encodings"in n||(n.encodings=[].concat(this.sendEncodings||[{}])),n})}function s_(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let 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(typeof e!="object"||!e.RTCPeerConnection)return;let 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 u_=Object.freeze({__proto__:null,shimOnTrack:e_,shimPeerConnection:ah,shimSenderGetStats:t_,shimReceiverGetStats:n_,shimRemoveStream:r_,shimRTCDataChannel:i_,shimAddTransceiver:a_,shimGetParameters:o_,shimCreateOffer:s_,shimCreateAnswer:c_,shimGetUserMedia:Zg,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!n||!n.video){let r=new DOMException("getDisplayMedia without video constraints is undefined");return r.name="NotFoundError",r.code=8,Promise.reject(r)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})}});function l_(e){if(typeof e=="object"&&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)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(n){this._localStreams||(this._localStreams=[]),this._localStreams.includes(n)||this._localStreams.push(n),n.getAudioTracks().forEach(r=>t.call(this,r,n)),n.getVideoTracks().forEach(r=>t.call(this,r,n))},e.RTCPeerConnection.prototype.addTrack=function(n,...r){return r&&r.forEach(i=>{this._localStreams?this._localStreams.includes(i)||this._localStreams.push(i):this._localStreams=[i]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(t){this._localStreams||(this._localStreams=[]);let n=this._localStreams.indexOf(t);if(n===-1)return;this._localStreams.splice(n,1);let r=t.getTracks();this.getSenders().forEach(i=>{r.includes(i.track)&&this.removeTrack(i)})})}}function d_(e){if(typeof e=="object"&&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(n){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=n),this.addEventListener("track",this._onaddstreampoly=r=>{r.streams.forEach(i=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(i))return;this._remoteStreams.push(i);let o=new Event("addstream");o.stream=i,this.dispatchEvent(o)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let n=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(r){r.streams.forEach(i=>{if(n._remoteStreams||(n._remoteStreams=[]),n._remoteStreams.indexOf(i)>=0)return;n._remoteStreams.push(i);let o=new Event("addstream");o.stream=i,n.dispatchEvent(o)})}),t.apply(n,arguments)}}}function h_(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(c,u){let d=arguments.length>=2?arguments[2]:arguments[0],h=n.apply(this,[d]);return u?(h.then(c,u),Promise.resolve()):h},t.createAnswer=function(c,u){let d=arguments.length>=2?arguments[2]:arguments[0],h=r.apply(this,[d]);return u?(h.then(c,u),Promise.resolve()):h};let s=function(c,u,d){let h=i.apply(this,[c]);return d?(h.then(u,d),Promise.resolve()):h};t.setLocalDescription=s,s=function(c,u,d){let h=o.apply(this,[c]);return d?(h.then(u,d),Promise.resolve()):h},t.setRemoteDescription=s,s=function(c,u,d){let h=a.apply(this,[c]);return d?(h.then(u,d),Promise.resolve()):h},t.addIceCandidate=s}function p_(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let n=t.mediaDevices,r=n.getUserMedia.bind(n);t.mediaDevices.getUserMedia=i=>r(f_(i))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(n,r,i){t.mediaDevices.getUserMedia(n).then(r,i)}.bind(t))}function f_(e){return e&&e.video!==void 0?Object.assign({},e,{video:Og(e.video)}):e}function m_(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(n,r){if(n&&n.iceServers){let i=[];for(let o=0;o<n.iceServers.length;o++){let a=n.iceServers[o];!a.hasOwnProperty("urls")&&a.hasOwnProperty("url")?(cu("RTCIceServer.url","RTCIceServer.urls"),a=JSON.parse(JSON.stringify(a)),a.urls=a.url,delete a.url,i.push(a)):i.push(n.iceServers[o])}n.iceServers=i}return new t(n,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function v_(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function g_(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(n){if(n){n.offerToReceiveAudio!==void 0&&(n.offerToReceiveAudio=!!n.offerToReceiveAudio);let r=this.getTransceivers().find(o=>o.receiver.track.kind==="audio");n.offerToReceiveAudio===!1&&r?r.direction==="sendrecv"?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":r.direction==="recvonly"&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):n.offerToReceiveAudio!==!0||r||this.addTransceiver("audio"),n.offerToReceiveVideo!==void 0&&(n.offerToReceiveVideo=!!n.offerToReceiveVideo);let i=this.getTransceivers().find(o=>o.receiver.track.kind==="video");n.offerToReceiveVideo===!1&&i?i.direction==="sendrecv"?i.setDirection?i.setDirection("sendonly"):i.direction="sendonly":i.direction==="recvonly"&&(i.setDirection?i.setDirection("inactive"):i.direction="inactive"):n.offerToReceiveVideo!==!0||i||this.addTransceiver("video")}return t.apply(this,arguments)}}function __(e){typeof e!="object"||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var y_=Object.freeze({__proto__:null,shimLocalStreamsAPI:l_,shimRemoteStreamsAPI:d_,shimCallbacksAPI:h_,shimGetUserMedia:p_,shimConstraints:f_,shimRTCIceServerUrls:m_,shimTrackEventTransceiver:v_,shimCreateOfferLegacy:g_,shimAudioContext:__});function du(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;let t=e.RTCIceCandidate;e.RTCIceCandidate=function(n){if(typeof n=="object"&&n.candidate&&n.candidate.indexOf("a=")===0&&((n=JSON.parse(JSON.stringify(n))).candidate=n.candidate.substr(2)),n.candidate&&n.candidate.length){let r=new t(n),i=uu.parseCandidate(n.candidate),o=Object.assign(r,i);return o.toJSON=function(){return{candidate:o.candidate,sdpMid:o.sdpMid,sdpMLineIndex:o.sdpMLineIndex,usernameFragment:o.usernameFragment}},o}return new t(n)},e.RTCIceCandidate.prototype=t.prototype,Va(e,"icecandidate",n=>(n.candidate&&Object.defineProperty(n,"candidate",{value:new e.RTCIceCandidate(n.candidate),writable:"false"}),n))}function bs(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return this._sctp===void 0?null:this._sctp}});let n=function(s){if(!s||!s.sdp)return!1;let c=uu.splitSections(s.sdp);return c.shift(),c.some(u=>{let d=uu.parseMLine(u);return d&&d.kind==="application"&&d.protocol.indexOf("SCTP")!==-1})},r=function(s){let c=s.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(c===null||c.length<2)return-1;let u=parseInt(c[1],10);return u!=u?-1:u},i=function(s){let c=65536;return t.browser==="firefox"&&(c=t.version<57?s===-1?16384:2147483637:t.version<60?t.version===57?65535:65536:2147483637),c},o=function(s,c){let u=65536;t.browser==="firefox"&&t.version===57&&(u=65535);let d=uu.matchPrefix(s.sdp,"a=max-message-size:");return d.length>0?u=parseInt(d[0].substr(19),10):t.browser==="firefox"&&c!==-1&&(u=2147483637),u},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,t.browser==="chrome"&&t.version>=76){let{sdpSemantics:s}=this.getConfiguration();s==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return this._sctp===void 0?null:this._sctp},enumerable:!0,configurable:!0})}if(n(arguments[0])){let s=r(arguments[0]),c=i(s),u=o(arguments[0],s),d;d=c===0&&u===0?Number.POSITIVE_INFINITY:c===0||u===0?Math.max(c,u):Math.min(c,u);let h={};Object.defineProperty(h,"maxMessageSize",{get:()=>d}),this._sctp=h}return a.apply(this,arguments)}}function ks(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(r,i){let o=r.send;r.send=function(){let a=arguments[0],s=a.length||a.size||a.byteLength;if(r.readyState==="open"&&i.sctp&&s>i.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+i.sctp.maxMessageSize+" bytes)");return o.apply(r,arguments)}}let n=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let r=n.apply(this,arguments);return t(r,this),r},Va(e,"datachannel",r=>(t(r.channel,r.target),r))}function oh(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let 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(n){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),n&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=n)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(n=>{let r=t[n];t[n]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=i=>{let o=i.target;if(o._lastConnectionState!==o.connectionState){o._lastConnectionState=o.connectionState;let a=new Event("connectionstatechange",i);o.dispatchEvent(a)}return i},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function sh(e,t){if(!e.RTCPeerConnection||t.browser==="chrome"&&t.version>=71||t.browser==="safari"&&t.version>=605)return;let n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(r){if(r&&r.sdp&&r.sdp.indexOf(`
|
|
72
|
+
`,c._remoteDescription.sdp=Fe.getDescription(c._remoteDescription.sdp)+s.join(""),!c.usingBundle));g++);u()})},i.prototype.getStats=function(a){if(a&&a instanceof e.MediaStreamTrack){var s=null;if(this.transceivers.forEach(function(u){u.rtpSender&&u.rtpSender.track===a?s=u.rtpSender:u.rtpReceiver&&u.rtpReceiver.track===a&&(s=u.rtpReceiver)}),!s)throw tn("InvalidAccessError","Invalid selector.");return s.getStats()}var c=[];return this.transceivers.forEach(function(u){["rtpSender","rtpReceiver","iceGatherer","iceTransport","dtlsTransport"].forEach(function(l){u[l]&&c.push(u[l].getStats())})}),Promise.all(c).then(function(u){var l=new Map;return u.forEach(function(h){h.forEach(function(_){l.set(_.id,_)})}),l})},["RTCRtpSender","RTCRtpReceiver","RTCIceGatherer","RTCIceTransport","RTCDtlsTransport"].forEach(function(a){var s=e[a];if(s&&s.prototype&&s.prototype.getStats){var c=s.prototype.getStats;s.prototype.getStats=function(){return c.apply(this).then(function(u){var l=new Map;return Object.keys(u).forEach(function(h){var _;u[h].type={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[(_=u[h]).type]||_.type,l.set(h,u[h])}),l})}}});var o=["createOffer","createAnswer"];return o.forEach(function(a){var s=i.prototype[a];i.prototype[a]=function(){var c=arguments;return typeof c[0]=="function"||typeof c[1]=="function"?s.apply(this,[arguments[2]]).then(function(u){typeof c[0]=="function"&&c[0].apply(null,[u])},function(u){typeof c[1]=="function"&&c[1].apply(null,[u])}):s.apply(this,arguments)}}),(o=["setLocalDescription","setRemoteDescription","addIceCandidate"]).forEach(function(a){var s=i.prototype[a];i.prototype[a]=function(){var c=arguments;return typeof c[1]=="function"||typeof c[2]=="function"?s.apply(this,arguments).then(function(){typeof c[1]=="function"&&c[1].apply(null)},function(u){typeof c[2]=="function"&&c[2].apply(null,[u])}):s.apply(this,arguments)}}),["getStats"].forEach(function(a){var s=i.prototype[a];i.prototype[a]=function(){var c=arguments;return typeof c[1]=="function"?s.apply(this,arguments).then(function(){typeof c[1]=="function"&&c[1].apply(null)}):s.apply(this,arguments)}}),i};function Xg(e){let t=e&&e.navigator,n=t.mediaDevices.getUserMedia.bind(t.mediaDevices);t.mediaDevices.getUserMedia=function(r){return n(r).catch(i=>Promise.reject(function(o){return{name:{PermissionDeniedError:"NotAllowedError"}[o.name]||o.name,message:o.message,constraint:o.constraint,toString(){return this.name}}}(i)))}}function Qg(e){"getDisplayMedia"in e.navigator&&e.navigator.mediaDevices&&(e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||(e.navigator.mediaDevices.getDisplayMedia=e.navigator.getDisplayMedia.bind(e.navigator)))}function ih(e,t){if(e.RTCIceGatherer&&(e.RTCIceCandidate||(e.RTCIceCandidate=function(r){return r}),e.RTCSessionDescription||(e.RTCSessionDescription=function(r){return r}),t.version<15025)){let r=Object.getOwnPropertyDescriptor(e.MediaStreamTrack.prototype,"enabled");Object.defineProperty(e.MediaStreamTrack.prototype,"enabled",{set(i){r.set.call(this,i);let o=new Event("enabled");o.enabled=i,this.dispatchEvent(o)}})}e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)&&Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return this._dtmf===void 0&&(this.track.kind==="audio"?this._dtmf=new e.RTCDtmfSender(this):this.track.kind==="video"&&(this._dtmf=null)),this._dtmf}}),e.RTCDtmfSender&&!e.RTCDTMFSender&&(e.RTCDTMFSender=e.RTCDtmfSender);let n=pC(e,t.version);e.RTCPeerConnection=function(r){return r&&r.iceServers&&(r.iceServers=function(i,o){let a=!1;return(i=JSON.parse(JSON.stringify(i))).filter(s=>{if(s&&(s.urls||s.url)){let c=s.urls||s.url;s.url&&!s.urls&&uu("RTCIceServer.url","RTCIceServer.urls");let u=typeof c=="string";return u&&(c=[c]),c=c.filter(l=>{if(l.indexOf("stun:")===0)return!1;let h=l.startsWith("turn")&&!l.startsWith("turn:[")&&l.includes("transport=udp");return h&&!a?(a=!0,!0):h&&!a}),delete s.url,s.urls=u?c[0]:c,!!c.length}})}(r.iceServers,t.version),Zd("ICE servers after filtering:",r.iceServers)),new n(r)},e.RTCPeerConnection.prototype=n.prototype}function Yg(e){e.RTCRtpSender&&!("replaceTrack"in e.RTCRtpSender.prototype)&&(e.RTCRtpSender.prototype.replaceTrack=e.RTCRtpSender.prototype.setTrack)}var $g=Object.freeze({__proto__:null,shimPeerConnection:ih,shimReplaceTrack:Yg,shimGetUserMedia:Xg,shimGetDisplayMedia:Qg});function Zg(e,t){let n=e&&e.navigator,r=e&&e.MediaStreamTrack;if(n.getUserMedia=function(i,o,a){uu("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),n.mediaDevices.getUserMedia(i).then(o,a)},!(t.version>55&&"autoGainControl"in n.mediaDevices.getSupportedConstraints())){let i=function(a,s,c){s in a&&!(c in a)&&(a[c]=a[s],delete a[s])},o=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(a){return typeof a=="object"&&typeof a.audio=="object"&&(a=JSON.parse(JSON.stringify(a)),i(a.audio,"autoGainControl","mozAutoGainControl"),i(a.audio,"noiseSuppression","mozNoiseSuppression")),o(a)},r&&r.prototype.getSettings){let a=r.prototype.getSettings;r.prototype.getSettings=function(){let s=a.apply(this,arguments);return i(s,"mozAutoGainControl","autoGainControl"),i(s,"mozNoiseSuppression","noiseSuppression"),s}}if(r&&r.prototype.applyConstraints){let a=r.prototype.applyConstraints;r.prototype.applyConstraints=function(s){return this.kind==="audio"&&typeof s=="object"&&(s=JSON.parse(JSON.stringify(s)),i(s,"autoGainControl","mozAutoGainControl"),i(s,"noiseSuppression","mozNoiseSuppression")),a.apply(this,[s])}}}}function e_(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function ah(e,t){if(typeof e!="object"||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach(function(i){let o=e.RTCPeerConnection.prototype[i],a={[i](){return arguments[0]=new(i==="addIceCandidate"?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),o.apply(this,arguments)}};e.RTCPeerConnection.prototype[i]=a[i]});let n={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},r=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){let[i,o,a]=arguments;return r.apply(this,[i||null]).then(s=>{if(t.version<53&&!o)try{s.forEach(c=>{c.type=n[c.type]||c.type})}catch(c){if(c.name!=="TypeError")throw c;s.forEach((u,l)=>{s.set(l,Object.assign({},u,{type:n[u.type]||u.type}))})}return s}).then(o,a)}}function t_(e){if(typeof e!="object"||!e.RTCPeerConnection||!e.RTCRtpSender||e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;let t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){let r=t.apply(this,[]);return r.forEach(i=>i._pc=this),r});let n=e.RTCPeerConnection.prototype.addTrack;n&&(e.RTCPeerConnection.prototype.addTrack=function(){let r=n.apply(this,arguments);return r._pc=this,r}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function n_(e){if(typeof e!="object"||!e.RTCPeerConnection||!e.RTCRtpSender||e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;let t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){let n=t.apply(this,[]);return n.forEach(r=>r._pc=this),n}),ja(e,"track",n=>(n.receiver._pc=n.srcElement,n)),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function r_(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(t){uu("removeStream","removeTrack"),this.getSenders().forEach(n=>{n.track&&t.getTracks().includes(n.track)&&this.removeTrack(n)})})}function i_(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function a_(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let n=arguments[1],r=n&&"sendEncodings"in n;r&&n.sendEncodings.forEach(o=>{if("rid"in o&&!/^[a-z0-9]{0,16}$/i.test(o.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in o&&!(parseFloat(o.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in o&&!(parseFloat(o.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")});let i=t.apply(this,arguments);if(r){let{sender:o}=i,a=o.getParameters();(!("encodings"in a)||a.encodings.length===1&&Object.keys(a.encodings[0]).length===0)&&(a.encodings=n.sendEncodings,o.sendEncodings=n.sendEncodings,this.setParametersPromises.push(o.setParameters(a).then(()=>{delete o.sendEncodings}).catch(()=>{delete o.sendEncodings})))}return i})}function o_(e){if(typeof e!="object"||!e.RTCRtpSender)return;let t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){let n=t.apply(this,arguments);return"encodings"in n||(n.encodings=[].concat(this.sendEncodings||[{}])),n})}function s_(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let 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(typeof e!="object"||!e.RTCPeerConnection)return;let 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 u_=Object.freeze({__proto__:null,shimOnTrack:e_,shimPeerConnection:ah,shimSenderGetStats:t_,shimReceiverGetStats:n_,shimRemoveStream:r_,shimRTCDataChannel:i_,shimAddTransceiver:a_,shimGetParameters:o_,shimCreateOffer:s_,shimCreateAnswer:c_,shimGetUserMedia:Zg,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(n){if(!n||!n.video){let r=new DOMException("getDisplayMedia without video constraints is undefined");return r.name="NotFoundError",r.code=8,Promise.reject(r)}return n.video===!0?n.video={mediaSource:t}:n.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(n)})}});function l_(e){if(typeof e=="object"&&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)){let t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(n){this._localStreams||(this._localStreams=[]),this._localStreams.includes(n)||this._localStreams.push(n),n.getAudioTracks().forEach(r=>t.call(this,r,n)),n.getVideoTracks().forEach(r=>t.call(this,r,n))},e.RTCPeerConnection.prototype.addTrack=function(n,...r){return r&&r.forEach(i=>{this._localStreams?this._localStreams.includes(i)||this._localStreams.push(i):this._localStreams=[i]}),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(t){this._localStreams||(this._localStreams=[]);let n=this._localStreams.indexOf(t);if(n===-1)return;this._localStreams.splice(n,1);let r=t.getTracks();this.getSenders().forEach(i=>{r.includes(i.track)&&this.removeTrack(i)})})}}function d_(e){if(typeof e=="object"&&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(n){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=n),this.addEventListener("track",this._onaddstreampoly=r=>{r.streams.forEach(i=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(i))return;this._remoteStreams.push(i);let o=new Event("addstream");o.stream=i,this.dispatchEvent(o)})})}});let t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){let n=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(r){r.streams.forEach(i=>{if(n._remoteStreams||(n._remoteStreams=[]),n._remoteStreams.indexOf(i)>=0)return;n._remoteStreams.push(i);let o=new Event("addstream");o.stream=i,n.dispatchEvent(o)})}),t.apply(n,arguments)}}}function h_(e){if(typeof e!="object"||!e.RTCPeerConnection)return;let t=e.RTCPeerConnection.prototype,n=t.createOffer,r=t.createAnswer,i=t.setLocalDescription,o=t.setRemoteDescription,a=t.addIceCandidate;t.createOffer=function(c,u){let l=arguments.length>=2?arguments[2]:arguments[0],h=n.apply(this,[l]);return u?(h.then(c,u),Promise.resolve()):h},t.createAnswer=function(c,u){let l=arguments.length>=2?arguments[2]:arguments[0],h=r.apply(this,[l]);return u?(h.then(c,u),Promise.resolve()):h};let s=function(c,u,l){let h=i.apply(this,[c]);return l?(h.then(u,l),Promise.resolve()):h};t.setLocalDescription=s,s=function(c,u,l){let h=o.apply(this,[c]);return l?(h.then(u,l),Promise.resolve()):h},t.setRemoteDescription=s,s=function(c,u,l){let h=a.apply(this,[c]);return l?(h.then(u,l),Promise.resolve()):h},t.addIceCandidate=s}function p_(e){let t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){let n=t.mediaDevices,r=n.getUserMedia.bind(n);t.mediaDevices.getUserMedia=i=>r(f_(i))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(n,r,i){t.mediaDevices.getUserMedia(n).then(r,i)}.bind(t))}function f_(e){return e&&e.video!==void 0?Object.assign({},e,{video:Og(e.video)}):e}function m_(e){if(!e.RTCPeerConnection)return;let t=e.RTCPeerConnection;e.RTCPeerConnection=function(n,r){if(n&&n.iceServers){let i=[];for(let o=0;o<n.iceServers.length;o++){let a=n.iceServers[o];!a.hasOwnProperty("urls")&&a.hasOwnProperty("url")?(uu("RTCIceServer.url","RTCIceServer.urls"),a=JSON.parse(JSON.stringify(a)),a.urls=a.url,delete a.url,i.push(a)):i.push(n.iceServers[o])}n.iceServers=i}return new t(n,r)},e.RTCPeerConnection.prototype=t.prototype,"generateCertificate"in t&&Object.defineProperty(e.RTCPeerConnection,"generateCertificate",{get:()=>t.generateCertificate})}function v_(e){typeof e=="object"&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function g_(e){let t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(n){if(n){n.offerToReceiveAudio!==void 0&&(n.offerToReceiveAudio=!!n.offerToReceiveAudio);let r=this.getTransceivers().find(o=>o.receiver.track.kind==="audio");n.offerToReceiveAudio===!1&&r?r.direction==="sendrecv"?r.setDirection?r.setDirection("sendonly"):r.direction="sendonly":r.direction==="recvonly"&&(r.setDirection?r.setDirection("inactive"):r.direction="inactive"):n.offerToReceiveAudio!==!0||r||this.addTransceiver("audio"),n.offerToReceiveVideo!==void 0&&(n.offerToReceiveVideo=!!n.offerToReceiveVideo);let i=this.getTransceivers().find(o=>o.receiver.track.kind==="video");n.offerToReceiveVideo===!1&&i?i.direction==="sendrecv"?i.setDirection?i.setDirection("sendonly"):i.direction="sendonly":i.direction==="recvonly"&&(i.setDirection?i.setDirection("inactive"):i.direction="inactive"):n.offerToReceiveVideo!==!0||i||this.addTransceiver("video")}return t.apply(this,arguments)}}function __(e){typeof e!="object"||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var y_=Object.freeze({__proto__:null,shimLocalStreamsAPI:l_,shimRemoteStreamsAPI:d_,shimCallbacksAPI:h_,shimGetUserMedia:p_,shimConstraints:f_,shimRTCIceServerUrls:m_,shimTrackEventTransceiver:v_,shimCreateOfferLegacy:g_,shimAudioContext:__});function hu(e){if(!e.RTCIceCandidate||e.RTCIceCandidate&&"foundation"in e.RTCIceCandidate.prototype)return;let t=e.RTCIceCandidate;e.RTCIceCandidate=function(n){if(typeof n=="object"&&n.candidate&&n.candidate.indexOf("a=")===0&&((n=JSON.parse(JSON.stringify(n))).candidate=n.candidate.substr(2)),n.candidate&&n.candidate.length){let r=new t(n),i=lu.parseCandidate(n.candidate),o=Object.assign(r,i);return o.toJSON=function(){return{candidate:o.candidate,sdpMid:o.sdpMid,sdpMLineIndex:o.sdpMLineIndex,usernameFragment:o.usernameFragment}},o}return new t(n)},e.RTCIceCandidate.prototype=t.prototype,ja(e,"icecandidate",n=>(n.candidate&&Object.defineProperty(n,"candidate",{value:new e.RTCIceCandidate(n.candidate),writable:"false"}),n))}function ks(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return this._sctp===void 0?null:this._sctp}});let n=function(s){if(!s||!s.sdp)return!1;let c=lu.splitSections(s.sdp);return c.shift(),c.some(u=>{let l=lu.parseMLine(u);return l&&l.kind==="application"&&l.protocol.indexOf("SCTP")!==-1})},r=function(s){let c=s.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(c===null||c.length<2)return-1;let u=parseInt(c[1],10);return u!=u?-1:u},i=function(s){let c=65536;return t.browser==="firefox"&&(c=t.version<57?s===-1?16384:2147483637:t.version<60?t.version===57?65535:65536:2147483637),c},o=function(s,c){let u=65536;t.browser==="firefox"&&t.version===57&&(u=65535);let l=lu.matchPrefix(s.sdp,"a=max-message-size:");return l.length>0?u=parseInt(l[0].substr(19),10):t.browser==="firefox"&&c!==-1&&(u=2147483637),u},a=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,t.browser==="chrome"&&t.version>=76){let{sdpSemantics:s}=this.getConfiguration();s==="plan-b"&&Object.defineProperty(this,"sctp",{get(){return this._sctp===void 0?null:this._sctp},enumerable:!0,configurable:!0})}if(n(arguments[0])){let s=r(arguments[0]),c=i(s),u=o(arguments[0],s),l;l=c===0&&u===0?Number.POSITIVE_INFINITY:c===0||u===0?Math.max(c,u):Math.min(c,u);let h={};Object.defineProperty(h,"maxMessageSize",{get:()=>l}),this._sctp=h}return a.apply(this,arguments)}}function Ts(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(r,i){let o=r.send;r.send=function(){let a=arguments[0],s=a.length||a.size||a.byteLength;if(r.readyState==="open"&&i.sctp&&s>i.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+i.sctp.maxMessageSize+" bytes)");return o.apply(r,arguments)}}let n=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){let r=n.apply(this,arguments);return t(r,this),r},ja(e,"datachannel",r=>(t(r.channel,r.target),r))}function oh(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;let 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(n){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),n&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=n)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach(n=>{let r=t[n];t[n]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=i=>{let o=i.target;if(o._lastConnectionState!==o.connectionState){o._lastConnectionState=o.connectionState;let a=new Event("connectionstatechange",i);o.dispatchEvent(a)}return i},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),r.apply(this,arguments)}})}function sh(e,t){if(!e.RTCPeerConnection||t.browser==="chrome"&&t.version>=71||t.browser==="safari"&&t.version>=605)return;let n=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(r){if(r&&r.sdp&&r.sdp.indexOf(`
|
|
73
73
|
a=extmap-allow-mixed`)!==-1){let i=r.sdp.split(`
|
|
74
74
|
`).filter(o=>o.trim()!=="a=extmap-allow-mixed").join(`
|
|
75
|
-
`);e.RTCSessionDescription&&r instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:r.type,sdp:i}):r.sdp=i}return n.apply(this,arguments)}}function hu(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;let n=e.RTCPeerConnection.prototype.addIceCandidate;n&&n.length!==0&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(t.browser==="chrome"&&t.version<78||t.browser==="firefox"&&t.version<68||t.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}var hC=Object.freeze({__proto__:null,shimRTCIceCandidate:du,shimMaxMessageSize:bs,shimSendThrowTypeError:ks,shimConnectionState:oh,removeExtmapAllowMixed:sh,shimAddIceCandidateNullOrEmpty:hu});(function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0}){let n=Zd,r=function(o){let a={browser:null,version:null};if(o===void 0||!o.navigator)return a.browser="Not a browser.",a;let{navigator:s}=o;if(s.mozGetUserMedia)a.browser="firefox",a.version=Ss(s.userAgent,/Firefox\/(\d+)\./,1);else if(s.webkitGetUserMedia||o.isSecureContext===!1&&o.webkitRTCPeerConnection&&!o.RTCIceGatherer)a.browser="chrome",a.version=Ss(s.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(s.mediaDevices&&s.userAgent.match(/Edge\/(\d+).(\d+)$/))a.browser="edge",a.version=Ss(s.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!o.RTCPeerConnection||!s.userAgent.match(/AppleWebKit\/(\d+)\./))return a.browser="Not a supported browser.",a;a.browser="safari",a.version=Ss(s.userAgent,/AppleWebKit\/(\d+)\./,1),a.supportsUnifiedPlan=o.RTCRtpTransceiver&&"currentDirection"in o.RTCRtpTransceiver.prototype}return a}(e),i={browserDetails:r,commonShim:hC,extractVersion:Ss,disableLog:uC,disableWarnings:lC};switch(r.browser){case"chrome":if(!Jg||!th||!t.shimChrome)return n("Chrome shim is not included in this adapter release."),i;if(r.version===null)return n("Chrome shim can not determine version, not shimming."),i;n("adapter.js shimming chrome."),i.browserShim=Jg,hu(e,r),Vg(e,r),Ug(e),th(e,r),Bg(e),zg(e,r),jg(e),Fg(e),Gg(e),Wg(e,r),du(e),oh(e),bs(e,r),ks(e),sh(e,r);break;case"firefox":if(!u_||!ah||!t.shimFirefox)return n("Firefox shim is not included in this adapter release."),i;n("adapter.js shimming firefox."),i.browserShim=u_,hu(e,r),Zg(e,r),ah(e,r),e_(e),r_(e),t_(e),n_(e),i_(e),a_(e),o_(e),s_(e),c_(e),du(e),oh(e),bs(e,r),ks(e);break;case"edge":if(!$g||!ih||!t.shimEdge)return n("MS edge shim is not included in this adapter release."),i;n("adapter.js shimming edge."),i.browserShim=$g,Xg(e),Qg(e),ih(e,r),Yg(e),bs(e,r),ks(e);break;case"safari":if(!y_||!t.shimSafari)return n("Safari shim is not included in this adapter release."),i;n("adapter.js shimming safari."),i.browserShim=y_,hu(e,r),m_(e),g_(e),h_(e),l_(e),d_(e),v_(e),p_(e),__(e),du(e),bs(e,r),ks(e),sh(e,r);break;default:n("Unsupported browser!")}})({window:typeof window=="undefined"?void 0:window});var Vi="4.15.10",S_={},pC=Eg,fC=Qd,pu=Object.keys||function(e){return pC(e,fC)},mC=_e,vC=ls,gC=At,_C=It,yC=Sn,SC=pu;S_.f=mC&&!vC?Object.defineProperties:function(e,t){_C(e);for(var n,r=yC(t),i=SC(t),o=i.length,a=0;o>a;)gC.f(e,n=i[a++],r[n]);return e};var fu,b_=Pn("document","documentElement"),bC=It,kC=S_,k_=Qd,TC=Q,xC=b_,IC=pr,T_=G("IE_PROTO"),ch=function(){},x_=function(e){return"<script>"+e+"<\/script>"},I_=function(e){e.write(x_("")),e.close();var t=e.parentWindow.Object;return e=null,t},mu=function(){try{fu=new ActiveXObject("htmlfile")}catch(r){}var e,t;mu=typeof document!="undefined"?document.domain&&fu?I_(fu):((t=IC("iframe")).style.display="none",xC.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(x_("document.F=Object")),e.close(),e.F):I_(fu);for(var n=k_.length;n--;)delete mu.prototype[k_[n]];return mu()};TC[T_]=!0;var Ua=Object.create||function(e,t){var n;return e!==null?(ch.prototype=bC(e),n=new ch,ch.prototype=null,n[T_]=e):n=mu(),t===void 0?n:kC.f(n,t)},wC=nt,EC=Ua,CC=At.f,uh=wC("unscopables"),lh=Array.prototype;lh[uh]==null&&CC(lh,uh,{configurable:!0,value:EC(null)});var Ui,w_,E_,vu=function(e){lh[uh][e]=!0},Ts={},C_=!oe(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),RC=xt,AC=at,PC=Bt,DC=C_,R_=G("IE_PROTO"),dh=Object,LC=dh.prototype,xs=DC?dh.getPrototypeOf:function(e){var t=PC(e);if(RC(t,R_))return t[R_];var n=t.constructor;return AC(n)&&t instanceof n?n.prototype:t instanceof dh?LC:null},OC=oe,MC=at,NC=ot,A_=xs,VC=Qt,hh=nt("iterator"),P_=!1;[].keys&&("next"in(E_=[].keys())?(w_=A_(A_(E_)))!==Object.prototype&&(Ui=w_):P_=!0);var UC=!NC(Ui)||OC(function(){var e={};return Ui[hh].call(e)!==e});UC&&(Ui={}),MC(Ui[hh])||VC(Ui,hh,function(){return this});var ph={IteratorPrototype:Ui,BUGGY_SAFARI_ITERATORS:P_},BC=At.f,jC=xt,D_=nt("toStringTag"),Bi=function(e,t,n){e&&!n&&(e=e.prototype),e&&!jC(e,D_)&&BC(e,D_,{configurable:!0,value:t})},FC=ph.IteratorPrototype,GC=Ua,HC=et,zC=Bi,WC=Ts,JC=function(){return this},L_=function(e,t,n,r){var i=t+" Iterator";return e.prototype=GC(FC,{next:HC(+!r,n)}),zC(e,i,!1),WC[i]=JC,e},KC=at,qC=String,XC=TypeError,QC=pe,YC=It,$C=function(e){if(typeof e=="object"||KC(e))return e;throw XC("Can't set "+qC(e)+" as a prototype")},Ba=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=QC(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(n,[]),t=n instanceof Array}catch(r){}return function(r,i){return YC(r),$C(i),t?e(r,i):r.__proto__=i,r}}():void 0),ZC=Me,eR=Qe,tR=at,nR=L_,O_=xs,M_=Ba,rR=Bi,iR=Mn,fh=Qt,aR=Ts,oR=Yn.PROPER,sR=Yn.CONFIGURABLE,N_=ph.IteratorPrototype,gu=ph.BUGGY_SAFARI_ITERATORS,Is=nt("iterator"),V_="keys",ws="values",U_="entries",cR=function(){return this},mh=function(e,t,n,r,i,o,a){nR(n,t,r);var s,c,u,d=function(I){if(I===i&&f)return f;if(!gu&&I in y)return y[I];switch(I){case V_:case ws:case U_:return function(){return new n(this,I)}}return function(){return new n(this)}},h=t+" Iterator",_=!1,y=e.prototype,b=y[Is]||y["@@iterator"]||i&&y[i],f=!gu&&b||d(i),g=t=="Array"&&y.entries||b;if(g&&(s=O_(g.call(new e)))!==Object.prototype&&s.next&&(O_(s)!==N_&&(M_?M_(s,N_):tR(s[Is])||fh(s,Is,cR)),rR(s,h,!0)),oR&&i==ws&&b&&b.name!==ws&&(sR?iR(y,"name",ws):(_=!0,f=function(){return eR(b,this)})),i)if(c={values:d(ws),keys:o?f:d(V_),entries:d(U_)},a)for(u in c)(gu||_||!(u in y))&&fh(y,u,c[u]);else ZC({target:t,proto:!0,forced:gu||_},c);return y[Is]!==f&&fh(y,Is,f,{name:i}),aR[t]=f,c},vh=function(e,t){return{value:e,done:t}},uR=Sn,gh=vu,B_=Ts,j_=Xe,lR=At.f,dR=mh,F_=vh,hR=_e,G_="Array Iterator",pR=j_.set,fR=j_.getterFor(G_),H_=dR(Array,"Array",function(e,t){pR(this,{type:G_,target:uR(e),index:0,kind:t})},function(){var e=fR(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,F_(void 0,!0)):F_(n=="keys"?r:n=="values"?t[r]:[r,t[r]],!1)},"values"),z_=B_.Arguments=B_.Array;if(gh("keys"),gh("values"),gh("entries"),hR&&z_.name!=="values")try{lR(z_,"name",{value:"values"})}catch(e){}var W_={};W_[nt("toStringTag")]="z";var _h=String(W_)==="[object z]",mR=_h,vR=at,_u=it,gR=nt("toStringTag"),_R=Object,yR=_u(function(){return arguments}())=="Arguments",Lr=mR?_u:function(e){var t,n,r;return e===void 0?"Undefined":e===null?"Null":typeof(n=function(i,o){try{return i[o]}catch(a){}}(t=_R(e),gR))=="string"?n:yR?_u(t):(r=_u(t))=="Object"&&vR(t.callee)?"Arguments":r},SR=Lr,bR=_h?{}.toString:function(){return"[object "+SR(this)+"]"};_h||Qt(Object.prototype,"toString",bR,{unsafe:!0});var Es={exports:{}},yh={},kR=Ra,TR=At,xR=et,Cs=function(e,t,n){var r=kR(t);r in e?TR.f(e,r,xR(0,n)):e[r]=n},J_=ai,IR=rn,wR=Cs,ER=Array,CR=Math.max,yu=function(e,t,n){for(var r=IR(e),i=J_(t,r),o=J_(n===void 0?r:n,r),a=ER(CR(o-i,0)),s=0;i<o;i++,s++)wR(a,s,e[i]);return a.length=s,a},RR=it,AR=Sn,K_=ii.f,PR=yu,q_=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];yh.f=function(e){return q_&&RR(e)=="Window"?function(t){try{return K_(t)}catch(n){return PR(q_)}}(e):K_(AR(e))};var DR=oe(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}),LR=oe,OR=ot,MR=it,X_=DR,Su=Object.isExtensible,Q_=LR(function(){Su(1)})||X_?function(e){return!!OR(e)&&(!X_||MR(e)!="ArrayBuffer")&&(!Su||Su(e))}:Su,NR=!oe(function(){return Object.isExtensible(Object.preventExtensions({}))}),VR=Me,UR=pe,BR=Q,jR=ot,Sh=xt,FR=At.f,Y_=ii,GR=yh,bh=Q_,HR=NR,$_=!1,Or=Di("meta"),zR=0,kh=function(e){FR(e,Or,{value:{objectID:"O"+zR++,weakData:{}}})},WR=Es.exports={enable:function(){WR.enable=function(){},$_=!0;var e=Y_.f,t=UR([].splice),n={};n[Or]=1,e(n).length&&(Y_.f=function(r){for(var i=e(r),o=0,a=i.length;o<a;o++)if(i[o]===Or){t(i,o,1);break}return i},VR({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:GR.f}))},fastKey:function(e,t){if(!jR(e))return typeof e=="symbol"?e:(typeof e=="string"?"S":"P")+e;if(!Sh(e,Or)){if(!bh(e))return"F";if(!t)return"E";kh(e)}return e[Or].objectID},getWeakData:function(e,t){if(!Sh(e,Or)){if(!bh(e))return!0;if(!t)return!1;kh(e)}return e[Or].weakData},onFreeze:function(e){return HR&&$_&&bh(e)&&!Sh(e,Or)&&kh(e),e}};BR[Or]=!0;var JR=Ut,KR=Oe,qR=pe(pe.bind),Mr=function(e,t){return JR(e),t===void 0?e:KR?qR(e,t):function(){return e.apply(t,arguments)}},XR=Ts,QR=nt("iterator"),YR=Array.prototype,Th=function(e){return e!==void 0&&(XR.Array===e||YR[QR]===e)},$R=Lr,Z_=Xt,ZR=Ct,eA=Ts,tA=nt("iterator"),Rs=function(e){if(!ZR(e))return Z_(e,tA)||Z_(e,"@@iterator")||eA[$R(e)]},nA=Qe,rA=Ut,iA=It,aA=Xn,oA=Rs,sA=TypeError,bu=function(e,t){var n=arguments.length<2?oA(e):t;if(rA(n))return iA(nA(n,e));throw sA(aA(e)+" is not iterable")},cA=Qe,ey=It,uA=Xt,ty=function(e,t,n){var r,i;ey(e);try{if(!(r=uA(e,"return"))){if(t==="throw")throw n;return n}r=cA(r,e)}catch(o){i=!0,r=o}if(t==="throw")throw n;if(i)throw r;return ey(r),n},lA=Mr,dA=Qe,hA=It,pA=Xn,fA=Th,mA=rn,ny=bn,vA=bu,gA=Rs,ry=ty,_A=TypeError,ku=function(e,t){this.stopped=e,this.result=t},iy=ku.prototype,As=function(e,t,n){var r,i,o,a,s,c,u,d=n&&n.that,h=!(!n||!n.AS_ENTRIES),_=!(!n||!n.IS_RECORD),y=!(!n||!n.IS_ITERATOR),b=!(!n||!n.INTERRUPTED),f=lA(t,d),g=function(w){return r&&ry(r,"normal",w),new ku(!0,w)},I=function(w){return h?(hA(w),b?f(w[0],w[1],g):f(w[0],w[1])):b?f(w,g):f(w)};if(_)r=e.iterator;else if(y)r=e;else{if(!(i=gA(e)))throw _A(pA(e)+" is not iterable");if(fA(i)){for(o=0,a=mA(e);a>o;o++)if((s=I(e[o]))&&ny(iy,s))return s;return new ku(!1)}r=vA(e,i)}for(c=_?e.next:r.next;!(u=dA(c,r)).done;){try{s=I(u.value)}catch(w){ry(r,"throw",w)}if(typeof s=="object"&&s&&ny(iy,s))return s}return new ku(!1)},yA=bn,SA=TypeError,oi=function(e,t){if(yA(t,e))return e;throw SA("Incorrect invocation")},ay=nt("iterator"),oy=!1;try{var bA=0,sy={next:function(){return{done:!!bA++}},return:function(){oy=!0}};sy[ay]=function(){return this},Array.from(sy,function(){throw 2})}catch(e){}var Tu=function(e,t){if(!t&&!oy)return!1;var n=!1;try{var r={};r[ay]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(i){}return n},kA=at,TA=ot,cy=Ba,xu=function(e,t,n){var r,i;return cy&&kA(r=t.constructor)&&r!==n&&TA(i=r.prototype)&&i!==n.prototype&&cy(e,i),e},xA=Me,IA=te,wA=pe,uy=ys,EA=Qt,CA=Es.exports,RA=As,AA=oi,PA=at,DA=Ct,xh=ot,Ih=oe,LA=Tu,OA=Bi,MA=xu,wh=function(e,t,n){var r=e.indexOf("Map")!==-1,i=e.indexOf("Weak")!==-1,o=r?"set":"add",a=IA[e],s=a&&a.prototype,c=a,u={},d=function(g){var I=wA(s[g]);EA(s,g,g=="add"?function(w){return I(this,w===0?0:w),this}:g=="delete"?function(w){return!(i&&!xh(w))&&I(this,w===0?0:w)}:g=="get"?function(w){return i&&!xh(w)?void 0:I(this,w===0?0:w)}:g=="has"?function(w){return!(i&&!xh(w))&&I(this,w===0?0:w)}:function(w,j){return I(this,w===0?0:w,j),this})};if(uy(e,!PA(a)||!(i||s.forEach&&!Ih(function(){new a().entries().next()}))))c=n.getConstructor(t,e,r,o),CA.enable();else if(uy(e,!0)){var h=new c,_=h[o](i?{}:-0,1)!=h,y=Ih(function(){h.has(1)}),b=LA(function(g){new a(g)}),f=!i&&Ih(function(){for(var g=new a,I=5;I--;)g[o](I,I);return!g.has(-0)});b||((c=t(function(g,I){AA(g,s);var w=MA(new a,g,c);return DA(I)||RA(I,w[o],{that:w,AS_ENTRIES:r}),w})).prototype=s,s.constructor=c),(y||f)&&(d("delete"),d("has"),r&&d("get")),(f||_)&&d(o),i&&s.clear&&delete s.clear}return u[e]=c,xA({global:!0,constructor:!0,forced:c!=a},u),OA(c,e),i||n.setStrong(c,e,r),c},NA=Qt,Ps=function(e,t,n){for(var r in t)NA(e,r,t[r],n);return e},VA=Pn,UA=At,BA=_e,ly=nt("species"),Ds=function(e){var t=VA(e),n=UA.f;BA&&t&&!t[ly]&&n(t,ly,{configurable:!0,get:function(){return this}})},jA=At.f,FA=Ua,dy=Ps,GA=Mr,HA=oi,zA=Ct,WA=As,JA=mh,hy=vh,KA=Ds,Ls=_e,py=Es.exports.fastKey,fy=Xe.set,Eh=Xe.getterFor,my={getConstructor:function(e,t,n,r){var i=e(function(u,d){HA(u,o),fy(u,{type:t,index:FA(null),first:void 0,last:void 0,size:0}),Ls||(u.size=0),zA(d)||WA(d,u[r],{that:u,AS_ENTRIES:n})}),o=i.prototype,a=Eh(t),s=function(u,d,h){var _,y,b=a(u),f=c(u,d);return f?f.value=h:(b.last=f={index:y=py(d,!0),key:d,value:h,previous:_=b.last,next:void 0,removed:!1},b.first||(b.first=f),_&&(_.next=f),Ls?b.size++:u.size++,y!=="F"&&(b.index[y]=f)),u},c=function(u,d){var h,_=a(u),y=py(d);if(y!=="F")return _.index[y];for(h=_.first;h;h=h.next)if(h.key==d)return h};return dy(o,{clear:function(){for(var u=a(this),d=u.index,h=u.first;h;)h.removed=!0,h.previous&&(h.previous=h.previous.next=void 0),delete d[h.index],h=h.next;u.first=u.last=void 0,Ls?u.size=0:this.size=0},delete:function(u){var d=this,h=a(d),_=c(d,u);if(_){var y=_.next,b=_.previous;delete h.index[_.index],_.removed=!0,b&&(b.next=y),y&&(y.previous=b),h.first==_&&(h.first=y),h.last==_&&(h.last=b),Ls?h.size--:d.size--}return!!_},forEach:function(u){for(var d,h=a(this),_=GA(u,arguments.length>1?arguments[1]:void 0);d=d?d.next:h.first;)for(_(d.value,d.key,this);d&&d.removed;)d=d.previous},has:function(u){return!!c(this,u)}}),dy(o,n?{get:function(u){var d=c(this,u);return d&&d.value},set:function(u,d){return s(this,u===0?0:u,d)}}:{add:function(u){return s(this,u=u===0?0:u,u)}}),Ls&&jA(o,"size",{get:function(){return a(this).size}}),i},setStrong:function(e,t,n){var r=t+" Iterator",i=Eh(t),o=Eh(r);JA(e,t,function(a,s){fy(this,{type:r,target:a,state:i(a),kind:s,last:void 0})},function(){for(var a=o(this),s=a.kind,c=a.last;c&&c.removed;)c=c.previous;return a.target&&(a.last=c=c?c.next:a.state.first)?hy(s=="keys"?c.key:s=="values"?c.value:[c.key,c.value],!1):(a.target=void 0,hy(void 0,!0))},n?"entries":"values",!n,!0),KA(t)}};wh("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},my);var qA=Lr,XA=String,Wt=function(e){if(qA(e)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return XA(e)},Ch=pe,QA=$n,YA=Wt,$A=pt,ZA=Ch("".charAt),vy=Ch("".charCodeAt),e2=Ch("".slice),gy=function(e){return function(t,n){var r,i,o=YA($A(t)),a=QA(n),s=o.length;return a<0||a>=s?e?"":void 0:(r=vy(o,a))<55296||r>56319||a+1===s||(i=vy(o,a+1))<56320||i>57343?e?ZA(o,a):r:e?e2(o,a,a+2):i-56320+(r-55296<<10)+65536}},Rh={codeAt:gy(!1),charAt:gy(!0)},t2=Rh.charAt,n2=Wt,_y=Xe,r2=mh,yy=vh,Sy="String Iterator",i2=_y.set,a2=_y.getterFor(Sy);r2(String,"String",function(e){i2(this,{type:Sy,string:n2(e),index:0})},function(){var e,t=a2(this),n=t.string,r=t.index;return r>=n.length?yy(void 0,!0):(e=t2(n,r),t.index+=e.length,yy(e,!1))});var by={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},Ah=pr("span").classList,ky=Ah&&Ah.constructor&&Ah.constructor.prototype,Ty=ky===Object.prototype?void 0:ky,xy=te,Iy=by,o2=Ty,Os=H_,Ph=Mn,wy=nt,Dh=wy("iterator"),Ey=wy("toStringTag"),Lh=Os.values,Cy=function(e,t){if(e){if(e[Dh]!==Lh)try{Ph(e,Dh,Lh)}catch(r){e[Dh]=Lh}if(e[Ey]||Ph(e,Ey,t),Iy[t]){for(var n in Os)if(e[n]!==Os[n])try{Ph(e,n,Os[n])}catch(r){e[n]=Os[n]}}}};for(var Oh in Iy)Cy(xy[Oh]&&xy[Oh].prototype,Oh);Cy(o2,"DOMTokenList");var s2=Oe,Ry=Function.prototype,Ay=Ry.apply,Py=Ry.call,ji=typeof Reflect=="object"&&Reflect.apply||(s2?Py.bind(Ay):function(){return Py.apply(Ay,arguments)}),ja=pe([].slice),c2=TypeError,Iu=function(e,t){if(e<t)throw c2("Not enough arguments");return e},Mh=te,u2=ji,l2=at,d2=ja,h2=Iu,p2=/MSIE .\./.test(qn),f2=Mh.Function,Dy=function(e){return p2?function(t,n){var r=h2(arguments.length,1)>2,i=l2(t)?t:f2(t),o=r?d2(arguments,2):void 0;return e(r?function(){u2(i,this,o)}:i,n)}:e},Ly={setTimeout:Dy(Mh.setTimeout),setInterval:Dy(Mh.setInterval)},Oy=Ly.setInterval;Me({global:!0,bind:!0,forced:te.setInterval!==Oy},{setInterval:Oy});var My=Ly.setTimeout;Me({global:!0,bind:!0,forced:te.setTimeout!==My},{setTimeout:My}),wh("Map",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},my);var m2=it,Fa=Array.isArray||function(e){return m2(e)=="Array"},v2=pe,g2=oe,Ny=at,_2=Lr,y2=l,Vy=function(){},S2=[],Uy=Pn("Reflect","construct"),Nh=/^\s*(?:class|function)\b/,b2=v2(Nh.exec),k2=!Nh.exec(Vy),Ms=function(e){if(!Ny(e))return!1;try{return Uy(Vy,S2,e),!0}catch(t){return!1}},By=function(e){if(!Ny(e))return!1;switch(_2(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return k2||!!b2(Nh,y2(e))}catch(t){return!0}};By.sham=!0;var wu=!Uy||g2(function(){var e;return Ms(Ms.call)||!Ms(Object)||!Ms(function(){e=!0})||e})?By:Ms,jy=Fa,T2=wu,x2=ot,I2=nt("species"),Fy=Array,w2=function(e){var t;return jy(e)&&(t=e.constructor,(T2(t)&&(t===Fy||jy(t.prototype))||x2(t)&&(t=t[I2])===null)&&(t=void 0)),t===void 0?Fy:t},Vh=function(e,t){return new(w2(e))(t===0?0:t)},E2=Mr,C2=yn,R2=Bt,A2=rn,P2=Vh,Gy=pe([].push),si=function(e){var t=e==1,n=e==2,r=e==3,i=e==4,o=e==6,a=e==7,s=e==5||o;return function(c,u,d,h){for(var _,y,b=R2(c),f=C2(b),g=E2(u,d),I=A2(f),w=0,j=h||P2,z=t?j(c,I):n||a?j(c,0):void 0;I>w;w++)if((s||w in f)&&(y=g(_=f[w],w,b),e))if(t)z[w]=y;else if(y)switch(e){case 3:return!0;case 5:return _;case 6:return w;case 2:Gy(z,_)}else switch(e){case 4:return!1;case 7:Gy(z,_)}return o?-1:r||i?i:z}},an={forEach:si(0),map:si(1),filter:si(2),some:si(3),every:si(4),find:si(5),findIndex:si(6),filterReject:si(7)},D2=oe,L2=dr,O2=nt("species"),Ns=function(e){return L2>=51||!D2(function(){var t=[];return(t.constructor={})[O2]=function(){return{foo:1}},t[e](Boolean).foo!==1})},M2=an.map;Me({target:"Array",proto:!0,forced:!Ns("map")},{map:function(e){return M2(this,e,arguments.length>1?arguments[1]:void 0)}});var N2=_e,V2=Fa,U2=TypeError,B2=Object.getOwnPropertyDescriptor,j2=N2&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}(),F2=TypeError,Hy=function(e){if(e>9007199254740991)throw F2("Maximum allowed index exceeded");return e},zy=Xn,G2=TypeError,Wy=function(e,t){if(!delete e[t])throw G2("Cannot delete property "+zy(t)+" of "+zy(e))},H2=Me,z2=Bt,W2=ai,J2=$n,K2=rn,q2=j2?function(e,t){if(V2(e)&&!B2(e,"length").writable)throw U2("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t},X2=Hy,Q2=Vh,Y2=Cs,Uh=Wy,$2=Ns("splice"),Z2=Math.max,eP=Math.min;H2({target:"Array",proto:!0,forced:!$2},{splice:function(e,t){var n,r,i,o,a,s,c=z2(this),u=K2(c),d=W2(e,u),h=arguments.length;for(h===0?n=r=0:h===1?(n=0,r=u-d):(n=h-2,r=eP(Z2(J2(t),0),u-d)),X2(u+n-r),i=Q2(c,r),o=0;o<r;o++)(a=d+o)in c&&Y2(i,o,c[a]);if(i.length=r,n<r){for(o=d;o<u-r;o++)s=o+n,(a=o+r)in c?c[s]=c[a]:Uh(c,s);for(o=u;o>u-r+n;o--)Uh(c,o-1)}else if(n>r)for(o=u-r;o>d;o--)s=o+n-1,(a=o+r-1)in c?c[s]=c[a]:Uh(c,s);for(o=0;o<n;o++)c[o+d]=arguments[o+2];return q2(c,u-r+n),i}});var tP=oe,Vs=function(e,t){var n=[][e];return!!n&&tP(function(){n.call(null,t||function(){return 1},1)})},nP=an.forEach,Bh=Vs("forEach")?[].forEach:function(e){return nP(this,e,arguments.length>1?arguments[1]:void 0)};Me({target:"Array",proto:!0,forced:[].forEach!=Bh},{forEach:Bh});var Jy=te,Ky=by,rP=Ty,jh=Bh,iP=Mn,qy=function(e){if(e&&e.forEach!==jh)try{iP(e,"forEach",jh)}catch(t){e.forEach=jh}};for(var Fh in Ky)Ky[Fh]&&qy(Jy[Fh]&&Jy[Fh].prototype);qy(rP);var aP=Me,oP=yn,sP=Sn,cP=Vs,uP=pe([].join),lP=oP!=Object,dP=cP("join",",");aP({target:"Array",proto:!0,forced:lP||!dP},{join:function(e){return uP(sP(this),e===void 0?",":e)}});var hP=an.filter;Me({target:"Array",proto:!0,forced:!Ns("filter")},{filter:function(e){return hP(this,e,arguments.length>1?arguments[1]:void 0)}});var pP=Me,fP=oe,mP=Fa,vP=ot,gP=Bt,_P=rn,Xy=Hy,Qy=Cs,yP=Vh,SP=Ns,bP=dr,Yy=nt("isConcatSpreadable"),kP=bP>=51||!fP(function(){var e=[];return e[Yy]=!1,e.concat()[0]!==e}),TP=SP("concat"),xP=function(e){if(!vP(e))return!1;var t=e[Yy];return t!==void 0?!!t:mP(e)};pP({target:"Array",proto:!0,arity:1,forced:!kP||!TP},{concat:function(e){var t,n,r,i,o,a=gP(this),s=yP(a,0),c=0;for(t=-1,r=arguments.length;t<r;t++)if(xP(o=t===-1?a:arguments[t]))for(i=_P(o),Xy(c+i),n=0;n<i;n++,c++)n in o&&Qy(s,c,o[n]);else Xy(c+1),Qy(s,c++,o);return s.length=c,s}});var $y=pe,IP=Qt,Gh=Date.prototype,Zy="Invalid Date",wP="toString",EP=$y(Gh.toString),CP=$y(Gh.getTime);String(new Date(NaN))!=Zy&&IP(Gh,wP,function(){var e=CP(this);return e==e?EP(this):Zy});var RP=$n,AP=Wt,PP=pt,DP=RangeError,e0=function(e){var t=AP(PP(this)),n="",r=RP(e);if(r<0||r==1/0)throw DP("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))1&r&&(n+=t);return n},t0=pe,LP=vr,n0=Wt,OP=pt,MP=t0(e0),NP=t0("".slice),VP=Math.ceil,r0=function(e){return function(t,n,r){var i,o,a=n0(OP(t)),s=LP(n),c=a.length,u=r===void 0?" ":n0(r);return s<=c||u==""?a:((o=MP(u,VP((i=s-c)/u.length))).length>i&&(o=NP(o,0,i)),e?a+o:o+a)}},UP={start:r0(!1),end:r0(!0)},BP=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(qn),jP=UP.start;Me({target:"String",proto:!0,forced:BP},{padStart:function(e){return jP(this,e,arguments.length>1?arguments[1]:void 0)}});var FP=It,i0=function(){var e=FP(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},Hh=oe,zh=te.RegExp,Wh=Hh(function(){var e=zh("a","y");return e.lastIndex=2,e.exec("abcd")!=null}),GP=Wh||Hh(function(){return!zh("a","y").sticky}),a0={BROKEN_CARET:Wh||Hh(function(){var e=zh("^r","gy");return e.lastIndex=2,e.exec("str")!=null}),MISSED_STICKY:GP,UNSUPPORTED_Y:Wh},HP=oe,zP=te.RegExp,o0=HP(function(){var e=zP(".","s");return!(e.dotAll&&e.exec(`
|
|
76
|
-
`)&&e.flags==="s")}),
|
|
77
|
-
`)&&(f="(?: "+f+")",I=" "+I,g++),n=new RegExp("^(?:"+f+")",b)),Xh&&(n=new RegExp("^"+f+"$(?!\\s)",b)),qh&&(r=c.lastIndex),i=Ga(Cu,y?n:c,I),y?i?(i.input=Kh(i.input,g),i[0]=Kh(i[0],g),i.index=c.lastIndex,c.lastIndex+=i[0].length):c.lastIndex=0:qh&&i&&(c.lastIndex=c.global?i.index+i[0].length:r),Xh&&i&&i.length>1&&Ga(tD,i[0],n,function(){for(o=1;o<arguments.length-2;o++)arguments[o]===void 0&&(i[o]=void 0)}),i&&_)for(i.groups=a=YP(null),o=0;o<_.length;o++)a[(s=_[o])[0]]=i[s[1]];return i});var Ru=Jh;Me({target:"RegExp",proto:!0,forced:/./.exec!==Ru},{exec:Ru});var u0=pe,l0=Qt,aD=Ru,d0=oe,h0=nt,oD=Mn,sD=h0("species"),Qh=RegExp.prototype,Yh=function(e,t,n,r){var i=h0(e),o=!d0(function(){var u={};return u[i]=function(){return 7},""[e](u)!=7}),a=o&&!d0(function(){var u=!1,d=/a/;return e==="split"&&((d={}).constructor={},d.constructor[sD]=function(){return d},d.flags="",d[i]=/./[i]),d.exec=function(){return u=!0,null},d[i](""),!u});if(!o||!a||n){var s=u0(/./[i]),c=t(i,""[e],function(u,d,h,_,y){var b=u0(u),f=d.exec;return f===aD||f===Qh.exec?o&&!y?{done:!0,value:s(d,h,_)}:{done:!0,value:b(h,d,_)}:{done:!1}});l0(String.prototype,e,c[0]),l0(Qh,i,c[1])}r&&oD(Qh[i],"sham",!0)},cD=Rh.charAt,p0=function(e,t,n){return t+(n?cD(e,t).length:1)},$h=pe,uD=Bt,lD=Math.floor,Zh=$h("".charAt),dD=$h("".replace),ep=$h("".slice),hD=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,pD=/\$([$&'`]|\d{1,2})/g,f0=Qe,fD=It,mD=at,vD=it,gD=Ru,_D=TypeError,tp=function(e,t){var n=e.exec;if(mD(n)){var r=f0(n,e,t);return r!==null&&fD(r),r}if(vD(e)==="RegExp")return f0(gD,e,t);throw _D("RegExp#exec called on incompatible receiver")},yD=ji,m0=Qe,Au=pe,SD=Yh,bD=oe,kD=It,TD=at,xD=Ct,ID=$n,wD=vr,Ha=Wt,ED=pt,CD=p0,RD=Xt,AD=function(e,t,n,r,i,o){var a=n+e.length,s=r.length,c=pD;return i!==void 0&&(i=uD(i),c=hD),dD(o,c,function(u,d){var h;switch(Zh(d,0)){case"$":return"$";case"&":return e;case"`":return ep(t,0,n);case"'":return ep(t,a);case"<":h=i[ep(d,1,-1)];break;default:var _=+d;if(_===0)return u;if(_>s){var y=lD(_/10);return y===0?u:y<=s?r[y-1]===void 0?Zh(d,1):r[y-1]+Zh(d,1):u}h=r[_-1]}return h===void 0?"":h})},PD=tp,np=nt("replace"),DD=Math.max,LD=Math.min,OD=Au([].concat),rp=Au([].push),v0=Au("".indexOf),g0=Au("".slice),MD="a".replace(/./,"$0")==="$0",_0=!!/./[np]&&/./[np]("a","$0")==="",ND=!bD(function(){var e=/./;return e.exec=function(){var t=[];return t.groups={a:"7"},t},"".replace(e,"$<a>")!=="7"});SD("replace",function(e,t,n){var r=_0?"$":"$0";return[function(i,o){var a=ED(this),s=xD(i)?void 0:RD(i,np);return s?m0(s,i,a,o):m0(t,Ha(a),i,o)},function(i,o){var a=kD(this),s=Ha(i);if(typeof o=="string"&&v0(o,r)===-1&&v0(o,"$<")===-1){var c=n(t,a,s,o);if(c.done)return c.value}var u=TD(o);u||(o=Ha(o));var d=a.global;if(d){var h=a.unicode;a.lastIndex=0}for(var _=[];;){var y=PD(a,s);if(y===null||(rp(_,y),!d))break;Ha(y[0])===""&&(a.lastIndex=CD(s,wD(a.lastIndex),h))}for(var b,f="",g=0,I=0;I<_.length;I++){for(var w=Ha((y=_[I])[0]),j=DD(LD(ID(y.index),s.length),0),z=[],$=1;$<y.length;$++)rp(z,(b=y[$])===void 0?b:String(b));var ue=y.groups;if(u){var L=OD([w],z,j,s);ue!==void 0&&rp(L,ue);var k=Ha(yD(o,void 0,L))}else k=AD(w,s,j,z,ue,o);j>=g&&(f+=g0(s,g,j)+k,g=j+w.length)}return f+g0(s,g)}]},!ND||!MD||_0);var VD=Qe,UD=xt,BD=bn,jD=i0,y0=RegExp.prototype,S0=function(e){var t=e.flags;return t!==void 0||"flags"in y0||UD(e,"flags")||!BD(y0,e)?t:VD(jD,e)},FD=Yn.PROPER,GD=Qt,HD=It,b0=Wt,zD=oe,WD=S0,k0="toString",T0=RegExp.prototype.toString,JD=zD(function(){return T0.call({source:"a",flags:"b"})!="/a/b"}),KD=FD&&T0.name!=k0;(JD||KD)&&GD(RegExp.prototype,k0,function(){var e=HD(this);return"/"+b0(e.source)+"/"+b0(WD(e))},{unsafe:!0});var qD=oe,XD=nt("iterator"),x0=!qD(function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach(function(r,i){t.delete("b"),n+=i+r}),!t.sort||e.href!=="http://a/c%20d?a=1&c=3"||t.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!t[XD]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("http://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("http://a#\u0431").hash!=="#%D0%B1"||n!=="a1c3"||new URL("http://x",void 0).host!=="x"}),I0=yu,QD=Math.floor,ip=function(e,t){var n=e.length,r=QD(n/2);return n<8?YD(e,t):$D(e,ip(I0(e,0,r),t),ip(I0(e,r),t),t)},YD=function(e,t){for(var n,r,i=e.length,o=1;o<i;){for(r=o,n=e[o];r&&t(e[r-1],n)>0;)e[r]=e[--r];r!==o++&&(e[r]=n)}return e},$D=function(e,t,n,r){for(var i=t.length,o=n.length,a=0,s=0;a<i||s<o;)e[a+s]=a<i&&s<o?r(t[a],n[s])<=0?t[a++]:n[s++]:a<i?t[a++]:n[s++];return e},w0=ip,ap=Me,za=te,Pu=Qe,gr=pe,ZD=_e,E0=x0,C0=Qt,eL=Ps,tL=Bi,nL=L_,op=Xe,R0=oi,sp=at,rL=xt,iL=Mr,aL=Lr,oL=It,A0=ot,Tn=Wt,sL=Ua,P0=et,cp=bu,cL=Rs,Wa=Iu,uL=w0,lL=nt("iterator"),Du="URLSearchParams",D0="URLSearchParamsIterator",L0=op.set,Zn=op.getterFor(Du),dL=op.getterFor(D0),hL=Object.getOwnPropertyDescriptor,up=function(e){if(!ZD)return za[e];var t=hL(za,e);return t&&t.value},O0=up("fetch"),Lu=up("Request"),Us=up("Headers"),lp=Lu&&Lu.prototype,M0=Us&&Us.prototype,pL=za.RegExp,fL=za.TypeError,N0=za.decodeURIComponent,mL=za.encodeURIComponent,vL=gr("".charAt),V0=gr([].join),Fi=gr([].push),dp=gr("".replace),gL=gr([].shift),U0=gr([].splice),B0=gr("".split),_L=gr("".slice),yL=/\+/g,j0=Array(4),SL=function(e){return j0[e-1]||(j0[e-1]=pL("((?:%[\\da-f]{2}){"+e+"})","gi"))},bL=function(e){try{return N0(e)}catch(t){return e}},F0=function(e){var t=dp(e,yL," "),n=4;try{return N0(t)}catch(r){for(;n;)t=dp(t,SL(n--),bL);return t}},kL=/[!'()~]|%20/g,TL={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},xL=function(e){return TL[e]},G0=function(e){return dp(mL(e),kL,xL)},hp=nL(function(e,t){L0(this,{type:D0,iterator:cp(Zn(e).entries),kind:t})},"Iterator",function(){var e=dL(this),t=e.kind,n=e.iterator.next(),r=n.value;return n.done||(n.value=t==="keys"?r.key:t==="values"?r.value:[r.key,r.value]),n},!0),H0=function(e){this.entries=[],this.url=null,e!==void 0&&(A0(e)?this.parseObject(e):this.parseQuery(typeof e=="string"?vL(e,0)==="?"?_L(e,1):e:Tn(e)))};H0.prototype={type:Du,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,n,r,i,o,a,s,c=cL(e);if(c)for(n=(t=cp(e,c)).next;!(r=Pu(n,t)).done;){if(o=(i=cp(oL(r.value))).next,(a=Pu(o,i)).done||(s=Pu(o,i)).done||!Pu(o,i).done)throw fL("Expected sequence with length 2");Fi(this.entries,{key:Tn(a.value),value:Tn(s.value)})}else for(var u in e)rL(e,u)&&Fi(this.entries,{key:u,value:Tn(e[u])})},parseQuery:function(e){if(e)for(var t,n,r=B0(e,"&"),i=0;i<r.length;)(t=r[i++]).length&&(n=B0(t,"="),Fi(this.entries,{key:F0(gL(n)),value:F0(V0(n,"="))}))},serialize:function(){for(var e,t=this.entries,n=[],r=0;r<t.length;)e=t[r++],Fi(n,G0(e.key)+"="+G0(e.value));return V0(n,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Ou=function(){R0(this,Bs);var e=arguments.length>0?arguments[0]:void 0;L0(this,new H0(e))},Bs=Ou.prototype;if(eL(Bs,{append:function(e,t){Wa(arguments.length,2);var n=Zn(this);Fi(n.entries,{key:Tn(e),value:Tn(t)}),n.updateURL()},delete:function(e){Wa(arguments.length,1);for(var t=Zn(this),n=t.entries,r=Tn(e),i=0;i<n.length;)n[i].key===r?U0(n,i,1):i++;t.updateURL()},get:function(e){Wa(arguments.length,1);for(var t=Zn(this).entries,n=Tn(e),r=0;r<t.length;r++)if(t[r].key===n)return t[r].value;return null},getAll:function(e){Wa(arguments.length,1);for(var t=Zn(this).entries,n=Tn(e),r=[],i=0;i<t.length;i++)t[i].key===n&&Fi(r,t[i].value);return r},has:function(e){Wa(arguments.length,1);for(var t=Zn(this).entries,n=Tn(e),r=0;r<t.length;)if(t[r++].key===n)return!0;return!1},set:function(e,t){Wa(arguments.length,1);for(var n,r=Zn(this),i=r.entries,o=!1,a=Tn(e),s=Tn(t),c=0;c<i.length;c++)(n=i[c]).key===a&&(o?U0(i,c--,1):(o=!0,n.value=s));o||Fi(i,{key:a,value:s}),r.updateURL()},sort:function(){var e=Zn(this);uL(e.entries,function(t,n){return t.key>n.key?1:-1}),e.updateURL()},forEach:function(e){for(var t,n=Zn(this).entries,r=iL(e,arguments.length>1?arguments[1]:void 0),i=0;i<n.length;)r((t=n[i++]).value,t.key,this)},keys:function(){return new hp(this,"keys")},values:function(){return new hp(this,"values")},entries:function(){return new hp(this,"entries")}},{enumerable:!0}),C0(Bs,lL,Bs.entries,{name:"entries"}),C0(Bs,"toString",function(){return Zn(this).serialize()},{enumerable:!0}),tL(Ou,Du),ap({global:!0,constructor:!0,forced:!E0},{URLSearchParams:Ou}),!E0&&sp(Us)){var IL=gr(M0.has),wL=gr(M0.set),z0=function(e){if(A0(e)){var t,n=e.body;if(aL(n)===Du)return t=e.headers?new Us(e.headers):new Us,IL(t,"content-type")||wL(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),sL(e,{body:P0(0,Tn(n)),headers:P0(0,t)})}return e};if(sp(O0)&&ap({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return O0(e,arguments.length>1?z0(arguments[1]):{})}}),sp(Lu)){var pp=function(e){return R0(this,lp),new Lu(e,arguments.length>1?z0(arguments[1]):{})};lp.constructor=pp,pp.prototype=lp,ap({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:pp})}}var EL={URLSearchParams:Ou,getState:Zn},CL=Object.is||function(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t},RL=Qe,AL=It,PL=Ct,DL=pt,W0=CL,J0=Wt,LL=Xt,OL=tp;Yh("search",function(e,t,n){return[function(r){var i=DL(this),o=PL(r)?void 0:LL(r,e);return o?RL(o,r,i):new RegExp(r)[e](J0(i))},function(r){var i=AL(this),o=J0(r),a=n(t,i,o);if(a.done)return a.value;var s=i.lastIndex;W0(s,0)||(i.lastIndex=0);var c=OL(i,o);return W0(i.lastIndex,s)||(i.lastIndex=s),c===null?-1:c.index}]}),new Date().getTime();var fp=0,on=function(){return new Date().getTime()+fp},K0=function(){var e=new Date;return e.setTime(on()),e.toLocaleString()},ML=Qe,NL=It,VL=Ct,UL=vr,mp=Wt,BL=pt,jL=Xt,FL=p0,q0=tp;Yh("match",function(e,t,n){return[function(r){var i=BL(this),o=VL(r)?void 0:jL(r,e);return o?ML(o,r,i):new RegExp(r)[e](mp(i))},function(r){var i=NL(this),o=mp(r),a=n(t,i,o);if(a.done)return a.value;if(!i.global)return q0(i,o);var s=i.unicode;i.lastIndex=0;for(var c,u=[],d=0;(c=q0(i,o))!==null;){var h=mp(c[0]);u[d]=h,h===""&&(i.lastIndex=FL(o,UL(i.lastIndex),s)),d++}return d===0?null:u}]});var GL=ot,HL=it,zL=nt("match"),X0=function(e){var t;return GL(e)&&((t=e[zL])!==void 0?!!t:HL(e)=="RegExp")},WL=At.f,JL=_e,vp=te,js=pe,KL=ys,qL=xu,XL=Mn,QL=ii.f,Q0=bn,YL=X0,Y0=Wt,$L=S0,$0=a0,ZL=function(e,t,n){n in e||WL(e,n,{configurable:!0,get:function(){return t[n]},set:function(r){t[n]=r}})},eO=Qt,tO=oe,nO=xt,rO=Xe.enforce,iO=Ds,Z0=o0,eS=s0,aO=nt("match"),ci=vp.RegExp,Ja=ci.prototype,oO=vp.SyntaxError,sO=js(Ja.exec),Mu=js("".charAt),tS=js("".replace),nS=js("".indexOf),cO=js("".slice),uO=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Gi=/a/g,gp=/a/g,lO=new ci(Gi)!==Gi,rS=$0.MISSED_STICKY,dO=$0.UNSUPPORTED_Y,hO=JL&&(!lO||rS||Z0||eS||tO(function(){return gp[aO]=!1,ci(Gi)!=Gi||ci(gp)==gp||ci(Gi,"i")!="/a/i"}));if(KL("RegExp",hO)){for(var Hi=function(e,t){var n,r,i,o,a,s,c=Q0(Ja,this),u=YL(e),d=t===void 0,h=[],_=e;if(!c&&u&&d&&e.constructor===Hi)return e;if((u||Q0(Ja,e))&&(e=e.source,d&&(t=$L(_))),e=e===void 0?"":Y0(e),t=t===void 0?"":Y0(t),_=e,Z0&&"dotAll"in Gi&&(r=!!t&&nS(t,"s")>-1)&&(t=tS(t,/s/g,"")),n=t,rS&&"sticky"in Gi&&(i=!!t&&nS(t,"y")>-1)&&dO&&(t=tS(t,/y/g,"")),eS&&(o=function(y){for(var b,f=y.length,g=0,I="",w=[],j={},z=!1,$=!1,ue=0,L="";g<=f;g++){if((b=Mu(y,g))==="\\")b+=Mu(y,++g);else if(b==="]")z=!1;else if(!z)switch(!0){case b==="[":z=!0;break;case b==="(":sO(uO,cO(y,g+1))&&(g+=2,$=!0),I+=b,ue++;continue;case(b===">"&&$):if(L===""||nO(j,L))throw new oO("Invalid capture group name");j[L]=!0,w[w.length]=[L,ue],$=!1,L="";continue}$?L+=b:I+=b}return[I,w]}(e),e=o[0],h=o[1]),a=qL(ci(e,t),c?this:Ja,Hi),(r||i||h.length)&&(s=rO(a),r&&(s.dotAll=!0,s.raw=Hi(function(y){for(var b,f=y.length,g=0,I="",w=!1;g<=f;g++)(b=Mu(y,g))!=="\\"?w||b!=="."?(b==="["?w=!0:b==="]"&&(w=!1),I+=b):I+="[\\s\\S]":I+=b+Mu(y,++g);return I}(e),n)),i&&(s.sticky=!0),h.length&&(s.groups=h)),e!==_)try{XL(a,"source",_===""?"(?:)":_)}catch(y){}return a},iS=QL(ci),aS=0;iS.length>aS;)ZL(Hi,ci,iS[aS++]);Ja.constructor=Hi,Hi.prototype=Ja,eO(vp,"RegExp",Hi,{constructor:!0})}iO("RegExp");var oS=pe(1 .valueOf),sS=`
|
|
78
|
-
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`,
|
|
79
|
-
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]`,mO=RegExp("^"+Nu+Nu+"*"),vO=RegExp(Nu+Nu+"*$"),_p=function(e){return function(t){var n=fO(pO(t));return 1&e&&(n=cS(n,mO,"")),2&e&&(n=cS(n,vO,"")),n}},Vu={start:_p(1),end:_p(2),trim:_p(3)},gO=_e,yp=te,uS=pe,_O=ys,yO=Qt,lS=xt,SO=xu,bO=bn,kO=Ri,dS=Ca,TO=oe,xO=ii.f,IO=Se.f,wO=At.f,EO=oS,CO=Vu.trim,hS="Number",ui=yp.Number,Sp=ui.prototype,RO=yp.TypeError,AO=uS("".slice),Uu=uS("".charCodeAt),PO=function(e){var t=dS(e,"number");return typeof t=="bigint"?t:DO(t)},DO=function(e){var t,n,r,i,o,a,s,c,u=dS(e,"number");if(kO(u))throw RO("Cannot convert a Symbol value to a number");if(typeof u=="string"&&u.length>2){if(u=CO(u),(t=Uu(u,0))===43||t===45){if((n=Uu(u,2))===88||n===120)return NaN}else if(t===48){switch(Uu(u,1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+u}for(a=(o=AO(u,2)).length,s=0;s<a;s++)if((c=Uu(o,s))<48||c>i)return NaN;return parseInt(o,r)}}return+u};if(_O(hS,!ui(" 0o1")||!ui("0b1")||ui("+0x1"))){for(var Bu,Ka=function(e){var t=arguments.length<1?0:ui(PO(e)),n=this;return bO(Sp,n)&&TO(function(){EO(n)})?SO(Object(t),n,Ka):t},pS=gO?xO(ui):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),bp=0;pS.length>bp;bp++)lS(ui,Bu=pS[bp])&&!lS(Ka,Bu)&&wO(Ka,Bu,IO(ui,Bu));Ka.prototype=Sp,Sp.constructor=Ka,yO(yp,hS,Ka,{constructor:!0})}var LO=gs.includes,OO=vu;Me({target:"Array",proto:!0,forced:oe(function(){return!Array(1).includes()})},{includes:function(e){return LO(this,e,arguments.length>1?arguments[1]:void 0)}}),OO("includes");var MO=X0,NO=TypeError,fS=function(e){if(MO(e))throw NO("The method doesn't accept regular expressions");return e},VO=nt("match"),mS=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[VO]=!1,"/./"[e](t)}catch(r){}}return!1},UO=Me,BO=fS,jO=pt,vS=Wt,FO=mS,GO=pe("".indexOf);UO({target:"String",proto:!0,forced:!FO("includes")},{includes:function(e){return!!~GO(vS(jO(this)),vS(BO(e)),arguments.length>1?arguments[1]:void 0)}});var HO=Me,zO=gs.indexOf,WO=Vs,kp=pe([].indexOf),gS=!!kp&&1/kp([1],1,-0)<0,JO=WO("indexOf");HO({target:"Array",proto:!0,forced:gS||!JO},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return gS?kp(this,e,t)||0:zO(this,e,t)}});var KO=Bt,_S=xs,qO=C_;Me({target:"Object",stat:!0,forced:oe(function(){_S(1)}),sham:!qO},{getPrototypeOf:function(e){return _S(KO(e))}});var XO=ji,QO=Ut,YO=It;Me({target:"Reflect",stat:!0,forced:!oe(function(){Reflect.apply(function(){})})},{apply:function(e,t,n){return XO(QO(e),t,YO(n))}});var $O=_e,ZO=Yn.EXISTS,yS=pe,eM=At.f,SS=Function.prototype,tM=yS(SS.toString),bS=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,nM=yS(bS.exec);$O&&!ZO&&eM(SS,"name",{configurable:!0,get:function(){try{return nM(bS,tM(this))[1]}catch(e){return""}}});var rM=Me,kS=Date,iM=pe(kS.prototype.getTime);rM({target:"Date",stat:!0},{now:function(){return iM(new kS)}});var Fs,qa,TS,Tp,Gs=it(te.process)=="process",aM=wu,oM=Xn,sM=TypeError,xS=function(e){if(aM(e))return e;throw sM(oM(e)+" is not a constructor")},IS=It,cM=xS,uM=Ct,lM=nt("species"),ju=function(e,t){var n,r=IS(e).constructor;return r===void 0||uM(n=IS(r)[lM])?t:cM(n)},wS=/(?:ipad|iphone|ipod).*applewebkit/i.test(qn),xn=te,dM=ji,hM=Mr,ES=at,pM=xt,fM=oe,CS=b_,mM=ja,RS=pr,vM=Iu,gM=wS,_M=Gs,xp=xn.setImmediate,Ip=xn.clearImmediate,yM=xn.process,wp=xn.Dispatch,SM=xn.Function,AS=xn.MessageChannel,bM=xn.String,Ep=0,Hs={},kM="onreadystatechange";try{Fs=xn.location}catch(e){}var Cp=function(e){if(pM(Hs,e)){var t=Hs[e];delete Hs[e],t()}},Rp=function(e){return function(){Cp(e)}},PS=function(e){Cp(e.data)},DS=function(e){xn.postMessage(bM(e),Fs.protocol+"//"+Fs.host)};xp&&Ip||(xp=function(e){vM(arguments.length,1);var t=ES(e)?e:SM(e),n=mM(arguments,1);return Hs[++Ep]=function(){dM(t,void 0,n)},qa(Ep),Ep},Ip=function(e){delete Hs[e]},_M?qa=function(e){yM.nextTick(Rp(e))}:wp&&wp.now?qa=function(e){wp.now(Rp(e))}:AS&&!gM?(Tp=(TS=new AS).port2,TS.port1.onmessage=PS,qa=hM(Tp.postMessage,Tp)):xn.addEventListener&&ES(xn.postMessage)&&!xn.importScripts&&Fs&&Fs.protocol!=="file:"&&!fM(DS)?(qa=DS,xn.addEventListener("message",PS,!1)):qa=kM in RS("script")?function(e){CS.appendChild(RS("script")).onreadystatechange=function(){CS.removeChild(this),Cp(e)}}:function(e){setTimeout(Rp(e),0)});var zs,zi,Ws,Xa,Ap,Pp,Dp,LS,OS={set:xp,clear:Ip},TM=te,xM=/ipad|iphone|ipod/i.test(qn)&&TM.Pebble!==void 0,IM=/web0s(?!.*chrome)/i.test(qn),Wi=te,MS=Mr,wM=Se.f,Lp=OS.set,EM=wS,CM=xM,RM=IM,Op=Gs,NS=Wi.MutationObserver||Wi.WebKitMutationObserver,VS=Wi.document,US=Wi.process,Fu=Wi.Promise,BS=wM(Wi,"queueMicrotask"),jS=BS&&BS.value;jS||(zs=function(){var e,t;for(Op&&(e=US.domain)&&e.exit();zi;){t=zi.fn,zi=zi.next;try{t()}catch(n){throw zi?Xa():Ws=void 0,n}}Ws=void 0,e&&e.enter()},EM||Op||RM||!NS||!VS?!CM&&Fu&&Fu.resolve?((Dp=Fu.resolve(void 0)).constructor=Fu,LS=MS(Dp.then,Dp),Xa=function(){LS(zs)}):Op?Xa=function(){US.nextTick(zs)}:(Lp=MS(Lp,Wi),Xa=function(){Lp(zs)}):(Ap=!0,Pp=VS.createTextNode(""),new NS(zs).observe(Pp,{characterData:!0}),Xa=function(){Pp.data=Ap=!Ap}));var AM=jS||function(e){var t={fn:e,next:void 0};Ws&&(Ws.next=t),zi||(zi=t,Xa()),Ws=t},PM=te,Mp=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}},FS=function(){this.head=null,this.tail=null};FS.prototype={add:function(e){var t={item:e,next:null};this.head?this.tail.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return this.head=e.next,this.tail===e&&(this.tail=null),e.item}};var DM=FS,Js=te.Promise,GS=typeof Deno=="object"&&Deno&&typeof Deno.version=="object",LM=!GS&&!Gs&&typeof window=="object"&&typeof document=="object",OM=te,Ks=Js,MM=at,NM=ys,VM=l,UM=nt,BM=LM,jM=GS,Np=dr;Ks&&Ks.prototype;var FM=UM("species"),HS=!1,zS=MM(OM.PromiseRejectionEvent),GM=NM("Promise",function(){var e=VM(Ks),t=e!==String(Ks);if(!t&&Np===66)return!0;if(!Np||Np<51||!/native code/.test(e)){var n=new Ks(function(i){i(1)}),r=function(i){i(function(){},function(){})};if((n.constructor={})[FM]=r,!(HS=n.then(function(){})instanceof r))return!0}return!t&&(BM||jM)&&!zS}),Ji={CONSTRUCTOR:GM,REJECTION_EVENT:zS,SUBCLASSING:HS},Qa={},WS=Ut,HM=TypeError,zM=function(e){var t,n;this.promise=new e(function(r,i){if(t!==void 0||n!==void 0)throw HM("Bad Promise constructor");t=r,n=i}),this.resolve=WS(t),this.reject=WS(n)};Qa.f=function(e){return new zM(e)};var Vp,JS,KS,WM=Me,Gu=Gs,li=te,Ya=Qe,qS=Qt,XS=Ba,JM=Bi,KM=Ds,qM=Ut,Hu=at,XM=ot,QM=oi,YM=ju,QS=OS.set,Up=AM,$M=function(e,t){var n=PM.console;n&&n.error&&(arguments.length==1?n.error(e):n.error(e,t))},ZM=Mp,eN=DM,YS=Xe,zu=Js,$S=Qa,Wu="Promise",ZS=Ji.CONSTRUCTOR,tN=Ji.REJECTION_EVENT,nN=Ji.SUBCLASSING,Bp=YS.getterFor(Wu),rN=YS.set,$a=zu&&zu.prototype,Za=zu,Ju=$a,eb=li.TypeError,jp=li.document,Fp=li.process,Gp=$S.f,iN=Gp,aN=!!(jp&&jp.createEvent&&li.dispatchEvent),tb="unhandledrejection",nb=function(e){var t;return!(!XM(e)||!Hu(t=e.then))&&t},rb=function(e,t){var n,r,i,o=t.value,a=t.state==1,s=a?e.ok:e.fail,c=e.resolve,u=e.reject,d=e.domain;try{s?(a||(t.rejection===2&&sN(t),t.rejection=1),s===!0?n=o:(d&&d.enter(),n=s(o),d&&(d.exit(),i=!0)),n===e.promise?u(eb("Promise-chain cycle")):(r=nb(n))?Ya(r,n,c,u):c(n)):u(o)}catch(h){d&&!i&&d.exit(),u(h)}},ib=function(e,t){e.notified||(e.notified=!0,Up(function(){for(var n,r=e.reactions;n=r.get();)rb(n,e);e.notified=!1,t&&!e.rejection&&oN(e)}))},ab=function(e,t,n){var r,i;aN?((r=jp.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),li.dispatchEvent(r)):r={promise:t,reason:n},!tN&&(i=li["on"+e])?i(r):e===tb&&$M("Unhandled promise rejection",n)},oN=function(e){Ya(QS,li,function(){var t,n=e.facade,r=e.value;if(ob(e)&&(t=ZM(function(){Gu?Fp.emit("unhandledRejection",r,n):ab(tb,n,r)}),e.rejection=Gu||ob(e)?2:1,t.error))throw t.value})},ob=function(e){return e.rejection!==1&&!e.parent},sN=function(e){Ya(QS,li,function(){var t=e.facade;Gu?Fp.emit("rejectionHandled",t):ab("rejectionhandled",t,e.value)})},eo=function(e,t,n){return function(r){e(t,r,n)}},to=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,ib(e,!0))},Hp=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw eb("Promise can't be resolved itself");var r=nb(t);r?Up(function(){var i={done:!1};try{Ya(r,t,eo(Hp,i,e),eo(to,i,e))}catch(o){to(i,o,e)}}):(e.value=t,e.state=1,ib(e,!1))}catch(i){to({done:!1},i,e)}}};if(ZS&&(Ju=(Za=function(e){QM(this,Ju),qM(e),Ya(Vp,this);var t=Bp(this);try{e(eo(Hp,t),eo(to,t))}catch(n){to(t,n)}}).prototype,(Vp=function(e){rN(this,{type:Wu,done:!1,notified:!1,parent:!1,reactions:new eN,rejection:!1,state:0,value:void 0})}).prototype=qS(Ju,"then",function(e,t){var n=Bp(this),r=Gp(YM(this,Za));return n.parent=!0,r.ok=!Hu(e)||e,r.fail=Hu(t)&&t,r.domain=Gu?Fp.domain:void 0,n.state==0?n.reactions.add(r):Up(function(){rb(r,n)}),r.promise}),JS=function(){var e=new Vp,t=Bp(e);this.promise=e,this.resolve=eo(Hp,t),this.reject=eo(to,t)},$S.f=Gp=function(e){return e===Za||e===void 0?new JS(e):iN(e)},Hu(zu)&&$a!==Object.prototype)){KS=$a.then,nN||qS($a,"then",function(e,t){var n=this;return new Za(function(r,i){Ya(KS,n,r,i)}).then(e,t)},{unsafe:!0});try{delete $a.constructor}catch(e){}XS&&XS($a,Ju)}WM({global:!0,constructor:!0,wrap:!0,forced:ZS},{Promise:Za}),JM(Za,Wu,!1),KM(Wu);var cN=Js,sb=Ji.CONSTRUCTOR||!Tu(function(e){cN.all(e).then(void 0,function(){})}),uN=Qe,lN=Ut,dN=Qa,hN=Mp,pN=As;Me({target:"Promise",stat:!0,forced:sb},{all:function(e){var t=this,n=dN.f(t),r=n.resolve,i=n.reject,o=hN(function(){var a=lN(t.resolve),s=[],c=0,u=1;pN(e,function(d){var h=c++,_=!1;u++,uN(a,t,d).then(function(y){_||(_=!0,s[h]=y,--u||r(s))},i)}),--u||r(s)});return o.error&&i(o.value),n.promise}});var fN=Me,mN=Ji.CONSTRUCTOR,zp=Js,vN=Pn,gN=at,_N=Qt,cb=zp&&zp.prototype;if(fN({target:"Promise",proto:!0,forced:mN,real:!0},{catch:function(e){return this.then(void 0,e)}}),gN(zp)){var ub=vN("Promise").prototype.catch;cb.catch!==ub&&_N(cb,"catch",ub,{unsafe:!0})}var yN=Qe,SN=Ut,bN=Qa,kN=Mp,TN=As;Me({target:"Promise",stat:!0,forced:sb},{race:function(e){var t=this,n=bN.f(t),r=n.reject,i=kN(function(){var o=SN(t.resolve);TN(e,function(a){yN(o,t,a).then(n.resolve,r)})});return i.error&&r(i.value),n.promise}});var xN=Qe,IN=Qa;Me({target:"Promise",stat:!0,forced:Ji.CONSTRUCTOR},{reject:function(e){var t=IN.f(this);return xN(t.reject,void 0,e),t.promise}});var wN=It,EN=ot,CN=Qa,lb=function(e,t){if(wN(e),EN(t)&&t.constructor===e)return t;var n=CN.f(e);return(0,n.resolve)(t),n.promise},RN=Me,AN=Ji.CONSTRUCTOR,PN=lb;Pn("Promise"),RN({target:"Promise",stat:!0,forced:AN},{resolve:function(e){return PN(this,e)}});var DN=Bt,db=pu;Me({target:"Object",stat:!0,forced:oe(function(){db(1)})},{keys:function(e){return db(DN(e))}});var hb="canvas",Ce="audio",xe="video",Wp="screen",Nr="small",Ku="big",mt="auxiliary",Vn="aux",qu="smallVideo",pb="user",fb="environment",nn="mute",_r="unmute",Mt="ended",di="playing",hi="pause",no="error",Jp="loadeddata",qs="audioinput",Xu="videoinput",mb="detail",LN="text",Ze="main",Ki="backup",ON="banned",MN="kick",NN="user_time_out",VN="room_disband",vb="sei-message",ro="PLAYING",yr="PAUSED",pi="STOPPED",io="inactive",fi="sendonly",Kp="recvonly",gb="add",_b="remove",UN="replace",qp="track",BN="wss://trtc.rtc.qq.com",jN="wss://webrtc.qq.com",Qu="qcloud",FN="trtc",GN="webrtc",Xs="",yb="jssdk_log",HN="jssdk_event",zN="jssdk_new_endreport",Xp=function(e){return Xs=e},WN=1,JN=2,Yu="live",ao=20,Qp=21,Sr="anchor",qi="audience",br="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",Qs="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",KN=2,_t=Ze,Dt=mt,$u="unknown",sn="DISCONNECTED",Sb="CONNECTING",bb="RECONNECTING",mn="CONNECTED",qN="new",Zu="connecting",kb="failed",Yp="closed",XN="disconnected",Tb="connected",QN="completed",$p=30,xb="join",YN="delta-join",Ib="rejoin",$N="leave",ZN="delta-leave",wb="publish",e3="delta-publish",Eb="unpublish",Cb="subscribe",Rb="unsubscribe",Ab="uplink-connection",Pb="uplink-reconnection",Db="downlink-connection",Lb="downlink-reconnection",el="setLocalDescription",Ob="setRemoteDescription",Mb="iceConnectionState",Ys="stream-initialize",Zp="websocketConnectionState",Nb="websocketReconnectionState",Vb="update-stream",Ub="recover-subscription",Bb="start-mix-transcode",jb="stop-mix-transcode",Fb="player-error",Gb="schedule",ef="unsubscribe",tf="subscribe_change",$s="unified-plan",nf="plan-b",rf={MANUAL:"manual",PRESET_LAYOUT:"preset-layout"},Hb={REMOTE:"$PLACE_HOLDER_REMOTE$"},zb={IT_AUDIO_VIDEO:0,IT_PICTURE:2,IT_CANVAS:3,IT_PURE_AUDIO:4,IT_PURE_VIDEO:5},bt="string",Et="number",cn="boolean",t3="array",kr="object",un={ADD:gb,REMOVE:_b},af={unknown:0,wifi:1,"4g":2,"3g":3,"2g":4,wired:5},Wb=-1,Zs=0,n3=1,Jb=Ku,Kb=Nr,qb=6048e5,r3="schedule.rtc.qq.com",i3="schedule.rtc.qcloud.com",a3="schedule.rtc.tencentcloud.com",o3="schedule-ecdn.rtc.tencentcloud.com",of="",Xb=function(e){return of=e},ec="TRTC",ln="Client",mi="LocalStream",sf="RemoteStream",s3="Stream",cf="web.sdk.qcloud.com",Qb="web.sdk.tencent.cn",Yb="web.sdk.cloud.tencent.cn",$b="https://console.cloud.tencent.com/trtc",oo="https://".concat(cf,"/trtc/webrtc/doc"),uf="".concat(oo,"/zh-cn/"),lf="trtc_error_assistance",tl="default",Zb="communications",Un={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,NONE:5},Xi=Object.keys(Un),c3=["normal leave","timeout leave","kick","role change"],nl=2e3,so="ric",rl="raf",u3="interval",ek="timeout",tk="Resolution reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386",l3={"TRTC.checkSystemRequirements":40001,"TRTC.isScreenShareSupported":40002,"TRTC.isSmallStreamSupported":40003,"TRTC.createClient.rtc":40004,"TRTC.createClient.live":40005,"TRTC.createClient.intRoomId":40006,"TRTC.createClient.stringRoomId":40007,"TRTC.createClient.autoSubscribe":40008,"TRTC.createClient.manualSubscribe":40009,"TRTC.enableUploadLog":40010,"TRTC.disableUploadLog":40011,"Client.publish":40012,"Client.publish.isAuxiliary":40013,"Client.switchRole":40014,"Client.startPublishCDNStream":40015,"Client.stopPublishCDNStream":40016,"Client.startMixTranscode":40017,"Client.stopMixTranscode":40018,"Client.enableAudioVolumeEvaluation":40019,"Client.enableSmallStream":40020,"Client.disableSmallStream":40021,"Client.setSmallStreamProfile":40022,"Client.setRemoteVideoStreamType":40023,"Client.sendSEIMessage":40024,"Client.setProxyServer":40025,"Client.setTurnServer":40026,"LocalStream.setAudioProfile.standard":40027,"LocalStream.setAudioProfile.high":40028,"LocalStream.setAudioProfile.standard-stereo":40029,"LocalStream.setAudioProfile.high-stereo":40030,"LocalStream.setVideoProfile.120p":40031,"LocalStream.setVideoProfile.120p_2":40032,"LocalStream.setVideoProfile.180p":40033,"LocalStream.setVideoProfile.180p_2":40034,"LocalStream.setVideoProfile.240p":40035,"LocalStream.setVideoProfile.240p_2":40036,"LocalStream.setVideoProfile.360p":40037,"LocalStream.setVideoProfile.360p_2":40038,"LocalStream.setVideoProfile.480p":40039,"LocalStream.setVideoProfile.480p_2":40040,"LocalStream.setVideoProfile.720p":40041,"LocalStream.setVideoProfile.1080p":40042,"LocalStream.setVideoProfile.1440p":40043,"LocalStream.setVideoProfile.4K":40044,"LocalStream.setScreenProfile.480p":40045,"LocalStream.setScreenProfile.480p_2":40046,"LocalStream.setScreenProfile.720p":40047,"LocalStream.setScreenProfile.720p_2":40048,"LocalStream.setScreenProfile.1080p":40049,"LocalStream.setScreenProfile.1080p_2":40050,"LocalStream.setVideoContentHint.motion":40051,"LocalStream.setVideoContentHint.detail":40052,"LocalStream.setVideoContentHint.text":40053,"LocalStream.setAudioCaptureVolume":40054,"LocalStream.getVideoFrame":40055,"RemoteStream.setAudioOutput":40056,"RemoteStream.getVideoFrame":40057,AI_DENOISER:1700,SPATIAL_AUDIO:1701,"2K_4K":1704},d3=pt,nk=Wt,h3=/"/g,p3=pe("".replace),rk=function(e,t,n,r){var i=nk(d3(e)),o="<"+t;return n!==""&&(o+=" "+n+'="'+p3(nk(r),h3,""")+'"'),o+">"+i+"</"+t+">"},f3=oe,ik=function(e){return f3(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3})},m3=rk;Me({target:"String",proto:!0,forced:ik("link")},{link:function(e){return m3(this,"a","href",e)}}),Me({target:"Array",stat:!0},{isArray:Fa});var v3="AVOID_REPEATED_CALL",g3="INVALID_PARAMETER_REQUIRED",ak="INVALID_PARAMETER_TYPE",_3="INVALID_PARAMETER_EMPTY",ok="INVALID_PARAMETER_INSTANCE",y3="INVALID_PARAMETER_RANGE",S3="API_CALL_TIMEOUT",b3="SIGNAL_CHANNEL_RECONNECTION_FAILED",k3="SIGNAL_CHANNEL_SETUP_FAILED",T3="ERROR_MESSAGE",x3="EXCHANGE_SDP_TIMEOUT",I3="DOWNLINK_RECONNECTION_FAILED",w3="EXCHANGE_SDP_FAILED",E3="UPLINK_RECONNECTION_FAILED",C3="INVALID_PURE_AUDIO",R3="INVALID_STREAMID",A3="INVALID_USER_DEFINE_RECORDID",P3="INVALID_USER_DEFINE_PUSH_ARGS",D3="INVALID_PROXY",L3="INVALID_JOIN",O3="INVALID_ROOMID_STRING",M3="INVALID_ROOMID_INTEGER",N3="JOIN_ROOM_TIMEOUT",sk="JOIN_ROOM_FAILED",V3="REJOIN_ROOM_FAILED",U3="INVALID_DESTROY",B3="INVALID_PUBLISH",j3="INVALID_UNPUBLISH",F3="INVALID_AUDIENCE",G3="INVALID_INITIALIZE",H3="INVALID_DUPLICATE_PUBLISHING",df="INVALID_REMOTE_STREAM",z3="SUBSCRIBE_FAILED",W3="INVALID_ROLE",J3="INVALID_OPERATION_SWITCH_ROLE",K3="SWITCH_ROLE_TIMEOUT",q3="SWITCH_ROLE_FAILED",X3="CLIENT_BANNED",ck="INVALID_OPERATION_START_PUBLISH_CDN",Q3="INVALID_OPERATION_STOP_PUBLISH_CDN",Y3="INVALID_STREAM_ID",uk="START_PUBLISH_CDN_FAILED",lk="STOP_PUBLISH_CDN_FAILED",$3="START_MIX_TRANSCODE",Z3="STOP_MIX_TRANSCODE",e4="INVALID_AUDIO_VOLUME",t4="ENABLE_SMALL_STREAM_PUBLISHED",n4="DISABLE_SMALL_STREAM_PUBLISHED",r4="NOT_SUPPORTED_SMALL_STREAM",i4="INVALID_SMALL_STREAM_PROFILE",a4="INVALID_PARAMETER_REMOTE_STREAM",o4="INVALID_SWITCH_DEVICE",s4="INVALID_SWITCH_DEVICE_PUBLISHING",dk="INVALID_REPLACE_TRACK",c4="INVALID_INITIALIZE_LOCAL_STREAM",u4="INVALID_ADD_TRACK_REPETITIVE",l4="INVALID_ADD_TRACK_REMOVING",d4="INVALID_ADD_TRACK_PUBLISHING",hk="INVALID_STREAM_INITIALIZED",h4="INVALID_ADD_TRACK_NUMBER",p4="INVALID_REMOVE_AUDIO_TRACK",f4="INVALID_REMOVE_AUDIO_ADDING",m4="INVALID_REMOVE_AUDIO_ON",v4="INVALID_REMOVE_TRACK_PUBLISHING",g4="INVALID_REMOVE_TRACK_NOT_PUBLISHING",_4="INVALID_REMOVE_TRACK_NUMBER",y4="INVALID_REPLACE_TRACK_NO_TRACK",S4="REPEAT_JOIN",hf="CLIENT_DESTROYED",b4="START_MIX_TRANSCODE_FAILED",k4="STOP_MIX_TRANSCODE_FAILED",T4="MIX_TRANSCODE_NOT_STARTED",x4="CANNOT_LESS_THAN_ZERO",I4="MIX_PARAMS_VIDEO_FRAMERATE",w4="MIX_PARAMS_VIDEO_GOP",E4="MIX_PARAMS_AUDIO_BITRATE",C4="MIX_PARAMS_USER_Z_ORDER",R4="MIX_PARAMS_NOT_SELF",A4="MIX_PARAMS_USER_STREAM",P4="INVALID_ELEMENT_ID",D4="INVALID_ELEMENT_ID_TYPE",pf="PLAY_FAILED",L4="INVALID_CREATE_STREAM_SOURCE",O4="INVALID_CREATE_STREAM_SCREEN",M4="INVALID_CREATE_STREAM_AUDIO",N4="INVALID_CREATE_STREAM_SCREEN_AUDIO",pk="NOT_SUPPORTED_HTTP",fk="NOT_SUPPORTED_WEBRTC",V4="NOT_SUPPORTED_PROFILE",mk="NOT_SUPPORTED_H264ENCODE",vk="NOT_SUPPORTED_H264DECODE",ff="NOT_SUPPORTED_TRACK",U4="NOT_SUPPORTED_SWITCH_DEVICE",B4="NOT_SUPPORTED_CAPTURE",j4="NOT_SUPPORTED_AUX",F4="MICROPHONE_NOT_FOUND",G4="CAMERA_NOT_FOUND",gk="SIGNAL_RESPONSE_FAILED",H4="CATCH_HANDLER_ERROR",z4="API_NOT_EXIST",W4="CONNECTION_CLOSED",J4="SUBSCRIBE_ALL_FALSE",_k="SEI_NOT_SUPPORT",K4="SEI_DISABLED",q4="SEI_EMPTY",X4="SEI_OVERSIZE",Q4="SEI_BEFORE_PUBLISH",Y4="SEI_NOT_VIDEO",$4="CALL_FREQUENCY_LIMIT",Z4="CONNECTION_ABORTED",mf="API_CALL_ABORTED",eV="DUPLICATE_AUX",vi={AVOID_REPEATED_CALL:function(e){return"previous ".concat(e.name,"() is ongoing, please avoid repeated calls.")},INVALID_PARAMETER_REQUIRED:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value;return"'".concat(t||n.name,"' is a required param when calling ").concat(r,"(), received: ").concat(i,".")},INVALID_PARAMETER_TYPE:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value,o="".concat(t||n.name),a="";return a=Array.isArray(n.type)?n.type.join("|"):n.type,"'".concat(o,"' must be type of ").concat(a," when calling ").concat(r,"(), received type: ").concat(gi(i),".")},INVALID_PARAMETER_EMPTY:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value;return"'".concat(t||n.name,"' cannot be '").concat(i,"' when calling ").concat(r,"().")},INVALID_PARAMETER_INSTANCE:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value,o="".concat(t||n.name),a="".concat(n.instanceOf.name||n.instanceOf);return"'".concat(o,"' must be instanceof ").concat(a," when calling ").concat(r,"(), received type: ").concat(gi(i),".")},INVALID_PARAMETER_RANGE:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value;return"'".concat(t||n.name,"' must be one of ").concat(n.values.join("|")," when calling ").concat(r,"(), received: ").concat(i,".")},API_CALL_TIMEOUT:function(e){return"".concat(e.commandDesc||e.command," timeout observed.")},SIGNAL_CHANNEL_RECONNECTION_FAILED:"signal channel reconnection failed, please check your network.",SIGNAL_CHANNEL_SETUP_FAILED:function(e){return"SignalChannel setup failure: (errorCode: ".concat(e.errorCode,", errorMsg: ").concat(e.errorMsg," }).")},ERROR_MESSAGE:function(e){var 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:function(e){return"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:function(e){return"'".concat(e,"' must be validate string when useStringRoomId is true.")},INVALID_ROOMID_INTEGER:function(e){return"'".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:function(e){var t=e.error,n=e.code;return"Failed to join room - ".concat(t," code: ").concat(n)},REJOIN_ROOM_FAILED:function(e){return"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(qi,', please call switchRole("').concat(Sr,'") firstly before publish().'),INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING:function(e){return"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:function(e){var t=e.message,n=e.stream;return"failed to subscribe ".concat(n.getUserId()," ").concat(n.getType()," 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(Sr," or ").concat(qi,"."),INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:function(e){return"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,".")},CLIENT_BANNED:function(e){return"client was banned because of "+e.message+"."},INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() before client join the room or after client join the room and successfully publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED:function(e){return"startPublishCDNStream failed, errMsg: ".concat(e.message,".")},STOP_PUBLISH_CDN_FAILED:function(e){return"stopPublishCDNStream failed, errMsg: ".concat(e.message,".")},INVALID_STREAM_ID:function(e){return"'".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_PUBLISHING:"the track to be removed is not being publishing.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:function(e){return"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track")},START_MIX_TRANSCODE_FAILED:function(e){return"startMixTranscode failed, errMsg: ".concat(e.message,".")},STOP_MIX_TRANSCODE_FAILED:function(e){return"stopMixTranscode failed, errMsg: ".concat(e.message,".")},MIX_TRANSCODE_NOT_STARTED:"mixTranscode has not been started.",CANNOT_LESS_THAN_ZERO:function(e){var t=e.key,n=e.rule,r=e.fnName;return e.value,"'".concat(t||n.name,"' cannot be less than 0 when calling ").concat(r,"().")},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:function(e){return"'".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:function(e){var t=e.key,n=e.fnName;return"'".concat(t,"' is not found in the document object when calling ").concat(n,"().")},INVALID_ELEMENT_ID_TYPE:function(e){var t=e.key,n=e.fnName,r=e.type;return"the element corresponding to '".concat(t,"' must be instanceof HTMLDivElement when calling ").concat(n,"(), received: ").concat(r,".")},PLAY_FAILED:function(e){return"".concat(e.media," play failed\uFF0Cbrowser 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 and publish streams, please use the https protocol.",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:function(e){return"".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 and the configuration on TRTC.createStream.",CAMERA_NOT_FOUND:"no camera detected, please check your camera and the configuration on TRTC.createStream.",SIGNAL_RESPONSE_FAILED:function(e){return"".concat(e.signalResponse," failed, response code is ").concat(e.code," , errMsg: ").concat(e.message,".")},CATCH_HANDLER_ERROR:function(e){var t=e.name,n=e.event;return"an error was caught on ".concat(t,".on('").concat(n,"', handler), please check your code on 'handler'.")},API_NOT_EXIST:function(e){var t=e.name;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:function(e){return"[".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:function(e){var t=e.funName;return"failed to call ".concat(t,"() because client was destroyed.")},SEI_NOT_SUPPORT:function(e){return"not support to sendSEIMessage".concat(e===!1?" without using h264 codec":"")},SEI_DISABLED:"SEI is disabled, to enable SEI: TRTC.createClient({ enableSEI: true })",SEI_EMPTY:"buffer cannot be empty",SEI_OVERSIZE:function(e){return"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:function(e){var t=e.isSize,n=e.name,r=e.timesInSecond,i=e.maxSizeInSecond;return"api ".concat(n," call ").concat(t?"size":"times"," is over ").concat(t?i+" bytes":r," in a second.")},CONNECTION_ABORTED:function(e){return"connection aborted due to: "+e},API_CALL_ABORTED:function(e){return e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.stream.getUserId()," ").concat(e.stream.getType()," stream aborted, reason: remote user ").concat(e.stream.getUserId()," unpublished stream."):"API aborted, reason: ".concat(e.message)},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser."},yk=te,tV=oe,nV=Wt,rV=Vu.trim,iV=pe("".charAt),il=yk.parseFloat,Sk=yk.Symbol,bk=Sk&&Sk.iterator,kk=1/il(`
|
|
80
|
-
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF-0`)!=-1/0||
|
|
81
|
-
\u8BF7\u67E5\u770B\u6587\u6863: `+
|
|
75
|
+
`);e.RTCSessionDescription&&r instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:r.type,sdp:i}):r.sdp=i}return n.apply(this,arguments)}}function pu(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;let n=e.RTCPeerConnection.prototype.addIceCandidate;n&&n.length!==0&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(t.browser==="chrome"&&t.version<78||t.browser==="firefox"&&t.version<68||t.browser==="safari")&&arguments[0]&&arguments[0].candidate===""?Promise.resolve():n.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}var fC=Object.freeze({__proto__:null,shimRTCIceCandidate:hu,shimMaxMessageSize:ks,shimSendThrowTypeError:Ts,shimConnectionState:oh,removeExtmapAllowMixed:sh,shimAddIceCandidateNullOrEmpty:pu});(function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimEdge:!0,shimSafari:!0}){let n=Zd,r=function(o){let a={browser:null,version:null};if(o===void 0||!o.navigator)return a.browser="Not a browser.",a;let{navigator:s}=o;if(s.mozGetUserMedia)a.browser="firefox",a.version=bs(s.userAgent,/Firefox\/(\d+)\./,1);else if(s.webkitGetUserMedia||o.isSecureContext===!1&&o.webkitRTCPeerConnection&&!o.RTCIceGatherer)a.browser="chrome",a.version=bs(s.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else if(s.mediaDevices&&s.userAgent.match(/Edge\/(\d+).(\d+)$/))a.browser="edge",a.version=bs(s.userAgent,/Edge\/(\d+).(\d+)$/,2);else{if(!o.RTCPeerConnection||!s.userAgent.match(/AppleWebKit\/(\d+)\./))return a.browser="Not a supported browser.",a;a.browser="safari",a.version=bs(s.userAgent,/AppleWebKit\/(\d+)\./,1),a.supportsUnifiedPlan=o.RTCRtpTransceiver&&"currentDirection"in o.RTCRtpTransceiver.prototype}return a}(e),i={browserDetails:r,commonShim:fC,extractVersion:bs,disableLog:dC,disableWarnings:hC};switch(r.browser){case"chrome":if(!Jg||!th||!t.shimChrome)return n("Chrome shim is not included in this adapter release."),i;if(r.version===null)return n("Chrome shim can not determine version, not shimming."),i;n("adapter.js shimming chrome."),i.browserShim=Jg,pu(e,r),Vg(e,r),Ug(e),th(e,r),jg(e),zg(e,r),Bg(e),Fg(e),Gg(e),Wg(e,r),hu(e),oh(e),ks(e,r),Ts(e),sh(e,r);break;case"firefox":if(!u_||!ah||!t.shimFirefox)return n("Firefox shim is not included in this adapter release."),i;n("adapter.js shimming firefox."),i.browserShim=u_,pu(e,r),Zg(e,r),ah(e,r),e_(e),r_(e),t_(e),n_(e),i_(e),a_(e),o_(e),s_(e),c_(e),hu(e),oh(e),ks(e,r),Ts(e);break;case"edge":if(!$g||!ih||!t.shimEdge)return n("MS edge shim is not included in this adapter release."),i;n("adapter.js shimming edge."),i.browserShim=$g,Xg(e),Qg(e),ih(e,r),Yg(e),ks(e,r),Ts(e);break;case"safari":if(!y_||!t.shimSafari)return n("Safari shim is not included in this adapter release."),i;n("adapter.js shimming safari."),i.browserShim=y_,pu(e,r),m_(e),g_(e),h_(e),l_(e),d_(e),v_(e),p_(e),__(e),hu(e),ks(e,r),Ts(e),sh(e,r);break;default:n("Unsupported browser!")}})({window:typeof window=="undefined"?void 0:window});var ji="4.15.12",S_={},mC=Eg,vC=Qd,fu=Object.keys||function(e){return mC(e,vC)},gC=_e,_C=ds,yC=Pt,SC=xt,bC=Sn,kC=fu;S_.f=gC&&!_C?Object.defineProperties:function(e,t){SC(e);for(var n,r=bC(t),i=kC(t),o=i.length,a=0;o>a;)yC.f(e,n=i[a++],r[n]);return e};var mu,b_=Pn("document","documentElement"),TC=xt,xC=S_,k_=Qd,IC=Q,wC=b_,EC=fr,T_=G("IE_PROTO"),ch=function(){},x_=function(e){return"<script>"+e+"<\/script>"},I_=function(e){e.write(x_("")),e.close();var t=e.parentWindow.Object;return e=null,t},vu=function(){try{mu=new ActiveXObject("htmlfile")}catch(r){}var e,t;vu=typeof document!="undefined"?document.domain&&mu?I_(mu):((t=EC("iframe")).style.display="none",wC.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(x_("document.F=Object")),e.close(),e.F):I_(mu);for(var n=k_.length;n--;)delete vu.prototype[k_[n]];return vu()};IC[T_]=!0;var Ba=Object.create||function(e,t){var n;return e!==null?(ch.prototype=TC(e),n=new ch,ch.prototype=null,n[T_]=e):n=vu(),t===void 0?n:xC.f(n,t)},CC=rt,RC=Ba,AC=Pt.f,uh=CC("unscopables"),lh=Array.prototype;lh[uh]==null&&AC(lh,uh,{configurable:!0,value:RC(null)});var Bi,w_,E_,gu=function(e){lh[uh][e]=!0},xs={},C_=!oe(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),PC=Tt,DC=ot,LC=jt,OC=C_,R_=G("IE_PROTO"),dh=Object,MC=dh.prototype,Is=OC?dh.getPrototypeOf:function(e){var t=LC(e);if(PC(t,R_))return t[R_];var n=t.constructor;return DC(n)&&t instanceof n?n.prototype:t instanceof dh?MC:null},NC=oe,VC=ot,UC=st,A_=Is,jC=Qt,hh=rt("iterator"),P_=!1;[].keys&&("next"in(E_=[].keys())?(w_=A_(A_(E_)))!==Object.prototype&&(Bi=w_):P_=!0);var BC=!UC(Bi)||NC(function(){var e={};return Bi[hh].call(e)!==e});BC&&(Bi={}),VC(Bi[hh])||jC(Bi,hh,function(){return this});var ph={IteratorPrototype:Bi,BUGGY_SAFARI_ITERATORS:P_},FC=Pt.f,GC=Tt,D_=rt("toStringTag"),Fi=function(e,t,n){e&&!n&&(e=e.prototype),e&&!GC(e,D_)&&FC(e,D_,{configurable:!0,value:t})},HC=ph.IteratorPrototype,zC=Ba,WC=tt,JC=Fi,qC=xs,KC=function(){return this},L_=function(e,t,n,r){var i=t+" Iterator";return e.prototype=zC(HC,{next:WC(+!r,n)}),JC(e,i,!1),qC[i]=KC,e},XC=ot,QC=String,YC=TypeError,$C=pe,ZC=xt,eR=function(e){if(typeof e=="object"||XC(e))return e;throw YC("Can't set "+QC(e)+" as a prototype")},Fa=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=$C(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(n,[]),t=n instanceof Array}catch(r){}return function(r,i){return ZC(r),eR(i),t?e(r,i):r.__proto__=i,r}}():void 0),tR=Me,nR=Qe,rR=ot,iR=L_,O_=Is,M_=Fa,aR=Fi,oR=Mn,fh=Qt,sR=xs,cR=Yn.PROPER,uR=Yn.CONFIGURABLE,N_=ph.IteratorPrototype,_u=ph.BUGGY_SAFARI_ITERATORS,ws=rt("iterator"),V_="keys",Es="values",U_="entries",lR=function(){return this},mh=function(e,t,n,r,i,o,a){iR(n,t,r);var s,c,u,l=function(I){if(I===i&&f)return f;if(!_u&&I in y)return y[I];switch(I){case V_:case Es:case U_:return function(){return new n(this,I)}}return function(){return new n(this)}},h=t+" Iterator",_=!1,y=e.prototype,S=y[ws]||y["@@iterator"]||i&&y[i],f=!_u&&S||l(i),g=t=="Array"&&y.entries||S;if(g&&(s=O_(g.call(new e)))!==Object.prototype&&s.next&&(O_(s)!==N_&&(M_?M_(s,N_):rR(s[ws])||fh(s,ws,lR)),aR(s,h,!0)),cR&&i==Es&&S&&S.name!==Es&&(uR?oR(y,"name",Es):(_=!0,f=function(){return nR(S,this)})),i)if(c={values:l(Es),keys:o?f:l(V_),entries:l(U_)},a)for(u in c)(_u||_||!(u in y))&&fh(y,u,c[u]);else tR({target:t,proto:!0,forced:_u||_},c);return y[ws]!==f&&fh(y,ws,f,{name:i}),sR[t]=f,c},vh=function(e,t){return{value:e,done:t}},dR=Sn,gh=gu,j_=xs,B_=Xe,hR=Pt.f,pR=mh,F_=vh,fR=_e,G_="Array Iterator",mR=B_.set,vR=B_.getterFor(G_),H_=pR(Array,"Array",function(e,t){mR(this,{type:G_,target:dR(e),index:0,kind:t})},function(){var e=vR(this),t=e.target,n=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,F_(void 0,!0)):F_(n=="keys"?r:n=="values"?t[r]:[r,t[r]],!1)},"values"),z_=j_.Arguments=j_.Array;if(gh("keys"),gh("values"),gh("entries"),fR&&z_.name!=="values")try{hR(z_,"name",{value:"values"})}catch(e){}var W_={};W_[rt("toStringTag")]="z";var _h=String(W_)==="[object z]",gR=_h,_R=ot,yu=at,yR=rt("toStringTag"),SR=Object,bR=yu(function(){return arguments}())=="Arguments",Lr=gR?yu:function(e){var t,n,r;return e===void 0?"Undefined":e===null?"Null":typeof(n=function(i,o){try{return i[o]}catch(a){}}(t=SR(e),yR))=="string"?n:bR?yu(t):(r=yu(t))=="Object"&&_R(t.callee)?"Arguments":r},kR=Lr,TR=_h?{}.toString:function(){return"[object "+kR(this)+"]"};_h||Qt(Object.prototype,"toString",TR,{unsafe:!0});var Cs={exports:{}},yh={},xR=Pa,IR=Pt,wR=tt,Rs=function(e,t,n){var r=xR(t);r in e?IR.f(e,r,wR(0,n)):e[r]=n},J_=oi,ER=rn,CR=Rs,RR=Array,AR=Math.max,Su=function(e,t,n){for(var r=ER(e),i=J_(t,r),o=J_(n===void 0?r:n,r),a=RR(AR(o-i,0)),s=0;i<o;i++,s++)CR(a,s,e[i]);return a.length=s,a},PR=at,DR=Sn,q_=ai.f,LR=Su,K_=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];yh.f=function(e){return K_&&PR(e)=="Window"?function(t){try{return q_(t)}catch(n){return LR(K_)}}(e):q_(DR(e))};var OR=oe(function(){if(typeof ArrayBuffer=="function"){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}),MR=oe,NR=st,VR=at,X_=OR,bu=Object.isExtensible,Q_=MR(function(){bu(1)})||X_?function(e){return!!NR(e)&&(!X_||VR(e)!="ArrayBuffer")&&(!bu||bu(e))}:bu,UR=!oe(function(){return Object.isExtensible(Object.preventExtensions({}))}),jR=Me,BR=pe,FR=Q,GR=st,Sh=Tt,HR=Pt.f,Y_=ai,zR=yh,bh=Q_,WR=UR,$_=!1,Or=Oi("meta"),JR=0,kh=function(e){HR(e,Or,{value:{objectID:"O"+JR++,weakData:{}}})},qR=Cs.exports={enable:function(){qR.enable=function(){},$_=!0;var e=Y_.f,t=BR([].splice),n={};n[Or]=1,e(n).length&&(Y_.f=function(r){for(var i=e(r),o=0,a=i.length;o<a;o++)if(i[o]===Or){t(i,o,1);break}return i},jR({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:zR.f}))},fastKey:function(e,t){if(!GR(e))return typeof e=="symbol"?e:(typeof e=="string"?"S":"P")+e;if(!Sh(e,Or)){if(!bh(e))return"F";if(!t)return"E";kh(e)}return e[Or].objectID},getWeakData:function(e,t){if(!Sh(e,Or)){if(!bh(e))return!0;if(!t)return!1;kh(e)}return e[Or].weakData},onFreeze:function(e){return WR&&$_&&bh(e)&&!Sh(e,Or)&&kh(e),e}};FR[Or]=!0;var KR=Ut,XR=Oe,QR=pe(pe.bind),Mr=function(e,t){return KR(e),t===void 0?e:XR?QR(e,t):function(){return e.apply(t,arguments)}},YR=xs,$R=rt("iterator"),ZR=Array.prototype,Th=function(e){return e!==void 0&&(YR.Array===e||ZR[$R]===e)},eA=Lr,Z_=Xt,tA=Rt,nA=xs,rA=rt("iterator"),As=function(e){if(!tA(e))return Z_(e,rA)||Z_(e,"@@iterator")||nA[eA(e)]},iA=Qe,aA=Ut,oA=xt,sA=Xn,cA=As,uA=TypeError,ku=function(e,t){var n=arguments.length<2?cA(e):t;if(aA(n))return oA(iA(n,e));throw uA(sA(e)+" is not iterable")},lA=Qe,ey=xt,dA=Xt,ty=function(e,t,n){var r,i;ey(e);try{if(!(r=dA(e,"return"))){if(t==="throw")throw n;return n}r=lA(r,e)}catch(o){i=!0,r=o}if(t==="throw")throw n;if(i)throw r;return ey(r),n},hA=Mr,pA=Qe,fA=xt,mA=Xn,vA=Th,gA=rn,ny=bn,_A=ku,yA=As,ry=ty,SA=TypeError,Tu=function(e,t){this.stopped=e,this.result=t},iy=Tu.prototype,Ps=function(e,t,n){var r,i,o,a,s,c,u,l=n&&n.that,h=!(!n||!n.AS_ENTRIES),_=!(!n||!n.IS_RECORD),y=!(!n||!n.IS_ITERATOR),S=!(!n||!n.INTERRUPTED),f=hA(t,l),g=function(w){return r&&ry(r,"normal",w),new Tu(!0,w)},I=function(w){return h?(fA(w),S?f(w[0],w[1],g):f(w[0],w[1])):S?f(w,g):f(w)};if(_)r=e.iterator;else if(y)r=e;else{if(!(i=yA(e)))throw SA(mA(e)+" is not iterable");if(vA(i)){for(o=0,a=gA(e);a>o;o++)if((s=I(e[o]))&&ny(iy,s))return s;return new Tu(!1)}r=_A(e,i)}for(c=_?e.next:r.next;!(u=pA(c,r)).done;){try{s=I(u.value)}catch(w){ry(r,"throw",w)}if(typeof s=="object"&&s&&ny(iy,s))return s}return new Tu(!1)},bA=bn,kA=TypeError,si=function(e,t){if(bA(t,e))return e;throw kA("Incorrect invocation")},ay=rt("iterator"),oy=!1;try{var TA=0,sy={next:function(){return{done:!!TA++}},return:function(){oy=!0}};sy[ay]=function(){return this},Array.from(sy,function(){throw 2})}catch(e){}var xu=function(e,t){if(!t&&!oy)return!1;var n=!1;try{var r={};r[ay]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(i){}return n},xA=ot,IA=st,cy=Fa,Iu=function(e,t,n){var r,i;return cy&&xA(r=t.constructor)&&r!==n&&IA(i=r.prototype)&&i!==n.prototype&&cy(e,i),e},wA=Me,EA=te,CA=pe,uy=Ss,RA=Qt,AA=Cs.exports,PA=Ps,DA=si,LA=ot,OA=Rt,xh=st,Ih=oe,MA=xu,NA=Fi,VA=Iu,wh=function(e,t,n){var r=e.indexOf("Map")!==-1,i=e.indexOf("Weak")!==-1,o=r?"set":"add",a=EA[e],s=a&&a.prototype,c=a,u={},l=function(g){var I=CA(s[g]);RA(s,g,g=="add"?function(w){return I(this,w===0?0:w),this}:g=="delete"?function(w){return!(i&&!xh(w))&&I(this,w===0?0:w)}:g=="get"?function(w){return i&&!xh(w)?void 0:I(this,w===0?0:w)}:g=="has"?function(w){return!(i&&!xh(w))&&I(this,w===0?0:w)}:function(w,B){return I(this,w===0?0:w,B),this})};if(uy(e,!LA(a)||!(i||s.forEach&&!Ih(function(){new a().entries().next()}))))c=n.getConstructor(t,e,r,o),AA.enable();else if(uy(e,!0)){var h=new c,_=h[o](i?{}:-0,1)!=h,y=Ih(function(){h.has(1)}),S=MA(function(g){new a(g)}),f=!i&&Ih(function(){for(var g=new a,I=5;I--;)g[o](I,I);return!g.has(-0)});S||((c=t(function(g,I){DA(g,s);var w=VA(new a,g,c);return OA(I)||PA(I,w[o],{that:w,AS_ENTRIES:r}),w})).prototype=s,s.constructor=c),(y||f)&&(l("delete"),l("has"),r&&l("get")),(f||_)&&l(o),i&&s.clear&&delete s.clear}return u[e]=c,wA({global:!0,constructor:!0,forced:c!=a},u),NA(c,e),i||n.setStrong(c,e,r),c},UA=Qt,Ds=function(e,t,n){for(var r in t)UA(e,r,t[r],n);return e},jA=Pn,BA=Pt,FA=_e,ly=rt("species"),Ls=function(e){var t=jA(e),n=BA.f;FA&&t&&!t[ly]&&n(t,ly,{configurable:!0,get:function(){return this}})},GA=Pt.f,HA=Ba,dy=Ds,zA=Mr,WA=si,JA=Rt,qA=Ps,KA=mh,hy=vh,XA=Ls,Os=_e,py=Cs.exports.fastKey,fy=Xe.set,Eh=Xe.getterFor,my={getConstructor:function(e,t,n,r){var i=e(function(u,l){WA(u,o),fy(u,{type:t,index:HA(null),first:void 0,last:void 0,size:0}),Os||(u.size=0),JA(l)||qA(l,u[r],{that:u,AS_ENTRIES:n})}),o=i.prototype,a=Eh(t),s=function(u,l,h){var _,y,S=a(u),f=c(u,l);return f?f.value=h:(S.last=f={index:y=py(l,!0),key:l,value:h,previous:_=S.last,next:void 0,removed:!1},S.first||(S.first=f),_&&(_.next=f),Os?S.size++:u.size++,y!=="F"&&(S.index[y]=f)),u},c=function(u,l){var h,_=a(u),y=py(l);if(y!=="F")return _.index[y];for(h=_.first;h;h=h.next)if(h.key==l)return h};return dy(o,{clear:function(){for(var u=a(this),l=u.index,h=u.first;h;)h.removed=!0,h.previous&&(h.previous=h.previous.next=void 0),delete l[h.index],h=h.next;u.first=u.last=void 0,Os?u.size=0:this.size=0},delete:function(u){var l=this,h=a(l),_=c(l,u);if(_){var y=_.next,S=_.previous;delete h.index[_.index],_.removed=!0,S&&(S.next=y),y&&(y.previous=S),h.first==_&&(h.first=y),h.last==_&&(h.last=S),Os?h.size--:l.size--}return!!_},forEach:function(u){for(var l,h=a(this),_=zA(u,arguments.length>1?arguments[1]:void 0);l=l?l.next:h.first;)for(_(l.value,l.key,this);l&&l.removed;)l=l.previous},has:function(u){return!!c(this,u)}}),dy(o,n?{get:function(u){var l=c(this,u);return l&&l.value},set:function(u,l){return s(this,u===0?0:u,l)}}:{add:function(u){return s(this,u=u===0?0:u,u)}}),Os&&GA(o,"size",{get:function(){return a(this).size}}),i},setStrong:function(e,t,n){var r=t+" Iterator",i=Eh(t),o=Eh(r);KA(e,t,function(a,s){fy(this,{type:r,target:a,state:i(a),kind:s,last:void 0})},function(){for(var a=o(this),s=a.kind,c=a.last;c&&c.removed;)c=c.previous;return a.target&&(a.last=c=c?c.next:a.state.first)?hy(s=="keys"?c.key:s=="values"?c.value:[c.key,c.value],!1):(a.target=void 0,hy(void 0,!0))},n?"entries":"values",!n,!0),XA(t)}};wh("Set",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},my);var QA=Lr,YA=String,Wt=function(e){if(QA(e)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return YA(e)},Ch=pe,$A=$n,ZA=Wt,e2=pt,t2=Ch("".charAt),vy=Ch("".charCodeAt),n2=Ch("".slice),gy=function(e){return function(t,n){var r,i,o=ZA(e2(t)),a=$A(n),s=o.length;return a<0||a>=s?e?"":void 0:(r=vy(o,a))<55296||r>56319||a+1===s||(i=vy(o,a+1))<56320||i>57343?e?t2(o,a):r:e?n2(o,a,a+2):i-56320+(r-55296<<10)+65536}},Rh={codeAt:gy(!1),charAt:gy(!0)},r2=Rh.charAt,i2=Wt,_y=Xe,a2=mh,yy=vh,Sy="String Iterator",o2=_y.set,s2=_y.getterFor(Sy);a2(String,"String",function(e){o2(this,{type:Sy,string:i2(e),index:0})},function(){var e,t=s2(this),n=t.string,r=t.index;return r>=n.length?yy(void 0,!0):(e=r2(n,r),t.index+=e.length,yy(e,!1))});var by={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},Ah=fr("span").classList,ky=Ah&&Ah.constructor&&Ah.constructor.prototype,Ty=ky===Object.prototype?void 0:ky,xy=te,Iy=by,c2=Ty,Ms=H_,Ph=Mn,wy=rt,Dh=wy("iterator"),Ey=wy("toStringTag"),Lh=Ms.values,Cy=function(e,t){if(e){if(e[Dh]!==Lh)try{Ph(e,Dh,Lh)}catch(r){e[Dh]=Lh}if(e[Ey]||Ph(e,Ey,t),Iy[t]){for(var n in Ms)if(e[n]!==Ms[n])try{Ph(e,n,Ms[n])}catch(r){e[n]=Ms[n]}}}};for(var Oh in Iy)Cy(xy[Oh]&&xy[Oh].prototype,Oh);Cy(c2,"DOMTokenList");var u2=Oe,Ry=Function.prototype,Ay=Ry.apply,Py=Ry.call,Gi=typeof Reflect=="object"&&Reflect.apply||(u2?Py.bind(Ay):function(){return Py.apply(Ay,arguments)}),Ga=pe([].slice),l2=TypeError,wu=function(e,t){if(e<t)throw l2("Not enough arguments");return e},Mh=te,d2=Gi,h2=ot,p2=Ga,f2=wu,m2=/MSIE .\./.test(Kn),v2=Mh.Function,Dy=function(e){return m2?function(t,n){var r=f2(arguments.length,1)>2,i=h2(t)?t:v2(t),o=r?p2(arguments,2):void 0;return e(r?function(){d2(i,this,o)}:i,n)}:e},Ly={setTimeout:Dy(Mh.setTimeout),setInterval:Dy(Mh.setInterval)},Oy=Ly.setInterval;Me({global:!0,bind:!0,forced:te.setInterval!==Oy},{setInterval:Oy});var My=Ly.setTimeout;Me({global:!0,bind:!0,forced:te.setTimeout!==My},{setTimeout:My}),wh("Map",function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},my);var g2=at,Ha=Array.isArray||function(e){return g2(e)=="Array"},_2=pe,y2=oe,Ny=ot,S2=Lr,b2=d,Vy=function(){},k2=[],Uy=Pn("Reflect","construct"),Nh=/^\s*(?:class|function)\b/,T2=_2(Nh.exec),x2=!Nh.exec(Vy),Ns=function(e){if(!Ny(e))return!1;try{return Uy(Vy,k2,e),!0}catch(t){return!1}},jy=function(e){if(!Ny(e))return!1;switch(S2(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return x2||!!T2(Nh,b2(e))}catch(t){return!0}};jy.sham=!0;var Eu=!Uy||y2(function(){var e;return Ns(Ns.call)||!Ns(Object)||!Ns(function(){e=!0})||e})?jy:Ns,By=Ha,I2=Eu,w2=st,E2=rt("species"),Fy=Array,C2=function(e){var t;return By(e)&&(t=e.constructor,(I2(t)&&(t===Fy||By(t.prototype))||w2(t)&&(t=t[E2])===null)&&(t=void 0)),t===void 0?Fy:t},Vh=function(e,t){return new(C2(e))(t===0?0:t)},R2=Mr,A2=yn,P2=jt,D2=rn,L2=Vh,Gy=pe([].push),ci=function(e){var t=e==1,n=e==2,r=e==3,i=e==4,o=e==6,a=e==7,s=e==5||o;return function(c,u,l,h){for(var _,y,S=P2(c),f=A2(S),g=R2(u,l),I=D2(f),w=0,B=h||L2,z=t?B(c,I):n||a?B(c,0):void 0;I>w;w++)if((s||w in f)&&(y=g(_=f[w],w,S),e))if(t)z[w]=y;else if(y)switch(e){case 3:return!0;case 5:return _;case 6:return w;case 2:Gy(z,_)}else switch(e){case 4:return!1;case 7:Gy(z,_)}return o?-1:r||i?i:z}},an={forEach:ci(0),map:ci(1),filter:ci(2),some:ci(3),every:ci(4),find:ci(5),findIndex:ci(6),filterReject:ci(7)},O2=oe,M2=hr,N2=rt("species"),Vs=function(e){return M2>=51||!O2(function(){var t=[];return(t.constructor={})[N2]=function(){return{foo:1}},t[e](Boolean).foo!==1})},V2=an.map;Me({target:"Array",proto:!0,forced:!Vs("map")},{map:function(e){return V2(this,e,arguments.length>1?arguments[1]:void 0)}});var U2=_e,j2=Ha,B2=TypeError,F2=Object.getOwnPropertyDescriptor,G2=U2&&!function(){if(this!==void 0)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}(),H2=TypeError,Hy=function(e){if(e>9007199254740991)throw H2("Maximum allowed index exceeded");return e},zy=Xn,z2=TypeError,Wy=function(e,t){if(!delete e[t])throw z2("Cannot delete property "+zy(t)+" of "+zy(e))},W2=Me,J2=jt,q2=oi,K2=$n,X2=rn,Q2=G2?function(e,t){if(j2(e)&&!F2(e,"length").writable)throw B2("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t},Y2=Hy,$2=Vh,Z2=Rs,Uh=Wy,eP=Vs("splice"),tP=Math.max,nP=Math.min;W2({target:"Array",proto:!0,forced:!eP},{splice:function(e,t){var n,r,i,o,a,s,c=J2(this),u=X2(c),l=q2(e,u),h=arguments.length;for(h===0?n=r=0:h===1?(n=0,r=u-l):(n=h-2,r=nP(tP(K2(t),0),u-l)),Y2(u+n-r),i=$2(c,r),o=0;o<r;o++)(a=l+o)in c&&Z2(i,o,c[a]);if(i.length=r,n<r){for(o=l;o<u-r;o++)s=o+n,(a=o+r)in c?c[s]=c[a]:Uh(c,s);for(o=u;o>u-r+n;o--)Uh(c,o-1)}else if(n>r)for(o=u-r;o>l;o--)s=o+n-1,(a=o+r-1)in c?c[s]=c[a]:Uh(c,s);for(o=0;o<n;o++)c[o+l]=arguments[o+2];return Q2(c,u-r+n),i}});var rP=oe,Us=function(e,t){var n=[][e];return!!n&&rP(function(){n.call(null,t||function(){return 1},1)})},iP=an.forEach,jh=Us("forEach")?[].forEach:function(e){return iP(this,e,arguments.length>1?arguments[1]:void 0)};Me({target:"Array",proto:!0,forced:[].forEach!=jh},{forEach:jh});var Jy=te,qy=by,aP=Ty,Bh=jh,oP=Mn,Ky=function(e){if(e&&e.forEach!==Bh)try{oP(e,"forEach",Bh)}catch(t){e.forEach=Bh}};for(var Fh in qy)qy[Fh]&&Ky(Jy[Fh]&&Jy[Fh].prototype);Ky(aP);var sP=Me,cP=yn,uP=Sn,lP=Us,dP=pe([].join),hP=cP!=Object,pP=lP("join",",");sP({target:"Array",proto:!0,forced:hP||!pP},{join:function(e){return dP(uP(this),e===void 0?",":e)}});var fP=an.filter;Me({target:"Array",proto:!0,forced:!Vs("filter")},{filter:function(e){return fP(this,e,arguments.length>1?arguments[1]:void 0)}});var mP=Me,vP=oe,gP=Ha,_P=st,yP=jt,SP=rn,Xy=Hy,Qy=Rs,bP=Vh,kP=Vs,TP=hr,Yy=rt("isConcatSpreadable"),xP=TP>=51||!vP(function(){var e=[];return e[Yy]=!1,e.concat()[0]!==e}),IP=kP("concat"),wP=function(e){if(!_P(e))return!1;var t=e[Yy];return t!==void 0?!!t:gP(e)};mP({target:"Array",proto:!0,arity:1,forced:!xP||!IP},{concat:function(e){var t,n,r,i,o,a=yP(this),s=bP(a,0),c=0;for(t=-1,r=arguments.length;t<r;t++)if(wP(o=t===-1?a:arguments[t]))for(i=SP(o),Xy(c+i),n=0;n<i;n++,c++)n in o&&Qy(s,c,o[n]);else Xy(c+1),Qy(s,c++,o);return s.length=c,s}});var $y=pe,EP=Qt,Gh=Date.prototype,Zy="Invalid Date",CP="toString",RP=$y(Gh.toString),AP=$y(Gh.getTime);String(new Date(NaN))!=Zy&&EP(Gh,CP,function(){var e=AP(this);return e==e?RP(this):Zy});var PP=$n,DP=Wt,LP=pt,OP=RangeError,e0=function(e){var t=DP(LP(this)),n="",r=PP(e);if(r<0||r==1/0)throw OP("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))1&r&&(n+=t);return n},t0=pe,MP=gr,n0=Wt,NP=pt,VP=t0(e0),UP=t0("".slice),jP=Math.ceil,r0=function(e){return function(t,n,r){var i,o,a=n0(NP(t)),s=MP(n),c=a.length,u=r===void 0?" ":n0(r);return s<=c||u==""?a:((o=VP(u,jP((i=s-c)/u.length))).length>i&&(o=UP(o,0,i)),e?a+o:o+a)}},BP={start:r0(!1),end:r0(!0)},FP=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Kn),GP=BP.start;Me({target:"String",proto:!0,forced:FP},{padStart:function(e){return GP(this,e,arguments.length>1?arguments[1]:void 0)}});var HP=xt,i0=function(){var e=HP(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},Hh=oe,zh=te.RegExp,Wh=Hh(function(){var e=zh("a","y");return e.lastIndex=2,e.exec("abcd")!=null}),zP=Wh||Hh(function(){return!zh("a","y").sticky}),a0={BROKEN_CARET:Wh||Hh(function(){var e=zh("^r","gy");return e.lastIndex=2,e.exec("str")!=null}),MISSED_STICKY:zP,UNSUPPORTED_Y:Wh},WP=oe,JP=te.RegExp,o0=WP(function(){var e=JP(".","s");return!(e.dotAll&&e.exec(`
|
|
76
|
+
`)&&e.flags==="s")}),qP=oe,KP=te.RegExp,s0=qP(function(){var e=KP("(?<a>b)","g");return e.exec("b").groups.a!=="b"||"b".replace(e,"$<a>c")!=="bc"}),za=Qe,Cu=pe,XP=Wt,QP=i0,YP=a0,$P=Dr.exports,ZP=Ba,eD=Xe.get,tD=o0,nD=s0,rD=$P("native-string-replace",String.prototype.replace),Ru=RegExp.prototype.exec,Jh=Ru,iD=Cu("".charAt),aD=Cu("".indexOf),oD=Cu("".replace),qh=Cu("".slice),Kh=function(){var e=/a/,t=/b*/g;return za(Ru,e,"a"),za(Ru,t,"a"),e.lastIndex!==0||t.lastIndex!==0}(),c0=YP.BROKEN_CARET,Xh=/()??/.exec("")[1]!==void 0;(Kh||Xh||c0||tD||nD)&&(Jh=function(e){var t,n,r,i,o,a,s,c=this,u=eD(c),l=XP(e),h=u.raw;if(h)return h.lastIndex=c.lastIndex,t=za(Jh,h,l),c.lastIndex=h.lastIndex,t;var _=u.groups,y=c0&&c.sticky,S=za(QP,c),f=c.source,g=0,I=l;if(y&&(S=oD(S,"y",""),aD(S,"g")===-1&&(S+="g"),I=qh(l,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&iD(l,c.lastIndex-1)!==`
|
|
77
|
+
`)&&(f="(?: "+f+")",I=" "+I,g++),n=new RegExp("^(?:"+f+")",S)),Xh&&(n=new RegExp("^"+f+"$(?!\\s)",S)),Kh&&(r=c.lastIndex),i=za(Ru,y?n:c,I),y?i?(i.input=qh(i.input,g),i[0]=qh(i[0],g),i.index=c.lastIndex,c.lastIndex+=i[0].length):c.lastIndex=0:Kh&&i&&(c.lastIndex=c.global?i.index+i[0].length:r),Xh&&i&&i.length>1&&za(rD,i[0],n,function(){for(o=1;o<arguments.length-2;o++)arguments[o]===void 0&&(i[o]=void 0)}),i&&_)for(i.groups=a=ZP(null),o=0;o<_.length;o++)a[(s=_[o])[0]]=i[s[1]];return i});var Au=Jh;Me({target:"RegExp",proto:!0,forced:/./.exec!==Au},{exec:Au});var u0=pe,l0=Qt,sD=Au,d0=oe,h0=rt,cD=Mn,uD=h0("species"),Qh=RegExp.prototype,Yh=function(e,t,n,r){var i=h0(e),o=!d0(function(){var u={};return u[i]=function(){return 7},""[e](u)!=7}),a=o&&!d0(function(){var u=!1,l=/a/;return e==="split"&&((l={}).constructor={},l.constructor[uD]=function(){return l},l.flags="",l[i]=/./[i]),l.exec=function(){return u=!0,null},l[i](""),!u});if(!o||!a||n){var s=u0(/./[i]),c=t(i,""[e],function(u,l,h,_,y){var S=u0(u),f=l.exec;return f===sD||f===Qh.exec?o&&!y?{done:!0,value:s(l,h,_)}:{done:!0,value:S(h,l,_)}:{done:!1}});l0(String.prototype,e,c[0]),l0(Qh,i,c[1])}r&&cD(Qh[i],"sham",!0)},lD=Rh.charAt,p0=function(e,t,n){return t+(n?lD(e,t).length:1)},$h=pe,dD=jt,hD=Math.floor,Zh=$h("".charAt),pD=$h("".replace),ep=$h("".slice),fD=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,mD=/\$([$&'`]|\d{1,2})/g,f0=Qe,vD=xt,gD=ot,_D=at,yD=Au,SD=TypeError,tp=function(e,t){var n=e.exec;if(gD(n)){var r=f0(n,e,t);return r!==null&&vD(r),r}if(_D(e)==="RegExp")return f0(yD,e,t);throw SD("RegExp#exec called on incompatible receiver")},bD=Gi,m0=Qe,Pu=pe,kD=Yh,TD=oe,xD=xt,ID=ot,wD=Rt,ED=$n,CD=gr,Wa=Wt,RD=pt,AD=p0,PD=Xt,DD=function(e,t,n,r,i,o){var a=n+e.length,s=r.length,c=mD;return i!==void 0&&(i=dD(i),c=fD),pD(o,c,function(u,l){var h;switch(Zh(l,0)){case"$":return"$";case"&":return e;case"`":return ep(t,0,n);case"'":return ep(t,a);case"<":h=i[ep(l,1,-1)];break;default:var _=+l;if(_===0)return u;if(_>s){var y=hD(_/10);return y===0?u:y<=s?r[y-1]===void 0?Zh(l,1):r[y-1]+Zh(l,1):u}h=r[_-1]}return h===void 0?"":h})},LD=tp,np=rt("replace"),OD=Math.max,MD=Math.min,ND=Pu([].concat),rp=Pu([].push),v0=Pu("".indexOf),g0=Pu("".slice),VD="a".replace(/./,"$0")==="$0",_0=!!/./[np]&&/./[np]("a","$0")==="",UD=!TD(function(){var e=/./;return e.exec=function(){var t=[];return t.groups={a:"7"},t},"".replace(e,"$<a>")!=="7"});kD("replace",function(e,t,n){var r=_0?"$":"$0";return[function(i,o){var a=RD(this),s=wD(i)?void 0:PD(i,np);return s?m0(s,i,a,o):m0(t,Wa(a),i,o)},function(i,o){var a=xD(this),s=Wa(i);if(typeof o=="string"&&v0(o,r)===-1&&v0(o,"$<")===-1){var c=n(t,a,s,o);if(c.done)return c.value}var u=ID(o);u||(o=Wa(o));var l=a.global;if(l){var h=a.unicode;a.lastIndex=0}for(var _=[];;){var y=LD(a,s);if(y===null||(rp(_,y),!l))break;Wa(y[0])===""&&(a.lastIndex=AD(s,CD(a.lastIndex),h))}for(var S,f="",g=0,I=0;I<_.length;I++){for(var w=Wa((y=_[I])[0]),B=OD(MD(ED(y.index),s.length),0),z=[],$=1;$<y.length;$++)rp(z,(S=y[$])===void 0?S:String(S));var ue=y.groups;if(u){var L=ND([w],z,B,s);ue!==void 0&&rp(L,ue);var k=Wa(bD(o,void 0,L))}else k=DD(w,s,B,z,ue,o);B>=g&&(f+=g0(s,g,B)+k,g=B+w.length)}return f+g0(s,g)}]},!UD||!VD||_0);var jD=Qe,BD=Tt,FD=bn,GD=i0,y0=RegExp.prototype,S0=function(e){var t=e.flags;return t!==void 0||"flags"in y0||BD(e,"flags")||!FD(y0,e)?t:jD(GD,e)},HD=Yn.PROPER,zD=Qt,WD=xt,b0=Wt,JD=oe,qD=S0,k0="toString",T0=RegExp.prototype.toString,KD=JD(function(){return T0.call({source:"a",flags:"b"})!="/a/b"}),XD=HD&&T0.name!=k0;(KD||XD)&&zD(RegExp.prototype,k0,function(){var e=WD(this);return"/"+b0(e.source)+"/"+b0(qD(e))},{unsafe:!0});var QD=oe,YD=rt("iterator"),x0=!QD(function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach(function(r,i){t.delete("b"),n+=i+r}),!t.sort||e.href!=="http://a/c%20d?a=1&c=3"||t.get("c")!=="3"||String(new URLSearchParams("?a=1"))!=="a=1"||!t[YD]||new URL("https://a@b").username!=="a"||new URLSearchParams(new URLSearchParams("a=b")).get("a")!=="b"||new URL("http://\u0442\u0435\u0441\u0442").host!=="xn--e1aybc"||new URL("http://a#\u0431").hash!=="#%D0%B1"||n!=="a1c3"||new URL("http://x",void 0).host!=="x"}),I0=Su,$D=Math.floor,ip=function(e,t){var n=e.length,r=$D(n/2);return n<8?ZD(e,t):eL(e,ip(I0(e,0,r),t),ip(I0(e,r),t),t)},ZD=function(e,t){for(var n,r,i=e.length,o=1;o<i;){for(r=o,n=e[o];r&&t(e[r-1],n)>0;)e[r]=e[--r];r!==o++&&(e[r]=n)}return e},eL=function(e,t,n,r){for(var i=t.length,o=n.length,a=0,s=0;a<i||s<o;)e[a+s]=a<i&&s<o?r(t[a],n[s])<=0?t[a++]:n[s++]:a<i?t[a++]:n[s++];return e},w0=ip,ap=Me,Ja=te,Du=Qe,_r=pe,tL=_e,E0=x0,C0=Qt,nL=Ds,rL=Fi,iL=L_,op=Xe,R0=si,sp=ot,aL=Tt,oL=Mr,sL=Lr,cL=xt,A0=st,Tn=Wt,uL=Ba,P0=tt,cp=ku,lL=As,qa=wu,dL=w0,hL=rt("iterator"),Lu="URLSearchParams",D0="URLSearchParamsIterator",L0=op.set,Zn=op.getterFor(Lu),pL=op.getterFor(D0),fL=Object.getOwnPropertyDescriptor,up=function(e){if(!tL)return Ja[e];var t=fL(Ja,e);return t&&t.value},O0=up("fetch"),Ou=up("Request"),js=up("Headers"),lp=Ou&&Ou.prototype,M0=js&&js.prototype,mL=Ja.RegExp,vL=Ja.TypeError,N0=Ja.decodeURIComponent,gL=Ja.encodeURIComponent,_L=_r("".charAt),V0=_r([].join),Hi=_r([].push),dp=_r("".replace),yL=_r([].shift),U0=_r([].splice),j0=_r("".split),SL=_r("".slice),bL=/\+/g,B0=Array(4),kL=function(e){return B0[e-1]||(B0[e-1]=mL("((?:%[\\da-f]{2}){"+e+"})","gi"))},TL=function(e){try{return N0(e)}catch(t){return e}},F0=function(e){var t=dp(e,bL," "),n=4;try{return N0(t)}catch(r){for(;n;)t=dp(t,kL(n--),TL);return t}},xL=/[!'()~]|%20/g,IL={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},wL=function(e){return IL[e]},G0=function(e){return dp(gL(e),xL,wL)},hp=iL(function(e,t){L0(this,{type:D0,iterator:cp(Zn(e).entries),kind:t})},"Iterator",function(){var e=pL(this),t=e.kind,n=e.iterator.next(),r=n.value;return n.done||(n.value=t==="keys"?r.key:t==="values"?r.value:[r.key,r.value]),n},!0),H0=function(e){this.entries=[],this.url=null,e!==void 0&&(A0(e)?this.parseObject(e):this.parseQuery(typeof e=="string"?_L(e,0)==="?"?SL(e,1):e:Tn(e)))};H0.prototype={type:Lu,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,n,r,i,o,a,s,c=lL(e);if(c)for(n=(t=cp(e,c)).next;!(r=Du(n,t)).done;){if(o=(i=cp(cL(r.value))).next,(a=Du(o,i)).done||(s=Du(o,i)).done||!Du(o,i).done)throw vL("Expected sequence with length 2");Hi(this.entries,{key:Tn(a.value),value:Tn(s.value)})}else for(var u in e)aL(e,u)&&Hi(this.entries,{key:u,value:Tn(e[u])})},parseQuery:function(e){if(e)for(var t,n,r=j0(e,"&"),i=0;i<r.length;)(t=r[i++]).length&&(n=j0(t,"="),Hi(this.entries,{key:F0(yL(n)),value:F0(V0(n,"="))}))},serialize:function(){for(var e,t=this.entries,n=[],r=0;r<t.length;)e=t[r++],Hi(n,G0(e.key)+"="+G0(e.value));return V0(n,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Mu=function(){R0(this,Bs);var e=arguments.length>0?arguments[0]:void 0;L0(this,new H0(e))},Bs=Mu.prototype;if(nL(Bs,{append:function(e,t){qa(arguments.length,2);var n=Zn(this);Hi(n.entries,{key:Tn(e),value:Tn(t)}),n.updateURL()},delete:function(e){qa(arguments.length,1);for(var t=Zn(this),n=t.entries,r=Tn(e),i=0;i<n.length;)n[i].key===r?U0(n,i,1):i++;t.updateURL()},get:function(e){qa(arguments.length,1);for(var t=Zn(this).entries,n=Tn(e),r=0;r<t.length;r++)if(t[r].key===n)return t[r].value;return null},getAll:function(e){qa(arguments.length,1);for(var t=Zn(this).entries,n=Tn(e),r=[],i=0;i<t.length;i++)t[i].key===n&&Hi(r,t[i].value);return r},has:function(e){qa(arguments.length,1);for(var t=Zn(this).entries,n=Tn(e),r=0;r<t.length;)if(t[r++].key===n)return!0;return!1},set:function(e,t){qa(arguments.length,1);for(var n,r=Zn(this),i=r.entries,o=!1,a=Tn(e),s=Tn(t),c=0;c<i.length;c++)(n=i[c]).key===a&&(o?U0(i,c--,1):(o=!0,n.value=s));o||Hi(i,{key:a,value:s}),r.updateURL()},sort:function(){var e=Zn(this);dL(e.entries,function(t,n){return t.key>n.key?1:-1}),e.updateURL()},forEach:function(e){for(var t,n=Zn(this).entries,r=oL(e,arguments.length>1?arguments[1]:void 0),i=0;i<n.length;)r((t=n[i++]).value,t.key,this)},keys:function(){return new hp(this,"keys")},values:function(){return new hp(this,"values")},entries:function(){return new hp(this,"entries")}},{enumerable:!0}),C0(Bs,hL,Bs.entries,{name:"entries"}),C0(Bs,"toString",function(){return Zn(this).serialize()},{enumerable:!0}),rL(Mu,Lu),ap({global:!0,constructor:!0,forced:!E0},{URLSearchParams:Mu}),!E0&&sp(js)){var EL=_r(M0.has),CL=_r(M0.set),z0=function(e){if(A0(e)){var t,n=e.body;if(sL(n)===Lu)return t=e.headers?new js(e.headers):new js,EL(t,"content-type")||CL(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),uL(e,{body:P0(0,Tn(n)),headers:P0(0,t)})}return e};if(sp(O0)&&ap({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return O0(e,arguments.length>1?z0(arguments[1]):{})}}),sp(Ou)){var pp=function(e){return R0(this,lp),new Ou(e,arguments.length>1?z0(arguments[1]):{})};lp.constructor=pp,pp.prototype=lp,ap({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:pp})}}var RL={URLSearchParams:Mu,getState:Zn},AL=Object.is||function(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t},PL=Qe,DL=xt,LL=Rt,OL=pt,W0=AL,J0=Wt,ML=Xt,NL=tp;Yh("search",function(e,t,n){return[function(r){var i=OL(this),o=LL(r)?void 0:ML(r,e);return o?PL(o,r,i):new RegExp(r)[e](J0(i))},function(r){var i=DL(this),o=J0(r),a=n(t,i,o);if(a.done)return a.value;var s=i.lastIndex;W0(s,0)||(i.lastIndex=0);var c=NL(i,o);return W0(i.lastIndex,s)||(i.lastIndex=s),c===null?-1:c.index}]}),new Date().getTime();var fp=0,on=function(){return new Date().getTime()+fp},q0=function(){var e=new Date;return e.setTime(on()),e.toLocaleString()},VL=Qe,UL=xt,jL=Rt,BL=gr,mp=Wt,FL=pt,GL=Xt,HL=p0,K0=tp;Yh("match",function(e,t,n){return[function(r){var i=FL(this),o=jL(r)?void 0:GL(r,e);return o?VL(o,r,i):new RegExp(r)[e](mp(i))},function(r){var i=UL(this),o=mp(r),a=n(t,i,o);if(a.done)return a.value;if(!i.global)return K0(i,o);var s=i.unicode;i.lastIndex=0;for(var c,u=[],l=0;(c=K0(i,o))!==null;){var h=mp(c[0]);u[l]=h,h===""&&(i.lastIndex=HL(o,BL(i.lastIndex),s)),l++}return l===0?null:u}]});var zL=st,WL=at,JL=rt("match"),X0=function(e){var t;return zL(e)&&((t=e[JL])!==void 0?!!t:WL(e)=="RegExp")},qL=Pt.f,KL=_e,vp=te,Fs=pe,XL=Ss,QL=Iu,YL=Mn,$L=ai.f,Q0=bn,ZL=X0,Y0=Wt,eO=S0,$0=a0,tO=function(e,t,n){n in e||qL(e,n,{configurable:!0,get:function(){return t[n]},set:function(r){t[n]=r}})},nO=Qt,rO=oe,iO=Tt,aO=Xe.enforce,oO=Ls,Z0=o0,eS=s0,sO=rt("match"),ui=vp.RegExp,Ka=ui.prototype,cO=vp.SyntaxError,uO=Fs(Ka.exec),Nu=Fs("".charAt),tS=Fs("".replace),nS=Fs("".indexOf),lO=Fs("".slice),dO=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,zi=/a/g,gp=/a/g,hO=new ui(zi)!==zi,rS=$0.MISSED_STICKY,pO=$0.UNSUPPORTED_Y,fO=KL&&(!hO||rS||Z0||eS||rO(function(){return gp[sO]=!1,ui(zi)!=zi||ui(gp)==gp||ui(zi,"i")!="/a/i"}));if(XL("RegExp",fO)){for(var Wi=function(e,t){var n,r,i,o,a,s,c=Q0(Ka,this),u=ZL(e),l=t===void 0,h=[],_=e;if(!c&&u&&l&&e.constructor===Wi)return e;if((u||Q0(Ka,e))&&(e=e.source,l&&(t=eO(_))),e=e===void 0?"":Y0(e),t=t===void 0?"":Y0(t),_=e,Z0&&"dotAll"in zi&&(r=!!t&&nS(t,"s")>-1)&&(t=tS(t,/s/g,"")),n=t,rS&&"sticky"in zi&&(i=!!t&&nS(t,"y")>-1)&&pO&&(t=tS(t,/y/g,"")),eS&&(o=function(y){for(var S,f=y.length,g=0,I="",w=[],B={},z=!1,$=!1,ue=0,L="";g<=f;g++){if((S=Nu(y,g))==="\\")S+=Nu(y,++g);else if(S==="]")z=!1;else if(!z)switch(!0){case S==="[":z=!0;break;case S==="(":uO(dO,lO(y,g+1))&&(g+=2,$=!0),I+=S,ue++;continue;case(S===">"&&$):if(L===""||iO(B,L))throw new cO("Invalid capture group name");B[L]=!0,w[w.length]=[L,ue],$=!1,L="";continue}$?L+=S:I+=S}return[I,w]}(e),e=o[0],h=o[1]),a=QL(ui(e,t),c?this:Ka,Wi),(r||i||h.length)&&(s=aO(a),r&&(s.dotAll=!0,s.raw=Wi(function(y){for(var S,f=y.length,g=0,I="",w=!1;g<=f;g++)(S=Nu(y,g))!=="\\"?w||S!=="."?(S==="["?w=!0:S==="]"&&(w=!1),I+=S):I+="[\\s\\S]":I+=S+Nu(y,++g);return I}(e),n)),i&&(s.sticky=!0),h.length&&(s.groups=h)),e!==_)try{YL(a,"source",_===""?"(?:)":_)}catch(y){}return a},iS=$L(ui),aS=0;iS.length>aS;)tO(Wi,ui,iS[aS++]);Ka.constructor=Wi,Wi.prototype=Ka,nO(vp,"RegExp",Wi,{constructor:!0})}oO("RegExp");var oS=pe(1 .valueOf),sS=`
|
|
78
|
+
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`,mO=pt,vO=Wt,cS=pe("".replace),Vu=`[
|
|
79
|
+
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]`,gO=RegExp("^"+Vu+Vu+"*"),_O=RegExp(Vu+Vu+"*$"),_p=function(e){return function(t){var n=vO(mO(t));return 1&e&&(n=cS(n,gO,"")),2&e&&(n=cS(n,_O,"")),n}},Uu={start:_p(1),end:_p(2),trim:_p(3)},yO=_e,yp=te,uS=pe,SO=Ss,bO=Qt,lS=Tt,kO=Iu,TO=bn,xO=Pi,dS=Aa,IO=oe,wO=ai.f,EO=Se.f,CO=Pt.f,RO=oS,AO=Uu.trim,hS="Number",li=yp.Number,Sp=li.prototype,PO=yp.TypeError,DO=uS("".slice),ju=uS("".charCodeAt),LO=function(e){var t=dS(e,"number");return typeof t=="bigint"?t:OO(t)},OO=function(e){var t,n,r,i,o,a,s,c,u=dS(e,"number");if(xO(u))throw PO("Cannot convert a Symbol value to a number");if(typeof u=="string"&&u.length>2){if(u=AO(u),(t=ju(u,0))===43||t===45){if((n=ju(u,2))===88||n===120)return NaN}else if(t===48){switch(ju(u,1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+u}for(a=(o=DO(u,2)).length,s=0;s<a;s++)if((c=ju(o,s))<48||c>i)return NaN;return parseInt(o,r)}}return+u};if(SO(hS,!li(" 0o1")||!li("0b1")||li("+0x1"))){for(var Bu,Xa=function(e){var t=arguments.length<1?0:li(LO(e)),n=this;return TO(Sp,n)&&IO(function(){RO(n)})?kO(Object(t),n,Xa):t},pS=yO?wO(li):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),bp=0;pS.length>bp;bp++)lS(li,Bu=pS[bp])&&!lS(Xa,Bu)&&CO(Xa,Bu,EO(li,Bu));Xa.prototype=Sp,Sp.constructor=Xa,bO(yp,hS,Xa,{constructor:!0})}var MO=_s.includes,NO=gu;Me({target:"Array",proto:!0,forced:oe(function(){return!Array(1).includes()})},{includes:function(e){return MO(this,e,arguments.length>1?arguments[1]:void 0)}}),NO("includes");var VO=X0,UO=TypeError,fS=function(e){if(VO(e))throw UO("The method doesn't accept regular expressions");return e},jO=rt("match"),mS=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[jO]=!1,"/./"[e](t)}catch(r){}}return!1},BO=Me,FO=fS,GO=pt,vS=Wt,HO=mS,zO=pe("".indexOf);BO({target:"String",proto:!0,forced:!HO("includes")},{includes:function(e){return!!~zO(vS(GO(this)),vS(FO(e)),arguments.length>1?arguments[1]:void 0)}});var WO=Me,JO=_s.indexOf,qO=Us,kp=pe([].indexOf),gS=!!kp&&1/kp([1],1,-0)<0,KO=qO("indexOf");WO({target:"Array",proto:!0,forced:gS||!KO},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return gS?kp(this,e,t)||0:JO(this,e,t)}});var XO=jt,_S=Is,QO=C_;Me({target:"Object",stat:!0,forced:oe(function(){_S(1)}),sham:!QO},{getPrototypeOf:function(e){return _S(XO(e))}});var YO=Gi,$O=Ut,ZO=xt;Me({target:"Reflect",stat:!0,forced:!oe(function(){Reflect.apply(function(){})})},{apply:function(e,t,n){return YO($O(e),t,ZO(n))}});var eM=_e,tM=Yn.EXISTS,yS=pe,nM=Pt.f,SS=Function.prototype,rM=yS(SS.toString),bS=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,iM=yS(bS.exec);eM&&!tM&&nM(SS,"name",{configurable:!0,get:function(){try{return iM(bS,rM(this))[1]}catch(e){return""}}});var aM=Me,kS=Date,oM=pe(kS.prototype.getTime);aM({target:"Date",stat:!0},{now:function(){return oM(new kS)}});var Gs,Qa,TS,Tp,Hs=at(te.process)=="process",sM=Eu,cM=Xn,uM=TypeError,xS=function(e){if(sM(e))return e;throw uM(cM(e)+" is not a constructor")},IS=xt,lM=xS,dM=Rt,hM=rt("species"),Fu=function(e,t){var n,r=IS(e).constructor;return r===void 0||dM(n=IS(r)[hM])?t:lM(n)},wS=/(?:ipad|iphone|ipod).*applewebkit/i.test(Kn),xn=te,pM=Gi,fM=Mr,ES=ot,mM=Tt,vM=oe,CS=b_,gM=Ga,RS=fr,_M=wu,yM=wS,SM=Hs,xp=xn.setImmediate,Ip=xn.clearImmediate,bM=xn.process,wp=xn.Dispatch,kM=xn.Function,AS=xn.MessageChannel,TM=xn.String,Ep=0,zs={},xM="onreadystatechange";try{Gs=xn.location}catch(e){}var Cp=function(e){if(mM(zs,e)){var t=zs[e];delete zs[e],t()}},Rp=function(e){return function(){Cp(e)}},PS=function(e){Cp(e.data)},DS=function(e){xn.postMessage(TM(e),Gs.protocol+"//"+Gs.host)};xp&&Ip||(xp=function(e){_M(arguments.length,1);var t=ES(e)?e:kM(e),n=gM(arguments,1);return zs[++Ep]=function(){pM(t,void 0,n)},Qa(Ep),Ep},Ip=function(e){delete zs[e]},SM?Qa=function(e){bM.nextTick(Rp(e))}:wp&&wp.now?Qa=function(e){wp.now(Rp(e))}:AS&&!yM?(Tp=(TS=new AS).port2,TS.port1.onmessage=PS,Qa=fM(Tp.postMessage,Tp)):xn.addEventListener&&ES(xn.postMessage)&&!xn.importScripts&&Gs&&Gs.protocol!=="file:"&&!vM(DS)?(Qa=DS,xn.addEventListener("message",PS,!1)):Qa=xM in RS("script")?function(e){CS.appendChild(RS("script")).onreadystatechange=function(){CS.removeChild(this),Cp(e)}}:function(e){setTimeout(Rp(e),0)});var Ws,Ji,Js,Ya,Ap,Pp,Dp,LS,OS={set:xp,clear:Ip},IM=te,wM=/ipad|iphone|ipod/i.test(Kn)&&IM.Pebble!==void 0,EM=/web0s(?!.*chrome)/i.test(Kn),qi=te,MS=Mr,CM=Se.f,Lp=OS.set,RM=wS,AM=wM,PM=EM,Op=Hs,NS=qi.MutationObserver||qi.WebKitMutationObserver,VS=qi.document,US=qi.process,Gu=qi.Promise,jS=CM(qi,"queueMicrotask"),BS=jS&&jS.value;BS||(Ws=function(){var e,t;for(Op&&(e=US.domain)&&e.exit();Ji;){t=Ji.fn,Ji=Ji.next;try{t()}catch(n){throw Ji?Ya():Js=void 0,n}}Js=void 0,e&&e.enter()},RM||Op||PM||!NS||!VS?!AM&&Gu&&Gu.resolve?((Dp=Gu.resolve(void 0)).constructor=Gu,LS=MS(Dp.then,Dp),Ya=function(){LS(Ws)}):Op?Ya=function(){US.nextTick(Ws)}:(Lp=MS(Lp,qi),Ya=function(){Lp(Ws)}):(Ap=!0,Pp=VS.createTextNode(""),new NS(Ws).observe(Pp,{characterData:!0}),Ya=function(){Pp.data=Ap=!Ap}));var DM=BS||function(e){var t={fn:e,next:void 0};Js&&(Js.next=t),Ji||(Ji=t,Ya()),Js=t},LM=te,Mp=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}},FS=function(){this.head=null,this.tail=null};FS.prototype={add:function(e){var t={item:e,next:null};this.head?this.tail.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return this.head=e.next,this.tail===e&&(this.tail=null),e.item}};var OM=FS,qs=te.Promise,GS=typeof Deno=="object"&&Deno&&typeof Deno.version=="object",MM=!GS&&!Hs&&typeof window=="object"&&typeof document=="object",NM=te,Ks=qs,VM=ot,UM=Ss,jM=d,BM=rt,FM=MM,GM=GS,Np=hr;Ks&&Ks.prototype;var HM=BM("species"),HS=!1,zS=VM(NM.PromiseRejectionEvent),zM=UM("Promise",function(){var e=jM(Ks),t=e!==String(Ks);if(!t&&Np===66)return!0;if(!Np||Np<51||!/native code/.test(e)){var n=new Ks(function(i){i(1)}),r=function(i){i(function(){},function(){})};if((n.constructor={})[HM]=r,!(HS=n.then(function(){})instanceof r))return!0}return!t&&(FM||GM)&&!zS}),Ki={CONSTRUCTOR:zM,REJECTION_EVENT:zS,SUBCLASSING:HS},$a={},WS=Ut,WM=TypeError,JM=function(e){var t,n;this.promise=new e(function(r,i){if(t!==void 0||n!==void 0)throw WM("Bad Promise constructor");t=r,n=i}),this.resolve=WS(t),this.reject=WS(n)};$a.f=function(e){return new JM(e)};var Vp,JS,qS,qM=Me,Hu=Hs,di=te,Za=Qe,KS=Qt,XS=Fa,KM=Fi,XM=Ls,QM=Ut,zu=ot,YM=st,$M=si,ZM=Fu,QS=OS.set,Up=DM,eN=function(e,t){var n=LM.console;n&&n.error&&(arguments.length==1?n.error(e):n.error(e,t))},tN=Mp,nN=OM,YS=Xe,Wu=qs,$S=$a,Ju="Promise",ZS=Ki.CONSTRUCTOR,rN=Ki.REJECTION_EVENT,iN=Ki.SUBCLASSING,jp=YS.getterFor(Ju),aN=YS.set,eo=Wu&&Wu.prototype,to=Wu,qu=eo,eb=di.TypeError,Bp=di.document,Fp=di.process,Gp=$S.f,oN=Gp,sN=!!(Bp&&Bp.createEvent&&di.dispatchEvent),tb="unhandledrejection",nb=function(e){var t;return!(!YM(e)||!zu(t=e.then))&&t},rb=function(e,t){var n,r,i,o=t.value,a=t.state==1,s=a?e.ok:e.fail,c=e.resolve,u=e.reject,l=e.domain;try{s?(a||(t.rejection===2&&uN(t),t.rejection=1),s===!0?n=o:(l&&l.enter(),n=s(o),l&&(l.exit(),i=!0)),n===e.promise?u(eb("Promise-chain cycle")):(r=nb(n))?Za(r,n,c,u):c(n)):u(o)}catch(h){l&&!i&&l.exit(),u(h)}},ib=function(e,t){e.notified||(e.notified=!0,Up(function(){for(var n,r=e.reactions;n=r.get();)rb(n,e);e.notified=!1,t&&!e.rejection&&cN(e)}))},ab=function(e,t,n){var r,i;sN?((r=Bp.createEvent("Event")).promise=t,r.reason=n,r.initEvent(e,!1,!0),di.dispatchEvent(r)):r={promise:t,reason:n},!rN&&(i=di["on"+e])?i(r):e===tb&&eN("Unhandled promise rejection",n)},cN=function(e){Za(QS,di,function(){var t,n=e.facade,r=e.value;if(ob(e)&&(t=tN(function(){Hu?Fp.emit("unhandledRejection",r,n):ab(tb,n,r)}),e.rejection=Hu||ob(e)?2:1,t.error))throw t.value})},ob=function(e){return e.rejection!==1&&!e.parent},uN=function(e){Za(QS,di,function(){var t=e.facade;Hu?Fp.emit("rejectionHandled",t):ab("rejectionhandled",t,e.value)})},no=function(e,t,n){return function(r){e(t,r,n)}},ro=function(e,t,n){e.done||(e.done=!0,n&&(e=n),e.value=t,e.state=2,ib(e,!0))},Hp=function(e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(e.facade===t)throw eb("Promise can't be resolved itself");var r=nb(t);r?Up(function(){var i={done:!1};try{Za(r,t,no(Hp,i,e),no(ro,i,e))}catch(o){ro(i,o,e)}}):(e.value=t,e.state=1,ib(e,!1))}catch(i){ro({done:!1},i,e)}}};if(ZS&&(qu=(to=function(e){$M(this,qu),QM(e),Za(Vp,this);var t=jp(this);try{e(no(Hp,t),no(ro,t))}catch(n){ro(t,n)}}).prototype,(Vp=function(e){aN(this,{type:Ju,done:!1,notified:!1,parent:!1,reactions:new nN,rejection:!1,state:0,value:void 0})}).prototype=KS(qu,"then",function(e,t){var n=jp(this),r=Gp(ZM(this,to));return n.parent=!0,r.ok=!zu(e)||e,r.fail=zu(t)&&t,r.domain=Hu?Fp.domain:void 0,n.state==0?n.reactions.add(r):Up(function(){rb(r,n)}),r.promise}),JS=function(){var e=new Vp,t=jp(e);this.promise=e,this.resolve=no(Hp,t),this.reject=no(ro,t)},$S.f=Gp=function(e){return e===to||e===void 0?new JS(e):oN(e)},zu(Wu)&&eo!==Object.prototype)){qS=eo.then,iN||KS(eo,"then",function(e,t){var n=this;return new to(function(r,i){Za(qS,n,r,i)}).then(e,t)},{unsafe:!0});try{delete eo.constructor}catch(e){}XS&&XS(eo,qu)}qM({global:!0,constructor:!0,wrap:!0,forced:ZS},{Promise:to}),KM(to,Ju,!1),XM(Ju);var lN=qs,sb=Ki.CONSTRUCTOR||!xu(function(e){lN.all(e).then(void 0,function(){})}),dN=Qe,hN=Ut,pN=$a,fN=Mp,mN=Ps;Me({target:"Promise",stat:!0,forced:sb},{all:function(e){var t=this,n=pN.f(t),r=n.resolve,i=n.reject,o=fN(function(){var a=hN(t.resolve),s=[],c=0,u=1;mN(e,function(l){var h=c++,_=!1;u++,dN(a,t,l).then(function(y){_||(_=!0,s[h]=y,--u||r(s))},i)}),--u||r(s)});return o.error&&i(o.value),n.promise}});var vN=Me,gN=Ki.CONSTRUCTOR,zp=qs,_N=Pn,yN=ot,SN=Qt,cb=zp&&zp.prototype;if(vN({target:"Promise",proto:!0,forced:gN,real:!0},{catch:function(e){return this.then(void 0,e)}}),yN(zp)){var ub=_N("Promise").prototype.catch;cb.catch!==ub&&SN(cb,"catch",ub,{unsafe:!0})}var bN=Qe,kN=Ut,TN=$a,xN=Mp,IN=Ps;Me({target:"Promise",stat:!0,forced:sb},{race:function(e){var t=this,n=TN.f(t),r=n.reject,i=xN(function(){var o=kN(t.resolve);IN(e,function(a){bN(o,t,a).then(n.resolve,r)})});return i.error&&r(i.value),n.promise}});var wN=Qe,EN=$a;Me({target:"Promise",stat:!0,forced:Ki.CONSTRUCTOR},{reject:function(e){var t=EN.f(this);return wN(t.reject,void 0,e),t.promise}});var CN=xt,RN=st,AN=$a,lb=function(e,t){if(CN(e),RN(t)&&t.constructor===e)return t;var n=AN.f(e);return(0,n.resolve)(t),n.promise},PN=Me,DN=Ki.CONSTRUCTOR,LN=lb;Pn("Promise"),PN({target:"Promise",stat:!0,forced:DN},{resolve:function(e){return LN(this,e)}});var ON=jt,db=fu;Me({target:"Object",stat:!0,forced:oe(function(){db(1)})},{keys:function(e){return db(ON(e))}});var hb="canvas",Ce="audio",Te="video",Wp="screen",Nr="small",Ku="big",mt="auxiliary",Vn="aux",Xu="smallVideo",pb="user",fb="environment",nn="mute",yr="unmute",Nt="ended",hi="playing",pi="pause",io="error",Jp="loadeddata",Xs="audioinput",Qu="videoinput",mb="detail",MN="text",Ze="main",Xi="backup",NN="banned",VN="kick",UN="user_time_out",jN="room_disband",vb="sei-message",ao="PLAYING",Sr="PAUSED",fi="STOPPED",oo="inactive",mi="sendonly",qp="recvonly",gb="add",_b="remove",BN="replace",Kp="track",FN="wss://trtc.rtc.qq.com",GN="wss://webrtc.qq.com",Yu="qcloud",HN="trtc",zN="webrtc",Qs="",yb="jssdk_log",WN="jssdk_event",JN="jssdk_new_endreport",Xp=function(e){return Qs=e},qN=1,KN=2,$u="live",so=20,Qp=21,br="anchor",Qi="audience",kr="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",Ys="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",XN=2,_t=Ze,Lt=mt,Zu="unknown",sn="DISCONNECTED",Sb="CONNECTING",bb="RECONNECTING",mn="CONNECTED",QN="new",el="connecting",kb="failed",Yp="closed",YN="disconnected",Tb="connected",$N="completed",$p=30,xb="join",ZN="delta-join",Ib="rejoin",e3="leave",t3="delta-leave",wb="publish",n3="delta-publish",Eb="unpublish",Cb="subscribe",Rb="unsubscribe",Ab="uplink-connection",Pb="uplink-reconnection",Db="downlink-connection",Lb="downlink-reconnection",tl="setLocalDescription",Ob="setRemoteDescription",Mb="iceConnectionState",$s="stream-initialize",Zp="websocketConnectionState",Nb="websocketReconnectionState",Vb="update-stream",Ub="recover-subscription",jb="start-mix-transcode",Bb="stop-mix-transcode",Fb="player-error",Gb="schedule",ef="unsubscribe",tf="subscribe_change",Zs="unified-plan",nf="plan-b",rf={MANUAL:"manual",PRESET_LAYOUT:"preset-layout"},Hb={REMOTE:"$PLACE_HOLDER_REMOTE$"},zb={IT_AUDIO_VIDEO:0,IT_PICTURE:2,IT_CANVAS:3,IT_PURE_AUDIO:4,IT_PURE_VIDEO:5},bt="string",Et="number",cn="boolean",r3="array",Tr="object",un={ADD:gb,REMOVE:_b},af={unknown:0,wifi:1,"4g":2,"3g":3,"2g":4,wired:5},Wb=-1,ec=0,i3=1,Jb=Ku,qb=Nr,Kb=6048e5,a3="schedule.rtc.qq.com",o3="schedule.rtc.qcloud.com",s3="schedule.rtc.tencentcloud.com",c3="schedule-ecdn.rtc.tencentcloud.com",of="",Xb=function(e){return of=e},tc="TRTC",ln="Client",vi="LocalStream",sf="RemoteStream",u3="Stream",cf="web.sdk.qcloud.com",Qb="web.sdk.tencent.cn",Yb="web.sdk.cloud.tencent.cn",$b="https://console.cloud.tencent.com/trtc",co="https://".concat(cf,"/trtc/webrtc/doc"),uf="".concat(co,"/zh-cn/"),lf="trtc_error_assistance",nl="default",Zb="communications",Un={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,NONE:5},l3=1,ek=2,d3=1,tk=2,Yi=Object.keys(Un),h3=["normal leave","timeout leave","kick","role change"],rl=2e3,uo="ric",il="raf",p3="interval",nk="timeout",rk="Resolution reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386",f3={"TRTC.checkSystemRequirements":40001,"TRTC.isScreenShareSupported":40002,"TRTC.isSmallStreamSupported":40003,"TRTC.createClient.rtc":40004,"TRTC.createClient.live":40005,"TRTC.createClient.intRoomId":40006,"TRTC.createClient.stringRoomId":40007,"TRTC.createClient.autoSubscribe":40008,"TRTC.createClient.manualSubscribe":40009,"TRTC.enableUploadLog":40010,"TRTC.disableUploadLog":40011,"Client.publish":40012,"Client.publish.isAuxiliary":40013,"Client.switchRole":40014,"Client.startPublishCDNStream":40015,"Client.stopPublishCDNStream":40016,"Client.startMixTranscode":40017,"Client.stopMixTranscode":40018,"Client.enableAudioVolumeEvaluation":40019,"Client.enableSmallStream":40020,"Client.disableSmallStream":40021,"Client.setSmallStreamProfile":40022,"Client.setRemoteVideoStreamType":40023,"Client.sendSEIMessage":40024,"Client.setProxyServer":40025,"Client.setTurnServer":40026,"LocalStream.setAudioProfile.standard":40027,"LocalStream.setAudioProfile.high":40028,"LocalStream.setAudioProfile.standard-stereo":40029,"LocalStream.setAudioProfile.high-stereo":40030,"LocalStream.setVideoProfile.120p":40031,"LocalStream.setVideoProfile.120p_2":40032,"LocalStream.setVideoProfile.180p":40033,"LocalStream.setVideoProfile.180p_2":40034,"LocalStream.setVideoProfile.240p":40035,"LocalStream.setVideoProfile.240p_2":40036,"LocalStream.setVideoProfile.360p":40037,"LocalStream.setVideoProfile.360p_2":40038,"LocalStream.setVideoProfile.480p":40039,"LocalStream.setVideoProfile.480p_2":40040,"LocalStream.setVideoProfile.720p":40041,"LocalStream.setVideoProfile.1080p":40042,"LocalStream.setVideoProfile.1440p":40043,"LocalStream.setVideoProfile.4K":40044,"LocalStream.setScreenProfile.480p":40045,"LocalStream.setScreenProfile.480p_2":40046,"LocalStream.setScreenProfile.720p":40047,"LocalStream.setScreenProfile.720p_2":40048,"LocalStream.setScreenProfile.1080p":40049,"LocalStream.setScreenProfile.1080p_2":40050,"LocalStream.setVideoContentHint.motion":40051,"LocalStream.setVideoContentHint.detail":40052,"LocalStream.setVideoContentHint.text":40053,"LocalStream.setAudioCaptureVolume":40054,"LocalStream.getVideoFrame":40055,"RemoteStream.setAudioOutput":40056,"RemoteStream.getVideoFrame":40057,AI_DENOISER:1700,SPATIAL_AUDIO:1701,"2K_4K":1704},m3=pt,ik=Wt,v3=/"/g,g3=pe("".replace),ak=function(e,t,n,r){var i=ik(m3(e)),o="<"+t;return n!==""&&(o+=" "+n+'="'+g3(ik(r),v3,""")+'"'),o+">"+i+"</"+t+">"},_3=oe,ok=function(e){return _3(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3})},y3=ak;Me({target:"String",proto:!0,forced:ok("link")},{link:function(e){return y3(this,"a","href",e)}}),Me({target:"Array",stat:!0},{isArray:Ha});var S3="AVOID_REPEATED_CALL",b3="INVALID_PARAMETER_REQUIRED",sk="INVALID_PARAMETER_TYPE",k3="INVALID_PARAMETER_EMPTY",ck="INVALID_PARAMETER_INSTANCE",T3="INVALID_PARAMETER_RANGE",x3="API_CALL_TIMEOUT",I3="SIGNAL_CHANNEL_RECONNECTION_FAILED",w3="SIGNAL_CHANNEL_SETUP_FAILED",E3="ERROR_MESSAGE",C3="EXCHANGE_SDP_TIMEOUT",R3="DOWNLINK_RECONNECTION_FAILED",A3="EXCHANGE_SDP_FAILED",P3="UPLINK_RECONNECTION_FAILED",D3="INVALID_PURE_AUDIO",L3="INVALID_STREAMID",O3="INVALID_USER_DEFINE_RECORDID",M3="INVALID_USER_DEFINE_PUSH_ARGS",N3="INVALID_PROXY",V3="INVALID_JOIN",U3="INVALID_ROOMID_STRING",j3="INVALID_ROOMID_INTEGER",B3="JOIN_ROOM_TIMEOUT",uk="JOIN_ROOM_FAILED",F3="REJOIN_ROOM_FAILED",G3="INVALID_DESTROY",H3="INVALID_PUBLISH",z3="INVALID_UNPUBLISH",W3="INVALID_AUDIENCE",J3="INVALID_INITIALIZE",q3="INVALID_DUPLICATE_PUBLISHING",df="INVALID_REMOTE_STREAM",K3="SUBSCRIBE_FAILED",X3="INVALID_ROLE",Q3="INVALID_OPERATION_SWITCH_ROLE",Y3="SWITCH_ROLE_TIMEOUT",$3="SWITCH_ROLE_FAILED",Z3="CLIENT_BANNED",lk="INVALID_OPERATION_START_PUBLISH_CDN",e4="INVALID_OPERATION_STOP_PUBLISH_CDN",t4="INVALID_STREAM_ID",dk="START_PUBLISH_CDN_FAILED",hk="STOP_PUBLISH_CDN_FAILED",n4="START_MIX_TRANSCODE",r4="STOP_MIX_TRANSCODE",i4="INVALID_AUDIO_VOLUME",a4="ENABLE_SMALL_STREAM_PUBLISHED",o4="DISABLE_SMALL_STREAM_PUBLISHED",s4="NOT_SUPPORTED_SMALL_STREAM",c4="INVALID_SMALL_STREAM_PROFILE",u4="INVALID_PARAMETER_REMOTE_STREAM",l4="INVALID_SWITCH_DEVICE",d4="INVALID_SWITCH_DEVICE_PUBLISHING",pk="INVALID_REPLACE_TRACK",h4="INVALID_INITIALIZE_LOCAL_STREAM",p4="INVALID_ADD_TRACK_REPETITIVE",f4="INVALID_ADD_TRACK_REMOVING",m4="INVALID_ADD_TRACK_PUBLISHING",fk="INVALID_STREAM_INITIALIZED",v4="INVALID_ADD_TRACK_NUMBER",g4="INVALID_REMOVE_AUDIO_TRACK",_4="INVALID_REMOVE_AUDIO_ADDING",y4="INVALID_REMOVE_AUDIO_ON",S4="INVALID_REMOVE_TRACK_PUBLISHING",b4="INVALID_REMOVE_TRACK_NOT_PUBLISHING",k4="INVALID_REMOVE_TRACK_NUMBER",T4="INVALID_REPLACE_TRACK_NO_TRACK",x4="REPEAT_JOIN",hf="CLIENT_DESTROYED",I4="START_MIX_TRANSCODE_FAILED",w4="STOP_MIX_TRANSCODE_FAILED",E4="MIX_TRANSCODE_NOT_STARTED",C4="CANNOT_LESS_THAN_ZERO",R4="MIX_PARAMS_VIDEO_FRAMERATE",A4="MIX_PARAMS_VIDEO_GOP",P4="MIX_PARAMS_AUDIO_BITRATE",D4="MIX_PARAMS_USER_Z_ORDER",L4="MIX_PARAMS_NOT_SELF",O4="MIX_PARAMS_USER_STREAM",M4="INVALID_ELEMENT_ID",N4="INVALID_ELEMENT_ID_TYPE",pf="PLAY_FAILED",V4="INVALID_CREATE_STREAM_SOURCE",U4="INVALID_CREATE_STREAM_SCREEN",j4="INVALID_CREATE_STREAM_AUDIO",B4="INVALID_CREATE_STREAM_SCREEN_AUDIO",mk="NOT_SUPPORTED_HTTP",vk="NOT_SUPPORTED_WEBRTC",F4="NOT_SUPPORTED_PROFILE",gk="NOT_SUPPORTED_H264ENCODE",_k="NOT_SUPPORTED_H264DECODE",ff="NOT_SUPPORTED_TRACK",G4="NOT_SUPPORTED_SWITCH_DEVICE",H4="NOT_SUPPORTED_CAPTURE",z4="NOT_SUPPORTED_AUX",W4="MICROPHONE_NOT_FOUND",J4="CAMERA_NOT_FOUND",yk="SIGNAL_RESPONSE_FAILED",q4="CATCH_HANDLER_ERROR",K4="API_NOT_EXIST",X4="CONNECTION_CLOSED",Q4="SUBSCRIBE_ALL_FALSE",Sk="SEI_NOT_SUPPORT",Y4="SEI_DISABLED",$4="SEI_EMPTY",Z4="SEI_OVERSIZE",eV="SEI_BEFORE_PUBLISH",tV="SEI_NOT_VIDEO",nV="CALL_FREQUENCY_LIMIT",rV="CONNECTION_ABORTED",mf="API_CALL_ABORTED",iV="DUPLICATE_AUX",gi={AVOID_REPEATED_CALL:function(e){return"previous ".concat(e.name,"() is ongoing, please avoid repeated calls.")},INVALID_PARAMETER_REQUIRED:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value;return"'".concat(t||n.name,"' is a required param when calling ").concat(r,"(), received: ").concat(i,".")},INVALID_PARAMETER_TYPE:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value,o="".concat(t||n.name),a="";return a=Array.isArray(n.type)?n.type.join("|"):n.type,"'".concat(o,"' must be type of ").concat(a," when calling ").concat(r,"(), received type: ").concat(_i(i),".")},INVALID_PARAMETER_EMPTY:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value;return"'".concat(t||n.name,"' cannot be '").concat(i,"' when calling ").concat(r,"().")},INVALID_PARAMETER_INSTANCE:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value,o="".concat(t||n.name),a="".concat(n.instanceOf.name||n.instanceOf);return"'".concat(o,"' must be instanceof ").concat(a," when calling ").concat(r,"(), received type: ").concat(_i(i),".")},INVALID_PARAMETER_RANGE:function(e){var t=e.key,n=e.rule,r=e.fnName,i=e.value;return"'".concat(t||n.name,"' must be one of ").concat(n.values.join("|")," when calling ").concat(r,"(), received: ").concat(i,".")},API_CALL_TIMEOUT:function(e){return"".concat(e.commandDesc||e.command," timeout observed.")},SIGNAL_CHANNEL_RECONNECTION_FAILED:"signal channel reconnection failed, please check your network.",SIGNAL_CHANNEL_SETUP_FAILED:function(e){return"SignalChannel setup failure: (errorCode: ".concat(e.errorCode,", errorMsg: ").concat(e.errorMsg," }).")},ERROR_MESSAGE:function(e){var 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:function(e){return"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:function(e){return"'".concat(e,"' must be validate string when useStringRoomId is true.")},INVALID_ROOMID_INTEGER:function(e){return"'".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:function(e){var t=e.error,n=e.code;return"Failed to join room - ".concat(t," code: ").concat(n)},REJOIN_ROOM_FAILED:function(e){return"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(Qi,', please call switchRole("').concat(br,'") firstly before publish().'),INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING:function(e){return"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:function(e){var t=e.message,n=e.stream;return"failed to subscribe ".concat(n.getUserId()," ").concat(n.getType()," 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(br," or ").concat(Qi,"."),INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:function(e){return"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,".")},CLIENT_BANNED:function(e){return"client was banned because of "+e.message+"."},INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() before client join the room or after client join the room and successfully publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED:function(e){return"startPublishCDNStream failed, errMsg: ".concat(e.message,".")},STOP_PUBLISH_CDN_FAILED:function(e){return"stopPublishCDNStream failed, errMsg: ".concat(e.message,".")},INVALID_STREAM_ID:function(e){return"'".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_PUBLISHING:"the track to be removed is not being publishing.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:function(e){return"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track")},START_MIX_TRANSCODE_FAILED:function(e){return"startMixTranscode failed, errMsg: ".concat(e.message,".")},STOP_MIX_TRANSCODE_FAILED:function(e){return"stopMixTranscode failed, errMsg: ".concat(e.message,".")},MIX_TRANSCODE_NOT_STARTED:"mixTranscode has not been started.",CANNOT_LESS_THAN_ZERO:function(e){var t=e.key,n=e.rule,r=e.fnName;return e.value,"'".concat(t||n.name,"' cannot be less than 0 when calling ").concat(r,"().")},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:function(e){return"'".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:function(e){var t=e.key,n=e.fnName;return"'".concat(t,"' is not found in the document object when calling ").concat(n,"().")},INVALID_ELEMENT_ID_TYPE:function(e){var t=e.key,n=e.fnName,r=e.type;return"the element corresponding to '".concat(t,"' must be instanceof HTMLDivElement when calling ").concat(n,"(), received: ").concat(r,".")},PLAY_FAILED:function(e){return"".concat(e.media," play failed\uFF0Cbrowser 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 and publish streams, please use the https protocol.",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:function(e){return"".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 and the configuration on TRTC.createStream.",CAMERA_NOT_FOUND:"no camera detected, please check your camera and the configuration on TRTC.createStream.",SIGNAL_RESPONSE_FAILED:function(e){return"".concat(e.signalResponse," failed, response code is ").concat(e.code," , errMsg: ").concat(e.message,".")},CATCH_HANDLER_ERROR:function(e){var t=e.name,n=e.event;return"an error was caught on ".concat(t,".on('").concat(n,"', handler), please check your code on 'handler'.")},API_NOT_EXIST:function(e){var t=e.name;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:function(e){return"[".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:function(e){var t=e.funName;return"failed to call ".concat(t,"() because client was destroyed.")},SEI_NOT_SUPPORT:function(e){return"not support to sendSEIMessage".concat(e===!1?" without using h264 codec":"")},SEI_DISABLED:"SEI is disabled, to enable SEI: TRTC.createClient({ enableSEI: true })",SEI_EMPTY:"buffer cannot be empty",SEI_OVERSIZE:function(e){return"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:function(e){var t=e.isSize,n=e.name,r=e.timesInSecond,i=e.maxSizeInSecond;return"api ".concat(n," call ").concat(t?"size":"times"," is over ").concat(t?i+" bytes":r," in a second.")},CONNECTION_ABORTED:function(e){return"connection aborted due to: "+e},API_CALL_ABORTED:function(e){return e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.stream.getUserId()," ").concat(e.stream.getType()," stream aborted, reason: remote user ").concat(e.stream.getUserId()," unpublished stream."):"API aborted, reason: ".concat(e.message)},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser."},bk=te,aV=oe,oV=Wt,sV=Uu.trim,cV=pe("".charAt),al=bk.parseFloat,kk=bk.Symbol,Tk=kk&&kk.iterator,xk=1/al(`
|
|
80
|
+
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF-0`)!=-1/0||Tk&&!aV(function(){al(Object(Tk))})?function(e){var t=sV(oV(e)),n=al(t);return n===0&&cV(t,0)=="-"?-0:n}:al;Me({global:!0,forced:parseFloat!=xk},{parseFloat:xk});var Ee=window.navigator&&window.navigator.userAgent||"",Ik=/AppleWebKit\/([\d.]+)/i.exec(Ee);Ik&&parseFloat(Ik.pop());var vf=/iPad/i.test(Ee),wk=navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/Macintosh/.test(Ee),gf=/iPhone/i.test(Ee)&&!vf,uV=/iPod/i.test(Ee),$i=gf||vf||uV||wk,lo=/Android/i.test(Ee);lo&&function(){var e=Ee.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!e)return null;var t=e[1]&&parseFloat(e[1]),n=e[2]&&parseFloat(e[2]);t&&n&&parseFloat(e[1]+"."+e[2])}(),lo&&/webkit/i.test(Ee);var xr=/Firefox/i.test(Ee),Ek=xr&&function(){var e=Ee.match(/Firefox\/(\d+)/);return e&&e[1]?parseFloat(e[1]):null}(),ol=/Edge\//i.test(Ee),lV=ol&&function(){var e=Ee.match(/Edge\/(\d+)/i);if(e&&e[1])return e[1]}(),sl=/Edg\//i.test(Ee),Ck=sl&&function(){var e=Ee.match(/Edg\/(\d+)/);return e&&e[1]?parseFloat(e[1]):null}(),_f=/SogouMobileBrowser\//i.test(Ee),dV=_f&&function(){var e=Ee.match(/SogouMobileBrowser\/(\d+)/);return e&&e[1]?parseFloat(e[1]):null}(),yf=/MetaSr\s/i.test(Ee),hV=yf&&function(){var e=Ee.match(/MetaSr(\s\d+(\.\d+)+)/);return e&&e[1]?parseFloat(e[1]):null}(),Vr=/TBS\/\d+/i.test(Ee),pV=Vr&&function(){var e=Ee.match(/TBS\/(\d+)/i);if(e&&e[1])return e[1]}(),Sf=/XWEB\/\d+/i.test(Ee),fV=Sf&&function(){var e=Ee.match(/XWEB\/(\d+)/i);if(e&&e[1])return e[1]}();/MSIE\s8\.0/.test(Ee),/MSIE\/\d+/i.test(Ee)&&function(){var e=/MSIE\s(\d+)\.\d/.exec(Ee),t=e&&parseFloat(e[1]);!t&&/Trident\/7.0/i.test(Ee)&&/rv:11.0/.test(Ee)&&(t=11)}();var bf=/(micromessenger|webbrowser)/i.test(Ee),mV=bf&&function(){var e=Ee.match(/MicroMessenger\/(\d+)/i);if(e&&e[1])return e[1]}(),kf=!Vr&&/MQQBrowser\/\d+/i.test(Ee)&&/COVC\/\d+/i.test(Ee),Tf=!Vr&&/MQQBrowser\/\d+/i.test(Ee)&&!/COVC\/\d+/i.test(Ee),Rk=(Tf||kf)&&function(){var e=Ee.match(/ MQQBrowser\/([\d.]+)/);return e&&e[1]?e[1]:null}(),xf=!Vr&&/ QQBrowser\/\d+/i.test(Ee),vV=xf&&function(){var e=Ee.match(/ QQBrowser\/([\d.]+)/);return e&&e[1]?e[1]:null}(),If=!Vr&&/QQBrowserLite\/\d+/i.test(Ee),gV=If&&function(){var e=Ee.match(/QQBrowserLite\/([\d.]+)/);return e&&e[1]?e[1]:null}(),wf=!Vr&&/MQBHD\/\d+/i.test(Ee),_V=wf&&function(){var e=Ee.match(/MQBHD\/([\d.]+)/);return e&&e[1]?e[1]:null}(),Ak=/Windows/i.test(Ee),nc=!$i&&/MAC OS X/i.test(Ee),Pk=!lo&&/Linux/i.test(Ee);/MicroMessenger/i.test(Ee);var yV=/UCBrowser/i.test(Ee);/Electron/i.test(Ee);var Dk,cl,Ef=/MiuiBrowser/i.test(Ee),SV=Ef&&function(){var e=Ee.match(/MiuiBrowser\/([\d.]+)/);return e&&e[1]?e[1]:null}(),Cf=/HuaweiBrowser/i.test(Ee),Rf=/Huawei/i.test(Ee),bV=Cf&&function(){var e=Ee.match(/HuaweiBrowser\/([\d.]+)/);return e&&e[1]?e[1]:null}(),Af=/SamsungBrowser/i.test(Ee),kV=Af&&function(){var e=Ee.match(/SamsungBrowser\/([\d.]+)/);return e&&e[1]?e[1]:null}(),ul=/HeyTapBrowser/i.test(Ee),TV=ul&&function(){var e=Ee.match(/HeyTapBrowser\/([\d.]+)/);return e&&e[1]?e[1]:null}(),ll=/VivoBrowser/i.test(Ee),xV=ll&&function(){var e=Ee.match(/VivoBrowser\/([\d.]+)/);return e&&e[1]?e[1]:null}(),rc=function(){var e=Ee.match(/Chrome\/(\d+)/);return e&&e[1]?Number(e[1]):null},IV=/Chrome/i.test(Ee),dl=!ol&&!yf&&!_f&&!Vr&&!Sf&&!sl&&!xf&&!Ef&&!Cf&&!Af&&!ul&&!ll&&/Chrome/i.test(Ee),Pf=dl&&rc(),wV=dl&&function(){var e=Ee.match(/Chrome\/([\d.]+)/);return e&&e[1]?e[1]:null}(),Zi=!IV&&!Tf&&!kf&&!If&&!wf&&/Safari/i.test(Ee),Df=function(){if(Zi){var e=Ee.match(/Version\/([\d.]+)/);if(e&&e[1])return e[1]}return""}(),EV=/Android.*(wv|.0.0.0)/.test(Ee),ea=function(){if(wk)return Df;if($i){var e=Ee.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){var t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""}(),hl=Df==="15.1",pl=ea==="15.1",CV=(Dk=Number(ea.split(".")[0]))===14||Dk===13,ta=location.protocol==="file:"||location.hostname==="localhost"||location.hostname==="127.0.0.1",na=function(){if(ge(cl))try{cl=window.localStorage}catch(e){ye.warn(e),cl=!1}return cl},Lf=new Map([[xr,["Firefox",Ek]],[sl,["Edg",Ck]],[dl,["Chrome",wV]],[Zi,["Safari",Df]],[Vr,["TBS",pV]],[Sf,["XWEB",fV]],[bf&&gf,["WeChat",mV]],[xf,["QQ(Win)",vV]],[Tf,["QQ(Mobile)",Rk]],[kf,["QQ(Mobile X5)",Rk]],[If,["QQ(Mac)",gV]],[wf,["QQ(iPad)",_V]],[Ef,["MI",SV]],[Cf,["HW",bV]],[Af,["Samsung",kV]],[ul,["OPPO",TV]],[ll,["VIVO",xV]],[ol,["EDGE",lV]],[_f,["SogouMobile",dV]],[yf,["Sogou",hV]]]);function ra(){var e="unknown",t="unknown";return Lf.get(!0)&&(e=Lf.get(!0)[0],t=Lf.get(!0)[1]),{name:e,version:t}}var Lk=function(e,t){return t?co+"/"+e+"/"+t:co+"/"+e+"/index.html"},RV=function(){if(!na())return!1;var e=localStorage.getItem(lf);e&&!function(t){var n=t.saveTime&&new Date().getTime()-t.saveTime>=Kb,r=!t.saveVersion||t.saveVersion!==ji;return n||r}(JSON.parse(e))||(ye.info("init debug info"),function(){var t=new XMLHttpRequest;if(t.open("GET","https://web.sdk.qcloud.com/trtc/webrtc/download/error-message/0.0.3/script.js",!1),t.send(null),t.readyState===4&&t.status===200){var n=document.createElement("script");n.type="text/javascript",n.text=t.responseText,document.body.appendChild(n),localStorage.setItem(lf,JSON.stringify({message:t.responseText,saveTime:new Date().getTime(),saveVersion:ji})),document.body.removeChild(n)}}())};function ne(e){var t=e.key,n=e.data,r=e.link,i=e.addDocLink,o=i===void 0||i,a="",s="",c="";In(gi[t])?a=gi[t](n):Ft(gi[t])&&(a=gi[t]);var u=function(){if(window.TRTC_ERROR_INFO&&window.TRTC_ERROR_LINK)return{TRTC_ERROR_INFO:window.TRTC_ERROR_INFO,TRTC_ERROR_LINK:window.TRTC_ERROR_LINK};var y=localStorage.getItem(lf);if(y){y=JSON.parse(y);var S=document.createElement("script");S.type="text/javascript",S.text=y.message,document.body.appendChild(S);var f=window.TRTC_ERROR_INFO,g=window.TRTC_ERROR_LINK;return document.body.removeChild(S),{TRTC_ERROR_INFO:f,TRTC_ERROR_LINK:g}}return{}}(),l=u.TRTC_ERROR_INFO,h=u.TRTC_ERROR_LINK;r?c="".concat(r.className,".html#").concat(r.fnName):h&&h[t]&&(In(h[t])?c=h[t](n):Ft(h[t])&&(c=h[t]));var _=a;return aa()&&(l&&l[t]&&(In(l[t])?s=l[t](n):Ft(l[t])&&(s=l[t])),s&&(_=o?s+`
|
|
81
|
+
\u8BF7\u67E5\u770B\u6587\u6863: `+Lk("zh-cn",c)+`
|
|
82
82
|
|
|
83
83
|
`:s+`
|
|
84
84
|
|
|
85
85
|
`,_+=a)),o&&(_+=`
|
|
86
|
-
Refer to: `+
|
|
87
|
-
`),_}var
|
|
86
|
+
Refer to: `+Lk("en",c)+`
|
|
87
|
+
`),_}var Ok=function(){return function(e){var t=window.location.search.match(new RegExp("(\\?|&)"+e+"=([^&]*)(&|$)"));return t?decodeURIComponent(t[2]):""}("trtc_env")},Mk=function(e){return(e=Number(e))>0&&e<14e8},fl=function(e,t){var n;n=Qs?Qs.includes("http")?Qs:"https://"+Qs:Mk(e)?"https://apisgp.my-imcloud.com":"https://yun.tim.qq.com";var r=Math.floor(Math.random()*Math.pow(2,31));return"".concat(n,"/v5/AVQualityReportSvc/C2S?random=").concat(r,"&sdkappid=").concat(e,"&cmdtype=").concat(t)};function Of(){var e=navigator.userAgent,t=navigator.connection,n=e.match(/NetType\/\w+/)?e.match(/NetType\/\w+/)[0]:"";(n=n.toLowerCase().replace("nettype/",""))==="3gnet"&&(n="3g");var r=t&&t.type&&t.type.toLowerCase(),i=t&&t.effectiveType&&t.effectiveType.toLowerCase();i==="slow-2"&&(i="2g");var o=n||"unknown";if(r)switch(r){case"cellular":case"wimax":o=i||"unknown";break;case"wifi":o="wifi";break;case"ethernet":o="wired";break;case"none":case"other":case"unknown":o="unknown"}return o}var ia=function(e){if(!e||V(e)!=="object"||Object.prototype.toString.call(e)!="[object Object]")return!1;var t=Object.getPrototypeOf(e);if(t===null)return!0;var n=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Function.prototype.toString.call(n)===Function.prototype.toString.call(Object)};function ml(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return e<=1?n:ml(e-1,n,t+n)}function Mf(e){var t=Math.round(e/2)+1;return t>6?13e3:1e3*ml(t)}var In=function(e){return typeof e=="function"},ge=function(e){return e===void 0},Ft=function(e){return typeof e=="string"},er=function(e){return typeof e=="number"},Ur=function(e){return typeof e=="boolean"},Nk=function(e){return _i(e)==="object"},vl=function(e){return _i(e)==="array"},Vk=function(e){return _i(e)==="MediaStreamTrack".toLowerCase()};function _i(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}function Uk(e){var t={};return t.urls="turn:".concat(e.url),ge(e.username)||ge(e.credential)||(t.username=e.username,t.credential=e.credential,t.credentialType="password",ge(e.credentialType)||(t.credentialType=e.credentialType)),t}function Dt(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}function Nf(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"big";if(!Ft(e))return 0;var n=e.split(".");return t==="big"?(Number(n[0])<<24|Number(n[1])<<16|Number(n[2])<<8|Number(n[3]))>>>0:(Number(n[3])<<24|Number(n[2])<<16|Number(n[1])<<8|Number(n[0]))>>>0}var Vf,Uf,aa=function(){var e=navigator.language||navigator.userLanguage;return(e=e.substr(0,2))==="zh"},jk=(Vf=!1,Uf=document.visibilityState,function(){document.visibilityState!==Uf&&ye.info("visibility change: ".concat(document.visibilityState)),Vf||(document.addEventListener("visibilitychange",function(){ye.info("visibility change: "+document.visibilityState),Uf=document.visibilityState}),Vf=!0)});window.AudioContext=window.AudioContext||window.webkitAudioContext||window.mozAudioContext;var Bk=function(){return new window.AudioContext},Fk=function(){var e;return function(){return e||(e=new window.AudioContext,e.onstatechange=function(){ye.info("gain context state: ".concat(e.state)),e.state==="suspended"?(e.resume(),document.addEventListener("click",e.resume)):e.state==="interrupted"?e.resume():document.removeEventListener("click",e.resume)},e)}}(),AV=!!window.AudioWorkletNode,Gk=function(e,t){var n=e.emit;return e.emit=function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];try{n.apply(e,i)}catch(s){var a=ne({key:q4,data:{name:t,event:i[0]},addDocLink:!1});ye.warn(a+`
|
|
88
88
|
|
|
89
|
-
`+s.stack)}},e},
|
|
90
|
-
`)}),h);case 12:_.forEach(function(f){return f.uploaded=!0});case 13:c++,b.next=8;break;case 16:b.next=20;break;case 18:b.prev=18,b.t0=b.catch(5);case 20:y=a.filter(function(f){return!f.uploaded}),y.length>0&&(this.queue_=y.concat(this.queue_));case 22:case"end":return b.stop()}},r,this,[[5,18]])})),function(){return t.apply(this,arguments)})},{key:"uploadLogWithRetry",value:function(r,i){return oc({retryFunction:function(){return vl({url:pl(i,yb),body:r,timeout:5e3})},settings:{retries:3,timeout:1e3},onError:function(o,a){a()}})()}},{key:"getPrefix",value:function(r){var i=new Date;return i.setTime(on()),String.prototype.padStart?"[".concat(i.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(i.getMilliseconds().toString().padStart(3,"0"),"] <").concat(Xi[r],">"):"[".concat(i.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(i.getMilliseconds(),"] <").concat(Xi[r],">")}},{key:"getLogLevel",value:function(){return this.logLevel_}},{key:"setLogLevel",value:function(r){ve(Xi[r])||(this.logLevel_!==r&&this.info("setLogLevel ".concat(r)),this.logLevel_=r)}},{key:"enableUploadLog",value:function(){this.enableUploadLog_=!0}},{key:"disableUploadLog",value:function(){this.enableUploadLog_=!1}},{key:"log",value:function(r){var i=r.log,o=r.level,a=r.forAllJoinedClients,s=a===void 0||a,c=r.userId,u=r.sdkAppId;if(i="".concat(this.getPrefix(o)," ").concat(i),this.enableUploadLog_&&o>=this.logLevelToUpload_&&this.queue_.push(new PV({log:i,level:o,userId:c,sdkAppId:u,forAllJoinedClients:s})),!(o<this.logLevel_)){var d=Xi[o]?Xi[o].toLowerCase():"info";LV?console[d]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",i):console[d](i)}}},{key:"debug",value:function(r){this.log({log:r,level:Un.DEBUG})}},{key:"info",value:function(r){this.log({log:r,level:Un.INFO})}},{key:"warn",value:function(r){this.log({log:r,level:Un.WARN})}},{key:"error",value:function(r){this.log({log:r,level:Un.ERROR})}},{key:"createLogger",value:function(r){return new DV(r)}},{key:"checkURLParam",value:function(){var r=new URLSearchParams(location.search).get("logLevelToUpload");Xi[r]&&(this.logLevelToUpload_=r)}}]),e}(),ke=new OV,Jk=!0,MV=ot,NV=Math.floor,Kk=Number.isInteger||function(e){return!MV(e)&&isFinite(e)&&NV(e)===e};Me({target:"Number",stat:!0},{isInteger:Kk});var hm,VV=Me,qk=pe,UV=Se.f,BV=vr,Xk=Wt,jV=fS,FV=pt,GV=mS,Qk=qk("".startsWith),HV=qk("".slice),zV=Math.min,Yk=GV("startsWith");VV({target:"String",proto:!0,forced:!!(Yk||(hm=UV(String.prototype,"startsWith"),!hm||hm.writable))&&!Yk},{startsWith:function(e){var t=Xk(FV(this));jV(e);var n=BV(zV(arguments.length>1?arguments[1]:void 0,t.length)),r=Xk(e);return Qk?Qk(t,r,n):HV(t,n,n+r.length)===r}});var $k=_e,WV=pe,JV=Qe,KV=oe,pm=pu,qV=Yd,XV=Kt,QV=Bt,YV=yn,fo=Object.assign,Zk=Object.defineProperty,$V=WV([].concat),eT=!fo||KV(function(){if($k&&fo({b:1},fo(Zk({},"a",{enumerable:!0,get:function(){Zk(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(i){t[i]=i}),fo({},e)[n]!=7||pm(fo({},t)).join("")!=r})?function(e,t){for(var n=QV(e),r=arguments.length,i=1,o=qV.f,a=XV.f;r>i;)for(var s,c=YV(arguments[i++]),u=o?$V(pm(c),o(c)):pm(c),d=u.length,h=0;d>h;)s=u[h++],$k&&!JV(a,c,s)||(n[s]=c[s]);return n}:fo,tT=eT;Me({target:"Object",stat:!0,arity:2,forced:Object.assign!==tT},{assign:tT});var nT=pe,ZV=Ut,eU=ot,tU=xt,rT=ja,nU=Oe,iT=Function,rU=nT([].concat),iU=nT([].join),fm={},aU=function(e,t,n){if(!tU(fm,t)){for(var r=[],i=0;i<t;i++)r[i]="a["+i+"]";fm[t]=iT("C,a","return new C("+iU(r,",")+")")}return fm[t](e,n)},oU=nU?iT.bind:function(e){var t=ZV(this),n=t.prototype,r=rT(arguments,1),i=function(){var o=rU(r,rT(arguments));return this instanceof i?aU(t,o.length,o):t.apply(e,o)};return eU(n)&&(i.prototype=n),i},aT=oU;Me({target:"Function",proto:!0,forced:Function.bind!==aT},{bind:aT});var sU=Me,cU=an.findIndex,uU=vu,oT="findIndex",sT=!0;oT in[]&&Array(1).findIndex(function(){sT=!1}),sU({target:"Array",proto:!0,forced:sT},{findIndex:function(e){return cU(this,e,arguments.length>1?arguments[1]:void 0)}}),uU(oT);var lU=_e,cT=pe,dU=pu,hU=Sn,pU=cT(Kt.f),fU=cT([].push),uT=function(e){return function(t){for(var n,r=hU(t),i=dU(r),o=i.length,a=0,s=[];o>a;)n=i[a++],lU&&!pU(r,n)||fU(s,e?[n,r[n]]:r[n]);return s}},mU={entries:uT(!0),values:uT(!1)}.values;Me({target:"Object",stat:!0},{values:function(e){return mU(e)}});var lT=1,dT=5,mm=2,sc=3,vm=4,Sl="DISCONNECTED",hT="CONNECTING",gm="RECONNECTING",cc="CONNECTED",jr={CLIENT_BANNED:9,CHANNEL_SETUP_RESULT:19,CHANNEL_RECONNECT_RESULT:514,JOIN_ROOM_RESULT:20,PEER_JOIN:4134,PEER_LEAVE:4135,STREAM_ADDED:16,STREAM_REMOVED:18,UPLINK_NETWORK_STATS:22,UPDATE_REMOTE_MUTE_STAT:23,PUBLISH_RESULT:4098,PUBLISH_STATE_CHANGE_RESULT:4112,UNPUBLISH_RESULT:4100,SUBSCRIBE_RESULT:4102,UNSUBSCRIBE_RESULT:4104,SUBSCRIBE_CHANGE_RESULT:4106,MUTE_RESULT:4108,UPDATE_OFFER_RESULT:4128,START_PUBLISH_TENCENT_CDN_RES:1286,STOP_PUBLISH_TENCENT_CDN_RES:1288,START_PUBLISH_GIVEN_CDN_RES:777,STOP_PUBLISH_GIVEN_CDN_RES:779,START_MIX_TRANSCODE_RES:781,STOP_MIX_TRANSCODE_RES:783,USER_LIST_RES:4137,SWITCH_ROLE_RES:4110,UPDATE_CONSTRAINT_CONFIG_RES:772},vU=[jr.UPDATE_REMOTE_MUTE_STAT,jr.UPLINK_NETWORK_STATS,jr.USER_LIST_RES,jr.MUTE_RESULT],vt={CLIENT_BANNED:"client-banned",CHANNEL_SETUP_RESULT:"channel-setup-result",CHANNEL_RECONNECT_RESULT:"channel-reconnect-result",JOIN_ROOM_RESULT:"join-room-result",PEER_JOIN:"peer-join",PEER_LEAVE:"peer-leave",STREAM_ADDED:"stream-added",STREAM_REMOVED:"stream-removed",UPLINK_NETWORK_STATS:"uplink-network-stats",UPDATE_REMOTE_MUTE_STAT:"update-remote-mute-stat",PUBLISH_RESULT:"publish-result",PUBLISH_STATE_CHANGE_RESULT:"publish-state-change-result",UNPUBLISH_RESULT:"unpublish-result",SUBSCRIBE_RESULT:"subscribe-result",SUBSCRIBE_CHANGE_RESULT:"subscribe-change-result",UNSUBSCRIBE_RESULT:"unsubscribe-result",UPDATE_OFFER_RESULT:"update-offer-result",START_PUBLISH_TENCENT_CDN_RES:"start-publish-tencent-cdn-res",STOP_PUBLISH_TENCENT_CDN_RES:"stop-publish-tencent-cdn-res",START_PUBLISH_GIVEN_CDN_RES:"start-publish-given-cdn-res",STOP_PUBLISH_GIVEN_CDN_RES:"stop-publish-given-cdn-res",START_MIX_TRANSCODE_RES:"start-mix-transcode-res",STOP_MIX_TRANSCODE_RES:"stop-mix-transcode-res",USER_LIST_RES:"user-list-res",SWITCH_ROLE_RES:"switch_role_res",MUTE_RESULT:"mute-result",UPDATE_CONSTRAINT_CONFIG_RES:"update-contraint-config-res"},gU="publish_change",_U="publish_state_change",yU="join",SU="leave",bU="quality_report",kU="mute_uplink",TU="publish",pT="unpublish",xU="subscribe",IU="unsubscribe",wU="subscribe_change",EU="start_publishing",CU="stop_publishing",RU="start_push_user_cdn",AU="stop_push_user_cdn",PU="start_mcu_mix",DU="stop_mcu_mix",LU="get_user_list",OU="change_role",MU="update_constraint_config",Y={INVALID_PARAMETER:4096,INVALID_OPERATION:4097,NOT_SUPPORTED:4098,DEVICE_NOT_FOUND:4099,INITIALIZE_FAILED:4100,SIGNAL_CHANNEL_SETUP_FAILED:16385,SIGNAL_CHANNEL_ERROR:16386,ICE_TRANSPORT_ERROR:16387,JOIN_ROOM_FAILED:16388,CREATE_OFFER_FAILED:16389,SIGNAL_CHANNEL_RECONNECTION_FAILED:16390,UPLINK_RECONNECTION_FAILED:16391,DOWNLINK_RECONNECTION_FAILED:16392,REMOTE_STREAM_NOT_EXIST:16400,CLIENT_BANNED:16448,SERVER_TIMEOUT:16449,SUBSCRIPTION_TIMEOUT:16450,PLAY_NOT_ALLOWED:16451,DEVICE_AUTO_RECOVER_FAILED:16452,START_PUBLISH_CDN_FAILED:16453,STOP_PUBLISH_CDN_FAILED:16454,START_MIX_TRANSCODE_FAILED:16455,STOP_MIX_TRANSCODE_FAILED:16456,NOT_SUPPORTED_H264:16457,SWITCH_ROLE_FAILED:16458,API_CALL_TIMEOUT:16459,SCHEDULE_FAILED:16460,API_CALL_ABORTED:16461,UNKNOWN:65535},ee=function(e){Nt(n,e);var t=Ar(n);function n(r){var i,o=r.name,a=o===void 0?"RtcError":o,s=r.message,c=r.code,u=c===void 0?Y.UNKNOWN:c,d=r.extraCode,h=d===void 0?0:d,_=r.constraint;J(this,n);var y="<".concat(function(b){for(var f in Y)if(Y[f]===b)return f;return"UNKNOWN"}(u)," 0x").concat(u.toString(16),">");return(i=t.call(this,s+"".concat(_?" constraint: ".concat(_):"")+"".concat(s!=null&&s.includes(y)?"":" "+y))).code_=u,i.extraCode_=h,i.name=a,i.message_=s,_&&(i.constraint=_),i}return ye(n,[{key:"getCode",value:function(){return this.code_}},{key:"getExtraCode",value:function(){return this.extraCode_}}]),n}(Ho(Error)),fT=32768,mT=32769,vT=32770,gT=32771,NU=32772,VU=32773,UU=32774,BU=32775,_T=32777,jU=32778,_m=32779,FU=32780,GU=32781,HU=32782,zU=32783,WU=32784,JU=32785,KU=32786,qU=32787,XU=32788,QU=32789,YU=32790,$U=32791,ZU=32792,e6=32793,t6=32794,n6=32795,r6=32796,i6=32797,a6=32798,o6=32799,s6=32800,c6=32801,u6=32802,l6=32803,d6=32804,uc=new Map,vn=function(e,t){var n=uc.get(e);n||(uc.set(e,[]),n=uc.get(e)),n.push(t)},h6=function(e){var t=uc.get(e),n=[];return t?(uc.delete(e),n=t.map(function(r){return{uint32_event_id:r.eventId,uint64_date:r.timestamp,str_userid:r.remoteUserId,str_event_json:r.eventDesc}})):n=[],n},p6=Object.prototype.hasOwnProperty;function aa(e){if(e==null)return!0;if(typeof e=="boolean")return!1;if(typeof e=="number")return e===0;if(typeof e=="string"||typeof e=="function"||Array.isArray(e))return e.length===0;if(e instanceof Error)return e.message==="";if(na(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return e.size===0;case"[object Object]":for(var t in e)if(p6.call(e,t))return!1;return!0}return!1}var f6=function(){function e(){J(this,e);var t=ta(),n=t.name,r=t.version;this.roomIdMap_=new Map,this.configs_={sdkAppId:"",userId:"",version:Vi,env:Qu,browserVersion:n+r,ua:navigator.userAgent}}return ye(e,[{key:"setConfig",value:function(t){var n=t.sdkAppId,r=t.env,i=t.userId,o=t.roomId;n!==this.configs_.sdkAppId&&(this.configs_.sdkAppId=String(n)),this.configs_.env=r,this.configs_.userId=i,this.roomIdMap_.set(i,String(o))}},{key:"logEvent",value:function(t){if(!Zi){var n=H(H(H({},t),this.configs_),{},{userId:t.userId||this.configs_.userId});ve(n.code)&&(n.code=n.result==="failed"?Y.UNKNOWN:0),this.sendRequest(pl(this.configs_.sdkAppId,HN),n)}}},{key:"logSuccessEvent",value:function(t){Zi||(this.logEvent(H(H({},t),{},{result:"success",roomId:this.roomIdMap_.get(t.userId)})),this.configs_.env===Qu&&this.uploadEventToKibana(H(H({},t),{},{result:"success"})))}},{key:"logFailedEvent",value:function(t){if(!Zi){var n=t.eventType,r=t.code,i=t.error,o=t.userId,a={roomId:this.roomIdMap_.get(o),userId:o,eventType:n,result:"failed",code:r||(i instanceof ee?i.getExtraCode()||i.getCode():Y.UNKNOWN)};this.logEvent(a),this.configs_.env===Qu&&this.uploadEventToKibana(H(H({},a),{},{error:i}))}}},{key:"uploadEventToKibana",value:function(t){var n="stat-".concat(t.eventType,"-").concat(t.result);t.eventType!=="delta-join"&&t.eventType!=="delta-leave"&&t.eventType!=="delta-publish"||(n="".concat(t.eventType,":").concat(t.delta)),this.uploadEvent({log:n,userId:t.userId}),t.result==="failed"&&(n="stat-".concat(t.eventType,"-").concat(t.result,"-").concat(t.code),this.uploadEvent({log:n,userId:t.userId,error:t.error}))}},{key:"uploadEvent",value:function(t){var n=t.log,r=t.userId,i=t.error,o={timestamp:K0(),sdkAppId:this.configs_.sdkAppId,userId:r||this.configs_.userId,version:this.configs_.version,log:n};i&&(o.errorInfo=i.message),this.sendRequest(pl(this.configs_.sdkAppId,yb),o)}},{key:"sendRequest",value:function(t,n){var r=this;ke.getIsAbleToUpload()?vl({url:t,body:JSON.stringify(n)}).catch(function(){}):setTimeout(function(){r.sendRequest(t,n)},1e3)}}]),e}(),Ie=new f6,m6=function(){function e(t){J(this,e),this.client_=t.client,this.sdkAppId_=t.sdkAppId,this.userId_=t.userId,this.userSig_=t.userSig,this.url_=t.url,this.backupUrl_=t.backupUrl;var n="?sdkAppId=".concat(encodeURIComponent(this.sdkAppId_),"&userId=").concat(encodeURIComponent(this.userId_),"&userSig=").concat(encodeURIComponent(this.userSig_),"&roomId=").concat(encodeURIComponent(t.roomId)),r=this.client_.getSystemResult();if(r&&r.detail){var i=r.detail,o=i.isH264EncodeSupported,a=i.isVp8EncodeSupported,s=i.isH264DecodeSupported,c=i.isVp8DecodeSupported;n+="&enc264=".concat(Number(o),"&dec264=").concat(Number(s),"&encVp8=").concat(Number(a),"&decVp8=").concat(Number(c))}t.signalDomainWhenUnifiedProxy&&(n+="&signalDomain=".concat(encodeURIComponent(t.signalDomainWhenUnifiedProxy))),this.urlWithParam_="".concat(this.url_).concat(n),this.backupUrlWithParam_="".concat(this.backupUrl_).concat(n),this.isConnected_=!1,this.isConnecting_=!1,this.socketInUse_=null,this.socket_=null,this.backupSocket_=null,this.backupTimer_=-1,this.signalInfo_={},this.currentState_=Sl,this.reconnectionCount_=0,this.reconnectionTimer_=-1,this.lastMessageTime_=-1,this.seq_=0,this.log_=ke.createLogger({id:"ws|"+this.userId_,userId:this.userId_,sdkAppId:this.sdkAppId_}),this.emitter_=new _i}return ye(e,[{key:"isOnline",get:function(){return this.currentState_===cc&&Date.now()-this.lastMessageTime_<12e3}},{key:"connect",value:function(){var t=this;return new Promise(function(n,r){t.log_.info("connect to url: ".concat(t.urlWithParam_)),t.emitConnectionStateChanged(hT),t.socket_=new WebSocket(t.urlWithParam_),t.bindSocket(t.socket_),t.backupTimer_=setTimeout(function(){t.isConnected_||(t.log_.info("trying to connect to backupUrl"),t.tryConnectBackup())},5e3),t.once(sc,n),t.once(vm,r)})}},{key:"tryConnectBackup",value:function(){this.backupSocket_||(this.unbindAndCloseSocket(Ze),this.log_.debug("try to connect to url: ".concat(this.backupUrlWithParam_)),this.backupSocket_=new WebSocket(this.backupUrlWithParam_),this.bindSocket(this.backupSocket_))}},{key:"bindSocket",value:function(t){t.onopen=this.onopen.bind(this),t.onclose=this.onclose.bind(this),t.onerror=this.onerror.bind(this),t.onmessage=this.onmessage.bind(this)}},{key:"unbindSocket",value:function(t){t.onopen=function(){},t.onclose=function(){},t.onerror=function(){},t.onmessage=function(){}}},{key:"unbindAndCloseSocket",value:function(t){if(t===Ze){if(this.socket_){this.unbindSocket(this.socket_);try{this.socket_.close(1e3)}catch(n){}this.socket_=null}}else if(this.backupSocket_){this.unbindSocket(this.backupSocket_);try{this.backupSocket_.close(1e3)}catch(n){}this.backupSocket_=null}}},{key:"clearBackupTimer",value:function(){this.backupTimer_!==-1&&(clearTimeout(this.backupTimer_),this.backupTimer_=-1)}},{key:"clearReconnectionTimer",value:function(){this.reconnectionTimer_!==-1&&(clearTimeout(this.reconnectionTimer_),this.reconnectionTimer_=-1)}},{key:"onopen",value:function(t){if(!this.isConnected_){this.isConnected_=!0,this.isConnecting_=!1,this.isReconnecting_&&aa(this.signalInfo_)&&this.stopReconnection(),this.clearBackupTimer(),t.target===this.socket_?(this.unbindAndCloseSocket(Ki),this.socketInUse_=this.socket_):(this.unbindAndCloseSocket(Ze),this.socketInUse_=this.backupSocket_);var n=t.target.url;this.log_.info("websocket[".concat(n,"] is connected")),this.currentState_===hT?this.addSignalEvent($U,"signal channel is connected"):this.currentState_===gm&&this.addSignalEvent(n6,"signal channel reconnect success"),this.emitConnectionStateChanged(cc),this.emitter_.emit(sc)}}},{key:"onclose",value:function(t){var n=t.target.url,r=t.target===this.socketInUse_;this.log_.info("websocket[".concat(n," InUse: ").concat(r,"] is closed with code: ").concat(t.code)),t.target===this.socketInUse_&&(this.isConnected_=!1,this.emitConnectionStateChanged(Sl),this.addSignalEvent(YU,"signal channel is disconnected"),t.wasClean&&t.code===1e3||(this.log_.warn("onclose code:".concat(t.code," reason:").concat(t.reason)),this.log_.warn("close current websocket and schedule a reconnect timeout"),this.socketInUse_.onclose=function(){},this.socketInUse_.close(4011),this.socket_=this.backupSocket_=this.socketInUse_=null,this.reconnect(Ze)))}},{key:"onerror",value:function(t){var n=t.target.url;this.log_.error("websocket[".concat(n,"] error observed")),this.isConnected_?t.target===this.socketInUse_&&(this.isConnected_=!1,this.unbindAndCloseSocket(Ze),this.unbindAndCloseSocket(Ki),this.socketInUse_=null,this.reconnect(Ze)):(this.isReconnecting_||Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:Zp,code:Y.UNKNOWN}),t.target==this.socket_?(this.unbindAndCloseSocket(Ze),this.reconnect(Ki)):(this.unbindAndCloseSocket(Ki),this.reconnect(Ze))),this.isConnecting_=!1,this.isConnected_=!1}},{key:"onmessage",value:function(t){if(this.isConnected_){this.lastMessageTime_=Date.now();var n=JSON.parse(t.data),r=n.cmd,i=n.data,o=Object.values(jr),a=Object.keys(jr)[o.indexOf(r)],s=vt[a];switch(vU.includes(r)||(this.log_.debug("received msg: ".concat(t.data)),this.log_.info("Received event: [ ".concat(s||"unknown cmd: "+r," ]"))),r){case jr.CHANNEL_SETUP_RESULT:if(n.code===0)this.signalInfo_.clientIp=i.clientIp,this.signalInfo_.signalIp=i.signalInnerIp,this.signalInfo_.tinyId=n.tinyId,i.svrTime&&function(u){fp=u-new Date().getTime();var d=new Date;d.setTime(u),ke.info("baseTime from server: "+d+" offset: "+fp)}(i.svrTime),this.log_.info("ChannelSetup Success"),Ie.logSuccessEvent({userId:this.userId_,eventType:Zp}),this.emitter_.emit(lT,{signalInfo:this.signalInfo_});else{var c=new ee({code:Y.SIGNAL_CHANNEL_SETUP_FAILED,extraCode:n.code,message:ne({key:k3,data:{errorCode:n.code,errorMsg:n.message}})});this.log_.error("".concat(n.code,", ").concat(n.message)),this.close(),Ie.logFailedEvent({userId:this.userId_,eventType:Zp,error:c}),this.emitter_.emit(dT,c)}break;case jr.JOIN_ROOM_RESULT:n.code===0&&(this.signalInfo_.relayIp=i.relayOuterIp,this.signalInfo_.relayInnerIp=i.relayInnerIp,this.signalInfo_.relayPort=i.relayPort,this.log_.info("signalIp:".concat(this.signalInfo_.signalIp," clientIp:").concat(this.signalInfo_.clientIp," relayIp: ").concat(this.signalInfo_.relayIp))),this.emitter_.emit(s,{data:n});break;case jr.CHANNEL_RECONNECT_RESULT:n.code===0?(this.log_.warn("reconnect success"),this.stopReconnection(),Ie.logSuccessEvent({userId:this.userId_,eventType:Nb}),this.client_.syncUserList(),this.client_.checkConnectionsToReconnect()):(this.log_.warn("reconnect failed, ".concat(n.code," ").concat(n.message)),this.client_.reJoin());break;default:this.emitter_.emit(s,{data:n})}}}},{key:"addSignalEvent",value:function(t,n){vn(this.userId_,{eventId:t,eventDesc:n,timestamp:on(),userId:this.userId_,tinyId:this.signalInfo_.tinyId})}},{key:"reconnect",value:function(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ze;if(this.isConnecting_||this.reconnectionTimer_!==-1)this.log_.info("signal channel is reconnecting, ignoring current reconnection");else{if(this.reconnectionCount_>=$p){this.log_.warn("SDK has tried reconnect signal channel for ".concat($p," times, but all failed. please check your network"));var r=new ee({code:Y.SIGNAL_CHANNEL_RECONNECTION_FAILED,message:ne({key:b3})});return Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:Nb,error:r}),this.addSignalEvent(r6,"signal channel reconnect fail"),void this.emitter_.emit(vm,r)}this.isConnecting_=!0,this.reconnectionCount_++,this.currentState_!==gm&&(this.emitConnectionStateChanged(gm),this.addSignalEvent(t6,"signal channel is reconnecting")),this.log_.warn("reconnecting to ".concat(n," signal channel [").concat(this.reconnectionCount_,"/").concat($p,"]"));var i=this.getReconnectionUrl(n);n===Ze?(this.socket_=new WebSocket(i),this.bindSocket(this.socket_)):(this.backupSocket_=new WebSocket(i),this.bindSocket(this.backupSocket_));var o=Mf(this.reconnectionCount_);this.reconnectionTimer_=setTimeout(function(){t.log_.warn("reconnect ".concat(n," signal channel timeout(").concat(o/1e3,"s), close and try again")),t.isConnecting_=!1,t.clearReconnectionTimer(),t.unbindAndCloseSocket(n),t.reconnect(n===Ze?Ki:Ze)},o)}}},{key:"isConnected",value:function(){return this.isConnected_}},{key:"isReconnecting_",get:function(){return this.reconnectionTimer_!==-1}},{key:"getReconnectionUrl",value:function(t){var n=t===Ze?this.urlWithParam_:this.backupUrlWithParam_;if(!aa(this.signalInfo_)&&n.indexOf("&rc=1")===-1){var r=this.client_.getRoomId(),i=this.client_.getUseStringRoomId();n+="&rc=1&relayInnerIp=".concat(this.signalInfo_.relayInnerIp,"&relayOuterIp=").concat(this.signalInfo_.relayIp,"&relayPort=").concat(this.signalInfo_.relayPort,"&roomId=").concat(r,"&useStringRoomId=").concat(i)}return n}},{key:"send",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.isConnected_){var r={cmd:t,data:n,userId:this.userId_,tinyId:this.signalInfo_.tinyId,seq:++this.seq_};return this.socketInUse_.send(JSON.stringify(r)),r.seq}}},{key:"sendWaitForResponse",value:function(t){var n=this,r=t.command,i=t.data,o=t.timeout,a=o===void 0?5e3:o,s=t.responseCommand,c=t.commandDesc,u=t.enableLog,d=u===void 0||u;return new Promise(function(h,_){var y=setTimeout(function(){n.off(s,b);var g=new ee({code:Y.API_CALL_TIMEOUT,message:ne({key:S3,data:{commandDesc:c,command:r}})});d&&n.log_.warn(g),_(g)},a),b=function g(I){I.data.seq===f&&(clearTimeout(y),n.off(s,g),h(I))};n.on(s,b);var f=n.send(r,i)})}},{key:"sendWaitForResponseWithRetry",value:function(){var t=this,n=arguments.length<=0?void 0:arguments[0],r=n.commandDesc,i=n.command,o=n.retries,a=o===void 0?0:o,s=n.retryTimeout,c=s===void 0?0:s;return oc({retryFunction:this.sendWaitForResponse,onRetrying:function(u){t.log_.warn("".concat(r||i," timeout observed, retrying [").concat(u,"/").concat(a,"]"))},settings:{retries:a,timeout:c},context:this}).apply(void 0,arguments)}},{key:"getCurrentState",value:function(){return this.currentState_}},{key:"getSignalInfo",value:function(){return this.signalInfo_}},{key:"stopReconnection",value:function(){this.isReconnecting_&&(this.reconnectionCount_=0,this.clearReconnectionTimer())}},{key:"close",value:function(){this.log_.info("close SignalChannel"),this.clearBackupTimer(),this.stopReconnection(),this.signalInfo_={},this.isConnecting_=!1,this.isConnected_=!1,this.socketInUse_=null,this.unbindAndCloseSocket(Ze),this.unbindAndCloseSocket(Ki),this.emitConnectionStateChanged(Sl)}},{key:"on",value:function(t,n,r){this.emitter_.on(t,n,r)}},{key:"removeListener",value:function(t,n,r){this.emitter_.removeListener(t,n,r)}},{key:"once",value:function(t,n,r){this.emitter_.once(t,n,r)}},{key:"off",value:function(t,n,r){this.emitter_.off(t,n,r)}},{key:"emitConnectionStateChanged",value:function(t){t!==this.currentState_&&(this.emitter_.emit(mm,{prevState:this.currentState_,state:t}),this.currentState_=t)}}]),e}(),v6=Me,g6=an.find,_6=vu,yT="find",ST=!0;yT in[]&&Array(1).find(function(){ST=!1}),v6({target:"Array",proto:!0,forced:ST},{find:function(e){return g6(this,e,arguments.length>1?arguments[1]:void 0)}}),_6(yT);var er={},bT={},ym={exports:{}},kT=ym.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 e.address!=null?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return e.subtype!=null?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return e.sessionConfig!=null?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=e.raddr!=null?" raddr %s rport %d":"%v%v",t+=e.tcptype!=null?" tcptype %s":"%v",e.generation!=null&&(t+=" generation %d"),t+=e["network-id"]!=null?" network-id %d":"%v",t+=e["network-cost"]!=null?" 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 e.attribute!=null&&(t+=" %s",e.value!=null&&(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 e.maxMessageSize!=null?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(e.clksrcExt!=null?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=e.id!=null?"id=%s %s":"%v%s",t+=e.mediaClockValue!=null?"=%s":"",t+=e.rateNumerator!=null?" rate=%s":"",t+=e.rateDenominator!=null?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(kT).forEach(function(e){kT[e].forEach(function(t){t.reg||(t.reg=/(.*)/),t.format||(t.format="%s")})}),function(e){var t=function(a){return String(Number(a))===a?Number(a):a},n=function(a,s,c){var u=a.name&&a.names;a.push&&!s[a.push]?s[a.push]=[]:u&&!s[a.name]&&(s[a.name]={});var d=a.push?{}:u?s[a.name]:s;(function(h,_,y,b){if(b&&!y)_[b]=t(h[1]);else for(var f=0;f<y.length;f+=1)h[f+1]!=null&&(_[y[f]]=t(h[f+1]))})(c.match(a.reg),d,a.names,a.name),a.push&&s[a.push].push(d)},r=ym.exports,i=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(a){var s={},c=[],u=s;return a.split(/(\r\n|\r|\n)/).filter(i).forEach(function(d){var h=d[0],_=d.slice(2);h==="m"&&(c.push({rtp:[],fmtp:[]}),u=c[c.length-1]);for(var y=0;y<(r[h]||[]).length;y+=1){var b=r[h][y];if(b.reg.test(_))return n(b,u,_)}}),s.media=c,s};var o=function(a,s){var c=s.split(/=(.+)/,2);return c.length===2?a[c[0]]=t(c[1]):c.length===1&&s.length>1&&(a[c[0]]=void 0),a};e.parseParams=function(a){return a.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(a){return a.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(a){for(var s=[],c=a.split(" ").map(t),u=0;u<c.length;u+=3)s.push({component:c[u],ip:c[u+1],port:c[u+2]});return s},e.parseImageAttributes=function(a){return a.split(" ").map(function(s){return s.substring(1,s.length-1).split(",").reduce(o,{})})},e.parseSimulcastStreamList=function(a){return a.split(";").map(function(s){return s.split(",").map(function(c){var u,d=!1;return c[0]!=="~"?u=t(c):(u=t(c.substring(1,c.length)),d=!0),{scid:u,paused:d}})})}}(bT);var Sm=ym.exports,y6=/%[sdv%]/g,S6=function(e){var t=1,n=arguments,r=n.length;return e.replace(y6,function(i){if(t>=r)return i;var o=n[t];switch(t+=1,i){case"%%":return"%";case"%s":return String(o);case"%d":return Number(o);case"%v":return""}})},lc=function(e,t,n){var r=[e+"="+(t.format instanceof Function?t.format(t.push?n:n[t.name]):t.format)];if(t.names)for(var i=0;i<t.names.length;i+=1){var o=t.names[i];t.name?r.push(n[t.name][o]):r.push(n[t.names[i]])}else r.push(n[t.name]);return S6.apply(null,r)},b6=["v","o","s","i","u","e","p","c","b","t","r","z","a"],k6=["i","c","b","a"],oa=bT,T6=function(e,t){t=t||{},e.version==null&&(e.version=0),e.name==null&&(e.name=" "),e.media.forEach(function(o){o.payloads==null&&(o.payloads="")});var n=t.outerOrder||b6,r=t.innerOrder||k6,i=[];return n.forEach(function(o){Sm[o].forEach(function(a){a.name in e&&e[a.name]!=null?i.push(lc(o,a,e)):a.push in e&&e[a.push]!=null&&e[a.push].forEach(function(s){i.push(lc(o,a,s))})})}),e.media.forEach(function(o){i.push(lc("m",Sm.m[0],o)),r.forEach(function(a){Sm[a].forEach(function(s){s.name in o&&o[s.name]!=null?i.push(lc(a,s,o)):s.push in o&&o[s.push]!=null&&o[s.push].forEach(function(c){i.push(lc(a,s,c))})})})}),i.join(`\r
|
|
89
|
+
`+s.stack)}},e},Hk=function(e){return+e<10?"0".concat(e):e},PV=function(e){var t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;var n=t.split("."),r=Hk(n[1])+Hk(n[2]);return n[1]-15>0&&(n[1]="15"),n[2]-15>0&&(n[2]="15"),n.join(".")+"."+r};function gl(e){var t=e.url,n=e.body,r=e.method,i=e.timeout,o=new XMLHttpRequest;return new Promise(function(a,s){o.onload=function(u){if(o.status>=200&&o.status<300&&o.responseText.length>0)try{var l=JSON.parse(o.response);a({data:l})}catch(h){a({data:o.response})}else o.status>0&&s({code:o.status,message:"request failed, readyState:".concat(o.readyState," status:").concat(o.status," loaded size:").concat(u.loaded)})};var c=function(u){s({code:o.readyState,message:"request ".concat(u.type,", readyState:").concat(o.readyState," status:").concat(o.status," loaded size:").concat(u.loaded)})};o.onerror=c,o.onabort=c,o.ontimeout=c,o.timeout=i||5e3,o.open(r||"POST",t,!0),o.send(n)})}var zk={exports:{}};(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}function i(c,u,l){this.fn=c,this.context=u,this.once=l||!1}function o(c,u,l,h,_){if(typeof l!="function")throw new TypeError("The listener must be a function");var y=new i(l,h||c,_),S=n?n+u:u;return c._events[S]?c._events[S].fn?c._events[S]=[c._events[S],y]:c._events[S].push(y):(c._events[S]=y,c._eventsCount++),c}function a(c,u){--c._eventsCount==0?c._events=new r:delete c._events[u]}function s(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1)),s.prototype.eventNames=function(){var c,u,l=[];if(this._eventsCount===0)return l;for(u in c=this._events)t.call(c,u)&&l.push(n?u.slice(1):u);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(c)):l},s.prototype.listeners=function(c){var u=n?n+c:c,l=this._events[u];if(!l)return[];if(l.fn)return[l.fn];for(var h=0,_=l.length,y=new Array(_);h<_;h++)y[h]=l[h].fn;return y},s.prototype.listenerCount=function(c){var u=n?n+c:c,l=this._events[u];return l?l.fn?1:l.length:0},s.prototype.emit=function(c,u,l,h,_,y){var S=n?n+c:c;if(!this._events[S])return!1;var f,g,I=this._events[S],w=arguments.length;if(I.fn){switch(I.once&&this.removeListener(c,I.fn,void 0,!0),w){case 1:return I.fn.call(I.context),!0;case 2:return I.fn.call(I.context,u),!0;case 3:return I.fn.call(I.context,u,l),!0;case 4:return I.fn.call(I.context,u,l,h),!0;case 5:return I.fn.call(I.context,u,l,h,_),!0;case 6:return I.fn.call(I.context,u,l,h,_,y),!0}for(g=1,f=new Array(w-1);g<w;g++)f[g-1]=arguments[g];I.fn.apply(I.context,f)}else{var B,z=I.length;for(g=0;g<z;g++)switch(I[g].once&&this.removeListener(c,I[g].fn,void 0,!0),w){case 1:I[g].fn.call(I[g].context);break;case 2:I[g].fn.call(I[g].context,u);break;case 3:I[g].fn.call(I[g].context,u,l);break;case 4:I[g].fn.call(I[g].context,u,l,h);break;default:if(!f)for(B=1,f=new Array(w-1);B<w;B++)f[B-1]=arguments[B];I[g].fn.apply(I[g].context,f)}}return!0},s.prototype.on=function(c,u,l){return o(this,c,u,l,!1)},s.prototype.once=function(c,u,l){return o(this,c,u,l,!0)},s.prototype.removeListener=function(c,u,l,h){var _=n?n+c:c;if(!this._events[_])return this;if(!u)return a(this,_),this;var y=this._events[_];if(y.fn)y.fn!==u||h&&!y.once||l&&y.context!==l||a(this,_);else{for(var S=0,f=[],g=y.length;S<g;S++)(y[S].fn!==u||h&&!y[S].once||l&&y[S].context!==l)&&f.push(y[S]);f.length?this._events[_]=f.length===1?f[0]:f:a(this,_)}return this},s.prototype.removeAllListeners=function(c){var u;return c?(u=n?n+c:c,this._events[u]&&a(this,u)):(this._events=new r,this._eventsCount=0),this},s.prototype.off=s.prototype.removeListener,s.prototype.addListener=s.prototype.on,s.prefixed=n,s.EventEmitter=s,e.exports=s})(zk);var yi=zk.exports,K=new yi,_l=1,jf=2,Bf=3,ho=4,po=5,Ff=20,Gf=21,fo=22,Hf=23,zf=24,Wf=27,Jf=28,yl=29,Wk=30,qf=33,Jk=31,Kf=32,DV=100,qk=101,ic=102,Xf=103,jn=110,Sl=111,Qf=112,jr=113,Br=114,LV=115,oa=116,OV=120,Yf=121,$f=122,Zf=123,ac=130,em=131,tm=132,nm=133,rm=134,im=135,am=136,om=137,sm=200,cm=201,um=300,oc=301,lm=302,dm=303;function sc(e){var t=e.retryFunction,n=e.settings,r=e.onError,i=e.onRetrying,o=e.onRetryFailed,a=e.context;return function(){for(var s=this,c=arguments.length,u=new Array(c),l=0;l<c;l++)u[l]=arguments[l];var h=n.retries||5,_=0,y=-1,S=0,f=function(){var g=N(p().mark(function I(w,B){var z,$,ue,L;return p().wrap(function(k){for(;;)switch(k.prev=k.next){case 0:return z=a||s,k.prev=1,k.next=4,t.apply(z,u);case 4:$=k.sent,_=0,w($),k.next=14;break;case 9:k.prev=9,k.t0=k.catch(1),ue=function(){clearTimeout(y),_=0,S=2,B(k.t0)},L=function(){S!==2&&_<h?(_++,S=1,In(i)&&i.call(z,_,ue),y=setTimeout(function(){y=-1,f(w,B)},ge(n.timeout)?1e3:n.timeout)):(ue(),In(o)&&o.call(z,k.t0))},In(r)?r.call(z,k.t0,L,B,u):L();case 14:case"end":return k.stop()}},I,null,[[1,9]])}));return function(I,w){return g.apply(this,arguments)}}();return new Promise(f)}}var MV=Ie(function e(t){J(this,e),this.log=t.log,this.level=t.level,this.userId=t.userId,this.sdkAppId=t.sdkAppId,this.forAllJoinedClients=t.forAllJoinedClients,this.uploaded=!1}),NV=function(){function e(t){J(this,e),this.id_=t.id,this.userId_=t.userId,this.sdkAppId_=t.sdkAppId,this.type_=t.type,this.isLocal_=!Ur(t.isLocal)||t.isLocal}return Ie(e,[{key:"setUserId",value:function(t){this.userId_=t}},{key:"setSdkAppId",value:function(t){this.sdkAppId_=t}},{key:"log",value:function(t,n){ye.log({log:"[".concat(this.isLocal_?"\u2191":"\u2193").concat(this.id_,"] ").concat(this.type_?this.type_+" ":"").concat(n),level:t,forAllJoinedClients:ge(this.userId_),userId:this.userId_,sdkAppId:this.sdkAppId_})}},{key:"info",value:function(t){this.log(Un.INFO,t)}},{key:"debug",value:function(t){this.log(Un.DEBUG,t)}},{key:"warn",value:function(t){this.log(Un.WARN,t)}},{key:"error",value:function(t){this.log(Un.ERROR,t)}}]),e}(),VV=!($i||lo),UV=function(){function e(){var r=this;J(this,e),this.clients_=new Set,this.queue_=[],this.timeoutId_=-1,this.logLevel_=Un.DEBUG,this.logLevelToUpload_=Un.INFO,this.enableUploadLog_=!0,this.isAbleToUpload_=!1,this.checkURLParam(),K.on(Wk,function(i){var o=i.client;r.timeoutId_===-1&&r.startUpload(),r.clients_.add(o)}),K.on(qf,function(i){var o=i.client;return r.clients_.delete(o)}),K.on(Jk,function(i){i&&ia(i.config)&&Yi[i.config.logLevelToUpload]&&(r.logLevelToUpload_=i.config.logLevelToUpload)}),K.on(ho,this.setIsAbleToUpload,this),K.on(po,this.setIsAbleToUpload,this)}var t,n;return Ie(e,[{key:"getIsAbleToUpload",value:function(){return this.isAbleToUpload_}},{key:"setIsAbleToUpload",value:function(){this.isAbleToUpload_=!0,K.off(ho,this.setIsAbleToUpload,this),K.off(po,this.setIsAbleToUpload,this)}},{key:"startUpload",value:(n=N(p().mark(function r(){var i=this;return p().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,o.next=3,this.upload();case 3:o.next=7;break;case 5:o.prev=5,o.t0=o.catch(0);case 7:this.timeoutId_=setTimeout(function(){return i.startUpload()},2e3);case 8:case"end":return o.stop()}},r,this,[[0,5]])})),function(){return n.apply(this,arguments)})},{key:"getLogsToUpload",value:function(){var r=this,i={map:new Map,splicedQueue:[]};if(this.queue_[0].forAllJoinedClients&&this.clients_.size===0)return i;for(var o=0,a=function(){if(o===50)return"break";var s=r.queue_[o];s.forAllJoinedClients?r.clients_.forEach(function(c){if(c.getIsJoined()){var u=c.getUserId(),l=c.getSDKAppId();i.map.has(u)?i.map.get(u).logs.push(s):i.map.set(u,{userId:u,sdkAppId:l,logs:[s]})}}):i.map.has(s.userId)?i.map.get(s.userId).logs.push(s):i.map.set(s.userId,{userId:s.userId,sdkAppId:s.sdkAppId,logs:[s]})};o<this.queue_.length&&a()!=="break";o++);return i.map.size>0&&(i.splicedQueue=this.queue_.splice(0,o)),i}},{key:"upload",value:(t=N(p().mark(function r(){var i,o,a,s,c,u,l,h,_,y;return p().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:if(this.queue_.length!==0&&this.isAbleToUpload_){S.next=2;break}return S.abrupt("return");case 2:if(i=this.getLogsToUpload(),o=i.map,a=i.splicedQueue,o.size!==0){S.next=5;break}return S.abrupt("return");case 5:S.prev=5,s=be(o.values()),c=0;case 8:if(!(c<s.length)){S.next=16;break}return u=s[c],l=u.userId,h=u.sdkAppId,_=u.logs,S.next=12,this.uploadLogWithRetry(JSON.stringify({timestamp:q0(),sdkAppId:String(h),userId:l,version:ji,log:_.map(function(f){return f.log}).join(`
|
|
90
|
+
`)}),h);case 12:_.forEach(function(f){return f.uploaded=!0});case 13:c++,S.next=8;break;case 16:S.next=20;break;case 18:S.prev=18,S.t0=S.catch(5);case 20:y=a.filter(function(f){return!f.uploaded}),y.length>0&&(this.queue_=y.concat(this.queue_));case 22:case"end":return S.stop()}},r,this,[[5,18]])})),function(){return t.apply(this,arguments)})},{key:"uploadLogWithRetry",value:function(r,i){return sc({retryFunction:function(){return gl({url:fl(i,yb),body:r,timeout:5e3})},settings:{retries:3,timeout:1e3},onError:function(o,a){a()}})()}},{key:"getPrefix",value:function(r){var i=new Date;return i.setTime(on()),String.prototype.padStart?"[".concat(i.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(i.getMilliseconds().toString().padStart(3,"0"),"] <").concat(Yi[r],">"):"[".concat(i.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(i.getMilliseconds(),"] <").concat(Yi[r],">")}},{key:"getLogLevel",value:function(){return this.logLevel_}},{key:"setLogLevel",value:function(r){ge(Yi[r])||(this.logLevel_!==r&&this.info("setLogLevel ".concat(r)),this.logLevel_=r)}},{key:"enableUploadLog",value:function(){this.enableUploadLog_=!0}},{key:"disableUploadLog",value:function(){this.enableUploadLog_=!1}},{key:"log",value:function(r){var i=r.log,o=r.level,a=r.forAllJoinedClients,s=a===void 0||a,c=r.userId,u=r.sdkAppId;if(i="".concat(this.getPrefix(o)," ").concat(i),this.enableUploadLog_&&o>=this.logLevelToUpload_&&this.queue_.push(new MV({log:i,level:o,userId:c,sdkAppId:u,forAllJoinedClients:s})),!(o<this.logLevel_)){var l=Yi[o]?Yi[o].toLowerCase():"info";VV?console[l]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",i):console[l](i)}}},{key:"debug",value:function(r){this.log({log:r,level:Un.DEBUG})}},{key:"info",value:function(r){this.log({log:r,level:Un.INFO})}},{key:"warn",value:function(r){this.log({log:r,level:Un.WARN})}},{key:"error",value:function(r){this.log({log:r,level:Un.ERROR})}},{key:"createLogger",value:function(r){return new NV(r)}},{key:"checkURLParam",value:function(){var r=new URLSearchParams(location.search).get("logLevelToUpload");Yi[r]&&(this.logLevelToUpload_=r)}}]),e}(),ye=new UV,Kk=!0,jV=st,BV=Math.floor,Xk=Number.isInteger||function(e){return!jV(e)&&isFinite(e)&&BV(e)===e};Me({target:"Number",stat:!0},{isInteger:Xk});var hm,FV=Me,Qk=pe,GV=Se.f,HV=gr,Yk=Wt,zV=fS,WV=pt,JV=mS,$k=Qk("".startsWith),qV=Qk("".slice),KV=Math.min,Zk=JV("startsWith");FV({target:"String",proto:!0,forced:!!(Zk||(hm=GV(String.prototype,"startsWith"),!hm||hm.writable))&&!Zk},{startsWith:function(e){var t=Yk(WV(this));zV(e);var n=HV(KV(arguments.length>1?arguments[1]:void 0,t.length)),r=Yk(e);return $k?$k(t,r,n):qV(t,n,n+r.length)===r}});var eT=_e,XV=pe,QV=Qe,YV=oe,pm=fu,$V=Yd,ZV=qt,eU=jt,tU=yn,mo=Object.assign,tT=Object.defineProperty,nU=XV([].concat),nT=!mo||YV(function(){if(eT&&mo({b:1},mo(tT({},"a",{enumerable:!0,get:function(){tT(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(i){t[i]=i}),mo({},e)[n]!=7||pm(mo({},t)).join("")!=r})?function(e,t){for(var n=eU(e),r=arguments.length,i=1,o=$V.f,a=ZV.f;r>i;)for(var s,c=tU(arguments[i++]),u=o?nU(pm(c),o(c)):pm(c),l=u.length,h=0;l>h;)s=u[h++],eT&&!QV(a,c,s)||(n[s]=c[s]);return n}:mo,rT=nT;Me({target:"Object",stat:!0,arity:2,forced:Object.assign!==rT},{assign:rT});var iT=pe,rU=Ut,iU=st,aU=Tt,aT=Ga,oU=Oe,oT=Function,sU=iT([].concat),cU=iT([].join),fm={},uU=function(e,t,n){if(!aU(fm,t)){for(var r=[],i=0;i<t;i++)r[i]="a["+i+"]";fm[t]=oT("C,a","return new C("+cU(r,",")+")")}return fm[t](e,n)},lU=oU?oT.bind:function(e){var t=rU(this),n=t.prototype,r=aT(arguments,1),i=function(){var o=sU(r,aT(arguments));return this instanceof i?uU(t,o.length,o):t.apply(e,o)};return iU(n)&&(i.prototype=n),i},sT=lU;Me({target:"Function",proto:!0,forced:Function.bind!==sT},{bind:sT});var dU=Me,hU=an.findIndex,pU=gu,cT="findIndex",uT=!0;cT in[]&&Array(1).findIndex(function(){uT=!1}),dU({target:"Array",proto:!0,forced:uT},{findIndex:function(e){return hU(this,e,arguments.length>1?arguments[1]:void 0)}}),pU(cT);var fU=_e,lT=pe,mU=fu,vU=Sn,gU=lT(qt.f),_U=lT([].push),dT=function(e){return function(t){for(var n,r=vU(t),i=mU(r),o=i.length,a=0,s=[];o>a;)n=i[a++],fU&&!gU(r,n)||_U(s,e?[n,r[n]]:r[n]);return s}},yU={entries:dT(!0),values:dT(!1)}.values;Me({target:"Object",stat:!0},{values:function(e){return yU(e)}});var hT=1,pT=5,mm=2,cc=3,vm=4,bl="DISCONNECTED",fT="CONNECTING",gm="RECONNECTING",uc="CONNECTED",Fr={CLIENT_BANNED:9,CHANNEL_SETUP_RESULT:19,CHANNEL_RECONNECT_RESULT:514,JOIN_ROOM_RESULT:20,PEER_JOIN:4134,PEER_LEAVE:4135,STREAM_ADDED:16,STREAM_REMOVED:18,UPLINK_NETWORK_STATS:22,UPDATE_REMOTE_MUTE_STAT:23,PUBLISH_RESULT:4098,PUBLISH_STATE_CHANGE_RESULT:4112,UNPUBLISH_RESULT:4100,SUBSCRIBE_RESULT:4102,UNSUBSCRIBE_RESULT:4104,SUBSCRIBE_CHANGE_RESULT:4106,MUTE_RESULT:4108,UPDATE_OFFER_RESULT:4128,START_PUBLISH_TENCENT_CDN_RES:1286,STOP_PUBLISH_TENCENT_CDN_RES:1288,START_PUBLISH_GIVEN_CDN_RES:777,STOP_PUBLISH_GIVEN_CDN_RES:779,START_MIX_TRANSCODE_RES:781,STOP_MIX_TRANSCODE_RES:783,USER_LIST_RES:4137,SWITCH_ROLE_RES:4110,UPDATE_CONSTRAINT_CONFIG_RES:772},SU=[Fr.UPDATE_REMOTE_MUTE_STAT,Fr.UPLINK_NETWORK_STATS,Fr.USER_LIST_RES,Fr.MUTE_RESULT],vt={CLIENT_BANNED:"client-banned",CHANNEL_SETUP_RESULT:"channel-setup-result",CHANNEL_RECONNECT_RESULT:"channel-reconnect-result",JOIN_ROOM_RESULT:"join-room-result",PEER_JOIN:"peer-join",PEER_LEAVE:"peer-leave",STREAM_ADDED:"stream-added",STREAM_REMOVED:"stream-removed",UPLINK_NETWORK_STATS:"uplink-network-stats",UPDATE_REMOTE_MUTE_STAT:"update-remote-mute-stat",PUBLISH_RESULT:"publish-result",PUBLISH_STATE_CHANGE_RESULT:"publish-state-change-result",UNPUBLISH_RESULT:"unpublish-result",SUBSCRIBE_RESULT:"subscribe-result",SUBSCRIBE_CHANGE_RESULT:"subscribe-change-result",UNSUBSCRIBE_RESULT:"unsubscribe-result",UPDATE_OFFER_RESULT:"update-offer-result",START_PUBLISH_TENCENT_CDN_RES:"start-publish-tencent-cdn-res",STOP_PUBLISH_TENCENT_CDN_RES:"stop-publish-tencent-cdn-res",START_PUBLISH_GIVEN_CDN_RES:"start-publish-given-cdn-res",STOP_PUBLISH_GIVEN_CDN_RES:"stop-publish-given-cdn-res",START_MIX_TRANSCODE_RES:"start-mix-transcode-res",STOP_MIX_TRANSCODE_RES:"stop-mix-transcode-res",USER_LIST_RES:"user-list-res",SWITCH_ROLE_RES:"switch_role_res",MUTE_RESULT:"mute-result",UPDATE_CONSTRAINT_CONFIG_RES:"update-contraint-config-res"},bU="publish_change",kU="publish_state_change",TU="join",xU="leave",IU="quality_report",wU="mute_uplink",EU="publish",mT="unpublish",CU="subscribe",RU="unsubscribe",AU="subscribe_change",PU="start_publishing",DU="stop_publishing",LU="start_push_user_cdn",OU="stop_push_user_cdn",MU="start_mcu_mix",NU="stop_mcu_mix",VU="get_user_list",UU="change_role",jU="update_constraint_config",Y={INVALID_PARAMETER:4096,INVALID_OPERATION:4097,NOT_SUPPORTED:4098,DEVICE_NOT_FOUND:4099,INITIALIZE_FAILED:4100,SIGNAL_CHANNEL_SETUP_FAILED:16385,SIGNAL_CHANNEL_ERROR:16386,ICE_TRANSPORT_ERROR:16387,JOIN_ROOM_FAILED:16388,CREATE_OFFER_FAILED:16389,SIGNAL_CHANNEL_RECONNECTION_FAILED:16390,UPLINK_RECONNECTION_FAILED:16391,DOWNLINK_RECONNECTION_FAILED:16392,REMOTE_STREAM_NOT_EXIST:16400,CLIENT_BANNED:16448,SERVER_TIMEOUT:16449,SUBSCRIPTION_TIMEOUT:16450,PLAY_NOT_ALLOWED:16451,DEVICE_AUTO_RECOVER_FAILED:16452,START_PUBLISH_CDN_FAILED:16453,STOP_PUBLISH_CDN_FAILED:16454,START_MIX_TRANSCODE_FAILED:16455,STOP_MIX_TRANSCODE_FAILED:16456,NOT_SUPPORTED_H264:16457,SWITCH_ROLE_FAILED:16458,API_CALL_TIMEOUT:16459,SCHEDULE_FAILED:16460,API_CALL_ABORTED:16461,UNKNOWN:65535},ee=function(e){Ct(n,e);var t=Ar(n);function n(r){var i,o=r.name,a=o===void 0?"RtcError":o,s=r.message,c=r.code,u=c===void 0?Y.UNKNOWN:c,l=r.extraCode,h=l===void 0?0:l,_=r.constraint;J(this,n);var y="<".concat(function(S){for(var f in Y)if(Y[f]===S)return f;return"UNKNOWN"}(u)," 0x").concat(u.toString(16),">");return(i=t.call(this,s+"".concat(_?" constraint: ".concat(_):"")+"".concat(s!=null&&s.includes(y)?"":" "+y))).code_=u,i.extraCode_=h,i.name=a,i.message_=s,_&&(i.constraint=_),i}return Ie(n,[{key:"getCode",value:function(){return this.code_}},{key:"getExtraCode",value:function(){return this.extraCode_}}]),n}(zo(Error)),vT=32768,gT=32769,_T=32770,yT=32771,BU=32772,FU=32773,GU=32774,HU=32775,ST=32777,zU=32778,_m=32779,WU=32780,JU=32781,qU=32782,KU=32783,XU=32784,QU=32785,YU=32786,$U=32787,ZU=32788,e6=32789,t6=32790,n6=32791,r6=32792,i6=32793,a6=32794,o6=32795,s6=32796,c6=32797,u6=32798,l6=32799,d6=32800,h6=32801,p6=32802,f6=32803,m6=32804,lc=new Map,vn=function(e,t){var n=lc.get(e);n||(lc.set(e,[]),n=lc.get(e)),n.push(t)},v6=function(e){var t=lc.get(e),n=[];return t?(lc.delete(e),n=t.map(function(r){return{uint32_event_id:r.eventId,uint64_date:r.timestamp,str_userid:r.remoteUserId,str_event_json:r.eventDesc}})):n=[],n},g6=Object.prototype.hasOwnProperty;function Si(e){if(e==null)return!0;if(typeof e=="boolean")return!1;if(typeof e=="number")return e===0;if(typeof e=="string"||typeof e=="function"||Array.isArray(e))return e.length===0;if(e instanceof Error)return e.message==="";if(ia(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return e.size===0;case"[object Object]":for(var t in e)if(g6.call(e,t))return!1;return!0}return!1}var _6=function(){function e(){J(this,e);var t=ra(),n=t.name,r=t.version;this.roomIdMap_=new Map,this.configs_={sdkAppId:"",userId:"",version:ji,env:Yu,browserVersion:n+r,ua:navigator.userAgent}}return Ie(e,[{key:"setConfig",value:function(t){var n=t.sdkAppId,r=t.env,i=t.userId,o=t.roomId;n!==this.configs_.sdkAppId&&(this.configs_.sdkAppId=String(n)),this.configs_.env=r,this.configs_.userId=i,this.roomIdMap_.set(i,String(o))}},{key:"logEvent",value:function(t){if(!ta){var n=H(H(H({},t),this.configs_),{},{userId:t.userId||this.configs_.userId});ge(n.code)&&(n.code=n.result==="failed"?Y.UNKNOWN:0),this.sendRequest(fl(this.configs_.sdkAppId,WN),n)}}},{key:"logSuccessEvent",value:function(t){ta||(this.logEvent(H(H({},t),{},{result:"success",roomId:this.roomIdMap_.get(t.userId)})),this.configs_.env===Yu&&this.uploadEventToKibana(H(H({},t),{},{result:"success"})))}},{key:"logFailedEvent",value:function(t){if(!ta){var n=t.eventType,r=t.code,i=t.error,o=t.userId,a={roomId:this.roomIdMap_.get(o),userId:o,eventType:n,result:"failed",code:r||(i instanceof ee?i.getExtraCode()||i.getCode():Y.UNKNOWN)};this.logEvent(a),this.configs_.env===Yu&&this.uploadEventToKibana(H(H({},a),{},{error:i}))}}},{key:"uploadEventToKibana",value:function(t){var n="stat-".concat(t.eventType,"-").concat(t.result);t.eventType!=="delta-join"&&t.eventType!=="delta-leave"&&t.eventType!=="delta-publish"||(n="".concat(t.eventType,":").concat(t.delta)),this.uploadEvent({log:n,userId:t.userId}),t.result==="failed"&&(n="stat-".concat(t.eventType,"-").concat(t.result,"-").concat(t.code),this.uploadEvent({log:n,userId:t.userId,error:t.error}))}},{key:"uploadEvent",value:function(t){var n=t.log,r=t.userId,i=t.error,o={timestamp:q0(),sdkAppId:this.configs_.sdkAppId,userId:r||this.configs_.userId,version:this.configs_.version,log:n};i&&(o.errorInfo=i.message),this.sendRequest(fl(this.configs_.sdkAppId,yb),o)}},{key:"sendRequest",value:function(t,n){var r=this;ye.getIsAbleToUpload()?gl({url:t,body:JSON.stringify(n)}).catch(function(){}):setTimeout(function(){r.sendRequest(t,n)},1e3)}}]),e}(),xe=new _6,y6=function(){function e(t){J(this,e),this.client_=t.client,this.sdkAppId_=t.sdkAppId,this.userId_=t.userId,this.userSig_=t.userSig,this.url_=t.url,this.backupUrl_=t.backupUrl;var n="?sdkAppId=".concat(encodeURIComponent(this.sdkAppId_),"&userId=").concat(encodeURIComponent(this.userId_),"&userSig=").concat(encodeURIComponent(this.userSig_),"&roomId=").concat(encodeURIComponent(t.roomId)),r=this.client_.getSystemResult();if(r&&r.detail){var i=r.detail,o=i.isH264EncodeSupported,a=i.isVp8EncodeSupported,s=i.isH264DecodeSupported,c=i.isVp8DecodeSupported;n+="&enc264=".concat(Number(o),"&dec264=").concat(Number(s),"&encVp8=").concat(Number(a),"&decVp8=").concat(Number(c))}t.signalDomainWhenUnifiedProxy&&(n+="&signalDomain=".concat(encodeURIComponent(t.signalDomainWhenUnifiedProxy))),this.urlWithParam_="".concat(this.url_).concat(n),this.backupUrlWithParam_="".concat(this.backupUrl_).concat(n),this.isConnected_=!1,this.isConnecting_=!1,this.socketInUse_=null,this.socket_=null,this.backupSocket_=null,this.backupTimer_=-1,this.signalInfo_={},this.currentState_=bl,this.reconnectionCount_=0,this.reconnectionTimer_=-1,this.lastMessageTime_=-1,this.seq_=0,this.log_=ye.createLogger({id:"ws|"+this.userId_,userId:this.userId_,sdkAppId:this.sdkAppId_}),this.emitter_=new yi}return Ie(e,[{key:"isOnline",get:function(){return this.currentState_===uc&&Date.now()-this.lastMessageTime_<12e3}},{key:"connect",value:function(){var t=this;return new Promise(function(n,r){t.log_.info("connect to url: ".concat(t.urlWithParam_)),t.emitConnectionStateChanged(fT),t.socket_=new WebSocket(t.urlWithParam_),t.bindSocket(t.socket_),t.backupTimer_=setTimeout(function(){t.isConnected_||(t.log_.info("trying to connect to backupUrl"),t.tryConnectBackup())},5e3),t.once(cc,n),t.once(vm,r)})}},{key:"tryConnectBackup",value:function(){this.backupSocket_||(this.unbindAndCloseSocket(Ze),this.log_.debug("try to connect to url: ".concat(this.backupUrlWithParam_)),this.backupSocket_=new WebSocket(this.backupUrlWithParam_),this.bindSocket(this.backupSocket_))}},{key:"bindSocket",value:function(t){t.onopen=this.onopen.bind(this),t.onclose=this.onclose.bind(this),t.onerror=this.onerror.bind(this),t.onmessage=this.onmessage.bind(this)}},{key:"unbindSocket",value:function(t){t.onopen=function(){},t.onclose=function(){},t.onerror=function(){},t.onmessage=function(){}}},{key:"unbindAndCloseSocket",value:function(t){if(t===Ze){if(this.socket_){this.unbindSocket(this.socket_);try{this.socket_.close(1e3)}catch(n){}this.socket_=null}}else if(this.backupSocket_){this.unbindSocket(this.backupSocket_);try{this.backupSocket_.close(1e3)}catch(n){}this.backupSocket_=null}}},{key:"clearBackupTimer",value:function(){this.backupTimer_!==-1&&(clearTimeout(this.backupTimer_),this.backupTimer_=-1)}},{key:"clearReconnectionTimer",value:function(){this.reconnectionTimer_!==-1&&(clearTimeout(this.reconnectionTimer_),this.reconnectionTimer_=-1)}},{key:"onopen",value:function(t){if(!this.isConnected_){this.isConnected_=!0,this.isConnecting_=!1,this.isReconnecting_&&Si(this.signalInfo_)&&this.stopReconnection(),this.clearBackupTimer(),t.target===this.socket_?(this.unbindAndCloseSocket(Xi),this.socketInUse_=this.socket_):(this.unbindAndCloseSocket(Ze),this.socketInUse_=this.backupSocket_);var n=t.target.url;this.log_.info("websocket[".concat(n,"] is connected")),this.currentState_===fT?this.addSignalEvent(n6,"signal channel is connected"):this.currentState_===gm&&this.addSignalEvent(o6,"signal channel reconnect success"),this.emitConnectionStateChanged(uc),this.emitter_.emit(cc)}}},{key:"onclose",value:function(t){var n=t.target.url,r=t.target===this.socketInUse_;this.log_.info("websocket[".concat(n," InUse: ").concat(r,"] is closed with code: ").concat(t.code)),t.target===this.socketInUse_&&(this.isConnected_=!1,this.emitConnectionStateChanged(bl),this.addSignalEvent(t6,"signal channel is disconnected"),t.wasClean&&t.code===1e3||(this.log_.warn("onclose code:".concat(t.code," reason:").concat(t.reason)),this.log_.warn("close current websocket and schedule a reconnect timeout"),this.socketInUse_.onclose=function(){},this.socketInUse_.close(4011),this.socket_=this.backupSocket_=this.socketInUse_=null,this.reconnect(Ze)))}},{key:"onerror",value:function(t){var n=t.target.url;this.log_.error("websocket[".concat(n,"] error observed")),this.isConnected_?t.target===this.socketInUse_&&(this.isConnected_=!1,this.unbindAndCloseSocket(Ze),this.unbindAndCloseSocket(Xi),this.socketInUse_=null,this.reconnect(Ze)):(this.isReconnecting_||xe.logFailedEvent({userId:this.client_.getUserId(),eventType:Zp,code:Y.UNKNOWN}),t.target==this.socket_?(this.unbindAndCloseSocket(Ze),this.reconnect(Xi)):(this.unbindAndCloseSocket(Xi),this.reconnect(Ze))),this.isConnecting_=!1,this.isConnected_=!1}},{key:"onmessage",value:function(t){if(this.isConnected_){this.lastMessageTime_=Date.now();var n=JSON.parse(t.data),r=n.cmd,i=n.data,o=Object.values(Fr),a=Object.keys(Fr)[o.indexOf(r)],s=vt[a];switch(SU.includes(r)||(this.log_.debug("received msg: ".concat(t.data)),this.log_.info("Received event: [ ".concat(s||"unknown cmd: "+r," ]"))),r){case Fr.CHANNEL_SETUP_RESULT:if(n.code===0)this.signalInfo_.clientIp=i.clientIp,this.signalInfo_.signalIp=i.signalInnerIp,this.signalInfo_.tinyId=n.tinyId,i.svrTime&&function(u){fp=u-new Date().getTime();var l=new Date;l.setTime(u),ye.info("baseTime from server: "+l+" offset: "+fp)}(i.svrTime),this.log_.info("ChannelSetup Success"),xe.logSuccessEvent({userId:this.userId_,eventType:Zp}),this.emitter_.emit(hT,{signalInfo:this.signalInfo_});else{var c=new ee({code:Y.SIGNAL_CHANNEL_SETUP_FAILED,extraCode:n.code,message:ne({key:w3,data:{errorCode:n.code,errorMsg:n.message}})});this.log_.error("".concat(n.code,", ").concat(n.message)),this.close(),xe.logFailedEvent({userId:this.userId_,eventType:Zp,error:c}),this.emitter_.emit(pT,c)}break;case Fr.JOIN_ROOM_RESULT:n.code===0&&(this.signalInfo_.relayIp=i.relayOuterIp,this.signalInfo_.relayInnerIp=i.relayInnerIp,this.signalInfo_.relayPort=i.relayPort,this.log_.info("signalIp:".concat(this.signalInfo_.signalIp," clientIp:").concat(this.signalInfo_.clientIp," relayIp: ").concat(this.signalInfo_.relayIp))),this.emitter_.emit(s,{data:n});break;case Fr.CHANNEL_RECONNECT_RESULT:n.code===0?(this.log_.warn("reconnect success"),this.stopReconnection(),xe.logSuccessEvent({userId:this.userId_,eventType:Nb}),this.client_.syncUserList(),this.client_.checkConnectionsToReconnect()):(this.log_.warn("reconnect failed, ".concat(n.code," ").concat(n.message)),this.client_.reJoin());break;default:this.emitter_.emit(s,{data:n})}}}},{key:"addSignalEvent",value:function(t,n){vn(this.userId_,{eventId:t,eventDesc:n,timestamp:on(),userId:this.userId_,tinyId:this.signalInfo_.tinyId})}},{key:"reconnect",value:function(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ze;if(this.isConnecting_||this.reconnectionTimer_!==-1)this.log_.info("signal channel is reconnecting, ignoring current reconnection");else{if(this.reconnectionCount_>=$p){this.log_.warn("SDK has tried reconnect signal channel for ".concat($p," times, but all failed. please check your network"));var r=new ee({code:Y.SIGNAL_CHANNEL_RECONNECTION_FAILED,message:ne({key:I3})});return xe.logFailedEvent({userId:this.client_.getUserId(),eventType:Nb,error:r}),this.addSignalEvent(s6,"signal channel reconnect fail"),void this.emitter_.emit(vm,r)}this.isConnecting_=!0,this.reconnectionCount_++,this.currentState_!==gm&&(this.emitConnectionStateChanged(gm),this.addSignalEvent(a6,"signal channel is reconnecting")),this.log_.warn("reconnecting to ".concat(n," signal channel [").concat(this.reconnectionCount_,"/").concat($p,"]"));var i=this.getReconnectionUrl(n);n===Ze?(this.socket_=new WebSocket(i),this.bindSocket(this.socket_)):(this.backupSocket_=new WebSocket(i),this.bindSocket(this.backupSocket_));var o=Mf(this.reconnectionCount_);this.reconnectionTimer_=setTimeout(function(){t.log_.warn("reconnect ".concat(n," signal channel timeout(").concat(o/1e3,"s), close and try again")),t.isConnecting_=!1,t.clearReconnectionTimer(),t.unbindAndCloseSocket(n),t.reconnect(n===Ze?Xi:Ze)},o)}}},{key:"isConnected",value:function(){return this.isConnected_}},{key:"isReconnecting_",get:function(){return this.reconnectionTimer_!==-1}},{key:"getReconnectionUrl",value:function(t){var n=t===Ze?this.urlWithParam_:this.backupUrlWithParam_;if(!Si(this.signalInfo_)&&n.indexOf("&rc=1")===-1){var r=this.client_.getRoomId(),i=this.client_.getUseStringRoomId();n+="&rc=1&relayInnerIp=".concat(this.signalInfo_.relayInnerIp,"&relayOuterIp=").concat(this.signalInfo_.relayIp,"&relayPort=").concat(this.signalInfo_.relayPort,"&roomId=").concat(r,"&useStringRoomId=").concat(i)}return n}},{key:"send",value:function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.isConnected_){var r={cmd:t,data:n,userId:this.userId_,tinyId:this.signalInfo_.tinyId,seq:++this.seq_};return this.socketInUse_.send(JSON.stringify(r)),r.seq}}},{key:"sendWaitForResponse",value:function(t){var n=this,r=t.command,i=t.data,o=t.timeout,a=o===void 0?5e3:o,s=t.responseCommand,c=t.commandDesc,u=t.enableLog,l=u===void 0||u;return new Promise(function(h,_){var y=setTimeout(function(){n.off(s,S);var g=new ee({code:Y.API_CALL_TIMEOUT,message:ne({key:x3,data:{commandDesc:c,command:r}})});l&&n.log_.warn(g),_(g)},a),S=function g(I){I.data.seq===f&&(clearTimeout(y),n.off(s,g),h(I))};n.on(s,S);var f=n.send(r,i)})}},{key:"sendWaitForResponseWithRetry",value:function(){var t=this,n=arguments.length<=0?void 0:arguments[0],r=n.commandDesc,i=n.command,o=n.retries,a=o===void 0?0:o,s=n.retryTimeout,c=s===void 0?0:s;return sc({retryFunction:this.sendWaitForResponse,onRetrying:function(u){t.log_.warn("".concat(r||i," timeout observed, retrying [").concat(u,"/").concat(a,"]"))},settings:{retries:a,timeout:c},context:this}).apply(void 0,arguments)}},{key:"getCurrentState",value:function(){return this.currentState_}},{key:"getSignalInfo",value:function(){return this.signalInfo_}},{key:"stopReconnection",value:function(){this.isReconnecting_&&(this.reconnectionCount_=0,this.clearReconnectionTimer())}},{key:"close",value:function(){this.log_.info("close SignalChannel"),this.clearBackupTimer(),this.stopReconnection(),this.signalInfo_={},this.isConnecting_=!1,this.isConnected_=!1,this.socketInUse_=null,this.unbindAndCloseSocket(Ze),this.unbindAndCloseSocket(Xi),this.emitConnectionStateChanged(bl)}},{key:"on",value:function(t,n,r){this.emitter_.on(t,n,r)}},{key:"removeListener",value:function(t,n,r){this.emitter_.removeListener(t,n,r)}},{key:"once",value:function(t,n,r){this.emitter_.once(t,n,r)}},{key:"off",value:function(t,n,r){this.emitter_.off(t,n,r)}},{key:"emitConnectionStateChanged",value:function(t){t!==this.currentState_&&(this.emitter_.emit(mm,{prevState:this.currentState_,state:t}),this.currentState_=t)}}]),e}(),S6=Me,b6=an.find,k6=gu,bT="find",kT=!0;bT in[]&&Array(1).find(function(){kT=!1}),S6({target:"Array",proto:!0,forced:kT},{find:function(e){return b6(this,e,arguments.length>1?arguments[1]:void 0)}}),k6(bT);var tr={},TT={},ym={exports:{}},xT=ym.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 e.address!=null?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return e.subtype!=null?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return e.sessionConfig!=null?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=e.raddr!=null?" raddr %s rport %d":"%v%v",t+=e.tcptype!=null?" tcptype %s":"%v",e.generation!=null&&(t+=" generation %d"),t+=e["network-id"]!=null?" network-id %d":"%v",t+=e["network-cost"]!=null?" 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 e.attribute!=null&&(t+=" %s",e.value!=null&&(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 e.maxMessageSize!=null?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(e.clksrcExt!=null?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=e.id!=null?"id=%s %s":"%v%s",t+=e.mediaClockValue!=null?"=%s":"",t+=e.rateNumerator!=null?" rate=%s":"",t+=e.rateDenominator!=null?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(xT).forEach(function(e){xT[e].forEach(function(t){t.reg||(t.reg=/(.*)/),t.format||(t.format="%s")})}),function(e){var t=function(a){return String(Number(a))===a?Number(a):a},n=function(a,s,c){var u=a.name&&a.names;a.push&&!s[a.push]?s[a.push]=[]:u&&!s[a.name]&&(s[a.name]={});var l=a.push?{}:u?s[a.name]:s;(function(h,_,y,S){if(S&&!y)_[S]=t(h[1]);else for(var f=0;f<y.length;f+=1)h[f+1]!=null&&(_[y[f]]=t(h[f+1]))})(c.match(a.reg),l,a.names,a.name),a.push&&s[a.push].push(l)},r=ym.exports,i=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(a){var s={},c=[],u=s;return a.split(/(\r\n|\r|\n)/).filter(i).forEach(function(l){var h=l[0],_=l.slice(2);h==="m"&&(c.push({rtp:[],fmtp:[]}),u=c[c.length-1]);for(var y=0;y<(r[h]||[]).length;y+=1){var S=r[h][y];if(S.reg.test(_))return n(S,u,_)}}),s.media=c,s};var o=function(a,s){var c=s.split(/=(.+)/,2);return c.length===2?a[c[0]]=t(c[1]):c.length===1&&s.length>1&&(a[c[0]]=void 0),a};e.parseParams=function(a){return a.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(a){return a.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(a){for(var s=[],c=a.split(" ").map(t),u=0;u<c.length;u+=3)s.push({component:c[u],ip:c[u+1],port:c[u+2]});return s},e.parseImageAttributes=function(a){return a.split(" ").map(function(s){return s.substring(1,s.length-1).split(",").reduce(o,{})})},e.parseSimulcastStreamList=function(a){return a.split(";").map(function(s){return s.split(",").map(function(c){var u,l=!1;return c[0]!=="~"?u=t(c):(u=t(c.substring(1,c.length)),l=!0),{scid:u,paused:l}})})}}(TT);var Sm=ym.exports,T6=/%[sdv%]/g,x6=function(e){var t=1,n=arguments,r=n.length;return e.replace(T6,function(i){if(t>=r)return i;var o=n[t];switch(t+=1,i){case"%%":return"%";case"%s":return String(o);case"%d":return Number(o);case"%v":return""}})},dc=function(e,t,n){var r=[e+"="+(t.format instanceof Function?t.format(t.push?n:n[t.name]):t.format)];if(t.names)for(var i=0;i<t.names.length;i+=1){var o=t.names[i];t.name?r.push(n[t.name][o]):r.push(n[t.names[i]])}else r.push(n[t.name]);return x6.apply(null,r)},I6=["v","o","s","i","u","e","p","c","b","t","r","z","a"],w6=["i","c","b","a"],sa=TT,E6=function(e,t){t=t||{},e.version==null&&(e.version=0),e.name==null&&(e.name=" "),e.media.forEach(function(o){o.payloads==null&&(o.payloads="")});var n=t.outerOrder||I6,r=t.innerOrder||w6,i=[];return n.forEach(function(o){Sm[o].forEach(function(a){a.name in e&&e[a.name]!=null?i.push(dc(o,a,e)):a.push in e&&e[a.push]!=null&&e[a.push].forEach(function(s){i.push(dc(o,a,s))})})}),e.media.forEach(function(o){i.push(dc("m",Sm.m[0],o)),r.forEach(function(a){Sm[a].forEach(function(s){s.name in o&&o[s.name]!=null?i.push(dc(a,s,o)):s.push in o&&o[s.push]!=null&&o[s.push].forEach(function(c){i.push(dc(a,s,c))})})})}),i.join(`\r
|
|
91
91
|
`)+`\r
|
|
92
|
-
`};er.write=T6,er.parse=oa.parse,er.parseParams=oa.parseParams,er.parseFmtpConfig=oa.parseFmtpConfig,er.parsePayloads=oa.parsePayloads,er.parseRemoteCandidates=oa.parseRemoteCandidates,er.parseImageAttributes=oa.parseImageAttributes,er.parseSimulcastStreamList=oa.parseSimulcastStreamList;var Fr=function(e){return er.parse(e)},mo=function(e){return er.write(e)},x6=function(e){var t=Fr(e);return t.media.forEach(function(n){n.type===Ce&&n.fmtp.forEach(function(r){r.config+=";sprop-stereo=1;stereo=1"})}),mo(t)};function I6(e){var t=Fr(e);return t.media.forEach(function(n){if(n.type===xe){var r=new Set;n.rtp.forEach(function(o){var a=o.payload;return o.codec==="H264"&&r.add(a)}),n.fmtp.forEach(function(o){var a=o.payload,s=o.config.match(/apt=(\d+)/);s&&s[1]&&r.has(Number(s[1]))&&r.add(a)});var i=function(o){var a=o.payload;return!r.has(a)};n.rtp=n.rtp.filter(i),n.rtcpFb=n.rtcpFb.filter(i),n.fmtp=n.fmtp.filter(i),n.payloads=n.payloads.split(" ").filter(function(o){return!r.has(Number(o))}).join(" ")}}),mo(t)}var bm,km,Tm,xm,w6=Me,Im=pe,E6=$n,C6=oS,R6=e0,TT=oe,A6=RangeError,xT=String,IT=Math.floor,wm=Im(R6),wT=Im("".slice),dc=Im(1 .toFixed),vo=function(e,t,n){return t===0?n:t%2==1?vo(e,t-1,n*e):vo(e*e,t/2,n)},go=function(e,t,n){for(var r=-1,i=n;++r<6;)i+=t*e[r],e[r]=i%1e7,i=IT(i/1e7)},Em=function(e,t){for(var n=6,r=0;--n>=0;)r+=e[n],e[n]=IT(r/t),r=r%t*1e7},ET=function(e){for(var t=6,n="";--t>=0;)if(n!==""||t===0||e[t]!==0){var r=xT(e[t]);n=n===""?r:n+wm("0",7-r.length)+r}return n};w6({target:"Number",proto:!0,forced:TT(function(){return dc(8e-5,3)!=="0.000"||dc(.9,0)!=="1"||dc(1.255,2)!=="1.25"||dc(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!TT(function(){dc({})})},{toFixed:function(e){var t,n,r,i,o=C6(this),a=E6(e),s=[0,0,0,0,0,0],c="",u="0";if(a<0||a>20)throw A6("Incorrect fraction digits");if(o!=o)return"NaN";if(o<=-1e21||o>=1e21)return xT(o);if(o<0&&(c="-",o=-o),o>1e-21)if(n=(t=function(d){for(var h=0,_=d;_>=4096;)h+=12,_/=4096;for(;_>=2;)h+=1,_/=2;return h}(o*vo(2,69,1))-69)<0?o*vo(2,-t,1):o/vo(2,t,1),n*=4503599627370496,(t=52-t)>0){for(go(s,0,n),r=a;r>=7;)go(s,1e7,0),r-=7;for(go(s,vo(10,r,1),0),r=t-1;r>=23;)Em(s,1<<23),r-=23;Em(s,1<<r),go(s,1,1),Em(s,2),u=ET(s)}else go(s,0,n),go(s,1<<-t,0),u=ET(s)+wm("0",a);return u=a>0?c+((i=u.length)<=a?"0."+wm("0",a-i)+u:wT(u,0,i-a)+"."+wT(u,i-a)):c+u}});var CT=((bm=window)===null||bm===void 0?void 0:bm.requestIdleCallback)||function(e){var t=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1e3)},P6=((km=window)===null||km===void 0?void 0:km.cancelIdleCallback)||function(e){clearTimeout(e)},D6=((Tm=window)===null||Tm===void 0?void 0:Tm.cancelAnimationFrame)||((xm=window)===null||xm===void 0?void 0:xm.mozCancelAnimationFrame),yt=function(){function e(){J(this,e)}return ye(e,null,[{key:"generateTaskID",value:function(){return this.currentTaskID++}},{key:"run",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ek,n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0;r=H(H({},t===u3?{delay:2e3,count:0,backgroundTask:!0}:t===so?{delay:1e4,count:0}:t===rl?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0}),r),Ok(n)&&(r=H(H({},r),n)),In(t)&&(n=t,t=ek);var i=H({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:t,callback:n},r);return this.taskMap.set(i.taskID,i),this[t](i),i.taskID}},{key:"interval",value:function(t){var n=this;return t.intervalID=setInterval(function(){t.callback(),t.loopCount+=1,n.isBreakLoop(t)},t.delay)}},{key:"timeout",value:function(t){var n=this;return t.timeoutID=setTimeout(function r(){if(t.callback(),t.loopCount+=1,!n.isBreakLoop(t))return t.timeoutID=setTimeout(r,t.delay)},t.delay)}},{key:"ric",value:function(t){var n,r=this,i=Pt();return t.ricID=CT(function o(){if((n=Pt()-i)>=t.delay&&(i=Pt()-Math.floor(n%t.delay),t.callback(),t.loopCount+=1),!r.isBreakLoop(t))return t.ricID=CT(o,{timeout:t.delay})},{timeout:t.delay})}},{key:"raf",value:function(t){var n=this;t.delay=(1e3/t.fps).toFixed(2);var r,i=Pt(),o=function s(){if(document.hidden&&t.backgroundTask)return r=Pt()-i,i=Pt(),t.callback(),t.loopCount+=1,n.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(s,t.delay-Math.floor(r%t.delay));if((r=Pt()-i)>=t.delay&&(i=Pt()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!n.isBreakLoop(t))return t.rafID=requestAnimationFrame(s)};if(t.rafID=requestAnimationFrame(o),t.backgroundTask){var a=function(){if(document.hidden){var s=Pt()-i;s>=t.delay?o():t.timeoutID=setTimeout(o,t.delay-s)}};document.addEventListener("visibilitychange",a),t.onVisibilitychange=a,document.hidden&&a()}return t.taskID}},{key:"hasTask",value:function(t){return this.taskMap.has(t)}},{key:"clearTask",value:function(t){if(!this.taskMap.has(t))return!0;var n=this.taskMap.get(t),r=n.intervalID,i=n.timeoutID,o=n.rafID,a=n.ricID,s=n.onVisibilitychange;return r&&clearInterval(r),i&&clearTimeout(i),o&&D6(o),a&&P6(a),s&&document.removeEventListener("visibilitychange",s),this.taskMap.delete(t),!0}},{key:"isBreakLoop",value:function(t){return!this.taskMap.has(t.taskID)||t.count!==0&&t.loopCount>=t.count&&(this.clearTask(t.taskID),!0)}}]),e}();ut(yt,"taskMap",new Map),ut(yt,"currentTaskID",1);var L6=function(){function e(){J(this,e),this.prefix_="TRTC",this.queue_=new Map,this.checkStorage()}return ye(e,[{key:"getRealKey",value:function(t){return"".concat(this.prefix_,"_").concat(t)}},{key:"checkStorage",value:function(){var t=this;if(ea()){var n=Object.keys(localStorage).filter(function(r){if(r.startsWith(t.prefix_)){var i=JSON.parse(localStorage.getItem(r));if(i&&i.expiresIn<Date.now())return!0}return!1});n.forEach(function(r){return localStorage.removeItem(r)})}}},{key:"doFlush",value:function(){if(ea())try{var t,n=ie(this.queue_);try{for(n.s();!(t=n.n()).done;){var r=Te(t.value,2),i=r[0],o=r[1];localStorage.setItem(i,JSON.stringify(o))}}catch(a){n.e(a)}finally{n.f()}}catch(a){ke.warn(a)}}},{key:"getItem",value:function(t){if(!ea())return null;try{var n=JSON.parse(localStorage.getItem(this.getRealKey(t)));return n&&n.expiresIn>=Date.now()?n.value:null}catch(r){ke.warn(r)}}},{key:"setItem",value:function(t,n){var r=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(ea())try{var i={expiresIn:Date.now()+qb,value:n};r?localStorage.setItem(this.getRealKey(t),JSON.stringify(i)):(this.queue_.set(this.getRealKey(t),i),yt.hasTask(this.intervalId_)||(this.intervalId_=yt.run(so,this.doFlush.bind(this),{count:1})))}catch(o){ke.warn(o)}}},{key:"deleteItem",value:function(t){if(!ea())return!1;try{return t=this.getRealKey(t),this.queue_.delete(t),localStorage.removeItem(t),!0}catch(n){return ke.warn(n),!1}}},{key:"clear",value:function(){if(ea())try{localStorage.clear()}catch(t){ke.warn(t)}}}]),e}(),_o=new L6,gt={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isMediaDevicesSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},RT="checkResult",AT=function(){return!mV&&!al&&!(ol&&wk<80)&&!(Tr&&Ik<56)},Cm=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter(function(e){return e in window}).length>0},O6=function(){if(!navigator.mediaDevices)return!1;var e=["getUserMedia","enumerateDevices"];return e.filter(function(t){return t in navigator.mediaDevices}).length===e.length},PT=function(){var e=N(p().mark(function t(){var n,r,i,o,a,s;return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!gt.detail.isH264EncodeSupported||!gt.detail.isVp8EncodeSupported){c.next=2;break}return c.abrupt("return",{isH264EncodeSupported:gt.detail.isH264EncodeSupported,isVp8EncodeSupported:gt.detail.isVp8EncodeSupported});case 2:return n="",r=!1,i=!1,c.prev=5,o=new RTCPeerConnection,(a=document.createElement(hb)).getContext("2d"),s=a.captureStream(0),o.addTrack(s.getVideoTracks()[0],s),c.next=13,o.createOffer();case 13:return(n=c.sent).sdp.toLowerCase().indexOf("h264")!==-1&&(r=!0),n.sdp.toLowerCase().indexOf("vp8")!==-1&&(i=!0),o.close(),gt.detail.isH264EncodeSupported=r,gt.detail.isVp8EncodeSupported=i,c.abrupt("return",{isH264EncodeSupported:gt.detail.isH264EncodeSupported,isVp8EncodeSupported:gt.detail.isVp8EncodeSupported});case 22:return c.prev=22,c.t0=c.catch(5),c.abrupt("return",{isH264EncodeSupported:!1,isVp8EncodeSupported:!1});case 25:case"end":return c.stop()}},t,null,[[5,22]])}));return function(){return e.apply(this,arguments)}}();function M6(){return Rm.apply(this,arguments)}function Rm(){return Rm=N(p().mark(function e(){return p().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var n=N(p().mark(function r(i){var o,a,s,c,u,d,h,_,y,b,f,g,I,w;return p().wrap(function(j){for(;;)switch(j.prev=j.next){case 0:return o={encode:!1,decode:!1},a=null,j.prev=2,s=document.createElement("canvas"),c=s.getContext("2d"),s.width=640,s.height=480,u=setInterval(function(){c.fillText("test",Math.floor(640*Math.random()),Math.floor(480*Math.random()))},33),d=-1,h=-1,a=function(){clearInterval(d),clearInterval(u),clearTimeout(h),y.close(),b.close(),_.getTracks().forEach(function(z){return z.stop()})},h=setTimeout(function(){a(),i(o)},3e3),_=s.captureStream(),y=new RTCPeerConnection({}),b=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),y.addEventListener("icecandidate",function(z){return b.addIceCandidate(z.candidate)}),b.addEventListener("icecandidate",function(z){return y.addIceCandidate(z.candidate)}),y.addTrack(_.getVideoTracks()[0],_),j.next=20,y.createOffer();case 20:return f=j.sent,j.next=23,y.setLocalDescription(f);case 23:return j.next=25,b.setRemoteDescription(f);case 25:return j.next=27,b.createAnswer();case 27:return g=j.sent,I=Fr(g.sdp),w=I.media[0].rtp.findIndex(function(z){return z.codec==="H264"}),I.media[0].rtp=[I.media[0].rtp[w]],I.media[0].fmtp=I.media[0].fmtp.filter(function(z){return z.payload===I.media[0].rtp[0].payload}),I.media[0].rtcpFb=I.media[0].rtcpFb.filter(function(z){return z.payload===I.media[0].rtp[0].payload}),g.sdp=mo(I),j.next=36,b.setLocalDescription(g);case 36:return j.next=38,y.setRemoteDescription(g);case 38:d=setInterval(N(p().mark(function z(){var $,ue;return p().wrap(function(L){for(;;)switch(L.prev=L.next){case 0:return o.encode&&o.decode&&(a(),i(o)),L.next=3,y.getStats();case 3:return $=L.sent,L.next=6,b.getStats();case 6:ue=L.sent,o.encode||$.forEach(function(k){k.type==="outbound-rtp"&&k.mediaType===xe&&k.framesEncoded>0&&(o.encode=!0)}),o.decode||ue.forEach(function(k){k.type==="inbound-rtp"&&k.mediaType===xe&&k.framesDecoded>0&&(o.decode=!0)});case 9:case"end":return L.stop()}},z)})),500),j.next=46;break;case 41:j.prev=41,j.t0=j.catch(2),a(),ke.warn(j.t0),i(o);case 46:case"end":return j.stop()}},r,null,[[2,41]])}));return function(r){return n.apply(this,arguments)}}()));case 1:case"end":return t.stop()}},e)})),Rm.apply(this,arguments)}var DT=function(){var e=N(p().mark(function t(){var n,r,i,o;return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(!gt.detail.isH264DecodeSupported||!gt.detail.isVp8DecodeSupported){a.next=2;break}return a.abrupt("return",{isH264DecodeSupported:gt.detail.isH264DecodeSupported,isVp8DecodeSupported:gt.detail.isVp8DecodeSupported});case 2:return n="",r=!1,i=!1,a.prev=5,o=new RTCPeerConnection,a.next=9,o.createOffer({offerToReceiveAudio:1,offerToReceiveVideo:1});case 9:return(n=a.sent).sdp.toLowerCase().indexOf("h264")!==-1&&(r=!0),n.sdp.toLowerCase().indexOf("vp8")!==-1&&(i=!0),o.close(),a.abrupt("return",{isH264DecodeSupported:r,isVp8DecodeSupported:i});case 16:return a.prev=16,a.t0=a.catch(5),a.abrupt("return",{isH264DecodeSupported:!1,isVp8DecodeSupported:!1});case 19:case"end":return a.stop()}},t,null,[[5,16]])}));return function(){return e.apply(this,arguments)}}(),N6=function(){var e=N(p().mark(function t(){var n,r,i,o,a,s,c,u,d,h,_,y,b;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if(LT()){f.next=2;break}return f.abrupt("return",gt);case 2:return n=AT(),r=Cm(),i=O6(),f.next=7,PT();case 7:return o=f.sent,a=o.isH264EncodeSupported,s=o.isVp8EncodeSupported,f.next=12,DT();case 12:if(c=f.sent,u=c.isH264DecodeSupported,d=c.isVp8DecodeSupported,a&&s){f.next=21;break}return f.next=18,PT();case 18:h=f.sent,a=h.isH264EncodeSupported,s=h.isVp8EncodeSupported;case 21:if(!(a&&u&&(cl||ul||TV)&&!Vr&&nc()<79)){f.next=29;break}return f.next=24,M6();case 24:_=f.sent,y=_.encode,b=_.decode,a=y,u=b;case 29:return gt.result=n&&r&&i&&(a||s)&&(u||d),gt.detail.isBrowserSupported=n,gt.detail.isWebRTCSupported=r,gt.detail.isMediaDevicesSupported=i,gt.detail.isH264EncodeSupported=a,gt.detail.isVp8EncodeSupported=s,gt.detail.isH264DecodeSupported=u,gt.detail.isVp8DecodeSupported=d,V6(),_o.setItem(RT,{ua:navigator.userAgent,checkResult:gt},!0),f.abrupt("return",gt);case 40:case"end":return f.stop()}},t)}));return function(){return e.apply(this,arguments)}}(),Am=function(e,t){var n=null;return function(){if(n)return n;for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(n=e.apply(t||this,i)).then(function(a){return n=null,a}).catch(function(a){throw n=null,a}),n}}(N6);function LT(){return Object.keys(gt.detail).findIndex(function(e){return!gt.detail[e]})>=0}function V6(){LT()&&(ke.warn(ne({key:fk})),ke.info("".concat(navigator.userAgent," ").concat(JSON.stringify(gt.detail))))}function OT(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)}function MT(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function bl(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function yi(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function Pm(){return"RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype}function Dm(){return"RTCRtpSender"in window&&"replaceTrack"in window.RTCRtpSender.prototype}function NT(){return"RTCRtpSender"in window&&"setParameters"in window.RTCRtpSender.prototype&&bl()}function kl(){return!!ve(navigator.mediaDevices)&&(ke.error(vi.NOT_SUPPORTED_MEDIA),!0)}function Tl(){return location.protocol==="http:"&&!Zi&&(ke.warn(ne({key:pk})),!0)}var Lm="RTCRtpSender"in window&&"createEncodedStreams"in window.RTCRtpSender.prototype&&nc()>=86;function Om(e){return!(e.type!=="candidate-pair"||!e.nominated||e.state!=="in-progress"&&e.state!=="succeeded")&&!(uo(e.selected)&&!e.selected)}var VT=new Map([[co,"Android"],[Qi,"iOS"],[Ck,"Windows"],[tc,"MacOS"],[Rk,"Linux"]]);function Mm(){var e="unknown";return VT.get(!0)&&(e=VT.get(!0)),e}function U6(){var e="";return screen.width&&(e+=(screen.width?screen.width*window.devicePixelRatio:"")+" * "+(screen.height?screen.height*window.devicePixelRatio:"")),e}function B6(){var e=!1;return(navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)&&(e=!0),e}function j6(){for(var e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"],n=0;n<t.length;n++)if(t[n]in window){e.isSupported=!0;break}return e.isSupported}function UT(){return!(bf&&nc()<86)&&!(Qi&&xr($i)&&$i<15)&&!(Pf&&Pf<63)&&!(!AT()||!("captureStream"in HTMLCanvasElement.prototype))}var yo=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,F6=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,G6=function(){var e,t,n;return((e=window)===null||e===void 0?void 0:e.OffscreenCanvas)&&((t=window)===null||t===void 0?void 0:t.MediaStreamTrackProcessor)&&((n=window)===null||n===void 0?void 0:n.MediaStreamTrackGenerator)};(function(){Tl();var e=_o.getItem(RT);e&&e.ua===navigator.userAgent&&(gt=e.checkResult),Am()})();var tt={STREAM_ADDED:"stream-added",STREAM_REMOVED:"stream-removed",STREAM_UPDATED:"stream-updated",STREAM_PUBLISHED:"stream-published",STREAM_SUBSCRIBED:"stream-subscribed",STREAM_UNSUBSCRIBED:"stream-unsubscribed",STATE_CHANGED:"state-changed",ERROR:"error",CONNECTION_STATE_CHANGED:"connection-state-changed",SEI_MESSAGE:vb},ct={STREAM_ADDED:"stream-added",STREAM_REMOVED:"stream-removed",STREAM_UPDATED:"stream-updated",STREAM_SUBSCRIBED:"stream-subscribed",CONNECTION_STATE_CHANGED:"connection-state-changed",PEER_JOIN:"peer-join",PEER_LEAVE:"peer-leave",MUTE_AUDIO:"mute-audio",MUTE_VIDEO:"mute-video",UNMUTE_AUDIO:"unmute-audio",UNMUTE_VIDEO:"unmute-video",CLIENT_BANNED:"client-banned",NETWORK_QUALITY:"network-quality",AUDIO_VOLUME:"audio-volume",SEI_MESSAGE:vb,ERROR:"error"},BT="player-state-changed",H6="screen-sharing-stopped",z6="connection-state-changed",W6="device-auto-recovered",Nm="error",gn="player-state-changed",J6=rk;Me({target:"String",proto:!0,forced:ik("small")},{small:function(){return J6(this,"small","","")}});var K6=function(){function e(o){J(this,e);var a=o.getUserId();this.log_=ke.createLogger({id:a,userId:a,sdkAppId:o.getSDKAppId()}),this.prevReportTime_=0,this.prevReport_={},this.prevEncoderImplementation_="",this.prevQualityLimitationReason_="",this.prevDecoderImplementationMap_=new Map}var t,n,r,i;return ye(e,[{key:"statInterval",get:function(){return this.prevReportTime_===0?2:(Date.now()-this.prevReportTime_)/1e3}},{key:"getSenderStats",value:(i=N(p().mark(function o(a){var s,c,u,d,h=this;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(s={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},c=a.getPeerConnection(),u=a.getSSRC(),!c){_.next=15;break}return _.prev=4,_.next=7,c.getStats();case 7:_.sent.forEach(function(y){if(y.type==="outbound-rtp")if(y.mediaType===xe){if(!Tr&&y.bytesSent===0)return;y.ssrc!==u.video||ve(y.encoderImplementation)||h.prevEncoderImplementation_===y.encoderImplementation||(h.log_.info("encoderImplementation change to ".concat(y.encoderImplementation)),h.prevEncoderImplementation_=y.encoderImplementation),y.ssrc!==u.video||ve(y.qualityLimitationReason)||h.prevQualityLimitationReason_===y.qualityLimitationReason||(h.log_.info("qualityLimitationReason change to ".concat(y.qualityLimitationReason)),h.prevQualityLimitationReason_=y.qualityLimitationReason);var b=xe;y.ssrc===u.small?b=Nr:y.ssrc===u.auxiliary&&(b=mt),s[b].bytesSent=y.bytesSent,s[b].packetsSent=y.packetsSent,s[b].framesEncoded=y.framesEncoded}else y.mediaType===Ce&&(s.audio.bytesSent=y.bytesSent,s.audio.packetsSent=y.packetsSent);else y.type==="candidate-pair"?Om(y)&&xr(y.currentRoundTripTime)&&(s.rtt=Math.floor(1e3*y.currentRoundTripTime)):y.type==="media-source"&&(y.kind===Ce?(s.audio.audioLevel=y.audioLevel||0,s.audio.totalAudioEnergy=y.totalAudioEnergy||0):y.kind===xe&&(y.trackIdentifier===a.getVideoTrackId(xe)?s.video.fpsCapture=y.framesPerSecond:y.trackIdentifier===a.getVideoTrackId(mt)?s.auxiliary.fpsCapture=y.framesPerSecond:s.small.fpsCapture=y.framesPerSecond));var f;ve(y.audioLevel)||(s.audio.audioLevel=y.audioLevel||0,s.audio.totalAudioEnergy=y.totalAudioEnergy||0),ve(y.frameWidth)||(y.trackIdentifier===a.getVideoTrackId(xe)||y.ssrc===u.video?f=xe:y.trackIdentifier===a.getVideoTrackId(mt)||y.ssrc===u.auxiliary?f=mt:y.trackIdentifier!==a.getVideoTrackId(Nr)&&y.ssrc!==u.small||(f=Nr),f&&(s[f].frameWidth=y.frameWidth,s[f].frameHeight=y.frameHeight,s[f].framesSent=y.framesSent))}),s.audio.audioLevel===0&&(s.audio.audioLevel=((d=a.getLocalStream())===null||d===void 0?void 0:d.getInternalAudioLevel())||0),_.next=15;break;case 12:_.prev=12,_.t0=_.catch(4),this.log_.warn("failed to getStats on sender connection "+_.t0);case 15:return _.abrupt("return",s);case 16:case"end":return _.stop()}},o,this,[[4,12]])})),function(o){return i.apply(this,arguments)})},{key:"getReceiverStats",value:(r=N(p().mark(function o(a){var s,c,u,d,h,_=this;return p().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:if(s={tinyId:a.getTinyId(),userId:a.getUserId(),rtt:0,hasAudio:!1,hasVideo:!1,hasAuxiliary:!1,audio:{bytesReceived:0,packetsReceived:0,packetsLost:0,jitter:0,audioLevel:0,totalAudioEnergy:0},video:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0},auxiliary:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0}},!(c=a.getPeerConnection())){y.next=16;break}return y.prev=3,u=a.getSSRC(),d=a.getTrackState(),y.next=8,c.getStats();case 8:y.sent.forEach(function(b){if(b.type==="inbound-rtp"){if(b.mediaType===Ce&&b.ssrc===u.audio&&d.audio)s.audio.packetsReceived=b.packetsReceived,s.audio.bytesReceived=b.bytesReceived,s.audio.packetsLost=b.packetsLost,s.audio.jitter=b.jitter,s.hasAudio=!0;else if(b.mediaType===xe){if(Tr&&b.bytesReceived===0)return;b.ssrc===u.video&&d.video&&(s.video.packetsReceived=b.packetsReceived,s.video.bytesReceived=b.bytesReceived,s.video.packetsLost=b.packetsLost,s.video.framesReceived=b.framesReceived,s.video.framesDecoded=b.framesDecoded,s.video.fpsDecoded=b.framesPerSecond,s.hasVideo=!0,!b.decoderImplementation||_.prevDecoderImplementationMap_.has(s.userId)&&_.prevDecoderImplementationMap_.get(s.userId)===b.decoderImplementation||(_.log_.info("".concat(s.userId," decoderImplementation change to ").concat(b.decoderImplementation)),_.prevDecoderImplementationMap_.set(s.userId,b.decoderImplementation))),b.ssrc===u.auxiliary&&d.auxiliary&&(s.auxiliary.packetsReceived=b.packetsReceived,s.auxiliary.bytesReceived=b.bytesReceived,s.auxiliary.packetsLost=b.packetsLost,s.auxiliary.framesReceived=b.framesReceived,s.auxiliary.framesDecoded=b.framesDecoded,s.auxiliary.fpsDecoded=b.framesPerSecond,s.hasAuxiliary=!0)}}else b.type==="candidate-pair"&&Om(b)&&xr(b.currentRoundTripTime)&&(s.rtt=Math.floor(1e3*b.currentRoundTripTime));ve(b.frameWidth)||(b.trackIdentifier!==a.getMainStreamVideoTrackId()&&b.ssrc!==u.video||(s.video.frameWidth=b.frameWidth,s.video.frameHeight=b.frameHeight),b.trackIdentifier!==a.getAuxStreamVideoTrackId()&&b.ssrc!==u.auxiliary||(s.auxiliary.frameWidth=b.frameWidth,s.auxiliary.frameHeight=b.frameHeight)),ve(b.audioLevel)||(s.audio.audioLevel=b.audioLevel||0,s.audio.totalAudioEnergy=b.totalAudioEnergy||0)}),s.audio.audioLevel===0&&(s.audio.audioLevel=((h=a.getMainStream())===null||h===void 0?void 0:h.getInternalAudioLevel())||0),y.next=16;break;case 13:y.prev=13,y.t0=y.catch(3),this.log_.warn("failed to getStats on receiver connection "+y.t0);case 16:return y.abrupt("return",s);case 17:case"end":return y.stop()}},o,this,[[3,13]])})),function(o){return r.apply(this,arguments)})},{key:"getStats",value:(n=N(p().mark(function o(a,s){var c,u,d,h,_,y,b;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if(c={},!a){f.next=5;break}return f.next=4,this.getSenderStats(a);case 4:c=f.sent;case 5:u=[],d=ie(s),f.prev=7,d.s();case 9:if((h=d.n()).done){f.next=17;break}return(_=Te(h.value,2))[0],y=_[1],f.next=13,this.getReceiverStats(y);case 13:b=f.sent,u.push(b);case 15:f.next=9;break;case 17:f.next=22;break;case 19:f.prev=19,f.t0=f.catch(7),d.e(f.t0);case 22:return f.prev=22,d.f(),f.finish(22);case 25:return f.abrupt("return",{senderStats:c,receiverStats:u});case 26:case"end":return f.stop()}},o,this,[[7,19,22,25]])})),function(o,a){return n.apply(this,arguments)})},{key:"getDifferenceValue",value:function(o,a){if(aa(o))return a;var s=a-o;return s<0?0:s}},{key:"prepareReport",value:function(o){var a=this,s=o.stats,c=o.report,u=o.freezeMap;if(!aa(s.senderStats)){var d;d={uint32_audio_level:1e8*s.senderStats.audio.audioLevel,uint32_audio_energy:1e6*s.senderStats.audio.totalAudioEnergy,uint32_audio_codec_bitrate:s.senderStats.audio.bytesSent,audioLevel:s.senderStats.audio.audioLevel};var h=[],_={uint32_video_stream_type:2,uint32_video_codec_fps:s.senderStats.video.framesSent,uint32_video_capture_fps:s.senderStats.video.fpsCapture,uint32_video_width:s.senderStats.video.frameWidth,uint32_video_height:s.senderStats.video.frameHeight,uint32_video_codec_bitrate:s.senderStats.video.bytesSent,uint32_video_enc_fps:s.senderStats.video.framesEncoded};if(h.push(_),s.senderStats.small.bytesSent){var y={uint32_video_stream_type:3,uint32_video_codec_fps:s.senderStats.small.framesSent||0,uint32_video_capture_fps:s.senderStats.small.fpsCapture||0,uint32_video_width:s.senderStats.small.frameWidth||0,uint32_video_height:s.senderStats.small.frameHeight||0,uint32_video_codec_bitrate:s.senderStats.small.bytesSent,uint32_video_enc_fps:s.senderStats.small.framesEncoded||0};h.push(y)}if(s.senderStats.auxiliary.bytesSent){var b={uint32_video_stream_type:7,uint32_video_codec_fps:s.senderStats.auxiliary.framesSent||0,uint32_video_capture_fps:s.senderStats.auxiliary.fpsCapture||0,uint32_video_width:s.senderStats.auxiliary.frameWidth||0,uint32_video_height:s.senderStats.auxiliary.frameHeight||0,uint32_video_codec_bitrate:s.senderStats.auxiliary.bytesSent,uint32_video_enc_fps:s.senderStats.auxiliary.framesEncoded||0};h.push(b)}var f={uint32_bitrate:0,uint32_rtt:s.senderStats.rtt};c.msg_up_stream_info={msg_audio_status:d,msg_video_status:h,msg_network_status:f}}var g=this.statInterval;c.msg_down_stream_info=[],s.receiverStats.forEach(function(k){var P={};if(P.msg_user_info={str_identifier:k.userId,uint64_tinyid:k.tinyId},P.msg_network_status={uint32_rtt:k.rtt},P.msg_video_status={},k.hasAudio){var A={uint32_audio_codec_bitrate:k.audio.bytesReceived,uint32_audio_total_bitrate:k.audio.bytesReceived,uint32_audio_level:1e8*k.audio.audioLevel,uint32_audio_energy:1e6*k.audio.totalAudioEnergy,uint32_audio_receive:k.audio.packetsReceived,uint32_audio_origin_lost:k.audio.packetsLost,audioLevel:k.audio.audioLevel};P.msg_audio_status=A}if(P.msg_video_status=[],k.hasVideo){var U=u.get(k.userId+"_"+_t),T=U?U.duration:0,v={uint32_video_stream_type:2,uint32_video_receive_fps:k.video.framesReceived,uint32_video_width:k.video.frameWidth,uint32_video_height:k.video.frameHeight,uint32_video_codec_bitrate:k.video.bytesReceived,uint32_video_receive:k.video.packetsReceived,uint32_video_origin_lost:k.video.packetsLost,uint32_video_block_time:T,uint32_video_dec_fps:k.video.framesDecoded};P.msg_video_status.push(v)}if(k.hasAuxiliary){var E=u.get(k.userId+"_"+Dt),C=E?E.duration:0,O={uint32_video_stream_type:7,uint32_video_receive_fps:k.auxiliary.framesReceived,uint32_video_width:k.auxiliary.frameWidth,uint32_video_height:k.auxiliary.frameHeight,uint32_video_codec_bitrate:k.auxiliary.bytesReceived,uint32_video_receive:k.auxiliary.packetsReceived+k.auxiliary.packetsLost,uint32_video_origin_lost:k.auxiliary.packetsLost,uint32_video_block_time:C,uint32_video_dec_fps:k.auxiliary.framesDecoded};P.msg_video_status.push(O)}c.msg_down_stream_info.push(P)});var I=this.prevReport_;if(this.prevReport_=JSON.parse(JSON.stringify(c)),c.msg_up_stream_info.msg_audio_status&&I.msg_up_stream_info.msg_audio_status){var w=I.msg_up_stream_info.msg_audio_status,j=c.msg_up_stream_info.msg_audio_status,z=this.getDifferenceValue(w.uint32_audio_codec_bitrate,j.uint32_audio_codec_bitrate);j.uint32_audio_codec_bitrate=Math.round(8*z/g),c.msg_up_stream_info.msg_network_status.uint32_bitrate+=j.uint32_audio_codec_bitrate}var $=I.msg_up_stream_info.msg_video_status;c.msg_up_stream_info.msg_video_status.forEach(function(k){var P=$.find(function(E){return E.uint32_video_stream_type===k.uint32_video_stream_type});if(!P||P.uint32_video_codec_bitrate===0)return k.uint32_video_codec_bitrate=0,k.uint32_video_enc_fps=0,void(k.uint32_video_codec_fps=0);var A=P.uint32_video_codec_bitrate,U=P.uint32_video_enc_fps,T=P.uint32_video_codec_fps,v=a.getDifferenceValue(A,k.uint32_video_codec_bitrate);k.uint32_video_codec_bitrate=Math.round(8*v/g),c.msg_up_stream_info.msg_network_status.uint32_bitrate+=k.uint32_video_codec_bitrate,k.uint32_video_enc_fps=Math.round(a.getDifferenceValue(U,k.uint32_video_enc_fps)/g),k.uint32_video_codec_fps=Math.round(a.getDifferenceValue(T,k.uint32_video_codec_fps)/g)});var ue=c.msg_down_stream_info,L=I.msg_down_stream_info;return ue.forEach(function(k){var P=L.find(function(C){return C.msg_user_info.uint64_tinyid===k.msg_user_info.uint64_tinyid});if(P){if(k.msg_audio_status&&P.msg_audio_status){var A=k.msg_audio_status,U=P.msg_audio_status;A.uint32_audio_origin_lost=a.getDifferenceValue(U.uint32_audio_origin_lost,A.uint32_audio_origin_lost),A.uint32_audio_receive=a.getDifferenceValue(U.uint32_audio_receive,A.uint32_audio_receive),A.uint32_audio_receive+=A.uint32_audio_origin_lost;var T=a.getDifferenceValue(U.uint32_audio_codec_bitrate,A.uint32_audio_codec_bitrate);A.uint32_audio_codec_bitrate=Math.round(8*T/g),A.uint32_audio_total_bitrate=Math.round(8*T/g)}if(k.msg_video_status&&P.msg_video_status){var v=k.msg_video_status,E=P.msg_video_status;v.forEach(function(C){var O=E.find(function(Ge){return Ge.uint32_video_stream_type===C.uint32_video_stream_type});if(!O)return C.uint32_video_receive=0,C.uint32_video_origin_lost=0,C.uint32_video_codec_bitrate=0,C.uint32_video_receive_fps=0,void(C.uint32_video_dec_fps=0);var F=O.uint32_video_receive,K=O.uint32_video_origin_lost,re=O.uint32_video_codec_bitrate,ce=O.uint32_video_receive_fps,ge=O.uint32_video_dec_fps;C.uint32_video_origin_lost=a.getDifferenceValue(K,C.uint32_video_origin_lost),C.uint32_video_receive=a.getDifferenceValue(F,C.uint32_video_receive)+C.uint32_video_origin_lost;var Ye=a.getDifferenceValue(re,C.uint32_video_codec_bitrate);C.uint32_video_codec_bitrate=Math.round(8*Ye/g);var Ve=a.getDifferenceValue(ce,C.uint32_video_receive_fps);C.uint32_video_receive_fps=Math.round(Ve/g),C.uint32_video_dec_fps=Math.round(a.getDifferenceValue(ge,C.uint32_video_dec_fps)/g)})}}}),c}},{key:"getStatsReport",value:(t=N(p().mark(function o(a){var s,c,u,d,h;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:return s=a.uplinkConnection,c=a.downlinkConnections,u=a.freezeMap,d={msg_up_stream_info:{msg_audio_status:{uint32_audio_format:0,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,audioLevel:0},msg_video_status:[{uint32_video_stream_type:0,uint32_video_codec_fps:0,uint32_video_capture_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_final_lost:0,uint32_video_enc_fps:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}},msg_down_stream_info:[{msg_user_info:{str_identifier:"",uint64_tinyid:""},msg_audio_status:{uint32_audio_format:0,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,audioLevel: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,uint32_jitter:0}}]},_.next=4,this.getStats(s,c);case 4:return h=_.sent,JSON.stringify(this.prevReport_)==="{}"&&(this.prevReport_=JSON.parse(JSON.stringify(d))),this.prepareReport({stats:h,report:d,freezeMap:u,uplinkConnection:s,downlinkConnections:c}),this.prevReportTime_=Date.now(),_.abrupt("return",d);case 9:case"end":return _.stop()}},o,this)})),function(o){return t.apply(this,arguments)})},{key:"reset",value:function(){this.prevReportTime_=0,this.prevReport_={},this.prevEncoderImplementation_="",this.prevQualityLimitationReason_="",this.prevDecoderImplementationMap_=new Map}}]),e}(),q6=function(){function e(r){var i=r.signalChannel,o=r.connections,a=r.client;J(this,e),this.client_=a,this.signalChannel_=i,this.connections_=o,this.client_=a,this.log_=ke.createLogger({id:"q|"+this.client_.getUserId(),userId:this.client_.getUserId(),sdkAppId:this.client_.getSDKAppId()}),this.uplinkConnection_=null,this.uplinkNetworkQuality_=0,this.uplinkRTT_=0,this.uplinkLoss_=0,this.downlinkNetworkQuality_=0,this.downlinkRTT_=0,this.downlinkLoss_=0,this.downlinkPrevStatMap_=new Map,this.downlinkLossAndRTTMap_=new Map,this.interval_=-1,this.emitter_=new _i,this.initialize()}var t,n;return ye(e,[{key:"uplinkNetworkQuality",get:function(){return this.uplinkNetworkQuality_},set:function(r){r!==this.uplinkNetworkQuality_&&this.log_.info("uplink network quality change ".concat(this.uplinkNetworkQuality," -> ").concat(r,", rtt: ").concat(this.uplinkRTT_,", loss: ").concat(this.uplinkLoss_)),this.uplinkNetworkQuality_=r}},{key:"downlinkNetworkQuality",get:function(){return this.downlinkNetworkQuality_},set:function(r){if(r!==this.downlinkNetworkQuality_){var i=this.getAverageLossAndRTT(be(this.downlinkLossAndRTTMap_.values())),o=i.rtt,a=i.loss;this.log_.info("downlink network quality change ".concat(this.downlinkNetworkQuality," -> ").concat(r,", rtt: ").concat(o,", loss: ").concat(a))}this.downlinkNetworkQuality_=r}},{key:"initialize",value:function(){var r=this;this.signalChannel_.on(vt.UPLINK_NETWORK_STATS,function(i){r.handleUplinkNetworkQuality(i)}),this.signalChannel_.on(mm,this.handleSignalConnectionStateChange.bind(this)),this.start()}},{key:"handleUplinkNetworkQuality",value:function(r){if(!this.uplinkConnection_)return this.uplinkNetworkQuality=0,this.uplinkLoss_=0,void(this.uplinkRTT_=0);var i=this.uplinkConnection_.getPeerConnection();if(i&&this.isPeerConnectionDisconnected(i))return this.uplinkNetworkQuality=6,this.uplinkLoss_=0,void(this.uplinkRTT_=0);if(r.data.code===0){var o=r.data.data,a=o.expectAudPkg+o.expectVidPkg,s=o.recvAudPkg+o.recvVidPkg,c=a-s,u=o.delay;if(u&&this.updateDelay(u),a===0&&s===0)return;this.uplinkLoss_=c<=0?0:Math.round(c/a*100),this.uplinkRTT_=o.rtt,this.uplinkNetworkQuality=this.getNetworkQuality(this.uplinkLoss_,this.uplinkRTT_)}}},{key:"handleDownlinkNetworkQuality",value:(n=N(p().mark(function r(){var i,o,a,s,c,u,d,h,_,y,b,f,g,I,w,j=this;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(this.connections_&&this.connections_.size!==0){z.next=3;break}return this.downlinkNetworkQuality=0,z.abrupt("return");case 3:if(i=be(this.connections_.values()),o=i.filter(function($){return $.getPeerConnection()&&$.getPeerConnection().connectionState===Tb}),i.filter(function($){return $.getPeerConnection()&&j.isPeerConnectionDisconnected($.getPeerConnection())}).length!==i.length){z.next=9;break}return this.downlinkNetworkQuality=6,z.abrupt("return");case 9:a=0;case 10:if(!(a<o.length)){z.next=31;break}return s=o[a].getPeerConnection(),z.next=14,this.getStat(s);case 14:if(c=z.sent,u=c.rtt,d=c.totalPacketsLost,h=c.totalPacketsReceived,this.downlinkPrevStatMap_.has(s)){z.next=21;break}return this.downlinkPrevStatMap_.set(s,{totalPacketsLost:d,totalPacketsReceived:h}),z.abrupt("continue",28);case 21:_=0,y=this.downlinkPrevStatMap_.get(s),b=d-y.totalPacketsLost,f=h-y.totalPacketsReceived,_=b<=0||f<0?0:Math.round(b/(b+f)*100),this.downlinkPrevStatMap_.set(s,{totalPacketsLost:d,totalPacketsReceived:h}),this.downlinkLossAndRTTMap_.set(s,{rtt:u,loss:_,userId:o[a].getUserId()});case 28:a++,z.next=10;break;case 31:if(be(this.downlinkPrevStatMap_.keys()).forEach(function($){j.isPeerConnectionDisconnected($)&&(j.downlinkPrevStatMap_.delete($),j.downlinkLossAndRTTMap_.delete($))}),this.downlinkLossAndRTTMap_.size!==0){z.next=34;break}return z.abrupt("return");case 34:g=this.getAverageLossAndRTT(be(this.downlinkLossAndRTTMap_.values())),I=g.rtt,w=g.loss,this.downlinkRTT_=I,this.downlinkLoss_=w,this.downlinkNetworkQuality=this.getNetworkQuality(w,I);case 38:case"end":return z.stop()}},r,this)})),function(){return n.apply(this,arguments)})},{key:"getStat",value:(t=N(p().mark(function r(i){var o,a,s,c;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(o={rtt:0,totalPacketsLost:0,totalPacketsReceived:0},i&&MT()){u.next=3;break}return u.abrupt("return",o);case 3:a=i.getReceivers(),u.prev=4,s=0;case 6:if(!(s<a.length)){u.next=15;break}return c=a[s],u.next=10,c.getStats();case 10:u.sent.forEach(function(d){d.type==="candidate-pair"&&xr(d.currentRoundTripTime)&&(o.rtt=Math.round(1e3*d.currentRoundTripTime)),d.type!=="inbound-rtp"||d.mediaType!==Ce&&d.mediaType!==xe||(o.totalPacketsLost+=d.packetsLost,o.totalPacketsReceived+=d.packetsReceived)});case 12:s++,u.next=6;break;case 15:return u.abrupt("return",o);case 18:return u.prev=18,u.t0=u.catch(4),u.abrupt("return",o);case 21:case"end":return u.stop()}},r,null,[[4,18]])})),function(r){return t.apply(this,arguments)})},{key:"getAverageLossAndRTT",value:function(r){var i={rtt:0,loss:0};return Array.isArray(r)&&r.length>0&&(r.forEach(function(o){i.rtt+=o.rtt,i.loss+=o.loss}),Object.keys(i).forEach(function(o){i[o]=Math.round(i[o]/r.length)})),i}},{key:"getNetworkQuality",value:function(r,i){return r>50||i>500?5:r>30||i>350?4:r>20||i>200?3:r>10||i>100?2:r>=0||i>=0?1:0}},{key:"handleSignalConnectionStateChange",value:function(r){r.state===Sl?(this.uplinkRTT_=0,this.uplinkLoss_=0,this.uplinkNetworkQuality=6):r.state===cc&&this.uplinkNetworkQuality===6&&(this.uplinkNetworkQuality=5)}},{key:"handleUplinkConnectionStateChange",value:function(r){var i=r.state;i===sn?(this.uplinkLoss_=0,this.uplinkRTT_=0,this.uplinkNetworkQuality=6):i===mn&&this.uplinkNetworkQuality===6&&(this.uplinkNetworkQuality=5)}},{key:"isPeerConnectionDisconnected",value:function(r){return!(!r||r.connectionState!==XN&&r.connectionState!==kb&&r.connectionState!==Yp)}},{key:"setUplinkConnection",value:function(r){this.uplinkConnection_=r,this.uplinkConnection_?this.uplinkConnection_.on(tt.CONNECTION_STATE_CHANGED,this.handleUplinkConnectionStateChange.bind(this)):(this.uplinkNetworkQuality=0,this.uplinkRTT_=0,this.uplinkLoss_=0)}},{key:"start",value:function(){var r=this;this.interval_===-1?(this.log_.info("start network quality calculating"),this.interval_=yt.run(so,function(){r.handleDownlinkNetworkQuality(),q.emit(um,{client:r.client_,uplinkNetworkQuality:r.uplinkNetworkQuality,downlinkNetworkQuality:r.downlinkNetworkQuality,uplinkRTT:r.uplinkRTT_,uplinkLoss:r.uplinkLoss_,downlinkRTT:r.downlinkRTT_,downlinkLoss:r.downlinkLoss_,downlinkLossAndRTTMap:r.downlinkLossAndRTTMap_}),r.emitter_.emit(ct.NETWORK_QUALITY,{uplinkNetworkQuality:r.uplinkNetworkQuality,downlinkNetworkQuality:r.downlinkNetworkQuality,uplinkRTT:r.uplinkRTT_,uplinkLoss:r.uplinkLoss_,downlinkRTT:r.downlinkRTT_,downlinkLoss:r.downlinkLoss_})},{delay:2e3})):this.log_.info("network quality calculating is already started")}},{key:"stop",value:function(){this.log_.info("stop network quality calculating"),this.interval_!==-1&&(yt.clearTask(this.interval_),this.interval_=-1),this.downlinkLossAndRTTMap_.clear(),this.downlinkPrevStatMap_.clear()}},{key:"on",value:function(r,i){this.emitter_.on(r,i)}},{key:"updateDelay",value:function(r){var i=this;r.forEach(function(o){var a=o.srcTinyId,s=o.videoDelay,c=o.audioDelay,u=i.connections_.get(a);u&&u.setDelay({videoDelay:s,audioDelay:c})})}}]),e}(),X6=function(){function e(r){J(this,e),this.log_=ke.createLogger({id:r.client.getUserId(),userId:r.client.getUserId(),sdkAppId:r.client.getSDKAppId()}),this.localStream_=null,this.prevDevices_=[],this.initialize()}var t,n;return ye(e,[{key:"initialize",value:function(){navigator.mediaDevices&&(this.onDeviceChange=this.onDeviceChange.bind(this),navigator.mediaDevices.addEventListener("devicechange",this.onDeviceChange))}},{key:"destroy",value:function(){navigator.mediaDevices&&navigator.mediaDevices.removeEventListener("devicechange",this.onDeviceChange)}},{key:"onDeviceChange",value:(n=N(p().mark(function r(){var i,o,a,s=this;return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.localStream_&&this.localStream_.getMediaStream()&&!this.localStream_.getScreen()){c.next=2;break}return c.abrupt("return");case 2:return c.next=4,Um();case 4:i=c.sent,o=i.filter(function(u){return s.prevDevices_.findIndex(function(d){var h=d.deviceId;return u.deviceId===h})<0}),a=this.prevDevices_.filter(function(u){return i.findIndex(function(d){var h=d.deviceId;return u.deviceId===h})<0}),o.length>0&&this.handleDeviceAdded(this.prevDevices_,o),a.length>0&&this.handleDeviceRemoved(i,a),this.prevDevices_=i;case 10:case"end":return c.stop()}},r,this)})),function(){return n.apply(this,arguments)})},{key:"setLocalStream",value:(t=N(p().mark(function r(i){return p().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!i){o.next=4;break}return o.next=3,Um();case 3:this.prevDevices_=o.sent;case 4:this.localStream_=i;case 5:case"end":return o.stop()}},r,this)})),function(r){return t.apply(this,arguments)})},{key:"handleDeviceAdded",value:function(r,i){var o,a;if(this.localStream_){this.log_.warn("devicesAdded: ".concat(JSON.stringify(i))),this.localStream_.updateDeviceIdInUse();var s=i.filter(function(y){return y.kind===Xu}),c=i.filter(function(y){return y.kind===qs}),u=r.filter(function(y){return y.kind===Xu}),d=r.filter(function(y){return y.kind===qs}),h=s.length>0&&u.length===0&&((o=this.localStream_.getVideoTrack())===null||o===void 0?void 0:o.readyState)!=="live",_=c.length>0&&d.length===0&&((a=this.localStream_.getAudioTrack())===null||a===void 0?void 0:a.readyState)!=="live";if(_&&h)return this.log_.info("new microphone and camera detected, but there was no device before."),void this.localStream_.recoverCapture({audio:!0,video:!0,cameraId:s[0].deviceId,microphoneId:c[0].deviceId});h&&(this.log_.info("new camera detected, but there was no camera before."),this.localStream_.recoverCapture({audio:!1,video:!0,cameraId:s[0].deviceId})),_&&(this.log_.info("new microphone detected, but there was no microphone before."),this.localStream_.recoverCapture({audio:!0,video:!1,microphoneId:c[0].deviceId}))}}},{key:"handleDeviceRemoved",value:function(r,i){if(this.localStream_){this.log_.warn("devicesRemoved: ".concat(JSON.stringify(i))),this.localStream_.updateDeviceIdInUse();var o=!1,a=!1,s=this.localStream_.getCameraId(),c=this.localStream_.getMicrophoneId();if(c===tl){var u=this.localStream_.getMicrophoneGroupId(),d=r.filter(function(h){return h.deviceId===tl&&h.kind===qs})[0];d&&d.groupId!==u&&(a=!0)}if(i.forEach(function(h){var _=h.deviceId;s.length>0&&_===s?o=!0:c.length>0&&_===c&&(a=!0)}),o&&a)return this.log_.warn("current camera and microphone in use is lost, cameraId: ".concat(s,", microphoneId: ").concat(c)),void((this.localStream_.getAudio()||this.localStream_.getVideo())&&this.localStream_.recoverCapture({video:!0,audio:!0}));o&&(this.log_.warn("current camera in use is lost, deviceId: ".concat(s)),this.localStream_.getVideo()&&this.localStream_.recoverCapture({video:!0,audio:!1})),a&&(this.log_.warn("current microphone in use is lost, deviceId: ".concat(c)),this.localStream_.getAudio()&&this.localStream_.recoverCapture({video:!1,audio:!0}))}}}]),e}();function Vm(){return Vm=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!Tl()&&!kl()){n.next=2;break}return n.abrupt("return",[]);case 2:return n.next=4,xl();case 4:return t=n.sent,n.abrupt("return",t.filter(function(r){return r.kind===Xu}).map(function(r,i){var o=r.label;r.label||(o="camera_"+i);var a={label:o,deviceId:r.deviceId,kind:r.kind};return r.groupId&&(a.groupId=r.groupId),r.getCapabilities&&(a.getCapabilities=function(){return r.getCapabilities()}),a}));case 6:case"end":return n.stop()}},e)})),Vm.apply(this,arguments)}var jT=new Set;function xl(){return FT.apply(this,arguments)}function FT(){return(FT=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!Tl()&&!kl()){n.next=2;break}return n.abrupt("return",[]);case 2:return n.next=4,navigator.mediaDevices.enumerateDevices();case 4:return(t=n.sent).forEach(function(r){jT.add("".concat(r.deviceId,"_").concat(r.kind))}),n.abrupt("return",t);case 7:case"end":return n.stop()}},e)}))).apply(this,arguments)}function Um(){return Bm.apply(this,arguments)}function Bm(){return Bm=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,xl();case 2:return t=n.sent,n.abrupt("return",t.filter(function(r){return r.kind!==qs||r.deviceId!=Zb}).map(function(r,i){var o=r.label;r.label||(o=r.kind+"_"+i);var a={label:o,deviceId:r.deviceId,kind:r.kind};return r.groupId&&(a.groupId=r.groupId),r.getCapabilities&&(a.getCapabilities=function(){return r.getCapabilities()}),a}));case 4:case"end":return n.stop()}},e)})),Bm.apply(this,arguments)}function GT(){return jm.apply(this,arguments)}function jm(){return jm=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,xl();case 2:return t=n.sent,n.abrupt("return",t.filter(function(r){return r.kind===qs&&r.deviceId!==Zb}).map(function(r,i){var o=r.label;r.label||(o="microphone_"+i);var a={label:o,deviceId:r.deviceId,kind:r.kind};return r.groupId&&(a.groupId=r.groupId),r.getCapabilities&&(a.getCapabilities=function(){return r.getCapabilities()}),a}));case 4:case"end":return n.stop()}},e)})),jm.apply(this,arguments)}function Fm(){return Fm=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,xl();case 2:return t=n.sent,n.abrupt("return",t.filter(function(r){return r.kind==="audiooutput"}).map(function(r,i){var o=r.label;r.label||(o="speaker_"+i);var a={label:o,deviceId:r.deviceId,kind:r.kind};return r.groupId&&(a.groupId=r.groupId),a}));case 4:case"end":return n.stop()}},e)})),Fm.apply(this,arguments)}function Q6(e){var t;if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;var n=e.label.toLocaleLowerCase();if(n.includes("camera")||n.includes("webcam"))return!0;var r="".concat((t=e.getSettings())===null||t===void 0?void 0:t.deviceId,"_").concat(Xu);return!!jT.has(r)}function Y6(e,t){return HT.apply(this,arguments)}function HT(){return(HT=N(p().mark(function e(t,n){var r,i;return p().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,GT();case 2:if(r=o.sent,((i=r.find(function(a){return a.deviceId===tl}))==null?void 0:i.groupId)!==t||i.label!==n){o.next=6;break}return o.abrupt("return",!0);case 6:return o.abrupt("return",!1);case 7:case"end":return o.stop()}},e)}))).apply(this,arguments)}var jn,zT=Mi.exports,$6=At,Z6=It,e5=ty,t5=Mr,n5=Qe,r5=Bt,i5=function(e,t,n,r){try{return r?t(Z6(n)[0],n[1]):t(n)}catch(i){e5(e,"throw",i)}},a5=Th,o5=wu,s5=rn,WT=Cs,c5=bu,u5=Rs,JT=Array,KT=function(e){var t=r5(e),n=o5(this),r=arguments.length,i=r>1?arguments[1]:void 0,o=i!==void 0;o&&(i=t5(i,r>2?arguments[2]:void 0));var a,s,c,u,d,h,_=u5(t),y=0;if(!_||this===JT&&a5(_))for(a=s5(t),s=n?new this(a):JT(a);a>y;y++)h=o?i(t[y],y):t[y],WT(s,y,h);else for(d=(u=c5(t,_)).next,s=n?new this:[];!(c=n5(d,u)).done;y++)h=o?i5(u,i,[c.value,y],!0):c.value,WT(s,y,h);return s.length=y,s},sa=pe,Gm=2147483647,l5=/[^\0-\u007E]/,qT=/[.\u3002\uFF0E\uFF61]/g,XT="Overflow: input needs wider integers to process",QT=RangeError,d5=sa(qT.exec),So=Math.floor,Hm=String.fromCharCode,YT=sa("".charCodeAt),$T=sa([].join),Si=sa([].push),h5=sa("".replace),p5=sa("".split),f5=sa("".toLowerCase),ZT=function(e){return e+22+75*(e<26)},m5=function(e,t,n){var r=0;for(e=n?So(e/700):e>>1,e+=So(e/t);e>455;)e=So(e/35),r+=36;return So(r+36*e/(e+38))},v5=function(e){var t=[];e=function(I){for(var w=[],j=0,z=I.length;j<z;){var $=YT(I,j++);if($>=55296&&$<=56319&&j<z){var ue=YT(I,j++);(64512&ue)==56320?Si(w,((1023&$)<<10)+(1023&ue)+65536):(Si(w,$),j--)}else Si(w,$)}return w}(e);var n,r,i=e.length,o=128,a=0,s=72;for(n=0;n<e.length;n++)(r=e[n])<128&&Si(t,Hm(r));var c=t.length,u=c;for(c&&Si(t,"-");u<i;){var d=Gm;for(n=0;n<e.length;n++)(r=e[n])>=o&&r<d&&(d=r);var h=u+1;if(d-o>So((Gm-a)/h))throw QT(XT);for(a+=(d-o)*h,o=d,n=0;n<e.length;n++){if((r=e[n])<o&&++a>Gm)throw QT(XT);if(r==o){for(var _=a,y=36;;){var b=y<=s?1:y>=s+26?26:y-s;if(_<b)break;var f=_-b,g=36-b;Si(t,Hm(ZT(b+f%g))),_=So(f/g),y+=36}Si(t,Hm(ZT(_))),s=m5(a,h,u==c),a=0,u++}}a++,o++}return $T(t,"")},g5=Me,zm=_e,_5=x0,Wm=te,e1=Mr,Fn=pe,Il=Qt,Gn=function(e,t,n){return n.get&&zT(n.get,t,{getter:!0}),n.set&&zT(n.set,t,{setter:!0}),$6.f(e,t,n)},y5=oi,Jm=xt,Km=eT,bo=KT,tr=yu,S5=Rh.codeAt,b5=function(e){var t,n,r=[],i=p5(h5(f5(e),qT,"."),".");for(t=0;t<i.length;t++)n=i[t],Si(r,d5(l5,n)?"xn--"+v5(n):n);return $T(r,".")},Gr=Wt,k5=Bi,T5=Iu,t1=EL,n1=Xe,x5=n1.set,wl=n1.getterFor("URL"),I5=t1.URLSearchParams,w5=t1.getState,hc=Wm.URL,qm=Wm.TypeError,El=Wm.parseInt,E5=Math.floor,r1=Math.pow,Hn=Fn("".charAt),nr=Fn(/./.exec),pc=Fn([].join),C5=Fn(1 .toString),R5=Fn([].pop),ko=Fn([].push),i1=Fn("".replace),A5=Fn([].shift),P5=Fn("".split),fc=Fn("".slice),Cl=Fn("".toLowerCase),D5=Fn([].unshift),Xm="Invalid scheme",ca="Invalid host",a1="Invalid port",o1=/[a-z]/i,L5=/[\d+-.a-z]/i,Qm=/\d/,O5=/^0x/i,M5=/^[0-7]+$/,N5=/^\d+$/,s1=/^[\da-f]+$/i,V5=/[\0\t\n\r #%/:<>?@[\\\]^|]/,U5=/[\0\t\n\r #/:<>?@[\\\]^|]/,B5=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,j5=/[\t\n\r]/g,mc=function(e){var t,n,r,i;if(typeof e=="number"){for(t=[],n=0;n<4;n++)D5(t,e%256),e=E5(e/256);return pc(t,".")}if(typeof e=="object"){for(t="",r=function(o){for(var a=null,s=1,c=null,u=0,d=0;d<8;d++)o[d]!==0?(u>s&&(a=c,s=u),c=null,u=0):(c===null&&(c=d),++u);return u>s&&(a=c,s=u),a}(e),n=0;n<8;n++)i&&e[n]===0||(i&&(i=!1),r===n?(t+=n?":":"::",i=!0):(t+=C5(e[n],16),n<7&&(t+=":")));return"["+t+"]"}return e},Rl={},c1=Km({},Rl,{" ":1,'"':1,"<":1,">":1,"`":1}),u1=Km({},c1,{"#":1,"?":1,"{":1,"}":1}),Ym=Km({},u1,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),bi=function(e,t){var n=S5(e,0);return n>32&&n<127&&!Jm(t,e)?e:encodeURIComponent(e)},Al={ftp:21,file:null,http:80,https:443,ws:80,wss:443},vc=function(e,t){var n;return e.length==2&&nr(o1,Hn(e,0))&&((n=Hn(e,1))==":"||!t&&n=="|")},l1=function(e){var t;return e.length>1&&vc(fc(e,0,2))&&(e.length==2||(t=Hn(e,2))==="/"||t==="\\"||t==="?"||t==="#")},F5=function(e){return e==="."||Cl(e)==="%2e"},$m={},d1={},Zm={},h1={},p1={},ev={},f1={},m1={},Pl={},Dl={},tv={},nv={},rv={},iv={},v1={},av={},To={},Ir={},g1={},ua={},Hr={},ov=function(e,t,n){var r,i,o,a=Gr(e);if(t){if(i=this.parse(a))throw qm(i);this.searchParams=null}else{if(n!==void 0&&(r=new ov(n,!0)),i=this.parse(a,null,r))throw qm(i);(o=w5(new I5)).bindURL(this),this.searchParams=o}};ov.prototype={type:"URL",parse:function(e,t,n){var r,i,o,a,s,c=this,u=t||$m,d=0,h="",_=!1,y=!1,b=!1;for(e=Gr(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=i1(e,B5,"")),e=i1(e,j5,""),r=bo(e);d<=r.length;){switch(i=r[d],u){case $m:if(!i||!nr(o1,i)){if(t)return Xm;u=Zm;continue}h+=Cl(i),u=d1;break;case d1:if(i&&(nr(L5,i)||i=="+"||i=="-"||i=="."))h+=Cl(i);else{if(i!=":"){if(t)return Xm;h="",u=Zm,d=0;continue}if(t&&(c.isSpecial()!=Jm(Al,h)||h=="file"&&(c.includesCredentials()||c.port!==null)||c.scheme=="file"&&!c.host))return;if(c.scheme=h,t)return void(c.isSpecial()&&Al[c.scheme]==c.port&&(c.port=null));h="",c.scheme=="file"?u=iv:c.isSpecial()&&n&&n.scheme==c.scheme?u=h1:c.isSpecial()?u=m1:r[d+1]=="/"?(u=p1,d++):(c.cannotBeABaseURL=!0,ko(c.path,""),u=g1)}break;case Zm:if(!n||n.cannotBeABaseURL&&i!="#")return Xm;if(n.cannotBeABaseURL&&i=="#"){c.scheme=n.scheme,c.path=tr(n.path),c.query=n.query,c.fragment="",c.cannotBeABaseURL=!0,u=Hr;break}u=n.scheme=="file"?iv:ev;continue;case h1:if(i!="/"||r[d+1]!="/"){u=ev;continue}u=Pl,d++;break;case p1:if(i=="/"){u=Dl;break}u=Ir;continue;case ev:if(c.scheme=n.scheme,i==jn)c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=tr(n.path),c.query=n.query;else if(i=="/"||i=="\\"&&c.isSpecial())u=f1;else if(i=="?")c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=tr(n.path),c.query="",u=ua;else{if(i!="#"){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=tr(n.path),c.path.length--,u=Ir;continue}c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=tr(n.path),c.query=n.query,c.fragment="",u=Hr}break;case f1:if(!c.isSpecial()||i!="/"&&i!="\\"){if(i!="/"){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,u=Ir;continue}u=Dl}else u=Pl;break;case m1:if(u=Pl,i!="/"||Hn(h,d+1)!="/")continue;d++;break;case Pl:if(i!="/"&&i!="\\"){u=Dl;continue}break;case Dl:if(i=="@"){_&&(h="%40"+h),_=!0,o=bo(h);for(var f=0;f<o.length;f++){var g=o[f];if(g!=":"||b){var I=bi(g,Ym);b?c.password+=I:c.username+=I}else b=!0}h=""}else if(i==jn||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()){if(_&&h=="")return"Invalid authority";d-=bo(h).length+1,h="",u=tv}else h+=i;break;case tv:case nv:if(t&&c.scheme=="file"){u=av;continue}if(i!=":"||y){if(i==jn||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()){if(c.isSpecial()&&h=="")return ca;if(t&&h==""&&(c.includesCredentials()||c.port!==null))return;if(a=c.parseHost(h))return a;if(h="",u=To,t)return;continue}i=="["?y=!0:i=="]"&&(y=!1),h+=i}else{if(h=="")return ca;if(a=c.parseHost(h))return a;if(h="",u=rv,t==nv)return}break;case rv:if(!nr(Qm,i)){if(i==jn||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()||t){if(h!=""){var w=El(h,10);if(w>65535)return a1;c.port=c.isSpecial()&&w===Al[c.scheme]?null:w,h=""}if(t)return;u=To;continue}return a1}h+=i;break;case iv:if(c.scheme="file",i=="/"||i=="\\")u=v1;else{if(!n||n.scheme!="file"){u=Ir;continue}if(i==jn)c.host=n.host,c.path=tr(n.path),c.query=n.query;else if(i=="?")c.host=n.host,c.path=tr(n.path),c.query="",u=ua;else{if(i!="#"){l1(pc(tr(r,d),""))||(c.host=n.host,c.path=tr(n.path),c.shortenPath()),u=Ir;continue}c.host=n.host,c.path=tr(n.path),c.query=n.query,c.fragment="",u=Hr}}break;case v1:if(i=="/"||i=="\\"){u=av;break}n&&n.scheme=="file"&&!l1(pc(tr(r,d),""))&&(vc(n.path[0],!0)?ko(c.path,n.path[0]):c.host=n.host),u=Ir;continue;case av:if(i==jn||i=="/"||i=="\\"||i=="?"||i=="#"){if(!t&&vc(h))u=Ir;else if(h==""){if(c.host="",t)return;u=To}else{if(a=c.parseHost(h))return a;if(c.host=="localhost"&&(c.host=""),t)return;h="",u=To}continue}h+=i;break;case To:if(c.isSpecial()){if(u=Ir,i!="/"&&i!="\\")continue}else if(t||i!="?")if(t||i!="#"){if(i!=jn&&(u=Ir,i!="/"))continue}else c.fragment="",u=Hr;else c.query="",u=ua;break;case Ir:if(i==jn||i=="/"||i=="\\"&&c.isSpecial()||!t&&(i=="?"||i=="#")){if((s=Cl(s=h))===".."||s==="%2e."||s===".%2e"||s==="%2e%2e"?(c.shortenPath(),i=="/"||i=="\\"&&c.isSpecial()||ko(c.path,"")):F5(h)?i=="/"||i=="\\"&&c.isSpecial()||ko(c.path,""):(c.scheme=="file"&&!c.path.length&&vc(h)&&(c.host&&(c.host=""),h=Hn(h,0)+":"),ko(c.path,h)),h="",c.scheme=="file"&&(i==jn||i=="?"||i=="#"))for(;c.path.length>1&&c.path[0]==="";)A5(c.path);i=="?"?(c.query="",u=ua):i=="#"&&(c.fragment="",u=Hr)}else h+=bi(i,u1);break;case g1:i=="?"?(c.query="",u=ua):i=="#"?(c.fragment="",u=Hr):i!=jn&&(c.path[0]+=bi(i,Rl));break;case ua:t||i!="#"?i!=jn&&(i=="'"&&c.isSpecial()?c.query+="%27":c.query+=i=="#"?"%23":bi(i,Rl)):(c.fragment="",u=Hr);break;case Hr:i!=jn&&(c.fragment+=bi(i,c1))}d++}},parseHost:function(e){var t,n,r;if(Hn(e,0)=="["){if(Hn(e,e.length-1)!="]"||(t=function(i){var o,a,s,c,u,d,h,_=[0,0,0,0,0,0,0,0],y=0,b=null,f=0,g=function(){return Hn(i,f)};if(g()==":"){if(Hn(i,1)!=":")return;f+=2,b=++y}for(;g();){if(y==8)return;if(g()!=":"){for(o=a=0;a<4&&nr(s1,g());)o=16*o+El(g(),16),f++,a++;if(g()=="."){if(a==0||(f-=a,y>6))return;for(s=0;g();){if(c=null,s>0){if(!(g()=="."&&s<4))return;f++}if(!nr(Qm,g()))return;for(;nr(Qm,g());){if(u=El(g(),10),c===null)c=u;else{if(c==0)return;c=10*c+u}if(c>255)return;f++}_[y]=256*_[y]+c,++s!=2&&s!=4||y++}if(s!=4)return;break}if(g()==":"){if(f++,!g())return}else if(g())return;_[y++]=o}else{if(b!==null)return;f++,b=++y}}if(b!==null)for(d=y-b,y=7;y!=0&&d>0;)h=_[y],_[y--]=_[b+d-1],_[b+--d]=h;else if(y!=8)return;return _}(fc(e,1,-1)),!t))return ca;this.host=t}else if(this.isSpecial()){if(e=b5(e),nr(V5,e)||(t=function(i){var o,a,s,c,u,d,h,_=P5(i,".");if(_.length&&_[_.length-1]==""&&_.length--,(o=_.length)>4)return i;for(a=[],s=0;s<o;s++){if((c=_[s])=="")return i;if(u=10,c.length>1&&Hn(c,0)=="0"&&(u=nr(O5,c)?16:8,c=fc(c,u==8?1:2)),c==="")d=0;else{if(!nr(u==10?N5:u==8?M5:s1,c))return i;d=El(c,u)}ko(a,d)}for(s=0;s<o;s++)if(d=a[s],s==o-1){if(d>=r1(256,5-o))return null}else if(d>255)return null;for(h=R5(a),s=0;s<a.length;s++)h+=a[s]*r1(256,3-s);return h}(e),t===null))return ca;this.host=t}else{if(nr(U5,e))return ca;for(t="",n=bo(e),r=0;r<n.length;r++)t+=bi(n[r],Rl);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return Jm(Al,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||this.scheme=="file"&&t==1&&vc(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,n=e.username,r=e.password,i=e.host,o=e.port,a=e.path,s=e.query,c=e.fragment,u=t+":";return i!==null?(u+="//",e.includesCredentials()&&(u+=n+(r?":"+r:"")+"@"),u+=mc(i),o!==null&&(u+=":"+o)):t=="file"&&(u+="//"),u+=e.cannotBeABaseURL?a[0]:a.length?"/"+pc(a,"/"):"",s!==null&&(u+="?"+s),c!==null&&(u+="#"+c),u},setHref:function(e){var t=this.parse(e);if(t)throw qm(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if(e=="blob")try{return new xo(e.path[0]).origin}catch(n){return"null"}return e!="file"&&this.isSpecial()?e+"://"+mc(this.host)+(t!==null?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(Gr(e)+":",$m)},getUsername:function(){return this.username},setUsername:function(e){var t=bo(Gr(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var n=0;n<t.length;n++)this.username+=bi(t[n],Ym)}},getPassword:function(){return this.password},setPassword:function(e){var t=bo(Gr(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var n=0;n<t.length;n++)this.password+=bi(t[n],Ym)}},getHost:function(){var e=this.host,t=this.port;return e===null?"":t===null?mc(e):mc(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,tv)},getHostname:function(){var e=this.host;return e===null?"":mc(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,nv)},getPort:function(){var e=this.port;return e===null?"":Gr(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||((e=Gr(e))==""?this.port=null:this.parse(e,rv))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+pc(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,To))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){(e=Gr(e))==""?this.query=null:(Hn(e,0)=="?"&&(e=fc(e,1)),this.query="",this.parse(e,ua)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){(e=Gr(e))!=""?(Hn(e,0)=="#"&&(e=fc(e,1)),this.fragment="",this.parse(e,Hr)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var xo=function(e){var t=y5(this,dn),n=T5(arguments.length,1)>1?arguments[1]:void 0,r=x5(t,new ov(e,!1,n));zm||(t.href=r.serialize(),t.origin=r.getOrigin(),t.protocol=r.getProtocol(),t.username=r.getUsername(),t.password=r.getPassword(),t.host=r.getHost(),t.hostname=r.getHostname(),t.port=r.getPort(),t.pathname=r.getPathname(),t.search=r.getSearch(),t.searchParams=r.getSearchParams(),t.hash=r.getHash())},dn=xo.prototype,zn=function(e,t){return{get:function(){return wl(this)[e]()},set:t&&function(n){return wl(this)[t](n)},configurable:!0,enumerable:!0}};if(zm&&(Gn(dn,"href",zn("serialize","setHref")),Gn(dn,"origin",zn("getOrigin")),Gn(dn,"protocol",zn("getProtocol","setProtocol")),Gn(dn,"username",zn("getUsername","setUsername")),Gn(dn,"password",zn("getPassword","setPassword")),Gn(dn,"host",zn("getHost","setHost")),Gn(dn,"hostname",zn("getHostname","setHostname")),Gn(dn,"port",zn("getPort","setPort")),Gn(dn,"pathname",zn("getPathname","setPathname")),Gn(dn,"search",zn("getSearch","setSearch")),Gn(dn,"searchParams",zn("getSearchParams")),Gn(dn,"hash",zn("getHash","setHash"))),Il(dn,"toJSON",function(){return wl(this).serialize()},{enumerable:!0}),Il(dn,"toString",function(){return wl(this).serialize()},{enumerable:!0}),hc){var _1=hc.createObjectURL,y1=hc.revokeObjectURL;_1&&Il(xo,"createObjectURL",e1(_1,hc)),y1&&Il(xo,"revokeObjectURL",e1(y1,hc))}k5(xo,"URL"),g5({global:!0,constructor:!0,forced:!_5,sham:!zm},{URL:xo});var la,Ll,G5=new Blob(["class VolumeMeter extends AudioWorkletProcessor{constructor(){super();this.volume=0;this.intervalTime=200;this.tick=this.intervalTime;this.isStop=false;this.port.onmessage=event=>{const{data}=event;switch(data.name){case'setIntervalTime':this.intervalTime=data.intervalTime;break;case'stop':this.isStop=true;break}}}process(inputs){const input=inputs[0];if(this.isStop){return false}if(input.length>0){const firstChannel=input[0];let sum=0;let rms;for(let i=0;i<firstChannel.length;++i){sum+=firstChannel[i]*firstChannel[i]}rms=Math.sqrt(sum/firstChannel.length);this.volume=Math.max(rms,this.volume*0.95);this.tick-=firstChannel.length;if(this.tick<0){this.tick+=(this.intervalTime/1000)*sampleRate;this.port.postMessage({volume:this.volume})}}return true}}registerProcessor('volume-meter',VolumeMeter);"],{type:"application/javascript"}),S1=!1,H5=function(){function e(n){J(this,e),this.context_=n.context,this.addModuleToContext()}var t;return ye(e,[{key:"addModuleToContext",value:(t=N(p().mark(function n(){return p().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,this.context_.audioWorklet.addModule(URL.createObjectURL(G5));case 3:ke.info("worklet addModule success"),q.emit(lm),S1=!0,r.next=12;break;case 8:r.prev=8,r.t0=r.catch(0),ke.info("worklet addModule catch error. ".concat(r.t0.message)),q.emit(dm);case 12:case"end":return r.stop()}},n,this,[[0,8]])})),function(){return t.apply(this,arguments)})},{key:"initWorkletSuccess",get:function(){return S1}}]),e}(),Ol=0,z5=function(){function e(t){J(this,e);var n=t.track,r=t.log,i=t.stream;this.volume_=0,this.log_=r,this.track_=n,this.stream_=i,la||(la=Uk()),this.audioCtx_=la,this.destination_=this.audioCtx_.destination;var o=new MediaStream;o.addTrack(this.track_),this.streamSource_=this.audioCtx_.createMediaStreamSource(o),this.audioWorkletNode_=null,this.scriptProcessorNode_=null,this.interval_=200,q.on(ac,this.resume,this),q.on(qf,this.handleAudioLevelInterval,this),wV?(q.on(lm,this.initAudioWorklet,this),q.on(dm,this.initScriptProcessor,this),this.preload()):this.initScriptProcessor(),Ol+=1}return ye(e,[{key:"preload",value:function(){Ll?Ll.initWorkletSuccess&&this.initAudioWorklet():Ll=new H5({context:la})}},{key:"initAudioWorklet",value:function(){var t=this;if(!this.audioWorkletNode_)try{this.audioWorkletNode_=new AudioWorkletNode(this.audioCtx_,"volume-meter"),this.audioWorkletNode_.port.onmessage=function(n){t.volume_=n.data.volume||0},this.streamSource_.connect(this.audioWorkletNode_).connect(this.destination_),this.handleAudioLevelInterval({interval:this.interval_})}catch(n){this.log_.warn("load volume meter failed, load again."),this.initScriptProcessor()}}},{key:"initScriptProcessor",value:function(){var t=this;if(!this.scriptProcessorNode_)try{this.scriptProcessorNode_=this.audioCtx_.createScriptProcessor(2048,1,1),this.scriptProcessorNode_.onaudioprocess=function(n){for(var r=n.inputBuffer.getChannelData(0),i=0,o=0;o<r.length;++o)i+=r[o]*r[o];t.volume_=Math.sqrt(i/r.length)||0},this.streamSource_.connect(this.scriptProcessorNode_),this.scriptProcessorNode_.connect(this.destination_)}catch(n){this.log_.error("volumeMeter init script processor error: "+n)}}},{key:"destroy",value:function(){var t;this.streamSource_&&this.streamSource_.disconnect(),this.scriptProcessorNode_&&(this.scriptProcessorNode_.onaudioprocess=null,this.scriptProcessorNode_.disconnect()),this.audioWorkletNode_&&(this.audioWorkletNode_.port.postMessage({name:"stop"}),this.audioWorkletNode_.port.onmessage=null,this.audioWorkletNode_.disconnect()),this.audioWorkletNode_=null,this.scriptProcessorNode_=null,this.audioCtx_=null,q.off(ac,this.resume,this),q.off(qf,this.handleAudioLevelInterval,this),q.off(lm,this.initAudioWorklet,this),q.off(dm,this.initScriptProcessor,this),Ol>0&&(Ol-=1),Ol===0&&((t=la)===null||t===void 0||t.close(),la=null,Ll=null)}},{key:"resume",value:function(){var t;(t=la)===null||t===void 0||t.resume()}},{key:"getInternalAudioLevel",value:function(){return this.volume_}},{key:"getCalculatedVolume",value:function(){return this.volume_.toFixed(2)}},{key:"handleAudioLevelInterval",value:function(t){var n,r=t.interval;this.interval_=r,(n=this.audioWorkletNode_)===null||n===void 0||n.port.postMessage({name:"setIntervalTime",intervalTime:r})}}]),e}(),W5=function(){function e(o){J(this,e),this.stream_=o.stream,this.userId_=o.stream.getUserId(),this.log_=this.stream_.getLogger(),this.track_=o.track,o.gainedTrack&&(this.gainedTrack_=o.gainedTrack),this.div_=o.div,this.muted_=o.muted,this.outputDeviceId_=o.outputDeviceId,this.volume_=o.volume,this.pausedRetryCount_=5,this.emitter_=new _i,this.initializeElement(),this.state_="NONE",this.volumeMeter_=new z5({stream:this.stream_,track:this.gainedTrack_||this.track_,log:this.log_})}var t,n,r,i;return ye(e,[{key:"isPlaying",get:function(){return this.state_===ro}},{key:"initializeElement",value:function(){if(this.isAudioElementInit()){var o=new MediaStream;o.addTrack(this.gainedTrack_||this.track_);var a=document.createElement(Ce);a.srcObject=o,a.muted=this.muted_,a.setAttribute("id","audio_".concat(this.stream_.getId())),a.setAttribute("autoplay","autoplay"),a.setAttribute("playsinline","playsinline"),this.div_.appendChild(a),this.element_=a}this.handleEvents()}},{key:"setMuted",value:function(o){this.element_&&(this.element_.muted=o,this.muted_=o)}},{key:"play",value:(i=N(p().mark(function o(){var a;return p().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!this.outputDeviceId_||!this.element_){s.next=3;break}return s.next=3,this.element_.setSinkId(this.outputDeviceId_);case 3:if(this.setVolume(this.volume_),s.prev=4,!this.element_){s.next=8;break}return s.next=8,this.element_.play();case 8:s.next=16;break;case 10:if(s.prev=10,s.t0=s.catch(4),a=ne({key:pf,data:{media:"Audio",error:s.t0}}),this.log_.warn(a),!a.includes("NotAllowedError")){s.next=16;break}throw new ee({code:Y.PLAY_NOT_ALLOWED,message:a});case 16:case"end":return s.stop()}},o,this,[[4,10]])})),function(){return i.apply(this,arguments)})},{key:"handleEvents",value:function(){this.handleElementEvent=this.handleElementEvent.bind(this),this.handleTrackEvent=this.handleTrackEvent.bind(this),this.element_&&(this.element_.addEventListener(di,this.handleElementEvent),this.element_.addEventListener(Mt,this.handleElementEvent),this.element_.addEventListener(hi,this.handleElementEvent),this.element_.addEventListener(no,this.handleElementEvent)),this.track_.addEventListener(Mt,this.handleTrackEvent),this.track_.addEventListener(nn,this.handleTrackEvent),this.track_.addEventListener(_r,this.handleTrackEvent),this.track_.readyState===Mt&&this.handleTrackEvent({type:Mt}),this.track_.muted&&this.handleTrackEvent({type:nn})}},{key:"handleElementEvent",value:(r=N(p().mark(function o(a){var s,c,u,d,h,_,y,b=this;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:s=a.type,f.t0=s,f.next=f.t0===di?4:f.t0===Mt?9:f.t0===hi?12:f.t0===no?21:32;break;case 4:return this.log_.info("audio player is playing"),this.state_=ro,q.emit(Xf,{stream:this.stream_}),this.emitter_.emit(gn,{state:this.state_,reason:di}),f.abrupt("break",32);case 9:return this.log_.info("audio player is ended"),this.state_!==pi&&(this.state_=pi,this.emitter_.emit(gn,{state:this.state_,reason:Mt})),f.abrupt("break",32);case 12:return this.log_.info("audio player is paused"),this.state_=yr,this.emitter_.emit(gn,{state:this.state_,reason:hi}),(c=this.div_&&document.getElementById(this.div_.id))||this.log_.warn("audio player has been remove, element ID: ".concat(this.div_.id)),u=nc(),this.pausedRetryCount_>0&&(xr(u)&&u<=70||!c)&&(this.resume(),this.pausedRetryCount_--),Qi&&(this.interval_=yt.run(function(){b.element_&&b.state_===yr&&b.resume()},{delay:3e3})),f.abrupt("break",32);case 21:if(!this.element_||!this.element_.error){f.next=31;break}return d="".concat(Mm(),"/").concat(ta().name,"/").concat(ta().version),f.next=25,Tt.getSpeakers();case 25:h=f.sent,_=h[0].label,(y=h.find(function(g){return g.deviceId===b.outputDeviceId_}))&&(_=y.label),this.log_.error("audio player error observed. code: ".concat(this.element_.error.code," message: ").concat(this.element_.error.message," deviceInfo: ").concat(d," speaker: ").concat(_)),Ie.uploadEvent("stat-".concat(this.stream_.getType(),"-audio-").concat(Fb,"-").concat(this.element_.error.code,"-").concat(d,"-").concat(_),this.element_.error);case 31:return f.abrupt("break",32);case 32:case"end":return f.stop()}},o,this)})),function(o){return r.apply(this,arguments)})},{key:"handleTrackEvent",value:function(o){var a=o.type;switch(a){case Mt:this.log_.info("audio track is ended"),this.state_!==pi&&(this.state_=pi,this.emitter_.emit(gn,{state:this.state_,reason:Mt})),q.emit(om,{stream:this.stream_,type:a});break;case nn:this.log_.info("audio track is unable to provide media output"),this.stream_.isRemote()||Vk(),this.state_!==yr&&(this.state_=yr,this.emitter_.emit(gn,{state:this.state_,reason:nn})),q.emit(am,{stream:this.stream_,type:a});break;case _r:this.log_.info("audio track is able to provide media output"),this.state_===yr&&(this.state_=ro,this.emitter_.emit(gn,{state:this.state_,reason:_r}))}}},{key:"unbindEvents",value:function(){this.element_&&(this.element_.removeEventListener(di,this.handleElementEvent),this.element_.removeEventListener(Mt,this.handleElementEvent),this.element_.removeEventListener(hi,this.handleElementEvent),this.element_.removeEventListener(no,this.handleElementEvent)),this.track_&&(this.track_.removeEventListener(Mt,this.handleTrackEvent),this.track_.removeEventListener(nn,this.handleTrackEvent),this.track_.removeEventListener(_r,this.handleTrackEvent))}},{key:"setSinkId",value:(n=N(p().mark(function o(a){return p().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(this.outputDeviceId_===a){s.next=5;break}if(!this.element_){s.next=4;break}return s.next=4,this.element_.setSinkId(a);case 4:this.outputDeviceId_=a;case 5:case"end":return s.stop()}},o,this)})),function(o){return n.apply(this,arguments)})},{key:"setVolume",value:function(o){this.element_&&(this.log_.info("audioElement setVolume to : ".concat(o)),this.element_.volume=o)}},{key:"getAudioLevel",value:function(){return this.volumeMeter_.getCalculatedVolume()}},{key:"getInternalAudioLevel",value:function(){return this.volumeMeter_.getInternalAudioLevel()}},{key:"stop",value:function(){this.unbindEvents(),this.element_&&(this.div_.removeChild(this.element_),this.element_.srcObject=null,this.element_=null),this.volumeMeter_&&(this.volumeMeter_.destroy(),this.volumeMeter_=null),this.interval_>0&&yt.clearTask(this.interval_)}},{key:"resume",value:(t=N(p().mark(function o(){var a;return p().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(s.prev=0,this.volumeMeter_&&this.volumeMeter_.resume(),!this.element_){s.next=5;break}return s.next=5,this.element_.play();case 5:s.next=13;break;case 7:if(s.prev=7,s.t0=s.catch(0),a=ne({key:pf,data:{media:"Audio",error:s.t0}}),this.log_.warn(a),!a.includes("NotAllowedError")){s.next=13;break}throw new ee({code:Y.PLAY_NOT_ALLOWED,message:a});case 13:case"end":return s.stop()}},o,this,[[0,7]])})),function(){return t.apply(this,arguments)})},{key:"on",value:function(o,a){this.emitter_.on(o,a)}},{key:"isAudioElementInit",value:function(){return!($i==="15.2"||$i==="15.3"||$i==="15.4")||this.stream_.getType()!=="local"||!this.muted_||(this.log_.info("audioElement is muted."),!1)}}]),e}(),J5=Yn.PROPER,K5=oe,b1=sS,q5=Vu.trim;Me({target:"String",proto:!0,forced:function(e){return K5(function(){return!!b1[e]()||"\u200B\x85\u180E"[e]()!=="\u200B\x85\u180E"||J5&&b1[e].name!==e})}("trim")},{trim:function(){return q5(this)}});var zr="trtc_autoplay",sv="".concat(zr,"_mask"),Io="".concat(zr,"_wrapper"),k1="".concat(zr,"_header"),cv="".concat(zr,"_content"),Ml="".concat(zr,"_action_wrapper"),uv="".concat(zr,"_question"),lv="".concat(zr,"_collapse"),Nl="".concat(zr,"_action_confirm"),T1="".concat(zr,"_detail"),x1="#2473E8",dv="dialog",X5="".concat(dv,"-show"),Q5="".concat(dv,"-1"),Y5="".concat(dv,"-2"),I1=!1,w1=function(){return!!document.querySelector(".".concat(Io))},E1="".concat(oo,"/").concat(ra()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),C1="<br><a href='".concat(E1,"' target='_blank'>").concat(ra()?"\u5176\u4ED6\u65B9\u6848\uFF1F":"Any other solution?","</a>"),$5="".concat(ra()?"\u6D4F\u89C8\u5668\u81EA\u52A8\u64AD\u653E\u7B56\u7565\uFF1A\u5728\u7528\u6237\u4E0E\u9875\u9762\u4EA7\u751F\u4EA4\u4E92\uFF08\u70B9\u51FB\u3001\u89E6\u6478\uFF09\u4E4B\u524D\uFF0C\u6D4F\u89C8\u5668\u7981\u6B62\u64AD\u653E\u6709\u58F0\u5A92\u4F53\u3002\u8BE5\u5F39\u7A97\u7528\u4E8E\u5E2E\u52A9\u7528\u6237\u6062\u590D\u97F3\u89C6\u9891\u64AD\u653E\u3002".concat(C1):"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(C1)),R1=function(){function e(){if(J(this,e),this.dialogNode_=null,this.bodyPosition_="",this.content="\u97F3\u89C6\u9891\u64AD\u653E\u88AB\u6D4F\u89C8\u5668\u62E6\u622A\uFF0C\u8BF7\u70B9\u51FB\u201C\u6062\u590D\u64AD\u653E\u201D\u3002",ra()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!I1){var t=document.createElement("style");t.innerHTML=".".concat(sv,"{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(sv," div:not(.").concat(Ml,"){display:block !important;}.").concat(Io,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(Io," a{color:").concat(x1,";}.").concat(k1,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(cv,"{margin:8px 0;}.").concat(Ml,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(lv,"{margin-right:auto;cursor:pointer}.").concat(uv,"{height:100%;line-height:16px;cursor:pointer;}.").concat(Nl,"{margin-left:8px;color:#fff;background:").concat(x1,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(Nl,":hover{opacity:0.9;}.").concat(lv,",.").concat(Nl,",.").concat(cv,",.").concat(uv,"{font-size:14px;}@media screen and (max-width:750px){.").concat(Io,"{width:80vw;}}"),document.head.appendChild(t),I1=!0}this.showDetail_=!1,this.isCollapseClicked_=!1,this.isQuestionClicked_=!1,this.addDiaLog()}return ye(e,[{key:"createDiaLog",value:function(){var t=document.createElement("template");t.innerHTML='<div class="'.concat(sv,`"><div class='`).concat(Io,"'><div class='").concat(k1,"'>").concat(location.host,"</div><div class='").concat(cv,"'>").concat(this.content,"</div><div class='").concat(T1,`' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">`).concat($5,"</div><div class='").concat(Ml,"'></div></div></div>").trim();var n=document.createElement("button");n.className=Nl,n.innerText=ra()?"\u6062\u590D\u64AD\u653E":"Resume",n.onclick=this.onConfirm.bind(this);var r=document.createElement("div");r.className=uv,r.innerHTML=`<?xml version="1.0" encoding="UTF-8"?>
|
|
92
|
+
`};tr.write=E6,tr.parse=sa.parse,tr.parseParams=sa.parseParams,tr.parseFmtpConfig=sa.parseFmtpConfig,tr.parsePayloads=sa.parsePayloads,tr.parseRemoteCandidates=sa.parseRemoteCandidates,tr.parseImageAttributes=sa.parseImageAttributes,tr.parseSimulcastStreamList=sa.parseSimulcastStreamList;var Gr=function(e){return tr.parse(e)},vo=function(e){return tr.write(e)},C6=function(e){var t=Gr(e);return t.media.forEach(function(n){n.type===Ce&&n.fmtp.forEach(function(r){r.config+=";sprop-stereo=1;stereo=1"})}),vo(t)};function R6(e){var t=Gr(e);return t.media.forEach(function(n){if(n.type===Te){var r=new Set;n.rtp.forEach(function(o){var a=o.payload;return o.codec==="H264"&&r.add(a)}),n.fmtp.forEach(function(o){var a=o.payload,s=o.config.match(/apt=(\d+)/);s&&s[1]&&r.has(Number(s[1]))&&r.add(a)});var i=function(o){var a=o.payload;return!r.has(a)};n.rtp=n.rtp.filter(i),n.rtcpFb=n.rtcpFb.filter(i),n.fmtp=n.fmtp.filter(i),n.payloads=n.payloads.split(" ").filter(function(o){return!r.has(Number(o))}).join(" ")}}),vo(t)}var bm,km,Tm,xm,A6=Me,Im=pe,P6=$n,D6=oS,L6=e0,IT=oe,O6=RangeError,wT=String,ET=Math.floor,wm=Im(L6),CT=Im("".slice),hc=Im(1 .toFixed),go=function(e,t,n){return t===0?n:t%2==1?go(e,t-1,n*e):go(e*e,t/2,n)},_o=function(e,t,n){for(var r=-1,i=n;++r<6;)i+=t*e[r],e[r]=i%1e7,i=ET(i/1e7)},Em=function(e,t){for(var n=6,r=0;--n>=0;)r+=e[n],e[n]=ET(r/t),r=r%t*1e7},RT=function(e){for(var t=6,n="";--t>=0;)if(n!==""||t===0||e[t]!==0){var r=wT(e[t]);n=n===""?r:n+wm("0",7-r.length)+r}return n};A6({target:"Number",proto:!0,forced:IT(function(){return hc(8e-5,3)!=="0.000"||hc(.9,0)!=="1"||hc(1.255,2)!=="1.25"||hc(0xde0b6b3a7640080,0)!=="1000000000000000128"})||!IT(function(){hc({})})},{toFixed:function(e){var t,n,r,i,o=D6(this),a=P6(e),s=[0,0,0,0,0,0],c="",u="0";if(a<0||a>20)throw O6("Incorrect fraction digits");if(o!=o)return"NaN";if(o<=-1e21||o>=1e21)return wT(o);if(o<0&&(c="-",o=-o),o>1e-21)if(n=(t=function(l){for(var h=0,_=l;_>=4096;)h+=12,_/=4096;for(;_>=2;)h+=1,_/=2;return h}(o*go(2,69,1))-69)<0?o*go(2,-t,1):o/go(2,t,1),n*=4503599627370496,(t=52-t)>0){for(_o(s,0,n),r=a;r>=7;)_o(s,1e7,0),r-=7;for(_o(s,go(10,r,1),0),r=t-1;r>=23;)Em(s,1<<23),r-=23;Em(s,1<<r),_o(s,1,1),Em(s,2),u=RT(s)}else _o(s,0,n),_o(s,1<<-t,0),u=RT(s)+wm("0",a);return u=a>0?c+((i=u.length)<=a?"0."+wm("0",a-i)+u:CT(u,0,i-a)+"."+CT(u,i-a)):c+u}});var AT=((bm=window)===null||bm===void 0?void 0:bm.requestIdleCallback)||function(e){var t=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1e3)},M6=((km=window)===null||km===void 0?void 0:km.cancelIdleCallback)||function(e){clearTimeout(e)},N6=((Tm=window)===null||Tm===void 0?void 0:Tm.cancelAnimationFrame)||((xm=window)===null||xm===void 0?void 0:xm.mozCancelAnimationFrame),yt=function(){function e(){J(this,e)}return Ie(e,null,[{key:"generateTaskID",value:function(){return this.currentTaskID++}},{key:"run",value:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:nk,n=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0;r=H(H({},t===p3?{delay:2e3,count:0,backgroundTask:!0}:t===uo?{delay:1e4,count:0}:t===il?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0}),r),Nk(n)&&(r=H(H({},r),n)),In(t)&&(n=t,t=nk);var i=H({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:t,callback:n},r);return this.taskMap.set(i.taskID,i),this[t](i),i.taskID}},{key:"interval",value:function(t){var n=this;return t.intervalID=setInterval(function(){t.callback(),t.loopCount+=1,n.isBreakLoop(t)},t.delay)}},{key:"timeout",value:function(t){var n=this;return t.timeoutID=setTimeout(function r(){if(t.callback(),t.loopCount+=1,!n.isBreakLoop(t))return t.timeoutID=setTimeout(r,t.delay)},t.delay)}},{key:"ric",value:function(t){var n,r=this,i=Dt();return t.ricID=AT(function o(){if((n=Dt()-i)>=t.delay&&(i=Dt()-Math.floor(n%t.delay),t.callback(),t.loopCount+=1),!r.isBreakLoop(t))return t.ricID=AT(o,{timeout:t.delay})},{timeout:t.delay})}},{key:"raf",value:function(t){var n=this;t.delay=(1e3/t.fps).toFixed(2);var r,i=Dt(),o=function s(){if(document.hidden&&t.backgroundTask)return r=Dt()-i,i=Dt(),t.callback(),t.loopCount+=1,n.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(s,t.delay-Math.floor(r%t.delay));if((r=Dt()-i)>=t.delay&&(i=Dt()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!n.isBreakLoop(t))return t.rafID=requestAnimationFrame(s)};if(t.rafID=requestAnimationFrame(o),t.backgroundTask){var a=function(){if(document.hidden){var s=Dt()-i;s>=t.delay?o():t.timeoutID=setTimeout(o,t.delay-s)}};document.addEventListener("visibilitychange",a),t.onVisibilitychange=a,document.hidden&&a()}return t.taskID}},{key:"hasTask",value:function(t){return this.taskMap.has(t)}},{key:"clearTask",value:function(t){if(!this.taskMap.has(t))return!0;var n=this.taskMap.get(t),r=n.intervalID,i=n.timeoutID,o=n.rafID,a=n.ricID,s=n.onVisibilitychange;return r&&clearInterval(r),i&&clearTimeout(i),o&&N6(o),a&&M6(a),s&&document.removeEventListener("visibilitychange",s),this.taskMap.delete(t),!0}},{key:"isBreakLoop",value:function(t){return!this.taskMap.has(t.taskID)||t.count!==0&&t.loopCount>=t.count&&(this.clearTask(t.taskID),!0)}}]),e}();et(yt,"taskMap",new Map),et(yt,"currentTaskID",1);var V6=function(){function e(){J(this,e),this.prefix_="TRTC",this.queue_=new Map,this.checkStorage()}return Ie(e,[{key:"getRealKey",value:function(t){return"".concat(this.prefix_,"_").concat(t)}},{key:"checkStorage",value:function(){var t=this;if(na()){var n=Object.keys(localStorage).filter(function(r){if(r.startsWith(t.prefix_)){var i=JSON.parse(localStorage.getItem(r));if(i&&i.expiresIn<Date.now())return!0}return!1});n.forEach(function(r){return localStorage.removeItem(r)})}}},{key:"doFlush",value:function(){if(na())try{var t,n=ie(this.queue_);try{for(n.s();!(t=n.n()).done;){var r=ke(t.value,2),i=r[0],o=r[1];localStorage.setItem(i,JSON.stringify(o))}}catch(a){n.e(a)}finally{n.f()}}catch(a){ye.warn(a)}}},{key:"getItem",value:function(t){if(!na())return null;try{var n=JSON.parse(localStorage.getItem(this.getRealKey(t)));return n&&n.expiresIn>=Date.now()?n.value:null}catch(r){ye.warn(r)}}},{key:"setItem",value:function(t,n){var r=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(na())try{var i={expiresIn:Date.now()+Kb,value:n};r?localStorage.setItem(this.getRealKey(t),JSON.stringify(i)):(this.queue_.set(this.getRealKey(t),i),yt.hasTask(this.intervalId_)||(this.intervalId_=yt.run(uo,this.doFlush.bind(this),{count:1})))}catch(o){ye.warn(o)}}},{key:"deleteItem",value:function(t){if(!na())return!1;try{return t=this.getRealKey(t),this.queue_.delete(t),localStorage.removeItem(t),!0}catch(n){return ye.warn(n),!1}}},{key:"clear",value:function(){if(na())try{localStorage.clear()}catch(t){ye.warn(t)}}}]),e}(),yo=new V6,gt={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isMediaDevicesSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},PT="checkResult",DT=function(){return!yV&&!ol&&!(sl&&Ck<80)&&!(xr&&Ek<56)},Cm=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter(function(e){return e in window}).length>0},U6=function(){if(!navigator.mediaDevices)return!1;var e=["getUserMedia","enumerateDevices"];return e.filter(function(t){return t in navigator.mediaDevices}).length===e.length},LT=function(){var e=N(p().mark(function t(){var n,r,i,o,a,s;return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(!gt.detail.isH264EncodeSupported||!gt.detail.isVp8EncodeSupported){c.next=2;break}return c.abrupt("return",{isH264EncodeSupported:gt.detail.isH264EncodeSupported,isVp8EncodeSupported:gt.detail.isVp8EncodeSupported});case 2:return n="",r=!1,i=!1,c.prev=5,o=new RTCPeerConnection,(a=document.createElement(hb)).getContext("2d"),s=a.captureStream(0),o.addTrack(s.getVideoTracks()[0],s),c.next=13,o.createOffer();case 13:return(n=c.sent).sdp.toLowerCase().indexOf("h264")!==-1&&(r=!0),n.sdp.toLowerCase().indexOf("vp8")!==-1&&(i=!0),o.close(),gt.detail.isH264EncodeSupported=r,gt.detail.isVp8EncodeSupported=i,c.abrupt("return",{isH264EncodeSupported:gt.detail.isH264EncodeSupported,isVp8EncodeSupported:gt.detail.isVp8EncodeSupported});case 22:return c.prev=22,c.t0=c.catch(5),c.abrupt("return",{isH264EncodeSupported:!1,isVp8EncodeSupported:!1});case 25:case"end":return c.stop()}},t,null,[[5,22]])}));return function(){return e.apply(this,arguments)}}();function j6(){return Rm.apply(this,arguments)}function Rm(){return Rm=N(p().mark(function e(){return p().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var n=N(p().mark(function r(i){var o,a,s,c,u,l,h,_,y,S,f,g,I,w;return p().wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return o={encode:!1,decode:!1},a=null,B.prev=2,s=document.createElement("canvas"),c=s.getContext("2d"),s.width=640,s.height=480,u=setInterval(function(){c.fillText("test",Math.floor(640*Math.random()),Math.floor(480*Math.random()))},33),l=-1,h=-1,a=function(){clearInterval(l),clearInterval(u),clearTimeout(h),y.close(),S.close(),_.getTracks().forEach(function(z){return z.stop()})},h=setTimeout(function(){a(),i(o)},3e3),_=s.captureStream(),y=new RTCPeerConnection({}),S=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),y.addEventListener("icecandidate",function(z){return S.addIceCandidate(z.candidate)}),S.addEventListener("icecandidate",function(z){return y.addIceCandidate(z.candidate)}),y.addTrack(_.getVideoTracks()[0],_),B.next=20,y.createOffer();case 20:return f=B.sent,B.next=23,y.setLocalDescription(f);case 23:return B.next=25,S.setRemoteDescription(f);case 25:return B.next=27,S.createAnswer();case 27:return g=B.sent,I=Gr(g.sdp),w=I.media[0].rtp.findIndex(function(z){return z.codec==="H264"}),I.media[0].rtp=[I.media[0].rtp[w]],I.media[0].fmtp=I.media[0].fmtp.filter(function(z){return z.payload===I.media[0].rtp[0].payload}),I.media[0].rtcpFb=I.media[0].rtcpFb.filter(function(z){return z.payload===I.media[0].rtp[0].payload}),g.sdp=vo(I),B.next=36,S.setLocalDescription(g);case 36:return B.next=38,y.setRemoteDescription(g);case 38:l=setInterval(N(p().mark(function z(){var $,ue;return p().wrap(function(L){for(;;)switch(L.prev=L.next){case 0:return o.encode&&o.decode&&(a(),i(o)),L.next=3,y.getStats();case 3:return $=L.sent,L.next=6,S.getStats();case 6:ue=L.sent,o.encode||$.forEach(function(k){k.type==="outbound-rtp"&&k.mediaType===Te&&k.framesEncoded>0&&(o.encode=!0)}),o.decode||ue.forEach(function(k){k.type==="inbound-rtp"&&k.mediaType===Te&&k.framesDecoded>0&&(o.decode=!0)});case 9:case"end":return L.stop()}},z)})),500),B.next=46;break;case 41:B.prev=41,B.t0=B.catch(2),a(),ye.warn(B.t0),i(o);case 46:case"end":return B.stop()}},r,null,[[2,41]])}));return function(r){return n.apply(this,arguments)}}()));case 1:case"end":return t.stop()}},e)})),Rm.apply(this,arguments)}var OT=function(){var e=N(p().mark(function t(){var n,r,i,o;return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(!gt.detail.isH264DecodeSupported||!gt.detail.isVp8DecodeSupported){a.next=2;break}return a.abrupt("return",{isH264DecodeSupported:gt.detail.isH264DecodeSupported,isVp8DecodeSupported:gt.detail.isVp8DecodeSupported});case 2:return n="",r=!1,i=!1,a.prev=5,o=new RTCPeerConnection,a.next=9,o.createOffer({offerToReceiveAudio:1,offerToReceiveVideo:1});case 9:return(n=a.sent).sdp.toLowerCase().indexOf("h264")!==-1&&(r=!0),n.sdp.toLowerCase().indexOf("vp8")!==-1&&(i=!0),o.close(),a.abrupt("return",{isH264DecodeSupported:r,isVp8DecodeSupported:i});case 16:return a.prev=16,a.t0=a.catch(5),a.abrupt("return",{isH264DecodeSupported:!1,isVp8DecodeSupported:!1});case 19:case"end":return a.stop()}},t,null,[[5,16]])}));return function(){return e.apply(this,arguments)}}(),B6=function(){var e=N(p().mark(function t(){var n,r,i,o,a,s,c,u,l,h,_,y,S;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if(MT()){f.next=2;break}return f.abrupt("return",gt);case 2:return n=DT(),r=Cm(),i=U6(),f.next=7,LT();case 7:return o=f.sent,a=o.isH264EncodeSupported,s=o.isVp8EncodeSupported,f.next=12,OT();case 12:if(c=f.sent,u=c.isH264DecodeSupported,l=c.isVp8DecodeSupported,a&&s){f.next=21;break}return f.next=18,LT();case 18:h=f.sent,a=h.isH264EncodeSupported,s=h.isVp8EncodeSupported;case 21:if(!(a&&u&&(ul||ll||EV)&&!Vr&&rc()<79)){f.next=29;break}return f.next=24,j6();case 24:_=f.sent,y=_.encode,S=_.decode,a=y,u=S;case 29:return gt.result=n&&r&&i&&(a||s)&&(u||l),gt.detail.isBrowserSupported=n,gt.detail.isWebRTCSupported=r,gt.detail.isMediaDevicesSupported=i,gt.detail.isH264EncodeSupported=a,gt.detail.isVp8EncodeSupported=s,gt.detail.isH264DecodeSupported=u,gt.detail.isVp8DecodeSupported=l,F6(),yo.setItem(PT,{ua:navigator.userAgent,checkResult:gt},!0),f.abrupt("return",gt);case 40:case"end":return f.stop()}},t)}));return function(){return e.apply(this,arguments)}}(),Am=function(e,t){var n=null;return function(){if(n)return n;for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(n=e.apply(t||this,i)).then(function(a){return n=null,a}).catch(function(a){throw n=null,a}),n}}(B6);function MT(){return Object.keys(gt.detail).findIndex(function(e){return!gt.detail[e]})>=0}function F6(){MT()&&(ye.warn(ne({key:vk})),ye.info("".concat(navigator.userAgent," ").concat(JSON.stringify(gt.detail))))}function NT(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)}function VT(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function kl(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function bi(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function Pm(){return"RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype}function Dm(){return"RTCRtpSender"in window&&"replaceTrack"in window.RTCRtpSender.prototype}function UT(){return"RTCRtpSender"in window&&"setParameters"in window.RTCRtpSender.prototype&&kl()}function Tl(){return!!ge(navigator.mediaDevices)&&(ye.error(gi.NOT_SUPPORTED_MEDIA),!0)}function xl(){return location.protocol==="http:"&&!ta&&(ye.warn(ne({key:mk})),!0)}var Lm="RTCRtpSender"in window&&"createEncodedStreams"in window.RTCRtpSender.prototype&&rc()>=86;function Om(e){return!(e.type!=="candidate-pair"||!e.nominated||e.state!=="in-progress"&&e.state!=="succeeded")&&!(Ur(e.selected)&&!e.selected)}var jT=new Map([[lo,"Android"],[$i,"iOS"],[Ak,"Windows"],[nc,"MacOS"],[Pk,"Linux"]]);function Mm(){var e="unknown";return jT.get(!0)&&(e=jT.get(!0)),e}function G6(){var e="";return screen.width&&(e+=(screen.width?screen.width*window.devicePixelRatio:"")+" * "+(screen.height?screen.height*window.devicePixelRatio:"")),e}function H6(){var e=!1;return(navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia)&&(e=!0),e}function z6(){for(var e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"],n=0;n<t.length;n++)if(t[n]in window){e.isSupported=!0;break}return e.isSupported}function BT(){return!(bf&&rc()<86)&&!($i&&er(ea)&&ea<15)&&!(Pf&&Pf<63)&&!(!DT()||!("captureStream"in HTMLCanvasElement.prototype))}var So=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,W6=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,J6=function(){var e,t,n;return((e=window)===null||e===void 0?void 0:e.OffscreenCanvas)&&((t=window)===null||t===void 0?void 0:t.MediaStreamTrackProcessor)&&((n=window)===null||n===void 0?void 0:n.MediaStreamTrackGenerator)};(function(){xl();var e=yo.getItem(PT);e&&e.ua===navigator.userAgent&&(gt=e.checkResult),Am()})();var nt={STREAM_ADDED:"stream-added",STREAM_REMOVED:"stream-removed",STREAM_UPDATED:"stream-updated",STREAM_PUBLISHED:"stream-published",STREAM_SUBSCRIBED:"stream-subscribed",STREAM_UNSUBSCRIBED:"stream-unsubscribed",STATE_CHANGED:"state-changed",ERROR:"error",CONNECTION_STATE_CHANGED:"connection-state-changed",SEI_MESSAGE:vb},ut={STREAM_ADDED:"stream-added",STREAM_REMOVED:"stream-removed",STREAM_UPDATED:"stream-updated",STREAM_SUBSCRIBED:"stream-subscribed",CONNECTION_STATE_CHANGED:"connection-state-changed",PEER_JOIN:"peer-join",PEER_LEAVE:"peer-leave",MUTE_AUDIO:"mute-audio",MUTE_VIDEO:"mute-video",UNMUTE_AUDIO:"unmute-audio",UNMUTE_VIDEO:"unmute-video",CLIENT_BANNED:"client-banned",NETWORK_QUALITY:"network-quality",AUDIO_VOLUME:"audio-volume",SEI_MESSAGE:vb,ERROR:"error"},FT="player-state-changed",q6="screen-sharing-stopped",K6="connection-state-changed",X6="device-auto-recovered",Nm="error",gn="player-state-changed",Q6=ak;Me({target:"String",proto:!0,forced:ok("small")},{small:function(){return Q6(this,"small","","")}});var Y6=function(){function e(o){J(this,e);var a=o.getUserId();this.log_=ye.createLogger({id:a,userId:a,sdkAppId:o.getSDKAppId()}),this.prevReportTime_=0,this.prevReport_={},this.prevEncoderImplementation_="",this.prevQualityLimitationReason_="",this.prevDecoderImplementationMap_=new Map}var t,n,r,i;return Ie(e,[{key:"statInterval",get:function(){return this.prevReportTime_===0?2:(Date.now()-this.prevReportTime_)/1e3}},{key:"getSenderStats",value:(i=N(p().mark(function o(a){var s,c,u,l,h=this;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(s={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},c=a.getPeerConnection(),u=a.getSSRC(),!c){_.next=15;break}return _.prev=4,_.next=7,c.getStats();case 7:_.sent.forEach(function(y){if(y.type==="outbound-rtp")if(y.mediaType===Te){if(!xr&&y.bytesSent===0)return;y.ssrc!==u.video||ge(y.encoderImplementation)||h.prevEncoderImplementation_===y.encoderImplementation||(h.log_.info("encoderImplementation change to ".concat(y.encoderImplementation)),h.prevEncoderImplementation_=y.encoderImplementation),y.ssrc!==u.video||ge(y.qualityLimitationReason)||h.prevQualityLimitationReason_===y.qualityLimitationReason||(h.log_.info("qualityLimitationReason change to ".concat(y.qualityLimitationReason)),h.prevQualityLimitationReason_=y.qualityLimitationReason);var S=Te;y.ssrc===u.small?S=Nr:y.ssrc===u.auxiliary&&(S=mt),s[S].bytesSent=y.bytesSent,s[S].packetsSent=y.packetsSent,s[S].framesEncoded=y.framesEncoded}else y.mediaType===Ce&&(s.audio.bytesSent=y.bytesSent,s.audio.packetsSent=y.packetsSent);else y.type==="candidate-pair"?Om(y)&&er(y.currentRoundTripTime)&&(s.rtt=Math.floor(1e3*y.currentRoundTripTime)):y.type==="media-source"&&(y.kind===Ce?(s.audio.audioLevel=y.audioLevel||0,s.audio.totalAudioEnergy=y.totalAudioEnergy||0):y.kind===Te&&(y.trackIdentifier===a.getVideoTrackId(Te)?s.video.fpsCapture=y.framesPerSecond:y.trackIdentifier===a.getVideoTrackId(mt)?s.auxiliary.fpsCapture=y.framesPerSecond:s.small.fpsCapture=y.framesPerSecond));var f;ge(y.audioLevel)||(s.audio.audioLevel=y.audioLevel||0,s.audio.totalAudioEnergy=y.totalAudioEnergy||0),ge(y.frameWidth)||(y.trackIdentifier===a.getVideoTrackId(Te)||y.ssrc===u.video?f=Te:y.trackIdentifier===a.getVideoTrackId(mt)||y.ssrc===u.auxiliary?f=mt:y.trackIdentifier!==a.getVideoTrackId(Nr)&&y.ssrc!==u.small||(f=Nr),f&&(s[f].frameWidth=y.frameWidth,s[f].frameHeight=y.frameHeight,s[f].framesSent=y.framesSent))}),s.audio.audioLevel===0&&(s.audio.audioLevel=((l=a.getLocalStream())===null||l===void 0?void 0:l.getInternalAudioLevel())||0),_.next=15;break;case 12:_.prev=12,_.t0=_.catch(4),this.log_.warn("failed to getStats on sender connection "+_.t0);case 15:return _.abrupt("return",s);case 16:case"end":return _.stop()}},o,this,[[4,12]])})),function(o){return i.apply(this,arguments)})},{key:"getReceiverStats",value:(r=N(p().mark(function o(a){var s,c,u,l,h,_=this;return p().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:if(s={tinyId:a.getTinyId(),userId:a.getUserId(),rtt:0,hasAudio:!1,hasVideo:!1,hasAuxiliary:!1,audio:{bytesReceived:0,packetsReceived:0,packetsLost:0,jitter:0,audioLevel:0,totalAudioEnergy:0},video:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0},auxiliary:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0}},!(c=a.getPeerConnection())){y.next=16;break}return y.prev=3,u=a.getSSRC(),l=a.getTrackState(),y.next=8,c.getStats();case 8:y.sent.forEach(function(S){if(S.type==="inbound-rtp"){if(S.mediaType===Ce&&S.ssrc===u.audio&&l.audio)s.audio.packetsReceived=S.packetsReceived,s.audio.bytesReceived=S.bytesReceived,s.audio.packetsLost=S.packetsLost,s.audio.jitter=S.jitter,s.hasAudio=!0;else if(S.mediaType===Te){if(xr&&S.bytesReceived===0)return;S.ssrc===u.video&&l.video&&(s.video.packetsReceived=S.packetsReceived,s.video.bytesReceived=S.bytesReceived,s.video.packetsLost=S.packetsLost,s.video.framesReceived=S.framesReceived,s.video.framesDecoded=S.framesDecoded,s.video.fpsDecoded=S.framesPerSecond,s.hasVideo=!0,!S.decoderImplementation||_.prevDecoderImplementationMap_.has(s.userId)&&_.prevDecoderImplementationMap_.get(s.userId)===S.decoderImplementation||(_.log_.info("".concat(s.userId," decoderImplementation change to ").concat(S.decoderImplementation)),_.prevDecoderImplementationMap_.set(s.userId,S.decoderImplementation))),S.ssrc===u.auxiliary&&l.auxiliary&&(s.auxiliary.packetsReceived=S.packetsReceived,s.auxiliary.bytesReceived=S.bytesReceived,s.auxiliary.packetsLost=S.packetsLost,s.auxiliary.framesReceived=S.framesReceived,s.auxiliary.framesDecoded=S.framesDecoded,s.auxiliary.fpsDecoded=S.framesPerSecond,s.hasAuxiliary=!0)}}else S.type==="candidate-pair"&&Om(S)&&er(S.currentRoundTripTime)&&(s.rtt=Math.floor(1e3*S.currentRoundTripTime));ge(S.frameWidth)||(S.trackIdentifier!==a.getMainStreamVideoTrackId()&&S.ssrc!==u.video||(s.video.frameWidth=S.frameWidth,s.video.frameHeight=S.frameHeight),S.trackIdentifier!==a.getAuxStreamVideoTrackId()&&S.ssrc!==u.auxiliary||(s.auxiliary.frameWidth=S.frameWidth,s.auxiliary.frameHeight=S.frameHeight)),ge(S.audioLevel)||(s.audio.audioLevel=S.audioLevel||0,s.audio.totalAudioEnergy=S.totalAudioEnergy||0)}),s.audio.audioLevel===0&&(s.audio.audioLevel=((h=a.getMainStream())===null||h===void 0?void 0:h.getInternalAudioLevel())||0),y.next=16;break;case 13:y.prev=13,y.t0=y.catch(3),this.log_.warn("failed to getStats on receiver connection "+y.t0);case 16:return y.abrupt("return",s);case 17:case"end":return y.stop()}},o,this,[[3,13]])})),function(o){return r.apply(this,arguments)})},{key:"getStats",value:(n=N(p().mark(function o(a,s){var c,u,l,h,_,y,S;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if(c={},!a){f.next=5;break}return f.next=4,this.getSenderStats(a);case 4:c=f.sent;case 5:u=[],l=ie(s),f.prev=7,l.s();case 9:if((h=l.n()).done){f.next=17;break}return(_=ke(h.value,2))[0],y=_[1],f.next=13,this.getReceiverStats(y);case 13:S=f.sent,u.push(S);case 15:f.next=9;break;case 17:f.next=22;break;case 19:f.prev=19,f.t0=f.catch(7),l.e(f.t0);case 22:return f.prev=22,l.f(),f.finish(22);case 25:return f.abrupt("return",{senderStats:c,receiverStats:u});case 26:case"end":return f.stop()}},o,this,[[7,19,22,25]])})),function(o,a){return n.apply(this,arguments)})},{key:"getDifferenceValue",value:function(o,a){if(Si(o))return a;var s=a-o;return s<0?0:s}},{key:"prepareReport",value:function(o){var a=this,s=o.stats,c=o.report,u=o.freezeMap;if(!Si(s.senderStats)){var l;l={uint32_audio_level:1e8*s.senderStats.audio.audioLevel,uint32_audio_energy:1e6*s.senderStats.audio.totalAudioEnergy,uint32_audio_codec_bitrate:s.senderStats.audio.bytesSent,audioLevel:s.senderStats.audio.audioLevel};var h=[],_={uint32_video_stream_type:2,uint32_video_codec_fps:s.senderStats.video.framesSent,uint32_video_capture_fps:s.senderStats.video.fpsCapture,uint32_video_width:s.senderStats.video.frameWidth,uint32_video_height:s.senderStats.video.frameHeight,uint32_video_codec_bitrate:s.senderStats.video.bytesSent,uint32_video_enc_fps:s.senderStats.video.framesEncoded};if(h.push(_),s.senderStats.small.bytesSent){var y={uint32_video_stream_type:3,uint32_video_codec_fps:s.senderStats.small.framesSent||0,uint32_video_capture_fps:s.senderStats.small.fpsCapture||0,uint32_video_width:s.senderStats.small.frameWidth||0,uint32_video_height:s.senderStats.small.frameHeight||0,uint32_video_codec_bitrate:s.senderStats.small.bytesSent,uint32_video_enc_fps:s.senderStats.small.framesEncoded||0};h.push(y)}if(s.senderStats.auxiliary.bytesSent){var S={uint32_video_stream_type:7,uint32_video_codec_fps:s.senderStats.auxiliary.framesSent||0,uint32_video_capture_fps:s.senderStats.auxiliary.fpsCapture||0,uint32_video_width:s.senderStats.auxiliary.frameWidth||0,uint32_video_height:s.senderStats.auxiliary.frameHeight||0,uint32_video_codec_bitrate:s.senderStats.auxiliary.bytesSent,uint32_video_enc_fps:s.senderStats.auxiliary.framesEncoded||0};h.push(S)}var f={uint32_bitrate:0,uint32_rtt:s.senderStats.rtt};c.msg_up_stream_info={msg_audio_status:l,msg_video_status:h,msg_network_status:f}}var g=this.statInterval;c.msg_down_stream_info=[],s.receiverStats.forEach(function(k){var P={};if(P.msg_user_info={str_identifier:k.userId,uint64_tinyid:k.tinyId},P.msg_network_status={uint32_rtt:k.rtt},P.msg_video_status={},k.hasAudio){var A={uint32_audio_codec_bitrate:k.audio.bytesReceived,uint32_audio_total_bitrate:k.audio.bytesReceived,uint32_audio_level:1e8*k.audio.audioLevel,uint32_audio_energy:1e6*k.audio.totalAudioEnergy,uint32_audio_receive:k.audio.packetsReceived,uint32_audio_origin_lost:k.audio.packetsLost,audioLevel:k.audio.audioLevel};P.msg_audio_status=A}if(P.msg_video_status=[],k.hasVideo){var U=u.get(k.userId+"_"+_t),T=U?U.duration:0,v={uint32_video_stream_type:2,uint32_video_receive_fps:k.video.framesReceived,uint32_video_width:k.video.frameWidth,uint32_video_height:k.video.frameHeight,uint32_video_codec_bitrate:k.video.bytesReceived,uint32_video_receive:k.video.packetsReceived,uint32_video_origin_lost:k.video.packetsLost,uint32_video_block_time:T,uint32_video_dec_fps:k.video.framesDecoded};P.msg_video_status.push(v)}if(k.hasAuxiliary){var E=u.get(k.userId+"_"+Lt),C=E?E.duration:0,M={uint32_video_stream_type:7,uint32_video_receive_fps:k.auxiliary.framesReceived,uint32_video_width:k.auxiliary.frameWidth,uint32_video_height:k.auxiliary.frameHeight,uint32_video_codec_bitrate:k.auxiliary.bytesReceived,uint32_video_receive:k.auxiliary.packetsReceived+k.auxiliary.packetsLost,uint32_video_origin_lost:k.auxiliary.packetsLost,uint32_video_block_time:C,uint32_video_dec_fps:k.auxiliary.framesDecoded};P.msg_video_status.push(M)}c.msg_down_stream_info.push(P)});var I=this.prevReport_;if(this.prevReport_=JSON.parse(JSON.stringify(c)),c.msg_up_stream_info.msg_audio_status&&I.msg_up_stream_info.msg_audio_status){var w=I.msg_up_stream_info.msg_audio_status,B=c.msg_up_stream_info.msg_audio_status,z=this.getDifferenceValue(w.uint32_audio_codec_bitrate,B.uint32_audio_codec_bitrate);B.uint32_audio_codec_bitrate=Math.round(8*z/g),c.msg_up_stream_info.msg_network_status.uint32_bitrate+=B.uint32_audio_codec_bitrate}var $=I.msg_up_stream_info.msg_video_status;c.msg_up_stream_info.msg_video_status.forEach(function(k){var P=$.find(function(E){return E.uint32_video_stream_type===k.uint32_video_stream_type});if(!P||P.uint32_video_codec_bitrate===0)return k.uint32_video_codec_bitrate=0,k.uint32_video_enc_fps=0,void(k.uint32_video_codec_fps=0);var A=P.uint32_video_codec_bitrate,U=P.uint32_video_enc_fps,T=P.uint32_video_codec_fps,v=a.getDifferenceValue(A,k.uint32_video_codec_bitrate);k.uint32_video_codec_bitrate=Math.round(8*v/g),c.msg_up_stream_info.msg_network_status.uint32_bitrate+=k.uint32_video_codec_bitrate,k.uint32_video_enc_fps=Math.round(a.getDifferenceValue(U,k.uint32_video_enc_fps)/g),k.uint32_video_codec_fps=Math.round(a.getDifferenceValue(T,k.uint32_video_codec_fps)/g)});var ue=c.msg_down_stream_info,L=I.msg_down_stream_info;return ue.forEach(function(k){var P=L.find(function(C){return C.msg_user_info.uint64_tinyid===k.msg_user_info.uint64_tinyid});if(P){if(k.msg_audio_status&&P.msg_audio_status){var A=k.msg_audio_status,U=P.msg_audio_status;A.uint32_audio_origin_lost=a.getDifferenceValue(U.uint32_audio_origin_lost,A.uint32_audio_origin_lost),A.uint32_audio_receive=a.getDifferenceValue(U.uint32_audio_receive,A.uint32_audio_receive),A.uint32_audio_receive+=A.uint32_audio_origin_lost;var T=a.getDifferenceValue(U.uint32_audio_codec_bitrate,A.uint32_audio_codec_bitrate);A.uint32_audio_codec_bitrate=Math.round(8*T/g),A.uint32_audio_total_bitrate=Math.round(8*T/g)}if(k.msg_video_status&&P.msg_video_status){var v=k.msg_video_status,E=P.msg_video_status;v.forEach(function(C){var M=E.find(function(Ge){return Ge.uint32_video_stream_type===C.uint32_video_stream_type});if(!M)return C.uint32_video_receive=0,C.uint32_video_origin_lost=0,C.uint32_video_codec_bitrate=0,C.uint32_video_receive_fps=0,void(C.uint32_video_dec_fps=0);var F=M.uint32_video_receive,q=M.uint32_video_origin_lost,re=M.uint32_video_codec_bitrate,ce=M.uint32_video_receive_fps,ve=M.uint32_video_dec_fps;C.uint32_video_origin_lost=a.getDifferenceValue(q,C.uint32_video_origin_lost),C.uint32_video_receive=a.getDifferenceValue(F,C.uint32_video_receive)+C.uint32_video_origin_lost;var Ye=a.getDifferenceValue(re,C.uint32_video_codec_bitrate);C.uint32_video_codec_bitrate=Math.round(8*Ye/g);var Ve=a.getDifferenceValue(ce,C.uint32_video_receive_fps);C.uint32_video_receive_fps=Math.round(Ve/g),C.uint32_video_dec_fps=Math.round(a.getDifferenceValue(ve,C.uint32_video_dec_fps)/g)})}}}),c}},{key:"getStatsReport",value:(t=N(p().mark(function o(a){var s,c,u,l,h;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:return s=a.uplinkConnection,c=a.downlinkConnections,u=a.freezeMap,l={msg_up_stream_info:{msg_audio_status:{uint32_audio_format:0,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,audioLevel:0},msg_video_status:[{uint32_video_stream_type:0,uint32_video_codec_fps:0,uint32_video_capture_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_final_lost:0,uint32_video_enc_fps:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}},msg_down_stream_info:[{msg_user_info:{str_identifier:"",uint64_tinyid:""},msg_audio_status:{uint32_audio_format:0,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,audioLevel: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,uint32_jitter:0}}]},_.next=4,this.getStats(s,c);case 4:return h=_.sent,JSON.stringify(this.prevReport_)==="{}"&&(this.prevReport_=JSON.parse(JSON.stringify(l))),this.prepareReport({stats:h,report:l,freezeMap:u,uplinkConnection:s,downlinkConnections:c}),this.prevReportTime_=Date.now(),_.abrupt("return",l);case 9:case"end":return _.stop()}},o,this)})),function(o){return t.apply(this,arguments)})},{key:"reset",value:function(){this.prevReportTime_=0,this.prevReport_={},this.prevEncoderImplementation_="",this.prevQualityLimitationReason_="",this.prevDecoderImplementationMap_=new Map}}]),e}(),$6=function(){function e(r){var i=r.signalChannel,o=r.connections,a=r.client;J(this,e),this.client_=a,this.signalChannel_=i,this.connections_=o,this.client_=a,this.log_=ye.createLogger({id:"q|"+this.client_.getUserId(),userId:this.client_.getUserId(),sdkAppId:this.client_.getSDKAppId()}),this.uplinkConnection_=null,this.uplinkNetworkQuality_=0,this.uplinkRTT_=0,this.uplinkLoss_=0,this.downlinkNetworkQuality_=0,this.downlinkRTT_=0,this.downlinkLoss_=0,this.downlinkPrevStatMap_=new Map,this.downlinkLossAndRTTMap_=new Map,this.interval_=-1,this.emitter_=new yi,this.initialize()}var t,n;return Ie(e,[{key:"uplinkNetworkQuality",get:function(){return this.uplinkNetworkQuality_},set:function(r){r!==this.uplinkNetworkQuality_&&this.log_.info("uplink network quality change ".concat(this.uplinkNetworkQuality," -> ").concat(r,", rtt: ").concat(this.uplinkRTT_,", loss: ").concat(this.uplinkLoss_)),this.uplinkNetworkQuality_=r}},{key:"downlinkNetworkQuality",get:function(){return this.downlinkNetworkQuality_},set:function(r){if(r!==this.downlinkNetworkQuality_){var i=this.getAverageLossAndRTT(be(this.downlinkLossAndRTTMap_.values())),o=i.rtt,a=i.loss;this.log_.info("downlink network quality change ".concat(this.downlinkNetworkQuality," -> ").concat(r,", rtt: ").concat(o,", loss: ").concat(a))}this.downlinkNetworkQuality_=r}},{key:"initialize",value:function(){var r=this;this.signalChannel_.on(vt.UPLINK_NETWORK_STATS,function(i){r.handleUplinkNetworkQuality(i)}),this.signalChannel_.on(mm,this.handleSignalConnectionStateChange.bind(this)),this.start()}},{key:"handleUplinkNetworkQuality",value:function(r){if(!this.uplinkConnection_)return this.uplinkNetworkQuality=0,this.uplinkLoss_=0,void(this.uplinkRTT_=0);var i=this.uplinkConnection_.getPeerConnection();if(i&&this.isPeerConnectionDisconnected(i))return this.uplinkNetworkQuality=6,this.uplinkLoss_=0,void(this.uplinkRTT_=0);if(r.data.code===0){var o=r.data.data,a=o.expectAudPkg+o.expectVidPkg,s=o.recvAudPkg+o.recvVidPkg,c=a-s,u=o.delay;if(u&&this.updateDelay(u),a===0&&s===0)return;this.uplinkLoss_=c<=0?0:Math.round(c/a*100),this.uplinkRTT_=o.rtt,this.uplinkNetworkQuality=this.getNetworkQuality(this.uplinkLoss_,this.uplinkRTT_)}}},{key:"handleDownlinkNetworkQuality",value:(n=N(p().mark(function r(){var i,o,a,s,c,u,l,h,_,y,S,f,g,I,w,B=this;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(this.connections_&&this.connections_.size!==0){z.next=3;break}return this.downlinkNetworkQuality=0,z.abrupt("return");case 3:if(i=be(this.connections_.values()),o=i.filter(function($){return $.getPeerConnection()&&$.getPeerConnection().connectionState===Tb}),i.filter(function($){return $.getPeerConnection()&&B.isPeerConnectionDisconnected($.getPeerConnection())}).length!==i.length){z.next=9;break}return this.downlinkNetworkQuality=6,z.abrupt("return");case 9:a=0;case 10:if(!(a<o.length)){z.next=31;break}return s=o[a].getPeerConnection(),z.next=14,this.getStat(s);case 14:if(c=z.sent,u=c.rtt,l=c.totalPacketsLost,h=c.totalPacketsReceived,this.downlinkPrevStatMap_.has(s)){z.next=21;break}return this.downlinkPrevStatMap_.set(s,{totalPacketsLost:l,totalPacketsReceived:h}),z.abrupt("continue",28);case 21:_=0,y=this.downlinkPrevStatMap_.get(s),S=l-y.totalPacketsLost,f=h-y.totalPacketsReceived,_=S<=0||f<0?0:Math.round(S/(S+f)*100),this.downlinkPrevStatMap_.set(s,{totalPacketsLost:l,totalPacketsReceived:h}),this.downlinkLossAndRTTMap_.set(s,{rtt:u,loss:_,userId:o[a].getUserId()});case 28:a++,z.next=10;break;case 31:if(be(this.downlinkPrevStatMap_.keys()).forEach(function($){B.isPeerConnectionDisconnected($)&&(B.downlinkPrevStatMap_.delete($),B.downlinkLossAndRTTMap_.delete($))}),this.downlinkLossAndRTTMap_.size!==0){z.next=34;break}return z.abrupt("return");case 34:g=this.getAverageLossAndRTT(be(this.downlinkLossAndRTTMap_.values())),I=g.rtt,w=g.loss,this.downlinkRTT_=I,this.downlinkLoss_=w,this.downlinkNetworkQuality=this.getNetworkQuality(w,I);case 38:case"end":return z.stop()}},r,this)})),function(){return n.apply(this,arguments)})},{key:"getStat",value:(t=N(p().mark(function r(i){var o,a,s,c;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(o={rtt:0,totalPacketsLost:0,totalPacketsReceived:0},i&&VT()){u.next=3;break}return u.abrupt("return",o);case 3:a=i.getReceivers(),u.prev=4,s=0;case 6:if(!(s<a.length)){u.next=15;break}return c=a[s],u.next=10,c.getStats();case 10:u.sent.forEach(function(l){l.type==="candidate-pair"&&er(l.currentRoundTripTime)&&(o.rtt=Math.round(1e3*l.currentRoundTripTime)),l.type!=="inbound-rtp"||l.mediaType!==Ce&&l.mediaType!==Te||(o.totalPacketsLost+=l.packetsLost,o.totalPacketsReceived+=l.packetsReceived)});case 12:s++,u.next=6;break;case 15:return u.abrupt("return",o);case 18:return u.prev=18,u.t0=u.catch(4),u.abrupt("return",o);case 21:case"end":return u.stop()}},r,null,[[4,18]])})),function(r){return t.apply(this,arguments)})},{key:"getAverageLossAndRTT",value:function(r){var i={rtt:0,loss:0};return Array.isArray(r)&&r.length>0&&(r.forEach(function(o){i.rtt+=o.rtt,i.loss+=o.loss}),Object.keys(i).forEach(function(o){i[o]=Math.round(i[o]/r.length)})),i}},{key:"getNetworkQuality",value:function(r,i){return r>50||i>500?5:r>30||i>350?4:r>20||i>200?3:r>10||i>100?2:r>=0||i>=0?1:0}},{key:"handleSignalConnectionStateChange",value:function(r){r.state===bl?(this.uplinkRTT_=0,this.uplinkLoss_=0,this.uplinkNetworkQuality=6):r.state===uc&&this.uplinkNetworkQuality===6&&(this.uplinkNetworkQuality=5)}},{key:"handleUplinkConnectionStateChange",value:function(r){var i=r.state;i===sn?(this.uplinkLoss_=0,this.uplinkRTT_=0,this.uplinkNetworkQuality=6):i===mn&&this.uplinkNetworkQuality===6&&(this.uplinkNetworkQuality=5)}},{key:"isPeerConnectionDisconnected",value:function(r){return!(!r||r.connectionState!==YN&&r.connectionState!==kb&&r.connectionState!==Yp)}},{key:"setUplinkConnection",value:function(r){this.uplinkConnection_=r,this.uplinkConnection_?this.uplinkConnection_.on(nt.CONNECTION_STATE_CHANGED,this.handleUplinkConnectionStateChange.bind(this)):(this.uplinkNetworkQuality=0,this.uplinkRTT_=0,this.uplinkLoss_=0)}},{key:"start",value:function(){var r=this;this.interval_===-1?(this.log_.info("start network quality calculating"),this.interval_=yt.run(uo,function(){r.handleDownlinkNetworkQuality(),K.emit(um,{client:r.client_,uplinkNetworkQuality:r.uplinkNetworkQuality,downlinkNetworkQuality:r.downlinkNetworkQuality,uplinkRTT:r.uplinkRTT_,uplinkLoss:r.uplinkLoss_,downlinkRTT:r.downlinkRTT_,downlinkLoss:r.downlinkLoss_,downlinkLossAndRTTMap:r.downlinkLossAndRTTMap_}),r.emitter_.emit(ut.NETWORK_QUALITY,{uplinkNetworkQuality:r.uplinkNetworkQuality,downlinkNetworkQuality:r.downlinkNetworkQuality,uplinkRTT:r.uplinkRTT_,uplinkLoss:r.uplinkLoss_,downlinkRTT:r.downlinkRTT_,downlinkLoss:r.downlinkLoss_})},{delay:2e3})):this.log_.info("network quality calculating is already started")}},{key:"stop",value:function(){this.log_.info("stop network quality calculating"),this.interval_!==-1&&(yt.clearTask(this.interval_),this.interval_=-1),this.downlinkLossAndRTTMap_.clear(),this.downlinkPrevStatMap_.clear()}},{key:"on",value:function(r,i){this.emitter_.on(r,i)}},{key:"updateDelay",value:function(r){var i=this;r.forEach(function(o){var a=o.srcTinyId,s=o.videoDelay,c=o.audioDelay,u=i.connections_.get(a);u&&u.setDelay({videoDelay:s,audioDelay:c})})}}]),e}(),Z6=function(){function e(r){J(this,e),this.log_=ye.createLogger({id:r.client.getUserId(),userId:r.client.getUserId(),sdkAppId:r.client.getSDKAppId()}),this.localStream_=null,this.prevDevices_=[],this.initialize()}var t,n;return Ie(e,[{key:"initialize",value:function(){navigator.mediaDevices&&(this.onDeviceChange=this.onDeviceChange.bind(this),navigator.mediaDevices.addEventListener("devicechange",this.onDeviceChange))}},{key:"destroy",value:function(){navigator.mediaDevices&&navigator.mediaDevices.removeEventListener("devicechange",this.onDeviceChange)}},{key:"onDeviceChange",value:(n=N(p().mark(function r(){var i,o,a,s=this;return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.localStream_&&this.localStream_.getMediaStream()&&!this.localStream_.getScreen()){c.next=2;break}return c.abrupt("return");case 2:return c.next=4,Um();case 4:i=c.sent,o=i.filter(function(u){return s.prevDevices_.findIndex(function(l){var h=l.deviceId;return u.deviceId===h})<0}),a=this.prevDevices_.filter(function(u){return i.findIndex(function(l){var h=l.deviceId;return u.deviceId===h})<0}),o.length>0&&this.handleDeviceAdded(this.prevDevices_,o),a.length>0&&this.handleDeviceRemoved(i,a),this.prevDevices_=i;case 10:case"end":return c.stop()}},r,this)})),function(){return n.apply(this,arguments)})},{key:"setLocalStream",value:(t=N(p().mark(function r(i){return p().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!i){o.next=4;break}return o.next=3,Um();case 3:this.prevDevices_=o.sent;case 4:this.localStream_=i;case 5:case"end":return o.stop()}},r,this)})),function(r){return t.apply(this,arguments)})},{key:"handleDeviceAdded",value:function(r,i){var o,a;if(this.localStream_){this.log_.warn("devicesAdded: ".concat(JSON.stringify(i))),this.localStream_.updateDeviceIdInUse();var s=i.filter(function(y){return y.kind===Qu}),c=i.filter(function(y){return y.kind===Xs}),u=r.filter(function(y){return y.kind===Qu}),l=r.filter(function(y){return y.kind===Xs}),h=s.length>0&&u.length===0&&((o=this.localStream_.getVideoTrack())===null||o===void 0?void 0:o.readyState)!=="live",_=c.length>0&&l.length===0&&((a=this.localStream_.getAudioTrack())===null||a===void 0?void 0:a.readyState)!=="live";if(_&&h)return this.log_.info("new microphone and camera detected, but there was no device before."),void this.localStream_.recoverCapture({audio:!0,video:!0,cameraId:s[0].deviceId,microphoneId:c[0].deviceId});h&&(this.log_.info("new camera detected, but there was no camera before."),this.localStream_.recoverCapture({audio:!1,video:!0,cameraId:s[0].deviceId})),_&&(this.log_.info("new microphone detected, but there was no microphone before."),this.localStream_.recoverCapture({audio:!0,video:!1,microphoneId:c[0].deviceId}))}}},{key:"handleDeviceRemoved",value:function(r,i){if(this.localStream_){this.log_.warn("devicesRemoved: ".concat(JSON.stringify(i))),this.localStream_.updateDeviceIdInUse();var o=!1,a=!1,s=this.localStream_.getCameraId(),c=this.localStream_.getMicrophoneId();if(c===nl){var u=this.localStream_.getMicrophoneGroupId(),l=r.filter(function(h){return h.deviceId===nl&&h.kind===Xs})[0];l&&l.groupId!==u&&(a=!0)}if(i.forEach(function(h){var _=h.deviceId;s.length>0&&_===s?o=!0:c.length>0&&_===c&&(a=!0)}),o&&a)return this.log_.warn("current camera and microphone in use is lost, cameraId: ".concat(s,", microphoneId: ").concat(c)),void((this.localStream_.getAudio()||this.localStream_.getVideo())&&this.localStream_.recoverCapture({video:!0,audio:!0}));o&&(this.log_.warn("current camera in use is lost, deviceId: ".concat(s)),this.localStream_.getVideo()&&this.localStream_.recoverCapture({video:!0,audio:!1})),a&&(this.log_.warn("current microphone in use is lost, deviceId: ".concat(c)),this.localStream_.getAudio()&&this.localStream_.recoverCapture({video:!1,audio:!0}))}}}]),e}();function Vm(){return Vm=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!xl()&&!Tl()){n.next=2;break}return n.abrupt("return",[]);case 2:return n.next=4,Il();case 4:return t=n.sent,n.abrupt("return",t.filter(function(r){return r.kind===Qu}).map(function(r,i){var o=r.label;r.label||(o="camera_"+i);var a={label:o,deviceId:r.deviceId,kind:r.kind};return r.groupId&&(a.groupId=r.groupId),r.getCapabilities&&(a.getCapabilities=function(){return r.getCapabilities()}),a}));case 6:case"end":return n.stop()}},e)})),Vm.apply(this,arguments)}var GT=new Set;function Il(){return HT.apply(this,arguments)}function HT(){return(HT=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!xl()&&!Tl()){n.next=2;break}return n.abrupt("return",[]);case 2:return n.next=4,navigator.mediaDevices.enumerateDevices();case 4:return(t=n.sent).forEach(function(r){GT.add("".concat(r.deviceId,"_").concat(r.kind))}),n.abrupt("return",t);case 7:case"end":return n.stop()}},e)}))).apply(this,arguments)}function Um(){return jm.apply(this,arguments)}function jm(){return jm=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Il();case 2:return t=n.sent,n.abrupt("return",t.filter(function(r){return r.kind!==Xs||r.deviceId!=Zb}).map(function(r,i){var o=r.label;r.label||(o=r.kind+"_"+i);var a={label:o,deviceId:r.deviceId,kind:r.kind};return r.groupId&&(a.groupId=r.groupId),r.getCapabilities&&(a.getCapabilities=function(){return r.getCapabilities()}),a}));case 4:case"end":return n.stop()}},e)})),jm.apply(this,arguments)}function zT(){return Bm.apply(this,arguments)}function Bm(){return Bm=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Il();case 2:return t=n.sent,n.abrupt("return",t.filter(function(r){return r.kind===Xs&&r.deviceId!==Zb}).map(function(r,i){var o=r.label;r.label||(o="microphone_"+i);var a={label:o,deviceId:r.deviceId,kind:r.kind};return r.groupId&&(a.groupId=r.groupId),r.getCapabilities&&(a.getCapabilities=function(){return r.getCapabilities()}),a}));case 4:case"end":return n.stop()}},e)})),Bm.apply(this,arguments)}function WT(){return Fm.apply(this,arguments)}function Fm(){return Fm=N(p().mark(function e(){var t;return p().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Il();case 2:return t=n.sent,n.abrupt("return",t.filter(function(r){return r.kind==="audiooutput"}).map(function(r,i){var o=r.label;r.label||(o="speaker_"+i);var a={label:o,deviceId:r.deviceId,kind:r.kind};return r.groupId&&(a.groupId=r.groupId),a}));case 4:case"end":return n.stop()}},e)})),Fm.apply(this,arguments)}function e5(e){var t;if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;var n=e.label.toLocaleLowerCase();if(n.includes("camera")||n.includes("webcam"))return!0;var r="".concat((t=e.getSettings())===null||t===void 0?void 0:t.deviceId,"_").concat(Qu);return!!GT.has(r)}function t5(e,t){return JT.apply(this,arguments)}function JT(){return(JT=N(p().mark(function e(t,n){var r,i;return p().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,zT();case 2:if(r=o.sent,((i=r.find(function(a){return a.deviceId===nl}))==null?void 0:i.groupId)!==t||i.label!==n){o.next=6;break}return o.abrupt("return",!0);case 6:return o.abrupt("return",!1);case 7:case"end":return o.stop()}},e)}))).apply(this,arguments)}var Bn,qT=Vi.exports,n5=Pt,r5=xt,i5=ty,a5=Mr,o5=Qe,s5=jt,c5=function(e,t,n,r){try{return r?t(r5(n)[0],n[1]):t(n)}catch(i){i5(e,"throw",i)}},u5=Th,l5=Eu,d5=rn,KT=Rs,h5=ku,p5=As,XT=Array,QT=function(e){var t=s5(e),n=l5(this),r=arguments.length,i=r>1?arguments[1]:void 0,o=i!==void 0;o&&(i=a5(i,r>2?arguments[2]:void 0));var a,s,c,u,l,h,_=p5(t),y=0;if(!_||this===XT&&u5(_))for(a=d5(t),s=n?new this(a):XT(a);a>y;y++)h=o?i(t[y],y):t[y],KT(s,y,h);else for(l=(u=h5(t,_)).next,s=n?new this:[];!(c=o5(l,u)).done;y++)h=o?c5(u,i,[c.value,y],!0):c.value,KT(s,y,h);return s.length=y,s},ca=pe,Gm=2147483647,f5=/[^\0-\u007E]/,YT=/[.\u3002\uFF0E\uFF61]/g,$T="Overflow: input needs wider integers to process",ZT=RangeError,m5=ca(YT.exec),bo=Math.floor,Hm=String.fromCharCode,e1=ca("".charCodeAt),t1=ca([].join),ki=ca([].push),v5=ca("".replace),g5=ca("".split),_5=ca("".toLowerCase),n1=function(e){return e+22+75*(e<26)},y5=function(e,t,n){var r=0;for(e=n?bo(e/700):e>>1,e+=bo(e/t);e>455;)e=bo(e/35),r+=36;return bo(r+36*e/(e+38))},S5=function(e){var t=[];e=function(I){for(var w=[],B=0,z=I.length;B<z;){var $=e1(I,B++);if($>=55296&&$<=56319&&B<z){var ue=e1(I,B++);(64512&ue)==56320?ki(w,((1023&$)<<10)+(1023&ue)+65536):(ki(w,$),B--)}else ki(w,$)}return w}(e);var n,r,i=e.length,o=128,a=0,s=72;for(n=0;n<e.length;n++)(r=e[n])<128&&ki(t,Hm(r));var c=t.length,u=c;for(c&&ki(t,"-");u<i;){var l=Gm;for(n=0;n<e.length;n++)(r=e[n])>=o&&r<l&&(l=r);var h=u+1;if(l-o>bo((Gm-a)/h))throw ZT($T);for(a+=(l-o)*h,o=l,n=0;n<e.length;n++){if((r=e[n])<o&&++a>Gm)throw ZT($T);if(r==o){for(var _=a,y=36;;){var S=y<=s?1:y>=s+26?26:y-s;if(_<S)break;var f=_-S,g=36-S;ki(t,Hm(n1(S+f%g))),_=bo(f/g),y+=36}ki(t,Hm(n1(_))),s=y5(a,h,u==c),a=0,u++}}a++,o++}return t1(t,"")},b5=Me,zm=_e,k5=x0,Wm=te,r1=Mr,Fn=pe,wl=Qt,Gn=function(e,t,n){return n.get&&qT(n.get,t,{getter:!0}),n.set&&qT(n.set,t,{setter:!0}),n5.f(e,t,n)},T5=si,Jm=Tt,qm=nT,ko=QT,nr=Su,x5=Rh.codeAt,I5=function(e){var t,n,r=[],i=g5(v5(_5(e),YT,"."),".");for(t=0;t<i.length;t++)n=i[t],ki(r,m5(f5,n)?"xn--"+S5(n):n);return t1(r,".")},Hr=Wt,w5=Fi,E5=wu,i1=RL,a1=Xe,C5=a1.set,El=a1.getterFor("URL"),R5=i1.URLSearchParams,A5=i1.getState,pc=Wm.URL,Km=Wm.TypeError,Cl=Wm.parseInt,P5=Math.floor,o1=Math.pow,Hn=Fn("".charAt),rr=Fn(/./.exec),fc=Fn([].join),D5=Fn(1 .toString),L5=Fn([].pop),To=Fn([].push),s1=Fn("".replace),O5=Fn([].shift),M5=Fn("".split),mc=Fn("".slice),Rl=Fn("".toLowerCase),N5=Fn([].unshift),Xm="Invalid scheme",ua="Invalid host",c1="Invalid port",u1=/[a-z]/i,V5=/[\d+-.a-z]/i,Qm=/\d/,U5=/^0x/i,j5=/^[0-7]+$/,B5=/^\d+$/,l1=/^[\da-f]+$/i,F5=/[\0\t\n\r #%/:<>?@[\\\]^|]/,G5=/[\0\t\n\r #/:<>?@[\\\]^|]/,H5=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,z5=/[\t\n\r]/g,vc=function(e){var t,n,r,i;if(typeof e=="number"){for(t=[],n=0;n<4;n++)N5(t,e%256),e=P5(e/256);return fc(t,".")}if(typeof e=="object"){for(t="",r=function(o){for(var a=null,s=1,c=null,u=0,l=0;l<8;l++)o[l]!==0?(u>s&&(a=c,s=u),c=null,u=0):(c===null&&(c=l),++u);return u>s&&(a=c,s=u),a}(e),n=0;n<8;n++)i&&e[n]===0||(i&&(i=!1),r===n?(t+=n?":":"::",i=!0):(t+=D5(e[n],16),n<7&&(t+=":")));return"["+t+"]"}return e},Al={},d1=qm({},Al,{" ":1,'"':1,"<":1,">":1,"`":1}),h1=qm({},d1,{"#":1,"?":1,"{":1,"}":1}),Ym=qm({},h1,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Ti=function(e,t){var n=x5(e,0);return n>32&&n<127&&!Jm(t,e)?e:encodeURIComponent(e)},Pl={ftp:21,file:null,http:80,https:443,ws:80,wss:443},gc=function(e,t){var n;return e.length==2&&rr(u1,Hn(e,0))&&((n=Hn(e,1))==":"||!t&&n=="|")},p1=function(e){var t;return e.length>1&&gc(mc(e,0,2))&&(e.length==2||(t=Hn(e,2))==="/"||t==="\\"||t==="?"||t==="#")},W5=function(e){return e==="."||Rl(e)==="%2e"},$m={},f1={},Zm={},m1={},v1={},ev={},g1={},_1={},Dl={},Ll={},tv={},nv={},rv={},iv={},y1={},av={},xo={},Ir={},S1={},la={},zr={},ov=function(e,t,n){var r,i,o,a=Hr(e);if(t){if(i=this.parse(a))throw Km(i);this.searchParams=null}else{if(n!==void 0&&(r=new ov(n,!0)),i=this.parse(a,null,r))throw Km(i);(o=A5(new R5)).bindURL(this),this.searchParams=o}};ov.prototype={type:"URL",parse:function(e,t,n){var r,i,o,a,s,c=this,u=t||$m,l=0,h="",_=!1,y=!1,S=!1;for(e=Hr(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=s1(e,H5,"")),e=s1(e,z5,""),r=ko(e);l<=r.length;){switch(i=r[l],u){case $m:if(!i||!rr(u1,i)){if(t)return Xm;u=Zm;continue}h+=Rl(i),u=f1;break;case f1:if(i&&(rr(V5,i)||i=="+"||i=="-"||i=="."))h+=Rl(i);else{if(i!=":"){if(t)return Xm;h="",u=Zm,l=0;continue}if(t&&(c.isSpecial()!=Jm(Pl,h)||h=="file"&&(c.includesCredentials()||c.port!==null)||c.scheme=="file"&&!c.host))return;if(c.scheme=h,t)return void(c.isSpecial()&&Pl[c.scheme]==c.port&&(c.port=null));h="",c.scheme=="file"?u=iv:c.isSpecial()&&n&&n.scheme==c.scheme?u=m1:c.isSpecial()?u=_1:r[l+1]=="/"?(u=v1,l++):(c.cannotBeABaseURL=!0,To(c.path,""),u=S1)}break;case Zm:if(!n||n.cannotBeABaseURL&&i!="#")return Xm;if(n.cannotBeABaseURL&&i=="#"){c.scheme=n.scheme,c.path=nr(n.path),c.query=n.query,c.fragment="",c.cannotBeABaseURL=!0,u=zr;break}u=n.scheme=="file"?iv:ev;continue;case m1:if(i!="/"||r[l+1]!="/"){u=ev;continue}u=Dl,l++;break;case v1:if(i=="/"){u=Ll;break}u=Ir;continue;case ev:if(c.scheme=n.scheme,i==Bn)c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=nr(n.path),c.query=n.query;else if(i=="/"||i=="\\"&&c.isSpecial())u=g1;else if(i=="?")c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=nr(n.path),c.query="",u=la;else{if(i!="#"){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=nr(n.path),c.path.length--,u=Ir;continue}c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,c.path=nr(n.path),c.query=n.query,c.fragment="",u=zr}break;case g1:if(!c.isSpecial()||i!="/"&&i!="\\"){if(i!="/"){c.username=n.username,c.password=n.password,c.host=n.host,c.port=n.port,u=Ir;continue}u=Ll}else u=Dl;break;case _1:if(u=Dl,i!="/"||Hn(h,l+1)!="/")continue;l++;break;case Dl:if(i!="/"&&i!="\\"){u=Ll;continue}break;case Ll:if(i=="@"){_&&(h="%40"+h),_=!0,o=ko(h);for(var f=0;f<o.length;f++){var g=o[f];if(g!=":"||S){var I=Ti(g,Ym);S?c.password+=I:c.username+=I}else S=!0}h=""}else if(i==Bn||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()){if(_&&h=="")return"Invalid authority";l-=ko(h).length+1,h="",u=tv}else h+=i;break;case tv:case nv:if(t&&c.scheme=="file"){u=av;continue}if(i!=":"||y){if(i==Bn||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()){if(c.isSpecial()&&h=="")return ua;if(t&&h==""&&(c.includesCredentials()||c.port!==null))return;if(a=c.parseHost(h))return a;if(h="",u=xo,t)return;continue}i=="["?y=!0:i=="]"&&(y=!1),h+=i}else{if(h=="")return ua;if(a=c.parseHost(h))return a;if(h="",u=rv,t==nv)return}break;case rv:if(!rr(Qm,i)){if(i==Bn||i=="/"||i=="?"||i=="#"||i=="\\"&&c.isSpecial()||t){if(h!=""){var w=Cl(h,10);if(w>65535)return c1;c.port=c.isSpecial()&&w===Pl[c.scheme]?null:w,h=""}if(t)return;u=xo;continue}return c1}h+=i;break;case iv:if(c.scheme="file",i=="/"||i=="\\")u=y1;else{if(!n||n.scheme!="file"){u=Ir;continue}if(i==Bn)c.host=n.host,c.path=nr(n.path),c.query=n.query;else if(i=="?")c.host=n.host,c.path=nr(n.path),c.query="",u=la;else{if(i!="#"){p1(fc(nr(r,l),""))||(c.host=n.host,c.path=nr(n.path),c.shortenPath()),u=Ir;continue}c.host=n.host,c.path=nr(n.path),c.query=n.query,c.fragment="",u=zr}}break;case y1:if(i=="/"||i=="\\"){u=av;break}n&&n.scheme=="file"&&!p1(fc(nr(r,l),""))&&(gc(n.path[0],!0)?To(c.path,n.path[0]):c.host=n.host),u=Ir;continue;case av:if(i==Bn||i=="/"||i=="\\"||i=="?"||i=="#"){if(!t&&gc(h))u=Ir;else if(h==""){if(c.host="",t)return;u=xo}else{if(a=c.parseHost(h))return a;if(c.host=="localhost"&&(c.host=""),t)return;h="",u=xo}continue}h+=i;break;case xo:if(c.isSpecial()){if(u=Ir,i!="/"&&i!="\\")continue}else if(t||i!="?")if(t||i!="#"){if(i!=Bn&&(u=Ir,i!="/"))continue}else c.fragment="",u=zr;else c.query="",u=la;break;case Ir:if(i==Bn||i=="/"||i=="\\"&&c.isSpecial()||!t&&(i=="?"||i=="#")){if((s=Rl(s=h))===".."||s==="%2e."||s===".%2e"||s==="%2e%2e"?(c.shortenPath(),i=="/"||i=="\\"&&c.isSpecial()||To(c.path,"")):W5(h)?i=="/"||i=="\\"&&c.isSpecial()||To(c.path,""):(c.scheme=="file"&&!c.path.length&&gc(h)&&(c.host&&(c.host=""),h=Hn(h,0)+":"),To(c.path,h)),h="",c.scheme=="file"&&(i==Bn||i=="?"||i=="#"))for(;c.path.length>1&&c.path[0]==="";)O5(c.path);i=="?"?(c.query="",u=la):i=="#"&&(c.fragment="",u=zr)}else h+=Ti(i,h1);break;case S1:i=="?"?(c.query="",u=la):i=="#"?(c.fragment="",u=zr):i!=Bn&&(c.path[0]+=Ti(i,Al));break;case la:t||i!="#"?i!=Bn&&(i=="'"&&c.isSpecial()?c.query+="%27":c.query+=i=="#"?"%23":Ti(i,Al)):(c.fragment="",u=zr);break;case zr:i!=Bn&&(c.fragment+=Ti(i,d1))}l++}},parseHost:function(e){var t,n,r;if(Hn(e,0)=="["){if(Hn(e,e.length-1)!="]"||(t=function(i){var o,a,s,c,u,l,h,_=[0,0,0,0,0,0,0,0],y=0,S=null,f=0,g=function(){return Hn(i,f)};if(g()==":"){if(Hn(i,1)!=":")return;f+=2,S=++y}for(;g();){if(y==8)return;if(g()!=":"){for(o=a=0;a<4&&rr(l1,g());)o=16*o+Cl(g(),16),f++,a++;if(g()=="."){if(a==0||(f-=a,y>6))return;for(s=0;g();){if(c=null,s>0){if(!(g()=="."&&s<4))return;f++}if(!rr(Qm,g()))return;for(;rr(Qm,g());){if(u=Cl(g(),10),c===null)c=u;else{if(c==0)return;c=10*c+u}if(c>255)return;f++}_[y]=256*_[y]+c,++s!=2&&s!=4||y++}if(s!=4)return;break}if(g()==":"){if(f++,!g())return}else if(g())return;_[y++]=o}else{if(S!==null)return;f++,S=++y}}if(S!==null)for(l=y-S,y=7;y!=0&&l>0;)h=_[y],_[y--]=_[S+l-1],_[S+--l]=h;else if(y!=8)return;return _}(mc(e,1,-1)),!t))return ua;this.host=t}else if(this.isSpecial()){if(e=I5(e),rr(F5,e)||(t=function(i){var o,a,s,c,u,l,h,_=M5(i,".");if(_.length&&_[_.length-1]==""&&_.length--,(o=_.length)>4)return i;for(a=[],s=0;s<o;s++){if((c=_[s])=="")return i;if(u=10,c.length>1&&Hn(c,0)=="0"&&(u=rr(U5,c)?16:8,c=mc(c,u==8?1:2)),c==="")l=0;else{if(!rr(u==10?B5:u==8?j5:l1,c))return i;l=Cl(c,u)}To(a,l)}for(s=0;s<o;s++)if(l=a[s],s==o-1){if(l>=o1(256,5-o))return null}else if(l>255)return null;for(h=L5(a),s=0;s<a.length;s++)h+=a[s]*o1(256,3-s);return h}(e),t===null))return ua;this.host=t}else{if(rr(G5,e))return ua;for(t="",n=ko(e),r=0;r<n.length;r++)t+=Ti(n[r],Al);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||this.scheme=="file"},includesCredentials:function(){return this.username!=""||this.password!=""},isSpecial:function(){return Jm(Pl,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||this.scheme=="file"&&t==1&&gc(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,n=e.username,r=e.password,i=e.host,o=e.port,a=e.path,s=e.query,c=e.fragment,u=t+":";return i!==null?(u+="//",e.includesCredentials()&&(u+=n+(r?":"+r:"")+"@"),u+=vc(i),o!==null&&(u+=":"+o)):t=="file"&&(u+="//"),u+=e.cannotBeABaseURL?a[0]:a.length?"/"+fc(a,"/"):"",s!==null&&(u+="?"+s),c!==null&&(u+="#"+c),u},setHref:function(e){var t=this.parse(e);if(t)throw Km(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if(e=="blob")try{return new Io(e.path[0]).origin}catch(n){return"null"}return e!="file"&&this.isSpecial()?e+"://"+vc(this.host)+(t!==null?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(Hr(e)+":",$m)},getUsername:function(){return this.username},setUsername:function(e){var t=ko(Hr(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var n=0;n<t.length;n++)this.username+=Ti(t[n],Ym)}},getPassword:function(){return this.password},setPassword:function(e){var t=ko(Hr(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var n=0;n<t.length;n++)this.password+=Ti(t[n],Ym)}},getHost:function(){var e=this.host,t=this.port;return e===null?"":t===null?vc(e):vc(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,tv)},getHostname:function(){var e=this.host;return e===null?"":vc(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,nv)},getPort:function(){var e=this.port;return e===null?"":Hr(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||((e=Hr(e))==""?this.port=null:this.parse(e,rv))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+fc(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,xo))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){(e=Hr(e))==""?this.query=null:(Hn(e,0)=="?"&&(e=mc(e,1)),this.query="",this.parse(e,la)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){(e=Hr(e))!=""?(Hn(e,0)=="#"&&(e=mc(e,1)),this.fragment="",this.parse(e,zr)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Io=function(e){var t=T5(this,dn),n=E5(arguments.length,1)>1?arguments[1]:void 0,r=C5(t,new ov(e,!1,n));zm||(t.href=r.serialize(),t.origin=r.getOrigin(),t.protocol=r.getProtocol(),t.username=r.getUsername(),t.password=r.getPassword(),t.host=r.getHost(),t.hostname=r.getHostname(),t.port=r.getPort(),t.pathname=r.getPathname(),t.search=r.getSearch(),t.searchParams=r.getSearchParams(),t.hash=r.getHash())},dn=Io.prototype,zn=function(e,t){return{get:function(){return El(this)[e]()},set:t&&function(n){return El(this)[t](n)},configurable:!0,enumerable:!0}};if(zm&&(Gn(dn,"href",zn("serialize","setHref")),Gn(dn,"origin",zn("getOrigin")),Gn(dn,"protocol",zn("getProtocol","setProtocol")),Gn(dn,"username",zn("getUsername","setUsername")),Gn(dn,"password",zn("getPassword","setPassword")),Gn(dn,"host",zn("getHost","setHost")),Gn(dn,"hostname",zn("getHostname","setHostname")),Gn(dn,"port",zn("getPort","setPort")),Gn(dn,"pathname",zn("getPathname","setPathname")),Gn(dn,"search",zn("getSearch","setSearch")),Gn(dn,"searchParams",zn("getSearchParams")),Gn(dn,"hash",zn("getHash","setHash"))),wl(dn,"toJSON",function(){return El(this).serialize()},{enumerable:!0}),wl(dn,"toString",function(){return El(this).serialize()},{enumerable:!0}),pc){var b1=pc.createObjectURL,k1=pc.revokeObjectURL;b1&&wl(Io,"createObjectURL",r1(b1,pc)),k1&&wl(Io,"revokeObjectURL",r1(k1,pc))}w5(Io,"URL"),b5({global:!0,constructor:!0,forced:!k5,sham:!zm},{URL:Io});var da,Ol,J5=new Blob(["class VolumeMeter extends AudioWorkletProcessor{constructor(){super();this.volume=0;this.intervalTime=200;this.tick=this.intervalTime;this.isStop=false;this.port.onmessage=event=>{const{data}=event;switch(data.name){case'setIntervalTime':this.intervalTime=data.intervalTime;break;case'stop':this.isStop=true;break}}}process(inputs){const input=inputs[0];if(this.isStop){return false}if(input.length>0){const firstChannel=input[0];let sum=0;let rms;for(let i=0;i<firstChannel.length;++i){sum+=firstChannel[i]*firstChannel[i]}rms=Math.sqrt(sum/firstChannel.length);this.volume=Math.max(rms,this.volume*0.95);this.tick-=firstChannel.length;if(this.tick<0){this.tick+=(this.intervalTime/1000)*sampleRate;this.port.postMessage({volume:this.volume})}}return true}}registerProcessor('volume-meter',VolumeMeter);"],{type:"application/javascript"}),T1=!1,q5=function(){function e(n){J(this,e),this.context_=n.context,this.addModuleToContext()}var t;return Ie(e,[{key:"addModuleToContext",value:(t=N(p().mark(function n(){return p().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,this.context_.audioWorklet.addModule(URL.createObjectURL(J5));case 3:ye.info("worklet addModule success"),K.emit(lm),T1=!0,r.next=12;break;case 8:r.prev=8,r.t0=r.catch(0),ye.info("worklet addModule catch error. ".concat(r.t0.message)),K.emit(dm);case 12:case"end":return r.stop()}},n,this,[[0,8]])})),function(){return t.apply(this,arguments)})},{key:"initWorkletSuccess",get:function(){return T1}}]),e}(),_c=0,K5=function(){function e(t){J(this,e);var n=t.track,r=t.log,i=t.stream;this.volume_=0,this.log_=r,this.track_=n,this.stream_=i,_c+=1,da||(da=Bk()),this.audioCtx_=da,this.destination_=this.audioCtx_.destination;var o=new MediaStream;o.addTrack(this.track_),this.streamSource_=this.audioCtx_.createMediaStreamSource(o),this.audioWorkletNode_=null,this.scriptProcessorNode_=null,this.interval_=200,K.on(oc,this.resume,this),K.on(Kf,this.handleAudioLevelInterval,this),AV?(K.on(lm,this.initAudioWorklet,this),K.on(dm,this.initScriptProcessor,this),this.preload()):this.initScriptProcessor()}return Ie(e,[{key:"preload",value:function(){Ol?Ol.initWorkletSuccess&&this.initAudioWorklet():Ol=new q5({context:da})}},{key:"initAudioWorklet",value:function(){var t=this;if(!this.audioWorkletNode_)try{this.audioWorkletNode_=new AudioWorkletNode(this.audioCtx_,"volume-meter"),this.audioWorkletNode_.port.onmessage=function(n){t.volume_=n.data.volume||0},this.streamSource_.connect(this.audioWorkletNode_).connect(this.destination_),this.handleAudioLevelInterval({interval:this.interval_})}catch(n){this.log_.warn("load volume meter failed, load again."),this.initScriptProcessor()}}},{key:"initScriptProcessor",value:function(){var t=this;if(!this.scriptProcessorNode_)try{this.scriptProcessorNode_=this.audioCtx_.createScriptProcessor(2048,1,1),this.scriptProcessorNode_.onaudioprocess=function(n){for(var r=n.inputBuffer.getChannelData(0),i=0,o=0;o<r.length;++o)i+=r[o]*r[o];t.volume_=Math.sqrt(i/r.length)||0},this.streamSource_.connect(this.scriptProcessorNode_),this.scriptProcessorNode_.connect(this.destination_)}catch(n){this.log_.error("volumeMeter init script processor error: "+n),_c-=1}}},{key:"destroy",value:function(){var t;this.streamSource_&&this.streamSource_.disconnect(),this.scriptProcessorNode_&&(this.scriptProcessorNode_.onaudioprocess=null,this.scriptProcessorNode_.disconnect()),this.audioWorkletNode_&&(this.audioWorkletNode_.port.postMessage({name:"stop"}),this.audioWorkletNode_.port.onmessage=null,this.audioWorkletNode_.disconnect()),this.audioWorkletNode_=null,this.scriptProcessorNode_=null,this.audioCtx_=null,K.off(oc,this.resume,this),K.off(Kf,this.handleAudioLevelInterval,this),K.off(lm,this.initAudioWorklet,this),K.off(dm,this.initScriptProcessor,this),_c>0&&(_c-=1),_c===0&&((t=da)===null||t===void 0||t.close(),da=null,Ol=null)}},{key:"resume",value:function(){var t;(t=da)===null||t===void 0||t.resume()}},{key:"getInternalAudioLevel",value:function(){return this.volume_}},{key:"getCalculatedVolume",value:function(){return this.volume_.toFixed(2)}},{key:"handleAudioLevelInterval",value:function(t){var n,r=t.interval;this.interval_=r,(n=this.audioWorkletNode_)===null||n===void 0||n.port.postMessage({name:"setIntervalTime",intervalTime:r})}}]),e}(),X5=function(){function e(o){J(this,e),this.stream_=o.stream,this.userId_=o.stream.getUserId(),this.log_=this.stream_.getLogger(),this.track_=o.track,o.gainedTrack&&(this.gainedTrack_=o.gainedTrack),this.div_=o.div,this.muted_=o.muted,this.outputDeviceId_=o.outputDeviceId,this.volume_=o.volume,this.pausedRetryCount_=5,this.emitter_=new yi,this.initializeElement(),this.state_="NONE",this.volumeMeter_=new K5({stream:this.stream_,track:this.gainedTrack_||this.track_,log:this.log_})}var t,n,r,i;return Ie(e,[{key:"isPlaying",get:function(){return this.state_===ao}},{key:"initializeElement",value:function(){if(this.isAudioElementInit()){var o=new MediaStream;o.addTrack(this.gainedTrack_||this.track_);var a=document.createElement(Ce);a.srcObject=o,a.muted=this.muted_,a.setAttribute("id","audio_".concat(this.stream_.getId())),a.setAttribute("autoplay","autoplay"),a.setAttribute("playsinline","playsinline"),this.div_.appendChild(a),this.element_=a}this.handleEvents()}},{key:"setMuted",value:function(o){this.element_&&(this.element_.muted=o,this.muted_=o)}},{key:"play",value:(i=N(p().mark(function o(){var a;return p().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!this.outputDeviceId_||!this.element_){s.next=3;break}return s.next=3,this.element_.setSinkId(this.outputDeviceId_);case 3:if(this.setVolume(this.volume_),s.prev=4,!this.element_){s.next=8;break}return s.next=8,this.element_.play();case 8:s.next=16;break;case 10:if(s.prev=10,s.t0=s.catch(4),a=ne({key:pf,data:{media:"Audio",error:s.t0}}),this.log_.warn(a),!a.includes("NotAllowedError")){s.next=16;break}throw new ee({code:Y.PLAY_NOT_ALLOWED,message:a});case 16:case"end":return s.stop()}},o,this,[[4,10]])})),function(){return i.apply(this,arguments)})},{key:"handleEvents",value:function(){this.handleElementEvent=this.handleElementEvent.bind(this),this.handleTrackEvent=this.handleTrackEvent.bind(this),this.element_&&(this.element_.addEventListener(hi,this.handleElementEvent),this.element_.addEventListener(Nt,this.handleElementEvent),this.element_.addEventListener(pi,this.handleElementEvent),this.element_.addEventListener(io,this.handleElementEvent)),this.track_.addEventListener(Nt,this.handleTrackEvent),this.track_.addEventListener(nn,this.handleTrackEvent),this.track_.addEventListener(yr,this.handleTrackEvent),this.track_.readyState===Nt&&this.handleTrackEvent({type:Nt}),this.track_.muted&&this.handleTrackEvent({type:nn})}},{key:"handleElementEvent",value:(r=N(p().mark(function o(a){var s,c,u,l,h,_,y,S=this;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:s=a.type,f.t0=s,f.next=f.t0===hi?4:f.t0===Nt?9:f.t0===pi?12:f.t0===io?21:32;break;case 4:return this.log_.info("audio player is playing"),this.state_=ao,K.emit(Xf,{stream:this.stream_}),this.emitter_.emit(gn,{state:this.state_,reason:hi}),f.abrupt("break",32);case 9:return this.log_.info("audio player is ended"),this.state_!==fi&&(this.state_=fi,this.emitter_.emit(gn,{state:this.state_,reason:Nt})),f.abrupt("break",32);case 12:return this.log_.info("audio player is paused"),this.state_=Sr,this.emitter_.emit(gn,{state:this.state_,reason:pi}),(c=this.div_&&document.getElementById(this.div_.id))||this.log_.warn("audio player has been remove, element ID: ".concat(this.div_.id)),u=rc(),this.pausedRetryCount_>0&&(er(u)&&u<=70||!c)&&(this.resume(),this.pausedRetryCount_--),$i&&(this.interval_=yt.run(function(){S.element_&&S.state_===Sr&&S.resume()},{delay:3e3})),f.abrupt("break",32);case 21:if(!this.element_||!this.element_.error){f.next=31;break}return l="".concat(Mm(),"/").concat(ra().name,"/").concat(ra().version),f.next=25,It.getSpeakers();case 25:h=f.sent,_=h[0].label,(y=h.find(function(g){return g.deviceId===S.outputDeviceId_}))&&(_=y.label),this.log_.error("audio player error observed. code: ".concat(this.element_.error.code," message: ").concat(this.element_.error.message," deviceInfo: ").concat(l," speaker: ").concat(_)),xe.uploadEvent({log:"stat-".concat(this.stream_.getType(),"-audio-").concat(Fb,"-").concat(this.element_.error.code,"-").concat(l,"-").concat(_),userId:this.userId_,error:this.element_.error});case 31:return f.abrupt("break",32);case 32:case"end":return f.stop()}},o,this)})),function(o){return r.apply(this,arguments)})},{key:"handleTrackEvent",value:function(o){var a=o.type;switch(a){case Nt:this.log_.info("audio track is ended"),this.state_!==fi&&(this.state_=fi,this.emitter_.emit(gn,{state:this.state_,reason:Nt})),K.emit(om,{stream:this.stream_,type:a});break;case nn:this.log_.info("audio track is unable to provide media output"),this.stream_.isRemote()||jk(),this.state_!==Sr&&(this.state_=Sr,this.emitter_.emit(gn,{state:this.state_,reason:nn})),K.emit(am,{stream:this.stream_,type:a});break;case yr:this.log_.info("audio track is able to provide media output"),this.state_===Sr&&(this.state_=ao,this.emitter_.emit(gn,{state:this.state_,reason:yr}))}}},{key:"unbindEvents",value:function(){this.element_&&(this.element_.removeEventListener(hi,this.handleElementEvent),this.element_.removeEventListener(Nt,this.handleElementEvent),this.element_.removeEventListener(pi,this.handleElementEvent),this.element_.removeEventListener(io,this.handleElementEvent)),this.track_&&(this.track_.removeEventListener(Nt,this.handleTrackEvent),this.track_.removeEventListener(nn,this.handleTrackEvent),this.track_.removeEventListener(yr,this.handleTrackEvent))}},{key:"setSinkId",value:(n=N(p().mark(function o(a){return p().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(this.outputDeviceId_===a){s.next=5;break}if(!this.element_){s.next=4;break}return s.next=4,this.element_.setSinkId(a);case 4:this.outputDeviceId_=a;case 5:case"end":return s.stop()}},o,this)})),function(o){return n.apply(this,arguments)})},{key:"setVolume",value:function(o){this.element_&&(this.log_.info("audioElement setVolume to : ".concat(o)),this.element_.volume=o)}},{key:"getAudioLevel",value:function(){return this.volumeMeter_.getCalculatedVolume()}},{key:"getInternalAudioLevel",value:function(){return this.volumeMeter_.getInternalAudioLevel()}},{key:"stop",value:function(){this.unbindEvents(),this.element_&&(this.div_.removeChild(this.element_),this.element_.srcObject=null,this.element_=null),this.volumeMeter_&&(this.volumeMeter_.destroy(),this.volumeMeter_=null),this.interval_>0&&yt.clearTask(this.interval_)}},{key:"resume",value:(t=N(p().mark(function o(){var a;return p().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(s.prev=0,this.volumeMeter_&&this.volumeMeter_.resume(),!this.element_){s.next=5;break}return s.next=5,this.element_.play();case 5:s.next=13;break;case 7:if(s.prev=7,s.t0=s.catch(0),a=ne({key:pf,data:{media:"Audio",error:s.t0}}),this.log_.warn(a),!a.includes("NotAllowedError")){s.next=13;break}throw new ee({code:Y.PLAY_NOT_ALLOWED,message:a});case 13:case"end":return s.stop()}},o,this,[[0,7]])})),function(){return t.apply(this,arguments)})},{key:"on",value:function(o,a){this.emitter_.on(o,a)}},{key:"isAudioElementInit",value:function(){return!(ea==="15.2"||ea==="15.3"||ea==="15.4")||this.stream_.getType()!=="local"||!this.muted_||(this.log_.info("audioElement is muted."),!1)}}]),e}(),Q5=Yn.PROPER,Y5=oe,x1=sS,$5=Uu.trim;Me({target:"String",proto:!0,forced:function(e){return Y5(function(){return!!x1[e]()||"\u200B\x85\u180E"[e]()!=="\u200B\x85\u180E"||Q5&&x1[e].name!==e})}("trim")},{trim:function(){return $5(this)}});var Wr="trtc_autoplay",sv="".concat(Wr,"_mask"),wo="".concat(Wr,"_wrapper"),I1="".concat(Wr,"_header"),cv="".concat(Wr,"_content"),Ml="".concat(Wr,"_action_wrapper"),uv="".concat(Wr,"_question"),lv="".concat(Wr,"_collapse"),Nl="".concat(Wr,"_action_confirm"),w1="".concat(Wr,"_detail"),E1="#2473E8",dv="dialog",Z5="".concat(dv,"-show"),ej="".concat(dv,"-1"),tj="".concat(dv,"-2"),C1=!1,R1=function(){return!!document.querySelector(".".concat(wo))},A1="".concat(co,"/").concat(aa()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),P1="<br><a href='".concat(A1,"' target='_blank'>").concat(aa()?"\u5176\u4ED6\u65B9\u6848\uFF1F":"Any other solution?","</a>"),nj="".concat(aa()?"\u6D4F\u89C8\u5668\u81EA\u52A8\u64AD\u653E\u7B56\u7565\uFF1A\u5728\u7528\u6237\u4E0E\u9875\u9762\u4EA7\u751F\u4EA4\u4E92\uFF08\u70B9\u51FB\u3001\u89E6\u6478\uFF09\u4E4B\u524D\uFF0C\u6D4F\u89C8\u5668\u7981\u6B62\u64AD\u653E\u6709\u58F0\u5A92\u4F53\u3002\u8BE5\u5F39\u7A97\u7528\u4E8E\u5E2E\u52A9\u7528\u6237\u6062\u590D\u97F3\u89C6\u9891\u64AD\u653E\u3002".concat(P1):"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(P1)),D1=function(){function e(){if(J(this,e),this.dialogNode_=null,this.bodyPosition_="",this.content="\u97F3\u89C6\u9891\u64AD\u653E\u88AB\u6D4F\u89C8\u5668\u62E6\u622A\uFF0C\u8BF7\u70B9\u51FB\u201C\u6062\u590D\u64AD\u653E\u201D\u3002",aa()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!C1){var t=document.createElement("style");t.innerHTML=".".concat(sv,"{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(sv," div:not(.").concat(Ml,"){display:block !important;}.").concat(wo,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(wo," a{color:").concat(E1,";}.").concat(I1,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(cv,"{margin:8px 0;}.").concat(Ml,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(lv,"{margin-right:auto;cursor:pointer}.").concat(uv,"{height:100%;line-height:16px;cursor:pointer;}.").concat(Nl,"{margin-left:8px;color:#fff;background:").concat(E1,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(Nl,":hover{opacity:0.9;}.").concat(lv,",.").concat(Nl,",.").concat(cv,",.").concat(uv,"{font-size:14px;}@media screen and (max-width:750px){.").concat(wo,"{width:80vw;}}"),document.head.appendChild(t),C1=!0}this.showDetail_=!1,this.isCollapseClicked_=!1,this.isQuestionClicked_=!1,this.addDiaLog()}return Ie(e,[{key:"createDiaLog",value:function(){var t=document.createElement("template");t.innerHTML='<div class="'.concat(sv,`"><div class='`).concat(wo,"'><div class='").concat(I1,"'>").concat(location.host,"</div><div class='").concat(cv,"'>").concat(this.content,"</div><div class='").concat(w1,`' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">`).concat(nj,"</div><div class='").concat(Ml,"'></div></div></div>").trim();var n=document.createElement("button");n.className=Nl,n.innerText=aa()?"\u6062\u590D\u64AD\u653E":"Resume",n.onclick=this.onConfirm.bind(this);var r=document.createElement("div");r.className=uv,r.innerHTML=`<?xml version="1.0" encoding="UTF-8"?>
|
|
93
93
|
<svg class="icon" width="18" height="18" p-id="2030" t="1639646523624" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
|
94
94
|
<path d="m464 784.35c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" p-id="2031"/>
|
|
95
95
|
<path d="m512 960c-247.04 0-448-200.96-448-448s200.96-448 448-448 448 200.96 448 448-200.96 448-448 448zm0-831.71c-211.58 0-383.71 172.13-383.71 383.71 0 211.55 172.13 383.71 383.71 383.71 211.55 0 383.71-172.16 383.71-383.71 0-211.58-172.16-383.71-383.71-383.71z" p-id="2032"/>
|
|
96
96
|
<path d="m512 673.7c-17.665 0-32.001-14.336-32.001-31.999v-54.112c0-52.353 40-92.352 75.328-127.65 25.887-25.92 52.672-52.672 52.672-74.017 0-53.343-43.072-96.735-95.999-96.735-53.823 0-95.999 41.536-95.999 94.559 0 17.665-14.336 31.999-32.001 31.999s-32.001-14.336-32.001-31.999c0-87.424 71.775-158.56 160-158.56s160 72.095 160 160.74c0 47.904-36.32 84.192-71.424 119.3-27.84 27.776-56.576 56.512-56.576 82.336v54.112c0 17.665-14.336 32.032-32.001 32.032z" p-id="2033"/>
|
|
97
97
|
</svg>
|
|
98
|
-
`,r.onclick=this.onQuestionClick.bind(this);var i=document.createElement("div");i.className=lv,i.innerText="".concat(ra()?"\u8BE6\u60C5 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);var o=t.content.firstChild,a=o.querySelector(".".concat(Ml));return a.appendChild(i),a.appendChild(r),a.appendChild(n),o}},{key:"addDiaLog",value:function(){w1()||(this.dialogNode_=this.createDiaLog(),document.body.appendChild(this.dialogNode_),this.dialogNode_.onclick=this.onConfirm.bind(this),this.dialogNode_.querySelector(".".concat(Io)).onclick=function(t){return t.stopPropagation()},this.bodyPosition_=document.body.style.position,document.body.style.position="fixed",ke.info("show autoplay dialog"),Ie.uploadEvent({log:X5}))}},{key:"deleteDiaLog",value:function(){this.dialogNode_&&(document.body.removeChild(this.dialogNode_),document.body.style.position=this.bodyPosition_,this.dialogNode_=null)}},{key:"onConfirm",value:function(){ke.warn("confirm clicked, try resume stream"),q.emit(ac),this.deleteDiaLog()}},{key:"onCollapseClick",value:function(){var t=this.dialogNode_.querySelector(".".concat(T1));t.style.visibility="".concat(this.showDetail_?"hidden":"visible"),t.style.height="".concat(this.showDetail_?0:"fit-content"),this.showDetail_=!this.showDetail_,this.isCollapseClicked_||Ie.uploadEvent({log:Q5}),this.isCollapseClicked_=!0}},{key:"onQuestionClick",value:function(){window.open(E1,"_blank"),this.isQuestionClicked_||Ie.uploadEvent({log:Y5}),this.isQuestionClicked_=!0}}]),e}(),A1=function(){function e(n){J(this,e),this.stream_=n.stream,this.userId_=n.stream.getUserId(),this.log_=this.stream_.getLogger(),this.track_=n.track,this.div_=n.div,this.muted_=n.muted,this.objectFit_=n.objectFit,this.mirror_=n.mirror,this.emitter_=new _i,this.initializeElement(),this.state_="NONE",this.pausedRetryCount_=5}var t;return ye(e,[{key:"isPlaying",get:function(){return this.state_===ro}},{key:"initializeElement",value:function(){var n=new MediaStream;n.addTrack(this.track_);var r=document.createElement(xe);r.srcObject=n,r.muted=!0;var i="width: 100%; height: 100%; object-fit: ".concat(this.objectFit_,";");this.mirror_&&(i+="transform: scaleX(-1);"),r.setAttribute("id","video_".concat(this.stream_.getId())),r.setAttribute("style",i),r.setAttribute("autoplay","autoplay"),r.setAttribute("playsinline","playsinline"),this.div_&&this.div_.appendChild(r),this.element_=r,this.handleEvents()}},{key:"setRect",value:function(n){var r=n.width,i=n.height;this.element_&&(this.element_.style.width=r+"px",this.element_.style.height=i+"px")}},{key:"setMirror",value:function(n){this.element_&&(this.element_.style.transform=n?"scaleX(-1)":"",this.mirror_=n)}},{key:"setObjectFit",value:function(n){this.element_&&(this.element_.style.objectFit="".concat(n),this.objectFit_=n)}},{key:"play",value:(t=N(p().mark(function n(){var r;return p().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.prev=0,i.next=3,this.element_.play();case 3:i.next=11;break;case 5:if(i.prev=5,i.t0=i.catch(0),r=ne({key:pf,data:{media:"Video",error:i.t0}}),this.log_.warn(r),!r.includes("NotAllowedError")){i.next=11;break}throw new ee({code:Y.PLAY_NOT_ALLOWED,message:r});case 11:case"end":return i.stop()}},n,this,[[0,5]])})),function(){return t.apply(this,arguments)})},{key:"handleEvents",value:function(){this.handleElementEvent=this.handleElementEvent.bind(this),this.handleTrackEvent=this.handleTrackEvent.bind(this),this.element_.addEventListener(di,this.handleElementEvent),this.element_.addEventListener(Mt,this.handleElementEvent),this.element_.addEventListener(hi,this.handleElementEvent),this.element_.addEventListener(no,this.handleElementEvent),this.element_.addEventListener(Jp,this.handleElementEvent),this.track_.addEventListener(Mt,this.handleTrackEvent),this.track_.addEventListener(nn,this.handleTrackEvent),this.track_.addEventListener(_r,this.handleTrackEvent),this.track_.readyState===Mt&&this.handleTrackEvent({type:Mt}),this.track_.muted&&this.handleTrackEvent({type:nn})}},{key:"handleElementEvent",value:function(n){var r=this;switch(n.type){case di:this.log_.info("video player is playing"),this.state_=ro,q.emit(rc,{stream:this.stream_}),this.emitter_.emit(gn,{state:this.state_,reason:di}),this.interval_&&(yt.clearTask(this.interval_),this.interval_=null);break;case Mt:this.log_.info("video player is ended"),this.state_!==pi&&(this.state_=pi,this.emitter_.emit(gn,{state:this.state_,reason:Mt}));break;case hi:this.log_.info("video player is paused"),this.div_&&!document.getElementById(this.div_.id)&&this.log_.warn("video player has been remove, element ID: ".concat(this.div_.id)),this.state_=yr,this.emitter_.emit(gn,{state:this.state_,reason:hi}),this.pausedRetryCount_>0&&!w1()&&(this.log_.info("video player auto resume when video paused"),this.resume(),this.pausedRetryCount_--),Qi&&(this.interval_=yt.run(function(){r.element_&&r.state_===yr&&r.resume()},{delay:3e3}));break;case no:if(this.element_&&this.element_.error){var i="".concat(Mm(),"/").concat(ta().name,"/").concat(ta().version);this.log_.error("video player error observed. code: ".concat(this.element_.error.code," message: ").concat(this.element_.error.message," deviceInfo: ").concat(i)),Ie.uploadEvent("stat-".concat(this.stream_.getType(),"-video-").concat(Fb,"-").concat(this.element_.error.code,"-").concat(i),this.element_.error)}break;case Jp:q.emit(nm,{stream:this.stream_})}}},{key:"handleTrackEvent",value:function(n){var r=n.type;switch(r){case Mt:this.log_.info("video track is ended"),q.emit(im,{stream:this.stream_,type:r}),this.state_!==pi&&(this.state_=pi,this.emitter_.emit(gn,{state:this.state_,reason:Mt}));break;case nn:this.log_.info("video track is unable to provide media output"),this.stream_.isRemote()||Vk(),q.emit(ic,{stream:this.stream_,type:r}),this.state_!==yr&&(this.state_=yr,this.emitter_.emit(gn,{state:this.state_,reason:nn}));break;case _r:this.log_.info("video track is able to provide media output"),q.emit(em,{stream:this.stream_}),this.state_===yr&&(this.state_=ro,this.emitter_.emit(gn,{state:this.state_,reason:_r}))}}},{key:"unbindEvents",value:function(){this.element_&&(this.element_.removeEventListener(di,this.handleElementEvent),this.element_.removeEventListener(Mt,this.handleElementEvent),this.element_.removeEventListener(hi,this.handleElementEvent),this.element_.removeEventListener(no,this.handleElementEvent),this.element_.removeEventListener(Jp,this.handleElementEvent)),this.track_&&(this.track_.removeEventListener(Mt,this.handleTrackEvent),this.track_.removeEventListener(nn,this.handleTrackEvent),this.track_.removeEventListener(_r,this.handleTrackEvent))}},{key:"stop",value:function(){this.unbindEvents(),this.div_&&this.div_.removeChild(this.element_),this.element_.srcObject=null,this.element_=null,this.interval_&&yt.clearTask(this.interval_)}},{key:"resume",value:function(){return this.play()}},{key:"getVideoFrame",value:function(){var n=document.createElement("canvas");return n.width=this.element_.videoWidth,n.height=this.element_.videoHeight,n.getContext("2d").drawImage(this.element_,0,0),n.toDataURL("image/png")}},{key:"on",value:function(n,r){this.emitter_.on(n,r)}},{key:"getElement",value:function(){return this.element_?this.element_:null}}]),e}(),hv=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined",Z5=$n,eB=vr,tB=RangeError,P1=function(e){if(e===void 0)return 0;var t=Z5(e),n=eB(t);if(t!==n)throw tB("Wrong length or index");return n},nB=Array,rB=Math.abs,Wr=Math.pow,iB=Math.floor,aB=Math.log,oB=Math.LN2,sB={pack:function(e,t,n){var r,i,o,a=nB(n),s=8*n-t-1,c=(1<<s)-1,u=c>>1,d=t===23?Wr(2,-24)-Wr(2,-77):0,h=e<0||e===0&&1/e<0?1:0,_=0;for((e=rB(e))!=e||e===1/0?(i=e!=e?1:0,r=c):(r=iB(aB(e)/oB),e*(o=Wr(2,-r))<1&&(r--,o*=2),(e+=r+u>=1?d/o:d*Wr(2,1-u))*o>=2&&(r++,o/=2),r+u>=c?(i=0,r=c):r+u>=1?(i=(e*o-1)*Wr(2,t),r+=u):(i=e*Wr(2,u-1)*Wr(2,t),r=0));t>=8;)a[_++]=255&i,i/=256,t-=8;for(r=r<<t|i,s+=t;s>0;)a[_++]=255&r,r/=256,s-=8;return a[--_]|=128*h,a},unpack:function(e,t){var n,r=e.length,i=8*r-t-1,o=(1<<i)-1,a=o>>1,s=i-7,c=r-1,u=e[c--],d=127&u;for(u>>=7;s>0;)d=256*d+e[c--],s-=8;for(n=d&(1<<-s)-1,d>>=-s,s+=t;s>0;)n=256*n+e[c--],s-=8;if(d===0)d=1-a;else{if(d===o)return n?NaN:u?-1/0:1/0;n+=Wr(2,t),d-=a}return(u?-1:1)*n*Wr(2,d-t)}},cB=Bt,D1=ai,uB=rn,L1=function(e){for(var t=cB(this),n=uB(t),r=arguments.length,i=D1(r>1?arguments[1]:void 0,n),o=r>2?arguments[2]:void 0,a=o===void 0?n:D1(o,n);a>i;)t[i++]=e;return t},Vl=te,pv=pe,fv=_e,lB=hv,O1=Yn,M1=Mn,N1=Ps,mv=oe,Ul=oi,dB=$n,hB=vr,Bl=P1,V1=sB,pB=xs,U1=Ba,fB=ii.f,mB=At.f,vB=L1,gB=yu,B1=Bi,_B=O1.PROPER,j1=O1.CONFIGURABLE,wo=Xe.get,F1=Xe.set,vv="ArrayBuffer",yB="DataView",G1="Wrong index",Wn=Vl.ArrayBuffer,rr=Wn,Eo=rr&&rr.prototype,wr=Vl.DataView,da=wr&&wr.prototype,H1=Object.prototype,SB=Vl.Array,jl=Vl.RangeError,bB=pv(vB),kB=pv([].reverse),z1=V1.pack,W1=V1.unpack,J1=function(e){return[255&e]},K1=function(e){return[255&e,e>>8&255]},q1=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},X1=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},TB=function(e){return z1(e,23,4)},xB=function(e){return z1(e,52,8)},Fl=function(e,t){mB(e.prototype,t,{get:function(){return wo(this)[t]}})},ki=function(e,t,n,r){var i=Bl(n),o=wo(e);if(i+t>o.byteLength)throw jl(G1);var a=wo(o.buffer).bytes,s=i+o.byteOffset,c=gB(a,s,s+t);return r?c:kB(c)},Ti=function(e,t,n,r,i,o){var a=Bl(n),s=wo(e);if(a+t>s.byteLength)throw jl(G1);for(var c=wo(s.buffer).bytes,u=a+s.byteOffset,d=r(+i),h=0;h<t;h++)c[u+h]=d[o?h:t-h-1]};if(lB){var Q1=_B&&Wn.name!==vv;if(mv(function(){Wn(1)})&&mv(function(){new Wn(-1)})&&!mv(function(){return new Wn,new Wn(1.5),new Wn(NaN),Wn.length!=1||Q1&&!j1}))Q1&&j1&&M1(Wn,"name",vv);else{(rr=function(e){return Ul(this,Eo),new Wn(Bl(e))}).prototype=Eo;for(var gv,Y1=fB(Wn),$1=0;Y1.length>$1;)(gv=Y1[$1++])in rr||M1(rr,gv,Wn[gv]);Eo.constructor=rr}U1&&pB(da)!==H1&&U1(da,H1);var Gl=new wr(new rr(2)),Z1=pv(da.setInt8);Gl.setInt8(0,2147483648),Gl.setInt8(1,2147483649),!Gl.getInt8(0)&&Gl.getInt8(1)||N1(da,{setInt8:function(e,t){Z1(this,e,t<<24>>24)},setUint8:function(e,t){Z1(this,e,t<<24>>24)}},{unsafe:!0})}else Eo=(rr=function(e){Ul(this,Eo);var t=Bl(e);F1(this,{bytes:bB(SB(t),0),byteLength:t}),fv||(this.byteLength=t)}).prototype,wr=function(e,t,n){Ul(this,da),Ul(e,Eo);var r=wo(e).byteLength,i=dB(t);if(i<0||i>r)throw jl("Wrong offset");if(i+(n=n===void 0?r-i:hB(n))>r)throw jl("Wrong length");F1(this,{buffer:e,byteLength:n,byteOffset:i}),fv||(this.buffer=e,this.byteLength=n,this.byteOffset=i)},da=wr.prototype,fv&&(Fl(rr,"byteLength"),Fl(wr,"buffer"),Fl(wr,"byteLength"),Fl(wr,"byteOffset")),N1(da,{getInt8:function(e){return ki(this,1,e)[0]<<24>>24},getUint8:function(e){return ki(this,1,e)[0]},getInt16:function(e){var t=ki(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=ki(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return X1(ki(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return X1(ki(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return W1(ki(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return W1(ki(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){Ti(this,1,e,J1,t)},setUint8:function(e,t){Ti(this,1,e,J1,t)},setInt16:function(e,t){Ti(this,2,e,K1,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){Ti(this,2,e,K1,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){Ti(this,4,e,q1,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){Ti(this,4,e,q1,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){Ti(this,4,e,TB,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){Ti(this,8,e,xB,t,arguments.length>2?arguments[2]:void 0)}});B1(rr,vv),B1(wr,yB);var gc={ArrayBuffer:rr,DataView:wr},IB=Me,_v=pe,wB=oe,ex=It,tx=ai,EB=vr,CB=ju,yv=gc.ArrayBuffer,Sv=gc.DataView,nx=Sv.prototype,rx=_v(yv.prototype.slice),RB=_v(nx.getUint8),AB=_v(nx.setUint8);IB({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wB(function(){return!new yv(2).slice(1,void 0).byteLength})},{slice:function(e,t){if(rx&&t===void 0)return rx(ex(this),e);for(var n=ex(this).byteLength,r=tx(e,n),i=tx(t===void 0?n:t,n),o=new(CB(this,yv))(EB(i-r)),a=new Sv(this),s=new Sv(o),c=0;r<i;)AB(s,c++,RB(a,r++));return o}}),Me({global:!0,constructor:!0,forced:!hv},{DataView:gc.DataView});var PB=Me,DB=Fa,LB=pe([].reverse),ix=[1,2];PB({target:"Array",proto:!0,forced:String(ix)===String(ix.reverse())},{reverse:function(){return DB(this)&&(this.length=this.length),LB(this)}});var OB=Ut,MB=Bt,NB=yn,VB=rn,UB=TypeError,ax=function(e){return function(t,n,r,i){OB(n);var o=MB(t),a=NB(o),s=VB(o),c=e?s-1:0,u=e?-1:1;if(r<2)for(;;){if(c in a){i=a[c],c+=u;break}if(c+=u,e?c<0:s<=c)throw UB("Reduce of empty array with no initial value")}for(;e?c>=0:s>c;c+=u)c in a&&(i=n(i,a[c],c,o));return i}},bv={left:ax(!1),right:ax(!0)},BB=bv.left,ox=dr,jB=Gs;Me({target:"Array",proto:!0,forced:!Vs("reduce")||!jB&&ox>79&&ox<83},{reduce:function(e){var t=arguments.length;return BB(this,e,t,t>1?arguments[1]:void 0)}});var FB=Ds,GB="ArrayBuffer",sx=gc.ArrayBuffer;Me({global:!0,constructor:!0,forced:te.ArrayBuffer!==sx},{ArrayBuffer:sx}),FB(GB);var HB=Me,cx=Fa,zB=wu,WB=ot,ux=ai,JB=rn,KB=Sn,qB=Cs,XB=nt,QB=ja,YB=Ns("slice"),$B=XB("species"),kv=Array,ZB=Math.max;HB({target:"Array",proto:!0,forced:!YB},{slice:function(e,t){var n,r,i,o=KB(this),a=JB(o),s=ux(e,a),c=ux(t===void 0?a:t,a);if(cx(o)&&(n=o.constructor,(zB(n)&&(n===kv||cx(n.prototype))||WB(n)&&(n=n[$B])===null)&&(n=void 0),n===kv||n===void 0))return QB(o,s,c);for(r=new(n===void 0?kv:n)(ZB(c-s,0)),i=0;s<c;s++,i++)s in o&&qB(r,i,o[s]);return r.length=i,r}});var lx=te,ej=oe,tj=pe,nj=Wt,rj=Vu.trim,dx=sS,_c=lx.parseInt,hx=lx.Symbol,px=hx&&hx.iterator,fx=/^[+-]?0x/i,ij=tj(fx.exec),mx=_c(dx+"08")!==8||_c(dx+"0x16")!==22||px&&!ej(function(){_c(Object(px))})?function(e,t){var n=rj(nj(e));return _c(n,t>>>0||(ij(fx,n)?16:10))}:_c;Me({global:!0,forced:parseInt!=mx},{parseInt:mx});var _n,Co,Hl,Tv={exports:{}},aj=hv,xv=_e,hn=te,vx=at,zl=ot,xi=xt,Iv=Lr,oj=Xn,sj=Mn,wv=Qt,cj=At.f,uj=bn,Wl=xs,Ro=Ba,lj=nt,dj=Di,gx=Xe.enforce,hj=Xe.get,Jl=hn.Int8Array,Ev=Jl&&Jl.prototype,_x=hn.Uint8ClampedArray,yx=_x&&_x.prototype,Er=Jl&&Wl(Jl),ir=Ev&&Wl(Ev),pj=Object.prototype,Cv=hn.TypeError,Sx=lj("toStringTag"),Rv=dj("TYPED_ARRAY_TAG"),fj="TypedArrayConstructor",Jr=aj&&!!Ro&&Iv(hn.opera)!=="Opera",bx=!1,Kr={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Av={BigInt64Array:8,BigUint64Array:8},kx=function(e){var t=Wl(e);if(zl(t)){var n=hj(t);return n&&xi(n,fj)?n.TypedArrayConstructor:kx(t)}},Tx=function(e){if(!zl(e))return!1;var t=Iv(e);return xi(Kr,t)||xi(Av,t)};for(_n in Kr)(Hl=(Co=hn[_n])&&Co.prototype)?gx(Hl).TypedArrayConstructor=Co:Jr=!1;for(_n in Av)(Hl=(Co=hn[_n])&&Co.prototype)&&(gx(Hl).TypedArrayConstructor=Co);if((!Jr||!vx(Er)||Er===Function.prototype)&&(Er=function(){throw Cv("Incorrect invocation")},Jr))for(_n in Kr)hn[_n]&&Ro(hn[_n],Er);if((!Jr||!ir||ir===pj)&&(ir=Er.prototype,Jr))for(_n in Kr)hn[_n]&&Ro(hn[_n].prototype,ir);if(Jr&&Wl(yx)!==ir&&Ro(yx,ir),xv&&!xi(ir,Sx))for(_n in bx=!0,cj(ir,Sx,{get:function(){return zl(this)?this[Rv]:void 0}}),Kr)hn[_n]&&sj(hn[_n],Rv,_n);var We={NATIVE_ARRAY_BUFFER_VIEWS:Jr,TYPED_ARRAY_TAG:bx&&Rv,aTypedArray:function(e){if(Tx(e))return e;throw Cv("Target is not a typed array")},aTypedArrayConstructor:function(e){if(vx(e)&&(!Ro||uj(Er,e)))return e;throw Cv(oj(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n,r){if(xv){if(n)for(var i in Kr){var o=hn[i];if(o&&xi(o.prototype,e))try{delete o.prototype[e]}catch(a){try{o.prototype[e]=t}catch(s){}}}ir[e]&&!n||wv(ir,e,n?t:Jr&&Ev[e]||t,r)}},exportTypedArrayStaticMethod:function(e,t,n){var r,i;if(xv){if(Ro){if(n){for(r in Kr)if((i=hn[r])&&xi(i,e))try{delete i[e]}catch(o){}}if(Er[e]&&!n)return;try{return wv(Er,e,n?t:Jr&&Er[e]||t)}catch(o){}}for(r in Kr)!(i=hn[r])||i[e]&&!n||wv(i,e,t)}},getTypedArrayConstructor:kx,isView:function(e){if(!zl(e))return!1;var t=Iv(e);return t==="DataView"||xi(Kr,t)||xi(Av,t)},isTypedArray:Tx,TypedArray:Er,TypedArrayPrototype:ir},xx=te,Pv=oe,mj=Tu,vj=We.NATIVE_ARRAY_BUFFER_VIEWS,gj=xx.ArrayBuffer,ha=xx.Int8Array,_j=!vj||!Pv(function(){ha(1)})||!Pv(function(){new ha(-1)})||!mj(function(e){new ha,new ha(null),new ha(1.5),new ha(e)},!0)||Pv(function(){return new ha(new gj(2),1,void 0).length!==1}),yj=$n,Sj=RangeError,bj=function(e){var t=yj(e);if(t<0)throw Sj("The argument can't be less than 0");return t},kj=RangeError,Ix=function(e,t){var n=bj(e);if(n%t)throw kj("Wrong offset");return n},Tj=Lr,xj=pe("".slice),Ij=Ca,wj=TypeError,wx=function(e){var t=Ij(e,"number");if(typeof t=="number")throw wj("Can't convert number to bigint");return BigInt(t)},Ej=Mr,Cj=Qe,Rj=xS,Aj=Bt,Pj=rn,Dj=bu,Lj=Rs,Oj=Th,Mj=function(e){return xj(Tj(e),0,3)==="Big"},Nj=We.aTypedArrayConstructor,Vj=wx,Ex=Me,Cx=te,Rx=Qe,Uj=_e,Bj=_j,Ao=We,Ax=gc,Px=oi,jj=et,yc=Mn,Fj=Kk,Gj=vr,Dx=P1,Dv=Ix,Lx=Ra,Sc=xt,Hj=Lr,Lv=ot,zj=Ri,Wj=Ua,Jj=bn,Kl=Ba,Kj=ii.f,Ox=function(e){var t,n,r,i,o,a,s,c,u=Rj(this),d=Aj(e),h=arguments.length,_=h>1?arguments[1]:void 0,y=_!==void 0,b=Lj(d);if(b&&!Oj(b))for(c=(s=Dj(d,b)).next,d=[];!(a=Cj(c,s)).done;)d.push(a.value);for(y&&h>2&&(_=Ej(_,arguments[2])),n=Pj(d),r=new(Nj(u))(n),i=Mj(r),t=0;n>t;t++)o=y?_(d[t],t):d[t],r[t]=i?Vj(o):+o;return r},qj=an.forEach,Xj=Ds,Mx=At,Nx=Se,Qj=xu,Ov=Xe.get,Yj=Xe.set,$j=Xe.enforce,Mv=Mx.f,Zj=Nx.f,e8=Math.round,Nv=Cx.RangeError,Vx=Ax.ArrayBuffer,t8=Vx.prototype,n8=Ax.DataView,ql=Ao.NATIVE_ARRAY_BUFFER_VIEWS,Ux=Ao.TYPED_ARRAY_TAG,Bx=Ao.TypedArray,bc=Ao.TypedArrayPrototype,r8=Ao.aTypedArrayConstructor,Vv=Ao.isTypedArray,Xl="BYTES_PER_ELEMENT",Uv="Wrong length",jx=function(e,t){r8(e);for(var n=0,r=t.length,i=new e(r);r>n;)i[n]=t[n++];return i},Ql=function(e,t){Mv(e,t,{get:function(){return Ov(this)[t]}})},Fx=function(e){var t;return Jj(t8,e)||(t=Hj(e))=="ArrayBuffer"||t=="SharedArrayBuffer"},Gx=function(e,t){return Vv(e)&&!zj(t)&&t in e&&Fj(+t)&&t>=0},Hx=function(e,t){return t=Lx(t),Gx(e,t)?jj(2,e[t]):Zj(e,t)},zx=function(e,t,n){return t=Lx(t),!(Gx(e,t)&&Lv(n)&&Sc(n,"value"))||Sc(n,"get")||Sc(n,"set")||n.configurable||Sc(n,"writable")&&!n.writable||Sc(n,"enumerable")&&!n.enumerable?Mv(e,t,n):(e[t]=n.value,e)};Uj?(ql||(Nx.f=Hx,Mx.f=zx,Ql(bc,"buffer"),Ql(bc,"byteOffset"),Ql(bc,"byteLength"),Ql(bc,"length")),Ex({target:"Object",stat:!0,forced:!ql},{getOwnPropertyDescriptor:Hx,defineProperty:zx}),Tv.exports=function(e,t,n){var r=e.match(/\d+$/)[0]/8,i=e+(n?"Clamped":"")+"Array",o="get"+e,a="set"+e,s=Cx[i],c=s,u=c&&c.prototype,d={},h=function(y,b){Mv(y,b,{get:function(){return function(f,g){var I=Ov(f);return I.view[o](g*r+I.byteOffset,!0)}(this,b)},set:function(f){return function(g,I,w){var j=Ov(g);n&&(w=(w=e8(w))<0?0:w>255?255:255&w),j.view[a](I*r+j.byteOffset,w,!0)}(this,b,f)},enumerable:!0})};ql?Bj&&(c=t(function(y,b,f,g){return Px(y,u),Qj(Lv(b)?Fx(b)?g!==void 0?new s(b,Dv(f,r),g):f!==void 0?new s(b,Dv(f,r)):new s(b):Vv(b)?jx(c,b):Rx(Ox,c,b):new s(Dx(b)),y,c)}),Kl&&Kl(c,Bx),qj(Kj(s),function(y){y in c||yc(c,y,s[y])}),c.prototype=u):(c=t(function(y,b,f,g){Px(y,u);var I,w,j,z=0,$=0;if(Lv(b)){if(!Fx(b))return Vv(b)?jx(c,b):Rx(Ox,c,b);I=b,$=Dv(f,r);var ue=b.byteLength;if(g===void 0){if(ue%r||(w=ue-$)<0)throw Nv(Uv)}else if((w=Gj(g)*r)+$>ue)throw Nv(Uv);j=w/r}else j=Dx(b),I=new Vx(w=j*r);for(Yj(y,{buffer:I,byteOffset:$,byteLength:w,length:j,view:new n8(I)});z<j;)h(y,z++)}),Kl&&Kl(c,Bx),u=c.prototype=Wj(bc)),u.constructor!==c&&yc(u,"constructor",c),$j(u).TypedArrayConstructor=c,Ux&&yc(u,Ux,i);var _=c!=s;d[i]=c,Ex({global:!0,constructor:!0,forced:_,sham:!ql},d),Xl in c||yc(c,Xl,r),Xl in u||yc(u,Xl,r),Xj(i)}):Tv.exports=function(){},(0,Tv.exports)("Uint8",function(e){return function(t,n,r){return e(this,t,n,r)}});var i8=Bt,Bv=ai,a8=rn,o8=Wy,s8=Math.min,c8=[].copyWithin||function(e,t){var n=i8(this),r=a8(n),i=Bv(e,r),o=Bv(t,r),a=arguments.length>2?arguments[2]:void 0,s=s8((a===void 0?r:Bv(a,r))-o,r-i),c=1;for(o<i&&i<o+s&&(c=-1,o+=s-1,i+=s-1);s-- >0;)o in n?n[i]=n[o]:o8(n,i),i+=c,o+=c;return n},Wx=We,u8=pe(c8),l8=Wx.aTypedArray;(0,Wx.exportTypedArrayMethod)("copyWithin",function(e,t){return u8(l8(this),e,t,arguments.length>2?arguments[2]:void 0)});var d8=an.every,h8=We.aTypedArray;(0,We.exportTypedArrayMethod)("every",function(e){return d8(h8(this),e,arguments.length>1?arguments[1]:void 0)});var p8=L1,f8=wx,m8=Lr,v8=Qe,g8=oe,_8=We.aTypedArray,y8=We.exportTypedArrayMethod,S8=pe("".slice);y8("fill",function(e){var t=arguments.length;_8(this);var n=S8(m8(this),0,3)==="Big"?f8(e):+e;return v8(p8,this,n,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)},g8(function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),e!==1}));var b8=rn,k8=ju,T8=We.aTypedArrayConstructor,x8=We.getTypedArrayConstructor,Yl=function(e){return T8(k8(e,x8(e)))},I8=function(e,t){for(var n=0,r=b8(t),i=new e(r);r>n;)i[n]=t[n++];return i},w8=Yl,E8=an.filter,C8=function(e,t){return I8(w8(e),t)},R8=We.aTypedArray;(0,We.exportTypedArrayMethod)("filter",function(e){var t=E8(R8(this),e,arguments.length>1?arguments[1]:void 0);return C8(this,t)});var A8=an.find,P8=We.aTypedArray;(0,We.exportTypedArrayMethod)("find",function(e){return A8(P8(this),e,arguments.length>1?arguments[1]:void 0)});var D8=an.findIndex,L8=We.aTypedArray;(0,We.exportTypedArrayMethod)("findIndex",function(e){return D8(L8(this),e,arguments.length>1?arguments[1]:void 0)});var O8=an.forEach,M8=We.aTypedArray;(0,We.exportTypedArrayMethod)("forEach",function(e){O8(M8(this),e,arguments.length>1?arguments[1]:void 0)});var N8=gs.includes,V8=We.aTypedArray;(0,We.exportTypedArrayMethod)("includes",function(e){return N8(V8(this),e,arguments.length>1?arguments[1]:void 0)});var U8=gs.indexOf,B8=We.aTypedArray;(0,We.exportTypedArrayMethod)("indexOf",function(e){return U8(B8(this),e,arguments.length>1?arguments[1]:void 0)});var j8=te,F8=oe,jv=pe,Jx=We,Fv=H_,Gv=nt("iterator"),Kx=j8.Uint8Array,G8=jv(Fv.values),H8=jv(Fv.keys),z8=jv(Fv.entries),Hv=Jx.aTypedArray,$l=Jx.exportTypedArrayMethod,Po=Kx&&Kx.prototype,Zl=!F8(function(){Po[Gv].call([1])}),qx=!!Po&&Po.values&&Po[Gv]===Po.values&&Po.values.name==="values",Xx=function(){return G8(Hv(this))};$l("entries",function(){return z8(Hv(this))},Zl),$l("keys",function(){return H8(Hv(this))},Zl),$l("values",Xx,Zl||!qx,{name:"values"}),$l(Gv,Xx,Zl||!qx,{name:"values"});var W8=We.aTypedArray,J8=We.exportTypedArrayMethod,K8=pe([].join);J8("join",function(e){return K8(W8(this),e)});var q8=ji,X8=Sn,Q8=$n,Y8=rn,$8=Vs,Z8=Math.min,zv=[].lastIndexOf,Qx=!!zv&&1/[1].lastIndexOf(1,-0)<0,eF=$8("lastIndexOf"),tF=Qx||!eF?function(e){if(Qx)return q8(zv,this,arguments)||0;var t=X8(this),n=Y8(t),r=n-1;for(arguments.length>1&&(r=Z8(r,Q8(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}:zv,nF=ji,rF=tF,iF=We.aTypedArray;(0,We.exportTypedArrayMethod)("lastIndexOf",function(e){var t=arguments.length;return nF(rF,iF(this),t>1?[e,arguments[1]]:[e])});var aF=an.map,oF=Yl,sF=We.aTypedArray;(0,We.exportTypedArrayMethod)("map",function(e){return aF(sF(this),e,arguments.length>1?arguments[1]:void 0,function(t,n){return new(oF(t))(n)})});var cF=bv.left,uF=We.aTypedArray;(0,We.exportTypedArrayMethod)("reduce",function(e){var t=arguments.length;return cF(uF(this),e,t,t>1?arguments[1]:void 0)});var lF=bv.right,dF=We.aTypedArray;(0,We.exportTypedArrayMethod)("reduceRight",function(e){var t=arguments.length;return lF(dF(this),e,t,t>1?arguments[1]:void 0)});var hF=We.aTypedArray,pF=We.exportTypedArrayMethod,fF=Math.floor;pF("reverse",function(){for(var e,t=this,n=hF(t).length,r=fF(n/2),i=0;i<r;)e=t[i],t[i++]=t[--n],t[n]=e;return t});var Yx=te,$x=Qe,Wv=We,mF=rn,vF=Ix,gF=Bt,Zx=oe,_F=Yx.RangeError,Jv=Yx.Int8Array,eI=Jv&&Jv.prototype,tI=eI&&eI.set,yF=Wv.aTypedArray,SF=Wv.exportTypedArrayMethod,Kv=!Zx(function(){var e=new Uint8ClampedArray(2);return $x(tI,e,{length:1,0:3},1),e[1]!==3}),bF=Kv&&Wv.NATIVE_ARRAY_BUFFER_VIEWS&&Zx(function(){var e=new Jv(2);return e.set(1),e.set("2",1),e[0]!==0||e[1]!==2});SF("set",function(e){yF(this);var t=vF(arguments.length>1?arguments[1]:void 0,1),n=gF(e);if(Kv)return $x(tI,this,n,t);var r=this.length,i=mF(n),o=0;if(i+t>r)throw _F("Wrong length");for(;o<i;)this[t+o]=n[o++]},!Kv||bF);var kF=Yl,TF=ja,xF=We.aTypedArray;(0,We.exportTypedArrayMethod)("slice",function(e,t){for(var n=TF(xF(this),e,t),r=kF(this),i=0,o=n.length,a=new r(o);o>i;)a[i]=n[i++];return a},oe(function(){new Int8Array(1).slice()}));var IF=an.some,wF=We.aTypedArray;(0,We.exportTypedArrayMethod)("some",function(e){return IF(wF(this),e,arguments.length>1?arguments[1]:void 0)});var nI=qn.match(/firefox\/(\d+)/i),EF=!!nI&&+nI[1],CF=/MSIE|Trident/.test(qn),rI=qn.match(/AppleWebKit\/(\d+)\./),RF=!!rI&&+rI[1],AF=pe,qv=oe,PF=Ut,DF=w0,iI=EF,LF=CF,aI=dr,oI=RF,OF=We.aTypedArray,MF=We.exportTypedArrayMethod,kc=te.Uint16Array,Do=kc&&AF(kc.prototype.sort),NF=!(!Do||qv(function(){Do(new kc(2),null)})&&qv(function(){Do(new kc(2),{})})),sI=!!Do&&!qv(function(){if(aI)return aI<74;if(iI)return iI<67;if(LF)return!0;if(oI)return oI<602;var e,t,n=new kc(516),r=Array(516);for(e=0;e<516;e++)t=e%4,n[e]=515-e,r[e]=e-2*t+3;for(Do(n,function(i,o){return(i/4|0)-(o/4|0)}),e=0;e<516;e++)if(n[e]!==r[e])return!0});MF("sort",function(e){return e!==void 0&&PF(e),sI?Do(this,e):DF(OF(this),function(t){return function(n,r){return t!==void 0?+t(n,r)||0:r!=r?-1:n!=n?1:n===0&&r===0?1/n>0&&1/r<0?1:-1:n>r}}(e))},!sI||NF);var VF=vr,cI=ai,UF=Yl,BF=We.aTypedArray;(0,We.exportTypedArrayMethod)("subarray",function(e,t){var n=BF(this),r=n.length,i=cI(e,r);return new(UF(n))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,VF((t===void 0?r:cI(t,r))-i))});var jF=ji,uI=We,Xv=oe,lI=ja,ed=te.Int8Array,dI=uI.aTypedArray,FF=uI.exportTypedArrayMethod,hI=[].toLocaleString,GF=!!ed&&Xv(function(){hI.call(new ed(1))});FF("toLocaleString",function(){return jF(hI,GF?lI(dI(this)):dI(this),lI(arguments))},Xv(function(){return[1,2].toLocaleString()!=new ed([1,2]).toLocaleString()})||!Xv(function(){ed.prototype.toLocaleString.call([1,2])}));var HF=We.exportTypedArrayMethod,zF=oe,WF=pe,pI=te.Uint8Array,JF=pI&&pI.prototype||{},td=[].toString,KF=WF([].join);zF(function(){td.call({})})&&(td=function(){return KF(this)});var qF=JF.toString!=td;HF("toString",td,qF);var XF=function(){function e(t,n,r){J(this,e),this.isUplink_=r,this.connection_=t,this.log_=n,this.seiMessageList_=[],this.seiPayloadType_=243,this.mainVideoSenderOrReceiver_=null,this.mainVideoAbortController_=null,this.abortMap_=new Map,this.onSEIMessage=null}return ye(e,[{key:"isRunning",get:function(){return!!this.mainVideoAbortController_}},{key:"start",value:function(t){this.mainVideoSenderOrReceiver_=t;var n=t.createEncodedStreams(),r=n.readable,i=n.writable,o=new TransformStream({transform:this.isUplink_?this.encodeVideoFrame.bind(this):this.decodeVideoFrame.bind(this)});this.mainVideoAbortController_=new AbortController,r.pipeThrough(o).pipeTo(i,{signal:this.mainVideoAbortController_.signal}).catch(function(){})}},{key:"restart",value:function(t){this.stop(),this.start(t)}},{key:"stop",value:function(){var t;(t=this.mainVideoAbortController_)===null||t===void 0||t.abort(),this.mainVideoAbortController_=null}},{key:"destroy",value:function(){this.stop(),this.abortMap_.forEach(function(t){return t.abort()}),this.abortMap_.clear(),this.log_=null,this.onSEIMessage=null,this.mainVideoSenderOrReceiver_=null,this.connection_=null}},{key:"handleEncodedStreams",value:function(){var t=this;try{var n=this.connection_.getPeerConnection();this.clearUnusedSenderOrReceiver(n),this.isUplink_?n.getSenders().forEach(function(r,i){if(i===1){if(r===t.mainVideoSenderOrReceiver_)return;t.isRunning?t.restart(r):t.start(r)}else{if(t.abortMap_.has(r))return;t.pipeSenderOrReceiver(r)}}):n.getReceivers().forEach(function(r,i){var o;t.abortMap_.has(r)||r===t.mainVideoSenderOrReceiver_||(i===1&&((o=r.track)===null||o===void 0?void 0:o.kind)===xe?t.isRunning?t.restart(r):t.start(r):t.pipeSenderOrReceiver(r))})}catch(r){this.log_.warn(r)}}},{key:"pipeSenderOrReceiver",value:function(t){var n=t.createEncodedStreams(),r=n.readable,i=n.writable,o=new AbortController;this.abortMap_.set(t,o),r.pipeTo(i,{signal:o.signal}).catch(function(){})}},{key:"clearUnusedSenderOrReceiver",value:function(t){var n=this;this.abortMap_.forEach(function(r,i){(n.isUplink_?t.getSenders():t.getReceivers()).find(function(o){return o===i})||(r.abort(),n.abortMap_.delete(i))})}},{key:"push",value:function(t,n){n&&n.seiPayloadType&&(this.seiPayloadType_=n.seiPayloadType),this.seiMessageList_.push(t)}},{key:"hasSEI",value:function(t){var n=new DataView(t);return n.getInt32(0)===1&&n.getInt8(4)===6}},{key:"isEmptyFrame",value:function(t){return t.type==="empty"||t.data.byteLength===0}},{key:"getNaluCount",value:function(t){for(var n=0,r=0,i=new DataView(t),o=0;o<t.byteLength;o++)switch(i.getUint8(o)){case 0:n++;break;case 1:n!==2&&n!==3||r++,n=0;break;default:n=0}return r}},{key:"encodeVideoFrame",value:function(t,n){try{if(this.connection_.isH264&&this.seiMessageList_.length>0&&!this.isEmptyFrame(t)){var r=9-this.getNaluCount(t.data);if(r<=0)return;for(var i=this.seiMessageList_.splice(0,r).reverse().map(this.encodeSEINalu.bind(this)),o=i.reduce(function(y,b){return y+b.dataView.byteLength},0),a=new ArrayBuffer(o+t.data.byteLength),s=new DataView(a),c=new DataView(t.data),u=0,d=0;d<i.length;d++)for(var h=0;h<i[d].dataView.byteLength;h++)s.setInt8(u++,i[d].dataView.getInt8(h));for(var _=0;_<t.data.byteLength;_++)s.setInt8(u++,c.getInt8(_));t.data=a,this.log_.debug("".concat(i.length," sei sent"))}}catch(y){this.log_.warn(y)}n.enqueue(t)}},{key:"decodeVideoFrame",value:function(t,n){var r=this;try{if(this.connection_.isH264&&!this.isEmptyFrame(t)&&this.hasSEI(t.data)){for(var i=[],o=new DataView(t.data),a=0,s=-1,c=-1,u=0;u<t.data.byteLength;u++){var d=o.getUint8(u);if(d===0)a++;else if(d===1){if(a===2||a===3){var h=u-a;if(s===-1?s=h:c===-1&&(c=h,i.push(new fI(new DataView(o.buffer.slice(s,c)))),s=h,c=-1),o.getUint8(u+1)!==6){t.data=new DataView(o.buffer.slice(h)).buffer;break}}a=0}else a=0}this.log_.debug("".concat(i.length," sei received")),In(this.onSEIMessage)&&i.reverse().forEach(function(_){r.onSEIMessage({seiPayloadType:_.seiPayloadType,data:_.seiPayload.buffer})})}}catch(_){this.log_.warn(_)}n.enqueue(t)}},{key:"encodeSEINalu",value:function(t){var n=t.byteLength,r=parseInt(n/255),i=n%255,o=[];o.push(0,0,0,1,6,this.seiPayloadType_);for(var a=0;a<r;a++)o.push(255);o.push(i);var s=new DataView(t);return o.push.apply(o,be(new Uint8Array(s.buffer))),o.push(128),new fI(new DataView(new Uint8Array(o).buffer),!0)}}]),e}(),fI=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];J(this,e),this.dataView=t,this.isSEI&&(n?this.addPreventionByte():this.removePreventionByte())}return ye(e,[{key:"addPreventionByte",value:function(){for(var t=this.seiPayloadStartIndex,n=this.dataView.byteLength-2,r=[],i=0,o=t;o<=n;o++){var a=this.dataView.getInt8(o);switch(a){case 0:case 1:case 2:case 3:i===2&&(r.push(3),i=0),a==0?i++:i=0,r.push(a);break;default:i=0,r.push(a)}}r.push(this.dataView.getInt8(this.dataView.byteLength-1));var s=new DataView(new Uint8Array([].concat(be(new Uint8Array(this.dataView.buffer).slice(0,t)),r)).buffer);this.dataView=s}},{key:"removePreventionByte",value:function(){for(var t=this.seiPayloadStartIndex,n=this.dataView.byteLength-1,r=[],i=0,o=t;o<=n;o++)switch(this.dataView.getInt8(o)){case 0:i++,r.push(this.dataView.getInt8(o));break;case 3:i!==2&&r.push(this.dataView.getInt8(o)),i=0;break;default:r.push(this.dataView.getInt8(o)),i=0}var a=new DataView(new Uint8Array([].concat(be(new Uint8Array(this.dataView.buffer).slice(0,t)),r)).buffer);this.dataView=a}},{key:"isSEI",get:function(){return this.dataView.getUint8(4)===6}},{key:"seiPayloadStartIndex",get:function(){for(var t=6,n=6;n<this.dataView.buffer.byteLength&&(t++,this.dataView.getUint8(n)===255);n++);return t}},{key:"seiPayloadType",get:function(){return this.isSEI?this.dataView.getUint8(5):null}},{key:"seiPayload",get:function(){if(!this.isSEI)return null;for(var t=0,n=6,r=6;r<this.dataView.buffer.byteLength;r++){var i=this.dataView.getUint8(r);if(n++,i!==255){t+=i;break}t+=255}for(var o=new ArrayBuffer(t),a=new DataView(o),s=0;s<o.byteLength;s++,n++)a.setInt8(s,this.dataView.getInt8(n));return a}}]),e}(),Qv=function(){function e(n){J(this,e),this.userId_=n.userId,this.tinyId_=n.tinyId,this.client_=n.client,this.sdpSemantics_=n.client.getSdpSemantics(),this.isUplink_=n.isUplink,this.log_=ke.createLogger({id:"n|"+this.userId_,userId:this.client_.getUserId(),sdkAppId:this.client_.getSDKAppId(),isLocal:this.isUplink_}),this.signalChannel_=n.signalChannel,this.peerConnection_=null,this.isErrorObserved_=!1,this.emitter_=new _i,this.currentState_=sn,this.waitForPeerConnectionConnectedPromise_=null,this.isReconnecting_=!1,this.reconnectionCount_=0,this.reconnectionTimer_=-1,this.isFirstConnection_=!0,this.delay_={audioDelay:0,videoDelay:0},this.enableSEI_=n.enableSEI,this.enableSEI_&&Lm&&(this.sei_=new XF(this,this.log_,this.isUplink_))}var t;return ye(e,[{key:"initialize",value:function(){var n={encodedInsertableStreams:this.enableSEI_&&Lm,iceServers:this.client_.getIceServers(),iceTransportPolicy:this.client_.getIceTransportPolicy(),sdpSemantics:this.sdpSemantics_,bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",tcpCandidatePolicy:"disable",IceTransportsType:"nohost"};this.peerConnection_=new RTCPeerConnection(n),this.peerConnection_.onconnectionstatechange=this.onConnectionStateChange.bind(this)}},{key:"close",value:function(){this.log_.info("closing connection"),this.closePeerConnection(),this.sei_&&(this.sei_.destroy(),this.sei_=null)}},{key:"closePeerConnection",value:function(){var n=arguments.length>0&&arguments[0]!==void 0&&arguments[0];this.peerConnection_&&(this.peerConnection_.onconnectionstatechange=function(){},this.peerConnection_.close(),this.peerConnection_=null,n&&this.emitConnectionStateChangedEvent(sn))}},{key:"getDTLSTransportState",value:function(){if(!this.peerConnection_)return $u;var n=null;if(this.isUplink_){if(!bl()||this.peerConnection_.getSenders().length===0)return $u;n=this.peerConnection_.getSenders()[0].transport}else{if(!MT()||this.peerConnection_.getReceivers().length===0)return $u;n=this.peerConnection_.getReceivers()[0].transport}return n?n.state:$u}},{key:"onConnectionStateChange",value:function(n){var r=this.peerConnection_.iceConnectionState,i=this.getDTLSTransportState();if(this.log_.info("onConnectionStateChange() connectionState: "+n.target.connectionState),this.log_.info("ICE Transport state: ".concat(r,", DTLS Transport state: ").concat(i)),n.target.connectionState===Zu&&this.emitConnectionStateChangedEvent(Sb),n.target.connectionState===kb||n.target.connectionState===Yp){var o="".concat(this.isUplink_?"uplink":"downlink"," ICE/DTLS Transport connection ").concat(n.target.connectionState,". ICE Transport state: ").concat(r,", DTLS Transport state: ").concat(i),a=new ee({message:o,code:Y.ICE_TRANSPORT_ERROR});Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:Mb,error:a}),this.emitConnectionStateChangedEvent(sn),this.isErrorObserved_||this.emitter_.emit(tt.ERROR,a)}n.target.connectionState!==Tb&&n.target.connectionState!==QN||(this.logSelectedCandidate(),Ie.logSuccessEvent({userId:this.client_.getUserId(),eventType:Mb}),this.emitConnectionStateChangedEvent(mn))}},{key:"emitConnectionStateChangedEvent",value:function(n){n!==this.currentState_&&(this.currentState_===bb&&n===Sb||(q.emit(sm,{client:this.client_,connection:this,prevState:this.currentState_,state:n}),this.emitter_.emit(tt.CONNECTION_STATE_CHANGED,{prevState:this.currentState_,state:n}),this.currentState_=n))}},{key:"hitTest",value:function(n){return(n===0||n==="0")&&this.isUplink_||n===this.tinyId_}},{key:"addEventInternal",value:function(n,r){var i=this.client_.getUserId(),o={eventId:n,eventDesc:r,timestamp:on(),userId:i,tinyId:this.client_.getTinyId()};this.isUplink_||(o.remoteUserId=this.userId_,o.remoteTinyId=this.tinyId_),vn(i,o)}},{key:"getPeerConnection",value:function(){return this.peerConnection_}},{key:"getClient",value:function(){return this.client_}},{key:"getUserId",value:function(){return this.userId_}},{key:"getTinyId",value:function(){return this.tinyId_}},{key:"logSelectedCandidate",value:(t=N(p().mark(function n(){var r,i,o,a,s,c,u;return p().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(this.peerConnection_){d.next=2;break}return d.abrupt("return");case 2:return d.next=4,this.peerConnection_.getStats();case 4:r=d.sent,i=ie(r),d.prev=6,i.s();case 8:if((o=i.n()).done){d.next=18;break}if((a=Te(o.value,2))[0],!Om(s=a[1])){d.next=16;break}return c=r.get(s.localCandidateId),u=r.get(s.remoteCandidateId),c&&this.log_.info("local candidate: ".concat(c.candidateType," ").concat(c.protocol,":").concat(c.ip||c.address,":").concat(c.port," ").concat(c.networkType||""," ").concat(c.candidateType==="relay"?"relayProtocol:"+c.relayProtocol:"")),u&&this.log_.info("remote candidate: ".concat(u.candidateType," ").concat(u.protocol,":").concat(u.ip||u.address,":").concat(u.port)),d.abrupt("break",18);case 16:d.next=8;break;case 18:d.next=23;break;case 20:d.prev=20,d.t0=d.catch(6),i.e(d.t0);case 23:return d.prev=23,i.f(),d.finish(23);case 26:case"end":return d.stop()}},n,this,[[6,20,23,26]])})),function(){return t.apply(this,arguments)})},{key:"getCurrentState",value:function(){return this.currentState_}},{key:"waitForPeerConnectionConnected",value:function(){var n=this;return this.waitForPeerConnectionConnectedPromise_||(this.waitForPeerConnectionConnectedPromise_=new Promise(function(r,i){if(n.currentState_===mn)return r();var o=-1,a=function(u){u.state===mn&&(clearTimeout(o),c(),r())},s=function(u){u.client===n.client_&&(clearTimeout(o),c(),i(new ee({code:Y.API_CALL_ABORTED,message:ne({key:Z4,data:"leave room"})})))},c=function(){q.off(po,s,n),n.emitter_.off(tt.CONNECTION_STATE_CHANGED,a,n)};o=setTimeout(function(){c();var u=new ee({code:Y.API_CALL_TIMEOUT,message:"connection timeout"});i(u)},1e4),q.on(po,s,n),n.emitter_.on(tt.CONNECTION_STATE_CHANGED,a,n)}),this.waitForPeerConnectionConnectedPromise_=this.waitForPeerConnectionConnectedPromise_.then(function(r){return n.waitForPeerConnectionConnectedPromise_=null,r}).catch(function(r){throw n.waitForPeerConnectionConnectedPromise_=null,r})),this.waitForPeerConnectionConnectedPromise_}},{key:"getReconnectionCount",value:function(){return this.reconnectionCount_}},{key:"startReconnection",value:function(){this.isReconnecting_=!0,this.emitConnectionStateChangedEvent(bb),this.reconnect(),this.addEventInternal(this.isUplink_?i6:s6,"".concat(this.isUplink_?"uplink":"downlink","-connection is reconnecting"))}},{key:"stopReconnection",value:function(){this.log_.info("stop reconnection"),this.isReconnecting_=!1,this.reconnectionCount_=0,this.clearReconnectionTimer(),this.signalChannel_.off(sc,this.reconnect,this)}},{key:"on",value:function(n,r,i){this.emitter_.on(n,r,i)}},{key:"off",value:function(n,r,i){this.emitter_.off(n,r,i)}},{key:"setDelay",value:function(n){var r=n.audioDelay,i=n.videoDelay;this.delay_={audioDelay:r,videoDelay:i}}},{key:"getDelay",value:function(){return this.delay_}},{key:"isH264",get:function(){var n,r;return!((n=this.peerConnection_)===null||n===void 0||(r=n.remoteDescription)===null||r===void 0||!r.sdp.includes("H264"))}}]),e}(),QF=function(){function e(){J(this,e),this.set_=new Set,q.on(gl,this.add,this),q.on(lo,this.add,this),q.on(ho,this.delete,this),q.on(po,this.delete,this)}return ye(e,[{key:"add",value:function(t){var n=t.client,r=t.roomId;if(n.getMode()!=="rtc"){var i=this.getKey(n.getUserId(),r||n.getRoomId(),n.getSDKAppId(),n.getUseStringRoomId());this.set_.add(i)}}},{key:"delete",value:function(t){var n=t.client;if(n.getMode()!=="rtc"){var r=this.getKey(n.getUserId(),n.getRoomId(),n.getSDKAppId(),n.getUseStringRoomId());this.set_.delete(r)}}},{key:"getKey",value:function(t,n,r,i){return"".concat(r,"_").concat(n,"_").concat(t,"_").concat(i)}},{key:"isJoined",value:function(t){var n=t.userId,r=t.roomId,i=t.sdkAppId,o=t.client;return o.getMode()!=="rtc"&&this.set_.has(this.getKey(n,r,i,o.getUseStringRoomId()))}}]),e}(),YF=new QF;function mI(e,t,n,r){if(this.useStringRoomId_){if(!(Ft(e)&&/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e)))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:O3,data:t,link:{className:r,fnName:n}})})}else if(!(xr(e)&&/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:M3,data:t,link:{className:r,fnName:n}})})}function vI(e,t,n,r){if(!/^[A-Za-z\d_-]*$/.test(e))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:Y3,data:t,link:{className:r,fnName:n}})})}var $F={createClient:{name:"clientConfig",required:!0,type:kr,properties:{sdkAppId:{required:!0,type:Et,allowEmpty:!1},userId:{required:!0,type:bt,allowEmpty:!1},userSig:{required:!0,type:bt,allowEmpty:!1},mode:{required:!0,type:bt,values:["rtc",Yu]},useStringRoomId:{type:cn},autoSubscribe:{type:cn},enableAutoPlayDialog:{type:cn},streamId:{type:bt},userDefineRecordId:{type:bt},pureAudioPushMode:{type:Et,values:[1,2]},enableSEI:{type:cn}}},createStream:{name:"streamConfig",required:!0,type:kr,properties:{userId:{type:bt},audio:{type:cn},video:{type:cn},screen:{type:cn},screenAudio:{type:cn},microphoneId:{type:bt},cameraId:{type:bt},facingMode:{type:[bt,kr]},audioSource:{instanceOf:window.MediaStreamTrack},videoSource:{instanceOf:window.MediaStreamTrack}},validate:function(e){if(!ve(e.screen)&&e.screen&&ve(e.audio)&&(e.audio=!1),!(ve(e.audio)&&ve(e.video)||ve(e.audioSource)&&ve(e.videoSource)))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:L4})});if(!ve(e.screen)&&e.screen===!0&&e.video===!0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:O4})});if(e.audio&&e.screenAudio)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:M4})});if(e.screen!==!0&&e.screenAudio===!0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:N4})});if(!ve(e.screen)&&e.screen===!0&&!this.isScreenShareSupported())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:B4})})}}},ZF={join:{name:"options",required:!0,type:kr,properties:{roomId:{required:!0,type:[Et,bt],allowEmpty:!1,validate:mI},role:{type:[bt],values:[Sr,qi]},privateMapKey:{type:[bt]}},validate:function(e){if(this.isJoined_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:L3})});if(this.checkDestroy(),YF.isJoined({userId:this.userId_,roomId:e.roomId,sdkAppId:this.sdkAppId_,client:this}))throw new ee({code:Y.INVALID_OPERATION,message:ne({key:S4,data:this.userId_})})}},publish:[{name:"stream",required:!0,instanceOf:mi,validate:function(e){if(!this.isJoined_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:B3})});if(this.mode_===Yu&&this.role_===qi)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:F3})});if(!e.getIsReadyToPublish())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:G3})});if(this.notPublishWithoutH264Supported_)throw new ee({code:Y.NOT_SUPPORTED_H264,message:ne({key:mk})})}},{name:"options",type:kr,defaultValue:{isAuxiliary:!1},properties:{isAuxiliary:{type:cn,defaultValue:!1,validate:function(){var e=arguments.length>0&&arguments[0]!==void 0&&arguments[0];if(e&&!Pm())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:j4})});if(this.uplinkConnection_&&(e&&this.uplinkConnection_.isAuxStreamPublished||!e&&this.uplinkConnection_.isMainStreamPublished))throw new ee({code:Y.INVALID_OPERATION,message:ne({key:H3,data:e?mt:"local"})});var t=this.localScreenStream_||be(this.connections_.values()).findIndex(function(n){return n.getTrackState().auxiliary})>=0;if(!this.enableMultiAuxStream_&&e&&t)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:eV})})}}}}],unpublish:{name:"stream",required:!0,instanceOf:mi,validate:function(e){if(e!==this.localStream_&&e!==this.localAuxStream_){if(this.localStream_||this.localAuxStream_)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:j3})});this.log_.warn("Client currently has no published stream, please call publish() first.")}}},subscribe:[{name:"stream",required:!0,instanceOf:sf,validate:function(e){if(!e.getConnection())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:df})});if(this.notSubscribeWithoutH264Supported_)throw new ee({code:Y.NOT_SUPPORTED_H264,message:ne({key:vk})})}},{name:"options",type:kr,properties:{audio:{type:cn},video:{type:cn},smallVideo:{type:cn}},validate:function(e){var t=e.audio,n=e.video,r=e.smallVideo;if(t===!1&&n===!1&&(ve(r)||r===!1))throw new ee({code:Y.INVALID_OPERATION,message:ne({key:J4})})}}],unsubscribe:{name:"stream",required:!0,instanceOf:sf,validate:function(e){if(!e.getConnection())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:df})})}},switchRole:{name:"role",required:!0,values:[Sr,qi],validate:function(){if(this.mode_!==Yu)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:W3})});if(!this.isJoined_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:J3})})}},startPublishCDNStream:{name:"options",required:!1,properties:{streamId:{type:bt,validate:vI},streamType:{type:bt,values:["main","auxiliary"]},appId:{type:Et,allowEmpty:!1},bizId:{type:Et,allowEmpty:!1},url:{type:bt,allowEmpty:!1}},validate:function(){if(this.isDestroyed_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:hf,data:{funName:"startPublishCDNStream"}})})}},startMixTranscode:{name:"config",required:!0,type:kr,properties:{mode:{type:bt,values:["preset-layout","manual"]},streamId:{type:bt,validate:vI},videoWidth:{type:Et,notLessThanZero:!0},videoHeight:{type:Et,notLessThanZero:!0},videoBitrate:{type:Et,notLessThanZero:!0,allowEmpty:!1},videoFramerate:{type:Et,validate:function(e,t,n,r){if(e<=0||e>30)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:I4,link:{className:r,fnName:n}})})}},videoGop:{type:Et,validate:function(e,t,n,r){if(e<1||e>8)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:w4,link:{className:r,fnName:n}})})}},audioSampleRate:{type:Et,notLessThanZero:!0},audioBitrate:{type:Et,validate:function(e,t,n,r){if(e<32||e>192)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:E4,link:{className:r,fnName:n}})})}},audioChannels:{type:Et,values:[1,2]},backgroundColor:{type:Et},backgroundImage:{type:bt},mixUsers:{required:!0,type:t3,arrayItem:{require:!0,type:kr,properties:{userId:{required:!0,type:bt},roomId:{type:[bt,Et],validate:mI},pureAudio:{type:cn},width:{type:Et,notLessThanZero:!0},height:{type:Et,notLessThanZero:!0},locationX:{type:Et,notLessThanZero:!0},locationY:{type:Et,notLessThanZero:!0},zOrder:{type:Et},streamType:{type:bt,values:["main","auxiliary"]},renderMode:{type:Et,values:[0,1,2,4]}}}}},validate:function(e,t,n,r,i){var o=0,a=0,s=e.mixUsers,c=[];if(s.forEach(function(u,d){if(c.push(u.userId),!u.pureAudio){if(!u.zOrder||u.zOrder<1||u>15)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:C4,data:"config.mixUsers[".concat(d,"].zOrder"),link:{className:r,fnName:n}})});u.width+u.locationX>o&&(o=u.width+u.locationX),u.height+u.locationY>a&&(a=u.height+u.locationY)}}),c.indexOf(this.getUserId())<0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:R4,link:{className:r,fnName:n}})});if(e.videoWidth<o||e.videoHeight<a)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:A4,link:{className:r,fnName:n}})})}},sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate:function(e){if(!Lm)throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:_k})});if(!this.enableSEI_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:K4})});if(e.byteLength>1e3)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:X4,data:e.byteLength})});if(e.byteLength===0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:q4})});if(!this.uplinkConnection_||!this.localStream_)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:Q4})});if(!this.localStream_.hasVideo())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:Y4})});var t=this.uplinkConnection_.isH264;if(!t)throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:_k,data:t})})}},{name:"options",type:kr,properties:{seiPayloadType:{type:Et,values:[5,243]}}}]},e7={play:[{name:"elementId",required:!0,type:[bt,"HTMLDivElement"],validate:function(e,t,n){if(Ft(e)){var r=document.getElementById(e);if(!r)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:P4,data:{key:t,fnName:n}})});if(!(r instanceof HTMLDivElement))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:D4,data:{key:t,fnName:n,type:gi(r)}})})}}},{name:"options",type:kr,properties:{objectFit:{type:bt,values:["contain","cover","fill"]},muted:{type:cn},mirror:{type:cn}}}],addTrack:{name:qp,instanceOf:MediaStreamTrack,validate:function(e){if(this.isAddingTrack_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:u4})});if(this.isRemovingTrack_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:l4})});if(this.publishState_===Zs)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:d4})});var t=this.getMediaStream();if(!t)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:hk})});if(e.kind===Ce&&t.getAudioTracks().length>0||e.kind===xe&&t.getVideoTracks().length>0)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:h4})});if(!yi()&&!bl())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:ff,data:gb})})}},removeTrack:{name:qp,instanceOf:MediaStreamTrack,validate:function(e){if(this.isAddingTrack_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:f4})});if(this.isRemovingTrack_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:m4})});if(this.publishState_===Zs)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:v4})});var t=this.getMediaStream();if(!t)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:hk})});if(t.getTracks().indexOf(e)===-1)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:g4})});if(!yi()){if(t.getTracks().length===1)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:_4})});if(e.kind===Ce)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:p4})});if(!bl())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:ff,data:_b})})}}},replaceTrack:{name:qp,instanceOf:MediaStreamTrack,validate:function(e){var t=this.getMediaStream();if(!t)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:c4})});if(this.publishState_===Zs)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:dk})});if(e.kind===Ce&&t.getAudioTracks().length<=0||e.kind===xe&&t.getVideoTracks().length<=0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:y4,data:e})});if(!Dm())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:ff,data:UN})})}}},Yt={TRTC:$F,CLIENT:ZF,LOCAL_STREAM:{switchDevice:[{name:"type",required:!0,type:bt,values:[Ce,xe]},{name:"deviceId",required:!0,type:bt,validate:function(){if(this.screen_&&!this.audio_||this.audioSource_||this.videoSource_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:o4})});if(this.publishState_===Zs)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:s4})});if(!Dm())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:U4})})}}],setAudioCaptureVolume:{name:"volume",type:Et}},STREAM:e7};function nd(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r,i,o){var a=o.value;return o.value=function(){for(var s=arguments.length,c=new Array(s),u=0;u<s;u++)c[u]=arguments[u];return gI.call(this,t,c,i,this.name_),a.apply(this,c)},o}}function wn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r,i,o){var a=o.value;return o.value=N(p().mark(function s(){var c,u,d,h=arguments;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:for(c=h.length,u=new Array(c),d=0;d<c;d++)u[d]=h[d];return gI.call(this,t,u,i,this.name_),_.abrupt("return",a.apply(this,u));case 3:case"end":return _.stop()}},s,this)})),o}}function gI(e,t,n,r){try{for(var i=0;i<e.length;i++)Yv.call(this,{rule:e[i],value:t[i],key:e[i].name,fnName:n,className:r})}catch(o){throw ke.error(o),o}}function Yv(e){var t=this,n=e.rule,r=e.value,i=e.key,o=e.fnName,a=e.className;if(ve(r)){if(n.required)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:g3,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});if(ve(n.defaultValue))return;r=n.defaultValue}if(Array.isArray(n.type)){if(!n.type.map(function(h){return h.toLowerCase()}).includes(gi(r)))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:ak,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})})}else if(!ve(n.type)&&gi(r)!==n.type)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:ak,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});if(n.allowEmpty===!1){var s=xr(r)&&(r===0||Number.isNaN(r)),c=Ft(r)&&r.trim()==="";if(s||c)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:_3,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})})}if(n.notLessThanZero&&xr(r)&&r<0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:x4,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});if(Ft(n.instanceOf)){if(!r||r.name_!==n.instanceOf)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:ok,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})})}else if(In(n.instanceOf)&&!(r instanceof n.instanceOf))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:ok,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});if(n.values&&!n.values.includes(r))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:y3,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});var u=n.properties;na(u)&&Ok(r)&&Object.keys(u).forEach(function(h){Yv.call(t,{rule:u[h],value:r&&r[h],key:"".concat(i,".").concat(h),fnName:o,className:a})});var d=n.arrayItem;na(d)&&ml(r)&&r.forEach(function(h,_){Yv.call(t,{rule:d,value:h,key:"".concat(i,"[").concat(_,"]"),fnName:o,className:a})}),In(n.validate)&&n.validate.call(this,r,i,o,a,this)}Me({target:"Number",stat:!0},{isNaN:function(e){return e!=e}});var t7=Me,n7=oe,r7=yh.f;t7({target:"Object",stat:!0,forced:n7(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:r7});var _I,Tc,i7=KT;function xc(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{retries:5,timeout:2e3};return function(t,n,r){var i=oc({retryFunction:r.value,settings:e,onError:e.onError,onRetrying:e.onRetrying,onRetryFailed:e.onRetryFailed});return r.value=function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];return i.apply(this,a)},r}}Me({target:"Array",stat:!0,forced:!Tu(function(e){Array.from(e)})},{from:i7});var yI,SI,bI,ar,pa=5e3,a7={msg_user_info:0,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},$v=ye(function e(t){J(this,e),this.str_identifier=String(t.userId),this.uint64_tinyid=Number(t.tinyId),this.uint32_role=t.role}),o7=(_I=xc({timeout:500,retries:3}),Tc=function(){function e(i){var o=this;J(this,e),this.frameWorkType_=i.frameWorkType||30,this.component_=i.component||0,this.client_=i.client,this.keyPrefix_="key_point",this.storageKey_="".concat(this.keyPrefix_,"_").concat(this.client_.getUserId()),this.log_=ke.createLogger({id:"kpm|"+this.client_.getUserId(),userId:this.client_.getUserId(),sdkAppId:this.client_.getSDKAppId()}),Object.getOwnPropertyNames(this.__proto__).forEach(function(a){a.startsWith("handle")&&In(o[a])&&(o[a]=function(s){var c=s.fn,u=s.context;return N(p().mark(function d(){var h,_,y,b=arguments;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:for(f.prev=0,h=b.length,_=new Array(h),y=0;y<h;y++)_[y]=b[y];return f.next=4,c.apply(u||this,_);case 4:return f.abrupt("return",f.sent);case 7:f.prev=7,f.t0=f.catch(0),ke.error("".concat(c.name,"() error observed ")+f.t0);case 10:case"end":return f.stop()}},d,this,[[0,7]])}))}({fn:o[a],context:o}))}),this.initData(),this.installEvents(),this.intervalId_=yt.run(so,this.setStorage.bind(this),{delay:2e4})}var t,n,r;return ye(e,[{key:"initData",value:function(){this.firstPublishedUserList_=[],this.networkQuality_={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this.basicInfo={string_sdk_version:Vi,uint32_os_type:15,string_device_name:"",string_http_user_agent:navigator.userAgent,string_os_version:"",string_domain:location.host,uint32_avg_rtt:0,uint32_avg_up_loss:0,uint32_scene:this.client_.getMode()==="live"?1:0,uint32_joining_duration:0,uint32_networkType:af[Of()],uint32_framework:this.frameWorkType_,uint32_component:this.component_},this.pathJoinRoom_={uint64_start_time:0,uint64_init_audio_start_time:0,uint64_init_audio_end_time:0,uint64_init_camera_start_time:0,uint64_init_camera_end_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_init_audio_ret:0,int32_init_camera_ret: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.pathMainVideoMap_=new Map,this.pathMainAudioMap_=new Map,this.pathAuxiliaryMap_=new Map,this.localStreamStats_={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.remoteStreamStatsMap_=new Map}},{key:"installEvents",value:function(){q.on(gl,this.handleJoinStart,this),q.on(Jf,this.handleWSStart,this),q.on(_l,this.handleWSEnd,this),q.on(Bf,this.handleJoinSendCMD,this),q.on(jf,this.handleJoinReceivedCMDResponce,this),q.on(lo,this.handleJoinSuccess,this),q.on(ho,this.handleJoinFailed,this),q.on(zf,this.handleReceivedPublishUserList,this),q.on(sm,this.handleConnectionStateChanged,this),q.on(Ff,this.handleLeaveStart,this),q.on(po,this.handleLeaveSuccess,this),q.on(Gf,this.handleLeaveSendCMD,this),q.on(cm,this.handleSendSubscribeCMD,this),q.on(rc,this.handleVideoPlaying,this),q.on(Xf,this.handleAudioPlaying,this),q.on(um,this.handleNetworkQuality,this),q.on(Hf,this.handleHeartbeatStats,this),q.on(yl,this.handleRemoteStreamAdded,this),q.on(Qf,this.handleRemoteStreamSubscribeStart,this),q.on(Ur,this.handleRemoteStreamSubscribed,this),q.on(ia,this.handleRemoteStreamRemoved,this),q.on(nm,this.handleVideoLoadedData,this),q.on(tm,this.handlePlayStream,this),q.on(Wf,this.handlePublishStart,this),q.on(Yf,this.handleLocalStreamInitStart,this),q.on($f,this.handleLocalStreamInitEnd,this),q.on(Zf,this.handleLocalStreamInitFailed,this)}},{key:"uninstallEvents",value:function(){q.off(gl,this.handleJoinStart,this),q.off(Jf,this.handleWSStart,this),q.off(_l,this.handleWSEnd,this),q.off(Bf,this.handleJoinSendCMD,this),q.off(jf,this.handleJoinReceivedCMDResponce,this),q.off(zf,this.handleReceivedPublishUserList,this),q.off(sm,this.handleConnectionStateChanged,this),q.off(Ff,this.handleLeaveStart,this),q.off(po,this.handleLeaveSuccess,this),q.off(lo,this.handleJoinSuccess,this),q.off(ho,this.handleJoinFailed,this),q.off(Gf,this.handleLeaveSendCMD,this),q.off(cm,this.handleSendSubscribeCMD,this),q.off(rc,this.handleVideoPlaying,this),q.off(Xf,this.handleAudioPlaying,this),q.off(um,this.handleNetworkQuality,this),q.off(Hf,this.handleHeartbeatStats,this),q.off(yl,this.handleRemoteStreamAdded,this),q.off(Qf,this.handleRemoteStreamSubscribeStart,this),q.off(Ur,this.handleRemoteStreamSubscribed,this),q.off(ia,this.handleRemoteStreamRemoved,this),q.off(nm,this.handleVideoLoadedData,this),q.off(tm,this.handlePlayStream,this),q.off(Wf,this.handlePublishStart,this),q.off(Yf,this.handleLocalStreamInitStart,this),q.off($f,this.handleLocalStreamInitEnd,this),q.off(Zf,this.handleLocalStreamInitFailed,this)}},{key:"destroy",value:function(){this.uninstallEvents(),yt.clearTask(this.intervalId_),this.client_=null}},{key:"handleJoinStart",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_start_time===0&&(this.pathJoinRoom_.uint64_start_time=Date.now(),this.checkStorage())}},{key:"handleWSStart",value:function(i){var o=i.client;this.hitTest(o)&&this.pathJoinRoom_.uint64_send_request_acc_ip_cmd_start_time===0&&(this.pathJoinRoom_.uint64_send_request_acc_ip_cmd_start_time=Date.now())}},{key:"handleWSEnd",value:function(i){var o=i.client,a=i.error;this.hitTest(o)&&this.pathJoinRoom_.uint64_send_request_acc_ip_cmd_end_time===0&&(this.pathJoinRoom_.uint64_send_request_acc_ip_cmd_end_time=Date.now(),a&&(this.pathJoinRoom_.int32_send_request_acc_ip_cmd_ret=a instanceof ee?Number(a.getExtraCode()||a.getCode()):Y.UNKNOWN,this.pathJoinRoom_.int32_end_ret=2))}},{key:"handleJoinSendCMD",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_send_request_enter_room_cmd_start_time===0&&(this.pathJoinRoom_.uint64_send_request_enter_room_cmd_start_time=Date.now())}},{key:"handleJoinReceivedCMDResponce",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_send_request_enter_room_cmd_end_time===0&&(this.pathJoinRoom_.uint64_send_request_enter_room_cmd_end_time=Date.now(),this.pathJoinRoom_.int32_send_request_enter_room_cmd_ret=i.code,i.code!==0&&(this.pathJoinRoom_.int32_end_ret=3))}},{key:"handleJoinSuccess",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_end_time===0&&(this.pathJoinRoom_.uint64_end_time=Date.now(),this.pathJoinRoom_.int32_end_ret=0)}},{key:"handleJoinFailed",value:function(i){var o=i.client;this.hitTest(o)&&(this.pathJoinRoom_.uint64_end_time=Date.now(),this.pathJoinRoom_.int32_end_ret===0&&(this.pathJoinRoom_.int32_end_ret=3),this.prepareReport(),this.report())}},{key:"handleReceivedPublishUserList",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_recv_userlist_time===0&&(this.pathJoinRoom_.uint64_recv_userlist_time=Date.now(),this.firstPublishedUserList_=i.data.data&&i.data.data.userList||[])}},{key:"handleConnectionStateChanged",value:function(i){var o=i.client,a=i.state,s=i.connection;if(this.hitTest(o)&&a===mn){this.client_.getUplinkConnection()===s&&this.pathJoinRoom_.uint64_send_first_video_frame_time===0&&this.localStreamStats_.publishStartTime>this.pathJoinRoom_.uint64_end_time&&this.localStreamStats_.publishStartTime-this.pathJoinRoom_.uint64_end_time<=100&&(this.pathJoinRoom_.uint64_send_first_video_frame_time=Date.now());var c=this.pathMainVideoMap_.get("".concat(s.getUserId(),"_").concat(_t));c&&c.statsToReport.uint64_pc_connected_time===0&&(c.statsToReport.uint64_pc_connected_time=Date.now())}}},{key:"handleLeaveStart",value:function(i){this.hitTest(i.client)&&(this.pathLeaveRoom_.uint64_start_time=Date.now())}},{key:"handleLeaveSuccess",value:function(i){this.hitTest(i.client)&&this.pathLeaveRoom_.uint64_end_time===0&&(this.pathLeaveRoom_.uint64_end_time=Date.now(),this.pathJoinRoom_.uint64_end_time!==0?this.basicInfo.uint32_joining_duration=this.pathLeaveRoom_.uint64_end_time-this.pathJoinRoom_.uint64_end_time:this.log_.warn("pathJoinRoom endTime is 0"),this.report())}},{key:"handleLeaveSendCMD",value:function(i){this.hitTest(i.client)&&(this.pathLeaveRoom_.uint64_send_request_exit_room_cmd_start_time=Date.now(),this.pathLeaveRoom_.uint64_send_request_exit_room_cmd_end_time=Date.now())}},{key:"handleRemoteStreamAdded",value:function(i){var o=i.client,a=i.stream;if(this.hitTest(o)){var s=a.getUserId(),c=a.getType(),u="".concat(s,"_").concat(c),d=this.remoteStreamStatsMap_.get(u);if(d)d.stream=a;else{var h={userId:s,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:H({},a7),stream:a};h.statsToReport.msg_user_info=new $v({userId:s,tinyId:a.getTinyId(),role:ao}),h.statsToReport.uint32_stream_type=c===_t?2:7,this.remoteStreamStatsMap_.set(u,h)}}}},{key:"handleRemoteStreamSubscribeStart",value:function(i){var o=i.client,a=i.stream;if(this.hitTest(o)){var s=a.getUserId(),c=a.getType(),u="".concat(s,"_").concat(c),d=this.remoteStreamStatsMap_.get(u);d&&d.subscribeStartTime===0&&(d.subscribeStartTime=Date.now())}}},{key:"handleSendSubscribeCMD",value:function(i){if(this.hitTest(i.client)){var o=new $v(i),a=Date.now(),s="".concat(i.userId,"_").concat(_t);i.trackState.video&&i.subscribeState.video&&!this.pathMainVideoMap_.has(s)&&this.pathMainVideoMap_.set(s,{statsToReport:{msg_user_info:o,uint64_start_enter_time:this.pathJoinRoom_.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0,uint64_pc_connected_time:0},userId:i.userId,sendSubscribeCMDTime:a}),i.trackState.audio&&i.subscribeState.audio&&!this.pathMainAudioMap_.has(s)&&this.pathMainAudioMap_.set(s,{statsToReport:{msg_user_info:o,uint64_start_enter_time:this.pathJoinRoom_.uint64_start_time,uint64_play_first_frame_time:0},userId:i.userId,sendSubscribeCMDTime:a});var c="".concat(i.userId,"_").concat(Dt);i.trackState.auxiliary&&i.subscribeState.auxiliary&&!this.pathAuxiliaryMap_.has(c)&&this.pathAuxiliaryMap_.set(c,{sendSubscribeCMDTime:a})}}},{key:"handleRemoteStreamSubscribed",value:function(i){var o=i.client,a=i.stream;if(this.hitTest(o)){var s=a.getUserId(),c=a.getType(),u="".concat(s,"_").concat(c),d=this.remoteStreamStatsMap_.get(u);d&&d.subscribedTime===0&&(d.subscribedTime=Date.now(),d.stream=a)}}},{key:"handleRemoteStreamRemoved",value:function(i){var o=i.client,a=i.stream;if(this.hitTest(o)){var s=a.getUserId(),c=a.getType(),u=this.remoteStreamStatsMap_.get("".concat(s,"_").concat(c));u&&(u.stream=null)}}},{key:"handlePlayStream",value:function(i){var o=i.stream;if(o.isRemote()&&o.getConnection()&&this.hitTest(o.getConnection().getClient())){var a=o.getConnection().getUserId(),s="".concat(a,"_").concat(o.getType());if(this.remoteStreamStatsMap_.has(s)){var c=this.remoteStreamStatsMap_.get(s);c.playStreamTime===0&&(c.playStreamTime=Date.now())}}}},{key:"handleVideoLoadedData",value:function(i){var o=i.stream;if(o.isRemote()&&o.getConnection()&&this.hitTest(o.getConnection().getClient())){var a=o.getConnection().getUserId(),s="".concat(a,"_").concat(o.getType());if(this.pathMainVideoMap_.has(s)){var c=this.pathMainVideoMap_.get(s);c.statsToReport.uint64_combine_first_frame_time===0&&(c.statsToReport.uint64_combine_first_frame_time=Date.now())}}}},{key:"handleVideoPlaying",value:function(i){var o=i.stream;if(o.isRemote()&&o.getConnection()&&this.hitTest(o.getConnection().getClient())){var a=o.getConnection().getUserId(),s="".concat(a,"_").concat(o.getType()),c=Date.now();if(this.pathMainVideoMap_.has(s)){var u=this.pathMainVideoMap_.get(s);if(u.statsToReport.uint64_render_first_frame_time===0&&(u.statsToReport.uint64_render_first_frame_time=c),this.remoteStreamStatsMap_.has(s)){var d=this.remoteStreamStatsMap_.get(s),h=d.statsToReport,_=d.playStreamTime,y=d.subscribedTime;h.uint32_video_render_first===0&&_-y<=100&&(h.uint32_video_render_first=c-u.sendSubscribeCMDTime)}}if(o.getType()===Dt&&this.pathAuxiliaryMap_.has(s)&&this.remoteStreamStatsMap_.has(s)){var b=this.remoteStreamStatsMap_.get(s),f=b.statsToReport,g=b.playStreamTime,I=b.subscribedTime;f.uint32_video_render_first===0&&g-I<=100&&(f.uint32_video_render_first=c-this.pathAuxiliaryMap_.get(s).sendSubscribeCMDTime)}}}},{key:"handleAudioPlaying",value:function(i){if(i.stream.isRemote()&&i.stream.getConnection()&&this.hitTest(i.stream.getConnection().getClient())){var o=i.stream.getConnection().getUserId(),a="".concat(o,"_").concat(i.stream.getType());if(this.pathMainAudioMap_.has(a)){var s=this.pathMainAudioMap_.get(a);s.statsToReport.uint64_play_first_frame_time===0&&(s.statsToReport.uint64_play_first_frame_time=Date.now())}}}},{key:"handleNetworkQuality",value:function(i){var o=this;this.hitTest(i.client)&&(this.networkQuality_.totalUplinkLoss+=i.uplinkLoss,this.networkQuality_.totalUplinkRTT+=i.uplinkRTT,this.networkQuality_.count++,i.downlinkLossAndRTTMap.forEach(function(a){var s=a.rtt,c=a.loss,u=a.userId,d=o.networkQuality_.totalDownlinkRTTAndLossMap.get(u);d?(d.totalRTT+=s,d.totalLoss+=c,d.count++):o.networkQuality_.totalDownlinkRTTAndLossMap.set(u,{totalRTT:s,totalLoss:c,count:1})}))}},{key:"handleHeartbeatStats",value:function(i){var o=this;if(this.hitTest(i.client)){var a=i.stats,s=a.msg_up_stream_info,c=a.msg_down_stream_info;if(s.msg_video_status[0]){var u=s.msg_video_status[0],d=u.uint32_video_codec_bitrate,h=u.uint32_video_enc_fps,_=u.uint32_video_width,y=u.uint32_video_height;this.localStreamStats_.totalVideoBitrate+=d,this.localStreamStats_.totalVideoFPS+=h,this.localStreamStats_.totalVideoWidth+=_,this.localStreamStats_.totalVideoHeight+=y,this.localStreamStats_.videoCount++}if(s.msg_audio_status){var b=s.msg_audio_status.audioLevel;Math.floor(100*b)>0&&(this.localStreamStats_.totalAudioLevel+=b,this.localStreamStats_.audioLevelCount++)}c.forEach(function(f){var g=f.msg_user_info,I=f.msg_audio_status,w=f.msg_video_status,j=g.str_identifier;if(w.forEach(function(L){var k=L.uint32_video_stream_type===2,P=L.uint32_video_stream_type===7,A="".concat(j,"_").concat(k?_t:Dt);if(o.remoteStreamStatsMap_.has(A)){var U,T,v=o.remoteStreamStatsMap_.get(A);(k&&(U=v.stream)!==null&&U!==void 0&&U.isMainVideoSubscribed||P&&(T=v.stream)!==null&&T!==void 0&&T.isAuxVideoSubscribed)&&(v.totalVideoFPS+=L.uint32_video_receive_fps,v.totalVideoBitrate+=L.uint32_video_codec_bitrate,v.videoCount++,v.statsToReport.uint32_video_width===0&&(v.statsToReport.uint32_video_width=L.uint32_video_width),v.statsToReport.uint32_video_height===0&&(v.statsToReport.uint32_video_height=L.uint32_video_height))}}),I){var z="".concat(j,"_").concat(_t);if(o.remoteStreamStatsMap_.has(z)){var $,ue=o.remoteStreamStatsMap_.get(z);($=ue.stream)!==null&&$!==void 0&&$.isMainAudioSubscribed&&(ue.totalAudioBitrate+=I.uint32_audio_codec_bitrate,ue.audioCount++,Math.floor(100*I.audioLevel)>0&&(ue.totalAudioLevel+=I.audioLevel,ue.audioLevelCount++))}}})}}},{key:"handlePublishStart",value:function(i){var o=i.client;this.hitTest(o)&&this.localStreamStats_.publishStartTime===0&&(this.localStreamStats_.publishStartTime=Date.now())}},{key:"handleLocalStreamInitStart",value:function(i){var o=i.audio,a=i.video;o&&this.pathJoinRoom_.uint64_init_audio_start_time===0&&(this.pathJoinRoom_.uint64_init_audio_start_time=Date.now()),a&&this.pathJoinRoom_.uint64_init_camera_start_time===0&&(this.pathJoinRoom_.uint64_init_camera_start_time=Date.now())}},{key:"handleLocalStreamInitEnd",value:function(i){var o=i.audio,a=i.video;o&&this.pathJoinRoom_.uint64_init_audio_end_time===0&&(this.pathJoinRoom_.uint64_init_audio_end_time=Date.now()),a&&this.pathJoinRoom_.uint64_init_camera_end_time===0&&(this.pathJoinRoom_.uint64_init_camera_end_time=Date.now())}},{key:"handleLocalStreamInitFailed",value:function(i){var o=i.audio,a=i.video,s=i.error,c=s instanceof ee?s.getExtraCode()||s.getCode():{NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5}[s.name]||Y.UNKNOWN;o&&this.pathJoinRoom_.uint64_init_audio_end_time===0&&(this.pathJoinRoom_.int32_init_audio_ret=c,this.pathJoinRoom_.uint64_init_audio_end_time=Date.now()),a&&this.pathJoinRoom_.uint64_init_camera_end_time===0&&(this.pathJoinRoom_.int32_init_camera_ret=c,this.pathJoinRoom_.uint64_init_camera_end_time=Date.now())}},{key:"hasVideoFlag",value:function(i){return this.firstPublishedUserList_.findIndex(function(o){return o.userId===i&&1&o.flag})>=0}},{key:"hasAudioFlag",value:function(i){return this.firstPublishedUserList_.findIndex(function(o){return o.userId===i&&8&o.flag})>=0}},{key:"hasAuxFlag",value:function(i){return this.firstPublishedUserList_.findIndex(function(o){return o.userId===i&&4&o.flag})>=0}},{key:"hitTest",value:function(i){return i===this.client_}},{key:"checkStorage",value:(r=N(p().mark(function i(){var o;return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(a.prev=0,!(o=_o.getItem(this.storageKey_))){a.next=6;break}return a.next=5,this.upload(o);case 5:_o.deleteItem(this.storageKey_);case 6:a.next=11;break;case 8:a.prev=8,a.t0=a.catch(0),this.log_.warn(a.t0);case 11:case"end":return a.stop()}},i,this,[[0,8]])})),function(){return r.apply(this,arguments)})},{key:"setStorage",value:function(){this.prepareReport();var i=this.getReportData();i.msg_path_enter_room.uint64_start_time!==0&&_o.setItem(this.storageKey_,i)}},{key:"prepareReport",value:function(){var i=this;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.localStreamStats_.videoCount>0){this.localStreamStats_.statsToReport.uint32_video_big_capture_fps=Math.floor(this.localStreamStats_.totalVideoFPS/this.localStreamStats_.videoCount),this.localStreamStats_.statsToReport.uint32_video_big_bitrate=Math.floor(this.localStreamStats_.totalVideoBitrate/this.localStreamStats_.videoCount);var o=Math.floor(this.localStreamStats_.totalVideoWidth/this.localStreamStats_.videoCount),a=Math.floor(this.localStreamStats_.totalVideoHeight/this.localStreamStats_.videoCount);this.localStreamStats_.statsToReport.uint32_video_big_resolution=o<<16|a}this.localStreamStats_.audioLevelCount>0&&(this.localStreamStats_.statsToReport.uint32_audio_capture_db=Math.floor(this.localStreamStats_.totalAudioLevel/this.localStreamStats_.audioLevelCount*100)),this.remoteStreamStatsMap_.forEach(function(s,c){var u=s.userId;if(i.networkQuality_.totalDownlinkRTTAndLossMap.has(u)){var d=i.networkQuality_.totalDownlinkRTTAndLossMap.get(u),h=d.totalLoss,_=d.count;s.statsToReport.uint32_avg_down_loss=Math.floor(h/_)}s.videoCount>0&&(s.statsToReport.uint32_video_avg_fps=Math.floor(s.totalVideoFPS/s.videoCount),s.statsToReport.uint32_video_avg_bitrate=Math.floor(s.totalVideoBitrate/s.videoCount)),s.audioCount>0&&(s.statsToReport.uint32_audio_recv_bitrate=s.statsToReport.uint32_audio_bitrate=Math.floor(s.totalAudioBitrate/s.audioCount)),s.audioLevelCount>0&&(s.statsToReport.uint32_audio_play_db=Math.floor(s.totalAudioLevel/s.audioLevelCount*100));var y=i.client_.getCallDurationCalculator();y&&(s.statsToReport.uint32_audio_play_time=y.getDuration(c,Ce),s.statsToReport.uint32_video_play_time=y.getDuration(c,xe)),s.statsToReport.uint32_video_render_first=Math.min(s.statsToReport.uint32_video_render_first,pa);var b=i.client_.getBadCaseDetector();if(b){var f=b.getDataFreezeDuration(c),g=f.dataFreeze,I=f.count,w=b.getRenderFreezeDuration(c).renderFreeze;s.statsToReport.uint32_video_block_count=I,s.statsToReport.uint32_video_block_time=Math.min(g,s.statsToReport.uint32_video_play_time),s.statsToReport.uint32_video_external_block_time=Math.min(w,s.statsToReport.uint32_video_play_time),b.isBlackStream(c)&&s.statsToReport.uint32_video_avg_fps===0?s.statsToReport.uint32_video_black_screen_subjective=1:s.statsToReport.uint32_video_black_screen_subjective=0}(s.subscribeStartTime===0||s.subscribeStartTime-s.streamAddedTime>100||s.playStreamTime===0)&&(i.pathMainAudioMap_.delete(c),i.pathMainVideoMap_.delete(c),s.statsToReport.uint32_video_render_first=0)}),this.pathMainAudioMap_.forEach(function(s,c){i.hasAudioFlag(s.userId)?s.statsToReport.uint64_play_first_frame_time-s.statsToReport.uint64_start_enter_time>pa&&(s.statsToReport.uint64_play_first_frame_time=s.statsToReport.uint64_start_enter_time+pa):i.pathMainAudioMap_.delete(c)}),this.pathMainVideoMap_.forEach(function(s,c){i.hasVideoFlag(s.userId)?s.statsToReport.uint64_render_first_frame_time-s.statsToReport.uint64_start_enter_time>pa&&(s.statsToReport.uint64_render_first_frame_time=s.statsToReport.uint64_start_enter_time+pa):i.pathMainVideoMap_.delete(c)}),this.pathJoinRoom_.uint64_end_time-this.pathJoinRoom_.uint64_start_time>pa&&(this.pathJoinRoom_.uint64_end_time=this.pathJoinRoom_.uint64_start_time+pa)}},{key:"getReportData",value:function(){var i=this.client_.getSignalInfo();return{uint32_sdk_app_id:Number(this.client_.getSDKAppId()),msg_user_info:new $v({userId:this.client_.getUserId(),tinyId:this.client_.getTinyId(),role:this.client_.getRole()===Sr?ao:Qp}),msg_basic_info:this.basicInfo,uint32_acc_ip:Nf(i.relayIp),uint32_client_ip:Nf(i.clientIp,"small"),uint32_acc_port:0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Math.pow(2,31)),msg_path_enter_room:this.pathJoinRoom_,msg_path_exit_room:this.pathLeaveRoom_,msg_path_recv_video:be(this.pathMainVideoMap_.values()).map(function(o){return o.statsToReport}),msg_quality_statistics:be(this.remoteStreamStatsMap_.values()).map(function(o){return o.statsToReport}),str_room_name:String(this.client_.getRoomId()),msg_path_recv_audio:be(this.pathMainAudioMap_.values()).map(function(o){return o.statsToReport}),uint32_info_client_ip:Nf(i.clientIp,"small"),error_code:[],msg_local_statistics:this.localStreamStats_.statsToReport,msg_function_state:Ii.getStateArray()}}},{key:"report",value:(n=N(p().mark(function i(){var o;return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,o=this.getReportData(),a.next=4,this.upload(o);case 4:_o.deleteItem(this.storageKey_),Ii.clearStateArray(),this.initData(),a.next=12;break;case 9:a.prev=9,a.t0=a.catch(0),this.log_.warn(a.t0);case 12:case"end":return a.stop()}},i,this,[[0,9]])})),function(){return n.apply(this,arguments)})},{key:"upload",value:(t=N(p().mark(function i(o){var a,s,c;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(!(Zi||o.msg_path_enter_room.uint64_start_time===0||[cf,Qb,Yb].findIndex(function(d){return d===location.host})>=0)){u.next=2;break}return u.abrupt("return");case 2:return a=Number(this.client_.getSDKAppId()),s=pl(a,zN),u.next=6,vl({url:s,body:JSON.stringify(o)});case 6:if((c=u.sent).data==="ok"){u.next=9;break}throw"key point upload failed: ".concat(c.data);case 9:case"end":return u.stop()}},i,this)})),function(i){return t.apply(this,arguments)})}]),e}(),W(Tc.prototype,"upload",[_I],Object.getOwnPropertyDescriptor(Tc.prototype,"upload"),Tc.prototype),Tc),Ii=function(){function e(){J(this,e)}return ye(e,null,[{key:"handleFunctionState",value:function(t){var n,r,i,o,a=t.className,s=t.fnName,c=t.params;if(!(Zi||[cf,Qb,Yb].findIndex(function(_){return _===location.host})>=0)){var u,d=[];if(a)switch(s){case"createClient":(n=c[0])!==null&&n!==void 0&&n.mode&&d.push("".concat(a,".").concat(s,".").concat(c[0].mode)),(r=c[0])!==null&&r!==void 0&&r.useStringRoomId?d.push("".concat(a,".").concat(s,".stringRoomId")):d.push("".concat(a,".").concat(s,".intRoomId")),(i=c[0])!==null&&i!==void 0&&i.autoSubscribe?d.push("".concat(a,".").concat(s,".autoSubscribe")):d.push("".concat(a,".").concat(s,".manualSubscribe"));break;case"publish":(o=c[1])!==null&&o!==void 0&&o.isAuxiliary?d.push("".concat(a,".").concat(s,".isAuxiliary")):d.push("".concat(a,".").concat(s));break;case"setAudioProfile":case"setVideoProfile":case"setScreenProfile":case"setVideoContentHint":Ft(c[0])&&d.push("".concat(a,".").concat(s,".").concat(c[0]));break;default:d.push("".concat(a,".").concat(s))}else d.push(s);for(var h=0;h<d.length;h++){if(!(u=l3[d[h]]))return;this.stateMap.has(u)?this.stateMap.get(u).int32_call_times+=1:this.stateMap.set(u,{int32_id:u,int32_call_times:1})}}}},{key:"getStateArray",value:function(){return Array.from(this.stateMap.values())}},{key:"clearStateArray",value:function(){this.stateMap.clear()}}]),e}();function kt(e){return function(t,n,r){var i=r.value;return r.value=function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];try{e||(e=this.name_),Ii.handleFunctionState({className:e,fnName:n,params:a}),e=void 0}catch(c){this.log_.info(c)}return i.apply(this,a)},r}}ut(Ii,"stateMap",new Map);var kI=(yI=wn.apply(void 0,be(Yt.STREAM.play)),SI=kt(),bI=kt(),ar=function(){function e(a){J(this,e),this.name_=s3,this.userId_=a.userId,this.isRemote_=a.isRemote,this.type_=a.type,this.log_=ke.createLogger({id:"s".concat(a.seq?a.seq:"","|").concat(this.userId_),userId:ve(a.client)?void 0:a.client.getUserId(),sdkAppId:ve(a.client)?void 0:a.client.getSDKAppId(),isLocal:!this.isRemote_,type:this.isRemote_?this.type_:""}),this.client_=null,ve(a.client)||(this.client_=a.client),this.mediaStream_=null,this.div_=null,this.isPlaying_=!1,this.connection_=null,this.audioPlayer_=null,this.videoPlayer_=null,this.muted_=!1,this.objectFit_="cover",this.mirror_=!1,this.id_="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(s){var c=16*Math.random()|0;return(s=="x"?c:3&c|8).toString(16)}),this.audioOutputDeviceId_=0,this.audioVolume_=1,this.emitter_=jk(new _i,this.name_),this.connectionState_=sn,this.installEvents(),ve(a.mirror)||this.log_.warn('TRTC.createStream "mirror" option was deprecated since v4.12.1\uFF0Cplease use localStream.play to set up preview mirror. refer to '.concat(oo,"/en/LocalStream.html#play. TRTC.createStream \u63A5\u53E3\u7684 mirror \u9009\u9879\u4ECE v4.12.1 \u5F00\u59CB\u88AB\u5E9F\u5F03\uFF0C\u8BF7\u4F7F\u7528 localStream.play \u8BBE\u7F6E\u672C\u5730\u6D41\u9884\u89C8\u955C\u50CF\uFF0C\u53C2\u8003\u6587\u6863\uFF1A").concat(oo,"/zh-cn/LocalStream.html#play\u3002"))}var t,n,r,i,o;return ye(e,[{key:"installEvents",value:function(){q.on(ac,this.restartPlayback,this)}},{key:"uninstallEvents",value:function(){q.off(ac,this.restartPlayback,this)}},{key:"getType",value:function(){return this.type_}},{key:"getLogger",value:function(){return this.log_}},{key:"isSubscribed",get:function(){return this.type_===_t&&this.connection_.isMainStreamSubscribed||this.type_===Dt&&this.connection_.isAuxStreamSubscribed}},{key:"isMainVideoSubscribed",get:function(){var a=this.getSubscribedState();return this.type_===_t&&a&&a.video}},{key:"isMainAudioSubscribed",get:function(){var a=this.getSubscribedState();return this.type_===_t&&a&&a.audio}},{key:"isAuxVideoSubscribed",get:function(){var a=this.getSubscribedState();return this.type_===Dt&&a&&a.auxiliary}},{key:"isSmallVideoSubscribed",get:function(){var a=this.getSubscribedState();return this.type_===_t&&a&&a.smallVideo}},{key:"emitConnectionStateChanged",value:function(a){a.state!==this.connectionState_&&(a.state!==sn&&this.isRemote_&&!this.isSubscribed||(this.emitter_.emit(z6,a),this.connectionState_=a.state))}},{key:"setConnection",value:function(a){this.connection_!==a&&(a instanceof Qv?(this.connection_!==null&&this.connection_.off(tt.CONNECTION_STATE_CHANGED,this.emitConnectionStateChanged,this),a.on(tt.CONNECTION_STATE_CHANGED,this.emitConnectionStateChanged,this)):a===null&&this.connection_.off(tt.CONNECTION_STATE_CHANGED,this.emitConnectionStateChanged,this),this.connection_=a)}},{key:"getConnection",value:function(){return this.connection_}},{key:"play",value:(o=N(p().mark(function a(s,c){var u,d,h;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(this.log_.info("stream ".concat(this.isPlaying_?"update":"start to"," play with elementId: ").concat(s," and options: ").concat(JSON.stringify(c),".")),!this.isPlaying_){_.next=9;break}return c&&!ve(c.muted)&&(this.muted_=c.muted),c&&!ve(c.objectFit)&&(this.objectFit_=c.objectFit),this.isScreenShare()?this.mirror_=!1:c&&!ve(c.mirror)&&(this.mirror_=c.mirror),this.audioPlayer_&&this.audioPlayer_.setMuted(this.muted_),this.videoPlayer_&&(this.videoPlayer_.setObjectFit(this.objectFit_),this.videoPlayer_.setMirror(this.mirror_)),this.elementId_!==s&&(u=s,Ft(s)&&(u=document.getElementById(s)),u.appendChild(this.div_),this.elementId_=s),_.abrupt("return");case 9:return this.isPlaying_=!0,(d=document.createElement("div")).setAttribute("id","player_".concat(this.id_)),d.setAttribute("style","width: 100%; height: 100%; position: relative; background-color: black; overflow: hidden;"),h=s,Ft(s)&&(h=document.getElementById(s)),h.appendChild(d),this.elementId_=s,this.div_=d,this.isRemote_||(this.muted_=!0),c&&!ve(c.muted)&&(this.muted_=c.muted),this.isScreenShare()&&(this.objectFit_="contain"),c&&!ve(c.objectFit)&&(this.objectFit_=c.objectFit),this.isScreenShare()?this.mirror_=!1:(this.isRemote_||(this.mirror_=!0),c&&!ve(c.mirror)&&(this.mirror_=c.mirror)),q.emit(tm,{stream:this}),_.next=26,Promise.all([this.playAudio(),this.playVideo()]);case 26:q.emit(CV,{stream:this});case 27:case"end":return _.stop()}},a,this)})),function(a,s){return o.apply(this,arguments)})},{key:"playAudio",value:(i=N(p().mark(function a(){var s,c,u=this;return p().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(this.hasAudio()&&(!this.isRemote_||this.isMainAudioSubscribed)){d.next=2;break}return d.abrupt("return");case 2:if(s=this.getAudioTrack(),this.audioPlayer_||!s){d.next=17;break}return this.log_.info("create AudioPlayer and play"),this.audioPlayer_=new W5({stream:this,track:s,gainedTrack:(c=this.gain_)===null||c===void 0?void 0:c.audioTrack,div:this.div_,muted:this.muted_,outputDeviceId:this.audioOutputDeviceId_,volume:this.audioVolume_}),this.audioPlayer_.on(gn,function(h){var _={type:Ce,state:h.state,reason:h.reason};q.emit(Wk,H({stream:u},_)),u.emitter_.emit(BT,_)}),d.prev=7,d.next=10,this.audioPlayer_.play();case 10:d.next=17;break;case 12:throw d.prev=12,d.t0=d.catch(7),this.client_&&this.client_.getEnableAutoPlayDialog()&&new R1,this.emitter_.emit(Nm,d.t0),d.t0;case 17:case"end":return d.stop()}},a,this,[[7,12]])})),function(){return i.apply(this,arguments)})},{key:"playVideo",value:(r=N(p().mark(function a(){var s,c=this;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.hasVideo()&&(!this.isRemote_||this.isMainVideoSubscribed||this.isAuxVideoSubscribed||this.isSmallVideoSubscribed)){u.next=2;break}return u.abrupt("return");case 2:if(s=this.getVideoTrack(),this.videoPlayer_||!s){u.next=18;break}return q.emit(rm,{stream:this}),this.log_.info("create VideoPlayer and play"),this.videoPlayer_=new A1({stream:this,track:s,div:this.div_,muted:this.muted_,objectFit:this.objectFit_,mirror:this.mirror_}),this.videoPlayer_.on(gn,function(d){var h={type:xe,state:d.state,reason:d.reason};q.emit(Wk,H({stream:c},h)),c.emitter_.emit(BT,h)}),u.prev=8,u.next=11,this.videoPlayer_.play();case 11:u.next=18;break;case 13:throw u.prev=13,u.t0=u.catch(8),this.client_&&this.client_.getEnableAutoPlayDialog()&&new R1,this.emitter_.emit(Nm,u.t0),u.t0;case 18:case"end":return u.stop()}},a,this,[[8,13]])})),function(){return r.apply(this,arguments)})},{key:"stopAudio",value:function(){this.audioPlayer_&&(this.log_.info("stop AudioPlayer"),this.audioPlayer_.stop(),this.audioPlayer_=null)}},{key:"stopVideo",value:function(){this.videoPlayer_&&(this.log_.info("stop VideoPlayer"),this.videoPlayer_.stop(),this.videoPlayer_=null)}},{key:"restartPlayback",value:function(){this.audioPlayer_&&!this.audioPlayer_.isPlaying&&this.restartAudio(),this.videoPlayer_&&!this.videoPlayer_.isPlaying&&this.restartVideo()}},{key:"restartAudio",value:function(){this.isPlaying_&&(this.stopAudio(),this.playAudio().catch(function(a){}))}},{key:"restartVideo",value:function(){this.isPlaying_&&(this.stopVideo(),this.playVideo().catch(function(a){}))}},{key:"stop",value:function(){this.isPlaying_&&(this.isPlaying_=!1,this.stopAudio(),this.stopVideo(),this.div_.parentNode.removeChild(this.div_))}},{key:"resume",value:(n=N(p().mark(function a(){return p().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(this.isPlaying_){s.next=2;break}return s.abrupt("return");case 2:if(this.log_.info("resume"),!this.audioPlayer_){s.next=6;break}return s.next=6,this.audioPlayer_.resume();case 6:if(!this.videoPlayer_){s.next=9;break}return s.next=9,this.videoPlayer_.resume();case 9:case"end":return s.stop()}},a,this)})),function(){return n.apply(this,arguments)})},{key:"close",value:function(){this.log_.info("close stream"),this.isPlaying_&&this.stop(),this.isRemote_||(this.mediaStream_&&(this.mediaStream_.preventEvent=1,this.mediaStream_.getTracks().forEach(function(a){a.stop()}),this.mediaStream_=null),this.uninstallEvents())}},{key:"muteAudio",value:function(){return this.addRemoteEvent(!0,Ce),this.doEnableTrack(Ce,!1)}},{key:"muteVideo",value:function(){return this.addRemoteEvent(!0,xe),this.doEnableTrack(xe,!1)}},{key:"unmuteAudio",value:function(){return this.addRemoteEvent(!1,Ce),this.doEnableTrack(Ce,!0)}},{key:"unmuteVideo",value:function(){return this.addRemoteEvent(!1,xe),this.doEnableTrack(xe,!0)}},{key:"addRemoteEvent",value:function(a,s){if(this.isRemote_&&this.client_){var c=this.client_.getUserId(),u="".concat(a?nn:_r," remote ").concat(s);vn(c,{eventId:s===Ce?a?JU:qU:a?WU:KU,eventDesc:u,timestamp:new Date().getTime(),userId:c,tinyId:this.client_.getTinyId(),remoteUserId:this.userId_,remoteTinyId:this.connection_.getTinyId()})}}},{key:"doEnableTrack",value:function(a,s){var c=!1;return a===Ce?this.mediaStream_.getAudioTracks().forEach(function(u){c=!0,u.enabled=s}):this.mediaStream_.getVideoTracks().forEach(function(u){c=!0,u.enabled=s}),c}},{key:"getId",value:function(){return this.id_}},{key:"getUserId",value:function(){return this.userId_}},{key:"getTinyId",value:function(){return this.connection_?this.connection_.getTinyId():""}},{key:"isPlaying",value:function(){return this.isPlaying_}},{key:"setAudioOutput",value:(t=N(p().mark(function a(s){return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.audioOutputDeviceId_=s,!this.audioPlayer_){c.next=4;break}return c.next=4,this.audioPlayer_.setSinkId(s);case 4:case"end":return c.stop()}},a,this)})),function(a){return t.apply(this,arguments)})},{key:"setAudioVolume",value:function(a){this.audioVolume_=a,this.log_.info("setAudioVolume to ".concat(a)),this.audioPlayer_&&this.audioPlayer_.setVolume(a)}},{key:"getAudioLevel",value:function(){var a=0;return this.audioPlayer_&&(a=this.audioPlayer_.getAudioLevel()),a}},{key:"getInternalAudioLevel",value:function(){var a=0;return this.audioPlayer_&&(a=this.audioPlayer_.getInternalAudioLevel()),a}},{key:"hasAudio",value:function(){if(this.isRemote_){if(!this.connection_)return!1;var a=this.connection_.getTrackState();return this.type_===_t&&a.audio}return!!this.getAudioTrack()}},{key:"hasVideo",value:function(){if(this.isRemote_){if(!this.connection_)return!1;var a=this.connection_.getTrackState();return this.type_===Dt?a.auxiliary:a.video}return!!this.getVideoTrack()}},{key:"getSubscribedState",value:function(){return this.isRemote_&&this.connection_?this.connection_.getSubscribeState():null}},{key:"getAudioTrack",value:function(){var a=null;if(this.mediaStream_){var s=this.mediaStream_.getAudioTracks();s.length>0&&(a=s[0])}return a}},{key:"getVideoTrack",value:function(){var a=null;if(this.mediaStream_){var s=this.mediaStream_.getVideoTracks();s.length>0&&(a=s[0])}return a}},{key:"getVideoFrame",value:function(){return this.videoPlayer_?this.videoPlayer_.getVideoFrame():null}},{key:"getMediaStream",value:function(){return this.mediaStream_}},{key:"setMediaStream",value:function(a){a!==this.mediaStream_&&(this.mediaStream_&&this.mediaStream_.getTracks().forEach(function(s){return s.stop()}),this.mediaStream_=a)}},{key:"updateVideoPlayingState",value:function(a){this.isPlaying_&&(a?(this.log_.info("playing state updated, play video"),this.playVideo().catch(function(s){})):(this.log_.info("playing state updated, stop video"),this.stopVideo()))}},{key:"updateAudioPlayingState",value:function(a){this.isPlaying_&&(a?(this.log_.info("playing state updated, play audio"),this.playAudio().catch(function(s){})):(this.log_.info("playing state updated, stop audio"),this.stopAudio()))}},{key:"on",value:function(a,s,c){this.emitter_.on(a,s,c)}},{key:"off",value:function(a,s,c){a==="*"?this.emitter_.removeAllListeners():this.emitter_.off(a,s,c)}},{key:"isRemote",value:function(){return this.isRemote_}},{key:"isScreenShare",value:function(){return!this.isRemote_&&this.screen_||this.isRemote_&&this.getType()===mt}},{key:"getDiv",value:function(){return this.div_}},{key:"getObjectFit",value:function(){return this.objectFit_}},{key:"getMuted",value:function(){return this.muted_}},{key:"getClient",value:function(){return this.client_}}]),e}(),W(ar.prototype,"play",[yI],Object.getOwnPropertyDescriptor(ar.prototype,"play"),ar.prototype),W(ar.prototype,"setAudioOutput",[SI],Object.getOwnPropertyDescriptor(ar.prototype,"setAudioOutput"),ar.prototype),W(ar.prototype,"getVideoFrame",[bI],Object.getOwnPropertyDescriptor(ar.prototype,"getVideoFrame"),ar.prototype),ar),Zv=function(e){Nt(n,e);var t=Ar(n);function n(r){var i;J(this,n);var o={isRemote:!0,type:r.type},a=H(H({},r),o);return(i=t.call(this,a)).name_=sf,i.isStreamAddedEventEmitted_=!1,i.isAbleToCallSubscription_=!0,i}return ye(n,[{key:"installEvents",value:function(){se($e(n.prototype),"installEvents",this).call(this),q.on(Ur,this.handleStreamSubscribed,this),q.on(Br,this.handleStreamUnsubscribed,this)}},{key:"uninstallEvents",value:function(){se($e(n.prototype),"uninstallEvents",this).call(this),q.off(Ur,this.handleStreamSubscribed,this),q.off(Br,this.handleStreamUnsubscribed,this)}},{key:"handleStreamSubscribed",value:function(r){r.client===this.client_&&r.stream===this&&this.connection_.getCurrentState()===mn&&this.emitConnectionStateChanged({prevState:sn,state:mn})}},{key:"handleStreamUnsubscribed",value:function(r){r.client===this.client_&&r.stream===this&&this.emitConnectionStateChanged({prevState:mn,state:sn})}},{key:"getType",value:function(){return se($e(n.prototype),"getType",this).call(this)}},{key:"getIsAbleToCallSubscription",value:function(){return this.isAbleToCallSubscription_}},{key:"setIsAbleToCallSubscription",value:function(r){this.isAbleToCallSubscription_=r}},{key:"setIsStreamAddedEventEmitted",value:function(r){this.isStreamAddedEventEmitted_=r}},{key:"getIsStreamAddedEventEmitted",value:function(){return this.isStreamAddedEventEmitted_}},{key:"getAudioTrack",value:function(){return this.connection_&&this.connection_.getTrackState().audio?se($e(n.prototype),"getAudioTrack",this).call(this):null}},{key:"getVideoTrack",value:function(){if(!this.connection_)return null;var r=this.connection_.getTrackState();return(this.type_!==_t||r.video)&&(this.type_!==Dt||r.auxiliary)?se($e(n.prototype),"getVideoTrack",this).call(this):null}},{key:"close",value:function(){se($e(n.prototype),"close",this).call(this)}}]),n}(kI),s7=function(){function e(i){J(this,e),this.client_=i.client,this.subscribedStreams_=new Map,this.unsubscribedStreams_=new Map,this.subscriptedOptions_=new Map,this.autoRecoveryFlags_=new Map}var t,n,r;return ye(e,[{key:"isEnabled",get:function(){return this.client_.getEnv()!=="webrtc"}},{key:"recover",value:(r=N(p().mark(function i(o){var a,s,c;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(a=o.getUserId(),s=o.getType(),this.hasAutoRecoveryFlag(a,s)){u.next=5;break}return u.abrupt("return");case 5:if(c=this.getUnsubscribedStream(a,s)?"unsubscribe":"subscribe",u.prev=6,ke.warn("recover() try to recover subscription [".concat(c,"][").concat(a,"][").concat(s,"]")),c!=="subscribe"){u.next=13;break}return u.next=11,this.recoverSubscription(a,o);case 11:u.next=15;break;case 13:return u.next=15,this.recoverUnsubscription(a,o);case 15:Ie.logSuccessEvent({userId:this.client_.getUserId(),eventType:Ub}),ke.warn("recover() recover successfully [".concat(c,"][").concat(a,"][").concat(s,"]")),u.next=23;break;case 19:u.prev=19,u.t0=u.catch(6),ke.error("recover() recover failed [".concat(c,"][").concat(a,"][").concat(s,"]"),u.t0),Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:Ub,error:u.t0});case 23:this.deleteAutoRecoveryFlag(a,s);case 24:case"end":return u.stop()}},i,this,[[6,19]])})),function(i){return r.apply(this,arguments)})},{key:"recoverSubscription",value:(n=N(p().mark(function i(o,a){var s,c,u,d,h;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(s=this.getOptions(o,a.getType()),c=this.getSubscribedStream(o,a.getType()),s&&c){_.next=4;break}return _.abrupt("return");case 4:u=this.getStreamMuteState(c),d=u.isAudioMuted,h=u.isVideoMuted,this.mergeStream(c,a),this.recoverPlayingState(c),d&&c.doEnableTrack(Ce,!1),h&&c.doEnableTrack(xe,!1);case 9:case"end":return _.stop()}},i,this)})),function(i,o){return n.apply(this,arguments)})},{key:"recoverUnsubscription",value:(t=N(p().mark(function i(o,a){var s;return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(s=this.getUnsubscribedStream(o,a.getType())){c.next=3;break}return c.abrupt("return");case 3:this.mergeStream(s,a);case 4:case"end":return c.stop()}},i,this)})),function(i,o){return t.apply(this,arguments)})},{key:"getStreamMuteState",value:function(i){var o={isAudioMuted:!1,isVideoMuted:!1},a=i.getMediaStream();return a&&(o.isAudioMuted=a.getAudioTracks().map(function(s){return s.enabled}).includes(!1),o.isVideoMuted=a.getVideoTracks().map(function(s){return s.enabled}).includes(!1)),o}},{key:"recoverPlayingState",value:function(i){var o=i.isPlaying(),a=i.getDiv();if(o&&a){var s=a.parentNode;i.stop(),i.play(s,{objectFit:i.getObjectFit(),muted:i.getMuted()})}}},{key:"mergeStream",value:function(i,o){var a=o.getConnection(),s=o.getMediaStream();i.setConnection(a),a.setRemoteStream(s.id,i),i.setMediaStream(s),i.updateAudioPlayingState(o.hasAudio()),i.updateVideoPlayingState(o.hasVideo())}},{key:"addSubscriptionRecord",value:function(i,o,a){var s=o.getType();if(this.subscribedStreams_.has(i))this.subscribedStreams_.get(i).set(s,o);else{var c=new Map;c.set(o.getType(),o),this.subscribedStreams_.set(i,c)}if(this.subscriptedOptions_.has(i))this.subscriptedOptions_.get(i).set(s,a);else{var u=new Map;u.set(o.getType(),a),this.subscriptedOptions_.set(i,u)}this.deleteUnsubscriptionRecord(i,s)}},{key:"addUnsubscriptionRecord",value:function(i,o){if(this.unsubscribedStreams_.has(i))this.unsubscribedStreams_.get(i).set(o.getType(),o);else{var a=new Map;a.set(o.getType(),o),this.unsubscribedStreams_.set(i,a)}this.deleteSubscriptionRecord(i,o.getType())}},{key:"getSubscribedStream",value:function(i,o){return this.subscribedStreams_.has(i)&&this.subscribedStreams_.get(i).has(o)?this.subscribedStreams_.get(i).get(o):null}},{key:"getOptions",value:function(i,o){return this.subscriptedOptions_.has(i)&&this.subscriptedOptions_.get(i).has(o)?this.subscriptedOptions_.get(i).get(o):null}},{key:"getUnsubscribedStream",value:function(i,o){return this.unsubscribedStreams_.has(i)&&this.unsubscribedStreams_.get(i).has(o)?this.unsubscribedStreams_.get(i).get(o):null}},{key:"deleteSubscriptionRecord",value:function(i,o){this.subscribedStreams_.has(i)&&this.subscribedStreams_.get(i).delete(o),this.subscriptedOptions_.has(i)&&this.subscriptedOptions_.get(i).delete(o)}},{key:"deleteUnsubscriptionRecord",value:function(i,o){this.unsubscribedStreams_.has(i)&&this.unsubscribedStreams_.get(i).delete(o)}},{key:"markAllStream",value:function(){for(var i=0,o=be(this.subscribedStreams_.entries());i<o.length;i++)for(var a=Te(o[i],2),s=a[0],c=0,u=be(a[1].entries());c<u.length;c++){var d=Te(u[c],1)[0];this.setAutoRecoveryFlag(s,d)}for(var h=0,_=be(this.unsubscribedStreams_.entries());h<_.length;h++)for(var y=Te(_[h],2),b=y[0],f=0,g=be(y[1].entries());f<g.length;f++){var I=Te(g[f],1)[0];this.setAutoRecoveryFlag(b,I)}}},{key:"setAutoRecoveryFlag",value:function(i,o){if(ke.info("setAutoRecoveryFlag() mark [".concat(i,"][").concat(o,"]")),this.autoRecoveryFlags_.has(i))this.autoRecoveryFlags_.get(i).set(o);else{var a=new Map;a.set(o),this.autoRecoveryFlags_.set(i,a)}}},{key:"hasAutoRecoveryFlag",value:function(i,o){return!!this.isEnabled&&this.autoRecoveryFlags_.has(i)&&this.autoRecoveryFlags_.get(i).has(o)}},{key:"deleteAutoRecoveryFlag",value:function(i,o){this.autoRecoveryFlags_.has(i)&&this.autoRecoveryFlags_.get(i).delete(o)}},{key:"delete",value:function(i){this.unsubscribedStreams_.delete(i),this.subscribedStreams_.delete(i),this.subscriptedOptions_.delete(i),this.autoRecoveryFlags_.delete(i)}}]),e}(),c7=function(){function e(t){J(this,e),this.player_=t,this.canvas_=document.createElement(hb),this.canvasCtx_=this.canvas_.getContext("2d")}return ye(e,[{key:"setCanvasRect",value:function(t,n){this.canvas_.width=t,this.canvas_.height=n}},{key:"drawVideoToCanvas",value:function(){var t=this.player_.getElement(),n=t.videoHeight,r=t.videoWidth,i=r*this.canvas_.height/(n*this.canvas_.width);if(i>1.05||i<.95){var o=r*n/(this.canvas_.width*this.canvas_.height);this.setCanvasRect(r/Math.sqrt(o),n/Math.sqrt(o))}this.canvasCtx_.drawImage(t,0,0,this.canvas_.width,this.canvas_.height)}},{key:"generateVideoTrackFromCanvasCapture",value:function(t){return this.canvas_.captureStream(t).getVideoTracks()[0]}},{key:"generateStreamFromTrack",value:function(t){var n=new MediaStream;return n.addTrack(t),n}},{key:"destroy",value:function(){this.player_.stop(),this.canvas_.width=0,this.canvas_.height=0,this.canvas_=null,this.canvasCtx_=null}},{key:"canvas",get:function(){return this.canvas_}},{key:"canvasCtx",get:function(){return this.canvasCtx_}},{key:"canDrawVideoToCanvas",get:function(){if(this.player_){var t=this.player_.getElement();if(t)return t.readyState===t.HAVE_ENOUGH_DATA}return!1}}]),e}(),u7=new Blob(['let t,e,a,i;onmessage=function(n){const{action:h,data:s}=n.data;switch(h){case"render":a=s.canvas,t=a.width,e=a.height,i=a.getContext("2d"),function(t,e){const n=new TransformStream({async transform(t,e){const n=t.displayWidth,h=t.displayHeight,s=n*a.height/(h*a.width);if(s>1.05||s<.95){const t=n*h/(a.width*a.height);a.width=n/Math.sqrt(t),a.height=h/Math.sqrt(t)}i.drawImage(t,0,0,a.width,a.height);const o=new VideoFrame(a,{timestamp:t.timestamp});t.close(),e.enqueue(o)}});t.pipeThrough(n).pipeTo(e)}(s.readable,s.writable)}}'],{type:"application/javascript"}),l7=function(){function e(t){J(this,e);var n=t.videoTrack;this.width=void 0,this.height=void 0,this.canvas=document.createElement("canvas"),this.offscreen=null,this.smallGenerator=new MediaStreamTrackGenerator({kind:"video"}),this.smallWritable=this.smallGenerator.writable,this.bigProcessor=new MediaStreamTrackProcessor({track:n}),this.bigReadable=this.bigProcessor.readable,this.initWorker()}return ye(e,[{key:"initWorker",value:function(){try{this.worker=new Worker(URL.createObjectURL(u7)),ke.info("init worker processor success")}catch(t){ke.warn("init worker processor failed. ".concat(t.error))}}},{key:"setCanvasRect",value:function(t,n){this.width=t,this.height=n,this.canvas.width=t,this.canvas.height=n,this.offscreen=this.canvas.transferControlToOffscreen(),this.worker.postMessage({action:"render",data:{canvas:this.offscreen,readable:this.bigReadable,writable:this.smallWritable}},[this.offscreen,this.bigReadable,this.smallWritable])}},{key:"generatorVideoTrack",value:function(){var t=new MediaStream([this.smallGenerator]);return t==null?void 0:t.getTracks()[0]}},{key:"destroy",value:function(){this.worker.terminate()}}]),e}(),rd=function(){function e(n){J(this,e),this.localStream_=n,this.player_=null,this.processor_=null,this.initOffscreenSuccess_=!1}var t;return ye(e,[{key:"initialize",value:(t=N(p().mark(function n(){var r;return p().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(!(G6()&&((r=navigator)===null||r===void 0?void 0:r.hardwareConcurrency)>=6)){i.next=13;break}return i.prev=1,i.next=4,this.initOffscreen();case 4:this.initOffscreenSuccess_=!0,ke.info("Initialize VideoGenerator successfully!"),i.next=11;break;case 8:i.prev=8,i.t0=i.catch(1),this.initCanvas();case 11:i.next=14;break;case 13:this.initCanvas();case 14:case"end":return i.stop()}},n,this,[[1,8]])})),function(){return t.apply(this,arguments)})},{key:"generateSmallVideoTrack",value:function(n){var r,i=n.height,o=n.width,a=n.frameRate,s=this.getSmallVideoProfile(o,i);return this.initOffscreenSuccess_?(this.processor_.setCanvasRect(s.width,s.height),r=this.processor_.generatorVideoTrack()):(this.processor_.setCanvasRect(s.width,s.height),this.player_.setRect({width:s.width,height:s.height}),r=this.processor_.generateVideoTrackFromCanvasCapture(a),this.interval_=yt.run(rl,this.render.bind(this),{fps:a})),r}},{key:"render",value:function(){this.processor_.canDrawVideoToCanvas&&this.processor_.drawVideoToCanvas()}},{key:"destroy",value:function(){yt.clearTask(this.interval_),this.processor_&&this.processor_.destroy()}},{key:"initOffscreen",value:function(){this.processor_=new l7({videoTrack:this.localStream_.getVideoTrack()})}},{key:"initCanvas",value:function(){this.player_=new A1({stream:this.localStream_,track:this.localStream_.getVideoTrack(),muted:!0,objectFit:"cover",mirror:!1}),this.player_.play().then(function(){ke.info("VideoGenerator: play local video success")}).catch(function(){ke.error("VideoGenerator: Failed to play local video")}),this.processor_=new c7(this.player_)}},{key:"getSmallVideoProfile",value:function(n,r){var i,o=this.localStream_.getVideoTrack(),a=this.localStream_.getVideoProfile();if(yo){var s=o.getSettings();s&&s.width&&s.height&&(a.width=s.width,a.height=s.height)}var c=a.width*a.height,u=n*r;return ke.info("big stream resolution: ".concat(a.width,"*").concat(a.height," small stream resolution: ").concat(n,"*").concat(r," ")),i=c>u?c/u:c/19200,{width:parseInt(a.width/Math.sqrt(i)),height:parseInt(a.height/Math.sqrt(i))}}}]),e}(),id=new Map,d7=function(){var e=N(p().mark(function t(n){var r,i,o;return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(!kl()){a.next=2;break}return a.abrupt("return");case 2:return a.next=4,h7(n);case 4:if(r=a.sent,ke.info("getUserMedia with constraints: "+JSON.stringify(r)),!r.audio){a.next=11;break}return a.next=9,Tt.getMicrophones();case 9:i=a.sent,ke.info("microphones: ".concat(JSON.stringify(i)));case 11:if(!r.video){a.next=16;break}return a.next=14,Tt.getCameras();case 14:o=a.sent,ke.info("cameras: ".concat(JSON.stringify(o)));case 16:return a.prev=16,a.next=19,navigator.mediaDevices.getUserMedia(r);case 19:return a.abrupt("return",a.sent);case 22:if(a.prev=22,a.t0=a.catch(16),a.t0.name!=="NotFoundError"){a.next=29;break}if(!o||o.length!==0){a.next=27;break}throw new ee({code:Y.DEVICE_NOT_FOUND,message:ne({key:G4})});case 27:if(!i||i.length!==0){a.next=29;break}throw new ee({code:Y.DEVICE_NOT_FOUND,message:ne({key:F4})});case 29:throw new ee({code:Y.INITIALIZE_FAILED,name:a.t0.name,message:a.t0.message,constraint:a.t0.constraint});case 30:case"end":return a.stop()}},t,null,[[16,22]])}));return function(t){return e.apply(this,arguments)}}(),eg=oc({retryFunction:d7,settings:{retries:3,timeout:500},onError:function(e,t,n,r){ke.warn("getUserMedia error: ".concat(e)),e.name==="NotReadableError"?t():e.message.includes("deviceId")&&r[0].retryWhenExactFailed?(r[0].useExact=!1,t()):n(e)},onRetrying:function(e){ke.warn("getUserMedia retrying [".concat(e,"/3]"))}});function h7(e){return TI.apply(this,arguments)}function TI(){return(TI=N(p().mark(function e(t){var n,r,i,o,a,s;return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(n={echoCancellation:t.echoCancellation,autoGainControl:t.autoGainControl,noiseSuppression:t.noiseSuppression},t.audio){c.next=5;break}n=!1,c.next=15;break;case 5:if(aa(t.microphoneId)){c.next=9;break}n=H({deviceId:t.useExact?{exact:t.microphoneId}:t.microphoneId,sampleRate:t.sampleRate,channelCount:t.channelCount},n),c.next=15;break;case 9:return n=H({sampleRate:t.sampleRate,channelCount:t.channelCount},n),c.next=12,Tt.getMicrophones();case 12:r=c.sent,(i=r.filter(function(u){return u.deviceId.length>0})).length>0&&(n.deviceId={exact:i[0].deviceId});case 15:return o={},a={ideal:t.width,max:t.width},s={ideal:t.height,max:t.height},Tr&&tc&&t.width*t.height<101376&&(a=t.width,s=t.height),o=!ve(t.facingMode)&&t.video?{facingMode:t.facingMode,width:a,height:s,frameRate:t.frameRate}:!aa(t.cameraId)&&t.video?{deviceId:t.useExact?{exact:t.cameraId}:t.cameraId,width:a,height:s,frameRate:t.frameRate}:!!t.video&&(!!ve(t.width)||{width:a,height:s,frameRate:t.frameRate}),c.abrupt("return",{audio:n,video:o});case 21:case"end":return c.stop()}},e)}))).apply(this,arguments)}var p7=function(){var e=N(p().mark(function t(n){var r,i,o,a,s,c,u,d,h;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(!kl()){_.next=2;break}return _.abrupt("return");case 2:if(r=null,!(ll&&Pf<74||Yi)){_.next=27;break}return i=tg(n),ke.info("getDisplayMedia with constraints: "+JSON.stringify(i)),_.next=8,navigator.mediaDevices.getDisplayMedia(i);case 8:if(o=_.sent,!n.screenAudio){_.next=14;break}return ke.warn("Your browser not support capture system audio"),_.abrupt("return",o);case 14:if(!n.audio){_.next=24;break}return a=xI(n),ke.info("getUserMedia with constraints: "+JSON.stringify(a)),_.next=19,navigator.mediaDevices.getUserMedia(a);case 19:return r=_.sent,o.addTrack(r.getAudioTracks()[0]),_.abrupt("return",o);case 24:return _.abrupt("return",o);case 25:_.next=53;break;case 27:if(!n.screenAudio){_.next=37;break}return n.audioConstraints={echoCancellation:n.echoCancellation,autoGainControl:n.autoGainControl,noiseSuppression:n.noiseSuppression,sampleRate:44100},s=tg(n),ke.info("getDisplayMedia with constraints: "+JSON.stringify(s)),_.next=33,navigator.mediaDevices.getDisplayMedia(s);case 33:return c=_.sent,_.abrupt("return",c);case 37:return u=tg(n),ke.info("getDisplayMedia with constraints: "+JSON.stringify(u)),_.next=41,navigator.mediaDevices.getDisplayMedia(u);case 41:if(d=_.sent,!n.audio){_.next=52;break}return h=xI(n),ke.info("getUserMedia with constraints: "+JSON.stringify(h)),_.next=47,navigator.mediaDevices.getUserMedia(h);case 47:return r=_.sent,d.addTrack(r.getAudioTracks()[0]),_.abrupt("return",d);case 52:return _.abrupt("return",d);case 53:case"end":return _.stop()}},t)}));return function(t){return e.apply(this,arguments)}}();function xI(e){var t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return ve(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}function tg(e){var t={systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},n={width:Yi?{max:e.width}:{ideal:e.width,max:e.width},height:Yi?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:"monitor"};return t.video=n,ve(e.audioConstraints)||(t.audio=e.audioConstraints),t}var II,wI,EI,CI,RI,AI,PI,DI,LI,OI,MI,rt,NI,Ic,ng=new Map([["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}]]),rg=new Map([["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}]]),VI=new Map([["standard",{sampleRate:48e3,channelCount:1,bitrate:40}],["standard-stereo",{sampleRate:48e3,channelCount:2,bitrate:64}],["high",{sampleRate:48e3,channelCount:1,bitrate:128}],["high-stereo",{sampleRate:48e3,channelCount:2,bitrate:192}]]),fa=new Map,f7=(II=kt(mi),wI=kt(mi),EI=kt(mi),CI=kt(mi),RI=wn.apply(void 0,be(Yt.LOCAL_STREAM.switchDevice)),AI=wn(Yt.STREAM.addTrack),PI=wn(Yt.STREAM.removeTrack),DI=wn(Yt.STREAM.replaceTrack),LI=xc({retries:10,timeout:3e3,onRetryFailed:function(e){Ie.logFailedEvent({userId:this.client_?this.client_.getUserId():this.userId_,eventType:Vb,error:e}),this.emitter_.emit(Nm,new ee({code:Y.DEVICE_AUTO_RECOVER_FAILED,message:e.message}))}}),OI=nd(Yt.LOCAL_STREAM.setAudioCaptureVolume),MI=kt(mi),rt=function(e){Nt(b,e);var t,n,r,i,o,a,s,c,u,d,h,_,y=Ar(b);function b(f){var g;J(this,b);var I=H(H({},f),{isRemote:!1,type:"local"});return(g=y.call(this,I)).name_=mi,g.client_=null,g.video_=f.video,g.audio_=f.audio,g.cameraId_=f.cameraId,g.cameraGroupId_="",g.facingMode_=f.facingMode,g.microphoneId_=f.microphoneId,g.microphoneGroupId_="",g.microphoneLabel_="",g.videoSource_=f.videoSource,g.audioSource_=f.audioSource,g.screen_=f.screen,g.screenAudio_=f.screenAudio,g.audioProfile_={echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40},g.screenAudio_&&(g.audioProfile_.echoCancellation=!0,g.audioProfile_.autoGainControl=!1,g.audioProfile_.noiseSuppression=!1),uo(f.echoCancellation)&&(g.audioProfile_.echoCancellation=f.echoCancellation),uo(f.autoGainControl)&&(g.audioProfile_.autoGainControl=f.autoGainControl),uo(f.noiseSuppression)&&(g.audioProfile_.noiseSuppression=f.noiseSuppression),g.videoProfile_=ng.get("480p_2"),g.screenProfile_=rg.get("1080p"),g.videoSetting_=null,g.muteState_={video:!1,audio:!1,auxVideo:!1},g.beautyStatus_=!1,g.prevAudioRecoverTime_=0,g.prevVideoRecoverTime_=0,g.isAudioRecovering_=!1,g.isVideoRecovering_=!1,g.initState(),g.canvas_=null,g.canvasInterval_=null,g.canvasTrack_=null,g.gain_={audioTrack:null,source:null,gainNode:null},g.captureVolume_=100,g.enableAutoRecoverCapture_=!!ve(f.enableAutoRecoverCapture)||f.enableAutoRecoverCapture,g.enableAutoRecoverOther_=!uo(f.enableAutoRecoverOther)||f.enableAutoRecoverOther,g.log_.info("stream created: ".concat(g.id_," autoRecover: ").concat(g.enableAutoRecoverCapture_)),g.isAIDenoiser=!1,g}return ye(b,[{key:"initState",value:function(){this.isAddingTrack_=!1,this.isRemovingTrack_=!1,this.setIsReadyToPublish(!1),this.setPublishState(Wb)}},{key:"installEvents",value:function(){se($e(b.prototype),"installEvents",this).call(this),q.on(im,this.onVideoTrackStopped,this),q.on(ic,this.onVideoTrackStopped,this),q.on(om,this.onAudioTrackStopped,this),q.on(am,this.onAudioTrackStopped,this)}},{key:"uninstallEvents",value:function(){se($e(b.prototype),"uninstallEvents",this).call(this),q.off(im,this.onVideoTrackStopped,this),q.off(ic,this.onVideoTrackStopped,this),q.off(om,this.onAudioTrackStopped,this),q.off(am,this.onAudioTrackStopped,this)}},{key:"initialize",value:function(){var f=this;return new Promise(function(g,I){if(Tl())I(new ee({code:Y.INVALID_OPERATION,message:ne({key:pk})}));else{if(ve(f.audio_)){var w=new MediaStream;return ve(f.audioSource_)||(w.addTrack(f.audioSource_),f.updateAudioPlayingState(!0)),ve(f.videoSource_)||(w.addTrack(f.videoSource_),f.updateVideoPlayingState(!0)),f.setMediaStream(w),Ie.logSuccessEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:Ys,kind:"custom"}),f.setIsReadyToPublish(!0),g()}f.screen_?(f.log_.info("initialize stream audio: "+f.audio_+" screenAudio: "+f.screenAudio_+" screen: "+f.screen_),p7({audio:f.audio_,screenAudio:f.screenAudio_,microphoneId:f.microphoneId_,width:f.screenProfile_.width,height:f.screenProfile_.height,frameRate:f.screenProfile_.frameRate,sampleRate:f.audioProfile_.sampleRate,channelCount:f.audioProfile_.channelCount,autoGainControl:f.audioProfile_.autoGainControl,noiseSuppression:f.audioProfile_.noiseSuppression,echoCancellation:f.audioProfile_.echoCancellation}).then(function(j){f.setMediaStream(j),f.updateAudioPlayingState(f.audio_||f.screenAudio_),f.updateVideoPlayingState(!0);var z=f.getVideoTrack();return f.listenForScreenSharingStopped(z),f.setVideoContentHint(mb),f.updateDeviceIdInUse(),f.setIsReadyToPublish(!0),f.log_.info(JSON.stringify(z.getSettings())),Ie.logSuccessEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:Ys,kind:"getDisplayMedia"}),g()}).catch(function(j){Ie.logFailedEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:Ys,kind:"getDisplayMedia",error:j}),f.log_.error("getDisplayMedia error observed "+j),I(j instanceof ee?j:new ee({code:Y.INITIALIZE_FAILED,name:j.name,message:j.message}))})):(q.emit(Yf,{stream:f,audio:f.audio_,video:f.video_}),f.log_.info("initialize stream audio: "+f.audio_+" video: "+f.video_),eg({audio:f.audio_,video:f.video_,facingMode:f.facingMode_,cameraId:f.cameraId_,microphoneId:f.microphoneId_,width:f.videoProfile_.width,height:f.videoProfile_.height,frameRate:f.videoProfile_.frameRate,sampleRate:f.audioProfile_.sampleRate,channelCount:f.audioProfile_.channelCount,autoGainControl:f.audioProfile_.autoGainControl,noiseSuppression:f.audioProfile_.noiseSuppression,echoCancellation:f.audioProfile_.echoCancellation,useExact:!0,retryWhenExactFailed:!0}).then(function(j){return q.emit($f,{stream:f,audio:f.audio_,video:f.video_}),f.setMediaStream(j),j.getTracks().forEach(function(z){z.kind===xe&&yo&&(f.videoSetting_=z.getSettings()),F6&&f.log_.info("".concat(z.kind," capabilities: ").concat(JSON.stringify(z.getCapabilities())))}),f.updateAudioPlayingState(f.audio_),f.updateVideoPlayingState(f.video_),f.updateDeviceIdInUse(),f.log_.info("gotStream hasAudio: "+f.hasAudio()+" hasVideo: "+f.hasVideo()),f.setIsReadyToPublish(!0),Ie.logSuccessEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:Ys,kind:"getUserMedia"}),g()}).catch(function(j){q.emit(Zf,{stream:f,audio:f.audio_,video:f.video_,error:j}),Ie.logFailedEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:Ys,kind:"getUserMedia",error:j}),f.log_.error("getUserMedia error observed "+j),I(j)}))}})}},{key:"listenForScreenSharingStopped",value:function(f){var g=this;f.addEventListener("ended",function(I){g.log_.info("screen sharing was stopped because the video track is ended"),g.emitter_.emit(H6)})}},{key:"muteAudio",value:function(){var f=se($e(b.prototype),"muteAudio",this).call(this);return f&&(this.log_.info("localStream mute audio"),this.sendMutedFlag(Ce,!0)),f}},{key:"muteVideo",value:function(){var f=se($e(b.prototype),"muteVideo",this).call(this);return f&&(this.log_.info("localStream mute video"),this.sendMutedFlag(xe,!0)),f}},{key:"unmuteAudio",value:function(){var f=se($e(b.prototype),"unmuteAudio",this).call(this);return f&&(this.log_.info("localStream unmute audio"),this.sendMutedFlag(Ce,!1)),f}},{key:"unmuteVideo",value:function(){var f=se($e(b.prototype),"unmuteVideo",this).call(this);return f&&(this.log_.info("localStream unmute video"),this.sendMutedFlag(xe,!1)),f}},{key:"sendMutedFlag",value:function(f,g){this.setMuteState(f,g);var I=this.getConnection();if(I){I.sendMutedFlag(this.muteState_,this);var w=I.getUserId(),j=I.getTinyId(),z="".concat(g?nn:_r," local ").concat(f," track");vn(w,{eventId:f===Ce?g?NU:UU:g?VU:BU,eventDesc:z,timestamp:on(),userId:w,tinyId:j})}}},{key:"setMuteState",value:function(f,g){this.muteState_[f]=g,this.log_.info("set ".concat(f," muted state: [").concat(g?"mute":"unmute","]"))}},{key:"setAudioProfile",value:function(f){var g;V(f)==="object"?g=f:(g=VI.get(f))===void 0&&(g=VI.get("standard")),this.log_.info("setAudioProfile: "+JSON.stringify(g)),this.audioProfile_=H(H({},this.audioProfile_),g)}},{key:"setVideoProfile",value:(_=N(p().mark(function f(g){var I,w,j,z;return p().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(!this.connection_||NT()){$.next=2;break}throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:V4})});case 2:if(na(g)?w=H(H({},this.videoProfile_),g):Ft(g)&&(w=ng.get(g),ve(w)&&(w=ng.get("480p_2"))),(I=this.client_)!==null&&I!==void 0&&I.get2k4kFlag()&&(this.client_.get2k4kFlag()!==1&&!this.screen_&&w.height*w.width>=3686400?(w.width=1920,w.height=1080,this.log_.warn(tk)):Ii.handleFunctionState({fnName:"2K_4K"})),w&&w.width*w.height>921600&&xV&&(w.width=1280,w.height=720,this.log_.warn("reset to 1280 * 720 on iOS 13~14")),this.log_.info("setVideoProfile "+JSON.stringify(w)),!(j=this.getVideoTrack())){$.next=10;break}return $.next=10,j.applyConstraints(w);case 10:if(z=this.videoProfile_.bitrate!==w.bitrate,this.videoProfile_=w,!z||!this.connection_){$.next=16;break}return $.next=15,this.connection_.setBandwidth({bandwidth:w.bitrate,type:xe,videoType:Ku});case 15:this.connection_.sendMediaSettings(this);case 16:case"end":return $.stop()}},f,this)})),function(f){return _.apply(this,arguments)})},{key:"getVideoBitrate",value:function(){return this.screen_?this.screenProfile_.bitrate:this.videoProfile_.bitrate}},{key:"getAudioBitrate",value:function(){return this.audioProfile_.bitrate}},{key:"setScreenProfile",value:function(f){var g=f;Ft(f)&&(g=rg.get(f)||rg.get("1080p")),this.log_.info("setScreenProfile "+JSON.stringify(f)),this.screenProfile_=g}},{key:"getVideoProfile",value:function(){return this.screen_?this.screenProfile_:this.videoProfile_}},{key:"getAudioProfile",value:function(){return this.audioProfile_}},{key:"setVideoContentHint",value:function(f){var g=this.getVideoTrack();g&&"contentHint"in g&&(this.log_.info("set video track contentHint to: "+f),g.contentHint=f,g.contentHint!==f&&this.log_.warn("Invalid video track contentHint: "+f))}},{key:"switchDevice",value:(h=N(p().mark(function f(g,I){var w,j,z,$,ue,L,k,P,A,U,T,v,E,C,O,F,K,re;return p().wrap(function(ce){for(;;)switch(ce.prev=ce.next){case 0:if(this.mediaStream_&&this.cameraId_!==I&&this.facingMode_!==I){ce.next=2;break}return ce.abrupt("return");case 2:if(j=g===xe,!(w=g===Ce)||I!==this.microphoneId_){ce.next=11;break}if(I===tl){ce.next=7;break}return ce.abrupt("return");case 7:return ce.next=9,Y6(this.microphoneGroupId_,this.microphoneLabel_);case 9:if(!ce.sent){ce.next=11;break}return ce.abrupt("return");case 11:return this.setIsReadyToPublish(!1),this.log_.info("switchDevice "+g+" to: "+I),w&&(z=this.getAudioTrack(),$=this.getMicrophoneTrackMixed(),z&&z.stop(),$&&$.stop()),j&&((ue=this.getVideoTrack())&&ue.stop(),Rf&&(L=this.getAudioTrack())&&(this.log_.info("stop audio track first in huawei env"),L.stop())),ce.prev=15,ce.next=18,eg({audio:w||Rf,video:j,facingMode:I===pb||I===fb?I:void 0,cameraId:j?I:this.cameraId_,microphoneId:w?I:this.microphoneId_,width:this.videoProfile_.width,height:this.videoProfile_.height,frameRate:this.videoProfile_.frameRate,sampleRate:this.audioProfile_.sampleRate,channelCount:this.audioProfile_.channelCount,useExact:!0,retryWhenExactFailed:!1});case 18:if(k=ce.sent,P=null,!w){ce.next=25;break}(A=k.getAudioTracks()[0])&&this.isAudioTrackMixed()?(U=this.getAudioTrack(),T=Tt.AudioMixerPlugin.getAudioTrackMap(),v=Tt.AudioMixerPlugin.mix({targetTrack:A,sourceList:T.get(U.id).sourceList,trackList:T.get(U.id).trackList}),P=v):P=A,ce.next=34;break;case 25:if(!(P=k.getVideoTracks()[0])||!this.isVideoTrackBeautified()){ce.next=30;break}return ce.next=29,this.generateBeautyTrack(P);case 29:P=ce.sent;case 30:if(!(E=k.getAudioTracks()[0])||!Rf){ce.next=34;break}return ce.next=34,this.replaceTrack(E);case 34:return ce.next=36,this.replaceTrack(P);case 36:this.updateDeviceIdInUse(),(C=this.getConnection())&&(O=C.getUserId(),F=C.getTinyId(),K=FU,re="switch camera",w&&(K=GU,re="switch microphone"),vn(O,{eventId:K,eventDesc:re,timestamp:on(),userId:O,tinyId:F})),this.log_.info("switch ".concat(w?"microphone":"camera"," success ")),w&&(this.audio_=!0),j&&(this.video_=!0,I!==fb&&I!==pb||(this.facingMode_=I)),this.setIsReadyToPublish(!0),ce.next=50;break;case 45:throw ce.prev=45,ce.t0=ce.catch(15),this.log_.error(ce.t0),w?this.recoverCapture({audio:!0,video:!1,microphoneId:this.microphoneId_}):this.recoverCapture({audio:!1,video:!0,cameraId:this.cameraId_,facingMode:this.facingMode_}),ce.t0;case 50:case"end":return ce.stop()}},f,this,[[15,45]])})),function(f,g){return h.apply(this,arguments)})},{key:"addTrack",value:(d=N(p().mark(function f(g){var I,w,j;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(z.prev=0,g.kind===xe&&yo&&(I=g.getSettings(),!this.videoSetting_||I.width===this.videoSetting_.width&&I.height===this.videoSetting_.height||this.log_.warn("video resolution of the track (".concat(I.width," x ").concat(I.height,") shall be kept the same as the previous: ").concat(this.videoSetting_.width," x ").concat(this.videoSetting_.height,". It may cause abnormal Cloud Recording."))),this.isAddingTrack_=!0,this.keepMuteState(g),this.mediaStream_.addTrack(g),!(w=this.getConnection())){z.next=11;break}return j=null,g.kind===xe&&(hl||dl)&&Mk(g)&&(j=this.getCanvasTrack()),z.next=11,w.addTrack(j||g,this);case 11:g.kind===Ce?(this.audio_=!0,this.updateAudioPlayingState(!0),this.captureVolume_!==100&&this.setAudioCaptureVolume(this.captureVolume_)):(this.video_=!0,this.updateVideoPlayingState(!0)),this.isAddingTrack_=!1,z.next=20;break;case 15:throw z.prev=15,z.t0=z.catch(0),this.mediaStream_.removeTrack(g),this.isAddingTrack_=!1,z.t0;case 20:case"end":return z.stop()}},f,this,[[0,15]])})),function(f){return d.apply(this,arguments)})},{key:"removeTrack",value:(u=N(p().mark(function f(g){var I;return p().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:if(w.prev=0,this.isRemovingTrack_=!0,!(I=this.getConnection())){w.next=17;break}if(g.kind!==xe||!hl&&!dl||!this.canvasTrack_){w.next=10;break}return w.next=7,I.removeTrack(this.canvasTrack_,this);case 7:this.clearCanvas(),w.next=17;break;case 10:if(g.kind!==Ce||!this.gain_.audioTrack){w.next=15;break}return w.next=13,I.removeTrack(this.gain_.audioTrack,this);case 13:w.next=17;break;case 15:return w.next=17,I.removeTrack(g,this);case 17:this.mediaStream_.removeTrack(g),g.kind===Ce?(this.audio_=!1,this.updateAudioPlayingState(!1),this.stopGainNode()):(this.video_=!1,this.updateVideoPlayingState(!1)),this.isRemovingTrack_=!1,w.next=26;break;case 22:throw w.prev=22,w.t0=w.catch(0),this.isRemovingTrack_=!1,w.t0;case 26:case"end":return w.stop()}},f,this,[[0,22]])})),function(f){return u.apply(this,arguments)})},{key:"replaceTrack",value:(c=N(p().mark(function f(g){var I,w,j;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(g.kind===xe&&yo&&(I=g.getSettings(),!this.videoSetting_||I.width===this.videoSetting_.width&&I.height===this.videoSetting_.height||this.log_.warn("video resolution of the track (".concat(I.width," x ").concat(I.height,") shall be kept the same as the previous: ").concat(this.videoSetting_.width," x ").concat(this.videoSetting_.height,". It may cause abnormal Cloud Recording."))),this.keepMuteState(g),w=this.mediaStream_,g.kind!==Ce){z.next=12;break}if(w.removeTrack(w.getAudioTracks()[0]),w.addTrack(g),se($e(b.prototype),"restartAudio",this).call(this),!this.gain_.gainNode){z.next=10;break}return this.reconnectGainNode(g),z.abrupt("return");case 10:z.next=15;break;case 12:w.removeTrack(w.getVideoTracks()[0]),w.addTrack(g),se($e(b.prototype),"restartVideo",this).call(this);case 15:if(!(j=this.getConnection())){z.next=21;break}if(g.kind!==xe||!hl&&!dl||!this.canvasTrack_){z.next=19;break}return z.abrupt("return");case 19:return z.next=21,j.replaceTrack(g,this);case 21:case"end":return z.stop()}},f,this)})),function(f){return c.apply(this,arguments)})},{key:"recoverCapture",value:(s=N(p().mark(function f(g){var I,w,j,z,$,ue,L,k,P,A,U,T,v,E,C,O,F;return p().wrap(function(K){for(;;)switch(K.prev=K.next){case 0:if(!(!this.mediaStream_||!this.enableAutoRecoverCapture_||g.audio&&!g.video&&this.isAudioRecovering_||g.video&&!g.audio&&this.isVideoRecovering_)){K.next=2;break}return K.abrupt("return");case 2:return g.audio&&(this.isAudioRecovering_=!0),g.video&&(this.isVideoRecovering_=!0),this.log_.warn("recoverCapture() trying "+JSON.stringify(g)),I=this.audio_&&g.audio,w=this.video_&&g.video,K.prev=7,K.next=10,Tt.getCameras();case 10:return j=K.sent,K.next=13,Tt.getMicrophones();case 13:if(z=K.sent,w&&j.length===0&&(w=!1,this.log_.warn("recoverCapture() video flag is true, but no camera detected, set video to false")),I&&z.length===0&&(I=!1,this.log_.warn("recoverCapture() audio flag is true, but no microphone detected, set audio to false")),I||w){K.next=21;break}return g.audio&&(this.isAudioRecovering_=!1),g.video&&(this.isVideoRecovering_=!1),this.log_.warn("recoverCapture() both audio and video are false, aborted"),K.abrupt("return");case 21:return $=g&&j.findIndex(function(re){return re.deviceId===g.cameraId})>=0,ue=g&&z.findIndex(function(re){return re.deviceId===g.microphoneId})>=0,I&&((L=this.getAudioTrack())===null||L===void 0||L.stop()),w&&((k=this.getVideoTrack())===null||k===void 0||k.stop()),K.next=27,eg({audio:I,video:w,cameraId:$?g.cameraId:void 0,microphoneId:ue?g.microphoneId:void 0,facingMode:this.facingMode_,width:this.videoProfile_.width,height:this.videoProfile_.height,frameRate:this.videoProfile_.frameRate,sampleRate:this.audioProfile_.sampleRate,channelCount:this.audioProfile_.channelCount});case 27:P=K.sent,A=P.getTracks(),U=0;case 30:if(!(U<A.length)){K.next=57;break}if((T=A[U]).kind!==Ce||!this.isAudioTrackMixed()){K.next=43;break}if(v=this.getAudioTrack(),E=Tt.AudioMixerPlugin.getAudioTrackMap(),(C=E.get(v.id)).hasMicrophone){K.next=39;break}return T.stop(),K.abrupt("continue",54);case 39:return O=Tt.AudioMixerPlugin.mix({targetTrack:T,sourceList:C.sourceList,trackList:C.trackList}),K.next=42,this.replaceTrack(O);case 42:return K.abrupt("continue",54);case 43:if(T.kind!==xe||!this.isVideoTrackBeautified()){K.next=50;break}return K.next=46,this.generateBeautyTrack(T);case 46:return F=K.sent,K.next=49,this.replaceTrack(F);case 49:return K.abrupt("continue",54);case 50:return K.next=52,this.replaceTrack(T);case 52:if(T.readyState!=="ended"){K.next=54;break}throw new Error("new track is failed, muted ".concat(T.muted," readyState ").concat(T.readyState));case 54:U++,K.next=30;break;case 57:this.updateDeviceIdInUse(),Ie.logSuccessEvent({userId:this.client_?this.client_.getUserId():this.userId_,eventType:Vb}),g.audio&&(this.isAudioRecovering_=!1),g.video&&(this.isVideoRecovering_=!1),this.log_.warn("recoverCapture() successfully"),this.emitter_.emit(W6,{isCamera:g.video,isMicrophone:g.audio,cameraId:this.cameraId_,microphoneId:this.microphoneId_}),K.next=71;break;case 65:throw K.prev=65,K.t0=K.catch(7),g.audio&&(this.isAudioRecovering_=!1),g.video&&(this.isVideoRecovering_=!1),this.log_.warn("recoverCapture() failed, "+K.t0),K.t0;case 71:case"end":return K.stop()}},f,this,[[7,65]])})),function(f){return s.apply(this,arguments)})},{key:"updateDeviceIdInUse",value:function(){var f=this;if(!this.mediaStream_)return this.cameraId_="",this.cameraGroupId_="",this.microphoneId_="",void(this.microphoneGroupId_="");yo&&this.mediaStream_.getTracks().forEach(function(w){if(w.kind===Ce&&f.isAudioTrackMixed()){var j=f.getMicrophoneTrackMixed();if(j){var z=j.getSettings(),$=z.deviceId,ue=z.groupId;$&&(f.microphoneId_=$,f.microphoneGroupId_=ue,f.microphoneLabel_=j.label)}}else if(w.kind===xe&&f.isVideoTrackBeautified()){var L=f.getBeautyOriginTrack();if(L){var k=L.getSettings(),P=k.deviceId,A=k.groupId;P&&(f.cameraId_=P,f.cameraGroupId_=A)}}else{var U=w.getSettings(),T=U.deviceId,v=U.groupId;T&&(w.kind===Ce?(f.microphoneId_=T,f.microphoneGroupId_=v,f.microphoneLabel_=w.label):w.kind!==xe||f.screen_||(f.cameraId_=T,f.cameraGroupId_=v))}});var g=this.mediaStream_.getAudioTracks(),I=this.mediaStream_.getVideoTracks();g&&g.length===0&&(this.microphoneId_="",this.microphoneGroupId_=""),I&&I.length===0&&(this.cameraId_="",this.cameraGroupId_="")}},{key:"isAudioTrackMixed",value:function(){if(Tt.AudioMixerPlugin){var f=Tt.AudioMixerPlugin.getAudioTrackMap(),g=this.getAudioTrack();if(f&&g&&f.has(g.id))return!0}return!1}},{key:"getMicrophoneTrackMixed",value:function(){if(Tt.AudioMixerPlugin){var f=Tt.AudioMixerPlugin.getAudioTrackMap(),g=this.getAudioTrack();if(f&&g&&f.has(g.id)){var I=f.get(g.id);return I.hasMicrophone?I.microphoneTrack:null}}return null}},{key:"isVideoTrackBeautified",value:function(){if(Tt.beautyTrackMap){var f=Tt.beautyTrackMap,g=this.getVideoTrack();if(g&&f.has(g.id))return!0}return!1}},{key:"getBeautyOriginTrack",value:function(){if(Tt.beautyTrackMap){var f=Tt.beautyTrackMap,g=this.getVideoTrack();if(g&&f.has(g.id)){var I=f.get(g.id);if(I.originTrack)return I.originTrack}}return null}},{key:"generateBeautyTrack",value:(a=N(p().mark(function f(g){var I,w,j,z;return p().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(I=null,w=this.getVideoTrack(),j=Tt.beautyTrackMap.get(w.id),z=j.param,j.type){$.next=8;break}I=j.pluginInstance.generateBeautyTrack(g),$.next=22;break;case 8:$.t0=j.type,$.next=$.t0==="beauty"?11:$.t0==="virtual"?13:$.t0==="mixed"?17:21;break;case 11:return I=j.pluginInstance.generateBeautyTrack(g),$.abrupt("break",22);case 13:return $.next=15,j.pluginInstance.generateVirtualTrack({videoTrack:g,type:z.type,img:z.img});case 15:case 19:return I=$.sent,$.abrupt("break",22);case 17:return $.next=19,j.pluginInstance.generateMixedTrack({videoTrack:g,type:z.type,img:z.img});case 21:return $.abrupt("break",22);case 22:return j.pluginInstance.deleteSource(w.id),this.log_.info("regenerate beauty track, track id = ".concat(g.id)),$.abrupt("return",I);case 25:case"end":return $.stop()}},f,this)})),function(f){return a.apply(this,arguments)})},{key:"getScreen",value:function(){return this.screen_}},{key:"hasScreenTrack",value:function(){if(this.screen_)return!0;var f=this.getVideoTrack();return!!f&&(f.contentHint===mb||f.contentHint===LN)}},{key:"getVideo",value:function(){return this.video_}},{key:"getAudio",value:function(){return this.audio_}},{key:"getCameraId",value:function(){return this.cameraId_}},{key:"getMicrophoneId",value:function(){return this.microphoneId_}},{key:"getMicrophoneGroupId",value:function(){return this.microphoneGroupId_}},{key:"getIsReadyToPublish",value:function(){return this.isReadyToPublish_}},{key:"setIsReadyToPublish",value:function(f){this.isReadyToPublish_=f}},{key:"setPublishState",value:function(f){this.publishState_=f}},{key:"setBeautyStatus",value:function(f){this.beautyStatus_=!!f}},{key:"getBeautyStatus",value:function(){return this.beautyStatus_}},{key:"syncMuteState",value:function(){var f=this.getAudioTrack(),g=this.getVideoTrack();if(f){var I=!f.enabled;this.setMuteState(Ce,I)}if(g){var w=!g.enabled;this.setMuteState(xe,w)}this.connection_&&this.connection_.sendMutedFlag(this.muteState_,this)}},{key:"keepMuteState",value:function(f){f instanceof MediaStreamTrack&&this.muteState_[f.kind]&&(f.enabled=!1,this.log_.warn("prev ".concat(f.kind," track is muted, keep mute state")))}},{key:"onVideoTrackStopped",value:(o=N(p().mark(function f(g){var I,w,j=this;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(I=g.stream,w=g.type,I===this&&this.video_&&this.cameraId_&&Q6(this.getVideoTrack())&&!this.isVideoRecovering_&&(w!==nn||!tc||!Yi)){z.next=3;break}return z.abrupt("return");case 3:if(!(Date.now()-this.prevVideoRecoverTime_<nl)){z.next=6;break}return setTimeout(function(){return j.onVideoTrackStopped({stream:I,type:w})},nl),z.abrupt("return");case 6:w===nn?setTimeout(function(){var $=j.getVideoTrack();$!=null&&$.muted&&document.visibilityState==="visible"&&j.recoverVideoCapture(w)},5e3):this.recoverVideoCapture(w);case 7:case"end":return z.stop()}},f,this)})),function(f){return o.apply(this,arguments)})},{key:"onAudioTrackStopped",value:(i=N(p().mark(function f(g){var I,w,j=this;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(I=g.stream,w=g.type,!(I!==this||!this.audio_||!this.microphoneId_||this.isAudioRecovering_||w===nn&&tc&&Yi)){z.next=3;break}return z.abrupt("return");case 3:if(!(Date.now()-this.prevAudioRecoverTime_<nl)){z.next=6;break}return setTimeout(function(){return j.onAudioTrackStopped({stream:I,type:w})},nl),z.abrupt("return");case 6:w===nn?setTimeout(function(){var $=j.getAudioTrack();$!=null&&$.muted&&document.visibilityState==="visible"&&j.recoverAudioCapture(w)},5e3):this.recoverAudioCapture(w);case 7:case"end":return z.stop()}},f,this)})),function(f){return i.apply(this,arguments)})},{key:"recoverAudioCapture",value:(r=N(p().mark(function f(g){return p().wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return this.prevAudioRecoverTime_=Date.now(),Ie.uploadEvent({log:"stat-local-audio-".concat(g),userId:this.userId_}),I.t0=this,I.next=5,this.getRecoverCaptureDeviceId(!1);case 5:I.t1=I.sent,I.t2={audio:!0,video:!1,microphoneId:I.t1},I.t0.recoverCapture.call(I.t0,I.t2);case 8:case"end":return I.stop()}},f,this)})),function(f){return r.apply(this,arguments)})},{key:"recoverVideoCapture",value:(n=N(p().mark(function f(g){return p().wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return this.prevVideoRecoverTime_=Date.now(),Ie.uploadEvent({log:"stat-local-video-".concat(g),userId:this.userId_}),I.t0=this,I.next=5,this.getRecoverCaptureDeviceId(!0);case 5:I.t1=I.sent,I.t2={audio:!1,video:!0,cameraId:I.t1},I.t0.recoverCapture.call(I.t0,I.t2);case 8:case"end":return I.stop()}},f,this)})),function(f){return n.apply(this,arguments)})},{key:"getRecoverCaptureDeviceId",value:(t=N(p().mark(function f(){var g,I,w,j,z=arguments;return p().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(g=!(z.length>0&&z[0]!==void 0)||z[0],!(I=g?this.cameraId_:this.microphoneId_)||!this.enableAutoRecoverOther_){$.next=17;break}if(fa.has(I)?fa.set(I,fa.get(I)+1):fa.set(I,1),!((w=fa.get(I))>=3)){$.next=17;break}if(!g){$.next=12;break}return $.next=9,Tt.getCameras();case 9:$.t0=$.sent.find(function(ue){return!fa.has(ue.deviceId)}),$.next=15;break;case 12:return $.next=14,Tt.getMicrophones();case 14:$.t0=$.sent.find(function(ue){return!fa.has(ue.deviceId)});case 15:(j=$.t0)&&(this.log_.warn("".concat(g?"camera":"mic"," ").concat(I," capture fail ").concat(w," times, change new ").concat(j.deviceId)),I=j.deviceId);case 17:return $.abrupt("return",I);case 18:case"end":return $.stop()}},f,this)})),function(){return t.apply(this,arguments)})},{key:"setAudioVolume",value:function(f){se($e(b.prototype),"setAudioVolume",this).call(this,f)}},{key:"clearCanvas",value:function(){this.canvasInterval_&&(yt.clearTask(this.canvasInterval_),this.canvasInterval_=null,this.canvas_=null,this.canvasTrack_=null)}},{key:"getCanvasTrack",value:function(){var f=this;if(this.canvasTrack_)return this.canvasTrack_;this.log_.info("gen canvas track");var g=this.getVideoTrack().getSettings(),I=g.width,w=g.height,j=g.frameRate;this.canvas_=document.createElement("canvas");var z=this.canvas_.getContext("2d");this.canvas_.width=I,this.canvas_.height=w,this.canvasInterval_=yt.run(rl,function(){if(f.hasVideo()){var ue=f.getVideoTrack().getSettings();ue.width===f.canvas_.width&&ue.height===f.canvas_.height||(f.canvas_.width=ue.width,f.canvas_.height=ue.height)}f.videoPlayer_&&f.videoPlayer_.element_&&z.drawImage(f.videoPlayer_.element_,0,0,f.canvas_.width,f.canvas_.height)},{fps:Math.max(15,j)});var $=this.canvas_.captureStream();return this.canvasTrack_=$.getVideoTracks()[0],this.canvasTrack_}},{key:"setClient",value:function(f,g){f&&(this.log_.setUserId(f.getUserId()),this.log_.setSdkAppId(f.getSDKAppId()),g||this.syncMuteState()),this.client_=f}},{key:"setAudioCaptureVolume",value:function(){var f=this,g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:100;if(!this.hasAudio()||g<0||!Dm())return!1;if(this.captureVolume_===g)return!0;this.captureVolume_=g,this.log_.info("setCaptureVolume "+g),g/=100;var I=Bk();if(this.gain_.gainNode)this.gain_.gainNode.gain.value=g;else{var w,j=new MediaStream;j.addTrack(this.getAudioTrack());var z=I.createMediaStreamDestination(),$=I.createMediaStreamSource(j),ue=I.createGain();ue.gain.value=g,$.connect(ue),ue.connect(z);var L=z.stream.getAudioTracks()[0],k=function(P){return f.log_.info("gained audio track ".concat(P))};L.onmute=function(){return k("muted")},L.onunmute=function(){return k("unmuted")},L.onended=function(){return k("ended")},this.gain_={source:$,audioTrack:L,gainNode:ue},(w=this.connection_)===null||w===void 0||w.replaceTrack(L),se($e(b.prototype),"restartAudio",this).call(this)}return!0}},{key:"getGainedTrack",value:function(){return this.gain_.audioTrack}},{key:"reconnectGainNode",value:function(f){this.log_.warn("reconnect gain node");var g=new MediaStream;g.addTrack(f);var I=Bk().createMediaStreamSource(g);I.connect(this.gain_.gainNode),this.gain_.source.disconnect(),this.gain_.source=I}},{key:"stopGainNode",value:function(){var f=this.gain_,g=f.audioTrack,I=f.source,w=f.gainNode;w&&(I.disconnect(),w.disconnect(),g.onmute=null,g.onunmute=null,g.onended=null,g.stop(),this.gain_={source:null,gainNode:null,audioTrack:null}),this.captureVolume_=100}},{key:"close",value:function(){this.setIsReadyToPublish(!1),this.stopGainNode(),se($e(b.prototype),"close",this).call(this)}},{key:"setIsAIDenoiser",value:function(f){this.isAIDenoiser=f}}]),b}(kI),W(rt.prototype,"setAudioProfile",[II],Object.getOwnPropertyDescriptor(rt.prototype,"setAudioProfile"),rt.prototype),W(rt.prototype,"setVideoProfile",[wI],Object.getOwnPropertyDescriptor(rt.prototype,"setVideoProfile"),rt.prototype),W(rt.prototype,"setScreenProfile",[EI],Object.getOwnPropertyDescriptor(rt.prototype,"setScreenProfile"),rt.prototype),W(rt.prototype,"setVideoContentHint",[CI],Object.getOwnPropertyDescriptor(rt.prototype,"setVideoContentHint"),rt.prototype),W(rt.prototype,"switchDevice",[RI],Object.getOwnPropertyDescriptor(rt.prototype,"switchDevice"),rt.prototype),W(rt.prototype,"addTrack",[AI],Object.getOwnPropertyDescriptor(rt.prototype,"addTrack"),rt.prototype),W(rt.prototype,"removeTrack",[PI],Object.getOwnPropertyDescriptor(rt.prototype,"removeTrack"),rt.prototype),W(rt.prototype,"replaceTrack",[DI],Object.getOwnPropertyDescriptor(rt.prototype,"replaceTrack"),rt.prototype),W(rt.prototype,"recoverCapture",[LI],Object.getOwnPropertyDescriptor(rt.prototype,"recoverCapture"),rt.prototype),W(rt.prototype,"setAudioCaptureVolume",[OI,MI],Object.getOwnPropertyDescriptor(rt.prototype,"setAudioCaptureVolume"),rt.prototype),rt),UI={voiceActivityDetection:!1},m7=(NI=xc({retries:1,timeout:0,onRetrying:function(e){this.log_.warn("connection timeout, retrying [".concat(e,"]"))},onError:function(e,t,n){e.message.includes("timeout")?(this.reset(),this.initialize(),t()):n(e)}}),Ic=function(e){Nt(ue,e);var t,n,r,i,o,a,s,c,u,d,h,_,y,b,f,g,I,w,j,z,$=Ar(ue);function ue(L){var k;return J(this,ue),(k=$.call(this,L)).localStream_=null,k.exchangeSDPTimeout_=-1,k.localAuxStream_=null,k.publishingStream_=null,k.isPublishingAuxStream_=!1,k.smallGenerator_=null,k.isSDPExchanging_=!1,k.ssrc_={audio:0,video:0,small:0,auxiliary:0},k.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},k.mixedAudioTrack_=null,k}return ye(ue,[{key:"isMainStreamPublished",get:function(){return!!this.localStream_}},{key:"isAuxStreamPublished",get:function(){return!!this.localAuxStream_}},{key:"publishState",get:function(){var L=this,k={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this.peerConnection_){var P,A,U,T,v=this.peerConnection_.getSenders();v&&(yi()?(k.audio=!((P=v[0])===null||P===void 0||!P.track),k.bigVideo=!((A=v[1])===null||A===void 0||!A.track),k.smallVideo=!((U=v[2])===null||U===void 0||!U.track),k.auxVideo=!((T=v[3])===null||T===void 0||!T.track)):v.forEach(function(E){E.track&&(E.track.kind===Ce?k.audio=!0:(k.bigVideo=!0,L.smallGenerator_&&(k.smallVideo=!0)))}))}return k}},{key:"initialize",value:function(){se($e(ue.prototype),"initialize",this).call(this),this.installEvents()}},{key:"reset",value:function(){this.isReconnecting_&&this.stopReconnection(),this.closePeerConnection(),this.uninstallEvents(),this.clearExchangeSDPTimeout(),this.localStream_&&this.localStream_.clearCanvas()}},{key:"close",value:function(){se($e(ue.prototype),"close",this).call(this),this.reset(),this.emitConnectionStateChangedEvent(sn),this.smallGenerator_&&(this.smallGenerator_.destroy(),this.smallGenerator_=null)}},{key:"installEvents",value:function(){this.emitter_.on(tt.ERROR,this.handleError,this),this.emitter_.on(tt.CONNECTION_STATE_CHANGED,this.handleConnectionStateChange,this)}},{key:"uninstallEvents",value:function(){this.emitter_.off(tt.ERROR,this.handleError,this),this.emitter_.off(tt.CONNECTION_STATE_CHANGED,this.handleConnectionStateChange,this)}},{key:"publish",value:(z=N(p().mark(function L(k,P){var A,U,T,v,E,C;return p().wrap(function(O){for(;;)switch(O.prev=O.next){case 0:if(this.publishingStream_=k,this.isPublishingAuxStream_=P,T=k.getVideoTrack(),v=null,!T||P||!this.client_.getIsEnableSmallStream()){O.next=9;break}return this.smallGenerator_=new rd(k),O.next=8,this.smallGenerator_.initialize();case 8:v=this.smallGenerator_.generateSmallVideoTrack(this.client_.smallStreamConfig_);case 9:if((A=this.client_)===null||A===void 0||!A.get2k4kFlag()){O.next=18;break}if(E=this.client_.get2k4kFlag()===1,C=k.getVideoProfile(),E||k.getScreen()||!(C.height*C.width>=3686400)){O.next=18;break}return C.width=1920,C.height=1080,this.log_.warn(tk),O.next=18,k.setVideoProfile(C);case 18:if(this.updateMediaSettings(k,P),!Pm()){O.next=24;break}return O.next=22,this.publishByTransceiver(k,v,P);case 22:O.next=26;break;case 24:return O.next=26,this.publishByAddTrack(k,v);case 26:return this.publishingStream_=null,this.isPublishingAuxStream_=!1,P?this.localAuxStream_=k:this.localStream_=k,(U=this.sei_)===null||U===void 0||U.handleEncodedStreams(),O.abrupt("return",k);case 31:case"end":return O.stop()}},L,this)})),function(L,k){return z.apply(this,arguments)})},{key:"publishByTransceiver",value:(j=N(p().mark(function L(k,P,A){var U,T,v,E,C,O,F;return p().wrap(function(K){for(;;)switch(K.prev=K.next){case 0:if(this.log_.info("publish by transceiver"),U=k.getMediaStream(),T=k.getAudioTrack(),v=k.getVideoTrack(),E=null,(hl||dl)&&Mk(v)&&(E=k.getCanvasTrack()),(C=this.peerConnection_.getTransceivers()).length!==0){K.next=16;break}return this.peerConnection_.addTransceiver(T||Ce,{direction:fi,streams:[U]}),this.peerConnection_.addTransceiver(A?xe:E||v||xe,{direction:fi,streams:[U]}),this.peerConnection_.addTransceiver(P||xe,{direction:fi,streams:[U]}),this.peerConnection_.addTransceiver(A?E||v:xe,{direction:fi,streams:[U]}),K.next=14,this.connect();case 14:K.next=46;break;case 16:if(O=[],!T){K.next=29;break}if(!C[0].sender.track){K.next=24;break}return this.mixAudioTrack(C[0].sender.track,T),K.next=22,C[0].sender.replaceTrack(this.mixedAudioTrack_);case 22:K.next=27;break;case 24:return K.next=26,C[0].sender.replaceTrack(T);case 26:O.push(0);case 27:return K.next=29,this.setBandwidth({bandwidth:k.getAudioBitrate(),type:Ce});case 29:if(!v){K.next=42;break}return F=A?3:1,K.next=33,C[F].sender.replaceTrack(E||v);case 33:return K.next=35,this.setBandwidth({bandwidth:k.getVideoBitrate(),type:xe,videoType:A?mt:Ku});case 35:if(O.push(F),!P){K.next=42;break}return K.next=39,C[2].sender.replaceTrack(P);case 39:return K.next=41,this.setBandwidth({bandwidth:this.client_.smallStreamConfig.bitrate,type:xe,videoType:Nr});case 41:O.push(2);case 42:return K.next=44,this.setTransceiverDirection(fi,O);case 44:return K.next=46,this.doPublishChange();case 46:case"end":return K.stop()}},L,this)})),function(L,k,P){return j.apply(this,arguments)})},{key:"publishByAddTrack",value:(w=N(p().mark(function L(k,P){var A,U,T,v;return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return this.log_.info("publish by addtrack"),A=k.getMediaStream(),U=k.getAudioTrack(),T=k.getVideoTrack(),U&&this.peerConnection_.addTrack(U,A),T&&(this.peerConnection_.addTrack(T,A),P&&((v=new MediaStream).addTrack(P),this.peerConnection_.addTrack(P,v))),E.next=8,this.connect();case 8:case"end":return E.stop()}},L,this)})),function(L,k){return w.apply(this,arguments)})},{key:"unpublish",value:(I=N(p().mark(function L(k){var P,A,U,T;return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(yi()){v.next=2;break}return v.abrupt("return",this.doUnpublish());case 2:if(P=k.getAudioTrack(),A=k===this.localAuxStream_,U=this.peerConnection_.getSenders(),T=[],!P){v.next=17;break}if(!this.mixedAudioTrack_){v.next=14;break}return this.log_.info("has mixed audioTrack, use another audioTrack"),v.next=11,U[0].replaceTrack(A?this.localStream_.getAudioTrack():this.localAuxStream_.getAudioTrack());case 11:this.destroyMixedAudioTrack(),v.next=17;break;case 14:return v.next=16,U[0].replaceTrack(null);case 16:T.push(0);case 17:if(!A){v.next=25;break}return v.next=20,U[3].replaceTrack(null);case 20:this.localAuxStream_=null,this.mediaSettings_=H(H({},this.mediaSettings_),{},{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),T.push(3),v.next=32;break;case 25:return v.next=27,U[1].replaceTrack(null);case 27:return v.next=29,U[2].replaceTrack(null);case 29:this.localStream_=null,this.mediaSettings_=H(H({},this.mediaSettings_),{},{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),T.push(1,2);case 32:if(!this.localStream_&&!this.localAuxStream_){v.next=39;break}return v.next=35,this.setTransceiverDirection(io,T);case 35:return v.next=37,this.doPublishChange();case 37:v.next=41;break;case 39:return v.next=41,this.doUnpublish();case 41:case"end":return v.stop()}},L,this)})),function(L){return I.apply(this,arguments)})},{key:"doPublishChange",value:(g=N(p().mark(function L(){var k;return p().wrap(function(P){for(;;)switch(P.prev=P.next){case 0:return k={state:this.publishState,constraintConfig:this.mediaSettings_},P.next=3,this.signalChannel_.sendWaitForResponse({command:_U,data:k,responseCommand:vt.PUBLISH_STATE_CHANGE_RESULT});case 3:case"end":return P.stop()}},L,this)})),function(){return g.apply(this,arguments)})},{key:"doUnpublish",value:function(){var L=this;return this.signalChannel_.sendWaitForResponse({command:pT,commandDesc:"unpublish",responseCommand:vt.UNPUBLISH_RESULT}).then(function(){L.close()}).catch(function(){L.close()})}},{key:"updateMediaSettings",value:function(L,k){var P=this;this.localAuxStream_&&L===this.localAuxStream_&&(k=!0);var A=this.client_.getSystemResult().detail,U=A.isH264EncodeSupported,T=A.isVp8EncodeSupported;U?this.mediaSettings_.videoCodec="H264":T&&(this.mediaSettings_.videoCodec="VP8"),yo?L.getMediaStream().getTracks().forEach(function(v){var E=v.getSettings();if(v.kind===Ce){var C=1;E.channelCount&&(C=E.channelCount),P.mediaSettings_.audioChannel=C,P.mediaSettings_.audioBps=1e3*L.getAudioBitrate(),P.mediaSettings_.audioFs=E.sampleRate}else if(v.kind===xe){if(k)return P.mediaSettings_.auxVideoWidth=E.width,P.mediaSettings_.auxVideoHeight=E.height,P.mediaSettings_.auxVideoFps=E.frameRate,void(P.mediaSettings_.auxVideoBps=1e3*L.getVideoBitrate());P.client_.getIsEnableSmallStream()&&(P.mediaSettings_.smallVideoWidth=P.client_.smallStreamConfig.width,P.mediaSettings_.smallVideoHeight=P.client_.smallStreamConfig.height,P.mediaSettings_.smallVideoFps=P.client_.smallStreamConfig.frameRate,P.mediaSettings_.smallVideoBps=1e3*P.client_.smallStreamConfig.bitrate),P.mediaSettings_.videoWidth=E.width,P.mediaSettings_.videoHeight=E.height,P.mediaSettings_.videoFps=E.frameRate,P.mediaSettings_.videoBps=1e3*L.getVideoBitrate()}}):this.updateMediaSettingsFromProfile(L),this.log_.info("updateMediaSettings: "+JSON.stringify(this.mediaSettings_))}},{key:"updateMediaSettingsFromProfile",value:function(L){if(L){if(L.hasAudio()){var k=L.getAudioProfile();this.mediaSettings_.audioChannel=k.channelCount,this.mediaSettings_.audioBps=1e3*k.bitrate,this.mediaSettings_.audioFs=k.sampleRate}if(L.hasVideo()){var P=L.getVideoProfile();this.mediaSettings_.videoWidth=P.width,this.mediaSettings_.videoHeight=P.height,this.mediaSettings_.videoFps=P.frameRate,this.mediaSettings_.videoBps=1e3*P.bitrate}}}},{key:"sendMediaSettings",value:function(L){var k=this;this.updateMediaSettings(L),this.signalChannel_.sendWaitForResponse({command:MU,data:this.mediaSettings_,responseCommand:vt.UPDATE_CONSTRAINT_CONFIG_RES}).then(function(P){P.data.code!==0&&k.log_.warn(P.data.message)}).catch(this.log_.warn)}},{key:"addTrack",value:(f=N(p().mark(function L(k,P){var A,U;return p().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(this.peerConnection_){T.next=2;break}return T.abrupt("return");case 2:if(U=P===this.localAuxStream_,this.log_.info("is adding ".concat(k.kind," track to current published local ").concat(U?mt:Ze," stream")),(A=this.sei_)===null||A===void 0||A.handleEncodedStreams(),!yi()){T.next=10;break}return T.next=8,this.addTrackByTransceiver(k,P);case 8:T.next=12;break;case 10:return T.next=12,this.addTrackBySender(k);case 12:vn(this.userId_,{eventId:k.kind===Ce?mT:fT,eventDesc:"add ".concat(k.kind," track to current published stream"),timestamp:on(),userId:this.userId_,tinyId:this.tinyId_});case 13:case"end":return T.stop()}},L,this)})),function(L,k){return f.apply(this,arguments)})},{key:"addTrackByTransceiver",value:(b=N(p().mark(function L(k,P){var A,U,T,v;return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(A=P===this.localAuxStream_,U=this.peerConnection_.getTransceivers(),k.kind!==Ce){E.next=13;break}if(!U[0].sender.track){E.next=9;break}return this.mixAudioTrack(U[0].sender.track,k),E.next=7,U[0].sender.replaceTrack(this.mixedAudioTrack_);case 7:E.next=11;break;case 9:return E.next=11,U[0].sender.replaceTrack(k);case 11:E.next=26;break;case 13:return T=A?3:1,E.next=16,U[T].sender.replaceTrack(k);case 16:if(T!==1||!this.client_.getIsEnableSmallStream()){E.next=23;break}return this.smallGenerator_=new rd(this.localStream_),E.next=20,this.smallGenerator_.initialize();case 20:return v=this.smallGenerator_.generateSmallVideoTrack(this.client_.smallStreamConfig_),E.next=23,U[2].sender.replaceTrack(v);case 23:if(U[T].direction!==io){E.next=26;break}return E.next=26,this.setTransceiverDirection(fi,[T]);case 26:return this.updateMediaSettings(P,A),E.next=29,this.doPublishChange();case 29:case"end":return E.stop()}},L,this)})),function(L,k){return b.apply(this,arguments)})},{key:"addTrackBySender",value:(y=N(p().mark(function L(k){var P,A,U,T,v;return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(!(yi()&&this.peerConnection_.getTransceivers().findIndex(function(C){return C.direction==="stopped"})>=0)){E.next=4;break}return this.log_.warn("transceiver is stopping, negotiate sdp first"),E.next=4,this.updateOffer(un.REMOVE,k);case 4:if(!(P=this.peerConnection_.getSenders().find(function(C){return C.track&&C.track.kind===k.kind}))){E.next=11;break}return this.log_.warn("sender already exists, remove sender first"),A=P.track,this.removeSender(P),E.next=11,this.updateOffer(un.REMOVE,A);case 11:if(U=this.localStream_.getMediaStream(),this.peerConnection_.addTrack(k,U),k.kind!==xe||!this.client_.getIsEnableSmallStream()){E.next=21;break}return this.smallGenerator_=new rd(this.localStream_),E.next=17,this.smallGenerator_.initialize();case 17:T=this.smallGenerator_.generateSmallVideoTrack(this.client_.smallStreamConfig_),(v=new MediaStream).addTrack(T),this.peerConnection_.addTrack(T,v);case 21:return E.next=23,this.updateOffer(un.ADD,k);case 23:case"end":return E.stop()}},L,this)})),function(L){return y.apply(this,arguments)})},{key:"isNeedToResetOfferOrder",value:function(){if(this.sdpSemantics_===nf||!this.peerConnection_||!this.peerConnection_.localDescription)return!1;for(var L=this.peerConnection_.localDescription.sdp,k=Fr(L),P=0;P<k.media.length;P++)if(k.media[P].mid===0&&k.media[P].type===xe)return!0;return!1}},{key:"removeSender",value:function(L){var k=null;yi()&&(k=this.peerConnection_.getTransceivers().find(function(P){return P.sender&&P.sender.track===L.track})),this.peerConnection_.removeTrack(L),k&&In(k.stop)&&(this.log_.info("stop transceiver"),k.stop())}},{key:"removeTrack",value:(_=N(p().mark(function L(k,P){return p().wrap(function(A){for(;;)switch(A.prev=A.next){case 0:if(this.peerConnection_){A.next=2;break}return A.abrupt("return");case 2:if(this.log_.info("is removing ".concat(k.kind," track from current published local ").concat(P===this.localAuxStream_?mt:Ze," stream")),!yi()){A.next=8;break}return A.next=6,this.removeTrackByTransceiver(k,P);case 6:A.next=10;break;case 8:return A.next=10,this.removeTrackBySender(k);case 10:vn(this.userId_,{eventId:k.kind===Ce?gT:vT,eventDesc:"remove ".concat(k.kind," track from current published stream"),timestamp:on(),userId:this.userId_,tinyId:this.tinyId_});case 11:case"end":return A.stop()}},L,this)})),function(L,k){return _.apply(this,arguments)})},{key:"removeTrackByTransceiver",value:(h=N(p().mark(function L(k,P){var A,U,T;return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(A=P===this.localAuxStream_,U=this.peerConnection_.getTransceivers(),k.kind!==Ce){v.next=13;break}if(!this.mixedAudioTrack_){v.next=9;break}return v.next=6,U[0].sender.replaceTrack(A?this.localStream_.getAudioTrack():this.localAuxStream_.getAudioTrack());case 6:this.destroyMixedAudioTrack(),v.next=11;break;case 9:return v.next=11,U[0].sender.replaceTrack(null);case 11:v.next=23;break;case 13:return T=A?3:1,v.next=16,U[T].sender.replaceTrack(null);case 16:if(T!==1||!this.smallGenerator_){v.next=21;break}return this.smallGenerator_.destroy(),this.smallGenerator_=null,v.next=21,U[2].sender.replaceTrack(null);case 21:return v.next=23,this.setTransceiverDirection(io,[T]);case 23:return this.updateMediaSettings(P,A),v.next=26,this.doPublishChange();case 26:case"end":return v.stop()}},L,this)})),function(L,k){return h.apply(this,arguments)})},{key:"setTransceiverDirection",value:(d=N(p().mark(function L(k,P){var A,U,T,v,E,C;return p().wrap(function(O){for(;;)switch(O.prev=O.next){case 0:if(Tr){O.next=2;break}return O.abrupt("return");case 2:if(A=!1,U=!1,this.log_.info("setting transceiver ".concat(P.join(",")," direction to ").concat(k)),T=this.peerConnection_.getTransceivers(),P.forEach(function(F){T[F].direction!==k&&(T[F].direction=k,A=!0)}),!A){O.next=14;break}return this.log_.info("updating offer"),O.next=11,this.peerConnection_.createOffer();case 11:return v=O.sent,O.next=14,this.peerConnection_.setLocalDescription(v);case 14:if(E=-1,C=this.peerConnection_.remoteDescription.sdp.split(`\r
|
|
99
|
-
`).map(function(F){if(F.match(new RegExp("a=(".concat(
|
|
100
|
-
`),!U){
|
|
101
|
-
`):v}),L}},{key:"updateAudioBandwidthRestriction",value:function(L,k){var P="AS";return
|
|
98
|
+
`,r.onclick=this.onQuestionClick.bind(this);var i=document.createElement("div");i.className=lv,i.innerText="".concat(aa()?"\u8BE6\u60C5 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);var o=t.content.firstChild,a=o.querySelector(".".concat(Ml));return a.appendChild(i),a.appendChild(r),a.appendChild(n),o}},{key:"addDiaLog",value:function(){R1()||(this.dialogNode_=this.createDiaLog(),document.body.appendChild(this.dialogNode_),this.dialogNode_.onclick=this.onConfirm.bind(this),this.dialogNode_.querySelector(".".concat(wo)).onclick=function(t){return t.stopPropagation()},this.bodyPosition_=document.body.style.position,document.body.style.position="fixed",ye.info("show autoplay dialog"),xe.uploadEvent({log:Z5}))}},{key:"deleteDiaLog",value:function(){this.dialogNode_&&(document.body.removeChild(this.dialogNode_),document.body.style.position=this.bodyPosition_,this.dialogNode_=null)}},{key:"onConfirm",value:function(){ye.warn("confirm clicked, try resume stream"),K.emit(oc),this.deleteDiaLog()}},{key:"onCollapseClick",value:function(){var t=this.dialogNode_.querySelector(".".concat(w1));t.style.visibility="".concat(this.showDetail_?"hidden":"visible"),t.style.height="".concat(this.showDetail_?0:"fit-content"),this.showDetail_=!this.showDetail_,this.isCollapseClicked_||xe.uploadEvent({log:ej}),this.isCollapseClicked_=!0}},{key:"onQuestionClick",value:function(){window.open(A1,"_blank"),this.isQuestionClicked_||xe.uploadEvent({log:tj}),this.isQuestionClicked_=!0}}]),e}(),L1=function(){function e(n){J(this,e),this.stream_=n.stream,this.userId_=n.stream.getUserId(),this.log_=this.stream_.getLogger(),this.track_=n.track,this.div_=n.div,this.muted_=n.muted,this.objectFit_=n.objectFit,this.mirror_=n.mirror,this.emitter_=new yi,this.initializeElement(),this.state_="NONE",this.pausedRetryCount_=5}var t;return Ie(e,[{key:"isPlaying",get:function(){return this.state_===ao}},{key:"initializeElement",value:function(){var n=new MediaStream;n.addTrack(this.track_);var r=document.createElement(Te);r.srcObject=n,r.muted=!0;var i="width: 100%; height: 100%; object-fit: ".concat(this.objectFit_,";");this.mirror_&&(i+="transform: scaleX(-1);"),r.setAttribute("id","video_".concat(this.stream_.getId())),r.setAttribute("style",i),r.setAttribute("autoplay","autoplay"),r.setAttribute("playsinline","playsinline"),this.div_&&this.div_.appendChild(r),this.element_=r,this.handleEvents()}},{key:"setRect",value:function(n){var r=n.width,i=n.height;this.element_&&(this.element_.style.width=r+"px",this.element_.style.height=i+"px")}},{key:"setMirror",value:function(n){this.element_&&(this.element_.style.transform=n?"scaleX(-1)":"",this.mirror_=n)}},{key:"setObjectFit",value:function(n){this.element_&&(this.element_.style.objectFit="".concat(n),this.objectFit_=n)}},{key:"play",value:(t=N(p().mark(function n(){var r;return p().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.prev=0,i.next=3,this.element_.play();case 3:i.next=11;break;case 5:if(i.prev=5,i.t0=i.catch(0),r=ne({key:pf,data:{media:"Video",error:i.t0}}),this.log_.warn(r),!r.includes("NotAllowedError")){i.next=11;break}throw new ee({code:Y.PLAY_NOT_ALLOWED,message:r});case 11:case"end":return i.stop()}},n,this,[[0,5]])})),function(){return t.apply(this,arguments)})},{key:"handleEvents",value:function(){this.handleElementEvent=this.handleElementEvent.bind(this),this.handleTrackEvent=this.handleTrackEvent.bind(this),this.element_.addEventListener(hi,this.handleElementEvent),this.element_.addEventListener(Nt,this.handleElementEvent),this.element_.addEventListener(pi,this.handleElementEvent),this.element_.addEventListener(io,this.handleElementEvent),this.element_.addEventListener(Jp,this.handleElementEvent),this.track_.addEventListener(Nt,this.handleTrackEvent),this.track_.addEventListener(nn,this.handleTrackEvent),this.track_.addEventListener(yr,this.handleTrackEvent),this.track_.readyState===Nt&&this.handleTrackEvent({type:Nt}),this.track_.muted&&this.handleTrackEvent({type:nn})}},{key:"handleElementEvent",value:function(n){var r=this;switch(n.type){case hi:this.log_.info("video player is playing"),this.state_=ao,K.emit(ic,{stream:this.stream_}),this.emitter_.emit(gn,{state:this.state_,reason:hi}),this.interval_&&(yt.clearTask(this.interval_),this.interval_=null);break;case Nt:this.log_.info("video player is ended"),this.state_!==fi&&(this.state_=fi,this.emitter_.emit(gn,{state:this.state_,reason:Nt}));break;case pi:this.log_.info("video player is paused"),this.div_&&!document.getElementById(this.div_.id)&&this.log_.warn("video player has been remove, element ID: ".concat(this.div_.id)),this.state_=Sr,this.emitter_.emit(gn,{state:this.state_,reason:pi}),this.pausedRetryCount_>0&&!R1()&&(this.log_.info("video player auto resume when video paused"),this.resume(),this.pausedRetryCount_--),$i&&(this.interval_=yt.run(function(){r.element_&&r.state_===Sr&&r.resume()},{delay:3e3}));break;case io:if(this.element_&&this.element_.error){var i="".concat(Mm(),"/").concat(ra().name,"/").concat(ra().version);this.log_.error("video player error observed. code: ".concat(this.element_.error.code," message: ").concat(this.element_.error.message," deviceInfo: ").concat(i)),xe.uploadEvent({log:"stat-".concat(this.stream_.getType(),"-video-").concat(Fb,"-").concat(this.element_.error.code,"-").concat(i),userId:this.userId_,error:this.element_.error})}break;case Jp:K.emit(nm,{stream:this.stream_})}}},{key:"handleTrackEvent",value:function(n){var r=n.type;switch(r){case Nt:this.log_.info("video track is ended"),K.emit(im,{stream:this.stream_,type:r}),this.state_!==fi&&(this.state_=fi,this.emitter_.emit(gn,{state:this.state_,reason:Nt}));break;case nn:this.log_.info("video track is unable to provide media output"),this.stream_.isRemote()||jk(),K.emit(ac,{stream:this.stream_,type:r}),this.state_!==Sr&&(this.state_=Sr,this.emitter_.emit(gn,{state:this.state_,reason:nn}));break;case yr:this.log_.info("video track is able to provide media output"),K.emit(em,{stream:this.stream_}),this.state_===Sr&&(this.state_=ao,this.emitter_.emit(gn,{state:this.state_,reason:yr}))}}},{key:"unbindEvents",value:function(){this.element_&&(this.element_.removeEventListener(hi,this.handleElementEvent),this.element_.removeEventListener(Nt,this.handleElementEvent),this.element_.removeEventListener(pi,this.handleElementEvent),this.element_.removeEventListener(io,this.handleElementEvent),this.element_.removeEventListener(Jp,this.handleElementEvent)),this.track_&&(this.track_.removeEventListener(Nt,this.handleTrackEvent),this.track_.removeEventListener(nn,this.handleTrackEvent),this.track_.removeEventListener(yr,this.handleTrackEvent))}},{key:"stop",value:function(){this.unbindEvents(),this.div_&&this.div_.removeChild(this.element_),this.element_.srcObject=null,this.element_=null,this.interval_&&yt.clearTask(this.interval_)}},{key:"resume",value:function(){return this.play()}},{key:"getVideoFrame",value:function(){var n=document.createElement("canvas");return n.width=this.element_.videoWidth,n.height=this.element_.videoHeight,n.getContext("2d").drawImage(this.element_,0,0),n.toDataURL("image/png")}},{key:"on",value:function(n,r){this.emitter_.on(n,r)}},{key:"getElement",value:function(){return this.element_?this.element_:null}}]),e}(),hv=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined",rj=$n,ij=gr,aj=RangeError,O1=function(e){if(e===void 0)return 0;var t=rj(e),n=ij(t);if(t!==n)throw aj("Wrong length or index");return n},oj=Array,sj=Math.abs,Jr=Math.pow,cj=Math.floor,uj=Math.log,lj=Math.LN2,dj={pack:function(e,t,n){var r,i,o,a=oj(n),s=8*n-t-1,c=(1<<s)-1,u=c>>1,l=t===23?Jr(2,-24)-Jr(2,-77):0,h=e<0||e===0&&1/e<0?1:0,_=0;for((e=sj(e))!=e||e===1/0?(i=e!=e?1:0,r=c):(r=cj(uj(e)/lj),e*(o=Jr(2,-r))<1&&(r--,o*=2),(e+=r+u>=1?l/o:l*Jr(2,1-u))*o>=2&&(r++,o/=2),r+u>=c?(i=0,r=c):r+u>=1?(i=(e*o-1)*Jr(2,t),r+=u):(i=e*Jr(2,u-1)*Jr(2,t),r=0));t>=8;)a[_++]=255&i,i/=256,t-=8;for(r=r<<t|i,s+=t;s>0;)a[_++]=255&r,r/=256,s-=8;return a[--_]|=128*h,a},unpack:function(e,t){var n,r=e.length,i=8*r-t-1,o=(1<<i)-1,a=o>>1,s=i-7,c=r-1,u=e[c--],l=127&u;for(u>>=7;s>0;)l=256*l+e[c--],s-=8;for(n=l&(1<<-s)-1,l>>=-s,s+=t;s>0;)n=256*n+e[c--],s-=8;if(l===0)l=1-a;else{if(l===o)return n?NaN:u?-1/0:1/0;n+=Jr(2,t),l-=a}return(u?-1:1)*n*Jr(2,l-t)}},hj=jt,M1=oi,pj=rn,N1=function(e){for(var t=hj(this),n=pj(t),r=arguments.length,i=M1(r>1?arguments[1]:void 0,n),o=r>2?arguments[2]:void 0,a=o===void 0?n:M1(o,n);a>i;)t[i++]=e;return t},Vl=te,pv=pe,fv=_e,fj=hv,V1=Yn,U1=Mn,j1=Ds,mv=oe,Ul=si,mj=$n,vj=gr,jl=O1,B1=dj,gj=Is,F1=Fa,_j=ai.f,yj=Pt.f,Sj=N1,bj=Su,G1=Fi,kj=V1.PROPER,H1=V1.CONFIGURABLE,Eo=Xe.get,z1=Xe.set,vv="ArrayBuffer",Tj="DataView",W1="Wrong index",Wn=Vl.ArrayBuffer,ir=Wn,Co=ir&&ir.prototype,wr=Vl.DataView,ha=wr&&wr.prototype,J1=Object.prototype,xj=Vl.Array,Bl=Vl.RangeError,Ij=pv(Sj),wj=pv([].reverse),q1=B1.pack,K1=B1.unpack,X1=function(e){return[255&e]},Q1=function(e){return[255&e,e>>8&255]},Y1=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},$1=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},Ej=function(e){return q1(e,23,4)},Cj=function(e){return q1(e,52,8)},Fl=function(e,t){yj(e.prototype,t,{get:function(){return Eo(this)[t]}})},xi=function(e,t,n,r){var i=jl(n),o=Eo(e);if(i+t>o.byteLength)throw Bl(W1);var a=Eo(o.buffer).bytes,s=i+o.byteOffset,c=bj(a,s,s+t);return r?c:wj(c)},Ii=function(e,t,n,r,i,o){var a=jl(n),s=Eo(e);if(a+t>s.byteLength)throw Bl(W1);for(var c=Eo(s.buffer).bytes,u=a+s.byteOffset,l=r(+i),h=0;h<t;h++)c[u+h]=l[o?h:t-h-1]};if(fj){var Z1=kj&&Wn.name!==vv;if(mv(function(){Wn(1)})&&mv(function(){new Wn(-1)})&&!mv(function(){return new Wn,new Wn(1.5),new Wn(NaN),Wn.length!=1||Z1&&!H1}))Z1&&H1&&U1(Wn,"name",vv);else{(ir=function(e){return Ul(this,Co),new Wn(jl(e))}).prototype=Co;for(var gv,ex=_j(Wn),tx=0;ex.length>tx;)(gv=ex[tx++])in ir||U1(ir,gv,Wn[gv]);Co.constructor=ir}F1&&gj(ha)!==J1&&F1(ha,J1);var Gl=new wr(new ir(2)),nx=pv(ha.setInt8);Gl.setInt8(0,2147483648),Gl.setInt8(1,2147483649),!Gl.getInt8(0)&&Gl.getInt8(1)||j1(ha,{setInt8:function(e,t){nx(this,e,t<<24>>24)},setUint8:function(e,t){nx(this,e,t<<24>>24)}},{unsafe:!0})}else Co=(ir=function(e){Ul(this,Co);var t=jl(e);z1(this,{bytes:Ij(xj(t),0),byteLength:t}),fv||(this.byteLength=t)}).prototype,wr=function(e,t,n){Ul(this,ha),Ul(e,Co);var r=Eo(e).byteLength,i=mj(t);if(i<0||i>r)throw Bl("Wrong offset");if(i+(n=n===void 0?r-i:vj(n))>r)throw Bl("Wrong length");z1(this,{buffer:e,byteLength:n,byteOffset:i}),fv||(this.buffer=e,this.byteLength=n,this.byteOffset=i)},ha=wr.prototype,fv&&(Fl(ir,"byteLength"),Fl(wr,"buffer"),Fl(wr,"byteLength"),Fl(wr,"byteOffset")),j1(ha,{getInt8:function(e){return xi(this,1,e)[0]<<24>>24},getUint8:function(e){return xi(this,1,e)[0]},getInt16:function(e){var t=xi(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=xi(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return $1(xi(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return $1(xi(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return K1(xi(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return K1(xi(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){Ii(this,1,e,X1,t)},setUint8:function(e,t){Ii(this,1,e,X1,t)},setInt16:function(e,t){Ii(this,2,e,Q1,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){Ii(this,2,e,Q1,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){Ii(this,4,e,Y1,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){Ii(this,4,e,Y1,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){Ii(this,4,e,Ej,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){Ii(this,8,e,Cj,t,arguments.length>2?arguments[2]:void 0)}});G1(ir,vv),G1(wr,Tj);var yc={ArrayBuffer:ir,DataView:wr},Rj=Me,_v=pe,Aj=oe,rx=xt,ix=oi,Pj=gr,Dj=Fu,yv=yc.ArrayBuffer,Sv=yc.DataView,ax=Sv.prototype,ox=_v(yv.prototype.slice),Lj=_v(ax.getUint8),Oj=_v(ax.setUint8);Rj({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:Aj(function(){return!new yv(2).slice(1,void 0).byteLength})},{slice:function(e,t){if(ox&&t===void 0)return ox(rx(this),e);for(var n=rx(this).byteLength,r=ix(e,n),i=ix(t===void 0?n:t,n),o=new(Dj(this,yv))(Pj(i-r)),a=new Sv(this),s=new Sv(o),c=0;r<i;)Oj(s,c++,Lj(a,r++));return o}}),Me({global:!0,constructor:!0,forced:!hv},{DataView:yc.DataView});var Mj=Me,Nj=Ha,Vj=pe([].reverse),sx=[1,2];Mj({target:"Array",proto:!0,forced:String(sx)===String(sx.reverse())},{reverse:function(){return Nj(this)&&(this.length=this.length),Vj(this)}});var Uj=Ut,jj=jt,Bj=yn,Fj=rn,Gj=TypeError,cx=function(e){return function(t,n,r,i){Uj(n);var o=jj(t),a=Bj(o),s=Fj(o),c=e?s-1:0,u=e?-1:1;if(r<2)for(;;){if(c in a){i=a[c],c+=u;break}if(c+=u,e?c<0:s<=c)throw Gj("Reduce of empty array with no initial value")}for(;e?c>=0:s>c;c+=u)c in a&&(i=n(i,a[c],c,o));return i}},bv={left:cx(!1),right:cx(!0)},Hj=bv.left,ux=hr,zj=Hs;Me({target:"Array",proto:!0,forced:!Us("reduce")||!zj&&ux>79&&ux<83},{reduce:function(e){var t=arguments.length;return Hj(this,e,t,t>1?arguments[1]:void 0)}});var Wj=Ls,Jj="ArrayBuffer",lx=yc.ArrayBuffer;Me({global:!0,constructor:!0,forced:te.ArrayBuffer!==lx},{ArrayBuffer:lx}),Wj(Jj);var qj=Me,dx=Ha,Kj=Eu,Xj=st,hx=oi,Qj=rn,Yj=Sn,$j=Rs,Zj=rt,e8=Ga,t8=Vs("slice"),n8=Zj("species"),kv=Array,r8=Math.max;qj({target:"Array",proto:!0,forced:!t8},{slice:function(e,t){var n,r,i,o=Yj(this),a=Qj(o),s=hx(e,a),c=hx(t===void 0?a:t,a);if(dx(o)&&(n=o.constructor,(Kj(n)&&(n===kv||dx(n.prototype))||Xj(n)&&(n=n[n8])===null)&&(n=void 0),n===kv||n===void 0))return e8(o,s,c);for(r=new(n===void 0?kv:n)(r8(c-s,0)),i=0;s<c;s++,i++)s in o&&$j(r,i,o[s]);return r.length=i,r}});var px=te,i8=oe,a8=pe,o8=Wt,s8=Uu.trim,fx=sS,Sc=px.parseInt,mx=px.Symbol,vx=mx&&mx.iterator,gx=/^[+-]?0x/i,c8=a8(gx.exec),_x=Sc(fx+"08")!==8||Sc(fx+"0x16")!==22||vx&&!i8(function(){Sc(Object(vx))})?function(e,t){var n=s8(o8(e));return Sc(n,t>>>0||(c8(gx,n)?16:10))}:Sc;Me({global:!0,forced:parseInt!=_x},{parseInt:_x});var _n,Ro,Hl,Tv={exports:{}},u8=hv,xv=_e,hn=te,yx=ot,zl=st,wi=Tt,Iv=Lr,l8=Xn,d8=Mn,wv=Qt,h8=Pt.f,p8=bn,Wl=Is,Ao=Fa,f8=rt,m8=Oi,Sx=Xe.enforce,v8=Xe.get,Jl=hn.Int8Array,Ev=Jl&&Jl.prototype,bx=hn.Uint8ClampedArray,kx=bx&&bx.prototype,Er=Jl&&Wl(Jl),ar=Ev&&Wl(Ev),g8=Object.prototype,Cv=hn.TypeError,Tx=f8("toStringTag"),Rv=m8("TYPED_ARRAY_TAG"),_8="TypedArrayConstructor",qr=u8&&!!Ao&&Iv(hn.opera)!=="Opera",xx=!1,Kr={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Av={BigInt64Array:8,BigUint64Array:8},Ix=function(e){var t=Wl(e);if(zl(t)){var n=v8(t);return n&&wi(n,_8)?n.TypedArrayConstructor:Ix(t)}},wx=function(e){if(!zl(e))return!1;var t=Iv(e);return wi(Kr,t)||wi(Av,t)};for(_n in Kr)(Hl=(Ro=hn[_n])&&Ro.prototype)?Sx(Hl).TypedArrayConstructor=Ro:qr=!1;for(_n in Av)(Hl=(Ro=hn[_n])&&Ro.prototype)&&(Sx(Hl).TypedArrayConstructor=Ro);if((!qr||!yx(Er)||Er===Function.prototype)&&(Er=function(){throw Cv("Incorrect invocation")},qr))for(_n in Kr)hn[_n]&&Ao(hn[_n],Er);if((!qr||!ar||ar===g8)&&(ar=Er.prototype,qr))for(_n in Kr)hn[_n]&&Ao(hn[_n].prototype,ar);if(qr&&Wl(kx)!==ar&&Ao(kx,ar),xv&&!wi(ar,Tx))for(_n in xx=!0,h8(ar,Tx,{get:function(){return zl(this)?this[Rv]:void 0}}),Kr)hn[_n]&&d8(hn[_n],Rv,_n);var We={NATIVE_ARRAY_BUFFER_VIEWS:qr,TYPED_ARRAY_TAG:xx&&Rv,aTypedArray:function(e){if(wx(e))return e;throw Cv("Target is not a typed array")},aTypedArrayConstructor:function(e){if(yx(e)&&(!Ao||p8(Er,e)))return e;throw Cv(l8(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n,r){if(xv){if(n)for(var i in Kr){var o=hn[i];if(o&&wi(o.prototype,e))try{delete o.prototype[e]}catch(a){try{o.prototype[e]=t}catch(s){}}}ar[e]&&!n||wv(ar,e,n?t:qr&&Ev[e]||t,r)}},exportTypedArrayStaticMethod:function(e,t,n){var r,i;if(xv){if(Ao){if(n){for(r in Kr)if((i=hn[r])&&wi(i,e))try{delete i[e]}catch(o){}}if(Er[e]&&!n)return;try{return wv(Er,e,n?t:qr&&Er[e]||t)}catch(o){}}for(r in Kr)!(i=hn[r])||i[e]&&!n||wv(i,e,t)}},getTypedArrayConstructor:Ix,isView:function(e){if(!zl(e))return!1;var t=Iv(e);return t==="DataView"||wi(Kr,t)||wi(Av,t)},isTypedArray:wx,TypedArray:Er,TypedArrayPrototype:ar},Ex=te,Pv=oe,y8=xu,S8=We.NATIVE_ARRAY_BUFFER_VIEWS,b8=Ex.ArrayBuffer,pa=Ex.Int8Array,k8=!S8||!Pv(function(){pa(1)})||!Pv(function(){new pa(-1)})||!y8(function(e){new pa,new pa(null),new pa(1.5),new pa(e)},!0)||Pv(function(){return new pa(new b8(2),1,void 0).length!==1}),T8=$n,x8=RangeError,I8=function(e){var t=T8(e);if(t<0)throw x8("The argument can't be less than 0");return t},w8=RangeError,Cx=function(e,t){var n=I8(e);if(n%t)throw w8("Wrong offset");return n},E8=Lr,C8=pe("".slice),R8=Aa,A8=TypeError,Rx=function(e){var t=R8(e,"number");if(typeof t=="number")throw A8("Can't convert number to bigint");return BigInt(t)},P8=Mr,D8=Qe,L8=xS,O8=jt,M8=rn,N8=ku,V8=As,U8=Th,j8=function(e){return C8(E8(e),0,3)==="Big"},B8=We.aTypedArrayConstructor,F8=Rx,Ax=Me,Px=te,Dx=Qe,G8=_e,H8=k8,Po=We,Lx=yc,Ox=si,z8=tt,bc=Mn,W8=Xk,J8=gr,Mx=O1,Dv=Cx,Nx=Pa,kc=Tt,q8=Lr,Lv=st,K8=Pi,X8=Ba,Q8=bn,ql=Fa,Y8=ai.f,Vx=function(e){var t,n,r,i,o,a,s,c,u=L8(this),l=O8(e),h=arguments.length,_=h>1?arguments[1]:void 0,y=_!==void 0,S=V8(l);if(S&&!U8(S))for(c=(s=N8(l,S)).next,l=[];!(a=D8(c,s)).done;)l.push(a.value);for(y&&h>2&&(_=P8(_,arguments[2])),n=M8(l),r=new(B8(u))(n),i=j8(r),t=0;n>t;t++)o=y?_(l[t],t):l[t],r[t]=i?F8(o):+o;return r},$8=an.forEach,Z8=Ls,Ux=Pt,jx=Se,eB=Iu,Ov=Xe.get,tB=Xe.set,nB=Xe.enforce,Mv=Ux.f,rB=jx.f,iB=Math.round,Nv=Px.RangeError,Bx=Lx.ArrayBuffer,aB=Bx.prototype,oB=Lx.DataView,Kl=Po.NATIVE_ARRAY_BUFFER_VIEWS,Fx=Po.TYPED_ARRAY_TAG,Gx=Po.TypedArray,Tc=Po.TypedArrayPrototype,sB=Po.aTypedArrayConstructor,Vv=Po.isTypedArray,Xl="BYTES_PER_ELEMENT",Uv="Wrong length",Hx=function(e,t){sB(e);for(var n=0,r=t.length,i=new e(r);r>n;)i[n]=t[n++];return i},Ql=function(e,t){Mv(e,t,{get:function(){return Ov(this)[t]}})},zx=function(e){var t;return Q8(aB,e)||(t=q8(e))=="ArrayBuffer"||t=="SharedArrayBuffer"},Wx=function(e,t){return Vv(e)&&!K8(t)&&t in e&&W8(+t)&&t>=0},Jx=function(e,t){return t=Nx(t),Wx(e,t)?z8(2,e[t]):rB(e,t)},qx=function(e,t,n){return t=Nx(t),!(Wx(e,t)&&Lv(n)&&kc(n,"value"))||kc(n,"get")||kc(n,"set")||n.configurable||kc(n,"writable")&&!n.writable||kc(n,"enumerable")&&!n.enumerable?Mv(e,t,n):(e[t]=n.value,e)};G8?(Kl||(jx.f=Jx,Ux.f=qx,Ql(Tc,"buffer"),Ql(Tc,"byteOffset"),Ql(Tc,"byteLength"),Ql(Tc,"length")),Ax({target:"Object",stat:!0,forced:!Kl},{getOwnPropertyDescriptor:Jx,defineProperty:qx}),Tv.exports=function(e,t,n){var r=e.match(/\d+$/)[0]/8,i=e+(n?"Clamped":"")+"Array",o="get"+e,a="set"+e,s=Px[i],c=s,u=c&&c.prototype,l={},h=function(y,S){Mv(y,S,{get:function(){return function(f,g){var I=Ov(f);return I.view[o](g*r+I.byteOffset,!0)}(this,S)},set:function(f){return function(g,I,w){var B=Ov(g);n&&(w=(w=iB(w))<0?0:w>255?255:255&w),B.view[a](I*r+B.byteOffset,w,!0)}(this,S,f)},enumerable:!0})};Kl?H8&&(c=t(function(y,S,f,g){return Ox(y,u),eB(Lv(S)?zx(S)?g!==void 0?new s(S,Dv(f,r),g):f!==void 0?new s(S,Dv(f,r)):new s(S):Vv(S)?Hx(c,S):Dx(Vx,c,S):new s(Mx(S)),y,c)}),ql&&ql(c,Gx),$8(Y8(s),function(y){y in c||bc(c,y,s[y])}),c.prototype=u):(c=t(function(y,S,f,g){Ox(y,u);var I,w,B,z=0,$=0;if(Lv(S)){if(!zx(S))return Vv(S)?Hx(c,S):Dx(Vx,c,S);I=S,$=Dv(f,r);var ue=S.byteLength;if(g===void 0){if(ue%r||(w=ue-$)<0)throw Nv(Uv)}else if((w=J8(g)*r)+$>ue)throw Nv(Uv);B=w/r}else B=Mx(S),I=new Bx(w=B*r);for(tB(y,{buffer:I,byteOffset:$,byteLength:w,length:B,view:new oB(I)});z<B;)h(y,z++)}),ql&&ql(c,Gx),u=c.prototype=X8(Tc)),u.constructor!==c&&bc(u,"constructor",c),nB(u).TypedArrayConstructor=c,Fx&&bc(u,Fx,i);var _=c!=s;l[i]=c,Ax({global:!0,constructor:!0,forced:_,sham:!Kl},l),Xl in c||bc(c,Xl,r),Xl in u||bc(u,Xl,r),Z8(i)}):Tv.exports=function(){},(0,Tv.exports)("Uint8",function(e){return function(t,n,r){return e(this,t,n,r)}});var cB=jt,jv=oi,uB=rn,lB=Wy,dB=Math.min,hB=[].copyWithin||function(e,t){var n=cB(this),r=uB(n),i=jv(e,r),o=jv(t,r),a=arguments.length>2?arguments[2]:void 0,s=dB((a===void 0?r:jv(a,r))-o,r-i),c=1;for(o<i&&i<o+s&&(c=-1,o+=s-1,i+=s-1);s-- >0;)o in n?n[i]=n[o]:lB(n,i),i+=c,o+=c;return n},Kx=We,pB=pe(hB),fB=Kx.aTypedArray;(0,Kx.exportTypedArrayMethod)("copyWithin",function(e,t){return pB(fB(this),e,t,arguments.length>2?arguments[2]:void 0)});var mB=an.every,vB=We.aTypedArray;(0,We.exportTypedArrayMethod)("every",function(e){return mB(vB(this),e,arguments.length>1?arguments[1]:void 0)});var gB=N1,_B=Rx,yB=Lr,SB=Qe,bB=oe,kB=We.aTypedArray,TB=We.exportTypedArrayMethod,xB=pe("".slice);TB("fill",function(e){var t=arguments.length;kB(this);var n=xB(yB(this),0,3)==="Big"?_B(e):+e;return SB(gB,this,n,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)},bB(function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),e!==1}));var IB=rn,wB=Fu,EB=We.aTypedArrayConstructor,CB=We.getTypedArrayConstructor,Yl=function(e){return EB(wB(e,CB(e)))},RB=function(e,t){for(var n=0,r=IB(t),i=new e(r);r>n;)i[n]=t[n++];return i},AB=Yl,PB=an.filter,DB=function(e,t){return RB(AB(e),t)},LB=We.aTypedArray;(0,We.exportTypedArrayMethod)("filter",function(e){var t=PB(LB(this),e,arguments.length>1?arguments[1]:void 0);return DB(this,t)});var OB=an.find,MB=We.aTypedArray;(0,We.exportTypedArrayMethod)("find",function(e){return OB(MB(this),e,arguments.length>1?arguments[1]:void 0)});var NB=an.findIndex,VB=We.aTypedArray;(0,We.exportTypedArrayMethod)("findIndex",function(e){return NB(VB(this),e,arguments.length>1?arguments[1]:void 0)});var UB=an.forEach,jB=We.aTypedArray;(0,We.exportTypedArrayMethod)("forEach",function(e){UB(jB(this),e,arguments.length>1?arguments[1]:void 0)});var BB=_s.includes,FB=We.aTypedArray;(0,We.exportTypedArrayMethod)("includes",function(e){return BB(FB(this),e,arguments.length>1?arguments[1]:void 0)});var GB=_s.indexOf,HB=We.aTypedArray;(0,We.exportTypedArrayMethod)("indexOf",function(e){return GB(HB(this),e,arguments.length>1?arguments[1]:void 0)});var zB=te,WB=oe,Bv=pe,Xx=We,Fv=H_,Gv=rt("iterator"),Qx=zB.Uint8Array,JB=Bv(Fv.values),qB=Bv(Fv.keys),KB=Bv(Fv.entries),Hv=Xx.aTypedArray,$l=Xx.exportTypedArrayMethod,Do=Qx&&Qx.prototype,Zl=!WB(function(){Do[Gv].call([1])}),Yx=!!Do&&Do.values&&Do[Gv]===Do.values&&Do.values.name==="values",$x=function(){return JB(Hv(this))};$l("entries",function(){return KB(Hv(this))},Zl),$l("keys",function(){return qB(Hv(this))},Zl),$l("values",$x,Zl||!Yx,{name:"values"}),$l(Gv,$x,Zl||!Yx,{name:"values"});var XB=We.aTypedArray,QB=We.exportTypedArrayMethod,YB=pe([].join);QB("join",function(e){return YB(XB(this),e)});var $B=Gi,ZB=Sn,eF=$n,tF=rn,nF=Us,rF=Math.min,zv=[].lastIndexOf,Zx=!!zv&&1/[1].lastIndexOf(1,-0)<0,iF=nF("lastIndexOf"),aF=Zx||!iF?function(e){if(Zx)return $B(zv,this,arguments)||0;var t=ZB(this),n=tF(t),r=n-1;for(arguments.length>1&&(r=rF(r,eF(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}:zv,oF=Gi,sF=aF,cF=We.aTypedArray;(0,We.exportTypedArrayMethod)("lastIndexOf",function(e){var t=arguments.length;return oF(sF,cF(this),t>1?[e,arguments[1]]:[e])});var uF=an.map,lF=Yl,dF=We.aTypedArray;(0,We.exportTypedArrayMethod)("map",function(e){return uF(dF(this),e,arguments.length>1?arguments[1]:void 0,function(t,n){return new(lF(t))(n)})});var hF=bv.left,pF=We.aTypedArray;(0,We.exportTypedArrayMethod)("reduce",function(e){var t=arguments.length;return hF(pF(this),e,t,t>1?arguments[1]:void 0)});var fF=bv.right,mF=We.aTypedArray;(0,We.exportTypedArrayMethod)("reduceRight",function(e){var t=arguments.length;return fF(mF(this),e,t,t>1?arguments[1]:void 0)});var vF=We.aTypedArray,gF=We.exportTypedArrayMethod,_F=Math.floor;gF("reverse",function(){for(var e,t=this,n=vF(t).length,r=_F(n/2),i=0;i<r;)e=t[i],t[i++]=t[--n],t[n]=e;return t});var eI=te,tI=Qe,Wv=We,yF=rn,SF=Cx,bF=jt,nI=oe,kF=eI.RangeError,Jv=eI.Int8Array,rI=Jv&&Jv.prototype,iI=rI&&rI.set,TF=Wv.aTypedArray,xF=Wv.exportTypedArrayMethod,qv=!nI(function(){var e=new Uint8ClampedArray(2);return tI(iI,e,{length:1,0:3},1),e[1]!==3}),IF=qv&&Wv.NATIVE_ARRAY_BUFFER_VIEWS&&nI(function(){var e=new Jv(2);return e.set(1),e.set("2",1),e[0]!==0||e[1]!==2});xF("set",function(e){TF(this);var t=SF(arguments.length>1?arguments[1]:void 0,1),n=bF(e);if(qv)return tI(iI,this,n,t);var r=this.length,i=yF(n),o=0;if(i+t>r)throw kF("Wrong length");for(;o<i;)this[t+o]=n[o++]},!qv||IF);var wF=Yl,EF=Ga,CF=We.aTypedArray;(0,We.exportTypedArrayMethod)("slice",function(e,t){for(var n=EF(CF(this),e,t),r=wF(this),i=0,o=n.length,a=new r(o);o>i;)a[i]=n[i++];return a},oe(function(){new Int8Array(1).slice()}));var RF=an.some,AF=We.aTypedArray;(0,We.exportTypedArrayMethod)("some",function(e){return RF(AF(this),e,arguments.length>1?arguments[1]:void 0)});var aI=Kn.match(/firefox\/(\d+)/i),PF=!!aI&&+aI[1],DF=/MSIE|Trident/.test(Kn),oI=Kn.match(/AppleWebKit\/(\d+)\./),LF=!!oI&&+oI[1],OF=pe,Kv=oe,MF=Ut,NF=w0,sI=PF,VF=DF,cI=hr,uI=LF,UF=We.aTypedArray,jF=We.exportTypedArrayMethod,xc=te.Uint16Array,Lo=xc&&OF(xc.prototype.sort),BF=!(!Lo||Kv(function(){Lo(new xc(2),null)})&&Kv(function(){Lo(new xc(2),{})})),lI=!!Lo&&!Kv(function(){if(cI)return cI<74;if(sI)return sI<67;if(VF)return!0;if(uI)return uI<602;var e,t,n=new xc(516),r=Array(516);for(e=0;e<516;e++)t=e%4,n[e]=515-e,r[e]=e-2*t+3;for(Lo(n,function(i,o){return(i/4|0)-(o/4|0)}),e=0;e<516;e++)if(n[e]!==r[e])return!0});jF("sort",function(e){return e!==void 0&&MF(e),lI?Lo(this,e):NF(UF(this),function(t){return function(n,r){return t!==void 0?+t(n,r)||0:r!=r?-1:n!=n?1:n===0&&r===0?1/n>0&&1/r<0?1:-1:n>r}}(e))},!lI||BF);var FF=gr,dI=oi,GF=Yl,HF=We.aTypedArray;(0,We.exportTypedArrayMethod)("subarray",function(e,t){var n=HF(this),r=n.length,i=dI(e,r);return new(GF(n))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,FF((t===void 0?r:dI(t,r))-i))});var zF=Gi,hI=We,Xv=oe,pI=Ga,ed=te.Int8Array,fI=hI.aTypedArray,WF=hI.exportTypedArrayMethod,mI=[].toLocaleString,JF=!!ed&&Xv(function(){mI.call(new ed(1))});WF("toLocaleString",function(){return zF(mI,JF?pI(fI(this)):fI(this),pI(arguments))},Xv(function(){return[1,2].toLocaleString()!=new ed([1,2]).toLocaleString()})||!Xv(function(){ed.prototype.toLocaleString.call([1,2])}));var qF=We.exportTypedArrayMethod,KF=oe,XF=pe,vI=te.Uint8Array,QF=vI&&vI.prototype||{},td=[].toString,YF=XF([].join);KF(function(){td.call({})})&&(td=function(){return YF(this)});var $F=QF.toString!=td;qF("toString",td,$F);var ZF=function(){function e(t,n,r){J(this,e),this.isUplink_=r,this.connection_=t,this.log_=n,this.seiMessageList_=[],this.smallVideoSeiMessageList_=[],this.seiPayloadType_=243,this.runningAbortMap_=new Map,this.abortMap_=new Map,this.onSEIMessage=null}return Ie(e,[{key:"isRunning",get:function(){return!!this.runningAbortMap_.size>0}},{key:"start",value:function(t){var n=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.seiMessageList_,i=t.createEncodedStreams(),o=i.readable,a=i.writable,s=new TransformStream({transform:this.isUplink_?function(u,l){return n.encodeVideoFrame(u,l,r)}:function(u,l){var h,_;return n.decodeVideoFrame(u,l,t===((h=n.connection_)===null||h===void 0||(_=h.getPeerConnection())===null||_===void 0?void 0:_.getReceivers()[tk]))}}),c=new AbortController;o.pipeThrough(s).pipeTo(a,{signal:c.signal}).catch(function(){}),this.runningAbortMap_.set(t,c)}},{key:"restart",value:function(t,n){this.stop(),this.start(t,n)}},{key:"stop",value:function(t){var n;(n=this.runningAbortMap_.get(t))===null||n===void 0||n.abort(),this.runningAbortMap_.delete(t)}},{key:"destroy",value:function(){this.stop(),this.runningAbortMap_.forEach(function(t){return t.abort()}),this.runningAbortMap_.clear(),this.abortMap_.forEach(function(t){return t.abort()}),this.abortMap_.clear(),this.log_=null,this.onSEIMessage=null,this.connection_=null}},{key:"handleEncodedStreams",value:function(){var t=this;try{var n=this.connection_.getPeerConnection();this.clearUnusedSenderOrReceiver(n),this.isUplink_?n.getSenders().forEach(function(r,i){if(!t.runningAbortMap_.has(r)&&!t.abortMap_.has(r))if(i===l3||i===ek){var o=i===ek?t.smallVideoSeiMessageList_:t.seiMessageList_;t.isRunning?t.restart(r,o):t.start(r,o)}else t.pipeSenderOrReceiver(r)}):n.getReceivers().forEach(function(r,i){var o;t.runningAbortMap_.has(r)||t.abortMap_.has(r)||(i!==d3&&i!==tk||((o=r.track)===null||o===void 0?void 0:o.kind)!==Te?t.pipeSenderOrReceiver(r):t.isRunning?t.restart(r):t.start(r))})}catch(r){this.log_.warn(r)}}},{key:"pipeSenderOrReceiver",value:function(t){var n=t.createEncodedStreams(),r=n.readable,i=n.writable,o=new AbortController;this.abortMap_.set(t,o),r.pipeTo(i,{signal:o.signal}).catch(function(){})}},{key:"clearUnusedSenderOrReceiver",value:function(t){var n=this;this.abortMap_.forEach(function(r,i){(n.isUplink_?t.getSenders():t.getReceivers()).find(function(o){return o===i})||(r.abort(),n.abortMap_.delete(i))})}},{key:"push",value:function(t,n){n&&n.seiPayloadType&&(this.seiPayloadType_=n.seiPayloadType),this.seiMessageList_.push(t),this.smallVideoSeiMessageList_.push(t)}},{key:"hasSEI",value:function(t){var n=new DataView(t);return n.getInt32(0)===1&&n.getInt8(4)===6}},{key:"isEmptyFrame",value:function(t){return t.type==="empty"||t.data.byteLength===0}},{key:"getNaluCount",value:function(t){for(var n=0,r=0,i=new DataView(t),o=0;o<t.byteLength;o++)switch(i.getUint8(o)){case 0:n++;break;case 1:n!==2&&n!==3||r++,n=0;break;default:n=0}return r}},{key:"encodeVideoFrame",value:function(t,n,r){try{if(this.connection_.isH264&&r.length>0&&!this.isEmptyFrame(t)){var i=9-this.getNaluCount(t.data);if(i<=0)return;for(var o=r.splice(0,i).reverse().map(this.encodeSEINalu.bind(this)),a=o.reduce(function(S,f){return S+f.dataView.byteLength},0),s=new ArrayBuffer(a+t.data.byteLength),c=new DataView(s),u=new DataView(t.data),l=0,h=0;h<o.length;h++)for(var _=0;_<o[h].dataView.byteLength;_++)c.setInt8(l++,o[h].dataView.getInt8(_));for(var y=0;y<t.data.byteLength;y++)c.setInt8(l++,u.getInt8(y));t.data=s,this.log_.debug("".concat(o.length," sei sent"))}}catch(S){this.log_.warn(S)}n.enqueue(t)}},{key:"decodeVideoFrame",value:function(t,n){var r=this,i=arguments.length>2&&arguments[2]!==void 0&&arguments[2];try{if(this.connection_.isH264&&!this.isEmptyFrame(t)&&this.hasSEI(t.data)){for(var o=[],a=new DataView(t.data),s=0,c=-1,u=-1,l=0;l<t.data.byteLength;l++){var h=a.getUint8(l);if(h===0)s++;else if(h===1){if(s===2||s===3){var _=l-s;c===-1?c=_:u===-1&&(u=_,o.push(new gI(new DataView(a.buffer.slice(c,u)))),c=_,u=-1);var y=a.getUint8(l+1)===6;if(!y){t.data=new DataView(a.buffer.slice(_)).buffer;break}}s=0}else s=0}this.log_.debug("".concat(o.length," sei received")),In(this.onSEIMessage)&&o.reverse().forEach(function(S){r.onSEIMessage({seiPayloadType:S.seiPayloadType,data:S.seiPayload.buffer,isFromAuxiliary:i})})}}catch(S){this.log_.warn(S)}n.enqueue(t)}},{key:"encodeSEINalu",value:function(t){var n=t.byteLength,r=parseInt(n/255),i=n%255,o=[];o.push(0,0,0,1,6,this.seiPayloadType_);for(var a=0;a<r;a++)o.push(255);o.push(i);var s=new DataView(t);return o.push.apply(o,be(new Uint8Array(s.buffer))),o.push(128),new gI(new DataView(new Uint8Array(o).buffer),!0)}}]),e}(),gI=function(){function e(t){var n=arguments.length>1&&arguments[1]!==void 0&&arguments[1];J(this,e),this.dataView=t,this.isSEI&&(n?this.addPreventionByte():this.removePreventionByte())}return Ie(e,[{key:"addPreventionByte",value:function(){for(var t=this.seiPayloadStartIndex,n=this.dataView.byteLength-2,r=[],i=0,o=t;o<=n;o++){var a=this.dataView.getInt8(o);switch(a){case 0:case 1:case 2:case 3:i===2&&(r.push(3),i=0),a==0?i++:i=0,r.push(a);break;default:i=0,r.push(a)}}r.push(this.dataView.getInt8(this.dataView.byteLength-1));var s=new DataView(new Uint8Array([].concat(be(new Uint8Array(this.dataView.buffer).slice(0,t)),r)).buffer);this.dataView=s}},{key:"removePreventionByte",value:function(){for(var t=this.seiPayloadStartIndex,n=this.dataView.byteLength-1,r=[],i=0,o=t;o<=n;o++)switch(this.dataView.getInt8(o)){case 0:i++,r.push(this.dataView.getInt8(o));break;case 3:i!==2&&r.push(this.dataView.getInt8(o)),i=0;break;default:r.push(this.dataView.getInt8(o)),i=0}var a=new DataView(new Uint8Array([].concat(be(new Uint8Array(this.dataView.buffer).slice(0,t)),r)).buffer);this.dataView=a}},{key:"isSEI",get:function(){return this.dataView.getUint8(4)===6}},{key:"seiPayloadStartIndex",get:function(){for(var t=6,n=6;n<this.dataView.buffer.byteLength&&(t++,this.dataView.getUint8(n)===255);n++);return t}},{key:"seiPayloadType",get:function(){return this.isSEI?this.dataView.getUint8(5):null}},{key:"seiPayload",get:function(){if(!this.isSEI)return null;for(var t=0,n=6,r=6;r<this.dataView.buffer.byteLength;r++){var i=this.dataView.getUint8(r);if(n++,i!==255){t+=i;break}t+=255}for(var o=new ArrayBuffer(t),a=new DataView(o),s=0;s<o.byteLength;s++,n++)a.setInt8(s,this.dataView.getInt8(n));return a}}]),e}(),Qv=function(){function e(n){J(this,e),this.userId_=n.userId,this.tinyId_=n.tinyId,this.client_=n.client,this.sdpSemantics_=n.client.getSdpSemantics(),this.isUplink_=n.isUplink,this.log_=ye.createLogger({id:"n|"+this.userId_,userId:this.client_.getUserId(),sdkAppId:this.client_.getSDKAppId(),isLocal:this.isUplink_}),this.signalChannel_=n.signalChannel,this.peerConnection_=null,this.isErrorObserved_=!1,this.emitter_=new yi,this.currentState_=sn,this.waitForPeerConnectionConnectedPromise_=null,this.isReconnecting_=!1,this.reconnectionCount_=0,this.reconnectionTimer_=-1,this.isFirstConnection_=!0,this.delay_={audioDelay:0,videoDelay:0},this.enableSEI_=n.enableSEI,this.enableSEI_&&Lm&&(this.sei_=new ZF(this,this.log_,this.isUplink_))}var t;return Ie(e,[{key:"initialize",value:function(){var n={encodedInsertableStreams:this.enableSEI_&&Lm,iceServers:this.client_.getIceServers(),iceTransportPolicy:this.client_.getIceTransportPolicy(),sdpSemantics:this.sdpSemantics_,bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",tcpCandidatePolicy:"disable",IceTransportsType:"nohost"};this.peerConnection_=new RTCPeerConnection(n),this.peerConnection_.onconnectionstatechange=this.onConnectionStateChange.bind(this)}},{key:"close",value:function(){this.log_.info("closing connection"),this.closePeerConnection(),this.sei_&&(this.sei_.destroy(),this.sei_=null)}},{key:"closePeerConnection",value:function(){var n=arguments.length>0&&arguments[0]!==void 0&&arguments[0];this.peerConnection_&&(this.peerConnection_.onconnectionstatechange=function(){},this.peerConnection_.close(),this.peerConnection_=null,n&&this.emitConnectionStateChangedEvent(sn))}},{key:"getDTLSTransportState",value:function(){if(!this.peerConnection_)return Zu;var n=null;if(this.isUplink_){if(!kl()||this.peerConnection_.getSenders().length===0)return Zu;n=this.peerConnection_.getSenders()[0].transport}else{if(!VT()||this.peerConnection_.getReceivers().length===0)return Zu;n=this.peerConnection_.getReceivers()[0].transport}return n?n.state:Zu}},{key:"onConnectionStateChange",value:function(n){var r=this.peerConnection_.iceConnectionState,i=this.getDTLSTransportState();if(this.log_.info("onConnectionStateChange() connectionState: "+n.target.connectionState),this.log_.info("ICE Transport state: ".concat(r,", DTLS Transport state: ").concat(i)),n.target.connectionState===el&&this.emitConnectionStateChangedEvent(Sb),n.target.connectionState===kb||n.target.connectionState===Yp){var o="".concat(this.isUplink_?"uplink":"downlink"," ICE/DTLS Transport connection ").concat(n.target.connectionState,". ICE Transport state: ").concat(r,", DTLS Transport state: ").concat(i),a=new ee({message:o,code:Y.ICE_TRANSPORT_ERROR});xe.logFailedEvent({userId:this.client_.getUserId(),eventType:Mb,error:a}),this.emitConnectionStateChangedEvent(sn),this.isErrorObserved_||this.emitter_.emit(nt.ERROR,a)}n.target.connectionState!==Tb&&n.target.connectionState!==$N||(this.logSelectedCandidate(),xe.logSuccessEvent({userId:this.client_.getUserId(),eventType:Mb}),this.emitConnectionStateChangedEvent(mn))}},{key:"emitConnectionStateChangedEvent",value:function(n){n!==this.currentState_&&(this.currentState_===bb&&n===Sb||(K.emit(sm,{client:this.client_,connection:this,prevState:this.currentState_,state:n}),this.emitter_.emit(nt.CONNECTION_STATE_CHANGED,{prevState:this.currentState_,state:n}),this.currentState_=n))}},{key:"hitTest",value:function(n){return(n===0||n==="0")&&this.isUplink_||n===this.tinyId_}},{key:"addEventInternal",value:function(n,r){var i=this.client_.getUserId(),o={eventId:n,eventDesc:r,timestamp:on(),userId:i,tinyId:this.client_.getTinyId()};this.isUplink_||(o.remoteUserId=this.userId_,o.remoteTinyId=this.tinyId_),vn(i,o)}},{key:"getPeerConnection",value:function(){return this.peerConnection_}},{key:"getClient",value:function(){return this.client_}},{key:"getUserId",value:function(){return this.userId_}},{key:"getTinyId",value:function(){return this.tinyId_}},{key:"logSelectedCandidate",value:(t=N(p().mark(function n(){var r,i,o,a,s,c,u;return p().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(this.peerConnection_){l.next=2;break}return l.abrupt("return");case 2:return l.next=4,this.peerConnection_.getStats();case 4:r=l.sent,i=ie(r),l.prev=6,i.s();case 8:if((o=i.n()).done){l.next=18;break}if((a=ke(o.value,2))[0],!Om(s=a[1])){l.next=16;break}return c=r.get(s.localCandidateId),u=r.get(s.remoteCandidateId),c&&this.log_.info("local candidate: ".concat(c.candidateType," ").concat(c.protocol,":").concat(c.ip||c.address,":").concat(c.port," ").concat(c.networkType||""," ").concat(c.candidateType==="relay"?"relayProtocol:"+c.relayProtocol:"")),u&&this.log_.info("remote candidate: ".concat(u.candidateType," ").concat(u.protocol,":").concat(u.ip||u.address,":").concat(u.port)),l.abrupt("break",18);case 16:l.next=8;break;case 18:l.next=23;break;case 20:l.prev=20,l.t0=l.catch(6),i.e(l.t0);case 23:return l.prev=23,i.f(),l.finish(23);case 26:case"end":return l.stop()}},n,this,[[6,20,23,26]])})),function(){return t.apply(this,arguments)})},{key:"getCurrentState",value:function(){return this.currentState_}},{key:"waitForPeerConnectionConnected",value:function(){var n=this;return this.waitForPeerConnectionConnectedPromise_||(this.waitForPeerConnectionConnectedPromise_=new Promise(function(r,i){if(n.currentState_===mn)return r();var o=-1,a=function(u){u.state===mn&&(clearTimeout(o),c(),r())},s=function(u){u.client===n.client_&&(clearTimeout(o),c(),i(new ee({code:Y.API_CALL_ABORTED,message:ne({key:rV,data:"leave room"})})))},c=function(){K.off(fo,s,n),n.emitter_.off(nt.CONNECTION_STATE_CHANGED,a,n)};o=setTimeout(function(){c();var u=new ee({code:Y.API_CALL_TIMEOUT,message:"connection timeout"});i(u)},1e4),K.on(fo,s,n),n.emitter_.on(nt.CONNECTION_STATE_CHANGED,a,n)}),this.waitForPeerConnectionConnectedPromise_=this.waitForPeerConnectionConnectedPromise_.then(function(r){return n.waitForPeerConnectionConnectedPromise_=null,r}).catch(function(r){throw n.waitForPeerConnectionConnectedPromise_=null,r})),this.waitForPeerConnectionConnectedPromise_}},{key:"getReconnectionCount",value:function(){return this.reconnectionCount_}},{key:"startReconnection",value:function(){this.isReconnecting_=!0,this.emitConnectionStateChangedEvent(bb),this.reconnect(),this.addEventInternal(this.isUplink_?c6:d6,"".concat(this.isUplink_?"uplink":"downlink","-connection is reconnecting"))}},{key:"stopReconnection",value:function(){this.log_.info("stop reconnection"),this.isReconnecting_=!1,this.reconnectionCount_=0,this.clearReconnectionTimer(),this.signalChannel_.off(cc,this.reconnect,this)}},{key:"on",value:function(n,r,i){this.emitter_.on(n,r,i)}},{key:"off",value:function(n,r,i){this.emitter_.off(n,r,i)}},{key:"setDelay",value:function(n){var r=n.audioDelay,i=n.videoDelay;this.delay_={audioDelay:r,videoDelay:i}}},{key:"getDelay",value:function(){return this.delay_}},{key:"isH264",get:function(){var n,r;return!((n=this.peerConnection_)===null||n===void 0||(r=n.remoteDescription)===null||r===void 0||!r.sdp.includes("H264"))}}]),e}(),e7=function(){function e(){J(this,e),this.set_=new Set,K.on(_l,this.add,this),K.on(ho,this.add,this),K.on(po,this.delete,this),K.on(fo,this.delete,this)}return Ie(e,[{key:"add",value:function(t){var n=t.client,r=t.roomId;if(n.getMode()!=="rtc"){var i=this.getKey(n.getUserId(),r||n.getRoomId(),n.getSDKAppId(),n.getUseStringRoomId());this.set_.add(i)}}},{key:"delete",value:function(t){var n=t.client;if(n.getMode()!=="rtc"){var r=this.getKey(n.getUserId(),n.getRoomId(),n.getSDKAppId(),n.getUseStringRoomId());this.set_.delete(r)}}},{key:"getKey",value:function(t,n,r,i){return"".concat(r,"_").concat(n,"_").concat(t,"_").concat(i)}},{key:"isJoined",value:function(t){var n=t.userId,r=t.roomId,i=t.sdkAppId,o=t.client;return o.getMode()!=="rtc"&&this.set_.has(this.getKey(n,r,i,o.getUseStringRoomId()))}}]),e}(),t7=new e7;function _I(e,t,n,r){if(this.useStringRoomId_){if(!(Ft(e)&&/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e)))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:U3,data:t,link:{className:r,fnName:n}})})}else if(!(er(e)&&/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:j3,data:t,link:{className:r,fnName:n}})})}function yI(e,t,n,r){if(!/^[A-Za-z\d_-]*$/.test(e))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:t4,data:t,link:{className:r,fnName:n}})})}var n7={createClient:{name:"clientConfig",required:!0,type:Tr,properties:{sdkAppId:{required:!0,type:Et,allowEmpty:!1},userId:{required:!0,type:bt,allowEmpty:!1},userSig:{required:!0,type:bt,allowEmpty:!1},mode:{required:!0,type:bt,values:["rtc",$u]},useStringRoomId:{type:cn},autoSubscribe:{type:cn},enableAutoPlayDialog:{type:cn},streamId:{type:bt},userDefineRecordId:{type:bt},pureAudioPushMode:{type:Et,values:[1,2]},enableSEI:{type:cn}}},createStream:{name:"streamConfig",required:!0,type:Tr,properties:{userId:{type:bt},audio:{type:cn},video:{type:cn},screen:{type:cn},screenAudio:{type:cn},microphoneId:{type:bt},cameraId:{type:bt},facingMode:{type:[bt,Tr]},audioSource:{instanceOf:window.MediaStreamTrack},videoSource:{instanceOf:window.MediaStreamTrack}},validate:function(e){if(!ge(e.screen)&&e.screen&&ge(e.audio)&&(e.audio=!1),!(ge(e.audio)&&ge(e.video)||ge(e.audioSource)&&ge(e.videoSource)))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:V4})});if(!ge(e.screen)&&e.screen===!0&&e.video===!0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:U4})});if(e.audio&&e.screenAudio)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:j4})});if(e.screen!==!0&&e.screenAudio===!0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:B4})});if(!ge(e.screen)&&e.screen===!0&&!this.isScreenShareSupported())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:H4})})}}},r7={join:{name:"options",required:!0,type:Tr,properties:{roomId:{required:!0,type:[Et,bt],allowEmpty:!1,validate:_I},role:{type:[bt],values:[br,Qi]},privateMapKey:{type:[bt]}},validate:function(e){if(this.isJoined_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:V3})});if(this.checkDestroy(),t7.isJoined({userId:this.userId_,roomId:e.roomId,sdkAppId:this.sdkAppId_,client:this}))throw new ee({code:Y.INVALID_OPERATION,message:ne({key:x4,data:this.userId_})})}},publish:[{name:"stream",required:!0,instanceOf:vi,validate:function(e){if(!this.isJoined_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:H3})});if(this.mode_===$u&&this.role_===Qi)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:W3})});if(!e.getIsReadyToPublish())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:J3})});if(this.notPublishWithoutH264Supported_)throw new ee({code:Y.NOT_SUPPORTED_H264,message:ne({key:gk})})}},{name:"options",type:Tr,defaultValue:{isAuxiliary:!1},properties:{isAuxiliary:{type:cn,defaultValue:!1,validate:function(){var e=arguments.length>0&&arguments[0]!==void 0&&arguments[0];if(e&&!Pm())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:z4})});if(this.uplinkConnection_&&(e&&this.uplinkConnection_.isAuxStreamPublished||!e&&this.uplinkConnection_.isMainStreamPublished))throw new ee({code:Y.INVALID_OPERATION,message:ne({key:q3,data:e?mt:"local"})});var t=this.localScreenStream_||be(this.connections_.values()).findIndex(function(n){return n.getTrackState().auxiliary})>=0;if(!this.enableMultiAuxStream_&&e&&t)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:iV})})}}}}],unpublish:{name:"stream",required:!0,instanceOf:vi,validate:function(e){if(e!==this.localStream_&&e!==this.localAuxStream_){if(this.localStream_||this.localAuxStream_)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:z3})});this.log_.warn("Client currently has no published stream, please call publish() first.")}}},subscribe:[{name:"stream",required:!0,instanceOf:sf,validate:function(e){if(!e.getConnection())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:df})});if(this.notSubscribeWithoutH264Supported_)throw new ee({code:Y.NOT_SUPPORTED_H264,message:ne({key:_k})})}},{name:"options",type:Tr,properties:{audio:{type:cn},video:{type:cn},smallVideo:{type:cn}},validate:function(e){var t=e.audio,n=e.video,r=e.smallVideo;if(t===!1&&n===!1&&(ge(r)||r===!1))throw new ee({code:Y.INVALID_OPERATION,message:ne({key:Q4})})}}],unsubscribe:{name:"stream",required:!0,instanceOf:sf,validate:function(e){if(!e.getConnection())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:df})})}},switchRole:{name:"role",required:!0,values:[br,Qi],validate:function(){if(this.mode_!==$u)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:X3})});if(!this.isJoined_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:Q3})})}},startPublishCDNStream:{name:"options",required:!1,properties:{streamId:{type:bt,validate:yI},streamType:{type:bt,values:["main","auxiliary"]},appId:{type:Et,allowEmpty:!1},bizId:{type:Et,allowEmpty:!1},url:{type:bt,allowEmpty:!1}},validate:function(){if(this.isDestroyed_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:hf,data:{funName:"startPublishCDNStream"}})})}},startMixTranscode:{name:"config",required:!0,type:Tr,properties:{mode:{type:bt,values:["preset-layout","manual"]},streamId:{type:bt,validate:yI},videoWidth:{type:Et,notLessThanZero:!0},videoHeight:{type:Et,notLessThanZero:!0},videoBitrate:{type:Et,notLessThanZero:!0,allowEmpty:!1},videoFramerate:{type:Et,validate:function(e,t,n,r){if(e<=0||e>30)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:R4,link:{className:r,fnName:n}})})}},videoGop:{type:Et,validate:function(e,t,n,r){if(e<1||e>8)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:A4,link:{className:r,fnName:n}})})}},audioSampleRate:{type:Et,notLessThanZero:!0},audioBitrate:{type:Et,validate:function(e,t,n,r){if(e<32||e>192)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:P4,link:{className:r,fnName:n}})})}},audioChannels:{type:Et,values:[1,2]},backgroundColor:{type:Et},backgroundImage:{type:bt},mixUsers:{required:!0,type:r3,arrayItem:{require:!0,type:Tr,properties:{userId:{required:!0,type:bt},roomId:{type:[bt,Et],validate:_I},pureAudio:{type:cn},width:{type:Et,notLessThanZero:!0},height:{type:Et,notLessThanZero:!0},locationX:{type:Et,notLessThanZero:!0},locationY:{type:Et,notLessThanZero:!0},zOrder:{type:Et},streamType:{type:bt,values:["main","auxiliary"]},renderMode:{type:Et,values:[0,1,2,4]}}}}},validate:function(e,t,n,r,i){var o=0,a=0,s=e.mixUsers,c=[];if(s.forEach(function(u,l){if(c.push(u.userId),!u.pureAudio){if(!u.zOrder||u.zOrder<1||u>15)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:D4,data:"config.mixUsers[".concat(l,"].zOrder"),link:{className:r,fnName:n}})});u.width+u.locationX>o&&(o=u.width+u.locationX),u.height+u.locationY>a&&(a=u.height+u.locationY)}}),c.indexOf(this.getUserId())<0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:L4,link:{className:r,fnName:n}})});if(e.videoWidth<o||e.videoHeight<a)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:O4,link:{className:r,fnName:n}})})}},sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate:function(e){if(!Lm)throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:Sk})});if(!this.enableSEI_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:Y4})});if(e.byteLength>1e3)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:Z4,data:e.byteLength})});if(e.byteLength===0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:$4})});if(!this.uplinkConnection_||!this.localStream_)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:eV})});if(!this.localStream_.hasVideo())throw new ee({code:Y.INVALID_OPERATION,message:ne({key:tV})});var t=this.uplinkConnection_.isH264;if(!t)throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:Sk,data:t})})}},{name:"options",type:Tr,properties:{seiPayloadType:{type:Et,values:[5,243]}}}]},i7={play:[{name:"elementId",required:!0,type:[bt,"HTMLDivElement"],validate:function(e,t,n){if(Ft(e)){var r=document.getElementById(e);if(!r)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:M4,data:{key:t,fnName:n}})});if(!(r instanceof HTMLDivElement))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:N4,data:{key:t,fnName:n,type:_i(r)}})})}}},{name:"options",type:Tr,properties:{objectFit:{type:bt,values:["contain","cover","fill"]},muted:{type:cn},mirror:{type:cn}}}],addTrack:{name:Kp,instanceOf:MediaStreamTrack,validate:function(e){if(this.isAddingTrack_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:p4})});if(this.isRemovingTrack_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:f4})});if(this.publishState_===ec)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:m4})});var t=this.getMediaStream();if(!t)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:fk})});if(e.kind===Ce&&t.getAudioTracks().length>0||e.kind===Te&&t.getVideoTracks().length>0)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:v4})});if(!bi()&&!kl())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:ff,data:gb})})}},removeTrack:{name:Kp,instanceOf:MediaStreamTrack,validate:function(e){if(this.isAddingTrack_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:_4})});if(this.isRemovingTrack_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:y4})});if(this.publishState_===ec)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:S4})});var t=this.getMediaStream();if(!t)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:fk})});if(t.getTracks().indexOf(e)===-1)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:b4})});if(!bi()){if(t.getTracks().length===1)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:k4})});if(e.kind===Ce)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:g4})});if(!kl())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:ff,data:_b})})}}},replaceTrack:{name:Kp,instanceOf:MediaStreamTrack,validate:function(e){var t=this.getMediaStream();if(!t)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:h4})});if(this.publishState_===ec)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:pk})});if(e.kind===Ce&&t.getAudioTracks().length<=0||e.kind===Te&&t.getVideoTracks().length<=0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:T4,data:e})});if(!Dm())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:ff,data:BN})})}}},Yt={TRTC:n7,CLIENT:r7,LOCAL_STREAM:{switchDevice:[{name:"type",required:!0,type:bt,values:[Ce,Te]},{name:"deviceId",required:!0,type:bt,validate:function(){if(this.screen_&&!this.audio_||this.audioSource_||this.videoSource_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:l4})});if(this.publishState_===ec)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:d4})});if(!Dm())throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:G4})})}}],setAudioCaptureVolume:{name:"volume",type:Et}},STREAM:i7};function nd(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r,i,o){var a=o.value;return o.value=function(){for(var s=arguments.length,c=new Array(s),u=0;u<s;u++)c[u]=arguments[u];return SI.call(this,t,c,i,this.name_),a.apply(this,c)},o}}function wn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r,i,o){var a=o.value;return o.value=N(p().mark(function s(){var c,u,l,h=arguments;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:for(c=h.length,u=new Array(c),l=0;l<c;l++)u[l]=h[l];return SI.call(this,t,u,i,this.name_),_.abrupt("return",a.apply(this,u));case 3:case"end":return _.stop()}},s,this)})),o}}function SI(e,t,n,r){try{for(var i=0;i<e.length;i++)Yv.call(this,{rule:e[i],value:t[i],key:e[i].name,fnName:n,className:r})}catch(o){throw ye.error(o),o}}function Yv(e){var t=this,n=e.rule,r=e.value,i=e.key,o=e.fnName,a=e.className;if(ge(r)){if(n.required)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:b3,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});if(ge(n.defaultValue))return;r=n.defaultValue}if(Array.isArray(n.type)){if(!n.type.map(function(h){return h.toLowerCase()}).includes(_i(r)))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:sk,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})})}else if(!ge(n.type)&&_i(r)!==n.type)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:sk,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});if(n.allowEmpty===!1){var s=er(r)&&(r===0||Number.isNaN(r)),c=Ft(r)&&r.trim()==="";if(s||c)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:k3,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})})}if(n.notLessThanZero&&er(r)&&r<0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:C4,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});if(Ft(n.instanceOf)){if(!r||r.name_!==n.instanceOf)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:ck,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})})}else if(In(n.instanceOf)&&!(r instanceof n.instanceOf))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:ck,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});if(n.values&&!n.values.includes(r))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:T3,data:{key:i,rule:n,fnName:o,value:r},link:{className:a,fnName:o}})});var u=n.properties;ia(u)&&Nk(r)&&Object.keys(u).forEach(function(h){Yv.call(t,{rule:u[h],value:r&&r[h],key:"".concat(i,".").concat(h),fnName:o,className:a})});var l=n.arrayItem;ia(l)&&vl(r)&&r.forEach(function(h,_){Yv.call(t,{rule:l,value:h,key:"".concat(i,"[").concat(_,"]"),fnName:o,className:a})}),In(n.validate)&&n.validate.call(this,r,i,o,a,this)}Me({target:"Number",stat:!0},{isNaN:function(e){return e!=e}});var a7=Me,o7=oe,s7=yh.f;a7({target:"Object",stat:!0,forced:o7(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:s7});var bI,Ic,c7=QT;function wc(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{retries:5,timeout:2e3};return function(t,n,r){var i=sc({retryFunction:r.value,settings:e,onError:e.onError,onRetrying:e.onRetrying,onRetryFailed:e.onRetryFailed});return r.value=function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];return i.apply(this,a)},r}}Me({target:"Array",stat:!0,forced:!xu(function(e){Array.from(e)})},{from:c7});var kI,TI,xI,or,fa=5e3,u7={msg_user_info:0,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},$v=Ie(function e(t){J(this,e),this.str_identifier=String(t.userId),this.uint64_tinyid=Number(t.tinyId),this.uint32_role=t.role}),l7=(bI=wc({timeout:500,retries:3}),Ic=function(){function e(i){var o=this;J(this,e),this.frameWorkType_=i.frameWorkType||30,this.component_=i.component||0,this.client_=i.client,this.keyPrefix_="key_point",this.storageKey_="".concat(this.keyPrefix_,"_").concat(this.client_.getUserId()),this.log_=ye.createLogger({id:"kpm|"+this.client_.getUserId(),userId:this.client_.getUserId(),sdkAppId:this.client_.getSDKAppId()}),Object.getOwnPropertyNames(this.__proto__).forEach(function(a){a.startsWith("handle")&&In(o[a])&&(o[a]=function(s){var c=s.fn,u=s.context;return N(p().mark(function l(){var h,_,y,S=arguments;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:for(f.prev=0,h=S.length,_=new Array(h),y=0;y<h;y++)_[y]=S[y];return f.next=4,c.apply(u||this,_);case 4:return f.abrupt("return",f.sent);case 7:f.prev=7,f.t0=f.catch(0),ye.error("".concat(c.name,"() error observed ")+f.t0);case 10:case"end":return f.stop()}},l,this,[[0,7]])}))}({fn:o[a],context:o}))}),this.initData(),this.installEvents(),this.intervalId_=yt.run(uo,this.setStorage.bind(this),{delay:2e4})}var t,n,r;return Ie(e,[{key:"initData",value:function(){this.firstPublishedUserList_=[],this.networkQuality_={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this.basicInfo={string_sdk_version:ji,uint32_os_type:15,string_device_name:"",string_http_user_agent:navigator.userAgent,string_os_version:"",string_domain:location.host,uint32_avg_rtt:0,uint32_avg_up_loss:0,uint32_scene:this.client_.getMode()==="live"?1:0,uint32_joining_duration:0,uint32_networkType:af[Of()],uint32_framework:this.frameWorkType_,uint32_component:this.component_},this.pathJoinRoom_={uint64_start_time:0,uint64_init_audio_start_time:0,uint64_init_audio_end_time:0,uint64_init_camera_start_time:0,uint64_init_camera_end_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_init_audio_ret:0,int32_init_camera_ret: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.pathMainVideoMap_=new Map,this.pathMainAudioMap_=new Map,this.pathAuxiliaryMap_=new Map,this.localStreamStats_={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.remoteStreamStatsMap_=new Map}},{key:"installEvents",value:function(){K.on(_l,this.handleJoinStart,this),K.on(Jf,this.handleWSStart,this),K.on(yl,this.handleWSEnd,this),K.on(jf,this.handleJoinSendCMD,this),K.on(Bf,this.handleJoinReceivedCMDResponce,this),K.on(ho,this.handleJoinSuccess,this),K.on(po,this.handleJoinFailed,this),K.on(zf,this.handleReceivedPublishUserList,this),K.on(sm,this.handleConnectionStateChanged,this),K.on(Ff,this.handleLeaveStart,this),K.on(fo,this.handleLeaveSuccess,this),K.on(Gf,this.handleLeaveSendCMD,this),K.on(cm,this.handleSendSubscribeCMD,this),K.on(ic,this.handleVideoPlaying,this),K.on(Xf,this.handleAudioPlaying,this),K.on(um,this.handleNetworkQuality,this),K.on(Hf,this.handleHeartbeatStats,this),K.on(Sl,this.handleRemoteStreamAdded,this),K.on(Qf,this.handleRemoteStreamSubscribeStart,this),K.on(jr,this.handleRemoteStreamSubscribed,this),K.on(oa,this.handleRemoteStreamRemoved,this),K.on(nm,this.handleVideoLoadedData,this),K.on(tm,this.handlePlayStream,this),K.on(Wf,this.handlePublishStart,this),K.on(Yf,this.handleLocalStreamInitStart,this),K.on($f,this.handleLocalStreamInitEnd,this),K.on(Zf,this.handleLocalStreamInitFailed,this)}},{key:"uninstallEvents",value:function(){K.off(_l,this.handleJoinStart,this),K.off(Jf,this.handleWSStart,this),K.off(yl,this.handleWSEnd,this),K.off(jf,this.handleJoinSendCMD,this),K.off(Bf,this.handleJoinReceivedCMDResponce,this),K.off(zf,this.handleReceivedPublishUserList,this),K.off(sm,this.handleConnectionStateChanged,this),K.off(Ff,this.handleLeaveStart,this),K.off(fo,this.handleLeaveSuccess,this),K.off(ho,this.handleJoinSuccess,this),K.off(po,this.handleJoinFailed,this),K.off(Gf,this.handleLeaveSendCMD,this),K.off(cm,this.handleSendSubscribeCMD,this),K.off(ic,this.handleVideoPlaying,this),K.off(Xf,this.handleAudioPlaying,this),K.off(um,this.handleNetworkQuality,this),K.off(Hf,this.handleHeartbeatStats,this),K.off(Sl,this.handleRemoteStreamAdded,this),K.off(Qf,this.handleRemoteStreamSubscribeStart,this),K.off(jr,this.handleRemoteStreamSubscribed,this),K.off(oa,this.handleRemoteStreamRemoved,this),K.off(nm,this.handleVideoLoadedData,this),K.off(tm,this.handlePlayStream,this),K.off(Wf,this.handlePublishStart,this),K.off(Yf,this.handleLocalStreamInitStart,this),K.off($f,this.handleLocalStreamInitEnd,this),K.off(Zf,this.handleLocalStreamInitFailed,this)}},{key:"destroy",value:function(){this.uninstallEvents(),yt.clearTask(this.intervalId_),this.client_=null}},{key:"handleJoinStart",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_start_time===0&&(this.pathJoinRoom_.uint64_start_time=Date.now(),this.checkStorage())}},{key:"handleWSStart",value:function(i){var o=i.client;this.hitTest(o)&&this.pathJoinRoom_.uint64_send_request_acc_ip_cmd_start_time===0&&(this.pathJoinRoom_.uint64_send_request_acc_ip_cmd_start_time=Date.now())}},{key:"handleWSEnd",value:function(i){var o=i.client,a=i.error;this.hitTest(o)&&this.pathJoinRoom_.uint64_send_request_acc_ip_cmd_end_time===0&&(this.pathJoinRoom_.uint64_send_request_acc_ip_cmd_end_time=Date.now(),a&&(this.pathJoinRoom_.int32_send_request_acc_ip_cmd_ret=a instanceof ee?Number(a.getExtraCode()||a.getCode()):Y.UNKNOWN,this.pathJoinRoom_.int32_end_ret=2))}},{key:"handleJoinSendCMD",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_send_request_enter_room_cmd_start_time===0&&(this.pathJoinRoom_.uint64_send_request_enter_room_cmd_start_time=Date.now())}},{key:"handleJoinReceivedCMDResponce",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_send_request_enter_room_cmd_end_time===0&&(this.pathJoinRoom_.uint64_send_request_enter_room_cmd_end_time=Date.now(),this.pathJoinRoom_.int32_send_request_enter_room_cmd_ret=i.code,i.code!==0&&(this.pathJoinRoom_.int32_end_ret=3))}},{key:"handleJoinSuccess",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_end_time===0&&(this.pathJoinRoom_.uint64_end_time=Date.now(),this.pathJoinRoom_.int32_end_ret=0)}},{key:"handleJoinFailed",value:function(i){var o=i.client;this.hitTest(o)&&(this.pathJoinRoom_.uint64_end_time=Date.now(),this.pathJoinRoom_.int32_end_ret===0&&(this.pathJoinRoom_.int32_end_ret=3),this.prepareReport(),this.report())}},{key:"handleReceivedPublishUserList",value:function(i){this.hitTest(i.client)&&this.pathJoinRoom_.uint64_recv_userlist_time===0&&(this.pathJoinRoom_.uint64_recv_userlist_time=Date.now(),this.firstPublishedUserList_=i.data.data&&i.data.data.userList||[])}},{key:"handleConnectionStateChanged",value:function(i){var o=i.client,a=i.state,s=i.connection;if(this.hitTest(o)&&a===mn){this.client_.getUplinkConnection()===s&&this.pathJoinRoom_.uint64_send_first_video_frame_time===0&&this.localStreamStats_.publishStartTime>this.pathJoinRoom_.uint64_end_time&&this.localStreamStats_.publishStartTime-this.pathJoinRoom_.uint64_end_time<=100&&(this.pathJoinRoom_.uint64_send_first_video_frame_time=Date.now());var c=this.pathMainVideoMap_.get("".concat(s.getUserId(),"_").concat(_t));c&&c.statsToReport.uint64_pc_connected_time===0&&(c.statsToReport.uint64_pc_connected_time=Date.now())}}},{key:"handleLeaveStart",value:function(i){this.hitTest(i.client)&&(this.pathLeaveRoom_.uint64_start_time=Date.now())}},{key:"handleLeaveSuccess",value:function(i){this.hitTest(i.client)&&this.pathLeaveRoom_.uint64_end_time===0&&(this.pathLeaveRoom_.uint64_end_time=Date.now(),this.pathJoinRoom_.uint64_end_time!==0?this.basicInfo.uint32_joining_duration=this.pathLeaveRoom_.uint64_end_time-this.pathJoinRoom_.uint64_end_time:this.log_.warn("pathJoinRoom endTime is 0"),this.report())}},{key:"handleLeaveSendCMD",value:function(i){this.hitTest(i.client)&&(this.pathLeaveRoom_.uint64_send_request_exit_room_cmd_start_time=Date.now(),this.pathLeaveRoom_.uint64_send_request_exit_room_cmd_end_time=Date.now())}},{key:"handleRemoteStreamAdded",value:function(i){var o=i.client,a=i.stream;if(this.hitTest(o)){var s=a.getUserId(),c=a.getType(),u="".concat(s,"_").concat(c),l=this.remoteStreamStatsMap_.get(u);if(l)l.stream=a;else{var h={userId:s,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:H({},u7),stream:a};h.statsToReport.msg_user_info=new $v({userId:s,tinyId:a.getTinyId(),role:so}),h.statsToReport.uint32_stream_type=c===_t?2:7,this.remoteStreamStatsMap_.set(u,h)}}}},{key:"handleRemoteStreamSubscribeStart",value:function(i){var o=i.client,a=i.stream;if(this.hitTest(o)){var s=a.getUserId(),c=a.getType(),u="".concat(s,"_").concat(c),l=this.remoteStreamStatsMap_.get(u);l&&l.subscribeStartTime===0&&(l.subscribeStartTime=Date.now())}}},{key:"handleSendSubscribeCMD",value:function(i){if(this.hitTest(i.client)){var o=new $v(i),a=Date.now(),s="".concat(i.userId,"_").concat(_t);i.trackState.video&&i.subscribeState.video&&!this.pathMainVideoMap_.has(s)&&this.pathMainVideoMap_.set(s,{statsToReport:{msg_user_info:o,uint64_start_enter_time:this.pathJoinRoom_.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0,uint64_pc_connected_time:0},userId:i.userId,sendSubscribeCMDTime:a}),i.trackState.audio&&i.subscribeState.audio&&!this.pathMainAudioMap_.has(s)&&this.pathMainAudioMap_.set(s,{statsToReport:{msg_user_info:o,uint64_start_enter_time:this.pathJoinRoom_.uint64_start_time,uint64_play_first_frame_time:0},userId:i.userId,sendSubscribeCMDTime:a});var c="".concat(i.userId,"_").concat(Lt);i.trackState.auxiliary&&i.subscribeState.auxiliary&&!this.pathAuxiliaryMap_.has(c)&&this.pathAuxiliaryMap_.set(c,{sendSubscribeCMDTime:a})}}},{key:"handleRemoteStreamSubscribed",value:function(i){var o=i.client,a=i.stream;if(this.hitTest(o)){var s=a.getUserId(),c=a.getType(),u="".concat(s,"_").concat(c),l=this.remoteStreamStatsMap_.get(u);l&&l.subscribedTime===0&&(l.subscribedTime=Date.now(),l.stream=a)}}},{key:"handleRemoteStreamRemoved",value:function(i){var o=i.client,a=i.stream;if(this.hitTest(o)){var s=a.getUserId(),c=a.getType(),u=this.remoteStreamStatsMap_.get("".concat(s,"_").concat(c));u&&(u.stream=null)}}},{key:"handlePlayStream",value:function(i){var o=i.stream;if(o.isRemote()&&o.getConnection()&&this.hitTest(o.getConnection().getClient())){var a=o.getConnection().getUserId(),s="".concat(a,"_").concat(o.getType());if(this.remoteStreamStatsMap_.has(s)){var c=this.remoteStreamStatsMap_.get(s);c.playStreamTime===0&&(c.playStreamTime=Date.now())}}}},{key:"handleVideoLoadedData",value:function(i){var o=i.stream;if(o.isRemote()&&o.getConnection()&&this.hitTest(o.getConnection().getClient())){var a=o.getConnection().getUserId(),s="".concat(a,"_").concat(o.getType());if(this.pathMainVideoMap_.has(s)){var c=this.pathMainVideoMap_.get(s);c.statsToReport.uint64_combine_first_frame_time===0&&(c.statsToReport.uint64_combine_first_frame_time=Date.now())}}}},{key:"handleVideoPlaying",value:function(i){var o=i.stream;if(o.isRemote()&&o.getConnection()&&this.hitTest(o.getConnection().getClient())){var a=o.getConnection().getUserId(),s="".concat(a,"_").concat(o.getType()),c=Date.now();if(this.pathMainVideoMap_.has(s)){var u=this.pathMainVideoMap_.get(s);if(u.statsToReport.uint64_render_first_frame_time===0&&(u.statsToReport.uint64_render_first_frame_time=c),this.remoteStreamStatsMap_.has(s)){var l=this.remoteStreamStatsMap_.get(s),h=l.statsToReport,_=l.playStreamTime,y=l.subscribedTime;h.uint32_video_render_first===0&&_-y<=100&&(h.uint32_video_render_first=c-u.sendSubscribeCMDTime)}}if(o.getType()===Lt&&this.pathAuxiliaryMap_.has(s)&&this.remoteStreamStatsMap_.has(s)){var S=this.remoteStreamStatsMap_.get(s),f=S.statsToReport,g=S.playStreamTime,I=S.subscribedTime;f.uint32_video_render_first===0&&g-I<=100&&(f.uint32_video_render_first=c-this.pathAuxiliaryMap_.get(s).sendSubscribeCMDTime)}}}},{key:"handleAudioPlaying",value:function(i){if(i.stream.isRemote()&&i.stream.getConnection()&&this.hitTest(i.stream.getConnection().getClient())){var o=i.stream.getConnection().getUserId(),a="".concat(o,"_").concat(i.stream.getType());if(this.pathMainAudioMap_.has(a)){var s=this.pathMainAudioMap_.get(a);s.statsToReport.uint64_play_first_frame_time===0&&(s.statsToReport.uint64_play_first_frame_time=Date.now())}}}},{key:"handleNetworkQuality",value:function(i){var o=this;this.hitTest(i.client)&&(this.networkQuality_.totalUplinkLoss+=i.uplinkLoss,this.networkQuality_.totalUplinkRTT+=i.uplinkRTT,this.networkQuality_.count++,i.downlinkLossAndRTTMap.forEach(function(a){var s=a.rtt,c=a.loss,u=a.userId,l=o.networkQuality_.totalDownlinkRTTAndLossMap.get(u);l?(l.totalRTT+=s,l.totalLoss+=c,l.count++):o.networkQuality_.totalDownlinkRTTAndLossMap.set(u,{totalRTT:s,totalLoss:c,count:1})}))}},{key:"handleHeartbeatStats",value:function(i){var o=this;if(this.hitTest(i.client)){var a=i.stats,s=a.msg_up_stream_info,c=a.msg_down_stream_info;if(s.msg_video_status[0]){var u=s.msg_video_status[0],l=u.uint32_video_codec_bitrate,h=u.uint32_video_enc_fps,_=u.uint32_video_width,y=u.uint32_video_height;this.localStreamStats_.totalVideoBitrate+=l,this.localStreamStats_.totalVideoFPS+=h,this.localStreamStats_.totalVideoWidth+=_,this.localStreamStats_.totalVideoHeight+=y,this.localStreamStats_.videoCount++}if(s.msg_audio_status){var S=s.msg_audio_status.audioLevel;Math.floor(100*S)>0&&(this.localStreamStats_.totalAudioLevel+=S,this.localStreamStats_.audioLevelCount++)}c.forEach(function(f){var g=f.msg_user_info,I=f.msg_audio_status,w=f.msg_video_status,B=g.str_identifier;if(w.forEach(function(L){var k=L.uint32_video_stream_type===2,P=L.uint32_video_stream_type===7,A="".concat(B,"_").concat(k?_t:Lt);if(o.remoteStreamStatsMap_.has(A)){var U,T,v=o.remoteStreamStatsMap_.get(A);(k&&(U=v.stream)!==null&&U!==void 0&&U.isMainVideoSubscribed||P&&(T=v.stream)!==null&&T!==void 0&&T.isAuxVideoSubscribed)&&(v.totalVideoFPS+=L.uint32_video_receive_fps,v.totalVideoBitrate+=L.uint32_video_codec_bitrate,v.videoCount++,v.statsToReport.uint32_video_width===0&&(v.statsToReport.uint32_video_width=L.uint32_video_width),v.statsToReport.uint32_video_height===0&&(v.statsToReport.uint32_video_height=L.uint32_video_height))}}),I){var z="".concat(B,"_").concat(_t);if(o.remoteStreamStatsMap_.has(z)){var $,ue=o.remoteStreamStatsMap_.get(z);($=ue.stream)!==null&&$!==void 0&&$.isMainAudioSubscribed&&(ue.totalAudioBitrate+=I.uint32_audio_codec_bitrate,ue.audioCount++,Math.floor(100*I.audioLevel)>0&&(ue.totalAudioLevel+=I.audioLevel,ue.audioLevelCount++))}}})}}},{key:"handlePublishStart",value:function(i){var o=i.client;this.hitTest(o)&&this.localStreamStats_.publishStartTime===0&&(this.localStreamStats_.publishStartTime=Date.now())}},{key:"handleLocalStreamInitStart",value:function(i){var o=i.audio,a=i.video;o&&this.pathJoinRoom_.uint64_init_audio_start_time===0&&(this.pathJoinRoom_.uint64_init_audio_start_time=Date.now()),a&&this.pathJoinRoom_.uint64_init_camera_start_time===0&&(this.pathJoinRoom_.uint64_init_camera_start_time=Date.now())}},{key:"handleLocalStreamInitEnd",value:function(i){var o=i.audio,a=i.video;o&&this.pathJoinRoom_.uint64_init_audio_end_time===0&&(this.pathJoinRoom_.uint64_init_audio_end_time=Date.now()),a&&this.pathJoinRoom_.uint64_init_camera_end_time===0&&(this.pathJoinRoom_.uint64_init_camera_end_time=Date.now())}},{key:"handleLocalStreamInitFailed",value:function(i){var o=i.audio,a=i.video,s=i.error,c=s instanceof ee?s.getExtraCode()||s.getCode():{NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5}[s.name]||Y.UNKNOWN;o&&this.pathJoinRoom_.uint64_init_audio_end_time===0&&(this.pathJoinRoom_.int32_init_audio_ret=c,this.pathJoinRoom_.uint64_init_audio_end_time=Date.now()),a&&this.pathJoinRoom_.uint64_init_camera_end_time===0&&(this.pathJoinRoom_.int32_init_camera_ret=c,this.pathJoinRoom_.uint64_init_camera_end_time=Date.now())}},{key:"hasVideoFlag",value:function(i){return this.firstPublishedUserList_.findIndex(function(o){return o.userId===i&&1&o.flag})>=0}},{key:"hasAudioFlag",value:function(i){return this.firstPublishedUserList_.findIndex(function(o){return o.userId===i&&8&o.flag})>=0}},{key:"hasAuxFlag",value:function(i){return this.firstPublishedUserList_.findIndex(function(o){return o.userId===i&&4&o.flag})>=0}},{key:"hitTest",value:function(i){return i===this.client_}},{key:"checkStorage",value:(r=N(p().mark(function i(){var o;return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(a.prev=0,!(o=yo.getItem(this.storageKey_))){a.next=6;break}return a.next=5,this.upload(o);case 5:yo.deleteItem(this.storageKey_);case 6:a.next=11;break;case 8:a.prev=8,a.t0=a.catch(0),this.log_.warn(a.t0);case 11:case"end":return a.stop()}},i,this,[[0,8]])})),function(){return r.apply(this,arguments)})},{key:"setStorage",value:function(){this.prepareReport();var i=this.getReportData();i.msg_path_enter_room.uint64_start_time!==0&&yo.setItem(this.storageKey_,i)}},{key:"prepareReport",value:function(){var i=this;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.localStreamStats_.videoCount>0){this.localStreamStats_.statsToReport.uint32_video_big_capture_fps=Math.floor(this.localStreamStats_.totalVideoFPS/this.localStreamStats_.videoCount),this.localStreamStats_.statsToReport.uint32_video_big_bitrate=Math.floor(this.localStreamStats_.totalVideoBitrate/this.localStreamStats_.videoCount);var o=Math.floor(this.localStreamStats_.totalVideoWidth/this.localStreamStats_.videoCount),a=Math.floor(this.localStreamStats_.totalVideoHeight/this.localStreamStats_.videoCount);this.localStreamStats_.statsToReport.uint32_video_big_resolution=o<<16|a}this.localStreamStats_.audioLevelCount>0&&(this.localStreamStats_.statsToReport.uint32_audio_capture_db=Math.floor(this.localStreamStats_.totalAudioLevel/this.localStreamStats_.audioLevelCount*100)),this.remoteStreamStatsMap_.forEach(function(s,c){var u=s.userId;if(i.networkQuality_.totalDownlinkRTTAndLossMap.has(u)){var l=i.networkQuality_.totalDownlinkRTTAndLossMap.get(u),h=l.totalLoss,_=l.count;s.statsToReport.uint32_avg_down_loss=Math.floor(h/_)}s.videoCount>0&&(s.statsToReport.uint32_video_avg_fps=Math.floor(s.totalVideoFPS/s.videoCount),s.statsToReport.uint32_video_avg_bitrate=Math.floor(s.totalVideoBitrate/s.videoCount)),s.audioCount>0&&(s.statsToReport.uint32_audio_recv_bitrate=s.statsToReport.uint32_audio_bitrate=Math.floor(s.totalAudioBitrate/s.audioCount)),s.audioLevelCount>0&&(s.statsToReport.uint32_audio_play_db=Math.floor(s.totalAudioLevel/s.audioLevelCount*100));var y=i.client_.getCallDurationCalculator();y&&(s.statsToReport.uint32_audio_play_time=y.getDuration(c,Ce),s.statsToReport.uint32_video_play_time=y.getDuration(c,Te)),s.statsToReport.uint32_video_render_first=Math.min(s.statsToReport.uint32_video_render_first,fa);var S=i.client_.getBadCaseDetector();if(S){var f=S.getDataFreezeDuration(c),g=f.dataFreeze,I=f.count,w=S.getRenderFreezeDuration(c).renderFreeze;s.statsToReport.uint32_video_block_count=I,s.statsToReport.uint32_video_block_time=Math.min(g,s.statsToReport.uint32_video_play_time),s.statsToReport.uint32_video_external_block_time=Math.min(w,s.statsToReport.uint32_video_play_time),S.isBlackStream(c)&&s.statsToReport.uint32_video_avg_fps===0?s.statsToReport.uint32_video_black_screen_subjective=1:s.statsToReport.uint32_video_black_screen_subjective=0}(s.subscribeStartTime===0||s.subscribeStartTime-s.streamAddedTime>100||s.playStreamTime===0)&&(i.pathMainAudioMap_.delete(c),i.pathMainVideoMap_.delete(c),s.statsToReport.uint32_video_render_first=0)}),this.pathMainAudioMap_.forEach(function(s,c){i.hasAudioFlag(s.userId)?s.statsToReport.uint64_play_first_frame_time-s.statsToReport.uint64_start_enter_time>fa&&(s.statsToReport.uint64_play_first_frame_time=s.statsToReport.uint64_start_enter_time+fa):i.pathMainAudioMap_.delete(c)}),this.pathMainVideoMap_.forEach(function(s,c){i.hasVideoFlag(s.userId)?s.statsToReport.uint64_render_first_frame_time-s.statsToReport.uint64_start_enter_time>fa&&(s.statsToReport.uint64_render_first_frame_time=s.statsToReport.uint64_start_enter_time+fa):i.pathMainVideoMap_.delete(c)}),this.pathJoinRoom_.uint64_end_time-this.pathJoinRoom_.uint64_start_time>fa&&(this.pathJoinRoom_.uint64_end_time=this.pathJoinRoom_.uint64_start_time+fa)}},{key:"getReportData",value:function(){var i=this.client_.getSignalInfo();return{uint32_sdk_app_id:Number(this.client_.getSDKAppId()),msg_user_info:new $v({userId:this.client_.getUserId(),tinyId:this.client_.getTinyId(),role:this.client_.getRole()===br?so:Qp}),msg_basic_info:this.basicInfo,uint32_acc_ip:Nf(i.relayIp),uint32_client_ip:Nf(i.clientIp,"small"),uint32_acc_port:0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Math.pow(2,31)),msg_path_enter_room:this.pathJoinRoom_,msg_path_exit_room:this.pathLeaveRoom_,msg_path_recv_video:be(this.pathMainVideoMap_.values()).map(function(o){return o.statsToReport}),msg_quality_statistics:be(this.remoteStreamStatsMap_.values()).map(function(o){return o.statsToReport}),str_room_name:String(this.client_.getRoomId()),msg_path_recv_audio:be(this.pathMainAudioMap_.values()).map(function(o){return o.statsToReport}),uint32_info_client_ip:Nf(i.clientIp,"small"),error_code:[],msg_local_statistics:this.localStreamStats_.statsToReport,msg_function_state:Ei.getStateArray()}}},{key:"report",value:(n=N(p().mark(function i(){var o;return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,o=this.getReportData(),a.next=4,this.upload(o);case 4:yo.deleteItem(this.storageKey_),Ei.clearStateArray(),this.initData(),a.next=12;break;case 9:a.prev=9,a.t0=a.catch(0),this.log_.warn(a.t0);case 12:case"end":return a.stop()}},i,this,[[0,9]])})),function(){return n.apply(this,arguments)})},{key:"upload",value:(t=N(p().mark(function i(o){var a,s,c;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(!(ta||o.msg_path_enter_room.uint64_start_time===0||[cf,Qb,Yb].findIndex(function(l){return l===location.host})>=0)){u.next=2;break}return u.abrupt("return");case 2:return a=Number(this.client_.getSDKAppId()),s=fl(a,JN),u.next=6,gl({url:s,body:JSON.stringify(o)});case 6:if((c=u.sent).data==="ok"){u.next=9;break}throw"key point upload failed: ".concat(c.data);case 9:case"end":return u.stop()}},i,this)})),function(i){return t.apply(this,arguments)})}]),e}(),W(Ic.prototype,"upload",[bI],Object.getOwnPropertyDescriptor(Ic.prototype,"upload"),Ic.prototype),Ic),Ei=function(){function e(){J(this,e)}return Ie(e,null,[{key:"handleFunctionState",value:function(t){var n,r,i,o,a=t.className,s=t.fnName,c=t.params;if(!(ta||[cf,Qb,Yb].findIndex(function(_){return _===location.host})>=0)){var u,l=[];if(a)switch(s){case"createClient":(n=c[0])!==null&&n!==void 0&&n.mode&&l.push("".concat(a,".").concat(s,".").concat(c[0].mode)),(r=c[0])!==null&&r!==void 0&&r.useStringRoomId?l.push("".concat(a,".").concat(s,".stringRoomId")):l.push("".concat(a,".").concat(s,".intRoomId")),(i=c[0])!==null&&i!==void 0&&i.autoSubscribe?l.push("".concat(a,".").concat(s,".autoSubscribe")):l.push("".concat(a,".").concat(s,".manualSubscribe"));break;case"publish":(o=c[1])!==null&&o!==void 0&&o.isAuxiliary?l.push("".concat(a,".").concat(s,".isAuxiliary")):l.push("".concat(a,".").concat(s));break;case"setAudioProfile":case"setVideoProfile":case"setScreenProfile":case"setVideoContentHint":Ft(c[0])&&l.push("".concat(a,".").concat(s,".").concat(c[0]));break;default:l.push("".concat(a,".").concat(s))}else l.push(s);for(var h=0;h<l.length;h++){if(!(u=f3[l[h]]))return;this.stateMap.has(u)?this.stateMap.get(u).int32_call_times+=1:this.stateMap.set(u,{int32_id:u,int32_call_times:1})}}}},{key:"getStateArray",value:function(){return Array.from(this.stateMap.values())}},{key:"clearStateArray",value:function(){this.stateMap.clear()}}]),e}();function kt(e){return function(t,n,r){var i=r.value;return r.value=function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];try{e||(e=this.name_),Ei.handleFunctionState({className:e,fnName:n,params:a}),e=void 0}catch(c){this.log_.info(c)}return i.apply(this,a)},r}}et(Ei,"stateMap",new Map);var II=(kI=wn.apply(void 0,be(Yt.STREAM.play)),TI=kt(),xI=kt(),or=function(){function e(a){J(this,e),this.name_=u3,this.userId_=a.userId,this.isRemote_=a.isRemote,this.type_=a.type,this.log_=ye.createLogger({id:"s".concat(a.seq?a.seq:"","|").concat(this.userId_),userId:ge(a.client)?void 0:a.client.getUserId(),sdkAppId:ge(a.client)?void 0:a.client.getSDKAppId(),isLocal:!this.isRemote_,type:this.isRemote_?this.type_:""}),this.client_=null,ge(a.client)||(this.client_=a.client),this.mediaStream_=null,this.div_=null,this.isPlaying_=!1,this.connection_=null,this.audioPlayer_=null,this.videoPlayer_=null,this.muted_=!1,this.objectFit_="cover",this.mirror_=!1,this.id_="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(s){var c=16*Math.random()|0;return(s=="x"?c:3&c|8).toString(16)}),this.audioOutputDeviceId_=0,this.audioVolume_=1,this.emitter_=Gk(new yi,this.name_),this.connectionState_=sn,this.installEvents(),ge(a.mirror)||this.log_.warn('TRTC.createStream "mirror" option was deprecated since v4.12.1\uFF0Cplease use localStream.play to set up preview mirror. refer to '.concat(co,"/en/LocalStream.html#play. TRTC.createStream \u63A5\u53E3\u7684 mirror \u9009\u9879\u4ECE v4.12.1 \u5F00\u59CB\u88AB\u5E9F\u5F03\uFF0C\u8BF7\u4F7F\u7528 localStream.play \u8BBE\u7F6E\u672C\u5730\u6D41\u9884\u89C8\u955C\u50CF\uFF0C\u53C2\u8003\u6587\u6863\uFF1A").concat(co,"/zh-cn/LocalStream.html#play\u3002"))}var t,n,r,i,o;return Ie(e,[{key:"installEvents",value:function(){K.on(oc,this.restartPlayback,this)}},{key:"uninstallEvents",value:function(){K.off(oc,this.restartPlayback,this)}},{key:"getType",value:function(){return this.type_}},{key:"getLogger",value:function(){return this.log_}},{key:"isSubscribed",get:function(){return this.type_===_t&&this.connection_.isMainStreamSubscribed||this.type_===Lt&&this.connection_.isAuxStreamSubscribed}},{key:"isMainVideoSubscribed",get:function(){var a=this.getSubscribedState();return this.type_===_t&&a&&a.video}},{key:"isMainAudioSubscribed",get:function(){var a=this.getSubscribedState();return this.type_===_t&&a&&a.audio}},{key:"isAuxVideoSubscribed",get:function(){var a=this.getSubscribedState();return this.type_===Lt&&a&&a.auxiliary}},{key:"isSmallVideoSubscribed",get:function(){var a=this.getSubscribedState();return this.type_===_t&&a&&a.smallVideo}},{key:"emitConnectionStateChanged",value:function(a){a.state!==this.connectionState_&&(a.state!==sn&&this.isRemote_&&!this.isSubscribed||(this.emitter_.emit(K6,a),this.connectionState_=a.state))}},{key:"setConnection",value:function(a){this.connection_!==a&&(a instanceof Qv?(this.connection_!==null&&this.connection_.off(nt.CONNECTION_STATE_CHANGED,this.emitConnectionStateChanged,this),a.on(nt.CONNECTION_STATE_CHANGED,this.emitConnectionStateChanged,this)):a===null&&this.connection_.off(nt.CONNECTION_STATE_CHANGED,this.emitConnectionStateChanged,this),this.connection_=a)}},{key:"getConnection",value:function(){return this.connection_}},{key:"play",value:(o=N(p().mark(function a(s,c){var u,l,h;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(this.log_.info("stream ".concat(this.isPlaying_?"update":"start to"," play with elementId: ").concat(s," and options: ").concat(JSON.stringify(c),".")),!this.isPlaying_){_.next=9;break}return c&&!ge(c.muted)&&(this.muted_=c.muted),c&&!ge(c.objectFit)&&(this.objectFit_=c.objectFit),this.isScreenShare()?this.mirror_=!1:c&&!ge(c.mirror)&&(this.mirror_=c.mirror),this.audioPlayer_&&this.audioPlayer_.setMuted(this.muted_),this.videoPlayer_&&(this.videoPlayer_.setObjectFit(this.objectFit_),this.videoPlayer_.setMirror(this.mirror_)),this.elementId_!==s&&(u=s,Ft(s)&&(u=document.getElementById(s)),u.appendChild(this.div_),this.elementId_=s),_.abrupt("return");case 9:return this.isPlaying_=!0,(l=document.createElement("div")).setAttribute("id","player_".concat(this.id_)),l.setAttribute("style","width: 100%; height: 100%; position: relative; background-color: black; overflow: hidden;"),h=s,Ft(s)&&(h=document.getElementById(s)),h.appendChild(l),this.elementId_=s,this.div_=l,this.isRemote_||(this.muted_=!0),c&&!ge(c.muted)&&(this.muted_=c.muted),this.isScreenShare()&&(this.objectFit_="contain"),c&&!ge(c.objectFit)&&(this.objectFit_=c.objectFit),this.isScreenShare()?this.mirror_=!1:(this.isRemote_||(this.mirror_=!0),c&&!ge(c.mirror)&&(this.mirror_=c.mirror)),K.emit(tm,{stream:this}),_.next=26,Promise.all([this.playAudio(),this.playVideo()]);case 26:K.emit(DV,{stream:this});case 27:case"end":return _.stop()}},a,this)})),function(a,s){return o.apply(this,arguments)})},{key:"playAudio",value:(i=N(p().mark(function a(){var s,c,u=this;return p().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(this.hasAudio()&&(!this.isRemote_||this.isMainAudioSubscribed)){l.next=2;break}return l.abrupt("return");case 2:if(s=this.getAudioTrack(),this.audioPlayer_||!s){l.next=17;break}return this.log_.info("create AudioPlayer and play"),this.audioPlayer_=new X5({stream:this,track:s,gainedTrack:(c=this.gain_)===null||c===void 0?void 0:c.audioTrack,div:this.div_,muted:this.muted_,outputDeviceId:this.audioOutputDeviceId_,volume:this.audioVolume_}),this.audioPlayer_.on(gn,function(h){var _={type:Ce,state:h.state,reason:h.reason};K.emit(qk,H({stream:u},_)),u.emitter_.emit(FT,_)}),l.prev=7,l.next=10,this.audioPlayer_.play();case 10:l.next=17;break;case 12:throw l.prev=12,l.t0=l.catch(7),this.client_&&this.client_.getEnableAutoPlayDialog()&&new D1,this.emitter_.emit(Nm,l.t0),l.t0;case 17:case"end":return l.stop()}},a,this,[[7,12]])})),function(){return i.apply(this,arguments)})},{key:"playVideo",value:(r=N(p().mark(function a(){var s,c=this;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.hasVideo()&&(!this.isRemote_||this.isMainVideoSubscribed||this.isAuxVideoSubscribed||this.isSmallVideoSubscribed)){u.next=2;break}return u.abrupt("return");case 2:if(s=this.getVideoTrack(),this.videoPlayer_||!s){u.next=18;break}return K.emit(rm,{stream:this}),this.log_.info("create VideoPlayer and play"),this.videoPlayer_=new L1({stream:this,track:s,div:this.div_,muted:this.muted_,objectFit:this.objectFit_,mirror:this.mirror_}),this.videoPlayer_.on(gn,function(l){var h={type:Te,state:l.state,reason:l.reason};K.emit(qk,H({stream:c},h)),c.emitter_.emit(FT,h)}),u.prev=8,u.next=11,this.videoPlayer_.play();case 11:u.next=18;break;case 13:throw u.prev=13,u.t0=u.catch(8),this.client_&&this.client_.getEnableAutoPlayDialog()&&new D1,this.emitter_.emit(Nm,u.t0),u.t0;case 18:case"end":return u.stop()}},a,this,[[8,13]])})),function(){return r.apply(this,arguments)})},{key:"stopAudio",value:function(){this.audioPlayer_&&(this.log_.info("stop AudioPlayer"),this.audioPlayer_.stop(),this.audioPlayer_=null)}},{key:"stopVideo",value:function(){this.videoPlayer_&&(this.log_.info("stop VideoPlayer"),this.videoPlayer_.stop(),this.videoPlayer_=null)}},{key:"restartPlayback",value:function(){this.audioPlayer_&&!this.audioPlayer_.isPlaying&&this.restartAudio(),this.videoPlayer_&&!this.videoPlayer_.isPlaying&&this.restartVideo()}},{key:"restartAudio",value:function(){this.isPlaying_&&(this.stopAudio(),this.playAudio().catch(function(a){}))}},{key:"restartVideo",value:function(){this.isPlaying_&&(this.stopVideo(),this.playVideo().catch(function(a){}))}},{key:"stop",value:function(){this.isPlaying_&&(this.isPlaying_=!1,this.stopAudio(),this.stopVideo(),this.div_.parentNode.removeChild(this.div_))}},{key:"resume",value:(n=N(p().mark(function a(){return p().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(this.isPlaying_){s.next=2;break}return s.abrupt("return");case 2:if(this.log_.info("resume"),!this.audioPlayer_){s.next=6;break}return s.next=6,this.audioPlayer_.resume();case 6:if(!this.videoPlayer_){s.next=9;break}return s.next=9,this.videoPlayer_.resume();case 9:case"end":return s.stop()}},a,this)})),function(){return n.apply(this,arguments)})},{key:"close",value:function(){this.log_.info("close stream"),this.isPlaying_&&this.stop(),this.isRemote_||(this.mediaStream_&&(this.mediaStream_.preventEvent=1,this.mediaStream_.getTracks().forEach(function(a){a.stop()}),this.mediaStream_=null),this.uninstallEvents())}},{key:"muteAudio",value:function(){return this.addRemoteEvent(!0,Ce),this.doEnableTrack(Ce,!1)}},{key:"muteVideo",value:function(){return this.addRemoteEvent(!0,Te),this.doEnableTrack(Te,!1)}},{key:"unmuteAudio",value:function(){return this.addRemoteEvent(!1,Ce),this.doEnableTrack(Ce,!0)}},{key:"unmuteVideo",value:function(){return this.addRemoteEvent(!1,Te),this.doEnableTrack(Te,!0)}},{key:"addRemoteEvent",value:function(a,s){if(this.isRemote_&&this.client_){var c=this.client_.getUserId(),u="".concat(a?nn:yr," remote ").concat(s);vn(c,{eventId:s===Ce?a?QU:$U:a?XU:YU,eventDesc:u,timestamp:new Date().getTime(),userId:c,tinyId:this.client_.getTinyId(),remoteUserId:this.userId_,remoteTinyId:this.connection_.getTinyId()})}}},{key:"doEnableTrack",value:function(a,s){var c=!1;return a===Ce?this.mediaStream_.getAudioTracks().forEach(function(u){c=!0,u.enabled=s}):this.mediaStream_.getVideoTracks().forEach(function(u){c=!0,u.enabled=s}),c}},{key:"getId",value:function(){return this.id_}},{key:"getUserId",value:function(){return this.userId_}},{key:"getTinyId",value:function(){return this.connection_?this.connection_.getTinyId():""}},{key:"isPlaying",value:function(){return this.isPlaying_}},{key:"setAudioOutput",value:(t=N(p().mark(function a(s){var c;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(this.log_.info("setAudioOutput ".concat(s)),this.audioOutputDeviceId_=s,!this.audioPlayer_){u.next=5;break}return u.next=5,this.audioPlayer_.setSinkId(s);case 5:return u.next=7,WT();case 7:c=u.sent,this.log_.info("speakers: ".concat(JSON.stringify(c)));case 9:case"end":return u.stop()}},a,this)})),function(a){return t.apply(this,arguments)})},{key:"setAudioVolume",value:function(a){this.audioVolume_=a,this.log_.info("setAudioVolume to ".concat(a)),this.audioPlayer_&&this.audioPlayer_.setVolume(a)}},{key:"getAudioLevel",value:function(){var a=0;return this.audioPlayer_&&(a=this.audioPlayer_.getAudioLevel()),a}},{key:"getInternalAudioLevel",value:function(){var a=0;return this.audioPlayer_&&(a=this.audioPlayer_.getInternalAudioLevel()),a}},{key:"hasAudio",value:function(){if(this.isRemote_){if(!this.connection_)return!1;var a=this.connection_.getTrackState();return this.type_===_t&&a.audio}return!!this.getAudioTrack()}},{key:"hasVideo",value:function(){if(this.isRemote_){if(!this.connection_)return!1;var a=this.connection_.getTrackState();return this.type_===Lt?a.auxiliary:a.video}return!!this.getVideoTrack()}},{key:"getSubscribedState",value:function(){return this.isRemote_&&this.connection_?this.connection_.getSubscribeState():null}},{key:"getAudioTrack",value:function(){var a=null;if(this.mediaStream_){var s=this.mediaStream_.getAudioTracks();s.length>0&&(a=s[0])}return a}},{key:"getVideoTrack",value:function(){var a=null;if(this.mediaStream_){var s=this.mediaStream_.getVideoTracks();s.length>0&&(a=s[0])}return a}},{key:"getVideoFrame",value:function(){return this.videoPlayer_?this.videoPlayer_.getVideoFrame():null}},{key:"getMediaStream",value:function(){return this.mediaStream_}},{key:"setMediaStream",value:function(a){a!==this.mediaStream_&&(this.mediaStream_&&this.mediaStream_.getTracks().forEach(function(s){return s.stop()}),this.mediaStream_=a)}},{key:"updateVideoPlayingState",value:function(a){this.isPlaying_&&(a?(this.log_.info("playing state updated, play video"),this.playVideo().catch(function(s){})):(this.log_.info("playing state updated, stop video"),this.stopVideo()))}},{key:"updateAudioPlayingState",value:function(a){this.isPlaying_&&(a?(this.log_.info("playing state updated, play audio"),this.playAudio().catch(function(s){})):(this.log_.info("playing state updated, stop audio"),this.stopAudio()))}},{key:"on",value:function(a,s,c){this.emitter_.on(a,s,c)}},{key:"off",value:function(a,s,c){a==="*"?this.emitter_.removeAllListeners():this.emitter_.off(a,s,c)}},{key:"isRemote",value:function(){return this.isRemote_}},{key:"isScreenShare",value:function(){return!this.isRemote_&&this.screen_||this.isRemote_&&this.getType()===mt}},{key:"getDiv",value:function(){return this.div_}},{key:"getObjectFit",value:function(){return this.objectFit_}},{key:"getMuted",value:function(){return this.muted_}},{key:"getClient",value:function(){return this.client_}}]),e}(),W(or.prototype,"play",[kI],Object.getOwnPropertyDescriptor(or.prototype,"play"),or.prototype),W(or.prototype,"setAudioOutput",[TI],Object.getOwnPropertyDescriptor(or.prototype,"setAudioOutput"),or.prototype),W(or.prototype,"getVideoFrame",[xI],Object.getOwnPropertyDescriptor(or.prototype,"getVideoFrame"),or.prototype),or),Zv=function(e){Ct(n,e);var t=Ar(n);function n(r){var i;J(this,n);var o={isRemote:!0,type:r.type},a=H(H({},r),o);return(i=t.call(this,a)).name_=sf,i.isStreamAddedEventEmitted_=!1,i.isAbleToCallSubscription_=!0,i}return Ie(n,[{key:"installEvents",value:function(){se($e(n.prototype),"installEvents",this).call(this),K.on(jr,this.handleStreamSubscribed,this),K.on(Br,this.handleStreamUnsubscribed,this)}},{key:"uninstallEvents",value:function(){se($e(n.prototype),"uninstallEvents",this).call(this),K.off(jr,this.handleStreamSubscribed,this),K.off(Br,this.handleStreamUnsubscribed,this)}},{key:"handleStreamSubscribed",value:function(r){r.client===this.client_&&r.stream===this&&this.connection_.getCurrentState()===mn&&this.emitConnectionStateChanged({prevState:sn,state:mn})}},{key:"handleStreamUnsubscribed",value:function(r){r.client===this.client_&&r.stream===this&&this.emitConnectionStateChanged({prevState:mn,state:sn})}},{key:"getType",value:function(){return se($e(n.prototype),"getType",this).call(this)}},{key:"getIsAbleToCallSubscription",value:function(){return this.isAbleToCallSubscription_}},{key:"setIsAbleToCallSubscription",value:function(r){this.isAbleToCallSubscription_=r}},{key:"setIsStreamAddedEventEmitted",value:function(r){this.isStreamAddedEventEmitted_=r}},{key:"getIsStreamAddedEventEmitted",value:function(){return this.isStreamAddedEventEmitted_}},{key:"getAudioTrack",value:function(){return this.connection_&&this.connection_.getTrackState().audio?se($e(n.prototype),"getAudioTrack",this).call(this):null}},{key:"getVideoTrack",value:function(){if(!this.connection_)return null;var r=this.connection_.getTrackState();return(this.type_!==_t||r.video)&&(this.type_!==Lt||r.auxiliary)?se($e(n.prototype),"getVideoTrack",this).call(this):null}},{key:"close",value:function(){se($e(n.prototype),"close",this).call(this)}}]),n}(II),d7=function(){function e(i){J(this,e),this.client_=i.client,this.subscribedStreams_=new Map,this.unsubscribedStreams_=new Map,this.subscriptedOptions_=new Map,this.autoRecoveryFlags_=new Map}var t,n,r;return Ie(e,[{key:"isEnabled",get:function(){return this.client_.getEnv()!=="webrtc"}},{key:"recover",value:(r=N(p().mark(function i(o){var a,s,c;return p().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:if(a=o.getUserId(),s=o.getType(),this.hasAutoRecoveryFlag(a,s)){u.next=5;break}return u.abrupt("return");case 5:if(c=this.getUnsubscribedStream(a,s)?"unsubscribe":"subscribe",u.prev=6,ye.warn("recover() try to recover subscription [".concat(c,"][").concat(a,"][").concat(s,"]")),c!=="subscribe"){u.next=13;break}return u.next=11,this.recoverSubscription(a,o);case 11:u.next=15;break;case 13:return u.next=15,this.recoverUnsubscription(a,o);case 15:xe.logSuccessEvent({userId:this.client_.getUserId(),eventType:Ub}),ye.warn("recover() recover successfully [".concat(c,"][").concat(a,"][").concat(s,"]")),u.next=23;break;case 19:u.prev=19,u.t0=u.catch(6),ye.error("recover() recover failed [".concat(c,"][").concat(a,"][").concat(s,"]"),u.t0),xe.logFailedEvent({userId:this.client_.getUserId(),eventType:Ub,error:u.t0});case 23:this.deleteAutoRecoveryFlag(a,s);case 24:case"end":return u.stop()}},i,this,[[6,19]])})),function(i){return r.apply(this,arguments)})},{key:"recoverSubscription",value:(n=N(p().mark(function i(o,a){var s,c,u,l,h;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(s=this.getOptions(o,a.getType()),c=this.getSubscribedStream(o,a.getType()),s&&c){_.next=4;break}return _.abrupt("return");case 4:u=this.getStreamMuteState(c),l=u.isAudioMuted,h=u.isVideoMuted,this.mergeStream(c,a),this.recoverPlayingState(c),l&&c.doEnableTrack(Ce,!1),h&&c.doEnableTrack(Te,!1);case 9:case"end":return _.stop()}},i,this)})),function(i,o){return n.apply(this,arguments)})},{key:"recoverUnsubscription",value:(t=N(p().mark(function i(o,a){var s;return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(s=this.getUnsubscribedStream(o,a.getType())){c.next=3;break}return c.abrupt("return");case 3:this.mergeStream(s,a);case 4:case"end":return c.stop()}},i,this)})),function(i,o){return t.apply(this,arguments)})},{key:"getStreamMuteState",value:function(i){var o={isAudioMuted:!1,isVideoMuted:!1},a=i.getMediaStream();return a&&(o.isAudioMuted=a.getAudioTracks().map(function(s){return s.enabled}).includes(!1),o.isVideoMuted=a.getVideoTracks().map(function(s){return s.enabled}).includes(!1)),o}},{key:"recoverPlayingState",value:function(i){var o=i.isPlaying(),a=i.getDiv();if(o&&a){var s=a.parentNode;i.stop(),i.play(s,{objectFit:i.getObjectFit(),muted:i.getMuted()})}}},{key:"mergeStream",value:function(i,o){var a=o.getConnection(),s=o.getMediaStream();i.setConnection(a),a.setRemoteStream(s.id,i),i.setMediaStream(s),i.updateAudioPlayingState(o.hasAudio()),i.updateVideoPlayingState(o.hasVideo())}},{key:"addSubscriptionRecord",value:function(i,o,a){var s=o.getType();if(this.subscribedStreams_.has(i))this.subscribedStreams_.get(i).set(s,o);else{var c=new Map;c.set(o.getType(),o),this.subscribedStreams_.set(i,c)}if(this.subscriptedOptions_.has(i))this.subscriptedOptions_.get(i).set(s,a);else{var u=new Map;u.set(o.getType(),a),this.subscriptedOptions_.set(i,u)}this.deleteUnsubscriptionRecord(i,s)}},{key:"addUnsubscriptionRecord",value:function(i,o){if(this.unsubscribedStreams_.has(i))this.unsubscribedStreams_.get(i).set(o.getType(),o);else{var a=new Map;a.set(o.getType(),o),this.unsubscribedStreams_.set(i,a)}this.deleteSubscriptionRecord(i,o.getType())}},{key:"getSubscribedStream",value:function(i,o){return this.subscribedStreams_.has(i)&&this.subscribedStreams_.get(i).has(o)?this.subscribedStreams_.get(i).get(o):null}},{key:"getOptions",value:function(i,o){return this.subscriptedOptions_.has(i)&&this.subscriptedOptions_.get(i).has(o)?this.subscriptedOptions_.get(i).get(o):null}},{key:"getUnsubscribedStream",value:function(i,o){return this.unsubscribedStreams_.has(i)&&this.unsubscribedStreams_.get(i).has(o)?this.unsubscribedStreams_.get(i).get(o):null}},{key:"deleteSubscriptionRecord",value:function(i,o){this.subscribedStreams_.has(i)&&this.subscribedStreams_.get(i).delete(o),this.subscriptedOptions_.has(i)&&this.subscriptedOptions_.get(i).delete(o)}},{key:"deleteUnsubscriptionRecord",value:function(i,o){this.unsubscribedStreams_.has(i)&&this.unsubscribedStreams_.get(i).delete(o)}},{key:"markAllStream",value:function(){for(var i=0,o=be(this.subscribedStreams_.entries());i<o.length;i++)for(var a=ke(o[i],2),s=a[0],c=0,u=be(a[1].entries());c<u.length;c++){var l=ke(u[c],1)[0];this.setAutoRecoveryFlag(s,l)}for(var h=0,_=be(this.unsubscribedStreams_.entries());h<_.length;h++)for(var y=ke(_[h],2),S=y[0],f=0,g=be(y[1].entries());f<g.length;f++){var I=ke(g[f],1)[0];this.setAutoRecoveryFlag(S,I)}}},{key:"setAutoRecoveryFlag",value:function(i,o){if(ye.info("setAutoRecoveryFlag() mark [".concat(i,"][").concat(o,"]")),this.autoRecoveryFlags_.has(i))this.autoRecoveryFlags_.get(i).set(o);else{var a=new Map;a.set(o),this.autoRecoveryFlags_.set(i,a)}}},{key:"hasAutoRecoveryFlag",value:function(i,o){return!!this.isEnabled&&this.autoRecoveryFlags_.has(i)&&this.autoRecoveryFlags_.get(i).has(o)}},{key:"deleteAutoRecoveryFlag",value:function(i,o){this.autoRecoveryFlags_.has(i)&&this.autoRecoveryFlags_.get(i).delete(o)}},{key:"delete",value:function(i){this.unsubscribedStreams_.delete(i),this.subscribedStreams_.delete(i),this.subscriptedOptions_.delete(i),this.autoRecoveryFlags_.delete(i)}}]),e}(),h7=function(){function e(t){J(this,e),this.player_=t,this.canvas_=document.createElement(hb),this.canvasCtx_=this.canvas_.getContext("2d")}return Ie(e,[{key:"setCanvasRect",value:function(t,n){this.canvas_.width=t,this.canvas_.height=n}},{key:"drawVideoToCanvas",value:function(){var t=this.player_.getElement(),n=t.videoHeight,r=t.videoWidth,i=r*this.canvas_.height/(n*this.canvas_.width);if(i>1.05||i<.95){var o=r*n/(this.canvas_.width*this.canvas_.height);this.setCanvasRect(r/Math.sqrt(o),n/Math.sqrt(o))}this.canvasCtx_.drawImage(t,0,0,this.canvas_.width,this.canvas_.height)}},{key:"generateVideoTrackFromCanvasCapture",value:function(t){return this.canvas_.captureStream(t).getVideoTracks()[0]}},{key:"generateStreamFromTrack",value:function(t){var n=new MediaStream;return n.addTrack(t),n}},{key:"destroy",value:function(){this.player_.stop(),this.canvas_.width=0,this.canvas_.height=0,this.canvas_=null,this.canvasCtx_=null}},{key:"canvas",get:function(){return this.canvas_}},{key:"canvasCtx",get:function(){return this.canvasCtx_}},{key:"canDrawVideoToCanvas",get:function(){if(this.player_){var t=this.player_.getElement();if(t)return t.readyState===t.HAVE_ENOUGH_DATA}return!1}}]),e}(),p7=new Blob(['let t,e,a,i;onmessage=function(n){const{action:h,data:s}=n.data;switch(h){case"render":a=s.canvas,t=a.width,e=a.height,i=a.getContext("2d"),function(t,e){const n=new TransformStream({async transform(t,e){const n=t.displayWidth,h=t.displayHeight,s=n*a.height/(h*a.width);if(s>1.05||s<.95){const t=n*h/(a.width*a.height);a.width=n/Math.sqrt(t),a.height=h/Math.sqrt(t)}i.drawImage(t,0,0,a.width,a.height);const o=new VideoFrame(a,{timestamp:t.timestamp});t.close(),e.enqueue(o)}});t.pipeThrough(n).pipeTo(e)}(s.readable,s.writable)}}'],{type:"application/javascript"}),f7=function(){function e(t){J(this,e);var n=t.videoTrack;this.width=void 0,this.height=void 0,this.canvas=document.createElement("canvas"),this.offscreen=null,this.smallGenerator=new MediaStreamTrackGenerator({kind:"video"}),this.smallWritable=this.smallGenerator.writable,this.bigProcessor=new MediaStreamTrackProcessor({track:n}),this.bigReadable=this.bigProcessor.readable,this.initWorker()}return Ie(e,[{key:"initWorker",value:function(){try{this.worker=new Worker(URL.createObjectURL(p7)),ye.info("init worker processor success")}catch(t){ye.warn("init worker processor failed. ".concat(t.error))}}},{key:"setCanvasRect",value:function(t,n){this.width=t,this.height=n,this.canvas.width=t,this.canvas.height=n,this.offscreen=this.canvas.transferControlToOffscreen(),this.worker.postMessage({action:"render",data:{canvas:this.offscreen,readable:this.bigReadable,writable:this.smallWritable}},[this.offscreen,this.bigReadable,this.smallWritable])}},{key:"generatorVideoTrack",value:function(){var t=new MediaStream([this.smallGenerator]);return t==null?void 0:t.getTracks()[0]}},{key:"destroy",value:function(){this.worker.terminate()}}]),e}(),rd=function(){function e(n){J(this,e),this.localStream_=n,this.player_=null,this.processor_=null,this.initOffscreenSuccess_=!1}var t;return Ie(e,[{key:"initialize",value:(t=N(p().mark(function n(){var r;return p().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(!(J6()&&((r=navigator)===null||r===void 0?void 0:r.hardwareConcurrency)>=6)){i.next=13;break}return i.prev=1,i.next=4,this.initOffscreen();case 4:this.initOffscreenSuccess_=!0,ye.info("Initialize VideoGenerator successfully!"),i.next=11;break;case 8:i.prev=8,i.t0=i.catch(1),this.initCanvas();case 11:i.next=14;break;case 13:this.initCanvas();case 14:case"end":return i.stop()}},n,this,[[1,8]])})),function(){return t.apply(this,arguments)})},{key:"generateSmallVideoTrack",value:function(n){var r,i=n.height,o=n.width,a=n.frameRate,s=this.getSmallVideoProfile(o,i);return this.initOffscreenSuccess_?(this.processor_.setCanvasRect(s.width,s.height),r=this.processor_.generatorVideoTrack()):(this.processor_.setCanvasRect(s.width,s.height),this.player_.setRect({width:s.width,height:s.height}),r=this.processor_.generateVideoTrackFromCanvasCapture(a),this.interval_=yt.run(il,this.render.bind(this),{fps:a})),r}},{key:"render",value:function(){this.processor_.canDrawVideoToCanvas&&this.processor_.drawVideoToCanvas()}},{key:"destroy",value:function(){yt.clearTask(this.interval_),this.processor_&&this.processor_.destroy()}},{key:"initOffscreen",value:function(){this.processor_=new f7({videoTrack:this.localStream_.getVideoTrack()})}},{key:"initCanvas",value:function(){this.player_=new L1({stream:this.localStream_,track:this.localStream_.getVideoTrack(),muted:!0,objectFit:"cover",mirror:!1}),this.player_.play().then(function(){ye.info("VideoGenerator: play local video success")}).catch(function(){ye.error("VideoGenerator: Failed to play local video")}),this.processor_=new h7(this.player_)}},{key:"getSmallVideoProfile",value:function(n,r){var i,o=this.localStream_.getVideoTrack(),a=this.localStream_.getVideoProfile();if(So){var s=o.getSettings();s&&s.width&&s.height&&(a.width=s.width,a.height=s.height)}var c=a.width*a.height,u=n*r;return ye.info("big stream resolution: ".concat(a.width,"*").concat(a.height," small stream resolution: ").concat(n,"*").concat(r," ")),i=c>u?c/u:c/19200,{width:parseInt(a.width/Math.sqrt(i)),height:parseInt(a.height/Math.sqrt(i))}}}]),e}(),id=new Map,m7=function(){var e=N(p().mark(function t(n){var r,i,o,a,s,c,u;return p().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(!Tl()){l.next=2;break}return l.abrupt("return");case 2:return l.next=4,v7(n);case 4:if(r=l.sent,ye.info("getUserMedia with constraints: "+JSON.stringify(r)),!r.audio){l.next=11;break}return l.next=9,It.getMicrophones();case 9:i=l.sent,ye.info("microphones: ".concat(JSON.stringify(i)));case 11:if(!r.video){l.next=16;break}return l.next=14,It.getCameras();case 14:o=l.sent,ye.info("cameras: ".concat(JSON.stringify(o)));case 16:return l.prev=16,l.next=19,navigator.mediaDevices.getUserMedia(r);case 19:return l.abrupt("return",l.sent);case 22:if(l.prev=22,l.t0=l.catch(16),l.t0.name!=="NotFoundError"){l.next=29;break}if(!o||o.length!==0){l.next=27;break}throw new ee({code:Y.DEVICE_NOT_FOUND,message:ne({key:J4})});case 27:if(!i||i.length!==0){l.next=29;break}throw new ee({code:Y.DEVICE_NOT_FOUND,message:ne({key:W4})});case 29:throw r.audio&&((a=i)===null||a===void 0?void 0:a.length)>0&&(c=i.find(function(h){return h.deviceId===n.microphoneId}))&&c.getCapabilities&&ye.warn(JSON.stringify(c.getCapabilities())),r.video&&((s=o)===null||s===void 0?void 0:s.length)>0&&(u=o.find(function(h){return h.deviceId===n.cameraId}))&&u.getCapabilities&&ye.warn(JSON.stringify(u.getCapabilities())),new ee({code:Y.INITIALIZE_FAILED,name:l.t0.name,message:l.t0.message,constraint:l.t0.constraint});case 32:case"end":return l.stop()}},t,null,[[16,22]])}));return function(t){return e.apply(this,arguments)}}(),eg=sc({retryFunction:m7,settings:{retries:3,timeout:500},onError:function(e,t,n,r){ye.warn("getUserMedia error: ".concat(e)),e.name==="NotReadableError"?(r[0].video&&(r[0].maxResoution=!1,r[0].frameRate=r[0].frameRate>10?10:5),t()):e.message.includes("deviceId")&&r[0].retryWhenExactFailed?(r[0].useExact=!1,t()):n(e)},onRetrying:function(e){ye.warn("getUserMedia retrying [".concat(e,"/3]"))}});function v7(e){return{audio:g7(e),video:_7(e)}}function g7(e){if(!e.audio)return!1;var t={};return Si(e.microphoneId)||(t.deviceId=e.useExact?{exact:e.microphoneId}:e.microphoneId),er(e.channelCount)&&e.channelCount>1&&(t.channelCount=e.channelCount),Ur(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),Ur(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),Ur(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!Si(t)||t}function _7(e){if(!e.video)return!1;var t=e.maxResoution,n=t===void 0||t,r={};return e.cameraId?r.deviceId=e.useExact?{exact:e.cameraId}:e.cameraId:e.facingMode&&(r.facingMode=e.facingMode),e.width&&(r.width={ideal:e.width},n&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},n&&(r.height.max=e.height)),xr&&nc&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!Si(r)||r}var y7=function(){var e=N(p().mark(function t(n){var r,i,o,a,s,c,u,l,h;return p().wrap(function(_){for(;;)switch(_.prev=_.next){case 0:if(!Tl()){_.next=2;break}return _.abrupt("return");case 2:if(r=null,!(dl&&Pf<74||Zi)){_.next=27;break}return i=tg(n),ye.info("getDisplayMedia with constraints: "+JSON.stringify(i)),_.next=8,navigator.mediaDevices.getDisplayMedia(i);case 8:if(o=_.sent,!n.screenAudio){_.next=14;break}return ye.warn("Your browser not support capture system audio"),_.abrupt("return",o);case 14:if(!n.audio){_.next=24;break}return a=wI(n),ye.info("getUserMedia with constraints: "+JSON.stringify(a)),_.next=19,navigator.mediaDevices.getUserMedia(a);case 19:return r=_.sent,o.addTrack(r.getAudioTracks()[0]),_.abrupt("return",o);case 24:return _.abrupt("return",o);case 25:_.next=53;break;case 27:if(!n.screenAudio){_.next=37;break}return n.audioConstraints={echoCancellation:n.echoCancellation,autoGainControl:n.autoGainControl,noiseSuppression:n.noiseSuppression,sampleRate:44100},s=tg(n),ye.info("getDisplayMedia with constraints: "+JSON.stringify(s)),_.next=33,navigator.mediaDevices.getDisplayMedia(s);case 33:return c=_.sent,_.abrupt("return",c);case 37:return u=tg(n),ye.info("getDisplayMedia with constraints: "+JSON.stringify(u)),_.next=41,navigator.mediaDevices.getDisplayMedia(u);case 41:if(l=_.sent,!n.audio){_.next=52;break}return h=wI(n),ye.info("getUserMedia with constraints: "+JSON.stringify(h)),_.next=47,navigator.mediaDevices.getUserMedia(h);case 47:return r=_.sent,l.addTrack(r.getAudioTracks()[0]),_.abrupt("return",l);case 52:return _.abrupt("return",l);case 53:case"end":return _.stop()}},t)}));return function(t){return e.apply(this,arguments)}}();function wI(e){var t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return ge(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}function tg(e){var t={systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},n={width:Zi?{max:e.width}:{ideal:e.width,max:e.width},height:Zi?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:"monitor"};return t.video=n,ge(e.audioConstraints)||(t.audio=e.audioConstraints),t}var EI,CI,RI,AI,PI,DI,LI,OI,MI,NI,VI,it,UI,Ec,ng=new Map([["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}]]),rg=new Map([["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}]]),jI=new Map([["standard",{sampleRate:48e3,channelCount:1,bitrate:40}],["standard-stereo",{sampleRate:48e3,channelCount:2,bitrate:64}],["high",{sampleRate:48e3,channelCount:1,bitrate:128}],["high-stereo",{sampleRate:48e3,channelCount:2,bitrate:192}]]),ma=new Map,S7=(EI=kt(vi),CI=kt(vi),RI=kt(vi),AI=kt(vi),PI=wn.apply(void 0,be(Yt.LOCAL_STREAM.switchDevice)),DI=wn(Yt.STREAM.addTrack),LI=wn(Yt.STREAM.removeTrack),OI=wn(Yt.STREAM.replaceTrack),MI=wc({retries:10,timeout:3e3,onRetryFailed:function(e){xe.logFailedEvent({userId:this.client_?this.client_.getUserId():this.userId_,eventType:Vb,error:e}),this.emitter_.emit(Nm,new ee({code:Y.DEVICE_AUTO_RECOVER_FAILED,message:e.message}))}}),NI=nd(Yt.LOCAL_STREAM.setAudioCaptureVolume),VI=kt(vi),it=function(e){Ct(S,e);var t,n,r,i,o,a,s,c,u,l,h,_,y=Ar(S);function S(f){var g;J(this,S);var I=H(H({},f),{isRemote:!1,type:"local"});return(g=y.call(this,I)).name_=vi,g.client_=null,g.video_=f.video,g.audio_=f.audio,g.cameraId_=f.cameraId,g.cameraGroupId_="",g.facingMode_=f.facingMode,g.microphoneId_=f.microphoneId,g.microphoneGroupId_="",g.microphoneLabel_="",g.videoSource_=f.videoSource,g.audioSource_=f.audioSource,g.screen_=f.screen,g.screenAudio_=f.screenAudio,g.audioProfile_={echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40},g.screenAudio_&&(g.audioProfile_.echoCancellation=!0,g.audioProfile_.autoGainControl=!1,g.audioProfile_.noiseSuppression=!1),Ur(f.echoCancellation)&&(g.audioProfile_.echoCancellation=f.echoCancellation),Ur(f.autoGainControl)&&(g.audioProfile_.autoGainControl=f.autoGainControl),Ur(f.noiseSuppression)&&(g.audioProfile_.noiseSuppression=f.noiseSuppression),g.videoProfile_=ng.get("480p_2"),g.screenProfile_=rg.get("1080p"),g.videoSetting_=null,g.muteState_={video:!1,audio:!1,auxVideo:!1},g.beautyStatus_=!1,g.prevAudioRecoverTime_=0,g.prevVideoRecoverTime_=0,g.isAudioRecovering_=!1,g.isVideoRecovering_=!1,g.initState(),g.canvas_=null,g.canvasInterval_=null,g.canvasTrack_=null,g.gain_={audioTrack:null,source:null,gainNode:null},g.captureVolume_=100,g.enableAutoRecoverCapture_=!!ge(f.enableAutoRecoverCapture)||f.enableAutoRecoverCapture,g.enableAutoRecoverOther_=!Ur(f.enableAutoRecoverOther)||f.enableAutoRecoverOther,g.log_.info("stream created: ".concat(g.id_," autoRecover: ").concat(g.enableAutoRecoverCapture_)),g.isAIDenoiser=!1,g}return Ie(S,[{key:"initState",value:function(){this.isAddingTrack_=!1,this.isRemovingTrack_=!1,this.setIsReadyToPublish(!1),this.setPublishState(Wb)}},{key:"installEvents",value:function(){se($e(S.prototype),"installEvents",this).call(this),K.on(im,this.onVideoTrackStopped,this),K.on(ac,this.onVideoTrackStopped,this),K.on(om,this.onAudioTrackStopped,this),K.on(am,this.onAudioTrackStopped,this)}},{key:"uninstallEvents",value:function(){se($e(S.prototype),"uninstallEvents",this).call(this),K.off(im,this.onVideoTrackStopped,this),K.off(ac,this.onVideoTrackStopped,this),K.off(om,this.onAudioTrackStopped,this),K.off(am,this.onAudioTrackStopped,this)}},{key:"initialize",value:function(){var f=this;return new Promise(function(g,I){if(xl())I(new ee({code:Y.INVALID_OPERATION,message:ne({key:mk})}));else{if(ge(f.audio_)){var w=new MediaStream;return ge(f.audioSource_)||(w.addTrack(f.audioSource_),f.updateAudioPlayingState(!0)),ge(f.videoSource_)||(w.addTrack(f.videoSource_),f.updateVideoPlayingState(!0)),f.setMediaStream(w),xe.logSuccessEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:$s,kind:"custom"}),f.setIsReadyToPublish(!0),g()}f.screen_?(f.log_.info("initialize stream audio: "+f.audio_+" screenAudio: "+f.screenAudio_+" screen: "+f.screen_),y7({audio:f.audio_,screenAudio:f.screenAudio_,microphoneId:f.microphoneId_,width:f.screenProfile_.width,height:f.screenProfile_.height,frameRate:f.screenProfile_.frameRate,sampleRate:f.audioProfile_.sampleRate,channelCount:f.audioProfile_.channelCount,autoGainControl:f.audioProfile_.autoGainControl,noiseSuppression:f.audioProfile_.noiseSuppression,echoCancellation:f.audioProfile_.echoCancellation}).then(function(B){f.setMediaStream(B),f.updateAudioPlayingState(f.audio_||f.screenAudio_),f.updateVideoPlayingState(!0);var z=f.getVideoTrack();return z.applyConstraints&&z.applyConstraints({frameRate:{min:f.screenProfile_.frameRate,ideal:f.screenProfile_.frameRate}}).catch(function($){f.warn("screen applyConstraints failed: ".concat($))}),f.listenForScreenSharingStopped(z),f.setVideoContentHint(mb),f.updateDeviceIdInUse(),f.setIsReadyToPublish(!0),f.log_.info(JSON.stringify(z.getSettings())),xe.logSuccessEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:$s,kind:"getDisplayMedia"}),g()}).catch(function(B){xe.logFailedEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:$s,kind:"getDisplayMedia",error:B}),f.log_.error("getDisplayMedia error observed "+B),I(B instanceof ee?B:new ee({code:Y.INITIALIZE_FAILED,name:B.name,message:B.message}))})):(K.emit(Yf,{stream:f,audio:f.audio_,video:f.video_}),f.log_.info("initialize stream audio: "+f.audio_+" video: "+f.video_),eg({audio:f.audio_,video:f.video_,facingMode:f.facingMode_,cameraId:f.cameraId_,microphoneId:f.microphoneId_,width:f.videoProfile_.width,height:f.videoProfile_.height,frameRate:f.videoProfile_.frameRate,sampleRate:f.audioProfile_.sampleRate,channelCount:f.audioProfile_.channelCount,autoGainControl:f.audioProfile_.autoGainControl,noiseSuppression:f.audioProfile_.noiseSuppression,echoCancellation:f.audioProfile_.echoCancellation,useExact:!0,retryWhenExactFailed:!0}).then(function(B){return K.emit($f,{stream:f,audio:f.audio_,video:f.video_}),f.setMediaStream(B),B.getTracks().forEach(function(z){if(So){var $=z.getSettings();f.log_.info("".concat(z.kind," settings: ").concat(JSON.stringify($))),z.kind===Te&&(f.videoSetting_=$)}W6&&f.log_.info("".concat(z.kind," capabilities: ").concat(JSON.stringify(z.getCapabilities())))}),f.updateAudioPlayingState(f.audio_),f.updateVideoPlayingState(f.video_),f.updateDeviceIdInUse(),f.log_.info("gotStream hasAudio: "+f.hasAudio()+" hasVideo: "+f.hasVideo()),f.setIsReadyToPublish(!0),xe.logSuccessEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:$s,kind:"getUserMedia"}),g()}).catch(function(B){K.emit(Zf,{stream:f,audio:f.audio_,video:f.video_,error:B}),xe.logFailedEvent({userId:f.client_?f.client_.getUserId():f.userId_,eventType:$s,kind:"getUserMedia",error:B}),f.log_.error("getUserMedia error observed "+B),I(B)}))}})}},{key:"listenForScreenSharingStopped",value:function(f){var g=this;f.addEventListener("ended",function(I){g.log_.info("screen sharing was stopped because the video track is ended"),g.emitter_.emit(q6)})}},{key:"muteAudio",value:function(){var f=se($e(S.prototype),"muteAudio",this).call(this);return f&&(this.log_.info("localStream mute audio"),this.sendMutedFlag(Ce,!0)),f}},{key:"muteVideo",value:function(){var f=se($e(S.prototype),"muteVideo",this).call(this);return f&&(this.log_.info("localStream mute video"),this.sendMutedFlag(Te,!0)),f}},{key:"unmuteAudio",value:function(){var f=se($e(S.prototype),"unmuteAudio",this).call(this);return f&&(this.log_.info("localStream unmute audio"),this.sendMutedFlag(Ce,!1)),f}},{key:"unmuteVideo",value:function(){var f=se($e(S.prototype),"unmuteVideo",this).call(this);return f&&(this.log_.info("localStream unmute video"),this.sendMutedFlag(Te,!1)),f}},{key:"sendMutedFlag",value:function(f,g){this.setMuteState(f,g);var I=this.getConnection();if(I){I.sendMutedFlag(this.muteState_,this);var w=I.getUserId(),B=I.getTinyId(),z="".concat(g?nn:yr," local ").concat(f," track");vn(w,{eventId:f===Ce?g?BU:GU:g?FU:HU,eventDesc:z,timestamp:on(),userId:w,tinyId:B})}}},{key:"setMuteState",value:function(f,g){this.muteState_[f]=g,this.log_.info("set ".concat(f," muted state: [").concat(g?"mute":"unmute","]"))}},{key:"setAudioProfile",value:function(f){var g;V(f)==="object"?g=f:(g=jI.get(f))===void 0&&(g=jI.get("standard")),this.log_.info("setAudioProfile: "+JSON.stringify(g)),this.audioProfile_=H(H({},this.audioProfile_),g)}},{key:"setVideoProfile",value:(_=N(p().mark(function f(g){var I,w,B,z;return p().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(!this.connection_||UT()){$.next=2;break}throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:F4})});case 2:if(ia(g)?w=H(H({},this.videoProfile_),g):Ft(g)&&(w=ng.get(g),ge(w)&&(w=ng.get("480p_2"))),(I=this.client_)!==null&&I!==void 0&&I.get2k4kFlag()&&(this.client_.get2k4kFlag()!==1&&!this.screen_&&w.height*w.width>=3686400?(w.width=1920,w.height=1080,this.log_.warn(rk)):Ei.handleFunctionState({fnName:"2K_4K"})),w&&w.width*w.height>921600&&CV&&(w.width=1280,w.height=720,this.log_.warn("reset to 1280 * 720 on iOS 13~14")),this.log_.info("setVideoProfile "+JSON.stringify(w)),!(B=this.getVideoTrack())){$.next=10;break}return $.next=10,B.applyConstraints(w);case 10:if(z=this.videoProfile_.bitrate!==w.bitrate,this.videoProfile_=w,!z||!this.connection_){$.next=16;break}return $.next=15,this.connection_.setBandwidth({bandwidth:w.bitrate,type:Te,videoType:Ku});case 15:this.connection_.sendMediaSettings(this);case 16:case"end":return $.stop()}},f,this)})),function(f){return _.apply(this,arguments)})},{key:"getVideoBitrate",value:function(){return this.screen_?this.screenProfile_.bitrate:this.videoProfile_.bitrate}},{key:"getAudioBitrate",value:function(){return this.audioProfile_.bitrate}},{key:"setScreenProfile",value:function(f){var g=f;Ft(f)&&(g=rg.get(f)||rg.get("1080p")),this.log_.info("setScreenProfile "+JSON.stringify(f)),this.screenProfile_=g}},{key:"getVideoProfile",value:function(){return this.screen_?this.screenProfile_:this.videoProfile_}},{key:"getAudioProfile",value:function(){return this.audioProfile_}},{key:"setVideoContentHint",value:function(f){var g=this.getVideoTrack();g&&"contentHint"in g&&(this.log_.info("set video track contentHint to: "+f),g.contentHint=f,g.contentHint!==f&&this.log_.warn("Invalid video track contentHint: "+f))}},{key:"switchDevice",value:(h=N(p().mark(function f(g,I){var w,B,z,$,ue,L,k,P,A,U,T,v,E,C,M,F,q,re;return p().wrap(function(ce){for(;;)switch(ce.prev=ce.next){case 0:if(this.mediaStream_&&this.cameraId_!==I&&this.facingMode_!==I){ce.next=2;break}return ce.abrupt("return");case 2:if(B=g===Te,!(w=g===Ce)||I!==this.microphoneId_){ce.next=11;break}if(I===nl){ce.next=7;break}return ce.abrupt("return");case 7:return ce.next=9,t5(this.microphoneGroupId_,this.microphoneLabel_);case 9:if(!ce.sent){ce.next=11;break}return ce.abrupt("return");case 11:return this.setIsReadyToPublish(!1),this.log_.info("switchDevice "+g+" to: "+I),w&&(z=this.getAudioTrack(),$=this.getMicrophoneTrackMixed(),z&&z.stop(),$&&$.stop()),B&&((ue=this.getVideoTrack())&&ue.stop(),Rf&&(L=this.getAudioTrack())&&(this.log_.info("stop audio track first in huawei env"),L.stop())),ce.prev=15,ce.next=18,eg({audio:w||Rf,video:B,facingMode:I===pb||I===fb?I:void 0,cameraId:B?I:this.cameraId_,microphoneId:w?I:this.microphoneId_,width:this.videoProfile_.width,height:this.videoProfile_.height,frameRate:this.videoProfile_.frameRate,sampleRate:this.audioProfile_.sampleRate,channelCount:this.audioProfile_.channelCount,useExact:!0,retryWhenExactFailed:!1});case 18:if(k=ce.sent,P=null,!w){ce.next=25;break}(A=k.getAudioTracks()[0])&&this.isAudioTrackMixed()?(U=this.getAudioTrack(),T=It.AudioMixerPlugin.getAudioTrackMap(),v=It.AudioMixerPlugin.mix({targetTrack:A,sourceList:T.get(U.id).sourceList,trackList:T.get(U.id).trackList}),P=v):P=A,ce.next=34;break;case 25:if(!(P=k.getVideoTracks()[0])||!this.isVideoTrackBeautified()){ce.next=30;break}return ce.next=29,this.generateBeautyTrack(P);case 29:P=ce.sent;case 30:if(!(E=k.getAudioTracks()[0])||!Rf){ce.next=34;break}return ce.next=34,this.replaceTrack(E);case 34:return ce.next=36,this.replaceTrack(P);case 36:this.updateDeviceIdInUse(),(C=this.getConnection())&&(M=C.getUserId(),F=C.getTinyId(),q=WU,re="switch camera",w&&(q=JU,re="switch microphone"),vn(M,{eventId:q,eventDesc:re,timestamp:on(),userId:M,tinyId:F})),this.log_.info("switch ".concat(w?"microphone":"camera"," success ")),w&&(this.audio_=!0),B&&(this.video_=!0,I!==fb&&I!==pb||(this.facingMode_=I)),this.setIsReadyToPublish(!0),ce.next=50;break;case 45:throw ce.prev=45,ce.t0=ce.catch(15),this.log_.error(ce.t0),w?this.recoverCapture({audio:!0,video:!1,microphoneId:this.microphoneId_}):this.recoverCapture({audio:!1,video:!0,cameraId:this.cameraId_,facingMode:this.facingMode_}),ce.t0;case 50:case"end":return ce.stop()}},f,this,[[15,45]])})),function(f,g){return h.apply(this,arguments)})},{key:"addTrack",value:(l=N(p().mark(function f(g){var I,w,B;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(z.prev=0,g.kind===Te&&So&&(I=g.getSettings(),!this.videoSetting_||I.width===this.videoSetting_.width&&I.height===this.videoSetting_.height||this.log_.warn("video resolution of the track (".concat(I.width," x ").concat(I.height,") shall be kept the same as the previous: ").concat(this.videoSetting_.width," x ").concat(this.videoSetting_.height,". It may cause abnormal Cloud Recording."))),this.isAddingTrack_=!0,this.keepMuteState(g),this.mediaStream_.addTrack(g),!(w=this.getConnection())){z.next=11;break}return B=null,g.kind===Te&&(pl||hl)&&Vk(g)&&(B=this.getCanvasTrack()),z.next=11,w.addTrack(B||g,this);case 11:g.kind===Ce?(this.audio_=!0,this.updateAudioPlayingState(!0),this.captureVolume_!==100&&this.setAudioCaptureVolume(this.captureVolume_)):(this.video_=!0,this.updateVideoPlayingState(!0)),this.isAddingTrack_=!1,z.next=20;break;case 15:throw z.prev=15,z.t0=z.catch(0),this.mediaStream_.removeTrack(g),this.isAddingTrack_=!1,z.t0;case 20:case"end":return z.stop()}},f,this,[[0,15]])})),function(f){return l.apply(this,arguments)})},{key:"removeTrack",value:(u=N(p().mark(function f(g){var I;return p().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:if(w.prev=0,this.isRemovingTrack_=!0,!(I=this.getConnection())){w.next=17;break}if(g.kind!==Te||!pl&&!hl||!this.canvasTrack_){w.next=10;break}return w.next=7,I.removeTrack(this.canvasTrack_,this);case 7:this.clearCanvas(),w.next=17;break;case 10:if(g.kind!==Ce||!this.gain_.audioTrack){w.next=15;break}return w.next=13,I.removeTrack(this.gain_.audioTrack,this);case 13:w.next=17;break;case 15:return w.next=17,I.removeTrack(g,this);case 17:this.mediaStream_.removeTrack(g),g.kind===Ce?(this.audio_=!1,this.updateAudioPlayingState(!1),this.stopGainNode()):(this.video_=!1,this.updateVideoPlayingState(!1)),this.isRemovingTrack_=!1,w.next=26;break;case 22:throw w.prev=22,w.t0=w.catch(0),this.isRemovingTrack_=!1,w.t0;case 26:case"end":return w.stop()}},f,this,[[0,22]])})),function(f){return u.apply(this,arguments)})},{key:"replaceTrack",value:(c=N(p().mark(function f(g){var I,w,B;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(g.kind===Te&&So&&(I=g.getSettings(),!this.videoSetting_||I.width===this.videoSetting_.width&&I.height===this.videoSetting_.height||this.log_.warn("video resolution of the track (".concat(I.width," x ").concat(I.height,") shall be kept the same as the previous: ").concat(this.videoSetting_.width," x ").concat(this.videoSetting_.height,". It may cause abnormal Cloud Recording."))),this.keepMuteState(g),w=this.mediaStream_,g.kind!==Ce){z.next=12;break}if(w.removeTrack(w.getAudioTracks()[0]),w.addTrack(g),se($e(S.prototype),"restartAudio",this).call(this),!this.gain_.gainNode){z.next=10;break}return this.reconnectGainNode(g),z.abrupt("return");case 10:z.next=15;break;case 12:w.removeTrack(w.getVideoTracks()[0]),w.addTrack(g),se($e(S.prototype),"restartVideo",this).call(this);case 15:if(!(B=this.getConnection())){z.next=21;break}if(g.kind!==Te||!pl&&!hl||!this.canvasTrack_){z.next=19;break}return z.abrupt("return");case 19:return z.next=21,B.replaceTrack(g,this);case 21:case"end":return z.stop()}},f,this)})),function(f){return c.apply(this,arguments)})},{key:"recoverCapture",value:(s=N(p().mark(function f(g){var I,w,B,z,$,ue,L,k,P,A,U,T,v,E,C,M,F;return p().wrap(function(q){for(;;)switch(q.prev=q.next){case 0:if(!(!this.mediaStream_||!this.enableAutoRecoverCapture_||g.audio&&!g.video&&this.isAudioRecovering_||g.video&&!g.audio&&this.isVideoRecovering_)){q.next=2;break}return q.abrupt("return");case 2:return g.audio&&(this.isAudioRecovering_=!0),g.video&&(this.isVideoRecovering_=!0),this.log_.warn("recoverCapture() trying "+JSON.stringify(g)),I=this.audio_&&g.audio,w=this.video_&&g.video,q.prev=7,q.next=10,It.getCameras();case 10:return B=q.sent,q.next=13,It.getMicrophones();case 13:if(z=q.sent,w&&B.length===0&&(w=!1,this.log_.warn("recoverCapture() video flag is true, but no camera detected, set video to false")),I&&z.length===0&&(I=!1,this.log_.warn("recoverCapture() audio flag is true, but no microphone detected, set audio to false")),I||w){q.next=21;break}return g.audio&&(this.isAudioRecovering_=!1),g.video&&(this.isVideoRecovering_=!1),this.log_.warn("recoverCapture() both audio and video are false, aborted"),q.abrupt("return");case 21:return $=g&&B.findIndex(function(re){return re.deviceId===g.cameraId})>=0,ue=g&&z.findIndex(function(re){return re.deviceId===g.microphoneId})>=0,I&&((L=this.getAudioTrack())===null||L===void 0||L.stop()),w&&((k=this.getVideoTrack())===null||k===void 0||k.stop()),q.next=27,eg({audio:I,video:w,cameraId:$?g.cameraId:void 0,microphoneId:ue?g.microphoneId:void 0,facingMode:this.facingMode_,width:this.videoProfile_.width,height:this.videoProfile_.height,frameRate:this.videoProfile_.frameRate,sampleRate:this.audioProfile_.sampleRate,channelCount:this.audioProfile_.channelCount});case 27:P=q.sent,A=P.getTracks(),U=0;case 30:if(!(U<A.length)){q.next=57;break}if((T=A[U]).kind!==Ce||!this.isAudioTrackMixed()){q.next=43;break}if(v=this.getAudioTrack(),E=It.AudioMixerPlugin.getAudioTrackMap(),(C=E.get(v.id)).hasMicrophone){q.next=39;break}return T.stop(),q.abrupt("continue",54);case 39:return M=It.AudioMixerPlugin.mix({targetTrack:T,sourceList:C.sourceList,trackList:C.trackList}),q.next=42,this.replaceTrack(M);case 42:return q.abrupt("continue",54);case 43:if(T.kind!==Te||!this.isVideoTrackBeautified()){q.next=50;break}return q.next=46,this.generateBeautyTrack(T);case 46:return F=q.sent,q.next=49,this.replaceTrack(F);case 49:return q.abrupt("continue",54);case 50:return q.next=52,this.replaceTrack(T);case 52:if(T.readyState!=="ended"){q.next=54;break}throw new Error("new track is failed, muted ".concat(T.muted," readyState ").concat(T.readyState));case 54:U++,q.next=30;break;case 57:this.updateDeviceIdInUse(),xe.logSuccessEvent({userId:this.client_?this.client_.getUserId():this.userId_,eventType:Vb}),g.audio&&(this.isAudioRecovering_=!1),g.video&&(this.isVideoRecovering_=!1),this.log_.warn("recoverCapture() successfully"),this.emitter_.emit(X6,{isCamera:g.video,isMicrophone:g.audio,cameraId:this.cameraId_,microphoneId:this.microphoneId_}),q.next=71;break;case 65:throw q.prev=65,q.t0=q.catch(7),g.audio&&(this.isAudioRecovering_=!1),g.video&&(this.isVideoRecovering_=!1),this.log_.warn("recoverCapture() failed, "+q.t0),q.t0;case 71:case"end":return q.stop()}},f,this,[[7,65]])})),function(f){return s.apply(this,arguments)})},{key:"updateDeviceIdInUse",value:function(){var f=this;if(!this.mediaStream_)return this.cameraId_="",this.cameraGroupId_="",this.microphoneId_="",void(this.microphoneGroupId_="");So&&this.mediaStream_.getTracks().forEach(function(w){if(w.kind===Ce&&f.isAudioTrackMixed()){var B=f.getMicrophoneTrackMixed();if(B){var z=B.getSettings(),$=z.deviceId,ue=z.groupId;$&&(f.microphoneId_=$,f.microphoneGroupId_=ue,f.microphoneLabel_=B.label)}}else if(w.kind===Te&&f.isVideoTrackBeautified()){var L=f.getBeautyOriginTrack();if(L){var k=L.getSettings(),P=k.deviceId,A=k.groupId;P&&(f.cameraId_=P,f.cameraGroupId_=A)}}else{var U=w.getSettings(),T=U.deviceId,v=U.groupId;T&&(w.kind===Ce?(f.microphoneId_=T,f.microphoneGroupId_=v,f.microphoneLabel_=w.label):w.kind!==Te||f.screen_||(f.cameraId_=T,f.cameraGroupId_=v))}});var g=this.mediaStream_.getAudioTracks(),I=this.mediaStream_.getVideoTracks();g&&g.length===0&&(this.microphoneId_="",this.microphoneGroupId_=""),I&&I.length===0&&(this.cameraId_="",this.cameraGroupId_="")}},{key:"isAudioTrackMixed",value:function(){if(It.AudioMixerPlugin){var f=It.AudioMixerPlugin.getAudioTrackMap(),g=this.getAudioTrack();if(f&&g&&f.has(g.id))return!0}return!1}},{key:"getMicrophoneTrackMixed",value:function(){if(It.AudioMixerPlugin){var f=It.AudioMixerPlugin.getAudioTrackMap(),g=this.getAudioTrack();if(f&&g&&f.has(g.id)){var I=f.get(g.id);return I.hasMicrophone?I.microphoneTrack:null}}return null}},{key:"isVideoTrackBeautified",value:function(){if(It.beautyTrackMap){var f=It.beautyTrackMap,g=this.getVideoTrack();if(g&&f.has(g.id))return!0}return!1}},{key:"getBeautyOriginTrack",value:function(){if(It.beautyTrackMap){var f=It.beautyTrackMap,g=this.getVideoTrack();if(g&&f.has(g.id)){var I=f.get(g.id);if(I.originTrack)return I.originTrack}}return null}},{key:"generateBeautyTrack",value:(a=N(p().mark(function f(g){var I,w,B,z;return p().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(I=null,w=this.getVideoTrack(),B=It.beautyTrackMap.get(w.id),z=B.param,B.type){$.next=8;break}I=B.pluginInstance.generateBeautyTrack(g),$.next=22;break;case 8:$.t0=B.type,$.next=$.t0==="beauty"?11:$.t0==="virtual"?13:$.t0==="mixed"?17:21;break;case 11:return I=B.pluginInstance.generateBeautyTrack(g),$.abrupt("break",22);case 13:return $.next=15,B.pluginInstance.generateVirtualTrack({videoTrack:g,type:z.type,img:z.img});case 15:case 19:return I=$.sent,$.abrupt("break",22);case 17:return $.next=19,B.pluginInstance.generateMixedTrack({videoTrack:g,type:z.type,img:z.img});case 21:return $.abrupt("break",22);case 22:return B.pluginInstance.deleteSource(w.id),this.log_.info("regenerate beauty track, track id = ".concat(g.id)),$.abrupt("return",I);case 25:case"end":return $.stop()}},f,this)})),function(f){return a.apply(this,arguments)})},{key:"getScreen",value:function(){return this.screen_}},{key:"hasScreenTrack",value:function(){if(this.screen_)return!0;var f=this.getVideoTrack();return!!f&&(f.contentHint===mb||f.contentHint===MN)}},{key:"getVideo",value:function(){return this.video_}},{key:"getAudio",value:function(){return this.audio_}},{key:"getCameraId",value:function(){return this.cameraId_}},{key:"getMicrophoneId",value:function(){return this.microphoneId_}},{key:"getMicrophoneGroupId",value:function(){return this.microphoneGroupId_}},{key:"getIsReadyToPublish",value:function(){return this.isReadyToPublish_}},{key:"setIsReadyToPublish",value:function(f){this.isReadyToPublish_=f}},{key:"setPublishState",value:function(f){this.publishState_=f}},{key:"setBeautyStatus",value:function(f){this.beautyStatus_=!!f}},{key:"getBeautyStatus",value:function(){return this.beautyStatus_}},{key:"syncMuteState",value:function(){var f=this.getAudioTrack(),g=this.getVideoTrack();if(f){var I=!f.enabled;this.setMuteState(Ce,I)}if(g){var w=!g.enabled;this.setMuteState(Te,w)}this.connection_&&this.connection_.sendMutedFlag(this.muteState_,this)}},{key:"keepMuteState",value:function(f){f instanceof MediaStreamTrack&&this.muteState_[f.kind]&&(f.enabled=!1,this.log_.warn("prev ".concat(f.kind," track is muted, keep mute state")))}},{key:"onVideoTrackStopped",value:(o=N(p().mark(function f(g){var I,w,B=this;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(I=g.stream,w=g.type,I===this&&this.video_&&this.cameraId_&&e5(this.getVideoTrack())&&!this.isVideoRecovering_&&(w!==nn||!nc||!Zi)){z.next=3;break}return z.abrupt("return");case 3:if(!(Date.now()-this.prevVideoRecoverTime_<rl)){z.next=6;break}return setTimeout(function(){return B.onVideoTrackStopped({stream:I,type:w})},rl),z.abrupt("return");case 6:w===nn?setTimeout(function(){var $=B.getVideoTrack();$!=null&&$.muted&&document.visibilityState==="visible"&&B.recoverVideoCapture(w)},5e3):this.recoverVideoCapture(w);case 7:case"end":return z.stop()}},f,this)})),function(f){return o.apply(this,arguments)})},{key:"onAudioTrackStopped",value:(i=N(p().mark(function f(g){var I,w,B=this;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(I=g.stream,w=g.type,!(I!==this||!this.audio_||!this.microphoneId_||this.isAudioRecovering_||w===nn&&nc&&Zi)){z.next=3;break}return z.abrupt("return");case 3:if(!(Date.now()-this.prevAudioRecoverTime_<rl)){z.next=6;break}return setTimeout(function(){return B.onAudioTrackStopped({stream:I,type:w})},rl),z.abrupt("return");case 6:w===nn?setTimeout(function(){var $=B.getAudioTrack();$!=null&&$.muted&&document.visibilityState==="visible"&&B.recoverAudioCapture(w)},5e3):this.recoverAudioCapture(w);case 7:case"end":return z.stop()}},f,this)})),function(f){return i.apply(this,arguments)})},{key:"recoverAudioCapture",value:(r=N(p().mark(function f(g){return p().wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return this.prevAudioRecoverTime_=Date.now(),xe.uploadEvent({log:"stat-local-audio-".concat(g),userId:this.userId_}),I.t0=this,I.next=5,this.getRecoverCaptureDeviceId(!1);case 5:I.t1=I.sent,I.t2={audio:!0,video:!1,microphoneId:I.t1},I.t0.recoverCapture.call(I.t0,I.t2);case 8:case"end":return I.stop()}},f,this)})),function(f){return r.apply(this,arguments)})},{key:"recoverVideoCapture",value:(n=N(p().mark(function f(g){return p().wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return this.prevVideoRecoverTime_=Date.now(),xe.uploadEvent({log:"stat-local-video-".concat(g),userId:this.userId_}),I.t0=this,I.next=5,this.getRecoverCaptureDeviceId(!0);case 5:I.t1=I.sent,I.t2={audio:!1,video:!0,cameraId:I.t1},I.t0.recoverCapture.call(I.t0,I.t2);case 8:case"end":return I.stop()}},f,this)})),function(f){return n.apply(this,arguments)})},{key:"getRecoverCaptureDeviceId",value:(t=N(p().mark(function f(){var g,I,w,B,z=arguments;return p().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(g=!(z.length>0&&z[0]!==void 0)||z[0],!(I=g?this.cameraId_:this.microphoneId_)||!this.enableAutoRecoverOther_){$.next=17;break}if(ma.has(I)?ma.set(I,ma.get(I)+1):ma.set(I,1),!((w=ma.get(I))>=3)){$.next=17;break}if(!g){$.next=12;break}return $.next=9,It.getCameras();case 9:$.t0=$.sent.find(function(ue){return!ma.has(ue.deviceId)}),$.next=15;break;case 12:return $.next=14,It.getMicrophones();case 14:$.t0=$.sent.find(function(ue){return!ma.has(ue.deviceId)});case 15:(B=$.t0)&&(this.log_.warn("".concat(g?"camera":"mic"," ").concat(I," capture fail ").concat(w," times, change new ").concat(B.deviceId)),I=B.deviceId);case 17:return $.abrupt("return",I);case 18:case"end":return $.stop()}},f,this)})),function(){return t.apply(this,arguments)})},{key:"setAudioVolume",value:function(f){se($e(S.prototype),"setAudioVolume",this).call(this,f)}},{key:"clearCanvas",value:function(){this.canvasInterval_&&(yt.clearTask(this.canvasInterval_),this.canvasInterval_=null,this.canvas_=null,this.canvasTrack_=null)}},{key:"getCanvasTrack",value:function(){var f=this;if(this.canvasTrack_)return this.canvasTrack_;this.log_.info("gen canvas track");var g=this.getVideoTrack().getSettings(),I=g.width,w=g.height,B=g.frameRate;this.canvas_=document.createElement("canvas");var z=this.canvas_.getContext("2d");this.canvas_.width=I,this.canvas_.height=w,this.canvasInterval_=yt.run(il,function(){if(f.hasVideo()){var ue=f.getVideoTrack().getSettings();ue.width===f.canvas_.width&&ue.height===f.canvas_.height||(f.canvas_.width=ue.width,f.canvas_.height=ue.height)}f.videoPlayer_&&f.videoPlayer_.element_&&z.drawImage(f.videoPlayer_.element_,0,0,f.canvas_.width,f.canvas_.height)},{fps:Math.max(15,B)});var $=this.canvas_.captureStream();return this.canvasTrack_=$.getVideoTracks()[0],this.canvasTrack_}},{key:"setClient",value:function(f,g){f&&(this.log_.setUserId(f.getUserId()),this.log_.setSdkAppId(f.getSDKAppId()),g||this.syncMuteState()),this.client_=f}},{key:"setAudioCaptureVolume",value:function(){var f=this,g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:100;if(!this.hasAudio()||g<0||!Dm())return!1;if(this.captureVolume_===g)return!0;this.captureVolume_=g,this.log_.info("setCaptureVolume "+g),g/=100;var I=Fk();if(this.gain_.gainNode)this.gain_.gainNode.gain.value=g;else{var w,B=new MediaStream;B.addTrack(this.getAudioTrack());var z=I.createMediaStreamDestination(),$=I.createMediaStreamSource(B),ue=I.createGain();ue.gain.value=g,$.connect(ue),ue.connect(z);var L=z.stream.getAudioTracks()[0],k=function(P){return f.log_.info("gained audio track ".concat(P))};L.onmute=function(){return k("muted")},L.onunmute=function(){return k("unmuted")},L.onended=function(){return k("ended")},this.gain_={source:$,audioTrack:L,gainNode:ue},(w=this.connection_)===null||w===void 0||w.replaceTrack(L),se($e(S.prototype),"restartAudio",this).call(this)}return!0}},{key:"getGainedTrack",value:function(){return this.gain_.audioTrack}},{key:"reconnectGainNode",value:function(f){this.log_.warn("reconnect gain node");var g=new MediaStream;g.addTrack(f);var I=Fk().createMediaStreamSource(g);I.connect(this.gain_.gainNode),this.gain_.source.disconnect(),this.gain_.source=I}},{key:"stopGainNode",value:function(){var f=this.gain_,g=f.audioTrack,I=f.source,w=f.gainNode;w&&(I.disconnect(),w.disconnect(),g.onmute=null,g.onunmute=null,g.onended=null,g.stop(),this.gain_={source:null,gainNode:null,audioTrack:null}),this.captureVolume_=100}},{key:"close",value:function(){this.setIsReadyToPublish(!1),this.stopGainNode(),se($e(S.prototype),"close",this).call(this)}},{key:"setIsAIDenoiser",value:function(f){this.isAIDenoiser=f}}]),S}(II),W(it.prototype,"setAudioProfile",[EI],Object.getOwnPropertyDescriptor(it.prototype,"setAudioProfile"),it.prototype),W(it.prototype,"setVideoProfile",[CI],Object.getOwnPropertyDescriptor(it.prototype,"setVideoProfile"),it.prototype),W(it.prototype,"setScreenProfile",[RI],Object.getOwnPropertyDescriptor(it.prototype,"setScreenProfile"),it.prototype),W(it.prototype,"setVideoContentHint",[AI],Object.getOwnPropertyDescriptor(it.prototype,"setVideoContentHint"),it.prototype),W(it.prototype,"switchDevice",[PI],Object.getOwnPropertyDescriptor(it.prototype,"switchDevice"),it.prototype),W(it.prototype,"addTrack",[DI],Object.getOwnPropertyDescriptor(it.prototype,"addTrack"),it.prototype),W(it.prototype,"removeTrack",[LI],Object.getOwnPropertyDescriptor(it.prototype,"removeTrack"),it.prototype),W(it.prototype,"replaceTrack",[OI],Object.getOwnPropertyDescriptor(it.prototype,"replaceTrack"),it.prototype),W(it.prototype,"recoverCapture",[MI],Object.getOwnPropertyDescriptor(it.prototype,"recoverCapture"),it.prototype),W(it.prototype,"setAudioCaptureVolume",[NI,VI],Object.getOwnPropertyDescriptor(it.prototype,"setAudioCaptureVolume"),it.prototype),it),BI={voiceActivityDetection:!1},b7=(UI=wc({retries:1,timeout:0,onRetrying:function(e){this.log_.warn("connection timeout, retrying [".concat(e,"]"))},onError:function(e,t,n){e.message.includes("timeout")?(this.reset(),this.initialize(),t()):n(e)}}),Ec=function(e){Ct(ue,e);var t,n,r,i,o,a,s,c,u,l,h,_,y,S,f,g,I,w,B,z,$=Ar(ue);function ue(L){var k;return J(this,ue),(k=$.call(this,L)).localStream_=null,k.exchangeSDPTimeout_=-1,k.localAuxStream_=null,k.publishingStream_=null,k.isPublishingAuxStream_=!1,k.smallGenerator_=null,k.isSDPExchanging_=!1,k.ssrc_={audio:0,video:0,small:0,auxiliary:0},k.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},k.mixedAudioTrack_=null,k}return Ie(ue,[{key:"isMainStreamPublished",get:function(){return!!this.localStream_}},{key:"isAuxStreamPublished",get:function(){return!!this.localAuxStream_}},{key:"publishState",get:function(){var L=this,k={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this.peerConnection_){var P,A,U,T,v=this.peerConnection_.getSenders();v&&(bi()?(k.audio=!((P=v[0])===null||P===void 0||!P.track),k.bigVideo=!((A=v[1])===null||A===void 0||!A.track),k.smallVideo=!((U=v[2])===null||U===void 0||!U.track),k.auxVideo=!((T=v[3])===null||T===void 0||!T.track)):v.forEach(function(E){E.track&&(E.track.kind===Ce?k.audio=!0:(k.bigVideo=!0,L.smallGenerator_&&(k.smallVideo=!0)))}))}return k}},{key:"initialize",value:function(){se($e(ue.prototype),"initialize",this).call(this),this.installEvents()}},{key:"reset",value:function(){this.isReconnecting_&&this.stopReconnection(),this.closePeerConnection(),this.uninstallEvents(),this.clearExchangeSDPTimeout(),this.localStream_&&this.localStream_.clearCanvas()}},{key:"close",value:function(){se($e(ue.prototype),"close",this).call(this),this.reset(),this.emitConnectionStateChangedEvent(sn),this.smallGenerator_&&(this.smallGenerator_.destroy(),this.smallGenerator_=null)}},{key:"installEvents",value:function(){this.emitter_.on(nt.ERROR,this.handleError,this),this.emitter_.on(nt.CONNECTION_STATE_CHANGED,this.handleConnectionStateChange,this)}},{key:"uninstallEvents",value:function(){this.emitter_.off(nt.ERROR,this.handleError,this),this.emitter_.off(nt.CONNECTION_STATE_CHANGED,this.handleConnectionStateChange,this)}},{key:"publish",value:(z=N(p().mark(function L(k,P){var A,U,T,v,E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if(this.publishingStream_=k,this.isPublishingAuxStream_=P,U=k.getVideoTrack(),T=null,!U||P||!this.client_.getIsEnableSmallStream()){C.next=9;break}return this.smallGenerator_=new rd(k),C.next=8,this.smallGenerator_.initialize();case 8:T=this.smallGenerator_.generateSmallVideoTrack(this.client_.smallStreamConfig_);case 9:if(!this.client_.get2k4kFlag()){C.next=18;break}if(v=this.client_.get2k4kFlag()===1,E=k.getVideoProfile(),v||k.getScreen()||!(E.height*E.width>=3686400)){C.next=18;break}return E.width=1920,E.height=1080,this.log_.warn(rk),C.next=18,k.setVideoProfile(E);case 18:if(this.updateMediaSettings(k,P),!Pm()){C.next=24;break}return C.next=22,this.publishByTransceiver(k,T,P);case 22:C.next=26;break;case 24:return C.next=26,this.publishByAddTrack(k,T);case 26:return this.publishingStream_=null,this.isPublishingAuxStream_=!1,P?this.localAuxStream_=k:this.localStream_=k,(A=this.sei_)===null||A===void 0||A.handleEncodedStreams(),C.abrupt("return",k);case 31:case"end":return C.stop()}},L,this)})),function(L,k){return z.apply(this,arguments)})},{key:"publishByTransceiver",value:(B=N(p().mark(function L(k,P,A){var U,T,v,E,C,M,F;return p().wrap(function(q){for(;;)switch(q.prev=q.next){case 0:if(this.log_.info("publish by transceiver"),U=k.getMediaStream(),T=k.getAudioTrack(),v=k.getVideoTrack(),E=null,(pl||hl)&&Vk(v)&&(E=k.getCanvasTrack()),(C=this.peerConnection_.getTransceivers()).length!==0){q.next=16;break}return this.peerConnection_.addTransceiver(T||Ce,{direction:mi,streams:[U]}),this.peerConnection_.addTransceiver(A?Te:E||v||Te,{direction:mi,streams:[U]}),this.peerConnection_.addTransceiver(P||Te,{direction:mi,streams:[U]}),this.peerConnection_.addTransceiver(A?E||v:Te,{direction:mi,streams:[U]}),q.next=14,this.connect();case 14:q.next=46;break;case 16:if(M=[],!T){q.next=29;break}if(!C[0].sender.track){q.next=24;break}return this.mixAudioTrack(C[0].sender.track,T),q.next=22,C[0].sender.replaceTrack(this.mixedAudioTrack_);case 22:q.next=27;break;case 24:return q.next=26,C[0].sender.replaceTrack(T);case 26:M.push(0);case 27:return q.next=29,this.setBandwidth({bandwidth:k.getAudioBitrate(),type:Ce});case 29:if(!v){q.next=42;break}return F=A?3:1,q.next=33,C[F].sender.replaceTrack(E||v);case 33:return q.next=35,this.setBandwidth({bandwidth:k.getVideoBitrate(),type:Te,videoType:A?mt:Ku});case 35:if(M.push(F),!P){q.next=42;break}return q.next=39,C[2].sender.replaceTrack(P);case 39:return q.next=41,this.setBandwidth({bandwidth:this.client_.smallStreamConfig.bitrate,type:Te,videoType:Nr});case 41:M.push(2);case 42:return q.next=44,this.setTransceiverDirection(mi,M);case 44:return q.next=46,this.doPublishChange();case 46:case"end":return q.stop()}},L,this)})),function(L,k,P){return B.apply(this,arguments)})},{key:"publishByAddTrack",value:(w=N(p().mark(function L(k,P){var A,U,T,v;return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return this.log_.info("publish by addtrack"),A=k.getMediaStream(),U=k.getAudioTrack(),T=k.getVideoTrack(),U&&this.peerConnection_.addTrack(U,A),T&&(this.peerConnection_.addTrack(T,A),P&&((v=new MediaStream).addTrack(P),this.peerConnection_.addTrack(P,v))),E.next=8,this.connect();case 8:case"end":return E.stop()}},L,this)})),function(L,k){return w.apply(this,arguments)})},{key:"unpublish",value:(I=N(p().mark(function L(k){var P,A,U,T;return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(bi()){v.next=2;break}return v.abrupt("return",this.doUnpublish());case 2:if(P=k.getAudioTrack(),A=k===this.localAuxStream_,U=[],!this.peerConnection_){v.next=33;break}if(T=this.peerConnection_.getSenders(),!P){v.next=18;break}if(!this.mixedAudioTrack_){v.next=15;break}return this.log_.info("has mixed audioTrack, use another audioTrack"),v.next=12,T[0].replaceTrack(A?this.localStream_.getAudioTrack():this.localAuxStream_.getAudioTrack());case 12:this.destroyMixedAudioTrack(),v.next=18;break;case 15:return v.next=17,T[0].replaceTrack(null);case 17:U.push(0);case 18:if(!A){v.next=26;break}return v.next=21,T[3].replaceTrack(null);case 21:this.localAuxStream_=null,this.mediaSettings_=H(H({},this.mediaSettings_),{},{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),U.push(3),v.next=33;break;case 26:return v.next=28,T[1].replaceTrack(null);case 28:return v.next=30,T[2].replaceTrack(null);case 30:this.localStream_=null,this.mediaSettings_=H(H({},this.mediaSettings_),{},{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),U.push(1,2);case 33:if(!this.localStream_&&!this.localAuxStream_){v.next=40;break}return v.next=36,this.setTransceiverDirection(oo,U);case 36:return v.next=38,this.doPublishChange();case 38:v.next=42;break;case 40:return v.next=42,this.doUnpublish();case 42:case"end":return v.stop()}},L,this)})),function(L){return I.apply(this,arguments)})},{key:"doPublishChange",value:(g=N(p().mark(function L(){var k;return p().wrap(function(P){for(;;)switch(P.prev=P.next){case 0:return k={state:this.publishState,constraintConfig:this.mediaSettings_},P.next=3,this.signalChannel_.sendWaitForResponse({command:kU,data:k,responseCommand:vt.PUBLISH_STATE_CHANGE_RESULT});case 3:case"end":return P.stop()}},L,this)})),function(){return g.apply(this,arguments)})},{key:"doUnpublish",value:function(){var L=this;return this.signalChannel_.sendWaitForResponse({command:mT,commandDesc:"unpublish",responseCommand:vt.UNPUBLISH_RESULT}).then(function(){L.close()}).catch(function(){L.close()})}},{key:"updateMediaSettings",value:function(L,k){var P=this;this.localAuxStream_&&L===this.localAuxStream_&&(k=!0);var A=this.client_.getSystemResult().detail,U=A.isH264EncodeSupported,T=A.isVp8EncodeSupported;U?this.mediaSettings_.videoCodec="H264":T&&(this.mediaSettings_.videoCodec="VP8"),So?L.getMediaStream().getTracks().forEach(function(v){var E=v.getSettings();if(v.kind===Ce){var C=1;E.channelCount&&(C=E.channelCount),P.mediaSettings_.audioChannel=C,P.mediaSettings_.audioBps=1e3*L.getAudioBitrate(),P.mediaSettings_.audioFs=E.sampleRate}else if(v.kind===Te){if(k)return P.mediaSettings_.auxVideoWidth=E.width,P.mediaSettings_.auxVideoHeight=E.height,P.mediaSettings_.auxVideoFps=E.frameRate,void(P.mediaSettings_.auxVideoBps=1e3*L.getVideoBitrate());P.client_.getIsEnableSmallStream()&&(P.mediaSettings_.smallVideoWidth=P.client_.smallStreamConfig.width,P.mediaSettings_.smallVideoHeight=P.client_.smallStreamConfig.height,P.mediaSettings_.smallVideoFps=P.client_.smallStreamConfig.frameRate,P.mediaSettings_.smallVideoBps=1e3*P.client_.smallStreamConfig.bitrate),P.mediaSettings_.videoWidth=E.width,P.mediaSettings_.videoHeight=E.height,P.mediaSettings_.videoFps=E.frameRate,P.mediaSettings_.videoBps=1e3*L.getVideoBitrate()}}):this.updateMediaSettingsFromProfile(L),this.log_.info("updateMediaSettings: "+JSON.stringify(this.mediaSettings_))}},{key:"updateMediaSettingsFromProfile",value:function(L){if(L){if(L.hasAudio()){var k=L.getAudioProfile();this.mediaSettings_.audioChannel=k.channelCount,this.mediaSettings_.audioBps=1e3*k.bitrate,this.mediaSettings_.audioFs=k.sampleRate}if(L.hasVideo()){var P=L.getVideoProfile();this.mediaSettings_.videoWidth=P.width,this.mediaSettings_.videoHeight=P.height,this.mediaSettings_.videoFps=P.frameRate,this.mediaSettings_.videoBps=1e3*P.bitrate}}}},{key:"sendMediaSettings",value:function(L){var k=this;this.updateMediaSettings(L),this.signalChannel_.sendWaitForResponse({command:jU,data:this.mediaSettings_,responseCommand:vt.UPDATE_CONSTRAINT_CONFIG_RES}).then(function(P){P.data.code!==0&&k.log_.warn(P.data.message)}).catch(this.log_.warn)}},{key:"addTrack",value:(f=N(p().mark(function L(k,P){var A,U;return p().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(this.peerConnection_){T.next=2;break}return T.abrupt("return");case 2:if(U=P===this.localAuxStream_,this.log_.info("is adding ".concat(k.kind," track to current published local ").concat(U?mt:Ze," stream")),(A=this.sei_)===null||A===void 0||A.handleEncodedStreams(),!bi()){T.next=10;break}return T.next=8,this.addTrackByTransceiver(k,P);case 8:T.next=12;break;case 10:return T.next=12,this.addTrackBySender(k);case 12:vn(this.userId_,{eventId:k.kind===Ce?gT:vT,eventDesc:"add ".concat(k.kind," track to current published stream"),timestamp:on(),userId:this.userId_,tinyId:this.tinyId_});case 13:case"end":return T.stop()}},L,this)})),function(L,k){return f.apply(this,arguments)})},{key:"addTrackByTransceiver",value:(S=N(p().mark(function L(k,P){var A,U,T,v;return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(A=P===this.localAuxStream_,U=this.peerConnection_.getTransceivers(),k.kind!==Ce){E.next=13;break}if(!U[0].sender.track){E.next=9;break}return this.mixAudioTrack(U[0].sender.track,k),E.next=7,U[0].sender.replaceTrack(this.mixedAudioTrack_);case 7:E.next=11;break;case 9:return E.next=11,U[0].sender.replaceTrack(k);case 11:E.next=26;break;case 13:return T=A?3:1,E.next=16,U[T].sender.replaceTrack(k);case 16:if(T!==1||!this.client_.getIsEnableSmallStream()){E.next=23;break}return this.smallGenerator_=new rd(this.localStream_),E.next=20,this.smallGenerator_.initialize();case 20:return v=this.smallGenerator_.generateSmallVideoTrack(this.client_.smallStreamConfig_),E.next=23,U[2].sender.replaceTrack(v);case 23:if(U[T].direction!==oo){E.next=26;break}return E.next=26,this.setTransceiverDirection(mi,[T]);case 26:return this.updateMediaSettings(P,A),E.next=29,this.doPublishChange();case 29:case"end":return E.stop()}},L,this)})),function(L,k){return S.apply(this,arguments)})},{key:"addTrackBySender",value:(y=N(p().mark(function L(k){var P,A,U,T,v;return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(!(bi()&&this.peerConnection_.getTransceivers().findIndex(function(C){return C.direction==="stopped"})>=0)){E.next=4;break}return this.log_.warn("transceiver is stopping, negotiate sdp first"),E.next=4,this.updateOffer(un.REMOVE,k);case 4:if(!(P=this.peerConnection_.getSenders().find(function(C){return C.track&&C.track.kind===k.kind}))){E.next=11;break}return this.log_.warn("sender already exists, remove sender first"),A=P.track,this.removeSender(P),E.next=11,this.updateOffer(un.REMOVE,A);case 11:if(U=this.localStream_.getMediaStream(),this.peerConnection_.addTrack(k,U),k.kind!==Te||!this.client_.getIsEnableSmallStream()){E.next=21;break}return this.smallGenerator_=new rd(this.localStream_),E.next=17,this.smallGenerator_.initialize();case 17:T=this.smallGenerator_.generateSmallVideoTrack(this.client_.smallStreamConfig_),(v=new MediaStream).addTrack(T),this.peerConnection_.addTrack(T,v);case 21:return E.next=23,this.updateOffer(un.ADD,k);case 23:case"end":return E.stop()}},L,this)})),function(L){return y.apply(this,arguments)})},{key:"isNeedToResetOfferOrder",value:function(){if(this.sdpSemantics_===nf||!this.peerConnection_||!this.peerConnection_.localDescription)return!1;for(var L=this.peerConnection_.localDescription.sdp,k=Gr(L),P=0;P<k.media.length;P++)if(k.media[P].mid===0&&k.media[P].type===Te)return!0;return!1}},{key:"removeSender",value:function(L){var k=null;bi()&&(k=this.peerConnection_.getTransceivers().find(function(P){return P.sender&&P.sender.track===L.track})),this.peerConnection_.removeTrack(L),k&&In(k.stop)&&(this.log_.info("stop transceiver"),k.stop())}},{key:"removeTrack",value:(_=N(p().mark(function L(k,P){return p().wrap(function(A){for(;;)switch(A.prev=A.next){case 0:if(this.peerConnection_){A.next=2;break}return A.abrupt("return");case 2:if(this.log_.info("is removing ".concat(k.kind," track from current published local ").concat(P===this.localAuxStream_?mt:Ze," stream")),!bi()){A.next=8;break}return A.next=6,this.removeTrackByTransceiver(k,P);case 6:A.next=10;break;case 8:return A.next=10,this.removeTrackBySender(k);case 10:vn(this.userId_,{eventId:k.kind===Ce?yT:_T,eventDesc:"remove ".concat(k.kind," track from current published stream"),timestamp:on(),userId:this.userId_,tinyId:this.tinyId_});case 11:case"end":return A.stop()}},L,this)})),function(L,k){return _.apply(this,arguments)})},{key:"removeTrackByTransceiver",value:(h=N(p().mark(function L(k,P){var A,U,T;return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(A=P===this.localAuxStream_,U=this.peerConnection_.getTransceivers(),k.kind!==Ce){v.next=13;break}if(!this.mixedAudioTrack_){v.next=9;break}return v.next=6,U[0].sender.replaceTrack(A?this.localStream_.getAudioTrack():this.localAuxStream_.getAudioTrack());case 6:this.destroyMixedAudioTrack(),v.next=11;break;case 9:return v.next=11,U[0].sender.replaceTrack(null);case 11:v.next=23;break;case 13:return T=A?3:1,v.next=16,U[T].sender.replaceTrack(null);case 16:if(T!==1||!this.smallGenerator_){v.next=21;break}return this.smallGenerator_.destroy(),this.smallGenerator_=null,v.next=21,U[2].sender.replaceTrack(null);case 21:return v.next=23,this.setTransceiverDirection(oo,[T]);case 23:return this.updateMediaSettings(P,A),v.next=26,this.doPublishChange();case 26:case"end":return v.stop()}},L,this)})),function(L,k){return h.apply(this,arguments)})},{key:"setTransceiverDirection",value:(l=N(p().mark(function L(k,P){var A,U,T,v,E,C;return p().wrap(function(M){for(;;)switch(M.prev=M.next){case 0:if(xr){M.next=2;break}return M.abrupt("return");case 2:if(A=!1,U=!1,this.log_.info("setting transceiver ".concat(P.join(",")," direction to ").concat(k)),T=this.peerConnection_.getTransceivers(),P.forEach(function(F){T[F].direction!==k&&(T[F].direction=k,A=!0)}),!A){M.next=14;break}return this.log_.info("updating offer"),M.next=11,this.peerConnection_.createOffer();case 11:return v=M.sent,M.next=14,this.peerConnection_.setLocalDescription(v);case 14:if(E=-1,C=this.peerConnection_.remoteDescription.sdp.split(`\r
|
|
99
|
+
`).map(function(F){if(F.match(new RegExp("a=(".concat(oo,"|").concat(qp,"|").concat(mi,")")))&&E++,P.includes(E)){if(k===oo&&F.includes("a=".concat(qp)))return U=!0,"a=".concat(k);if(k===mi&&F.includes("a=".concat(oo)))return U=!0,"a=".concat(qp)}return F}).join(`\r
|
|
100
|
+
`),!U){M.next=20;break}return this.log_.info("updating answer"),M.next=20,this.peerConnection_.setRemoteDescription({type:"answer",sdp:C});case 20:case"end":return M.stop()}},L,this)})),function(L,k){return l.apply(this,arguments)})},{key:"removeTrackBySender",value:(u=N(p().mark(function L(k){var P,A,U=this;return p().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(k.kind!==Te||!this.isNeedToResetOfferOrder()){T.next=7;break}return this.reset(),this.initialize(),(P=this.localStream_.getMediaStream())===null||P===void 0||P.removeTrack(k),T.next=6,this.publish(this.localStream_);case 6:return T.abrupt("return");case 7:return(A=this.peerConnection_.getSenders().find(function(v){return v.track===k}))&&(this.removeSender(A),k.kind===Te&&this.smallGenerator_&&(this.smallGenerator_.destroy(),this.smallGenerator_=null,this.peerConnection_.getSenders().forEach(function(v){v.track&&v.track.kind===Te&&U.removeSender(v)}))),T.next=11,this.updateOffer(un.REMOVE,k);case 11:case"end":return T.stop()}},L,this)})),function(L){return u.apply(this,arguments)})},{key:"replaceTrack",value:(c=N(p().mark(function L(k,P){var A,U,T,v,E,C,M;return p().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:if((U=(A=this.peerConnection_)===null||A===void 0?void 0:A.getSenders())&&U.length!==0){F.next=3;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:pk})});case 3:if(T=P===this.localAuxStream_,this.log_.info("is replacing ".concat(k.kind," track to current published local ").concat(T?mt:Ze," stream")),k.kind!==Ce||!U[0]){F.next=16;break}if(!(this.mixedAudioTrack_&&(v=this.localStream_)!==null&&v!==void 0&&v.hasAudio()&&(E=this.localAuxStream_)!==null&&E!==void 0&&E.hasAudio())){F.next=14;break}return this.destroyMixedAudioTrack(),C=T?this.localStream_.getAudioTrack():this.localAuxStream_.getAudioTrack(),this.mixAudioTrack(k,C),F.next=12,U[0].replaceTrack(this.mixedAudioTrack_);case 12:F.next=16;break;case 14:return F.next=16,U[0].replaceTrack(k);case 16:if(k.kind!==Te){F.next=32;break}if(P!==this.localStream_||!U[1]){F.next=29;break}return F.next=20,U[1].replaceTrack(k);case 20:if(!this.smallGenerator_||!U[2]){F.next=29;break}return this.log_.info("replacing smallVideo"),this.smallGenerator_.destroy(),this.smallGenerator_=new rd(this.localStream_),F.next=26,this.smallGenerator_.initialize();case 26:return M=this.smallGenerator_.generateSmallVideoTrack(this.client_.smallStreamConfig_),F.next=29,U[2].replaceTrack(M);case 29:if(P!==this.localAuxStream_||!U[3]){F.next=32;break}return F.next=32,U[3].replaceTrack(k);case 32:vn(this.userId_,{eventId:k.kind===Ce?KU:qU,eventDesc:"replace ".concat(k.kind," track from current published stream"),timestamp:on(),userId:this.userId_,tinyId:this.tinyId_});case 33:case"end":return F.stop()}},L,this)})),function(L,k){return c.apply(this,arguments)})},{key:"updateOffer",value:(s=N(p().mark(function L(k,P){var A,U,T,v,E,C,M;return p().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:return F.prev=0,F.next=3,this.peerConnection_.createOffer(BI);case 3:return A=F.sent,xr&&(A.sdp=this.setSDPDirection(A.sdp,"sendrecv")),F.next=7,this.peerConnection_.setLocalDescription(A);case 7:return U=this.updateMediaSettings(this.localStream_||this.localAuxStream_),T={action:k,trackId:P.id,kind:P.kind===Te?"bigVideo":P.kind,type:"offer",sdp:this.peerConnection_.localDescription.sdp,constraintConfig:U,state:this.publishState},this.log_.info("createOffer success, sending updated offer to remote server"),this.log_.debug("updatedOffer: "+T.sdp),F.next=13,this.signalChannel_.sendWaitForResponse({command:bU,data:T,responseCommand:vt.UPDATE_OFFER_RESULT,timeout:1e4,commandDesc:"update offer"});case 13:return v=F.sent,E=v.data,C=E.code,M=E.message,C!==0&&this.checkPublishResultCode(C,M),F.next=18,this.acceptAnswer(v.data.data);case 18:this.updateSSRC(A.sdp),xe.logSuccessEvent({userId:this.client_.getUserId(),eventType:tl,kind:"offer"}),F.next=27;break;case 22:throw F.prev=22,F.t0=F.catch(0),this.log_.error(F.t0),xe.logFailedEvent({userId:this.client_.getUserId(),eventType:tl,kind:"offer",error:F.t0}),F.t0;case 27:case"end":return F.stop()}},L,this,[[0,22]])})),function(L,k){return s.apply(this,arguments)})},{key:"setBandwidth",value:(a=N(p().mark(function L(k){var P,A,U,T,v,E,C,M;return p().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:if(P=k.bandwidth,A=k.type,U=k.videoType,T=U===void 0?"":U,v=k.sdp,UT()||!v){F.next=3;break}return F.abrupt("return",A===Te?this.updateVideoBandwidthRestriction(v,P,T):this.updateAudioBandwidthRestriction(v,P));case 3:if(E=0,A===Te&&(E=T===Nr?2:T===mt?3:1),!(C=this.peerConnection_.getSenders()[E])){F.next=22;break}return(M=C.getParameters()).encodings&&M.encodings.length!==0||(M.encodings=[{}]),P==="unlimited"?delete M.encodings[0].maxBitrate:M.encodings[0].maxBitrate=1e3*P,F.prev=10,F.next=13,C.setParameters(M);case 13:return this.log_.info(T+A+" bandwidth was set to "+P+" kbps"),F.abrupt("return",v);case 17:if(F.prev=17,F.t0=F.catch(10),this.log_.info("failed to set bandwidth by setting maxBitrate: "+F.t0),!v){F.next=22;break}return F.abrupt("return",A===Te?this.updateVideoBandwidthRestriction(v,P,T):this.updateAudioBandwidthRestriction(v,P));case 22:return F.abrupt("return",v);case 23:case"end":return F.stop()}},L,this,[[10,17]])})),function(L){return a.apply(this,arguments)})},{key:"updateVideoBandwidthRestriction",value:function(L,k,P){var A="AS";xr&&(A="TIAS",k*=1e3);var U=0,T=-1;return P===Nr?U=1:P===mt&&(U=2),L=L.replace(/m=video (.*)\r\nc=IN (.*)\r\n/g,function(v){return++T===U?"".concat(v,"b=").concat(A,":").concat(k,`\r
|
|
101
|
+
`):v}),L}},{key:"updateAudioBandwidthRestriction",value:function(L,k){var P="AS";return xr&&(P="TIAS",k*=1e3),L=L.replace(/m=audio (.*)\r\nc=IN (.*)\r\n/,`m=audio $1\r
|
|
102
102
|
c=IN $2\r
|
|
103
103
|
b=`+P+":"+k+`\r
|
|
104
|
-
`)}},{key:"removeBandwidthRestriction",value:function(L){return L.replace(/b=AS:.*\r\n/,"").replace(/b=TIAS:.*\r\n/,"")}},{key:"removeVideoOrientation",value:function(L){return L.replace(/urn:3gpp:video-orientation/,"")}},{key:"connect",value:(o=N(p().mark(function L(){return p().wrap(function(k){for(;;)switch(k.prev=k.next){case 0:return k.prev=0,k.next=3,this.exchangeSDP();case 3:return k.next=5,this.waitForPeerConnectionConnected();case 5:k.next=11;break;case 7:throw k.prev=7,k.t0=k.catch(0),this.closePeerConnection(!0),k.t0;case 11:case"end":return k.stop()}},L,this,[[0,7]])})),function(){return o.apply(this,arguments)})},{key:"exchangeSDP",value:(i=N(p().mark(function L(){return p().wrap(function(k){for(;;)switch(k.prev=k.next){case 0:return k.prev=0,this.isSDPExchanging_=!0,k.next=4,this.createOffer();case 4:return this.log_.info("createOffer success, sending offer to remote server"),k.next=7,this.doExchangeSDP();case 7:this.isSDPExchanging_=!1,k.next=14;break;case 10:throw k.prev=10,k.t0=k.catch(0),this.isSDPExchanging_=!1,k.t0;case 14:case"end":return k.stop()}},L,this,[[0,10]])})),function(){return i.apply(this,arguments)})},{key:"createOffer",value:(r=N(p().mark(function L(){var k;return p().wrap(function(P){for(;;)switch(P.prev=P.next){case 0:return P.prev=0,P.next=3,this.peerConnection_.createOffer(UI);case 3:return k=P.sent,P.next=6,this.peerConnection_.setLocalDescription(k);case 6:this.updateSSRC(k.sdp),Ie.logSuccessEvent({userId:this.client_.getUserId(),eventType:el,kind:"offer"}),P.next=14;break;case 10:throw P.prev=10,P.t0=P.catch(0),Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:el,kind:"offer",error:P.t0}),P.t0;case 14:case"end":return P.stop()}},L,this,[[0,10]])})),function(){return r.apply(this,arguments)})},{key:"doExchangeSDP",value:function(){var L=this;return new Promise(function(k,P){L.exchangeSDPTimeout_=setTimeout(function(){L.signalChannel_.off(vt.PUBLISH_RESULT,A),L.clearExchangeSDPTimeout();var T=new ee({code:Y.API_CALL_TIMEOUT,message:ne({key:x3})});P(T)},1e4);var A=function(){var T=N(p().mark(function v(E){var C,O,F;return p().wrap(function(K){for(;;)switch(K.prev=K.next){case 0:if(K.prev=0,L.clearExchangeSDPTimeout(),C=E.data,O=C.code,F=C.message,O!==0){K.next=9;break}return K.next=6,L.acceptAnswer(E.data.data);case 6:k(),K.next=10;break;case 9:L.checkPublishResultCode(O,F);case 10:K.next=15;break;case 12:K.prev=12,K.t0=K.catch(0),P(K.t0);case 15:case"end":return K.stop()}},v,null,[[0,12]])}));return function(v){return T.apply(this,arguments)}}(),U={type:L.peerConnection_.localDescription.type,sdp:L.removeVideoOrientation(L.peerConnection_.localDescription.sdp),screen:(L.publishingStream_||L.localStream_).hasScreenTrack(),state:L.publishState,constraintConfig:L.mediaSettings_};L.signalChannel_.once(vt.PUBLISH_RESULT,A),L.log_.debug("sending sdp offer: "+U.sdp),L.signalChannel_.send(TU,U)})}},{key:"setSDPDirection",value:function(L,k){var P=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"all",A=Fr(L);return A.media.forEach(function(U){P!=="all"&&U.type!==P||(U.direction=k)}),mo(A)}},{key:"acceptAnswer",value:(n=N(p().mark(function L(k){var P,A,U,T,v,E,C;return p().wrap(function(O){for(;;)switch(O.prev=O.next){case 0:if(O.prev=0,P=this.removeVideoOrientation(k.sdp),!(A=this.publishingStream_||this.localStream_)){O.next=15;break}if(U=A.getVideoBitrate(),T=A.getAudioBitrate(),!U){O.next=11;break}return v=this.isPublishingAuxStream_?mt:Ku,O.next=10,this.setBandwidth({bandwidth:U,type:xe,sdp:P,videoType:v});case 10:P=O.sent;case 11:if(!T){O.next=15;break}return O.next=14,this.setBandwidth({bandwidth:T,type:Ce,sdp:P});case 14:P=O.sent;case 15:if(!this.client_.getIsEnableSmallStream()){O.next=20;break}return E=this.client_.smallStreamConfig,O.next=19,this.setBandwidth({bandwidth:E.bitrate,type:xe,videoType:Nr,sdp:P});case 19:P=O.sent;case 20:return C={type:k.type,sdp:P},O.next=23,this.peerConnection_.setRemoteDescription(C);case 23:this.log_.debug("accepted answer: "+P),Ie.logSuccessEvent({userId:this.client_.getUserId(),eventType:Ob,kind:"answer"}),O.next=32;break;case 27:throw O.prev=27,O.t0=O.catch(0),Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:Ob,kind:"answer",error:O.t0}),this.log_.error("failed to accept remote answer "+O.t0),O.t0;case 32:case"end":return O.stop()}},L,this,[[0,27]])})),function(L){return n.apply(this,arguments)})},{key:"sendMutedFlag",value:function(L,k){if(k!==this.localAuxStream_){var P={audio:L.audio,bigVideo:L.video,auxVideo:L.auxVideo};this.log_.info("send muted state: ".concat(JSON.stringify(P))),this.signalChannel_.send(kU,P)}}},{key:"getIsReconnecting",value:function(){return this.isReconnecting_}},{key:"reconnect",value:(t=N(p().mark(function L(){var k,P,A=this;return p().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(this.reconnectionTimer_===-1){U.next=3;break}return this.log_.warn("reconnect() uplink is reconnecting, ignore current reconnection"),U.abrupt("return");case 3:if(!(this.reconnectionCount_>=30)){U.next=12;break}return this.log_.warn("SDK has tried reconnect uplink for ".concat(30," times, but all failed, please check your network")),this.stopReconnection(),k=new ee({code:Y.UPLINK_RECONNECTION_FAILED,message:ne({key:E3})}),Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:Pb,error:k}),this.addEventInternal(o6,"uplink-connection reconnect fail"),this.emitConnectionStateChangedEvent(sn),this.emitter_.emit(tt.ERROR,k),U.abrupt("return");case 12:if(this.signalChannel_.getCurrentState()===cc){U.next=16;break}return this.log_.warn("reconnect() signal channel is not connected, suspend reconnection until signal is connected"),this.signalChannel_.once(sc,this.reconnect,this),U.abrupt("return");case 16:if(this.reconnectionCount_++,U.prev=17,this.log_.warn("reconnect() try to reconnect uplink [".concat(this.reconnectionCount_,"/").concat(30,"]")),P=Mf(this.reconnectionCount_),this.reconnectionTimer_=setTimeout(function(){A.log_.warn("reconnect() uplink reconnect timeout(".concat(P/1e3,"s), try again")),A.clearReconnectionTimer(),A.reconnect()},P),!(this.isSDPExchanging_||this.peerConnection_&&this.peerConnection_.connectionState===Zu)){U.next=23;break}return U.abrupt("return");case 23:return U.next=25,this.signalChannel_.sendWaitForResponse({command:pT,responseCommand:vt.UNPUBLISH_RESULT,enableLog:!1});case 25:if(this.reset(),this.initialize(),!this.localStream_){U.next=30;break}return U.next=30,this.publish(this.localStream_);case 30:if(!this.localAuxStream_){U.next=33;break}return U.next=33,this.publish(this.localAuxStream_,!0);case 33:Ie.logSuccessEvent({userId:this.client_.getUserId(),eventType:Pb}),this.log_.warn("reconnect() uplink reconnect successfully"),this.addEventInternal(a6,"uplink-connection reconnect success"),this.stopReconnection(),this.localStream_.syncMuteState(),U.next=42;break;case 40:U.prev=40,U.t0=U.catch(17);case 42:case"end":return U.stop()}},L,this,[[17,40]])})),function(){return t.apply(this,arguments)})},{key:"clearExchangeSDPTimeout",value:function(){this.exchangeSDPTimeout_!==-1&&(clearTimeout(this.exchangeSDPTimeout_),this.exchangeSDPTimeout_=-1)}},{key:"clearReconnectionTimer",value:function(){this.reconnectionTimer_!==-1&&(clearTimeout(this.reconnectionTimer_),this.reconnectionTimer_=-1)}},{key:"handleError",value:function(L){L.getCode()===Y.ICE_TRANSPORT_ERROR&&(this.isFirstConnection_&&(this.isFirstConnection_=!1,Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:Ab,error:L})),this.isReconnecting_||this.startReconnection())}},{key:"handleConnectionStateChange",value:function(L){L.state===mn&&this.isFirstConnection_&&(this.isFirstConnection_=!1,Ie.logSuccessEvent({userId:this.client_.getUserId(),eventType:Ab}),this.addEventInternal(ZU,"uplink-connection is connected"))}},{key:"updateSSRC",value:function(L){var k=this;try{Fr(L).media.forEach(function(P,A){if(P.type===Ce){var U=P.ssrcs[0];U&&(k.ssrc_.audio=U.id)}else{if(k.sdpSemantics_===nf)return void P.ssrcGroups.forEach(function(v,E){var C=Number(v.ssrcs.split(" ")[0]);E===0?k.ssrc_.video=C:E===1&&(k.ssrc_.small=C)});var T=P.ssrcs[0];if(!T)return;switch(A){case 1:k.ssrc_.video=T.id;break;case 2:k.ssrc_.small=T.id;break;case 3:k.ssrc_.auxiliary=T.id}}})}catch(P){}}},{key:"getVideoTrackId",value:function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xe;if(this.peerConnection_){var k=this.peerConnection_.getSenders();if(L===xe&&k[1]&&k[1].track)return k[1].track.id;if(L===Nr&&k[2]&&k[2].track)return k[2].track.id;if(L===mt&&k[3]&&k[3].track)return k[3].track.id}if(this.localStream_&&L===xe){var P=this.localStream_.getVideoTrack();if(P)return P.id}if(this.localAuxStream_&&L===mt){var A=this.localAuxStream_.getVideoTrack();if(A)return A.id}return""}},{key:"getSSRC",value:function(){return this.ssrc_}},{key:"checkPublishResultCode",value:function(L,k){if(L!==0)throw L===1028?(this.log_.error(vi.NOT_SUPPORTED_H264ENCODE),new ee({code:Y.NOT_SUPPORTED_H264,message:ne({key:mk})})):new ee({code:Y.UNKNOWN,message:ne({key:gk,data:{signalResponse:vt.PUBLISH_RESULT,code:L,message:k}})})}},{key:"getLocalStream",value:function(){return this.localStream_}},{key:"sendSEI",value:function(L,k){this.sei_.push(L,k)}},{key:"mixAudioTrack",value:function(L,k){this.log_.info("mix audio track"),this.mixedAudioTrack_=function(P){var A=Uk(),U=A.createMediaStreamDestination(),T=[];P.forEach(function(E){var C=new MediaStream;C.addTrack(E);var O=A.createMediaStreamSource(C);O.connect(U),T.push(O)});var v=U.stream.getAudioTracks()[0];return id.set(v,{destination:U,track:v,mediaStreamSourceList:T}),v}([L,k])}},{key:"destroyMixedAudioTrack",value:function(){this.mixedAudioTrack_&&(this.log_.info("destroy audio track"),function(L){if(id.has(L)){var k=id.get(L),P=k.destination,A=k.track,U=k.mediaStreamSourceList;A.stop(),P.disconnect(),U.forEach(function(T){T.disconnect()}),id.delete(L)}}(this.mixedAudioTrack_),this.mixedAudioTrack_=null)}}]),ue}(Qv),W(Ic.prototype,"publish",[NI],Object.getOwnPropertyDescriptor(Ic.prototype,"publish"),Ic.prototype),Ic),v7=pe,BI=Ps,ad=Es.exports.getWeakData,g7=oi,_7=It,y7=Ct,ig=ot,S7=As,jI=xt,b7=Xe.set,k7=Xe.getterFor,T7=an.find,x7=an.findIndex,I7=v7([].splice),w7=0,od=function(e){return e.frozen||(e.frozen=new FI)},FI=function(){this.entries=[]},ag=function(e,t){return T7(e.entries,function(n){return n[0]===t})};FI.prototype={get:function(e){var t=ag(this,e);if(t)return t[1]},has:function(e){return!!ag(this,e)},set:function(e,t){var n=ag(this,e);n?n[1]=t:this.entries.push([e,t])},delete:function(e){var t=x7(this.entries,function(n){return n[0]===e});return~t&&I7(this.entries,t,1),!!~t}};var wc,E7={getConstructor:function(e,t,n,r){var i=e(function(c,u){g7(c,o),b7(c,{type:t,id:w7++,frozen:void 0}),y7(u)||S7(u,c[r],{that:c,AS_ENTRIES:n})}),o=i.prototype,a=k7(t),s=function(c,u,d){var h=a(c),_=ad(_7(u),!0);return _===!0?od(h).set(u,d):_[h.id]=d,c};return BI(o,{delete:function(c){var u=a(this);if(!ig(c))return!1;var d=ad(c);return d===!0?od(u).delete(c):d&&jI(d,u.id)&&delete d[u.id]},has:function(c){var u=a(this);if(!ig(c))return!1;var d=ad(c);return d===!0?od(u).has(c):d&&jI(d,u.id)}}),BI(o,n?{get:function(c){var u=a(this);if(ig(c)){var d=ad(c);return d===!0?od(u).get(c):d?d[u.id]:void 0}},set:function(c,u){return s(this,c,u)}}:{add:function(c){return s(this,c,!0)}}),i}},GI=te,sd=pe,C7=Ps,R7=Es.exports,A7=wh,HI=E7,cd=ot,ud=Q_,ld=Xe.enforce,P7=x,D7=!GI.ActiveXObject&&"ActiveXObject"in GI,zI=function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},L7=A7("WeakMap",zI,HI);if(P7&&D7){wc=HI.getConstructor(zI,"WeakMap",!0),R7.enable();var Ec=L7.prototype,WI=sd(Ec.delete),dd=sd(Ec.has),JI=sd(Ec.get),KI=sd(Ec.set);C7(Ec,{delete:function(e){if(cd(e)&&!ud(e)){var t=ld(this);return t.frozen||(t.frozen=new wc),WI(this,e)||t.frozen.delete(e)}return WI(this,e)},has:function(e){if(cd(e)&&!ud(e)){var t=ld(this);return t.frozen||(t.frozen=new wc),dd(this,e)||t.frozen.has(e)}return dd(this,e)},get:function(e){if(cd(e)&&!ud(e)){var t=ld(this);return t.frozen||(t.frozen=new wc),dd(this,e)?JI(this,e):t.frozen.get(e)}return JI(this,e)},set:function(e,t){if(cd(e)&&!ud(e)){var n=ld(this);n.frozen||(n.frozen=new wc),dd(this,e)?KI(this,e,t):n.frozen.set(e,t)}else KI(this,e,t);return this}})}var O7=Me,hd=Js,M7=oe,qI=Pn,XI=at,N7=ju,QI=lb,V7=Qt,og=hd&&hd.prototype;if(O7({target:"Promise",proto:!0,real:!0,forced:!!hd&&M7(function(){og.finally.call({then:function(){}},function(){})})},{finally:function(e){var t=N7(this,qI("Promise")),n=XI(e);return this.then(n?function(r){return QI(t,e()).then(function(){return r})}:e,n?function(r){return QI(t,e()).then(function(){throw r})}:e)}}),XI(hd)){var YI=qI("Promise").prototype.finally;og.finally!==YI&&V7(og,"finally",YI,{unsafe:!0})}var $I,ZI,ew,tw,or,Lo=new WeakMap;function nw(){return function(e,t,n){var r=n.value,i=function o(a){var s=a.fn,c=a.args,u=a.context,d=a.resolve,h=a.reject;s.apply(u,c).then(d,h).finally(function(){var _=Lo.get(u);_&&(_.shift(),_[0]&&o(H({},_[0])))})};return n.value=function(){for(var o=this,a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];return new Promise(function(u,d){if(Lo.has(o)){var h=Lo.get(o),_=h.length;h.push({fn:r,args:s,context:o,resolve:u,reject:d,name:t}),_===0&&i({fn:r,args:s,context:o,resolve:u,reject:d})}else Lo.set(o,[{fn:r,args:s,context:o,resolve:u,reject:d,name:t}]),i({fn:r,args:s,context:o,resolve:u,reject:d})})},n}}var U7=($I=nw(),ZI=xc({retries:1,timeout:0,onRetrying:function(e){this.log_.warn("connection timeout, retrying [".concat(e,"]"))},onError:function(e,t,n){e.message.includes("timeout")?t():n(e)}}),ew=nw(),tw=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1e4;return function(t,n,r){var i=r.value;return r.value=function(){for(var o=this,a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];return new Promise(function(u,d){var h=setTimeout(function(){return d(new Error("".concat(n," timeout")))},e);i.apply(o,s).then(u,d).finally(function(){clearTimeout(h)})})},r}}(),or=function(e){Nt(u,e);var t,n,r,i,o,a,s,c=Ar(u);function u(d){var h;return J(this,u),(h=c.call(this,d)).remoteStreams_=new Map,h.autoSubscribe=d.autoSubscribe,h.trackState_={audio:d.trackState.audio,video:d.trackState.video,auxiliary:d.trackState.auxiliary,smallVideo:d.trackState.smallVideo},h.ssrc_={audio:0,video:0,auxiliary:0},h.subscribeState_={audio:d.autoSubscribe,video:d.autoSubscribe,auxiliary:d.autoSubscribe,smallVideo:!1},h.isSDPExchanging_=!1,h.installEvents(),h}return ye(u,[{key:"getMixUserList",value:function(){return this.mixUserList_?this.mixUserList_.map(function(d){var h=d.userId,_=d.flag;return{userId:h,hasAudio:!!(8&_),hasVideo:!!(1&_),hasAuxiliary:!!(4&_)}}):void 0}},{key:"setMixUserList",value:function(d){(!this.mixUserList_||ml(this.mixUserList_)&&!function(h,_){if(_.length===h.length){var y,b=ie(_);try{var f=function(){var I=y.value,w=h.find(function(j){return j.userId===I.userId});if(!w||w.flag!==I.flag)return{v:!1}};for(b.s();!(y=b.n()).done;){var g=f();if(V(g)==="object")return g.v}}catch(I){b.e(I)}finally{b.f()}return!0}return!1}(this.mixUserList_,d))&&(this.mixUserList_=d,this.emitter_.emit(tt.STREAM_UPDATED,{stream:this.getMainStream()}))}},{key:"isMainStreamSubscribed",get:function(){return(this.subscribeState_.audio||this.subscribeState_.video||this.subscribeState_.smallVideo)&&(this.trackState_.audio||this.trackState_.video||this.trackState_.smallVideo)}},{key:"isAuxStreamSubscribed",get:function(){return this.subscribeState_.auxiliary&&this.trackState_.auxiliary}},{key:"isSmallStreamSubscribed",get:function(){return this.subscribeState_.smallVideo&&this.trackState_.smallVideo}},{key:"isBigStreamSubscribed",get:function(){return this.subscribeState_.video&&this.trackState_.video}},{key:"isStreamUnpublished",value:function(d){return d.getType()===Ze?!this.trackState_.audio&&!this.trackState_.video:!this.trackState_.auxiliary}},{key:"initialize",value:function(){se($e(u.prototype),"initialize",this).call(this),this.peerConnection_.ontrack=this.onTrack.bind(this)}},{key:"close",value:function(){var d,h,_,y=this;se($e(u.prototype),"close",this).call(this),this.trackState_.audio=!1,this.trackState_.video=!1,this.trackState_.smallVideo=!1,this.trackState_.auxiliary=!1,this.emitConnectionStateChangedEvent(sn),d=this,h=function(b){b.fn;var f=b.args,g=b.resolve,I=b.reject,w=b.name;if(w==="subscribe"){if(!y.client_.getIsJoined())return I(new ee({code:Y.API_CALL_ABORTED,message:ne({key:mf,data:{message:"leave room",stream:f[0]}})}));if(y.isStreamUnpublished(f[0]))return I(new ee({code:Y.API_CALL_ABORTED,message:ne({key:mf,data:{message:"remote user ".concat(y.userId_," unpublished stream"),stream:f[0]}})}))}else if(w==="unsubscribe")return g();g()},(_=Lo.get(d))===null||_===void 0||_.forEach(h),Lo.delete(d),this.remoteStreams_.forEach(function(b){var f=b;f.setConnection(null),f.uninstallEvents(),f.getIsStreamAddedEventEmitted()&&y.emitter_.emit(tt.STREAM_REMOVED,{stream:f})}),this.remoteStreams_.clear(),this.uninstallEvents()}},{key:"installEvents",value:function(){var d=this;q.on(Bn,this.onRemoteStreamUpdate,this),this.emitter_.on(tt.ERROR,function(h){h.getCode()===Y.ICE_TRANSPORT_ERROR&&(d.isFirstConnection_&&(d.isFirstConnection_=!1,Ie.logFailedEvent({userId:d.client_.getUserId(),eventType:Db,error:h})),d.isReconnecting_||d.startReconnection())}),this.emitter_.on(tt.CONNECTION_STATE_CHANGED,function(h){h.state===mn&&d.isFirstConnection_&&(d.isFirstConnection_=!1,Ie.logSuccessEvent({userId:d.client_.getUserId(),eventType:Db}),d.addEventInternal(e6,"downlink-connection is connected"))})}},{key:"uninstallEvents",value:function(){q.removeListener(Bn,this.onRemoteStreamUpdate,this)}},{key:"onRemoteStreamUpdate",value:function(d){if(this.hitTest(d.tinyId)&&d.client===this.client_){this.updateTrackState(d.action,d.kind);var h=d.kind===mt?Qs:br,_=this.remoteStreams_.get(h);if(!_)return;d.action===un.ADD?this.handleRemoteAddTrack(d.kind,_):this.handleRemoteRemoveTrack(d.kind,_)}}},{key:"handleRemoteAddTrack",value:function(d,h){this.log_.info("remote add ".concat(d," track")),d===Ce?h.updateAudioPlayingState(this.subscribeState_.audio):h.updateVideoPlayingState(d===mt?this.subscribeState_.auxiliary:this.subscribeState_.video||this.subscribeState_.smallVideo),h.getIsStreamAddedEventEmitted()?this.emitter_.emit(tt.STREAM_UPDATED,{stream:h}):(this.emitter_.emit(tt.STREAM_ADDED,{stream:h}),this.currentState_===mn&&h.emitConnectionStateChanged({prevState:sn,state:mn}))}},{key:"handleRemoteRemoveTrack",value:function(d,h){h.getIsStreamAddedEventEmitted()&&(this.log_.info("remote remove ".concat(d," track")),d===mt||!this.trackState_.audio&&!this.trackState_.video?(this.log_.info("remote stream ".concat(h.getType()," removed")),this.currentState_===mn&&h.emitConnectionStateChanged({prevState:mn,state:sn}),this.emitter_.emit(tt.STREAM_REMOVED,{stream:h})):(d===Ce?h.updateAudioPlayingState(!1):(d!==qu||this.isSmallStreamSubscribed)&&h.updateVideoPlayingState(!1),this.emitter_.emit(tt.STREAM_UPDATED,{stream:h})))}},{key:"updateTrackState",value:function(d,h){var _=d===un.ADD;switch(h){case Ce:this.trackState_.audio=_;break;case xe:this.trackState_.video=_;break;case mt:this.trackState_.auxiliary=_;break;case qu:this.trackState_.smallVideo=_}this.log_.info("trackState updated: ".concat(JSON.stringify(this.trackState_)))}},{key:"onTrack",value:function(d){var h=d.streams[0],_=d.track;if(this.log_.info("ontrack() kind: ".concat(_.kind," id: ").concat(_.id," streamId: ").concat(h.id)),this.sdpSemantics_===$s){var y=function(w){var j=er.parse(w),z={audio:[],video:[]};return j.media.forEach(function($){if($.ssrcs){var ue=$.ssrcs[0].id>>16&255;if($.type===Ce)z.audio.push(br);else if($.type==xe){var L=ue===KN?br:Qs;z.video.push(L)}}}),z}(this.peerConnection_.remoteDescription.sdp);if(_.kind===Ce){if(y.audio.length===0||h.id!==br)return void this.log_.debug("skip this invalid audio track")}else if(y.video.indexOf(h.id)===-1)return void this.log_.debug("skip this invalid video track: ".concat(_.id," msid: ").concat(h.id))}Ie.logEvent({eventType:"ontrack",kind:_.kind});var b=!1,f=this.remoteStreams_.get(h.id),g=h.id===br?_t:Dt;if(ve(f)&&((f=new Zv({type:g,userId:this.userId_,client:this.client_})).setConnection(this),this.remoteStreams_.set(h.id,f),b=!0),f.setMediaStream(h),_.kind===Ce?f.updateAudioPlayingState(this.subscribeState_.audio):g===_t?f.updateVideoPlayingState(this.subscribeState_.video||this.subscribeState_.smallVideo):f.updateVideoPlayingState(this.subscribeState_.auxiliary),(g!==Dt||this.trackState_.auxiliary)&&(g!==_t||this.trackState_.audio||this.trackState_.video)){var I=this.client_.getSubscriptionManager();I&&I.hasAutoRecoveryFlag(this.userId_,g)||(b?this.emitter_.emit(tt.STREAM_ADDED,{stream:f}):this.emitter_.emit(tt.STREAM_UPDATED,{stream:f}))}}},{key:"addRRTRLine",value:function(d){var h=d.split(`\r
|
|
105
|
-
`),_=new Map;h.forEach(function(w,
|
|
106
|
-
`)}},{key:"addSPSDescription",value:function(d){var h=Fr(d);return h.media.forEach(function(_){_.type===xe&&_.fmtp.forEach(function(y){y.config+=";sps-pps-idr-in-keyframe=1"})}),mo(h)}},{key:"removeSDESDescription",value:function(d){var h=["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"],_=Fr(d);return _.media.forEach(function(y){y.ext=y.ext.filter(function(b){return!h.includes(b.uri)})}),mo(_)}},{key:"isSubscriptionStateNotChanged",value:function(d,h){return d.getType()===_t?(h==null?void 0:h.audio)===this.subscribeState_.audio&&(h==null?void 0:h.video)===this.subscribeState_.video&&this.isSubscribeSmall(h):d.getType()===Dt?!ve(h.video)&&this.subscribeState_.auxiliary===h.video:void 0}},{key:"isSubscribeSmall",value:function(d){return ve(d.smallVideo)&&!this.subscribeState_.smallVideo}},{key:"subscribe",value:(s=N(p().mark(function d(h,_){var y,b,f,g,I,w;return p().wrap(function(j){for(;;)switch(j.prev=j.next){case 0:if(j.prev=0,f=_.emitEvent,g=f===void 0||f,I=h.getType(),((y=this.peerConnection_)===null||y===void 0?void 0:y.connectionState)!==qN&&((b=this.peerConnection_)===null||b===void 0?void 0:b.connectionState)!==Zu){j.next=6;break}return j.next=6,this.waitForPeerConnectionConnected();case 6:if(!this.isSubscriptionStateNotChanged(h,_)){j.next=13;break}if(this.peerConnection_){j.next=11;break}return this.initialize(),j.next=11,this.connect();case 11:return g&&ve(_.smallVideo)&&this.emitter_.emit(tt.STREAM_SUBSCRIBED,{stream:h,result:!0}),j.abrupt("return",h);case 13:if(I===Ze?(ve(_.audio)||(this.subscribeState_.audio=_.audio),ve(_.video)||(this.subscribeState_.video=_.video),this.subscribeState_.smallVideo=(_==null?void 0:_.smallVideo)||!1,this.addEventInternal(this.subscribeState_.audio?_T:_m,this.subscribeState_.audio?"subscribe audio":"unsubscribe audio"),this.addEventInternal(this.subscribeState_.video?_T:_m,this.subscribeState_.video?"subscribe video":"unsubscribe video"),this.addEventInternal(this.subscribeState_.smallVideo?l6:d6,this.subscribeState_.smallVideo?"subscribe smallVideo":"unsubscribe smallVideo")):ve(_.video)||(this.subscribeState_.auxiliary=_.video),this.log_.info("subscribe ".concat(I," stream with options ").concat(JSON.stringify(_)," current state: ").concat(JSON.stringify(this.subscribeState_))),!this.peerConnection_&&!this.isSDPExchanging_){j.next=23;break}return w=tf,this.isMainStreamSubscribed||this.isAuxStreamSubscribed||(w=ef),j.next=20,this.sendSubscription(w);case 20:I===Ze?(h.updateAudioPlayingState(this.subscribeState_.audio),h.updateVideoPlayingState(this.subscribeState_.video||this.subscribeState_.smallVideo)):h.updateVideoPlayingState(this.subscribeState_.auxiliary),j.next=26;break;case 23:return this.initialize(),j.next=26,this.connect();case 26:return g&&this.emitter_.emit(tt.STREAM_SUBSCRIBED,{stream:h,result:!0}),j.abrupt("return",h);case 30:if(j.prev=30,j.t0=j.catch(0),!this.client_.getIsJoined()||!this.isStreamUnpublished(h)){j.next=35;break}throw this.log_.warn("".concat(j.t0.message," ").concat(JSON.stringify(this.trackState_))),new ee({code:Y.REMOTE_STREAM_NOT_EXIST,message:"remote user ".concat(this.userId_," unpublished stream")});case 35:throw j.t0;case 36:case"end":return j.stop()}},d,this,[[0,30]])})),function(d,h){return s.apply(this,arguments)})},{key:"unsubscribe",value:(a=N(p().mark(function d(h){var _,y,b;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if((_=h.getType())!==Ze){f.next=10;break}if(this.isMainStreamSubscribed){f.next=5;break}return this.log_.info("main stream already unsubscribed"),f.abrupt("return",h);case 5:this.subscribeState_.audio=!1,this.subscribeState_.video=!1,this.subscribeState_.smallVideo=!1,f.next=14;break;case 10:if(this.isAuxStreamSubscribed){f.next=13;break}return this.log_.info("auxiliary stream already unsubscribed"),f.abrupt("return",h);case 13:this.subscribeState_.auxiliary=!1;case 14:return y=ef,(_===_t&&this.isAuxStreamSubscribed||_===Dt&&this.isMainStreamSubscribed)&&(y=tf),this.log_.info("unsubscribe ".concat(_," stream with ").concat(JSON.stringify(this.subscribeState_))),f.next=19,this.sendSubscription(y);case 19:return h.updateVideoPlayingState(!1),h.updateAudioPlayingState(!1),y===ef&&((b=h.getMediaStream())&&b.getTracks().forEach(function(g){return b.removeTrack(g)}),this.closePeerConnection(),this.emitConnectionStateChangedEvent(sn)),this.addEventInternal(_m,"unsubscribe audio"),this.addEventInternal(jU,"unsubscribe video"),f.abrupt("return",h);case 25:case"end":return f.stop()}},d,this)})),function(d){return a.apply(this,arguments)})},{key:"sendSubscription",value:function(d){var h=this,_={srcTinyId:this.tinyId_,srcUserId:this.userId_},y=IU,b=vt.UNSUBSCRIBE_RESULT;return d===tf&&(_={audio:this.subscribeState_.audio,bigVideo:this.subscribeState_.video,auxVideo:this.subscribeState_.auxiliary,smallVideo:this.subscribeState_.smallVideo,srcTinyId:this.tinyId_},y=wU,b=vt.SUBSCRIBE_CHANGE_RESULT),this.signalChannel_.sendWaitForResponse({command:y,data:_,responseCommand:b,timeout:1e4}).then(function(f){var g=f.data;if(g.code!==0){var I=new ee({code:g.code,message:ne({key:T3,data:{type:d,message:g.message}})});throw h.log_.error(I),I}})}},{key:"connect",value:(o=N(p().mark(function d(){return p().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return h.prev=0,h.next=3,this.exchangeSDP();case 3:return h.next=5,this.waitForPeerConnectionConnected();case 5:h.next=11;break;case 7:throw h.prev=7,h.t0=h.catch(0),this.closePeerConnection(!0),h.t0;case 11:case"end":return h.stop()}},d,this,[[0,7]])})),function(){return o.apply(this,arguments)})},{key:"exchangeSDP",value:(i=N(p().mark(function d(){var h,_,y,b,f,g;return p().wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return I.prev=0,this.isSDPExchanging_=!0,I.next=4,this.createOffer();case 4:return this.log_.info("createOffer success, sending offer to remote server"),h=this.peerConnection_.localDescription,_=h.type,y=h.sdp,b={type:_,sdp:y,srcUserId:this.userId_,srcTinyId:this.tinyId_,audio:this.subscribeState_.audio,bigVideo:this.subscribeState_.video,auxVideo:this.subscribeState_.auxiliary,smallVideo:this.subscribeState_.smallVideo},q.emit(cm,{client:this.client_,connection:this,userId:this.userId_,tinyId:this.tinyId_,role:ao,subscribeState:this.subscribeState_,trackState:this.trackState_}),I.next=10,this.signalChannel_.sendWaitForResponse({command:xU,commandDesc:"exchange sdp",data:b,responseCommand:vt.SUBSCRIBE_RESULT,timeout:1e4});case 10:if(f=I.sent,this.peerConnection_){I.next=15;break}throw g=new ee({code:Y.INVALID_OPERATION,message:ne({key:W4})}),this.log_.warn(g),g;case 15:return I.next=17,this.onSubscribeResult(f);case 17:this.isSDPExchanging_=!1,I.next=24;break;case 20:throw I.prev=20,I.t0=I.catch(0),this.isSDPExchanging_=!1,I.t0;case 24:case"end":return I.stop()}},d,this,[[0,20]])})),function(){return i.apply(this,arguments)})},{key:"createOffer",value:(r=N(p().mark(function d(){var h,_;return p().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:return h={voiceActivityDetection:!1},Pm()&&this.sdpSemantics_===$s?(this.peerConnection_.addTransceiver(Ce,{direction:"recvonly"}),this.peerConnection_.addTransceiver(xe,{direction:"recvonly"}),this.peerConnection_.addTransceiver(xe,{direction:"recvonly"})):(h.offerToReceiveAudio=!0,h.offerToReceiveVideo=!0),y.next=4,this.peerConnection_.createOffer(h);case 4:return _=y.sent,y.next=7,DT();case 7:return y.sent.isH264DecodeSupported||(this.log_.warn("remove h264 desc from sdp"),_.sdp=I6(_.sdp)),_.sdp=this.addRRTRLine(_.sdp),_.sdp=this.addSPSDescription(_.sdp),_.sdp=x6(_.sdp),this.sdpSemantics_===$s&&(_.sdp=this.removeSDESDescription(_.sdp)),y.next=16,this.peerConnection_.setLocalDescription(_);case 16:case"end":return y.stop()}},d,this)})),function(){return r.apply(this,arguments)})},{key:"onSubscribeResult",value:(n=N(p().mark(function d(h){var _,y,b,f,g,I,w,j=this;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(_=h&&h.data||{},y=_.code,b=_.message,f=b===void 0?"":b,g=h&&h.data&&h.data.data||{},I=g.type,w=g.sdp,y!==77393){z.next=5;break}throw this.log_.error(vi.NOT_SUPPORTED_H264DECODE),new ee({code:Y.NOT_SUPPORTED_H264,message:ne({key:vk})});case 5:if(z.prev=5,y===0){z.next=8;break}throw new ee({code:y,message:ne({key:w3,data:{errMsg:f}})});case 8:return this.log_.debug("accept remote answer: "+w),z.next=11,this.peerConnection_.setRemoteDescription({type:I,sdp:w});case 11:this.sei_&&(this.sei_.handleEncodedStreams(),this.sei_.onSEIMessage=function($){j.emitter_.emit(tt.SEI_MESSAGE,H(H({},$),{},{userId:j.userId_}))}),this.updateSSRC(w),z.next=19;break;case 15:throw z.prev=15,z.t0=z.catch(5),this.log_.error(z.t0),z.t0;case 19:case"end":return z.stop()}},d,this,[[5,15]])})),function(d){return n.apply(this,arguments)})},{key:"updateSSRC",value:function(d){var h=this;try{Fr(d).media.forEach(function(_){if(_.type===Ce){var y=_.ssrcs.find(function(g){return g.value.includes(br)});y&&(h.ssrc_.audio=y.id)}else{var b=_.ssrcs.find(function(g){return g.value.includes(br)}),f=_.ssrcs.find(function(g){return g.value.includes(Qs)});b&&(h.ssrc_.video=b.id),f&&(h.ssrc_.auxiliary=f.id)}})}catch(_){}}},{key:"setRemoteStream",value:function(d,h){this.remoteStreams_.set(d,h)}},{key:"getSubscribeState",value:function(){return this.subscribeState_}},{key:"getTrackState",value:function(){return this.trackState_}},{key:"getSSRC",value:function(){return this.ssrc_}},{key:"getMainStream",value:function(){return this.remoteStreams_.get(br)}},{key:"getAuxStream",value:function(){return this.remoteStreams_.get(Qs)}},{key:"getMainStreamVideoTrackId",value:function(){var d=this.getMainStream();if(d){var h=d.getVideoTrack();if(h)return h.id}return""}},{key:"getAuxStreamVideoTrackId",value:function(){var d=this.getAuxStream();if(d){var h=d.getVideoTrack();if(h)return h.id}return""}},{key:"reconnect",value:(t=N(p().mark(function d(){var h,_,y=this;return p().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(this.reconnectionTimer_===-1){b.next=3;break}return this.log_.warn("reconnect() downlink is reconnecting, ignore current reconnection"),b.abrupt("return");case 3:if(!(this.reconnectionCount_>=30)){b.next=12;break}return this.log_.warn("SDK has tried reconnect downlink [".concat(this.userId_,"] for ").concat(30," times, but all failed, please check your network")),this.stopReconnection(),h=new ee({code:Y.DOWNLINK_RECONNECTION_FAILED,message:ne({key:I3})}),Ie.logFailedEvent({userId:this.client_.getUserId(),eventType:Lb,error:h}),this.addEventInternal(u6,"downlink-connection reconnect fail"),this.emitConnectionStateChangedEvent(sn),this.emitter_.emit(tt.ERROR,h),b.abrupt("return");case 12:if(this.signalChannel_.getCurrentState()===cc){b.next=16;break}return this.log_.warn("reconnect() signal channel is not connected, suspend reconnection until signal is connected"),this.signalChannel_.once(sc,this.reconnect,this),b.abrupt("return");case 16:if(this.reconnectionCount_++,this.log_.warn("reconnect() try to reconnect downlink [".concat(this.reconnectionCount_,"/").concat(30,"]")),_=Mf(this.reconnectionCount_),this.reconnectionTimer_=setTimeout(function(){y.log_.warn("reconnect() downlink [".concat(y.userId_,"] reconnect timeout(").concat(_/1e3,"s), try again")),y.clearReconnectionTimer(),y.reconnect()},_),!(this.isSDPExchanging_||this.peerConnection_&&this.peerConnection_.connectionState===Zu)){b.next=22;break}return b.abrupt("return");case 22:return b.prev=22,this.closePeerConnection(),this.initialize(),b.next=27,this.connect();case 27:this.stopReconnection(),this.log_.warn("reconnect() downlink reconnect successfully"),Ie.logSuccessEvent({userId:this.client_.getUserId(),eventType:Lb}),this.addEventInternal(c6,"downlink-connection reconnect success"),this.recoverSubscription(),b.next=36;break;case 34:b.prev=34,b.t0=b.catch(22);case 36:case"end":return b.stop()}},d,this,[[22,34]])})),function(){return t.apply(this,arguments)})},{key:"recoverSubscription",value:function(){var d=this,h=this.client_.getSubscriptionManager();h&&be(this.remoteStreams_.values()).forEach(function(_){h.hasAutoRecoveryFlag(d.userId_,_.getType())&&h.recover(_)})}},{key:"getIsReconnecting",value:function(){return this.isReconnecting_}},{key:"getSubscribedMainStream",value:function(){var d=null;return this.isMainStreamSubscribed&&(d=this.remoteStreams_.get(br)),d}},{key:"clearReconnectionTimer",value:function(){this.reconnectionTimer_!==-1&&(clearTimeout(this.reconnectionTimer_),this.reconnectionTimer_=-1)}},{key:"startReconnection",value:function(){var d=this.client_.getSubscriptionManager();if(d){var h,_=ie(this.remoteStreams_.values());try{for(_.s();!(h=_.n()).done;){var y=h.value,b=y.getType();(b===_t&&(this.trackState_.audio||this.trackState_.video)||b===Dt&&this.trackState_.auxiliary)&&d.setAutoRecoveryFlag(this.userId_,y.getType())}}catch(f){_.e(f)}finally{_.f()}}se($e(u.prototype),"startReconnection",this).call(this)}},{key:"getCurrentState",value:function(){return this.currentState_}},{key:"hasMainStream",value:function(){return this.trackState_.video||this.trackState_.audio||this.trackState_.smallVideo}},{key:"hasAuxStream",value:function(){return this.trackState_.auxiliary}}]),u}(Qv),W(or.prototype,"subscribe",[$I,ZI],Object.getOwnPropertyDescriptor(or.prototype,"subscribe"),or.prototype),W(or.prototype,"unsubscribe",[ew],Object.getOwnPropertyDescriptor(or.prototype,"unsubscribe"),or.prototype),W(or.prototype,"exchangeSDP",[tw],Object.getOwnPropertyDescriptor(or.prototype,"exchangeSDP"),or.prototype),or),pd=function(){function e(){J(this,e),this.startTime=0,this.endTime=0,this.start()}return ye(e,[{key:"start",value:function(){this.startTime===0&&(this.startTime=Pt())}},{key:"stop",value:function(){this.endTime===0&&(this.endTime=Pt())}},{key:"getDuration",value:function(){return this.endTime===0?Pt()-this.startTime:this.endTime-this.startTime}}]),e}(),B7=function(){function e(i){J(this,e),this.client_=i.client,this.intervalId_=-1,this.statsCalculator_=i.stats,this.prevStats_=null,this.renderFreezeMap_=new Map,this.remoteStreamMap_=new Map,this.dataFreezeMap_=new Map,this.monitorFreezeData_=new Map}var t,n,r;return ye(e,[{key:"installEvents",value:function(){q.on(rm,this.handlePlayVideoStart,this),q.on(ic,this.onVideoTrackMuted,this),q.on(em,this.onVideoTrackUnmuted,this),q.on(ia,this.handleStreamStopped,this),q.on(Br,this.handleStreamStopped,this),q.on(rc,this.handleVideoPlaying,this)}},{key:"uninstallEvents",value:function(){q.off(rm,this.handlePlayVideoStart,this),q.off(ic,this.onVideoTrackMuted,this),q.off(em,this.onVideoTrackUnmuted,this),q.off(ia,this.handleStreamStopped,this),q.off(Br,this.handleStreamStopped,this),q.off(rc,this.handleVideoPlaying,this)}},{key:"start",value:function(){var i=this;this.intervalId_===-1&&(this.installEvents(),this.intervalId_=yt.run(N(p().mark(function o(){return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,i.detectFPS();case 3:a.next=7;break;case 5:a.prev=5,a.t0=a.catch(0);case 7:case"end":return a.stop()}},o,null,[[0,5]])})),{delay:1e3}))}},{key:"stop",value:function(){this.intervalId_!==-1&&(this.uninstallEvents(),yt.clearTask(this.intervalId_),this.intervalId_=-1,this.renderFreezeMap_.clear(),this.dataFreezeMap_.clear(),this.remoteStreamMap_.clear())}},{key:"onVideoTrackMuted",value:function(i){var o=i.stream;if(o.getClient()===this.client_&&o.isRemote()){var a=o.userId_,s=o.type_,c="".concat(a,"_").concat(s),u=this.dataFreezeMap_.get(c),d=new pd;u?u.durationItemList.push(d):this.dataFreezeMap_.set(c,{userId:a,type:s,durationItemList:[d],isFreezing:function(){var h=this.durationItemList[this.durationItemList.length-1];return h&&h.endTime===0}})}}},{key:"onVideoTrackUnmuted",value:function(i){var o=i.stream;if(o.getClient()===this.client_&&o.isRemote()){var a=o.userId_,s=o.type_,c="".concat(a,"_").concat(s);this.stopDataFreeze({key:c,userId:a,type:s})}}},{key:"handleStreamStopped",value:function(i){var o=i.client,a=i.stream;if(o===this.client_){var s=a.getUserId(),c=a.getType(),u="".concat(s,"_").concat(c);this.stopDataFreeze({key:u,userId:s,type:c})}}},{key:"stopDataFreeze",value:function(i){var o=i.key,a=i.userId,s=i.type,c=this.dataFreezeMap_.get(o);if(c&&c.isFreezing()){var u=c.durationItemList[c.durationItemList.length-1];u.stop();var d=u.getDuration();d>500?(Ie.logEvent({eventType:"videoFrozenCount",delta:d}),this.monitorFreezeData_.set(o,{userId:a,type:s,duration:d})):c.durationItemList.pop()}}},{key:"getTotalDuration",value:function(i){return i.reduce(function(o,a){var s=a.getDuration();return o+Math.min(s,5e3)},0)}},{key:"getStats",value:(r=N(p().mark(function i(){var o,a,s,c,u,d,h,_,y,b,f;return p().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:o=this.client_.getConnections(),a={},s=ie(o),g.prev=3,s.s();case 5:if((c=s.n()).done){g.next=20;break}if(u=Te(c.value,2),d=u[0],(h=u[1]).getPeerConnection()){g.next=9;break}return g.abrupt("continue",18);case 9:return _=h.getSubscribeState(),y=h.getTrackState(),g.next=13,this.statsCalculator_.getReceiverStats(h);case 13:b=g.sent,(f={userId:b.userId,tinyId:d,hasVideo:y.video&&_.video,hasAuxiliary:y.auxiliary&&_.auxiliary,video:{framesDecoded:0},auxiliary:{framesDecoded:0}}).hasVideo&&(f.video.framesDecoded=b.video.framesDecoded),f.hasAuxiliary&&(f.auxiliary.framesDecoded=b.auxiliary.framesDecoded),a[b.userId]=f;case 18:g.next=5;break;case 20:g.next=25;break;case 22:g.prev=22,g.t0=g.catch(3),s.e(g.t0);case 25:return g.prev=25,s.f(),g.finish(25);case 28:return g.abrupt("return",a);case 29:case"end":return g.stop()}},i,this,[[3,22,25,28]])})),function(){return r.apply(this,arguments)})},{key:"detectFPS",value:(n=N(p().mark(function i(){var o,a,s,c,u,d;return p().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return h.next=2,this.getStats();case 2:if(o=h.sent,this.prevStats_){h.next=6;break}return this.prevStats_=o,h.abrupt("return");case 6:h.t0=p().keys(o);case 7:if((h.t1=h.t0()).done){h.next=17;break}if(a=h.t1.value,this.prevStats_[a]){h.next=11;break}return h.abrupt("continue",7);case 11:s=o[a].tinyId,c=this.client_.getMutedStates(),o[a].hasVideo&&this.prevStats_[a].hasVideo&&c.has(s)&&!c.get(s).videoMuted&&(u=o[a].video.framesDecoded-this.prevStats_[a].video.framesDecoded,this.handleRenderFreeze({userId:a,type:_t,fps:u})),o[a].hasAuxiliary&&this.prevStats_[a].hasAuxiliary&&(d=o[a].auxiliary.framesDecoded-this.prevStats_[a].auxiliary.framesDecoded,this.handleRenderFreeze({userId:a,type:Dt,fps:d})),h.next=7;break;case 17:this.prevStats_=o;case 18:case"end":return h.stop()}},i,this)})),function(){return n.apply(this,arguments)})},{key:"handleRenderFreeze",value:(t=N(p().mark(function i(o){var a,s,c,u,d,h,_,y;return p().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:a=o.userId,s=o.fps,c=o.type,u="".concat(a,"_").concat(c),d=this.renderFreezeMap_.get(u),s<=2?(h=Pt(),d&&!d.isFreeze&&(d.freezeTimeline.push({startTime:h,endTime:void 0}),d.isFreeze=!0),d||this.renderFreezeMap_.set(u,{userId:a,type:c,isFreeze:!0,freezeTimeline:[{startTime:h,endTime:void 0}],renderFreezeTotal:0})):d&&d.isFreeze&&(d.isFreeze=!1,(_=d.freezeTimeline.pop()).endTime=Pt(),y=_.endTime-_.startTime,d.freezeTimeline.push(_),d.renderFreezeTotal+=Math.min(5e3,y));case 4:case"end":return b.stop()}},i,this)})),function(i){return t.apply(this,arguments)})},{key:"handlePlayVideoStart",value:function(i){var o=i.stream;if(o.getClient()===this.client_&&o.isRemote()&&o.hasVideo()){var a="".concat(o.getUserId(),"_").concat(o.getType());this.remoteStreamMap_.has(a)||this.remoteStreamMap_.set(a,{isPlayingFired:!1})}}},{key:"handleVideoPlaying",value:function(i){var o=i.stream;if(o.isRemote()&&o.getClient()===this.client_){var a="".concat(o.getUserId(),"_").concat(o.getType());this.remoteStreamMap_.has(a)&&(this.remoteStreamMap_.get(a).isPlayingFired=!0)}}},{key:"getDataFreezeDuration",value:function(i){var o={dataFreeze:0,count:0},a=this.dataFreezeMap_.get(i);if(a){if(a.isFreezing()){var s=a.durationItemList[a.durationItemList.length-1];s.stop(),s.getDuration()<500&&a.durationItemList.pop()}o.dataFreeze=this.getTotalDuration(a.durationItemList),o.count=a.durationItemList.length}return o}},{key:"getRenderFreezeDuration",value:function(i){var o=this.renderFreezeMap_.get(i),a=0,s=0;if(o)if(o.isFreeze){var c=Pt()-o.freezeTimeline[o.freezeTimeline.length-1].startTime;a=o.renderFreezeTotal+Math.min(c,5e3),s=o.freezeTimeline.length}else a=o.renderFreezeTotal;return{renderFreeze:a,count:s}}},{key:"getMonitorFreeze",value:function(){return this.monitorFreezeData_}},{key:"isBlackStream",value:function(i){return!!this.remoteStreamMap_.has(i)&&!this.remoteStreamMap_.get(i).isPlayingFired}},{key:"resetMonitor",value:function(){this.monitorFreezeData_.clear()}}]),e}(),sg=ye(function e(t){J(this,e),this.userId=t.userId,this.tinyId=t.tinyId,this.role=t.role===ao?Sr:qi}),rw={exports:{}};(function(e){(function(t){function n(g,I){var w=(65535&g)+(65535&I);return(g>>16)+(I>>16)+(w>>16)<<16|65535&w}function r(g,I,w,j,z,$){return n((ue=n(n(I,g),n(j,$)))<<(L=z)|ue>>>32-L,w);var ue,L}function i(g,I,w,j,z,$,ue){return r(I&w|~I&j,g,I,z,$,ue)}function o(g,I,w,j,z,$,ue){return r(I&j|w&~j,g,I,z,$,ue)}function a(g,I,w,j,z,$,ue){return r(I^w^j,g,I,z,$,ue)}function s(g,I,w,j,z,$,ue){return r(w^(I|~j),g,I,z,$,ue)}function c(g,I){var w,j,z,$,ue;g[I>>5]|=128<<I%32,g[14+(I+64>>>9<<4)]=I;var L=1732584193,k=-271733879,P=-1732584194,A=271733878;for(w=0;w<g.length;w+=16)j=L,z=k,$=P,ue=A,L=i(L,k,P,A,g[w],7,-680876936),A=i(A,L,k,P,g[w+1],12,-389564586),P=i(P,A,L,k,g[w+2],17,606105819),k=i(k,P,A,L,g[w+3],22,-1044525330),L=i(L,k,P,A,g[w+4],7,-176418897),A=i(A,L,k,P,g[w+5],12,1200080426),P=i(P,A,L,k,g[w+6],17,-1473231341),k=i(k,P,A,L,g[w+7],22,-45705983),L=i(L,k,P,A,g[w+8],7,1770035416),A=i(A,L,k,P,g[w+9],12,-1958414417),P=i(P,A,L,k,g[w+10],17,-42063),k=i(k,P,A,L,g[w+11],22,-1990404162),L=i(L,k,P,A,g[w+12],7,1804603682),A=i(A,L,k,P,g[w+13],12,-40341101),P=i(P,A,L,k,g[w+14],17,-1502002290),L=o(L,k=i(k,P,A,L,g[w+15],22,1236535329),P,A,g[w+1],5,-165796510),A=o(A,L,k,P,g[w+6],9,-1069501632),P=o(P,A,L,k,g[w+11],14,643717713),k=o(k,P,A,L,g[w],20,-373897302),L=o(L,k,P,A,g[w+5],5,-701558691),A=o(A,L,k,P,g[w+10],9,38016083),P=o(P,A,L,k,g[w+15],14,-660478335),k=o(k,P,A,L,g[w+4],20,-405537848),L=o(L,k,P,A,g[w+9],5,568446438),A=o(A,L,k,P,g[w+14],9,-1019803690),P=o(P,A,L,k,g[w+3],14,-187363961),k=o(k,P,A,L,g[w+8],20,1163531501),L=o(L,k,P,A,g[w+13],5,-1444681467),A=o(A,L,k,P,g[w+2],9,-51403784),P=o(P,A,L,k,g[w+7],14,1735328473),L=a(L,k=o(k,P,A,L,g[w+12],20,-1926607734),P,A,g[w+5],4,-378558),A=a(A,L,k,P,g[w+8],11,-2022574463),P=a(P,A,L,k,g[w+11],16,1839030562),k=a(k,P,A,L,g[w+14],23,-35309556),L=a(L,k,P,A,g[w+1],4,-1530992060),A=a(A,L,k,P,g[w+4],11,1272893353),P=a(P,A,L,k,g[w+7],16,-155497632),k=a(k,P,A,L,g[w+10],23,-1094730640),L=a(L,k,P,A,g[w+13],4,681279174),A=a(A,L,k,P,g[w],11,-358537222),P=a(P,A,L,k,g[w+3],16,-722521979),k=a(k,P,A,L,g[w+6],23,76029189),L=a(L,k,P,A,g[w+9],4,-640364487),A=a(A,L,k,P,g[w+12],11,-421815835),P=a(P,A,L,k,g[w+15],16,530742520),L=s(L,k=a(k,P,A,L,g[w+2],23,-995338651),P,A,g[w],6,-198630844),A=s(A,L,k,P,g[w+7],10,1126891415),P=s(P,A,L,k,g[w+14],15,-1416354905),k=s(k,P,A,L,g[w+5],21,-57434055),L=s(L,k,P,A,g[w+12],6,1700485571),A=s(A,L,k,P,g[w+3],10,-1894986606),P=s(P,A,L,k,g[w+10],15,-1051523),k=s(k,P,A,L,g[w+1],21,-2054922799),L=s(L,k,P,A,g[w+8],6,1873313359),A=s(A,L,k,P,g[w+15],10,-30611744),P=s(P,A,L,k,g[w+6],15,-1560198380),k=s(k,P,A,L,g[w+13],21,1309151649),L=s(L,k,P,A,g[w+4],6,-145523070),A=s(A,L,k,P,g[w+11],10,-1120210379),P=s(P,A,L,k,g[w+2],15,718787259),k=s(k,P,A,L,g[w+9],21,-343485551),L=n(L,j),k=n(k,z),P=n(P,$),A=n(A,ue);return[L,k,P,A]}function u(g){var I,w="",j=32*g.length;for(I=0;I<j;I+=8)w+=String.fromCharCode(g[I>>5]>>>I%32&255);return w}function d(g){var I,w=[];for(w[(g.length>>2)-1]=void 0,I=0;I<w.length;I+=1)w[I]=0;var j=8*g.length;for(I=0;I<j;I+=8)w[I>>5]|=(255&g.charCodeAt(I/8))<<I%32;return w}function h(g){var I,w,j="0123456789abcdef",z="";for(w=0;w<g.length;w+=1)I=g.charCodeAt(w),z+=j.charAt(I>>>4&15)+j.charAt(15&I);return z}function _(g){return unescape(encodeURIComponent(g))}function y(g){return function(I){return u(c(d(I),8*I.length))}(_(g))}function b(g,I){return function(w,j){var z,$,ue=d(w),L=[],k=[];for(L[15]=k[15]=void 0,ue.length>16&&(ue=c(ue,8*w.length)),z=0;z<16;z+=1)L[z]=909522486^ue[z],k[z]=1549556828^ue[z];return $=c(L.concat(d(j)),512+8*j.length),u(c(k.concat($),640))}(_(g),_(I))}function f(g,I,w){return I?w?b(I,g):h(b(I,g)):w?y(g):h(y(g))}e.exports?e.exports=f:t.md5=f})(ae)})(rw);var fd=rw.exports,j7=function(){function e(o){J(this,e),this.client_=o.client,this.signalChannel_=o.signalChannel,this.log_=ke.createLogger({id:"mix|"+this.client_.getUserId(),userId:o.client.getUserId(),sdkAppId:o.client.getSDKAppId()}),this.isMixing_=!1,this.config_=null,this.data_=null,this.remoteStreamMap_=new Map,this.installEvents()}var t,n,r,i;return ye(e,[{key:"isPresetLayoutMode",get:function(){return this.config_&&this.config_.mode===rf.PRESET_LAYOUT}},{key:"installEvents",value:function(){q.on(Ur,this.onStreamSubscribed,this),q.on(Br,this.onStreamUnsubscribed,this),this.client_.on("stream-removed",this.onStreamRemoved,this)}},{key:"uninstallEvents",value:function(){q.off(Ur,this.onStreamSubscribed,this),q.off(Br,this.onStreamUnsubscribed,this),this.client_.off("stream-removed",this.onStreamRemoved,this)}},{key:"reset",value:function(){this.uninstallEvents(),this.isMixing_=!1,this.config_=null}},{key:"onStreamSubscribed",value:function(o){var a=o.client,s=o.stream;a===this.client_&&(this.remoteStreamMap_.set(s.getId(),{remoteStream:s,isUsed:!1}),this.isMixing_&&this.hasAvailablePlaceHolder()&&this.startMixTranscode(this.config_))}},{key:"onStreamUnsubscribed",value:function(o){var a=o.client,s=o.stream;a===this.client_&&this.onStreamRemoved({stream:s})}},{key:"onStreamRemoved",value:function(o){var a=o.stream;if(this.remoteStreamMap_.has(a.getId())){var s=this.remoteStreamMap_.get(a.getId()).isUsed;this.remoteStreamMap_.delete(a.getId()),this.isMixing_&&this.isPresetLayoutMode&&s&&this.startMixTranscode(this.config_)}}},{key:"startMixTranscode",value:(i=N(p().mark(function o(a){var s,c,u;return p().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:if(d.prev=0,this.resetIsUsedFlag(),this.config_=a,s=this.getInputParam(a,this.remoteStreamMap_),c=this.getOutputParam(a),u=this.getOutputSessionId({config:a,roomId:this.client_.getRoomId(),userId:this.client_.getUserId()}),!this.isMixing_||!this.data_||u===this.data_.outputSessionId){d.next=10;break}return this.log_.info("startMixTranscode() streamId changed, stop mixing before start"),d.next=10,this.doStopMixTranscode();case 10:return d.next=12,this.doStartMixTranscode({outputSessionId:u,inputParam:s,outputParam:c});case 12:d.next=18;break;case 14:throw d.prev=14,d.t0=d.catch(0),this.resetIsUsedFlag(),d.t0;case 18:case"end":return d.stop()}},o,this,[[0,14]])})),function(o){return i.apply(this,arguments)})},{key:"doStartMixTranscode",value:(r=N(p().mark(function o(a){var s,c,u,d,h,_,y,b;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return s=a.outputSessionId,c=a.inputParam,u=a.outputParam,d={roomId:String(this.client_.getRoomId()),mcuRequestTime:Date.now(),outputSessionId:s,inputParam:c,outputParam:u},this.data_=d,this.log_.info("startMixTranscode: ".concat(JSON.stringify(d))),this.isMixing_=!0,f.prev=5,f.next=8,this.signalChannel_.sendWaitForResponse({command:PU,data:d,timeout:5e3,responseCommand:vt.START_MIX_TRANSCODE_RES,commandDesc:"startMixTranscode"});case 8:if(h=f.sent,_=h.data,y=_.code,b=_.message,y===0){f.next=15;break}throw y===-102083&&(b="Please enable relayed-push in ".concat($b," and try later, refer to ").concat(uf,"tutorial-26-advanced-publish-cdn-stream.html")),this.log_.error("startMixTranscode failed, errCode: ".concat(y," errMsg: ").concat(b)),this.isMixing_=!1,new ee({code:Y.START_MIX_TRANSCODE_FAILED,message:ne({key:b4,data:{message:b},link:{className:"Client",fnName:"startMixTranscode"}})});case 15:f.next=21;break;case 17:throw f.prev=17,f.t0=f.catch(5),this.isMixing_=!1,f.t0;case 21:case"end":return f.stop()}},o,this,[[5,17]])})),function(o){return r.apply(this,arguments)})},{key:"reStartMixTranscode",value:function(){this.isMixing_&&this.startMixTranscode(this.config_)}},{key:"stopMixTranscode",value:(n=N(p().mark(function o(){return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(this.isMixing_){a.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:T4})});case 2:return a.next=4,this.doStopMixTranscode();case 4:this.resetIsUsedFlag();case 5:case"end":return a.stop()}},o,this)})),function(){return n.apply(this,arguments)})},{key:"doStopMixTranscode",value:(t=N(p().mark(function o(){var a,s,c,u,d;return p().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return a={mcuRequestTime:Date.now(),outputSessionId:this.data_.outputSessionId,streamType:this.data_.outputParam.streamType},this.log_.info("stopMixTranscode: ".concat(JSON.stringify(a))),h.next=4,this.signalChannel_.sendWaitForResponse({command:DU,data:a,timeout:5e3,responseCommand:vt.STOP_MIX_TRANSCODE_RES,commandDesc:"stopMixTranscode"});case 4:if(s=h.sent,c=s.data,u=c.code,d=c.message,u!==0){h.next=10;break}this.isMixing_=!1,h.next=12;break;case 10:throw this.log_.error("stopMixTranscode failed, errCode: ".concat(u," errMsg: ").concat(d)),new ee({code:Y.STOP_MIX_TRANSCODE_FAILED,message:ne({key:k4,data:{message:d},link:{className:"Client",fnName:"stopMixTranscode"}})});case 12:case"end":return h.stop()}},o,this)})),function(){return t.apply(this,arguments)})},{key:"getOutputSessionId",value:function(o){var a=o.config,s=o.userId,c=o.roomId;return Ft(a.streamId)&&a.streamId.length>0?a.streamId:fd("".concat(c,"_").concat(s,"_main"))}},{key:"getInputParam",value:function(o,a){var s=this,c=o.mixUsers.map(function(u){return{userId:u.userId,roomId:String(u.roomId||s.client_.getRoomId()),width:u.width||0,height:u.height||0,locationX:u.locationX||0,locationY:u.locationY||0,zOrder:u.zOrder,streamType:ve(u.streamType)||u.streamType!==Dt?0:1,inputType:u.pureAudio?zb.IT_PURE_AUDIO:zb.IT_AUDIO_VIDEO,renderMode:u.renderMode||0}});return o.mode===rf.PRESET_LAYOUT&&(c.forEach(function(u){if(u.userId===Hb.REMOTE){var d=be(a.values()).find(function(h){return!h.isUsed});d&&(u.userId=d.remoteStream.getUserId(),u.streamType=d.remoteStream.getType()===Dt?1:0,d.isUsed=!0)}}),c=c.filter(function(u){return u.userId!==Hb.REMOTE})),c}},{key:"getOutputParam",value:function(o){var a=o.streamId||"";return{streamId:a,streamType:a.length>0?1:0,width:ve(o.videoWidth)?640:o.videoWidth,height:ve(o.videoHeight)?480:o.videoHeight,videoBps:o.videoBitrate||0,fps:o.videoFramerate||15,gop:o.videoGOP||2,audioSampleRate:o.audioSampleRate||48e3,audioBps:o.audioBitrate||64,audioChannels:o.audioChannels||1,backgroundColor:o.backgroundColor||0,backgroundImg:o.backgroundImage||"",extraInfo:"",videoCodec:2,audioCodec:0}}},{key:"hasAvailablePlaceHolder",value:function(){return!!this.isPresetLayoutMode&&this.data_.inputParam.length!==this.config_.mixUsers.length}},{key:"resetIsUsedFlag",value:function(){this.remoteStreamMap_.forEach(function(o){return o.isUsed=!1})}}]),e}(),F7=function(){function e(s){J(this,e),this.client_=s.client,this.signalChannel_=s.signalChannel,this.publishTencentMainStreamObj_={params_:null,streamId_:void 0,isPublishing_:!1},this.publishTencentAuxStreamObj_={params_:null,streamId_:void 0,isPublishing_:!1},this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1}var t,n,r,i,o,a;return ye(e,[{key:"setSignalChannel",value:function(s){this.signalChannel_=s.signalChannel}},{key:"getIsPublishingTencentCDN",value:function(){return this.publishTencentMainStreamObj_.isPublishing_||this.publishTencentAuxStreamObj_.isPublishing_}},{key:"getIsPublishingGivenCDN",value:function(){return this.isPublishingGivenCDN_}},{key:"generatePublishCDNStreamId",value:function(s,c){if(!s){var u="".concat(this.client_.getRoomId(),"_").concat(this.client_.getUserId(),"_").concat(c);return/^[A-Za-z\d_-]*$/.test(u)||(u=fd(u)),"".concat(this.client_.getSDKAppId(),"_").concat(u)}return s}},{key:"generatePublishCDNSessionId",value:function(s){return fd("".concat(this.client_.getRoomId(),"_").concat(this.client_.getUserId(),"_").concat(s))}},{key:"startPublishTencentCDN",value:(a=N(p().mark(function s(c){var u,d,h,_;return p().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:if(c.streamType===Vn?(this.publishTencentAuxStreamObj_.params_=c,this.publishTencentAuxStreamObj_.isPublishing_=!0):(this.publishTencentMainStreamObj_.params_=c,this.publishTencentMainStreamObj_.isPublishing_=!0),this.client_.isJoined_){y.next=3;break}return y.abrupt("return");case 3:return u=this.generatePublishCDNStreamId(c.streamId,c.streamType),d=this.generatePublishCDNSessionId(c.streamType),h=c.streamType===Vn?1:0,_={requestTime:Date.now(),sessionId:d,streamId:u,streamType:h},y.next=9,this.doStartPublishTencentCDN(_,c.streamType);case 9:case"end":return y.stop()}},s,this)})),function(s){return a.apply(this,arguments)})},{key:"doStartPublishTencentCDN",value:(o=N(p().mark(function s(c,u){var d,h,_,y;return p().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return b.prev=0,ke.info("startPublishTencentCDN: "+JSON.stringify(c)),b.next=4,this.signalChannel_.sendWaitForResponseWithRetry({command:EU,data:c,timeout:2e3,responseCommand:vt.START_PUBLISH_TENCENT_CDN_RES,commandDesc:"startPublishCDNStream",retries:2});case 4:if(d=b.sent,h=d.data,_=h.code,y=h.message,_!==0){b.next=10;break}u===Vn?this.publishTencentAuxStreamObj_.streamId_=c.streamId:this.publishTencentMainStreamObj_.streamId_=c.streamId,b.next=14;break;case 10:throw u===Vn?this.publishTencentAuxStreamObj_.isPublishing_=!1:this.publishTencentMainStreamObj_.isPublishing_=!1,_===-102083&&(y="Please enable relayed-push in ".concat($b," and try later, refer to ").concat(uf,"tutorial-26-advanced-publish-cdn-stream.html")),ke.error("startPublishTencentCDN failed, errCode: ".concat(_,", errMsg: ").concat(y)),new ee({code:Y.START_PUBLISH_CDN_FAILED,message:ne({key:uk,data:{message:y},link:{className:"Client",fnName:"startPublishCDNStream"}})});case 14:b.next=20;break;case 16:throw b.prev=16,b.t0=b.catch(0),u===Vn?this.publishTencentAuxStreamObj_.isPublishing_=!1:this.publishTencentMainStreamObj_.isPublishing_=!1,b.t0;case 20:case"end":return b.stop()}},s,this,[[0,16]])})),function(s,c){return o.apply(this,arguments)})},{key:"resetPublishTencentParam",value:function(s){s===Ze&&(this.publishTencentMainStreamObj_={params_:null,streamId_:void 0,isPublishing_:!1}),s===Vn&&(this.publishTencentAuxStreamObj_={params_:null,streamId_:void 0,isPublishing_:!1})}},{key:"stopPublishTencentCDN",value:(i=N(p().mark(function s(){return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.client_.isJoined_){c.next=4;break}return this.resetPublishTencentParam(Ze),this.resetPublishTencentParam(Vn),c.abrupt("return");case 4:if(!this.publishTencentMainStreamObj_.isPublishing_){c.next=7;break}return c.next=7,this.doStopPublishTencentCDN(Ze);case 7:if(!this.publishTencentAuxStreamObj_.isPublishing_){c.next=10;break}return c.next=10,this.doStopPublishTencentCDN(Vn);case 10:case"end":return c.stop()}},s,this)})),function(){return i.apply(this,arguments)})},{key:"doStopPublishTencentCDN",value:(r=N(p().mark(function s(c){var u,d,h,_,y;return p().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return u={requestTime:Date.now(),sessionId:fd("".concat(this.client_.getRoomId(),"_").concat(this.client_.getUserId(),"_").concat(c))},ke.info("stopPublishTencentCDN: "+JSON.stringify(u)),b.next=4,this.signalChannel_.sendWaitForResponse({command:CU,data:u,timeout:5e3,responseCommand:vt.STOP_PUBLISH_TENCENT_CDN_RES,commandDesc:"stopPublishCDNStream"});case 4:if(d=b.sent,h=d.data,_=h.code,y=h.message,_!==0){b.next=10;break}this.resetPublishTencentParam(c),b.next=17;break;case 10:if(_!==-102069){b.next=15;break}ke.warn("stopPublishTencentCDN failed, can not stopPublishTencentCDN in auto relayed-push mode"),this.resetPublishTencentParam(c),b.next=17;break;case 15:throw ke.error("stopPublishTencentCDN failed, errCode: ".concat(_," errMsg: ").concat(y)),new ee({code:Y.STOP_PUBLISH_CDN_FAILED,message:ne({key:lk,data:{message:y},link:{className:"Client",fnName:"stopPublishCDNStream"}})});case 17:case"end":return b.stop()}},s,this)})),function(s){return r.apply(this,arguments)})},{key:"startPublishGivenCDN",value:(n=N(p().mark(function s(c){var u,d,h,_,y,b;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if(u=c.streamType===Ze?this.publishTencentMainStreamObj_.streamId_:this.publishTencentAuxStreamObj_.streamId_,d={pushRequestTime:Date.now(),pushAppId:c.appId,pushBizId:c.bizId,pushCdnUrl:c.url,pushStreamType:c.streamType,pushStreamId:u},ke.info("startPublishGivenCDN: "+JSON.stringify(d)),this.publishGivenCDNData_=d,this.isPublishingGivenCDN_=!0,this.client_.isJoined_){f.next=7;break}return f.abrupt("return");case 7:return f.prev=7,f.next=10,this.signalChannel_.sendWaitForResponse({command:RU,data:d,timeout:5e3,responseCommand:vt.START_PUBLISH_GIVEN_CDN_RES,commandDesc:"startPublishCDNStream"});case 10:if(h=f.sent,_=h.data,y=_.code,b=_.message,y===0){f.next=17;break}throw ke.error("startPublishGivenCDN failed, errCode: ".concat(y,", errMsg: ").concat(b)),this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1,new ee({code:Y.START_PUBLISH_CDN_FAILED,message:ne({key:uk,data:{message:b},link:{className:"Client",fnName:"startPublishCDNStream"}})});case 17:f.next=24;break;case 19:throw f.prev=19,f.t0=f.catch(7),this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1,f.t0;case 24:case"end":return f.stop()}},s,this,[[7,19]])})),function(s){return n.apply(this,arguments)})},{key:"stopPublishGivenCDN",value:(t=N(p().mark(function s(){var c,u,d,h,_,y,b,f,g,I;return p().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:if(this.client_.isJoined_){w.next=4;break}return this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1,w.abrupt("return");case 4:return c=this.publishGivenCDNData_,u=c.pushAppId,d=c.pushBizId,h=c.pushCdnUrl,_=c.pushStreamType,y={pushRequestTime:Date.now(),pushAppId:u,pushBizId:d,pushCdnUrl:h,pushStreamType:_},ke.info("stopPublishGivenCDN: "+JSON.stringify(y)),w.next=9,this.signalChannel_.sendWaitForResponse({command:AU,data:y,timeout:5e3,responseCommand:vt.STOP_PUBLISH_GIVEN_CDN_RES,commandDesc:"stopPublishCDNStream"});case 9:if(b=w.sent,f=b.data,g=f.code,I=f.message,g!==0){w.next=16;break}this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1,w.next=18;break;case 16:throw ke.error("stopPublishGivenCDN failed, errCode: ".concat(g," errMsg: ").concat(I)),new ee({code:Y.STOP_PUBLISH_CDN_FAILED,message:ne({key:lk,data:{message:I},link:{className:"Client",fnName:"stopPublishCDNStream"}})});case 18:case"end":return w.stop()}},s,this)})),function(){return t.apply(this,arguments)})},{key:"handleCDNConfigForJoinData",value:function(s){var c,u=s;if(this.publishTencentMainStreamObj_.isPublishing_||this.publishTencentAuxStreamObj_.isPublishing_){var d={};Ft(u)&&(d=JSON.parse(u)),d.Str_uc_params||(d.Str_uc_params={}),this.publishTencentMainStreamObj_.isPublishing_&&(this.publishTencentMainStreamObj_.streamId_?d.Str_uc_params.userdefine_streamid_main=this.publishTencentMainStreamObj_.streamId_:this.publishTencentMainStreamObj_.params_&&(d.Str_uc_params.userdefine_streamid_main=this.generatePublishCDNStreamId(this.publishTencentMainStreamObj_.params_.streamId,Ze))),this.publishTencentAuxStreamObj_.isPublishing_&&(this.publishTencentAuxStreamObj_.streamId_?d.Str_uc_params.userdefine_streamid_aux=this.publishTencentAuxStreamObj_.streamId_:this.publishTencentAuxStreamObj_.params_&&(d.Str_uc_params.userdefine_streamid_aux=this.generatePublishCDNStreamId(this.publishTencentAuxStreamObj_.params_.streamId,Vn))),u=JSON.stringify(d)}if(this.isPublishingGivenCDN_){var h=this.publishGivenCDNData_,_=h.pushAppId,y=h.pushBizId,b=h.pushCdnUrl,f=h.pushStreamType,g=h.pushStreamId;c={pushRequestTime:Date.now(),pushAppId:_,pushBizId:y,pushCdnUrl:b,pushStreamType:f,pushStreamId:g}}return{bussinessInfo:u,pushUserCdnInfo:c}}},{key:"reset",value:function(){this.resetPublishTencentParam(Ze),this.resetPublishTencentParam(Vn),this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1}}]),e}(),G7=function(){function e(t){J(this,e),this.client_=t.client,this.durationMap_=new Map,this.installEvents()}return ye(e,[{key:"installEvents",value:function(){q.on(Ur,this.handleSubscribed,this),q.on(Bn,this.handleStreamTrackUpdated,this),q.on(Br,this.handleStreamStopped,this),q.on(ia,this.handleStreamStopped,this)}},{key:"uninstallEvents",value:function(){q.off(Ur,this.handleSubscribed,this),q.off(Bn,this.handleStreamTrackUpdated,this),q.off(Br,this.handleStreamStopped,this),q.off(ia,this.handleStreamStopped,this)}},{key:"handleSubscribed",value:function(t){var n=t.client,r=t.stream;if(n===this.client_){var i=r.getUserId(),o=r.getType(),a="".concat(i,"_").concat(o);if(r.hasAudio())if(r.isMainAudioSubscribed){var s=new pd,c=this.durationMap_.get(a);c?this.isRecording(c.audio)||c.audio.push(s):this.durationMap_.set(a,{userId:i,type:o,audio:[s],video:[]})}else this.stopDurationItem(a,Ce);if(r.hasVideo())if(o===_t&&r.isMainVideoSubscribed||o===Dt&&r.isAuxVideoSubscribed){var u=new pd,d=this.durationMap_.get(a);d?this.isRecording(d.video)||d.video.push(u):this.durationMap_.set(a,{userId:i,type:o,audio:[],video:[u]})}else this.stopDurationItem(a,xe)}}},{key:"handleStreamStopped",value:function(t){var n=t.client,r=t.stream;if(this.clientHitTest(n)){var i=r.getUserId(),o=r.getType(),a="".concat(i,"_").concat(o);this.stopDurationItem(a,Ce),this.stopDurationItem(a,xe)}}},{key:"handleStreamTrackUpdated",value:function(t){var n=t.client,r=t.userId,i=t.tinyId,o=t.kind,a=t.action;if(this.clientHitTest(n)&&this.client_.getConnections().has(i)){var s=o===mt?o:_t,c="".concat(r,"_").concat(s);if(a===un.ADD){var u=this.client_.getConnections().get(i).getSubscribeState();if(o===Ce&&!u.audio||o===xe&&!u.video||o===mt&&!u.auxiliary)return;var d=new pd,h=this.durationMap_.get(c);h?(o!==Ce||this.isRecording(h.audio)||h.audio.push(d),o===Ce||this.isRecording(h.video)||h.video.push(d)):this.durationMap_.set(c,{userId:r,type:s,audio:o===Ce?[d]:[],video:o===Ce?[]:[d]})}else this.stopDurationItem(c,o===Ce?Ce:xe)}}},{key:"isRecording",value:function(t){return t.findIndex(function(n){return n.endTime===0})>=0}},{key:"stopDurationItem",value:function(t,n){if(this.durationMap_.has(t)){var r=this.durationMap_.get(t)[n].find(function(i){return i.endTime===0});r&&r.stop()}}},{key:"clientHitTest",value:function(t){return this.client_===t}},{key:"getDuration",value:function(t,n){return this.durationMap_.has(t)?this.durationMap_.get(t)[n].reduce(function(r,i){return r+i.getDuration()},0):0}},{key:"getDurationMap",value:function(){return this.durationMap_}},{key:"reset",value:function(){this.durationMap_.clear()}},{key:"destroy",value:function(){this.client_=null,this.uninstallEvents()}}]),e}();function Cc(){return function(e,t,n){var r=n.value,i=new Set;return n.value=N(p().mark(function o(){var a,s,c,u,d=arguments;return p().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(!i.has(this)){h.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:v3,data:{name:t}})});case 2:for(h.prev=2,i.add(this),a=d.length,s=new Array(a),c=0;c<a;c++)s[c]=d[c];return h.next=7,r.apply(this,s);case 7:return u=h.sent,i.delete(this),h.abrupt("return",u);case 12:throw h.prev=12,h.t0=h.catch(2),i.delete(this),h.t0;case 16:case"end":return h.stop()}},o,this,[[2,12]])})),n}}function H7(e){return cg.apply(this,arguments)}function cg(){return cg=N(p().mark(function e(t){var n,r,i,o,a,s,c,u,d,h,_,y,b;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return n=t.userId,r=t.sdkAppId,i=t.useStringRoomId,o=t.roomId,a=t.userSig,s={delta:0,count:[1,1],msg:[]},f.prev=2,(c=new FormData).append("userId",String(n)),c.append("sdkAppId",String(r)),c.append("isStrGroupId",i),c.append("groupId",String(o)),c.append("sdkVersion",Vi),c.append("userSig",String(a)),of&&c.append("oversea",!0),u=Pt(),f.next=14,W7(c,s,r);case 14:return(d=f.sent).config&&d.config.loggerDomain&&Xp(d.config.loggerDomain),s.delta=Pt()-u,iw({stat:s,userId:n}),f.abrupt("return",d);case 21:throw f.prev=21,f.t0=f.catch(2),h=ml(f.t0)?f.t0[0]:f.t0,_=xr(h.code)?h.code:0,y="get websocket url failed: ".concat(h.message.includes("timeout")?"timeout":h.message),b=new ee({code:Y.SCHEDULE_FAILED,extraCode:_,message:ne({key:sk,data:{error:y,code:_}})}),ke.error(b),iw({stat:s,userId:n,roomId:o,error:b}),b;case 30:case"end":return f.stop()}},e,null,[[2,21]])})),cg.apply(this,arguments)}function iw(e){var t=e.stat,n=e.userId,r=e.error;r?Ie.logFailedEvent({eventType:Gb,error:r,userId:n}):Ie.logSuccessEvent({eventType:Gb,delta:t.delta,userId:n}),Ie.uploadEvent({log:"stat-schedule:"+JSON.stringify(t),userId:n})}function aw(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ze;return t=of||(Lk(e)?n===Ze?a3:o3:n===Ze?r3:i3),"https://".concat(t,"/api/v1/config")}function z7(e,t,n){return new Promise(function(r,i){vl({url:e,body:t,timeout:n.timeout}).then(function(o){o.data.code===0?r(o.data.data):i({code:o.data.code,message:o.data.msg})}).catch(i)})}var ow=function(e,t){return oc({retryFunction:z7,settings:{retries:3,timeout:0},onError:t,onRetrying:e})};function W7(e,t,n){return new Promise(function(r,i){var o,a=null;(o=[ow(function(s){return t.count[0]=s+1},function(s,c){t.msg[0]=s.message,a||c()})(aw(n,Ze),e,{get timeout(){return 1e3*fl(2+t.count[0])}}),ow(function(s){return t.count[1]=s+1},function(s,c){t.msg[1]=s.message,a||c()})(aw(n,Ki),e,{get timeout(){return 1e3*fl(2+t.count[1])}})],new Promise(function(s,c){var u=[];o.forEach(function(d){d.then(s).catch(function(h){u.push(h),u.length===o.length&&c(u)})})})).then(function(s){r(a=s)}).catch(i)})}var sw,cw,uw,lw,dw,hw,pw,fw,mw,vw,gw,_w,yw,Sw,bw,kw,Tw,xw,Iw,ww,Ew,Cw,Rw,Aw,Pw,Dw,Lw,Ow,Mw,Nw,Ae,J7=function(){function e(){J(this,e)}return ye(e,[{key:"call",value:function(t,n){return In(this[t])?this[t](n):Promise.reject(new ee({code:Y.INVALID_PARAMETER,message:ne({key:z4,data:{name:t}})}))}},{key:"updatePrivateMapKey",value:function(t){var n=t.privateMapKey;return t.client.setProperty("privateMapKey",n),Promise.resolve()}}]),e}(),K7=new J7,md,vd,gd,ug,Vw,Uw,Bw,jw,Fw,Gw,$t,q7=(sw=Cc(),cw=wn(Yt.CLIENT.join),uw=Cc(),lw=xc({retries:3}),dw=Cc(),hw=wn.apply(void 0,be(Yt.CLIENT.publish)),pw=kt(ln),fw=Cc(),mw=wn(Yt.CLIENT.unpublish),vw=wn.apply(void 0,be(Yt.CLIENT.subscribe)),gw=wn(Yt.CLIENT.unsubscribe),_w=Cc(),yw=wn(Yt.CLIENT.switchRole),Sw=kt(ln),bw=wn(Yt.CLIENT.startPublishCDNStream),kw=kt(ln),Tw=kt(ln),xw=wn(Yt.CLIENT.startMixTranscode),Iw=kt(ln),ww=kt(ln),Ew=kt(ln),Cw=kt(ln),Rw=kt(ln),Aw=kt(ln),Pw=kt(ln),Dw=nd.apply(void 0,be(Yt.CLIENT.sendSEIMessage)),Lw=kt(ln),md={timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t[0].byteLength}},vd=md.timesInSecond,gd=md.maxSizeInSecond,ug=md.getSize,Ow=function(e,t,n){var r=n.value,i=new Map;return q.on(Kf,function(o){var a=o.client;return i.delete(a)}),n.value=function(){var o=i.get(this);o||(o={callCountInSecond:0,timestamp:0,totalSizeInSecond:0},i.set(this,o)),o.timestamp===0?o.timestamp=Date.now():Date.now()-o.timestamp>1e3&&(o.timestamp=Date.now(),o.callCountInSecond=0,o.totalSizeInSecond=0);for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];if(ug&&(o.totalSizeInSecond+=ug.apply(void 0,s)),o.timestamp!==0&&Date.now()-o.timestamp<1e3&&(o.callCountInSecond>=vd||o.totalSizeInSecond>gd))throw new ee({code:Y.INVALID_OPERATION,message:ne({key:$4,data:{isTimes:o.callCountInSecond>=vd,isSize:o.totalSizeInSecond>gd,name:t,timesInSecond:vd,maxSizeInSecond:gd}})});return o.callCountInSecond++,r.apply(this,s)},n},Mw=kt(ln),Nw=kt(ln),Ae=function(){function e(T){var v,E;J(this,e),this.name_=ln,this.mode_=T.mode,this.sdpSemantics_=nf,ve(T.sdpSemantics)?function(){var C;if(ve(window.RTCRtpTransceiver)||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;var O=null,F=!1;try{(O=new RTCPeerConnection({sdpSemantics:$s})).addTransceiver(Ce),F=!0}catch(K){}return(C=O)===null||C===void 0||C.close(),F}()&&(this.sdpSemantics_=$s):this.sdpSemantics_=T.sdpSemantics,this.sdkAppId_=T.sdkAppId,this.userId_=T.userId,this.log_=ke.createLogger({id:"c".concat(T.seq,"|").concat(this.userId_),userId:this.userId_,sdkAppId:this.sdkAppId_}),this.userSig_=T.userSig,this.roomId_=0,this.useStringRoomId_=T.useStringRoomId||!1,this.pureAudioPushMode_=null,this.version_=T.version,this.log_.info("using sdpSemantics: "+this.sdpSemantics_),this.signalChannel_=null,this.role_=Sr,this.privateMapKey_="",this.tinyId_=0,this.env_="",this.proxy_=null,this.unifiedProxy_=null,this.connections_=new Map,this.mutedStates_=new Map,this.userMap_=new Map,this.syncUserListInterval_=-1,this.localStream_=null,this.localAuxStream_=null,this.uplinkConnection_=null,this.emitter_=jk(new _i,this.name_),this.isJoined_=!1,this.heartbeat_=-1,this.lastHeartBeatTime_=-1,this.stats_=new K6(this),this.joinTimeout_=-1,this.changeBigSmallRecords_=new Map,this.networkQuality_=null,this.badCaseDetector_=null,this.networkType_=Of(),this.autoSubscribe_=!!ve(T.autoSubscribe)||T.autoSubscribe,this.joinedTimestamp_=0,this.joinOptions_={},this.basis_=(E={browser:ta().name+"/"+ta().version,os:Mm(),displayResolution:U6(),isScreenShareSupported:OT(),isWebRTCSupported:Cm(),isGetUserMediaSupported:B6(),isWebAudioSupported:j6(),isWebSocketsSupported:"WebSocket"in window&&window.WebSocket.CLOSING===2,isWebCodecSupported:(v={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1},ve(window.AudioDecoder)||(v.AudioDecoder=!0),ve(window.AudioEncoder)||(v.AudioEncoder=!0),ve(window.VideoDecoder)||(v.VideoDecoder=!0),ve(window.VideoEncoder)||(v.VideoEncoder=!0),ve(window.ImageDecoder)||(v.ImageDecoder=!0),v),isMediaSessionSupported:"mediaSession"in navigator&&!ve(navigator.mediaSession.setActionHandler),isWebTransportSupported:!ve(window.WebTransport)},navigator.userAgent.includes("miniProgram")&&(E.browser="mini/".concat(E.browser)),E),this.initBussinessInfo_(T),this.publishedCDN_=!1,this.publishCDNData_=null,this.mixedMCU_=!1,this.mixTranscodeData_=null,this.checkSystemResult_=null,this.enableAudioVolumeEvaluation_=!1,this.audioVolumeIntervalId_=null,this.mixTranscodeManager_=null,this.publishCDNManager_=new F7({client:this}),this.keyPointManager_=new o7({client:this,frameWorkType:T.frameWorkType,component:T.component}),this.isPublishing_=!1,this.isEnableSmallStream_=!1,this.smallStreamConfig_={bitrate:100,frameRate:15,height:120,width:160},this.turnServers_=[],this.iceTransportPolicy_=T.iceTransportPolicy,this.schedule_={domains:null,iceServers:null,iceTransportPolicy:null,trtcCapability:null},this.enableAutoPlayDialog_=!!ve(T.enableAutoPlayDialog)||T.enableAutoPlayDialog,this.enableMultiAuxStream_=!ve(T.enableMultiAuxStream)&&T.enableMultiAuxStream,this.signalInfo_={},this.enableSEI_=!ve(T.enableSEI)&&T.enableSEI,this.isDestroyed_=!1}var t,n,r,i,o,a,s,c,u,d,h,_,y,b,f,g,I,w,j,z,$,ue,L,k,P,A,U;return ye(e,[{key:"initBussinessInfo_",value:function(T){this.bussinessInfo_=T.bussinessInfo;var v={};if(Ft(T.bussinessInfo)&&(v=JSON.parse(T.bussinessInfo)),!ve(T.pureAudioPushMode)){if(!Number.isInteger(Number(T.pureAudioPushMode)))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:C3})});this.pureAudioPushMode_=T.pureAudioPushMode,v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.pure_audio_push_mod=this.pureAudioPushMode_}if(!ve(T.streamId)){if(!(Ft(T.streamId)&&String(T.streamId)&&String(T.streamId).length<=64))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:R3})});v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.userdefine_streamid_main=T.streamId}if(!ve(T.userDefineRecordId)){if(T.userDefineRecordId.match(/^[A-Za-z0-9_-]{1,64}$/gi)===null)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:A3})});v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.userdefine_record_id=T.userDefineRecordId}if(!ve(T.userDefinePushArgs)){if(!(Ft(T.userDefinePushArgs)&&String(T.userDefinePushArgs)&&String(T.userDefinePushArgs).length<=256))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:P3})});v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.userdefine_push_args=T.userDefinePushArgs}aa(v)||(this.bussinessInfo_=JSON.stringify(v))}},{key:"schedule",value:(U=N(p().mark(function T(v){var E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:return C.next=2,H7({userId:this.userId_,sdkAppId:this.sdkAppId_,roomId:v,useStringRoomId:this.useStringRoomId_,version:this.version_,userSig:this.userSig_});case 2:(E=C.sent)&&(this.log_.info("schedule: ".concat(JSON.stringify(E))),E.trtcCapability=E==null?void 0:E.trtcAutoConf,this.schedule_=H(H({},this.schedule_),E),q.emit(zk,this.schedule_));case 4:case"end":return C.stop()}},T,this)})),function(T){return U.apply(this,arguments)})},{key:"getSignalChannelUrl",value:function(){var T={mainUrl:"",backupUrl:""},v=Dk();return v?T.mainUrl=T.backupUrl="wss://".concat(v,".rtc.qq.com"):this.proxy_?T.mainUrl=T.backupUrl=this.proxy_:this.unifiedProxy_?T.mainUrl=T.backupUrl="wss://".concat(this.unifiedProxy_):Array.isArray(this.schedule_.domains)&&this.schedule_.domains.length>0&&(T.mainUrl=T.backupUrl="wss://".concat(this.schedule_.domains[0]),this.schedule_.domains[1]&&(T.backupUrl="wss://".concat(this.schedule_.domains[1]))),T}},{key:"getUserId",value:function(){return this.userId_}},{key:"getUserSig",value:function(){return this.userSig_}},{key:"getRole",value:function(){return this.role_}},{key:"getSignalInfo",value:function(){return this.signalInfo_}},{key:"getRoomId",value:function(){return this.roomId_}},{key:"getSDKAppId",value:function(){return this.sdkAppId_}},{key:"getTinyId",value:function(){return this.tinyId_}},{key:"getIceTransportPolicy",value:function(){return this.iceTransportPolicy_||this.schedule_.iceTransportPolicy||"all"}},{key:"initialize",value:function(T){var v=this;this.log_.info("setup signal channel");var E=this.getSignalChannelUrl(),C=E.mainUrl,O=E.backupUrl;return this.signalChannel_=new m6({sdkAppId:this.sdkAppId_,userId:this.userId_,userSig:this.userSig_,roomId:T.roomId,url:C,backupUrl:O,signalDomainWhenUnifiedProxy:this.unifiedProxy_?this.schedule_.domains[0]:void 0,client:this}),this.networkQuality_||(this.networkQuality_=new q6({connections:this.connections_,signalChannel:this.signalChannel_,userId:this.userId_,client:this}),this.networkQuality_.on(ct.NETWORK_QUALITY,function(F){v.emitter_.emit(ct.NETWORK_QUALITY,F)})),this.deviceDetector_||(this.deviceDetector_=new X6({client:this})),this.subscriptionManager_||(this.subscriptionManager_=new s7({client:this})),this.badCaseDetector_||(this.badCaseDetector_=new B7({client:this,stats:this.stats_})),this.callDurationCalculator_||(this.callDurationCalculator_=new G7({client:this})),this.mixTranscodeManager_||(this.mixTranscodeManager_=new j7({client:this,signalChannel:this.signalChannel_})),this.publishCDNManager_&&this.publishCDNManager_.setSignalChannel({signalChannel:this.signalChannel_}),this.signalChannel_.on(mm,function(F){v.log_.info("SignalChannel state changed from ".concat(F.prevState," to ").concat(F.state)),v.emitter_.emit(ct.CONNECTION_STATE_CHANGED,F)}),this.signalChannel_.on(vm,function(F){v.reset(),v.emitter_.emit(ct.ERROR,F)}),this.signalChannel_.once(lT,function(F){v.tinyId_=F.signalInfo.tinyId,q.emit(_l,{client:v})}),this.signalChannel_.on(vt.PEER_JOIN,this.onPeerJoin,this),this.signalChannel_.on(vt.PEER_LEAVE,this.onPeerLeave,this),this.signalChannel_.on(vt.UPDATE_REMOTE_MUTE_STAT,function(F){Date.now()-v.lastHeartBeatTime_>=1e4&&v.doHeartbeat(),q.emit(zf,{client:v,data:F.data}),v.onPublishedUserList(F.data),v.onUpdateRemoteMuteStat(F.data)}),this.signalChannel_.on(vt.CLIENT_BANNED,function(F){var K,re=F.data.data.reason;if(Ie.uploadEvent({log:"stat-banned:".concat(re),userId:v.userId_}),re===ON)K="you got banned by the admin";else if(re===MN)K="duplicated userId joining the room";else if(re===VN)K="the room has been disbanded by the admin",re=re.replace("_","-");else if(re===NN)return v.log_.warn("".concat(re," last heart beat time: ").concat(v.lastHeartBeatTime_," interval: ").concat(Date.now()-v.lastHeartBeatTime_,", visibility: ").concat(document.visibilityState)),void v.reJoin();v.log_[re==="kick"?"error":"info"]("user was banned because of [".concat(re,"]")),v.reset(),v.emitter_.emit(ct.CLIENT_BANNED,{reason:re,message:ne({key:X3,data:{message:K,reason:re}})||re})}),q.emit(Jf,{client:this}),this.signalChannel_.connect()}},{key:"preJoin",value:(A=N(p().mark(function T(v){var E,C,O,F;return p().wrap(function(K){for(;;)switch(K.prev=K.next){case 0:return this.joinOptions_=v,K.next=3,Am();case 3:if(this.checkSystemResult_=K.sent,this.checkDestroy(),(E=Dk())||(E=Qu,this.proxy_&&(this.proxy_.startsWith(BN)?E=FN:this.proxy_.startsWith(jN)&&(E=GN))),this.env_=E,Ie.setConfig({env:E,sdkAppId:this.sdkAppId_,userId:this.userId_,roomId:v.roomId}),this.uploadTrtcStats(),C=this.checkSystemResult_.detail,O=C.isH264EncodeSupported,F=C.isVp8EncodeSupported,Cm()&&(O||F)){K.next=13;break}throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:fk})});case 13:case"end":return K.stop()}},T,this)})),function(T){return A.apply(this,arguments)})},{key:"join",value:(P=N(p().mark(function T(v){var E,C=this;return p().wrap(function(O){for(;;)switch(O.prev=O.next){case 0:return this.roomId_=v.roomId,ve(v.role)||(this.role_=v.role),ve(v.privateMapKey)||(this.privateMapKey_=v.privateMapKey),E=Pt(),q.emit(gl,{client:this}),vn(this.userId_,{eventId:XU,eventDesc:"joining room",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),O.next=8,this.preJoin(v);case 8:return O.abrupt("return",new Promise(function(){var F=N(p().mark(function K(re,ce){return p().wrap(function(ge){for(;;)switch(ge.prev=ge.next){case 0:if(C.joinReject_=ce,ge.prev=1,C.proxy_||C.schedule_.domains){ge.next=5;break}return ge.next=5,C.schedule(v.roomId);case 5:return C.checkDestroy(),ge.next=8,C.initialize(v);case 8:return ge.next=10,C.doJoin(v);case 10:C.signalInfo_=C.signalChannel_.getSignalInfo(),q.emit(lo,{client:C}),C.joinedTimestamp_=Pt(),Ie.logSuccessEvent({userId:C.userId_,eventType:YN,delta:C.joinedTimestamp_-E}),Ie.logSuccessEvent({userId:C.userId_,eventType:xb}),Ie.uploadEvent({log:"stat-autoplay-dialog:".concat(C.enableAutoPlayDialog_),userId:C.userId_}),Ie.uploadEvent({log:"stat-conv-".concat(Zi,"-").concat(location.hostname),userId:C.userId_}),re(),ge.next=26;break;case 20:ge.prev=20,ge.t0=ge.catch(1),q.emit(ho,{client:C,error:ge.t0}),Ie.logFailedEvent({userId:C.userId_,eventType:xb,error:ge.t0}),C.reset(),ce(ge.t0);case 26:C.joinReject_=null;case 27:case"end":return ge.stop()}},K,null,[[1,20]])}));return function(K,re){return F.apply(this,arguments)}}()));case 9:case"end":return O.stop()}},T,this)})),function(T){return P.apply(this,arguments)})},{key:"checkDestroy",value:function(){if(this.isDestroyed_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:hf,data:{funName:"join"}})})}},{key:"uploadTrtcStats",value:(k=N(p().mark(function T(){var v,E,C,O,F,K,re,ce,ge,Ye,Ve,Ge,Ke;return p().wrap(function(He){for(;;)switch(He.prev=He.next){case 0:return He.prev=0,He.next=3,Tt.getMicrophones();case 3:C=He.sent,v=C&&C.length,He.next=9;break;case 7:He.prev=7,He.t0=He.catch(0);case 9:return He.prev=9,He.next=12,Tt.getCameras();case 12:O=He.sent,E=O&&O.length,He.next=18;break;case 16:He.prev=16,He.t1=He.catch(9);case 18:F={microphone:v,camera:E},K=this.checkSystemResult_.detail,re=K.isH264EncodeSupported,ce=K.isVp8EncodeSupported,ge=K.isH264DecodeSupported,Ye=K.isVp8DecodeSupported,Ve={webRTC:this.basis_.isWebRTCSupported,getUserMedia:this.basis_.isGetUserMediaSupported,webSocket:this.basis_.isWebSocketsSupported,screenShare:this.basis_.isScreenShareSupported,webAudio:this.basis_.isWebAudioSupported,h264Encode:re,h264Decode:ge,vp8Encode:ce,vp8Decode:Ye},Ge={browser:this.basis_.browser,os:this.basis_.os,trtc:Ve,devices:F},Ke={isWebCodecSupported:this.basis_.isWebCodecSupported,isMediaSessionSupported:this.basis_.isMediaSessionSupported,isWebTransportSupported:this.basis_.isWebTransportSupported},Ie.uploadEvent({log:"trtcstats-"+JSON.stringify(Ge),userId:this.userId_}),this.log_.info("TrtcStats-"+JSON.stringify(Ge)),Ie.uploadEvent({log:"trtcadvancedstats-"+JSON.stringify(Ke),userId:this.userId_});case 26:case"end":return He.stop()}},T,this,[[0,7],[9,16]])})),function(){return k.apply(this,arguments)})},{key:"doJoin",value:function(T){var v=this;return new Promise(function(E,C){v.log_.info("Join() => joining room: ".concat(v.roomId_," useStringRoomId: ").concat(v.useStringRoomId_," mode: ").concat(v.mode_," role: ").concat(v.role_));var O={roomId:String(v.roomId_),useStringRoomId:v.useStringRoomId_,privateMapKey:v.privateMapKey_,trtcRole:v.role_===Sr?ao:Qp,trtcScene:v.mode_===Yu?JN:WN,sdpSemantics:v.sdpSemantics_,version:EV(v.version_),ua:navigator&&navigator.userAgent||"",autoSubscribe:v.autoSubscribe_,terminalType:co?4:gf?2:vf?3:tc?12:Ck?5:Rk?13:1,netType:af[Of()],bussinessInfo:v.bussinessInfo_,receiveMix:!0};if(v.publishCDNManager_){var F=v.publishCDNManager_.handleCDNConfigForJoinData(v.bussinessInfo_),K=F.bussinessInfo,re=F.pushUserCdnInfo;Object.assign(O,{bussinessInfo:K,pushUserCdnInfo:re})}v.log_.debug("join room signal data: ".concat(JSON.stringify(O))),v.joinTimeout_=setTimeout(function(){v.log_.error("join room timeout observed"),C(new ee({code:Y.JOIN_ROOM_FAILED,message:ne({key:N3})}))},5e3),q.emit(Bf,{client:v}),v.signalChannel_.once(dT,function(ce){v.clearJoinTimeout(),q.emit(_l,{client:v,error:ce}),C(ce)}),v.signalChannel_.send(yU,O),v.signalChannel_.once(vt.JOIN_ROOM_RESULT,function(ce){v.clearJoinTimeout();var ge=ce.data,Ye=ge.code,Ve=ge.message,Ge=ge.data;v.onPublishedUserList({data:{userList:Ge.publishers}}),q.emit(jf,{client:v,code:Ye}),Ye===0?(v.isJoined_=!0,v.log_.info("Join room success, start heartbeat"),v.startHeartbeat(),v.badCaseDetector_&&v.badCaseDetector_.start(),v.syncUserList(),v.startSyncUserListInterval(),E()):(v.log_.error("Join room failed result: "+Ye+" error: "+Ve),C(new ee({code:Y.JOIN_ROOM_FAILED,extraCode:Ye,message:ne({key:sk,data:{error:Ve,code:Ye}})})))})})}},{key:"reJoin",value:(L=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(this.isJoined_){v.next=3;break}return this.log_.warn("reJoin abort"),v.abrupt("return");case 3:return this.isJoined_=!1,v.prev=4,this.log_.warn("reJoin pending: ".concat(this.joinOptions_.roomId)),this.subscriptionManager_&&this.subscriptionManager_.markAllStream(),this.signalChannel_.close(),v.next=10,this.signalChannel_.connect();case 10:return v.next=12,this.doJoin(H(H({},this.joinOptions_),{},{role:this.role_,privateMapKey:this.privateMapKey_}));case 12:this.log_.warn("reJoin success"),Ie.logSuccessEvent({userId:this.userId_,eventType:Ib}),this.checkConnectionsToReconnect(),this.uplinkConnection_&&!this.uplinkConnection_.getIsReconnecting()&&this.uplinkConnection_.startReconnection(),this.mixTranscodeManager_&&this.mixTranscodeManager_.reStartMixTranscode(),v.next=25;break;case 19:v.prev=19,v.t0=v.catch(4),this.log_.warn("reJoin fail "+v.t0),this.reset(),Ie.logFailedEvent({userId:this.userId_,eventType:Ib,error:v.t0}),this.emitter_.emit(ct.ERROR,new ee({code:Y.JOIN_ROOM_FAILED,message:ne({key:V3,data:{roomId:this.joinOptions_.roomId}})}));case 25:case"end":return v.stop()}},T,this,[[4,19]])})),function(){return L.apply(this,arguments)})},{key:"leave",value:(ue=N(p().mark(function T(){var v;return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return q.emit(Ff,{client:this}),vn(this.userId_,{eventId:QU,eventDesc:"leaving room",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),E.prev=2,E.next=5,this.doHeartbeat();case 5:E.next=9;break;case 7:E.prev=7,E.t0=E.catch(2);case 9:this.doLeave(),q.emit(po,{client:this}),Ie.logSuccessEvent({userId:this.userId_,eventType:$N}),v=Math.floor((Pt()-this.joinedTimestamp_)/1e3),Ie.logSuccessEvent({userId:this.userId_,eventType:ZN,delta:v});case 14:case"end":return E.stop()}},T,this,[[2,7]])})),function(){return ue.apply(this,arguments)})},{key:"doLeave",value:function(){this.isJoined_&&(q.emit(Gf,{client:this}),this.log_.info("leave() => leaving room"),this.signalChannel_.send(SU),this.reset())}},{key:"clearNetworkQuality",value:function(){this.networkQuality_&&(this.networkQuality_.stop(),this.networkQuality_=null)}},{key:"closeConnections",value:function(){var T=this;this.connections_.forEach(function(v){T.closeDownLink(v.getTinyId())})}},{key:"clearJoinTimeout",value:function(){clearTimeout(this.joinTimeout_),this.joinTimeout_=-1}},{key:"destroy",value:function(){var T,v,E;if(this.isJoined_)throw this.log_.warn(vi.INVALID_DESTROY),new ee({code:Y.INVALID_OPERATION,message:ne({key:U3})});this.isDestroyed_||(this.log_.info("destroy client"),this.joinReject_&&(this.joinReject_(new ee({code:Y.INVALID_OPERATION,message:ne({key:hf,data:{funName:"join"}})})),this.clearJoinTimeout(),this.reset()),this.off("*"),(T=this.callDurationCalculator_)===null||T===void 0||T.destroy(),(v=this.keyPointManager_)===null||v===void 0||v.destroy(),(E=this.deviceDetector_)===null||E===void 0||E.destroy(),this.callDurationCalculator_=null,this.keyPointManager_=null,this.deviceDetector_=null,this.badCaseDetector_=null,this.publishCDNManager_=null,this.isDestroyed_=!0,q.emit(Kf,{client:this}))}},{key:"reset",value:function(){this.isJoined_=!1,this.keyPointManager_&&this.keyPointManager_.prepareReport(),this.mixTranscodeManager_&&(this.mixTranscodeManager_.reset(),this.mixTranscodeManager_=null),this.publishCDNManager_&&this.publishCDNManager_.reset(),this.userMap_.clear(),this.stopSyncUserListInterval(),this.stopHeartbeat(),this.closeConnections(),this.mutedStates_.clear(),this.clearNetworkQuality(),this.badCaseDetector_&&this.callDurationCalculator_&&this.uploadAllCallStats(),this.closeUplink(),this.signalChannel_&&(this.log_.info("destroying SignalChannel"),this.signalChannel_.close(),this.signalChannel_=null),this.stats_.reset()}},{key:"startSyncUserListInterval",value:function(){this.syncUserListInterval_===-1&&(this.syncUserListInterval_=yt.run(so,this.syncUserList.bind(this)))}},{key:"stopSyncUserListInterval",value:function(){yt.clearTask(this.syncUserListInterval_),this.syncUserListInterval_=-1}},{key:"syncUserList",value:($=N(p().mark(function T(){var v,E=this;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:return C.prev=0,C.next=3,this.getUserList();case 3:v=C.sent,this.userMap_.size!==0&&this.userMap_.forEach(function(O){v.findIndex(function(F){return F.userId===O.userId})<0&&(E.log_.info("peer leave detected: ".concat(O.userId)),E.cleanUser({userId:O.userId,tinyId:O.tinyId}))}),v.forEach(function(O){var F=O.userId;E.userMap_.has(F)||F===E.userId_||(E.userMap_.set(F,O),E.emitter_.emit(ct.PEER_JOIN,{userId:F}))}),C.next=11;break;case 8:C.prev=8,C.t0=C.catch(0),this.log_.warn("sync user list failed: "+C.t0);case 11:case"end":return C.stop()}},T,this,[[0,8]])})),function(){return $.apply(this,arguments)})},{key:"getUserList",value:function(){return this.signalChannel_?this.signalChannel_.sendWaitForResponse({command:LU,responseCommand:vt.USER_LIST_RES,enableLog:!1,timeout:2e3}).then(function(T){var v=T.data,E=v.code,C=v.message;if(E===0)return(v.data&&v.data.userList||[]).map(function(O){var F=O.userId,K=O.srcTinyId,re=O.role;return new sg({userId:F,tinyId:K,role:re})});throw ne({key:gk,data:{signalResponse:vt.USER_LIST_RES,code:E,message:C}})}):[]}},{key:"publish",value:(z=N(p().mark(function T(v){var E,C,O,F,K,re,ce,ge,Ye=this,Ve=arguments;return p().wrap(function(Ge){for(;;)switch(Ge.prev=Ge.next){case 0:return E=Ve.length>1&&Ve[1]!==void 0?Ve[1]:{isAuxiliary:!1},v.setPublishState(Zs),this.isPublishing_=!0,C=Pt(),q.emit(Wf,{client:this,stream:v}),O=E.isAuxiliary,F=O?mt:Ze,K=v.getScreen(),this.log_.info("publish() => publishing ".concat(K?Wp+" ":"").concat(F," stream ").concat(v.getId())),re=this.uplinkConnection_,Ge.prev=10,re||((re=new m7({userId:this.userId_,tinyId:this.tinyId_,client:this,isUplink:!0,signalChannel:this.signalChannel_,enableSEI:this.enableSEI_})).initialize(),re.on(tt.ERROR,function(Ke){var He=Ke.getCode();He!==Y.ICE_TRANSPORT_ERROR&&(He===Y.UPLINK_RECONNECTION_FAILED&&Ye.closeUplink(),Ye.emitter_.emit(ct.ERROR,Ke))})),v.setConnection(re),Ge.next=15,re.publish(v,O);case 15:this.log_.info("local ".concat(K?Wp+" ":"").concat(F," stream is published")),this.isPublishing_=!1,O?this.localAuxStream_=v:(this.localStream_=v,this.deviceDetector_&&this.deviceDetector_.setLocalStream(this.localStream_),this.localStream_.getBeautyStatus()&&this.log_.info("beauty stream is published successfully")),v.setPublishState(n3),v.setClient(this,O),this.uplinkConnection_=re,ce=Pt(),ge=ce-C,Ie.logSuccessEvent({userId:this.userId_,eventType:wb}),Ie.logSuccessEvent({userId:this.userId_,eventType:e3,delta:ge}),v.hasAudio()&&vn(this.userId_,{eventId:mT,eventDesc:"publish audio track",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),v.hasVideo()&&vn(this.userId_,{eventId:fT,eventDesc:"publish video track",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),this.networkQuality_&&this.networkQuality_.setUplinkConnection(this.uplinkConnection_),q.emit(AV,{localStream:v,isAuxiliary:O,client:this}),this.notPublishWithoutH264Supported_=!1,v.isAIDenoiser&&Ii.handleFunctionState({fnName:"AI_DENOISER"}),Ge.next=42;break;case 33:throw Ge.prev=33,Ge.t0=Ge.catch(10),Ge.t0 instanceof ee&&Ge.t0.getCode()===Y.NOT_SUPPORTED_H264&&(this.notPublishWithoutH264Supported_=!0),v.setPublishState(Wb),re.close(),this.log_.error("failed to publish stream "+Ge.t0),this.isPublishing_=!1,Ie.logFailedEvent({userId:this.userId_,eventType:wb,error:Ge.t0}),Ge.t0;case 42:case"end":return Ge.stop()}},T,this,[[10,33]])})),function(T){return z.apply(this,arguments)})},{key:"unpublish",value:(j=N(p().mark(function T(v){var E,C;return p().wrap(function(O){for(;;)switch(O.prev=O.next){case 0:if(this.uplinkConnection_){O.next=2;break}return O.abrupt("return");case 2:return E=v===this.localAuxStream_,C=v.getScreen(),this.log_.info("unpublish() => unpublishing local ".concat(C?Wp+" ":"").concat(E?mt:Ze," stream")),O.prev=5,O.next=8,this.uplinkConnection_.unpublish(v);case 8:v.setClient(null),v.setConnection(null),E?this.localAuxStream_=null:(this.localStream_=null,v.hasAudio()&&vn(this.userId_,{eventId:gT,eventDesc:"unpublish audio track",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),v.hasVideo()&&vn(this.userId_,{eventId:vT,eventDesc:"unpublish video track",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_})),this.localStream_||this.localAuxStream_||this.closeUplink(),Ie.logSuccessEvent({userId:this.userId_,eventType:Eb}),O.next=19;break;case 15:throw O.prev=15,O.t0=O.catch(5),Ie.logFailedEvent({userId:this.userId_,eventType:Eb,error:O.t0}),O.t0;case 19:case"end":return O.stop()}},T,this,[[5,15]])})),function(T){return j.apply(this,arguments)})},{key:"closeUplink",value:function(){this.uplinkConnection_&&(this.uplinkConnection_.close(),this.uplinkConnection_=null,this.networkQuality_&&this.networkQuality_.setUplinkConnection(null),this.localStream_&&(this.localStream_.setClient(null),this.localStream_.setConnection(null),this.localStream_=null),this.localAuxStream_&&(this.localAuxStream_.setClient(null),this.localAuxStream_.setConnection(null),this.localAuxStream_=null),this.deviceDetector_&&this.deviceDetector_.setLocalStream(null))}},{key:"closeDownLink",value:function(T){var v=this.connections_.get(T);v&&(v.getIsReconnecting()&&v.stopReconnection(),this.subscriptionManager_&&this.subscriptionManager_.delete(v.getUserId()),v.close(),this.connections_.delete(T),this.mutedStates_.delete(T))}},{key:"subscribe",value:(w=N(p().mark(function T(v,E){var C,O,F;return p().wrap(function(K){for(;;)switch(K.prev=K.next){case 0:return this.log_.info("subscribe() => subscribe to [".concat(v.getUserId(),"] ").concat(v.getType()," stream with options: ").concat(JSON.stringify(E))),ve(E)&&(E={audio:!0,video:!0}),ve(E.audio)&&(E.audio=!0),ve(E.smallVideo)?ve(E.video)&&(E.video=!0):E.smallVideo?ve(E.video)?(E.video=!1,E.smallVideo=!0):E.video&&(E.video=!0,delete E.smallVideo,this.log_.warn("options.video and options.smallVideo can't be both true")):ve(E.video)&&(E.video=!0,delete E.smallVideo),E.video&&this.changeBigSmallRecords_.delete(v.getUserId()),C=v.getConnection(),E.smallVideo&&(C.getTrackState().smallVideo||(this.setRemoteVideoStreamType(v,"small"),E.video=!0,delete E.smallVideo)),K.prev=7,q.emit(Qf,{client:this,stream:v}),K.next=11,C.subscribe(v,E);case 11:this.subscriptionManager_&&this.subscriptionManager_.addSubscriptionRecord(v.getUserId(),v,E),this.notSubscribeWithoutH264Supported_=!1,Ie.logSuccessEvent({userId:this.userId_,eventType:Cb}),K.next=24;break;case 16:throw K.prev=16,K.t0=K.catch(7),(O=K.t0 instanceof ee?K.t0.getCode():Y.UNKNOWN)===Y.NOT_SUPPORTED_H264&&(this.notSubscribeWithoutH264Supported_=!0),(F=new ee(O===Y.REMOTE_STREAM_NOT_EXIST?{code:Y.API_CALL_ABORTED,message:ne({key:mf,data:{message:K.t0.message,stream:v}})}:{code:O,message:ne({key:z3,data:{message:K.t0.message,stream:v}})})).getCode()===Y.API_CALL_ABORTED?this.log_.warn(F):this.log_.error(F),Ie.logFailedEvent({userId:this.userId_,eventType:Cb,error:F}),F;case 24:case"end":return K.stop()}},T,this,[[7,16]])})),function(T,v){return w.apply(this,arguments)})},{key:"unsubscribe",value:(I=N(p().mark(function T(v){var E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:return this.log_.info("unsubscribe() => unsubscribe to [".concat(v.getUserId(),"] ").concat(v.getType()," stream")),C.prev=1,E=v.getConnection(),C.next=5,E.unsubscribe(v);case 5:this.subscriptionManager_&&this.subscriptionManager_.addUnsubscriptionRecord(v.getUserId(),v),q.emit(Br,{client:this,stream:v}),Ie.logSuccessEvent({userId:this.userId_,eventType:Rb}),C.next=14;break;case 10:throw C.prev=10,C.t0=C.catch(1),Ie.logFailedEvent({userId:this.userId_,eventType:Rb,error:C.t0}),C.t0;case 14:case"end":return C.stop()}},T,this,[[1,10]])})),function(T){return I.apply(this,arguments)})},{key:"switchRole",value:(g=N(p().mark(function T(v){return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(this.role_!==v){E.next=2;break}return E.abrupt("return");case 2:return v===qi&&this.uplinkConnection_&&this.closeUplink(),this.log_.info("switchRole() => switch role to: "+v),E.next=6,this.doSwitchRole(v);case 6:case"end":return E.stop()}},T,this)})),function(T){return g.apply(this,arguments)})},{key:"doSwitchRole",value:function(T){var v,E,C=this,O={command:OU,data:{role:T===Sr?ao:Qp,privateMapKey:this.privateMapKey_},responseCommand:vt.SWITCH_ROLE_RES,retries:((v=this.schedule_.config)===null||v===void 0||(E=v.retries)===null||E===void 0?void 0:E.switchRole)||1};return this.log_.info("switchRole signal data: "+JSON.stringify(O.data)),this.signalChannel_.sendWaitForResponseWithRetry(O).then(function(F){var K=F.data,re=K.code,ce=K.message;if(re!==0)throw new ee({code:Y.SWITCH_ROLE_FAILED,message:ne({key:q3,data:{errMsg:ce,errCode:re}})});C.role_=T}).catch(function(F){throw F instanceof ee&&F.getCode()===Y.API_CALL_TIMEOUT&&(F=new ee({code:Y.SWITCH_ROLE_FAILED,message:ne({key:K3})})),C.log_.error(F),F})}},{key:"on",value:function(T,v,E){this.emitter_.on(T,v,E)}},{key:"off",value:function(T,v,E){T==="*"?this.emitter_.removeAllListeners():this.emitter_.off(T,v,E)}},{key:"getRemoteMutedState",value:function(){var T=this,v=[];return this.mutedStates_.forEach(function(E,C,O){var F=T.connections_.get(C);F&&v.push(H({userId:F.getUserId()},E))}),v}},{key:"getTransportStats",value:(f=N(p().mark(function T(){var v,E,C,O,F,K,re;return p().wrap(function(ce){for(;;)switch(ce.prev=ce.next){case 0:if(v={rtt:0,downlinksRTT:{}},!this.uplinkConnection_){ce.next=6;break}return ce.next=4,this.stats_.getSenderStats(this.uplinkConnection_);case 4:E=ce.sent,v.rtt=E.rtt;case 6:C=ie(this.connections_),ce.prev=7,C.s();case 9:if((O=C.n()).done){ce.next=17;break}return(F=Te(O.value,2))[0],K=F[1],ce.next=13,this.stats_.getReceiverStats(K);case 13:re=ce.sent,v.downlinksRTT[re.userId]=re.rtt;case 15:ce.next=9;break;case 17:ce.next=22;break;case 19:ce.prev=19,ce.t0=ce.catch(7),C.e(ce.t0);case 22:return ce.prev=22,C.f(),ce.finish(22);case 25:return ce.abrupt("return",v);case 26:case"end":return ce.stop()}},T,this,[[7,19,22,25]])})),function(){return f.apply(this,arguments)})},{key:"getLocalAudioStats",value:(b=N(p().mark(function T(){var v,E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if((v={})[this.userId_]={bytesSent:0,packetsSent:0},!this.uplinkConnection_){C.next=7;break}return C.next=5,this.stats_.getSenderStats(this.uplinkConnection_);case 5:E=C.sent,v[this.userId_]={bytesSent:E.audio.bytesSent,packetsSent:E.audio.packetsSent};case 7:return C.abrupt("return",v);case 8:case"end":return C.stop()}},T,this)})),function(){return b.apply(this,arguments)})},{key:"getLocalVideoStats",value:(y=N(p().mark(function T(){var v,E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if((v={})[this.userId_]={bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0},!this.uplinkConnection_){C.next=7;break}return C.next=5,this.stats_.getSenderStats(this.uplinkConnection_);case 5:E=C.sent,v[this.userId_]={bytesSent:E.video.bytesSent,packetsSent:E.video.packetsSent,framesEncoded:E.video.framesEncoded,framesSent:E.video.framesSent,frameWidth:E.video.frameWidth,frameHeight:E.video.frameHeight};case 7:return C.abrupt("return",v);case 8:case"end":return C.stop()}},T,this)})),function(){return y.apply(this,arguments)})},{key:"getRemoteAudioStats",value:(_=N(p().mark(function T(){var v,E,C,O,F,K,re,ce;return p().wrap(function(ge){for(;;)switch(ge.prev=ge.next){case 0:v={},E=ie(this.connections_),ge.prev=2,E.s();case 4:if((C=E.n()).done){ge.next=13;break}return(O=Te(C.value,2))[0],F=O[1],K=F.getDelay(),re=K.audioDelay,ge.next=9,this.stats_.getReceiverStats(F);case 9:(ce=ge.sent).hasAudio&&(v[ce.userId]={bytesReceived:ce.audio.bytesReceived,packetsReceived:ce.audio.packetsReceived,packetsLost:ce.audio.packetsLost,end2EndDelay:re});case 11:ge.next=4;break;case 13:ge.next=18;break;case 15:ge.prev=15,ge.t0=ge.catch(2),E.e(ge.t0);case 18:return ge.prev=18,E.f(),ge.finish(18);case 21:return ge.abrupt("return",v);case 22:case"end":return ge.stop()}},T,this,[[2,15,18,21]])})),function(){return _.apply(this,arguments)})},{key:"getRemoteVideoStats",value:(h=N(p().mark(function T(){var v,E,C,O,F,K,re,ce,ge,Ye=arguments;return p().wrap(function(Ve){for(;;)switch(Ve.prev=Ve.next){case 0:v=Ye.length>0&&Ye[0]!==void 0?Ye[0]:_t,E={},C=ie(this.connections_),Ve.prev=3,C.s();case 5:if((O=C.n()).done){Ve.next=15;break}return(F=Te(O.value,2))[0],K=F[1],Ve.next=9,this.stats_.getReceiverStats(K);case 9:re=Ve.sent,ce=K.getDelay(),ge=ce.videoDelay,v===_t&&re.hasVideo&&(E[re.userId]={bytesReceived:re.video.bytesReceived,packetsReceived:re.video.packetsReceived,packetsLost:re.video.packetsLost,framesDecoded:re.video.framesDecoded,frameWidth:re.video.frameWidth,frameHeight:re.video.frameHeight,end2EndDelay:ge}),v===Dt&&re.hasAuxiliary&&(E[re.userId]={bytesReceived:re.auxiliary.bytesReceived,packetsReceived:re.auxiliary.packetsReceived,packetsLost:re.auxiliary.packetsLost,framesDecoded:re.auxiliary.framesDecoded,frameWidth:re.auxiliary.frameWidth,frameHeight:re.auxiliary.frameHeight,end2EndDelay:ge});case 13:Ve.next=5;break;case 15:Ve.next=20;break;case 17:Ve.prev=17,Ve.t0=Ve.catch(3),C.e(Ve.t0);case 20:return Ve.prev=20,C.f(),Ve.finish(20);case 23:return Ve.abrupt("return",E);case 24:case"end":return Ve.stop()}},T,this,[[3,17,20,23]])})),function(){return h.apply(this,arguments)})},{key:"getSdpSemantics",value:function(){return this.sdpSemantics_}},{key:"getIceServers",value:function(){return this.turnServers_.length===0&&this.schedule_.iceServers?this.schedule_.iceServers:this.turnServers_}},{key:"getConnections",value:function(){return this.connections_}},{key:"getMutedStates",value:function(){return this.mutedStates_}},{key:"startHeartbeat",value:function(){this.heartbeat_===-1&&(this.log_.info("startHeartbeat..."),this.heartbeat_=yt.run(so,this.doHeartbeat.bind(this),{delay:2e3}))}},{key:"stopHeartbeat",value:function(){this.heartbeat_!==-1&&(this.log_.info("stopHeartbeat"),yt.clearTask(this.heartbeat_),this.heartbeat_=-1,this.lastHeartBeatTime_=-1)}},{key:"doHeartbeat",value:(d=N(p().mark(function T(){var v,E,C,O,F,K;return p().wrap(function(re){for(;;)switch(re.prev=re.next){case 0:return E=this.badCaseDetector_.getMonitorFreeze(),re.next=3,this.stats_.getStatsReport({uplinkConnection:this.uplinkConnection_,downlinkConnections:this.connections_,freezeMap:E});case 3:if(C=re.sent,q.emit(Hf,{client:this,stats:C}),(v=this.badCaseDetector_)===null||v===void 0||v.resetMonitor(),this.signalChannel_){re.next=8;break}return re.abrupt("return");case 8:O=this.signalChannel_.isConnected()?h6(this.userId_):[],F=H(H({str_sdk_version:this.version_,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:af[this.networkType_]}},C),{},{msg_event_msg:O}),this.signalChannel_.send(bU,F),K=Date.now(),this.lastHeartBeatTime_>0&&K-this.lastHeartBeatTime_>1e4&&this.log_.warn("heartbeat took ".concat(K-this.lastHeartBeatTime_)),this.lastHeartBeatTime_=K,!this.isRelayChanged_&&this.isRelayMaybeFailed()&&(this.reJoin(),this.isRelayChanged_=!0);case 15:case"end":return re.stop()}},T,this)})),function(){return d.apply(this,arguments)})},{key:"onRemoteStreamAdded",value:function(T){var v=T.content,E=v.userId,C=v.tinyId,O=v.audio,F=v.bigVideo,K=v.auxVideo,re=v.smallVideo;if(E!==null){this.userMap_.has(E)||(this.userMap_.set(E,new sg({userId:E,tinyId:C,role:Sr})),this.emitter_.emit(ct.PEER_JOIN,{userId:E}));var ce=this.connections_.get(C);if(ce){if(ce.getIsReconnecting())return;this.log_.warn("duplicated stream-added observed, rebuild the connection"),ce.close(),this.connections_.delete(C)}var ge={audio:O,video:F,auxiliary:K,smallVideo:re};this.log_.info("remote peer [".concat(E,"] published stream. trackState: ").concat(JSON.stringify(ge))),this.createDownlinkConnection({userId:E,tinyId:C,trackState:ge})}else this.log_.warn("received null userId on stream added")}},{key:"createDownlinkConnection",value:function(T){var v=this,E=T.userId,C=T.tinyId,O=T.trackState,F=new U7({userId:E,tinyId:C,client:this,isUplink:!1,signalChannel:this.signalChannel_,autoSubscribe:this.autoSubscribe_,trackState:O,enableSEI:this.enableSEI_});this.connections_.set(C,F),this.installDownlinkEvents(F,E,C),this.autoSubscribe_?(F.initialize(),F.connect().catch(function(){!F.getMainStream()&&F.hasMainStream()&&v.initRemoteStream({type:_t,userId:E,downlinkConnection:F}),!F.getAuxStream()&&F.hasAuxStream()&&v.initRemoteStream({type:Dt,userId:E,downlinkConnection:F})})):(F.hasMainStream()&&this.initRemoteStream({type:_t,userId:E,downlinkConnection:F}),F.hasAuxStream()&&this.initRemoteStream({type:Dt,userId:E,downlinkConnection:F}))}},{key:"initRemoteStream",value:function(T){var v=T.type,E=T.userId,C=T.downlinkConnection,O=new Zv({type:v,userId:E,client:this});O.setConnection(C),C.setRemoteStream(v===_t?br:Qs,O),O.setIsStreamAddedEventEmitted(!0),q.emit(yl,{client:this,stream:O}),this.emitter_.emit(ct.STREAM_ADDED,{stream:O})}},{key:"installDownlinkEvents",value:function(T,v,E){var C=this;T.on(tt.SEI_MESSAGE,function(O){C.emitter_.emit(ct.SEI_MESSAGE,O)}),T.on(tt.STREAM_ADDED,function(O){O.stream.setIsStreamAddedEventEmitted(!0),q.emit(yl,{client:C,stream:O.stream}),C.emitter_.emit(ct.STREAM_ADDED,{stream:O.stream})}),T.on(tt.STREAM_REMOVED,function(O){C.changeBigSmallRecords_.delete(O.stream.getUserId()),O.stream.stop(),O.stream.setIsStreamAddedEventEmitted(!1),C.subscriptionManager_&&C.subscriptionManager_.deleteAutoRecoveryFlag(O.stream.getUserId(),O.stream.getType()),q.emit(ia,{client:C,stream:O.stream}),C.emitter_.emit(ct.STREAM_REMOVED,{stream:O.stream})}),T.on(tt.STREAM_UPDATED,function(O){q.emit(RV,{client:C,stream:O.stream});var F=T.getMixUserList();F&&(O.mixUserList=F),C.emitter_.emit(ct.STREAM_UPDATED,O)}),T.on(tt.STREAM_SUBSCRIBED,function(O){q.emit(Ur,{client:C,stream:O.stream}),C.emitter_.emit(ct.STREAM_SUBSCRIBED,{stream:O.stream})}),T.on(tt.ERROR,function(O){var F=O.getCode();F!==Y.ICE_TRANSPORT_ERROR&&(F===Y.DOWNLINK_RECONNECTION_FAILED&&C.closeDownLink(E),C.emitter_.emit(ct.ERROR,O))})}},{key:"onPeerJoin",value:function(T){var v=T.data.data,E=v.srcTinyId,C=v.userId,O=v.role;this.userMap_.has(C)||(this.userMap_.set(C,new sg({userId:C,tinyId:E,role:O})),this.emitter_.emit(ct.PEER_JOIN,{userId:C}))}},{key:"onPeerLeave",value:function(T){var v=T.data.data,E=v.srcTinyId,C=v.userId,O=v.reason,F=O===void 0?0:O;this.log_.info("peer leave [".concat(C,"]: ").concat(c3[F])),this.cleanUser({userId:C,tinyId:E})}},{key:"cleanUser",value:function(T){var v=T.userId,E=T.tinyId;this.userMap_.delete(v),this.closeDownLink(E),this.emitter_.emit(ct.PEER_LEAVE,{userId:v})}},{key:"onPublishedUserList",value:function(T){var v=this;try{var E=be(T.data.userList);T.data.mixRobotList&&E.push.apply(E,be(T.data.mixRobotList));var C=E.map(function(O){return O.userId});this.connections_.forEach(function(O){var F=O.getUserId(),K=O.getTinyId();C.findIndex(function(re){return re===F})<0&&(v.log_.info("peer unpublished detected [".concat(F,"]")),v.closeDownLink(K))}),E.forEach(function(O){var F=O.userId,K=O.srcTinyId,re=O.flag,ce=O.mixUserList;if(F!==v.userId_){var ge=!!(1&re),Ye=!!(8&re),Ve=!!(4&re),Ge=!!(2&re),Ke=v.connections_.get(K);if((Ge||ge)&&v.checkSubscribeBigSmallVideo(Ke,Ge),Ke){var He=Ke.getTrackState(),Cr=He.audio,ma=He.video,Rc=He.auxiliary,Hw=He.smallVideo;ml(ce)&&Ke.setMixUserList(ce),!ma&&ge&&q.emit(Bn,{client:v,tinyId:K,userId:F,action:un.ADD,kind:xe}),!Cr&&Ye&&q.emit(Bn,{client:v,tinyId:K,userId:F,action:un.ADD,kind:Ce}),!Rc&&Ve&&q.emit(Bn,{client:v,tinyId:K,userId:F,action:un.ADD,kind:mt}),!Hw&&Ge&&q.emit(Bn,{client:v,tinyId:K,userId:F,action:un.ADD,kind:qu}),ma&&!ge&&q.emit(Bn,{client:v,tinyId:K,userId:F,action:un.REMOVE,kind:xe}),Cr&&!Ye&&q.emit(Bn,{client:v,tinyId:K,userId:F,action:un.REMOVE,kind:Ce}),Rc&&!Ve&&q.emit(Bn,{client:v,tinyId:K,userId:F,action:un.REMOVE,kind:mt}),Hw&&!Ge&&q.emit(Bn,{client:v,tinyId:K,userId:F,action:un.REMOVE,kind:qu})}else v.log_.info("peer published detected [".concat(F,"]")),v.onRemoteStreamAdded({content:{audio:Ye,bigVideo:ge,auxVideo:Ve,smallVideo:Ge,userId:F,tinyId:K}})}})}catch(O){}}},{key:"onUpdateRemoteMuteStat",value:function(T){var v=this,E=T.data;(E&&E.userList||[]).forEach(function(C){var O=C.srcTinyId,F=C.userId;if(O!==0&&O!==v.tinyId_){var K=v.connections_.get(O);if(K){var re=K.getMainStream();if(re&&re.getIsStreamAddedEventEmitted()){var ce=!!(1&C.flag),ge=!!(8&C.flag),Ye=!!(2&C.flag),Ve=!!(64&C.flag),Ge=!!(16&C.flag),Ke=v.mutedStates_.get(O);if(Ke===void 0)return v.mutedStates_.set(O,{hasAudio:ge,hasVideo:ce,hasSmall:Ye,audioMuted:Ve,videoMuted:Ge}),ce?Ge?v.emitter_.emit(ct.MUTE_VIDEO,{userId:F}):v.emitter_.emit(ct.UNMUTE_VIDEO,{userId:F}):v.emitter_.emit(ct.MUTE_VIDEO,{userId:F}),void(ge?Ve?v.emitter_.emit(ct.MUTE_AUDIO,{userId:F}):v.emitter_.emit(ct.UNMUTE_AUDIO,{userId:F}):v.emitter_.emit(ct.MUTE_AUDIO,{userId:F}));var He=!Ke.audioMuted&&Ke.hasAudio,Cr=!Ve&&ge,ma=!Ke.videoMuted&&Ke.hasVideo,Rc=!Ge&&ce;v.mutedStates_.set(O,{hasAudio:ge,hasVideo:ce,hasSmall:Ye,audioMuted:Ve,videoMuted:Ge}),He!==Cr&&(Cr?v.emitter_.emit(ct.UNMUTE_AUDIO,{userId:F}):v.emitter_.emit(ct.MUTE_AUDIO,{userId:F})),ma!==Rc&&(Rc?v.emitter_.emit(ct.UNMUTE_VIDEO,{userId:F}):v.emitter_.emit(ct.MUTE_VIDEO,{userId:F}))}}else v.mutedStates_.delete(O)}})}},{key:"getEnv",value:function(){return this.env_}},{key:"getSubscriptionManager",value:function(){return this.subscriptionManager_}},{key:"startPublishCDNStream",value:(u=N(p().mark(function T(){var v,E=arguments;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if(v=E.length>0&&E[0]!==void 0?E[0]:{},this.log_.info("startPublishCDNStream with params: ".concat(JSON.stringify(v),"; isJoined: ").concat(this.isJoined_,"; hasMainStream: ").concat(!!this.localStream_,"; hasAuxStream: ").concat(!!this.localAuxStream_,";")),v.streamType=v.streamType||Ze,v.streamType===mt&&(v.streamType=Vn),v.streamId=v.streamId||"",!this.isJoined_){C.next=10;break}if(v.streamType!==Ze||this.localStream_){C.next=8;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:ck})});case 8:if(v.streamType!==Vn||this.localAuxStream_){C.next=10;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:ck})});case 10:return C.next=12,this.publishCDNManager_.startPublishTencentCDN(v);case 12:if(!(v.appId&&v.bizId&&v.url)){C.next=15;break}return C.next=15,this.publishCDNManager_.startPublishGivenCDN(v);case 15:case"end":return C.stop()}},T,this)})),function(){return u.apply(this,arguments)})},{key:"stopPublishCDNStream",value:(c=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(this.publishCDNManager_.getIsPublishingTencentCDN()){v.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:Q3})});case 2:return this.log_.info("stopPublishCDNStream"),v.next=5,this.publishCDNManager_.stopPublishTencentCDN();case 5:if(!this.publishCDNManager_.getIsPublishingGivenCDN()){v.next=8;break}return v.next=8,this.publishCDNManager_.stopPublishGivenCDN();case 8:case"end":return v.stop()}},T,this)})),function(){return c.apply(this,arguments)})},{key:"startMixTranscode",value:(s=N(p().mark(function T(v){return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(this.isJoined_&&this.mixTranscodeManager_){E.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:$3})});case 2:return ve(v.mode)&&(v.mode=rf.MANUAL),E.prev=3,this.log_.info("startMixTranscode with config ".concat(JSON.stringify(v))),Ie.uploadEvent({log:"mix-transcode-mode:".concat(v.mode),userId:this.userId_}),E.next=8,this.mixTranscodeManager_.startMixTranscode(v);case 8:Ie.logSuccessEvent({userId:this.userId_,eventType:Bb}),E.next=15;break;case 11:throw E.prev=11,E.t0=E.catch(3),Ie.logFailedEvent({userId:this.userId_,eventType:Bb,error:E.t0}),E.t0;case 15:case"end":return E.stop()}},T,this,[[3,11]])})),function(T){return s.apply(this,arguments)})},{key:"stopMixTranscode",value:(a=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(this.isJoined_&&this.mixTranscodeManager_){v.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:Z3})});case 2:return v.prev=2,v.next=5,this.mixTranscodeManager_.stopMixTranscode();case 5:Ie.logSuccessEvent({userId:this.userId_,eventType:jb}),v.next=12;break;case 8:throw v.prev=8,v.t0=v.catch(2),Ie.logFailedEvent({userId:this.userId_,eventType:jb,error:v.t0}),v.t0;case 12:case"end":return v.stop()}},T,this,[[2,8]])})),function(){return a.apply(this,arguments)})},{key:"getSystemResult",value:function(){return this.checkSystemResult_}},{key:"enableAudioVolumeEvaluation",value:function(){var T=this,v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:2e3,E=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!xr(v))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:e4})});if(this.log_.info("enableAudioVolumeEvaluation with interval: "+v),v<=0)return this.enableAudioVolumeEvaluation_=!1,yt.clearTask(this.audioVolumeIntervalId_),void(this.audioVolumeIntervalId_=null);v=Math.floor(Math.max(v,16)),q.emit(qf,{interval:v}),this.audioVolumeIntervalId_&&(yt.clearTask(this.audioVolumeIntervalId_),this.audioVolumeIntervalId_=null),this.enableAudioVolumeEvaluation_=!0,this.audioVolumeIntervalId_=yt.run(rl,function(){var C=[];if(T.localStream_){var O=Math.floor(100*T.localStream_.getAudioLevel());C.push({userId:T.userId_,audioVolume:O,stream:T.localStream_})}T.connections_.forEach(function(F){var K=F.getSubscribedMainStream();if(K){var re=Math.floor(100*K.getAudioLevel());C.push({userId:F.getUserId(),audioVolume:re,stream:K})}}),T.emitter_.emit(ct.AUDIO_VOLUME,{result:C})},{fps:1e3/v,backgroundTask:E})}},{key:"callExperimentalAPI",value:function(T,v){return K7.call(T,H({client:this},v))}},{key:"setProperty",value:function(T,v){var E="".concat(T,"_");ve(this[E])||(this[E]=v)}},{key:"uploadAllCallStats",value:function(){var T=this;this.callDurationCalculator_.getDurationMap().forEach(function(v,E){var C={userId:v.userId,type:v.type,duration:T.callDurationCalculator_.getDuration(E,xe),dataFreeze:T.badCaseDetector_.getDataFreezeDuration(E).dataFreeze,renderFreeze:T.badCaseDetector_.getRenderFreezeDuration(E).renderFreeze};Ie.uploadEvent({log:"callStats-"+JSON.stringify(C),userId:T.userId_})}),this.badCaseDetector_.stop(),this.callDurationCalculator_.reset()}},{key:"enableSmallStream",value:(o=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(!this.isPublished()&&!this.isPublishing_){v.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:t4})});case 2:if(!UT()){v.next=7;break}this.setIsEnableSmallStream(!0),this.log_.info("SmallStream successfully enabled"),v.next=8;break;case 7:throw new ee({code:Y.INVALID_OPERATION,message:ne({key:r4})});case 8:case"end":return v.stop()}},T,this)})),function(){return o.apply(this,arguments)})},{key:"disableSmallStream",value:(i=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(!this.isPublished()&&!this.isPublishing_){v.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:n4})});case 2:this.setIsEnableSmallStream(!1),this.log_.info("SmallStream successfully disabled");case 4:case"end":return v.stop()}},T,this)})),function(){return i.apply(this,arguments)})},{key:"setSmallStreamProfile",value:function(T){var v=this;T&&T.framerate&&(T.frameRate=T.framerate),T.width*T.height>307200&&(T.width=320,T.height=240,this.log_.info("Small stream resolution is beyond limitation, which is invalid. Reset to 320 * 240")),Object.keys(this.smallStreamConfig_).forEach(function(re){T[re]&&(v.smallStreamConfig_[re]=T[re])});var E=this.smallStreamConfig_,C=E.width,O=E.height,F=E.bitrate,K=E.frameRate;if(this.log_.info("setSmallStreamProfile: bitrate=".concat(F,", frameRate=").concat(K,", height=").concat(O,", width=").concat(C)),C<0||O<0||F<0||K<0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:i4})})}},{key:"setRemoteVideoStreamType",value:(r=N(p().mark(function T(v,E){return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if(v instanceof Zv){C.next=2;break}throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:a4})});case 2:if(v.getConnection()){C.next=4;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:df})});case 4:if(v.getType()!==Dt){C.next=6;break}return C.abrupt("return");case 6:C.t0=E,C.next=C.t0===Jb||C.t0===Kb?9:12;break;case 9:return C.next=11,this.changeVideoType(v,E);case 11:case 12:return C.abrupt("break",13);case 13:case"end":return C.stop()}},T,this)})),function(T,v){return r.apply(this,arguments)})},{key:"changeVideoType",value:(n=N(p().mark(function T(v,E){var C,O;return p().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:C=v.getUserId(),O={stream:v,options:{video:E===Jb,smallVideo:E===Kb},isSubscribing:!1,reSubscribeCount:10},this.changeBigSmallRecords_.set(C,O),this.log_.info("set [".concat(C,"] ").concat(v.getType()," stream video prefer type: ").concat(E));case 5:case"end":return F.stop()}},T,this)})),function(T,v){return n.apply(this,arguments)})},{key:"checkSubscribeBigSmallVideo",value:(t=N(p().mark(function T(v,E){var C,O,F,K,re,ce,ge,Ye,Ve,Ge,Ke;return p().wrap(function(He){for(;;)switch(He.prev=He.next){case 0:if(v!=null&&v.isBigStreamSubscribed||v!=null&&v.isSmallStreamSubscribed){He.next=2;break}return He.abrupt("return");case 2:if(C=v.getUserId(),this.changeBigSmallRecords_.has(C)){He.next=5;break}return He.abrupt("return");case 5:if(O=this.changeBigSmallRecords_.get(C),F=v.getSubscribeState(),K=F.video,re=F.smallVideo,ce=O.stream,ge=O.options,Ye=O.isSubscribing,Ve=O.reSubscribeCount,!(ge.video&&K||ge.smallVideo&&re&&E)){He.next=10;break}return He.abrupt("return");case 10:if(Ge={video:ge.video,smallVideo:ge.smallVideo},!(E&&v.isBigStreamSubscribed||v.isSmallStreamSubscribed)){He.next=31;break}if(He.prev=12,!(ge&&ce&&!Ye&&Ve>=1)){He.next=24;break}return O.isSubscribing=!0,O.reSubscribeCount=Ve-1,Ke=ce.getConnection(),!E&&Ke.isSmallStreamSubscribed&&(Ge={video:!0,smallVideo:!1}),Ge.emitEvent=!1,He.next=21,Ke==null?void 0:Ke.subscribe(ce,Ge);case 21:this.log_.info("change [".concat(C,"] to ").concat(Ge.smallVideo?"small":"big"," video successfully. count ").concat(10-O.reSubscribeCount,".")),O.isSubscribing=!1,O.reSubscribeCount=10;case 24:He.next=31;break;case 26:He.prev=26,He.t0=He.catch(12),this.log_.info("change [".concat(C,"] to ").concat(Ge.smallVideo?"small":"big"," video failed. count ").concat(10-O.reSubscribeCount,".")),O.isSubscribing=!1,Ve===0&&this.changeBigSmallRecords_.delete(C);case 31:case"end":return He.stop()}},T,this,[[12,26]])})),function(T,v){return t.apply(this,arguments)})},{key:"setIsEnableSmallStream",value:function(T){this.isEnableSmallStream_=T}},{key:"getIsEnableSmallStream",value:function(){return this.isEnableSmallStream_}},{key:"smallStreamConfig",get:function(){return this.smallStreamConfig_}},{key:"isPublished",value:function(){return!!this.localStream_}},{key:"getUplinkConnection",value:function(){return this.uplinkConnection_}},{key:"getLocalStream",value:function(){return this.localStream_}},{key:"getMode",value:function(){return this.mode_}},{key:"getBadCaseDetector",value:function(){return this.badCaseDetector_}},{key:"getCallDurationCalculator",value:function(){return this.callDurationCalculator_}},{key:"getIsJoined",value:function(){return this.isJoined_}},{key:"getAllConnections",value:function(){var T=be(this.connections_.values());return this.uplinkConnection_&&T.push(this.uplinkConnection_),T}},{key:"isRelayMaybeFailed",value:function(){if(!this.signalChannel_.isOnline)return!1;var T=this.getAllConnections();if(T.length===0)return!1;for(var v=0;v<T.length;v++)if(T[v].getReconnectionCount()<6)return!1;return!0}},{key:"getUseStringRoomId",value:function(){return this.useStringRoomId_}},{key:"checkConnectionsToReconnect",value:function(){var T=this;this.getAllConnections().forEach(function(v){if(!v.getIsReconnecting()){var E=v.getPeerConnection();E&&E.connectionState===Yp&&(T.log_.warn("[".concat(v.getUserId(),"] pc is closed but not reconnect")),v.startReconnection())}})}},{key:"getEnableAutoPlayDialog",value:function(){return this.enableAutoPlayDialog_}},{key:"sendSEIMessage",value:function(T,v){this.uplinkConnection_.sendSEI(T,v)}},{key:"setProxyServer",value:function(T){if(this.log_.info("set proxy server: ".concat(JSON.stringify(T))),Ft(T)){if(!T.startsWith("wss://"))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:D3})});this.proxy_=T}else if(na(T)){var v=T.websocketProxy,E=T.loggerProxy,C=T.scheduleProxy,O=T.unifiedProxy;v&&(this.proxy_=v),E&&Xp(E),C&&Xb(C),O&&(this.unifiedProxy_=O,Xp("https://".concat(O)),Xb(O))}}},{key:"setTurnServer",value:function(T){this.log_.info("set turn server: "+JSON.stringify(T));var v=[];Array.isArray(T)?T.forEach(function(E){return v.push(Nk(E))}):na(T)&&v.push(Nk(T)),this.turnServers_=v}},{key:"get2k4kFlag",value:function(){var T,v;return(T=this.schedule_)===null||T===void 0||(v=T.trtcCapability)===null||v===void 0?void 0:v["2k4k"]}}]),e}(),W(Ae.prototype,"join",[sw,cw],Object.getOwnPropertyDescriptor(Ae.prototype,"join"),Ae.prototype),W(Ae.prototype,"leave",[uw],Object.getOwnPropertyDescriptor(Ae.prototype,"leave"),Ae.prototype),W(Ae.prototype,"getUserList",[lw],Object.getOwnPropertyDescriptor(Ae.prototype,"getUserList"),Ae.prototype),W(Ae.prototype,"publish",[dw,hw,pw],Object.getOwnPropertyDescriptor(Ae.prototype,"publish"),Ae.prototype),W(Ae.prototype,"unpublish",[fw,mw],Object.getOwnPropertyDescriptor(Ae.prototype,"unpublish"),Ae.prototype),W(Ae.prototype,"subscribe",[vw],Object.getOwnPropertyDescriptor(Ae.prototype,"subscribe"),Ae.prototype),W(Ae.prototype,"unsubscribe",[gw],Object.getOwnPropertyDescriptor(Ae.prototype,"unsubscribe"),Ae.prototype),W(Ae.prototype,"switchRole",[_w,yw,Sw],Object.getOwnPropertyDescriptor(Ae.prototype,"switchRole"),Ae.prototype),W(Ae.prototype,"startPublishCDNStream",[bw,kw],Object.getOwnPropertyDescriptor(Ae.prototype,"startPublishCDNStream"),Ae.prototype),W(Ae.prototype,"stopPublishCDNStream",[Tw],Object.getOwnPropertyDescriptor(Ae.prototype,"stopPublishCDNStream"),Ae.prototype),W(Ae.prototype,"startMixTranscode",[xw,Iw],Object.getOwnPropertyDescriptor(Ae.prototype,"startMixTranscode"),Ae.prototype),W(Ae.prototype,"stopMixTranscode",[ww],Object.getOwnPropertyDescriptor(Ae.prototype,"stopMixTranscode"),Ae.prototype),W(Ae.prototype,"enableAudioVolumeEvaluation",[Ew],Object.getOwnPropertyDescriptor(Ae.prototype,"enableAudioVolumeEvaluation"),Ae.prototype),W(Ae.prototype,"enableSmallStream",[Cw],Object.getOwnPropertyDescriptor(Ae.prototype,"enableSmallStream"),Ae.prototype),W(Ae.prototype,"disableSmallStream",[Rw],Object.getOwnPropertyDescriptor(Ae.prototype,"disableSmallStream"),Ae.prototype),W(Ae.prototype,"setSmallStreamProfile",[Aw],Object.getOwnPropertyDescriptor(Ae.prototype,"setSmallStreamProfile"),Ae.prototype),W(Ae.prototype,"setRemoteVideoStreamType",[Pw],Object.getOwnPropertyDescriptor(Ae.prototype,"setRemoteVideoStreamType"),Ae.prototype),W(Ae.prototype,"sendSEIMessage",[Dw,Lw,Ow],Object.getOwnPropertyDescriptor(Ae.prototype,"sendSEIMessage"),Ae.prototype),W(Ae.prototype,"setProxyServer",[Mw],Object.getOwnPropertyDescriptor(Ae.prototype,"setProxyServer"),Ae.prototype),W(Ae.prototype,"setTurnServer",[Nw],Object.getOwnPropertyDescriptor(Ae.prototype,"setTurnServer"),Ae.prototype),Ae),X7=0,Q7=0,Y7=(Vw=kt(ec),Uw=kt(ec),Bw=kt(ec),jw=nd(Yt.TRTC.createClient),Fw=kt(ec),Gw=nd(Yt.TRTC.createStream),$t=function(){function e(){J(this,e),this.name_=ec,this.VERSION=Vi,this.Logger={loggerManager:ke,LogLevel:Un,setLogLevel:function(n){ke.setLogLevel(n),n<=1&&IV()},enableUploadLog:function(){Ii.handleFunctionState({fnName:"TRTC.enableUploadLog"}),ke.enableUploadLog()},disableUploadLog:function(){ke.warn("disableUploadLog"),Ii.handleFunctionState({fnName:"TRTC.disableUploadLog"}),ke.disableUploadLog()}}}var t;return ye(e,[{key:"checkSystemRequirements",value:(t=N(p().mark(function n(){return p().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,Am();case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}},n)})),function(){return t.apply(this,arguments)})},{key:"isScreenShareSupported",value:function(){return OT()}},{key:"isSmallStreamSupported",value:function(){return UT()}},{key:"getDevices",value:function(){return Um()}},{key:"getCameras",value:function(){return function(){return Vm.apply(this,arguments)}()}},{key:"getMicrophones",value:function(){return GT()}},{key:"getSpeakers",value:function(){return function(){return Fm.apply(this,arguments)}()}},{key:"createClient",value:function(n){Jk&&(Jk=!1,ke.getLogLevel()!=Tt.Logger.LogLevel.NONE&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: "+"".concat(uf,"index.html")),console.info("* Changelog: https://cloud.tencent.com/document/product/647/38958"),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),ke.info("TRTC Web SDK Version: 4.15.10"),ke.info("UserAgent: "+navigator.userAgent),ke.info("URL of current page: "+location.href));var r={version:this.VERSION},i=new q7(H(H(H({},r),n),{},{seq:++X7}));return q.emit(Hk,{client:i}),i}},{key:"createStream",value:function(n){return new f7(H(H({},n),{},{seq:++Q7}))}}]),e}(),W($t.prototype,"checkSystemRequirements",[Vw],Object.getOwnPropertyDescriptor($t.prototype,"checkSystemRequirements"),$t.prototype),W($t.prototype,"isScreenShareSupported",[Uw],Object.getOwnPropertyDescriptor($t.prototype,"isScreenShareSupported"),$t.prototype),W($t.prototype,"isSmallStreamSupported",[Bw],Object.getOwnPropertyDescriptor($t.prototype,"isSmallStreamSupported"),$t.prototype),W($t.prototype,"createClient",[jw,Fw],Object.getOwnPropertyDescriptor($t.prototype,"createClient"),$t.prototype),W($t.prototype,"createStream",[Gw],Object.getOwnPropertyDescriptor($t.prototype,"createStream"),$t.prototype),$t),Tt=new Y7;return Tt})});var mg=dg((y9,fg)=>{"use strict";var Oo=typeof Reflect=="object"?Reflect:null,qw=Oo&&typeof Oo.apply=="function"?Oo.apply:function(H,p,V){return Function.prototype.apply.call(H,p,V)},Sd;Oo&&typeof Oo.ownKeys=="function"?Sd=Oo.ownKeys:Object.getOwnPropertySymbols?Sd=function(H){return Object.getOwnPropertyNames(H).concat(Object.getOwnPropertySymbols(H))}:Sd=function(H){return Object.getOwnPropertyNames(H)};function o9(Z){console&&console.warn&&console.warn(Z)}var Qw=Number.isNaN||function(H){return H!==H};function ft(){ft.init.call(this)}fg.exports=ft;fg.exports.once=l9;ft.EventEmitter=ft;ft.prototype._events=void 0;ft.prototype._eventsCount=0;ft.prototype._maxListeners=void 0;var Xw=10;function bd(Z){if(typeof Z!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof Z)}Object.defineProperty(ft,"defaultMaxListeners",{enumerable:!0,get:function(){return Xw},set:function(Z){if(typeof Z!="number"||Z<0||Qw(Z))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+Z+".");Xw=Z}});ft.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ft.prototype.setMaxListeners=function(H){if(typeof H!="number"||H<0||Qw(H))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+H+".");return this._maxListeners=H,this};function Yw(Z){return Z._maxListeners===void 0?ft.defaultMaxListeners:Z._maxListeners}ft.prototype.getMaxListeners=function(){return Yw(this)};ft.prototype.emit=function(H){for(var p=[],V=1;V<arguments.length;V++)p.push(arguments[V]);var X=H==="error",N=this._events;if(N!==void 0)X=X&&N.error===void 0;else if(!X)return!1;if(X){var J;if(p.length>0&&(J=p[0]),J instanceof Error)throw J;var Pe=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw Pe.context=J,Pe}var ye=N[H];if(ye===void 0)return!1;if(typeof ye=="function")qw(ye,this,p);else for(var ut=ye.length,Nt=nE(ye,ut),V=0;V<ut;++V)qw(Nt[V],this,p);return!0};function $w(Z,H,p,V){var X,N,J;if(bd(p),N=Z._events,N===void 0?(N=Z._events=Object.create(null),Z._eventsCount=0):(N.newListener!==void 0&&(Z.emit("newListener",H,p.listener?p.listener:p),N=Z._events),J=N[H]),J===void 0)J=N[H]=p,++Z._eventsCount;else if(typeof J=="function"?J=N[H]=V?[p,J]:[J,p]:V?J.unshift(p):J.push(p),X=Yw(Z),X>0&&J.length>X&&!J.warned){J.warned=!0;var Pe=new Error("Possible EventEmitter memory leak detected. "+J.length+" "+String(H)+" listeners added. Use emitter.setMaxListeners() to increase limit");Pe.name="MaxListenersExceededWarning",Pe.emitter=Z,Pe.type=H,Pe.count=J.length,o9(Pe)}return Z}ft.prototype.addListener=function(H,p){return $w(this,H,p,!1)};ft.prototype.on=ft.prototype.addListener;ft.prototype.prependListener=function(H,p){return $w(this,H,p,!0)};function s9(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Zw(Z,H,p){var V={fired:!1,wrapFn:void 0,target:Z,type:H,listener:p},X=s9.bind(V);return X.listener=p,V.wrapFn=X,X}ft.prototype.once=function(H,p){return bd(p),this.on(H,Zw(this,H,p)),this};ft.prototype.prependOnceListener=function(H,p){return bd(p),this.prependListener(H,Zw(this,H,p)),this};ft.prototype.removeListener=function(H,p){var V,X,N,J,Pe;if(bd(p),X=this._events,X===void 0)return this;if(V=X[H],V===void 0)return this;if(V===p||V.listener===p)--this._eventsCount===0?this._events=Object.create(null):(delete X[H],X.removeListener&&this.emit("removeListener",H,V.listener||p));else if(typeof V!="function"){for(N=-1,J=V.length-1;J>=0;J--)if(V[J]===p||V[J].listener===p){Pe=V[J].listener,N=J;break}if(N<0)return this;N===0?V.shift():c9(V,N),V.length===1&&(X[H]=V[0]),X.removeListener!==void 0&&this.emit("removeListener",H,Pe||p)}return this};ft.prototype.off=ft.prototype.removeListener;ft.prototype.removeAllListeners=function(H){var p,V,X;if(V=this._events,V===void 0)return this;if(V.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):V[H]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete V[H]),this;if(arguments.length===0){var N=Object.keys(V),J;for(X=0;X<N.length;++X)J=N[X],J!=="removeListener"&&this.removeAllListeners(J);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(p=V[H],typeof p=="function")this.removeListener(H,p);else if(p!==void 0)for(X=p.length-1;X>=0;X--)this.removeListener(H,p[X]);return this};function eE(Z,H,p){var V=Z._events;if(V===void 0)return[];var X=V[H];return X===void 0?[]:typeof X=="function"?p?[X.listener||X]:[X]:p?u9(X):nE(X,X.length)}ft.prototype.listeners=function(H){return eE(this,H,!0)};ft.prototype.rawListeners=function(H){return eE(this,H,!1)};ft.listenerCount=function(Z,H){return typeof Z.listenerCount=="function"?Z.listenerCount(H):tE.call(Z,H)};ft.prototype.listenerCount=tE;function tE(Z){var H=this._events;if(H!==void 0){var p=H[Z];if(typeof p=="function")return 1;if(p!==void 0)return p.length}return 0}ft.prototype.eventNames=function(){return this._eventsCount>0?Sd(this._events):[]};function nE(Z,H){for(var p=new Array(H),V=0;V<H;++V)p[V]=Z[V];return p}function c9(Z,H){for(;H+1<Z.length;H++)Z[H]=Z[H+1];Z.pop()}function u9(Z){for(var H=new Array(Z.length),p=0;p<H.length;++p)H[p]=Z[p].listener||Z[p];return H}function l9(Z,H){return new Promise(function(p,V){function X(J){Z.removeListener(H,N),V(J)}function N(){typeof Z.removeListener=="function"&&Z.removeListener("error",X),p([].slice.call(arguments))}rE(Z,H,N,{once:!0}),H!=="error"&&d9(Z,X,{once:!0})})}function d9(Z,H,p){typeof Z.on=="function"&&rE(Z,"error",H,p)}function rE(Z,H,p,V){if(typeof Z.on=="function")V.once?Z.once(H,p):Z.on(H,p);else if(typeof Z.addEventListener=="function")Z.addEventListener(H,function X(N){V.once&&Z.removeEventListener(H,X),p(N)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof Z)}});var aE=dg((vg,gg)=>{(function(Z,H){typeof vg=="object"&&typeof gg!="undefined"?gg.exports=H(Rr()):typeof define=="function"&&define.amd?define(["trtc-js-sdk"],H):(Z=typeof globalThis!="undefined"?globalThis:Z||self).RTCBeautyPlugin=H(Z.TRTC)})(vg,function(Z){function H(se){return se&&typeof se=="object"&&"default"in se?se:{default:se}}var p=H(Z);function V(){V=function(){return se};var se={},Te=Object.prototype,be=Te.hasOwnProperty,Be=typeof Symbol=="function"?Symbol:{},ze=Be.iterator||"@@iterator",ie=Be.asyncIterator||"@@asyncIterator",W=Be.toStringTag||"@@toStringTag";function ae(de,le,Ne){return Object.defineProperty(de,le,{value:Ne,enumerable:!0,configurable:!0,writable:!0}),de[le]}try{ae({},"")}catch(de){ae=function(le,Ne,Je){return le[Ne]=Je}}function B(de,le,Ne,Je){var De=le&&le.prototype instanceof oe?le:oe,lt=Object.create(De.prototype),it=new et(Je||[]);return lt._invoke=function(Vt,en,pe){var Lt="suspendedStart";return function(qt,lr){if(Lt==="executing")throw new Error("Generator is already running");if(Lt==="completed"){if(qt==="throw")throw lr;return Kn()}for(pe.method=qt,pe.arg=lr;;){var wi=pe.delegate;if(wi){var yn=ur(wi,pe);if(yn){if(yn===Se)continue;return yn}}if(pe.method==="next")pe.sent=pe._sent=pe.arg;else if(pe.method==="throw"){if(Lt==="suspendedStart")throw Lt="completed",pe.arg;pe.dispatchException(pe.arg)}else pe.method==="return"&&pe.abrupt("return",pe.arg);Lt="executing";var Ct=te(Vt,en,pe);if(Ct.type==="normal"){if(Lt=pe.done?"completed":"suspendedYield",Ct.arg===Se)continue;return{value:Ct.arg,done:pe.done}}Ct.type==="throw"&&(Lt="completed",pe.method="throw",pe.arg=Ct.arg)}}}(de,Ne,it),lt}function te(de,le,Ne){try{return{type:"normal",arg:de.call(le,Ne)}}catch(Je){return{type:"throw",arg:Je}}}se.wrap=B;var Se={};function oe(){}function _e(){}function Oe(){}var Jt={};ae(Jt,ze,function(){return this});var Zt=Object.getPrototypeOf,Qe=Zt&&Zt(Zt(zt([])));Qe&&Qe!==Te&&be.call(Qe,ze)&&(Jt=Qe);var Kt=Oe.prototype=oe.prototype=Object.create(Jt);function ht(de){["next","throw","return"].forEach(function(le){ae(de,le,function(Ne){return this._invoke(le,Ne)})})}function Jn(de,le){function Ne(De,lt,it,Vt){var en=te(de[De],de,lt);if(en.type!=="throw"){var pe=en.arg,Lt=pe.value;return Lt&&typeof Lt=="object"&&be.call(Lt,"__await")?le.resolve(Lt.__await).then(function(qt){Ne("next",qt,it,Vt)},function(qt){Ne("throw",qt,it,Vt)}):le.resolve(Lt).then(function(qt){pe.value=qt,it(pe)},function(qt){return Ne("throw",qt,it,Vt)})}Vt(en.arg)}var Je;this._invoke=function(De,lt){function it(){return new le(function(Vt,en){Ne(De,lt,Vt,en)})}return Je=Je?Je.then(it,it):it()}}function ur(de,le){var Ne=de.iterator[le.method];if(Ne===void 0){if(le.delegate=null,le.method==="throw"){if(de.iterator.return&&(le.method="return",le.arg=void 0,ur(de,le),le.method==="throw"))return Se;le.method="throw",le.arg=new TypeError("The iterator does not provide a 'throw' method")}return Se}var Je=te(Ne,de.iterator,le.arg);if(Je.type==="throw")return le.method="throw",le.arg=Je.arg,le.delegate=null,Se;var De=Je.arg;return De?De.done?(le[de.resultName]=De.value,le.next=de.nextLoc,le.method!=="return"&&(le.method="next",le.arg=void 0),le.delegate=null,Se):De:(le.method="throw",le.arg=new TypeError("iterator result is not an object"),le.delegate=null,Se)}function Ht(de){var le={tryLoc:de[0]};1 in de&&(le.catchLoc=de[1]),2 in de&&(le.finallyLoc=de[2],le.afterLoc=de[3]),this.tryEntries.push(le)}function An(de){var le=de.completion||{};le.type="normal",delete le.arg,de.completion=le}function et(de){this.tryEntries=[{tryLoc:"root"}],de.forEach(Ht,this),this.reset(!0)}function zt(de){if(de){var le=de[ze];if(le)return le.call(de);if(typeof de.next=="function")return de;if(!isNaN(de.length)){var Ne=-1,Je=function De(){for(;++Ne<de.length;)if(be.call(de,Ne))return De.value=de[Ne],De.done=!1,De;return De.value=void 0,De.done=!0,De};return Je.next=Je}}return{next:Kn}}function Kn(){return{value:void 0,done:!0}}return _e.prototype=Oe,ae(Kt,"constructor",Oe),ae(Oe,"constructor",_e),_e.displayName=ae(Oe,W,"GeneratorFunction"),se.isGeneratorFunction=function(de){var le=typeof de=="function"&&de.constructor;return!!le&&(le===_e||(le.displayName||le.name)==="GeneratorFunction")},se.mark=function(de){return Object.setPrototypeOf?Object.setPrototypeOf(de,Oe):(de.__proto__=Oe,ae(de,W,"GeneratorFunction")),de.prototype=Object.create(Kt),de},se.awrap=function(de){return{__await:de}},ht(Jn.prototype),ae(Jn.prototype,ie,function(){return this}),se.AsyncIterator=Jn,se.async=function(de,le,Ne,Je,De){De===void 0&&(De=Promise);var lt=new Jn(B(de,le,Ne,Je),De);return se.isGeneratorFunction(le)?lt:lt.next().then(function(it){return it.done?it.value:lt.next()})},ht(Kt),ae(Kt,W,"Generator"),ae(Kt,ze,function(){return this}),ae(Kt,"toString",function(){return"[object Generator]"}),se.keys=function(de){var le=[];for(var Ne in de)le.push(Ne);return le.reverse(),function Je(){for(;le.length;){var De=le.pop();if(De in de)return Je.value=De,Je.done=!1,Je}return Je.done=!0,Je}},se.values=zt,et.prototype={constructor:et,reset:function(de){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(An),!de)for(var le in this)le.charAt(0)==="t"&&be.call(this,le)&&!isNaN(+le.slice(1))&&(this[le]=void 0)},stop:function(){this.done=!0;var de=this.tryEntries[0].completion;if(de.type==="throw")throw de.arg;return this.rval},dispatchException:function(de){if(this.done)throw de;var le=this;function Ne(en,pe){return lt.type="throw",lt.arg=de,le.next=en,pe&&(le.method="next",le.arg=void 0),!!pe}for(var Je=this.tryEntries.length-1;Je>=0;--Je){var De=this.tryEntries[Je],lt=De.completion;if(De.tryLoc==="root")return Ne("end");if(De.tryLoc<=this.prev){var it=be.call(De,"catchLoc"),Vt=be.call(De,"finallyLoc");if(it&&Vt){if(this.prev<De.catchLoc)return Ne(De.catchLoc,!0);if(this.prev<De.finallyLoc)return Ne(De.finallyLoc)}else if(it){if(this.prev<De.catchLoc)return Ne(De.catchLoc,!0)}else{if(!Vt)throw new Error("try statement without catch or finally");if(this.prev<De.finallyLoc)return Ne(De.finallyLoc)}}}},abrupt:function(de,le){for(var Ne=this.tryEntries.length-1;Ne>=0;--Ne){var Je=this.tryEntries[Ne];if(Je.tryLoc<=this.prev&&be.call(Je,"finallyLoc")&&this.prev<Je.finallyLoc){var De=Je;break}}De&&(de==="break"||de==="continue")&&De.tryLoc<=le&&le<=De.finallyLoc&&(De=null);var lt=De?De.completion:{};return lt.type=de,lt.arg=le,De?(this.method="next",this.next=De.finallyLoc,Se):this.complete(lt)},complete:function(de,le){if(de.type==="throw")throw de.arg;return de.type==="break"||de.type==="continue"?this.next=de.arg:de.type==="return"?(this.rval=this.arg=de.arg,this.method="return",this.next="end"):de.type==="normal"&&le&&(this.next=le),Se},finish:function(de){for(var le=this.tryEntries.length-1;le>=0;--le){var Ne=this.tryEntries[le];if(Ne.finallyLoc===de)return this.complete(Ne.completion,Ne.afterLoc),An(Ne),Se}},catch:function(de){for(var le=this.tryEntries.length-1;le>=0;--le){var Ne=this.tryEntries[le];if(Ne.tryLoc===de){var Je=Ne.completion;if(Je.type==="throw"){var De=Je.arg;An(Ne)}return De}}throw new Error("illegal catch attempt")},delegateYield:function(de,le,Ne){return this.delegate={iterator:zt(de),resultName:le,nextLoc:Ne},this.method==="next"&&(this.arg=void 0),Se}},se}function X(se){return X=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Te){return typeof Te}:function(Te){return Te&&typeof Symbol=="function"&&Te.constructor===Symbol&&Te!==Symbol.prototype?"symbol":typeof Te},X(se)}function N(se,Te,be,Be,ze,ie,W){try{var ae=se[ie](W),B=ae.value}catch(te){return void be(te)}ae.done?Te(B):Promise.resolve(B).then(Be,ze)}function J(se){return function(){var Te=this,be=arguments;return new Promise(function(Be,ze){var ie=se.apply(Te,be);function W(B){N(ie,Be,ze,W,ae,"next",B)}function ae(B){N(ie,Be,ze,W,ae,"throw",B)}W(void 0)})}}function Pe(se,Te){if(!(se instanceof Te))throw new TypeError("Cannot call a class as a function")}function ye(se,Te){for(var be=0;be<Te.length;be++){var Be=Te[be];Be.enumerable=Be.enumerable||!1,Be.configurable=!0,"value"in Be&&(Be.writable=!0),Object.defineProperty(se,Be.key,Be)}}function ut(se,Te,be){return Te&&ye(se.prototype,Te),be&&ye(se,be),Object.defineProperty(se,"prototype",{writable:!1}),se}function Nt(se,Te,be){var Be=function(te,Se,oe){var _e=new RegExp("\\b".concat(Se," \\w+ (\\w+)"),"ig");te.replace(_e,function(Oe,Jt){return oe[Jt]=0,Oe})},ze=function(te,Se,oe){var _e=te.createShader(oe);return te.shaderSource(_e,Se),te.compileShader(_e),te.getShaderParameter(_e,te.COMPILE_STATUS)?_e:(console.log(te.getShaderInfoLog(_e)),null)};this.uniform={},this.attribute={};var ie=ze(se,Te,se.VERTEX_SHADER),W=ze(se,be,se.FRAGMENT_SHADER);for(var ae in this.id=se.createProgram(),se.attachShader(this.id,ie),se.attachShader(this.id,W),se.linkProgram(this.id),se.getProgramParameter(this.id,se.LINK_STATUS)||console.log(se.getProgramInfoLog(this.id)),se.useProgram(this.id),Be(Te,"attribute",this.attribute),this.attribute)this.attribute[ae]=se.getAttribLocation(this.id,ae);for(var B in Be(Te,"uniform",this.uniform),Be(be,"uniform",this.uniform),this.uniform)this.uniform[B]=se.getUniformLocation(this.id,B)}function $e(se,Te,be,Be){for(var ze=[],ie=0;ie<Te.length;++ie)ze.push(Dc(se,Te[ie],se[cr[ie]]));return function(W,ae,B,te){var Se=W.createProgram();return ae.forEach(function(oe){W.attachShader(Se,oe)}),B&&B.forEach(function(oe,_e){W.bindAttribLocation(Se,te?te[_e]:_e,oe)}),W.linkProgram(Se),W.getProgramParameter(Se,W.LINK_STATUS)?Se:(W.deleteProgram(Se),null)}(se,ze,be,Be)}var cr=["VERTEX_SHADER","FRAGMENT_SHADER"];function Dc(se,Te,be){var Be=se.createShader(be);return se.shaderSource(Be,Te),se.compileShader(Be),se.getShaderParameter(Be,se.COMPILE_STATUS)?Be:(se.deleteShader(Be),null)}var Go=function(){function se(Te){Pe(this,se),this.canvas=Te.canvas,this.video=Te.video,this.width=Te.width||640,this.height=Te.height||480,this.vertexBuffer=null,this.currentProgram=null,this.applied=!1,this.beautyParams={beauty:.5,brightness:.5,ruddy:.5},this.gl=this.createGL(Te.canvas),this.sourceTexture=this.gl.createTexture()}return ut(se,[{key:"setRect",value:function(Te,be){this.width=Te,this.height=be}},{key:"apply",value:function(Te){if(!this.vertexBuffer){var be=new Float32Array([-1,-1,0,1,1,-1,1,1,-1,1,0,0,-1,1,0,0,1,-1,1,1,1,1,1,0]);this.vertexBuffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,be,this.gl.STATIC_DRAW),this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0)}this.gl.viewport(0,0,this.width,this.height),this.gl.bindTexture(this.gl.TEXTURE_2D,this.sourceTexture),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.NEAREST),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST),this.applied?this.gl.texSubImage2D(this.gl.TEXTURE_2D,0,0,0,this.gl.RGB,this.gl.UNSIGNED_BYTE,Te):(this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGB,this.gl.RGB,this.gl.UNSIGNED_BYTE,Te),this.applied=!0);var Be=this.beautyParams,ze=Be.beauty,ie=Be.brightness,W=Be.ruddy,ae=2/this.width,B=2/this.height,te=this.compileBeautyShader();this.gl.uniform2f(te.uniform.singleStepOffset,ae,B);var Se=new Float32Array([1-.8*ze,1-.6*ze,.1+.45*W,.1+.45*W]);this.gl.uniform4fv(te.uniform.params,Se),this.gl.uniform1f(te.uniform.brightness,.12*ie),this.gl.bindTexture(this.gl.TEXTURE_2D,this.sourceTexture),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this.gl.uniform1f(this.currentProgram.uniform.flipY,1),this.gl.drawArrays(this.gl.TRIANGLES,0,6)}},{key:"compileBeautyShader",value:function(){if(this.currentProgram)return this.currentProgram;this.currentProgram=new Nt(this.gl,["precision highp float;","attribute vec2 pos;","attribute vec2 uv;","varying vec2 vUv;","uniform float flipY;","void main(void) {","vUv = uv;","gl_Position = vec4(pos.x, pos.y*flipY, 0.0, 1.);","}"].join(`
|
|
104
|
+
`)}},{key:"removeBandwidthRestriction",value:function(L){return L.replace(/b=AS:.*\r\n/,"").replace(/b=TIAS:.*\r\n/,"")}},{key:"removeVideoOrientation",value:function(L){return L.replace(/urn:3gpp:video-orientation/,"")}},{key:"connect",value:(o=N(p().mark(function L(){return p().wrap(function(k){for(;;)switch(k.prev=k.next){case 0:return k.prev=0,k.next=3,this.exchangeSDP();case 3:return k.next=5,this.waitForPeerConnectionConnected();case 5:k.next=11;break;case 7:throw k.prev=7,k.t0=k.catch(0),this.closePeerConnection(!0),k.t0;case 11:case"end":return k.stop()}},L,this,[[0,7]])})),function(){return o.apply(this,arguments)})},{key:"exchangeSDP",value:(i=N(p().mark(function L(){return p().wrap(function(k){for(;;)switch(k.prev=k.next){case 0:return k.prev=0,this.isSDPExchanging_=!0,k.next=4,this.createOffer();case 4:return this.log_.info("createOffer success, sending offer to remote server"),k.next=7,this.doExchangeSDP();case 7:this.isSDPExchanging_=!1,k.next=14;break;case 10:throw k.prev=10,k.t0=k.catch(0),this.isSDPExchanging_=!1,k.t0;case 14:case"end":return k.stop()}},L,this,[[0,10]])})),function(){return i.apply(this,arguments)})},{key:"createOffer",value:(r=N(p().mark(function L(){var k;return p().wrap(function(P){for(;;)switch(P.prev=P.next){case 0:return P.prev=0,P.next=3,this.peerConnection_.createOffer(BI);case 3:return k=P.sent,P.next=6,this.peerConnection_.setLocalDescription(k);case 6:this.updateSSRC(k.sdp),xe.logSuccessEvent({userId:this.client_.getUserId(),eventType:tl,kind:"offer"}),P.next=14;break;case 10:throw P.prev=10,P.t0=P.catch(0),xe.logFailedEvent({userId:this.client_.getUserId(),eventType:tl,kind:"offer",error:P.t0}),P.t0;case 14:case"end":return P.stop()}},L,this,[[0,10]])})),function(){return r.apply(this,arguments)})},{key:"doExchangeSDP",value:function(){var L=this;return new Promise(function(k,P){L.exchangeSDPTimeout_=setTimeout(function(){L.signalChannel_.off(vt.PUBLISH_RESULT,A),L.clearExchangeSDPTimeout();var T=new ee({code:Y.API_CALL_TIMEOUT,message:ne({key:C3})});P(T)},1e4);var A=function(){var T=N(p().mark(function v(E){var C,M,F;return p().wrap(function(q){for(;;)switch(q.prev=q.next){case 0:if(q.prev=0,L.clearExchangeSDPTimeout(),C=E.data,M=C.code,F=C.message,M!==0){q.next=9;break}return q.next=6,L.acceptAnswer(E.data.data);case 6:k(),q.next=10;break;case 9:L.checkPublishResultCode(M,F);case 10:q.next=15;break;case 12:q.prev=12,q.t0=q.catch(0),P(q.t0);case 15:case"end":return q.stop()}},v,null,[[0,12]])}));return function(v){return T.apply(this,arguments)}}(),U={type:L.peerConnection_.localDescription.type,sdp:L.removeVideoOrientation(L.peerConnection_.localDescription.sdp),screen:(L.publishingStream_||L.localStream_).hasScreenTrack(),state:L.publishState,constraintConfig:L.mediaSettings_};L.signalChannel_.once(vt.PUBLISH_RESULT,A),L.log_.debug("sending sdp offer: "+U.sdp),L.signalChannel_.send(EU,U)})}},{key:"setSDPDirection",value:function(L,k){var P=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"all",A=Gr(L);return A.media.forEach(function(U){P!=="all"&&U.type!==P||(U.direction=k)}),vo(A)}},{key:"acceptAnswer",value:(n=N(p().mark(function L(k){var P,A,U,T,v,E,C;return p().wrap(function(M){for(;;)switch(M.prev=M.next){case 0:if(M.prev=0,P=this.removeVideoOrientation(k.sdp),!(A=this.publishingStream_||this.localStream_)){M.next=15;break}if(U=A.getVideoBitrate(),T=A.getAudioBitrate(),!U){M.next=11;break}return v=this.isPublishingAuxStream_?mt:Ku,M.next=10,this.setBandwidth({bandwidth:U,type:Te,sdp:P,videoType:v});case 10:P=M.sent;case 11:if(!T){M.next=15;break}return M.next=14,this.setBandwidth({bandwidth:T,type:Ce,sdp:P});case 14:P=M.sent;case 15:if(!this.client_.getIsEnableSmallStream()){M.next=20;break}return E=this.client_.smallStreamConfig,M.next=19,this.setBandwidth({bandwidth:E.bitrate,type:Te,videoType:Nr,sdp:P});case 19:P=M.sent;case 20:return C={type:k.type,sdp:P},M.next=23,this.peerConnection_.setRemoteDescription(C);case 23:this.log_.debug("accepted answer: "+P),xe.logSuccessEvent({userId:this.client_.getUserId(),eventType:Ob,kind:"answer"}),M.next=32;break;case 27:throw M.prev=27,M.t0=M.catch(0),xe.logFailedEvent({userId:this.client_.getUserId(),eventType:Ob,kind:"answer",error:M.t0}),this.log_.error("failed to accept remote answer "+M.t0),M.t0;case 32:case"end":return M.stop()}},L,this,[[0,27]])})),function(L){return n.apply(this,arguments)})},{key:"sendMutedFlag",value:function(L,k){if(k!==this.localAuxStream_){var P={audio:L.audio,bigVideo:L.video,auxVideo:L.auxVideo};this.log_.info("send muted state: ".concat(JSON.stringify(P))),this.signalChannel_.send(wU,P)}}},{key:"getIsReconnecting",value:function(){return this.isReconnecting_}},{key:"reconnect",value:(t=N(p().mark(function L(){var k,P,A=this;return p().wrap(function(U){for(;;)switch(U.prev=U.next){case 0:if(this.reconnectionTimer_===-1){U.next=3;break}return this.log_.warn("reconnect() uplink is reconnecting, ignore current reconnection"),U.abrupt("return");case 3:if(!(this.reconnectionCount_>=30)){U.next=12;break}return this.log_.warn("SDK has tried reconnect uplink for ".concat(30," times, but all failed, please check your network")),this.stopReconnection(),k=new ee({code:Y.UPLINK_RECONNECTION_FAILED,message:ne({key:P3})}),xe.logFailedEvent({userId:this.client_.getUserId(),eventType:Pb,error:k}),this.addEventInternal(l6,"uplink-connection reconnect fail"),this.emitConnectionStateChangedEvent(sn),this.emitter_.emit(nt.ERROR,k),U.abrupt("return");case 12:if(this.signalChannel_.getCurrentState()===uc){U.next=16;break}return this.log_.warn("reconnect() signal channel is not connected, suspend reconnection until signal is connected"),this.signalChannel_.once(cc,this.reconnect,this),U.abrupt("return");case 16:if(this.reconnectionCount_++,U.prev=17,this.log_.warn("reconnect() try to reconnect uplink [".concat(this.reconnectionCount_,"/").concat(30,"]")),P=Mf(this.reconnectionCount_),this.reconnectionTimer_=setTimeout(function(){A.log_.warn("reconnect() uplink reconnect timeout(".concat(P/1e3,"s), try again")),A.clearReconnectionTimer(),A.reconnect()},P),!(this.isSDPExchanging_||this.peerConnection_&&this.peerConnection_.connectionState===el)){U.next=23;break}return U.abrupt("return");case 23:return U.next=25,this.signalChannel_.sendWaitForResponse({command:mT,responseCommand:vt.UNPUBLISH_RESULT,enableLog:!1});case 25:if(this.reset(),this.initialize(),!this.localStream_){U.next=30;break}return U.next=30,this.publish(this.localStream_);case 30:if(!this.localAuxStream_){U.next=33;break}return U.next=33,this.publish(this.localAuxStream_,!0);case 33:xe.logSuccessEvent({userId:this.client_.getUserId(),eventType:Pb}),this.log_.warn("reconnect() uplink reconnect successfully"),this.addEventInternal(u6,"uplink-connection reconnect success"),this.stopReconnection(),this.localStream_.syncMuteState(),U.next=42;break;case 40:U.prev=40,U.t0=U.catch(17);case 42:case"end":return U.stop()}},L,this,[[17,40]])})),function(){return t.apply(this,arguments)})},{key:"clearExchangeSDPTimeout",value:function(){this.exchangeSDPTimeout_!==-1&&(clearTimeout(this.exchangeSDPTimeout_),this.exchangeSDPTimeout_=-1)}},{key:"clearReconnectionTimer",value:function(){this.reconnectionTimer_!==-1&&(clearTimeout(this.reconnectionTimer_),this.reconnectionTimer_=-1)}},{key:"handleError",value:function(L){L.getCode()===Y.ICE_TRANSPORT_ERROR&&(this.isFirstConnection_&&(this.isFirstConnection_=!1,xe.logFailedEvent({userId:this.client_.getUserId(),eventType:Ab,error:L})),this.isReconnecting_||this.startReconnection())}},{key:"handleConnectionStateChange",value:function(L){L.state===mn&&this.isFirstConnection_&&(this.isFirstConnection_=!1,xe.logSuccessEvent({userId:this.client_.getUserId(),eventType:Ab}),this.addEventInternal(r6,"uplink-connection is connected"))}},{key:"updateSSRC",value:function(L){var k=this;try{Gr(L).media.forEach(function(P,A){if(P.type===Ce){var U=P.ssrcs[0];U&&(k.ssrc_.audio=U.id)}else{if(k.sdpSemantics_===nf)return void P.ssrcGroups.forEach(function(v,E){var C=Number(v.ssrcs.split(" ")[0]);E===0?k.ssrc_.video=C:E===1&&(k.ssrc_.small=C)});var T=P.ssrcs[0];if(!T)return;switch(A){case 1:k.ssrc_.video=T.id;break;case 2:k.ssrc_.small=T.id;break;case 3:k.ssrc_.auxiliary=T.id}}})}catch(P){}}},{key:"getVideoTrackId",value:function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Te;if(this.peerConnection_){var k=this.peerConnection_.getSenders();if(L===Te&&k[1]&&k[1].track)return k[1].track.id;if(L===Nr&&k[2]&&k[2].track)return k[2].track.id;if(L===mt&&k[3]&&k[3].track)return k[3].track.id}if(this.localStream_&&L===Te){var P=this.localStream_.getVideoTrack();if(P)return P.id}if(this.localAuxStream_&&L===mt){var A=this.localAuxStream_.getVideoTrack();if(A)return A.id}return""}},{key:"getSSRC",value:function(){return this.ssrc_}},{key:"checkPublishResultCode",value:function(L,k){if(L!==0)throw L===1028?(this.log_.error(gi.NOT_SUPPORTED_H264ENCODE),new ee({code:Y.NOT_SUPPORTED_H264,message:ne({key:gk})})):new ee({code:Y.UNKNOWN,message:ne({key:yk,data:{signalResponse:vt.PUBLISH_RESULT,code:L,message:k}})})}},{key:"getLocalStream",value:function(){return this.localStream_}},{key:"sendSEI",value:function(L,k){this.sei_.push(L,k)}},{key:"mixAudioTrack",value:function(L,k){this.log_.info("mix audio track"),this.mixedAudioTrack_=function(P){var A=Bk(),U=A.createMediaStreamDestination(),T=[];P.forEach(function(E){var C=new MediaStream;C.addTrack(E);var M=A.createMediaStreamSource(C);M.connect(U),T.push(M)});var v=U.stream.getAudioTracks()[0];return id.set(v,{destination:U,track:v,mediaStreamSourceList:T}),v}([L,k])}},{key:"destroyMixedAudioTrack",value:function(){this.mixedAudioTrack_&&(this.log_.info("destroy audio track"),function(L){if(id.has(L)){var k=id.get(L),P=k.destination,A=k.track,U=k.mediaStreamSourceList;A.stop(),P.disconnect(),U.forEach(function(T){T.disconnect()}),id.delete(L)}}(this.mixedAudioTrack_),this.mixedAudioTrack_=null)}}]),ue}(Qv),W(Ec.prototype,"publish",[UI],Object.getOwnPropertyDescriptor(Ec.prototype,"publish"),Ec.prototype),Ec),k7=pe,FI=Ds,ad=Cs.exports.getWeakData,T7=si,x7=xt,I7=Rt,ig=st,w7=Ps,GI=Tt,E7=Xe.set,C7=Xe.getterFor,R7=an.find,A7=an.findIndex,P7=k7([].splice),D7=0,od=function(e){return e.frozen||(e.frozen=new HI)},HI=function(){this.entries=[]},ag=function(e,t){return R7(e.entries,function(n){return n[0]===t})};HI.prototype={get:function(e){var t=ag(this,e);if(t)return t[1]},has:function(e){return!!ag(this,e)},set:function(e,t){var n=ag(this,e);n?n[1]=t:this.entries.push([e,t])},delete:function(e){var t=A7(this.entries,function(n){return n[0]===e});return~t&&P7(this.entries,t,1),!!~t}};var Cc,L7={getConstructor:function(e,t,n,r){var i=e(function(c,u){T7(c,o),E7(c,{type:t,id:D7++,frozen:void 0}),I7(u)||w7(u,c[r],{that:c,AS_ENTRIES:n})}),o=i.prototype,a=C7(t),s=function(c,u,l){var h=a(c),_=ad(x7(u),!0);return _===!0?od(h).set(u,l):_[h.id]=l,c};return FI(o,{delete:function(c){var u=a(this);if(!ig(c))return!1;var l=ad(c);return l===!0?od(u).delete(c):l&&GI(l,u.id)&&delete l[u.id]},has:function(c){var u=a(this);if(!ig(c))return!1;var l=ad(c);return l===!0?od(u).has(c):l&&GI(l,u.id)}}),FI(o,n?{get:function(c){var u=a(this);if(ig(c)){var l=ad(c);return l===!0?od(u).get(c):l?l[u.id]:void 0}},set:function(c,u){return s(this,c,u)}}:{add:function(c){return s(this,c,!0)}}),i}},zI=te,sd=pe,O7=Ds,M7=Cs.exports,N7=wh,WI=L7,cd=st,ud=Q_,ld=Xe.enforce,V7=x,U7=!zI.ActiveXObject&&"ActiveXObject"in zI,JI=function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}},j7=N7("WeakMap",JI,WI);if(V7&&U7){Cc=WI.getConstructor(JI,"WeakMap",!0),M7.enable();var Rc=j7.prototype,qI=sd(Rc.delete),dd=sd(Rc.has),KI=sd(Rc.get),XI=sd(Rc.set);O7(Rc,{delete:function(e){if(cd(e)&&!ud(e)){var t=ld(this);return t.frozen||(t.frozen=new Cc),qI(this,e)||t.frozen.delete(e)}return qI(this,e)},has:function(e){if(cd(e)&&!ud(e)){var t=ld(this);return t.frozen||(t.frozen=new Cc),dd(this,e)||t.frozen.has(e)}return dd(this,e)},get:function(e){if(cd(e)&&!ud(e)){var t=ld(this);return t.frozen||(t.frozen=new Cc),dd(this,e)?KI(this,e):t.frozen.get(e)}return KI(this,e)},set:function(e,t){if(cd(e)&&!ud(e)){var n=ld(this);n.frozen||(n.frozen=new Cc),dd(this,e)?XI(this,e,t):n.frozen.set(e,t)}else XI(this,e,t);return this}})}var B7=Me,hd=qs,F7=oe,QI=Pn,YI=ot,G7=Fu,$I=lb,H7=Qt,og=hd&&hd.prototype;if(B7({target:"Promise",proto:!0,real:!0,forced:!!hd&&F7(function(){og.finally.call({then:function(){}},function(){})})},{finally:function(e){var t=G7(this,QI("Promise")),n=YI(e);return this.then(n?function(r){return $I(t,e()).then(function(){return r})}:e,n?function(r){return $I(t,e()).then(function(){throw r})}:e)}}),YI(hd)){var ZI=QI("Promise").prototype.finally;og.finally!==ZI&&H7(og,"finally",ZI,{unsafe:!0})}var ew,tw,nw,rw,sr,Oo=new WeakMap;function iw(){return function(e,t,n){var r=n.value,i=function o(a){var s=a.fn,c=a.args,u=a.context,l=a.resolve,h=a.reject;s.apply(u,c).then(l,h).finally(function(){var _=Oo.get(u);_&&(_.shift(),_[0]&&o(H({},_[0])))})};return n.value=function(){for(var o=this,a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];return new Promise(function(u,l){if(Oo.has(o)){var h=Oo.get(o),_=h.length;h.push({fn:r,args:s,context:o,resolve:u,reject:l,name:t}),_===0&&i({fn:r,args:s,context:o,resolve:u,reject:l})}else Oo.set(o,[{fn:r,args:s,context:o,resolve:u,reject:l,name:t}]),i({fn:r,args:s,context:o,resolve:u,reject:l})})},n}}var z7=(ew=iw(),tw=wc({retries:1,timeout:0,onRetrying:function(e){this.log_.warn("connection timeout, retrying [".concat(e,"]"))},onError:function(e,t,n){e.message.includes("timeout")?t():n(e)}}),nw=iw(),rw=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1e4;return function(t,n,r){var i=r.value;return r.value=function(){for(var o=this,a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];return new Promise(function(u,l){var h=setTimeout(function(){return l(new Error("".concat(n," timeout")))},e);i.apply(o,s).then(u,l).finally(function(){clearTimeout(h)})})},r}}(),sr=function(e){Ct(u,e);var t,n,r,i,o,a,s,c=Ar(u);function u(l){var h;return J(this,u),(h=c.call(this,l)).remoteStreams_=new Map,h.autoSubscribe=l.autoSubscribe,h.trackState_={audio:l.trackState.audio,video:l.trackState.video,auxiliary:l.trackState.auxiliary,smallVideo:l.trackState.smallVideo},h.ssrc_={audio:0,video:0,auxiliary:0},h.subscribeState_={audio:l.autoSubscribe,video:l.autoSubscribe,auxiliary:l.autoSubscribe,smallVideo:!1},h.isSDPExchanging_=!1,h.installEvents(),h}return Ie(u,[{key:"getMixUserList",value:function(){return this.mixUserList_?this.mixUserList_.map(function(l){var h=l.userId,_=l.flag;return{userId:h,hasAudio:!!(8&_),hasVideo:!!(1&_),hasAuxiliary:!!(4&_)}}):void 0}},{key:"setMixUserList",value:function(l){(!this.mixUserList_||vl(this.mixUserList_)&&!function(h,_){if(_.length===h.length){var y,S=ie(_);try{var f=function(){var I=y.value,w=h.find(function(B){return B.userId===I.userId});if(!w||w.flag!==I.flag)return{v:!1}};for(S.s();!(y=S.n()).done;){var g=f();if(V(g)==="object")return g.v}}catch(I){S.e(I)}finally{S.f()}return!0}return!1}(this.mixUserList_,l))&&(this.mixUserList_=l,this.emitter_.emit(nt.STREAM_UPDATED,{stream:this.getMainStream()}))}},{key:"isMainStreamSubscribed",get:function(){return(this.subscribeState_.audio||this.subscribeState_.video||this.subscribeState_.smallVideo)&&(this.trackState_.audio||this.trackState_.video||this.trackState_.smallVideo)}},{key:"isAuxStreamSubscribed",get:function(){return this.subscribeState_.auxiliary&&this.trackState_.auxiliary}},{key:"isSmallStreamSubscribed",get:function(){return this.subscribeState_.smallVideo&&this.trackState_.smallVideo}},{key:"isBigStreamSubscribed",get:function(){return this.subscribeState_.video&&this.trackState_.video}},{key:"isStreamUnpublished",value:function(l){return l.getType()===Ze?!this.trackState_.audio&&!this.trackState_.video:!this.trackState_.auxiliary}},{key:"initialize",value:function(){se($e(u.prototype),"initialize",this).call(this),this.peerConnection_.ontrack=this.onTrack.bind(this)}},{key:"close",value:function(){var l,h,_,y=this;se($e(u.prototype),"close",this).call(this),this.trackState_.audio=!1,this.trackState_.video=!1,this.trackState_.smallVideo=!1,this.trackState_.auxiliary=!1,this.emitConnectionStateChangedEvent(sn),l=this,h=function(S){S.fn;var f=S.args,g=S.resolve,I=S.reject,w=S.name;if(w==="subscribe"){if(!y.client_.getIsJoined())return I(new ee({code:Y.API_CALL_ABORTED,message:ne({key:mf,data:{message:"leave room",stream:f[0]}})}));if(y.isStreamUnpublished(f[0]))return I(new ee({code:Y.API_CALL_ABORTED,message:ne({key:mf,data:{message:"remote user ".concat(y.userId_," unpublished stream"),stream:f[0]}})}))}else if(w==="unsubscribe")return g();g()},(_=Oo.get(l))===null||_===void 0||_.forEach(h),Oo.delete(l),this.remoteStreams_.forEach(function(S){var f=S;f.setConnection(null),f.uninstallEvents(),f.getIsStreamAddedEventEmitted()&&y.emitter_.emit(nt.STREAM_REMOVED,{stream:f})}),this.remoteStreams_.clear(),this.uninstallEvents()}},{key:"installEvents",value:function(){var l=this;K.on(jn,this.onRemoteStreamUpdate,this),this.emitter_.on(nt.ERROR,function(h){h.getCode()===Y.ICE_TRANSPORT_ERROR&&(l.isFirstConnection_&&(l.isFirstConnection_=!1,xe.logFailedEvent({userId:l.client_.getUserId(),eventType:Db,error:h})),l.isReconnecting_||l.startReconnection())}),this.emitter_.on(nt.CONNECTION_STATE_CHANGED,function(h){h.state===mn&&l.isFirstConnection_&&(l.isFirstConnection_=!1,xe.logSuccessEvent({userId:l.client_.getUserId(),eventType:Db}),l.addEventInternal(i6,"downlink-connection is connected"))})}},{key:"uninstallEvents",value:function(){K.removeListener(jn,this.onRemoteStreamUpdate,this)}},{key:"onRemoteStreamUpdate",value:function(l){if(this.hitTest(l.tinyId)&&l.client===this.client_){this.updateTrackState(l.action,l.kind);var h=l.kind===mt?Ys:kr,_=this.remoteStreams_.get(h);if(!_)return;l.action===un.ADD?this.handleRemoteAddTrack(l.kind,_):this.handleRemoteRemoveTrack(l.kind,_)}}},{key:"handleRemoteAddTrack",value:function(l,h){this.log_.info("remote add ".concat(l," track")),l===Ce?h.updateAudioPlayingState(this.subscribeState_.audio):h.updateVideoPlayingState(l===mt?this.subscribeState_.auxiliary:this.subscribeState_.video||this.subscribeState_.smallVideo),h.getIsStreamAddedEventEmitted()?this.emitter_.emit(nt.STREAM_UPDATED,{stream:h}):(this.emitter_.emit(nt.STREAM_ADDED,{stream:h}),this.currentState_===mn&&h.emitConnectionStateChanged({prevState:sn,state:mn}))}},{key:"handleRemoteRemoveTrack",value:function(l,h){h.getIsStreamAddedEventEmitted()&&(this.log_.info("remote remove ".concat(l," track")),l===mt||!this.trackState_.audio&&!this.trackState_.video?(this.log_.info("remote stream ".concat(h.getType()," removed")),this.currentState_===mn&&h.emitConnectionStateChanged({prevState:mn,state:sn}),this.emitter_.emit(nt.STREAM_REMOVED,{stream:h})):(l===Ce?h.updateAudioPlayingState(!1):(l!==Xu||this.isSmallStreamSubscribed)&&h.updateVideoPlayingState(!1),this.emitter_.emit(nt.STREAM_UPDATED,{stream:h})))}},{key:"updateTrackState",value:function(l,h){var _=l===un.ADD;switch(h){case Ce:this.trackState_.audio=_;break;case Te:this.trackState_.video=_;break;case mt:this.trackState_.auxiliary=_;break;case Xu:this.trackState_.smallVideo=_}this.log_.info("trackState updated: ".concat(JSON.stringify(this.trackState_)))}},{key:"onTrack",value:function(l){var h=l.streams[0],_=l.track;if(this.log_.info("ontrack() kind: ".concat(_.kind," id: ").concat(_.id," streamId: ").concat(h.id)),this.sdpSemantics_===Zs){var y=function(w){var B=tr.parse(w),z={audio:[],video:[]};return B.media.forEach(function($){if($.ssrcs){var ue=$.ssrcs[0].id>>16&255;if($.type===Ce)z.audio.push(kr);else if($.type==Te){var L=ue===XN?kr:Ys;z.video.push(L)}}}),z}(this.peerConnection_.remoteDescription.sdp);if(_.kind===Ce){if(y.audio.length===0||h.id!==kr)return void this.log_.debug("skip this invalid audio track")}else if(y.video.indexOf(h.id)===-1)return void this.log_.debug("skip this invalid video track: ".concat(_.id," msid: ").concat(h.id))}xe.logEvent({eventType:"ontrack",kind:_.kind});var S=!1,f=this.remoteStreams_.get(h.id),g=h.id===kr?_t:Lt;if(ge(f)&&((f=new Zv({type:g,userId:this.userId_,client:this.client_})).setConnection(this),this.remoteStreams_.set(h.id,f),S=!0),f.setMediaStream(h),_.kind===Ce?f.updateAudioPlayingState(this.subscribeState_.audio):g===_t?f.updateVideoPlayingState(this.subscribeState_.video||this.subscribeState_.smallVideo):f.updateVideoPlayingState(this.subscribeState_.auxiliary),(g!==Lt||this.trackState_.auxiliary)&&(g!==_t||this.trackState_.audio||this.trackState_.video)){var I=this.client_.getSubscriptionManager();I&&I.hasAutoRecoveryFlag(this.userId_,g)||(S?this.emitter_.emit(nt.STREAM_ADDED,{stream:f}):this.emitter_.emit(nt.STREAM_UPDATED,{stream:f}))}}},{key:"addRRTRLine",value:function(l){var h=l.split(`\r
|
|
105
|
+
`),_=new Map;h.forEach(function(w,B){/^a=rtcp-fb:/.test(w)&&h[B+1]&&!/^a=rtcp-fb:/.test(h[B+1])&&w.match(/^a=rtcp-fb:\d+/)&&_.set(B+1,w.match(/^a=rtcp-fb:\d+/)[0]+" rrtr")});for(var y=be(_),S=0;S<y.length;S++){var f=ke(y[S],2),g=f[0],I=f[1];h.splice(g+S,0,I)}return h.join(`\r
|
|
106
|
+
`)}},{key:"addSPSDescription",value:function(l){var h=Gr(l);return h.media.forEach(function(_){_.type===Te&&_.fmtp.forEach(function(y){y.config+=";sps-pps-idr-in-keyframe=1"})}),vo(h)}},{key:"removeSDESDescription",value:function(l){var h=["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"],_=Gr(l);return _.media.forEach(function(y){y.ext=y.ext.filter(function(S){return!h.includes(S.uri)})}),vo(_)}},{key:"isSubscriptionStateNotChanged",value:function(l,h){return l.getType()===_t?(h==null?void 0:h.audio)===this.subscribeState_.audio&&(h==null?void 0:h.video)===this.subscribeState_.video&&this.isSubscribeSmall(h):l.getType()===Lt?!ge(h.video)&&this.subscribeState_.auxiliary===h.video:void 0}},{key:"isSubscribeSmall",value:function(l){return ge(l.smallVideo)&&!this.subscribeState_.smallVideo}},{key:"subscribe",value:(s=N(p().mark(function l(h,_){var y,S,f,g,I,w;return p().wrap(function(B){for(;;)switch(B.prev=B.next){case 0:if(B.prev=0,f=_.emitEvent,g=f===void 0||f,I=h.getType(),((y=this.peerConnection_)===null||y===void 0?void 0:y.connectionState)!==QN&&((S=this.peerConnection_)===null||S===void 0?void 0:S.connectionState)!==el){B.next=6;break}return B.next=6,this.waitForPeerConnectionConnected();case 6:if(!this.isSubscriptionStateNotChanged(h,_)){B.next=13;break}if(this.peerConnection_){B.next=11;break}return this.initialize(),B.next=11,this.connect();case 11:return g&&ge(_.smallVideo)&&this.emitter_.emit(nt.STREAM_SUBSCRIBED,{stream:h,result:!0}),B.abrupt("return",h);case 13:if(I===Ze?(ge(_.audio)||(this.subscribeState_.audio=_.audio),ge(_.video)||(this.subscribeState_.video=_.video),this.subscribeState_.smallVideo=(_==null?void 0:_.smallVideo)||!1,this.addEventInternal(this.subscribeState_.audio?ST:_m,this.subscribeState_.audio?"subscribe audio":"unsubscribe audio"),this.addEventInternal(this.subscribeState_.video?ST:_m,this.subscribeState_.video?"subscribe video":"unsubscribe video"),this.addEventInternal(this.subscribeState_.smallVideo?f6:m6,this.subscribeState_.smallVideo?"subscribe smallVideo":"unsubscribe smallVideo")):ge(_.video)||(this.subscribeState_.auxiliary=_.video),this.log_.info("subscribe ".concat(I," stream with options ").concat(JSON.stringify(_)," current state: ").concat(JSON.stringify(this.subscribeState_))),!this.peerConnection_&&!this.isSDPExchanging_){B.next=23;break}return w=tf,this.isMainStreamSubscribed||this.isAuxStreamSubscribed||(w=ef),B.next=20,this.sendSubscription(w);case 20:I===Ze?(h.updateAudioPlayingState(this.subscribeState_.audio),h.updateVideoPlayingState(this.subscribeState_.video||this.subscribeState_.smallVideo)):h.updateVideoPlayingState(this.subscribeState_.auxiliary),B.next=26;break;case 23:return this.initialize(),B.next=26,this.connect();case 26:return g&&this.emitter_.emit(nt.STREAM_SUBSCRIBED,{stream:h,result:!0}),B.abrupt("return",h);case 30:if(B.prev=30,B.t0=B.catch(0),!this.client_.getIsJoined()||!this.isStreamUnpublished(h)){B.next=35;break}throw this.log_.warn("".concat(B.t0.message," ").concat(JSON.stringify(this.trackState_))),new ee({code:Y.REMOTE_STREAM_NOT_EXIST,message:"remote user ".concat(this.userId_," unpublished stream")});case 35:throw B.t0;case 36:case"end":return B.stop()}},l,this,[[0,30]])})),function(l,h){return s.apply(this,arguments)})},{key:"unsubscribe",value:(a=N(p().mark(function l(h){var _,y,S;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if((_=h.getType())!==Ze){f.next=10;break}if(this.isMainStreamSubscribed){f.next=5;break}return this.log_.info("main stream already unsubscribed"),f.abrupt("return",h);case 5:this.subscribeState_.audio=!1,this.subscribeState_.video=!1,this.subscribeState_.smallVideo=!1,f.next=14;break;case 10:if(this.isAuxStreamSubscribed){f.next=13;break}return this.log_.info("auxiliary stream already unsubscribed"),f.abrupt("return",h);case 13:this.subscribeState_.auxiliary=!1;case 14:return y=ef,(_===_t&&this.isAuxStreamSubscribed||_===Lt&&this.isMainStreamSubscribed)&&(y=tf),this.log_.info("unsubscribe ".concat(_," stream with ").concat(JSON.stringify(this.subscribeState_))),f.next=19,this.sendSubscription(y);case 19:return h.updateVideoPlayingState(!1),h.updateAudioPlayingState(!1),y===ef&&((S=h.getMediaStream())&&S.getTracks().forEach(function(g){return S.removeTrack(g)}),this.closePeerConnection(),this.emitConnectionStateChangedEvent(sn)),this.addEventInternal(_m,"unsubscribe audio"),this.addEventInternal(zU,"unsubscribe video"),f.abrupt("return",h);case 25:case"end":return f.stop()}},l,this)})),function(l){return a.apply(this,arguments)})},{key:"sendSubscription",value:function(l){var h=this,_={srcTinyId:this.tinyId_,srcUserId:this.userId_},y=RU,S=vt.UNSUBSCRIBE_RESULT;return l===tf&&(_={audio:this.subscribeState_.audio,bigVideo:this.subscribeState_.video,auxVideo:this.subscribeState_.auxiliary,smallVideo:this.subscribeState_.smallVideo,srcTinyId:this.tinyId_},y=AU,S=vt.SUBSCRIBE_CHANGE_RESULT),this.signalChannel_.sendWaitForResponse({command:y,data:_,responseCommand:S,timeout:1e4}).then(function(f){var g=f.data;if(g.code!==0){var I=new ee({code:g.code,message:ne({key:E3,data:{type:l,message:g.message}})});throw h.log_.error(I),I}})}},{key:"connect",value:(o=N(p().mark(function l(){return p().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return h.prev=0,h.next=3,this.exchangeSDP();case 3:return h.next=5,this.waitForPeerConnectionConnected();case 5:h.next=11;break;case 7:throw h.prev=7,h.t0=h.catch(0),this.closePeerConnection(!0),h.t0;case 11:case"end":return h.stop()}},l,this,[[0,7]])})),function(){return o.apply(this,arguments)})},{key:"exchangeSDP",value:(i=N(p().mark(function l(){var h,_,y,S,f,g;return p().wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return I.prev=0,this.isSDPExchanging_=!0,I.next=4,this.createOffer();case 4:return this.log_.info("createOffer success, sending offer to remote server"),h=this.peerConnection_.localDescription,_=h.type,y=h.sdp,S={type:_,sdp:y,srcUserId:this.userId_,srcTinyId:this.tinyId_,audio:this.subscribeState_.audio,bigVideo:this.subscribeState_.video,auxVideo:this.subscribeState_.auxiliary,smallVideo:this.subscribeState_.smallVideo},K.emit(cm,{client:this.client_,connection:this,userId:this.userId_,tinyId:this.tinyId_,role:so,subscribeState:this.subscribeState_,trackState:this.trackState_}),I.next=10,this.signalChannel_.sendWaitForResponse({command:CU,commandDesc:"exchange sdp",data:S,responseCommand:vt.SUBSCRIBE_RESULT,timeout:1e4});case 10:if(f=I.sent,this.peerConnection_){I.next=15;break}throw g=new ee({code:Y.INVALID_OPERATION,message:ne({key:X4})}),this.log_.warn(g),g;case 15:return I.next=17,this.onSubscribeResult(f);case 17:this.isSDPExchanging_=!1,I.next=24;break;case 20:throw I.prev=20,I.t0=I.catch(0),this.isSDPExchanging_=!1,I.t0;case 24:case"end":return I.stop()}},l,this,[[0,20]])})),function(){return i.apply(this,arguments)})},{key:"createOffer",value:(r=N(p().mark(function l(){var h,_;return p().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:return h={voiceActivityDetection:!1},Pm()&&this.sdpSemantics_===Zs?(this.peerConnection_.addTransceiver(Ce,{direction:"recvonly"}),this.peerConnection_.addTransceiver(Te,{direction:"recvonly"}),this.peerConnection_.addTransceiver(Te,{direction:"recvonly"})):(h.offerToReceiveAudio=!0,h.offerToReceiveVideo=!0),y.next=4,this.peerConnection_.createOffer(h);case 4:return _=y.sent,y.next=7,OT();case 7:return y.sent.isH264DecodeSupported||(this.log_.warn("remove h264 desc from sdp"),_.sdp=R6(_.sdp)),_.sdp=this.addRRTRLine(_.sdp),_.sdp=this.addSPSDescription(_.sdp),_.sdp=C6(_.sdp),this.sdpSemantics_===Zs&&(_.sdp=this.removeSDESDescription(_.sdp)),y.next=16,this.peerConnection_.setLocalDescription(_);case 16:case"end":return y.stop()}},l,this)})),function(){return r.apply(this,arguments)})},{key:"onSubscribeResult",value:(n=N(p().mark(function l(h){var _,y,S,f,g,I,w,B=this;return p().wrap(function(z){for(;;)switch(z.prev=z.next){case 0:if(_=h&&h.data||{},y=_.code,S=_.message,f=S===void 0?"":S,g=h&&h.data&&h.data.data||{},I=g.type,w=g.sdp,y!==77393){z.next=5;break}throw this.log_.error(gi.NOT_SUPPORTED_H264DECODE),new ee({code:Y.NOT_SUPPORTED_H264,message:ne({key:_k})});case 5:if(z.prev=5,y===0){z.next=8;break}throw new ee({code:y,message:ne({key:A3,data:{errMsg:f}})});case 8:return this.log_.debug("accept remote answer: "+w),z.next=11,this.peerConnection_.setRemoteDescription({type:I,sdp:w});case 11:this.sei_&&(this.sei_.handleEncodedStreams(),this.sei_.onSEIMessage=function($){B.emitter_.emit(nt.SEI_MESSAGE,H(H({},$),{},{userId:B.userId_}))}),this.updateSSRC(w),z.next=19;break;case 15:throw z.prev=15,z.t0=z.catch(5),this.log_.error(z.t0),z.t0;case 19:case"end":return z.stop()}},l,this,[[5,15]])})),function(l){return n.apply(this,arguments)})},{key:"updateSSRC",value:function(l){var h=this;try{Gr(l).media.forEach(function(_){if(_.type===Ce){var y=_.ssrcs.find(function(g){return g.value.includes(kr)});y&&(h.ssrc_.audio=y.id)}else{var S=_.ssrcs.find(function(g){return g.value.includes(kr)}),f=_.ssrcs.find(function(g){return g.value.includes(Ys)});S&&(h.ssrc_.video=S.id),f&&(h.ssrc_.auxiliary=f.id)}})}catch(_){}}},{key:"setRemoteStream",value:function(l,h){this.remoteStreams_.set(l,h)}},{key:"getSubscribeState",value:function(){return this.subscribeState_}},{key:"getTrackState",value:function(){return this.trackState_}},{key:"getSSRC",value:function(){return this.ssrc_}},{key:"getMainStream",value:function(){return this.remoteStreams_.get(kr)}},{key:"getAuxStream",value:function(){return this.remoteStreams_.get(Ys)}},{key:"getMainStreamVideoTrackId",value:function(){var l=this.getMainStream();if(l){var h=l.getVideoTrack();if(h)return h.id}return""}},{key:"getAuxStreamVideoTrackId",value:function(){var l=this.getAuxStream();if(l){var h=l.getVideoTrack();if(h)return h.id}return""}},{key:"reconnect",value:(t=N(p().mark(function l(){var h,_,y=this;return p().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:if(this.reconnectionTimer_===-1){S.next=3;break}return this.log_.warn("reconnect() downlink is reconnecting, ignore current reconnection"),S.abrupt("return");case 3:if(!(this.reconnectionCount_>=30)){S.next=12;break}return this.log_.warn("SDK has tried reconnect downlink [".concat(this.userId_,"] for ").concat(30," times, but all failed, please check your network")),this.stopReconnection(),h=new ee({code:Y.DOWNLINK_RECONNECTION_FAILED,message:ne({key:R3})}),xe.logFailedEvent({userId:this.client_.getUserId(),eventType:Lb,error:h}),this.addEventInternal(p6,"downlink-connection reconnect fail"),this.emitConnectionStateChangedEvent(sn),this.emitter_.emit(nt.ERROR,h),S.abrupt("return");case 12:if(this.signalChannel_.getCurrentState()===uc){S.next=16;break}return this.log_.warn("reconnect() signal channel is not connected, suspend reconnection until signal is connected"),this.signalChannel_.once(cc,this.reconnect,this),S.abrupt("return");case 16:if(this.reconnectionCount_++,this.log_.warn("reconnect() try to reconnect downlink [".concat(this.reconnectionCount_,"/").concat(30,"]")),_=Mf(this.reconnectionCount_),this.reconnectionTimer_=setTimeout(function(){y.log_.warn("reconnect() downlink [".concat(y.userId_,"] reconnect timeout(").concat(_/1e3,"s), try again")),y.clearReconnectionTimer(),y.reconnect()},_),!(this.isSDPExchanging_||this.peerConnection_&&this.peerConnection_.connectionState===el)){S.next=22;break}return S.abrupt("return");case 22:return S.prev=22,this.closePeerConnection(),this.initialize(),S.next=27,this.connect();case 27:this.stopReconnection(),this.log_.warn("reconnect() downlink reconnect successfully"),xe.logSuccessEvent({userId:this.client_.getUserId(),eventType:Lb}),this.addEventInternal(h6,"downlink-connection reconnect success"),this.recoverSubscription(),S.next=36;break;case 34:S.prev=34,S.t0=S.catch(22);case 36:case"end":return S.stop()}},l,this,[[22,34]])})),function(){return t.apply(this,arguments)})},{key:"recoverSubscription",value:function(){var l=this,h=this.client_.getSubscriptionManager();h&&be(this.remoteStreams_.values()).forEach(function(_){h.hasAutoRecoveryFlag(l.userId_,_.getType())&&h.recover(_)})}},{key:"getIsReconnecting",value:function(){return this.isReconnecting_}},{key:"getSubscribedMainStream",value:function(){var l=null;return this.isMainStreamSubscribed&&(l=this.remoteStreams_.get(kr)),l}},{key:"clearReconnectionTimer",value:function(){this.reconnectionTimer_!==-1&&(clearTimeout(this.reconnectionTimer_),this.reconnectionTimer_=-1)}},{key:"startReconnection",value:function(){var l=this.client_.getSubscriptionManager();if(l){var h,_=ie(this.remoteStreams_.values());try{for(_.s();!(h=_.n()).done;){var y=h.value,S=y.getType();(S===_t&&(this.trackState_.audio||this.trackState_.video)||S===Lt&&this.trackState_.auxiliary)&&l.setAutoRecoveryFlag(this.userId_,y.getType())}}catch(f){_.e(f)}finally{_.f()}}se($e(u.prototype),"startReconnection",this).call(this)}},{key:"getCurrentState",value:function(){return this.currentState_}},{key:"hasMainStream",value:function(){return this.trackState_.video||this.trackState_.audio||this.trackState_.smallVideo}},{key:"hasAuxStream",value:function(){return this.trackState_.auxiliary}}]),u}(Qv),W(sr.prototype,"subscribe",[ew,tw],Object.getOwnPropertyDescriptor(sr.prototype,"subscribe"),sr.prototype),W(sr.prototype,"unsubscribe",[nw],Object.getOwnPropertyDescriptor(sr.prototype,"unsubscribe"),sr.prototype),W(sr.prototype,"exchangeSDP",[rw],Object.getOwnPropertyDescriptor(sr.prototype,"exchangeSDP"),sr.prototype),sr),pd=function(){function e(){J(this,e),this.startTime=0,this.endTime=0,this.start()}return Ie(e,[{key:"start",value:function(){this.startTime===0&&(this.startTime=Dt())}},{key:"stop",value:function(){this.endTime===0&&(this.endTime=Dt())}},{key:"getDuration",value:function(){return this.endTime===0?Dt()-this.startTime:this.endTime-this.startTime}}]),e}(),W7=function(){function e(i){J(this,e),this.client_=i.client,this.intervalId_=-1,this.statsCalculator_=i.stats,this.prevStats_=null,this.renderFreezeMap_=new Map,this.remoteStreamMap_=new Map,this.dataFreezeMap_=new Map,this.monitorFreezeData_=new Map}var t,n,r;return Ie(e,[{key:"installEvents",value:function(){K.on(rm,this.handlePlayVideoStart,this),K.on(ac,this.onVideoTrackMuted,this),K.on(em,this.onVideoTrackUnmuted,this),K.on(oa,this.handleStreamStopped,this),K.on(Br,this.handleStreamStopped,this),K.on(ic,this.handleVideoPlaying,this)}},{key:"uninstallEvents",value:function(){K.off(rm,this.handlePlayVideoStart,this),K.off(ac,this.onVideoTrackMuted,this),K.off(em,this.onVideoTrackUnmuted,this),K.off(oa,this.handleStreamStopped,this),K.off(Br,this.handleStreamStopped,this),K.off(ic,this.handleVideoPlaying,this)}},{key:"start",value:function(){var i=this;this.intervalId_===-1&&(this.installEvents(),this.intervalId_=yt.run(N(p().mark(function o(){return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,i.detectFPS();case 3:a.next=7;break;case 5:a.prev=5,a.t0=a.catch(0);case 7:case"end":return a.stop()}},o,null,[[0,5]])})),{delay:1e3}))}},{key:"stop",value:function(){this.intervalId_!==-1&&(this.uninstallEvents(),yt.clearTask(this.intervalId_),this.intervalId_=-1,this.renderFreezeMap_.clear(),this.dataFreezeMap_.clear(),this.remoteStreamMap_.clear())}},{key:"onVideoTrackMuted",value:function(i){var o=i.stream;if(o.getClient()===this.client_&&o.isRemote()){var a=o.userId_,s=o.type_,c="".concat(a,"_").concat(s),u=this.dataFreezeMap_.get(c),l=new pd;u?u.durationItemList.push(l):this.dataFreezeMap_.set(c,{userId:a,type:s,durationItemList:[l],isFreezing:function(){var h=this.durationItemList[this.durationItemList.length-1];return h&&h.endTime===0}})}}},{key:"onVideoTrackUnmuted",value:function(i){var o=i.stream;if(o.getClient()===this.client_&&o.isRemote()){var a=o.userId_,s=o.type_,c="".concat(a,"_").concat(s);this.stopDataFreeze({key:c,userId:a,type:s})}}},{key:"handleStreamStopped",value:function(i){var o=i.client,a=i.stream;if(o===this.client_){var s=a.getUserId(),c=a.getType(),u="".concat(s,"_").concat(c);this.stopDataFreeze({key:u,userId:s,type:c})}}},{key:"stopDataFreeze",value:function(i){var o=i.key,a=i.userId,s=i.type,c=this.dataFreezeMap_.get(o);if(c&&c.isFreezing()){var u=c.durationItemList[c.durationItemList.length-1];u.stop();var l=u.getDuration();l>500?(xe.logEvent({eventType:"videoFrozenCount",delta:l}),this.monitorFreezeData_.set(o,{userId:a,type:s,duration:l})):c.durationItemList.pop()}}},{key:"getTotalDuration",value:function(i){return i.reduce(function(o,a){var s=a.getDuration();return o+Math.min(s,5e3)},0)}},{key:"getStats",value:(r=N(p().mark(function i(){var o,a,s,c,u,l,h,_,y,S,f;return p().wrap(function(g){for(;;)switch(g.prev=g.next){case 0:o=this.client_.getConnections(),a={},s=ie(o),g.prev=3,s.s();case 5:if((c=s.n()).done){g.next=20;break}if(u=ke(c.value,2),l=u[0],(h=u[1]).getPeerConnection()){g.next=9;break}return g.abrupt("continue",18);case 9:return _=h.getSubscribeState(),y=h.getTrackState(),g.next=13,this.statsCalculator_.getReceiverStats(h);case 13:S=g.sent,(f={userId:S.userId,tinyId:l,hasVideo:y.video&&_.video,hasAuxiliary:y.auxiliary&&_.auxiliary,video:{framesDecoded:0},auxiliary:{framesDecoded:0}}).hasVideo&&(f.video.framesDecoded=S.video.framesDecoded),f.hasAuxiliary&&(f.auxiliary.framesDecoded=S.auxiliary.framesDecoded),a[S.userId]=f;case 18:g.next=5;break;case 20:g.next=25;break;case 22:g.prev=22,g.t0=g.catch(3),s.e(g.t0);case 25:return g.prev=25,s.f(),g.finish(25);case 28:return g.abrupt("return",a);case 29:case"end":return g.stop()}},i,this,[[3,22,25,28]])})),function(){return r.apply(this,arguments)})},{key:"detectFPS",value:(n=N(p().mark(function i(){var o,a,s,c,u,l;return p().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return h.next=2,this.getStats();case 2:if(o=h.sent,this.prevStats_){h.next=6;break}return this.prevStats_=o,h.abrupt("return");case 6:h.t0=p().keys(o);case 7:if((h.t1=h.t0()).done){h.next=17;break}if(a=h.t1.value,this.prevStats_[a]){h.next=11;break}return h.abrupt("continue",7);case 11:s=o[a].tinyId,c=this.client_.getMutedStates(),o[a].hasVideo&&this.prevStats_[a].hasVideo&&c.has(s)&&!c.get(s).videoMuted&&(u=o[a].video.framesDecoded-this.prevStats_[a].video.framesDecoded,this.handleRenderFreeze({userId:a,type:_t,fps:u})),o[a].hasAuxiliary&&this.prevStats_[a].hasAuxiliary&&(l=o[a].auxiliary.framesDecoded-this.prevStats_[a].auxiliary.framesDecoded,this.handleRenderFreeze({userId:a,type:Lt,fps:l})),h.next=7;break;case 17:this.prevStats_=o;case 18:case"end":return h.stop()}},i,this)})),function(){return n.apply(this,arguments)})},{key:"handleRenderFreeze",value:(t=N(p().mark(function i(o){var a,s,c,u,l,h,_,y;return p().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:a=o.userId,s=o.fps,c=o.type,u="".concat(a,"_").concat(c),l=this.renderFreezeMap_.get(u),s<=2?(h=Dt(),l&&!l.isFreeze&&(l.freezeTimeline.push({startTime:h,endTime:void 0}),l.isFreeze=!0),l||this.renderFreezeMap_.set(u,{userId:a,type:c,isFreeze:!0,freezeTimeline:[{startTime:h,endTime:void 0}],renderFreezeTotal:0})):l&&l.isFreeze&&(l.isFreeze=!1,(_=l.freezeTimeline.pop()).endTime=Dt(),y=_.endTime-_.startTime,l.freezeTimeline.push(_),l.renderFreezeTotal+=Math.min(5e3,y));case 4:case"end":return S.stop()}},i,this)})),function(i){return t.apply(this,arguments)})},{key:"handlePlayVideoStart",value:function(i){var o=i.stream;if(o.getClient()===this.client_&&o.isRemote()&&o.hasVideo()){var a="".concat(o.getUserId(),"_").concat(o.getType());this.remoteStreamMap_.has(a)||this.remoteStreamMap_.set(a,{isPlayingFired:!1})}}},{key:"handleVideoPlaying",value:function(i){var o=i.stream;if(o.isRemote()&&o.getClient()===this.client_){var a="".concat(o.getUserId(),"_").concat(o.getType());this.remoteStreamMap_.has(a)&&(this.remoteStreamMap_.get(a).isPlayingFired=!0)}}},{key:"getDataFreezeDuration",value:function(i){var o={dataFreeze:0,count:0},a=this.dataFreezeMap_.get(i);if(a){if(a.isFreezing()){var s=a.durationItemList[a.durationItemList.length-1];s.stop(),s.getDuration()<500&&a.durationItemList.pop()}o.dataFreeze=this.getTotalDuration(a.durationItemList),o.count=a.durationItemList.length}return o}},{key:"getRenderFreezeDuration",value:function(i){var o=this.renderFreezeMap_.get(i),a=0,s=0;if(o)if(o.isFreeze){var c=Dt()-o.freezeTimeline[o.freezeTimeline.length-1].startTime;a=o.renderFreezeTotal+Math.min(c,5e3),s=o.freezeTimeline.length}else a=o.renderFreezeTotal;return{renderFreeze:a,count:s}}},{key:"getMonitorFreeze",value:function(){return this.monitorFreezeData_}},{key:"isBlackStream",value:function(i){return!!this.remoteStreamMap_.has(i)&&!this.remoteStreamMap_.get(i).isPlayingFired}},{key:"resetMonitor",value:function(){this.monitorFreezeData_.clear()}}]),e}(),sg=Ie(function e(t){J(this,e),this.userId=t.userId,this.tinyId=t.tinyId,this.role=t.role===so?br:Qi}),aw={exports:{}};(function(e){(function(t){function n(g,I){var w=(65535&g)+(65535&I);return(g>>16)+(I>>16)+(w>>16)<<16|65535&w}function r(g,I,w,B,z,$){return n((ue=n(n(I,g),n(B,$)))<<(L=z)|ue>>>32-L,w);var ue,L}function i(g,I,w,B,z,$,ue){return r(I&w|~I&B,g,I,z,$,ue)}function o(g,I,w,B,z,$,ue){return r(I&B|w&~B,g,I,z,$,ue)}function a(g,I,w,B,z,$,ue){return r(I^w^B,g,I,z,$,ue)}function s(g,I,w,B,z,$,ue){return r(w^(I|~B),g,I,z,$,ue)}function c(g,I){var w,B,z,$,ue;g[I>>5]|=128<<I%32,g[14+(I+64>>>9<<4)]=I;var L=1732584193,k=-271733879,P=-1732584194,A=271733878;for(w=0;w<g.length;w+=16)B=L,z=k,$=P,ue=A,L=i(L,k,P,A,g[w],7,-680876936),A=i(A,L,k,P,g[w+1],12,-389564586),P=i(P,A,L,k,g[w+2],17,606105819),k=i(k,P,A,L,g[w+3],22,-1044525330),L=i(L,k,P,A,g[w+4],7,-176418897),A=i(A,L,k,P,g[w+5],12,1200080426),P=i(P,A,L,k,g[w+6],17,-1473231341),k=i(k,P,A,L,g[w+7],22,-45705983),L=i(L,k,P,A,g[w+8],7,1770035416),A=i(A,L,k,P,g[w+9],12,-1958414417),P=i(P,A,L,k,g[w+10],17,-42063),k=i(k,P,A,L,g[w+11],22,-1990404162),L=i(L,k,P,A,g[w+12],7,1804603682),A=i(A,L,k,P,g[w+13],12,-40341101),P=i(P,A,L,k,g[w+14],17,-1502002290),L=o(L,k=i(k,P,A,L,g[w+15],22,1236535329),P,A,g[w+1],5,-165796510),A=o(A,L,k,P,g[w+6],9,-1069501632),P=o(P,A,L,k,g[w+11],14,643717713),k=o(k,P,A,L,g[w],20,-373897302),L=o(L,k,P,A,g[w+5],5,-701558691),A=o(A,L,k,P,g[w+10],9,38016083),P=o(P,A,L,k,g[w+15],14,-660478335),k=o(k,P,A,L,g[w+4],20,-405537848),L=o(L,k,P,A,g[w+9],5,568446438),A=o(A,L,k,P,g[w+14],9,-1019803690),P=o(P,A,L,k,g[w+3],14,-187363961),k=o(k,P,A,L,g[w+8],20,1163531501),L=o(L,k,P,A,g[w+13],5,-1444681467),A=o(A,L,k,P,g[w+2],9,-51403784),P=o(P,A,L,k,g[w+7],14,1735328473),L=a(L,k=o(k,P,A,L,g[w+12],20,-1926607734),P,A,g[w+5],4,-378558),A=a(A,L,k,P,g[w+8],11,-2022574463),P=a(P,A,L,k,g[w+11],16,1839030562),k=a(k,P,A,L,g[w+14],23,-35309556),L=a(L,k,P,A,g[w+1],4,-1530992060),A=a(A,L,k,P,g[w+4],11,1272893353),P=a(P,A,L,k,g[w+7],16,-155497632),k=a(k,P,A,L,g[w+10],23,-1094730640),L=a(L,k,P,A,g[w+13],4,681279174),A=a(A,L,k,P,g[w],11,-358537222),P=a(P,A,L,k,g[w+3],16,-722521979),k=a(k,P,A,L,g[w+6],23,76029189),L=a(L,k,P,A,g[w+9],4,-640364487),A=a(A,L,k,P,g[w+12],11,-421815835),P=a(P,A,L,k,g[w+15],16,530742520),L=s(L,k=a(k,P,A,L,g[w+2],23,-995338651),P,A,g[w],6,-198630844),A=s(A,L,k,P,g[w+7],10,1126891415),P=s(P,A,L,k,g[w+14],15,-1416354905),k=s(k,P,A,L,g[w+5],21,-57434055),L=s(L,k,P,A,g[w+12],6,1700485571),A=s(A,L,k,P,g[w+3],10,-1894986606),P=s(P,A,L,k,g[w+10],15,-1051523),k=s(k,P,A,L,g[w+1],21,-2054922799),L=s(L,k,P,A,g[w+8],6,1873313359),A=s(A,L,k,P,g[w+15],10,-30611744),P=s(P,A,L,k,g[w+6],15,-1560198380),k=s(k,P,A,L,g[w+13],21,1309151649),L=s(L,k,P,A,g[w+4],6,-145523070),A=s(A,L,k,P,g[w+11],10,-1120210379),P=s(P,A,L,k,g[w+2],15,718787259),k=s(k,P,A,L,g[w+9],21,-343485551),L=n(L,B),k=n(k,z),P=n(P,$),A=n(A,ue);return[L,k,P,A]}function u(g){var I,w="",B=32*g.length;for(I=0;I<B;I+=8)w+=String.fromCharCode(g[I>>5]>>>I%32&255);return w}function l(g){var I,w=[];for(w[(g.length>>2)-1]=void 0,I=0;I<w.length;I+=1)w[I]=0;var B=8*g.length;for(I=0;I<B;I+=8)w[I>>5]|=(255&g.charCodeAt(I/8))<<I%32;return w}function h(g){var I,w,B="0123456789abcdef",z="";for(w=0;w<g.length;w+=1)I=g.charCodeAt(w),z+=B.charAt(I>>>4&15)+B.charAt(15&I);return z}function _(g){return unescape(encodeURIComponent(g))}function y(g){return function(I){return u(c(l(I),8*I.length))}(_(g))}function S(g,I){return function(w,B){var z,$,ue=l(w),L=[],k=[];for(L[15]=k[15]=void 0,ue.length>16&&(ue=c(ue,8*w.length)),z=0;z<16;z+=1)L[z]=909522486^ue[z],k[z]=1549556828^ue[z];return $=c(L.concat(l(B)),512+8*B.length),u(c(k.concat($),640))}(_(g),_(I))}function f(g,I,w){return I?w?S(I,g):h(S(I,g)):w?y(g):h(y(g))}e.exports?e.exports=f:t.md5=f})(ae)})(aw);var fd=aw.exports,J7=function(){function e(o){J(this,e),this.client_=o.client,this.signalChannel_=o.signalChannel,this.log_=ye.createLogger({id:"mix|"+this.client_.getUserId(),userId:o.client.getUserId(),sdkAppId:o.client.getSDKAppId()}),this.isMixing_=!1,this.config_=null,this.data_=null,this.remoteStreamMap_=new Map,this.installEvents()}var t,n,r,i;return Ie(e,[{key:"isPresetLayoutMode",get:function(){return this.config_&&this.config_.mode===rf.PRESET_LAYOUT}},{key:"installEvents",value:function(){K.on(jr,this.onStreamSubscribed,this),K.on(Br,this.onStreamUnsubscribed,this),this.client_.on("stream-removed",this.onStreamRemoved,this)}},{key:"uninstallEvents",value:function(){K.off(jr,this.onStreamSubscribed,this),K.off(Br,this.onStreamUnsubscribed,this),this.client_.off("stream-removed",this.onStreamRemoved,this)}},{key:"reset",value:function(){this.uninstallEvents(),this.isMixing_=!1,this.config_=null}},{key:"onStreamSubscribed",value:function(o){var a=o.client,s=o.stream;a===this.client_&&(this.remoteStreamMap_.set(s.getId(),{remoteStream:s,isUsed:!1}),this.isMixing_&&this.hasAvailablePlaceHolder()&&this.startMixTranscode(this.config_))}},{key:"onStreamUnsubscribed",value:function(o){var a=o.client,s=o.stream;a===this.client_&&this.onStreamRemoved({stream:s})}},{key:"onStreamRemoved",value:function(o){var a=o.stream;if(this.remoteStreamMap_.has(a.getId())){var s=this.remoteStreamMap_.get(a.getId()).isUsed;this.remoteStreamMap_.delete(a.getId()),this.isMixing_&&this.isPresetLayoutMode&&s&&this.startMixTranscode(this.config_)}}},{key:"startMixTranscode",value:(i=N(p().mark(function o(a){var s,c,u;return p().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:if(l.prev=0,this.resetIsUsedFlag(),this.config_=a,s=this.getInputParam(a,this.remoteStreamMap_),c=this.getOutputParam(a),u=this.getOutputSessionId({config:a,roomId:this.client_.getRoomId(),userId:this.client_.getUserId()}),!this.isMixing_||!this.data_||u===this.data_.outputSessionId){l.next=10;break}return this.log_.info("startMixTranscode() streamId changed, stop mixing before start"),l.next=10,this.doStopMixTranscode();case 10:return l.next=12,this.doStartMixTranscode({outputSessionId:u,inputParam:s,outputParam:c});case 12:l.next=18;break;case 14:throw l.prev=14,l.t0=l.catch(0),this.resetIsUsedFlag(),l.t0;case 18:case"end":return l.stop()}},o,this,[[0,14]])})),function(o){return i.apply(this,arguments)})},{key:"doStartMixTranscode",value:(r=N(p().mark(function o(a){var s,c,u,l,h,_,y,S;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return s=a.outputSessionId,c=a.inputParam,u=a.outputParam,l={roomId:String(this.client_.getRoomId()),mcuRequestTime:Date.now(),outputSessionId:s,inputParam:c,outputParam:u},this.data_=l,this.log_.info("startMixTranscode: ".concat(JSON.stringify(l))),this.isMixing_=!0,f.prev=5,f.next=8,this.signalChannel_.sendWaitForResponse({command:MU,data:l,timeout:5e3,responseCommand:vt.START_MIX_TRANSCODE_RES,commandDesc:"startMixTranscode"});case 8:if(h=f.sent,_=h.data,y=_.code,S=_.message,y===0){f.next=15;break}throw y===-102083&&(S="Please enable relayed-push in ".concat($b," and try later, refer to ").concat(uf,"tutorial-26-advanced-publish-cdn-stream.html")),this.log_.error("startMixTranscode failed, errCode: ".concat(y," errMsg: ").concat(S)),this.isMixing_=!1,new ee({code:Y.START_MIX_TRANSCODE_FAILED,message:ne({key:I4,data:{message:S},link:{className:"Client",fnName:"startMixTranscode"}})});case 15:f.next=21;break;case 17:throw f.prev=17,f.t0=f.catch(5),this.isMixing_=!1,f.t0;case 21:case"end":return f.stop()}},o,this,[[5,17]])})),function(o){return r.apply(this,arguments)})},{key:"reStartMixTranscode",value:function(){this.isMixing_&&this.startMixTranscode(this.config_)}},{key:"stopMixTranscode",value:(n=N(p().mark(function o(){return p().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(this.isMixing_){a.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:E4})});case 2:return a.next=4,this.doStopMixTranscode();case 4:this.resetIsUsedFlag();case 5:case"end":return a.stop()}},o,this)})),function(){return n.apply(this,arguments)})},{key:"doStopMixTranscode",value:(t=N(p().mark(function o(){var a,s,c,u,l;return p().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return a={mcuRequestTime:Date.now(),outputSessionId:this.data_.outputSessionId,streamType:this.data_.outputParam.streamType},this.log_.info("stopMixTranscode: ".concat(JSON.stringify(a))),h.next=4,this.signalChannel_.sendWaitForResponse({command:NU,data:a,timeout:5e3,responseCommand:vt.STOP_MIX_TRANSCODE_RES,commandDesc:"stopMixTranscode"});case 4:if(s=h.sent,c=s.data,u=c.code,l=c.message,u!==0){h.next=10;break}this.isMixing_=!1,h.next=12;break;case 10:throw this.log_.error("stopMixTranscode failed, errCode: ".concat(u," errMsg: ").concat(l)),new ee({code:Y.STOP_MIX_TRANSCODE_FAILED,message:ne({key:w4,data:{message:l},link:{className:"Client",fnName:"stopMixTranscode"}})});case 12:case"end":return h.stop()}},o,this)})),function(){return t.apply(this,arguments)})},{key:"getOutputSessionId",value:function(o){var a=o.config,s=o.userId,c=o.roomId;return Ft(a.streamId)&&a.streamId.length>0?a.streamId:fd("".concat(c,"_").concat(s,"_main"))}},{key:"getInputParam",value:function(o,a){var s=this,c=o.mixUsers.map(function(u){return{userId:u.userId,roomId:String(u.roomId||s.client_.getRoomId()),width:u.width||0,height:u.height||0,locationX:u.locationX||0,locationY:u.locationY||0,zOrder:u.zOrder,streamType:ge(u.streamType)||u.streamType!==Lt?0:1,inputType:u.pureAudio?zb.IT_PURE_AUDIO:zb.IT_AUDIO_VIDEO,renderMode:u.renderMode||0}});return o.mode===rf.PRESET_LAYOUT&&(c.forEach(function(u){if(u.userId===Hb.REMOTE){var l=be(a.values()).find(function(h){return!h.isUsed});l&&(u.userId=l.remoteStream.getUserId(),u.streamType=l.remoteStream.getType()===Lt?1:0,l.isUsed=!0)}}),c=c.filter(function(u){return u.userId!==Hb.REMOTE})),c}},{key:"getOutputParam",value:function(o){var a=o.streamId||"";return{streamId:a,streamType:a.length>0?1:0,width:ge(o.videoWidth)?640:o.videoWidth,height:ge(o.videoHeight)?480:o.videoHeight,videoBps:o.videoBitrate||0,fps:o.videoFramerate||15,gop:o.videoGOP||2,audioSampleRate:o.audioSampleRate||48e3,audioBps:o.audioBitrate||64,audioChannels:o.audioChannels||1,backgroundColor:o.backgroundColor||0,backgroundImg:o.backgroundImage||"",extraInfo:"",videoCodec:2,audioCodec:0}}},{key:"hasAvailablePlaceHolder",value:function(){return!!this.isPresetLayoutMode&&this.data_.inputParam.length!==this.config_.mixUsers.length}},{key:"resetIsUsedFlag",value:function(){this.remoteStreamMap_.forEach(function(o){return o.isUsed=!1})}}]),e}(),q7=function(){function e(s){J(this,e),this.client_=s.client,this.signalChannel_=s.signalChannel,this.publishTencentMainStreamObj_={params_:null,streamId_:void 0,isPublishing_:!1},this.publishTencentAuxStreamObj_={params_:null,streamId_:void 0,isPublishing_:!1},this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1}var t,n,r,i,o,a;return Ie(e,[{key:"setSignalChannel",value:function(s){this.signalChannel_=s.signalChannel}},{key:"getIsPublishingTencentCDN",value:function(){return this.publishTencentMainStreamObj_.isPublishing_||this.publishTencentAuxStreamObj_.isPublishing_}},{key:"getIsPublishingGivenCDN",value:function(){return this.isPublishingGivenCDN_}},{key:"generatePublishCDNStreamId",value:function(s,c){if(!s){var u="".concat(this.client_.getRoomId(),"_").concat(this.client_.getUserId(),"_").concat(c);return/^[A-Za-z\d_-]*$/.test(u)||(u=fd(u)),"".concat(this.client_.getSDKAppId(),"_").concat(u)}return s}},{key:"generatePublishCDNSessionId",value:function(s){return fd("".concat(this.client_.getRoomId(),"_").concat(this.client_.getUserId(),"_").concat(s))}},{key:"startPublishTencentCDN",value:(a=N(p().mark(function s(c){var u,l,h,_;return p().wrap(function(y){for(;;)switch(y.prev=y.next){case 0:if(c.streamType===Vn?(this.publishTencentAuxStreamObj_.params_=c,this.publishTencentAuxStreamObj_.isPublishing_=!0):(this.publishTencentMainStreamObj_.params_=c,this.publishTencentMainStreamObj_.isPublishing_=!0),this.client_.isJoined_){y.next=3;break}return y.abrupt("return");case 3:return u=this.generatePublishCDNStreamId(c.streamId,c.streamType),l=this.generatePublishCDNSessionId(c.streamType),h=c.streamType===Vn?1:0,_={requestTime:Date.now(),sessionId:l,streamId:u,streamType:h},y.next=9,this.doStartPublishTencentCDN(_,c.streamType);case 9:case"end":return y.stop()}},s,this)})),function(s){return a.apply(this,arguments)})},{key:"doStartPublishTencentCDN",value:(o=N(p().mark(function s(c,u){var l,h,_,y;return p().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:return S.prev=0,ye.info("startPublishTencentCDN: "+JSON.stringify(c)),S.next=4,this.signalChannel_.sendWaitForResponseWithRetry({command:PU,data:c,timeout:2e3,responseCommand:vt.START_PUBLISH_TENCENT_CDN_RES,commandDesc:"startPublishCDNStream",retries:2});case 4:if(l=S.sent,h=l.data,_=h.code,y=h.message,_!==0){S.next=10;break}u===Vn?this.publishTencentAuxStreamObj_.streamId_=c.streamId:this.publishTencentMainStreamObj_.streamId_=c.streamId,S.next=14;break;case 10:throw u===Vn?this.publishTencentAuxStreamObj_.isPublishing_=!1:this.publishTencentMainStreamObj_.isPublishing_=!1,_===-102083&&(y="Please enable relayed-push in ".concat($b," and try later, refer to ").concat(uf,"tutorial-26-advanced-publish-cdn-stream.html")),ye.error("startPublishTencentCDN failed, errCode: ".concat(_,", errMsg: ").concat(y)),new ee({code:Y.START_PUBLISH_CDN_FAILED,message:ne({key:dk,data:{message:y},link:{className:"Client",fnName:"startPublishCDNStream"}})});case 14:S.next=20;break;case 16:throw S.prev=16,S.t0=S.catch(0),u===Vn?this.publishTencentAuxStreamObj_.isPublishing_=!1:this.publishTencentMainStreamObj_.isPublishing_=!1,S.t0;case 20:case"end":return S.stop()}},s,this,[[0,16]])})),function(s,c){return o.apply(this,arguments)})},{key:"resetPublishTencentParam",value:function(s){s===Ze&&(this.publishTencentMainStreamObj_={params_:null,streamId_:void 0,isPublishing_:!1}),s===Vn&&(this.publishTencentAuxStreamObj_={params_:null,streamId_:void 0,isPublishing_:!1})}},{key:"stopPublishTencentCDN",value:(i=N(p().mark(function s(){return p().wrap(function(c){for(;;)switch(c.prev=c.next){case 0:if(this.client_.isJoined_){c.next=4;break}return this.resetPublishTencentParam(Ze),this.resetPublishTencentParam(Vn),c.abrupt("return");case 4:if(!this.publishTencentMainStreamObj_.isPublishing_){c.next=7;break}return c.next=7,this.doStopPublishTencentCDN(Ze);case 7:if(!this.publishTencentAuxStreamObj_.isPublishing_){c.next=10;break}return c.next=10,this.doStopPublishTencentCDN(Vn);case 10:case"end":return c.stop()}},s,this)})),function(){return i.apply(this,arguments)})},{key:"doStopPublishTencentCDN",value:(r=N(p().mark(function s(c){var u,l,h,_,y;return p().wrap(function(S){for(;;)switch(S.prev=S.next){case 0:return u={requestTime:Date.now(),sessionId:fd("".concat(this.client_.getRoomId(),"_").concat(this.client_.getUserId(),"_").concat(c))},ye.info("stopPublishTencentCDN: "+JSON.stringify(u)),S.next=4,this.signalChannel_.sendWaitForResponse({command:DU,data:u,timeout:5e3,responseCommand:vt.STOP_PUBLISH_TENCENT_CDN_RES,commandDesc:"stopPublishCDNStream"});case 4:if(l=S.sent,h=l.data,_=h.code,y=h.message,_!==0){S.next=10;break}this.resetPublishTencentParam(c),S.next=17;break;case 10:if(_!==-102069){S.next=15;break}ye.warn("stopPublishTencentCDN failed, can not stopPublishTencentCDN in auto relayed-push mode"),this.resetPublishTencentParam(c),S.next=17;break;case 15:throw ye.error("stopPublishTencentCDN failed, errCode: ".concat(_," errMsg: ").concat(y)),new ee({code:Y.STOP_PUBLISH_CDN_FAILED,message:ne({key:hk,data:{message:y},link:{className:"Client",fnName:"stopPublishCDNStream"}})});case 17:case"end":return S.stop()}},s,this)})),function(s){return r.apply(this,arguments)})},{key:"startPublishGivenCDN",value:(n=N(p().mark(function s(c){var u,l,h,_,y,S;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:if(u=c.streamType===Ze?this.publishTencentMainStreamObj_.streamId_:this.publishTencentAuxStreamObj_.streamId_,l={pushRequestTime:Date.now(),pushAppId:c.appId,pushBizId:c.bizId,pushCdnUrl:c.url,pushStreamType:c.streamType,pushStreamId:u},ye.info("startPublishGivenCDN: "+JSON.stringify(l)),this.publishGivenCDNData_=l,this.isPublishingGivenCDN_=!0,this.client_.isJoined_){f.next=7;break}return f.abrupt("return");case 7:return f.prev=7,f.next=10,this.signalChannel_.sendWaitForResponse({command:LU,data:l,timeout:5e3,responseCommand:vt.START_PUBLISH_GIVEN_CDN_RES,commandDesc:"startPublishCDNStream"});case 10:if(h=f.sent,_=h.data,y=_.code,S=_.message,y===0){f.next=17;break}throw ye.error("startPublishGivenCDN failed, errCode: ".concat(y,", errMsg: ").concat(S)),this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1,new ee({code:Y.START_PUBLISH_CDN_FAILED,message:ne({key:dk,data:{message:S},link:{className:"Client",fnName:"startPublishCDNStream"}})});case 17:f.next=24;break;case 19:throw f.prev=19,f.t0=f.catch(7),this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1,f.t0;case 24:case"end":return f.stop()}},s,this,[[7,19]])})),function(s){return n.apply(this,arguments)})},{key:"stopPublishGivenCDN",value:(t=N(p().mark(function s(){var c,u,l,h,_,y,S,f,g,I;return p().wrap(function(w){for(;;)switch(w.prev=w.next){case 0:if(this.client_.isJoined_){w.next=4;break}return this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1,w.abrupt("return");case 4:return c=this.publishGivenCDNData_,u=c.pushAppId,l=c.pushBizId,h=c.pushCdnUrl,_=c.pushStreamType,y={pushRequestTime:Date.now(),pushAppId:u,pushBizId:l,pushCdnUrl:h,pushStreamType:_},ye.info("stopPublishGivenCDN: "+JSON.stringify(y)),w.next=9,this.signalChannel_.sendWaitForResponse({command:OU,data:y,timeout:5e3,responseCommand:vt.STOP_PUBLISH_GIVEN_CDN_RES,commandDesc:"stopPublishCDNStream"});case 9:if(S=w.sent,f=S.data,g=f.code,I=f.message,g!==0){w.next=16;break}this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1,w.next=18;break;case 16:throw ye.error("stopPublishGivenCDN failed, errCode: ".concat(g," errMsg: ").concat(I)),new ee({code:Y.STOP_PUBLISH_CDN_FAILED,message:ne({key:hk,data:{message:I},link:{className:"Client",fnName:"stopPublishCDNStream"}})});case 18:case"end":return w.stop()}},s,this)})),function(){return t.apply(this,arguments)})},{key:"handleCDNConfigForJoinData",value:function(s){var c,u=s;if(this.publishTencentMainStreamObj_.isPublishing_||this.publishTencentAuxStreamObj_.isPublishing_){var l={};Ft(u)&&(l=JSON.parse(u)),l.Str_uc_params||(l.Str_uc_params={}),this.publishTencentMainStreamObj_.isPublishing_&&(this.publishTencentMainStreamObj_.streamId_?l.Str_uc_params.userdefine_streamid_main=this.publishTencentMainStreamObj_.streamId_:this.publishTencentMainStreamObj_.params_&&(l.Str_uc_params.userdefine_streamid_main=this.generatePublishCDNStreamId(this.publishTencentMainStreamObj_.params_.streamId,Ze))),this.publishTencentAuxStreamObj_.isPublishing_&&(this.publishTencentAuxStreamObj_.streamId_?l.Str_uc_params.userdefine_streamid_aux=this.publishTencentAuxStreamObj_.streamId_:this.publishTencentAuxStreamObj_.params_&&(l.Str_uc_params.userdefine_streamid_aux=this.generatePublishCDNStreamId(this.publishTencentAuxStreamObj_.params_.streamId,Vn))),u=JSON.stringify(l)}if(this.isPublishingGivenCDN_){var h=this.publishGivenCDNData_,_=h.pushAppId,y=h.pushBizId,S=h.pushCdnUrl,f=h.pushStreamType,g=h.pushStreamId;c={pushRequestTime:Date.now(),pushAppId:_,pushBizId:y,pushCdnUrl:S,pushStreamType:f,pushStreamId:g}}return{bussinessInfo:u,pushUserCdnInfo:c}}},{key:"reset",value:function(){this.resetPublishTencentParam(Ze),this.resetPublishTencentParam(Vn),this.publishGivenCDNData_=null,this.isPublishingGivenCDN_=!1}}]),e}(),K7=function(){function e(t){J(this,e),this.client_=t.client,this.durationMap_=new Map,this.installEvents()}return Ie(e,[{key:"installEvents",value:function(){K.on(jr,this.handleSubscribed,this),K.on(jn,this.handleStreamTrackUpdated,this),K.on(Br,this.handleStreamStopped,this),K.on(oa,this.handleStreamStopped,this)}},{key:"uninstallEvents",value:function(){K.off(jr,this.handleSubscribed,this),K.off(jn,this.handleStreamTrackUpdated,this),K.off(Br,this.handleStreamStopped,this),K.off(oa,this.handleStreamStopped,this)}},{key:"handleSubscribed",value:function(t){var n=t.client,r=t.stream;if(n===this.client_){var i=r.getUserId(),o=r.getType(),a="".concat(i,"_").concat(o);if(r.hasAudio())if(r.isMainAudioSubscribed){var s=new pd,c=this.durationMap_.get(a);c?this.isRecording(c.audio)||c.audio.push(s):this.durationMap_.set(a,{userId:i,type:o,audio:[s],video:[]})}else this.stopDurationItem(a,Ce);if(r.hasVideo())if(o===_t&&r.isMainVideoSubscribed||o===Lt&&r.isAuxVideoSubscribed){var u=new pd,l=this.durationMap_.get(a);l?this.isRecording(l.video)||l.video.push(u):this.durationMap_.set(a,{userId:i,type:o,audio:[],video:[u]})}else this.stopDurationItem(a,Te)}}},{key:"handleStreamStopped",value:function(t){var n=t.client,r=t.stream;if(this.clientHitTest(n)){var i=r.getUserId(),o=r.getType(),a="".concat(i,"_").concat(o);this.stopDurationItem(a,Ce),this.stopDurationItem(a,Te)}}},{key:"handleStreamTrackUpdated",value:function(t){var n=t.client,r=t.userId,i=t.tinyId,o=t.kind,a=t.action;if(this.clientHitTest(n)&&this.client_.getConnections().has(i)){var s=o===mt?o:_t,c="".concat(r,"_").concat(s);if(a===un.ADD){var u=this.client_.getConnections().get(i).getSubscribeState();if(o===Ce&&!u.audio||o===Te&&!u.video||o===mt&&!u.auxiliary)return;var l=new pd,h=this.durationMap_.get(c);h?(o!==Ce||this.isRecording(h.audio)||h.audio.push(l),o===Ce||this.isRecording(h.video)||h.video.push(l)):this.durationMap_.set(c,{userId:r,type:s,audio:o===Ce?[l]:[],video:o===Ce?[]:[l]})}else this.stopDurationItem(c,o===Ce?Ce:Te)}}},{key:"isRecording",value:function(t){return t.findIndex(function(n){return n.endTime===0})>=0}},{key:"stopDurationItem",value:function(t,n){if(this.durationMap_.has(t)){var r=this.durationMap_.get(t)[n].find(function(i){return i.endTime===0});r&&r.stop()}}},{key:"clientHitTest",value:function(t){return this.client_===t}},{key:"getDuration",value:function(t,n){return this.durationMap_.has(t)?this.durationMap_.get(t)[n].reduce(function(r,i){return r+i.getDuration()},0):0}},{key:"getDurationMap",value:function(){return this.durationMap_}},{key:"reset",value:function(){this.durationMap_.clear()}},{key:"destroy",value:function(){this.client_=null,this.uninstallEvents()}}]),e}();function Ac(){return function(e,t,n){var r=n.value,i=new Set;return n.value=N(p().mark(function o(){var a,s,c,u,l=arguments;return p().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:if(!i.has(this)){h.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:S3,data:{name:t}})});case 2:for(h.prev=2,i.add(this),a=l.length,s=new Array(a),c=0;c<a;c++)s[c]=l[c];return h.next=7,r.apply(this,s);case 7:return u=h.sent,i.delete(this),h.abrupt("return",u);case 12:throw h.prev=12,h.t0=h.catch(2),i.delete(this),h.t0;case 16:case"end":return h.stop()}},o,this,[[2,12]])})),n}}function X7(e){return cg.apply(this,arguments)}function cg(){return cg=N(p().mark(function e(t){var n,r,i,o,a,s,c,u,l,h,_,y,S;return p().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return n=t.userId,r=t.sdkAppId,i=t.useStringRoomId,o=t.roomId,a=t.userSig,s={delta:0,count:[1,1],msg:[]},f.prev=2,(c=new FormData).append("userId",String(n)),c.append("sdkAppId",String(r)),c.append("isStrGroupId",i),c.append("groupId",String(o)),c.append("sdkVersion",ji),c.append("userSig",String(a)),of&&c.append("oversea",!0),u=Dt(),f.next=14,Y7(c,s,r);case 14:return(l=f.sent).config&&l.config.loggerDomain&&Xp(l.config.loggerDomain),s.delta=Dt()-u,ow({stat:s,userId:n}),f.abrupt("return",l);case 21:throw f.prev=21,f.t0=f.catch(2),h=vl(f.t0)?f.t0[0]:f.t0,_=er(h.code)?h.code:0,y="get websocket url failed: ".concat(h.message.includes("timeout")?"timeout":h.message),S=new ee({code:Y.SCHEDULE_FAILED,extraCode:_,message:ne({key:uk,data:{error:y,code:_}})}),ye.error(S),ow({stat:s,userId:n,roomId:o,error:S}),S;case 30:case"end":return f.stop()}},e,null,[[2,21]])})),cg.apply(this,arguments)}function ow(e){var t=e.stat,n=e.userId,r=e.error;r?xe.logFailedEvent({eventType:Gb,error:r,userId:n}):xe.logSuccessEvent({eventType:Gb,delta:t.delta,userId:n}),xe.uploadEvent({log:"stat-schedule:"+JSON.stringify(t),userId:n})}function sw(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ze;return t=of||(Mk(e)?n===Ze?s3:c3:n===Ze?a3:o3),"https://".concat(t,"/api/v1/config")}function Q7(e,t,n){return new Promise(function(r,i){gl({url:e,body:t,timeout:n.timeout}).then(function(o){o.data.code===0?r(o.data.data):i({code:o.data.code,message:o.data.msg})}).catch(i)})}var cw=function(e,t){return sc({retryFunction:Q7,settings:{retries:3,timeout:0},onError:t,onRetrying:e})};function Y7(e,t,n){return new Promise(function(r,i){var o,a=null;(o=[cw(function(s){return t.count[0]=s+1},function(s,c){t.msg[0]=s.message,a||c()})(sw(n,Ze),e,{get timeout(){return 1e3*ml(2+t.count[0])}}),cw(function(s){return t.count[1]=s+1},function(s,c){t.msg[1]=s.message,a||c()})(sw(n,Xi),e,{get timeout(){return 1e3*ml(2+t.count[1])}})],new Promise(function(s,c){var u=[];o.forEach(function(l){l.then(s).catch(function(h){u.push(h),u.length===o.length&&c(u)})})})).then(function(s){r(a=s)}).catch(i)})}var uw,lw,dw,hw,pw,fw,mw,vw,gw,_w,yw,Sw,bw,kw,Tw,xw,Iw,ww,Ew,Cw,Rw,Aw,Pw,Dw,Lw,Ow,Mw,Nw,Vw,Uw,Pe,$7=function(){function e(){J(this,e)}return Ie(e,[{key:"call",value:function(t,n){return In(this[t])?this[t](n):Promise.reject(new ee({code:Y.INVALID_PARAMETER,message:ne({key:K4,data:{name:t}})}))}},{key:"updatePrivateMapKey",value:function(t){var n=t.privateMapKey;return t.client.setProperty("privateMapKey",n),Promise.resolve()}}]),e}(),Z7=new $7,md,vd,gd,ug,jw,Bw,Fw,Gw,Hw,zw,$t,e9=(uw=Ac(),lw=wn(Yt.CLIENT.join),dw=Ac(),hw=wc({retries:3}),pw=Ac(),fw=wn.apply(void 0,be(Yt.CLIENT.publish)),mw=kt(ln),vw=Ac(),gw=wn(Yt.CLIENT.unpublish),_w=wn.apply(void 0,be(Yt.CLIENT.subscribe)),yw=wn(Yt.CLIENT.unsubscribe),Sw=Ac(),bw=wn(Yt.CLIENT.switchRole),kw=kt(ln),Tw=wn(Yt.CLIENT.startPublishCDNStream),xw=kt(ln),Iw=kt(ln),ww=wn(Yt.CLIENT.startMixTranscode),Ew=kt(ln),Cw=kt(ln),Rw=kt(ln),Aw=kt(ln),Pw=kt(ln),Dw=kt(ln),Lw=kt(ln),Ow=nd.apply(void 0,be(Yt.CLIENT.sendSEIMessage)),Mw=kt(ln),md={timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t[0].byteLength}},vd=md.timesInSecond,gd=md.maxSizeInSecond,ug=md.getSize,Nw=function(e,t,n){var r=n.value,i=new Map;return K.on(qf,function(o){var a=o.client;return i.delete(a)}),n.value=function(){var o=i.get(this);o||(o={callCountInSecond:0,timestamp:0,totalSizeInSecond:0},i.set(this,o)),o.timestamp===0?o.timestamp=Date.now():Date.now()-o.timestamp>1e3&&(o.timestamp=Date.now(),o.callCountInSecond=0,o.totalSizeInSecond=0);for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];if(ug&&(o.totalSizeInSecond+=ug.apply(void 0,s)),o.timestamp!==0&&Date.now()-o.timestamp<1e3&&(o.callCountInSecond>=vd||o.totalSizeInSecond>gd))throw new ee({code:Y.INVALID_OPERATION,message:ne({key:nV,data:{isTimes:o.callCountInSecond>=vd,isSize:o.totalSizeInSecond>gd,name:t,timesInSecond:vd,maxSizeInSecond:gd}})});return o.callCountInSecond++,r.apply(this,s)},n},Vw=kt(ln),Uw=kt(ln),Pe=function(){function e(T){var v,E;J(this,e),this.name_=ln,this.mode_=T.mode,this.sdpSemantics_=nf,ge(T.sdpSemantics)?function(){var C;if(ge(window.RTCRtpTransceiver)||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;var M=null,F=!1;try{(M=new RTCPeerConnection({sdpSemantics:Zs})).addTransceiver(Ce),F=!0}catch(q){}return(C=M)===null||C===void 0||C.close(),F}()&&(this.sdpSemantics_=Zs):this.sdpSemantics_=T.sdpSemantics,this.sdkAppId_=T.sdkAppId,this.userId_=T.userId,this.log_=ye.createLogger({id:"c".concat(T.seq,"|").concat(this.userId_),userId:this.userId_,sdkAppId:this.sdkAppId_}),this.userSig_=T.userSig,this.roomId_=0,this.useStringRoomId_=T.useStringRoomId||!1,this.pureAudioPushMode_=null,this.version_=T.version,this.log_.info("using sdpSemantics: "+this.sdpSemantics_),this.signalChannel_=null,this.role_=br,this.privateMapKey_="",this.tinyId_=0,this.env_="",this.proxy_=null,this.unifiedProxy_=null,this.connections_=new Map,this.mutedStates_=new Map,this.userMap_=new Map,this.syncUserListInterval_=-1,this.localStream_=null,this.localAuxStream_=null,this.uplinkConnection_=null,this.emitter_=Gk(new yi,this.name_),this.isJoined_=!1,this.heartbeat_=-1,this.lastHeartBeatTime_=-1,this.stats_=new Y6(this),this.joinTimeout_=-1,this.changeBigSmallRecords_=new Map,this.networkQuality_=null,this.badCaseDetector_=null,this.networkType_=Of(),this.autoSubscribe_=!!ge(T.autoSubscribe)||T.autoSubscribe,this.joinedTimestamp_=0,this.joinOptions_={},this.basis_=(E={browser:ra().name+"/"+ra().version,os:Mm(),displayResolution:G6(),isScreenShareSupported:NT(),isWebRTCSupported:Cm(),isGetUserMediaSupported:H6(),isWebAudioSupported:z6(),isWebSocketsSupported:"WebSocket"in window&&window.WebSocket.CLOSING===2,isWebCodecSupported:(v={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1},ge(window.AudioDecoder)||(v.AudioDecoder=!0),ge(window.AudioEncoder)||(v.AudioEncoder=!0),ge(window.VideoDecoder)||(v.VideoDecoder=!0),ge(window.VideoEncoder)||(v.VideoEncoder=!0),ge(window.ImageDecoder)||(v.ImageDecoder=!0),v),isMediaSessionSupported:"mediaSession"in navigator&&!ge(navigator.mediaSession.setActionHandler),isWebTransportSupported:!ge(window.WebTransport)},navigator.userAgent.includes("miniProgram")&&(E.browser="mini/".concat(E.browser)),E),this.initBussinessInfo_(T),this.publishedCDN_=!1,this.publishCDNData_=null,this.mixedMCU_=!1,this.mixTranscodeData_=null,this.checkSystemResult_=null,this.enableAudioVolumeEvaluation_=!1,this.audioVolumeIntervalId_=null,this.mixTranscodeManager_=null,this.publishCDNManager_=new q7({client:this}),this.keyPointManager_=new l7({client:this,frameWorkType:T.frameWorkType,component:T.component}),this.isPublishing_=!1,this.isEnableSmallStream_=!1,this.smallStreamConfig_={bitrate:100,frameRate:15,height:120,width:160},this.turnServers_=[],this.iceTransportPolicy_=T.iceTransportPolicy,this.schedule_={domains:null,iceServers:null,iceTransportPolicy:null,trtcCapability:null},this.enableAutoPlayDialog_=!!ge(T.enableAutoPlayDialog)||T.enableAutoPlayDialog,this.enableMultiAuxStream_=!ge(T.enableMultiAuxStream)&&T.enableMultiAuxStream,this.signalInfo_={},this.enableSEI_=!ge(T.enableSEI)&&T.enableSEI,this.isDestroyed_=!1}var t,n,r,i,o,a,s,c,u,l,h,_,y,S,f,g,I,w,B,z,$,ue,L,k,P,A,U;return Ie(e,[{key:"initBussinessInfo_",value:function(T){this.bussinessInfo_=T.bussinessInfo;var v={};if(Ft(T.bussinessInfo)&&(v=JSON.parse(T.bussinessInfo)),!ge(T.pureAudioPushMode)){if(!Number.isInteger(Number(T.pureAudioPushMode)))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:D3})});this.pureAudioPushMode_=T.pureAudioPushMode,v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.pure_audio_push_mod=this.pureAudioPushMode_}if(!ge(T.streamId)){if(!(Ft(T.streamId)&&String(T.streamId)&&String(T.streamId).length<=64))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:L3})});v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.userdefine_streamid_main=T.streamId}if(!ge(T.userDefineRecordId)){if(T.userDefineRecordId.match(/^[A-Za-z0-9_-]{1,64}$/gi)===null)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:O3})});v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.userdefine_record_id=T.userDefineRecordId}if(!ge(T.userDefinePushArgs)){if(!(Ft(T.userDefinePushArgs)&&String(T.userDefinePushArgs)&&String(T.userDefinePushArgs).length<=256))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:M3})});v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.userdefine_push_args=T.userDefinePushArgs}T.enableServerAudioMix&&(v.Str_uc_params||(v.Str_uc_params={}),v.Str_uc_params.enable_server_audio_mix=1,v.Str_uc_params.uc_biz_type=1e3),Si(v)||(this.bussinessInfo_=JSON.stringify(v))}},{key:"schedule",value:(U=N(p().mark(function T(v){var E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:return C.next=2,X7({userId:this.userId_,sdkAppId:this.sdkAppId_,roomId:v,useStringRoomId:this.useStringRoomId_,version:this.version_,userSig:this.userSig_});case 2:(E=C.sent)&&(this.log_.info("schedule: ".concat(JSON.stringify(E))),E.trtcCapability=E==null?void 0:E.trtcAutoConf,this.schedule_=H(H({},this.schedule_),E),K.emit(Jk,this.schedule_));case 4:case"end":return C.stop()}},T,this)})),function(T){return U.apply(this,arguments)})},{key:"getSignalChannelUrl",value:function(){var T={mainUrl:"",backupUrl:""},v=Ok();return v?T.mainUrl=T.backupUrl="wss://".concat(v,".rtc.qq.com"):this.proxy_?T.mainUrl=T.backupUrl=this.proxy_:this.unifiedProxy_?T.mainUrl=T.backupUrl="wss://".concat(this.unifiedProxy_):Array.isArray(this.schedule_.domains)&&this.schedule_.domains.length>0&&(T.mainUrl=T.backupUrl="wss://".concat(this.schedule_.domains[0]),this.schedule_.domains[1]&&(T.backupUrl="wss://".concat(this.schedule_.domains[1]))),T}},{key:"getUserId",value:function(){return this.userId_}},{key:"getUserSig",value:function(){return this.userSig_}},{key:"getRole",value:function(){return this.role_}},{key:"getSignalInfo",value:function(){return this.signalInfo_}},{key:"getRoomId",value:function(){return this.roomId_}},{key:"getSDKAppId",value:function(){return this.sdkAppId_}},{key:"getTinyId",value:function(){return this.tinyId_}},{key:"getIceTransportPolicy",value:function(){return this.iceTransportPolicy_||this.schedule_.iceTransportPolicy||"all"}},{key:"initialize",value:function(T){var v=this;this.log_.info("setup signal channel");var E=this.getSignalChannelUrl(),C=E.mainUrl,M=E.backupUrl;return this.signalChannel_=new y6({sdkAppId:this.sdkAppId_,userId:this.userId_,userSig:this.userSig_,roomId:T.roomId,url:C,backupUrl:M,signalDomainWhenUnifiedProxy:this.unifiedProxy_?this.schedule_.domains[0]:void 0,client:this}),this.networkQuality_||(this.networkQuality_=new $6({connections:this.connections_,signalChannel:this.signalChannel_,userId:this.userId_,client:this}),this.networkQuality_.on(ut.NETWORK_QUALITY,function(F){v.emitter_.emit(ut.NETWORK_QUALITY,F)})),this.deviceDetector_||(this.deviceDetector_=new Z6({client:this})),this.subscriptionManager_||(this.subscriptionManager_=new d7({client:this})),this.badCaseDetector_||(this.badCaseDetector_=new W7({client:this,stats:this.stats_})),this.callDurationCalculator_||(this.callDurationCalculator_=new K7({client:this})),this.mixTranscodeManager_||(this.mixTranscodeManager_=new J7({client:this,signalChannel:this.signalChannel_})),this.publishCDNManager_&&this.publishCDNManager_.setSignalChannel({signalChannel:this.signalChannel_}),this.signalChannel_.on(mm,function(F){v.log_.info("SignalChannel state changed from ".concat(F.prevState," to ").concat(F.state)),v.emitter_.emit(ut.CONNECTION_STATE_CHANGED,F)}),this.signalChannel_.on(vm,function(F){v.reset(),v.emitter_.emit(ut.ERROR,F)}),this.signalChannel_.once(hT,function(F){v.tinyId_=F.signalInfo.tinyId,K.emit(yl,{client:v})}),this.signalChannel_.on(vt.PEER_JOIN,this.onPeerJoin,this),this.signalChannel_.on(vt.PEER_LEAVE,this.onPeerLeave,this),this.signalChannel_.on(vt.UPDATE_REMOTE_MUTE_STAT,function(F){Date.now()-v.lastHeartBeatTime_>=1e4&&v.doHeartbeat(),K.emit(zf,{client:v,data:F.data}),v.onPublishedUserList(F.data),v.onUpdateRemoteMuteStat(F.data)}),this.signalChannel_.on(vt.CLIENT_BANNED,function(F){var q,re=F.data.data.reason;if(xe.uploadEvent({log:"stat-banned:".concat(re),userId:v.userId_}),re===NN)q="you got banned by the admin";else if(re===VN)q="duplicated userId joining the room";else if(re===jN)q="the room has been disbanded by the admin",re=re.replace("_","-");else if(re===UN)return v.log_.warn("".concat(re," last heart beat time: ").concat(v.lastHeartBeatTime_," interval: ").concat(Date.now()-v.lastHeartBeatTime_,", visibility: ").concat(document.visibilityState)),void v.reJoin();v.log_[re==="kick"?"error":"info"]("user was banned because of [".concat(re,"]")),v.reset(),v.emitter_.emit(ut.CLIENT_BANNED,{reason:re,message:ne({key:Z3,data:{message:q,reason:re}})||re})}),K.emit(Jf,{client:this}),this.signalChannel_.connect()}},{key:"preJoin",value:(A=N(p().mark(function T(v){var E,C,M,F;return p().wrap(function(q){for(;;)switch(q.prev=q.next){case 0:return this.joinOptions_=v,q.next=3,Am();case 3:if(this.checkSystemResult_=q.sent,this.checkDestroy(),(E=Ok())||(E=Yu,this.proxy_&&(this.proxy_.startsWith(FN)?E=HN:this.proxy_.startsWith(GN)&&(E=zN))),this.env_=E,xe.setConfig({env:E,sdkAppId:this.sdkAppId_,userId:this.userId_,roomId:v.roomId}),this.uploadTrtcStats(),C=this.checkSystemResult_.detail,M=C.isH264EncodeSupported,F=C.isVp8EncodeSupported,Cm()&&(M||F)){q.next=13;break}throw new ee({code:Y.NOT_SUPPORTED,message:ne({key:vk})});case 13:case"end":return q.stop()}},T,this)})),function(T){return A.apply(this,arguments)})},{key:"join",value:(P=N(p().mark(function T(v){var E,C=this;return p().wrap(function(M){for(;;)switch(M.prev=M.next){case 0:return this.roomId_=v.roomId,ge(v.role)||(this.role_=v.role),ge(v.privateMapKey)||(this.privateMapKey_=v.privateMapKey),E=Dt(),K.emit(_l,{client:this}),vn(this.userId_,{eventId:ZU,eventDesc:"joining room",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),M.next=8,this.preJoin(v);case 8:return M.abrupt("return",new Promise(function(){var F=N(p().mark(function q(re,ce){return p().wrap(function(ve){for(;;)switch(ve.prev=ve.next){case 0:if(C.joinReject_=ce,ve.prev=1,C.proxy_||C.schedule_.domains){ve.next=5;break}return ve.next=5,C.schedule(v.roomId);case 5:return C.checkDestroy(),ve.next=8,C.initialize(v);case 8:return ve.next=10,C.doJoin(v);case 10:C.signalInfo_=C.signalChannel_.getSignalInfo(),K.emit(ho,{client:C}),C.joinedTimestamp_=Dt(),xe.logSuccessEvent({userId:C.userId_,eventType:ZN,delta:C.joinedTimestamp_-E}),xe.logSuccessEvent({userId:C.userId_,eventType:xb}),xe.uploadEvent({log:"stat-autoplay-dialog:".concat(C.enableAutoPlayDialog_),userId:C.userId_}),xe.uploadEvent({log:"stat-conv-".concat(ta,"-").concat(location.hostname),userId:C.userId_}),re(),ve.next=26;break;case 20:ve.prev=20,ve.t0=ve.catch(1),K.emit(po,{client:C,error:ve.t0}),xe.logFailedEvent({userId:C.userId_,eventType:xb,error:ve.t0}),C.reset(),ce(ve.t0);case 26:C.joinReject_=null;case 27:case"end":return ve.stop()}},q,null,[[1,20]])}));return function(q,re){return F.apply(this,arguments)}}()));case 9:case"end":return M.stop()}},T,this)})),function(T){return P.apply(this,arguments)})},{key:"checkDestroy",value:function(){if(this.isDestroyed_)throw new ee({code:Y.INVALID_OPERATION,message:ne({key:hf,data:{funName:"join"}})})}},{key:"uploadTrtcStats",value:(k=N(p().mark(function T(){var v,E,C,M,F,q,re,ce,ve,Ye,Ve,Ge,qe;return p().wrap(function(He){for(;;)switch(He.prev=He.next){case 0:return He.prev=0,He.next=3,It.getMicrophones();case 3:C=He.sent,v=C&&C.length,He.next=9;break;case 7:He.prev=7,He.t0=He.catch(0);case 9:return He.prev=9,He.next=12,It.getCameras();case 12:M=He.sent,E=M&&M.length,He.next=18;break;case 16:He.prev=16,He.t1=He.catch(9);case 18:F={microphone:v,camera:E},q=this.checkSystemResult_.detail,re=q.isH264EncodeSupported,ce=q.isVp8EncodeSupported,ve=q.isH264DecodeSupported,Ye=q.isVp8DecodeSupported,Ve={webRTC:this.basis_.isWebRTCSupported,getUserMedia:this.basis_.isGetUserMediaSupported,webSocket:this.basis_.isWebSocketsSupported,screenShare:this.basis_.isScreenShareSupported,webAudio:this.basis_.isWebAudioSupported,h264Encode:re,h264Decode:ve,vp8Encode:ce,vp8Decode:Ye},Ge={browser:this.basis_.browser,os:this.basis_.os,trtc:Ve,devices:F},qe={isWebCodecSupported:this.basis_.isWebCodecSupported,isMediaSessionSupported:this.basis_.isMediaSessionSupported,isWebTransportSupported:this.basis_.isWebTransportSupported},xe.uploadEvent({log:"trtcstats-"+JSON.stringify(Ge),userId:this.userId_}),this.log_.info("TrtcStats-"+JSON.stringify(Ge)),xe.uploadEvent({log:"trtcadvancedstats-"+JSON.stringify(qe),userId:this.userId_});case 26:case"end":return He.stop()}},T,this,[[0,7],[9,16]])})),function(){return k.apply(this,arguments)})},{key:"doJoin",value:function(T){var v=this;return new Promise(function(E,C){v.log_.info("Join() => joining room: ".concat(v.roomId_," useStringRoomId: ").concat(v.useStringRoomId_," mode: ").concat(v.mode_," role: ").concat(v.role_));var M={roomId:String(v.roomId_),useStringRoomId:v.useStringRoomId_,privateMapKey:v.privateMapKey_,trtcRole:v.role_===br?so:Qp,trtcScene:v.mode_===$u?KN:qN,sdpSemantics:v.sdpSemantics_,version:PV(v.version_),ua:navigator&&navigator.userAgent||"",autoSubscribe:v.autoSubscribe_,terminalType:lo?4:gf?2:vf?3:nc?12:Ak?5:Pk?13:1,netType:af[Of()],bussinessInfo:v.bussinessInfo_,receiveMix:!0};if(v.publishCDNManager_){var F=v.publishCDNManager_.handleCDNConfigForJoinData(v.bussinessInfo_),q=F.bussinessInfo,re=F.pushUserCdnInfo;Object.assign(M,{bussinessInfo:q,pushUserCdnInfo:re})}v.log_.debug("join room signal data: ".concat(JSON.stringify(M))),v.joinTimeout_=setTimeout(function(){v.log_.error("join room timeout observed"),C(new ee({code:Y.JOIN_ROOM_FAILED,message:ne({key:B3})}))},5e3),K.emit(jf,{client:v}),v.signalChannel_.once(pT,function(ce){v.clearJoinTimeout(),K.emit(yl,{client:v,error:ce}),C(ce)}),v.signalChannel_.send(TU,M),v.signalChannel_.once(vt.JOIN_ROOM_RESULT,function(ce){v.clearJoinTimeout();var ve=ce.data,Ye=ve.code,Ve=ve.message,Ge=ve.data;v.onPublishedUserList({data:{userList:Ge.publishers}}),K.emit(Bf,{client:v,code:Ye}),Ye===0?(v.isJoined_=!0,v.log_.info("Join room success, start heartbeat"),v.startHeartbeat(),v.badCaseDetector_&&v.badCaseDetector_.start(),v.syncUserList(),v.startSyncUserListInterval(),E()):(v.log_.error("Join room failed result: "+Ye+" error: "+Ve),C(new ee({code:Y.JOIN_ROOM_FAILED,extraCode:Ye,message:ne({key:uk,data:{error:Ve,code:Ye}})})))})})}},{key:"reJoin",value:(L=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(this.isJoined_){v.next=3;break}return this.log_.warn("reJoin abort"),v.abrupt("return");case 3:return this.isJoined_=!1,v.prev=4,this.log_.warn("reJoin pending: ".concat(this.joinOptions_.roomId)),this.subscriptionManager_&&this.subscriptionManager_.markAllStream(),this.signalChannel_.close(),v.next=10,this.signalChannel_.connect();case 10:return v.next=12,this.doJoin(H(H({},this.joinOptions_),{},{role:this.role_,privateMapKey:this.privateMapKey_}));case 12:this.log_.warn("reJoin success"),xe.logSuccessEvent({userId:this.userId_,eventType:Ib}),this.checkConnectionsToReconnect(),this.uplinkConnection_&&!this.uplinkConnection_.getIsReconnecting()&&this.uplinkConnection_.startReconnection(),this.mixTranscodeManager_&&this.mixTranscodeManager_.reStartMixTranscode(),v.next=25;break;case 19:v.prev=19,v.t0=v.catch(4),this.log_.warn("reJoin fail "+v.t0),this.reset(),xe.logFailedEvent({userId:this.userId_,eventType:Ib,error:v.t0}),this.emitter_.emit(ut.ERROR,new ee({code:Y.JOIN_ROOM_FAILED,message:ne({key:F3,data:{roomId:this.joinOptions_.roomId}})}));case 25:case"end":return v.stop()}},T,this,[[4,19]])})),function(){return L.apply(this,arguments)})},{key:"leave",value:(ue=N(p().mark(function T(){var v;return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:return K.emit(Ff,{client:this}),vn(this.userId_,{eventId:e6,eventDesc:"leaving room",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),E.prev=2,E.next=5,this.doHeartbeat();case 5:E.next=9;break;case 7:E.prev=7,E.t0=E.catch(2);case 9:this.doLeave(),K.emit(fo,{client:this}),xe.logSuccessEvent({userId:this.userId_,eventType:e3}),v=Math.floor((Dt()-this.joinedTimestamp_)/1e3),xe.logSuccessEvent({userId:this.userId_,eventType:t3,delta:v});case 14:case"end":return E.stop()}},T,this,[[2,7]])})),function(){return ue.apply(this,arguments)})},{key:"doLeave",value:function(){this.isJoined_&&(K.emit(Gf,{client:this}),this.log_.info("leave() => leaving room"),this.signalChannel_.send(xU),this.reset())}},{key:"clearNetworkQuality",value:function(){this.networkQuality_&&(this.networkQuality_.stop(),this.networkQuality_=null)}},{key:"closeConnections",value:function(){var T=this;this.connections_.forEach(function(v){T.closeDownLink(v.getTinyId())})}},{key:"clearJoinTimeout",value:function(){clearTimeout(this.joinTimeout_),this.joinTimeout_=-1}},{key:"destroy",value:function(){var T,v,E;if(this.isJoined_)throw this.log_.warn(gi.INVALID_DESTROY),new ee({code:Y.INVALID_OPERATION,message:ne({key:G3})});this.isDestroyed_||(this.log_.info("destroy client"),this.joinReject_&&(this.joinReject_(new ee({code:Y.INVALID_OPERATION,message:ne({key:hf,data:{funName:"join"}})})),this.clearJoinTimeout(),this.reset()),this.off("*"),(T=this.callDurationCalculator_)===null||T===void 0||T.destroy(),(v=this.keyPointManager_)===null||v===void 0||v.destroy(),(E=this.deviceDetector_)===null||E===void 0||E.destroy(),this.callDurationCalculator_=null,this.keyPointManager_=null,this.deviceDetector_=null,this.badCaseDetector_=null,this.publishCDNManager_=null,this.isDestroyed_=!0,K.emit(qf,{client:this}))}},{key:"reset",value:function(){this.isJoined_=!1,this.keyPointManager_&&this.keyPointManager_.prepareReport(),this.mixTranscodeManager_&&(this.mixTranscodeManager_.reset(),this.mixTranscodeManager_=null),this.publishCDNManager_&&this.publishCDNManager_.reset(),this.userMap_.clear(),this.stopSyncUserListInterval(),this.stopHeartbeat(),this.closeConnections(),this.mutedStates_.clear(),this.clearNetworkQuality(),this.badCaseDetector_&&this.callDurationCalculator_&&this.uploadAllCallStats(),this.closeUplink(),this.signalChannel_&&(this.log_.info("destroying SignalChannel"),this.signalChannel_.close(),this.signalChannel_=null),this.stats_.reset()}},{key:"startSyncUserListInterval",value:function(){this.syncUserListInterval_===-1&&(this.syncUserListInterval_=yt.run(uo,this.syncUserList.bind(this)))}},{key:"stopSyncUserListInterval",value:function(){yt.clearTask(this.syncUserListInterval_),this.syncUserListInterval_=-1}},{key:"syncUserList",value:($=N(p().mark(function T(){var v,E=this;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:return C.prev=0,C.next=3,this.getUserList();case 3:v=C.sent,this.userMap_.size!==0&&this.userMap_.forEach(function(M){v.findIndex(function(F){return F.userId===M.userId})<0&&(E.log_.info("peer leave detected: ".concat(M.userId)),E.cleanUser({userId:M.userId,tinyId:M.tinyId}))}),v.forEach(function(M){var F=M.userId;E.userMap_.has(F)||F===E.userId_||(E.userMap_.set(F,M),E.emitter_.emit(ut.PEER_JOIN,{userId:F}))}),C.next=11;break;case 8:C.prev=8,C.t0=C.catch(0),this.log_.warn("sync user list failed: "+C.t0);case 11:case"end":return C.stop()}},T,this,[[0,8]])})),function(){return $.apply(this,arguments)})},{key:"getUserList",value:function(){return this.signalChannel_?this.signalChannel_.sendWaitForResponse({command:VU,responseCommand:vt.USER_LIST_RES,enableLog:!1,timeout:2e3}).then(function(T){var v=T.data,E=v.code,C=v.message;if(E===0)return(v.data&&v.data.userList||[]).map(function(M){var F=M.userId,q=M.srcTinyId,re=M.role;return new sg({userId:F,tinyId:q,role:re})});throw ne({key:yk,data:{signalResponse:vt.USER_LIST_RES,code:E,message:C}})}):[]}},{key:"publish",value:(z=N(p().mark(function T(v){var E,C,M,F,q,re,ce,ve,Ye=this,Ve=arguments;return p().wrap(function(Ge){for(;;)switch(Ge.prev=Ge.next){case 0:return E=Ve.length>1&&Ve[1]!==void 0?Ve[1]:{isAuxiliary:!1},v.setPublishState(ec),this.isPublishing_=!0,C=Dt(),K.emit(Wf,{client:this,stream:v}),M=E.isAuxiliary,F=M?mt:Ze,q=v.getScreen(),this.log_.info("publish() => publishing ".concat(q?Wp+" ":"").concat(F," stream ").concat(v.getId())),re=this.uplinkConnection_,Ge.prev=10,re||((re=new b7({userId:this.userId_,tinyId:this.tinyId_,client:this,isUplink:!0,signalChannel:this.signalChannel_,enableSEI:this.enableSEI_})).initialize(),re.on(nt.ERROR,function(qe){var He=qe.getCode();He!==Y.ICE_TRANSPORT_ERROR&&(He===Y.UPLINK_RECONNECTION_FAILED&&Ye.closeUplink(),Ye.emitter_.emit(ut.ERROR,qe))})),v.setConnection(re),Ge.next=15,re.publish(v,M);case 15:this.log_.info("local ".concat(q?Wp+" ":"").concat(F," stream is published")),this.isPublishing_=!1,M?this.localAuxStream_=v:(this.localStream_=v,this.deviceDetector_&&this.deviceDetector_.setLocalStream(this.localStream_),this.localStream_.getBeautyStatus()&&this.log_.info("beauty stream is published successfully")),v.setPublishState(i3),v.setClient(this,M),this.uplinkConnection_=re,ce=Dt(),ve=ce-C,xe.logSuccessEvent({userId:this.userId_,eventType:wb}),xe.logSuccessEvent({userId:this.userId_,eventType:n3,delta:ve}),v.hasAudio()&&vn(this.userId_,{eventId:gT,eventDesc:"publish audio track",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),v.hasVideo()&&vn(this.userId_,{eventId:vT,eventDesc:"publish video track",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),this.networkQuality_&&this.networkQuality_.setUplinkConnection(this.uplinkConnection_),K.emit(OV,{localStream:v,isAuxiliary:M,client:this}),this.notPublishWithoutH264Supported_=!1,v.isAIDenoiser&&Ei.handleFunctionState({fnName:"AI_DENOISER"}),Ge.next=42;break;case 33:throw Ge.prev=33,Ge.t0=Ge.catch(10),Ge.t0 instanceof ee&&Ge.t0.getCode()===Y.NOT_SUPPORTED_H264&&(this.notPublishWithoutH264Supported_=!0),v.setPublishState(Wb),re.close(),this.log_.error("failed to publish stream "+Ge.t0),this.isPublishing_=!1,xe.logFailedEvent({userId:this.userId_,eventType:wb,error:Ge.t0}),Ge.t0;case 42:case"end":return Ge.stop()}},T,this,[[10,33]])})),function(T){return z.apply(this,arguments)})},{key:"unpublish",value:(B=N(p().mark(function T(v){var E,C;return p().wrap(function(M){for(;;)switch(M.prev=M.next){case 0:if(this.uplinkConnection_){M.next=2;break}return M.abrupt("return");case 2:return E=v===this.localAuxStream_,C=v.getScreen(),this.log_.info("unpublish() => unpublishing local ".concat(C?Wp+" ":"").concat(E?mt:Ze," stream")),M.prev=5,M.next=8,this.uplinkConnection_.unpublish(v);case 8:v.setClient(null),v.setConnection(null),E?this.localAuxStream_=null:(this.localStream_=null,v.hasAudio()&&vn(this.userId_,{eventId:yT,eventDesc:"unpublish audio track",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_}),v.hasVideo()&&vn(this.userId_,{eventId:_T,eventDesc:"unpublish video track",timestamp:on(),userId:this.userId_,tinyId:this.tinyId_})),this.localStream_||this.localAuxStream_||this.closeUplink(),xe.logSuccessEvent({userId:this.userId_,eventType:Eb}),M.next=19;break;case 15:throw M.prev=15,M.t0=M.catch(5),xe.logFailedEvent({userId:this.userId_,eventType:Eb,error:M.t0}),M.t0;case 19:case"end":return M.stop()}},T,this,[[5,15]])})),function(T){return B.apply(this,arguments)})},{key:"closeUplink",value:function(){this.uplinkConnection_&&(this.uplinkConnection_.close(),this.uplinkConnection_=null,this.networkQuality_&&this.networkQuality_.setUplinkConnection(null),this.localStream_&&(this.localStream_.setClient(null),this.localStream_.setConnection(null),this.localStream_=null),this.localAuxStream_&&(this.localAuxStream_.setClient(null),this.localAuxStream_.setConnection(null),this.localAuxStream_=null),this.deviceDetector_&&this.deviceDetector_.setLocalStream(null))}},{key:"closeDownLink",value:function(T){var v=this.connections_.get(T);v&&(v.getIsReconnecting()&&v.stopReconnection(),this.subscriptionManager_&&this.subscriptionManager_.delete(v.getUserId()),v.close(),this.connections_.delete(T),this.mutedStates_.delete(T))}},{key:"subscribe",value:(w=N(p().mark(function T(v,E){var C,M,F;return p().wrap(function(q){for(;;)switch(q.prev=q.next){case 0:return this.log_.info("subscribe() => subscribe to [".concat(v.getUserId(),"] ").concat(v.getType()," stream with options: ").concat(JSON.stringify(E))),ge(E)&&(E={audio:!0,video:!0}),ge(E.audio)&&(E.audio=!0),ge(E.smallVideo)?ge(E.video)&&(E.video=!0):E.smallVideo?ge(E.video)?(E.video=!1,E.smallVideo=!0):E.video&&(E.video=!0,delete E.smallVideo,this.log_.warn("options.video and options.smallVideo can't be both true")):ge(E.video)&&(E.video=!0,delete E.smallVideo),E.video&&this.changeBigSmallRecords_.delete(v.getUserId()),C=v.getConnection(),E.smallVideo&&(C.getTrackState().smallVideo||(this.setRemoteVideoStreamType(v,"small"),E.video=!0,delete E.smallVideo)),q.prev=7,K.emit(Qf,{client:this,stream:v}),q.next=11,C.subscribe(v,E);case 11:this.subscriptionManager_&&this.subscriptionManager_.addSubscriptionRecord(v.getUserId(),v,E),this.notSubscribeWithoutH264Supported_=!1,xe.logSuccessEvent({userId:this.userId_,eventType:Cb}),q.next=24;break;case 16:throw q.prev=16,q.t0=q.catch(7),(M=q.t0 instanceof ee?q.t0.getCode():Y.UNKNOWN)===Y.NOT_SUPPORTED_H264&&(this.notSubscribeWithoutH264Supported_=!0),(F=new ee(M===Y.REMOTE_STREAM_NOT_EXIST?{code:Y.API_CALL_ABORTED,message:ne({key:mf,data:{message:q.t0.message,stream:v}})}:{code:M,message:ne({key:K3,data:{message:q.t0.message,stream:v}})})).getCode()===Y.API_CALL_ABORTED?this.log_.warn(F):this.log_.error(F),xe.logFailedEvent({userId:this.userId_,eventType:Cb,error:F}),F;case 24:case"end":return q.stop()}},T,this,[[7,16]])})),function(T,v){return w.apply(this,arguments)})},{key:"unsubscribe",value:(I=N(p().mark(function T(v){var E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:return this.log_.info("unsubscribe() => unsubscribe to [".concat(v.getUserId(),"] ").concat(v.getType()," stream")),C.prev=1,E=v.getConnection(),C.next=5,E.unsubscribe(v);case 5:this.subscriptionManager_&&this.subscriptionManager_.addUnsubscriptionRecord(v.getUserId(),v),K.emit(Br,{client:this,stream:v}),xe.logSuccessEvent({userId:this.userId_,eventType:Rb}),C.next=14;break;case 10:throw C.prev=10,C.t0=C.catch(1),xe.logFailedEvent({userId:this.userId_,eventType:Rb,error:C.t0}),C.t0;case 14:case"end":return C.stop()}},T,this,[[1,10]])})),function(T){return I.apply(this,arguments)})},{key:"switchRole",value:(g=N(p().mark(function T(v){return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(this.role_!==v){E.next=2;break}return E.abrupt("return");case 2:return v===Qi&&this.uplinkConnection_&&this.closeUplink(),this.log_.info("switchRole() => switch role to: "+v),E.next=6,this.doSwitchRole(v);case 6:case"end":return E.stop()}},T,this)})),function(T){return g.apply(this,arguments)})},{key:"doSwitchRole",value:function(T){var v,E,C=this,M={command:UU,data:{role:T===br?so:Qp,privateMapKey:this.privateMapKey_},responseCommand:vt.SWITCH_ROLE_RES,retries:((v=this.schedule_.config)===null||v===void 0||(E=v.retries)===null||E===void 0?void 0:E.switchRole)||1};return this.log_.info("switchRole signal data: "+JSON.stringify(M.data)),this.signalChannel_.sendWaitForResponseWithRetry(M).then(function(F){var q=F.data,re=q.code,ce=q.message;if(re!==0)throw new ee({code:Y.SWITCH_ROLE_FAILED,message:ne({key:$3,data:{errMsg:ce,errCode:re}})});C.role_=T}).catch(function(F){throw F instanceof ee&&F.getCode()===Y.API_CALL_TIMEOUT&&(F=new ee({code:Y.SWITCH_ROLE_FAILED,message:ne({key:Y3})})),C.log_.error(F),F})}},{key:"on",value:function(T,v,E){this.emitter_.on(T,v,E)}},{key:"off",value:function(T,v,E){T==="*"?this.emitter_.removeAllListeners():this.emitter_.off(T,v,E)}},{key:"getRemoteMutedState",value:function(){var T=this,v=[];return this.mutedStates_.forEach(function(E,C,M){var F=T.connections_.get(C);F&&v.push(H({userId:F.getUserId()},E))}),v}},{key:"getTransportStats",value:(f=N(p().mark(function T(){var v,E,C,M,F,q,re;return p().wrap(function(ce){for(;;)switch(ce.prev=ce.next){case 0:if(v={rtt:0,downlinksRTT:{}},!this.uplinkConnection_){ce.next=6;break}return ce.next=4,this.stats_.getSenderStats(this.uplinkConnection_);case 4:E=ce.sent,v.rtt=E.rtt;case 6:C=ie(this.connections_),ce.prev=7,C.s();case 9:if((M=C.n()).done){ce.next=17;break}return(F=ke(M.value,2))[0],q=F[1],ce.next=13,this.stats_.getReceiverStats(q);case 13:re=ce.sent,v.downlinksRTT[re.userId]=re.rtt;case 15:ce.next=9;break;case 17:ce.next=22;break;case 19:ce.prev=19,ce.t0=ce.catch(7),C.e(ce.t0);case 22:return ce.prev=22,C.f(),ce.finish(22);case 25:return ce.abrupt("return",v);case 26:case"end":return ce.stop()}},T,this,[[7,19,22,25]])})),function(){return f.apply(this,arguments)})},{key:"getLocalAudioStats",value:(S=N(p().mark(function T(){var v,E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if((v={})[this.userId_]={bytesSent:0,packetsSent:0},!this.uplinkConnection_){C.next=7;break}return C.next=5,this.stats_.getSenderStats(this.uplinkConnection_);case 5:E=C.sent,v[this.userId_]={bytesSent:E.audio.bytesSent,packetsSent:E.audio.packetsSent};case 7:return C.abrupt("return",v);case 8:case"end":return C.stop()}},T,this)})),function(){return S.apply(this,arguments)})},{key:"getLocalVideoStats",value:(y=N(p().mark(function T(){var v,E;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if((v={})[this.userId_]={bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0},!this.uplinkConnection_){C.next=7;break}return C.next=5,this.stats_.getSenderStats(this.uplinkConnection_);case 5:E=C.sent,v[this.userId_]={bytesSent:E.video.bytesSent,packetsSent:E.video.packetsSent,framesEncoded:E.video.framesEncoded,framesSent:E.video.framesSent,frameWidth:E.video.frameWidth,frameHeight:E.video.frameHeight};case 7:return C.abrupt("return",v);case 8:case"end":return C.stop()}},T,this)})),function(){return y.apply(this,arguments)})},{key:"getRemoteAudioStats",value:(_=N(p().mark(function T(){var v,E,C,M,F,q,re,ce;return p().wrap(function(ve){for(;;)switch(ve.prev=ve.next){case 0:v={},E=ie(this.connections_),ve.prev=2,E.s();case 4:if((C=E.n()).done){ve.next=13;break}return(M=ke(C.value,2))[0],F=M[1],q=F.getDelay(),re=q.audioDelay,ve.next=9,this.stats_.getReceiverStats(F);case 9:(ce=ve.sent).hasAudio&&(v[ce.userId]={bytesReceived:ce.audio.bytesReceived,packetsReceived:ce.audio.packetsReceived,packetsLost:ce.audio.packetsLost,end2EndDelay:re});case 11:ve.next=4;break;case 13:ve.next=18;break;case 15:ve.prev=15,ve.t0=ve.catch(2),E.e(ve.t0);case 18:return ve.prev=18,E.f(),ve.finish(18);case 21:return ve.abrupt("return",v);case 22:case"end":return ve.stop()}},T,this,[[2,15,18,21]])})),function(){return _.apply(this,arguments)})},{key:"getRemoteVideoStats",value:(h=N(p().mark(function T(){var v,E,C,M,F,q,re,ce,ve,Ye=arguments;return p().wrap(function(Ve){for(;;)switch(Ve.prev=Ve.next){case 0:v=Ye.length>0&&Ye[0]!==void 0?Ye[0]:_t,E={},C=ie(this.connections_),Ve.prev=3,C.s();case 5:if((M=C.n()).done){Ve.next=15;break}return(F=ke(M.value,2))[0],q=F[1],Ve.next=9,this.stats_.getReceiverStats(q);case 9:re=Ve.sent,ce=q.getDelay(),ve=ce.videoDelay,v===_t&&re.hasVideo&&(E[re.userId]={bytesReceived:re.video.bytesReceived,packetsReceived:re.video.packetsReceived,packetsLost:re.video.packetsLost,framesDecoded:re.video.framesDecoded,frameWidth:re.video.frameWidth,frameHeight:re.video.frameHeight,end2EndDelay:ve}),v===Lt&&re.hasAuxiliary&&(E[re.userId]={bytesReceived:re.auxiliary.bytesReceived,packetsReceived:re.auxiliary.packetsReceived,packetsLost:re.auxiliary.packetsLost,framesDecoded:re.auxiliary.framesDecoded,frameWidth:re.auxiliary.frameWidth,frameHeight:re.auxiliary.frameHeight,end2EndDelay:ve});case 13:Ve.next=5;break;case 15:Ve.next=20;break;case 17:Ve.prev=17,Ve.t0=Ve.catch(3),C.e(Ve.t0);case 20:return Ve.prev=20,C.f(),Ve.finish(20);case 23:return Ve.abrupt("return",E);case 24:case"end":return Ve.stop()}},T,this,[[3,17,20,23]])})),function(){return h.apply(this,arguments)})},{key:"getSdpSemantics",value:function(){return this.sdpSemantics_}},{key:"getIceServers",value:function(){return this.turnServers_.length===0&&this.schedule_.iceServers?this.schedule_.iceServers:this.turnServers_}},{key:"getConnections",value:function(){return this.connections_}},{key:"getMutedStates",value:function(){return this.mutedStates_}},{key:"startHeartbeat",value:function(){this.heartbeat_===-1&&(this.log_.info("startHeartbeat..."),this.heartbeat_=yt.run(uo,this.doHeartbeat.bind(this),{delay:2e3}))}},{key:"stopHeartbeat",value:function(){this.heartbeat_!==-1&&(this.log_.info("stopHeartbeat"),yt.clearTask(this.heartbeat_),this.heartbeat_=-1,this.lastHeartBeatTime_=-1)}},{key:"doHeartbeat",value:(l=N(p().mark(function T(){var v,E,C,M,F,q;return p().wrap(function(re){for(;;)switch(re.prev=re.next){case 0:return E=this.badCaseDetector_.getMonitorFreeze(),re.next=3,this.stats_.getStatsReport({uplinkConnection:this.uplinkConnection_,downlinkConnections:this.connections_,freezeMap:E});case 3:if(C=re.sent,K.emit(Hf,{client:this,stats:C}),(v=this.badCaseDetector_)===null||v===void 0||v.resetMonitor(),this.signalChannel_){re.next=8;break}return re.abrupt("return");case 8:M=this.signalChannel_.isConnected()?v6(this.userId_):[],F=H(H({str_sdk_version:this.version_,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:af[this.networkType_]}},C),{},{msg_event_msg:M}),this.signalChannel_.send(IU,F),q=Date.now(),this.lastHeartBeatTime_>0&&q-this.lastHeartBeatTime_>1e4&&this.log_.warn("heartbeat took ".concat(q-this.lastHeartBeatTime_)),this.lastHeartBeatTime_=q,!this.isRelayChanged_&&this.isRelayMaybeFailed()&&(this.reJoin(),this.isRelayChanged_=!0);case 15:case"end":return re.stop()}},T,this)})),function(){return l.apply(this,arguments)})},{key:"onRemoteStreamAdded",value:function(T){var v=T.content,E=v.userId,C=v.tinyId,M=v.audio,F=v.bigVideo,q=v.auxVideo,re=v.smallVideo;if(E!==null){this.userMap_.has(E)||(this.userMap_.set(E,new sg({userId:E,tinyId:C,role:br})),this.emitter_.emit(ut.PEER_JOIN,{userId:E}));var ce=this.connections_.get(C);if(ce){if(ce.getIsReconnecting())return;this.log_.warn("duplicated stream-added observed, rebuild the connection"),ce.close(),this.connections_.delete(C)}var ve={audio:M,video:F,auxiliary:q,smallVideo:re};this.log_.info("remote peer [".concat(E,"] published stream. trackState: ").concat(JSON.stringify(ve))),this.createDownlinkConnection({userId:E,tinyId:C,trackState:ve})}else this.log_.warn("received null userId on stream added")}},{key:"createDownlinkConnection",value:function(T){var v=this,E=T.userId,C=T.tinyId,M=T.trackState,F=new z7({userId:E,tinyId:C,client:this,isUplink:!1,signalChannel:this.signalChannel_,autoSubscribe:this.autoSubscribe_,trackState:M,enableSEI:this.enableSEI_});this.connections_.set(C,F),this.installDownlinkEvents(F,E,C),this.autoSubscribe_?(F.initialize(),F.connect().catch(function(){!F.getMainStream()&&F.hasMainStream()&&v.initRemoteStream({type:_t,userId:E,downlinkConnection:F}),!F.getAuxStream()&&F.hasAuxStream()&&v.initRemoteStream({type:Lt,userId:E,downlinkConnection:F})})):(F.hasMainStream()&&this.initRemoteStream({type:_t,userId:E,downlinkConnection:F}),F.hasAuxStream()&&this.initRemoteStream({type:Lt,userId:E,downlinkConnection:F}))}},{key:"initRemoteStream",value:function(T){var v=T.type,E=T.userId,C=T.downlinkConnection,M=new Zv({type:v,userId:E,client:this});M.setConnection(C),C.setRemoteStream(v===_t?kr:Ys,M),M.setIsStreamAddedEventEmitted(!0),K.emit(Sl,{client:this,stream:M}),this.emitter_.emit(ut.STREAM_ADDED,{stream:M})}},{key:"installDownlinkEvents",value:function(T,v,E){var C=this;T.on(nt.SEI_MESSAGE,function(M){C.emitter_.emit(ut.SEI_MESSAGE,M)}),T.on(nt.STREAM_ADDED,function(M){M.stream.setIsStreamAddedEventEmitted(!0),K.emit(Sl,{client:C,stream:M.stream}),C.emitter_.emit(ut.STREAM_ADDED,{stream:M.stream})}),T.on(nt.STREAM_REMOVED,function(M){C.changeBigSmallRecords_.delete(M.stream.getUserId()),M.stream.stop(),M.stream.setIsStreamAddedEventEmitted(!1),C.subscriptionManager_&&C.subscriptionManager_.deleteAutoRecoveryFlag(M.stream.getUserId(),M.stream.getType()),K.emit(oa,{client:C,stream:M.stream}),C.emitter_.emit(ut.STREAM_REMOVED,{stream:M.stream})}),T.on(nt.STREAM_UPDATED,function(M){K.emit(LV,{client:C,stream:M.stream});var F=T.getMixUserList();F&&(M.mixUserList=F),C.emitter_.emit(ut.STREAM_UPDATED,M)}),T.on(nt.STREAM_SUBSCRIBED,function(M){K.emit(jr,{client:C,stream:M.stream}),C.emitter_.emit(ut.STREAM_SUBSCRIBED,{stream:M.stream})}),T.on(nt.ERROR,function(M){var F=M.getCode();F!==Y.ICE_TRANSPORT_ERROR&&(F===Y.DOWNLINK_RECONNECTION_FAILED&&C.closeDownLink(E),C.emitter_.emit(ut.ERROR,M))})}},{key:"onPeerJoin",value:function(T){var v=T.data.data,E=v.srcTinyId,C=v.userId,M=v.role;this.userMap_.has(C)||(this.userMap_.set(C,new sg({userId:C,tinyId:E,role:M})),this.emitter_.emit(ut.PEER_JOIN,{userId:C}))}},{key:"onPeerLeave",value:function(T){var v=T.data.data,E=v.srcTinyId,C=v.userId,M=v.reason,F=M===void 0?0:M;this.log_.info("peer leave [".concat(C,"]: ").concat(h3[F])),this.cleanUser({userId:C,tinyId:E})}},{key:"cleanUser",value:function(T){var v=T.userId,E=T.tinyId;this.userMap_.delete(v),this.closeDownLink(E),this.emitter_.emit(ut.PEER_LEAVE,{userId:v})}},{key:"onPublishedUserList",value:function(T){var v=this;try{var E=be(T.data.userList);T.data.mixRobotList&&E.push.apply(E,be(T.data.mixRobotList)),T.data.fakeMixUser&&E.push(T.data.fakeMixUser);var C=E.map(function(M){return M.userId});this.connections_.forEach(function(M){var F=M.getUserId(),q=M.getTinyId();C.findIndex(function(re){return re===F})<0&&(v.log_.info("peer unpublished detected [".concat(F,"]")),v.closeDownLink(q))}),E.forEach(function(M){var F=M.userId,q=M.srcTinyId,re=M.flag,ce=M.mixUserList;if(F!==v.userId_){var ve=!!(1&re),Ye=!!(8&re),Ve=!!(4&re),Ge=!!(2&re),qe=v.connections_.get(q);if((Ge||ve)&&v.checkSubscribeBigSmallVideo(qe,Ge),qe){var He=qe.getTrackState(),Cr=He.audio,va=He.video,Pc=He.auxiliary,Ww=He.smallVideo;vl(ce)&&qe.setMixUserList(ce),!va&&ve&&K.emit(jn,{client:v,tinyId:q,userId:F,action:un.ADD,kind:Te}),!Cr&&Ye&&K.emit(jn,{client:v,tinyId:q,userId:F,action:un.ADD,kind:Ce}),!Pc&&Ve&&K.emit(jn,{client:v,tinyId:q,userId:F,action:un.ADD,kind:mt}),!Ww&&Ge&&K.emit(jn,{client:v,tinyId:q,userId:F,action:un.ADD,kind:Xu}),va&&!ve&&K.emit(jn,{client:v,tinyId:q,userId:F,action:un.REMOVE,kind:Te}),Cr&&!Ye&&K.emit(jn,{client:v,tinyId:q,userId:F,action:un.REMOVE,kind:Ce}),Pc&&!Ve&&K.emit(jn,{client:v,tinyId:q,userId:F,action:un.REMOVE,kind:mt}),Ww&&!Ge&&K.emit(jn,{client:v,tinyId:q,userId:F,action:un.REMOVE,kind:Xu})}else v.log_.info("peer published detected [".concat(F,"]")),v.onRemoteStreamAdded({content:{audio:Ye,bigVideo:ve,auxVideo:Ve,smallVideo:Ge,userId:F,tinyId:q}})}})}catch(M){}}},{key:"onUpdateRemoteMuteStat",value:function(T){var v=this,E=T.data;(E&&E.userList||[]).forEach(function(C){var M=C.srcTinyId,F=C.userId;if(M!==0&&M!==v.tinyId_){var q=v.connections_.get(M);if(q){var re=q.getMainStream();if(re&&re.getIsStreamAddedEventEmitted()){var ce=!!(1&C.flag),ve=!!(8&C.flag),Ye=!!(2&C.flag),Ve=!!(64&C.flag),Ge=!!(16&C.flag),qe=v.mutedStates_.get(M);if(qe===void 0)return v.mutedStates_.set(M,{hasAudio:ve,hasVideo:ce,hasSmall:Ye,audioMuted:Ve,videoMuted:Ge}),ce?Ge?v.emitter_.emit(ut.MUTE_VIDEO,{userId:F}):v.emitter_.emit(ut.UNMUTE_VIDEO,{userId:F}):v.emitter_.emit(ut.MUTE_VIDEO,{userId:F}),void(ve?Ve?v.emitter_.emit(ut.MUTE_AUDIO,{userId:F}):v.emitter_.emit(ut.UNMUTE_AUDIO,{userId:F}):v.emitter_.emit(ut.MUTE_AUDIO,{userId:F}));var He=!qe.audioMuted&&qe.hasAudio,Cr=!Ve&&ve,va=!qe.videoMuted&&qe.hasVideo,Pc=!Ge&&ce;v.mutedStates_.set(M,{hasAudio:ve,hasVideo:ce,hasSmall:Ye,audioMuted:Ve,videoMuted:Ge}),He!==Cr&&(Cr?v.emitter_.emit(ut.UNMUTE_AUDIO,{userId:F}):v.emitter_.emit(ut.MUTE_AUDIO,{userId:F})),va!==Pc&&(Pc?v.emitter_.emit(ut.UNMUTE_VIDEO,{userId:F}):v.emitter_.emit(ut.MUTE_VIDEO,{userId:F}))}}else v.mutedStates_.delete(M)}})}},{key:"getEnv",value:function(){return this.env_}},{key:"getSubscriptionManager",value:function(){return this.subscriptionManager_}},{key:"startPublishCDNStream",value:(u=N(p().mark(function T(){var v,E=arguments;return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if(v=E.length>0&&E[0]!==void 0?E[0]:{},this.log_.info("startPublishCDNStream with params: ".concat(JSON.stringify(v),"; isJoined: ").concat(this.isJoined_,"; hasMainStream: ").concat(!!this.localStream_,"; hasAuxStream: ").concat(!!this.localAuxStream_,";")),v.streamType=v.streamType||Ze,v.streamType===mt&&(v.streamType=Vn),v.streamId=v.streamId||"",!this.isJoined_){C.next=10;break}if(v.streamType!==Ze||this.localStream_){C.next=8;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:lk})});case 8:if(v.streamType!==Vn||this.localAuxStream_){C.next=10;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:lk})});case 10:return C.next=12,this.publishCDNManager_.startPublishTencentCDN(v);case 12:if(!(v.appId&&v.bizId&&v.url)){C.next=15;break}return C.next=15,this.publishCDNManager_.startPublishGivenCDN(v);case 15:case"end":return C.stop()}},T,this)})),function(){return u.apply(this,arguments)})},{key:"stopPublishCDNStream",value:(c=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(this.publishCDNManager_.getIsPublishingTencentCDN()){v.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:e4})});case 2:return this.log_.info("stopPublishCDNStream"),v.next=5,this.publishCDNManager_.stopPublishTencentCDN();case 5:if(!this.publishCDNManager_.getIsPublishingGivenCDN()){v.next=8;break}return v.next=8,this.publishCDNManager_.stopPublishGivenCDN();case 8:case"end":return v.stop()}},T,this)})),function(){return c.apply(this,arguments)})},{key:"startMixTranscode",value:(s=N(p().mark(function T(v){return p().wrap(function(E){for(;;)switch(E.prev=E.next){case 0:if(this.isJoined_&&this.mixTranscodeManager_){E.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:n4})});case 2:return ge(v.mode)&&(v.mode=rf.MANUAL),E.prev=3,this.log_.info("startMixTranscode with config ".concat(JSON.stringify(v))),xe.uploadEvent({log:"mix-transcode-mode:".concat(v.mode),userId:this.userId_}),E.next=8,this.mixTranscodeManager_.startMixTranscode(v);case 8:xe.logSuccessEvent({userId:this.userId_,eventType:jb}),E.next=15;break;case 11:throw E.prev=11,E.t0=E.catch(3),xe.logFailedEvent({userId:this.userId_,eventType:jb,error:E.t0}),E.t0;case 15:case"end":return E.stop()}},T,this,[[3,11]])})),function(T){return s.apply(this,arguments)})},{key:"stopMixTranscode",value:(a=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(this.isJoined_&&this.mixTranscodeManager_){v.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:r4})});case 2:return v.prev=2,v.next=5,this.mixTranscodeManager_.stopMixTranscode();case 5:xe.logSuccessEvent({userId:this.userId_,eventType:Bb}),v.next=12;break;case 8:throw v.prev=8,v.t0=v.catch(2),xe.logFailedEvent({userId:this.userId_,eventType:Bb,error:v.t0}),v.t0;case 12:case"end":return v.stop()}},T,this,[[2,8]])})),function(){return a.apply(this,arguments)})},{key:"getSystemResult",value:function(){return this.checkSystemResult_}},{key:"enableAudioVolumeEvaluation",value:function(){var T=this,v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:2e3,E=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!er(v))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:i4})});if(this.log_.info("enableAudioVolumeEvaluation with interval: "+v),v<=0)return this.enableAudioVolumeEvaluation_=!1,yt.clearTask(this.audioVolumeIntervalId_),void(this.audioVolumeIntervalId_=null);v=Math.floor(Math.max(v,16)),K.emit(Kf,{interval:v}),this.audioVolumeIntervalId_&&(yt.clearTask(this.audioVolumeIntervalId_),this.audioVolumeIntervalId_=null),this.enableAudioVolumeEvaluation_=!0,this.audioVolumeIntervalId_=yt.run(il,function(){var C=[];if(T.localStream_){var M=Math.floor(100*T.localStream_.getAudioLevel());C.push({userId:T.userId_,audioVolume:M,stream:T.localStream_})}T.connections_.forEach(function(F){var q=F.getSubscribedMainStream();if(q){var re=Math.floor(100*q.getAudioLevel());C.push({userId:F.getUserId(),audioVolume:re,stream:q})}}),T.emitter_.emit(ut.AUDIO_VOLUME,{result:C})},{fps:1e3/v,backgroundTask:E})}},{key:"callExperimentalAPI",value:function(T,v){return Z7.call(T,H({client:this},v))}},{key:"setProperty",value:function(T,v){var E="".concat(T,"_");ge(this[E])||(this[E]=v)}},{key:"uploadAllCallStats",value:function(){var T=this;this.callDurationCalculator_.getDurationMap().forEach(function(v,E){var C={userId:v.userId,type:v.type,duration:T.callDurationCalculator_.getDuration(E,Te),dataFreeze:T.badCaseDetector_.getDataFreezeDuration(E).dataFreeze,renderFreeze:T.badCaseDetector_.getRenderFreezeDuration(E).renderFreeze};xe.uploadEvent({log:"callStats-"+JSON.stringify(C),userId:T.userId_})}),this.badCaseDetector_.stop(),this.callDurationCalculator_.reset()}},{key:"enableSmallStream",value:(o=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(!this.isPublished()&&!this.isPublishing_){v.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:a4})});case 2:if(!BT()){v.next=7;break}this.setIsEnableSmallStream(!0),this.log_.info("SmallStream successfully enabled"),v.next=8;break;case 7:throw new ee({code:Y.INVALID_OPERATION,message:ne({key:s4})});case 8:case"end":return v.stop()}},T,this)})),function(){return o.apply(this,arguments)})},{key:"disableSmallStream",value:(i=N(p().mark(function T(){return p().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:if(!this.isPublished()&&!this.isPublishing_){v.next=2;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:o4})});case 2:this.setIsEnableSmallStream(!1),this.log_.info("SmallStream successfully disabled");case 4:case"end":return v.stop()}},T,this)})),function(){return i.apply(this,arguments)})},{key:"setSmallStreamProfile",value:function(T){var v=this;T&&T.framerate&&(T.frameRate=T.framerate),T.width*T.height>307200&&(T.width=320,T.height=240,this.log_.info("Small stream resolution is beyond limitation, which is invalid. Reset to 320 * 240")),Object.keys(this.smallStreamConfig_).forEach(function(re){T[re]&&(v.smallStreamConfig_[re]=T[re])});var E=this.smallStreamConfig_,C=E.width,M=E.height,F=E.bitrate,q=E.frameRate;if(this.log_.info("setSmallStreamProfile: bitrate=".concat(F,", frameRate=").concat(q,", height=").concat(M,", width=").concat(C)),C<0||M<0||F<0||q<0)throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:c4})})}},{key:"setRemoteVideoStreamType",value:(r=N(p().mark(function T(v,E){return p().wrap(function(C){for(;;)switch(C.prev=C.next){case 0:if(v instanceof Zv){C.next=2;break}throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:u4})});case 2:if(v.getConnection()){C.next=4;break}throw new ee({code:Y.INVALID_OPERATION,message:ne({key:df})});case 4:if(v.getType()!==Lt){C.next=6;break}return C.abrupt("return");case 6:C.t0=E,C.next=C.t0===Jb||C.t0===qb?9:12;break;case 9:return C.next=11,this.changeVideoType(v,E);case 11:case 12:return C.abrupt("break",13);case 13:case"end":return C.stop()}},T,this)})),function(T,v){return r.apply(this,arguments)})},{key:"changeVideoType",value:(n=N(p().mark(function T(v,E){var C,M;return p().wrap(function(F){for(;;)switch(F.prev=F.next){case 0:C=v.getUserId(),M={stream:v,options:{video:E===Jb,smallVideo:E===qb},isSubscribing:!1,reSubscribeCount:10},this.changeBigSmallRecords_.set(C,M),this.log_.info("set [".concat(C,"] ").concat(v.getType()," stream video prefer type: ").concat(E));case 5:case"end":return F.stop()}},T,this)})),function(T,v){return n.apply(this,arguments)})},{key:"checkSubscribeBigSmallVideo",value:(t=N(p().mark(function T(v,E){var C,M,F,q,re,ce,ve,Ye,Ve,Ge,qe;return p().wrap(function(He){for(;;)switch(He.prev=He.next){case 0:if(v!=null&&v.isBigStreamSubscribed||v!=null&&v.isSmallStreamSubscribed){He.next=2;break}return He.abrupt("return");case 2:if(C=v.getUserId(),this.changeBigSmallRecords_.has(C)){He.next=5;break}return He.abrupt("return");case 5:if(M=this.changeBigSmallRecords_.get(C),F=v.getSubscribeState(),q=F.video,re=F.smallVideo,ce=M.stream,ve=M.options,Ye=M.isSubscribing,Ve=M.reSubscribeCount,!(ve.video&&q||ve.smallVideo&&re&&E)){He.next=10;break}return He.abrupt("return");case 10:if(Ge={video:ve.video,smallVideo:ve.smallVideo},!(E&&v.isBigStreamSubscribed||v.isSmallStreamSubscribed)){He.next=31;break}if(He.prev=12,!(ve&&ce&&!Ye&&Ve>=1)){He.next=24;break}return M.isSubscribing=!0,M.reSubscribeCount=Ve-1,qe=ce.getConnection(),!E&&qe.isSmallStreamSubscribed&&(Ge={video:!0,smallVideo:!1}),Ge.emitEvent=!1,He.next=21,qe==null?void 0:qe.subscribe(ce,Ge);case 21:this.log_.info("change [".concat(C,"] to ").concat(Ge.smallVideo?"small":"big"," video successfully. count ").concat(10-M.reSubscribeCount,".")),M.isSubscribing=!1,M.reSubscribeCount=10;case 24:He.next=31;break;case 26:He.prev=26,He.t0=He.catch(12),this.log_.info("change [".concat(C,"] to ").concat(Ge.smallVideo?"small":"big"," video failed. count ").concat(10-M.reSubscribeCount,".")),M.isSubscribing=!1,Ve===0&&this.changeBigSmallRecords_.delete(C);case 31:case"end":return He.stop()}},T,this,[[12,26]])})),function(T,v){return t.apply(this,arguments)})},{key:"setIsEnableSmallStream",value:function(T){this.isEnableSmallStream_=T}},{key:"getIsEnableSmallStream",value:function(){return this.isEnableSmallStream_}},{key:"smallStreamConfig",get:function(){return this.smallStreamConfig_}},{key:"isPublished",value:function(){return!!this.localStream_}},{key:"getUplinkConnection",value:function(){return this.uplinkConnection_}},{key:"getLocalStream",value:function(){return this.localStream_}},{key:"getMode",value:function(){return this.mode_}},{key:"getBadCaseDetector",value:function(){return this.badCaseDetector_}},{key:"getCallDurationCalculator",value:function(){return this.callDurationCalculator_}},{key:"getIsJoined",value:function(){return this.isJoined_}},{key:"getAllConnections",value:function(){var T=be(this.connections_.values());return this.uplinkConnection_&&T.push(this.uplinkConnection_),T}},{key:"isRelayMaybeFailed",value:function(){if(!this.signalChannel_.isOnline)return!1;var T=this.getAllConnections();if(T.length===0)return!1;for(var v=0;v<T.length;v++)if(T[v].getReconnectionCount()<6)return!1;return!0}},{key:"getUseStringRoomId",value:function(){return this.useStringRoomId_}},{key:"checkConnectionsToReconnect",value:function(){var T=this;this.getAllConnections().forEach(function(v){if(!v.getIsReconnecting()){var E=v.getPeerConnection();E&&E.connectionState===Yp&&(T.log_.warn("[".concat(v.getUserId(),"] pc is closed but not reconnect")),v.startReconnection())}})}},{key:"getEnableAutoPlayDialog",value:function(){return this.enableAutoPlayDialog_}},{key:"sendSEIMessage",value:function(T,v){this.uplinkConnection_.sendSEI(T,v)}},{key:"setProxyServer",value:function(T){if(this.log_.info("set proxy server: ".concat(JSON.stringify(T))),Ft(T)){if(!T.startsWith("wss://"))throw new ee({code:Y.INVALID_PARAMETER,message:ne({key:N3})});this.proxy_=T}else if(ia(T)){var v=T.websocketProxy,E=T.loggerProxy,C=T.scheduleProxy,M=T.unifiedProxy;v&&(this.proxy_=v),E&&Xp(E),C&&Xb(C),M&&(this.unifiedProxy_=M,Xp("https://".concat(M)),Xb(M))}}},{key:"setTurnServer",value:function(T){this.log_.info("set turn server: "+JSON.stringify(T));var v=[];Array.isArray(T)?T.forEach(function(E){return v.push(Uk(E))}):ia(T)&&v.push(Uk(T)),this.turnServers_=v}},{key:"get2k4kFlag",value:function(){var T,v;return((T=this.schedule_)===null||T===void 0||(v=T.trtcCapability)===null||v===void 0?void 0:v["2k4k"])||2}}]),e}(),W(Pe.prototype,"join",[uw,lw],Object.getOwnPropertyDescriptor(Pe.prototype,"join"),Pe.prototype),W(Pe.prototype,"leave",[dw],Object.getOwnPropertyDescriptor(Pe.prototype,"leave"),Pe.prototype),W(Pe.prototype,"getUserList",[hw],Object.getOwnPropertyDescriptor(Pe.prototype,"getUserList"),Pe.prototype),W(Pe.prototype,"publish",[pw,fw,mw],Object.getOwnPropertyDescriptor(Pe.prototype,"publish"),Pe.prototype),W(Pe.prototype,"unpublish",[vw,gw],Object.getOwnPropertyDescriptor(Pe.prototype,"unpublish"),Pe.prototype),W(Pe.prototype,"subscribe",[_w],Object.getOwnPropertyDescriptor(Pe.prototype,"subscribe"),Pe.prototype),W(Pe.prototype,"unsubscribe",[yw],Object.getOwnPropertyDescriptor(Pe.prototype,"unsubscribe"),Pe.prototype),W(Pe.prototype,"switchRole",[Sw,bw,kw],Object.getOwnPropertyDescriptor(Pe.prototype,"switchRole"),Pe.prototype),W(Pe.prototype,"startPublishCDNStream",[Tw,xw],Object.getOwnPropertyDescriptor(Pe.prototype,"startPublishCDNStream"),Pe.prototype),W(Pe.prototype,"stopPublishCDNStream",[Iw],Object.getOwnPropertyDescriptor(Pe.prototype,"stopPublishCDNStream"),Pe.prototype),W(Pe.prototype,"startMixTranscode",[ww,Ew],Object.getOwnPropertyDescriptor(Pe.prototype,"startMixTranscode"),Pe.prototype),W(Pe.prototype,"stopMixTranscode",[Cw],Object.getOwnPropertyDescriptor(Pe.prototype,"stopMixTranscode"),Pe.prototype),W(Pe.prototype,"enableAudioVolumeEvaluation",[Rw],Object.getOwnPropertyDescriptor(Pe.prototype,"enableAudioVolumeEvaluation"),Pe.prototype),W(Pe.prototype,"enableSmallStream",[Aw],Object.getOwnPropertyDescriptor(Pe.prototype,"enableSmallStream"),Pe.prototype),W(Pe.prototype,"disableSmallStream",[Pw],Object.getOwnPropertyDescriptor(Pe.prototype,"disableSmallStream"),Pe.prototype),W(Pe.prototype,"setSmallStreamProfile",[Dw],Object.getOwnPropertyDescriptor(Pe.prototype,"setSmallStreamProfile"),Pe.prototype),W(Pe.prototype,"setRemoteVideoStreamType",[Lw],Object.getOwnPropertyDescriptor(Pe.prototype,"setRemoteVideoStreamType"),Pe.prototype),W(Pe.prototype,"sendSEIMessage",[Ow,Mw,Nw],Object.getOwnPropertyDescriptor(Pe.prototype,"sendSEIMessage"),Pe.prototype),W(Pe.prototype,"setProxyServer",[Vw],Object.getOwnPropertyDescriptor(Pe.prototype,"setProxyServer"),Pe.prototype),W(Pe.prototype,"setTurnServer",[Uw],Object.getOwnPropertyDescriptor(Pe.prototype,"setTurnServer"),Pe.prototype),Pe),t9=0,n9=0,r9=(jw=kt(tc),Bw=kt(tc),Fw=kt(tc),Gw=nd(Yt.TRTC.createClient),Hw=kt(tc),zw=nd(Yt.TRTC.createStream),$t=function(){function e(){J(this,e),this.name_=tc,this.VERSION=ji,this.Logger={loggerManager:ye,LogLevel:Un,setLogLevel:function(n){ye.setLogLevel(n),n<=1&&RV()},enableUploadLog:function(){Ei.handleFunctionState({fnName:"TRTC.enableUploadLog"}),ye.enableUploadLog()},disableUploadLog:function(){ye.warn("disableUploadLog"),Ei.handleFunctionState({fnName:"TRTC.disableUploadLog"}),ye.disableUploadLog()}}}var t;return Ie(e,[{key:"checkSystemRequirements",value:(t=N(p().mark(function n(){return p().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,Am();case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}},n)})),function(){return t.apply(this,arguments)})},{key:"isScreenShareSupported",value:function(){return NT()}},{key:"isSmallStreamSupported",value:function(){return BT()}},{key:"getDevices",value:function(){return Um()}},{key:"getCameras",value:function(){return function(){return Vm.apply(this,arguments)}()}},{key:"getMicrophones",value:function(){return zT()}},{key:"getSpeakers",value:function(){return WT()}},{key:"createClient",value:function(n){Kk&&(Kk=!1,ye.getLogLevel()!=It.Logger.LogLevel.NONE&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: "+"".concat(uf,"index.html")),console.info("* Changelog: https://cloud.tencent.com/document/product/647/38958"),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),ye.info("TRTC Web SDK Version: 4.15.12"),ye.info("UserAgent: "+navigator.userAgent),ye.info("URL of current page: "+location.href));var r={version:this.VERSION},i=new e9(H(H(H({},r),n),{},{seq:++t9}));return K.emit(Wk,{client:i}),i}},{key:"createStream",value:function(n){return new S7(H(H({},n),{},{seq:++n9}))}}]),e}(),W($t.prototype,"checkSystemRequirements",[jw],Object.getOwnPropertyDescriptor($t.prototype,"checkSystemRequirements"),$t.prototype),W($t.prototype,"isScreenShareSupported",[Bw],Object.getOwnPropertyDescriptor($t.prototype,"isScreenShareSupported"),$t.prototype),W($t.prototype,"isSmallStreamSupported",[Fw],Object.getOwnPropertyDescriptor($t.prototype,"isSmallStreamSupported"),$t.prototype),W($t.prototype,"createClient",[Gw,Hw],Object.getOwnPropertyDescriptor($t.prototype,"createClient"),$t.prototype),W($t.prototype,"createStream",[zw],Object.getOwnPropertyDescriptor($t.prototype,"createStream"),$t.prototype),$t),It=new r9;return It})});var mg=dg((I9,fg)=>{"use strict";var Mo=typeof Reflect=="object"?Reflect:null,Qw=Mo&&typeof Mo.apply=="function"?Mo.apply:function(H,p,V){return Function.prototype.apply.call(H,p,V)},Sd;Mo&&typeof Mo.ownKeys=="function"?Sd=Mo.ownKeys:Object.getOwnPropertySymbols?Sd=function(H){return Object.getOwnPropertyNames(H).concat(Object.getOwnPropertySymbols(H))}:Sd=function(H){return Object.getOwnPropertyNames(H)};function h9(Z){console&&console.warn&&console.warn(Z)}var $w=Number.isNaN||function(H){return H!==H};function ft(){ft.init.call(this)}fg.exports=ft;fg.exports.once=v9;ft.EventEmitter=ft;ft.prototype._events=void 0;ft.prototype._eventsCount=0;ft.prototype._maxListeners=void 0;var Yw=10;function bd(Z){if(typeof Z!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof Z)}Object.defineProperty(ft,"defaultMaxListeners",{enumerable:!0,get:function(){return Yw},set:function(Z){if(typeof Z!="number"||Z<0||$w(Z))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+Z+".");Yw=Z}});ft.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ft.prototype.setMaxListeners=function(H){if(typeof H!="number"||H<0||$w(H))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+H+".");return this._maxListeners=H,this};function Zw(Z){return Z._maxListeners===void 0?ft.defaultMaxListeners:Z._maxListeners}ft.prototype.getMaxListeners=function(){return Zw(this)};ft.prototype.emit=function(H){for(var p=[],V=1;V<arguments.length;V++)p.push(arguments[V]);var X=H==="error",N=this._events;if(N!==void 0)X=X&&N.error===void 0;else if(!X)return!1;if(X){var J;if(p.length>0&&(J=p[0]),J instanceof Error)throw J;var Re=new Error("Unhandled error."+(J?" ("+J.message+")":""));throw Re.context=J,Re}var Ie=N[H];if(Ie===void 0)return!1;if(typeof Ie=="function")Qw(Ie,this,p);else for(var et=Ie.length,Ct=iE(Ie,et),V=0;V<et;++V)Qw(Ct[V],this,p);return!0};function eE(Z,H,p,V){var X,N,J;if(bd(p),N=Z._events,N===void 0?(N=Z._events=Object.create(null),Z._eventsCount=0):(N.newListener!==void 0&&(Z.emit("newListener",H,p.listener?p.listener:p),N=Z._events),J=N[H]),J===void 0)J=N[H]=p,++Z._eventsCount;else if(typeof J=="function"?J=N[H]=V?[p,J]:[J,p]:V?J.unshift(p):J.push(p),X=Zw(Z),X>0&&J.length>X&&!J.warned){J.warned=!0;var Re=new Error("Possible EventEmitter memory leak detected. "+J.length+" "+String(H)+" listeners added. Use emitter.setMaxListeners() to increase limit");Re.name="MaxListenersExceededWarning",Re.emitter=Z,Re.type=H,Re.count=J.length,h9(Re)}return Z}ft.prototype.addListener=function(H,p){return eE(this,H,p,!1)};ft.prototype.on=ft.prototype.addListener;ft.prototype.prependListener=function(H,p){return eE(this,H,p,!0)};function p9(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function tE(Z,H,p){var V={fired:!1,wrapFn:void 0,target:Z,type:H,listener:p},X=p9.bind(V);return X.listener=p,V.wrapFn=X,X}ft.prototype.once=function(H,p){return bd(p),this.on(H,tE(this,H,p)),this};ft.prototype.prependOnceListener=function(H,p){return bd(p),this.prependListener(H,tE(this,H,p)),this};ft.prototype.removeListener=function(H,p){var V,X,N,J,Re;if(bd(p),X=this._events,X===void 0)return this;if(V=X[H],V===void 0)return this;if(V===p||V.listener===p)--this._eventsCount===0?this._events=Object.create(null):(delete X[H],X.removeListener&&this.emit("removeListener",H,V.listener||p));else if(typeof V!="function"){for(N=-1,J=V.length-1;J>=0;J--)if(V[J]===p||V[J].listener===p){Re=V[J].listener,N=J;break}if(N<0)return this;N===0?V.shift():f9(V,N),V.length===1&&(X[H]=V[0]),X.removeListener!==void 0&&this.emit("removeListener",H,Re||p)}return this};ft.prototype.off=ft.prototype.removeListener;ft.prototype.removeAllListeners=function(H){var p,V,X;if(V=this._events,V===void 0)return this;if(V.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):V[H]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete V[H]),this;if(arguments.length===0){var N=Object.keys(V),J;for(X=0;X<N.length;++X)J=N[X],J!=="removeListener"&&this.removeAllListeners(J);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(p=V[H],typeof p=="function")this.removeListener(H,p);else if(p!==void 0)for(X=p.length-1;X>=0;X--)this.removeListener(H,p[X]);return this};function nE(Z,H,p){var V=Z._events;if(V===void 0)return[];var X=V[H];return X===void 0?[]:typeof X=="function"?p?[X.listener||X]:[X]:p?m9(X):iE(X,X.length)}ft.prototype.listeners=function(H){return nE(this,H,!0)};ft.prototype.rawListeners=function(H){return nE(this,H,!1)};ft.listenerCount=function(Z,H){return typeof Z.listenerCount=="function"?Z.listenerCount(H):rE.call(Z,H)};ft.prototype.listenerCount=rE;function rE(Z){var H=this._events;if(H!==void 0){var p=H[Z];if(typeof p=="function")return 1;if(p!==void 0)return p.length}return 0}ft.prototype.eventNames=function(){return this._eventsCount>0?Sd(this._events):[]};function iE(Z,H){for(var p=new Array(H),V=0;V<H;++V)p[V]=Z[V];return p}function f9(Z,H){for(;H+1<Z.length;H++)Z[H]=Z[H+1];Z.pop()}function m9(Z){for(var H=new Array(Z.length),p=0;p<H.length;++p)H[p]=Z[p].listener||Z[p];return H}function v9(Z,H){return new Promise(function(p,V){function X(J){Z.removeListener(H,N),V(J)}function N(){typeof Z.removeListener=="function"&&Z.removeListener("error",X),p([].slice.call(arguments))}aE(Z,H,N,{once:!0}),H!=="error"&&g9(Z,X,{once:!0})})}function g9(Z,H,p){typeof Z.on=="function"&&aE(Z,"error",H,p)}function aE(Z,H,p,V){if(typeof Z.on=="function")V.once?Z.once(H,p):Z.on(H,p);else if(typeof Z.addEventListener=="function")Z.addEventListener(H,function X(N){V.once&&Z.removeEventListener(H,X),p(N)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof Z)}});var sE=dg((vg,gg)=>{(function(Z,H){typeof vg=="object"&&typeof gg!="undefined"?gg.exports=H(Rr()):typeof define=="function"&&define.amd?define(["trtc-js-sdk"],H):(Z=typeof globalThis!="undefined"?globalThis:Z||self).RTCBeautyPlugin=H(Z.TRTC)})(vg,function(Z){function H(se){return se&&typeof se=="object"&&"default"in se?se:{default:se}}var p=H(Z);function V(){V=function(){return se};var se={},ke=Object.prototype,be=ke.hasOwnProperty,je=typeof Symbol=="function"?Symbol:{},ze=je.iterator||"@@iterator",ie=je.asyncIterator||"@@asyncIterator",W=je.toStringTag||"@@toStringTag";function ae(de,le,Ne){return Object.defineProperty(de,le,{value:Ne,enumerable:!0,configurable:!0,writable:!0}),de[le]}try{ae({},"")}catch(de){ae=function(le,Ne,Je){return le[Ne]=Je}}function j(de,le,Ne,Je){var De=le&&le.prototype instanceof oe?le:oe,lt=Object.create(De.prototype),at=new tt(Je||[]);return lt._invoke=function(Vt,en,pe){var Ot="suspendedStart";return function(Kt,dr){if(Ot==="executing")throw new Error("Generator is already running");if(Ot==="completed"){if(Kt==="throw")throw dr;return qn()}for(pe.method=Kt,pe.arg=dr;;){var Ci=pe.delegate;if(Ci){var yn=lr(Ci,pe);if(yn){if(yn===Se)continue;return yn}}if(pe.method==="next")pe.sent=pe._sent=pe.arg;else if(pe.method==="throw"){if(Ot==="suspendedStart")throw Ot="completed",pe.arg;pe.dispatchException(pe.arg)}else pe.method==="return"&&pe.abrupt("return",pe.arg);Ot="executing";var Rt=te(Vt,en,pe);if(Rt.type==="normal"){if(Ot=pe.done?"completed":"suspendedYield",Rt.arg===Se)continue;return{value:Rt.arg,done:pe.done}}Rt.type==="throw"&&(Ot="completed",pe.method="throw",pe.arg=Rt.arg)}}}(de,Ne,at),lt}function te(de,le,Ne){try{return{type:"normal",arg:de.call(le,Ne)}}catch(Je){return{type:"throw",arg:Je}}}se.wrap=j;var Se={};function oe(){}function _e(){}function Oe(){}var Jt={};ae(Jt,ze,function(){return this});var Zt=Object.getPrototypeOf,Qe=Zt&&Zt(Zt(zt([])));Qe&&Qe!==ke&&be.call(Qe,ze)&&(Jt=Qe);var qt=Oe.prototype=oe.prototype=Object.create(Jt);function ht(de){["next","throw","return"].forEach(function(le){ae(de,le,function(Ne){return this._invoke(le,Ne)})})}function Jn(de,le){function Ne(De,lt,at,Vt){var en=te(de[De],de,lt);if(en.type!=="throw"){var pe=en.arg,Ot=pe.value;return Ot&&typeof Ot=="object"&&be.call(Ot,"__await")?le.resolve(Ot.__await).then(function(Kt){Ne("next",Kt,at,Vt)},function(Kt){Ne("throw",Kt,at,Vt)}):le.resolve(Ot).then(function(Kt){pe.value=Kt,at(pe)},function(Kt){return Ne("throw",Kt,at,Vt)})}Vt(en.arg)}var Je;this._invoke=function(De,lt){function at(){return new le(function(Vt,en){Ne(De,lt,Vt,en)})}return Je=Je?Je.then(at,at):at()}}function lr(de,le){var Ne=de.iterator[le.method];if(Ne===void 0){if(le.delegate=null,le.method==="throw"){if(de.iterator.return&&(le.method="return",le.arg=void 0,lr(de,le),le.method==="throw"))return Se;le.method="throw",le.arg=new TypeError("The iterator does not provide a 'throw' method")}return Se}var Je=te(Ne,de.iterator,le.arg);if(Je.type==="throw")return le.method="throw",le.arg=Je.arg,le.delegate=null,Se;var De=Je.arg;return De?De.done?(le[de.resultName]=De.value,le.next=de.nextLoc,le.method!=="return"&&(le.method="next",le.arg=void 0),le.delegate=null,Se):De:(le.method="throw",le.arg=new TypeError("iterator result is not an object"),le.delegate=null,Se)}function Ht(de){var le={tryLoc:de[0]};1 in de&&(le.catchLoc=de[1]),2 in de&&(le.finallyLoc=de[2],le.afterLoc=de[3]),this.tryEntries.push(le)}function An(de){var le=de.completion||{};le.type="normal",delete le.arg,de.completion=le}function tt(de){this.tryEntries=[{tryLoc:"root"}],de.forEach(Ht,this),this.reset(!0)}function zt(de){if(de){var le=de[ze];if(le)return le.call(de);if(typeof de.next=="function")return de;if(!isNaN(de.length)){var Ne=-1,Je=function De(){for(;++Ne<de.length;)if(be.call(de,Ne))return De.value=de[Ne],De.done=!1,De;return De.value=void 0,De.done=!0,De};return Je.next=Je}}return{next:qn}}function qn(){return{value:void 0,done:!0}}return _e.prototype=Oe,ae(qt,"constructor",Oe),ae(Oe,"constructor",_e),_e.displayName=ae(Oe,W,"GeneratorFunction"),se.isGeneratorFunction=function(de){var le=typeof de=="function"&&de.constructor;return!!le&&(le===_e||(le.displayName||le.name)==="GeneratorFunction")},se.mark=function(de){return Object.setPrototypeOf?Object.setPrototypeOf(de,Oe):(de.__proto__=Oe,ae(de,W,"GeneratorFunction")),de.prototype=Object.create(qt),de},se.awrap=function(de){return{__await:de}},ht(Jn.prototype),ae(Jn.prototype,ie,function(){return this}),se.AsyncIterator=Jn,se.async=function(de,le,Ne,Je,De){De===void 0&&(De=Promise);var lt=new Jn(j(de,le,Ne,Je),De);return se.isGeneratorFunction(le)?lt:lt.next().then(function(at){return at.done?at.value:lt.next()})},ht(qt),ae(qt,W,"Generator"),ae(qt,ze,function(){return this}),ae(qt,"toString",function(){return"[object Generator]"}),se.keys=function(de){var le=[];for(var Ne in de)le.push(Ne);return le.reverse(),function Je(){for(;le.length;){var De=le.pop();if(De in de)return Je.value=De,Je.done=!1,Je}return Je.done=!0,Je}},se.values=zt,tt.prototype={constructor:tt,reset:function(de){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(An),!de)for(var le in this)le.charAt(0)==="t"&&be.call(this,le)&&!isNaN(+le.slice(1))&&(this[le]=void 0)},stop:function(){this.done=!0;var de=this.tryEntries[0].completion;if(de.type==="throw")throw de.arg;return this.rval},dispatchException:function(de){if(this.done)throw de;var le=this;function Ne(en,pe){return lt.type="throw",lt.arg=de,le.next=en,pe&&(le.method="next",le.arg=void 0),!!pe}for(var Je=this.tryEntries.length-1;Je>=0;--Je){var De=this.tryEntries[Je],lt=De.completion;if(De.tryLoc==="root")return Ne("end");if(De.tryLoc<=this.prev){var at=be.call(De,"catchLoc"),Vt=be.call(De,"finallyLoc");if(at&&Vt){if(this.prev<De.catchLoc)return Ne(De.catchLoc,!0);if(this.prev<De.finallyLoc)return Ne(De.finallyLoc)}else if(at){if(this.prev<De.catchLoc)return Ne(De.catchLoc,!0)}else{if(!Vt)throw new Error("try statement without catch or finally");if(this.prev<De.finallyLoc)return Ne(De.finallyLoc)}}}},abrupt:function(de,le){for(var Ne=this.tryEntries.length-1;Ne>=0;--Ne){var Je=this.tryEntries[Ne];if(Je.tryLoc<=this.prev&&be.call(Je,"finallyLoc")&&this.prev<Je.finallyLoc){var De=Je;break}}De&&(de==="break"||de==="continue")&&De.tryLoc<=le&&le<=De.finallyLoc&&(De=null);var lt=De?De.completion:{};return lt.type=de,lt.arg=le,De?(this.method="next",this.next=De.finallyLoc,Se):this.complete(lt)},complete:function(de,le){if(de.type==="throw")throw de.arg;return de.type==="break"||de.type==="continue"?this.next=de.arg:de.type==="return"?(this.rval=this.arg=de.arg,this.method="return",this.next="end"):de.type==="normal"&&le&&(this.next=le),Se},finish:function(de){for(var le=this.tryEntries.length-1;le>=0;--le){var Ne=this.tryEntries[le];if(Ne.finallyLoc===de)return this.complete(Ne.completion,Ne.afterLoc),An(Ne),Se}},catch:function(de){for(var le=this.tryEntries.length-1;le>=0;--le){var Ne=this.tryEntries[le];if(Ne.tryLoc===de){var Je=Ne.completion;if(Je.type==="throw"){var De=Je.arg;An(Ne)}return De}}throw new Error("illegal catch attempt")},delegateYield:function(de,le,Ne){return this.delegate={iterator:zt(de),resultName:le,nextLoc:Ne},this.method==="next"&&(this.arg=void 0),Se}},se}function X(se){return X=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ke){return typeof ke}:function(ke){return ke&&typeof Symbol=="function"&&ke.constructor===Symbol&&ke!==Symbol.prototype?"symbol":typeof ke},X(se)}function N(se,ke,be,je,ze,ie,W){try{var ae=se[ie](W),j=ae.value}catch(te){return void be(te)}ae.done?ke(j):Promise.resolve(j).then(je,ze)}function J(se){return function(){var ke=this,be=arguments;return new Promise(function(je,ze){var ie=se.apply(ke,be);function W(j){N(ie,je,ze,W,ae,"next",j)}function ae(j){N(ie,je,ze,W,ae,"throw",j)}W(void 0)})}}function Re(se,ke){if(!(se instanceof ke))throw new TypeError("Cannot call a class as a function")}function Ie(se,ke){for(var be=0;be<ke.length;be++){var je=ke[be];je.enumerable=je.enumerable||!1,je.configurable=!0,"value"in je&&(je.writable=!0),Object.defineProperty(se,je.key,je)}}function et(se,ke,be){return ke&&Ie(se.prototype,ke),be&&Ie(se,be),Object.defineProperty(se,"prototype",{writable:!1}),se}function Ct(se,ke,be){var je=function(te,Se,oe){var _e=new RegExp("\\b".concat(Se," \\w+ (\\w+)"),"ig");te.replace(_e,function(Oe,Jt){return oe[Jt]=0,Oe})},ze=function(te,Se,oe){var _e=te.createShader(oe);return te.shaderSource(_e,Se),te.compileShader(_e),te.getShaderParameter(_e,te.COMPILE_STATUS)?_e:(console.log(te.getShaderInfoLog(_e)),null)};this.uniform={},this.attribute={};var ie=ze(se,ke,se.VERTEX_SHADER),W=ze(se,be,se.FRAGMENT_SHADER);for(var ae in this.id=se.createProgram(),se.attachShader(this.id,ie),se.attachShader(this.id,W),se.linkProgram(this.id),se.getProgramParameter(this.id,se.LINK_STATUS)||console.log(se.getProgramInfoLog(this.id)),se.useProgram(this.id),je(ke,"attribute",this.attribute),this.attribute)this.attribute[ae]=se.getAttribLocation(this.id,ae);for(var j in je(ke,"uniform",this.uniform),je(be,"uniform",this.uniform),this.uniform)this.uniform[j]=se.getUniformLocation(this.id,j)}function $e(se,ke,be,je){for(var ze=[],ie=0;ie<ke.length;++ie)ze.push(Lc(se,ke[ie],se[ur[ie]]));return function(W,ae,j,te){var Se=W.createProgram();return ae.forEach(function(oe){W.attachShader(Se,oe)}),j&&j.forEach(function(oe,_e){W.bindAttribLocation(Se,te?te[_e]:_e,oe)}),W.linkProgram(Se),W.getProgramParameter(Se,W.LINK_STATUS)?Se:(W.deleteProgram(Se),null)}(se,ze,be,je)}var ur=["VERTEX_SHADER","FRAGMENT_SHADER"];function Lc(se,ke,be){var je=se.createShader(be);return se.shaderSource(je,ke),se.compileShader(je),se.getShaderParameter(je,se.COMPILE_STATUS)?je:(se.deleteShader(je),null)}var Ho=function(){function se(ke){Re(this,se),this.canvas=ke.canvas,this.video=ke.video,this.width=ke.width||640,this.height=ke.height||480,this.vertexBuffer=null,this.currentProgram=null,this.applied=!1,this.beautyParams={beauty:.5,brightness:.5,ruddy:.5},this.gl=this.createGL(ke.canvas),this.sourceTexture=this.gl.createTexture()}return et(se,[{key:"setRect",value:function(ke,be){this.width=ke,this.height=be}},{key:"apply",value:function(ke){if(!this.vertexBuffer){var be=new Float32Array([-1,-1,0,1,1,-1,1,1,-1,1,0,0,-1,1,0,0,1,-1,1,1,1,1,1,0]);this.vertexBuffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.vertexBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,be,this.gl.STATIC_DRAW),this.gl.pixelStorei(this.gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0)}this.gl.viewport(0,0,this.width,this.height),this.gl.bindTexture(this.gl.TEXTURE_2D,this.sourceTexture),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.NEAREST),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST),this.applied?this.gl.texSubImage2D(this.gl.TEXTURE_2D,0,0,0,this.gl.RGB,this.gl.UNSIGNED_BYTE,ke):(this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGB,this.gl.RGB,this.gl.UNSIGNED_BYTE,ke),this.applied=!0);var je=this.beautyParams,ze=je.beauty,ie=je.brightness,W=je.ruddy,ae=2/this.width,j=2/this.height,te=this.compileBeautyShader();this.gl.uniform2f(te.uniform.singleStepOffset,ae,j);var Se=new Float32Array([1-.8*ze,1-.6*ze,.1+.45*W,.1+.45*W]);this.gl.uniform4fv(te.uniform.params,Se),this.gl.uniform1f(te.uniform.brightness,.12*ie),this.gl.bindTexture(this.gl.TEXTURE_2D,this.sourceTexture),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this.gl.uniform1f(this.currentProgram.uniform.flipY,1),this.gl.drawArrays(this.gl.TRIANGLES,0,6)}},{key:"compileBeautyShader",value:function(){if(this.currentProgram)return this.currentProgram;this.currentProgram=new Ct(this.gl,["precision highp float;","attribute vec2 pos;","attribute vec2 uv;","varying vec2 vUv;","uniform float flipY;","void main(void) {","vUv = uv;","gl_Position = vec4(pos.x, pos.y*flipY, 0.0, 1.);","}"].join(`
|
|
107
107
|
`),["precision highp float;","uniform vec2 singleStepOffset;","uniform sampler2D texture;","uniform vec4 params;","uniform float brightness;","varying vec2 vUv;","const highp vec3 W = vec3(0.299,0.587,0.114);","const mat3 saturateMatrix = mat3(1.1102,-0.0598,-0.061,-0.0774,1.0826,-0.1186,-0.0228,-0.0228,1.1772);","vec2 blurCoordinates[24];","float hardLight(float color){","if(color <= 0.5){","color = color * color * 2.0;","} else {","color = 1.0 - ((1.0 - color)*(1.0 - color) * 2.0);","}","return color;","}","void main(){","vec3 centralColor = texture2D(texture, vUv).rgb;","blurCoordinates[0] = vUv.xy + singleStepOffset * vec2(0.0, -10.0);","blurCoordinates[1] = vUv.xy + singleStepOffset * vec2(0.0, 10.0);","blurCoordinates[2] = vUv.xy + singleStepOffset * vec2(-10.0, 0.0);","blurCoordinates[3] = vUv.xy + singleStepOffset * vec2(10.0, 0.0);","blurCoordinates[4] = vUv.xy + singleStepOffset * vec2(5.0, -8.0);","blurCoordinates[5] = vUv.xy + singleStepOffset * vec2(5.0, 8.0);","blurCoordinates[6] = vUv.xy + singleStepOffset * vec2(-5.0, 8.0);","blurCoordinates[7] = vUv.xy + singleStepOffset * vec2(-5.0, -8.0);","blurCoordinates[8] = vUv.xy + singleStepOffset * vec2(8.0, -5.0);","blurCoordinates[9] = vUv.xy + singleStepOffset * vec2(8.0, 5.0);","blurCoordinates[10] = vUv.xy + singleStepOffset * vec2(-8.0, 5.0);","blurCoordinates[11] = vUv.xy + singleStepOffset * vec2(-8.0, -5.0);","blurCoordinates[12] = vUv.xy + singleStepOffset * vec2(0.0, -6.0);","blurCoordinates[13] = vUv.xy + singleStepOffset * vec2(0.0, 6.0);","blurCoordinates[14] = vUv.xy + singleStepOffset * vec2(6.0, 0.0);","blurCoordinates[15] = vUv.xy + singleStepOffset * vec2(-6.0, 0.0);","blurCoordinates[16] = vUv.xy + singleStepOffset * vec2(-4.0, -4.0);","blurCoordinates[17] = vUv.xy + singleStepOffset * vec2(-4.0, 4.0);","blurCoordinates[18] = vUv.xy + singleStepOffset * vec2(4.0, -4.0);","blurCoordinates[19] = vUv.xy + singleStepOffset * vec2(4.0, 4.0);","blurCoordinates[20] = vUv.xy + singleStepOffset * vec2(-2.0, -2.0);","blurCoordinates[21] = vUv.xy + singleStepOffset * vec2(-2.0, 2.0);","blurCoordinates[22] = vUv.xy + singleStepOffset * vec2(2.0, -2.0);","blurCoordinates[23] = vUv.xy + singleStepOffset * vec2(2.0, 2.0);","float sampleColor = centralColor.g * 22.0;","sampleColor += texture2D(texture, blurCoordinates[0]).g;","sampleColor += texture2D(texture, blurCoordinates[1]).g;","sampleColor += texture2D(texture, blurCoordinates[2]).g;","sampleColor += texture2D(texture, blurCoordinates[3]).g;","sampleColor += texture2D(texture, blurCoordinates[4]).g;","sampleColor += texture2D(texture, blurCoordinates[5]).g;","sampleColor += texture2D(texture, blurCoordinates[6]).g;","sampleColor += texture2D(texture, blurCoordinates[7]).g;","sampleColor += texture2D(texture, blurCoordinates[8]).g;","sampleColor += texture2D(texture, blurCoordinates[9]).g;","sampleColor += texture2D(texture, blurCoordinates[10]).g;","sampleColor += texture2D(texture, blurCoordinates[11]).g;","sampleColor += texture2D(texture, blurCoordinates[12]).g * 2.0;","sampleColor += texture2D(texture, blurCoordinates[13]).g * 2.0;","sampleColor += texture2D(texture, blurCoordinates[14]).g * 2.0;","sampleColor += texture2D(texture, blurCoordinates[15]).g * 2.0;","sampleColor += texture2D(texture, blurCoordinates[16]).g * 2.0;","sampleColor += texture2D(texture, blurCoordinates[17]).g * 2.0;","sampleColor += texture2D(texture, blurCoordinates[18]).g * 2.0;","sampleColor += texture2D(texture, blurCoordinates[19]).g * 2.0;","sampleColor += texture2D(texture, blurCoordinates[20]).g * 3.0;","sampleColor += texture2D(texture, blurCoordinates[21]).g * 3.0;","sampleColor += texture2D(texture, blurCoordinates[22]).g * 3.0;","sampleColor += texture2D(texture, blurCoordinates[23]).g * 3.0;","sampleColor = sampleColor / 62.0;","float highPass = centralColor.g - sampleColor + 0.5;","for(int i = 0; i < 5;i++){","highPass = hardLight(highPass);","}","float luminance = dot(centralColor, W);","float alpha = pow(luminance, params.r);","vec3 smoothColor = centralColor + (centralColor-vec3(highPass))*alpha*0.1;","smoothColor.r = clamp(pow(smoothColor.r, params.g),0.0,1.0);","smoothColor.g = clamp(pow(smoothColor.g, params.g),0.0,1.0);","smoothColor.b = clamp(pow(smoothColor.b, params.g),0.0,1.0);","vec3 screen = vec3(1.0) - (vec3(1.0)-smoothColor) * (vec3(1.0)-centralColor);","vec3 lighten = max(smoothColor, centralColor);","vec3 softLight = 2.0 * centralColor*smoothColor + centralColor*centralColor - 2.0 * centralColor*centralColor * smoothColor;","gl_FragColor = vec4(mix(centralColor, screen, alpha), 1.0);","gl_FragColor.rgb = mix(gl_FragColor.rgb, lighten, alpha);","gl_FragColor.rgb = mix(gl_FragColor.rgb, softLight, params.b);","vec3 satColor = gl_FragColor.rgb * saturateMatrix;","gl_FragColor.rgb = mix(gl_FragColor.rgb, satColor, params.a);","gl_FragColor.rgb = vec3(gl_FragColor.rgb + vec3(brightness));","}"].join(`
|
|
108
|
-
`));var
|
|
108
|
+
`));var ke=Float32Array.BYTES_PER_ELEMENT,be=4*ke;return this.gl.enableVertexAttribArray(this.currentProgram.attribute.pos),this.gl.vertexAttribPointer(this.currentProgram.attribute.pos,2,this.gl.FLOAT,!1,be,0),this.gl.enableVertexAttribArray(this.currentProgram.attribute.uv),this.gl.vertexAttribPointer(this.currentProgram.attribute.uv,2,this.gl.FLOAT,!1,be,2*ke),this.currentProgram}},{key:"createGL",value:function(ke){var be=ke.getContext("webgl2");if(be||ke.getContext("experimental-webgl",{preserveDrawingBuffer:!0}),!be)throw"Couldn't get WebGL context";return be}},{key:"setBeautyParams",value:function(ke){this.beautyParams=ke}},{key:"reset",value:function(){this.applied=!1}}]),se}(),zo=function(){function se(ie){Re(this,se),this.canvas=ie.canvas,this.video=ie.video,this.width=ie.width||640,this.height=ie.height||480,this.onoverload=ie.onoverload,this.gl=this.createGL(ie.canvas),this.vao=this.gl.createVertexArray(),this.positionBuffer=this.gl.createBuffer(),this.sourceTexture=this.gl.createTexture(),this.program=null,this.blurParams={resolutionLocation:null,imageLocation0:null,imageLocation1:null},this.virtualParams={resolutionLocation:null,imageLocation0:null,imageLocation1:null,imageLocation2:null,imageOldLocation0:null,imageOldLocation1:null,imageOldLocation2:null,imageOldLocation3:null,imageOldLocation4:null,imageOldLocation5:null},this.virtualLocation={postProcessTypeLocation:null,sigmaLocation:null,bSigmaLocation:null,mSizeLocation:null,overlayTypeLocation:null,hardThresholdLocation:null,sigmoidClipLocation:null},this.maskBuffer=[],this.frameBuffer=[],this.virtualOption={postProcess:2,sigma:100,bSigma:10,kSize:19,overlayType:0,hardThreshold:.5,sigmoidClip:1},this.type=0,this.frameRate=0,this.rafId=null,this.timeoutId=null,this.img=new Image,this.imgCropCanvas=document.createElement("canvas"),this.imgCropCanvasCtx=this.imgCropCanvas.getContext("2d"),this.imgMap=new Map,this.tempImg=new Image,this.tempImg.crossOrigin="anonymous",this.isRender=!1,this.enable=!1,this.processingTimes=[],this.frameCount=0}var ke,be,je,ze;return et(se,[{key:"loadResources",value:(ze=J(V().mark(function ie(){return V().wrap(function(W){for(;;)switch(W.prev=W.next){case 0:return W.next=2,new window.SelfieSegmentation({locateFile:function(ae){return"https://web.sdk.qcloud.com/trtc/webrtc/download/segmentation/".concat(ae)}});case 2:return this.selfieSegmentation=W.sent,W.next=5,this.selfieSegmentation.initialize();case 5:case"end":return W.stop()}},ie,this)})),function(){return ze.apply(this,arguments)})},{key:"setEnable",value:function(ie){this.enable=ie}},{key:"initVirtualParams",value:(je=J(V().mark(function ie(W){var ae,j;return V().wrap(function(te){for(;;)switch(te.prev=te.next){case 0:if(ae=W.img,j=W.type,this.type=j==="blur"?0:1,!ae){te.next=5;break}return te.next=5,this.setBackground(ae);case 5:this.type===0?this.initBackgroundBlurProgram():this.type===1&&this.initVirtualBackgroundProgram();case 6:case"end":return te.stop()}},ie,this)})),function(ie){return je.apply(this,arguments)})},{key:"setBackground",value:(be=J(V().mark(function ie(W){var ae=this;return V().wrap(function(j){for(;;)switch(j.prev=j.next){case 0:return j.abrupt("return",new Promise(function(te,Se){try{W instanceof HTMLImageElement?(ae.img=W,te()):(ae.tempImg.onload=function(){ae.imgCropCanvasCtx.drawImage(ae.tempImg,0,0,ae.width,ae.height);var oe=ae.imgCropCanvas.toDataURL("image/jpeg",.5);ae.img.src=oe,ae.imgMap.set(W,oe),te()},ae.imgMap.has(W)?(ae.img.src=ae.imgMap.get(W),te()):ae.tempImg.src=W)}catch(oe){Se("please check the img parameter!")}}));case 1:case"end":return j.stop()}},ie)})),function(ie){return be.apply(this,arguments)})},{key:"setRect",value:function(ie,W){this.width=ie,this.height=W,this.imgCropCanvas.width=this.width,this.imgCropCanvas.height=this.height,this.imgCropCanvasCtx.fillStyle="#000",this.imgCropCanvasCtx.fillRect(0,0,this.width,this.height),this.img.width=ie,this.img.height=W,this.img.src=this.imgCropCanvas.toDataURL("image/jpeg",.5),this.tempImg.width=ie,this.tempImg.height=W}},{key:"createGL",value:function(ie){var W=ie.getContext("webgl2");if(W||ie.getContext("experimental-webgl",{preserveDrawingBuffer:!0}),!W)throw"Couldn't get WebGL context";return W}},{key:"setRectangle",value:function(ie,W,ae,j,te){var Se=W,oe=W+j,_e=ae,Oe=ae+te;ie.bufferData(ie.ARRAY_BUFFER,new Float32Array([Se,_e,oe,_e,Se,Oe,Se,Oe,oe,_e,oe,Oe]),ie.STATIC_DRAW)}},{key:"startVirtual",value:function(ie){this.frameRate=ie,this.selfieSegmentation.setOptions({selfieMode:!1,modelSelection:0,effect:"background"}),this.type===0?this.selfieSegmentation.onResults(this.onBlurResult.bind(this)):this.selfieSegmentation.onResults(this.onVirtualResults.bind(this)),this.startTime=new Date().getTime(),this.isRender=!0,this.enable=!0,this.installEvents()}},{key:"render",value:(ke=J(V().mark(function ie(){var W,ae,j=this;return V().wrap(function(te){for(;;)switch(te.prev=te.next){case 0:if(this.isRender){te.next=2;break}return te.abrupt("return");case 2:if(!((W=new Date().getTime())-this.startTime>1e3/this.frameRate)){te.next=12;break}if(!this.enable||this.video.readyState!==this.video.HAVE_ENOUGH_DATA){te.next=7;break}return te.next=7,this.selfieSegmentation.send({image:this.video});case 7:ae=W-this.startTime,this.processingTimes.push(ae),this.processingTimes.length>100&&this.processingTimes.shift(),this.frameCount>=100?this.processingTimes.reduce(function(Se,oe){return Se+oe},0)/this.processingTimes.length>100&&(console.log("frameRate is too low, trigger overload."),this.onoverload&&typeof this.onoverload=="function"&&this.onoverload(),this.frameCount=0,this.processingTimes=[]):this.frameCount+=1,this.startTime=W;case 12:document.hidden?(this.timeoutId&&clearTimeout(this.timeoutId),this.rafId&&cancelAnimationFrame(this.rafId),this.timeoutId=setTimeout(function(){j.render()},1e3/this.frameRate)):(this.timeoutId&&clearTimeout(this.timeoutId),this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.render.bind(this)));case 13:case"end":return te.stop()}},ie,this)})),function(){return ke.apply(this,arguments)})},{key:"installEvents",value:function(){window.addEventListener("visibilitychange",this.render.bind(this))}},{key:"uninstallEvents",value:function(){window.addEventListener("visibilitychange",this.render.bind(this))}},{key:"reset",value:function(){this.isRender=!1,cancelAnimationFrame(this.rafId),clearTimeout(this.timeoutId),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT),this.gl.deleteProgram(this.program),this.gl.deleteTexture(this.sourceTexture),this.uninstallEvents()}},{key:"destroy",value:function(){this.reset(),this.gl.deleteBuffer(this.positionBuffer)}},{key:"initBackgroundBlurProgram",value:function(){var ie=this.gl,W={vertexShaderSource:`#version 300 es
|
|
109
109
|
|
|
110
110
|
// an attribute is an input (in) to a vertex shader.
|
|
111
111
|
// It will receive data from a buffer
|
|
@@ -284,7 +284,7 @@ b=`+P+":"+k+`\r
|
|
|
284
284
|
|
|
285
285
|
outColor = (1.0 - color0.r) * gaussianBlur + color0.r * color1;
|
|
286
286
|
}
|
|
287
|
-
`},ae=W.vertexShaderSource,
|
|
287
|
+
`},ae=W.vertexShaderSource,j=W.fragmentShaderSource;this.program=$e(ie,[ae,j]);var te=ie.getAttribLocation(this.program,"position"),Se=ie.getAttribLocation(this.program,"texCoord");this.blurParams.resolutionLocation=ie.getUniformLocation(this.program,"resolution"),this.blurParams.imageLocation0=ie.getUniformLocation(this.program,"u_image0"),this.blurParams.imageLocation1=ie.getUniformLocation(this.program,"u_image1"),ie.bindVertexArray(this.vao),ie.bindBuffer(ie.ARRAY_BUFFER,this.positionBuffer),ie.enableVertexAttribArray(te),ie.vertexAttribPointer(te,2,ie.FLOAT,!1,0,0),ie.bindBuffer(ie.ARRAY_BUFFER,ie.createBuffer()),ie.bufferData(ie.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),ie.STATIC_DRAW),ie.enableVertexAttribArray(Se),ie.vertexAttribPointer(Se,2,ie.FLOAT,!1,0,0)}},{key:"onBlurResult",value:function(ie){for(var W=ie.segmentationMask,ae=ie.image,j=this.gl,te=[],Se=[W,ae],oe=0;oe<2;++oe){var _e=j.createTexture();j.bindTexture(j.TEXTURE_2D,_e),j.texParameteri(j.TEXTURE_2D,j.TEXTURE_WRAP_S,j.CLAMP_TO_EDGE),j.texParameteri(j.TEXTURE_2D,j.TEXTURE_WRAP_T,j.CLAMP_TO_EDGE),j.texParameteri(j.TEXTURE_2D,j.TEXTURE_MIN_FILTER,j.NEAREST),j.texParameteri(j.TEXTURE_2D,j.TEXTURE_MAG_FILTER,j.NEAREST),j.texImage2D(j.TEXTURE_2D,0,j.RGBA,j.RGBA,j.UNSIGNED_BYTE,Se[oe]),te.push(_e)}j.bindBuffer(j.ARRAY_BUFFER,this.positionBuffer),this.setRectangle(j,0,0,this.width,this.height),j.viewport(0,0,this.width,this.height),j.clearColor(0,0,0,0),j.clear(j.COLOR_BUFFER_BIT|j.DEPTH_BUFFER_BIT),j.useProgram(this.program),j.bindVertexArray(this.vao);var Oe=this.blurParams,Jt=Oe.resolutionLocation,Zt=Oe.imageLocation0,Qe=Oe.imageLocation1;j.uniform2f(Jt,this.width,this.height),j.uniform1i(Zt,0),j.uniform1i(Qe,1),j.activeTexture(j.TEXTURE0),j.bindTexture(j.TEXTURE_2D,te[0]),j.activeTexture(j.TEXTURE1),j.bindTexture(j.TEXTURE_2D,te[1]),j.drawArrays(j.TRIANGLES,0,6)}},{key:"initVirtualBackgroundProgram",value:function(){var ie=this.gl,W={vertexShaderSource:`#version 300 es
|
|
288
288
|
|
|
289
289
|
// an attribute is an input (in) to a vertex shader.
|
|
290
290
|
// It will receive data from a buffer
|
|
@@ -564,22 +564,22 @@ b=`+P+":"+k+`\r
|
|
|
564
564
|
outColor.rgb = (maskValue * color1 + (1.0 - maskValue) * color2).rgb;
|
|
565
565
|
outColor.a = 1.0;
|
|
566
566
|
}
|
|
567
|
-
`},ae=W.vertexShaderSource,B=W.fragmentShaderSource;this.program=$e(ie,[ae,B]);var te=ie.getAttribLocation(this.program,"position"),Se=ie.getAttribLocation(this.program,"texCoord"),oe=this.program;this.virtualParams={resolutionLocation:ie.getUniformLocation(oe,"resolution"),imageLocation0:ie.getUniformLocation(oe,"u_image0"),imageLocation1:ie.getUniformLocation(oe,"u_image1"),imageLocation2:ie.getUniformLocation(oe,"u_image2"),imageOldLocation0:ie.getUniformLocation(oe,"u_image_old0"),imageOldLocation1:ie.getUniformLocation(oe,"u_image_old1"),imageOldLocation2:ie.getUniformLocation(oe,"u_image_old2"),imageOldLocation3:ie.getUniformLocation(oe,"u_image_old3"),imageOldLocation4:ie.getUniformLocation(oe,"u_image_old4"),imageOldLocation5:ie.getUniformLocation(oe,"u_image_old5")},this.virtualLocation={postProcessTypeLocation:ie.getUniformLocation(oe,"PostProcessType"),sigmaLocation:ie.getUniformLocation(oe,"SIGMA"),bSigmaLocation:ie.getUniformLocation(oe,"BSIGMA"),mSizeLocation:ie.getUniformLocation(oe,"MSIZE"),overlayTypeLocation:ie.getUniformLocation(oe,"overlayType"),hardThresholdLocation:ie.getUniformLocation(oe,"hardThreshold"),sigmoidClipLocation:ie.getUniformLocation(oe,"sigmoidClip")},ie.bindVertexArray(this.vao),ie.bindBuffer(ie.ARRAY_BUFFER,this.positionBuffer),ie.enableVertexAttribArray(te),ie.vertexAttribPointer(te,2,ie.FLOAT,!1,0,0),ie.bindBuffer(ie.ARRAY_BUFFER,ie.createBuffer()),ie.bufferData(ie.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),ie.STATIC_DRAW),ie.enableVertexAttribArray(Se),ie.vertexAttribPointer(Se,2,ie.FLOAT,!1,0,0)}},{key:"onVirtualResults",value:function(ie){var W=ie.segmentationMask,ae=ie.image,B=this.gl;this.maskBuffer.length<3&&this.maskBuffer.push(W,W,W),this.frameBuffer.length<3&&this.frameBuffer.push(ae,ae,ae);for(var te=[],Se=[W,ae,this.img,this.maskBuffer[0],this.maskBuffer[1],this.maskBuffer[2],this.frameBuffer[0],this.frameBuffer[1],this.frameBuffer[2]],oe=0;oe<Se.length;++oe)this.sourceTexture=B.createTexture(),B.bindTexture(B.TEXTURE_2D,this.sourceTexture),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.NEAREST),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.NEAREST),B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,Se[oe]),te.push(this.sourceTexture);B.bindBuffer(B.ARRAY_BUFFER,this.positionBuffer),this.setRectangle(B,0,0,this.width,this.height),B.viewport(0,0,this.width,this.height),B.clearColor(0,0,0,0),B.clear(B.COLOR_BUFFER_BIT|B.DEPTH_BUFFER_BIT),B.useProgram(this.program),B.bindVertexArray(this.vao);var _e=this.virtualParams,Oe=_e.resolutionLocation,Jt=_e.imageLocation0,Zt=_e.imageLocation1,Qe=_e.imageLocation2,Kt=_e.imageOldLocation0,ht=_e.imageOldLocation1,Jn=_e.imageOldLocation2,ur=_e.imageOldLocation3,Ht=_e.imageOldLocation4,An=_e.imageOldLocation5;B.uniform2f(Oe,this.width,this.height);var et=this.virtualOption,zt=et.postProcess,Kn=et.kSize,de=et.sigma,le=et.bSigma,Ne=et.overlayType,Je=et.hardThreshold,De=et.sigmoidClip,lt=this.virtualLocation,it=lt.postProcessTypeLocation,Vt=lt.mSizeLocation,en=lt.sigmaLocation,pe=lt.bSigmaLocation,Lt=lt.overlayTypeLocation,qt=lt.hardThresholdLocation,lr=lt.sigmoidClipLocation;B.uniform1i(it,zt),B.uniform1i(Vt,Kn),B.uniform1f(en,de),B.uniform1f(pe,le),B.uniform1i(Lt,Ne),B.uniform1f(qt,Je),B.uniform1i(lr,De),B.uniform1i(Jt,0),B.uniform1i(Zt,1),B.uniform1i(Qe,2),B.uniform1i(Kt,3),B.uniform1i(ht,4),B.uniform1i(Jn,5),B.uniform1i(ur,6),B.uniform1i(Ht,7),B.uniform1i(An,8),B.activeTexture(B.TEXTURE0),B.bindTexture(B.TEXTURE_2D,te[0]),B.activeTexture(B.TEXTURE1),B.bindTexture(B.TEXTURE_2D,te[1]),B.activeTexture(B.TEXTURE2),B.bindTexture(B.TEXTURE_2D,te[2]),B.activeTexture(B.TEXTURE3),B.bindTexture(B.TEXTURE_2D,te[3]),B.activeTexture(B.TEXTURE4),B.bindTexture(B.TEXTURE_2D,te[4]),B.activeTexture(B.TEXTURE5),B.bindTexture(B.TEXTURE_2D,te[5]),B.activeTexture(B.TEXTURE6),B.bindTexture(B.TEXTURE_2D,te[6]),B.activeTexture(B.TEXTURE7),B.bindTexture(B.TEXTURE_2D,te[7]),B.activeTexture(B.TEXTURE8),B.bindTexture(B.TEXTURE_2D,te[8]),B.drawArrays(B.TRIANGLES,0,6),this.maskBuffer[0]=this.maskBuffer[1],this.maskBuffer[1]=this.maskBuffer[2],this.maskBuffer[2]=W,this.frameBuffer[0]=this.frameBuffer[1],this.frameBuffer[1]=this.frameBuffer[2],this.frameBuffer[2]=ae}}]),se}(),zo=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};(function(){var se;function Te(l){var m=0;return function(){return m<l.length?{done:!1,value:l[m++]}:{done:!0}}}var be=typeof Object.defineProperties=="function"?Object.defineProperty:function(l,m,S){return l==Array.prototype||l==Object.prototype||(l[m]=S.value),l},Be=function(l){l=[(typeof globalThis=="undefined"?"undefined":X(globalThis))=="object"&&globalThis,l,(typeof window=="undefined"?"undefined":X(window))=="object"&&window,(typeof self=="undefined"?"undefined":X(self))=="object"&&self,X(zo)=="object"&&zo];for(var m=0;m<l.length;++m){var S=l[m];if(S&&S.Math==Math)return S}throw Error("Cannot find global object")}(this);function ze(l,m){if(m)e:{var S=Be;l=l.split(".");for(var x=0;x<l.length-1;x++){var D=l[x];if(!(D in S))break e;S=S[D]}(m=m(x=S[l=l[l.length-1]]))!=x&&m!=null&&be(S,l,{configurable:!0,writable:!0,value:m})}}function ie(l){return(l={next:l})[Symbol.iterator]=function(){return this},l}function W(l){var m=typeof Symbol!="undefined"&&Symbol.iterator&&l[Symbol.iterator];return m?m.call(l):{next:Te(l)}}function ae(l){if(!(l instanceof Array)){l=W(l);for(var m,S=[];!(m=l.next()).done;)S.push(m.value);l=S}return l}ze("Symbol",function(l){function m(D,R){this.h=D,be(this,"description",{configurable:!0,writable:!0,value:R})}if(l)return l;m.prototype.toString=function(){return this.h};var S="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",x=0;return function D(R){if(this instanceof D)throw new TypeError("Symbol is not a constructor");return new m(S+(R||"")+"_"+x++,R)}}),ze("Symbol.iterator",function(l){if(l)return l;l=Symbol("Symbol.iterator");for(var m="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),S=0;S<m.length;S++){var x=Be[m[S]];typeof x=="function"&&typeof x.prototype[l]!="function"&&be(x.prototype,l,{configurable:!0,writable:!0,value:function(){return ie(Te(this))}})}return l});var B=typeof Object.assign=="function"?Object.assign:function(l,m){for(var S=1;S<arguments.length;S++){var x=arguments[S];if(x)for(var D in x)Object.prototype.hasOwnProperty.call(x,D)&&(l[D]=x[D])}return l};ze("Object.assign",function(l){return l||B});var te,Se=typeof Object.create=="function"?Object.create:function(l){function m(){}return m.prototype=l,new m};if(typeof Object.setPrototypeOf=="function")te=Object.setPrototypeOf;else{var oe;e:{var _e={};try{_e.__proto__={a:!0},oe=_e.a;break e}catch(l){}oe=!1}te=oe?function(l,m){if(l.__proto__=m,l.__proto__!==m)throw new TypeError(l+" is not extensible");return l}:null}var Oe=te;function Jt(l,m){if(l.prototype=Se(m.prototype),l.prototype.constructor=l,Oe)Oe(l,m);else for(var S in m)if(S!="prototype")if(Object.defineProperties){var x=Object.getOwnPropertyDescriptor(m,S);x&&Object.defineProperty(l,S,x)}else l[S]=m[S];l.za=m.prototype}function Zt(){this.m=!1,this.j=null,this.i=void 0,this.h=1,this.v=this.s=0,this.l=null}function Qe(l){if(l.m)throw new TypeError("Generator is already running");l.m=!0}function Kt(l,m){l.l={ma:m,na:!0},l.h=l.s||l.v}function ht(l,m,S){return l.h=S,{value:m}}function Jn(l){this.h=new Zt,this.i=l}function ur(l,m,S,x){try{var D=m.call(l.h.j,S);if(!(D instanceof Object))throw new TypeError("Iterator result "+D+" is not an object");if(!D.done)return l.h.m=!1,D;var R=D.value}catch(M){return l.h.j=null,Kt(l.h,M),Ht(l)}return l.h.j=null,x.call(l.h,R),Ht(l)}function Ht(l){for(;l.h.h;)try{var m=l.i(l.h);if(m)return l.h.m=!1,{value:m.value,done:!1}}catch(S){l.h.i=void 0,Kt(l.h,S)}if(l.h.m=!1,l.h.l){if(m=l.h.l,l.h.l=null,m.na)throw m.ma;return{value:m.return,done:!0}}return{value:void 0,done:!0}}function An(l){this.next=function(m){return Qe(l.h),l.h.j?m=ur(l,l.h.j.next,m,l.h.u):(l.h.u(m),m=Ht(l)),m},this.throw=function(m){return Qe(l.h),l.h.j?m=ur(l,l.h.j.throw,m,l.h.u):(Kt(l.h,m),m=Ht(l)),m},this.return=function(m){return function(S,x){Qe(S.h);var D=S.h.j;return D?ur(S,"return"in D?D.return:function(R){return{value:R,done:!0}},x,S.h.return):(S.h.return(x),Ht(S))}(l,m)},this[Symbol.iterator]=function(){return this}}function et(l){return function(m){function S(D){return m.next(D)}function x(D){return m.throw(D)}return new Promise(function(D,R){(function M(G){G.done?D(G.value):Promise.resolve(G.value).then(S,x).then(M,R)})(m.next())})}(new An(new Jn(l)))}function zt(l){return l||Array.prototype.fill}Zt.prototype.u=function(l){this.i=l},Zt.prototype.return=function(l){this.l={return:l},this.h=this.v},ze("Promise",function(l){function m(M){this.i=0,this.j=void 0,this.h=[],this.u=!1;var G=this.l();try{M(G.resolve,G.reject)}catch(Q){G.reject(Q)}}function S(){this.h=null}function x(M){return M instanceof m?M:new m(function(G){G(M)})}if(l)return l;S.prototype.i=function(M){if(this.h==null){this.h=[];var G=this;this.j(function(){G.m()})}this.h.push(M)};var D=Be.setTimeout;S.prototype.j=function(M){D(M,0)},S.prototype.m=function(){for(;this.h&&this.h.length;){var M=this.h;this.h=[];for(var G=0;G<M.length;++G){var Q=M[G];M[G]=null;try{Q()}catch(he){this.l(he)}}}this.h=null},S.prototype.l=function(M){this.j(function(){throw M})},m.prototype.l=function(){function M(he){return function(fe){Q||(Q=!0,he.call(G,fe))}}var G=this,Q=!1;return{resolve:M(this.I),reject:M(this.m)}},m.prototype.I=function(M){if(M===this)this.m(new TypeError("A Promise cannot resolve to itself"));else if(M instanceof m)this.L(M);else{e:switch(X(M)){case"object":var G=M!=null;break e;case"function":G=!0;break e;default:G=!1}G?this.F(M):this.s(M)}},m.prototype.F=function(M){var G=void 0;try{G=M.then}catch(Q){return void this.m(Q)}typeof G=="function"?this.M(G,M):this.s(M)},m.prototype.m=function(M){this.v(2,M)},m.prototype.s=function(M){this.v(1,M)},m.prototype.v=function(M,G){if(this.i!=0)throw Error("Cannot settle("+M+", "+G+"): Promise already settled in state"+this.i);this.i=M,this.j=G,this.i===2&&this.K(),this.H()},m.prototype.K=function(){var M=this;D(function(){if(M.D()){var G=Be.console;G!==void 0&&G.error(M.j)}},1)},m.prototype.D=function(){if(this.u)return!1;var M=Be.CustomEvent,G=Be.Event,Q=Be.dispatchEvent;return Q===void 0||(typeof M=="function"?M=new M("unhandledrejection",{cancelable:!0}):typeof G=="function"?M=new G("unhandledrejection",{cancelable:!0}):(M=Be.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,M),M.promise=this,M.reason=this.j,Q(M))},m.prototype.H=function(){if(this.h!=null){for(var M=0;M<this.h.length;++M)R.i(this.h[M]);this.h=null}};var R=new S;return m.prototype.L=function(M){var G=this.l();M.T(G.resolve,G.reject)},m.prototype.M=function(M,G){var Q=this.l();try{M.call(G,Q.resolve,Q.reject)}catch(he){Q.reject(he)}},m.prototype.then=function(M,G){function Q(Re,me){return typeof Re=="function"?function(Le){try{he(Re(Le))}catch(je){fe(je)}}:me}var he,fe,we=new m(function(Re,me){he=Re,fe=me});return this.T(Q(M,he),Q(G,fe)),we},m.prototype.catch=function(M){return this.then(void 0,M)},m.prototype.T=function(M,G){function Q(){switch(he.i){case 1:M(he.j);break;case 2:G(he.j);break;default:throw Error("Unexpected state: "+he.i)}}var he=this;this.h==null?R.i(Q):this.h.push(Q),this.u=!0},m.resolve=x,m.reject=function(M){return new m(function(G,Q){Q(M)})},m.race=function(M){return new m(function(G,Q){for(var he=W(M),fe=he.next();!fe.done;fe=he.next())x(fe.value).T(G,Q)})},m.all=function(M){var G=W(M),Q=G.next();return Q.done?x([]):new m(function(he,fe){function we(Le){return function(je){Re[Le]=je,--me==0&&he(Re)}}var Re=[],me=0;do Re.push(void 0),me++,x(Q.value).T(we(Re.length-1),fe),Q=G.next();while(!Q.done)})},m}),ze("Array.prototype.keys",function(l){return l||function(){return function(m,S){m instanceof String&&(m+="");var x=0,D=!1,R={next:function(){if(!D&&x<m.length){var M=x++;return{value:S(M,m[M]),done:!1}}return D=!0,{done:!0,value:void 0}}};return R[Symbol.iterator]=function(){return R},R}(this,function(m){return m})}}),ze("Array.prototype.fill",function(l){return l||function(m,S,x){var D=this.length||0;for(0>S&&(S=Math.max(0,D+S)),(x==null||x>D)&&(x=D),0>(x=Number(x))&&(x=Math.max(0,D+x)),S=Number(S||0);S<x;S++)this[S]=m;return this}}),ze("Int8Array.prototype.fill",zt),ze("Uint8Array.prototype.fill",zt),ze("Uint8ClampedArray.prototype.fill",zt),ze("Int16Array.prototype.fill",zt),ze("Uint16Array.prototype.fill",zt),ze("Int32Array.prototype.fill",zt),ze("Uint32Array.prototype.fill",zt),ze("Float32Array.prototype.fill",zt),ze("Float64Array.prototype.fill",zt),ze("Object.is",function(l){return l||function(m,S){return m===S?m!==0||1/m==1/S:m!=m&&S!=S}}),ze("Array.prototype.includes",function(l){return l||function(m,S){var x=this;x instanceof String&&(x=String(x));var D=x.length;for(0>(S=S||0)&&(S=Math.max(S+D,0));S<D;S++){var R=x[S];if(R===m||Object.is(R,m))return!0}return!1}}),ze("String.prototype.includes",function(l){return l||function(m,S){if(this==null)throw new TypeError("The 'this' value for String.prototype.includes must not be null or undefined");if(m instanceof RegExp)throw new TypeError("First argument to String.prototype.includes must not be a regular expression");return this.indexOf(m,S||0)!==-1}});var Kn=this||self;function de(l,m){l=l.split(".");var S,x=Kn;for((l[0]in x)||x.execScript===void 0||x.execScript("var "+l[0]);l.length&&(S=l.shift());)l.length||m===void 0?x=x[S]&&x[S]!==Object.prototype[S]?x[S]:x[S]={}:x[S]=m}function le(l){var m;return(m=Kn.navigator)&&(m=m.userAgent)||(m=""),m.indexOf(l)!=-1}var Ne=Array.prototype.map?function(l,m){return Array.prototype.map.call(l,m,void 0)}:function(l,m){for(var S=l.length,x=Array(S),D=typeof l=="string"?l.split(""):l,R=0;R<S;R++)R in D&&(x[R]=m.call(void 0,D[R],R,l));return x},Je={},De=null;function lt(l){var m=l.length,S=3*m/4;S%3?S=Math.floor(S):"=.".indexOf(l[m-1])!=-1&&(S="=.".indexOf(l[m-2])!=-1?S-2:S-1);var x=new Uint8Array(S),D=0;return function(R,M){function G(me){for(;Q<R.length;){var Le=R.charAt(Q++),je=De[Le];if(je!=null)return je;if(!/^[\s\xa0]*$/.test(Le))throw Error("Unknown base64 encoding at char: "+Le)}return me}it();for(var Q=0;;){var he=G(-1),fe=G(0),we=G(64),Re=G(64);if(Re===64&&he===-1)break;M(he<<2|fe>>4),we!=64&&(M(fe<<4&240|we>>2),Re!=64&&M(we<<6&192|Re))}}(l,function(R){x[D++]=R}),D!==S?x.subarray(0,D):x}function it(){if(!De){De={};for(var l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),m=["+/=","+/","-_=","-_.","-_"],S=0;5>S;S++){var x=l.concat(m[S].split(""));Je[S]=x;for(var D=0;D<x.length;D++){var R=x[D];De[R]===void 0&&(De[R]=D)}}}}var Vt=typeof Uint8Array!="undefined",en=!(le("Trident")||le("MSIE"))&&typeof Kn.btoa=="function";function pe(l){if(!en){var m;m===void 0&&(m=0),it(),m=Je[m];for(var S=Array(Math.floor(l.length/3)),x=m[64]||"",D=0,R=0;D<l.length-2;D+=3){var M=l[D],G=l[D+1],Q=l[D+2],he=m[M>>2];M=m[(3&M)<<4|G>>4],G=m[(15&G)<<2|Q>>6],Q=m[63&Q],S[R++]=he+M+G+Q}switch(he=0,Q=x,l.length-D){case 2:Q=m[(15&(he=l[D+1]))<<2]||x;case 1:l=l[D],S[R]=m[l>>2]+m[(3&l)<<4|he>>4]+Q+x}return S.join("")}for(m="";10240<l.length;)m+=String.fromCharCode.apply(null,l.subarray(0,10240)),l=l.subarray(10240);return m+=String.fromCharCode.apply(null,l),btoa(m)}var Lt,qt=RegExp("[-_.]","g");function lr(l){switch(l){case"-":return"+";case"_":return"/";case".":return"=";default:return""}}function wi(l){if(!en)return lt(l);qt.test(l)&&(l=l.replace(qt,lr)),l=atob(l);for(var m=new Uint8Array(l.length),S=0;S<l.length;S++)m[S]=l.charCodeAt(S);return m}function yn(){return Lt||(Lt=new Uint8Array(0))}var Ct={},Dd=typeof Uint8Array.prototype.slice=="function",Ot=0,pt=0;function Oc(l){var m=0>l,S=(l=Math.abs(l))>>>0;l=Math.floor((l-S)/4294967296),m&&(m=(S=W(va(S,l))).next().value,l=S.next().value,S=m),Ot=S>>>0,pt=l>>>0}var Mc,Sn=typeof BigInt=="function";function va(l,m){return m=~m,l?l=1+~l:m+=1,[l,m]}function Ei(l,m){this.i=l>>>0,this.h=m>>>0}function Nc(l){if(!l)return Mc||(Mc=new Ei(0,0));if(!/^-?\d+$/.test(l))return null;if(16>l.length)Oc(Number(l));else if(Sn)l=BigInt(l),Ot=Number(l&BigInt(4294967295))>>>0,pt=Number(l>>BigInt(32)&BigInt(4294967295));else{var m=+(l[0]==="-");pt=Ot=0;for(var S=l.length,x=m,D=(S-m)%6+m;D<=S;x=D,D+=6)x=Number(l.slice(x,D)),pt*=1e6,4294967296<=(Ot=1e6*Ot+x)&&(pt+=Ot/4294967296|0,Ot%=4294967296);m&&(l=(m=W(va(Ot,pt))).next().value,m=m.next().value,Ot=l,pt=m)}return new Ei(Ot,pt)}function at(l,m){return Error("Invalid wire type: "+l+" (at position "+m+")")}function ga(){return Error("Failed to read varint, encoding is invalid.")}function Vc(l,m){return Error("Tried to read past the end of the data "+m+" > "+l)}function ot(){throw Error("Invalid UTF8")}function _a(l,m){return m=String.fromCharCode.apply(null,m),l==null?m:l+m}var Wo,Uc,Pn,bn=void 0,qn=typeof TextDecoder!="undefined",Bc=typeof TextEncoder!="undefined";function ya(l){if(l!==Ct)throw Error("illegal external caller")}function Xr(l,m){if(ya(m),this.V=l,l!=null&&l.length===0)throw Error("ByteString should be constructed with non-empty values")}function Sa(){return Pn||(Pn=new Xr(null,Ct))}function Jo(l){ya(Ct);var m=l.V;return(m=m==null||Vt&&m!=null&&m instanceof Uint8Array?m:typeof m=="string"?wi(m):null)==null?m:l.V=m}function Ko(l,m){this.i=null,this.m=!1,this.h=this.j=this.l=0,dr(this,l,m)}function dr(l,m,S){S=S===void 0?{}:S,l.S=S.S!==void 0&&S.S,m&&(m=function(x){if(typeof x=="string")return{buffer:wi(x),C:!1};if(Array.isArray(x))return{buffer:new Uint8Array(x),C:!1};if(x.constructor===Uint8Array)return{buffer:x,C:!1};if(x.constructor===ArrayBuffer)return{buffer:new Uint8Array(x),C:!1};if(x.constructor===Xr)return{buffer:Jo(x)||yn(),C:!0};if(x instanceof Uint8Array)return{buffer:new Uint8Array(x.buffer,x.byteOffset,x.byteLength),C:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}(m),l.i=m.buffer,l.m=m.C,l.l=0,l.j=l.i.length,l.h=l.l)}function hr(l,m){if(l.h=m,m>l.j)throw Vc(l.j,m)}function Ci(l){var m=l.i,S=l.h,x=m[S++],D=127&x;if(128&x&&(D|=(127&(x=m[S++]))<<7,128&x&&(D|=(127&(x=m[S++]))<<14,128&x&&(D|=(127&(x=m[S++]))<<21,128&x&&(D|=(x=m[S++])<<28,128&x&&128&m[S++]&&128&m[S++]&&128&m[S++]&&128&m[S++]&&128&m[S++])))))throw ga();return hr(l,S),D}function qo(l,m){if(0>m)throw Error("Tried to read a negative byte length: "+m);var S=l.h,x=S+m;if(x>l.j)throw Vc(m,l.j-S);return l.h=x,S}Ko.prototype.reset=function(){this.h=this.l};var Xo=[];function Qo(){this.h=[]}function jc(l,m,S){for(;0<S||127<m;)l.h.push(127&m|128),m=(m>>>7|S<<25)>>>0,S>>>=7;l.h.push(m)}function Pr(l,m){for(;127<m;)l.h.push(127&m|128),m>>>=7;l.h.push(m)}function Yo(l,m){if(Xo.length){var S=Xo.pop();dr(S,l,m),l=S}else l=new Ko(l,m);this.h=l,this.j=this.h.h,this.i=this.l=-1,this.setOptions(m)}function Ri(l){var m=l.h;if(m.h==m.j)return!1;l.j=l.h.h;var S=Ci(l.h)>>>0;if(m=S>>>3,!(0<=(S&=7)&&5>=S))throw at(S,l.j);if(1>m)throw Error("Invalid field number: "+m+" (at position "+l.j+")");return l.l=m,l.i=S,!0}function ba(l){switch(l.i){case 0:if(l.i!=0)ba(l);else e:{for(var m=(l=l.h).h,S=m+10,x=l.i;m<S;)if((128&x[m++])==0){hr(l,m);break e}throw ga()}break;case 1:hr(l=l.h,l.h+8);break;case 2:l.i!=2?ba(l):(m=Ci(l.h)>>>0,hr(l=l.h,l.h+m));break;case 5:hr(l=l.h,l.h+4);break;case 3:for(m=l.l;;){if(!Ri(l))throw Error("Unmatched start-group tag: stream EOF");if(l.i==4){if(l.l!=m)throw Error("Unmatched end-group tag");break}ba(l)}break;default:throw at(l.i,l.j)}}Qo.prototype.length=function(){return this.h.length},Qo.prototype.end=function(){var l=this.h;return this.h=[],l},Yo.prototype.setOptions=function(l){l=l===void 0?{}:l,this.ca=l.ca!==void 0&&l.ca},Yo.prototype.reset=function(){this.h.reset(),this.j=this.h.h,this.i=this.l=-1};var Xn=[];function Ld(){this.j=[],this.i=0,this.h=new Qo}function Qr(l,m){m.length!==0&&(l.j.push(m),l.i+=m.length)}var Qn=typeof Symbol=="function"&&X(Symbol())==="symbol"?Symbol():void 0;function Ut(l,m){return Qn?l[Qn]|=m:l.A!==void 0?l.A|=m:(Object.defineProperties(l,{A:{value:m,configurable:!0,writable:!0,enumerable:!1}}),m)}function Fc(l,m){Qn?l[Qn]&&(l[Qn]&=~m):l.A!==void 0&&(l.A&=~m)}function wt(l){var m;return(m=Qn?l[Qn]:l.A)==null?0:m}function Xt(l,m){Qn?l[Qn]=m:l.A!==void 0?l.A=m:Object.defineProperties(l,{A:{value:m,configurable:!0,writable:!0,enumerable:!1}})}function Ai(l){return Ut(l,1),l}function $o(l,m){Xt(m,-51&(0|l))}function Yr(l,m){Xt(m,-41&(18|l))}var Zo={};function Dr(l){return l!==null&&X(l)==="object"&&!Array.isArray(l)&&l.constructor===Object}var $r,ka,Ta=[];function es(l){if(2&wt(l.o))throw Error("Cannot mutate an immutable Message")}function xa(l){var m=l.length;(m=m?l[m-1]:void 0)&&Dr(m)?m.g=1:(m={},l.push((m.g=1,m)))}function Ia(l){var m=l.i+l.G;return l.B||(l.B=l.o[m]={})}function pn(l,m){return m===-1?null:m>=l.i?l.B?l.B[m]:void 0:l.o[m+l.G]}function Dn(l,m,S,x){es(l),Pi(l,m,S,x)}function Pi(l,m,S,x){l.j&&(l.j=void 0),m>=l.i||x?Ia(l)[m]=S:(l.o[m+l.G]=S,(l=l.B)&&m in l&&delete l[m])}function Bt(l,m,S,x){var D=pn(l,m);Array.isArray(D)||(D=$r);var R=wt(D);if(1&R||Ai(D),x)2&R||Ut(D,2),1&S||Object.freeze(D);else{x=!(2&S);var M=2&R;1&S||!M?x&&16&R&&!M&&Fc(D,16):Pi(l,m,D=Ai(Array.prototype.slice.call(D)))}return D}function ts(l,m){var S=pn(l,m),x=S==null?S:typeof S=="number"||S==="NaN"||S==="Infinity"||S==="-Infinity"?Number(S):void 0;return x!=null&&x!==S&&Pi(l,m,x),x}function Gc(l,m,S,x,D){l.h||(l.h={});var R=l.h[S],M=Bt(l,S,3,D);if(!R){var G=M;R=[];var Q=!!(16&wt(l.o));M=!!(2&wt(G));var he=G;!D&&M&&(G=Array.prototype.slice.call(G));for(var fe=M,we=0;we<G.length;we++){var Re=G[we],me=m,Le=!1;if(Le=Le!==void 0&&Le,(Re=Array.isArray(Re)?new me(Re):Le?new me:void 0)!==void 0){var je=Le=wt(me=Re.o);M&&(je|=2),Q&&(je|=16),je!=Le&&Xt(me,je),me=je,fe=fe||!!(2&me),R.push(Re)}}return l.h[S]=R,m=33|(Q=wt(G)),Q!=(m=fe?-9&m:8|m)&&(fe=G,Object.isFrozen(fe)&&(fe=Array.prototype.slice.call(fe)),Xt(fe,m),G=fe),he!==G&&Pi(l,S,G),(D||x&&M)&&Ut(R,2),x&&Object.freeze(R),R}return D||(D=Object.isFrozen(R),x&&!D?Object.freeze(R):!x&&D&&(R=Array.prototype.slice.call(R),l.h[S]=R)),R}function xt(l,m,S){var x=!!(2&wt(l.o));if(m=Gc(l,m,S,x,x),l=Bt(l,S,3,x),!(x||8&wt(l))){for(x=0;x<m.length;x++){if(2&wt((S=m[x]).o)){var D=Zr(S,!1);D.j=S}else D=S;S!==D&&(m[x]=D,l[x]=D.o)}Ut(l,8)}return m}function Ln(l,m,S){if(S!=null&&typeof S!="number")throw Error("Value of float/double field must be a number|null|undefined, found "+X(S)+": "+S);Dn(l,m,S)}function Hc(l,m,S,x,D){es(l);var R=Gc(l,S,m,!1,!1);return S=x!=null?x:new S,l=Bt(l,m,2,!1),D!=null?(R.splice(D,0,S),l.splice(D,0,S.o)):(R.push(S),l.push(S.o)),S.C()&&Fc(l,8),S}function wa(l,m){return l==null?m:l}function On(l,m,S){return S=S===void 0?0:S,wa(ts(l,m),S)}function Di(l,m,S,x){if(l!=null){if(Array.isArray(l))l=ns(l,m,S,x!==void 0);else if(Dr(l)){var D,R={};for(D in l)R[D]=Di(l[D],m,S,x);l=R}else l=m(l,x);return l}}function ns(l,m,S,x){var D=wt(l);x=x?!!(16&D):void 0,l=Array.prototype.slice.call(l);for(var R=0;R<l.length;R++)l[R]=Di(l[R],m,S,x);return S(D,l),l}function Od(l){return l.ja===Zo?l.toJSON():function(m){switch(X(m)){case"number":return isFinite(m)?m:String(m);case"object":if(m)if(Array.isArray(m)){if((128&wt(m))!=0)return xa(m=Array.prototype.slice.call(m)),m}else{if(Vt&&m!=null&&m instanceof Uint8Array)return pe(m);if(m instanceof Xr){var S=m.V;return S==null?"":typeof S=="string"?S:m.V=pe(S)}}}return m}(l)}function zc(l,m){128&l&&xa(m)}function Wc(l,m,S){if(S=S===void 0?Yr:S,l!=null){if(Vt&&l instanceof Uint8Array)return l.length?new Xr(new Uint8Array(l),Ct):Sa();if(Array.isArray(l)){var x=wt(l);return 2&x?l:!m||32&x||!(16&x||x===0)?(4&(m=wt(l=ns(l,Wc,4&x?Yr:S,!0)))&&2&m&&Object.freeze(l),l):(Xt(l,2|x),l)}return l.ja===Zo?is(l):l}}function rs(l,m,S,x,D,R,M){if(l=l.h&&l.h[S]){if(2&(x=wt(l))?x=l:(Yr(x,R=Ne(l,is)),Object.freeze(R),x=R),es(m),M=x==null?$r:Ai([]),x!=null){for(R=!!x.length,l=0;l<x.length;l++){var G=x[l];R=R&&!(2&wt(G.o)),M[l]=G.o}R=1|(R?8:0),((l=wt(M))&R)!==R&&(Object.isFrozen(M)&&(M=Array.prototype.slice.call(M)),Xt(M,l|R)),m.h||(m.h={}),m.h[S]=x}else m.h&&(m.h[S]=void 0);Pi(m,S,M,D)}else Dn(m,S,Wc(x,R,M),D)}function is(l){return 2&wt(l.o)||Ut((l=Zr(l,!0)).o,2),l}function Zr(l,m){var S=l.o,x=[];Ut(x,16);var D=l.constructor.h;if(D&&x.push(D),D=l.B){x.length=S.length,x.fill(void 0,x.length,S.length);var R={};x[x.length-1]=R}(128&wt(S))!=0&&xa(x),m=m||l.C()?Yr:$o,R=l.constructor,ka=x,x=new R(x),ka=void 0,l.R&&(x.R=l.R.slice()),R=!!(16&wt(S));for(var M=D?S.length-1:S.length,G=0;G<M;G++)rs(l,x,G-l.G,S[G],!1,R,m);if(D)for(var Q in D)rs(l,x,+Q,D[Q],!0,R,m);return x}function Rt(l,m,S){l==null&&(l=ka),ka=void 0;var x,D=this.constructor.i||0,R=0<D,M=this.constructor.h,G=!1;if(l==null){var Q=48,he=!0;R&&(D=0,Q|=128),Xt(l=M?[M]:[],Q)}else{if(!Array.isArray(l)||M&&M!==l[0])throw Error();var fe=Q=Ut(l,0);if((he=(16&fe)!=0)&&((G=(32&fe)!=0)||(fe|=32)),R){if(128&fe)D=0;else if(0<l.length){var we=l[l.length-1];if(Dr(we)&&"g"in we){D=0,fe|=128,delete we.g;var Re,me=!0;for(Re in we){me=!1;break}me&&l.pop()}}}else if(128&fe)throw Error();Q!==fe&&Xt(l,fe)}if(this.G=(M?0:-1)-D,this.h=void 0,this.o=l,D=(M=this.o.length)-1,M&&Dr(M=this.o[D])?(this.B=M,this.i=D-this.G):m!==void 0&&-1<m?(this.i=Math.max(m,D+1-this.G),this.B=void 0):this.i=Number.MAX_VALUE,!R&&this.B&&"g"in this.B)throw Error('Unexpected "g" flag in sparse object of message that is not a group type.');if(S)for(m=he&&!G&&!0,R=this.i,he=0;he<S.length;he++)(G=S[he])<R?(D=l[G+=this.G])?as(D,m):l[G]=$r:(x||(x=Ia(this)),(D=x[G])?as(D,m):x[G]=$r)}function as(l,m){if(Array.isArray(l)){var S=wt(l),x=1;!m||2&S||(x|=16),(S&x)!==x&&Xt(l,S|x)}}function Jc(l,m,S){if(S){var x,D={};for(x in S){var R=S[x],M=R.ra;M||(D.J=R.xa||R.oa.W,R.ia?(D.aa=Yc(R.ia),M=function(G){return function(Q,he,fe){return G.J(Q,he,fe,G.aa)}}(D)):R.ka?(D.Z=Ca(R.da.P,R.ka),M=function(G){return function(Q,he,fe){return G.J(Q,he,fe,G.Z)}}(D)):M=D.J,R.ra=M),M(m,l,R.da),D={J:D.J,aa:D.aa,Z:D.Z}}}(function(G,Q){if(Q=Q.R){Qr(G,G.h.end());for(var he=0;he<Q.length;he++)Qr(G,Jo(Q[he])||yn())}})(m,l)}Xt(Ta,23),$r=Object.freeze(Ta),Rt.prototype.toJSON=function(){return ns(this.o,Od,zc)},Rt.prototype.C=function(){return!!(2&wt(this.o))},Rt.prototype.ja=Zo,Rt.prototype.toString=function(){return this.o.toString()};var nt=Symbol();function Kc(l,m,S){return l[nt]||(l[nt]=function(x,D){return m(x,D,S)})}function os(l){var m=l[nt];if(!m){var S=us(l);m=function(x,D){return eu(x,D,S)},l[nt]=m}return m}function qc(l){var m=function(D){var R=D.ia;return R?os(R):(R=D.wa)?Kc(D.da.P,R,D.ka):void 0}(l),S=l.da,x=l.oa.U;return m?function(D,R){return x(D,R,S,m)}:function(D,R){return x(D,R,S)}}function Xc(l,m){var S=l[m];return typeof S=="function"&&S.length===0&&(S=S(),l[m]=S),Array.isArray(S)&&(pr in S||Li in S||0<S.length&&typeof S[0]=="function")?S:void 0}function Qc(l,m,S,x,D,R){m.P=l[0];var M=1;if(l.length>M&&typeof l[M]!="number"){var G=l[M++];S(m,G)}for(;M<l.length;){S=l[M++];for(var Q=M+1;Q<l.length&&typeof l[Q]!="number";)Q++;switch(G=l[M++],Q-=M){case 0:x(m,S,G);break;case 1:(Q=Xc(l,M))?(M++,D(m,S,G,Q)):x(m,S,G,l[M++]);break;case 2:D(m,S,G,Q=Xc(l,Q=M++),l[M++]);break;case 3:R(m,S,G,l[M++],l[M++],l[M++]);break;case 4:R(m,S,G,l[M++],l[M++],l[M++],l[M++]);break;default:throw Error("unexpected number of binary field arguments: "+Q)}}return m}var Ea=Symbol();function Yc(l){var m=l[Ea];if(!m){var S=cs(l);m=function(x,D){return tu(x,D,S)},l[Ea]=m}return m}function Ca(l,m){var S=l[Ea];return S||(S=function(x,D){return Jc(x,D,m)},l[Ea]=S),S}var Li=Symbol();function Md(l,m){l.push(m)}function Ra(l,m,S){l.push(m,S.W)}function $c(l,m,S,x){var D=Yc(x),R=cs(x).P,M=S.W;l.push(m,function(G,Q,he){return M(G,Q,he,R,D)})}function ss(l,m,S,x,D,R){var M=Ca(x,R),G=S.W;l.push(m,function(Q,he,fe){return G(Q,he,fe,x,M)})}function cs(l){var m=l[Li];return m||(m=Qc(l,l[Li]=[],Md,Ra,$c,ss),pr in l&&Li in l&&(l.length=0),m)}var pr=Symbol();function Nd(l,m){l[0]=m}function Zc(l,m,S,x){var D=S.U;l[m]=x?function(R,M,G){return D(R,M,G,x)}:D}function Vd(l,m,S,x,D){var R=S.U,M=os(x),G=us(x).P;l[m]=function(Q,he,fe){return R(Q,he,fe,G,M,D)}}function Ud(l,m,S,x,D,R,M){var G=S.U,Q=Kc(x,D,R);l[m]=function(he,fe,we){return G(he,fe,we,x,Q,M)}}function us(l){var m=l[pr];return m||(m=Qc(l,l[pr]={},Nd,Zc,Vd,Ud),pr in l&&Li in l&&(l.length=0),m)}function eu(l,m,S){for(;Ri(m)&&m.i!=4;){var x=m.l,D=S[x];if(!D){var R=S[0];R&&(R=R[x])&&(D=S[x]=qc(R))}if(!D||!D(m,l,x)){x=l,R=(D=m).j,ba(D);var M=D;if(!M.ca){if(D=M.h.h-R,M.h.h=R,M=M.h,D==0)D=Sa();else{if(R=qo(M,D),M.S&&M.m)D=M.i.subarray(R,R+D);else{M=M.i;var G=R;D=G===(D=R+D)?yn():Dd?M.slice(G,D):new Uint8Array(M.subarray(G,D))}D=D.length==0?Sa():new Xr(D,Ct)}(R=x.R)?R.push(D):x.R=[D]}}}return l}function tu(l,m,S){for(var x=S.length,D=x%2==1,R=D?1:0;R<x;R+=2)(0,S[R+1])(m,l,S[R]);Jc(l,m,D?S[0]:void 0)}function Oi(l,m){return{U:l,W:m}}var kn=Oi(function(l,m,S){if(l.i!==5)return!1;var x=(l=l.h).i,D=l.h,R=x[D],M=x[D+1],G=x[D+2];return x=x[D+3],hr(l,l.h+4),l=2*((M=(R<<0|M<<8|G<<16|x<<24)>>>0)>>31)+1,R=M>>>23&255,M&=8388607,Dn(m,S,R==255?M?NaN:1/0*l:R==0?l*Math.pow(2,-149)*M:l*Math.pow(2,R-150)*(M+Math.pow(2,23))),!0},function(l,m,S){if((m=ts(m,S))!=null){Pr(l.h,8*S+5),l=l.h;var x=+m;x===0?0<1/x?Ot=pt=0:(pt=0,Ot=2147483648):isNaN(x)?(pt=0,Ot=2147483647):34028234663852886e22<(x=(S=0>x?-2147483648:0)?-x:x)?(pt=0,Ot=(2139095040|S)>>>0):11754943508222875e-54>x?(x=Math.round(x/Math.pow(2,-149)),pt=0,Ot=(S|x)>>>0):(m=Math.floor(Math.log(x)/Math.LN2),x*=Math.pow(2,-m),16777216<=(x=Math.round(8388608*x))&&++m,pt=0,Ot=(S|m+127<<23|8388607&x)>>>0),S=Ot,l.h.push(S>>>0&255),l.h.push(S>>>8&255),l.h.push(S>>>16&255),l.h.push(S>>>24&255)}}),Bd=Oi(function(l,m,S){if(l.i!==0)return!1;var x=l.h,D=0,R=l=0,M=x.i,G=x.h;do{var Q=M[G++];D|=(127&Q)<<R,R+=7}while(32>R&&128&Q);for(32<R&&(l|=(127&Q)>>4),R=3;32>R&&128&Q;R+=7)l|=(127&(Q=M[G++]))<<R;if(hr(x,G),!(128>Q))throw ga();return x=D>>>0,(l=2147483648&(Q=l>>>0))&&(Q=~Q>>>0,(x=1+~x>>>0)==0&&(Q=Q+1>>>0)),x=4294967296*Q+(x>>>0),Dn(m,S,l?-x:x),!0},function(l,m,S){(m=pn(m,S))!=null&&(typeof m=="string"&&Nc(m),m!=null&&(Pr(l.h,8*S),typeof m=="number"?(l=l.h,Oc(m),jc(l,Ot,pt)):(S=Nc(m),jc(l.h,S.i,S.h))))}),nu=Oi(function(l,m,S){return l.i===0&&(Dn(m,S,Ci(l.h)),!0)},function(l,m,S){if((m=pn(m,S))!=null&&m!=null)if(Pr(l.h,8*S),l=l.h,0<=(S=m))Pr(l,S);else{for(m=0;9>m;m++)l.h.push(127&S|128),S>>=7;l.h.push(1)}}),At=Oi(function(l,m,S){if(l.i!==2)return!1;var x=Ci(l.h)>>>0,D=qo(l=l.h,x);if(l=l.i,qn){var R,M=l;(R=Wo)||(R=Wo=new TextDecoder("utf-8",{fatal:!0})),l=D+x,M=D===0&&l===M.length?M:M.subarray(D,l);try{var G=R.decode(M)}catch(we){if(bn===void 0){try{R.decode(new Uint8Array([128]))}catch(Re){}try{R.decode(new Uint8Array([97])),bn=!0}catch(Re){bn=!1}}throw!bn&&(Wo=void 0),we}}else{x=(G=D)+x,D=[];for(var Q,he,fe=null;G<x;)128>(Q=l[G++])?D.push(Q):224>Q?G>=x?ot():(he=l[G++],194>Q||(192&he)!=128?(G--,ot()):D.push((31&Q)<<6|63&he)):240>Q?G>=x-1?ot():(192&(he=l[G++]))!=128||Q===224&&160>he||Q===237&&160<=he||(192&(M=l[G++]))!=128?(G--,ot()):D.push((15&Q)<<12|(63&he)<<6|63&M):244>=Q?G>=x-2?ot():(192&(he=l[G++]))!=128||he-144+(Q<<28)>>30!=0||(192&(M=l[G++]))!=128||(192&(R=l[G++]))!=128?(G--,ot()):(Q=(7&Q)<<18|(63&he)<<12|(63&M)<<6|63&R,Q-=65536,D.push(55296+(Q>>10&1023),56320+(1023&Q))):ot(),8192<=D.length&&(fe=_a(fe,D),D.length=0);G=_a(fe,D)}return Dn(m,S,G),!0},function(l,m,S){if((m=pn(m,S))!=null){var x=!1;if(x=x!==void 0&&x,Bc){if(x&&/(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/.test(m))throw Error("Found an unpaired surrogate");m=(Uc||(Uc=new TextEncoder)).encode(m)}else{for(var D=0,R=new Uint8Array(3*m.length),M=0;M<m.length;M++){var G=m.charCodeAt(M);if(128>G)R[D++]=G;else{if(2048>G)R[D++]=G>>6|192;else{if(55296<=G&&57343>=G){if(56319>=G&&M<m.length){var Q=m.charCodeAt(++M);if(56320<=Q&&57343>=Q){G=1024*(G-55296)+Q-56320+65536,R[D++]=G>>18|240,R[D++]=G>>12&63|128,R[D++]=G>>6&63|128,R[D++]=63&G|128;continue}M--}if(x)throw Error("Found an unpaired surrogate");G=65533}R[D++]=G>>12|224,R[D++]=G>>6&63|128}R[D++]=63&G|128}}m=D===R.length?R:R.subarray(0,D)}Pr(l.h,8*S+2),Pr(l.h,m.length),Qr(l,l.h.end()),Qr(l,m)}}),ls=Oi(function(l,m,S,x,D){if(l.i!==2)return!1;m=Hc(m,S,x),S=l.h.j,x=Ci(l.h)>>>0;var R=l.h.h+x,M=R-S;if(0>=M&&(l.h.j=R,D(m,l,void 0,void 0,void 0),M=R-l.h.h),M)throw Error("Message parsing ended unexpectedly. Expected to read "+x+" bytes, instead read "+(x-M)+" bytes, either the data ended unexpectedly or the message misreported its own length");return l.h.h=R,l.h.j=S,!0},function(l,m,S,x,D){if((m=xt(m,x,S))!=null)for(x=0;x<m.length;x++){var R=l;Pr(R.h,8*S+2);var M=R.h.end();Qr(R,M),M.push(R.i),R=M,D(m[x],l),M=l;var G=R.pop();for(G=M.i+M.h.length()-G;127<G;)R.push(127&G|128),G>>>=7,M.i++;R.push(G),M.i++}});function ds(l){return function(m,S){e:{if(Xn.length){var x=Xn.pop();x.setOptions(S),dr(x.h,m,S),m=x}else m=new Yo(m,S);try{var D=us(l),R=eu(new D.P,m,D);break e}finally{(D=m.h).i=null,D.m=!1,D.l=0,D.j=0,D.h=0,D.S=!1,m.l=-1,m.i=-1,100>Xn.length&&Xn.push(m)}R=void 0}return R}}function hs(l){return function(){var m=new Ld;tu(this,m,cs(l)),Qr(m,m.h.end());for(var S=new Uint8Array(m.i),x=m.j,D=x.length,R=0,M=0;M<D;M++){var G=x[M];S.set(G,R),R+=G.length}return m.j=[S],S}}function ei(l){Rt.call(this,l)}Jt(ei,Rt);var It=[ei,1,nu,2,kn,3,At,4,At];function ps(l){Rt.call(this,l,-1,jd)}ei.prototype.l=hs(It),Jt(ps,Rt),ps.prototype.addClassification=function(l,m){return Hc(this,1,ei,l,m),this};var jd=[1],Fd=ds([ps,1,ls,It]);function fr(l){Rt.call(this,l)}Jt(fr,Rt);var fs=[fr,1,kn,2,kn,3,kn,4,kn,5,kn];function ru(l){Rt.call(this,l,-1,ms)}fr.prototype.l=hs(fs),Jt(ru,Rt);var ms=[1],Gd=ds([ru,1,ls,fs]);function Aa(l){Rt.call(this,l)}Jt(Aa,Rt);var iu=[Aa,1,kn,2,kn,3,kn,4,kn,5,kn,6,Bd],Hd=ds(iu);function au(l,m,S){if(S=l.createShader(S===0?l.VERTEX_SHADER:l.FRAGMENT_SHADER),l.shaderSource(S,m),l.compileShader(S),!l.getShaderParameter(S,l.COMPILE_STATUS))throw Error(`Could not compile WebGL shader.
|
|
567
|
+
`},ae=W.vertexShaderSource,j=W.fragmentShaderSource;this.program=$e(ie,[ae,j]);var te=ie.getAttribLocation(this.program,"position"),Se=ie.getAttribLocation(this.program,"texCoord"),oe=this.program;this.virtualParams={resolutionLocation:ie.getUniformLocation(oe,"resolution"),imageLocation0:ie.getUniformLocation(oe,"u_image0"),imageLocation1:ie.getUniformLocation(oe,"u_image1"),imageLocation2:ie.getUniformLocation(oe,"u_image2"),imageOldLocation0:ie.getUniformLocation(oe,"u_image_old0"),imageOldLocation1:ie.getUniformLocation(oe,"u_image_old1"),imageOldLocation2:ie.getUniformLocation(oe,"u_image_old2"),imageOldLocation3:ie.getUniformLocation(oe,"u_image_old3"),imageOldLocation4:ie.getUniformLocation(oe,"u_image_old4"),imageOldLocation5:ie.getUniformLocation(oe,"u_image_old5")},this.virtualLocation={postProcessTypeLocation:ie.getUniformLocation(oe,"PostProcessType"),sigmaLocation:ie.getUniformLocation(oe,"SIGMA"),bSigmaLocation:ie.getUniformLocation(oe,"BSIGMA"),mSizeLocation:ie.getUniformLocation(oe,"MSIZE"),overlayTypeLocation:ie.getUniformLocation(oe,"overlayType"),hardThresholdLocation:ie.getUniformLocation(oe,"hardThreshold"),sigmoidClipLocation:ie.getUniformLocation(oe,"sigmoidClip")},ie.bindVertexArray(this.vao),ie.bindBuffer(ie.ARRAY_BUFFER,this.positionBuffer),ie.enableVertexAttribArray(te),ie.vertexAttribPointer(te,2,ie.FLOAT,!1,0,0),ie.bindBuffer(ie.ARRAY_BUFFER,ie.createBuffer()),ie.bufferData(ie.ARRAY_BUFFER,new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]),ie.STATIC_DRAW),ie.enableVertexAttribArray(Se),ie.vertexAttribPointer(Se,2,ie.FLOAT,!1,0,0)}},{key:"onVirtualResults",value:function(ie){var W=ie.segmentationMask,ae=ie.image,j=this.gl;this.maskBuffer.length<3&&this.maskBuffer.push(W,W,W),this.frameBuffer.length<3&&this.frameBuffer.push(ae,ae,ae);for(var te=[],Se=[W,ae,this.img,this.maskBuffer[0],this.maskBuffer[1],this.maskBuffer[2],this.frameBuffer[0],this.frameBuffer[1],this.frameBuffer[2]],oe=0;oe<Se.length;++oe)this.sourceTexture=j.createTexture(),j.bindTexture(j.TEXTURE_2D,this.sourceTexture),j.texParameteri(j.TEXTURE_2D,j.TEXTURE_WRAP_S,j.CLAMP_TO_EDGE),j.texParameteri(j.TEXTURE_2D,j.TEXTURE_WRAP_T,j.CLAMP_TO_EDGE),j.texParameteri(j.TEXTURE_2D,j.TEXTURE_MIN_FILTER,j.NEAREST),j.texParameteri(j.TEXTURE_2D,j.TEXTURE_MAG_FILTER,j.NEAREST),j.texImage2D(j.TEXTURE_2D,0,j.RGBA,j.RGBA,j.UNSIGNED_BYTE,Se[oe]),te.push(this.sourceTexture);j.bindBuffer(j.ARRAY_BUFFER,this.positionBuffer),this.setRectangle(j,0,0,this.width,this.height),j.viewport(0,0,this.width,this.height),j.clearColor(0,0,0,0),j.clear(j.COLOR_BUFFER_BIT|j.DEPTH_BUFFER_BIT),j.useProgram(this.program),j.bindVertexArray(this.vao);var _e=this.virtualParams,Oe=_e.resolutionLocation,Jt=_e.imageLocation0,Zt=_e.imageLocation1,Qe=_e.imageLocation2,qt=_e.imageOldLocation0,ht=_e.imageOldLocation1,Jn=_e.imageOldLocation2,lr=_e.imageOldLocation3,Ht=_e.imageOldLocation4,An=_e.imageOldLocation5;j.uniform2f(Oe,this.width,this.height);var tt=this.virtualOption,zt=tt.postProcess,qn=tt.kSize,de=tt.sigma,le=tt.bSigma,Ne=tt.overlayType,Je=tt.hardThreshold,De=tt.sigmoidClip,lt=this.virtualLocation,at=lt.postProcessTypeLocation,Vt=lt.mSizeLocation,en=lt.sigmaLocation,pe=lt.bSigmaLocation,Ot=lt.overlayTypeLocation,Kt=lt.hardThresholdLocation,dr=lt.sigmoidClipLocation;j.uniform1i(at,zt),j.uniform1i(Vt,qn),j.uniform1f(en,de),j.uniform1f(pe,le),j.uniform1i(Ot,Ne),j.uniform1f(Kt,Je),j.uniform1i(dr,De),j.uniform1i(Jt,0),j.uniform1i(Zt,1),j.uniform1i(Qe,2),j.uniform1i(qt,3),j.uniform1i(ht,4),j.uniform1i(Jn,5),j.uniform1i(lr,6),j.uniform1i(Ht,7),j.uniform1i(An,8),j.activeTexture(j.TEXTURE0),j.bindTexture(j.TEXTURE_2D,te[0]),j.activeTexture(j.TEXTURE1),j.bindTexture(j.TEXTURE_2D,te[1]),j.activeTexture(j.TEXTURE2),j.bindTexture(j.TEXTURE_2D,te[2]),j.activeTexture(j.TEXTURE3),j.bindTexture(j.TEXTURE_2D,te[3]),j.activeTexture(j.TEXTURE4),j.bindTexture(j.TEXTURE_2D,te[4]),j.activeTexture(j.TEXTURE5),j.bindTexture(j.TEXTURE_2D,te[5]),j.activeTexture(j.TEXTURE6),j.bindTexture(j.TEXTURE_2D,te[6]),j.activeTexture(j.TEXTURE7),j.bindTexture(j.TEXTURE_2D,te[7]),j.activeTexture(j.TEXTURE8),j.bindTexture(j.TEXTURE_2D,te[8]),j.drawArrays(j.TRIANGLES,0,6),this.maskBuffer[0]=this.maskBuffer[1],this.maskBuffer[1]=this.maskBuffer[2],this.maskBuffer[2]=W,this.frameBuffer[0]=this.frameBuffer[1],this.frameBuffer[1]=this.frameBuffer[2],this.frameBuffer[2]=ae}}]),se}(),Wo=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};(function(){var se;function ke(d){var m=0;return function(){return m<d.length?{done:!1,value:d[m++]}:{done:!0}}}var be=typeof Object.defineProperties=="function"?Object.defineProperty:function(d,m,b){return d==Array.prototype||d==Object.prototype||(d[m]=b.value),d},je=function(d){d=[(typeof globalThis=="undefined"?"undefined":X(globalThis))=="object"&&globalThis,d,(typeof window=="undefined"?"undefined":X(window))=="object"&&window,(typeof self=="undefined"?"undefined":X(self))=="object"&&self,X(Wo)=="object"&&Wo];for(var m=0;m<d.length;++m){var b=d[m];if(b&&b.Math==Math)return b}throw Error("Cannot find global object")}(this);function ze(d,m){if(m)e:{var b=je;d=d.split(".");for(var x=0;x<d.length-1;x++){var D=d[x];if(!(D in b))break e;b=b[D]}(m=m(x=b[d=d[d.length-1]]))!=x&&m!=null&&be(b,d,{configurable:!0,writable:!0,value:m})}}function ie(d){return(d={next:d})[Symbol.iterator]=function(){return this},d}function W(d){var m=typeof Symbol!="undefined"&&Symbol.iterator&&d[Symbol.iterator];return m?m.call(d):{next:ke(d)}}function ae(d){if(!(d instanceof Array)){d=W(d);for(var m,b=[];!(m=d.next()).done;)b.push(m.value);d=b}return d}ze("Symbol",function(d){function m(D,R){this.h=D,be(this,"description",{configurable:!0,writable:!0,value:R})}if(d)return d;m.prototype.toString=function(){return this.h};var b="jscomp_symbol_"+(1e9*Math.random()>>>0)+"_",x=0;return function D(R){if(this instanceof D)throw new TypeError("Symbol is not a constructor");return new m(b+(R||"")+"_"+x++,R)}}),ze("Symbol.iterator",function(d){if(d)return d;d=Symbol("Symbol.iterator");for(var m="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),b=0;b<m.length;b++){var x=je[m[b]];typeof x=="function"&&typeof x.prototype[d]!="function"&&be(x.prototype,d,{configurable:!0,writable:!0,value:function(){return ie(ke(this))}})}return d});var j=typeof Object.assign=="function"?Object.assign:function(d,m){for(var b=1;b<arguments.length;b++){var x=arguments[b];if(x)for(var D in x)Object.prototype.hasOwnProperty.call(x,D)&&(d[D]=x[D])}return d};ze("Object.assign",function(d){return d||j});var te,Se=typeof Object.create=="function"?Object.create:function(d){function m(){}return m.prototype=d,new m};if(typeof Object.setPrototypeOf=="function")te=Object.setPrototypeOf;else{var oe;e:{var _e={};try{_e.__proto__={a:!0},oe=_e.a;break e}catch(d){}oe=!1}te=oe?function(d,m){if(d.__proto__=m,d.__proto__!==m)throw new TypeError(d+" is not extensible");return d}:null}var Oe=te;function Jt(d,m){if(d.prototype=Se(m.prototype),d.prototype.constructor=d,Oe)Oe(d,m);else for(var b in m)if(b!="prototype")if(Object.defineProperties){var x=Object.getOwnPropertyDescriptor(m,b);x&&Object.defineProperty(d,b,x)}else d[b]=m[b];d.za=m.prototype}function Zt(){this.m=!1,this.j=null,this.i=void 0,this.h=1,this.v=this.s=0,this.l=null}function Qe(d){if(d.m)throw new TypeError("Generator is already running");d.m=!0}function qt(d,m){d.l={ma:m,na:!0},d.h=d.s||d.v}function ht(d,m,b){return d.h=b,{value:m}}function Jn(d){this.h=new Zt,this.i=d}function lr(d,m,b,x){try{var D=m.call(d.h.j,b);if(!(D instanceof Object))throw new TypeError("Iterator result "+D+" is not an object");if(!D.done)return d.h.m=!1,D;var R=D.value}catch(O){return d.h.j=null,qt(d.h,O),Ht(d)}return d.h.j=null,x.call(d.h,R),Ht(d)}function Ht(d){for(;d.h.h;)try{var m=d.i(d.h);if(m)return d.h.m=!1,{value:m.value,done:!1}}catch(b){d.h.i=void 0,qt(d.h,b)}if(d.h.m=!1,d.h.l){if(m=d.h.l,d.h.l=null,m.na)throw m.ma;return{value:m.return,done:!0}}return{value:void 0,done:!0}}function An(d){this.next=function(m){return Qe(d.h),d.h.j?m=lr(d,d.h.j.next,m,d.h.u):(d.h.u(m),m=Ht(d)),m},this.throw=function(m){return Qe(d.h),d.h.j?m=lr(d,d.h.j.throw,m,d.h.u):(qt(d.h,m),m=Ht(d)),m},this.return=function(m){return function(b,x){Qe(b.h);var D=b.h.j;return D?lr(b,"return"in D?D.return:function(R){return{value:R,done:!0}},x,b.h.return):(b.h.return(x),Ht(b))}(d,m)},this[Symbol.iterator]=function(){return this}}function tt(d){return function(m){function b(D){return m.next(D)}function x(D){return m.throw(D)}return new Promise(function(D,R){(function O(G){G.done?D(G.value):Promise.resolve(G.value).then(b,x).then(O,R)})(m.next())})}(new An(new Jn(d)))}function zt(d){return d||Array.prototype.fill}Zt.prototype.u=function(d){this.i=d},Zt.prototype.return=function(d){this.l={return:d},this.h=this.v},ze("Promise",function(d){function m(O){this.i=0,this.j=void 0,this.h=[],this.u=!1;var G=this.l();try{O(G.resolve,G.reject)}catch(Q){G.reject(Q)}}function b(){this.h=null}function x(O){return O instanceof m?O:new m(function(G){G(O)})}if(d)return d;b.prototype.i=function(O){if(this.h==null){this.h=[];var G=this;this.j(function(){G.m()})}this.h.push(O)};var D=je.setTimeout;b.prototype.j=function(O){D(O,0)},b.prototype.m=function(){for(;this.h&&this.h.length;){var O=this.h;this.h=[];for(var G=0;G<O.length;++G){var Q=O[G];O[G]=null;try{Q()}catch(he){this.l(he)}}}this.h=null},b.prototype.l=function(O){this.j(function(){throw O})},m.prototype.l=function(){function O(he){return function(fe){Q||(Q=!0,he.call(G,fe))}}var G=this,Q=!1;return{resolve:O(this.I),reject:O(this.m)}},m.prototype.I=function(O){if(O===this)this.m(new TypeError("A Promise cannot resolve to itself"));else if(O instanceof m)this.L(O);else{e:switch(X(O)){case"object":var G=O!=null;break e;case"function":G=!0;break e;default:G=!1}G?this.F(O):this.s(O)}},m.prototype.F=function(O){var G=void 0;try{G=O.then}catch(Q){return void this.m(Q)}typeof G=="function"?this.M(G,O):this.s(O)},m.prototype.m=function(O){this.v(2,O)},m.prototype.s=function(O){this.v(1,O)},m.prototype.v=function(O,G){if(this.i!=0)throw Error("Cannot settle("+O+", "+G+"): Promise already settled in state"+this.i);this.i=O,this.j=G,this.i===2&&this.K(),this.H()},m.prototype.K=function(){var O=this;D(function(){if(O.D()){var G=je.console;G!==void 0&&G.error(O.j)}},1)},m.prototype.D=function(){if(this.u)return!1;var O=je.CustomEvent,G=je.Event,Q=je.dispatchEvent;return Q===void 0||(typeof O=="function"?O=new O("unhandledrejection",{cancelable:!0}):typeof G=="function"?O=new G("unhandledrejection",{cancelable:!0}):(O=je.document.createEvent("CustomEvent")).initCustomEvent("unhandledrejection",!1,!0,O),O.promise=this,O.reason=this.j,Q(O))},m.prototype.H=function(){if(this.h!=null){for(var O=0;O<this.h.length;++O)R.i(this.h[O]);this.h=null}};var R=new b;return m.prototype.L=function(O){var G=this.l();O.T(G.resolve,G.reject)},m.prototype.M=function(O,G){var Q=this.l();try{O.call(G,Q.resolve,Q.reject)}catch(he){Q.reject(he)}},m.prototype.then=function(O,G){function Q(Ae,me){return typeof Ae=="function"?function(Le){try{he(Ae(Le))}catch(Be){fe(Be)}}:me}var he,fe,we=new m(function(Ae,me){he=Ae,fe=me});return this.T(Q(O,he),Q(G,fe)),we},m.prototype.catch=function(O){return this.then(void 0,O)},m.prototype.T=function(O,G){function Q(){switch(he.i){case 1:O(he.j);break;case 2:G(he.j);break;default:throw Error("Unexpected state: "+he.i)}}var he=this;this.h==null?R.i(Q):this.h.push(Q),this.u=!0},m.resolve=x,m.reject=function(O){return new m(function(G,Q){Q(O)})},m.race=function(O){return new m(function(G,Q){for(var he=W(O),fe=he.next();!fe.done;fe=he.next())x(fe.value).T(G,Q)})},m.all=function(O){var G=W(O),Q=G.next();return Q.done?x([]):new m(function(he,fe){function we(Le){return function(Be){Ae[Le]=Be,--me==0&&he(Ae)}}var Ae=[],me=0;do Ae.push(void 0),me++,x(Q.value).T(we(Ae.length-1),fe),Q=G.next();while(!Q.done)})},m}),ze("Array.prototype.keys",function(d){return d||function(){return function(m,b){m instanceof String&&(m+="");var x=0,D=!1,R={next:function(){if(!D&&x<m.length){var O=x++;return{value:b(O,m[O]),done:!1}}return D=!0,{done:!0,value:void 0}}};return R[Symbol.iterator]=function(){return R},R}(this,function(m){return m})}}),ze("Array.prototype.fill",function(d){return d||function(m,b,x){var D=this.length||0;for(0>b&&(b=Math.max(0,D+b)),(x==null||x>D)&&(x=D),0>(x=Number(x))&&(x=Math.max(0,D+x)),b=Number(b||0);b<x;b++)this[b]=m;return this}}),ze("Int8Array.prototype.fill",zt),ze("Uint8Array.prototype.fill",zt),ze("Uint8ClampedArray.prototype.fill",zt),ze("Int16Array.prototype.fill",zt),ze("Uint16Array.prototype.fill",zt),ze("Int32Array.prototype.fill",zt),ze("Uint32Array.prototype.fill",zt),ze("Float32Array.prototype.fill",zt),ze("Float64Array.prototype.fill",zt),ze("Object.is",function(d){return d||function(m,b){return m===b?m!==0||1/m==1/b:m!=m&&b!=b}}),ze("Array.prototype.includes",function(d){return d||function(m,b){var x=this;x instanceof String&&(x=String(x));var D=x.length;for(0>(b=b||0)&&(b=Math.max(b+D,0));b<D;b++){var R=x[b];if(R===m||Object.is(R,m))return!0}return!1}}),ze("String.prototype.includes",function(d){return d||function(m,b){if(this==null)throw new TypeError("The 'this' value for String.prototype.includes must not be null or undefined");if(m instanceof RegExp)throw new TypeError("First argument to String.prototype.includes must not be a regular expression");return this.indexOf(m,b||0)!==-1}});var qn=this||self;function de(d,m){d=d.split(".");var b,x=qn;for((d[0]in x)||x.execScript===void 0||x.execScript("var "+d[0]);d.length&&(b=d.shift());)d.length||m===void 0?x=x[b]&&x[b]!==Object.prototype[b]?x[b]:x[b]={}:x[b]=m}function le(d){var m;return(m=qn.navigator)&&(m=m.userAgent)||(m=""),m.indexOf(d)!=-1}var Ne=Array.prototype.map?function(d,m){return Array.prototype.map.call(d,m,void 0)}:function(d,m){for(var b=d.length,x=Array(b),D=typeof d=="string"?d.split(""):d,R=0;R<b;R++)R in D&&(x[R]=m.call(void 0,D[R],R,d));return x},Je={},De=null;function lt(d){var m=d.length,b=3*m/4;b%3?b=Math.floor(b):"=.".indexOf(d[m-1])!=-1&&(b="=.".indexOf(d[m-2])!=-1?b-2:b-1);var x=new Uint8Array(b),D=0;return function(R,O){function G(me){for(;Q<R.length;){var Le=R.charAt(Q++),Be=De[Le];if(Be!=null)return Be;if(!/^[\s\xa0]*$/.test(Le))throw Error("Unknown base64 encoding at char: "+Le)}return me}at();for(var Q=0;;){var he=G(-1),fe=G(0),we=G(64),Ae=G(64);if(Ae===64&&he===-1)break;O(he<<2|fe>>4),we!=64&&(O(fe<<4&240|we>>2),Ae!=64&&O(we<<6&192|Ae))}}(d,function(R){x[D++]=R}),D!==b?x.subarray(0,D):x}function at(){if(!De){De={};for(var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),m=["+/=","+/","-_=","-_.","-_"],b=0;5>b;b++){var x=d.concat(m[b].split(""));Je[b]=x;for(var D=0;D<x.length;D++){var R=x[D];De[R]===void 0&&(De[R]=D)}}}}var Vt=typeof Uint8Array!="undefined",en=!(le("Trident")||le("MSIE"))&&typeof qn.btoa=="function";function pe(d){if(!en){var m;m===void 0&&(m=0),at(),m=Je[m];for(var b=Array(Math.floor(d.length/3)),x=m[64]||"",D=0,R=0;D<d.length-2;D+=3){var O=d[D],G=d[D+1],Q=d[D+2],he=m[O>>2];O=m[(3&O)<<4|G>>4],G=m[(15&G)<<2|Q>>6],Q=m[63&Q],b[R++]=he+O+G+Q}switch(he=0,Q=x,d.length-D){case 2:Q=m[(15&(he=d[D+1]))<<2]||x;case 1:d=d[D],b[R]=m[d>>2]+m[(3&d)<<4|he>>4]+Q+x}return b.join("")}for(m="";10240<d.length;)m+=String.fromCharCode.apply(null,d.subarray(0,10240)),d=d.subarray(10240);return m+=String.fromCharCode.apply(null,d),btoa(m)}var Ot,Kt=RegExp("[-_.]","g");function dr(d){switch(d){case"-":return"+";case"_":return"/";case".":return"=";default:return""}}function Ci(d){if(!en)return lt(d);Kt.test(d)&&(d=d.replace(Kt,dr)),d=atob(d);for(var m=new Uint8Array(d.length),b=0;b<d.length;b++)m[b]=d.charCodeAt(b);return m}function yn(){return Ot||(Ot=new Uint8Array(0))}var Rt={},Dd=typeof Uint8Array.prototype.slice=="function",Mt=0,pt=0;function Mc(d){var m=0>d,b=(d=Math.abs(d))>>>0;d=Math.floor((d-b)/4294967296),m&&(m=(b=W(_a(b,d))).next().value,d=b.next().value,b=m),Mt=b>>>0,pt=d>>>0}var Nc,Sn=typeof BigInt=="function";function _a(d,m){return m=~m,d?d=1+~d:m+=1,[d,m]}function Ri(d,m){this.i=d>>>0,this.h=m>>>0}function Vc(d){if(!d)return Nc||(Nc=new Ri(0,0));if(!/^-?\d+$/.test(d))return null;if(16>d.length)Mc(Number(d));else if(Sn)d=BigInt(d),Mt=Number(d&BigInt(4294967295))>>>0,pt=Number(d>>BigInt(32)&BigInt(4294967295));else{var m=+(d[0]==="-");pt=Mt=0;for(var b=d.length,x=m,D=(b-m)%6+m;D<=b;x=D,D+=6)x=Number(d.slice(x,D)),pt*=1e6,4294967296<=(Mt=1e6*Mt+x)&&(pt+=Mt/4294967296|0,Mt%=4294967296);m&&(d=(m=W(_a(Mt,pt))).next().value,m=m.next().value,Mt=d,pt=m)}return new Ri(Mt,pt)}function ot(d,m){return Error("Invalid wire type: "+d+" (at position "+m+")")}function ya(){return Error("Failed to read varint, encoding is invalid.")}function Uc(d,m){return Error("Tried to read past the end of the data "+m+" > "+d)}function st(){throw Error("Invalid UTF8")}function Sa(d,m){return m=String.fromCharCode.apply(null,m),d==null?m:d+m}var Jo,jc,Pn,bn=void 0,Kn=typeof TextDecoder!="undefined",Bc=typeof TextEncoder!="undefined";function ba(d){if(d!==Rt)throw Error("illegal external caller")}function Qr(d,m){if(ba(m),this.V=d,d!=null&&d.length===0)throw Error("ByteString should be constructed with non-empty values")}function ka(){return Pn||(Pn=new Qr(null,Rt))}function qo(d){ba(Rt);var m=d.V;return(m=m==null||Vt&&m!=null&&m instanceof Uint8Array?m:typeof m=="string"?Ci(m):null)==null?m:d.V=m}function Ko(d,m){this.i=null,this.m=!1,this.h=this.j=this.l=0,hr(this,d,m)}function hr(d,m,b){b=b===void 0?{}:b,d.S=b.S!==void 0&&b.S,m&&(m=function(x){if(typeof x=="string")return{buffer:Ci(x),C:!1};if(Array.isArray(x))return{buffer:new Uint8Array(x),C:!1};if(x.constructor===Uint8Array)return{buffer:x,C:!1};if(x.constructor===ArrayBuffer)return{buffer:new Uint8Array(x),C:!1};if(x.constructor===Qr)return{buffer:qo(x)||yn(),C:!0};if(x instanceof Uint8Array)return{buffer:new Uint8Array(x.buffer,x.byteOffset,x.byteLength),C:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}(m),d.i=m.buffer,d.m=m.C,d.l=0,d.j=d.i.length,d.h=d.l)}function pr(d,m){if(d.h=m,m>d.j)throw Uc(d.j,m)}function Ai(d){var m=d.i,b=d.h,x=m[b++],D=127&x;if(128&x&&(D|=(127&(x=m[b++]))<<7,128&x&&(D|=(127&(x=m[b++]))<<14,128&x&&(D|=(127&(x=m[b++]))<<21,128&x&&(D|=(x=m[b++])<<28,128&x&&128&m[b++]&&128&m[b++]&&128&m[b++]&&128&m[b++]&&128&m[b++])))))throw ya();return pr(d,b),D}function Xo(d,m){if(0>m)throw Error("Tried to read a negative byte length: "+m);var b=d.h,x=b+m;if(x>d.j)throw Uc(m,d.j-b);return d.h=x,b}Ko.prototype.reset=function(){this.h=this.l};var Qo=[];function Yo(){this.h=[]}function Fc(d,m,b){for(;0<b||127<m;)d.h.push(127&m|128),m=(m>>>7|b<<25)>>>0,b>>>=7;d.h.push(m)}function Pr(d,m){for(;127<m;)d.h.push(127&m|128),m>>>=7;d.h.push(m)}function $o(d,m){if(Qo.length){var b=Qo.pop();hr(b,d,m),d=b}else d=new Ko(d,m);this.h=d,this.j=this.h.h,this.i=this.l=-1,this.setOptions(m)}function Pi(d){var m=d.h;if(m.h==m.j)return!1;d.j=d.h.h;var b=Ai(d.h)>>>0;if(m=b>>>3,!(0<=(b&=7)&&5>=b))throw ot(b,d.j);if(1>m)throw Error("Invalid field number: "+m+" (at position "+d.j+")");return d.l=m,d.i=b,!0}function Ta(d){switch(d.i){case 0:if(d.i!=0)Ta(d);else e:{for(var m=(d=d.h).h,b=m+10,x=d.i;m<b;)if((128&x[m++])==0){pr(d,m);break e}throw ya()}break;case 1:pr(d=d.h,d.h+8);break;case 2:d.i!=2?Ta(d):(m=Ai(d.h)>>>0,pr(d=d.h,d.h+m));break;case 5:pr(d=d.h,d.h+4);break;case 3:for(m=d.l;;){if(!Pi(d))throw Error("Unmatched start-group tag: stream EOF");if(d.i==4){if(d.l!=m)throw Error("Unmatched end-group tag");break}Ta(d)}break;default:throw ot(d.i,d.j)}}Yo.prototype.length=function(){return this.h.length},Yo.prototype.end=function(){var d=this.h;return this.h=[],d},$o.prototype.setOptions=function(d){d=d===void 0?{}:d,this.ca=d.ca!==void 0&&d.ca},$o.prototype.reset=function(){this.h.reset(),this.j=this.h.h,this.i=this.l=-1};var Xn=[];function Ld(){this.j=[],this.i=0,this.h=new Yo}function Yr(d,m){m.length!==0&&(d.j.push(m),d.i+=m.length)}var Qn=typeof Symbol=="function"&&X(Symbol())==="symbol"?Symbol():void 0;function Ut(d,m){return Qn?d[Qn]|=m:d.A!==void 0?d.A|=m:(Object.defineProperties(d,{A:{value:m,configurable:!0,writable:!0,enumerable:!1}}),m)}function Gc(d,m){Qn?d[Qn]&&(d[Qn]&=~m):d.A!==void 0&&(d.A&=~m)}function wt(d){var m;return(m=Qn?d[Qn]:d.A)==null?0:m}function Xt(d,m){Qn?d[Qn]=m:d.A!==void 0?d.A=m:Object.defineProperties(d,{A:{value:m,configurable:!0,writable:!0,enumerable:!1}})}function Di(d){return Ut(d,1),d}function Zo(d,m){Xt(m,-51&(0|d))}function $r(d,m){Xt(m,-41&(18|d))}var es={};function Dr(d){return d!==null&&X(d)==="object"&&!Array.isArray(d)&&d.constructor===Object}var Zr,xa,Ia=[];function ts(d){if(2&wt(d.o))throw Error("Cannot mutate an immutable Message")}function wa(d){var m=d.length;(m=m?d[m-1]:void 0)&&Dr(m)?m.g=1:(m={},d.push((m.g=1,m)))}function Ea(d){var m=d.i+d.G;return d.B||(d.B=d.o[m]={})}function pn(d,m){return m===-1?null:m>=d.i?d.B?d.B[m]:void 0:d.o[m+d.G]}function Dn(d,m,b,x){ts(d),Li(d,m,b,x)}function Li(d,m,b,x){d.j&&(d.j=void 0),m>=d.i||x?Ea(d)[m]=b:(d.o[m+d.G]=b,(d=d.B)&&m in d&&delete d[m])}function jt(d,m,b,x){var D=pn(d,m);Array.isArray(D)||(D=Zr);var R=wt(D);if(1&R||Di(D),x)2&R||Ut(D,2),1&b||Object.freeze(D);else{x=!(2&b);var O=2&R;1&b||!O?x&&16&R&&!O&&Gc(D,16):Li(d,m,D=Di(Array.prototype.slice.call(D)))}return D}function ns(d,m){var b=pn(d,m),x=b==null?b:typeof b=="number"||b==="NaN"||b==="Infinity"||b==="-Infinity"?Number(b):void 0;return x!=null&&x!==b&&Li(d,m,x),x}function Hc(d,m,b,x,D){d.h||(d.h={});var R=d.h[b],O=jt(d,b,3,D);if(!R){var G=O;R=[];var Q=!!(16&wt(d.o));O=!!(2&wt(G));var he=G;!D&&O&&(G=Array.prototype.slice.call(G));for(var fe=O,we=0;we<G.length;we++){var Ae=G[we],me=m,Le=!1;if(Le=Le!==void 0&&Le,(Ae=Array.isArray(Ae)?new me(Ae):Le?new me:void 0)!==void 0){var Be=Le=wt(me=Ae.o);O&&(Be|=2),Q&&(Be|=16),Be!=Le&&Xt(me,Be),me=Be,fe=fe||!!(2&me),R.push(Ae)}}return d.h[b]=R,m=33|(Q=wt(G)),Q!=(m=fe?-9&m:8|m)&&(fe=G,Object.isFrozen(fe)&&(fe=Array.prototype.slice.call(fe)),Xt(fe,m),G=fe),he!==G&&Li(d,b,G),(D||x&&O)&&Ut(R,2),x&&Object.freeze(R),R}return D||(D=Object.isFrozen(R),x&&!D?Object.freeze(R):!x&&D&&(R=Array.prototype.slice.call(R),d.h[b]=R)),R}function Tt(d,m,b){var x=!!(2&wt(d.o));if(m=Hc(d,m,b,x,x),d=jt(d,b,3,x),!(x||8&wt(d))){for(x=0;x<m.length;x++){if(2&wt((b=m[x]).o)){var D=ei(b,!1);D.j=b}else D=b;b!==D&&(m[x]=D,d[x]=D.o)}Ut(d,8)}return m}function Ln(d,m,b){if(b!=null&&typeof b!="number")throw Error("Value of float/double field must be a number|null|undefined, found "+X(b)+": "+b);Dn(d,m,b)}function zc(d,m,b,x,D){ts(d);var R=Hc(d,b,m,!1,!1);return b=x!=null?x:new b,d=jt(d,m,2,!1),D!=null?(R.splice(D,0,b),d.splice(D,0,b.o)):(R.push(b),d.push(b.o)),b.C()&&Gc(d,8),b}function Ca(d,m){return d==null?m:d}function On(d,m,b){return b=b===void 0?0:b,Ca(ns(d,m),b)}function Oi(d,m,b,x){if(d!=null){if(Array.isArray(d))d=rs(d,m,b,x!==void 0);else if(Dr(d)){var D,R={};for(D in d)R[D]=Oi(d[D],m,b,x);d=R}else d=m(d,x);return d}}function rs(d,m,b,x){var D=wt(d);x=x?!!(16&D):void 0,d=Array.prototype.slice.call(d);for(var R=0;R<d.length;R++)d[R]=Oi(d[R],m,b,x);return b(D,d),d}function Od(d){return d.ja===es?d.toJSON():function(m){switch(X(m)){case"number":return isFinite(m)?m:String(m);case"object":if(m)if(Array.isArray(m)){if((128&wt(m))!=0)return wa(m=Array.prototype.slice.call(m)),m}else{if(Vt&&m!=null&&m instanceof Uint8Array)return pe(m);if(m instanceof Qr){var b=m.V;return b==null?"":typeof b=="string"?b:m.V=pe(b)}}}return m}(d)}function Wc(d,m){128&d&&wa(m)}function Jc(d,m,b){if(b=b===void 0?$r:b,d!=null){if(Vt&&d instanceof Uint8Array)return d.length?new Qr(new Uint8Array(d),Rt):ka();if(Array.isArray(d)){var x=wt(d);return 2&x?d:!m||32&x||!(16&x||x===0)?(4&(m=wt(d=rs(d,Jc,4&x?$r:b,!0)))&&2&m&&Object.freeze(d),d):(Xt(d,2|x),d)}return d.ja===es?as(d):d}}function is(d,m,b,x,D,R,O){if(d=d.h&&d.h[b]){if(2&(x=wt(d))?x=d:($r(x,R=Ne(d,as)),Object.freeze(R),x=R),ts(m),O=x==null?Zr:Di([]),x!=null){for(R=!!x.length,d=0;d<x.length;d++){var G=x[d];R=R&&!(2&wt(G.o)),O[d]=G.o}R=1|(R?8:0),((d=wt(O))&R)!==R&&(Object.isFrozen(O)&&(O=Array.prototype.slice.call(O)),Xt(O,d|R)),m.h||(m.h={}),m.h[b]=x}else m.h&&(m.h[b]=void 0);Li(m,b,O,D)}else Dn(m,b,Jc(x,R,O),D)}function as(d){return 2&wt(d.o)||Ut((d=ei(d,!0)).o,2),d}function ei(d,m){var b=d.o,x=[];Ut(x,16);var D=d.constructor.h;if(D&&x.push(D),D=d.B){x.length=b.length,x.fill(void 0,x.length,b.length);var R={};x[x.length-1]=R}(128&wt(b))!=0&&wa(x),m=m||d.C()?$r:Zo,R=d.constructor,xa=x,x=new R(x),xa=void 0,d.R&&(x.R=d.R.slice()),R=!!(16&wt(b));for(var O=D?b.length-1:b.length,G=0;G<O;G++)is(d,x,G-d.G,b[G],!1,R,m);if(D)for(var Q in D)is(d,x,+Q,D[Q],!0,R,m);return x}function At(d,m,b){d==null&&(d=xa),xa=void 0;var x,D=this.constructor.i||0,R=0<D,O=this.constructor.h,G=!1;if(d==null){var Q=48,he=!0;R&&(D=0,Q|=128),Xt(d=O?[O]:[],Q)}else{if(!Array.isArray(d)||O&&O!==d[0])throw Error();var fe=Q=Ut(d,0);if((he=(16&fe)!=0)&&((G=(32&fe)!=0)||(fe|=32)),R){if(128&fe)D=0;else if(0<d.length){var we=d[d.length-1];if(Dr(we)&&"g"in we){D=0,fe|=128,delete we.g;var Ae,me=!0;for(Ae in we){me=!1;break}me&&d.pop()}}}else if(128&fe)throw Error();Q!==fe&&Xt(d,fe)}if(this.G=(O?0:-1)-D,this.h=void 0,this.o=d,D=(O=this.o.length)-1,O&&Dr(O=this.o[D])?(this.B=O,this.i=D-this.G):m!==void 0&&-1<m?(this.i=Math.max(m,D+1-this.G),this.B=void 0):this.i=Number.MAX_VALUE,!R&&this.B&&"g"in this.B)throw Error('Unexpected "g" flag in sparse object of message that is not a group type.');if(b)for(m=he&&!G&&!0,R=this.i,he=0;he<b.length;he++)(G=b[he])<R?(D=d[G+=this.G])?os(D,m):d[G]=Zr:(x||(x=Ea(this)),(D=x[G])?os(D,m):x[G]=Zr)}function os(d,m){if(Array.isArray(d)){var b=wt(d),x=1;!m||2&b||(x|=16),(b&x)!==x&&Xt(d,b|x)}}function qc(d,m,b){if(b){var x,D={};for(x in b){var R=b[x],O=R.ra;O||(D.J=R.xa||R.oa.W,R.ia?(D.aa=$c(R.ia),O=function(G){return function(Q,he,fe){return G.J(Q,he,fe,G.aa)}}(D)):R.ka?(D.Z=Aa(R.da.P,R.ka),O=function(G){return function(Q,he,fe){return G.J(Q,he,fe,G.Z)}}(D)):O=D.J,R.ra=O),O(m,d,R.da),D={J:D.J,aa:D.aa,Z:D.Z}}}(function(G,Q){if(Q=Q.R){Yr(G,G.h.end());for(var he=0;he<Q.length;he++)Yr(G,qo(Q[he])||yn())}})(m,d)}Xt(Ia,23),Zr=Object.freeze(Ia),At.prototype.toJSON=function(){return rs(this.o,Od,Wc)},At.prototype.C=function(){return!!(2&wt(this.o))},At.prototype.ja=es,At.prototype.toString=function(){return this.o.toString()};var rt=Symbol();function Kc(d,m,b){return d[rt]||(d[rt]=function(x,D){return m(x,D,b)})}function ss(d){var m=d[rt];if(!m){var b=ls(d);m=function(x,D){return tu(x,D,b)},d[rt]=m}return m}function Xc(d){var m=function(D){var R=D.ia;return R?ss(R):(R=D.wa)?Kc(D.da.P,R,D.ka):void 0}(d),b=d.da,x=d.oa.U;return m?function(D,R){return x(D,R,b,m)}:function(D,R){return x(D,R,b)}}function Qc(d,m){var b=d[m];return typeof b=="function"&&b.length===0&&(b=b(),d[m]=b),Array.isArray(b)&&(fr in b||Mi in b||0<b.length&&typeof b[0]=="function")?b:void 0}function Yc(d,m,b,x,D,R){m.P=d[0];var O=1;if(d.length>O&&typeof d[O]!="number"){var G=d[O++];b(m,G)}for(;O<d.length;){b=d[O++];for(var Q=O+1;Q<d.length&&typeof d[Q]!="number";)Q++;switch(G=d[O++],Q-=O){case 0:x(m,b,G);break;case 1:(Q=Qc(d,O))?(O++,D(m,b,G,Q)):x(m,b,G,d[O++]);break;case 2:D(m,b,G,Q=Qc(d,Q=O++),d[O++]);break;case 3:R(m,b,G,d[O++],d[O++],d[O++]);break;case 4:R(m,b,G,d[O++],d[O++],d[O++],d[O++]);break;default:throw Error("unexpected number of binary field arguments: "+Q)}}return m}var Ra=Symbol();function $c(d){var m=d[Ra];if(!m){var b=us(d);m=function(x,D){return nu(x,D,b)},d[Ra]=m}return m}function Aa(d,m){var b=d[Ra];return b||(b=function(x,D){return qc(x,D,m)},d[Ra]=b),b}var Mi=Symbol();function Md(d,m){d.push(m)}function Pa(d,m,b){d.push(m,b.W)}function Zc(d,m,b,x){var D=$c(x),R=us(x).P,O=b.W;d.push(m,function(G,Q,he){return O(G,Q,he,R,D)})}function cs(d,m,b,x,D,R){var O=Aa(x,R),G=b.W;d.push(m,function(Q,he,fe){return G(Q,he,fe,x,O)})}function us(d){var m=d[Mi];return m||(m=Yc(d,d[Mi]=[],Md,Pa,Zc,cs),fr in d&&Mi in d&&(d.length=0),m)}var fr=Symbol();function Nd(d,m){d[0]=m}function eu(d,m,b,x){var D=b.U;d[m]=x?function(R,O,G){return D(R,O,G,x)}:D}function Vd(d,m,b,x,D){var R=b.U,O=ss(x),G=ls(x).P;d[m]=function(Q,he,fe){return R(Q,he,fe,G,O,D)}}function Ud(d,m,b,x,D,R,O){var G=b.U,Q=Kc(x,D,R);d[m]=function(he,fe,we){return G(he,fe,we,x,Q,O)}}function ls(d){var m=d[fr];return m||(m=Yc(d,d[fr]={},Nd,eu,Vd,Ud),fr in d&&Mi in d&&(d.length=0),m)}function tu(d,m,b){for(;Pi(m)&&m.i!=4;){var x=m.l,D=b[x];if(!D){var R=b[0];R&&(R=R[x])&&(D=b[x]=Xc(R))}if(!D||!D(m,d,x)){x=d,R=(D=m).j,Ta(D);var O=D;if(!O.ca){if(D=O.h.h-R,O.h.h=R,O=O.h,D==0)D=ka();else{if(R=Xo(O,D),O.S&&O.m)D=O.i.subarray(R,R+D);else{O=O.i;var G=R;D=G===(D=R+D)?yn():Dd?O.slice(G,D):new Uint8Array(O.subarray(G,D))}D=D.length==0?ka():new Qr(D,Rt)}(R=x.R)?R.push(D):x.R=[D]}}}return d}function nu(d,m,b){for(var x=b.length,D=x%2==1,R=D?1:0;R<x;R+=2)(0,b[R+1])(m,d,b[R]);qc(d,m,D?b[0]:void 0)}function Ni(d,m){return{U:d,W:m}}var kn=Ni(function(d,m,b){if(d.i!==5)return!1;var x=(d=d.h).i,D=d.h,R=x[D],O=x[D+1],G=x[D+2];return x=x[D+3],pr(d,d.h+4),d=2*((O=(R<<0|O<<8|G<<16|x<<24)>>>0)>>31)+1,R=O>>>23&255,O&=8388607,Dn(m,b,R==255?O?NaN:1/0*d:R==0?d*Math.pow(2,-149)*O:d*Math.pow(2,R-150)*(O+Math.pow(2,23))),!0},function(d,m,b){if((m=ns(m,b))!=null){Pr(d.h,8*b+5),d=d.h;var x=+m;x===0?0<1/x?Mt=pt=0:(pt=0,Mt=2147483648):isNaN(x)?(pt=0,Mt=2147483647):34028234663852886e22<(x=(b=0>x?-2147483648:0)?-x:x)?(pt=0,Mt=(2139095040|b)>>>0):11754943508222875e-54>x?(x=Math.round(x/Math.pow(2,-149)),pt=0,Mt=(b|x)>>>0):(m=Math.floor(Math.log(x)/Math.LN2),x*=Math.pow(2,-m),16777216<=(x=Math.round(8388608*x))&&++m,pt=0,Mt=(b|m+127<<23|8388607&x)>>>0),b=Mt,d.h.push(b>>>0&255),d.h.push(b>>>8&255),d.h.push(b>>>16&255),d.h.push(b>>>24&255)}}),jd=Ni(function(d,m,b){if(d.i!==0)return!1;var x=d.h,D=0,R=d=0,O=x.i,G=x.h;do{var Q=O[G++];D|=(127&Q)<<R,R+=7}while(32>R&&128&Q);for(32<R&&(d|=(127&Q)>>4),R=3;32>R&&128&Q;R+=7)d|=(127&(Q=O[G++]))<<R;if(pr(x,G),!(128>Q))throw ya();return x=D>>>0,(d=2147483648&(Q=d>>>0))&&(Q=~Q>>>0,(x=1+~x>>>0)==0&&(Q=Q+1>>>0)),x=4294967296*Q+(x>>>0),Dn(m,b,d?-x:x),!0},function(d,m,b){(m=pn(m,b))!=null&&(typeof m=="string"&&Vc(m),m!=null&&(Pr(d.h,8*b),typeof m=="number"?(d=d.h,Mc(m),Fc(d,Mt,pt)):(b=Vc(m),Fc(d.h,b.i,b.h))))}),ru=Ni(function(d,m,b){return d.i===0&&(Dn(m,b,Ai(d.h)),!0)},function(d,m,b){if((m=pn(m,b))!=null&&m!=null)if(Pr(d.h,8*b),d=d.h,0<=(b=m))Pr(d,b);else{for(m=0;9>m;m++)d.h.push(127&b|128),b>>=7;d.h.push(1)}}),Pt=Ni(function(d,m,b){if(d.i!==2)return!1;var x=Ai(d.h)>>>0,D=Xo(d=d.h,x);if(d=d.i,Kn){var R,O=d;(R=Jo)||(R=Jo=new TextDecoder("utf-8",{fatal:!0})),d=D+x,O=D===0&&d===O.length?O:O.subarray(D,d);try{var G=R.decode(O)}catch(we){if(bn===void 0){try{R.decode(new Uint8Array([128]))}catch(Ae){}try{R.decode(new Uint8Array([97])),bn=!0}catch(Ae){bn=!1}}throw!bn&&(Jo=void 0),we}}else{x=(G=D)+x,D=[];for(var Q,he,fe=null;G<x;)128>(Q=d[G++])?D.push(Q):224>Q?G>=x?st():(he=d[G++],194>Q||(192&he)!=128?(G--,st()):D.push((31&Q)<<6|63&he)):240>Q?G>=x-1?st():(192&(he=d[G++]))!=128||Q===224&&160>he||Q===237&&160<=he||(192&(O=d[G++]))!=128?(G--,st()):D.push((15&Q)<<12|(63&he)<<6|63&O):244>=Q?G>=x-2?st():(192&(he=d[G++]))!=128||he-144+(Q<<28)>>30!=0||(192&(O=d[G++]))!=128||(192&(R=d[G++]))!=128?(G--,st()):(Q=(7&Q)<<18|(63&he)<<12|(63&O)<<6|63&R,Q-=65536,D.push(55296+(Q>>10&1023),56320+(1023&Q))):st(),8192<=D.length&&(fe=Sa(fe,D),D.length=0);G=Sa(fe,D)}return Dn(m,b,G),!0},function(d,m,b){if((m=pn(m,b))!=null){var x=!1;if(x=x!==void 0&&x,Bc){if(x&&/(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])/.test(m))throw Error("Found an unpaired surrogate");m=(jc||(jc=new TextEncoder)).encode(m)}else{for(var D=0,R=new Uint8Array(3*m.length),O=0;O<m.length;O++){var G=m.charCodeAt(O);if(128>G)R[D++]=G;else{if(2048>G)R[D++]=G>>6|192;else{if(55296<=G&&57343>=G){if(56319>=G&&O<m.length){var Q=m.charCodeAt(++O);if(56320<=Q&&57343>=Q){G=1024*(G-55296)+Q-56320+65536,R[D++]=G>>18|240,R[D++]=G>>12&63|128,R[D++]=G>>6&63|128,R[D++]=63&G|128;continue}O--}if(x)throw Error("Found an unpaired surrogate");G=65533}R[D++]=G>>12|224,R[D++]=G>>6&63|128}R[D++]=63&G|128}}m=D===R.length?R:R.subarray(0,D)}Pr(d.h,8*b+2),Pr(d.h,m.length),Yr(d,d.h.end()),Yr(d,m)}}),ds=Ni(function(d,m,b,x,D){if(d.i!==2)return!1;m=zc(m,b,x),b=d.h.j,x=Ai(d.h)>>>0;var R=d.h.h+x,O=R-b;if(0>=O&&(d.h.j=R,D(m,d,void 0,void 0,void 0),O=R-d.h.h),O)throw Error("Message parsing ended unexpectedly. Expected to read "+x+" bytes, instead read "+(x-O)+" bytes, either the data ended unexpectedly or the message misreported its own length");return d.h.h=R,d.h.j=b,!0},function(d,m,b,x,D){if((m=Tt(m,x,b))!=null)for(x=0;x<m.length;x++){var R=d;Pr(R.h,8*b+2);var O=R.h.end();Yr(R,O),O.push(R.i),R=O,D(m[x],d),O=d;var G=R.pop();for(G=O.i+O.h.length()-G;127<G;)R.push(127&G|128),G>>>=7,O.i++;R.push(G),O.i++}});function hs(d){return function(m,b){e:{if(Xn.length){var x=Xn.pop();x.setOptions(b),hr(x.h,m,b),m=x}else m=new $o(m,b);try{var D=ls(d),R=tu(new D.P,m,D);break e}finally{(D=m.h).i=null,D.m=!1,D.l=0,D.j=0,D.h=0,D.S=!1,m.l=-1,m.i=-1,100>Xn.length&&Xn.push(m)}R=void 0}return R}}function ps(d){return function(){var m=new Ld;nu(this,m,us(d)),Yr(m,m.h.end());for(var b=new Uint8Array(m.i),x=m.j,D=x.length,R=0,O=0;O<D;O++){var G=x[O];b.set(G,R),R+=G.length}return m.j=[b],b}}function ti(d){At.call(this,d)}Jt(ti,At);var xt=[ti,1,ru,2,kn,3,Pt,4,Pt];function fs(d){At.call(this,d,-1,Bd)}ti.prototype.l=ps(xt),Jt(fs,At),fs.prototype.addClassification=function(d,m){return zc(this,1,ti,d,m),this};var Bd=[1],Fd=hs([fs,1,ds,xt]);function mr(d){At.call(this,d)}Jt(mr,At);var ms=[mr,1,kn,2,kn,3,kn,4,kn,5,kn];function iu(d){At.call(this,d,-1,vs)}mr.prototype.l=ps(ms),Jt(iu,At);var vs=[1],Gd=hs([iu,1,ds,ms]);function Da(d){At.call(this,d)}Jt(Da,At);var au=[Da,1,kn,2,kn,3,kn,4,kn,5,kn,6,jd],Hd=hs(au);function ou(d,m,b){if(b=d.createShader(b===0?d.VERTEX_SHADER:d.FRAGMENT_SHADER),d.shaderSource(b,m),d.compileShader(b),!d.getShaderParameter(b,d.COMPILE_STATUS))throw Error(`Could not compile WebGL shader.
|
|
568
568
|
|
|
569
|
-
`+
|
|
569
|
+
`+d.getShaderInfoLog(b));return b}function zd(d){return Tt(d,ti,1).map(function(m){var b=pn(m,1);return{index:b==null?0:b,qa:On(m,2),label:pn(m,3)!=null?Ca(pn(m,3),""):void 0,displayName:pn(m,4)!=null?Ca(pn(m,4),""):void 0}})}function Mn(d){return{x:On(d,1),y:On(d,2),z:On(d,3),visibility:ns(d,4)!=null?On(d,4):void 0}}function Vi(d,m){this.i=d,this.h=m,this.m=0}function La(d,m,b){return function(x,D){var R=x.h;if(x.s===void 0){var O=ou(R,`
|
|
570
570
|
attribute vec2 aVertex;
|
|
571
571
|
attribute vec2 aTex;
|
|
572
572
|
varying vec2 vTex;
|
|
573
573
|
void main(void) {
|
|
574
574
|
gl_Position = vec4(aVertex, 0.0, 1.0);
|
|
575
575
|
vTex = aTex;
|
|
576
|
-
}`,0),G=
|
|
576
|
+
}`,0),G=ou(R,`
|
|
577
577
|
precision mediump float;
|
|
578
578
|
varying vec2 vTex;
|
|
579
579
|
uniform sampler2D sampler0;
|
|
580
580
|
void main(){
|
|
581
581
|
gl_FragColor = texture2D(sampler0, vTex);
|
|
582
|
-
}`,1),Q=R.createProgram();if(R.attachShader(Q,
|
|
582
|
+
}`,1),Q=R.createProgram();if(R.attachShader(Q,O),R.attachShader(Q,G),R.linkProgram(Q),!R.getProgramParameter(Q,R.LINK_STATUS))throw Error(`Could not compile WebGL program.
|
|
583
583
|
|
|
584
|
-
`+R.getProgramInfoLog(Q));M=x.s=Q,R.useProgram(M),G=R.getUniformLocation(M,"sampler0"),x.l={O:R.getAttribLocation(M,"aVertex"),N:R.getAttribLocation(M,"aTex"),ya:G},x.v=R.createBuffer(),R.bindBuffer(R.ARRAY_BUFFER,x.v),R.enableVertexAttribArray(x.l.O),R.vertexAttribPointer(x.l.O,2,R.FLOAT,!1,0,0),R.bufferData(R.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),R.STATIC_DRAW),R.bindBuffer(R.ARRAY_BUFFER,null),x.u=R.createBuffer(),R.bindBuffer(R.ARRAY_BUFFER,x.u),R.enableVertexAttribArray(x.l.N),R.vertexAttribPointer(x.l.N,2,R.FLOAT,!1,0,0),R.bufferData(R.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),R.STATIC_DRAW),R.bindBuffer(R.ARRAY_BUFFER,null),R.uniform1i(G,0)}M=x.l,R.useProgram(x.s),R.canvas.width=D.width,R.canvas.height=D.height,R.viewport(0,0,D.width,D.height),R.activeTexture(R.TEXTURE0),x.i.bindTexture2d(D.glName),R.enableVertexAttribArray(M.O),R.bindBuffer(R.ARRAY_BUFFER,x.v),R.vertexAttribPointer(M.O,2,R.FLOAT,!1,0,0),R.enableVertexAttribArray(M.N),R.bindBuffer(R.ARRAY_BUFFER,x.u),R.vertexAttribPointer(M.N,2,R.FLOAT,!1,0,0),R.bindFramebuffer(R.DRAW_FRAMEBUFFER?R.DRAW_FRAMEBUFFER:R.FRAMEBUFFER,null),R.clearColor(0,0,0,0),R.clear(R.COLOR_BUFFER_BIT),R.colorMask(!0,!0,!0,!0),R.drawArrays(R.TRIANGLE_FAN,0,4),R.disableVertexAttribArray(M.O),R.disableVertexAttribArray(M.N),R.bindBuffer(R.ARRAY_BUFFER,null),x.i.bindTexture2d(0)}(l,m),typeof l.h.canvas.transferToImageBitmap=="function"?Promise.resolve(l.h.canvas.transferToImageBitmap()):S?Promise.resolve(l.h.canvas):typeof createImageBitmap=="function"?createImageBitmap(l.h.canvas):(l.j===void 0&&(l.j=document.createElement("canvas")),new Promise(function(x){l.j.height=l.h.canvas.height,l.j.width=l.h.canvas.width,l.j.getContext("2d",{}).drawImage(l.h.canvas,0,0,l.h.canvas.width,l.h.canvas.height),x(l.j)}))}function Wd(l){this.h=l}Aa.prototype.l=hs(iu);var ou=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function Jd(l,m){return m+l}function Da(l,m){window[l]=m}function Yn(l){if(this.h=l,this.listeners={},this.l={},this.L={},this.s={},this.v={},this.M=this.u=this.ga=!0,this.I=Promise.resolve(),this.fa="",this.D={},this.locateFile=l&&l.locateFile||Jd,(typeof window=="undefined"?"undefined":X(window))==="object")var m=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/";else{if(typeof location=="undefined")throw Error("solutions can only be loaded on a web page or in a web worker");m=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/"}if(this.ha=m,l.options)for(var S=(m=W(Object.keys(l.options))).next();!S.done;S=m.next()){S=S.value;var x=l.options[S].default;x!==void 0&&(this.l[S]=typeof x=="function"?x():x)}}function Kd(l){var m,S,x,D,R,M,G,Q,he,fe,we;return et(function(Re){switch(Re.h){case 1:return l.ga?(m=l.h.files===void 0?[]:typeof l.h.files=="function"?l.h.files(l.l):l.h.files,ht(Re,et(function(me){switch(me.h){case 1:return me.s=2,ht(me,WebAssembly.instantiate(ou),4);case 4:me.h=3,me.s=0;break;case 2:return me.s=0,me.l=null,me.return(!1);case 3:return me.return(!0)}}),2)):Re.return();case 2:if(S=Re.i,(typeof window=="undefined"?"undefined":X(window))==="object")return Da("createMediapipeSolutionsWasm",{locateFile:l.locateFile}),Da("createMediapipeSolutionsPackedAssets",{locateFile:l.locateFile}),M=m.filter(function(me){return me.data!==void 0}),G=m.filter(function(me){return me.data===void 0}),Q=Promise.all(M.map(function(me){var Le=ti(l,me.url);if(me.path!==void 0){var je=me.path;Le=Le.then(function(st){return l.overrideFile(je,st),Promise.resolve(st)})}return Le})),he=Promise.all(G.map(function(me){return me.simd===void 0||me.simd&&S||!me.simd&&!S?function(Le){var je=document.createElement("script");return je.setAttribute("src",Le),je.setAttribute("crossorigin","anonymous"),new Promise(function(st){je.addEventListener("load",function(){st()},!1),je.addEventListener("error",function(){st()},!1),document.body.appendChild(je)})}(l.locateFile(me.url,l.ha)):Promise.resolve()})).then(function(){var me,Le,je;return et(function(st){if(st.h==1)return me=window.createMediapipeSolutionsWasm,Le=window.createMediapipeSolutionsPackedAssets,je=l,ht(st,me(Le),2);je.i=st.i,st.h=0})}),fe=et(function(me){return l.h.graph&&l.h.graph.url?me=ht(me,ti(l,l.h.graph.url),0):(me.h=0,me=void 0),me}),ht(Re,Promise.all([he,Q,fe]),7);if(typeof importScripts!="function")throw Error("solutions can only be loaded on a web page or in a web worker");return x=m.filter(function(me){return me.simd===void 0||me.simd&&S||!me.simd&&!S}).map(function(me){return l.locateFile(me.url,l.ha)}),importScripts.apply(null,ae(x)),D=l,ht(Re,createMediapipeSolutionsWasm(Module),6);case 6:D.i=Re.i,l.m=new OffscreenCanvas(1,1),l.i.canvas=l.m,R=l.i.GL.createContext(l.m,{antialias:!1,alpha:!1,va:typeof WebGL2RenderingContext!="undefined"?2:1}),l.i.GL.makeContextCurrent(R),Re.h=4;break;case 7:if(l.m=document.createElement("canvas"),!(we=l.m.getContext("webgl2",{}))&&!(we=l.m.getContext("webgl",{})))return alert("Failed to create WebGL canvas context when passing video frame."),Re.return();l.K=we,l.i.canvas=l.m,l.i.createContext(l.m,!0,!0,{});case 4:l.j=new l.i.SolutionWasm,l.ga=!1,Re.h=0}})}function ti(l,m){var S,x;return et(function(D){return m in l.L?D.return(l.L[m]):(S=l.locateFile(m,""),x=fetch(S).then(function(R){return R.arrayBuffer()}),l.L[m]=x,D.return(x))})}function qd(l,m,S){var x,D,R,M,G,Q,he,fe,we,Re,me,Le,je,st;return et(function(dt){switch(dt.h){case 1:if(!S)return dt.return(m);for(x={},D=0,R=W(Object.keys(S)),M=R.next();!M.done;M=R.next())G=M.value,typeof(Q=S[G])!="string"&&Q.type==="texture"&&m[Q.stream]!==void 0&&++D;1<D&&(l.M=!1),he=W(Object.keys(S)),M=he.next();case 2:if(M.done){dt.h=4;break}if(fe=M.value,typeof(we=S[fe])=="string")return je=x,st=fe,ht(dt,function(Nn,Ma,ri){var Na;return et(function(vs){return typeof ri=="number"||ri instanceof Uint8Array||ri instanceof Nn.i.Uint8BlobList?vs.return(ri):ri instanceof Nn.i.Texture2dDataOut?((Na=Nn.v[Ma])||(Na=new Mi(Nn.i,Nn.K),Nn.v[Ma]=Na),vs.return(Pa(Na,ri,Nn.M))):vs.return(void 0)})}(l,fe,m[we]),14);if(Re=m[we.stream],we.type==="detection_list"){if(Re){for(var jt=Re.getRectList(),fn=Re.getLandmarksList(),St=Re.getClassificationsList(),qe=[],Xe=0;Xe<jt.size();++Xe){var mr=Hd(jt.get(Xe)),Oa=void 0;Oa=Oa===void 0?0:Oa,mr={la:{sa:On(mr,1),ta:On(mr,2),height:On(mr,3),width:On(mr,4),rotation:On(mr,5,0),pa:wa(pn(mr,6),Oa)},ea:xt(Gd(fn.get(Xe)),fr,1).map(Mn),ba:zd(Fd(St.get(Xe)))},qe.push(mr)}jt=qe}else jt=[];x[fe]=jt,dt.h=7;break}if(we.type==="proto_list"){if(Re){for(jt=Array(Re.size()),fn=0;fn<Re.size();fn++)jt[fn]=Re.get(fn);Re.delete()}else jt=[];x[fe]=jt,dt.h=7;break}if(Re===void 0){dt.h=3;break}if(we.type==="float_list"){x[fe]=Re,dt.h=7;break}if(we.type==="proto"){x[fe]=Re,dt.h=7;break}if(we.type!=="texture")throw Error("Unknown output config type: '"+we.type+"'");return(me=l.v[fe])||(me=new Mi(l.i,l.K),l.v[fe]=me),ht(dt,Pa(me,Re,l.M),13);case 13:Le=dt.i,x[fe]=Le;case 7:we.transform&&x[fe]&&(x[fe]=we.transform(x[fe])),dt.h=3;break;case 14:je[st]=dt.i;case 3:M=he.next(),dt.h=2;break;case 4:return dt.return(x)}})}function La(l,m){for(var S=m.name||"$",x=[].concat(ae(m.wants)),D=new l.i.StringList,R=W(m.wants),M=R.next();!M.done;M=R.next())D.push_back(M.value);R=l.i.PacketListener.implement({onResults:function(G){for(var Q={},he=0;he<m.wants.length;++he)Q[x[he]]=G.get(he);var fe=l.listeners[S];fe&&(l.I=qd(l,Q,m.outs).then(function(we){we=fe(we);for(var Re=0;Re<m.wants.length;++Re){var me=Q[x[Re]];X(me)==="object"&&me.hasOwnProperty&&me.hasOwnProperty("delete")&&me.delete()}we&&(l.I=we)}))}}),l.j.attachMultiListener(D,R),D.delete()}function ni(l){return l===void 0&&(l=0),l===1?"selfie_segmentation_landscape.tflite":"selfie_segmentation.tflite"}function Ni(l){var m=this;l=l||{},this.h=new Yn({locateFile:l.locateFile,files:function(S){return[{simd:!0,url:"selfie_segmentation_solution_simd_wasm_bin.js"},{simd:!1,url:"selfie_segmentation_solution_wasm_bin.js"},{data:!0,url:ni(S.modelSelection)}]},graph:{url:"selfie_segmentation.binarypb"},listeners:[{wants:["segmentation_mask","image_transformed"],outs:{image:{type:"texture",stream:"image_transformed"},segmentationMask:{type:"texture",stream:"segmentation_mask"}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:"InferenceCalculator",fieldName:"use_cpu_inference"},default:(typeof window=="undefined"?"undefined":X(window))==="object"&&window.navigator!==void 0&&("iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document)},selfieMode:{type:0,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},modelSelection:{type:1,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorModelSelection",fieldName:"int_value"},onChange:function(S){var x,D,R;return et(function(M){return M.h==1?(x=ni(S),D="third_party/mediapipe/modules/selfie_segmentation/"+x,ht(M,ti(m.h,x),2)):(R=M.i,m.h.overrideFile(D,R),M.return(!0))})}}}})}(se=Yn.prototype).close=function(){return this.j&&this.j.delete(),Promise.resolve()},se.reset=function(){var l=this;return et(function(m){l.j&&(l.j.reset(),l.s={},l.v={}),m.h=0})},se.setOptions=function(l,m){var S=this;if(m=m||this.h.options){for(var x=[],D=[],R={},M=W(Object.keys(l)),G=M.next();!G.done;R={X:R.X,Y:R.Y},G=M.next())if(!((G=G.value)in this.l)||this.l[G]!==l[G]){this.l[G]=l[G];var Q=m[G];Q!==void 0&&(Q.onChange&&(R.X=Q.onChange,R.Y=l[G],x.push(function(he){return function(){return et(function(fe){if(fe.h==1)return ht(fe,he.X(he.Y),2);fe.i===!0&&(S.u=!0),fe.h=0})}}(R))),Q.graphOptionXref&&(G=Object.assign({},{calculatorName:"",calculatorIndex:0},Q.graphOptionXref,{valueNumber:Q.type===1?l[G]:0,valueBoolean:Q.type===0&&l[G],valueString:Q.type===2?l[G]:""}),D.push(G)))}x.length===0&&D.length===0||(this.u=!0,this.H=(this.H===void 0?[]:this.H).concat(D),this.F=(this.F===void 0?[]:this.F).concat(x))}},se.initialize=function(){var l=this;return et(function(m){return m.h==1?ht(m,Kd(l),2):m.h!=3?ht(m,function(S){var x,D,R,M,G,Q,he,fe;return et(function(we){if(we.h==1)return S.h.graph&&S.h.graph.url&&S.fa===S.h.graph.url?we.return():(S.u=!0,S.h.graph&&S.h.graph.url?(S.fa=S.h.graph.url,ht(we,ti(S,S.h.graph.url),3)):void(we.h=2));for(we.h!=2&&(x=we.i,S.j.loadGraph(x)),D=W(Object.keys(S.D)),R=D.next();!R.done;R=D.next())M=R.value,S.j.overrideFile(M,S.D[M]);if(S.D={},S.h.listeners)for(G=W(S.h.listeners),Q=G.next();!Q.done;Q=G.next())he=Q.value,La(S,he);fe=S.l,S.l={},S.setOptions(fe),we.h=0})}(l),3):ht(m,function(S){var x,D,R,M,G,Q;return et(function(he){switch(he.h){case 1:if(!S.u)return he.return();if(!S.F){he.h=2;break}x=W(S.F),D=x.next();case 3:if(D.done){he.h=5;break}return ht(he,(0,D.value)(),4);case 4:D=x.next(),he.h=3;break;case 5:S.F=void 0;case 2:if(S.H){for(R=new S.i.GraphOptionChangeRequestList,M=W(S.H),G=M.next();!G.done;G=M.next())Q=G.value,R.push_back(Q);S.j.changeOptions(R),R.delete(),S.H=void 0}S.u=!1,he.h=0}})}(l),0)})},se.overrideFile=function(l,m){this.j?this.j.overrideFile(l,m):this.D[l]=m},se.clearOverriddenFiles=function(){this.D={},this.j&&this.j.clearOverriddenFiles()},se.send=function(l,m){var S,x,D,R,M,G,Q,he,fe,we=this;return et(function(Re){switch(Re.h){case 1:return we.h.inputs?(S=1e3*(m==null?performance.now():m),ht(Re,we.I,2)):Re.return();case 2:return ht(Re,we.initialize(),3);case 3:for(x=new we.i.PacketDataList,D=W(Object.keys(l)),R=D.next();!R.done;R=D.next())if(M=R.value,G=we.h.inputs[M]){e:{var me=l[M];switch(G.type){case"video":var Le=we.s[G.stream];if(Le||(Le=new Mi(we.i,we.K),we.s[G.stream]=Le),Le.m===0&&(Le.m=Le.i.createTexture()),typeof HTMLVideoElement!="undefined"&&me instanceof HTMLVideoElement)var je=me.videoWidth,st=me.videoHeight;else typeof HTMLImageElement!="undefined"&&me instanceof HTMLImageElement?(je=me.naturalWidth,st=me.naturalHeight):(je=me.width,st=me.height);st={glName:Le.m,width:je,height:st},(je=Le.h).canvas.width=st.width,je.canvas.height=st.height,je.activeTexture(je.TEXTURE0),Le.i.bindTexture2d(Le.m),je.texImage2D(je.TEXTURE_2D,0,je.RGBA,je.RGBA,je.UNSIGNED_BYTE,me),Le.i.bindTexture2d(0),Le=st;break e;case"detections":for((Le=we.s[G.stream])||(Le=new Wd(we.i),we.s[G.stream]=Le),Le.data||(Le.data=new Le.h.DetectionListData),Le.data.reset(me.length),st=0;st<me.length;++st){je=me[st];var dt=Le.data,jt=dt.setBoundingBox,fn=st,St=je.la,qe=new Aa;if(Ln(qe,1,St.sa),Ln(qe,2,St.ta),Ln(qe,3,St.height),Ln(qe,4,St.width),Ln(qe,5,St.rotation),Dn(qe,6,St.pa),St=qe.l(),jt.call(dt,fn,St),je.ea)for(dt=0;dt<je.ea.length;++dt){qe=je.ea[dt],fn=(jt=Le.data).addNormalizedLandmark,St=st,qe=Object.assign({},qe,{visibility:qe.visibility?qe.visibility:0});var Xe=new fr;Ln(Xe,1,qe.x),Ln(Xe,2,qe.y),Ln(Xe,3,qe.z),qe.visibility&&Ln(Xe,4,qe.visibility),qe=Xe.l(),fn.call(jt,St,qe)}if(je.ba)for(dt=0;dt<je.ba.length;++dt)fn=(jt=Le.data).addClassification,St=st,qe=je.ba[dt],Ln(Xe=new ei,2,qe.qa),qe.index&&Dn(Xe,1,qe.index),qe.label&&Dn(Xe,3,qe.label),qe.displayName&&Dn(Xe,4,qe.displayName),qe=Xe.l(),fn.call(jt,St,qe)}Le=Le.data;break e;default:Le={}}}switch(Q=Le,he=G.stream,G.type){case"video":x.pushTexture2d(Object.assign({},Q,{stream:he,timestamp:S}));break;case"detections":(fe=Q).stream=he,fe.timestamp=S,x.pushDetectionList(fe);break;default:throw Error("Unknown input config type: '"+G.type+"'")}}return we.j.send(x),ht(Re,we.I,4);case 4:x.delete(),Re.h=0}})},se.onResults=function(l,m){this.listeners[m||"$"]=l},de("Solution",Yn),de("OptionType",{BOOL:0,NUMBER:1,ua:2,0:"BOOL",1:"NUMBER",2:"STRING"}),(se=Ni.prototype).close=function(){return this.h.close(),Promise.resolve()},se.onResults=function(l){this.h.onResults(l)},se.initialize=function(){var l=this;return et(function(m){return ht(m,l.h.initialize(),0)})},se.reset=function(){this.h.reset()},se.send=function(l){var m=this;return et(function(S){return ht(S,m.h.send(l),0)})},se.setOptions=function(l){this.h.setOptions(l)},de("SelfieSegmentation",Ni),de("VERSION","0.1.1675465747")}).call(zo);var Ar=function(se){return typeof se=="number"},Lc=function(){function se(){Pe(this,se),this.userId="",this.videoBeauty=document.createElement("video"),this.videoBeauty.loop=!0,this.videoBeauty.autoplay=!0,this.videoVirtual=document.createElement("video"),this.videoVirtual.loop=!0,this.videoVirtual.autoplay=!0,this.onoverload=null,this.canvasBeauty=document.createElement("canvas"),this.filter=new Go({canvas:this.canvasBeauty,video:this.videoBeauty}),this.canvasVirtual=document.createElement("canvas"),this.virtual=new Ho({canvas:this.canvasVirtual,video:this.videoVirtual,onoverload:this.onoverload}),this.beautyParams={beauty:.5,brightness:.5,ruddy:.5},this.timeoutId=null,this.rafId=null,this.startTime=null,this.originTrack=null,this.beautyTrack=null,this.resultTrack=null,this.localStream=null,this.frameRate=null,this.disableStatus=!1,this.isVirualEnable=!1}var Te,be,Be,ze,ie;return ut(se,[{key:"generateBeautyStream",value:function(W){this.userId=W==null?void 0:W.getUserId();var ae=W.getVideoTrack();if(!ae)throw new Error("Your localStream does not contain video track.");var B=this.generateBeautyTrack(ae);return W.replaceTrack(B),this.localStream=W,W.setBeautyStatus&&W.setBeautyStatus(!0),console.log("RTCBeautyPlugin: generateBeautyStream ".concat(this.userId?"userId: ".concat(this.userId):"")),W}},{key:"generateBeautyTrack",value:function(W){var ae=this;this.reset();var B=W.getSettings();this.frameRate=B.frameRate,this.filter.setRect(B.width,B.height),this.setRect(B.width,B.height);var te=new MediaStream;te.addTrack(W),this.videoBeauty.srcObject=te,this.videoBeauty.play();var Se=this.canvasBeauty.captureStream(this.frameRate||15).getVideoTracks()[0];return this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(function(){ae.startTime=new Date().getTime(),ae.render()}),this.installEvents(),this.originTrack=W,this.beautyTrack=Se,this.setTrackParam({type:"beauty",originTrack:W,resultTrack:Se,param:this.beautyParams}),Se}},{key:"setBackground",value:(ie=J(V().mark(function W(ae){return V().wrap(function(B){for(;;)switch(B.prev=B.next){case 0:return B.next=2,this.virtual.setBackground(ae);case 2:console.log("RTCBeautyPlugin: setBackground img:".concat(ae));case 3:case"end":return B.stop()}},W,this)})),function(W){return ie.apply(this,arguments)})},{key:"generateStream",value:(ze=J(V().mark(function W(ae){var B,te,Se,oe,_e;return V().wrap(function(Oe){for(;;)switch(Oe.prev=Oe.next){case 0:if(B=ae.localStream,te=ae.type,Se=ae.img,oe=B.getVideoTrack()){Oe.next=4;break}throw new Error("Your localStream does not contain video track.");case 4:return this.localStream=B,Oe.next=7,this.generateMixedTrack({videoTrack:oe,type:te,img:Se});case 7:return _e=Oe.sent,B.replaceTrack(_e),B.setBeautyStatus&&B.setBeautyStatus(!0),Oe.abrupt("return",B);case 11:case"end":return Oe.stop()}},W,this)})),function(W){return ze.apply(this,arguments)})},{key:"generateMixedTrack",value:(Be=J(V().mark(function W(ae){var B,te,Se,oe,_e;return V().wrap(function(Oe){for(;;)switch(Oe.prev=Oe.next){case 0:if(B=ae.videoTrack,te=ae.type,Se=ae.img,this.virtual.selfieSegmentation){Oe.next=3;break}throw new Error("you should call loadResources() first");case 3:return this.virtual.initVirtualParams({type:te,img:Se}),Oe.next=6,this.generateBeautyTrack(B);case 6:return oe=Oe.sent,Oe.next=9,this.generateVirtualTrack({videoTrack:oe,type:te,img:Se});case 9:return _e=Oe.sent,this.beautyTrack=oe,this.resultTrack=_e,this.setTrackParam({type:"mixed",originTrack:this.originTrack,resultTrack:this.resultTrack,param:{type:te,img:Se}}),Oe.abrupt("return",this.resultTrack);case 14:case"end":return Oe.stop()}},W,this)})),function(W){return Be.apply(this,arguments)})},{key:"generateVirtualStream",value:(be=J(V().mark(function W(ae){var B,te,Se,oe,_e;return V().wrap(function(Oe){for(;;)switch(Oe.prev=Oe.next){case 0:if(B=ae.localStream,te=ae.type,Se=ae.img,oe=B.getVideoTrack()){Oe.next=4;break}throw new Error("Your localStream does not contain video track.");case 4:return this.localStream=B,Oe.next=7,this.generateVirtualTrack({videoTrack:oe,type:te,img:Se});case 7:return _e=Oe.sent,Oe.next=10,B.replaceTrack(_e);case 10:return B.setBeautyStatus&&B.setBeautyStatus(!0),console.log("".concat(this.userId?"[userId: ".concat(this.userId,"]"):""," RTCBeautyPlugin generate ").concat(te," Stream.")),Oe.abrupt("return",B);case 13:case"end":return Oe.stop()}},W,this)})),function(W){return be.apply(this,arguments)})},{key:"generateVirtualTrack",value:(Te=J(V().mark(function W(ae){var B,te,Se,oe;return V().wrap(function(_e){for(;;)switch(_e.prev=_e.next){case 0:if(B=ae.videoTrack,te=ae.type,Se=ae.img,this.virtual.selfieSegmentation){_e.next=3;break}throw new Error("you should call loadResources() first");case 3:return oe=B.getSettings(),this.frameRate=oe.frameRate,this.virtual.setRect(oe.width,oe.height),_e.next=8,this.virtual.initVirtualParams({type:te,img:Se});case 8:return this.setRect(oe.width,oe.height),this.mediaStream=new MediaStream,this.mediaStream.addTrack(B),this.videoVirtual.srcObject=this.mediaStream,_e.next=14,this.videoVirtual.play();case 14:return this.virtual.startVirtual(this.frameRate),_e.next=17,this.virtual.render();case 17:return this.originTrack=B,this.resultTrack=this.canvasVirtual.captureStream(this.frameRate||15).getVideoTracks()[0],this.setTrackParam({type:"virtual",originTrack:this.originTrack,resultTrack:this.resultTrack,param:{type:te,img:Se}}),this.isVirualEnable=!0,_e.abrupt("return",this.resultTrack);case 22:case"end":return _e.stop()}},W,this)})),function(W){return Te.apply(this,arguments)})},{key:"replaceVirtualTrack",value:function(W){this.isVirualEnable&&(this.mediaStream.removeTrack(this.mediaStream.getVideoTracks()[0]),this.mediaStream.addTrack(W),this.originTrack=W)}},{key:"deleteSource",value:function(W){if(p.default){var ae=p.default.beautyTrackMap.get(W);ae&&(ae.type==="mixed"&&this.deleteSource(ae.originTrack.id),ae.originTrack&&(ae.originTrack.stop(),ae.originTrack=null),ae.beautyTrack&&(ae.beautyTrack.stop(),ae.beautyTrack=null),ae.resultTrack&&(ae.resultTrack.stop(),ae.resultTrack=null),p.default.beautyTrackMap.delete(W))}}},{key:"draw",value:function(){this.videoBeauty&&this.videoBeauty.readyState===this.videoBeauty.HAVE_ENOUGH_DATA&&this.filter.apply(this.videoBeauty)}},{key:"enableVirtualBg",value:function(){var W;if(this.virtual&&!this.isVirualEnable)return this.virtual.setEnable(!0),this.virtual.render(),this.isVirualEnable=!0,(W=this.localStream)===null||W===void 0||W.replaceTrack(this.resultTrack),console.log("".concat(this.userId?"[userId: ".concat(this.userId,"]"):""," RTCBeautyPlugin enable.")),this.resultTrack}},{key:"disableVirtualBg",value:function(){var W;if(this.virtual&&this.isVirualEnable)return this.virtual.setEnable(!1),this.isVirualEnable=!1,(W=this.localStream)===null||W===void 0||W.replaceTrack(this.originTrack),console.log("".concat(this.userId?"[userId: ".concat(this.userId,"]"):""," RTCBeautyPlugin disable.")),this.originTrack}},{key:"changeType",value:function(W){var ae=W.type,B=W.img;console.log("".concat(this.userId?"[userId: ".concat(this.userId,"]"):""," RTCBeautyPlugin changeType\uFF1A").concat(ae,". img: ").concat(B,".")),ae==="blur"&&(this.virtual.reset(),this.virtual.initVirtualParams({type:"blur"}),this.virtual.startVirtual(this.frameRate),this.virtual.render()),ae==="virtual"&&(this.virtual.reset(),this.virtual.initVirtualParams({type:"virtual",img:B}),this.virtual.startVirtual(this.frameRate),this.virtual.render()),this.setTrackParam({type:ae,originTrack:this.originTrack,resultTrack:this.resultTrack,param:{type:ae,img:B}})}},{key:"render",value:function(){var W=this,ae=new Date().getTime();ae-this.startTime>1e3/this.frameRate&&(this.draw(),this.startTime=ae),document.hidden?(clearTimeout(this.timeoutId),this.timeoutId=setTimeout(function(){W.render()},1e3/this.frameRate)):(this.timeoutId&&clearTimeout(this.timeoutId),this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.render.bind(this)))}},{key:"setBeautyParam",value:function(W){var ae=W.beauty,B=W.brightness,te=W.ruddy;Ar(ae)&&(this.beautyParams.beauty=ae),Ar(B)&&(this.beautyParams.brightness=B),Ar(te)&&(this.beautyParams.ruddy=te),this.filter.setBeautyParams(this.beautyParams),this.getClose()&&!this.disableStatus&&this.disable(),!this.getClose()&&this.disableStatus&&this.enable()}},{key:"setRect",value:function(W,ae){var B=W||640,te=ae||480;this.videoBeauty.height=te,this.videoBeauty.width=B,this.canvasBeauty.height=te,this.canvasBeauty.width=B,this.videoVirtual.height=te,this.videoVirtual.width=B,this.canvasVirtual.height=te,this.canvasVirtual.width=B}},{key:"reset",value:function(){cancelAnimationFrame(this.rafId),clearTimeout(this.timeoutId),this.videoBeauty.pause(),this.filter.reset(),this.beautyTrack&&this.beautyTrack.stop(),this.videoVirtual.pause(),this.resultTrack&&this.resultTrack.stop(),this.originTrack&&this.originTrack.stop()}},{key:"destroy",value:function(){cancelAnimationFrame(this.rafId),clearTimeout(this.timeoutId),this.canvasBeauty&&(this.canvasBeauty.width=0,this.canvasBeauty.height=0,this.canvasBeauty.remove(),this.canvasBeauty=null),this.videoBeauty&&(this.videoBeauty.pause(),this.videoBeauty.removeAttribute("srcObject"),this.videoBeauty.removeAttribute("src"),this.videoBeauty.load(),this.videoBeauty.width=0,this.videoBeauty.height=0,this.videoBeauty.remove(),this.videoBeauty=null),this.beautyTrack&&(this.deleteSource(this.beautyTrack.id),this.beautyTrack.stop(),this.beautyTrack=null),this.originTrack&&(this.originTrack.stop(),this.originTrack=null),this.resultTrack&&(this.deleteSource(this.resultTrack.id),this.resultTrack.stop(),this.resultTrack=null),this.canvasVirtual&&(this.canvasVirtual.width=0,this.canvasVirtual.height=0,this.canvasVirtual.remove(),this.canvasVirtual=null),this.videoVirtual&&(this.videoVirtual.pause(),this.videoVirtual.removeAttribute("srcObject"),this.videoVirtual.removeAttribute("src"),this.videoVirtual.load(),this.videoVirtual.width=0,this.videoVirtual.height=0,this.videoVirtual.remove(),this.videoVirtual=null),this.virtual.destroy(),this.uninstallEvents()}},{key:"generateVideoTrackFromCanvasCapture",value:function(W){return this.canvasVirtual.captureStream(W).getVideoTracks()[0]}},{key:"setTrackParam",value:function(W){var ae=W.type,B=W.originTrack,te=W.resultTrack,Se=W.param;p.default&&(p.default.beautyTrackMap||(p.default.beautyTrackMap=new Map),p.default.beautyTrackMap.set(te.id,{type:ae,originTrack:B,resultTrack:te,param:Se,pluginInstance:this}))}},{key:"disable",value:function(){this.localStream&&this.originTrack&&(this.localStream.replaceTrack(this.originTrack),cancelAnimationFrame(this.rafId),clearTimeout(this.timeoutId),this.disableStatus=!0)}},{key:"enable",value:function(){this.localStream&&this.beautyTrack&&(this.localStream.replaceTrack(this.beautyTrack),this.render(),this.disableStatus=!1)}},{key:"installEvents",value:function(){document.addEventListener("visibilitychange",this.render.bind(this))}},{key:"uninstallEvents",value:function(){document.removeEventListener("visibilitychange",this.render.bind(this))}},{key:"overload",value:function(){this.onoverload&&this.onoverload()}},{key:"getClose",value:function(){return this.beautyParams.beauty===0&&this.beautyParams.brightness===0&&this.beautyParams.ruddy===0}}]),se}();return p.default&&(p.default.getRTCBeautyPlugin=function(){return new Lc}),Lc})});var Kw="0.0.12";var Td=sr(Rr());var kd=sr(Rr());var iE=sr(mg());var Mo=class extends iE.default{constructor({mediaType:p}){super();Ue(this,"trackMediaType");Ue(this,"_stream");Ue(this,"_playerState");this.trackMediaType=p}get isPlaying(){return this._playerState==="PLAYING"}async stop(){this._playerState="STOPPED",await this._stream.stop()}};var h9=1,No=class extends Mo{constructor(p){super(p);Ue(this,"TRTC",kd.default);Ue(this,"muted");Ue(this,"_publishedStream",null);Ue(this,"_log");this._log=Gt.createLogger({id:p.id+h9++})}get closed(){let p=this.getMediaStreamTrack();return p?p.readyState==="ended":!0}async init(){this._stream.on("device-auto-recovered",async({isMicrophone:p,isCamera:V,microphoneId:X,cameraId:N})=>{if(this._publishedStream&&this._stream!==this._publishedStream){let J=this.getMediaStreamTrack(),Pe=this.trackMediaType==="audio"?this._publishedStream.getAudioTrack():this._publishedStream.getVideoTrack();J&&Pe&&J!==Pe&&this._publishedStream.replaceTrack(J)}if(p){let J=(await kd.default.getMicrophones()).find(Pe=>Pe.deviceId===X);J&&this.emit("device-switched",J)}if(V){let J=(await kd.default.getCameras()).find(Pe=>Pe.deviceId===N);J&&this.emit("device-switched",J)}}),this._stream.on("player-state-changed",({state:p})=>{this._playerState=p}),this._stream.on("error",p=>{p.getCode()===16452&&this.emit("track-ended",this.trackMediaType)}),await this._stream.initialize()}setPublishedStream(p){this._publishedStream=p}on(p,V){return super.on(p,V),this}async setMuted(p){let V=this._publishedStream||this._stream;this.trackMediaType==="audio"?p?V.muteAudio():V.unmuteAudio():p?V.muteVideo():V.unmuteVideo()}getMediaStreamTrack(){return this.trackMediaType==="audio"?this._stream.getAudioTrack():this._stream.getVideoTrack()}close(){this._stream.close()}getTrackLabel(){var p;return((p=this.getMediaStreamTrack())==null?void 0:p.label)||""}getDeviceId(){var p,V;return((V=(p=this.getMediaStreamTrack())==null?void 0:p.getSettings())==null?void 0:V.deviceId)||""}};var oE=sr(aE()),sE=sr(Rr());var Vo=class extends No{constructor(p){super(p);Ue(this,"mirrored",!1);Ue(this,"lastPlayContainer");Ue(this,"_beautyPlugin");Ue(this,"_virtualTrack");Ue(this,"_isVirtualEnable",!1);Ue(this,"_imageUrl",null);this.onOriginTrackEnded=this.onOriginTrackEnded.bind(this)}get _originTrack(){var p;return((p=this._beautyPlugin)==null?void 0:p.originTrack)||null}get videoElement(){var p;return((p=this.lastPlayContainer)==null?void 0:p.querySelector(`#video_${this._stream.getId()}`))||null}mirrorVideo(p){this.lastPlayContainer&&this._stream.play(this.lastPlayContainer,{mirror:p}),this.mirrored=p}async applyVirtualBackground(p){var V;if(this._log.info(`applyVirtualBackground ${p} ${this._imageUrl}`),!p)return this.stopVirtualBackground(),!0;if(p===this._imageUrl)return!0;if(this._beautyPlugin||(this._beautyPlugin=new oE.default,await this._beautyPlugin.virtual.loadResources(),this._beautyPlugin.virtual.onoverload=()=>{this._log.info("virtualBackground is onoverload"),this.emit("VirtualBackgroundOverload")}),this._imageUrl)p==="blur"&&this._imageUrl!=="blur"&&this._beautyPlugin.changeType({type:"blur"}),p!=="blur"&&this._imageUrl==="blur"&&this._beautyPlugin.changeType({type:"virtual",img:p}),p!=="blur"&&this._imageUrl!=="blur"&&this._imageUrl!==p&&await this._beautyPlugin.setBackground(p);else{let X=await this._beautyPlugin.generateVirtualStream({localStream:this._stream,type:p==="blur"?"blur":"virtual",img:p==="blur"?void 0:p});this._virtualTrack=X.getVideoTrack(),this._publishedStream&&this._publishedStream.replaceTrack(this._virtualTrack),this._isVirtualEnable=!0}return(V=this._originTrack)==null||V.addEventListener("ended",this.onOriginTrackEnded),this._imageUrl=p,!this._isVirtualEnable&&this._beautyPlugin&&(this._isVirtualEnable=!0,this._beautyPlugin.enableVirtualBg()),!0}async onOriginTrackEnded(){let p=(await sE.default.getCameras())[0];p?this.setDevice(p.deviceId):this.emit("track-ended",this.trackMediaType)}async stopVirtualBackground(){var p;return this._log.info("stopVirtualBackground is called"),this._beautyPlugin&&this._isVirtualEnable&&(this._log.info("RTCBeautyPlugin: call disableVirtualBackground"),this._beautyPlugin.disableVirtualBg(),this._isVirtualEnable=!1,(p=this._originTrack)==null||p.removeEventListener("ended",this.onOriginTrackEnded)),!0}getDeviceId(){var p,V;return this._isVirtualEnable||this._beautyPlugin?((V=(p=this._beautyPlugin.originTrack)==null?void 0:p.getSettings())==null?void 0:V.deviceId)||"":super.getDeviceId()}getMediaStreamTrack(){return this._originTrack&&(this._isVirtualEnable||this._beautyPlugin)?this._originTrack:super.getMediaStreamTrack()}close(){var p;(p=this._beautyPlugin)==null||p.destroy()}};var Ac=class extends Vo{constructor(p){super(yd(qr({},p),{mediaType:"video"}));Ue(this,"_videoProfile",{width:320,height:240,frameRate:15,bitrate:300});let{width:V,height:X,frameRate:N,bitrate:J}=p;Gt.info("new LingoCameraVideoTrack"),this._stream=Td.default.createStream({audio:!1,video:!0,cameraId:p.cameraId}),V&&(this._videoProfile.width=V),X&&(this._videoProfile.height=X),N&&(this._videoProfile.frameRate=N),J&&(this._videoProfile.bitrate=J),this._stream.setVideoProfile(this._videoProfile)}async play(p){await this._stream.play(p.container,{mirror:this.mirrored}),this.lastPlayContainer=p.container}async stop(){await super.stop(),this.lastPlayContainer=null}async setDevice(p){var N,J,Pe;let V=this._beautyPlugin&&this._isVirtualEnable;if(this._log.info(`setDevice ${p} visual: ${V}`),V){let ye=Td.default.createStream({audio:!1,video:!0,cameraId:p});ye.setVideoProfile(this._videoProfile),await ye.initialize();let ut=ye.getVideoTrack();ut&&((N=this._originTrack)==null||N.removeEventListener("ended",this.onOriginTrackEnded),await((J=this._beautyPlugin)==null?void 0:J.replaceVirtualTrack(ut)),(Pe=this._originTrack)==null||Pe.addEventListener("ended",this.onOriginTrackEnded))}else if(await this._stream.switchDevice(this.trackMediaType,p),this._publishedStream&&this._publishedStream!==this._stream){let ye=this.getMediaStreamTrack();ye&&await this._publishedStream.replaceTrack(ye)}let X=(await Td.default.getCameras()).find(ye=>ye.deviceId===p);X&&this.emit("device-switched",X),!this._isVirtualEnable&&this._beautyPlugin&&(this._beautyPlugin.destroy(),this._beautyPlugin=null,this._isVirtualEnable=!1,this._imageUrl=null)}close(){var p;(p=this.getMediaStreamTrack())==null||p.stop(),this._stream.hasAudio()||this._stream.close(),super.close()}};var cE=sr(Rr());var p9=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(Z){let H=Math.random()*16|0;return(Z=="x"?H:H&3|8).toString(16)})};function xd(){return!performance||!performance.now?Date.now():Math.floor(performance.now())}var _g=class{constructor(){this.intervalMap_=new Map}setInterval(H,p,V=!0){if(!window||!window.requestAnimationFrame)return setInterval(H,p);let X=p9(),N=xd(),J=N;this.intervalMap_.set(X,{rafId:null,timeoutId:null,onVisibilityChange:null});let Pe=()=>{if(V&&document.hidden){if(H(),!this.intervalMap_.has(X))return;let ut=setTimeout(Pe,p);this.setTimeoutId(X,ut),N=xd(),J=N}else{if(J=xd(),J-N>=p&&(N=J,H(),!this.intervalMap_.has(X)))return;let ut=requestAnimationFrame(Pe);this.setRafId(X,ut)}},ye=requestAnimationFrame(Pe);if(this.setRafId(X,ye),V){let ut=()=>{if(document.hidden){let Nt=xd()-N;if(Nt>=p)Pe();else{let $e=setTimeout(Pe,p-Nt);this.setTimeoutId(X,$e)}}};document.addEventListener("visibilitychange",ut),this.setOnVisibilityChange(X,ut),document.hidden&&ut()}return X}clearInterval(H){if(this.intervalMap_.has(H)){let{rafId:p,timeoutId:V,onVisibilityChange:X}=this.intervalMap_.get(H);cancelAnimationFrame(p),clearTimeout(V),document.removeEventListener("visibilitychange",X),this.intervalMap_.delete(H)}}setTimeoutId(H,p){if(this.intervalMap_.has(H)){let V=this.intervalMap_.get(H);V.timeoutId&&clearTimeout(V.timeoutId),V.timeoutId=p}}setRafId(H,p){if(this.intervalMap_.has(H)){let V=this.intervalMap_.get(H);V.rafId&&cancelAnimationFrame(V.rafId),V.rafId=p}}setOnVisibilityChange(H,p){if(this.intervalMap_.has(H)){let V=this.intervalMap_.get(H);V.onVisibilityChange=p}}},f9=new _g,yg=f9;var Id=class extends Vo{constructor(p){super({mediaType:"video",id:"cus"});Ue(this,"frameRate",0);Ue(this,"canvas",document.createElement("canvas"));Ue(this,"canvasCtx");Ue(this,"onDraw",null);Ue(this,"_cameraVideoTrack",null);Ue(this,"_timerId");this._cameraVideoTrack=p}timerStop(){yg.clearInterval(this._timerId)}async init(){var X;if(this.canvasCtx)return;this.canvasCtx=this.canvas.getContext("2d");let p=(X=this._cameraVideoTrack)==null?void 0:X.getMediaStreamTrack();if(p){let{width:N,height:J,frameRate:Pe}=p.getSettings();N&&(this.canvas.width=N),J&&(this.canvas.height=J),Pe&&(this.frameRate=Pe)}this._timerId=yg.setInterval(()=>{var Pe,ye,ut;let N=(Pe=this._cameraVideoTrack)==null?void 0:Pe.getMediaStreamTrack();if(N){let{width:Nt,height:$e,frameRate:cr}=N.getSettings();Nt&&(this.canvas.width=Nt),$e&&(this.canvas.height=$e),cr&&(this.frameRate=cr)}let J=(ye=this._cameraVideoTrack)==null?void 0:ye.videoElement;J&&((ut=this.canvasCtx)==null||ut.drawImage(J,0,0,this.canvas.width,this.canvas.height),this.onDraw&&this.onDraw(this.canvas,this.mirrored))},1e3/this.frameRate,!0);let V=this.canvas.captureStream(this.frameRate).getVideoTracks()[0];this._stream=cE.default.createStream({videoSource:V}),await super.init()}async play(p){var V,X,N,J;if(p.container){this.lastPlayContainer=p.container,(V=this._cameraVideoTrack)!=null&&V.isPlaying||await((X=this._cameraVideoTrack)==null?void 0:X.play({container:p.container}));let Pe=(N=this._cameraVideoTrack)==null?void 0:N.videoElement;Pe&&Pe.parentElement&&(Pe.parentElement.style.display="none"),await this._stream.play(p.container),this.mirrorVideo(this.mirrored)}(J=p.custom)!=null&&J.onDraw&&(this.onDraw=p.custom.onDraw)}async stop(){var V;this.onDraw=null;let p=(V=this._cameraVideoTrack)==null?void 0:V.videoElement;p&&p.parentElement&&(p.parentElement.style.display="block"),await this._stream.stop(),this.lastPlayContainer=null}setDevice(p){return Promise.resolve()}};var Sg=sr(Rr());function wd(Z){return Z*1.5>100?100:Z*1.5}var Ed=class extends No{constructor({microphoneId:p}){super({mediaType:"audio"});Ue(this,"_captureVolume",100);Ue(this,"_div",document.createElement("div"));Ue(this,"_isPlayCalled",!1);Gt.info("new LingoMicrophoneAudioTrack"),this._stream=Sg.default.createStream({audio:!0,video:!1,microphoneId:p})}async play(){return this._isPlayCalled=!0,await this._stream.play(this._div,{muted:!1})}stop(){return this._isPlayCalled=!1,super.stop()}setPublishedStream(p){var V;p===null?(V=this._publishedStream)==null||V.setAudioCaptureVolume(100):p.setAudioCaptureVolume(this._captureVolume),super.setPublishedStream(p)}async setDevice(p){if(Gt.warn(`switch mic ${p}`),p==="default"&&this._stream.isAudioRecovering_)return;if(await this._stream.switchDevice(this.trackMediaType,p),this._publishedStream&&this._publishedStream!==this._stream){let X=this.getMediaStreamTrack();X&&await this._publishedStream.replaceTrack(X)}let V=(await Sg.default.getMicrophones()).find(X=>X.deviceId===p);V&&this.emit("device-switched",V)}setVolume(p){var V;(V=this._publishedStream)==null||V.setAudioCaptureVolume(p),this._captureVolume=p}getVolume(){return this._isPlayCalled||(this._isPlayCalled=!0,this._stream.play(this._div)),wd(this._stream.getAudioLevel()*100)}setSpeakerDevice(p){return this._stream.setAudioOutput(p)}close(){var p;(p=this.getMediaStreamTrack())==null||p.stop(),this._stream.hasAudio()||this._stream.close()}};var Uo=class extends Mo{constructor({uid:p,mediaType:V,stream:X}){super({mediaType:V});Ue(this,"uid");Ue(this,"isSubscribed",!1);this.uid=p,this._stream=X,this._stream.on("player-state-changed",({state:N})=>{this._playerState=N})}subscribe(){this.isSubscribed=!0}unsubscribe(){this.isSubscribed=!1}};var Cd=class extends Uo{constructor({uid:H,stream:p}){super({uid:H,mediaType:"audio",stream:p})}setVolume(H){this._stream.setAudioVolume(H/100)}getVolume(){return wd(this._stream.getAudioLevel()*100)}setSpeakerDevice(H){return this._stream.setAudioOutput(H)}async play(){return this._stream.isPlaying()?Promise.resolve():this._stream.play(document.createElement("div"))}};var Rd=class extends Uo{constructor({uid:p,stream:V}){super({uid:p,mediaType:"video",stream:V});Ue(this,"mirrored",!1);Ue(this,"lastPlayContainer")}async play(p){await this._stream.play(p.container),this.lastPlayContainer=p.container}async stop(){await super.stop(),this.lastPlayContainer=null}mirrorVideo(p){this.lastPlayContainer&&(this._stream.play(this.lastPlayContainer,{mirror:p}),this.mirrored=p)}};import{LingoBaseRTC as v9,LingoRTCError as xg}from"@lingoace/lingo-base-rtc";var bg=sr(Rr());import{LingoBaseRTCClient as m9,LingoRTCError as Bo,config as Pc}from"@lingoace/lingo-base-rtc";var Ad=new WeakMap;function Pd(){return function(Z,H,p){let V=p.value,X=({fn:N,args:J,context:Pe,resolve:ye,reject:ut})=>{N.apply(Pe,J).then(ye,ut).finally(()=>{let Nt=Ad.get(Pe);Nt.shift(),Nt[0]&&X(qr({},Nt[0]))})};return p.value=function(...N){return new Promise((J,Pe)=>{if(Ad.has(this)){let ye=Ad.get(this),{length:ut}=ye;ye.push({fn:V,args:N,context:this,resolve:J,reject:Pe}),ut===0&&X({fn:V,args:N,context:this,resolve:J,reject:Pe})}else Ad.set(this,[{fn:V,args:N,context:this,resolve:J,reject:Pe}]),X({fn:V,args:N,context:this,resolve:J,reject:Pe})})},p}}import{LingoRTCError as uE}from"@lingoace/lingo-base-rtc";function Cn(Z){return function(H,p,V){let X=V.value;return V.value=async function(...N){try{return await X.apply(this,N)}catch(J){throw Z?Z(J):J instanceof uE?J:uE.createOtherError(J.message)}},V}}var Rn=class extends m9{constructor(){super(...arguments);Ue(this,"_client",null);Ue(this,"_localStream",null);Ue(this,"_screenStream",null);Ue(this,"_remoteAuxiliaryStream",null);Ue(this,"_remoteMainStreamMap",new Map);Ue(this,"_remoteUserIdSet",new Set);Ue(this,"_quality",{res:"0x0",vfps:0,vra:0,ara:0,rtt:0,pktLostRate:0,upQuality:0,downQuality:0});Ue(this,"_prevLocalVideoStat",null);Ue(this,"_prevLocalAudioStat",null)}getRemoteUsers(){let p=new Map;return this._remoteUserIdSet.forEach(V=>{p.set(V,{uid:V,hasAudio:!1,hasVideo:!1})}),this.remoteAudioTrackMap.forEach(V=>{if(p.has(V.uid)){let X=p.get(V.uid);X.hasAudio=!0,X.audioTrack=V.isSubscribed?V:void 0}else p.set(V.uid,{uid:V.uid,hasAudio:!0,hasVideo:!1,audioTrack:V.isSubscribed?V:void 0,videoTrack:void 0})}),this.remoteVideoTrackMap.forEach(V=>{let{uid:X}=V;if(p.has(V.uid)){let N=p.get(V.uid);N.hasVideo=!0,N.videoTrack=V.isSubscribed?V:void 0}else p.set(X,{uid:X,hasAudio:!1,hasVideo:!0,audioTrack:void 0,videoTrack:V.isSubscribed?V:void 0})}),[...p.values()]}async join(p){return this._client=bg.default.createClient({sdkAppId:Number(p.appId),userId:p.uid,userSig:p.token,mode:"rtc",useStringRoomId:!0,autoSubscribe:!1,enableAutoPlayDialog:!1}),this.handleEvents(),await this._client.join({roomId:p.roomId}),this.joinParam=p,this.uid=p.uid,p.uid}async leave(){!this._client||(await this._client.leave(),this.joinParam=void 0,this._client=null)}start(){return Promise.resolve()}async publish(p){return this._localStream?await this._localStream.addTrack(p.getMediaStreamTrack()):(await this._client.publish(p._stream),this._localStream=p._stream),p.setPublishedStream(this._localStream),this.localTracks.push(p),!0}async unpublish(p){var X;let V=p.getMediaStreamTrack();return!V||!this._localStream||this.localTracks.length===0||(this.localTracks.length===1?(await((X=this._client)==null?void 0:X.unpublish(this._localStream)),p.setPublishedStream(null),this._localStream=null,this.localTracks=[]):this.localTracks.find(N=>N===p)&&(await this._localStream.removeTrack(V),p.setPublishedStream(null),this.localTracks=this.localTracks.filter(N=>N!==p))),!0}async subscribe(p,V){var X,N;if(!this._client)throw Bo.createOtherError("\u7528\u6237\u672A\u8FDB\u623F\uFF0C\u65E0\u6CD5\u8BA2\u9605");if(V==="audio"&&!this.remoteAudioTrackMap.has(p))throw Bo.createOtherError(`\u8FDC\u7AEF\u7528\u6237: ${p} \u672A\u63A8\u97F3\u9891\uFF0C\u65E0\u6CD5\u8BA2\u9605`);if(V==="video"&&p!==Pc.screenSharingUid&&!this.remoteVideoTrackMap.has(p))throw Bo.createOtherError(`\u8FDC\u7AEF\u7528\u6237: ${p} \u672A\u63A8\u89C6\u9891\uFF0C\u65E0\u6CD5\u8BA2\u9605`);if(Gt.info(`subscribe ${p} ${V}`),p===Pc.screenSharingUid&&this._remoteAuxiliaryStream&&this._client)return await this._client.subscribe(this._remoteAuxiliaryStream),!0;if(V==="audio"){let J=this.remoteAudioTrackMap.get(p);J.subscribe();try{await this._client.subscribe(J._stream,{audio:!0,video:!!((X=this.remoteVideoTrackMap.get(p))!=null&&X.isSubscribed)})}catch(Pe){throw J.unsubscribe(),Pe}}else{let J=this.remoteVideoTrackMap.get(p);J.subscribe();try{await this._client.subscribe(J._stream,{video:!0,audio:!!((N=this.remoteAudioTrackMap.get(p))!=null&&N.isSubscribed)})}catch(Pe){throw J.unsubscribe(),Pe}}return!0}async unsubscribe(p,V){var N,J;if(!this._client)throw Bo.createOtherError("\u7528\u6237\u672A\u8FDB\u623F\uFF0C\u65E0\u6CD5\u8BA2\u9605");Gt.info(`unsubscribe ${p} ${V}`);let X=null;if(V==="audio"&&this.remoteAudioTrackMap.has(p)?X=this.remoteAudioTrackMap.get(p):V==="video"&&this.remoteVideoTrackMap.has(p)&&(X=this.remoteVideoTrackMap.get(p)),!X)throw Bo.createOtherError(`\u8FDC\u7AEF\u7528\u6237: ${p} \u672A\u63A8 ${V}\uFF0C\u65E0\u6CD5\u8BA2\u9605`);return p===Pc.screenSharingUid&&this._remoteAuxiliaryStream?(await this._client.unsubscribe(this._remoteAuxiliaryStream),!0):(V==="audio"?(N=this.remoteVideoTrackMap.get(p))!=null&&N.isSubscribed?await this._client.subscribe(X._stream,{video:!0,audio:!1}):await this._client.unsubscribe(X._stream):(J=this.remoteAudioTrackMap.get(p))!=null&&J.isSubscribed?await this._client.subscribe(X._stream,{video:!1,audio:!0}):await this._client.unsubscribe(X._stream),X.unsubscribe(),!0)}getQOEStats(){return this._quality}async startScreenShare(p){if(!this.joinParam||!this._client)throw Bo.createOtherError("\u7528\u6237\u672A\u8FDB\u623F\uFF0C\u65E0\u6CD5\u5F00\u542F\u5C4F\u5E55\u5206\u4EAB");this._screenStream=bg.default.createStream({screen:!0,screenAudio:!0});let V={width:1280,height:720,frameRate:15,bitrate:2e3};this._screenStream.setScreenProfile(qr(qr({},V),p)),this._screenStream.on("screen-sharing-stopped",async()=>{await this.stopScreenShare(),this.emit("ScreenSharingEnded")}),await this._screenStream.initialize(),await this._client.publish(this._screenStream,{isAuxiliary:!0})}async stopScreenShare(){!this._client||!this._screenStream||(await this._client.unpublish(this._screenStream),this._screenStream.stop(),this._screenStream.close(),this._screenStream=null)}async playScreenShareView(p){var V;this._remoteAuxiliaryStream&&this._client?(await this._client.subscribe(this._remoteAuxiliaryStream),await this._remoteAuxiliaryStream.play(p)):await((V=this._screenStream)==null?void 0:V.play(p))}async stopScreenShareView(){var p;this._remoteAuxiliaryStream&&this._client?(await this._client.unsubscribe(this._remoteAuxiliaryStream),await this._remoteAuxiliaryStream.stop()):await((p=this._screenStream)==null?void 0:p.stop())}handleEvents(){!this._client||(this._client.on("connection-state-changed",({prevState:p,state:V})=>{this.connectionState=V,this.emit("ConnectionStateChange",V,p,"")}),this._client.on("peer-join",p=>{this._remoteUserIdSet.add(p.userId),this.emit("UserJoined",p.userId)}),this._client.on("peer-leave",p=>{this._remoteUserIdSet.delete(p.userId),this.emit("UserLeft",p.userId)}),this._client.on("stream-added",p=>{let V=p.stream,X=V.getUserId();if(V.getType()==="auxiliary"){this._remoteAuxiliaryStream=V,this.emit("RemoteScreenSharing",Pc.screenSharingUid,!0,"video");return}this._remoteMainStreamMap.set(X,V),V.on("error",N=>{if(N.getCode()===16451){let J=()=>{V.resume().then(()=>{document.body.removeEventListener("click",J),document.body.removeEventListener("touchstart",J)})};document.body.addEventListener("click",J,!0),document.body.addEventListener("touchstart",J,!0),this.emit("AutoplayFailed")}}),V.hasAudio()&&this.handleUserPublished(X,"audio"),V.hasVideo()&&this.handleUserPublished(X,"video")}),this._client.on("stream-updated",p=>{let V=p.stream,X=V.getUserId();!this.remoteAudioTrackMap.has(X)&&V.hasAudio()&&this.handleUserPublished(X,"audio"),this.remoteAudioTrackMap.has(X)&&!V.hasAudio()&&this.handleUserUnpublished(X,"audio"),!this.remoteVideoTrackMap.has(X)&&V.hasVideo()&&this.handleUserPublished(X,"video"),this.remoteVideoTrackMap.has(X)&&!V.hasVideo()&&this.handleUserUnpublished(X,"video")}),this._client.on("stream-removed",p=>{let V=p.stream.getUserId();if(p.stream.getType()==="auxiliary"){this._remoteAuxiliaryStream=null,this.emit("RemoteScreenSharing",Pc.screenSharingUid,!1,"video");return}this._remoteMainStreamMap.delete(V),this.handleUserUnpublished(V,"audio"),this.handleUserUnpublished(V,"video")}),this._client.on("network-quality",p=>{var V,X;this._quality.upQuality=p.uplinkNetworkQuality,this._quality.downQuality=p.downlinkNetworkQuality,this._quality.rtt=p.uplinkRTT,this._quality.pktLostRate=p.uplinkLoss,(V=this._client)==null||V.getLocalVideoStats().then(N=>{let J=N[this.uid];J&&(this._quality.res=`${J.frameWidth}x${J.frameHeight}`,this._prevLocalVideoStat&&(this._quality.vfps=Math.floor((J.framesSent-this._prevLocalVideoStat.framesSent)/2)||0,this._quality.vra=Math.floor((J.bytesSent-this._prevLocalVideoStat.bytesSent)*8/2)||0),this._prevLocalVideoStat=J)}),(X=this._client)==null||X.getLocalAudioStats().then(N=>{let J=N[this.uid];J&&(this._prevLocalAudioStat&&(this._quality.ara=Math.floor((J.bytesSent-this._prevLocalAudioStat.bytesSent)*8/2)||0),this._prevLocalAudioStat=J)}),this.emit("NetworkQuality",p)}),this._client.on("mute-audio",p=>{this.handleUserUnpublished(p.userId,"audio")}),this._client.on("unmute-audio",p=>{this.handleUserPublished(p.userId,"audio",!0)}))}handleUserUnpublished(p,V){Gt.info(`UserUnpublished ${p} ${V}`),V==="audio"?this.remoteAudioTrackMap.has(p)&&(this.remoteAudioTrackMap.delete(p),this.emit("UserUnpublished",p,V)):this.remoteVideoTrackMap.has(p)&&(this.remoteVideoTrackMap.delete(p),this.emit("UserUnpublished",p,V))}handleUserPublished(p,V,X=!1){var Pe;Gt.info(`UserPublished ${p} ${V} firedByUnmute: ${X}`);let N=this._remoteMainStreamMap.get(p),J=(Pe=this._client)==null?void 0:Pe.getRemoteMutedState().find(ye=>ye.userId===p);if(N){if(V==="audio"&&!this.remoteAudioTrackMap.has(p)&&N.hasAudio()){if(!X&&J&&J.audioMuted)return;let ye=new Cd({uid:p,stream:N});this.remoteAudioTrackMap.set(p,ye)}else if(V==="video"&&!this.remoteVideoTrackMap.has(p)&&N.hasVideo()){let ye=new Rd({uid:p,stream:N});this.remoteVideoTrackMap.set(p,ye)}this.emit("UserPublished",p,V)}}};En([Cn(),Pd()],Rn.prototype,"publish",1),En([Cn()],Rn.prototype,"unpublish",1),En([Cn()],Rn.prototype,"subscribe",1),En([Cn()],Rn.prototype,"unsubscribe",1),En([Cn()],Rn.prototype,"startScreenShare",1),En([Cn()],Rn.prototype,"stopScreenShare",1),En([Cn()],Rn.prototype,"playScreenShareView",1),En([Cn()],Rn.prototype,"stopScreenShareView",1);var Fo=sr(Rr());var lE=sr(mg()),kg=sr(Rr());var Tg=class extends lE.default{constructor(){super();Ue(this,"prevDevices_",[]);navigator.mediaDevices&&(this.onDeviceChange=this.onDeviceChange.bind(this),navigator.mediaDevices.addEventListener("devicechange",this.onDeviceChange))}async init(){this.prevDevices_=await kg.default.getDevices()}async onDeviceChange(){let p=await kg.default.getDevices(),V=p.filter(N=>this.prevDevices_.findIndex(({deviceId:J})=>N.deviceId===J)<0),X=this.prevDevices_.filter(N=>p.findIndex(({deviceId:J})=>N.deviceId===J)<0);V.length>0&&V.forEach(N=>{this.emit("device-added",N)}),X.length>0&&X.forEach(N=>{this.emit("device-removed",N)}),this.prevDevices_=p}destroy(){navigator.mediaDevices.removeEventListener("devicechange",this.onDeviceChange)}},dE=Tg;var Gt=Fo.default.Logger.loggerManager,jo=class extends v9{constructor(){super(...arguments);Ue(this,"version",Kw);Ue(this,"_deviceDetector",new dE);Ue(this,"_virtualOverloadCount",0);Ue(this,"_isVirtualOverloadStart",0)}init(p){return Gt.info(`lingo-trtc version: ${this.version}`),Promise.resolve()}release(){this._deviceDetector.destroy(),super.release()}async checkSystemRequirements(){let{result:p}=await Fo.default.checkSystemRequirements();return p&&Fo.default.isScreenShareSupported()}async createClient(){return this.client=new Rn,await this._deviceDetector.init(),this._deviceDetector.on("device-added",p=>{p.kind==="videoinput"?this.client.emit("CameraChanged",!0,p):p.kind==="audioinput"?this.client.emit("MicrophoneChanged",!0,p):p.kind==="audiooutput"&&this.client.emit("SpeakerDeviceChanged",!0,p)}),this._deviceDetector.on("device-removed",async p=>{var V,X;if(p.kind==="videoinput"){let N=this.cameraVideoTrack||this.previewVideoTrack;if(p.deviceId===(N==null?void 0:N.getDeviceId())){if((await Fo.default.getCameras()).length===0){this.client.emit("CameraChanged",!1,p);return}N.once("device-switched",()=>{this.client.emit("CameraChanged",!1,p)}),N.once("track-ended",()=>{this.client.emit("CameraChanged",!1,p)})}else this.client.emit("CameraChanged",!1,p)}else if(p.kind==="audioinput")if(p.deviceId===((V=this.microphoneAudioTrack)==null?void 0:V.getDeviceId())){if((await Fo.default.getMicrophones()).length===0){this.client.emit("CameraChanged",!1,p);return}this.microphoneAudioTrack.once("device-switched",()=>{this.client.emit("CameraChanged",!1,p)}),(X=this.microphoneAudioTrack)==null||X.once("track-ended",()=>{this.client.emit("CameraChanged",!1,p)})}else this.client.emit("MicrophoneChanged",!1,p);else p.kind==="audiooutput"&&this.client.emit("SpeakerDeviceChanged",!1,p)}),this.client}async createCustomVideoTrack(p){if(this.customVideoTrack&&!this.customVideoTrack.closed)return this.customVideoTrack;Gt.info("createCustomVideoTrack");let V=new Id(p);return await V.init(),this.customVideoTrack=V,V}async detectCamera(p){var V,X;if(this.previewVideoTrack&&!this.previewVideoTrack.closed)return{checkIsActive:()=>{var N,J;return Promise.resolve(((J=(N=this.previewVideoTrack)==null?void 0:N.getMediaStreamTrack())==null?void 0:J.readyState)==="live")},cleanup:()=>{var N,J;(N=this.previewVideoTrack)==null||N.stop(),(J=this.previewVideoTrack)==null||J.close(),this.previewVideoTrack=void 0}};Gt.info("detectCamera");try{let N=new Ac({cameraId:p.cameraId,id:"pv"});return N.on("device-switched",J=>this.client.emit("DeviceSwitched",J)),this.previewVideoTrack=N,await N.init(),p.mirror&&N.mirrorVideo(p.mirror),p.container&&await N.play({container:p.container}),{checkIsActive:()=>{var J;return Promise.resolve(((J=N.getMediaStreamTrack())==null?void 0:J.readyState)==="live")},cleanup:()=>{N.stop(),N.close(),this.previewVideoTrack=void 0}}}catch(N){throw(V=this.previewVideoTrack)==null||V.stop(),(X=this.previewVideoTrack)==null||X.close(),this.previewVideoTrack=void 0,N}}processExternalMediaAEC(p){}async createMicrophoneAudioTrack(p){if(this.microphoneAudioTrack&&!this.microphoneAudioTrack.closed)return this.microphoneAudioTrack;Gt.info("createMicrophoneAudioTrack");let V=new Ed({microphoneId:p});return V.on("device-switched",X=>this.client.emit("DeviceSwitched",X)),await V.init(),this.microphoneAudioTrack=V,this.client.emit("LocalTrackCreated",V),V}async createCameraVideoTrack(p){if(this.cameraVideoTrack&&!this.cameraVideoTrack.closed)return this.cameraVideoTrack;Gt.info(`createCameraVideoTrack ${JSON.stringify(p)}`);let V=new Ac(yd(qr({},p),{id:"ct"}));return V.on("device-switched",X=>this.client.emit("DeviceSwitched",X)),await V.init(),this.cameraVideoTrack=V,this.client.emit("LocalTrackCreated",V),this.cameraVideoTrack.on("VirtualBackgroundOverload",()=>{this._virtualOverloadCount++,Gt.warn(`VirtualBackground overload count is: ${this._virtualOverloadCount}`),new Date().getTime()-this._isVirtualOverloadStart>5e3&&(this._virtualOverloadCount>10&&(Gt.warn("VirtualBackgroundOverload"),this.client.emit("VirtualBackgroundOverload")),this._virtualOverloadCount=0,this._isVirtualOverloadStart=new Date().getTime())}),V}};En([Pd(),Cn(Z=>xg.createRTCError(Z))],jo.prototype,"detectCamera",1),En([Cn(Z=>xg.createRTCError(Z))],jo.prototype,"createMicrophoneAudioTrack",1),En([Cn(Z=>xg.createRTCError(Z))],jo.prototype,"createCameraVideoTrack",1);var BG=jo;export{BG as default,Gt as loggerManager};
|
|
584
|
+
`+R.getProgramInfoLog(Q));O=x.s=Q,R.useProgram(O),G=R.getUniformLocation(O,"sampler0"),x.l={O:R.getAttribLocation(O,"aVertex"),N:R.getAttribLocation(O,"aTex"),ya:G},x.v=R.createBuffer(),R.bindBuffer(R.ARRAY_BUFFER,x.v),R.enableVertexAttribArray(x.l.O),R.vertexAttribPointer(x.l.O,2,R.FLOAT,!1,0,0),R.bufferData(R.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),R.STATIC_DRAW),R.bindBuffer(R.ARRAY_BUFFER,null),x.u=R.createBuffer(),R.bindBuffer(R.ARRAY_BUFFER,x.u),R.enableVertexAttribArray(x.l.N),R.vertexAttribPointer(x.l.N,2,R.FLOAT,!1,0,0),R.bufferData(R.ARRAY_BUFFER,new Float32Array([0,1,0,0,1,0,1,1]),R.STATIC_DRAW),R.bindBuffer(R.ARRAY_BUFFER,null),R.uniform1i(G,0)}O=x.l,R.useProgram(x.s),R.canvas.width=D.width,R.canvas.height=D.height,R.viewport(0,0,D.width,D.height),R.activeTexture(R.TEXTURE0),x.i.bindTexture2d(D.glName),R.enableVertexAttribArray(O.O),R.bindBuffer(R.ARRAY_BUFFER,x.v),R.vertexAttribPointer(O.O,2,R.FLOAT,!1,0,0),R.enableVertexAttribArray(O.N),R.bindBuffer(R.ARRAY_BUFFER,x.u),R.vertexAttribPointer(O.N,2,R.FLOAT,!1,0,0),R.bindFramebuffer(R.DRAW_FRAMEBUFFER?R.DRAW_FRAMEBUFFER:R.FRAMEBUFFER,null),R.clearColor(0,0,0,0),R.clear(R.COLOR_BUFFER_BIT),R.colorMask(!0,!0,!0,!0),R.drawArrays(R.TRIANGLE_FAN,0,4),R.disableVertexAttribArray(O.O),R.disableVertexAttribArray(O.N),R.bindBuffer(R.ARRAY_BUFFER,null),x.i.bindTexture2d(0)}(d,m),typeof d.h.canvas.transferToImageBitmap=="function"?Promise.resolve(d.h.canvas.transferToImageBitmap()):b?Promise.resolve(d.h.canvas):typeof createImageBitmap=="function"?createImageBitmap(d.h.canvas):(d.j===void 0&&(d.j=document.createElement("canvas")),new Promise(function(x){d.j.height=d.h.canvas.height,d.j.width=d.h.canvas.width,d.j.getContext("2d",{}).drawImage(d.h.canvas,0,0,d.h.canvas.width,d.h.canvas.height),x(d.j)}))}function Wd(d){this.h=d}Da.prototype.l=ps(au);var su=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,9,1,7,0,65,0,253,15,26,11]);function Jd(d,m){return m+d}function Oa(d,m){window[d]=m}function Yn(d){if(this.h=d,this.listeners={},this.l={},this.L={},this.s={},this.v={},this.M=this.u=this.ga=!0,this.I=Promise.resolve(),this.fa="",this.D={},this.locateFile=d&&d.locateFile||Jd,(typeof window=="undefined"?"undefined":X(window))==="object")var m=window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/";else{if(typeof location=="undefined")throw Error("solutions can only be loaded on a web page or in a web worker");m=location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/"}if(this.ha=m,d.options)for(var b=(m=W(Object.keys(d.options))).next();!b.done;b=m.next()){b=b.value;var x=d.options[b].default;x!==void 0&&(this.l[b]=typeof x=="function"?x():x)}}function qd(d){var m,b,x,D,R,O,G,Q,he,fe,we;return tt(function(Ae){switch(Ae.h){case 1:return d.ga?(m=d.h.files===void 0?[]:typeof d.h.files=="function"?d.h.files(d.l):d.h.files,ht(Ae,tt(function(me){switch(me.h){case 1:return me.s=2,ht(me,WebAssembly.instantiate(su),4);case 4:me.h=3,me.s=0;break;case 2:return me.s=0,me.l=null,me.return(!1);case 3:return me.return(!0)}}),2)):Ae.return();case 2:if(b=Ae.i,(typeof window=="undefined"?"undefined":X(window))==="object")return Oa("createMediapipeSolutionsWasm",{locateFile:d.locateFile}),Oa("createMediapipeSolutionsPackedAssets",{locateFile:d.locateFile}),O=m.filter(function(me){return me.data!==void 0}),G=m.filter(function(me){return me.data===void 0}),Q=Promise.all(O.map(function(me){var Le=ni(d,me.url);if(me.path!==void 0){var Be=me.path;Le=Le.then(function(ct){return d.overrideFile(Be,ct),Promise.resolve(ct)})}return Le})),he=Promise.all(G.map(function(me){return me.simd===void 0||me.simd&&b||!me.simd&&!b?function(Le){var Be=document.createElement("script");return Be.setAttribute("src",Le),Be.setAttribute("crossorigin","anonymous"),new Promise(function(ct){Be.addEventListener("load",function(){ct()},!1),Be.addEventListener("error",function(){ct()},!1),document.body.appendChild(Be)})}(d.locateFile(me.url,d.ha)):Promise.resolve()})).then(function(){var me,Le,Be;return tt(function(ct){if(ct.h==1)return me=window.createMediapipeSolutionsWasm,Le=window.createMediapipeSolutionsPackedAssets,Be=d,ht(ct,me(Le),2);Be.i=ct.i,ct.h=0})}),fe=tt(function(me){return d.h.graph&&d.h.graph.url?me=ht(me,ni(d,d.h.graph.url),0):(me.h=0,me=void 0),me}),ht(Ae,Promise.all([he,Q,fe]),7);if(typeof importScripts!="function")throw Error("solutions can only be loaded on a web page or in a web worker");return x=m.filter(function(me){return me.simd===void 0||me.simd&&b||!me.simd&&!b}).map(function(me){return d.locateFile(me.url,d.ha)}),importScripts.apply(null,ae(x)),D=d,ht(Ae,createMediapipeSolutionsWasm(Module),6);case 6:D.i=Ae.i,d.m=new OffscreenCanvas(1,1),d.i.canvas=d.m,R=d.i.GL.createContext(d.m,{antialias:!1,alpha:!1,va:typeof WebGL2RenderingContext!="undefined"?2:1}),d.i.GL.makeContextCurrent(R),Ae.h=4;break;case 7:if(d.m=document.createElement("canvas"),!(we=d.m.getContext("webgl2",{}))&&!(we=d.m.getContext("webgl",{})))return alert("Failed to create WebGL canvas context when passing video frame."),Ae.return();d.K=we,d.i.canvas=d.m,d.i.createContext(d.m,!0,!0,{});case 4:d.j=new d.i.SolutionWasm,d.ga=!1,Ae.h=0}})}function ni(d,m){var b,x;return tt(function(D){return m in d.L?D.return(d.L[m]):(b=d.locateFile(m,""),x=fetch(b).then(function(R){return R.arrayBuffer()}),d.L[m]=x,D.return(x))})}function Kd(d,m,b){var x,D,R,O,G,Q,he,fe,we,Ae,me,Le,Be,ct;return tt(function(dt){switch(dt.h){case 1:if(!b)return dt.return(m);for(x={},D=0,R=W(Object.keys(b)),O=R.next();!O.done;O=R.next())G=O.value,typeof(Q=b[G])!="string"&&Q.type==="texture"&&m[Q.stream]!==void 0&&++D;1<D&&(d.M=!1),he=W(Object.keys(b)),O=he.next();case 2:if(O.done){dt.h=4;break}if(fe=O.value,typeof(we=b[fe])=="string")return Be=x,ct=fe,ht(dt,function(Nn,Va,ii){var Ua;return tt(function(gs){return typeof ii=="number"||ii instanceof Uint8Array||ii instanceof Nn.i.Uint8BlobList?gs.return(ii):ii instanceof Nn.i.Texture2dDataOut?((Ua=Nn.v[Va])||(Ua=new Vi(Nn.i,Nn.K),Nn.v[Va]=Ua),gs.return(La(Ua,ii,Nn.M))):gs.return(void 0)})}(d,fe,m[we]),14);if(Ae=m[we.stream],we.type==="detection_list"){if(Ae){for(var Bt=Ae.getRectList(),fn=Ae.getLandmarksList(),St=Ae.getClassificationsList(),Ke=[],Xe=0;Xe<Bt.size();++Xe){var vr=Hd(Bt.get(Xe)),Na=void 0;Na=Na===void 0?0:Na,vr={la:{sa:On(vr,1),ta:On(vr,2),height:On(vr,3),width:On(vr,4),rotation:On(vr,5,0),pa:Ca(pn(vr,6),Na)},ea:Tt(Gd(fn.get(Xe)),mr,1).map(Mn),ba:zd(Fd(St.get(Xe)))},Ke.push(vr)}Bt=Ke}else Bt=[];x[fe]=Bt,dt.h=7;break}if(we.type==="proto_list"){if(Ae){for(Bt=Array(Ae.size()),fn=0;fn<Ae.size();fn++)Bt[fn]=Ae.get(fn);Ae.delete()}else Bt=[];x[fe]=Bt,dt.h=7;break}if(Ae===void 0){dt.h=3;break}if(we.type==="float_list"){x[fe]=Ae,dt.h=7;break}if(we.type==="proto"){x[fe]=Ae,dt.h=7;break}if(we.type!=="texture")throw Error("Unknown output config type: '"+we.type+"'");return(me=d.v[fe])||(me=new Vi(d.i,d.K),d.v[fe]=me),ht(dt,La(me,Ae,d.M),13);case 13:Le=dt.i,x[fe]=Le;case 7:we.transform&&x[fe]&&(x[fe]=we.transform(x[fe])),dt.h=3;break;case 14:Be[ct]=dt.i;case 3:O=he.next(),dt.h=2;break;case 4:return dt.return(x)}})}function Ma(d,m){for(var b=m.name||"$",x=[].concat(ae(m.wants)),D=new d.i.StringList,R=W(m.wants),O=R.next();!O.done;O=R.next())D.push_back(O.value);R=d.i.PacketListener.implement({onResults:function(G){for(var Q={},he=0;he<m.wants.length;++he)Q[x[he]]=G.get(he);var fe=d.listeners[b];fe&&(d.I=Kd(d,Q,m.outs).then(function(we){we=fe(we);for(var Ae=0;Ae<m.wants.length;++Ae){var me=Q[x[Ae]];X(me)==="object"&&me.hasOwnProperty&&me.hasOwnProperty("delete")&&me.delete()}we&&(d.I=we)}))}}),d.j.attachMultiListener(D,R),D.delete()}function ri(d){return d===void 0&&(d=0),d===1?"selfie_segmentation_landscape.tflite":"selfie_segmentation.tflite"}function Ui(d){var m=this;d=d||{},this.h=new Yn({locateFile:d.locateFile,files:function(b){return[{simd:!0,url:"selfie_segmentation_solution_simd_wasm_bin.js"},{simd:!1,url:"selfie_segmentation_solution_wasm_bin.js"},{data:!0,url:ri(b.modelSelection)}]},graph:{url:"selfie_segmentation.binarypb"},listeners:[{wants:["segmentation_mask","image_transformed"],outs:{image:{type:"texture",stream:"image_transformed"},segmentationMask:{type:"texture",stream:"segmentation_mask"}}}],inputs:{image:{type:"video",stream:"input_frames_gpu"}},options:{useCpuInference:{type:0,graphOptionXref:{calculatorType:"InferenceCalculator",fieldName:"use_cpu_inference"},default:(typeof window=="undefined"?"undefined":X(window))==="object"&&window.navigator!==void 0&&("iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document)},selfieMode:{type:0,graphOptionXref:{calculatorType:"GlScalerCalculator",calculatorIndex:1,fieldName:"flip_horizontal"}},modelSelection:{type:1,graphOptionXref:{calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorModelSelection",fieldName:"int_value"},onChange:function(b){var x,D,R;return tt(function(O){return O.h==1?(x=ri(b),D="third_party/mediapipe/modules/selfie_segmentation/"+x,ht(O,ni(m.h,x),2)):(R=O.i,m.h.overrideFile(D,R),O.return(!0))})}}}})}(se=Yn.prototype).close=function(){return this.j&&this.j.delete(),Promise.resolve()},se.reset=function(){var d=this;return tt(function(m){d.j&&(d.j.reset(),d.s={},d.v={}),m.h=0})},se.setOptions=function(d,m){var b=this;if(m=m||this.h.options){for(var x=[],D=[],R={},O=W(Object.keys(d)),G=O.next();!G.done;R={X:R.X,Y:R.Y},G=O.next())if(!((G=G.value)in this.l)||this.l[G]!==d[G]){this.l[G]=d[G];var Q=m[G];Q!==void 0&&(Q.onChange&&(R.X=Q.onChange,R.Y=d[G],x.push(function(he){return function(){return tt(function(fe){if(fe.h==1)return ht(fe,he.X(he.Y),2);fe.i===!0&&(b.u=!0),fe.h=0})}}(R))),Q.graphOptionXref&&(G=Object.assign({},{calculatorName:"",calculatorIndex:0},Q.graphOptionXref,{valueNumber:Q.type===1?d[G]:0,valueBoolean:Q.type===0&&d[G],valueString:Q.type===2?d[G]:""}),D.push(G)))}x.length===0&&D.length===0||(this.u=!0,this.H=(this.H===void 0?[]:this.H).concat(D),this.F=(this.F===void 0?[]:this.F).concat(x))}},se.initialize=function(){var d=this;return tt(function(m){return m.h==1?ht(m,qd(d),2):m.h!=3?ht(m,function(b){var x,D,R,O,G,Q,he,fe;return tt(function(we){if(we.h==1)return b.h.graph&&b.h.graph.url&&b.fa===b.h.graph.url?we.return():(b.u=!0,b.h.graph&&b.h.graph.url?(b.fa=b.h.graph.url,ht(we,ni(b,b.h.graph.url),3)):void(we.h=2));for(we.h!=2&&(x=we.i,b.j.loadGraph(x)),D=W(Object.keys(b.D)),R=D.next();!R.done;R=D.next())O=R.value,b.j.overrideFile(O,b.D[O]);if(b.D={},b.h.listeners)for(G=W(b.h.listeners),Q=G.next();!Q.done;Q=G.next())he=Q.value,Ma(b,he);fe=b.l,b.l={},b.setOptions(fe),we.h=0})}(d),3):ht(m,function(b){var x,D,R,O,G,Q;return tt(function(he){switch(he.h){case 1:if(!b.u)return he.return();if(!b.F){he.h=2;break}x=W(b.F),D=x.next();case 3:if(D.done){he.h=5;break}return ht(he,(0,D.value)(),4);case 4:D=x.next(),he.h=3;break;case 5:b.F=void 0;case 2:if(b.H){for(R=new b.i.GraphOptionChangeRequestList,O=W(b.H),G=O.next();!G.done;G=O.next())Q=G.value,R.push_back(Q);b.j.changeOptions(R),R.delete(),b.H=void 0}b.u=!1,he.h=0}})}(d),0)})},se.overrideFile=function(d,m){this.j?this.j.overrideFile(d,m):this.D[d]=m},se.clearOverriddenFiles=function(){this.D={},this.j&&this.j.clearOverriddenFiles()},se.send=function(d,m){var b,x,D,R,O,G,Q,he,fe,we=this;return tt(function(Ae){switch(Ae.h){case 1:return we.h.inputs?(b=1e3*(m==null?performance.now():m),ht(Ae,we.I,2)):Ae.return();case 2:return ht(Ae,we.initialize(),3);case 3:for(x=new we.i.PacketDataList,D=W(Object.keys(d)),R=D.next();!R.done;R=D.next())if(O=R.value,G=we.h.inputs[O]){e:{var me=d[O];switch(G.type){case"video":var Le=we.s[G.stream];if(Le||(Le=new Vi(we.i,we.K),we.s[G.stream]=Le),Le.m===0&&(Le.m=Le.i.createTexture()),typeof HTMLVideoElement!="undefined"&&me instanceof HTMLVideoElement)var Be=me.videoWidth,ct=me.videoHeight;else typeof HTMLImageElement!="undefined"&&me instanceof HTMLImageElement?(Be=me.naturalWidth,ct=me.naturalHeight):(Be=me.width,ct=me.height);ct={glName:Le.m,width:Be,height:ct},(Be=Le.h).canvas.width=ct.width,Be.canvas.height=ct.height,Be.activeTexture(Be.TEXTURE0),Le.i.bindTexture2d(Le.m),Be.texImage2D(Be.TEXTURE_2D,0,Be.RGBA,Be.RGBA,Be.UNSIGNED_BYTE,me),Le.i.bindTexture2d(0),Le=ct;break e;case"detections":for((Le=we.s[G.stream])||(Le=new Wd(we.i),we.s[G.stream]=Le),Le.data||(Le.data=new Le.h.DetectionListData),Le.data.reset(me.length),ct=0;ct<me.length;++ct){Be=me[ct];var dt=Le.data,Bt=dt.setBoundingBox,fn=ct,St=Be.la,Ke=new Da;if(Ln(Ke,1,St.sa),Ln(Ke,2,St.ta),Ln(Ke,3,St.height),Ln(Ke,4,St.width),Ln(Ke,5,St.rotation),Dn(Ke,6,St.pa),St=Ke.l(),Bt.call(dt,fn,St),Be.ea)for(dt=0;dt<Be.ea.length;++dt){Ke=Be.ea[dt],fn=(Bt=Le.data).addNormalizedLandmark,St=ct,Ke=Object.assign({},Ke,{visibility:Ke.visibility?Ke.visibility:0});var Xe=new mr;Ln(Xe,1,Ke.x),Ln(Xe,2,Ke.y),Ln(Xe,3,Ke.z),Ke.visibility&&Ln(Xe,4,Ke.visibility),Ke=Xe.l(),fn.call(Bt,St,Ke)}if(Be.ba)for(dt=0;dt<Be.ba.length;++dt)fn=(Bt=Le.data).addClassification,St=ct,Ke=Be.ba[dt],Ln(Xe=new ti,2,Ke.qa),Ke.index&&Dn(Xe,1,Ke.index),Ke.label&&Dn(Xe,3,Ke.label),Ke.displayName&&Dn(Xe,4,Ke.displayName),Ke=Xe.l(),fn.call(Bt,St,Ke)}Le=Le.data;break e;default:Le={}}}switch(Q=Le,he=G.stream,G.type){case"video":x.pushTexture2d(Object.assign({},Q,{stream:he,timestamp:b}));break;case"detections":(fe=Q).stream=he,fe.timestamp=b,x.pushDetectionList(fe);break;default:throw Error("Unknown input config type: '"+G.type+"'")}}return we.j.send(x),ht(Ae,we.I,4);case 4:x.delete(),Ae.h=0}})},se.onResults=function(d,m){this.listeners[m||"$"]=d},de("Solution",Yn),de("OptionType",{BOOL:0,NUMBER:1,ua:2,0:"BOOL",1:"NUMBER",2:"STRING"}),(se=Ui.prototype).close=function(){return this.h.close(),Promise.resolve()},se.onResults=function(d){this.h.onResults(d)},se.initialize=function(){var d=this;return tt(function(m){return ht(m,d.h.initialize(),0)})},se.reset=function(){this.h.reset()},se.send=function(d){var m=this;return tt(function(b){return ht(b,m.h.send(d),0)})},se.setOptions=function(d){this.h.setOptions(d)},de("SelfieSegmentation",Ui),de("VERSION","0.1.1675465747")}).call(Wo);var Ar=function(se){return typeof se=="number"},Oc=function(){function se(){Re(this,se),this.userId="",this.videoBeauty=document.createElement("video"),this.videoBeauty.loop=!0,this.videoBeauty.autoplay=!0,this.videoVirtual=document.createElement("video"),this.videoVirtual.loop=!0,this.videoVirtual.autoplay=!0,this.onoverload=null,this.canvasBeauty=document.createElement("canvas"),this.filter=new Ho({canvas:this.canvasBeauty,video:this.videoBeauty}),this.canvasVirtual=document.createElement("canvas"),this.virtual=new zo({canvas:this.canvasVirtual,video:this.videoVirtual,onoverload:this.onoverload}),this.beautyParams={beauty:.5,brightness:.5,ruddy:.5},this.timeoutId=null,this.rafId=null,this.startTime=null,this.originTrack=null,this.beautyTrack=null,this.resultTrack=null,this.localStream=null,this.frameRate=null,this.disableStatus=!1,this.isVirualEnable=!1}var ke,be,je,ze,ie;return et(se,[{key:"generateBeautyStream",value:function(W){this.userId=W==null?void 0:W.getUserId();var ae=W.getVideoTrack();if(!ae)throw new Error("Your localStream does not contain video track.");var j=this.generateBeautyTrack(ae);return W.replaceTrack(j),this.localStream=W,W.setBeautyStatus&&W.setBeautyStatus(!0),console.log("RTCBeautyPlugin: generateBeautyStream ".concat(this.userId?"userId: ".concat(this.userId):"")),W}},{key:"generateBeautyTrack",value:function(W){var ae=this;this.reset();var j=W.getSettings();this.frameRate=j.frameRate,this.filter.setRect(j.width,j.height),this.setRect(j.width,j.height);var te=new MediaStream;te.addTrack(W),this.videoBeauty.srcObject=te,this.videoBeauty.play();var Se=this.canvasBeauty.captureStream(this.frameRate||15).getVideoTracks()[0];return this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(function(){ae.startTime=new Date().getTime(),ae.render()}),this.installEvents(),this.originTrack=W,this.beautyTrack=Se,this.setTrackParam({type:"beauty",originTrack:W,resultTrack:Se,param:this.beautyParams}),Se}},{key:"setBackground",value:(ie=J(V().mark(function W(ae){return V().wrap(function(j){for(;;)switch(j.prev=j.next){case 0:return j.next=2,this.virtual.setBackground(ae);case 2:console.log("RTCBeautyPlugin: setBackground img:".concat(ae));case 3:case"end":return j.stop()}},W,this)})),function(W){return ie.apply(this,arguments)})},{key:"generateStream",value:(ze=J(V().mark(function W(ae){var j,te,Se,oe,_e;return V().wrap(function(Oe){for(;;)switch(Oe.prev=Oe.next){case 0:if(j=ae.localStream,te=ae.type,Se=ae.img,oe=j.getVideoTrack()){Oe.next=4;break}throw new Error("Your localStream does not contain video track.");case 4:return this.localStream=j,Oe.next=7,this.generateMixedTrack({videoTrack:oe,type:te,img:Se});case 7:return _e=Oe.sent,j.replaceTrack(_e),j.setBeautyStatus&&j.setBeautyStatus(!0),Oe.abrupt("return",j);case 11:case"end":return Oe.stop()}},W,this)})),function(W){return ze.apply(this,arguments)})},{key:"generateMixedTrack",value:(je=J(V().mark(function W(ae){var j,te,Se,oe,_e;return V().wrap(function(Oe){for(;;)switch(Oe.prev=Oe.next){case 0:if(j=ae.videoTrack,te=ae.type,Se=ae.img,this.virtual.selfieSegmentation){Oe.next=3;break}throw new Error("you should call loadResources() first");case 3:return this.virtual.initVirtualParams({type:te,img:Se}),Oe.next=6,this.generateBeautyTrack(j);case 6:return oe=Oe.sent,Oe.next=9,this.generateVirtualTrack({videoTrack:oe,type:te,img:Se});case 9:return _e=Oe.sent,this.beautyTrack=oe,this.resultTrack=_e,this.setTrackParam({type:"mixed",originTrack:this.originTrack,resultTrack:this.resultTrack,param:{type:te,img:Se}}),Oe.abrupt("return",this.resultTrack);case 14:case"end":return Oe.stop()}},W,this)})),function(W){return je.apply(this,arguments)})},{key:"generateVirtualStream",value:(be=J(V().mark(function W(ae){var j,te,Se,oe,_e;return V().wrap(function(Oe){for(;;)switch(Oe.prev=Oe.next){case 0:if(j=ae.localStream,te=ae.type,Se=ae.img,oe=j.getVideoTrack()){Oe.next=4;break}throw new Error("Your localStream does not contain video track.");case 4:return this.localStream=j,Oe.next=7,this.generateVirtualTrack({videoTrack:oe,type:te,img:Se});case 7:return _e=Oe.sent,Oe.next=10,j.replaceTrack(_e);case 10:return j.setBeautyStatus&&j.setBeautyStatus(!0),console.log("".concat(this.userId?"[userId: ".concat(this.userId,"]"):""," RTCBeautyPlugin generate ").concat(te," Stream.")),Oe.abrupt("return",j);case 13:case"end":return Oe.stop()}},W,this)})),function(W){return be.apply(this,arguments)})},{key:"generateVirtualTrack",value:(ke=J(V().mark(function W(ae){var j,te,Se,oe;return V().wrap(function(_e){for(;;)switch(_e.prev=_e.next){case 0:if(j=ae.videoTrack,te=ae.type,Se=ae.img,this.virtual.selfieSegmentation){_e.next=3;break}throw new Error("you should call loadResources() first");case 3:return oe=j.getSettings(),this.frameRate=oe.frameRate,this.virtual.setRect(oe.width,oe.height),_e.next=8,this.virtual.initVirtualParams({type:te,img:Se});case 8:return this.setRect(oe.width,oe.height),this.mediaStream=new MediaStream,this.mediaStream.addTrack(j),this.videoVirtual.srcObject=this.mediaStream,_e.next=14,this.videoVirtual.play();case 14:return this.virtual.startVirtual(this.frameRate),_e.next=17,this.virtual.render();case 17:return this.originTrack=j,this.resultTrack=this.canvasVirtual.captureStream(this.frameRate||15).getVideoTracks()[0],this.setTrackParam({type:"virtual",originTrack:this.originTrack,resultTrack:this.resultTrack,param:{type:te,img:Se}}),this.isVirualEnable=!0,_e.abrupt("return",this.resultTrack);case 22:case"end":return _e.stop()}},W,this)})),function(W){return ke.apply(this,arguments)})},{key:"replaceVirtualTrack",value:function(W){this.isVirualEnable&&(this.mediaStream.removeTrack(this.mediaStream.getVideoTracks()[0]),this.mediaStream.addTrack(W),this.originTrack=W)}},{key:"deleteSource",value:function(W){if(p.default){var ae=p.default.beautyTrackMap.get(W);ae&&(ae.type==="mixed"&&this.deleteSource(ae.originTrack.id),ae.originTrack&&(ae.originTrack.stop(),ae.originTrack=null),ae.beautyTrack&&(ae.beautyTrack.stop(),ae.beautyTrack=null),ae.resultTrack&&(ae.resultTrack.stop(),ae.resultTrack=null),p.default.beautyTrackMap.delete(W))}}},{key:"draw",value:function(){this.videoBeauty&&this.videoBeauty.readyState===this.videoBeauty.HAVE_ENOUGH_DATA&&this.filter.apply(this.videoBeauty)}},{key:"enableVirtualBg",value:function(){var W;if(this.virtual&&!this.isVirualEnable)return this.virtual.setEnable(!0),this.virtual.render(),this.isVirualEnable=!0,(W=this.localStream)===null||W===void 0||W.replaceTrack(this.resultTrack),console.log("".concat(this.userId?"[userId: ".concat(this.userId,"]"):""," RTCBeautyPlugin enable.")),this.resultTrack}},{key:"disableVirtualBg",value:function(){var W;if(this.virtual&&this.isVirualEnable)return this.virtual.setEnable(!1),this.isVirualEnable=!1,(W=this.localStream)===null||W===void 0||W.replaceTrack(this.originTrack),console.log("".concat(this.userId?"[userId: ".concat(this.userId,"]"):""," RTCBeautyPlugin disable.")),this.originTrack}},{key:"changeType",value:function(W){var ae=W.type,j=W.img;console.log("".concat(this.userId?"[userId: ".concat(this.userId,"]"):""," RTCBeautyPlugin changeType\uFF1A").concat(ae,". img: ").concat(j,".")),ae==="blur"&&(this.virtual.reset(),this.virtual.initVirtualParams({type:"blur"}),this.virtual.startVirtual(this.frameRate),this.virtual.render()),ae==="virtual"&&(this.virtual.reset(),this.virtual.initVirtualParams({type:"virtual",img:j}),this.virtual.startVirtual(this.frameRate),this.virtual.render()),this.setTrackParam({type:ae,originTrack:this.originTrack,resultTrack:this.resultTrack,param:{type:ae,img:j}})}},{key:"render",value:function(){var W=this,ae=new Date().getTime();ae-this.startTime>1e3/this.frameRate&&(this.draw(),this.startTime=ae),document.hidden?(clearTimeout(this.timeoutId),this.timeoutId=setTimeout(function(){W.render()},1e3/this.frameRate)):(this.timeoutId&&clearTimeout(this.timeoutId),this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.render.bind(this)))}},{key:"setBeautyParam",value:function(W){var ae=W.beauty,j=W.brightness,te=W.ruddy;Ar(ae)&&(this.beautyParams.beauty=ae),Ar(j)&&(this.beautyParams.brightness=j),Ar(te)&&(this.beautyParams.ruddy=te),this.filter.setBeautyParams(this.beautyParams),this.getClose()&&!this.disableStatus&&this.disable(),!this.getClose()&&this.disableStatus&&this.enable()}},{key:"setRect",value:function(W,ae){var j=W||640,te=ae||480;this.videoBeauty.height=te,this.videoBeauty.width=j,this.canvasBeauty.height=te,this.canvasBeauty.width=j,this.videoVirtual.height=te,this.videoVirtual.width=j,this.canvasVirtual.height=te,this.canvasVirtual.width=j}},{key:"reset",value:function(){cancelAnimationFrame(this.rafId),clearTimeout(this.timeoutId),this.videoBeauty.pause(),this.filter.reset(),this.beautyTrack&&this.beautyTrack.stop(),this.videoVirtual.pause(),this.resultTrack&&this.resultTrack.stop(),this.originTrack&&this.originTrack.stop()}},{key:"destroy",value:function(){cancelAnimationFrame(this.rafId),clearTimeout(this.timeoutId),this.canvasBeauty&&(this.canvasBeauty.width=0,this.canvasBeauty.height=0,this.canvasBeauty.remove(),this.canvasBeauty=null),this.videoBeauty&&(this.videoBeauty.pause(),this.videoBeauty.removeAttribute("srcObject"),this.videoBeauty.removeAttribute("src"),this.videoBeauty.load(),this.videoBeauty.width=0,this.videoBeauty.height=0,this.videoBeauty.remove(),this.videoBeauty=null),this.beautyTrack&&(this.deleteSource(this.beautyTrack.id),this.beautyTrack.stop(),this.beautyTrack=null),this.originTrack&&(this.originTrack.stop(),this.originTrack=null),this.resultTrack&&(this.deleteSource(this.resultTrack.id),this.resultTrack.stop(),this.resultTrack=null),this.canvasVirtual&&(this.canvasVirtual.width=0,this.canvasVirtual.height=0,this.canvasVirtual.remove(),this.canvasVirtual=null),this.videoVirtual&&(this.videoVirtual.pause(),this.videoVirtual.removeAttribute("srcObject"),this.videoVirtual.removeAttribute("src"),this.videoVirtual.load(),this.videoVirtual.width=0,this.videoVirtual.height=0,this.videoVirtual.remove(),this.videoVirtual=null),this.virtual.destroy(),this.uninstallEvents()}},{key:"generateVideoTrackFromCanvasCapture",value:function(W){return this.canvasVirtual.captureStream(W).getVideoTracks()[0]}},{key:"setTrackParam",value:function(W){var ae=W.type,j=W.originTrack,te=W.resultTrack,Se=W.param;p.default&&(p.default.beautyTrackMap||(p.default.beautyTrackMap=new Map),p.default.beautyTrackMap.set(te.id,{type:ae,originTrack:j,resultTrack:te,param:Se,pluginInstance:this}))}},{key:"disable",value:function(){this.localStream&&this.originTrack&&(this.localStream.replaceTrack(this.originTrack),cancelAnimationFrame(this.rafId),clearTimeout(this.timeoutId),this.disableStatus=!0)}},{key:"enable",value:function(){this.localStream&&this.beautyTrack&&(this.localStream.replaceTrack(this.beautyTrack),this.render(),this.disableStatus=!1)}},{key:"installEvents",value:function(){document.addEventListener("visibilitychange",this.render.bind(this))}},{key:"uninstallEvents",value:function(){document.removeEventListener("visibilitychange",this.render.bind(this))}},{key:"overload",value:function(){this.onoverload&&this.onoverload()}},{key:"getClose",value:function(){return this.beautyParams.beauty===0&&this.beautyParams.brightness===0&&this.beautyParams.ruddy===0}}]),se}();return p.default&&(p.default.getRTCBeautyPlugin=function(){return new Oc}),Oc})});var Xw="0.0.13";var Td=cr(Rr());var kd=cr(Rr());var oE=cr(mg());var No=class extends oE.default{constructor({mediaType:p}){super();Ue(this,"trackMediaType");Ue(this,"_stream");Ue(this,"_playerState");this.trackMediaType=p}get isPlaying(){return this._playerState==="PLAYING"}async stop(){this._playerState="STOPPED",await this._stream.stop()}};var _9=1,Vo=class extends No{constructor(p){super(p);Ue(this,"TRTC",kd.default);Ue(this,"muted");Ue(this,"_publishedStream",null);Ue(this,"_log");this._log=Gt.createLogger({id:p.id+_9++})}get closed(){let p=this.getMediaStreamTrack();return p?p.readyState==="ended":!0}async init(){this._stream.on("device-auto-recovered",async({isMicrophone:p,isCamera:V,microphoneId:X,cameraId:N})=>{if(this._publishedStream&&this._stream!==this._publishedStream){let J=this.getMediaStreamTrack(),Re=this.trackMediaType==="audio"?this._publishedStream.getAudioTrack():this._publishedStream.getVideoTrack();J&&Re&&J!==Re&&this._publishedStream.replaceTrack(J)}if(p){let J=(await kd.default.getMicrophones()).find(Re=>Re.deviceId===X);J&&this.emit("device-switched",J)}if(V){let J=(await kd.default.getCameras()).find(Re=>Re.deviceId===N);J&&this.emit("device-switched",J)}}),this._stream.on("player-state-changed",({state:p})=>{this._playerState=p}),this._stream.on("error",p=>{p.getCode()===16452&&this.emit("track-ended",this.trackMediaType)}),await this._stream.initialize()}setPublishedStream(p){this._publishedStream=p}on(p,V){return super.on(p,V),this}async setMuted(p){let V=this._publishedStream||this._stream;this.trackMediaType==="audio"?p?V.muteAudio():V.unmuteAudio():p?V.muteVideo():V.unmuteVideo()}getMediaStreamTrack(){return this.trackMediaType==="audio"?this._stream.getAudioTrack():this._stream.getVideoTrack()}close(){this._stream.close()}getTrackLabel(){var p;return((p=this.getMediaStreamTrack())==null?void 0:p.label)||""}getDeviceId(){var p,V;return((V=(p=this.getMediaStreamTrack())==null?void 0:p.getSettings())==null?void 0:V.deviceId)||""}};var cE=cr(sE()),uE=cr(Rr());var Uo=class extends Vo{constructor(p){super(p);Ue(this,"mirrored",!1);Ue(this,"lastPlayContainer");Ue(this,"_beautyPlugin");Ue(this,"_virtualTrack");Ue(this,"_isVirtualEnable",!1);Ue(this,"_imageUrl",null);this.onOriginTrackEnded=this.onOriginTrackEnded.bind(this)}get _originTrack(){var p;return((p=this._beautyPlugin)==null?void 0:p.originTrack)||null}get videoElement(){var p;return((p=this.lastPlayContainer)==null?void 0:p.querySelector(`#video_${this._stream.getId()}`))||null}mirrorVideo(p){this.lastPlayContainer&&this._stream.play(this.lastPlayContainer,{mirror:p}),this.mirrored=p}async applyVirtualBackground(p){var V;if(this._log.info(`applyVirtualBackground ${p} ${this._imageUrl}`),!p)return this.stopVirtualBackground(),!0;if(p===this._imageUrl)return!0;if(this._beautyPlugin||(this._beautyPlugin=new cE.default,await this._beautyPlugin.virtual.loadResources(),this._beautyPlugin.virtual.onoverload=()=>{this._log.info("virtualBackground is onoverload"),this.emit("VirtualBackgroundOverload")}),this._imageUrl)p==="blur"&&this._imageUrl!=="blur"&&this._beautyPlugin.changeType({type:"blur"}),p!=="blur"&&this._imageUrl==="blur"&&this._beautyPlugin.changeType({type:"virtual",img:p}),p!=="blur"&&this._imageUrl!=="blur"&&this._imageUrl!==p&&await this._beautyPlugin.setBackground(p);else{let X=await this._beautyPlugin.generateVirtualStream({localStream:this._stream,type:p==="blur"?"blur":"virtual",img:p==="blur"?void 0:p});this._virtualTrack=X.getVideoTrack(),this._publishedStream&&this._publishedStream.replaceTrack(this._virtualTrack),this._isVirtualEnable=!0}return(V=this._originTrack)==null||V.addEventListener("ended",this.onOriginTrackEnded),this._imageUrl=p,!this._isVirtualEnable&&this._beautyPlugin&&(this._isVirtualEnable=!0,this._beautyPlugin.enableVirtualBg()),!0}async onOriginTrackEnded(){let p=(await uE.default.getCameras())[0];p?this.setDevice(p.deviceId):this.emit("track-ended",this.trackMediaType)}async stopVirtualBackground(){var p;return this._log.info("stopVirtualBackground is called"),this._beautyPlugin&&this._isVirtualEnable&&(this._log.info("RTCBeautyPlugin: call disableVirtualBackground"),this._beautyPlugin.disableVirtualBg(),this._isVirtualEnable=!1,(p=this._originTrack)==null||p.removeEventListener("ended",this.onOriginTrackEnded)),!0}getDeviceId(){var p,V;return this._isVirtualEnable||this._beautyPlugin?((V=(p=this._beautyPlugin.originTrack)==null?void 0:p.getSettings())==null?void 0:V.deviceId)||"":super.getDeviceId()}getMediaStreamTrack(){return this._originTrack&&(this._isVirtualEnable||this._beautyPlugin)?this._originTrack:super.getMediaStreamTrack()}close(){var p;(p=this._beautyPlugin)==null||p.destroy()}};var ga=class extends Uo{constructor(p){var Re;super(yd(Xr({},p),{mediaType:"video"}));Ue(this,"_videoProfile",{width:320,height:240,frameRate:15,bitrate:300});let{width:V,height:X,frameRate:N,bitrate:J}=p;Gt.info("new LingoCameraVideoTrack"),this._stream=Td.default.createStream({audio:!1,video:!0,cameraId:p.cameraId}),V&&(this._videoProfile.width=V),X&&(this._videoProfile.height=X),N&&(this._videoProfile.frameRate=N),J&&(this._videoProfile.bitrate=J),this._stream.setVideoProfile(this._videoProfile),(Re=this._publishedStream)==null||Re.setVideoProfile(this._videoProfile)}getVideoProfile(){return this._videoProfile}async play(p){await this._stream.play(p.container,{mirror:this.mirrored}),this.lastPlayContainer=p.container}async stop(){await super.stop(),this.lastPlayContainer=null}async setDevice(p){var N,J,Re,Ie;let V=this._beautyPlugin&&this._isVirtualEnable;if(this._log.info(`setDevice ${p} visual: ${V}`),V){let et=Td.default.createStream({audio:!1,video:!0,cameraId:p});et.setVideoProfile(this._videoProfile),(N=this._publishedStream)==null||N.setVideoProfile(this._videoProfile),await et.initialize();let Ct=et.getVideoTrack();Ct&&((J=this._originTrack)==null||J.removeEventListener("ended",this.onOriginTrackEnded),await((Re=this._beautyPlugin)==null?void 0:Re.replaceVirtualTrack(Ct)),(Ie=this._originTrack)==null||Ie.addEventListener("ended",this.onOriginTrackEnded))}else if(await this._stream.switchDevice(this.trackMediaType,p),this._publishedStream&&this._publishedStream!==this._stream){let et=this.getMediaStreamTrack();et&&await this._publishedStream.replaceTrack(et)}let X=(await Td.default.getCameras()).find(et=>et.deviceId===p);X&&this.emit("device-switched",X),!this._isVirtualEnable&&this._beautyPlugin&&(this._beautyPlugin.destroy(),this._beautyPlugin=null,this._isVirtualEnable=!1,this._imageUrl=null)}close(){var p;(p=this.getMediaStreamTrack())==null||p.stop(),this._stream.hasAudio()||this._stream.close(),super.close()}};var lE=cr(Rr());var y9=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(Z){let H=Math.random()*16|0;return(Z=="x"?H:H&3|8).toString(16)})};function xd(){return!performance||!performance.now?Date.now():Math.floor(performance.now())}var _g=class{constructor(){this.intervalMap_=new Map}setInterval(H,p,V=!0){if(!window||!window.requestAnimationFrame)return setInterval(H,p);let X=y9(),N=xd(),J=N;this.intervalMap_.set(X,{rafId:null,timeoutId:null,onVisibilityChange:null});let Re=()=>{if(V&&document.hidden){if(H(),!this.intervalMap_.has(X))return;let et=setTimeout(Re,p);this.setTimeoutId(X,et),N=xd(),J=N}else{if(J=xd(),J-N>=p&&(N=J,H(),!this.intervalMap_.has(X)))return;let et=requestAnimationFrame(Re);this.setRafId(X,et)}},Ie=requestAnimationFrame(Re);if(this.setRafId(X,Ie),V){let et=()=>{if(document.hidden){let Ct=xd()-N;if(Ct>=p)Re();else{let $e=setTimeout(Re,p-Ct);this.setTimeoutId(X,$e)}}};document.addEventListener("visibilitychange",et),this.setOnVisibilityChange(X,et),document.hidden&&et()}return X}clearInterval(H){if(this.intervalMap_.has(H)){let{rafId:p,timeoutId:V,onVisibilityChange:X}=this.intervalMap_.get(H);cancelAnimationFrame(p),clearTimeout(V),document.removeEventListener("visibilitychange",X),this.intervalMap_.delete(H)}}setTimeoutId(H,p){if(this.intervalMap_.has(H)){let V=this.intervalMap_.get(H);V.timeoutId&&clearTimeout(V.timeoutId),V.timeoutId=p}}setRafId(H,p){if(this.intervalMap_.has(H)){let V=this.intervalMap_.get(H);V.rafId&&cancelAnimationFrame(V.rafId),V.rafId=p}}setOnVisibilityChange(H,p){if(this.intervalMap_.has(H)){let V=this.intervalMap_.get(H);V.onVisibilityChange=p}}},S9=new _g,yg=S9;var Id=class extends Uo{constructor(p){super({mediaType:"video",id:"cus"});Ue(this,"frameRate",0);Ue(this,"canvas",document.createElement("canvas"));Ue(this,"canvasCtx");Ue(this,"onDraw",null);Ue(this,"_cameraVideoTrack",null);Ue(this,"_timerId");this._cameraVideoTrack=p}timerStop(){yg.clearInterval(this._timerId)}async init(){var X;if(this.canvasCtx)return;this.canvasCtx=this.canvas.getContext("2d");let p=(X=this._cameraVideoTrack)==null?void 0:X.getMediaStreamTrack();if(p){let{width:N,height:J,frameRate:Re}=p.getSettings();N&&(this.canvas.width=N),J&&(this.canvas.height=J),Re&&(this.frameRate=Re)}this._timerId=yg.setInterval(()=>{var Re,Ie,et;let N=(Re=this._cameraVideoTrack)==null?void 0:Re.getMediaStreamTrack();if(N){let{width:Ct,height:$e,frameRate:ur}=N.getSettings();Ct&&(this.canvas.width=Ct),$e&&(this.canvas.height=$e),ur&&(this.frameRate=ur)}let J=(Ie=this._cameraVideoTrack)==null?void 0:Ie.videoElement;J&&((et=this.canvasCtx)==null||et.drawImage(J,0,0,this.canvas.width,this.canvas.height),this.onDraw&&this.onDraw(this.canvas,this.mirrored))},1e3/this.frameRate,!0);let V=this.canvas.captureStream(this.frameRate).getVideoTracks()[0];this._stream=lE.default.createStream({videoSource:V}),await super.init()}async play(p){var V,X,N,J;if(p.container){this.lastPlayContainer=p.container,(V=this._cameraVideoTrack)!=null&&V.isPlaying||await((X=this._cameraVideoTrack)==null?void 0:X.play({container:p.container}));let Re=(N=this._cameraVideoTrack)==null?void 0:N.videoElement;Re&&Re.parentElement&&(Re.parentElement.style.display="none"),await this._stream.play(p.container),this.mirrorVideo(this.mirrored)}(J=p.custom)!=null&&J.onDraw&&(this.onDraw=p.custom.onDraw)}async stop(){var V;this.onDraw=null;let p=(V=this._cameraVideoTrack)==null?void 0:V.videoElement;p&&p.parentElement&&(p.parentElement.style.display="block"),await this._stream.stop(),this.lastPlayContainer=null}setDevice(p){return Promise.resolve()}};var Sg=cr(Rr());function wd(Z){return Z*1.5>100?100:Z*1.5}var Ed=class extends Vo{constructor({microphoneId:p}){super({mediaType:"audio"});Ue(this,"_captureVolume",100);Ue(this,"_div",document.createElement("div"));Ue(this,"_isPlayCalled",!1);Gt.info("new LingoMicrophoneAudioTrack"),this._stream=Sg.default.createStream({audio:!0,video:!1,microphoneId:p})}async play(){return this._isPlayCalled=!0,await this._stream.play(this._div,{muted:!1})}stop(){return this._isPlayCalled=!1,super.stop()}setPublishedStream(p){var V;p===null?(V=this._publishedStream)==null||V.setAudioCaptureVolume(100):p.setAudioCaptureVolume(this._captureVolume),super.setPublishedStream(p)}async setDevice(p){if(Gt.warn(`switch mic ${p}`),p==="default"&&this._stream.isAudioRecovering_)return;if(await this._stream.switchDevice(this.trackMediaType,p),this._publishedStream&&this._publishedStream!==this._stream){let X=this.getMediaStreamTrack();X&&await this._publishedStream.replaceTrack(X)}let V=(await Sg.default.getMicrophones()).find(X=>X.deviceId===p);V&&this.emit("device-switched",V)}setVolume(p){var V;(V=this._publishedStream)==null||V.setAudioCaptureVolume(p),this._captureVolume=p}getVolume(){return this._isPlayCalled||(this._isPlayCalled=!0,this._stream.play(this._div)),wd(this._stream.getAudioLevel()*100)}setSpeakerDevice(p){return this._stream.setAudioOutput(p)}close(){var p;(p=this.getMediaStreamTrack())==null||p.stop(),this._stream.hasAudio()||this._stream.close()}};var jo=class extends No{constructor({uid:p,mediaType:V,stream:X}){super({mediaType:V});Ue(this,"uid");Ue(this,"isSubscribed",!1);this.uid=p,this._stream=X,this._stream.on("player-state-changed",({state:N})=>{this._playerState=N})}subscribe(){this.isSubscribed=!0}unsubscribe(){this.isSubscribed=!1}};var Cd=class extends jo{constructor({uid:H,stream:p}){super({uid:H,mediaType:"audio",stream:p})}setVolume(H){this._stream.setAudioVolume(H/100)}getVolume(){return wd(this._stream.getAudioLevel()*100)}setSpeakerDevice(H){return this._stream.setAudioOutput(H)}async play(){return this._stream.isPlaying()?Promise.resolve():this._stream.play(document.createElement("div"))}};var Rd=class extends jo{constructor({uid:p,stream:V}){super({uid:p,mediaType:"video",stream:V});Ue(this,"mirrored",!1);Ue(this,"lastPlayContainer")}async play(p){await this._stream.play(p.container),this.lastPlayContainer=p.container}async stop(){await super.stop(),this.lastPlayContainer=null}mirrorVideo(p){this.lastPlayContainer&&(this._stream.play(this.lastPlayContainer,{mirror:p}),this.mirrored=p)}};import{LingoBaseRTC as k9,LingoRTCError as xg}from"@lingoace/lingo-base-rtc";var bg=cr(Rr());import{LingoBaseRTCClient as b9,LingoRTCError as Bo,config as Dc}from"@lingoace/lingo-base-rtc";var Ad=new WeakMap;function Pd(){return function(Z,H,p){let V=p.value,X=({fn:N,args:J,context:Re,resolve:Ie,reject:et})=>{N.apply(Re,J).then(Ie,et).finally(()=>{let Ct=Ad.get(Re);Ct.shift(),Ct[0]&&X(Xr({},Ct[0]))})};return p.value=function(...N){return new Promise((J,Re)=>{if(Ad.has(this)){let Ie=Ad.get(this),{length:et}=Ie;Ie.push({fn:V,args:N,context:this,resolve:J,reject:Re}),et===0&&X({fn:V,args:N,context:this,resolve:J,reject:Re})}else Ad.set(this,[{fn:V,args:N,context:this,resolve:J,reject:Re}]),X({fn:V,args:N,context:this,resolve:J,reject:Re})})},p}}import{LingoRTCError as dE}from"@lingoace/lingo-base-rtc";function Cn(Z){return function(H,p,V){let X=V.value;return V.value=async function(...N){try{return await X.apply(this,N)}catch(J){throw Z?Z(J):J instanceof dE?J:dE.createOtherError(J.message)}},V}}var Rn=class extends b9{constructor(){super(...arguments);Ue(this,"_client",null);Ue(this,"_localStream",null);Ue(this,"_screenStream",null);Ue(this,"_remoteAuxiliaryStream",null);Ue(this,"_remoteMainStreamMap",new Map);Ue(this,"_remoteUserIdSet",new Set);Ue(this,"_quality",{res:"0x0",vfps:0,vra:0,ara:0,rtt:0,pktLostRate:0,upQuality:0,downQuality:0});Ue(this,"_prevLocalVideoStat",null);Ue(this,"_prevLocalAudioStat",null)}getRemoteUsers(){let p=new Map;return this._remoteUserIdSet.forEach(V=>{p.set(V,{uid:V,hasAudio:!1,hasVideo:!1})}),this.remoteAudioTrackMap.forEach(V=>{if(p.has(V.uid)){let X=p.get(V.uid);X.hasAudio=!0,X.audioTrack=V.isSubscribed?V:void 0}else p.set(V.uid,{uid:V.uid,hasAudio:!0,hasVideo:!1,audioTrack:V.isSubscribed?V:void 0,videoTrack:void 0})}),this.remoteVideoTrackMap.forEach(V=>{let{uid:X}=V;if(p.has(V.uid)){let N=p.get(V.uid);N.hasVideo=!0,N.videoTrack=V.isSubscribed?V:void 0}else p.set(X,{uid:X,hasAudio:!1,hasVideo:!0,audioTrack:void 0,videoTrack:V.isSubscribed?V:void 0})}),[...p.values()]}async join(p){return this._client=bg.default.createClient({sdkAppId:Number(p.appId),userId:p.uid,userSig:p.token,mode:"rtc",useStringRoomId:!0,autoSubscribe:!1,enableAutoPlayDialog:!1}),this.handleEvents(),await this._client.join({roomId:p.roomId}),this.joinParam=p,this.uid=p.uid,p.uid}async leave(){!this._client||(await this._client.leave(),this.joinParam=void 0,this._client=null)}start(){return Promise.resolve()}async publish(p){return this._localStream?(p instanceof ga&&await this._localStream.setVideoProfile(p.getVideoProfile()),await this._localStream.addTrack(p.getMediaStreamTrack())):(await this._client.publish(p._stream),this._localStream=p._stream),p.setPublishedStream(this._localStream),this.localTracks.push(p),!0}async unpublish(p){var X;let V=p.getMediaStreamTrack();return!V||!this._localStream||this.localTracks.length===0||(this.localTracks.length===1?(await((X=this._client)==null?void 0:X.unpublish(this._localStream)),p.setPublishedStream(null),this._localStream=null,this.localTracks=[]):this.localTracks.find(N=>N===p)&&(await this._localStream.removeTrack(V),p.setPublishedStream(null),this.localTracks=this.localTracks.filter(N=>N!==p))),!0}async subscribe(p,V){var X,N;if(!this._client)throw Bo.createOtherError("\u7528\u6237\u672A\u8FDB\u623F\uFF0C\u65E0\u6CD5\u8BA2\u9605");if(V==="audio"&&!this.remoteAudioTrackMap.has(p))throw Bo.createOtherError(`\u8FDC\u7AEF\u7528\u6237: ${p} \u672A\u63A8\u97F3\u9891\uFF0C\u65E0\u6CD5\u8BA2\u9605`);if(V==="video"&&p!==Dc.screenSharingUid&&!this.remoteVideoTrackMap.has(p))throw Bo.createOtherError(`\u8FDC\u7AEF\u7528\u6237: ${p} \u672A\u63A8\u89C6\u9891\uFF0C\u65E0\u6CD5\u8BA2\u9605`);if(Gt.info(`subscribe ${p} ${V}`),p===Dc.screenSharingUid&&this._remoteAuxiliaryStream&&this._client)return await this._client.subscribe(this._remoteAuxiliaryStream),!0;if(V==="audio"){let J=this.remoteAudioTrackMap.get(p);J.subscribe();try{await this._client.subscribe(J._stream,{audio:!0,video:!!((X=this.remoteVideoTrackMap.get(p))!=null&&X.isSubscribed)})}catch(Re){throw J.unsubscribe(),Re}}else{let J=this.remoteVideoTrackMap.get(p);J.subscribe();try{await this._client.subscribe(J._stream,{video:!0,audio:!!((N=this.remoteAudioTrackMap.get(p))!=null&&N.isSubscribed)})}catch(Re){throw J.unsubscribe(),Re}}return!0}async unsubscribe(p,V){var N,J;if(!this._client)throw Bo.createOtherError("\u7528\u6237\u672A\u8FDB\u623F\uFF0C\u65E0\u6CD5\u8BA2\u9605");Gt.info(`unsubscribe ${p} ${V}`);let X=null;if(V==="audio"&&this.remoteAudioTrackMap.has(p)?X=this.remoteAudioTrackMap.get(p):V==="video"&&this.remoteVideoTrackMap.has(p)&&(X=this.remoteVideoTrackMap.get(p)),!X)throw Bo.createOtherError(`\u8FDC\u7AEF\u7528\u6237: ${p} \u672A\u63A8 ${V}\uFF0C\u65E0\u6CD5\u8BA2\u9605`);return p===Dc.screenSharingUid&&this._remoteAuxiliaryStream?(await this._client.unsubscribe(this._remoteAuxiliaryStream),!0):(V==="audio"?(N=this.remoteVideoTrackMap.get(p))!=null&&N.isSubscribed?await this._client.subscribe(X._stream,{video:!0,audio:!1}):await this._client.unsubscribe(X._stream):(J=this.remoteAudioTrackMap.get(p))!=null&&J.isSubscribed?await this._client.subscribe(X._stream,{video:!1,audio:!0}):await this._client.unsubscribe(X._stream),X.unsubscribe(),!0)}getQOEStats(){return this._quality}async startScreenShare(p){if(!this.joinParam||!this._client)throw Bo.createOtherError("\u7528\u6237\u672A\u8FDB\u623F\uFF0C\u65E0\u6CD5\u5F00\u542F\u5C4F\u5E55\u5206\u4EAB");this._screenStream=bg.default.createStream({screen:!0,screenAudio:!0});let V={width:1280,height:720,frameRate:15,bitrate:2e3};this._screenStream.setScreenProfile(Xr(Xr({},V),p)),this._screenStream.on("screen-sharing-stopped",async()=>{await this.stopScreenShare(),this.emit("ScreenSharingEnded")}),await this._screenStream.initialize(),await this._client.publish(this._screenStream,{isAuxiliary:!0})}async stopScreenShare(){!this._client||!this._screenStream||(await this._client.unpublish(this._screenStream),this._screenStream.stop(),this._screenStream.close(),this._screenStream=null)}async playScreenShareView(p){var V;this._remoteAuxiliaryStream&&this._client?(await this._client.subscribe(this._remoteAuxiliaryStream),await this._remoteAuxiliaryStream.play(p)):await((V=this._screenStream)==null?void 0:V.play(p))}async stopScreenShareView(){var p;this._remoteAuxiliaryStream&&this._client?(await this._client.unsubscribe(this._remoteAuxiliaryStream),await this._remoteAuxiliaryStream.stop()):await((p=this._screenStream)==null?void 0:p.stop())}handleEvents(){!this._client||(this._client.on("connection-state-changed",({prevState:p,state:V})=>{this.connectionState=V,this.emit("ConnectionStateChange",V,p,"")}),this._client.on("peer-join",p=>{this._remoteUserIdSet.add(p.userId),this.emit("UserJoined",p.userId)}),this._client.on("peer-leave",p=>{this._remoteUserIdSet.delete(p.userId),this.emit("UserLeft",p.userId)}),this._client.on("stream-added",p=>{let V=p.stream,X=V.getUserId();if(V.getType()==="auxiliary"){this._remoteAuxiliaryStream=V,this.emit("RemoteScreenSharing",Dc.screenSharingUid,!0,"video");return}this._remoteMainStreamMap.set(X,V),V.on("error",N=>{if(N.getCode()===16451){let J=()=>{V.resume().then(()=>{document.body.removeEventListener("click",J),document.body.removeEventListener("touchstart",J)})};document.body.addEventListener("click",J,!0),document.body.addEventListener("touchstart",J,!0),this.emit("AutoplayFailed")}}),V.hasAudio()&&this.handleUserPublished(X,"audio"),V.hasVideo()&&this.handleUserPublished(X,"video")}),this._client.on("stream-updated",p=>{let V=p.stream,X=V.getUserId();!this.remoteAudioTrackMap.has(X)&&V.hasAudio()&&this.handleUserPublished(X,"audio"),this.remoteAudioTrackMap.has(X)&&!V.hasAudio()&&this.handleUserUnpublished(X,"audio"),!this.remoteVideoTrackMap.has(X)&&V.hasVideo()&&this.handleUserPublished(X,"video"),this.remoteVideoTrackMap.has(X)&&!V.hasVideo()&&this.handleUserUnpublished(X,"video")}),this._client.on("stream-removed",p=>{let V=p.stream.getUserId();if(p.stream.getType()==="auxiliary"){this._remoteAuxiliaryStream=null,this.emit("RemoteScreenSharing",Dc.screenSharingUid,!1,"video");return}this._remoteMainStreamMap.delete(V),this.handleUserUnpublished(V,"audio"),this.handleUserUnpublished(V,"video")}),this._client.on("network-quality",p=>{var V,X;this._quality.upQuality=p.uplinkNetworkQuality,this._quality.downQuality=p.downlinkNetworkQuality,this._quality.rtt=p.uplinkRTT,this._quality.pktLostRate=p.uplinkLoss,(V=this._client)==null||V.getLocalVideoStats().then(N=>{let J=N[this.uid];J&&(this._quality.res=`${J.frameWidth}x${J.frameHeight}`,this._prevLocalVideoStat&&(this._quality.vfps=Math.floor((J.framesSent-this._prevLocalVideoStat.framesSent)/2)||0,this._quality.vra=Math.floor((J.bytesSent-this._prevLocalVideoStat.bytesSent)*8/2)||0),this._prevLocalVideoStat=J)}),(X=this._client)==null||X.getLocalAudioStats().then(N=>{let J=N[this.uid];J&&(this._prevLocalAudioStat&&(this._quality.ara=Math.floor((J.bytesSent-this._prevLocalAudioStat.bytesSent)*8/2)||0),this._prevLocalAudioStat=J)}),this.emit("NetworkQuality",p)}),this._client.on("mute-audio",p=>{this.handleUserUnpublished(p.userId,"audio")}),this._client.on("unmute-audio",p=>{this.handleUserPublished(p.userId,"audio",!0)}))}handleUserUnpublished(p,V){Gt.info(`UserUnpublished ${p} ${V}`),V==="audio"?this.remoteAudioTrackMap.has(p)&&(this.remoteAudioTrackMap.delete(p),this.emit("UserUnpublished",p,V)):this.remoteVideoTrackMap.has(p)&&(this.remoteVideoTrackMap.delete(p),this.emit("UserUnpublished",p,V))}handleUserPublished(p,V,X=!1){var Re;Gt.info(`UserPublished ${p} ${V} firedByUnmute: ${X}`);let N=this._remoteMainStreamMap.get(p),J=(Re=this._client)==null?void 0:Re.getRemoteMutedState().find(Ie=>Ie.userId===p);if(N){if(V==="audio"&&!this.remoteAudioTrackMap.has(p)&&N.hasAudio()){if(!X&&J&&J.audioMuted)return;let Ie=new Cd({uid:p,stream:N});this.remoteAudioTrackMap.set(p,Ie)}else if(V==="video"&&!this.remoteVideoTrackMap.has(p)&&N.hasVideo()){let Ie=new Rd({uid:p,stream:N});this.remoteVideoTrackMap.set(p,Ie)}this.emit("UserPublished",p,V)}}};En([Cn(),Pd()],Rn.prototype,"publish",1),En([Cn()],Rn.prototype,"unpublish",1),En([Cn()],Rn.prototype,"subscribe",1),En([Cn()],Rn.prototype,"unsubscribe",1),En([Cn()],Rn.prototype,"startScreenShare",1),En([Cn()],Rn.prototype,"stopScreenShare",1),En([Cn()],Rn.prototype,"playScreenShareView",1),En([Cn()],Rn.prototype,"stopScreenShareView",1);var Go=cr(Rr());var hE=cr(mg()),kg=cr(Rr());var Tg=class extends hE.default{constructor(){super();Ue(this,"prevDevices_",[]);navigator.mediaDevices&&(this.onDeviceChange=this.onDeviceChange.bind(this),navigator.mediaDevices.addEventListener("devicechange",this.onDeviceChange))}async init(){this.prevDevices_=await kg.default.getDevices()}async onDeviceChange(){let p=await kg.default.getDevices(),V=p.filter(N=>this.prevDevices_.findIndex(({deviceId:J})=>N.deviceId===J)<0),X=this.prevDevices_.filter(N=>p.findIndex(({deviceId:J})=>N.deviceId===J)<0);V.length>0&&V.forEach(N=>{this.emit("device-added",N)}),X.length>0&&X.forEach(N=>{this.emit("device-removed",N)}),this.prevDevices_=p}destroy(){navigator.mediaDevices.removeEventListener("devicechange",this.onDeviceChange)}},pE=Tg;var Gt=Go.default.Logger.loggerManager,Fo=class extends k9{constructor(){super(...arguments);Ue(this,"version",Xw);Ue(this,"_deviceDetector",new pE);Ue(this,"_virtualOverloadCount",0);Ue(this,"_isVirtualOverloadStart",0)}init(p){return Gt.info(`lingo-trtc version: ${this.version}`),Promise.resolve()}release(){this._deviceDetector.destroy(),super.release()}async checkSystemRequirements(){let{result:p}=await Go.default.checkSystemRequirements();return p&&Go.default.isScreenShareSupported()}async createClient(){return this.client=new Rn,await this._deviceDetector.init(),this._deviceDetector.on("device-added",p=>{p.kind==="videoinput"?this.client.emit("CameraChanged",!0,p):p.kind==="audioinput"?this.client.emit("MicrophoneChanged",!0,p):p.kind==="audiooutput"&&this.client.emit("SpeakerDeviceChanged",!0,p)}),this._deviceDetector.on("device-removed",async p=>{var V,X;if(p.kind==="videoinput"){let N=this.cameraVideoTrack||this.previewVideoTrack;if(p.deviceId===(N==null?void 0:N.getDeviceId())){if((await Go.default.getCameras()).length===0){this.client.emit("CameraChanged",!1,p);return}N.once("device-switched",()=>{this.client.emit("CameraChanged",!1,p)}),N.once("track-ended",()=>{this.client.emit("CameraChanged",!1,p)})}else this.client.emit("CameraChanged",!1,p)}else if(p.kind==="audioinput")if(p.deviceId===((V=this.microphoneAudioTrack)==null?void 0:V.getDeviceId())){if((await Go.default.getMicrophones()).length===0){this.client.emit("CameraChanged",!1,p);return}this.microphoneAudioTrack.once("device-switched",()=>{this.client.emit("CameraChanged",!1,p)}),(X=this.microphoneAudioTrack)==null||X.once("track-ended",()=>{this.client.emit("CameraChanged",!1,p)})}else this.client.emit("MicrophoneChanged",!1,p);else p.kind==="audiooutput"&&this.client.emit("SpeakerDeviceChanged",!1,p)}),this.client}async createCustomVideoTrack(p){if(this.customVideoTrack&&!this.customVideoTrack.closed)return this.customVideoTrack;Gt.info("createCustomVideoTrack");let V=new Id(p);return await V.init(),this.customVideoTrack=V,V}async detectCamera(p){var V,X;if(this.previewVideoTrack&&!this.previewVideoTrack.closed)return{checkIsActive:()=>{var N,J;return Promise.resolve(((J=(N=this.previewVideoTrack)==null?void 0:N.getMediaStreamTrack())==null?void 0:J.readyState)==="live")},cleanup:()=>{var N,J;(N=this.previewVideoTrack)==null||N.stop(),(J=this.previewVideoTrack)==null||J.close(),this.previewVideoTrack=void 0}};Gt.info("detectCamera");try{let N=new ga({cameraId:p.cameraId,id:"pv"});return N.on("device-switched",J=>this.client.emit("DeviceSwitched",J)),this.previewVideoTrack=N,await N.init(),p.mirror&&N.mirrorVideo(p.mirror),p.container&&await N.play({container:p.container}),{checkIsActive:()=>{var J;return Promise.resolve(((J=N.getMediaStreamTrack())==null?void 0:J.readyState)==="live")},cleanup:()=>{N.stop(),N.close(),this.previewVideoTrack=void 0}}}catch(N){throw(V=this.previewVideoTrack)==null||V.stop(),(X=this.previewVideoTrack)==null||X.close(),this.previewVideoTrack=void 0,N}}processExternalMediaAEC(p){}async createMicrophoneAudioTrack(p){if(this.microphoneAudioTrack&&!this.microphoneAudioTrack.closed)return this.microphoneAudioTrack;Gt.info("createMicrophoneAudioTrack");let V=new Ed({microphoneId:p});return V.on("device-switched",X=>this.client.emit("DeviceSwitched",X)),await V.init(),this.microphoneAudioTrack=V,this.client.emit("LocalTrackCreated",V),V}async createCameraVideoTrack(p){if(this.cameraVideoTrack&&!this.cameraVideoTrack.closed)return this.cameraVideoTrack;Gt.info(`createCameraVideoTrack ${JSON.stringify(p)}`);let V=new ga(yd(Xr({},p),{id:"ct"}));return V.on("device-switched",X=>this.client.emit("DeviceSwitched",X)),await V.init(),this.cameraVideoTrack=V,this.client.emit("LocalTrackCreated",V),this.cameraVideoTrack.on("VirtualBackgroundOverload",()=>{this._virtualOverloadCount++,Gt.warn(`VirtualBackground overload count is: ${this._virtualOverloadCount}`),new Date().getTime()-this._isVirtualOverloadStart>5e3&&(this._virtualOverloadCount>10&&(Gt.warn("VirtualBackgroundOverload"),this.client.emit("VirtualBackgroundOverload")),this._virtualOverloadCount=0,this._isVirtualOverloadStart=new Date().getTime())}),V}};En([Pd(),Cn(Z=>xg.createRTCError(Z))],Fo.prototype,"detectCamera",1),En([Cn(Z=>xg.createRTCError(Z))],Fo.prototype,"createMicrophoneAudioTrack",1),En([Cn(Z=>xg.createRTCError(Z))],Fo.prototype,"createCameraVideoTrack",1);var WG=Fo;export{WG as default,Gt as loggerManager};
|
|
585
585
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|