trtc-sdk-v5 5.11.2-wasm.3 → 5.12.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/assets/debug-dialog.js +1 -1
  2. package/index.d.ts +2 -0
  3. package/package.json +6 -4
  4. package/plugins/cdn-streaming/package.json +1 -1
  5. package/plugins/cross-room/package.json +1 -1
  6. package/plugins/custom-encryption/package.json +1 -1
  7. package/plugins/device-detector/device-detector.esm.js +17 -15
  8. package/plugins/device-detector/device-detector.umd.js +2 -2
  9. package/plugins/device-detector/package.json +1 -1
  10. package/plugins/small-stream-auto-switcher/package.json +1 -1
  11. package/plugins/video-decoder/package.json +1 -1
  12. package/plugins/video-decoder/video-decoder.esm.js +1 -1
  13. package/plugins/video-decoder/video-decoder.umd.js +1 -1
  14. package/plugins/video-effect/basic-beauty/package.json +1 -1
  15. package/plugins/video-effect/beauty/package.json +1 -1
  16. package/plugins/video-effect/video-mixer/package.json +1 -1
  17. package/plugins/video-effect/video-mixer/video-mixer.esm.d.ts +71 -13
  18. package/plugins/video-effect/video-mixer/video-mixer.esm.js +1 -1
  19. package/plugins/video-effect/video-mixer/video-mixer.umd.js +1 -1
  20. package/plugins/video-effect/virtual-background/package.json +1 -1
  21. package/plugins/video-effect/virtual-background/virtual-background.esm.js +1 -1
  22. package/plugins/video-effect/virtual-background/virtual-background.umd.js +1 -1
  23. package/plugins/video-effect/watermark/package.json +1 -1
  24. package/plugins/voice-changer/package.json +1 -1
  25. package/trtc.esm.js +44 -64
  26. package/trtc.js +1 -1
  27. package/assets/av_processing.wasm +0 -0
  28. package/assets/worker.js +0 -17
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VirtualBackground=t()}(this,(function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var A=0,n=Array(t);A<t;A++)n[A]=e[A];return n}function t(e,t,A,n,r,i,o){try{var a=e[i](o),s=a.value}catch(e){return void A(e)}a.done?t(s):Promise.resolve(s).then(n,r)}function A(e){return function(){var A=this,n=arguments;return new Promise((function(r,i){var o=e.apply(A,n);function a(e){t(o,r,i,a,s,"next",e)}function s(e){t(o,r,i,a,s,"throw",e)}a(void 0)}))}}function n(e,t,A){return t=u(t),d(e,l()?Reflect.construct(t,A||[],u(e).constructor):t.apply(e,A))}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t,A){if(l())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var r=new(e.bind.apply(e,n));return A&&C(r,A.prototype),r}function o(e,t){for(var A=0;A<t.length;A++){var n=t[A];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,v(n.key),n)}}function a(e,t,A){return t&&o(e.prototype,t),A&&o(e,A),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,t){var A="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!A){if(Array.isArray(e)||(A=y(e))||t){A&&(e=A);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,a=!1;return{s:function(){A=A.call(e)},n:function(){var e=A.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==A.return||A.return()}finally{if(a)throw i}}}}function c(){return c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,A){var n=f(e,t);if(n){var r=Object.getOwnPropertyDescriptor(n,t);return r.get?r.get.call(arguments.length<3?e:A):r.value}},c.apply(null,arguments)}function u(e){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},u(e)}function g(e,t){if("function"!=typeof t&&null!==t)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&&C(e,t)}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}function d(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function I(){I=function(){return t};var e,t={},A=Object.prototype,n=A.hasOwnProperty,r=Object.defineProperty||function(e,t,A){e[t]=A.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function c(e,t,A){return Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,A){return e[t]=A}}function u(e,t,A,n){var i=t&&t.prototype instanceof f?t:f,o=Object.create(i.prototype),a=new R(n||[]);return r(o,"_invoke",{value:D(e,A,a)}),o}function g(e,t,A){try{return{type:"normal",arg:e.call(t,A)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var l="suspendedStart",d="suspendedYield",h="executing",C="completed",E={};function f(){}function p(){}function B(){}var Q={};c(Q,o,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(N([])));m&&m!==A&&n.call(m,o)&&(Q=m);var y=B.prototype=f.prototype=Object.create(Q);function k(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function w(e,t){function A(r,i,o,a){var s=g(e[r],e,i);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){A("next",e,o,a)}),(function(e){A("throw",e,o,a)})):t.resolve(u).then((function(e){c.value=e,o(c)}),(function(e){return A("throw",e,o,a)}))}a(s.arg)}var i;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){A(e,n,t,r)}))}return i=i?i.then(r,r):r()}})}function D(t,A,n){var r=l;return function(i,o){if(r===h)throw Error("Generator is already running");if(r===C){if("throw"===i)throw o;return{value:e,done:!0}}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var s=b(a,n);if(s){if(s===E)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===l)throw r=C,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=h;var c=g(t,A,n);if("normal"===c.type){if(r=n.done?C:d,c.arg===E)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=C,n.method="throw",n.arg=c.arg)}}}function b(t,A){var n=A.method,r=t.iterator[n];if(r===e)return A.delegate=null,"throw"===n&&t.iterator.return&&(A.method="return",A.arg=e,b(t,A),"throw"===A.method)||"return"!==n&&(A.method="throw",A.arg=new TypeError("The iterator does not provide a '"+n+"' method")),E;var i=g(r,t.iterator,A.arg);if("throw"===i.type)return A.method="throw",A.arg=i.arg,A.delegate=null,E;var o=i.arg;return o?o.done?(A[t.resultName]=o.value,A.next=t.nextLoc,"return"!==A.method&&(A.method="next",A.arg=e),A.delegate=null,E):o:(A.method="throw",A.arg=new TypeError("iterator result is not an object"),A.delegate=null,E)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function R(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function N(t){if(t||""===t){var A=t[o];if(A)return A.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,i=function A(){for(;++r<t.length;)if(n.call(t,r))return A.value=t[r],A.done=!1,A;return A.value=e,A.done=!0,A};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return p.prototype=B,r(y,"constructor",{value:B,configurable:!0}),r(B,"constructor",{value:p,configurable:!0}),p.displayName=c(B,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===p||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,B):(e.__proto__=B,c(e,s,"GeneratorFunction")),e.prototype=Object.create(y),e},t.awrap=function(e){return{__await:e}},k(w.prototype),c(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,A,n,r,i){void 0===i&&(i=Promise);var o=new w(u(e,A,n,r),i);return t.isGeneratorFunction(A)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},k(y),c(y,s,"Generator"),c(y,o,(function(){return this})),c(y,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),A=[];for(var n in t)A.push(n);return A.reverse(),function e(){for(;A.length;){var n=A.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=N,R.prototype={constructor:R,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(S),!t)for(var A in this)"t"===A.charAt(0)&&n.call(this,A)&&!isNaN(+A.slice(1))&&(this[A]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var A=this;function r(n,r){return a.type="throw",a.arg=t,A.next=n,r&&(A.method="next",A.arg=e),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var s=n.call(o,"catchLoc"),c=n.call(o,"finallyLoc");if(s&&c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var A=this.tryEntries.length-1;A>=0;--A){var r=this.tryEntries[A];if(r.tryLoc<=this.prev&&n.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,E):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),E},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var A=this.tryEntries[t];if(A.finallyLoc===e)return this.complete(A.completion,A.afterLoc),S(A),E}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var A=this.tryEntries[t];if(A.tryLoc===e){var n=A.completion;if("throw"===n.type){var r=n.arg;S(A)}return r}}throw Error("illegal catch attempt")},delegateYield:function(t,A,n){return this.delegate={iterator:N(t),resultName:A,nextLoc:n},"next"===this.method&&(this.arg=e),E}},t}function h(e,t,A,n){return h="undefined"!=typeof Reflect&&Reflect.set?Reflect.set:function(e,t,A,n){var r,i=f(e,t);if(i){if((r=Object.getOwnPropertyDescriptor(i,t)).set)return r.set.call(n,A),!0;if(!r.writable)return!1}if(r=Object.getOwnPropertyDescriptor(n,t)){if(!r.writable)return!1;r.value=A,Object.defineProperty(n,t,r)}else!function(e,t,A){(t=v(t))in e?Object.defineProperty(e,t,{value:A,enumerable:!0,configurable:!0,writable:!0}):e[t]=A}(n,t,A);return!0},h(e,t,A,n)}function C(e,t){return C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},C(e,t)}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var A=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=A){var n,r,i,o,a=[],s=!0,c=!1;try{if(i=(A=A.call(e)).next,0===t){if(Object(A)!==A)return;s=!1}else for(;!(s=(n=i.call(A)).done)&&(a.push(n.value),a.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=A.return&&(o=A.return(),Object(o)!==o))return}finally{if(c)throw r}}return a}}(e,t)||y(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=u(e)););return e}function p(e,t,A,n){var r=c(u(1&n?e.prototype:e),t,A);return 2&n&&"function"==typeof r?function(e){return r.apply(A,e)}:r}function B(e,t,A,n,r,i){return function(e,t,A,n,r){if(!h(e,t,A,n||e)&&r)throw new TypeError("failed to set property");return A}(u(e.prototype),t,A,n,r)}function Q(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||y(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var A=e[Symbol.toPrimitive];if(void 0!==A){var n=A.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function y(t,A){if(t){if("string"==typeof t)return e(t,A);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,A):void 0}}function k(e){var t="function"==typeof Map?new Map:void 0;return k=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,A)}function A(){return i(e,arguments,u(this).constructor)}return A.prototype=Object.create(e.prototype,{constructor:{value:A,enumerable:!1,writable:!0,configurable:!0}}),C(A,e)},k(e)}var w=Object.create,D=Object.defineProperty,b=Object.defineProperties,T=Object.getOwnPropertyDescriptor,S=Object.getOwnPropertyDescriptors,R=Object.getOwnPropertyNames,N=Object.getOwnPropertySymbols,_=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,x=function(e,t,A){return t in e?D(e,t,{enumerable:!0,configurable:!0,writable:!0,value:A}):e[t]=A},F=function(e,t){for(var A in t||(t={}))M.call(t,A)&&x(e,A,t[A]);if(N){var n,r=s(N(t));try{for(r.s();!(n=r.n()).done;){A=n.value;L.call(t,A)&&x(e,A,t[A])}}catch(e){r.e(e)}finally{r.f()}}return e},G=function(e,t){return b(e,S(t))},O=function(e,t){return function(){return t||(0,e[R(e)[0]])((t={exports:{}}).exports,t),t.exports}},U=function(e,t){for(var A in t)D(e,A,{get:t[A],enumerable:!0})},P=function(e,t,A){return A=null!=e?w(_(e)):{},function(e,t,A,n){if(t&&"object"===m(t)||"function"==typeof t){var r,i=s(R(t));try{var o=function(){var i=r.value;M.call(e,i)||i===A||D(e,i,{get:function(){return t[i]},enumerable:!(n=T(t,i))||n.enumerable})};for(i.s();!(r=i.n()).done;)o()}catch(e){i.e(e)}finally{i.f()}}return e}(D(A,"default",{value:e,enumerable:!0}),e)},Y=function(e,t,A,n){for(var r,i=T(t,A),o=e.length-1;o>=0;o--)(r=e[o])&&(i=r(t,A,i)||i);return i&&D(t,A,i),i},H=function(e,t,A){return x(e,"symbol"!==m(t)?t+"":t,A)},K=O({"../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js":function(e,t){var A=Object.prototype.hasOwnProperty,n="~";function r(){}function i(e,t,A){this.fn=e,this.context=t,this.once=A||!1}function o(e,t,A,r,o){if("function"!=typeof A)throw new TypeError("The listener must be a function");var a=new i(A,r||e,o),s=n?n+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],a]:e._events[s].push(a):(e._events[s]=a,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}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 e,t,r=[];if(0===this._eventsCount)return r;for(t in e=this._events)A.call(e,t)&&r.push(n?t.slice(1):t);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},s.prototype.listeners=function(e){var t=n?n+e:e,A=this._events[t];if(!A)return[];if(A.fn)return[A.fn];for(var r=0,i=A.length,o=new Array(i);r<i;r++)o[r]=A[r].fn;return o},s.prototype.listenerCount=function(e){var t=n?n+e:e,A=this._events[t];return A?A.fn?1:A.length:0},s.prototype.emit=function(e,t,A,r,i,o){var a=n?n+e:e;if(!this._events[a])return!1;var s,c,u=this._events[a],g=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),g){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,A),!0;case 4:return u.fn.call(u.context,t,A,r),!0;case 5:return u.fn.call(u.context,t,A,r,i),!0;case 6:return u.fn.call(u.context,t,A,r,i,o),!0}for(c=1,s=new Array(g-1);c<g;c++)s[c-1]=arguments[c];u.fn.apply(u.context,s)}else{var l,d=u.length;for(c=0;c<d;c++)switch(u[c].once&&this.removeListener(e,u[c].fn,void 0,!0),g){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,t);break;case 3:u[c].fn.call(u[c].context,t,A);break;case 4:u[c].fn.call(u[c].context,t,A,r);break;default:if(!s)for(l=1,s=new Array(g-1);l<g;l++)s[l-1]=arguments[l];u[c].fn.apply(u[c].context,s)}}return!0},s.prototype.on=function(e,t,A){return o(this,e,t,A,!1)},s.prototype.once=function(e,t,A){return o(this,e,t,A,!0)},s.prototype.removeListener=function(e,t,A,r){var i=n?n+e:e;if(!this._events[i])return this;if(!t)return a(this,i),this;var o=this._events[i];if(o.fn)o.fn!==t||r&&!o.once||A&&o.context!==A||a(this,i);else{for(var s=0,c=[],u=o.length;s<u;s++)(o[s].fn!==t||r&&!o[s].once||A&&o[s].context!==A)&&c.push(o[s]);c.length?this._events[i]=1===c.length?c[0]:c:a(this,i)}return this},s.prototype.removeAllListeners=function(e){var t;return e?(t=n?n+e:e,this._events[t]&&a(this,t)):(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,void 0!==t&&(t.exports=s)}}),V=O({"../node_modules/.pnpm/sdp-transform@2.15.0/node_modules/sdp-transform/lib/grammar.js":function(e,t){var A=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(A).forEach((function(e){A[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))}}),J=O({"../node_modules/.pnpm/sdp-transform@2.15.0/node_modules/sdp-transform/lib/parser.js":function(e){var t=function(e){return String(Number(e))===e?Number(e):e},A=function(e,A,n){var r=e.name&&e.names;e.push&&!A[e.push]?A[e.push]=[]:r&&!A[e.name]&&(A[e.name]={});var i=e.push?{}:r?A[e.name]:A;!function(e,A,n,r){if(r&&!n)A[r]=t(e[1]);else for(var i=0;i<n.length;i+=1)null!=e[i+1]&&(A[n[i]]=t(e[i+1]))}(n.match(e.reg),i,e.names,e.name),e.push&&A[e.push].push(i)},n=V(),r=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},i=[],o=t;return e.split(/(\r\n|\r|\n)/).filter(r).forEach((function(e){var t=e[0],r=e.slice(2);"m"===t&&(i.push({rtp:[],fmtp:[]}),o=i[i.length-1]);for(var a=0;a<(n[t]||[]).length;a+=1){var s=n[t][a];if(s.reg.test(r))return A(s,o,r)}})),t.media=i,t};var i=function(e,A){var n=A.split(/=(.+)/,2);return 2===n.length?e[n[0]]=t(n[1]):1===n.length&&A.length>1&&(e[n[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(i,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var A=[],n=e.split(" ").map(t),r=0;r<n.length;r+=3)A.push({component:n[r],ip:n[r+1],port:n[r+2]});return A},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(i,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var A,n=!1;return"~"!==e[0]?A=t(e):(A=t(e.substring(1,e.length)),n=!0),{scid:A,paused:n}}))}))}}}),j=O({"../node_modules/.pnpm/sdp-transform@2.15.0/node_modules/sdp-transform/lib/writer.js":function(e,t){var A=V(),n=/%[sdv%]/g,r=function(e){var t=1,A=arguments,r=A.length;return e.replace(n,(function(e){if(t>=r)return e;var n=A[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(n);case"%d":return Number(n);case"%v":return""}}))},i=function(e,t,A){var n=[e+"="+(t.format instanceof Function?t.format(t.push?A:A[t.name]):t.format)];if(t.names)for(var i=0;i<t.names.length;i+=1){var o=t.names[i];t.name?n.push(A[t.name][o]):n.push(A[t.names[i]])}else n.push(A[t.name]);return r.apply(null,n)},o=["v","o","s","i","u","e","p","c","b","t","r","z","a"],a=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach((function(e){null==e.payloads&&(e.payloads="")}));var n=t.outerOrder||o,r=t.innerOrder||a,s=[];return n.forEach((function(t){A[t].forEach((function(A){A.name in e&&null!=e[A.name]?s.push(i(t,A,e)):A.push in e&&null!=e[A.push]&&e[A.push].forEach((function(e){s.push(i(t,A,e))}))}))})),e.media.forEach((function(e){s.push(i("m",A.m[0],e)),r.forEach((function(t){A[t].forEach((function(A){A.name in e&&null!=e[A.name]?s.push(i(t,A,e)):A.push in e&&null!=e[A.push]&&e[A.push].forEach((function(e){s.push(i(t,A,e))}))}))}))})),s.join("\r\n")+"\r\n"}}}),W=O({"../node_modules/.pnpm/sdp-transform@2.15.0/node_modules/sdp-transform/lib/index.js":function(e){var t=J(),A=j(),n=V();e.grammar=n,e.write=A,e.parse=t.parse,e.parseParams=t.parseParams,e.parseFmtpConfig=t.parseFmtpConfig,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList}});function Z(e){return z.apply(this,arguments)}function z(){return(z=A(I().mark((function e(t){var A,n,r,i,o,a,s,c;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.sdkAppId,n=t.userId,r=t.userSig,i=t.core,a=Math.round((new Date).getTime()/1e3),e.prev=2,e.next=5,i.schedule.getAbilityConfig(A,i.schedule.ScheduleRequestType.TRTC_AUTO_CONF,{sdkAppId:A,userId:n,userSig:r,timestamp:a});case 5:if(s=e.sent,i.log.info("virtual background ability response: ".concat(JSON.stringify(s))),c=s.data,!(null==(o=null==c?void 0:c.trtcAutoConf)?void 0:o.web_ar)){e.next=10;break}return e.abrupt("return",{auth:!0,timestamp:a});case 10:return e.abrupt("return",{auth:!1});case 13:return e.prev=13,e.t0=e.catch(2),i.log.error("virtual background fetch error",e.t0),e.abrupt("return",{auth:!1});case 17:case"end":return e.stop()}}),e,null,[[2,13]])})))).apply(this,arguments)}var X={sdkAppId:{required:!0,type:"number"},userId:{required:!0,type:"string"},userSig:{required:!0,type:"string"}};var q,$=(q="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e,t,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=A;i.ready=new Promise((function(A,n){e=A,t=n}));var o=Object.assign({},i),s="";"undefined"!=typeof document&&document.currentScript&&(s=document.currentScript.src),q&&(s=q),s=0!==s.indexOf("blob:")?s.substr(0,s.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var c,u,l=i.print||console.log.bind(console),d=i.printErr||console.error.bind(console);function I(e){if(L(e))return function(e){for(var t=atob(e),A=new Uint8Array(t.length),n=0;n<t.length;++n)A[n]=t.charCodeAt(n);return A}(e.slice(M.length))}Object.assign(i,o),o=null,i.arguments&&i.arguments,i.thisProgram&&i.thisProgram,i.quit&&i.quit,i.wasmBinary&&(c=i.wasmBinary),"object"!=("undefined"==typeof WebAssembly?"undefined":m(WebAssembly))&&R("no native wasm support detected");var h,C,E,f,p,B,Q,v,y=!1,w=[],D=[],b=[],T=0,S=null;function R(e){i.onAbort&&i.onAbort(e),d(e="Aborted("+e+")"),y=!0,e+=". Build with -sASSERTIONS for more info.";var A=new WebAssembly.RuntimeError(e);throw t(A),A}var N,_,M="data:application/octet-stream;base64,",L=function(e){return e.startsWith(M)};function x(e){return Promise.resolve().then((function(){return function(e){if(e==N&&c)return new Uint8Array(c);var t=I(e);if(t)return t;throw"both async and sync fetching of the wasm failed"}(e)}))}function F(e,t,A,n){return function(e,t,A){return x(e).then((function(e){return WebAssembly.instantiate(e,t)})).then((function(e){return e})).then(A,(function(e){d("failed to asynchronously prepare wasm: ".concat(e)),R(e)}))}(t,A,n)}L(N="data:application/octet-stream;base64,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LQABIgBFDQEgAkEBaiECIANBAWohAyAAIAFGDQALCyAAIAFGC28BAX8jAEGAAmsiBSQAAkAgAiADTA0AIARBgMAEcQ0AIAUgAUH/AXEgAiADayIDQYACIANBgAJJIgEbECYaIAFFBEADQCAAIAVBgAIQHSADQYACayIDQf8BSw0ACwsgACAFIAMQHQsgBUGAAmokAAuBAwEEfyMAQfAAayICJAAgACgCACIDQQRrKAIAIQQgA0EIaygCACEFIAJCADcCUCACQgA3AlggAkIANwJgIAJCADcAZyACQgA3AkggAkEANgJEIAJBvMsANgJAIAIgADYCPCACIAE2AjggACAFaiEDAkAgBCABQQAQHgRAQQAgAyAFGyEADAELIAAgA04EQCACQgA3AC8gAkIANwIYIAJCADcCICACQgA3AiggAkIANwIQIAJBADYCDCACIAE2AgggAiAANgIEIAIgBDYCACACQQE2AjAgBCACIAMgA0EBQQAgBCgCACgCFBEJACACKAIYDQELQQAhACAEIAJBOGogA0EBQQAgBCgCACgCGBEIAAJAAkAgAigCXA4CAAECCyACKAJMQQAgAigCWEEBRhtBACACKAJUQQFGG0EAIAIoAmBBAUYbIQAMAQsgAigCUEEBRwRAIAIoAmANASACKAJUQQFHDQEgAigCWEEBRw0BCyACKAJIIQALIAJB8ABqJAAgAAvQAQEFfyMAQRBrIgYkACAGQQRqIgIQPyMAQRBrIgUkAAJ/IAItAAtBB3YEQCACKAIEDAELIAItAAtB/wBxCyEEA0ACQAJ/IAItAAtBB3YEQCACKAIADAELIAILIQMgBSABOQMAIAICfyADIARBAWogBRBGIgNBAE4EQCADIARNDQIgAwwBCyAEQQF0QQFyCyIEECsMAQsLIAIgAxArIAAgAikCADcCACAAIAIoAgg2AgggAkIANwIAIAJBADYCCCAFQRBqJAAgAhBBIAZBEGokAAuABAEDfyACQYAETwRAIAAgASACEBIgAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALCwAgASACIAAQQhoLEgAgAUEBdEHQyQBqQQIgABBCC/kBAQR/An8gARAqIQIjAEEQayIFJAACfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsiBEEATwRAAkAgAiAALQALQQd2BH8gACgCCEH/////B3FBAWsFQQoLIgMgBGtNBEAgAkUNAQJ/IAAtAAtBB3YEQCAAKAIADAELIAALIgMgBAR/IAIgA2ogAyAEEEUgASACQQAgAyAEaiABSxtBACABIANPG2oFIAELIAIQRSAAIAIgBGoiARAxIAVBADoADyABIANqIAUtAA86AAAMAQsgACADIAIgBGogA2sgBEEAIAIgARBECyAFQRBqJAAgAAwBCxAnAAsL8gICAn8BfgJAIAJFDQAgACABOgAAIAAgAmoiA0EBayABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBA2sgAToAACADQQJrIAE6AAAgAkEHSQ0AIAAgAToAAyADQQRrIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYC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ACgCCCIAIAEgAiADIAAoAgAoAhwRBgALGAAgACABKAIIQQAQHgRAIAEgAiADED0LC50BAQJ/IwBBQGoiAyQAAn9BASAAIAFBABAeDQAaQQAgAUUNABpBACABQezLABAgIgFFDQAaIANBDGpBAEE0ECYaIANBATYCOCADQX82AhQgAyAANgIQIAMgATYCCCABIANBCGogAigCAEEBIAEoAgAoAhwRBgAgAygCICIAQQFGBEAgAiADKAIYNgIACyAAQQFGCyEEIANBQGskACAECwoAIAAgAUEAEB4LTgIBfwF8IwBBEGsiAiQAIAJBADYCDCABKAIEQbTOACACQQxqEAkhAyACKAIMIgEEQCABEAILIAAgA0QAAAAAAAAAAGI6ADggAkEQaiQACzcBAX8jAEEQayICJAAgAiABLQA4NgIIIABBtM4AIAJBCGoQCDYCBCAAQbTUADYCACACQRBqJAALqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAiGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAiGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAguVAQECfyMAQRBrIgIkAEHEABAcIQEgACgCBCIAEAEgAiAANgIIIAFBqCwgAkEIahAINgIEIAFBtNQANgIAIAFBATYCHCABQbTUADYCGCABQQE2AhQgAUG01AA2AhAgAUEBNgIMIAFBtNQANgIIIAFBADoAICABQoCAgIAwNwI8IAFBADsANyABQQA7ACsgAkEQaiQAIAELigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBSMAQSBrIgAkAAJAIAVC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBUIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAhSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBUIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIBQZH3AEkNACADIQIgBUL///////8/g0KAgICAgIDAAIQiBCEGAkAgAUGB9wBrIghBwABxBEAgAyAIQUBqrYYhBkIAIQIMAQsgCEUNACAGIAitIgeGIAJBwAAgCGutiIQhBiACIAeGIQILIAAgAjcDECAAIAY3AxgCQEGB+AAgAWsiAUHAAHEEQCAEIAFBQGqtiCEDQgAhBAwBCyABRQ0AIARBwAAgAWuthiADIAGtIgKIhCEDIAQgAoghBAsgACADNwMAIAAgBDcDCCAAKQMIQgSGIAApAwAiA0I8iIQhAiAAKQMQIAApAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIABBIGokACAJIAIgBUKAgICAgICAgIB/g4S/OQMAC0ABAn8jAEEQayICJAAgAiABNgIMIAJBtNQANgIIIAJBCGogABEBACEDIAIoAgwiAQRAIAEQAwsgAkEQaiQAIAMLBABCAAsEAEEAC/YCAQh/IwBBIGsiAyQAIAMgACgCHCIENgIQIAAoAhQhBSADIAI2AhwgAyABNgIYIAMgBSAEayIBNgIUIAEgAmohBUECIQcCfwJAAkACQCAAKAI8IANBEGoiAUECIANBDGoQDSIEBH9ByN0AIAQ2AgBBfwVBAAsEQCABIQQMAQsDQCAFIAMoAgwiBkYNAiAGQQBIBEAgASEEDAQLIAEgBiABKAIEIghLIglBA3RqIgQgBiAIQQAgCRtrIgggBCgCAGo2AgAgAUEMQQQgCRtqIgEgASgCACAIazYCACAFIAZrIQUgACgCPCAEIgEgByAJayIHIANBDGoQDSIGBH9ByN0AIAY2AgBBfwVBAAtFDQALCyAFQX9HDQELIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwBCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAdBAkYNABogAiAEKAIEawshCiADQSBqJAAgCgt+AQF/IAAEQCAALAA3QQBIBEAgACgC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NwMoIAMgBToAMyADQShqIQIgBEUNAQsgAiABQSBqIgUoAgAgBSAGQQBIGyAEEDILIAIgBGoiAkEAOgACIAJB/RQ7AAAgA0EcaiADKAIoIANBKGogAy0AMyICwEEASCIFGyADKAIsIAIgBRsQGxogAywAM0EASARAIAMoAigQGQtBoNIAKAIAIgQQKiICQfD///8HTw0CAkACQCACQQtPBEAgAkEPckEBaiIGEBwhBSADIAZBgICAgHhyNgIYIAMgBTYCECADIAI2AhQMAQsgAyACOgAbIANBEGohBSACRQ0BCyAFIAQgAhAyCyACIAVqQQA6AAAgA0EoaiABQbGWAiADQRBqEFMgAygCLCECIANBADYCLCADKAIoIQUCQCABKAIUIgRFBEAgASACNgIUIAEgBTYCEAwBCyAEEAMgAygCLCEEIAEgAjYCFCABIAU2AhAgBEUNACAEEAMgA0EANgIsCyADLAAbQQBIBEAgAygCEBAZCwJAIAMsACdBAE4EQCADIAMoAiQ2AgggAyADKQIcNwMADAELIAMoAhwhBiADKAIgIQUjAEEQayIEJAACQAJAAkAgBUELSQRAIAMhAiADIAMtAAtBgAFxIAVB/wBxcjoACyADIAMtAAtB/wBxOgALDAELIAVB7////wdLDQEgBEEIaiADIAVBC08EfyAFQRBqQXBxIgIgAkEBayICIAJBC0YbBUEKC0EBahAwIAQoAgwaIAMgBCgCCCICNgIAIAMgAygCCEGAgICAeHEgBCgCDEH/////B3FyNgIIIAMgAygCCEGAgICAeHI2AgggAyAFNgIECyACIAYgBUEBahAjIARBEGokAAwBCxAnAAsLIANBKGogAUGwlgIgAxBTIAMoAiwhAiADQQA2AiwgAygCKCEFAkAgASgCDCIERQRAIAEgAjYCDCABIAU2AggMAQsgBBADIAMoAiwhBCABIAI2AgwgASAFNgIIIARFDQAgBBADIANBADYCLAsgAywAC0EASARAIAMoAgAQGQsgA0EANgIoQeTTAC0AAEEBcUUEQEEBQYguQQAQBSECQeTTAEEBOgAAQeDTACACNgIACwJ/QeDTACgCACABKAIEQeAJIANBKGpBABAEIhBEAAAAAAAA8EFjIBBEAAAAAAAAAABmcQRAIBCrDAELQQALIQIgAygCKCIFBEAgBRACCyABKAIcIgUEQCAFEAMLIAEgAjYCHCABQbTUADYCGCACEAEgAyACNgIoIAEoAhQiAhABIAMgAjYCMCADQQA2AjxB7NMALQAAQQFxRQRAQQNBjC5BABAFIQJB7NMAQQE6AABB6NMAIAI2AgALQejTACgCACABKAIEQfAIIANBPGogA0EoahAEGiADKAI8IgIEQCACEAILIAEoAhwiAhABIAMgAjYCKCABKAIMIgIQASADIAI2AjAgA0EANgI8QezTAC0AAEEBcUUEQEEDQYwuQQAQBSECQezTAEEBOgAAQejTACACNgIAC0Ho0wAoAgAgASgCBEHwCCADQTxqIANBKGoQBBogAygCPCICBEAgAhACCyABKAIcIgIQASADIAI2AiggA0EANgI8QczTAC0AAEEBcUUEQEECQZwtQQAQBSECQczTAEEBOgAAQcjTACACNgIAC0HI0wAoAgAgASgCBEHGCSADQTxqIANBKGoQBBogAygCPCICBEAgAhACCyAAIAEoAhwiATYCBCAAQbTUADYCACABEAEgAywAJ0EASARAIAMoAhwQGQsgA0FAayQADwsQNwALEDcACxA3AAvYAgECfyMAQRBrIgEkACAAKAIUIgIQASABIAI2AgggAUEANgIEQczTAC0AAEEBcUUEQEECQZwtQQAQBSECQczTAEEBOgAAQcjTACACNgIAC0HI0wAoAgAgACgCBEH9CCABQQRqIAFBCGoQBBogASgCBCICBEAgAhACCyAAKAIMIgIQASABIAI2AgggAUEANgIEQczTAC0AAEEBcUUEQEECQZwtQQAQBSECQczTAEEBOgAAQcjTACACNgIAC0HI0wAoAgAgACgCBEH9CCABQQRqIAFBCGoQBBogASgCBCICBEAgAhACCyAAKAIcIgIQASABIAI2AgggAUEANgIEQczTAC0AAEEBcUUEQEECQZwtQQAQBSECQczTAEEBOgAAQcjTACACNgIAC0HI0wAoAgAgACgCBEHSCSABQQRqIAFBCGoQBBogASgCBCIABEAgABACCyABQRBqJAALBQBBxCsLNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRAwALLwACfyAALAArQQBIBEAgAEEANgIkIAAoAiAMAQsgAEEAOgArIABBIGoLQQA6AAALPQEBfyAB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ZWF0ZVByb2dyYW0AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0V2F0ZXJNYXJrAHN0b3BXYXRlck1hcmsAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGluZgAlZgBjbG9zZQBkb3VibGUAdmJNb2RlAHNoYWRlclNvdXJjZQB2b2lkAHNhbXBsZUNvbG9yICs9IHRleHR1cmUoZnJhbWUsIGJsdXJDb29yZGluYXRlc1sATkFOAElORgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgB2ZWMyIGMgPSB2X3RleENvb3JkOwB2ZWMyIGMgPSB2ZWMyKDEuMCAtIHZfdGV4Q29vcmQueCwgdl90ZXhDb29yZC55KTsAQWxsSW4xAC4ALjAsAC4wKSpvKSoAKG51bGwpACkqby55KTsgICAgdmVjMiBjb29yZDIgPSB2ZWMyKGZsb2F0KAAgICAgYyA9IHZlYzIodl90ZXhDb29yZC54LCAxLjAgLSB2X3RleENvb3JkLnkpOyAgICB2ZWMyIGNvb3JkMSA9IHZlYzIoZmxvYXQoACksIChjLnkgLWNvb3JkMS55KSAvIG8ueSAvIGZsb2F0KAApKm8ueSk7ICAgIGlmIChjLnggPiBjb29yZDEueCAmJiBjLnggPCBjb29yZDIueCAmJiBjLnkgPiBjb29yZDEueSAmJiBjLnkgPCBjb29yZDIueSkgeyAgICAgIHZlYzQgd2F0ZXJDb2xvciA9IHRleHR1cmUod2F0ZXJNYXJrLCB2ZWMyKChjLnggLSBjb29yZDEueCkgIC8gby54IC8gZmxvYXQoACkgKiBvLngsIGZsb2F0KABvdXRDb2xvci5yZ2IgKz0gdmVjMygAKTsgICAgICAgdmVjMyBzbW9vdGhDb2xvciA9IG91dENvbG9yLnJnYiArIChvdXRDb2xvci5yZ2ItdmVjMyhoaWdoUGFzcykpKmFscGhhKjAuMTsgICAgICAgc21vb3RoQ29sb3IgPSBjbGFtcChwb3coc21vb3RoQ29sb3IsIHZlYzMoAGcrPUcoYyx2ZWMyKAAgICAgICB2ZWMyIG9mZnNldCA9IHZlYzIoAF0gPSB2X3RleENvb3JkLnh5ICsgb2Zmc2V0ICogdmVjMigAOyAAKSksIHZlYzMoMC4wKSwgdmVjMygxLjApKTsgICAgICB2ZWMzIHNjcmVlbiA9IHZlYzMoMS4wKSAtICh2ZWMzKDEuMCktc21vb3RoQ29sb3IpICogKHZlYzMoMS4wKS1vdXRDb2xvci5yZ2IpOyAgICAgICB2ZWMzIGxpZ2h0ZW4gPSBtYXgoc21vb3RoQ29sb3IsIG91dENvbG9yLnJnYik7ICAgICAgIHZlYzMgYmVhdXR5Q29sb3IgPSBtaXgobWl4KG91dENvbG9yLnJnYiwgc2NyZWVuLCBhbHBoYSksIGxpZ2h0ZW4sIGFscGhhKTsgICAgICBvdXRDb2xvci5yZ2IgPSBtaXgob3V0Q29sb3IucmdiLCBiZWF1dHlDb2xvciwgAAogICAgICBjb25zdCBtYXQzIHNhdHVyYXRlTWF0cml4ID0gbWF0MygxLjExMDIsLTAuMDU5OCwtMC4wNjEsLTAuMDc3NCwxLjA4MjYsLTAuMTE4NiwtMC4wMjI4LC0wLjAyMjgsMS4xNzcyKTsKICAgICAgdmVjMyB3YXJtQ29sb3IgPSBvdXRDb2xvci5yZ2IgKiBzYXR1cmF0ZU1hdHJpeDsKICAgICAgb3V0Q29sb3IucmdiID0gbWl4KG91dENvbG9yLnJnYiwgd2FybUNvbG9yLCAAICAgICAgc2FtcGxlQ29sb3IgPSBzYW1wbGVDb2xvciAvIDYyLjA7ICAgICAgIGZsb2F0IGhpZ2hQYXNzID0gb3V0Q29sb3IuZyAtIHNhbXBsZUNvbG9yICsgMC41OyAgICAgICBjb25zdCBoaWdocCB2ZWMzIFcgPSB2ZWMzKDAuMjk5LDAuNTg3LDAuMTE0KTsgICAgICBmbG9hdCBsdW1pbmFuY2UgPSBkb3Qob3V0Q29sb3IucmdiLCBXKTsgICAgICAgZmxvYXQgYWxwaGEgPSBwb3cobHVtaW5hbmNlLCAAXSkuZyAqIAApKSk7ICAgICAgb3V0Q29sb3IgPSBtaXgob3V0Q29sb3Isd2F0ZXJDb2xvciwgIHdhdGVyQ29sb3IuYSk7ICAgIH0gICAgACk7ICAgIAApOyAgICAgIHZlYzIgYmx1ckNvb3JkaW5hdGVzWzI0XTsgICAgICAAICAgICAgZmxvYXQgc2FtcGxlQ29sb3IgPSBvdXRDb2xvci5nICogMjIuMDsgICAgICAgACN2ZXJzaW9uIDMwMCBlcwogICAgcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwogICAgdW5pZm9ybSBzYW1wbGVyMkQgZnJhbWU7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCBtYXNrOwogICAgdW5pZm9ybSBzYW1wbGVyMkQgYmc7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCB3YXRlck1hcms7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCBsYXN0TWFzazsKICAgIHVuaWZvcm0gbWF0NCB1X29mZnNldE1hdHJpeDsKICAgIGluIHZlYzIgdl90ZXhDb29yZDsKICAgIG91dCB2ZWM0IG91dENvbG9yOwogICAgdmVjNCBHKHZlYzIgYyx2ZWMyIHMpewogICAgICByZXR1cm4gdGV4dHVyZShmcmFtZSx0ZXh0dXJlKG1hc2ssYytzKS5yPjAuMz9jOmMrcyk7CiAgICB9CiAgICB2b2lkIG1haW4oKSB7CiAgICAgIAAKICAgICAgdmVjMiBvZmZzZXRNYXNrVVYgPSAodV9vZmZzZXRNYXRyaXggKiB2ZWM0KGMsIDAsIDEpKS54eTsKICAgICAgZmxvYXQgaXNJbnNpZGVYID0gKG9mZnNldE1hc2tVVi54ID49IDAuMCkgJiYgKG9mZnNldE1hc2tVVi54IDw9IDEuMCkgPyAxLjAgOiAwLjA7CiAgICAgIGZsb2F0IGlzSW5zaWRlWSA9IChvZmZzZXRNYXNrVVYueSA+PSAwLjApICYmIChvZmZzZXRNYXNrVVYueSA8PSAxLjApID8gMS4wIDogMC4wOwogICAgICBmbG9hdCBpc0luc2lkZSA9IGlzSW5zaWRlWCAqIGlzSW5zaWRlWTsKICAgICAgZmxvYXQgbWFza2VkQWxwaGEgPSB0ZXh0dXJlKG1hc2ssIG9mZnNldE1hc2tVVikuciAqIGlzSW5zaWRlOwogICAgICBtYXNrZWRBbHBoYSA9IG1hc2tlZEFscGhhPDAuNT8yLjAqbWFza2VkQWxwaGEqbWFza2VkQWxwaGE6MS4wLTIuMCooMS4wLW1hc2tlZEFscGhhKSooMS4wLW1hc2tlZEFscGhhKTsKICAgICAgc3JjX2NvbG9yID0gdGV4dHVyZShmcmFtZSwgb2Zmc2V0TWFza1VWICwgaXNJbnNpZGUpOwogICAgICBvdXRDb2xvciA9IG1peCh0ZXh0dXJlKGJnLCBjKSwgc3JjX2NvbG9yLCBtYXNrZWRBbHBoYSk7CiAgICAACiAgICB2ZWM0IGcgPSB2ZWM0KDAuMCk7CiAgICAACiAgICAgIGMueSA9IDEuMCAtIGMueTsKICAgICAgdmVjNCBzcmNfY29sb3IgPSB0ZXh0dXJlKGZyYW1lLCBjKTsKICAgICAgZmxvYXQgYSA9IHRleHR1cmUobWFzaywgYykucjsKICAgICAgYSA9IGE8MC41PzIuMCphKmE6MS4wLTIuMCooMS4wLWEpKigxLjAtYSk7CiAgICAgIC8vIGZsb2F0IGEyID0gdGV4dHVyZShsYXN0TWFzaywgYykuYTsKICAgICAgLy8gYTIgPSBhMjwwLjU/Mi4wKmEyKmEyOjEuMC0yLjAqKDEuMC1hMikqKDEuMC1hMik7CiAgICAgIC8vIGZsb2F0IGRlbHRhID0gYSAtIGEyOwogICAgICAvLyBpZiAoZGVsdGEgPCAwLjI1ICYmIGRlbHRhID4gLTAuMjUpCiAgICAgIC8vIHsKICAgICAgLy8gICAgIGEgPSBhICsgMC41KmRlbHRhOwogICAgICAvLyB9CiAgICAgIAogICAgICB2ZWMyIG8gPSAxLjAgLyB2ZWMyKHRleHR1cmVTaXplKGZyYW1lLCAwKSk7CiAgICAACiAgICAgIG91dENvbG9yID0gZzsKICAAI3ZlcnNpb24gMzAwIGVzCmluIHZlYzIgYV9wb3NpdGlvbjsKaW4gdmVjMiBhX3RleENvb3JkOwoKdW5pZm9ybSBtYXQ0IHVfdGV4dHVyZU1hdHJpeDsKCm91dCB2ZWMyIHZfdGV4Q29vcmQ7CnZvaWQgbWFpbigpIHsKICBnbF9Qb3NpdGlvbiA9IHZlYzQoYV9wb3NpdGlvbi54LCBhX3Bvc2l0aW9uLnksIDAsIDEpOwogIHZfdGV4Q29vcmQgPSh1X3RleHR1cmVNYXRyaXggKiB2ZWM0KGFfdGV4Q29vcmQsIDAsIDEpKS54eTsKfQoAc2V0QmVhdXR5ICVmICVmICVmICVmICVmCgBvdXRDb2xvciA9IHNyY19jb2xvcjsKAG91dENvbG9yID0gbWl4KHZlYzQoMC4wLDEuMCwwLjAsMS4wKSxzcmNfY29sb3IsYSk7CgA2QWxsSW4xAADgJwAAuxUAAFA2QWxsSW4xAAAAAGQoAADMFQAAAAAAAMQVAABQSzZBbGxJbjEAAABkKAAA6BUAAAEAAADEFQAAaWkAdgB2aQDYFQAAKBYAAE4xMGVtc2NyaXB0ZW4zdmFsRQAA4CcAABQWAABpaWkAdmlpaQAAAAAAAAAAHCcAANgVAADQJwAA0CcAANAnAADQJwAA0CcAAHZpaWRkZGRkAEHwLAvICBwnAADYFQAA0CcAANAnAADQJwAA0CcAAHZpaWRkZGQAHCcAANgVAAB2aWkAHCcAACgWAAAoFgAA2BUAACgWAAB8JwAAHCcAACgWAAAAFwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAOAnAADAFgAAKBYAABwnAAAoFgAAKBYAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAADgJwAAGBcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAADgJwAAYBcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAA4CcAAKgXAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAOAnAAD0FwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAADgJwAAQBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAA4CcAAGgYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUAAOAnAACQGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAADgJwAAuBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQAA4CcAAOAYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUAAOAnAAAIGQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAADgJwAAMBkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQAA4CcAAFgZAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUAAOAnAACAGQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeEVFAADgJwAAqBkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXlFRQAA4CcAANAZAABOMTBlbXNj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")||(_=N,N=i.locateFile?i.locateFile(_,s):s+_);var G=function(e){for(;e.length>0;)e.shift()(i)};function O(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){B[this.ptr+4>>2]=e},this.get_type=function(){return B[this.ptr+4>>2]},this.set_destructor=function(e){B[this.ptr+8>>2]=e},this.get_destructor=function(){return B[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,h[this.ptr+12|0]=e},this.get_caught=function(){return 0!=h[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,h[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=h[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){B[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return B[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Ct(this.get_type()))return B[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}i.noExitRuntime;var U,P,Y,H=function(e){for(var t="",A=e;C[A];)t+=U[C[A++]];return t},K={},V={},J={},j=function(e){throw new P(e)},W=function(e){throw new Y(e)},Z=function(e,t,A){function n(t){var n=A(t);n.length!==e.length&&W("Mismatched type converter count");for(var r=0;r<e.length;++r)z(e[r],n[r])}e.forEach((function(e){J[e]=t}));var r=new Array(t.length),i=[],o=0;t.forEach((function(e,t){V.hasOwnProperty(e)?r[t]=V[e]:(i.push(e),K.hasOwnProperty(e)||(K[e]=[]),K[e].push((function(){r[t]=V[e],++o===i.length&&n(r)})))})),0===i.length&&n(r)};function z(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.name;if(e||j('type "'.concat(n,'" must have a positive integer typeid pointer')),V.hasOwnProperty(e)){if(A.ignoreDuplicateRegistrations)return;j("Cannot register type '".concat(n,"' twice"))}if(V[e]=t,delete J[e],K.hasOwnProperty(e)){var r=K[e];delete K[e],r.forEach((function(e){return e()}))}}(e,t,A)}var X,$=function(e){j(e.$$.ptrType.registeredClass.name+" instance already deleted")},ee=!1,te=function(e){},Ae=function(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)},ne=function(e,t,A){if(t===A)return e;if(void 0===A.baseClass)return null;var n=ne(e,t,A.baseClass);return null===n?null:A.downcast(n)},re={},ie=function(){return Object.keys(ue).length},oe=function(){var e=[];for(var t in ue)ue.hasOwnProperty(t)&&e.push(ue[t]);return e},ae=[],se=function(){for(;ae.length;){var e=ae.pop();e.$$.deleteScheduled=!1,e.delete()}},ce=function(e){X=e,ae.length&&X&&X(se)},ue={},ge=function(e,t){return t=function(e,t){for(void 0===t&&j("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),ue[t]},le=function(e,t){return t.ptrType&&t.ptr||W("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&W("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ie(Object.create(e,{$$:{value:t}}))};function de(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var A=ge(this.registeredClass,t);if(void 0!==A){if(0===A.$$.count.value)return A.$$.ptr=t,A.$$.smartPtr=e,A.clone();var n=A.clone();return this.destructor(e),n}function r(){return this.isSmartPointer?le(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):le(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,o=this.registeredClass.getActualType(t),a=re[o];if(!a)return r.call(this);i=this.isConst?a.constPointerType:a.pointerType;var s=ne(t,this.registeredClass,i.registeredClass);return null===s?r.call(this):this.isSmartPointer?le(i.registeredClass.instancePrototype,{ptrType:i,ptr:s,smartPtrType:this,smartPtr:e}):le(i.registeredClass.instancePrototype,{ptrType:i,ptr:s})}var Ie=function(e){return"undefined"==typeof FinalizationRegistry?(Ie=function(e){return e},e):(ee=new FinalizationRegistry((function(e){Ae(e.$$)})),te=function(e){return ee.unregister(e)},(Ie=function(e){var t=e.$$;if(t.smartPtr){var A={$$:t};ee.register(e,A,e)}return e})(e))};function he(){}var Ce=function(e,t){return Object.defineProperty(t,"name",{value:e})},Ee=function(e,t,A){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||j("Function '".concat(A,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}};function fe(e,t,A,n,r,i,o,a){this.name=e,this.constructor=t,this.instancePrototype=A,this.rawDestructor=n,this.baseClass=r,this.getActualType=i,this.upcast=o,this.downcast=a,this.pureVirtualFunctions=[]}var pe=function(e,t,A){for(;t!==A;)t.upcast||j("Expected null or instance of ".concat(A.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e};function Be(e,t){if(null===t)return this.isReference&&j("null is not a valid ".concat(this.name)),0;t.$$||j('Cannot pass "'.concat(Je(t),'" as a ').concat(this.name)),t.$$.ptr||j("Cannot pass deleted object as a pointer of type ".concat(this.name));var A=t.$$.ptrType.registeredClass;return pe(t.$$.ptr,A,this.registeredClass)}function Qe(e,t){var A;if(null===t)return this.isReference&&j("null is not a valid ".concat(this.name)),this.isSmartPointer?(A=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,A),A):0;t.$$||j('Cannot pass "'.concat(Je(t),'" as a ').concat(this.name)),t.$$.ptr||j("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&j("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var n=t.$$.ptrType.registeredClass;if(A=pe(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&j("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?A=t.$$.smartPtr:j("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:A=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)A=t.$$.smartPtr;else{var r=t.clone();A=this.rawShare(A,Pe.toHandle((function(){return r.delete()}))),null!==e&&e.push(this.rawDestructor,A)}break;default:j("Unsupporting sharing policy")}return A}function ve(e,t){if(null===t)return this.isReference&&j("null is not a valid ".concat(this.name)),0;t.$$||j('Cannot pass "'.concat(Je(t),'" as a ').concat(this.name)),t.$$.ptr||j("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&j("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var A=t.$$.ptrType.registeredClass;return pe(t.$$.ptr,A,this.registeredClass)}function me(e){return this.fromWireType(B[e>>2])}function ye(e,t,A,n,r,i,o,a,s,c,u){this.name=e,this.registeredClass=t,this.isReference=A,this.isConst=n,this.isSmartPointer=r,this.pointeeType=i,this.sharingPolicy=o,this.rawGetPointee=a,this.rawConstructor=s,this.rawShare=c,this.rawDestructor=u,r||void 0!==t.baseClass?this.toWireType=Qe:n?(this.toWireType=Be,this.destructorFunction=null):(this.toWireType=ve,this.destructorFunction=null)}var ke,we,De=[],be=function(e){var t=De[e];return t||(e>=De.length&&(De.length=e+1),De[e]=t=ke.get(e)),t},Te=function(e,t,A){return e.includes("j")?function(e,t,A){var n=i["dynCall_"+e];return A&&A.length?n.apply(null,[t].concat(A)):n.call(null,t)}(e,t,A):be(t).apply(null,A)},Se=function(e,t){var A,n,r,i=(e=H(e)).includes("j")?(A=e,n=t,r=[],function(){return r.length=0,Object.assign(r,arguments),Te(A,n,r)}):be(t);return"function"!=typeof i&&j("unknown function pointer with signature ".concat(e,": ").concat(t)),i},Re=function(e){var t=It(e),A=H(t);return ht(t),A},Ne=function(e,t){var A=[],n={};throw t.forEach((function e(t){n[t]||V[t]||(J[t]?J[t].forEach(e):(A.push(t),n[t]=!0))})),new we("".concat(e,": ")+A.map(Re).join([", "]))},_e=function(e,t){for(var A=[],n=0;n<e;n++)A.push(B[t+4*n>>2]);return A},Me=function(e){for(;e.length;){var t=e.pop();e.pop()(t)}};function Le(e,t,A,n,r,i){var o=t.length;o<2&&j("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==A,s=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){s=!0;break}var u="void"!==t[0].name,g=o-2,l=new Array(g),d=[],I=[];return Ce(e,(function(){var A;arguments.length!==g&&j("function ".concat(e," called with ").concat(arguments.length," arguments, expected ").concat(g)),I.length=0,d.length=a?2:1,d[0]=r,a&&(A=t[1].toWireType(I,this),d[1]=A);for(var i=0;i<g;++i)l[i]=t[i+2].toWireType(I,arguments[i]),d.push(l[i]);return function(e){if(s)Me(I);else for(var n=a?1:2;n<t.length;n++){var r=1===n?A:l[n-2];null!==t[n].destructorFunction&&t[n].destructorFunction(r)}if(u)return t[0].fromWireType(e)}(n.apply(null,d))}))}var xe=function(e,t,A){return e instanceof Object||j("".concat(A,' with invalid "this": ').concat(e)),e instanceof t.registeredClass.constructor||j("".concat(A,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||j("cannot call emscripten binding method ".concat(A," on deleted object")),pe(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)};function Fe(){this.allocated=[void 0],this.freelist=[]}var Ge=new Fe,Oe=function(e){e>=Ge.reserved&&0==--Ge.get(e).refcount&&Ge.free(e)},Ue=function(){for(var e=0,t=Ge.reserved;t<Ge.allocated.length;++t)void 0!==Ge.allocated[t]&&++e;return e},Pe={toValue:function(e){return e||j("Cannot use deleted val. handle = "+e),Ge.get(e).value},toHandle:function(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Ge.allocate({refcount:1,value:e})}}};function Ye(e){return this.fromWireType(p[e>>2])}var He,Ke,Ve,Je=function(e){if(null===e)return"null";var t=m(e);return"object"===t||"array"===t||"function"===t?e.toString():""+e},je=function(e,t){switch(t){case 4:return function(e){return this.fromWireType(Q[e>>2])};case 8:return function(e){return this.fromWireType(v[e>>3])};default:throw new TypeError("invalid float width (".concat(t,"): ").concat(e))}},We=function(e,t,A){switch(t){case 1:return A?function(e){return h[0|e]}:function(e){return C[0|e]};case 2:return A?function(e){return E[e>>1]}:function(e){return f[e>>1]};case 4:return A?function(e){return p[e>>2]}:function(e){return B[e>>2]};default:throw new TypeError("invalid integer width (".concat(t,"): ").concat(e))}},Ze="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ze=function(e,t,A){for(var n=t+A,r=t;e[r]&&!(r>=n);)++r;if(r-t>16&&e.buffer&&Ze)return Ze.decode(e.subarray(t,r));for(var i="";t<r;){var o=e[t++];if(128&o){var a=63&e[t++];if(192!=(224&o)){var s=63&e[t++];if((o=224==(240&o)?(15&o)<<12|a<<6|s:(7&o)<<18|a<<12|s<<6|63&e[t++])<65536)i+=String.fromCharCode(o);else{var c=o-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&o)<<6|a)}else i+=String.fromCharCode(o)}return i},Xe="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,qe=function(e,t){for(var A=e,n=A>>1,r=n+t/2;!(n>=r)&&f[n];)++n;if((A=n<<1)-e>32&&Xe)return Xe.decode(C.subarray(e,A));for(var i="",o=0;!(o>=t/2);++o){var a=E[e+2*o>>1];if(0==a)break;i+=String.fromCharCode(a)}return i},$e=function(e,t,A){if(void 0===A&&(A=2147483647),A<2)return 0;for(var n=t,r=(A-=2)<2*e.length?A/2:e.length,i=0;i<r;++i){var o=e.charCodeAt(i);E[t>>1]=o,t+=2}return E[t>>1]=0,t-n},et=function(e){return 2*e.length},tt=function(e,t){for(var A=0,n="";!(A>=t/4);){var r=p[e+4*A>>2];if(0==r)break;if(++A,r>=65536){var i=r-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(r)}return n},At=function(e,t,A){if(void 0===A&&(A=2147483647),A<4)return 0;for(var n=t,r=n+A-4,i=0;i<e.length;++i){var o=e.charCodeAt(i);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++i)),p[t>>2]=o,(t+=4)+4>r)break}return p[t>>2]=0,t-n},nt=function(e){for(var t=0,A=0;A<e.length;++A){var n=e.charCodeAt(A);n>=55296&&n<=57343&&++A,t+=4}return t},rt=function(e,t){var A=V[e];return void 0===A&&j(t+" has unknown type "+Re(e)),A},it=function(e,t,A){var n=[],r=e.toWireType(n,A);return n.length&&(B[t>>2]=Pe.toHandle(n)),r},ot={},at=[],st=Reflect.construct,ct=[null,[],[]];!function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);U=e}(),P=i.BindingError=function(e){function t(e){var A;return r(this,t),(A=n(this,t,[e])).name="BindingError",A}return g(t,e),a(t)}(k(Error)),Y=i.InternalError=function(e){function t(e){var A;return r(this,t),(A=n(this,t,[e])).name="InternalError",A}return g(t,e),a(t)}(k(Error)),Object.assign(he.prototype,{isAliasOf:function(e){if(!(this instanceof he))return!1;if(!(e instanceof he))return!1;var t=this.$$.ptrType.registeredClass,A=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,r=e.$$.ptr;t.baseClass;)A=t.upcast(A),t=t.baseClass;for(;n.baseClass;)r=n.upcast(r),n=n.baseClass;return t===n&&A===r},clone:function(){if(this.$$.ptr||$(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ie(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete:function(){this.$$.ptr||$(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&j("Object already scheduled for deletion"),te(this),Ae(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted:function(){return!this.$$.ptr},deleteLater:function(){return this.$$.ptr||$(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&j("Object already scheduled for deletion"),ae.push(this),1===ae.length&&X&&X(se),this.$$.deleteScheduled=!0,this}}),i.getInheritedInstanceCount=ie,i.getLiveInheritedInstances=oe,i.flushPendingDeletes=se,i.setDelayFunction=ce,Object.assign(ye.prototype,{getPointee:function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor:function(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:8,readValueFromPointer:me,deleteObject:function(e){null!==e&&e.delete()},fromWireType:de}),we=i.UnboundTypeError=(He=Error,(Ve=Ce(Ke="UnboundTypeError",(function(e){this.name=Ke,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(He.prototype),Ve.prototype.constructor=Ve,Ve.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},Ve),Object.assign(Fe.prototype,{get:function(e){return this.allocated[e]},has:function(e){return void 0!==this.allocated[e]},allocate:function(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free:function(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Ge.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Ge.reserved=Ge.allocated.length,i.count_emval_handles=Ue;var ut,gt={w:function(e,t,A){throw new O(e).init(t,A),e},q:function(e,t,A,n,r){},u:function(e,t,A,n){z(e,{name:t=H(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?A:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(C[e])},destructorFunction:null})},y:function(e,t,A,n,r,o,a,s,c,u,g,l,d){g=H(g),o=Se(r,o),s&&(s=Se(a,s)),u&&(u=Se(c,u)),d=Se(l,d);var I=function(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}(g);!function(e,t,A){i.hasOwnProperty(e)?(j("Cannot register public name '".concat(e,"' twice")),Ee(i,e,e),i.hasOwnProperty(A)&&j("Cannot register multiple overloads of a function with the same number of arguments (".concat(A,")!")),i[e].overloadTable[A]=t):i[e]=t}(I,(function(){Ne("Cannot construct ".concat(g," due to unbound types"),[n])})),Z([e,t,A],n?[n]:[],(function(t){var A,r;t=t[0],r=n?(A=t.registeredClass).instancePrototype:he.prototype;var a=Ce(g,(function(){if(Object.getPrototypeOf(this)!==c)throw new P("Use 'new' to construct "+g);if(void 0===l.constructor_body)throw new P(g+" has no accessible constructor");var e=l.constructor_body[arguments.length];if(void 0===e)throw new P("Tried to invoke ctor of ".concat(g," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(l.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)})),c=Object.create(r,{constructor:{value:a}});a.prototype=c;var l=new fe(g,a,c,d,A,o,s,u);l.baseClass&&(void 0===l.baseClass.__derivedClasses&&(l.baseClass.__derivedClasses=[]),l.baseClass.__derivedClasses.push(l));var h=new ye(g,l,!0,!1,!1),C=new ye(g+"*",l,!1,!1,!1),E=new ye(g+" const*",l,!1,!0,!1);return re[e]={pointerType:C,constPointerType:E},function(e,t,A){i.hasOwnProperty(e)||W("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==A||(i[e]=t,i[e].argCount=A)}(I,a),[h,C,E]}))},x:function(e,t,A,n,r,i){var o=_e(t,A);r=Se(n,r),Z([],[e],(function(e){e=e[0];var A="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new P("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=function(){Ne("Cannot construct ".concat(e.name," due to unbound types"),o)},Z([],o,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Le(A,n,null,r,i),[]})),[]}))},h:function(e,t,A,n,r,i,o,a,s){var c,u,g=_e(A,n);t=H(t),u=(c=(c=t).trim()).indexOf("("),t=-1!==u?c.substr(0,u):c,i=Se(r,i),Z([],[e],(function(e){e=e[0];var n="".concat(e.name,".").concat(t);function r(){Ne("Cannot call ".concat(n," due to unbound types"),g)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),a&&e.registeredClass.pureVirtualFunctions.push(t);var s=e.registeredClass.instancePrototype,c=s[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===A-2?(r.argCount=A-2,r.className=e.name,s[t]=r):(Ee(s,t,n),s[t].overloadTable[A-2]=r),Z([],g,(function(r){var a=Le(n,r,e,i,o);return void 0===s[t].overloadTable?(a.argCount=A-2,s[t]=a):s[t].overloadTable[A-2]=a,[]})),[]}))},k:function(e,t,A,n,r,i,o,a,s,c){t=H(t),r=Se(n,r),Z([],[e],(function(e){e=e[0];var n="".concat(e.name,".").concat(t),u={get:function(){Ne("Cannot access ".concat(n," due to unbound types"),[A,o])},enumerable:!0,configurable:!0};return u.set=s?function(){return Ne("Cannot access ".concat(n," due to unbound types"),[A,o])}:function(e){return j(n+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,t,u),Z([],s?[A,o]:[A],(function(A){var o=A[0],u={get:function(){var t=xe(this,e,n+" getter");return o.fromWireType(r(i,t))},enumerable:!0};if(s){s=Se(a,s);var g=A[1];u.set=function(t){var A=xe(this,e,n+" setter"),r=[];s(c,A,g.toWireType(r,t)),Me(r)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,u),[]})),[]}))},t:function(e,t){z(e,{name:t=H(t),fromWireType:function(e){var t=Pe.toValue(e);return Oe(e),t},toWireType:function(e,t){return Pe.toHandle(t)},argPackAdvance:8,readValueFromPointer:Ye,destructorFunction:null})},p:function(e,t,A){z(e,{name:t=H(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:je(t,A),destructorFunction:null})},g:function(e,t,A,n,r){t=H(t);var i=function(e){return e};if(0===n){var o=32-8*A;i=function(e){return e<<o>>>o}}var a=t.includes("unsigned");z(e,{name:t,fromWireType:i,toWireType:a?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:We(t,A,0!==n),destructorFunction:null})},a:function(e,t,A){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function r(e){var t=B[e>>2],A=B[e+4>>2];return new n(h.buffer,A,t)}z(e,{name:A=H(A),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{ignoreDuplicateRegistrations:!0})},o:function(e,t){var A="std::string"===(t=H(t));z(e,{name:t,fromWireType:function(e){var t,n,r,i=B[e>>2],o=e+4;if(A)for(var a=o,s=0;s<=i;++s){var c=o+s;if(s==i||0==C[c]){var u=(r=c-a,(n=a)?ze(C,n,r):"");void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),a=c+1}}else{var g=new Array(i);for(s=0;s<i;++s)g[s]=String.fromCharCode(C[o+s]);t=g.join("")}return ht(e),t},toWireType:function(e,t){var n;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var r="string"==typeof t;r||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||j("Cannot pass non-string to std::string"),n=A&&r?function(e){for(var t=0,A=0;A<e.length;++A){var n=e.charCodeAt(A);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++A):t+=3}return t}(t):t.length;var i=dt(4+n+1),o=i+4;if(B[i>>2]=n,A&&r)!function(e,t,A,n){if(!(n>0))return 0;for(var r=A+n-1,i=0;i<e.length;++i){var o=e.charCodeAt(i);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++i)),o<=127){if(A>=r)break;t[A++]=o}else if(o<=2047){if(A+1>=r)break;t[A++]=192|o>>6,t[A++]=128|63&o}else if(o<=65535){if(A+2>=r)break;t[A++]=224|o>>12,t[A++]=128|o>>6&63,t[A++]=128|63&o}else{if(A+3>=r)break;t[A++]=240|o>>18,t[A++]=128|o>>12&63,t[A++]=128|o>>6&63,t[A++]=128|63&o}}t[A]=0}(t,C,o,n+1);else if(r)for(var a=0;a<n;++a){var s=t.charCodeAt(a);s>255&&(ht(o),j("String has UTF-16 code units that do not fit in 8 bits")),C[o+a]=s}else for(a=0;a<n;++a)C[o+a]=t[a];return null!==e&&e.push(ht,i),i},argPackAdvance:8,readValueFromPointer:me,destructorFunction:function(e){ht(e)}})},l:function(e,t,A){var n,r,i,o,a;A=H(A),2===t?(n=qe,r=$e,o=et,i=function(){return f},a=1):4===t&&(n=tt,r=At,o=nt,i=function(){return B},a=2),z(e,{name:A,fromWireType:function(e){for(var A,r=B[e>>2],o=i(),s=e+4,c=0;c<=r;++c){var u=e+4+c*t;if(c==r||0==o[u>>a]){var g=n(s,u-s);void 0===A?A=g:(A+=String.fromCharCode(0),A+=g),s=u+t}}return ht(e),A},toWireType:function(e,n){"string"!=typeof n&&j("Cannot pass non-string to C++ string type ".concat(A));var i=o(n),s=dt(4+i+t);return B[s>>2]=i>>a,r(n,s+4,i+t),null!==e&&e.push(ht,s),s},argPackAdvance:8,readValueFromPointer:Ye,destructorFunction:function(e){ht(e)}})},v:function(e,t){z(e,{isVoid:!0,name:t=H(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},j:function(e,t,A){return e=Pe.toValue(e),t=rt(t,"emval::as"),it(t,A,e)},e:function(e,t,A,n,r){var i,o;return(e=at[e])(t=Pe.toValue(t),t[A=void 0===(o=ot[i=A])?H(i):o],n,r)},d:Oe,f:function(e,t,A){var n=function(e,t){for(var A=new Array(e),n=0;n<e;++n)A[n]=rt(B[t+4*n>>2],"parameter "+n);return A}(e,t),r=n.shift();e--;var i,o,a=new Array(e),s="methodCaller<(".concat(n.map((function(e){return e.name})).join(", "),") => ").concat(r.name,">");return i=Ce(s,(function(t,i,o,s){for(var c=0,u=0;u<e;++u)a[u]=n[u].readValueFromPointer(s+c),c+=n[u].argPackAdvance;var g=1===A?st(i,a):i.apply(t,a);for(u=0;u<e;++u)n[u].deleteObject&&n[u].deleteObject(a[u]);return it(r,o,g)})),o=at.length,at.push(i),o},b:function(e){e>4&&(Ge.get(e).refcount+=1)},c:function(e){var t=Pe.toValue(e);Me(t),Oe(e)},i:function(e,t){var A=(e=rt(e,"_emval_take_value")).readValueFromPointer(t);return Pe.toHandle(A)},m:function(){R("")},s:function(e,t,A){return C.copyWithin(e,t,t+A)},r:function(e){C.length,R("OOM")},n:function(e,t,A,n){for(var r,i,o,a=0,s=0;s<A;s++){var c=B[t>>2],u=B[t+4>>2];t+=8;for(var g=0;g<u;g++)r=e,i=C[c+g],o=void 0,o=ct[r],0===i||10===i?((1===r?l:d)(ze(o,0)),o.length=0):o.push(i);a+=u}return B[n>>2]=a,0}},lt=function(){var e={a:gt};function A(e,t){var A,n;return lt=e.exports,u=lt.z,A=u.buffer,i.HEAP8=h=new Int8Array(A),i.HEAP16=E=new Int16Array(A),i.HEAPU8=C=new Uint8Array(A),i.HEAPU16=f=new Uint16Array(A),i.HEAP32=p=new Int32Array(A),i.HEAPU32=B=new Uint32Array(A),i.HEAPF32=Q=new Float32Array(A),i.HEAPF64=v=new Float64Array(A),ke=lt.C,n=lt.A,D.unshift(n),function(){if(T--,i.monitorRunDependencies&&i.monitorRunDependencies(T),0==T&&S){var e=S;S=null,e()}}(),lt}if(T++,i.monitorRunDependencies&&i.monitorRunDependencies(T),i.instantiateWasm)try{return i.instantiateWasm(e,A)}catch(e){d("Module.instantiateWasm callback failed with error: ".concat(e)),t(e)}return F(0,N,e,(function(e){A(e.instance)})).catch(t),{}}(),dt=function(e){return(dt=lt.B)(e)},It=function(e){return(It=lt.D)(e)},ht=function(e){return(ht=lt.E)(e)},Ct=function(e){return(Ct=lt.F)(e)};function Et(){function t(){ut||(ut=!0,i.calledRun=!0,y||(G(D),e(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),b.unshift(e);var e;G(b)}()))}T>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),w.unshift(e);var e;G(w)}(),T>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),t()}),1)):t()))}if(i.dynCall_jiji=function(e,t,A,n,r){return(i.dynCall_jiji=lt.G)(e,t,A,n,r)},i._vertexShaderSource=10528,S=function e(){ut||Et(),ut||(S=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Et(),A.ready}),ee=$,te="undefined"==typeof navigator?"":navigator.userAgent,Ae=function(e){return new RegExp(e,"i").test(te)},ne=function(e){if(Ae(e)){var t=new RegExp("".concat(e,"\\/([\\d.]+)")),A=te.match(t);if(A&&A[1])return A[1]}return""},re=function(e){if(Ae(e)){var t=new RegExp("".concat(e,"\\/(\\d+)")),A=te.match(t);if(A&&A[1])return parseFloat(A[1])}return NaN},ie=/AppleWebKit\/([\d.]+)/i.exec(te);ie&&parseFloat(ie[1]);var oe=Ae("iPad"),ae="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&Ae("Macintosh"),se=Ae("iPhone")&&!oe,ce=Ae("iPod"),ue=se||oe||ce||ae,ge=Ae("Android");!function(){if(ge){var e=te.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){var t=e[1]&&parseFloat(e[1]),A=e[2]&&parseFloat(e[2]);if(t&&A)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}}();ge&&Ae("webkit");var le=Ae("Firefox"),de=ne("Firefox"),Ie=re("Firefox"),he=Ae("Edge"),Ce=ne("Edge"),Ee=Ae("Edg"),fe=ne("Edg"),pe=re("Edg"),Be=Ae("SogouMobileBrowser"),Qe=ne("SogouMobileBrowser"),ve=Ae("MetaSr\\s"),me=ne("MetaSr\\s"),ye=Ae("TBS"),ke=ne("TBS"),we=Ae("XWEB"),De=ne("XWEB");Ae("MSIE\\s8\\.0");var be=Ae("MSIE\\/\\d+");!function(){if(be){var e=/MSIE\s(\d+)\.\d/.exec(te),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(te)&&/rv:11.0/.test(te)&&(t=11),t}}();var Te=Ae("(micromessenger|webbrowser)"),Se=ne("MicroMessenger"),Re=!ye&&Ae("MQQBrowser")&&Ae("COVC"),Ne=!ye&&Ae("MQQBrowser")&&!Ae("COVC"),_e=Ne||Re?ne("MQQBrowser"):"",Me=!ye&&Ae(" QQBrowser"),Le=ne(" QQBrowser"),xe=!ye&&Ae("QQBrowserLite"),Fe=ne("QQBrowserLite"),Ge=!ye&&Ae("MQBHD"),Oe=ne("MQBHD"),Ue=Ae("Windows"),Pe=!ue&&Ae("MAC OS X"),Ye=!ge&&Ae("Linux"),He=Ae("CrOS");Ae("MicroMessenger");var Ke=Ae("UCBrowser");Ae("Electron");var Ve=Ae("MiuiBrowser"),Je=ne("MiuiBrowser"),je=Ae("HuaweiBrowser"),We=Ae("Huawei")||Ae("HUAWEI"),Ze=Ae("Honor")||Ae("HONOR"),ze=ne("HuaweiBrowser"),Xe=Ae("SamsungBrowser"),qe=ne("SamsungBrowser"),$e=Ae("HeyTapBrowser"),et=ne("HeyTapBrowser"),tt=Ae("VivoBrowser"),At=ne("VivoBrowser"),nt=Ae("OpenHarmony");ne("OpenHarmony");var rt=function(){return re("Chrome")},it=Ae("Chrome"),ot=!he&&!ve&&!Be&&!ye&&!we&&!Ee&&!Me&&!Ve&&!je&&!Xe&&!$e&&!tt&&it,at=Ae("HeadlessChrome"),st=rt(),ct=ne("Chrome"),ut=!it&&!Ne&&!Re&&!xe&&!Ge&&Ae("Safari"),gt=ut||ue,lt=ne("Version"),dt=function(){if(ae)return lt;if(ue){var e=te.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){var t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""}();var It,ht=Number(dt.split(".")[0]),Ct="15.1"===dt,Et=14===(It=Number(dt.split(".")[0]))||13===It,ft=Ae("CriOS")&&"11.1.1"===lt,pt="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),Bt=function(){var e;return function(){if(void 0===e)try{e=!!window.localStorage}catch(t){e=!1}return e}}(),Qt=function(){var e=new Map([[le,["Firefox",de]],[Ee,["Edg",fe]],[ot,["Chrome",ct]],[ut,["Safari",lt]],[ye,["TBS",ke]],[we,["XWEB",De]],[Te&&se,["WeChat",Se]],[Me,["QQ(Win)",Le]],[Ne,["QQ(Mobile)",_e]],[Re,["QQ(Mobile X5)",_e]],[xe,["QQ(Mac)",Fe]],[Ge,["QQ(iPad)",Oe]],[Ve,["MI",Je]],[je,["HW",ze]],[Xe,["Samsung",qe]],[$e,["OPPO",et]],[tt,["VIVO",At]],[he,["EDGE",Ce]],[Be,["SogouMobile",Qe]],[ve,["Sogou",me]]]),t="unknown",A="unknown";if(e.has(!0)){var n=E(e.get(!0),2);t=n[0],A=n[1]}return{name:t,version:A}}();var vt=new Map([[ge,"Android"],[ue,"iOS"],[Ue,"Windows"],[Pe,"MacOS"],[Ye,"Linux"],[He,"ChromeOS"]]),mt=function(){return vt.get(!0)?vt.get(!0):"unknown"};function yt(){return Ue?1:ge?2:Pe?3:ue?4:Ye?5:He?6:0}var kt=function(){var e=mt();return e+="/".concat(Qt.name,"/").concat(ut?Qt.version:Qt.version.split(".")[0])},wt=1e-6,Dt="undefined"!=typeof Float32Array?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var bt={};function Tt(){var e=new Dt(16);return Dt!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function St(e){var t=new Dt(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Rt(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Nt(e,t,A,n,r,i,o,a,s,c,u,g,l,d,I,h){var C=new Dt(16);return C[0]=e,C[1]=t,C[2]=A,C[3]=n,C[4]=r,C[5]=i,C[6]=o,C[7]=a,C[8]=s,C[9]=c,C[10]=u,C[11]=g,C[12]=l,C[13]=d,C[14]=I,C[15]=h,C}function _t(e,t,A,n,r,i,o,a,s,c,u,g,l,d,I,h,C){return e[0]=t,e[1]=A,e[2]=n,e[3]=r,e[4]=i,e[5]=o,e[6]=a,e[7]=s,e[8]=c,e[9]=u,e[10]=g,e[11]=l,e[12]=d,e[13]=I,e[14]=h,e[15]=C,e}function Mt(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Lt(e,t){if(e===t){var A=t[1],n=t[2],r=t[3],i=t[6],o=t[7],a=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=A,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=r,e[13]=o,e[14]=a}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function xt(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],c=t[7],u=t[8],g=t[9],l=t[10],d=t[11],I=t[12],h=t[13],C=t[14],E=t[15],f=A*a-n*o,p=A*s-r*o,B=A*c-i*o,Q=n*s-r*a,v=n*c-i*a,m=r*c-i*s,y=u*h-g*I,k=u*C-l*I,w=u*E-d*I,D=g*C-l*h,b=g*E-d*h,T=l*E-d*C,S=f*T-p*b+B*D+Q*w-v*k+m*y;return S?(S=1/S,e[0]=(a*T-s*b+c*D)*S,e[1]=(r*b-n*T-i*D)*S,e[2]=(h*m-C*v+E*Q)*S,e[3]=(l*v-g*m-d*Q)*S,e[4]=(s*w-o*T-c*k)*S,e[5]=(A*T-r*w+i*k)*S,e[6]=(C*B-I*m-E*p)*S,e[7]=(u*m-l*B+d*p)*S,e[8]=(o*b-a*w+c*y)*S,e[9]=(n*w-A*b-i*y)*S,e[10]=(I*v-h*B+E*f)*S,e[11]=(g*B-u*v-d*f)*S,e[12]=(a*k-o*D-s*y)*S,e[13]=(A*D-n*k+r*y)*S,e[14]=(h*p-I*Q-C*f)*S,e[15]=(u*Q-g*p+l*f)*S,e):null}function Ft(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],c=t[7],u=t[8],g=t[9],l=t[10],d=t[11],I=t[12],h=t[13],C=t[14],E=t[15];return e[0]=a*(l*E-d*C)-g*(s*E-c*C)+h*(s*d-c*l),e[1]=-(n*(l*E-d*C)-g*(r*E-i*C)+h*(r*d-i*l)),e[2]=n*(s*E-c*C)-a*(r*E-i*C)+h*(r*c-i*s),e[3]=-(n*(s*d-c*l)-a*(r*d-i*l)+g*(r*c-i*s)),e[4]=-(o*(l*E-d*C)-u*(s*E-c*C)+I*(s*d-c*l)),e[5]=A*(l*E-d*C)-u*(r*E-i*C)+I*(r*d-i*l),e[6]=-(A*(s*E-c*C)-o*(r*E-i*C)+I*(r*c-i*s)),e[7]=A*(s*d-c*l)-o*(r*d-i*l)+u*(r*c-i*s),e[8]=o*(g*E-d*h)-u*(a*E-c*h)+I*(a*d-c*g),e[9]=-(A*(g*E-d*h)-u*(n*E-i*h)+I*(n*d-i*g)),e[10]=A*(a*E-c*h)-o*(n*E-i*h)+I*(n*c-i*a),e[11]=-(A*(a*d-c*g)-o*(n*d-i*g)+u*(n*c-i*a)),e[12]=-(o*(g*C-l*h)-u*(a*C-s*h)+I*(a*l-s*g)),e[13]=A*(g*C-l*h)-u*(n*C-r*h)+I*(n*l-r*g),e[14]=-(A*(a*C-s*h)-o*(n*C-r*h)+I*(n*s-r*a)),e[15]=A*(a*l-s*g)-o*(n*l-r*g)+u*(n*s-r*a),e}function Gt(e){var t=e[0],A=e[1],n=e[2],r=e[3],i=e[4],o=e[5],a=e[6],s=e[7],c=e[8],u=e[9],g=e[10],l=e[11],d=e[12],I=e[13],h=e[14],C=e[15];return(t*o-A*i)*(g*C-l*h)-(t*a-n*i)*(u*C-l*I)+(t*s-r*i)*(u*h-g*I)+(A*a-n*o)*(c*C-l*d)-(A*s-r*o)*(c*h-g*d)+(n*s-r*a)*(c*I-u*d)}function Ot(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],c=t[6],u=t[7],g=t[8],l=t[9],d=t[10],I=t[11],h=t[12],C=t[13],E=t[14],f=t[15],p=A[0],B=A[1],Q=A[2],v=A[3];return e[0]=p*n+B*a+Q*g+v*h,e[1]=p*r+B*s+Q*l+v*C,e[2]=p*i+B*c+Q*d+v*E,e[3]=p*o+B*u+Q*I+v*f,p=A[4],B=A[5],Q=A[6],v=A[7],e[4]=p*n+B*a+Q*g+v*h,e[5]=p*r+B*s+Q*l+v*C,e[6]=p*i+B*c+Q*d+v*E,e[7]=p*o+B*u+Q*I+v*f,p=A[8],B=A[9],Q=A[10],v=A[11],e[8]=p*n+B*a+Q*g+v*h,e[9]=p*r+B*s+Q*l+v*C,e[10]=p*i+B*c+Q*d+v*E,e[11]=p*o+B*u+Q*I+v*f,p=A[12],B=A[13],Q=A[14],v=A[15],e[12]=p*n+B*a+Q*g+v*h,e[13]=p*r+B*s+Q*l+v*C,e[14]=p*i+B*c+Q*d+v*E,e[15]=p*o+B*u+Q*I+v*f,e}function Ut(e,t,A){var n,r,i,o,a,s,c,u,g,l,d,I,h=A[0],C=A[1],E=A[2];return t===e?(e[12]=t[0]*h+t[4]*C+t[8]*E+t[12],e[13]=t[1]*h+t[5]*C+t[9]*E+t[13],e[14]=t[2]*h+t[6]*C+t[10]*E+t[14],e[15]=t[3]*h+t[7]*C+t[11]*E+t[15]):(n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],c=t[6],u=t[7],g=t[8],l=t[9],d=t[10],I=t[11],e[0]=n,e[1]=r,e[2]=i,e[3]=o,e[4]=a,e[5]=s,e[6]=c,e[7]=u,e[8]=g,e[9]=l,e[10]=d,e[11]=I,e[12]=n*h+a*C+g*E+t[12],e[13]=r*h+s*C+l*E+t[13],e[14]=i*h+c*C+d*E+t[14],e[15]=o*h+u*C+I*E+t[15]),e}function Pt(e,t,A){var n=A[0],r=A[1],i=A[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Yt(e,t,A,n){var r,i,o,a,s,c,u,g,l,d,I,h,C,E,f,p,B,Q,v,m,y,k,w,D,b=n[0],T=n[1],S=n[2],R=Math.hypot(b,T,S);return R<wt?null:(b*=R=1/R,T*=R,S*=R,r=Math.sin(A),o=1-(i=Math.cos(A)),a=t[0],s=t[1],c=t[2],u=t[3],g=t[4],l=t[5],d=t[6],I=t[7],h=t[8],C=t[9],E=t[10],f=t[11],p=b*b*o+i,B=T*b*o+S*r,Q=S*b*o-T*r,v=b*T*o-S*r,m=T*T*o+i,y=S*T*o+b*r,k=b*S*o+T*r,w=T*S*o-b*r,D=S*S*o+i,e[0]=a*p+g*B+h*Q,e[1]=s*p+l*B+C*Q,e[2]=c*p+d*B+E*Q,e[3]=u*p+I*B+f*Q,e[4]=a*v+g*m+h*y,e[5]=s*v+l*m+C*y,e[6]=c*v+d*m+E*y,e[7]=u*v+I*m+f*y,e[8]=a*k+g*w+h*D,e[9]=s*k+l*w+C*D,e[10]=c*k+d*w+E*D,e[11]=u*k+I*w+f*D,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function Ht(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[4],o=t[5],a=t[6],s=t[7],c=t[8],u=t[9],g=t[10],l=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*r+c*n,e[5]=o*r+u*n,e[6]=a*r+g*n,e[7]=s*r+l*n,e[8]=c*r-i*n,e[9]=u*r-o*n,e[10]=g*r-a*n,e[11]=l*r-s*n,e}function Kt(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[0],o=t[1],a=t[2],s=t[3],c=t[8],u=t[9],g=t[10],l=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*r-c*n,e[1]=o*r-u*n,e[2]=a*r-g*n,e[3]=s*r-l*n,e[8]=i*n+c*r,e[9]=o*n+u*r,e[10]=a*n+g*r,e[11]=s*n+l*r,e}function Vt(e,t,A){var n=Math.sin(A),r=Math.cos(A),i=t[0],o=t[1],a=t[2],s=t[3],c=t[4],u=t[5],g=t[6],l=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*r+c*n,e[1]=o*r+u*n,e[2]=a*r+g*n,e[3]=s*r+l*n,e[4]=c*r-i*n,e[5]=u*r-o*n,e[6]=g*r-a*n,e[7]=l*r-s*n,e}function Jt(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function jt(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Wt(e,t,A){var n,r,i,o=A[0],a=A[1],s=A[2],c=Math.hypot(o,a,s);return c<wt?null:(o*=c=1/c,a*=c,s*=c,n=Math.sin(t),i=1-(r=Math.cos(t)),e[0]=o*o*i+r,e[1]=a*o*i+s*n,e[2]=s*o*i-a*n,e[3]=0,e[4]=o*a*i-s*n,e[5]=a*a*i+r,e[6]=s*a*i+o*n,e[7]=0,e[8]=o*s*i+a*n,e[9]=a*s*i-o*n,e[10]=s*s*i+r,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function Zt(e,t){var A=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=A,e[7]=0,e[8]=0,e[9]=-A,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function zt(e,t){var A=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-A,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=A,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Xt(e,t){var A=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=A,e[2]=0,e[3]=0,e[4]=-A,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function qt(e,t,A){var n=t[0],r=t[1],i=t[2],o=t[3],a=n+n,s=r+r,c=i+i,u=n*a,g=n*s,l=n*c,d=r*s,I=r*c,h=i*c,C=o*a,E=o*s,f=o*c;return e[0]=1-(d+h),e[1]=g+f,e[2]=l-E,e[3]=0,e[4]=g-f,e[5]=1-(u+h),e[6]=I+C,e[7]=0,e[8]=l+E,e[9]=I-C,e[10]=1-(u+d),e[11]=0,e[12]=A[0],e[13]=A[1],e[14]=A[2],e[15]=1,e}function $t(e,t){var A=new Dt(3),n=-t[0],r=-t[1],i=-t[2],o=t[3],a=t[4],s=t[5],c=t[6],u=t[7],g=n*n+r*r+i*i+o*o;return g>0?(A[0]=2*(a*o+u*n+s*i-c*r)/g,A[1]=2*(s*o+u*r+c*n-a*i)/g,A[2]=2*(c*o+u*i+a*r-s*n)/g):(A[0]=2*(a*o+u*n+s*i-c*r),A[1]=2*(s*o+u*r+c*n-a*i),A[2]=2*(c*o+u*i+a*r-s*n)),qt(e,t,A),e}function eA(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function tA(e,t){var A=t[0],n=t[1],r=t[2],i=t[4],o=t[5],a=t[6],s=t[8],c=t[9],u=t[10];return e[0]=Math.hypot(A,n,r),e[1]=Math.hypot(i,o,a),e[2]=Math.hypot(s,c,u),e}function AA(e,t){var A=new Dt(3);tA(A,t);var n=1/A[0],r=1/A[1],i=1/A[2],o=t[0]*n,a=t[1]*r,s=t[2]*i,c=t[4]*n,u=t[5]*r,g=t[6]*i,l=t[8]*n,d=t[9]*r,I=t[10]*i,h=o+u+I,C=0;return h>0?(C=2*Math.sqrt(h+1),e[3]=.25*C,e[0]=(g-d)/C,e[1]=(l-s)/C,e[2]=(a-c)/C):o>u&&o>I?(C=2*Math.sqrt(1+o-u-I),e[3]=(g-d)/C,e[0]=.25*C,e[1]=(a+c)/C,e[2]=(l+s)/C):u>I?(C=2*Math.sqrt(1+u-o-I),e[3]=(l-s)/C,e[0]=(a+c)/C,e[1]=.25*C,e[2]=(g+d)/C):(C=2*Math.sqrt(1+I-o-u),e[3]=(a-c)/C,e[0]=(l+s)/C,e[1]=(g+d)/C,e[2]=.25*C),e}function nA(e,t,A,n){var r=t[0],i=t[1],o=t[2],a=t[3],s=r+r,c=i+i,u=o+o,g=r*s,l=r*c,d=r*u,I=i*c,h=i*u,C=o*u,E=a*s,f=a*c,p=a*u,B=n[0],Q=n[1],v=n[2];return e[0]=(1-(I+C))*B,e[1]=(l+p)*B,e[2]=(d-f)*B,e[3]=0,e[4]=(l-p)*Q,e[5]=(1-(g+C))*Q,e[6]=(h+E)*Q,e[7]=0,e[8]=(d+f)*v,e[9]=(h-E)*v,e[10]=(1-(g+I))*v,e[11]=0,e[12]=A[0],e[13]=A[1],e[14]=A[2],e[15]=1,e}function rA(e,t,A,n,r){var i=t[0],o=t[1],a=t[2],s=t[3],c=i+i,u=o+o,g=a+a,l=i*c,d=i*u,I=i*g,h=o*u,C=o*g,E=a*g,f=s*c,p=s*u,B=s*g,Q=n[0],v=n[1],m=n[2],y=r[0],k=r[1],w=r[2],D=(1-(h+E))*Q,b=(d+B)*Q,T=(I-p)*Q,S=(d-B)*v,R=(1-(l+E))*v,N=(C+f)*v,_=(I+p)*m,M=(C-f)*m,L=(1-(l+h))*m;return e[0]=D,e[1]=b,e[2]=T,e[3]=0,e[4]=S,e[5]=R,e[6]=N,e[7]=0,e[8]=_,e[9]=M,e[10]=L,e[11]=0,e[12]=A[0]+y-(D*y+S*k+_*w),e[13]=A[1]+k-(b*y+R*k+M*w),e[14]=A[2]+w-(T*y+N*k+L*w),e[15]=1,e}function iA(e,t){var A=t[0],n=t[1],r=t[2],i=t[3],o=A+A,a=n+n,s=r+r,c=A*o,u=n*o,g=n*a,l=r*o,d=r*a,I=r*s,h=i*o,C=i*a,E=i*s;return e[0]=1-g-I,e[1]=u+E,e[2]=l-C,e[3]=0,e[4]=u-E,e[5]=1-c-I,e[6]=d+h,e[7]=0,e[8]=l+C,e[9]=d-h,e[10]=1-c-g,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function oA(e,t,A,n,r,i,o){var a=1/(A-t),s=1/(r-n),c=1/(i-o);return e[0]=2*i*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*s,e[6]=0,e[7]=0,e[8]=(A+t)*a,e[9]=(r+n)*s,e[10]=(o+i)*c,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*i*2*c,e[15]=0,e}function aA(e,t,A,n,r){var i,o=1/Math.tan(t/2);return e[0]=o/A,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(i=1/(n-r),e[10]=(r+n)*i,e[14]=2*r*n*i):(e[10]=-1,e[14]=-2*n),e}U(bt,{add:function(){return fA},adjoint:function(){return Ft},clone:function(){return St},copy:function(){return Rt},create:function(){return Tt},determinant:function(){return Gt},equals:function(){return mA},exactEquals:function(){return vA},frob:function(){return EA},fromQuat:function(){return iA},fromQuat2:function(){return $t},fromRotation:function(){return Wt},fromRotationTranslation:function(){return qt},fromRotationTranslationScale:function(){return nA},fromRotationTranslationScaleOrigin:function(){return rA},fromScaling:function(){return jt},fromTranslation:function(){return Jt},fromValues:function(){return Nt},fromXRotation:function(){return Zt},fromYRotation:function(){return zt},fromZRotation:function(){return Xt},frustum:function(){return oA},getRotation:function(){return AA},getScaling:function(){return tA},getTranslation:function(){return eA},identity:function(){return Mt},invert:function(){return xt},lookAt:function(){return IA},mul:function(){return yA},multiply:function(){return Ot},multiplyScalar:function(){return BA},multiplyScalarAndAdd:function(){return QA},ortho:function(){return lA},orthoNO:function(){return gA},orthoZO:function(){return dA},perspective:function(){return sA},perspectiveFromFieldOfView:function(){return uA},perspectiveNO:function(){return aA},perspectiveZO:function(){return cA},rotate:function(){return Yt},rotateX:function(){return Ht},rotateY:function(){return Kt},rotateZ:function(){return Vt},scale:function(){return Pt},set:function(){return _t},str:function(){return CA},sub:function(){return kA},subtract:function(){return pA},targetTo:function(){return hA},translate:function(){return Ut},transpose:function(){return Lt}});var sA=aA;function cA(e,t,A,n,r){var i,o=1/Math.tan(t/2);return e[0]=o/A,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=r&&r!==1/0?(i=1/(n-r),e[10]=r*i,e[14]=r*n*i):(e[10]=-1,e[14]=-n),e}function uA(e,t,A,n){var r=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),s=2/(o+a),c=2/(r+i);return e[0]=s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=c,e[6]=0,e[7]=0,e[8]=-(o-a)*s*.5,e[9]=(r-i)*c*.5,e[10]=n/(A-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*A/(A-n),e[15]=0,e}function gA(e,t,A,n,r,i,o){var a=1/(t-A),s=1/(n-r),c=1/(i-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*c,e[11]=0,e[12]=(t+A)*a,e[13]=(r+n)*s,e[14]=(o+i)*c,e[15]=1,e}var lA=gA;function dA(e,t,A,n,r,i,o){var a=1/(t-A),s=1/(n-r),c=1/(i-o);return e[0]=-2*a,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*s,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=c,e[11]=0,e[12]=(t+A)*a,e[13]=(r+n)*s,e[14]=i*c,e[15]=1,e}function IA(e,t,A,n){var r,i,o,a,s,c,u,g,l,d,I=t[0],h=t[1],C=t[2],E=n[0],f=n[1],p=n[2],B=A[0],Q=A[1],v=A[2];return Math.abs(I-B)<wt&&Math.abs(h-Q)<wt&&Math.abs(C-v)<wt?Mt(e):(u=I-B,g=h-Q,l=C-v,r=f*(l*=d=1/Math.hypot(u,g,l))-p*(g*=d),i=p*(u*=d)-E*l,o=E*g-f*u,(d=Math.hypot(r,i,o))?(r*=d=1/d,i*=d,o*=d):(r=0,i=0,o=0),a=g*o-l*i,s=l*r-u*o,c=u*i-g*r,(d=Math.hypot(a,s,c))?(a*=d=1/d,s*=d,c*=d):(a=0,s=0,c=0),e[0]=r,e[1]=a,e[2]=u,e[3]=0,e[4]=i,e[5]=s,e[6]=g,e[7]=0,e[8]=o,e[9]=c,e[10]=l,e[11]=0,e[12]=-(r*I+i*h+o*C),e[13]=-(a*I+s*h+c*C),e[14]=-(u*I+g*h+l*C),e[15]=1,e)}function hA(e,t,A,n){var r=t[0],i=t[1],o=t[2],a=n[0],s=n[1],c=n[2],u=r-A[0],g=i-A[1],l=o-A[2],d=u*u+g*g+l*l;d>0&&(u*=d=1/Math.sqrt(d),g*=d,l*=d);var I=s*l-c*g,h=c*u-a*l,C=a*g-s*u;return(d=I*I+h*h+C*C)>0&&(I*=d=1/Math.sqrt(d),h*=d,C*=d),e[0]=I,e[1]=h,e[2]=C,e[3]=0,e[4]=g*C-l*h,e[5]=l*I-u*C,e[6]=u*h-g*I,e[7]=0,e[8]=u,e[9]=g,e[10]=l,e[11]=0,e[12]=r,e[13]=i,e[14]=o,e[15]=1,e}function CA(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}function EA(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function fA(e,t,A){return e[0]=t[0]+A[0],e[1]=t[1]+A[1],e[2]=t[2]+A[2],e[3]=t[3]+A[3],e[4]=t[4]+A[4],e[5]=t[5]+A[5],e[6]=t[6]+A[6],e[7]=t[7]+A[7],e[8]=t[8]+A[8],e[9]=t[9]+A[9],e[10]=t[10]+A[10],e[11]=t[11]+A[11],e[12]=t[12]+A[12],e[13]=t[13]+A[13],e[14]=t[14]+A[14],e[15]=t[15]+A[15],e}function pA(e,t,A){return e[0]=t[0]-A[0],e[1]=t[1]-A[1],e[2]=t[2]-A[2],e[3]=t[3]-A[3],e[4]=t[4]-A[4],e[5]=t[5]-A[5],e[6]=t[6]-A[6],e[7]=t[7]-A[7],e[8]=t[8]-A[8],e[9]=t[9]-A[9],e[10]=t[10]-A[10],e[11]=t[11]-A[11],e[12]=t[12]-A[12],e[13]=t[13]-A[13],e[14]=t[14]-A[14],e[15]=t[15]-A[15],e}function BA(e,t,A){return e[0]=t[0]*A,e[1]=t[1]*A,e[2]=t[2]*A,e[3]=t[3]*A,e[4]=t[4]*A,e[5]=t[5]*A,e[6]=t[6]*A,e[7]=t[7]*A,e[8]=t[8]*A,e[9]=t[9]*A,e[10]=t[10]*A,e[11]=t[11]*A,e[12]=t[12]*A,e[13]=t[13]*A,e[14]=t[14]*A,e[15]=t[15]*A,e}function QA(e,t,A,n){return e[0]=t[0]+A[0]*n,e[1]=t[1]+A[1]*n,e[2]=t[2]+A[2]*n,e[3]=t[3]+A[3]*n,e[4]=t[4]+A[4]*n,e[5]=t[5]+A[5]*n,e[6]=t[6]+A[6]*n,e[7]=t[7]+A[7]*n,e[8]=t[8]+A[8]*n,e[9]=t[9]+A[9]*n,e[10]=t[10]+A[10]*n,e[11]=t[11]+A[11]*n,e[12]=t[12]+A[12]*n,e[13]=t[13]+A[13]*n,e[14]=t[14]+A[14]*n,e[15]=t[15]+A[15]*n,e}function vA(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function mA(e,t){var A=e[0],n=e[1],r=e[2],i=e[3],o=e[4],a=e[5],s=e[6],c=e[7],u=e[8],g=e[9],l=e[10],d=e[11],I=e[12],h=e[13],C=e[14],E=e[15],f=t[0],p=t[1],B=t[2],Q=t[3],v=t[4],m=t[5],y=t[6],k=t[7],w=t[8],D=t[9],b=t[10],T=t[11],S=t[12],R=t[13],N=t[14],_=t[15];return Math.abs(A-f)<=wt*Math.max(1,Math.abs(A),Math.abs(f))&&Math.abs(n-p)<=wt*Math.max(1,Math.abs(n),Math.abs(p))&&Math.abs(r-B)<=wt*Math.max(1,Math.abs(r),Math.abs(B))&&Math.abs(i-Q)<=wt*Math.max(1,Math.abs(i),Math.abs(Q))&&Math.abs(o-v)<=wt*Math.max(1,Math.abs(o),Math.abs(v))&&Math.abs(a-m)<=wt*Math.max(1,Math.abs(a),Math.abs(m))&&Math.abs(s-y)<=wt*Math.max(1,Math.abs(s),Math.abs(y))&&Math.abs(c-k)<=wt*Math.max(1,Math.abs(c),Math.abs(k))&&Math.abs(u-w)<=wt*Math.max(1,Math.abs(u),Math.abs(w))&&Math.abs(g-D)<=wt*Math.max(1,Math.abs(g),Math.abs(D))&&Math.abs(l-b)<=wt*Math.max(1,Math.abs(l),Math.abs(b))&&Math.abs(d-T)<=wt*Math.max(1,Math.abs(d),Math.abs(T))&&Math.abs(I-S)<=wt*Math.max(1,Math.abs(I),Math.abs(S))&&Math.abs(h-R)<=wt*Math.max(1,Math.abs(h),Math.abs(R))&&Math.abs(C-N)<=wt*Math.max(1,Math.abs(C),Math.abs(N))&&Math.abs(E-_)<=wt*Math.max(1,Math.abs(E),Math.abs(_))}var yA=Ot,kA=pA,wA=function(e){return e[e.INVALID_PARAMETER=4096]="INVALID_PARAMETER",e[e.INVALID_OPERATION=4097]="INVALID_OPERATION",e[e.NOT_SUPPORTED=4098]="NOT_SUPPORTED",e[e.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",e[e.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",e[e.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",e[e.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",e[e.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",e[e.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",e[e.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",e[e.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",e[e.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",e[e.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",e[e.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",e[e.CLIENT_BANNED=16448]="CLIENT_BANNED",e[e.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",e[e.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",e[e.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",e[e.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",e[e.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",e[e.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",e[e.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",e[e.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",e[e.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",e[e.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",e[e.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",e[e.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",e[e.API_CALL_ABORTED=16461]="API_CALL_ABORTED",e[e.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",e[e.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",e[e.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",e[e.UNKNOWN=65535]="UNKNOWN",e}(wA||{}),DA=wA,bA=function(e){function t(e){var A,i=e.name,o=void 0===i?"RtcError":i,a=e.message,s=e.code,c=void 0===s?DA.UNKNOWN:s,u=e.extraCode,g=void 0===u?0:u,l=e.constraint;r(this,t);var d="<".concat(function(e){for(var t in DA)if(DA[t]===e)return t;return"UNKNOWN"}(c)," 0x").concat(c.toString(16),">"),I="".concat(a).concat(l?" constraint: ".concat(l):"").concat((null==a?void 0:a.includes(d))?"":" ".concat(d));return A=n(this,t,[I]),H(A,"code"),H(A,"extraCode"),H(A,"message"),H(A,"originMessage"),H(A,"name"),H(A,"constraint"),A.code=c,A.extraCode=g,A.name=o,A.message=I,A.constraint=l,A.originMessage=a,A}return g(t,e),a(t,[{key:"getCode",value:function(){return this.code}},{key:"getExtraCode",value:function(){return this.extraCode}},{key:"toString",value:function(){return this.originMessage}}])}(k(Error));(new Date).getTime();var TA=function(){return(new Date).getTime()+0},SA=function(){var e=new Date;return e.setTime(TA()),e.toLocaleString()};U({},{bytes2ms:function(){return cn},calculateScaleResolutionDownNumber:function(){return nr},convertObjectNumberToInt:function(){return qn},copyProperties:function(){return sn},deepClone:function(){return Yn},deepMerge:function(){return Pn},delay:function(){return $n},fibonacci:function(){return Cn},formatedTime:function(){return Vn},getConstructorName:function(){return Sn},getContainerFromElement:function(){return Kn},getEnv:function(){return $A},getInternalVersion:function(){return Ln},getLoggerUrl:function(){return tn},getMediaStreamTrackInfo:function(){return Ar},getMuteStateFromFlag:function(){return Gn},getNetworkType:function(){return nn},getNumNetworkType:function(){return an},getReconnectionTimeout:function(){return En},getStringByteLength:function(){return Wn},getTurnServer:function(){return On},getUint32Version:function(){return Xn},getValueType:function(){return fn},getViewListFromView:function(){return Hn},glog:function(){return dn},ipv4ToUint32:function(){return Un},isArray:function(){return kn},isAudioWorkletSupported:function(){return Rn},isBoolean:function(){return mn},isConstructor:function(){return Tn},isEmpty:function(){return Fn},isFunction:function(){return pn},isLangChinese:function(){return In},isMediaStreamTrack:function(){return wn},isNumber:function(){return vn},isObject:function(){return yn},isOverseaSdkAppId:function(){return en},isPlainObject:function(){return hn},isPortrait:function(){return Zn},isPromise:function(){return bn},isRemoteTrack:function(){return Dn},isRotate90Or270:function(){return rr},isString:function(){return Qn},isUndefined:function(){return Bn},loadImage:function(){return zn},ms2bytes:function(){return gn},ms2samples:function(){return ln},normalizeUrl:function(){return tr},performanceNow:function(){return _n},promiseAny:function(){return Nn},samples2ms:function(){return un},setNetworkType:function(){return on},stringify:function(){return Jn},stringifyIncludeValue:function(){return jn},throttlePromise:function(){return er}});var RA="5.0.0",NA="undefined"!=typeof importScripts,_A="undefined"!=typeof registerProcessor,MA="https://".concat("web.sdk.qcloud.com","/trtc/webrtc/v5/doc"),LA="jssdk_log",xA="qcloud",FA=function(e){return e[e.TRACE=0]="TRACE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE",e}(FA||{}),GA={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},OA={width:640,height:480,frameRate:15,bitrate:500},UA={CANVAS:"canvas",AUDIO:"audio",VIDEO:"video",SCREEN:"screen",SMALL:"small",BIG:"big",AUXILIARY:"auxiliary",SMALL_VIDEO:"smallVideo",FACING_MODE_USER:"user",FACING_MODE_ENVIRONMENT:"environment",MUTE:"mute",UNMUTE:"unmute",ENDED:"ended",PLAYING:"playing",PAUSE:"pause",ERROR:"error",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",AUDIO_INPUT:"audioinput",VIDEO_INPUT:"videoinput",DETAIL:"detail",TEXT:"text",MAIN:"main",BACKUP:"backup",BANNED:"banned",KICK:"kick",USER_TIME_OUT:"user_time_out",ROOM_DISBAND:"room_disband",SEI_MESSAGE:"sei-message",ADD:"add",REMOVE:"remove",REPLACE:"replace",TRACK:"track",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",TRANSCEIVER_DIRECTION_SENDONLY:"sendonly",TRANSCEIVER_DIRECTION_RECVONLY:"recvonly",ENTER_PICTURE_IN_PICTURE:"enterpictureinpicture",LEAVE_PICTURE_IN_PICTURE:"leavepictureinpicture"},PA=1,YA=2,HA=4,KA=8,VA=64,JA=16,jA="player-error",WA="load-worklet",ZA="getUserMedia-retry",zA="default",XA=2e3,qA=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],$A=function(){return new URLSearchParams(location.search).get("trtc_env")||""},en=function(e){return Number(e)<14e8},tn=function(e,t){var A;A=en(e)?"https://apisgp.my-imcloud.com":"https://yun.tim.qq.com";var n=Math.floor(Math.random()*Math.pow(2,31));return"".concat(A,"/v5/AVQualityReportSvc/C2S?random=").concat(n,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},An="unknown";function nn(){if("unknown"!==An)return An;var e=navigator,t=e.userAgent,A=e.connection,n=(t.match(/NetType\/\S+/)||[])[0]||"";"3gnet"===(n=n.toLowerCase().replace("nettype/",""))&&(n="3g");var r=A&&A.type&&A.type.toLowerCase(),i=A&&A.effectiveType&&A.effectiveType.toLowerCase();return"slow-2"===i&&(i="2g"),r&&(An=rn(r,i)),An}function rn(e,t){if(GA[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function on(e){An=rn(e)}function an(){return GA[nn()]}function sn(e,t){var A,n=s(Reflect.ownKeys(t));try{for(n.s();!(A=n.n()).done;){var r=A.value;if("constructor"!==r&&"prototype"!==r&&"name"!==r){var i=Object.getOwnPropertyDescriptor(t,r)||"";Object.defineProperty(e,r,i)}}}catch(e){n.e(e)}finally{n.f()}return e}function cn(e){return un(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function un(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function gn(e){return 4*ln(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function ln(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var dn="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:function(){},In=function(){var e=navigator.language;return"zh"===(e=e.substring(0,2))},hn=function(e){if(!e||"object"!==m(e)||"[object Object]"!=Object.prototype.toString.call(e))return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;var A=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof A&&A instanceof A&&Function.prototype.toString.call(A)===Function.prototype.toString.call(Object)};function Cn(e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:Cn(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function En(e){return e>8?3e4:1e3*Cn(e)}function fn(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var pn=function(e){return"function"==typeof e},Bn=function(e){return void 0===e},Qn=function(e){return"string"==typeof e},vn=function(e){return"number"==typeof e},mn=function(e){return"boolean"==typeof e},yn=function(e){return"object"===fn(e)},kn=function(e){return"array"===fn(e)},wn=function(e){return fn(e)==="MediaStreamTrack".toLowerCase()},Dn=function(e){return e.isRemote},bn=function(e){return"promise"===fn(e)},Tn=function(e){return pn(e)&&e.prototype.constructor===e},Sn=function(e){return Tn(e)?e.prototype.constructor.name:""},Rn="undefined"!=typeof AudioWorkletNode;function Nn(e){return new Promise((function(t,A){var n=[];e.forEach((function(r){r.then(t).catch((function(t){n.push(t),n.length===e.length&&A(n)}))}))}))}function _n(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var Mn=function(e){return+e<10?"0".concat(e):e},Ln=function(e){var t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;var A=t.split("."),n=Mn(A[1])+Mn(A[2]);return A[1]-15>0&&(A[1]="15"),A[2]-15>0&&(A[2]="15"),"".concat(A.join("."),".").concat(n)},xn=Object.prototype.hasOwnProperty;function Fn(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e)return 0===e.length;if("function"==typeof e)return 0===e.length;if(Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(hn(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(var t in e)if(xn.call(e,t))return!1;return!0}return!1}function Gn(e,t){return{userId:t,hasAudio:!!(e&KA),hasVideo:!!(e&PA),hasAuxiliary:!!(e&HA),hasSmall:!!(e&YA),audioMuted:!!(e&VA),videoMuted:!!(e&JA),audioAvailable:!(!(e&KA)||e&VA),videoAvailable:!(!(e&PA)||e&JA)}}function On(e){var t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return Bn(e.username)||Bn(e.credential)||(t.username=e.username,t.credential=e.credential,t.credentialType="password",Bn(e.credentialType)||(t.credentialType=e.credentialType)),t}function Un(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!Qn(e))return 0;var A=e.split(".");return t?(Number(A[0])<<24|Number(A[1])<<16|Number(A[2])<<8|Number(A[3]))>>>0:(Number(A[3])<<24|Number(A[2])<<16|Number(A[1])<<8|Number(A[0]))>>>0}var Pn=function(e,t,A,n){if(!yn(e)||!yn(t))return 0;for(var r,i=0,o=Object.keys(t),a=0,s=o.length;a<s;a++)if(r=o[a],!(Bn(t[r])||A&&A.includes(r)))if(yn(e[r])&&yn(t[r]))i+=Pn(e[r],t[r],A,n);else{if(n&&n.includes(t[r]))continue;e[r]!==t[r]&&(e[r]=Yn(t[r]),i+=1)}return i};function Yn(e){if(kn(e)){var t=[];return e.forEach((function(e,A){t[A]=Yn(e)})),t}if(yn(e)){var A={};return Object.keys(e).forEach((function(t){A[t]=Yn(e[t])})),A}return e}var Hn=function(e){var t=[];if(kn(e))t=Q(e);else if(Qn(e)){var A=document.getElementById(e);A&&t.push(A)}else e&&t.push(e);return t},Kn=function(e){return Qn(e)?document.getElementById(e):e},Vn=function(){return t=function(e){return e<10?"0".concat(e):"".concat(e)},A=(e=new Date).getFullYear(),n=e.getMonth()+1,r=e.getDate(),i=t(e.getHours()),o=t(e.getMinutes()),a=t(e.getSeconds()),"".concat(A,"/").concat(n,"/").concat(r," ").concat(i,":").concat(o,":").concat(a);var e,t,A,n,r,i,o,a};function Jn(e,t){var A=t.keysToInclude,n=t.keysToExclude;try{if(kn(e))return"[".concat(e.map((function(e){return Jn(e,{keysToInclude:A,keysToExclude:n})})).join(","),"]");if(!hn(e)||!kn(A)&&!kn(n))return JSON.stringify(e);var r={},i=new Set(A),o=new Set(n);return Object.keys(e).forEach((function(t){(0===o.size&&i.has(t)||0===i.size&&!o.has(t))&&(r[t]=hn(e[t])||kn(e[t])?JSON.parse(Jn(e[t],{keysToExclude:n,keysToInclude:A})):e[t])})),JSON.stringify(r)}catch(e){return"{}"}}function jn(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],A=[];return Object.keys(e).forEach((function(n){t===e[n]&&A.push(n)})),Jn(e,{keysToInclude:A})}function Wn(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var Zn=function(){var e,t,A,n;return(null==(e=window.screen)?void 0:e.orientation)?!!(null==(n=null==(A=null==(t=window.screen)?void 0:t.orientation)?void 0:A.type)?void 0:n.includes("portrait")):0===window.orientation||180===window.orientation},zn=function(){var e=A(I().mark((function e(t){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,A){var n;if(Qn(t))(n=new Image).crossOrigin="anonymous",n.src=t;else if((n=t).complete)return void e(n);n.onload=function(){return e(n)},n.onerror=function(){A(new bA({code:DA.INVALID_PARAMETER,message:"load image failed, url: ".concat(t)}))}})));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Xn=function(e){var t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},qn=function(e){return Object.keys(e).forEach((function(t){vn(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(hn(e[t])||kn(e[t]))&&qn(e[t])})),e};function $n(e,t){return new Promise((function(A){var n=setTimeout(A,e);t&&t(n)}))}function er(e,t){var A=null;return function(){if(A)return A;for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return(A=e.apply(t||this,r)).finally((function(){return A=null})),A}}function tr(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function Ar(e){var t;try{var A=null==(t=e.getSettings)?void 0:t.call(e),n=A.width,r=A.height,i=A.frameRate,o=A.sampleRate,a=A.sampleSize,s=A.channelCount,c=e.kind===UA.AUDIO?"".concat(o,"x").concat(a,"@").concat(s):"".concat(n,"x").concat(r,"@").concat(i),u=e.stats?" stats: ".concat(JSON.stringify(e.stats).replaceAll('"',"")):"";return"".concat(e.id," ").concat(e.readyState," muted:").concat(e.muted," ").concat(e.kind," ").concat(e.label," ").concat(c).concat(u)}catch(e){return""}}function nr(e,t){return e.width*e.height==t.width*t.height?1:Zn()&&t.width>t.height&&e.height>t.width?Math.max(e.width/t.height,e.height/t.width,1):Math.max(e.width/t.width,e.height/t.height,1)}function rr(e){return 90===e||270===e}function ir(e){var t=e.url,A=e.body,n=e.method,r=void 0===n?"POST":n,i=e.timeout,o=e.priority;return new Promise((function(e,n){if("fetch"in window)return fetch(t,{method:r,body:A,priority:o}).then((function(e){return e.text()})).then((function(t){try{e({data:JSON.parse(t)})}catch(A){e({data:t})}}),n);var a=new XMLHttpRequest;a.onreadystatechange=function(){if(4===a.readyState)if(a.status>=200&&a.status<300)try{var t=JSON.parse(a.response);e({data:t})}catch(t){e({data:a.response})}else n({status:a.status,statusText:a.statusText||"request failed!"})},a.timeout=i||5e3,a.open(r,t,!0),a.send(A)}))}var or=Object.prototype.hasOwnProperty,ar=function(e){return"function"==typeof e},sr=function(e){return e.isRemote};function cr(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e)return 0===e.length;if("function"==typeof e)return 0===e.length;if(Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(function(e){if(!e||"object"!==m(e)||"[object Object]"!=Object.prototype.toString.call(e))return!1;var t=Object.getPrototypeOf(e);if(null===t)return!0;var A=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof A&&A instanceof A&&Function.prototype.toString.call(A)===Function.prototype.toString.call(Object)}(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(var t in e)if(or.call(e,t))return!1;return!0}return!1}var ur=function(e){var t=e.retryFunction,n=e.settings,r=e.onError,i=e.onRetrying,o=e.onRetryFailed,a=e.onRetrySuccess,s=e.context;return function(){for(var e=this,c=arguments.length,u=new Array(c),g=0;g<c;g++)u[g]=arguments[g];var l=n.retries,d=void 0===l?5:l,h=n.timeout,C=void 0===h?1e3:h,E=0,f=-1,p=0,B=function(){var n=A(I().mark((function A(n,c){var g,l,h,Q;return I().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return g=s||e,A.prev=1,A.next=4,t.apply(g,u);case 4:l=A.sent,E>0&&a&&a.call(e,E),E=0,n(l),A.next=15;break;case 10:A.prev=10,A.t0=A.catch(1),h=function(){clearTimeout(f),E=0,p=2,c(A.t0)},Q=function(){2!==p&&E<(ar(d)?d():d)?(E++,p=1,ar(i)&&i.call(e,E,h),f=window.setTimeout((function(){f=-1,B(n,c)}),ar(C)?C(E):C)):(h(),ar(o)&&o.call(e,A.t0))},ar(r)?r.call(e,{error:A.t0,retry:Q,reject:c,retryFuncArgs:u,retriedCount:E}):Q();case 15:case"end":return A.stop()}}),A,null,[[1,10]])})));return function(e,t){return n.apply(this,arguments)}}();return new Promise(B)}},gr=function(){return a((function e(t){r(this,e),H(this,"userId"),H(this,"remoteUserId"),H(this,"id"),H(this,"sdkAppId"),H(this,"type"),H(this,"isLocal"),this.id=t.id,this.userId=t.userId,this.sdkAppId=t.sdkAppId,this.remoteUserId=t.remoteUserId,this.isLocal="boolean"!=typeof t.isLocal||t.isLocal,this.type=this.isLocal?"":t.type}),[{key:"createChild",value:function(e){return Object.setPrototypeOf(e,this)}},{key:"setUserId",value:function(e){this.userId=e}},{key:"setSdkAppId",value:function(e){this.sdkAppId=e}},{key:"log",value:function(e,t){var A=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(A?"|".concat(A):"","]")),pr.log(e,t,void 0===this.userId||cr(this.userId),this.userId,this.sdkAppId)}},{key:"info",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];this.log(2,t)}},{key:"debug",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];this.log(1,t)}},{key:"warn",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];this.log(3,t)}},{key:"error",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];this.log(4,t)}}])}(),lr=new(P(K()).default),dr=function(e){return e.ROOM_DESTROY="1",e.JOIN_START="21",e.JOIN_SCHEDULE_SUCCESS="22",e.JOIN_SIGNAL_CONNECTION_START="23",e.JOIN_SIGNAL_CONNECTION_END="24",e.JOIN_SEND_CMD="25",e.JOIN_RECEIVED_CMD_RES="26",e.JOIN_SUCCESS="27",e.JOIN_FAILED="28",e.LEAVE_START="51",e.LEAVE_SEND_CMD="52",e.LEAVE_SUCCESS="53",e.PUBLISH_START="61",e.SEND_FIRST_VIDEO_FRAME="62",e.PUBLISH_FAILED="63",e.SUBSCRIBE_START="81",e.SUBSCRIBE_SUCCESS="82",e.SUBSCRIBE_FAILED="84",e.UNSUBSCRIBE_SUCCESS="83",e.LOCAL_TRACK_CAPTURE_START="101",e.LOCAL_TRACK_CAPTURE_SUCCESS="102",e.LOCAL_TRACK_CAPTURE_FAILED="103",e.LOCAL_TRACK_PUBLISHED="104",e.LOCAL_TRACK_UNPUBLISHED="105",e.LOCAL_TRACK_REPLACED="106",e.SWITCH_DEVICE_SUCCESS="107",e.TRACK_MUTED="108",e.TRACK_UNMUTED="109",e.REMOTE_TRACK_SUBSCRIBED="110",e.REMOTE_TRACK_UNSUBSCRIBED="111",e.LOCAL_TRACK_RECAPTURE="112",e.LOCAL_AUDIO_STARTED="113",e.LOCAL_AUDIO_STOPPED="114",e.REMOTE_AUDIO_STARTED="115",e.REMOTE_AUDIO_STOPPED="116",e.PLAY_TRACK_START="151",e.PLAYER_STATE_CHANGED="152",e.VIDEO_LOADED_DATA="153",e.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",e.SIGNAL_CONNECTION_STATE_CHANGED="201",e.PEER_CONNECTION_STATE_CHANGED="202",e.SINGLE_CONNECTION_STAT="203",e.SPC_RECONNECTED="204",e.HEARTBEAT_REPORT="251",e.RECEIVED_PUBLISHED_USER_LIST="252",e.REMOTE_PUBLISH_STATE_CHANGED="253",e.AUDIO_LEVEL_INTERVAL="260",e.NETWORK_QUALITY="261",e.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",e.QUALITY_LIMITATION_CHANGED="263",e.LOG="264",e.AUDIO_PROCESSOR_DEBUG="265",e.SWITCH_ROOM_START="401",e.SWITCH_ROOM_SUCCESS="407",e.SWITCH_ROOM_FAILED="408",e}(dr||{}),Ir=dr,hr="%cTRTC%c%s",Cr="padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;",Er="display: inline",fr=function(){function e(){r(this,e),H(this,"_isEnableUploadLog",!0),H(this,"_localJoinedUser",new Map),H(this,"_queue",[]),H(this,"_timeoutId",-1),H(this,"_logLevel",1),H(this,"_logLevelToUpload",2),NA||_A||(this.checkURLParam(),this.installEvents())}return a(e,[{key:"isAbleToUpload",get:function(){return this._isEnableUploadLog&&-1!==this._timeoutId}},{key:"installEvents",value:function(){var e=this;lr.on(Ir.JOIN_SCHEDULE_SUCCESS,(function(t){var A,n=t.schedule;(null==(A=null==n?void 0:n.config)?void 0:A.logLevelToUpload)&&FA[n.config.logLevelToUpload]&&(e._logLevelToUpload=n.config.logLevelToUpload)})),lr.on(Ir.JOIN_SUCCESS,(function(t){var A=t.room;e.addJoinedUser({userId:A.userId,sdkAppId:A.sdkAppId}),e.startUpload()})),lr.once(Ir.JOIN_FAILED,(function(){e.startUpload()})),lr.on(Ir.LEAVE_SUCCESS,(function(t){var A=t.room;e.deleteJoinedUser(A.userId)}))}},{key:"startUpload",value:function(){-1===this._timeoutId&&this.uploadInterval()}},{key:"addJoinedUser",value:function(e){this._localJoinedUser.set(e.userId,e),this.startUpload()}},{key:"deleteJoinedUser",value:function(e){this._localJoinedUser.delete(e)}},{key:"uploadInterval",value:function(){var e=this;this.upload().catch((function(){})),this._timeoutId=window.setTimeout((function(){return e.uploadInterval()}),5e3)}},{key:"getLogsToUpload",value:function(){var e=this,t={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return t;for(var A=0,n=function(){if(50===A)return 1;var n=e._queue[A];if(n.forAllJoinedClients)e._localJoinedUser.forEach((function(e){var A=e.userId,r=e.sdkAppId;t.map.has(A)?t.map.get(A).logs.push(n):t.map.set(A,{userId:A,sdkAppId:r,logs:[n]})}));else if(Qn(n.userId)&&vn(n.sdkAppId)){var r=n.userId,i=n.sdkAppId;t.map.has(r)?t.map.get(r).logs.push(n):t.map.set(r,{userId:r,sdkAppId:i,logs:[n]})}};A<this._queue.length&&!n();A++);return t.map.size>0&&(t.splicedQueue=this._queue.splice(0,A)),t}},{key:"upload",value:(t=A(I().mark((function e(){var t,A,n,r,i,o,a,s,c,u;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==this._queue.length&&this._isEnableUploadLog){e.next=2;break}return e.abrupt("return");case 2:if(t=this.getLogsToUpload(),A=t.map,n=t.splicedQueue,0!==A.size){e.next=5;break}return e.abrupt("return");case 5:e.prev=5,r=Q(A.values()),i=0;case 8:if(!(i<r.length)){e.next=16;break}return o=r[i],a=o.userId,s=o.sdkAppId,c=o.logs,e.next=12,this.uploadLogWithRetry(JSON.stringify({timestamp:SA(),sdkAppId:String(s),userId:a,version:RA,log:c.map((function(e){return e.log})).join("\n")}),s);case 12:c.forEach((function(e){return e.uploaded=!0}));case 13:i++,e.next=8;break;case 16:e.next=20;break;case 18:e.prev=18,e.t0=e.catch(5);case 20:(u=n.filter((function(e){return!e.uploaded}))).length>0&&(this._queue=u.concat(this._queue));case 22:case"end":return e.stop()}}),e,this,[[5,18]])}))),function(){return t.apply(this,arguments)})},{key:"uploadLogWithRetry",value:function(e,t){return ur({retryFunction:function(){return ir({url:tn(t,LA),body:e,timeout:5e3,priority:"low"})},settings:{retries:3,timeout:2e3},onError:function(e){(0,e.retry)()}})()}},{key:"getPrefix",value:function(e){var t,A,n=new Date;return n.setTime(TA()),"[".concat((t=n,A=String(t.getMilliseconds()),"padStart"in String.prototype&&(A=A.toString().padStart(3,"0")),"".concat(t.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(A)),"] <").concat(FA[e],">")}},{key:"getLogLevel",value:function(){return this._logLevel}},{key:"setLogLevel",value:function(e){Bn(FA[e])||(this._logLevel!==e&&this.info("setLogLevel",e),this._logLevel=e)}},{key:"enableUploadLog",value:function(){this._isEnableUploadLog=!0}},{key:"disableUploadLog",value:function(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}},{key:"logChunkToString",value:function(e){if(Qn(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(e){return""}}},{key:"log",value:function(t,A){var n,r=this,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;A.unshift(this.getPrefix(t));var s={log:A.reduce((function(e,t){return"".concat(e," ").concat(r.logChunkToString(t)).trim()}),""),level:t,userId:o,sdkAppId:a,forAllJoinedClients:i};if(lr.emit(Ir.LOG,{log:s}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(s),!(t<this._logLevel)){var c,u,g=(null==(n=FA[t])?void 0:n.toLowerCase())||"info";if(e.PRINT_LOG_TAG)(c=console)[g].apply(c,[hr,Cr,Er].concat(Q(A)));else(u=console)[g].apply(u,Q(A))}}},{key:"debug",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];this.log(1,t)}},{key:"info",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];this.log(2,t)}},{key:"warn",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];this.log(3,t)}},{key:"error",value:function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];this.log(4,t)}},{key:"createLogger",value:function(e){return new gr(e)}},{key:"checkURLParam",value:function(){var e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;FA[t]&&(this._logLevelToUpload=t)}},{key:"getQueue",value:function(){return this._queue}}]);var t}();H(fr,"PRINT_LOG_TAG",!(ue||ge||at));var pr=new fr,Br=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},Qr=new(function(){return a((function e(){r(this,e),H(this,"_prefix","TRTC"),H(this,"_queue",new Map)}),[{key:"getRealKey",value:function(e){return"".concat(this._prefix,"_").concat(e)}},{key:"checkStorage",value:function(){var e=this;Bt()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((function(t){if(t.startsWith(e._prefix))try{var A=localStorage.getItem(t);if(!A)return!1;var n=JSON.parse(A);if(n&&n.expiresIn<Date.now())return!0}catch(e){return!1}return!1})).forEach((function(e){return localStorage.removeItem(e)})))}},{key:"doFlush",value:function(){if(Bt())try{var e,t=s(this._queue);try{for(t.s();!(e=t.n()).done;){var A=E(e.value,2),n=A[0],r=A[1];localStorage.setItem(n,JSON.stringify(r))}}catch(e){t.e(e)}finally{t.f()}}catch(e){pr.warn(e)}}},{key:"getItem",value:function(e){if(!Bt())return null;try{var t=localStorage.getItem(this.getRealKey(e));if(!t)return null;var A=JSON.parse(t);return A&&A.expiresIn>=Date.now()?A.value:null}catch(e){pr.warn(e)}}},{key:"setItem",value:function(e,t){if(Bt())try{var A={expiresIn:Date.now()+6048e5,value:t};this._queue.set(this.getRealKey(e),A)}catch(e){pr.warn(e)}}},{key:"deleteItem",value:function(e){if(!Bt())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(e){return pr.warn(e),!1}}},{key:"clear",value:function(){if(Bt())try{localStorage.clear()}catch(e){pr.warn(e)}}}])}());U({},{HTTPS_API:function(){return Xr},IS_GET_CAPABILITIES_SUPPORTED:function(){return fi},IS_GET_SETTINGS_SUPPORTED:function(){return Ei},IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:function(){return Ci},IS_INSERTABLE_STREAM_SUPPORTED:function(){return pi},IS_JITTER_BUFFER_TARGET_SUPPORTED:function(){return Ni},IS_RTC_RTP_SENDER_SUPPORTED:function(){return di},IS_SCRIPT_TRANSFORM_SUPPORTED:function(){return Bi},IS_SEI_SUPPORTED:function(){return Qi},IS_SPC_SUPPORTED:function(){return gi},basis:function(){return Di},capabilityCheck:function(){return Si},checkSystemRequirementsInternal:function(){return Yr},decodeSupportStatus:function(){return Pr},encodeSupportStatus:function(){return Ur},getBrowserInfo:function(){return _r},getDisplayResolution:function(){return $r},isAddTransceiverSupported:function(){return ui},isBrowserSupported:function(){return Mr},isCanvasCaptureStreamAPISupported:function(){return Ai},isCanvasSmallStreamSupported:function(){return ni},isGetReceiversSupported:function(){return ai},isGetSendersSupported:function(){return si},isGetTransceiversSupported:function(){return ci},isGetUserMediaSupported:function(){return ei},isMediaDevicesSupported:function(){return xr},isMediaSessionSupported:function(){return yi},isMediaStreamTrackProcessorSupported:function(){return Or},isReplaceTrackSupported:function(){return Ii},isRequestVideoFrameCallbackSupported:function(){return Ri},isSIMDSupported:function(){return wi},isScaleResolutionDownBySupported:function(){return ri},isScreenCaptureApiAvailable:function(){return Kr},isSelectedCandidatePair:function(){return qr},isSetParametersSupported:function(){return hi},isSmallStreamSupported:function(){return ii},isStopTransceiverSupported:function(){return li},isTRTCSupported:function(){return Hr},isUnifiedPlanDefault:function(){return oi},isUsedInHttpProtocol:function(){return Gr},isWebAudioSupported:function(){return ti},isWebCodecSupported:function(){return mi},isWebCodecsSupported:function(){return Lr},isWebRTCSupported:function(){return vi},isWebTransportSupported:function(){return ki}});var vr={PLAY_FAILED:"PLAY_FAILED",NOT_SUPPORTED_HTTP:"NOT_SUPPORTED_HTTP",MICROPHONE_NOT_FOUND:"MICROPHONE_NOT_FOUND",CAMERA_NOT_FOUND:"CAMERA_NOT_FOUND"},mr={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,A=e.rule,n=e.fnName,r=e.value;return"'".concat(t||A.name,"' is a required param when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_TYPE:function(e){var t=e.key,A=e.rule,n=e.fnName,r=e.value,i="".concat(t||A.name),o="";return o=Array.isArray(A.type)?A.type.join("|"):A.type,"'".concat(i,"' must be type of ").concat(o," when calling ").concat(n,"(), received type: ").concat(fn(r),".")},INVALID_PARAMETER_EMPTY:function(e){var t=e.key,A=e.rule,n=e.fnName,r=e.value;return"'".concat(t||A.name,"' cannot be '").concat(r,"' when calling ").concat(n,"().")},INVALID_PARAMETER_INSTANCE:function(e){var t=e.key,A=e.rule,n=e.fnName,r=e.value,i="".concat(t||A.name),o="".concat(A.instanceOf.name||A.instanceOf);return"'".concat(i,"' must be instanceof ").concat(o," when calling ").concat(n,"(), received type: ").concat(fn(r),".")},INVALID_PARAMETER_RANGE:function(e){var t=e.key,A=e.rule,n=e.fnName,r=e.value;return"'".concat(t||A.name,"' must be one of ").concat(A.values.join("|")," when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_MIN:function(e){var t=e.key,A=e.rule;e.fnName;var n=e.value;return"the min value of ".concat(t||A.name," is ").concat(A.min,", received: ").concat(n,".")},INVALID_PARAMETER_MAX:function(e){var t=e.key,A=e.rule;e.fnName;var n=e.value;return"the max value of ".concat(t||A.name," is ").concat(A.max,", received: ").concat(n,".")},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,A=e.code;return"Failed to join room - ".concat(t," code: ").concat(A)},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("audience",', please call switchRole("',"anchor",'") firstly before publish().'),INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING: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,A=e.userId,n=e.streamType;return"failed to subscribe ".concat(A," ").concat(n," stream, reason: ").concat(t,".")},INVALID_ROLE:"switchRole can only be called in live mode.",INVALID_PARAMETER_SWITCH_ROLE:"role could only be set to a value as ".concat("anchor"," or ","audience","."),INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:function(e){return"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,".")},CLIENT_BANNED:function(e){return"client was banned because of ".concat(e.message,".")},INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() after join room and publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED: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_TRACK:"localStream has not this track.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:function(e){return"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track")},NOT_BUG_PACKAGE:"You need to buy packages, refer to tencent console.",START_MIX_TRANSCODE_FAILED: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,A=e.rule,n=e.fnName;return e.value,"'".concat(t||A.name,"' cannot be less than 0 when calling ").concat(n,"().")},MIX_PARAMS_VIDEO_FRAMERATE:"'config.videoFramerate' should be an integer between 0 and 30, excluding 0.",MIX_PARAMS_VIDEO_GOP:"'config.videoGOP' should be an integer between 1 and 8.",MIX_PARAMS_AUDIO_BITRATE:"'config.audioBitrate' should be an integer between 32 and 192.",MIX_PARAMS_USER_Z_ORDER: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,A=e.fnName;return"'".concat(t,"' is not found in the document object when calling ").concat(A,"().")},INVALID_ELEMENT_ID_TYPE:function(e){var t=e.key,A=e.fnName,n=e.type;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(A,"(), received: ").concat(n,".")},PLAY_FAILED:function(e){return"".concat(e.media," play failed, browser exception: ").concat(e.error.toString())},INVALID_USERID:"userId cannot be all spaces.",INVALID_CREATE_STREAM_SOURCE:"LocalStream must be created by createStream() with either audio/video or audioSource/videoSource, but can not be mixed with audio/video and audioSource/videoSource.",INVALID_CREATE_STREAM_SCREEN:"screen/video cannot be both true.",INVALID_CREATE_STREAM_AUDIO:"audio/screenAudio cannot be both true.",INVALID_CREATE_STREAM_SCREEN_AUDIO:"when screen is true, screenAudio can be configured.",NOT_SUPPORTED_HTTP:"http protocol does not support the ability to capture microphone, camera and screen. please use https to deploy your page.",NOT_SUPPORTED_WEBRTC:"your browser or environment does not support full WebRTC capabilities.",NOT_SUPPORTED_PROFILE:"your browser does not support setVideoProfile.",NOT_SUPPORTED_MEDIA:"your browser or environment does not support navigator.mediaDevices.",NOT_SUPPORTED_H264ENCODE:"your device does not support H.264 encoding.",NOT_SUPPORTED_H264DECODE:"your device does not support H.264 decoding.",NOT_SUPPORTED_TRACK: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.",CAMERA_NOT_FOUND:"no camera detected, please check your camera.",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,A=e.event;return"an error was caught in ".concat(t,".on('").concat(A,"', handler), please check your code in 'handler'.")},API_NOT_EXIST:function(e){var t=e.name;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:function(e){return"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(!1===e?" without using h264 codec":"")},SEI_DISABLED:"SEI is disabled",SEI_BEFORE_PUBLISH:"please call sendSEIMessage() after publish() success",SEI_NOT_VIDEO:"cannot send sei when localStream has not video.",CALL_FREQUENCY_LIMIT:function(e){var t=e.isSize,A=e.name,n=e.timesInSecond,r=e.maxSizeInSecond;return"api ".concat(A," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(r," bytes"):n," in a second.")},CONNECTION_ABORTED:function(e){return"connection aborted due to: ".concat(e)},API_CALL_ABORTED:function(e){return e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.userId," ").concat(e.streamType," stream aborted, reason: remote user ").concat(e.userId," unpublished stream."):"API aborted, reason: ".concat(e.message)},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser.",INVALID_PARAMETER_STREAMTYPE:function(e){return"'streamType' is required when 'userId' is not '*', calling ".concat(e,"()")}},yr=function(e,t){return t?"".concat(MA,"/").concat(e,"/").concat(t):"".concat(MA,"/").concat(e,"/index.html")},kr=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 e=null==localStorage?void 0:localStorage.getItem("trtc_error_assistance");if(e){e=JSON.parse(e);var t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);var A=window.TRTC_ERROR_INFO,n=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:A,TRTC_ERROR_LINK:n}}return{}};function wr(e){var t=e.key,A=e.data,n=e.link,r=e.addDocLink,i=void 0===r||r,o="",a="",s="";pn(mr[t])?o=mr[t](A):Qn(mr[t])&&(o=mr[t]);var c=kr(),u=c.TRTC_ERROR_INFO,g=c.TRTC_ERROR_LINK;n?s="".concat(n.className,".html#").concat(n.fnName):g&&g[t]&&(pn(g[t])?s=g[t](A):Qn(g[t])&&(s=g[t]));var l=o;return In()&&(u&&u[t]&&(pn(u[t])?a=u[t](A):Qn(u[t])&&(a=u[t])),a&&(l=i?"".concat(a,"\n请查看文档: ").concat(yr("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),l+=o)),i&&(l+=" \nRefer to: ".concat(yr("en",s),"\n")),l}var Dr=P(W()),br=function(){return a((function e(){var t=this,A=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];r(this,e),H(this,"countMap",new Map),H(this,"distributionMap",new Map),H(this,"version"),H(this,"log",pr.createLogger({id:"kv"})),A&&(lr.on("102",(function(e){var A=e.track,n=e.cost;t.addSuccessEvent({key:A.kind===UA.AUDIO?501700:511700,cost:n})})),lr.on("103",(function(e){var A=e.track,n=e.error;t.addFailedEvent({key:A.kind===UA.AUDIO?501700:511700,error:n})})))}),[{key:"getReportData",value:function(){var e={msg_sdk_basic_info:{uint32_sdk_version:Xn(this.version||RA),uint32_terminal_type:15,bytes_device_name:"",bytes_os_version:"",uint32_framework:30,uint32_network_type:0},stats_count:Q(this.countMap.entries()).map((function(e){var t=E(e,2);return{uint32_key:t[0],uint32_count:t[1]}})),stats_distribution:Q(this.distributionMap.entries()).map((function(e){var t=E(e,2);return{uint32_key:t[0],distribution_items:Q(t[1].entries()).map((function(e){var t=E(e,2);return{uint32_item_key:t[0],uint32_item_value:t[1]}}))}}))};return this.countMap.clear(),this.distributionMap.clear(),e}},{key:"clear",value:function(){this.countMap.clear(),this.distributionMap.clear()}},{key:"isEnumKey",value:function(e){var t=+String(e).slice(-3);return t>=700&&t<799}},{key:"isErrorCodeKey",value:function(e){var t=+String(e).slice(-3);return t>=600&&t<699}},{key:"isCountKey",value:function(e){var t=+String(e).slice(-3);return t>=0&&t<599}},{key:"isNumberKey",value:function(e){var t=+String(e).slice(-3);return t>=800&&t<899}},{key:"addCount",value:function(e){var t=e.key,A=e.useUV,n=void 0!==A&&A;this.isCountKey(t)?n&&this.countMap.has(t)||this.countMap.set(t,(this.countMap.get(t)||0)+1):this.log.debug("".concat(t," is not count key, last 3 number should be 0~599"))}},{key:"addEnum",value:function(e){var t,A=e.key,n=e.value,r=e.useUV,i=void 0===r||r;if(!this.isEnumKey(A))return this.log.debug("".concat(A," is not enum key, last 3 number should be 700~799"));if(!i||!this.countMap.has(A)){this.countMap.set(A,(this.countMap.get(A)||0)+1);var o=(null==(t=this.distributionMap)?void 0:t.get(A))||new Map;o.set(n,(o.get(n)||0)+1),this.distributionMap.set(A,o)}}},{key:"addNumber",value:function(e){var t,A=e.key,n=e.value,r=e.split,i=void 0===r?100:r,o=e.useUV,a=void 0!==o&&o,s=e.max,c=void 0===s?5e3:s;if(!this.isNumberKey(A))return this.log.debug("".concat(A," is not number key, last 3 number should be 800~899"));if(!a||!this.countMap.has(A)){n>c&&(n=c),this.countMap.set(A,(this.countMap.get(A)||0)+1);var u=(null==(t=this.distributionMap)?void 0:t.get(A))||new Map,g=0;if(vn(i))g=Math.floor(n/i);else for(var l=i.length-1;l>0;l--)if(n>i[l]){g=l;break}u.set(g,(u.get(g)||0)+1),this.distributionMap.set(A,u)}}},{key:"addSuccessEvent",value:function(e){var t=e.key,A=e.cost,n=e.timeKey,r=e.split;if(t&&(this.addEnum({key:t,value:1,useUV:!1}),A)){var i=+String(t).slice(-3);i<800&&i>=700?this.addNumber({key:n||t+100,value:A,split:r}):n||this.log.debug("time stat ignored, ".concat(t))}}},{key:"addFailedEvent",value:function(e){var t=e.key,A=e.error;if(t){var n=DA.UNKNOWN;A&&(vn(A)?n=A:Bn(A.extraCode)&&Bn(A.code)||(n=A.extraCode||A.code)),this.addEnum({key:t,value:0,useUV:!1}),this.addEnum({key:t,value:Math.abs(n),useUV:!1})}}}])}(),Tr=new br(!0);new br(!1);var Sr=Tr,Rr={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},Nr=new Map([[le,["Firefox",de]],[Ee,["Edg",fe]],[ot,["Chrome",ct]],[ut,["Safari",lt]],[ye,["TBS",ke]],[we,["XWEB",De]],[Te&&se,["WeChat",Se]],[Me,["QQ(Win)",Le]],[Ne,["QQ(Mobile)",_e]],[Re,["QQ(Mobile X5)",_e]],[xe,["QQ(Mac)",Fe]],[Ge,["QQ(iPad)",Oe]],[Ve,["MI",Je]],[je,["HW",ze]],[Xe,["Samsung",qe]],[$e,["OPPO",et]],[tt,["VIVO",At]],[he,["EDGE",Ce]],[Be,["SogouMobile",Qe]],[ve,["Sogou",me]]]);function _r(){var e=Nr.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var Mr=function(){return!Ke&&!he&&(!(Ee&&pe<80)&&!(le&&Ie<56))},Lr=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every((function(e){return e in window}))},xr=function(){if(!navigator.mediaDevices)return Gr()||pr.error(mr.NOT_SUPPORTED_MEDIA),!1;var e=["getUserMedia","enumerateDevices"];return e.filter((function(e){return e in navigator.mediaDevices})).length===e.length},Fr=!1;function Gr(){return"http:"===location.protocol&&!pt&&(Fr||pr.error(wr({key:vr.NOT_SUPPORTED_HTTP})),Fr=!0,!0)}var Or=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},Ur=function(){var e=A(I().mark((function e(){var t,A,n,r,i,o;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Rr.detail.isH264EncodeSupported||!Rr.detail.isVp8EncodeSupported){e.next=2;break}return e.abrupt("return",{isH264EncodeSupported:Rr.detail.isH264EncodeSupported,isVp8EncodeSupported:Rr.detail.isVp8EncodeSupported});case 2:return A=!1,n=!1,e.prev=4,r=new RTCPeerConnection,(i=document.createElement(UA.CANVAS)).getContext("2d"),o=i.captureStream(0),r.addTrack(o.getVideoTracks()[0],o),e.next=12,r.createOffer();case 12:return-1!==(t=e.sent).sdp.toLowerCase().indexOf("h264")&&(A=!0),-1!==t.sdp.toLowerCase().indexOf("vp8")&&(n=!0),r.close(),Rr.detail.isH264EncodeSupported=A,Rr.detail.isVp8EncodeSupported=n,e.abrupt("return",{isH264EncodeSupported:Rr.detail.isH264EncodeSupported,isVp8EncodeSupported:Rr.detail.isVp8EncodeSupported});case 21:return e.prev=21,e.t0=e.catch(4),e.abrupt("return",{isH264EncodeSupported:!1,isVp8EncodeSupported:!1});case 24:case"end":return e.stop()}}),e,null,[[4,21]])})));return function(){return e.apply(this,arguments)}}(),Pr=function(){var e=A(I().mark((function e(){var t,A,n,r;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Rr.detail.isH264DecodeSupported||!Rr.detail.isVp8DecodeSupported){e.next=2;break}return e.abrupt("return",{isH264DecodeSupported:Rr.detail.isH264DecodeSupported,isVp8DecodeSupported:Rr.detail.isVp8DecodeSupported});case 2:if(A=!1,n=!1,e.prev=4,r=new RTCPeerConnection,ui()){e.next=12;break}return e.next=9,r.createOffer({offerToReceiveVideo:!0});case 9:t=e.sent,e.next=16;break;case 12:return r.addTransceiver(UA.VIDEO,{direction:"recvonly"}),e.next=15,r.createOffer();case 15:t=e.sent;case 16:return-1!==t.sdp.toLowerCase().indexOf("h264")&&(A=!0),-1!==t.sdp.toLowerCase().indexOf("vp8")&&(n=!0),r.close(),e.abrupt("return",{isH264DecodeSupported:A,isVp8DecodeSupported:n});case 22:return e.prev=22,e.t0=e.catch(4),e.abrupt("return",{isH264DecodeSupported:!1,isVp8DecodeSupported:!1});case 25:case"end":return e.stop()}}),e,null,[[4,22]])})));return function(){return e.apply(this,arguments)}}(),Yr=er(function(){var e=A(I().mark((function e(t){var A,n,r,i,o,a,s,c,u,g,l,d,h,C,f,p,B;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=Date.now(),n=vi(),r=xr(),i=Lr(),Rr.detail.isWebRTCSupported=n,Rr.detail.isMediaDevicesSupported=r,Rr.detail.isWebCodecsSupported=i,Rr.detail.isScreenShareSupported=Kr(),Rr.detail.isSmallStreamSupported=ii(),37!==t){e.next=22;break}return e.t0=Object,e.t1=Rr.detail,e.next=14,Zr();case 14:return e.t2=e.sent,e.t0.assign.call(e.t0,e.t1,e.t2),Rr.detail.isBrowserSupported=i,Rr.result=r&&i,Rr.result||pr.error("".concat(navigator.userAgent," ").concat(jn(Rr.detail,!1))),Ti(t),Sr.addNumber({key:523800,value:Date.now()-A}),e.abrupt("return",Rr);case 22:if(!(Rr.result&&Rr.detail.isH264EncodeSupported&&Rr.detail.isVp8EncodeSupported&&Rr.detail.isH264DecodeSupported&&Rr.detail.isVp8DecodeSupported)){e.next=24;break}return e.abrupt("return",Rr);case 24:return o=Mr(),e.next=27,Promise.all([Ur(),Pr()]);case 27:if(a=e.sent,s=E(a,2),c=s[0],u=c.isH264EncodeSupported,g=c.isVp8EncodeSupported,l=s[1],d=l.isH264DecodeSupported,h=l.isVp8DecodeSupported,u&&g){e.next=42;break}return e.next=38,Ur();case 38:C=e.sent,pr.warn("detect encode again h264:".concat(u," vp8:").concat(g," result: ").concat(JSON.stringify(C))),u=C.isH264EncodeSupported,g=C.isVp8EncodeSupported;case 42:if(!(u&&d&&ge&&it)||we||ye){e.next=50;break}return e.next=45,Jr();case 45:f=e.sent,p=f.encode,B=f.decode,u=p,d=B;case 50:return Rr.result=o&&n&&r&&(u||g)&&(d||h),Rr.detail.isBrowserSupported=o,Rr.detail.isWebRTCSupported=n,Rr.detail.isH264EncodeSupported=u,Rr.detail.isVp8EncodeSupported=g,Rr.detail.isH264DecodeSupported=d,Rr.detail.isVp8DecodeSupported=h,Rr.result||pr.error("".concat(navigator.userAgent," ").concat(jn(Rr.detail,!1))),Ti(),Sr.addNumber({key:523800,value:Date.now()-A}),e.abrupt("return",Rr);case 61:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),Hr=function(){return Rr.result},Kr=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},Vr=null;function Jr(){return jr.apply(this,arguments)}function jr(){return jr=A(I().mark((function e(){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Vr){e.next=2;break}return e.abrupt("return",Vr);case 2:return Vr=new Promise(function(){var e=A(I().mark((function e(t){var n,r,i,o,a,s,c,u,g,l,d,h,C,f;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={encode:!1,decode:!1},r=function(){},e.prev=2,i=document.createElement("canvas"),o=i.getContext("2d"),i.width=320,i.height=240,a=setInterval((function(){o.fillText("test",Math.floor(320*Math.random()),Math.floor(240*Math.random()))}),66),s=-1,c=-1,r=function(){clearInterval(s),clearInterval(a),clearTimeout(c),g.close(),l.close(),u.getTracks().forEach((function(e){return e.stop()}))},c=setTimeout((function(){r(),t(n)}),2e3),u=i.captureStream(),g=new RTCPeerConnection({}),l=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),g.addEventListener("icecandidate",(function(e){return l.addIceCandidate(e.candidate)})),l.addEventListener("icecandidate",(function(e){return g.addIceCandidate(e.candidate)})),g.addTrack(u.getVideoTracks()[0],u),e.next=20,g.createOffer();case 20:return d=e.sent,e.next=23,g.setLocalDescription(d);case 23:return e.next=25,l.setRemoteDescription(d);case 25:return e.next=27,l.createAnswer();case 27:return h=e.sent,C=Dr.default.parse(h.sdp),f=C.media[0].rtp.findIndex((function(e){return"H264"===e.codec})),C.media[0].rtp=[C.media[0].rtp[f]],C.media[0].fmtp=C.media[0].fmtp.filter((function(e){return e.payload===C.media[0].rtp[0].payload})),C.media[0].rtcpFb&&(C.media[0].rtcpFb=C.media[0].rtcpFb.filter((function(e){return e.payload===C.media[0].rtp[0].payload}))),h.sdp=Dr.default.write(C),e.next=36,l.setLocalDescription(h);case 36:return e.next=38,g.setRemoteDescription(h);case 38:s=setInterval(A(I().mark((function e(){var A,i,o,a;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.encode&&n.decode&&(r(),t(n)),e.next=3,Promise.all([g.getSenders()[0].getStats(),l.getReceivers()[0].getStats()]);case 3:A=e.sent,i=E(A,2),o=i[0],a=i[1],n.encode||o.forEach((function(e){"outbound-rtp"===e.type&&e.mediaType===UA.VIDEO&&e.bytesSent>0&&(n.encode=!0)})),n.decode||a.forEach((function(e){"inbound-rtp"===e.type&&e.mediaType===UA.VIDEO&&e.bytesReceived>0&&(n.decode=!0)}));case 9:case"end":return e.stop()}}),e)}))),100),e.next=46;break;case 41:e.prev=41,e.t0=e.catch(2),r(),pr.warn("detectH264Supported failed",e.t0),t({encode:!0,decode:!0});case 46:case"end":return e.stop()}}),e,null,[[2,41]])})));return function(t){return e.apply(this,arguments)}}()).then((function(e){return e.encode||(e.decode=!0),e.encode&&e.decode||pr.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat("")),e})),e.abrupt("return",Vr);case 4:case"end":return e.stop()}}),e)}))),jr.apply(this,arguments)}var Wr=null;function Zr(){return zr.apply(this,arguments)}function zr(){return zr=A(I().mark((function e(){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Wr){e.next=2;break}return e.abrupt("return",Wr);case 2:return Wr=new Promise(function(){var e=A(I().mark((function e(t){var n,r,i,o,a,s,c,u;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n={isH264EncodeSupported:!1,isH264DecodeSupported:!1,isVp8EncodeSupported:!1,isVp8DecodeSupported:!1},Lr()){e.next=4;break}return t(n),e.abrupt("return");case 4:return r=null,i=null,o=null,a=function(){o&&clearTimeout(o),r=null,i=null},e.prev=8,r=document.createElement("canvas"),i=r.getContext("2d"),r.width=320,r.height=240,s=0,c=function(){i&&r&&(i.fillStyle="hsl(".concat(s%360,", 50%, 50%)"),i.fillRect(0,0,r.width,r.height),i.fillStyle="white",i.font="20px Arial",i.fillText("Frame ".concat(s),10,30),s++)},o=setTimeout((function(){a(),t(n)}),5e3),u=[{type:"h264",encodeConfig:{codec:"avc1.42E01E",width:320,height:240,bitrate:1e6},decodeConfig:{codec:"avc1.42E01E"}},{type:"vp8",encodeConfig:{codec:"vp8",width:320,height:240,bitrate:1e6},decodeConfig:{codec:"vp8"}}],e.next=19,Promise.all(u.map(function(){var e=A(I().mark((function e(t){var n,i;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n={type:t.type,encodeSupported:!1,decodeSupported:!1},e.prev=1,e.next=4,new Promise(function(){var e=A(I().mark((function e(A,i){var o,a;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(o=new VideoEncoder({output:function(e){A(e),n.encodeSupported=!0},error:function(e){i(e)}})).configure(t.encodeConfig),c(),a=new VideoFrame(r,{timestamp:0}),o.encode(a,{keyFrame:!0}),a.close(),e.next=8,o.flush();case 8:o.close();case 9:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}());case 4:i=e.sent,e.next=11;break;case 7:return e.prev=7,e.t0=e.catch(1),pr.warn("".concat(t.type," encoder error:"),e.t0),e.abrupt("return",n);case 11:return e.prev=11,e.next=14,new Promise(function(){var e=A(I().mark((function e(A,r){var o;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(o=new VideoDecoder({output:function(e){n.decodeSupported=!0,A(0),e.close()},error:r})).configure(t.decodeConfig),o.decode(i),e.next=5,o.flush();case 5:o.close();case 6:case"end":return e.stop()}}),e)})));return function(t,A){return e.apply(this,arguments)}}());case 14:e.next=19;break;case 16:e.prev=16,e.t1=e.catch(11),pr.warn("".concat(t.type," decoder error:"),e.t1);case 19:return e.abrupt("return",n);case 20:case"end":return e.stop()}}),e,null,[[1,7],[11,16]])})));return function(t){return e.apply(this,arguments)}}()));case 19:e.sent.forEach((function(e){"h264"===e.type?(n.isH264EncodeSupported=e.encodeSupported,n.isH264DecodeSupported=e.decodeSupported):"vp8"===e.type&&(n.isVp8EncodeSupported=e.encodeSupported,n.isVp8DecodeSupported=e.decodeSupported)})),a(),t(n),e.next=30;break;case 25:e.prev=25,e.t0=e.catch(8),a(),pr.warn("detectWebCodecsSupported failed:",e.t0),t(n);case 30:case"end":return e.stop()}}),e,null,[[8,25]])})));return function(t){return e.apply(this,arguments)}}()),e.abrupt("return",Wr);case 4:case"end":return e.stop()}}),e)}))),zr.apply(this,arguments)}var Xr=function(e,t,A){"http:"!==location.protocol||pt||(e[t]=function(){throw new bA({code:DA.INVALID_OPERATION,message:mr.NOT_SUPPORTED_HTTP})})},qr=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(mn(e.selected)&&!e.selected)};function $r(){var e="";if(screen.width){var t=screen.width?screen.width*window.devicePixelRatio:"",A=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(A)}return e}function ei(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function ti(){for(var e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"],A=0;A<t.length;A++)if(t[A]in window){e.isSupported=!0;break}return e.isSupported}function Ai(){return"captureStream"in HTMLCanvasElement.prototype}function ni(){return!(Te||ue||st&&st<63)&&!(!Mr()||!Ai())}function ri(){return!(st<74||he||ht<11||Ie<46)}function ii(){return ni()||ri()}var oi=function(){if(Bn(window.RTCRtpTransceiver)||!ui())return!1;if(!("currentDirection"in RTCRtpTransceiver.prototype))return!1;var e=null,t=!1;try{(e=new RTCPeerConnection({sdpSemantics:"unified-plan"})).addTransceiver(UA.AUDIO),t=!0}catch(e){}return null==e||e.close(),t};function ai(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function si(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function ci(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function ui(){return!(11===ht&&!ft)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var gi=!(!ui()||it&&st<86);function li(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var di="RTCRtpSender"in window;function Ii(){return di&&"replaceTrack"in window.RTCRtpSender.prototype}function hi(){return di&&"setParameters"in window.RTCRtpSender.prototype&&si()}var Ci="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,Ei=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,fi=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,pi=di&&"createEncodedStreams"in window.RTCRtpSender.prototype&&rt()>=86,Bi="RTCRtpScriptTransform"in window,Qi=di&&(pi||Bi),vi=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((function(e){return e in window})).length>0};function mi(){var e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return Bn(window.AudioDecoder)||(e.AudioDecoder=!0),Bn(window.AudioEncoder)||(e.AudioEncoder=!0),Bn(window.VideoDecoder)||(e.VideoDecoder=!0),Bn(window.VideoEncoder)||(e.VideoEncoder=!0),Bn(window.ImageDecoder)||(e.ImageDecoder=!0),e}function yi(){return"mediaSession"in navigator&&!Bn(navigator.mediaSession.setActionHandler)}function ki(){return!Bn(window.WebTransport)}function wi(){return"undefined"!=typeof WebAssembly&&WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}function Di(){var e={browser:"".concat(Qt.name,"/").concat(Qt.version),os:mt(),displayResolution:$r(),isScreenShareSupported:Kr(),isWebRTCSupported:vi(),isGetUserMediaSupported:ei(),isWebAudioSupported:ti(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:mi(),isMediaSessionSupported:yi(),isWebTransportSupported:ki()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var bi="checkResult";function Ti(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;Qr.setItem(bi+e,{ua:navigator.userAgent,checkResult:Rr})}function Si(e){Gr();var t,A,n=Qr.getItem(bi+e);n&&n.ua===navigator.userAgent&&n.checkResult&&(t=n.checkResult.detail,A=Rr.detail,yn(t)&&Object.keys(A).every((function(e){return e in t})))&&(Rr=n.checkResult),Yr(e)}function Ri(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var Ni="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype,_i=P(K()),Mi=Symbol("instance"),Li=Symbol("cacheResult"),xi=function(){return a((function e(t,A,n){r(this,e),this.oldState=t,this.newState=A,this.action=n,this.aborted=!1}),[{key:"abort",value:function(e){this.aborted=!0,Hi.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}},{key:"toString",value:function(){return"".concat(this.action,"ing")}}])}(),Fi=function(e){function t(e,A,i){var o;return r(this,t),(o=n(this,t,[A])).state=e,o.message=A,o.cause=i,o}return g(t,e),a(t)}(k(Error));var Gi=new Map;function Oi(e,t){var A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(n,r,i){var o=A.action||r;if(!A.context){var a=Gi.get(n)||[];Gi.has(n)||Gi.set(n,a),a.push({from:e,to:t,action:o})}var s=i.value;i.value=function(){for(var n,r=this,i=this,a=arguments.length,c=new Array(a),u=0;u<a;u++)c[u]=arguments[u];A.context&&(i=Ki.get("function"==typeof A.context?(n=A.context).call.apply(n,[this].concat(c)):A.context));if(i.state===t)return A.sync?i[Li]:Promise.resolve(i[Li]);i.state instanceof xi&&i.state.action==A.abortAction&&i.state.abort(i);var g=null;Array.isArray(e)?0==e.length?i.state instanceof xi&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(g=new Fi(i._state,"".concat(i.name," ").concat(o," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(g=new Fi(i._state,"".concat(i.name," ").concat(o," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));var l=function(e){if(A.fail&&A.fail.call(r,e),A.sync){if(A.ignoreError)return e;throw e}return A.ignoreError?Promise.resolve(e):Promise.reject(e)};if(g)return l(g);var d=i.state,I=new xi(d,t,o);Hi.call(i,I);var h,C=function(e){var n;return i[Li]=e,I.aborted||(Hi.call(i,t),null===(n=A.success)||void 0===n||n.call(r,i[Li])),e},E=function(e){return Hi.call(i,d,e),l(e)};try{var f=s.apply(this,c);return"object"===m(h=f)&&h&&"then"in h?f.then(C).catch(E):A.sync?C(f):Promise.resolve(C(f))}catch(A){return E(new Fi(i._state,"".concat(i.name," ").concat(o," from ").concat(e," to ").concat(t," failed: ").concat(A),A instanceof Error?A:new Error(String(A))))}}}}var Ui,Pi,Yi=(Ui="undefined"!=typeof window&&window.__AFSM__,Pi="undefined"!=typeof importScripts,Ui?function(e,t){window.dispatchEvent(new CustomEvent(e,{detail:t}))}:Pi?function(e,t){postMessage({type:e,payload:t})}:function(){});function Hi(e,t){var A=this._state;this._state=e;var n=e.toString();e&&this.emit(n,A),this.emit(Ki.STATECHANGED,e,A,t),this.updateDevTools({value:e,old:A,err:t instanceof Error?t.message:String(t)})}var Ki=function(e){function t(e,A,i){var o;r(this,t),(o=n(this,t)).name=e,o.groupName=A,o._state=t.INIT,e||(e=Date.now().toString(36)),i?Object.setPrototypeOf(o,i):i=Object.getPrototypeOf(o),A||(o.groupName=o.constructor.name);var a=i[Mi];return a?o.name=a.name+"-"+a.count++:i[Mi]={name:o.name,count:0},o.updateDevTools({diagram:o.stateDiagram}),o}return g(t,e),a(t,[{key:"stateDiagram",get:function(){var e=Object.getPrototypeOf(this),t=Gi.get(e)||[],A=new Set,n=[],r=[],i=new Set,o=Object.getPrototypeOf(e);Gi.has(o)&&(o.stateDiagram.forEach((function(e){return A.add(e)})),o.allStates.forEach((function(e){return i.add(e)}))),t.forEach((function(e){var t=e.from,A=e.to,i=e.action;"string"==typeof t?n.push({from:t,to:A,action:i}):t.length?t.forEach((function(e){n.push({from:e,to:A,action:i})})):r.push({to:A,action:i})})),n.forEach((function(e){var t=e.from,n=e.to,r=e.action;i.add(t),i.add(n),i.add(r+"ing"),A.add("".concat(t," --\x3e ").concat(r,"ing : ").concat(r)),A.add("".concat(r,"ing --\x3e ").concat(n," : ").concat(r," 🟢")),A.add("".concat(r,"ing --\x3e ").concat(t," : ").concat(r," 🔴"))})),r.forEach((function(e){var t=e.to,n=e.action;A.add("".concat(n,"ing --\x3e ").concat(t," : ").concat(n," 🟢")),i.forEach((function(e){e!==t&&A.add("".concat(e," --\x3e ").concat(n,"ing : ").concat(n))}))}));var a=Q(A);return Object.defineProperties(e,{stateDiagram:{value:a},allStates:{value:i}}),a}},{key:"updateDevTools",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Yi(t.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},e))}},{key:"state",get:function(){return this._state},set:function(e){Hi.call(this,e)}}],[{key:"get",value:function(e){var A;return"string"==typeof e?(A=t.instances.get(e))||t.instances.set(e,A=new t(e,void 0,Object.create(t.prototype))):(A=t.instances2.get(e))||t.instances2.set(e,A=new t(e.constructor.name,void 0,Object.create(t.prototype))),A}},{key:"getState",value:function(e){var A;return null===(A=t.get(e))||void 0===A?void 0:A.state}}])}(_i.default);Ki.STATECHANGED="stateChanged",Ki.UPDATEAFSM="updateAFSM",Ki.INIT="[*]",Ki.ON="on",Ki.OFF="off",Ki.instances=new Map,Ki.instances2=new WeakMap;var Vi="undefined"!=typeof window,Ji=Vi&&window.requestIdleCallback||function(e){var t=Date.now();return setTimeout((function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})}),1e3)},ji=Vi&&window.cancelIdleCallback||function(e){clearTimeout(e)},Wi=Vi&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),Zi=function(){function e(){r(this,e)}return a(e,null,[{key:"generateTaskID",value:function(){return this.currentTaskID++}},{key:"run",value:function(e,t,A){(null==A?void 0:A.fps)&&(A.delay=A.delay||Number((1e3/A.fps).toFixed(2))),A=F(F({},"interval"===e?{delay:2e3,count:0,backgroundTask:!0}:"ric"===e?{delay:1e4,count:0}:"raf"===e?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0}),A);var n=G(F({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},A),{delay:A.delay});return this.taskMap.set(n.taskID,n),this[e](n),n.taskID}},{key:"interval",value:function(t){return t.intervalID=setInterval((function(){t.callback(),t.loopCount+=1,e.isBreakLoop(t)}),t.delay)}},{key:"intervalInWorker",value:function(t){e.sharedWorker||(e.sharedWorker=new Worker(URL.createObjectURL(new Blob(["\n const timers = new Map();\n self.onmessage = function(e) {\n const { taskId, delay, type } = e.data;\n if (type === 'start') {\n timers.set(taskId, setInterval(() => {\n self.postMessage({ type: 'tick', taskId });\n }, delay));\n } else if (type === 'stop') {\n clearInterval(timers.get(taskId));\n timers.delete(taskId);\n }\n };\n "],{type:"application/javascript"}))),e.sharedWorker.onmessage=function(t){var A;if("tick"===t.data.type){var n=e.workerTasks.get(t.data.taskId);n&&(e.isBreakLoop(n)?(null==(A=e.sharedWorker)||A.postMessage({type:"stop",taskId:n.taskID}),e.workerTasks.delete(n.taskID)):(n.callback(),n.loopCount+=1))}}),e.workerTasks.set(t.taskID,t),e.sharedWorker.postMessage({taskId:t.taskID,delay:t.delay,type:"start"})}},{key:"timeout",value:function(t){var A=function(){if(t.callback(),t.loopCount+=1,!e.isBreakLoop(t))return t.timeoutID=setTimeout(A,t.delay)};return t.timeoutID=setTimeout(A,t.delay)}},{key:"ric",value:function(t){var A,n=_n(),r=function(){if((A=_n()-n)>=t.delay&&(n=_n()-Math.floor(A%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=Ji(r,{timeout:t.delay})};return t.ricID=Ji(r,{timeout:t.delay})}},{key:"raf",value:function(t){var A,n=_n(),r=function(){if(document.hidden&&t.backgroundTask){if(A=_n()-n,n=_n(),t.callback(),t.loopCount+=1,e.isBreakLoop(t))return;return t.timeoutID=setTimeout(r,t.delay-Math.floor(A%t.delay))}if((A=_n()-n)>=t.delay&&(n=_n()-Math.floor(A%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.rafID=requestAnimationFrame(r)};if(t.rafID=requestAnimationFrame(r),t.backgroundTask){var i=function(){if(document.hidden){var e=_n()-n;e>=t.delay?r():t.timeoutID=setTimeout(r,t.delay-e)}};document.addEventListener("visibilitychange",i),t.onVisibilitychange=i,document.hidden&&i()}return t.taskID}},{key:"hasTask",value:function(e){return this.taskMap.has(e)}},{key:"clearTask",value:function(e){if(!this.taskMap.has(e))return!0;var t=this.taskMap.get(e),A=t.intervalID,n=t.timeoutID,r=t.rafID,i=t.ricID,o=t.onVisibilitychange;return A&&clearInterval(A),n&&clearTimeout(n),r&&Wi&&Wi(r),i&&ji(i),o&&document.removeEventListener("visibilitychange",o),this.taskMap.delete(e),!0}},{key:"isBreakLoop",value:function(e){return!this.hasTask(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}}])}();H(Zi,"taskMap",new Map),H(Zi,"currentTaskID",1),H(Zi,"sharedWorker",null),H(Zi,"workerTasks",new Map);var zi=Zi,Xi={LOADED_DATA:UA.LOADEDDATA,LOADED_META_DATA:UA.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error"},qi={};U(qi,{create:function(){return eo},remove:function(){return to}});var $i=new WeakMap;function eo(e,t){$i.has(e)||$i.set(e,[]);var A=$i.get(e),n={add:function(e,r){return"addEventListener"in t?(A.push(t.removeEventListener.bind(t,e,r)),t.addEventListener(e,r)):(A.push(t.off.bind(t,e,r)),t.on(e,r)),n}};return n}function to(e){var t=$i.get(e);t&&(t.forEach((function(e){return e()})),$i.delete(e))}var Ao=new(function(){return a((function e(){r(this,e),H(this,"_roomIdMap",new Map),H(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:RA,env:xA,browserVersion:Qt.name+Qt.version,ua:navigator.userAgent})}),[{key:"setConfig",value:function(e){var t=e.sdkAppId,A=e.env,n=e.userId,r=e.roomId;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=A,this._configs.userId=n,this._roomIdMap.set(n,String(r))}},{key:"logSuccessEvent",value:function(e){!pt&&pr.isAbleToUpload&&this._configs.env===xA&&this.uploadEventToKibana(G(F({},e),{result:"success"}))}},{key:"logFailedEvent",value:function(e){if(!pt&&pr.isAbleToUpload){var t=e.eventType,A=e.code,n=e.error,r=e.userId,i={roomId:this._roomIdMap.get(r||this._configs.userId),userId:r,eventType:t,result:"failed",code:A||(null==n?void 0:n.extraCode)||(null==n?void 0:n.code)||DA.UNKNOWN};this._configs.env===xA&&this.uploadEventToKibana(G(F({},i),{error:n}))}}},{key:"uploadEventToKibana",value:function(e){var t="stat-".concat(e.eventType,"-").concat(e.result);"delta-join"!==e.eventType&&"delta-leave"!==e.eventType&&"delta-publish"!==e.eventType||(t="".concat(e.eventType,":").concat(e.delta)),this.uploadEvent({log:t,userId:e.userId}),"failed"===e.result&&(t="stat-".concat(e.eventType,"-").concat(e.result,"-").concat(e.code),this.uploadEvent({log:t,userId:e.userId,error:e.error}))}},{key:"uploadEvent",value:function(e){var t=e.log,A=e.userId,n=e.error,r={timestamp:SA(),sdkAppId:this._configs.sdkAppId,userId:A||this._configs.userId,version:RA,log:t};n&&(r.errorInfo=n.message,n.stack&&(r.errorInfo+="\n".concat(n.stack))),this.sendRequest(tn(this._configs.sdkAppId,LA),r)}},{key:"sendRequest",value:function(e,t){setTimeout((function(){return ir({url:e,body:JSON.stringify(t),priority:"low"}).catch((function(){}))}),2e3)}}])}()),no=new WeakMap;var ro,io,oo,ao,so,co,uo=function(e){function t(e,A){var i;return r(this,t),(i=n(this,t,[e.id,"".concat(A,"-player")])).kind=A,H(i,"id"),H(i,"element",null),H(i,"track"),H(i,"url"),H(i,"attr"),H(i,"mode"),H(i,"muted"),H(i,"_log"),H(i,"_pausedRetryCount"),H(i,"_isElementPlayingFired",!1),H(i,"_interval"),H(i,"_delayDestroyTimeoutId",0),H(i,"_playSuccessResolve"),H(i,"_isReplayByRecreateMediaStreamCalled",!1),H(i,"isInAutoPlayFailedState",!1),i.id=e.id,i._log=e.log,i.track=e.track,i.muted=e.muted,i._pausedRetryCount=5,i._state="STOPPED",i.bindTrackEvents(),i._log.info("create ".concat(A,"-player ").concat(i.id)),i}return g(t,e),a(t,[{key:"isPlaying",get:function(){var e;return"PLAYING"===this._state&&!1===(null==(e=this.element)?void 0:e.paused)}},{key:"isPaused",get:function(){var e;return"PAUSED"===this._state||!0===(null==(e=this.element)?void 0:e.paused)}},{key:"isStopped",get:function(){return"STOPPED"===this._state}},{key:"setAttr",value:function(e){this.attr=e}},{key:"setUrl",value:function(e){this.track&&(this.unbindTrackEvents(),this.element&&(this.element.srcObject=null),this.track=null),e!==this.url&&(this.url=e,null!==e&&this.element&&(this.element.crossOrigin="anonymous",this.element.src=e))}},{key:"play",value:(o=A(I().mark((function e(){var t,A=this;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.isPlaying){e.next=2;break}return e.abrupt("return");case 2:return e.prev=2,this._delayDestroyTimeoutId&&(clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0,this.bindTrackEvents(),this.bindElementEvents()),this.bindAutoPlayEvent(),e.next=7,new Promise((function(e,t){A._playSuccessResolve=e,A.element.play().then(e,t)}));case 7:e.next=16;break;case 9:if(e.prev=9,e.t0=e.catch(2),t=wr({key:vr.PLAY_FAILED,data:{media:this.kind,error:e.t0}}),this._log.warn(e.t0),!t.includes("NotAllowedError")){e.next=16;break}throw this.isInAutoPlayFailedState=!0,new bA({code:DA.PLAY_NOT_ALLOWED,message:t});case 16:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(){return o.apply(this,arguments)})},{key:"stop",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._isElementPlayingFired=!1,this.unbindEvents(),t>0&&!gt?this._delayDestroyTimeoutId||(this._log.info("destroy element after 3 * ".concat(t)),this._delayDestroyTimeoutId=setTimeout((function(){return e.destroyElement()}),3*t)):this.destroyElement(),this.handleStopped(UA.ENDED),this._interval>0&&zi.clearTask(this._interval)}},{key:"destroyElement",value:function(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}},{key:"pause",value:function(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}},{key:"resume",value:function(){return this._log.info("resume"),this.isPlaying?Promise.resolve():Ct?this.replay():this.play().catch((function(){}))}},{key:"setMuted",value:function(e){this.element&&(this.element.muted=e),this.muted=e}},{key:"replay",value:function(){return this.stop(),this.play().catch((function(){}))}},{key:"bindElementEvents",value:function(){if(this.element){var e=this.handleElementEvent.bind(this);return eo(this.element,this.element).add(UA.PLAYING,e).add(UA.ENDED,e).add(UA.PAUSE,e).add(UA.ERROR,e).add(UA.LOADEDDATA,e).add(UA.LOADEDMETADATA,e)}}},{key:"bindTrackEvents",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;if(e){var t=this.handleTrackEvent.bind(this);null==qi||qi.create(e,e).add(UA.ENDED,t).add(UA.MUTE,t).add(UA.UNMUTE,t),e.readyState===UA.ENDED&&this.handleTrackEvent({type:UA.ENDED}),e.muted&&this.handleTrackEvent({type:UA.MUTE})}}},{key:"bindAutoPlayEvent",value:function(){lr.on(Ir.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}},{key:"unbindTrackEvents",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&to(e)}},{key:"unbindEvents",value:function(){this.element&&to(this.element),this.unbindTrackEvents(),lr.off(Ir.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}},{key:"handleElementEvent",value:function(e){var t=this;switch(e.type){case UA.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(UA.PLAYING),this._interval&&(zi.clearTask(this._interval),this._interval=-1);break;case UA.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(UA.ENDED);break;case UA.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(UA.PAUSE),ue&&(this._interval=zi.run("timeout",(function(){t.element&&"PAUSED"===t._state&&t.resume()}),{delay:3e3}));break;case UA.ERROR:if(this.element&&this.element.error){this.handlePaused(UA.ERROR);var A=this.element.error,n=A.code,r=A.message;this._log.error("".concat(this.kind," ").concat(this._log.isLocal?"local":"remote"," MediaError code: ").concat(n," message: ").concat(r," userAgent: ").concat(navigator.userAgent)),Ao.uploadEvent({log:"stat-".concat(this.kind,"-").concat(jA,"-").concat(n,"-").concat(navigator.userAgent),error:this.element.error}),Ze||We?this.emit(Xi.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case UA.LOADEDDATA:this.kind===UA.VIDEO&&this.emit(Xi.LOADED_DATA);break;case UA.LOADEDMETADATA:this.kind===UA.VIDEO&&this.emit(Xi.LOADED_META_DATA)}}},{key:"replayByRecreateMediaStream",value:function(e){var t=this;if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((function(){t._log.warn("replayByRecreateMediaStream success"),Ao.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),Sr.addSuccessEvent({key:t.kind===UA.AUDIO?506700:516700})})).catch((function(){var A;t._log.error("replayByRecreateMediaStream failed"),Ao.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),Sr.addFailedEvent({key:t.kind===UA.AUDIO?506700:516700,error:null==(A=t.element)?void 0:A.error}),t.emit(Xi.ERROR,e)}))}},{key:"doReplayByRecreateMediaStream",value:function(e){var t=this;return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise((function(A,n){$n(e).then((function(){t.element&&(t.element.srcObject=null,t.element.srcObject=new MediaStream([t.track]),t._log.warn("recreated mediaStream"),t.element.onerror=function(){var e,A,r;t._log.warn("element onerror ".concat(null==(A=null==(e=t.element)?void 0:e.error)?void 0:A.code," fired after recreated mediaStream")),n(null==(r=t.element)?void 0:r.error)}),$n(5e3).then((function(){var e,r;t.isPlaying&&!(null==(e=t.element)?void 0:e.error)||n(null==(r=t.element)?void 0:r.error),A()}))}))})).finally((function(){t.element&&(t.element.onerror=null)}))}},{key:"handleTrackEvent",value:(i=A(I().mark((function e(t){var A;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:A=t.type,e.t0=A,e.next=e.t0===UA.ENDED?4:e.t0===UA.MUTE?6:e.t0===UA.UNMUTE?8:19;break;case 4:return this.handleStopped(UA.ENDED),e.abrupt("break",19);case 6:return this.handlePaused(UA.MUTE),e.abrupt("break",19);case 8:if(!(this.mode>0)){e.next=12;break}this.handlePlaying(this.mode.toString()),e.next=18;break;case 12:if(!this.element){e.next=18;break}if(!this.element.paused){e.next=17;break}return this._log.warn("track unmuted and element is paused, resume"),e.next=17,this.resume();case 17:!this.element.paused&&this._isElementPlayingFired&&this.handlePlaying(UA.UNMUTE);case 18:return e.abrupt("break",19);case 19:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"handlePlaying",value:function(e){var t;this._log.debug("handlePlaying",e),null==(t=this._playSuccessResolve)||t.call(this,e),this.emit(Xi.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}},{key:"handlePaused",value:function(e){this._log.debug("handlePaused",e),this.emit(Xi.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}},{key:"handleStopped",value:function(e){this._log.debug("handleStopped",e),this.emit(Xi.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}},{key:"getElement",value:function(){return this.element}}]);var i,o}(Ki);Y([(ro={settings:{retries:2,timeout:0},onError:function(e,t,A,n){n[0]=(n[0]||1e3)+1e3,t()}},io=ro.settings,oo=void 0===io?{retries:5,timeout:2e3}:io,ao=ro.onError,so=ro.onRetrying,co=ro.onRetryFailed,function(e,t,A){var n=ur({retryFunction:A.value,settings:oo,onError:function(A){var n,r=A.error,i=A.retry,o=A.reject,a=A.retryFuncArgs;ao?ao.call(this,r,(function(){var A;(null==(A=no.get(e))?void 0:A.has(t))?i():o(r)}),o,a):(null==(n=no.get(e))?void 0:n.has(t))?i():o(r)},onRetrying:function(A,n){var r;ar(so)&&so.call(this,A,n),(null==(r=no.get(e))?void 0:r.has(t))&&(no.get(e).get(t).stopRetry=n)},onRetryFailed:co});return A.value=function(){for(var A=no.get(e),r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return A?A.set(t,{args:i}):no.set(e,new Map([[t,{args:i}]])),n.apply(this,i).finally((function(){var A;return null==(A=no.get(e))?void 0:A.delete(t)}))},A})],uo.prototype,"doReplayByRecreateMediaStream"),Y([Oi([],"PLAYING",{sync:!0})],uo.prototype,"handlePlaying"),Y([Oi("PLAYING","PAUSED",{ignoreError:!0,sync:!0})],uo.prototype,"handlePaused"),Y([Oi([],"STOPPED",{sync:!0})],uo.prototype,"handleStopped");var go,lo,Io="trtc_autoplay",ho="".concat(Io,"_mask"),Co="".concat(Io,"_wrapper"),Eo="".concat(Io,"_header"),fo="".concat(Io,"_content"),po="".concat(Io,"_action_wrapper"),Bo="".concat(Io,"_question"),Qo="".concat(Io,"_collapse"),vo="".concat(Io,"_action_confirm"),mo="".concat(Io,"_detail"),yo="#2473E8",ko="dialog",wo="".concat(ko,"-show"),Do="".concat(ko,"-1"),bo="".concat(ko,"-2"),To=!1,So=function(){return!!document.querySelector(".".concat(Co))},Ro="".concat(MA,"/").concat(In()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),No="<br><a href='".concat(Ro,"' target='_blank'>").concat(In()?"其他方案?":"Any other solution?","</a>"),_o="".concat(In()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(No):"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(No)),Mo=function(){return a((function e(){if(r(this,e),H(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),H(this,"_dialogNode",null),H(this,"_bodyPosition",""),H(this,"_showDetail",!1),H(this,"_isCollapseClicked",!1),H(this,"_isQuestionClicked",!1),In()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!To){var t=document.createElement("style");t.innerHTML=".".concat(ho,"{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(ho," div:not(.").concat(po,"){display:block !important;}.").concat(Co,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(Co," a{color:").concat(yo,";}.").concat(Eo,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(fo,"{margin:8px 0;}.").concat(po,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(Qo,"{margin-right:auto;cursor:pointer}.").concat(Bo,"{height:100%;line-height:16px;cursor:pointer;}.").concat(vo,"{margin-left:8px;color:#fff;background:").concat(yo,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(vo,":hover{opacity:0.9;}.").concat(Qo,",.").concat(vo,",.").concat(fo,",.").concat(Bo,"{font-size:14px;}@media screen and (max-width:750px){.").concat(Co,"{width:80vw;}}"),document.head.appendChild(t),To=!0}this.addDiaLog()}),[{key:"createDiaLog",value:function(){var e=document.createElement("template");e.innerHTML='<div class="'.concat(ho,"\"><div class='").concat(Co,"'><div class='").concat(Eo,"'>").concat(location.host,"</div><div class='").concat(fo,"'>").concat(this.content,"</div><div class='").concat(mo,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(_o,"</div><div class='").concat(po,"'></div></div></div>").trim();var t=document.createElement("button");t.className=vo,t.innerText=In()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);var A=document.createElement("div");A.className=Bo,A.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n <svg class="icon" width="18" height="18" p-id="2030" t="1639646523624" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">\n <path d="m464 784.35c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" p-id="2031"/>\n <path d="m512 960c-247.04 0-448-200.96-448-448s200.96-448 448-448 448 200.96 448 448-200.96 448-448 448zm0-831.71c-211.58 0-383.71 172.13-383.71 383.71 0 211.55 172.13 383.71 383.71 383.71 211.55 0 383.71-172.16 383.71-383.71 0-211.58-172.16-383.71-383.71-383.71z" p-id="2032"/>\n <path d="m512 673.7c-17.665 0-32.001-14.336-32.001-31.999v-54.112c0-52.353 40-92.352 75.328-127.65 25.887-25.92 52.672-52.672 52.672-74.017 0-53.343-43.072-96.735-95.999-96.735-53.823 0-95.999 41.536-95.999 94.559 0 17.665-14.336 31.999-32.001 31.999s-32.001-14.336-32.001-31.999c0-87.424 71.775-158.56 160-158.56s160 72.095 160 160.74c0 47.904-36.32 84.192-71.424 119.3-27.84 27.776-56.576 56.512-56.576 82.336v54.112c0 17.665-14.336 32.032-32.001 32.032z" p-id="2033"/>\n </svg>\n ',A.onclick=this.onQuestionClick.bind(this);var n=document.createElement("div");n.className=Qo,n.innerText="".concat(In()?"详情 >":"Detail >"),n.onclick=this.onCollapseClick.bind(this);var r=e.content.firstChild,i=r.querySelector(".".concat(po));return i.appendChild(n),i.appendChild(A),i.appendChild(t),r}},{key:"addDiaLog",value:function(){So()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(Co)).onclick=function(e){return e.stopPropagation()},this._bodyPosition=document.body.style.position,document.body.style.position="fixed",pr.info("show autoplay dialog"),Ao.uploadEvent({log:wo}))}},{key:"deleteDiaLog",value:function(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}},{key:"onConfirm",value:function(){pr.warn("confirm clicked, try resume stream"),lr.emit(Ir.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}},{key:"onCollapseClick",value:function(){var e=this._dialogNode.querySelector(".".concat(mo));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||Ao.uploadEvent({log:Do}),this._isCollapseClicked=!0}},{key:"onQuestionClick",value:function(){window.open(Ro,"_blank"),this._isQuestionClicked||Ao.uploadEvent({log:bo}),this._isQuestionClicked=!0}}])}(),Lo=function(e){function t(e){var A;return r(this,t),A=n(this,t,[e,UA.VIDEO]),H(A,"stat",{}),H(A,"_calculateTimeout",-1),H(A,"viewMirror",!1),H(A,"objectFit"),H(A,"container"),H(A,"canvas"),A.mode=e.canvas?1:0,A.container=e.container,A.canvas=e.canvas,Bn(e.viewMirror)||(A.viewMirror=e.viewMirror),Bn(e.objectFit)||(A.objectFit=e.objectFit),A.initializeElement(),A}return g(t,e),a(t,[{key:"isPlaying",get:function(){var e;return"PLAYING"===this._state&&((!this.element||!this.element.paused)&&("live"===(null==(e=this.track)?void 0:e.readyState)&&!this.track.muted))}},{key:"initializeElement",value:function(){var e,t=document.createElement(UA.VIDEO);this.track&&2!==this.mode&&(t.srcObject=new MediaStream([this.track])),t.muted=!0,t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",this.styleAttribute),this.canvas&&this.canvas.setAttribute("style",this.styleAttribute),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),this.element=t,null==(e=this.container)||e.appendChild(this.elementToRender),this.bindElementEvents(),this.calculateStat()}},{key:"styleAttribute",get:function(){var e="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");return this.viewMirror&&(e+="transform: scaleX(-1);"),e}},{key:"setContainer",value:function(e){var t;this.container=e,this.track&&this.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}},{key:"bindElementEvents",value:function(){var e=p(t,"bindElementEvents",this,3)([]);this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(UA.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(UA.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}},{key:"handleTrackEvent",value:function(e){var A;p(t,"handleTrackEvent",this,3)([e]),e.type===UA.MUTE&&(null==(A=this.stat)?void 0:A.fps)&&(this.stat.fps=0)}},{key:"handleElementEvent",value:function(e){var A,n;if(2!==this.mode){p(t,"handleElementEvent",this,3)([e]);var r=e.type;if(r===UA.PAUSE)this.container&&document.getElementById(this.container.id)||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(A=this.container)?void 0:A.id)),this.container&&this.container!==document.getElementById(this.container.id)&&(this._pausedRetryCount=5,this._log.info("view container ".concat(null==(n=this.container)?void 0:n.id," is recreated"))),this._pausedRetryCount>0&&!So()&&(this._log.info("[".concat(5-this._pausedRetryCount+1,"/").concat(5,"] ").concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0);if(this.viewMirror&&this.element){var i=this.element.style.transform;r===UA.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=i.replace("scaleX(-1)",""):r!==UA.LEAVE_PICTURE_IN_PICTURE||i.includes("scaleX")||(this.element.style.transform="".concat(i," scaleX(-1)"))}}}},{key:"setCanvas",value:function(e){var t,A,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;this.canvas!==e&&(null==(t=this.canvas)||t.remove(),null==e||e.setAttribute("style",this.styleAttribute),this.canvas=e,this.mode=e?i:0,2===this.mode&&this.setTrack(e.captureStream().getVideoTracks()[0]),e?(null==(A=this.element)||A.remove(),null==(n=this.container)||n.appendChild(e)):this.element&&(null==(r=this.container)||r.appendChild(this.element)))}},{key:"setAttr",value:function(e){var A=Object.assign({autoplay:"autoplay",playsinline:"playsinline",muted:!0},e);A.style=Object.assign({width:"100%",height:"100%"},A.style),p(t,"setAttr",this,3)([A])}},{key:"mirror",get:function(){return this.viewMirror}},{key:"setRect",value:function(e,t){this.elementToRender&&(this.elementToRender.style.width="".concat(e,"px"),this.elementToRender.style.height="".concat(t,"px"))}},{key:"setViewMirror",value:function(e){this.elementToRender&&(this.elementToRender.style.transform=e?"scaleX(-1)":""),this.viewMirror=e}},{key:"setObjectFit",value:function(e){this.elementToRender&&(this.elementToRender.style.objectFit="".concat(e)),this.objectFit=e}},{key:"setPoster",value:function(e){this.element&&(this.element.poster=e)}},{key:"stop",value:function(){var e,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;p(t,"stop",this,3)([A]),null==(e=this.canvas)||e.remove()}},{key:"play",value:function(){return this.element?this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender):this.initializeElement(),2===this.mode?Promise.resolve():p(t,"play",this,3)([])}},{key:"elementToRender",get:function(){return this.canvas||this.element}},{key:"setTrack",value:function(e){e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(Xi.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element&&2!==this.mode&&(this.element.srcObject=new MediaStream([e]),this.element.remove()),this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender)))}},{key:"getVideoFrame",value:function(){if(this.canvas)return this.canvas.toDataURL("image/png");if(!this.element)return"";var e=document.createElement("canvas");return e.width=this.element.videoWidth,e.height=this.element.videoHeight,e.getContext("2d").drawImage(this.element,0,0),e.toDataURL("image/png")}},{key:"getElement",value:function(){return this.element}},{key:"calculateStat",value:function(){var e=this;try{if(Ri()&&this.element&&this._calculateTimeout<0){var t=0,A=null,n=function(r,i){e.stat.width=i.width,e.stat.height=i.height,A&&(e.stat.fps=Math.round((i.presentedFrames-A.presentedFrames)/(r-t)*1e3)),t=r,A=i,e._calculateTimeout=-1,e.element&&(e._calculateTimeout=setTimeout((function(){var t;return null==(t=e.element)?void 0:t.requestVideoFrameCallback(n)}),2e3))};this.element.requestVideoFrameCallback(n)}}catch(e){this._log.warn("init stat failed",e)}}}])}(uo);function xo(){return(xo=A(I().mark((function e(t,A){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.audioWorklet){e.next=2;break}return e.abrupt("return",Promise.reject("audioWorklet is not supported"));case 2:return e.prev=2,e.next=5,t.audioWorklet.addModule(A);case 5:pr.info("worklet addModule success"),e.next=12;break;case 8:throw e.prev=8,e.t0=e.catch(2),pr.info("worklet addModule catch error. ".concat(e.t0.message)),e.t0;case 12:case"end":return e.stop()}}),e,null,[[2,8]])})))).apply(this,arguments)}"undefined"!=typeof AudioContext?go=AudioContext:"undefined"!=typeof webkitAudioContext?go=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(go=mozAudioContext);var Fo=-1;!function e(){try{if(lo)return;(lo=new go({sampleRate:48e3})).onstatechange=function(){pr.info("context state: ".concat(lo.state).concat("running"!==lo.state?" visibilityState: ".concat(document.visibilityState):"")),Go()},clearTimeout(Fo)}catch(t){pr.error("initAudioContext failed: ".concat(t," typeof AudioContextClass: ").concat(m(go))),Fo=setTimeout(e,1e3)}}();var Go=function(){"suspended"===lo.state?(Po(),document.addEventListener("click",Go)):"interrupted"===lo.state?Po():(document.removeEventListener("visibilitychange",Go),document.removeEventListener("click",Go))},Oo=0,Uo=-1;function Po(){return new Promise((function(e,t){if("running"===lo.state)return e();Date.now()-Oo<1e3?(clearTimeout(Uo),Uo=setTimeout((function(){Oo=Date.now(),lo.resume().then(e,t)}),1e3)):(clearTimeout(Uo),Oo=Date.now(),lo.resume().then(e,t))})).catch((function(e){pr.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",Go)}))}document.addEventListener("click",Go);var Yo=function(e){return lo},Ho=function(){return a((function e(t){r(this,e),this.name=t,H(this,"node"),H(this,"node2"),H(this,"pre",new Set),H(this,"next",new Set),H(this,"context"),H(this,"connectedNodes",new Set),H(this,"nextInputChannelMap",new Map),H(this,"_channelCount",1)}),[{key:"channelCount",get:function(){return this._channelCount},set:function(e){this._channelCount=e,this.setChannelCount(this.node,e),this.setChannelCount(this.node2,e),this.next.forEach((function(t){return t.channelCount=e}))}},{key:"setChannelCount",value:function(e,t){!e||e instanceof ScriptProcessorNode||(e.channelCountMode="explicit",e.channelCount=t||this.channelCount||1)}},{key:"setContext",value:function(e){this.context=e,this.node&&e.addMixWeight()}},{key:"removeContext",value:function(){var e;this.node&&(null==(e=this.context)||e.reduceMixWeight()),delete this.context}},{key:"replaceNode",value:function(e){var t;if(e!==this.node)try{this.node?this._disconnect():null==(t=this.context)||t.addMixWeight(),this.node=e,this.setChannelCount(this.node),this.preNodeReconnect(),this.reconnect()}catch(e){pr.error(e)}}},{key:"setNode",value:function(e,t){var A;if(!this.node)try{null==(A=this.context)||A.addMixWeight(),this.node=e,this.setChannelCount(this.node),t&&(this.node2=t,this.setChannelCount(this.node2)),this.preNodeReconnect(),this.reconnect(),Sr.addSuccessEvent({key:502701})}catch(e){pr.error(e),Sr.addFailedEvent({key:502701,error:e})}}},{key:"deleteNode",value:function(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),Sr.addSuccessEvent({key:502702})}catch(e){pr.error(e),Sr.addFailedEvent({key:502702,error:e})}}},{key:"preNodeReconnect",value:function(){this.pre.forEach((function(e){e.node?e.reconnect():e.preNodeReconnect()}))}},{key:"connectNext",value:function(e){var t=this;this.next.forEach((function(A){var n=t.nextInputChannelMap.get(A);e._connect(A.node,n)||A.connectNext(e)}))}},{key:"_connect",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!(!this.node||!e)&&((this.node2||this.node).connect(e,0,t),this.connectedNodes.add(e),!0)}},{key:"_disconnect",value:function(){var e=this;this.connectedNodes.forEach((function(t){var A;return null==(A=e.node2||e.node)?void 0:A.disconnect(t)})),this.connectedNodes.clear()}},{key:"reconnect",value:function(){this._disconnect(),this.connectNext(this)}},{key:"pipeTo",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.next.add(e),e.pre.add(this),this.nextInputChannelMap.set(e,t),e}}])}(),Ko=function(e){function t(){var e,A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;return r(this,t),(e=n(this,t)).fftSize=A,H(e,"dataArray",new Uint8Array(0)),e}return g(t,e),a(t,[{key:"setNode",value:function(e){e.fftSize=this.fftSize,this.dataArray=new Uint8Array(e.frequencyBinCount),p(t,"setNode",this,3)([e])}},{key:"getByteTimeDomainData",value:function(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),this.dataArray}},{key:"level",get:function(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),Math.max.apply(Math,Q(this.dataArray))/128-1}},{key:"timeDomainPathData",get:function(){for(var e=this.getByteTimeDomainData(),t=0,A=0,n="M".concat(t,",").concat(A),r=0;r<e.length;r++){A=100*(e[r]/128)/2,n+="L".concat(t,",").concat(A),t+=1}return n}}])}(Ho),Vo=function(){return a((function e(){r(this,e),H(this,"source",new Ho),H(this,"gain",new Ho),H(this,"destination",new Ho)}),[{key:"volume",get:function(){var e;return(null==(e=this.gain.node)?void 0:e.gain.value)||1}},{key:"setVolume",value:function(e){1!==e?(this.gain.node||this.gain.setNode(Yo().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}},{key:"replaceSource",value:function(e){this.source.replaceNode(function(e){var t=Jo.get(e);if(t)return t;var A=Yo();if(e instanceof HTMLAudioElement)t=A.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=A.createMediaStreamSource(new MediaStream([e]))}return Jo.set(e,t),t}(e))}},{key:"track",get:function(){var e;return null==(e=this.stream)?void 0:e.getAudioTracks()[0]}},{key:"stream",get:function(){var e;return null==(e=this.destination.node)?void 0:e.stream}}])}(),Jo=new WeakMap;var jo=function(){function e(t){r(this,e),H(this,"_volume",0),H(this,"_volumeDb",0),H(this,"_log"),H(this,"_scriptProcessorNode",null),H(this,"_audioWorkletNode",null),H(this,"_interval",200),H(this,"ready",this.preload());var A=t.log;this._log=A,lr.on(Ir.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}return a(e,[{key:"node",get:function(){return this._audioWorkletNode||this._scriptProcessorNode}},{key:"preload",value:function(){var t=this;if(!e.workletReady){e.workletReady=function(e,t){return xo.apply(this,arguments)}(e.audioContext,URL.createObjectURL(new Blob(['class VolumeMeterWorklet extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=200,this.isStop=!1,this.cache=[],this.sentFirstInfo1=!1,this.unmute=!1,this.port.onmessage=t=>{var e=t.data;switch(e.name){case"chunk":this.cache.push(...e.data),this.sentFirstInfo1||(this.port.postMessage({cl:e.data.length}),this.sentFirstInfo1=!0);break;case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"unmute":this.unmute=!0;break;case"stop":this.isStop=!0}}}process(t,s){t=t[0],s=s[0];if(t||s){if(this.isStop)return!1;var i=s&&s[0]?s[0].length:0,h=this.cache.length,a=(i<h?(s[0].set(this.cache.slice(0,i)),this.cache=this.cache.slice(i)):this.unmute&&s[0].set(t[0]),(i<h?s:t)[0]);if(a){let e=0;for(let t=0;t<a.length;++t)e=Math.max(Math.abs(a[t]),e);s=a.reduce((t,e)=>t+e*e,0)/a.length;this.volume=e,this.tick-=a.length,this.tick<0&&(this.tick+=this.intervalTime/1e3*sampleRate,this.port.postMessage({volume:this.volume,volumeDb:Math.max(10*Math.log10(s)+100,0)/100,cacheLen:h,outputLen:i}))}}return!0}}registerProcessor("volume-meter",VolumeMeterWorklet);'],{type:"application/javascript"})))}return e.workletReady.then((function(){return t.initAudioWorklet()})).catch((function(e){return t._log.error("volumeMeter preload error: ".concat(e)),t.initScriptProcessor()}))}},{key:"initAudioWorklet",value:function(){var t=this;if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(e.audioContext,"volume-meter");var A=!1;this._audioWorkletNode.port.onmessage=function(n){e.lastMessageTime=Date.now(),t._volume=n.data.volume||0,t._volumeDb=n.data.volumeDb||0,!A&&n.data.cacheLen&&n.data.outputLen&&(t._log.warn("worklet play success"),A=!0)},this.handleAudioLevelInterval({interval:this._interval})}catch(e){this._log.error("volumeMeter init audio worklet error: ".concat(e)),Ao.logFailedEvent({userId:this._log.userId,eventType:WA,error:e}),this.initScriptProcessor()}}},{key:"initScriptProcessor",value:function(){var t=this;if(!this._scriptProcessorNode)try{this._scriptProcessorNode=Yo().createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=function(A){e.lastMessageTime=Date.now();for(var n=A.inputBuffer.getChannelData(0),r=0,i=0;i<n.length;++i)r+=n[i]*n[i];t._volume=Math.sqrt(r/n.length)||0}}catch(e){this._log.error("volumeMeter init script processor error: ".concat(e))}}},{key:"destroy",value:function(){this._scriptProcessorNode&&(this._scriptProcessorNode.onaudioprocess=null),this._audioWorkletNode&&(this._audioWorkletNode.port.postMessage({name:"stop"}),this._audioWorkletNode.port.onmessage=null),this._audioWorkletNode=null,this._scriptProcessorNode=null,lr.off(Ir.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}},{key:"getInternalAudioLevel",value:function(){return this._volume}},{key:"getCalculatedVolume",value:function(){return parseFloat(this._volume.toFixed(2))}},{key:"getVolumeDb",value:function(){return Math.floor(100*this._volumeDb)}},{key:"handleAudioLevelInterval",value:function(e){var t,A=e.interval;this._interval=A,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:A})}}],[{key:"isRunning",get:function(){return Date.now()-e.lastMessageTime<2e3}}])}();H(jo,"lastMessageTime",0),H(jo,"audioContext",Yo()),H(jo,"workletReady");var Wo=jo,Zo=function(e){function t(e){var A;return r(this,t),A=n(this,t),H(A,"_volumeMeter"),A._volumeMeter=new Wo(e),A}return g(t,e),a(t,[{key:"deleteNode",value:function(){p(t,"deleteNode",this,3)([]),this._volumeMeter.destroy()}},{key:"init",value:(i=A(I().mark((function e(){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._volumeMeter.preload();case 2:this.setNode(this._volumeMeter.node);case 3:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"getCalculatedVolume",value:function(){return this._volumeMeter.getCalculatedVolume()}},{key:"getInternalAudioLevel",value:function(){return this._volumeMeter.getInternalAudioLevel()}},{key:"getVolumeDb",value:function(){return this._volumeMeter.getVolumeDb()}},{key:"write",value:function(e){if(this.node){var t=e.allocationSize({planeIndex:0}),A=new Float32Array(t>>2);e.copyTo(A,{planeIndex:0}),this.node.port.postMessage({name:"chunk",data:A},[A.buffer]),e.close()}}}]);var i}(Ho),zo=P(K()),Xo=function(e){return function(t){return t.deviceId===e}},qo=function(){return a((function e(t){var A=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Input";r(this,e),H(this,"kind"),H(this,"type"),H(this,"devices",[]),this.kind=t,this.type=A}),[{key:"update",value:function(e,t){var A=this,n=e.filter((function(e){return e.kind==="".concat(A.kind).concat(A.type.toLocaleLowerCase())}));1===this.devices.length&&ta(this.devices[0])||t&&(n.forEach((function(e){if(e.deviceId&&!A.devices.find(Xo(e.deviceId))){var n="".concat(A.kind).concat(A.type,"Added");pr.warn("".concat(n,": ").concat(JSON.stringify(e))),t.emit(n,e)}})),this.devices.forEach((function(e){if(e.deviceId&&!n.find(Xo(e.deviceId))){var r="".concat(A.kind).concat(A.type,"Removed");pr.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=n}},{key:"hasDevice",value:function(e){return!!this.devices.find((function(t){return t.deviceId===e}))}}])}(),$o=function(e){function t(){var e;return r(this,t),e=n(this,t),H(e,"audioInputs",new qo(UA.AUDIO)),H(e,"videoInputs",new qo(UA.VIDEO)),H(e,"audioOutputs",new qo(UA.AUDIO,"Output")),e.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(function(){return e.update()})),"ondevicechange"in navigator.mediaDevices||zi.run("interval",(function(){e.update()}),{delay:1e4})),e}return g(t,e),a(t,[{key:"init",value:function(){var e=this;Aa().then((function(t){e.audioInputs.update(t),e.videoInputs.update(t),e.audioOutputs.update(t)}))}},{key:"update",value:(i=A(I().mark((function e(){var t,A,n=arguments;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:0,e.next=3,Aa(t);case 3:return A=e.sent,this.audioInputs.update(A,this),this.videoInputs.update(A,this),this.audioOutputs.update(A,this),e.abrupt("return",this);case 8:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})}]);var i}(zo.EventEmitter),ea=_A||NA?null:new $o;function ta(e){return e.deviceId===e.groupId&&""===e.groupId}function Aa(){return na.apply(this,arguments)}function na(){return na=A(I().mark((function e(){var t,A,n,r,i=arguments;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=i.length>0&&void 0!==i[0]?i[0]:0,!Gr()&&xr()){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,navigator.mediaDevices.enumerateDevices();case 5:if(A=e.sent,0===t){e.next=26;break}if(n={audio:!1,video:!1},A.forEach((function(e){ta(e)&&(e.kind===UA.AUDIO_INPUT?n.audio=!0:e.kind===UA.VIDEO_INPUT&&(n.video=!0))})),2===t&&(n.audio=!1),1===t&&(n.video=!1),!n.audio&&!n.video){e.next=26;break}return e.prev=12,e.next=15,navigator.mediaDevices.getUserMedia(n);case 15:r=e.sent,n.audio&&Po(),e.next=22;break;case 19:e.prev=19,e.t0=e.catch(12),pr.debug("capture before getDevices failed: ",e.t0);case 22:return e.next=24,navigator.mediaDevices.enumerateDevices();case 24:A=e.sent,null==r||r.getTracks().forEach((function(e){return e.stop()}));case 26:return e.abrupt("return",A.map((function(e,t){var A={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&la.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(A.getCapabilities=function(){return e.getCapabilities()}),A})));case 27:case"end":return e.stop()}}),e,null,[[12,19]])}))),na.apply(this,arguments)}function ra(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return ea.update(e?1:0).then((function(e){return e.audioInputs.devices}))}function ia(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return ea.update(e?2:0).then((function(e){return e.videoInputs.devices}))}var oa=!1;function aa(){return sa.apply(this,arguments)}function sa(){return(sa=A(I().mark((function e(){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,oa){e.next=10;break}return oa=!0,e.t0=pr,e.t1="speakers:",e.next=7,ca();case 7:e.t2=e.sent.map((function(e){return" ".concat(e.deviceId.slice(0,8),": ").concat(e.label)})),e.t3=e.t1.concat.call(e.t1,e.t2),e.t0.info.call(e.t0,e.t3);case 10:e.next=14;break;case 12:e.prev=12,e.t4=e.catch(0);case 14:case"end":return e.stop()}}),e,null,[[0,12]])})))).apply(this,arguments)}function ca(){return ua.apply(this,arguments)}function ua(){return ua=A(I().mark((function e(){var t,A=arguments;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=A.length>0&&void 0!==A[0]&&A[0],(ue||ut)&&(t=!1),e.abrupt("return",ea.update(t?1:0).then((function(e){return e.audioOutputs.devices})));case 3:case"end":return e.stop()}}),e)}))),ua.apply(this,arguments)}var ga,la=new Set;function da(e,t){return Ia.apply(this,arguments)}function Ia(){return(Ia=A(I().mark((function e(t,A){var n,r;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ra();case 2:if(n=e.sent,r=n.find((function(e){return e.deviceId===zA})),A||(null==r?void 0:r.groupId)!==t){e.next=6;break}return e.abrupt("return",!0);case 6:if((null==r?void 0:r.groupId)!==t||r.label!==A){e.next=8;break}return e.abrupt("return",!0);case 8:return e.abrupt("return",!1);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ha(e){return Ca.apply(this,arguments)}function Ca(){return(Ca=A(I().mark((function e(t){var A,n,r,i,o;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=t.newDeviceId,n=t.oldDeviceId,r=t.oldGroupId,i=t.oldLabel,o=t.kind,A===n){e.next=3;break}return e.abrupt("return",!1);case 3:if(o!==UA.AUDIO||A!==zA){e.next=7;break}return e.next=6,da(r,i);case 6:return e.abrupt("return",e.sent);case 7:return e.abrupt("return",!0);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ea=function(e){function t(e){var A;return r(this,t),(A=n(this,t)).log=e,H(A,"volumeMeter"),H(A,"volumeDestination"),H(A,"analyser",new Ko),A.volumeMeter=new Zo({log:A.log}),A.volumeDestination=new Ho,A.volumeMeter.pipeTo(A.volumeDestination),A}return g(t,e),a(t,[{key:"destroy",value:function(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}}])}(Vo),fa=function(e){function t(e){var A;return r(this,t),A=n(this,t,[e,UA.AUDIO]),H(A,"_outputDeviceId"),H(A,"_volume",1),H(A,"_destination",Yo().createMediaStreamDestination()),H(A,"pipeline"),H(A,"volumeMeterMode","worklet"),A.mode=0,A.pipeline=new Ea(A._log),A}return g(t,e),a(t,[{key:"getMediaStream",value:function(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}},{key:"initializeElement",value:function(e){if(("15.2"===dt||"15.3"===dt||"15.4"===dt)&&this.muted)this._log.info("audioElement is muted.");else{var t=ga||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.element=t,vn(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===ga&&(ga=void 0),this.bindElementEvents()}}},{key:"play",value:(o=A(I().mark((function e(A){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.track){e.next=2;break}return e.abrupt("return");case 2:if(this.pipeline.source.node||this.pipeline.replaceSource(this.track),this.element||this.initializeElement(null==A?void 0:A.volume),!this._outputDeviceId){e.next=7;break}return e.next=7,this.setSinkId(this._outputDeviceId);case 7:return"worklet"===this.volumeMeterMode?this.pipeline.volumeMeter.init():"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(Yo().createAnalyser()),aa(),e.abrupt("return",p(t,"play",this,3)([]));case 10:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"stop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy(),p(t,"stop",this,3)([e])}},{key:"setSinkId",value:(i=A(I().mark((function e(t){var A,n;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._outputDeviceId!==t&&(this._outputDeviceId=t),!this.element||this.element.sinkId===t){e.next=4;break}return e.next=4,null==(n=(A=this.element).setSinkId)?void 0:n.call(A,t);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"useDestination",get:function(){return!!this.pipeline.stream}},{key:"setLoop",value:function(e){this.element&&(this.element.loop=e)}},{key:"getAudioLevel",value:function(){return this.pipeline.volumeMeter.getCalculatedVolume()}},{key:"getInternalAudioLevel",value:function(){return this.pipeline.volumeMeter.getInternalAudioLevel()}}]);var i,o}(uo),pa=function(e){function t(e){var A;return r(this,t),A=n(this,t,[e]),H(A,"_sourceElement"),H(A,"_output",new Ho),A.pipeline.source.pipeTo(A.pipeline.gain),A.pipeline.gain.pipeTo(A.pipeline.volumeMeter).pipeTo(A._output),A.pipeline.gain.pipeTo(A.pipeline.destination),A}return g(t,e),a(t,[{key:"setOutput",value:function(){this.mode=1,this._output.setNode(Yo().destination)}},{key:"write",value:function(e){this.pipeline.volumeMeter.write(e)}},{key:"setTrack",value:function(e){var t,A,n;(null==(A=null==(t=this.element)?void 0:t.error)?void 0:A.code)!==MediaError.MEDIA_ERR_DECODE&&this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(Xi.MEDIA_TRACK_CHANGED,e),e?(this.bindTrackEvents(),this._sourceElement?this._sourceElement.srcObject=new MediaStream([e]):!this.useDestination&&this.element&&(this.element.srcObject=new MediaStream([e])),this.pipeline.source.channelCount=(null==(n=e.getSettings())?void 0:n.channelCount)||1,this.pipeline.replaceSource(e)):this.pipeline.source.deleteNode())}},{key:"setVolume",value:function(e){this._volume=e,this.useDestination?(this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e))):e<=1?this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element"):ue||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),to(this.element),this._sourceElement=this.element,this._sourceElement.muted=!0,this.element=null,this.play()))}},{key:"stop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy();var A=this._sourceElement||this.element;A&&gt&&(ga=A),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),p(t,"stop",this,3)([e])}}])}(fa),Ba=function(e){function t(e){var A,i,o=e.userId,a=e.sdkAppId,s=e.mediaType,c=e.room,u=e.PlayerClass,g=void 0===u?1===s?pa:Lo:u;return r(this,t),A=n(this,t),H(A,"id",Br()),H(A,"userId",""),H(A,"isRemote"),H(A,"mediaType"),H(A,"room"),H(A,"user"),H(A,"_log"),H(A,"_inputTrack"),H(A,"_outputTrack"),H(A,"isPlayCalled"),H(A,"container",null),H(A,"player"),H(A,"subVideoPlayerMap"),H(A,"muted",!1),H(A,"abortCtrl"),H(A,"objectFit","cover"),H(A,"mirror"),H(A,"rotation"),H(A,"isScreen",!1),H(A,"manager"),H(A,"trackSettings"),H(A,"isFirstVideoFrameEmitted",!1),A.userId=o||"",A.mediaType=s,A._log=pr.createLogger({id:"".concat(A.kind[0],"t"),userId:null==(i=c||A.room)?void 0:i.userId,remoteUserId:A instanceof Oa?void 0:A.userId,sdkAppId:a,type:2===A.mediaType?"auxiliary":"main",isLocal:A instanceof Oa}),A.player=new g({id:A.userId||A.id,track:null,muted:!1,container:null,log:A._log}),A.player.on(Xi.PLAYER_STATE_CHANGED,(function(e){lr.emit(Ir.PLAYER_STATE_CHANGED,F({track:A},e)),A.emit("player-state-changed",e)})),A.kind===UA.VIDEO&&(A.player.on(Xi.LOADED_DATA,(function(){A.emitFirstVideoFrameEvent(Xi.LOADED_DATA),lr.emit(Ir.VIDEO_LOADED_DATA,{track:A})})),A.player.on(Xi.LOADED_META_DATA,(function(){A.emitFirstVideoFrameEvent(Xi.LOADED_META_DATA)})),A.player.on(Xi.MEDIA_TRACK_CHANGED,(function(e){var t;null==(t=A.subVideoPlayerMap)||t.forEach((function(t){return t.setTrack(e)}))}))),A.onTrackMuted=A.onTrackMuted.bind(A),A.onTrackUnmuted=A.onTrackUnmuted.bind(A),A.onTrackEnded=A.onTrackEnded.bind(A),A.onPlayerError&&A.player.on(Xi.ERROR,A.onPlayerError.bind(A)),A}return g(t,e),a(t,[{key:"log",get:function(){return this._log||pr}},{key:"kind",get:function(){return 1===this.mediaType?UA.AUDIO:UA.VIDEO}},{key:"strMediaType",get:function(){return 4===this.mediaType?UA.VIDEO:2===this.mediaType?UA.SCREEN:UA.AUDIO}},{key:"streamType",get:function(){return 2&this.mediaType?"auxiliary":"main"}},{key:"isMediaTrackActive",get:function(){return!!this.mediaTrack&&(!this.mediaTrack.muted&&"live"===this.mediaTrack.readyState&&this.mediaTrack.enabled)}},{key:"play",value:(c=A(I().mark((function e(t,A){var n;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=kn(t)?t[0]:t,!this.isPlayCalled){e.next=12;break}if(this.log.info("play update options: ".concat(JSON.stringify(A))),A&&!Bn(A.muted)&&this.setPlayerMute(A.muted),A&&!Bn(A.objectFit)&&(this.objectFit=A.objectFit),!(this.player instanceof Lo)){e.next=11;break}if(this.player.setObjectFit(this.objectFit),this.container!==n&&n&&(this.container=n,this.player.setContainer(n)),!(kn(t)&&t.length>=1)){e.next=11;break}return e.next=11,this.playSubContainer(t.slice(1),A);case 11:return e.abrupt("return");case 12:if(A&&!Bn(A.muted)?this.setPlayerMute(A.muted):this.isRemote&&this.kind!==UA.VIDEO||this.setPlayerMute(!0),A&&!Bn(A.objectFit)&&(this.objectFit=A.objectFit),this.player instanceof Lo&&(this.player.setObjectFit(this.objectFit),A&&!Bn(A.poster)&&this.player.setPoster(A.poster)),this.isPlayCalled=!0,n&&(this.container=n,this.player instanceof Lo&&this.player.setContainer(n)),lr.emit(Ir.PLAY_TRACK_START,{track:this}),this._outputTrack){e.next=21;break}return this.log.info("play has not mediaTrack, abort"),e.abrupt("return");case 21:return this._log.info("play with options: ".concat(JSON.stringify(A))),e.prev=22,this.player.setTrack(this.playerMediaTrack),e.next=26,this.player.play(A);case 26:if(!(kn(t)&&t.length>1)){e.next=29;break}return e.next=29,this.playSubContainer(t.slice(1),A);case 29:e.next=35;break;case 31:throw e.prev=31,e.t0=e.catch(22),this.handleAutoPlayFailed(e.t0),e.t0;case 35:case"end":return e.stop()}}),e,this,[[22,31]])}))),function(e,t){return c.apply(this,arguments)})},{key:"setMirror",value:function(e,t){if(!this.isScreen&&this.kind===UA.VIDEO&&!Bn(e)&&e!==this.mirror){this.mirror=e;var A=this.player;t&&(A=t);var n=this.manager;if(mn(this.mirror))return A.setViewMirror(this.mirror),void(!this.isRemote&&n&&(n.mirror=!1));switch(this.mirror){case"view":n&&(n.mirror=!1),A.setViewMirror(!0);break;case"publish":n&&(n.mirror=!0),A.setViewMirror(!0);break;case"both":n&&(n.mirror=!0),A.setViewMirror(!1)}}}},{key:"playSubContainer",value:(o=A(I().mark((function e(t,A){var n,r,i,o,a,c,u,g,l,d,h=this;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._outputTrack&&this.kind!==UA.AUDIO){e.next=2;break}return e.abrupt("return");case 2:this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach((function(e,A){var n;t.find((function(e){return A===e}))||(e.stop(),null==(n=h.subVideoPlayerMap)||n.delete(A))})),n=s(t.entries());try{for(n.s();!(r=n.n()).done;)i=E(r.value,2),o=i[0],a=i[1],(c=this.subVideoPlayerMap.get(a))?A&&(Bn(A.objectFit)||c.setObjectFit(A.objectFit)):this.subVideoPlayerMap.set(a,new Lo({id:this.userId||this.id,track:this.playerMediaTrack,container:a,muted:this.player.muted,objectFit:this.objectFit,log:this.log.createChild({id:"vp-sub".concat(o+1)})}))}catch(e){n.e(e)}finally{n.f()}u=Q(this.subVideoPlayerMap.values()),g=s(u),e.prev=8,g.s();case 10:if((l=g.n()).done){e.next=17;break}return(d=l.value).setViewMirror(this.player.mirror),e.next=15,d.play();case 15:e.next=10;break;case 17:e.next=22;break;case 19:e.prev=19,e.t0=e.catch(8),g.e(e.t0);case 22:return e.prev=22,g.f(),e.finish(22);case 25:case"end":return e.stop()}}),e,this,[[8,19,22,25]])}))),function(e,t){return o.apply(this,arguments)})},{key:"setAudioOutput",value:function(e){return this.player.setSinkId(e)}},{key:"setAudioVolume",value:function(e){this.player.setVolume(e)}},{key:"getAudioLevel",value:function(){return this.player.getAudioLevel()||0}},{key:"getInternalAudioLevel",value:function(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}},{key:"stop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isPlayCalled&&(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(sr(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((function(e){e.stop()})),this.container=null)}},{key:"resume",value:(i=A(I().mark((function e(){var t;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isPlayCalled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,null==(t=this.player)?void 0:t.resume();case 4:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"close",value:function(){this.log.info("close"),this.isPlayCalled&&this.stop(!0)}},{key:"setMute",value:function(e){this.muted=e,this._inputTrack&&(this._inputTrack.enabled=!e),this._outputTrack&&(this._outputTrack.enabled=!e),this.emit(e?"mute":"unmute",this),lr.emit(e?Ir.TRACK_MUTED:Ir.TRACK_UNMUTED,{track:this})}},{key:"setPlayerMute",value:function(e){this.player.setMuted(e)}},{key:"mediaTrack",get:function(){return this._inputTrack||null}},{key:"outMediaTrack",get:function(){return this._outputTrack||null}},{key:"playerMediaTrack",get:function(){return this.outMediaTrack}},{key:"installTrackEvent",value:function(e){eo(e,e).add(UA.MUTE,this.onTrackMuted).add(UA.UNMUTE,this.onTrackUnmuted).add(UA.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===UA.ENDED&&this.onTrackEnded()}},{key:"uninstallTrackEvent",value:function(e){to(e)}},{key:"setInputMediaStreamTrack",value:function(e){var t,A=this._inputTrack;if(e!==A)return this._inputTrack=e,this.trackSettings=null==(t=e.getSettings)?void 0:t.call(e),e.enabled=!this.muted,A&&this.uninstallTrackEvent(A),this.installTrackEvent(e),this.emit("input-media-track-changed",e||null,A||null),this.manager?this.manager.changeInput(this):this.setOutputMediaStreamTrack(e)}},{key:"setOutputMediaStreamTrack",value:function(e){var t;e!==this._outputTrack&&(this.isRemote?this.log.debug("setOutputMediaStreamTrack",e.label):this.log.info("setOutputMediaStreamTrack",null==(t=e.getSettings)?void 0:t.call(e).deviceId,e.label),this._outputTrack=e,this._inputTrack&&(this._outputTrack.contentHint=this._inputTrack.contentHint,this._outputTrack.enabled=this._inputTrack.enabled),this.updatePlayingState(!!e),this.emit("output-media-track-changed",e))}},{key:"setMediaType",value:function(e){this.mediaType=e}},{key:"updatePlayingState",value:function(e){var t=this;if(this.isPlayCalled)if(e){if(this.player.setTrack(this.playerMediaTrack),this.player.isStopped)return this.player.play().catch((function(e){return t.handleAutoPlayFailed(e)})),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(sr(this)?this.jitterBufferDelay:0),void this.log.info("playing state updated, stop ".concat(this.kind));this.log.debug("updatePlayingState abort ".concat(this.isPlayCalled," ").concat(e," ").concat(this.player.isStopped))}},{key:"handleAutoPlayFailed",value:function(e){var t=this;if(this.room&&this.room.enableAutoPlayDialog)new Mo;else{var A=function(){t.resume().then((function(){document.removeEventListener("click",A,!0)}))};document.addEventListener("click",A,!0)}this.emit("error",e)}},{key:"getVideoFrame",value:function(){return this.player instanceof Lo?this.player.getVideoFrame():""}},{key:"emitFirstVideoFrameEvent",value:function(e){var t,A,n;if(!this.isFirstVideoFrameEmitted){var r=null==(t=this.mediaTrack)?void 0:t.getSettings(),i=(null==r?void 0:r.width)||(null==(A=this.player.element)?void 0:A.videoWidth)||0,o=(null==r?void 0:r.height)||(null==(n=this.player.element)?void 0:n.videoHeight)||0;if(e!==Xi.LOADED_META_DATA||i||o){if(e!==Xi.LOADED_DATA||i||o||this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,rr(this.rotation)){var a=[o,i];i=a[0],o=a[1]}this.emit("first-video-frame",{width:i,height:o,streamType:this.streamType,userId:this.isRemote?this.userId:""})}}}},{key:"onTrackMuted",value:function(){this._log.warn("".concat(this.kind," track is unable to provide media output"))}},{key:"onTrackUnmuted",value:function(){this._log.info("".concat(this.kind," track is able to provide media output"))}},{key:"onTrackEnded",value:function(){this._log.warn("".concat(this.kind," track ended"))}}]);var i,o,c}(Ki);Y([Oi([],Ki.INIT,{sync:!0})],Ba.prototype,"close");var Qa=Object.prototype.hasOwnProperty;var va=function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e)return 0===e.length;if("function"==typeof e)return 0===e.length;if(Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(hn(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(var t in e)if(Qa.call(e,t))return!1;return!0}return!1},ma=function(){var e=A(I().mark((function e(t){var A,n,r,i,o,a;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=wa(t),pr.info("getUserMedia with constraints: ".concat(JSON.stringify(A))),n=[],r=[],i=["label","deviceId","groupId"],!A.audio){e.next=10;break}return e.next=8,ra();case 8:n=e.sent,pr.info("microphones: ".concat(Jn(n.map((function(e){return G(F({},e),{groupId:e.groupId.substring(0,8)})})),{keysToInclude:i})));case 10:if(!A.video){e.next=15;break}return e.next=13,ia();case 13:r=e.sent,pr.info("cameras: ".concat(Jn(r,{keysToInclude:i})));case 15:return e.prev=15,e.next=18,navigator.mediaDevices.getUserMedia(A);case 18:return o=e.sent,fi&&o.getTracks().forEach((function(e){pr.info("".concat(e.kind," capabilities: ").concat(Jn(e.getCapabilities(),{keysToInclude:qA})))})),A.audio&&Po(),e.abrupt("return",o);case 24:throw e.prev=24,e.t0=e.catch(15),a=e.t0.message,"NotFoundError"===e.t0.name&&(t.video&&r&&0===r.length&&(a=wr({key:vr.CAMERA_NOT_FOUND})),t.audio&&n&&0===n.length&&(a=wr({key:vr.MICROPHONE_NOT_FOUND}))),new bA({code:DA.INITIALIZE_FAILED,name:e.t0.name,message:a,constraint:e.t0.constraint});case 29:case"end":return e.stop()}}),e,null,[[15,24]])})));return function(t){return e.apply(this,arguments)}}();function ya(e,t){return ka.apply(this,arguments)}function ka(){return(ka=A(I().mark((function e(t,A){var n,r;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!A){e.next=6;break}return e.next=3,ia();case 3:e.t0=e.sent,e.next=9;break;case 6:return e.next=8,ra();case 8:e.t0=e.sent;case 9:n=e.t0,(r=n.find((function(e){return e.deviceId===t})))&&pn(r.getCapabilities)&&pr.warn(Jn(r.getCapabilities(),{keysToInclude:qA}));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wa(e){return{audio:Da(e),video:ba(e)}}function Da(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;var t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!va(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(vn(e.channelCount)&&(t.channelCount=e.channelCount),mn(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),mn(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),mn(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!va(t)||t)}function ba(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;var t=e.maxResolution,A=void 0===t||t,n={};return e.cameraId?n.deviceId=e.useExactDeviceId?{exact:e.cameraId}:e.cameraId:e.facingMode&&(n.facingMode=e.facingMode),e.useDeviceIdOnly&&!va(n)?n:(e.width&&(n.width={ideal:e.width},A&&!le&&(n.width.max=e.width)),e.height&&(n.height={ideal:e.height},A&&!le&&(n.height.max=e.height)),le&&Pe&&e.width&&e.height&&e.width*e.height<101376&&(n.width=e.width,n.height=e.height),e.frameRate&&(n.frameRate=e.frameRate),!!va(n)||n)}var Ta=ur({retryFunction:ma,settings:{retries:3,timeout:500},onError:function(e){var t=e.error,A=e.retry,n=e.reject,r=e.retryFuncArgs,i=e.retriedCount+1;"NotReadableError"===t.name||"OverconstrainedError"===t.name?(1===i?(r[0].video&&(r[0].maxResolution=!1,(!ut||r[0].width*r[0].height<=2073600)&&r[0].frameRate&&(r[0].frameRate=r[0].frameRate>10?10:5)),r[0].retryWhenExactFailed&&r[0].useExactDeviceId&&(r[0].useExactDeviceId=!1)):2===i?r[0].useDeviceIdOnly=!0:3!==i||r[0].useExactDeviceId||(r[0].useTrueAsConstraint=!0),A()):n(t),r[0].microphoneId&&ya(r[0].microphoneId,!1),r[0].cameraId&&ya(r[0].cameraId,!0)},onRetrying:function(e){pr.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:function(e){Ao.logFailedEvent({eventType:ZA,error:e})},onRetrySuccess:function(e){Ao.logSuccessEvent({eventType:ZA}),Ao.uploadEvent({log:"stat-".concat(ZA,"-success-").concat(e)})}});function Sa(e){return Ra((function(t,n){return A(I().mark((function A(){var n,r,i,o,a=arguments;return I().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:for(n=a.length,r=new Array(n),i=0;i<n;i++)r[i]=a[i];return A.next=3,t.apply(this,r);case 3:return o=A.sent,A.next=6,e.call.apply(e,[this].concat(r));case 6:return A.abrupt("return",o);case 7:case"end":return A.stop()}}),A,this)})))}))}function Ra(e){return function(t,A,n){return n.value=e(n.value,A),n}}var Na,_a,Ma=(Na=!1,_a=document.visibilityState,function(){document.visibilityState!==_a&&pr.info("visibility change: ".concat(document.visibilityState)),Na||(document.addEventListener("visibilitychange",(function(){pr.info("visibility change: ".concat(document.visibilityState)),_a=document.visibilityState})),Na=!0)}),La=0,xa=function(){return a((function e(){r(this,e),H(this,"log",pr.createLogger({id:"fq".concat(++La)})),H(this,"isRunning",!1),H(this,"queue",[])}),[{key:"length",get:function(){return this.queue.length}},{key:"lastQueueItem",get:function(){return 0===this.length?null:this.queue[this.length-1]}},{key:"push",value:function(e){var t,A,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=F({},e),i=new Promise((function(e,t){r.resolve=e,r.reject=t}));return r.promise=i,n?this.length<=1?this.queue.push(r):null==(A=null==(t=this.lastQueueItem)?void 0:t.promise)||A.then(r.resolve,r.reject):this.queue.push(r),this.log.debug("push ".concat(this.length)),this.isRunning||this.callNext(),i}},{key:"shift",value:function(){var e=this.queue.shift();return this.log.debug("shift ".concat(this.length)),e}},{key:"callNext",value:function(){var e=this;if(!this.isRunning&&0!==this.length){this.log.debug("callNext ",this.length);var t=this.queue[0],A=t.fn,n=t.args,r=t.context,i=t.resolve,o=t.reject;this.isRunning=!0,A.apply(r,n).then(i,o).finally((function(){e.isRunning=!1,e.shift(),e.callNext()}))}}}])}(),Fa=new WeakMap;function Ga(e,t){return Ra((function(A,n){return function(){var n=e;try{for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];var a=A.apply(this,i);_n();return bn(a)?a.then((function(e){return t||Sr.addSuccessEvent({key:n}),e})).catch((function(e){throw Sr.addFailedEvent({key:n,error:e}),e})):(Sr.addSuccessEvent({key:n}),a)}catch(e){throw Sr.addFailedEvent({key:n,error:e}),e}}}))}var Oa=function(e){function t(e,A){var i;return r(this,t),i=n(this,t,[{mediaType:e,PlayerClass:A}]),H(i,"isRemote",!1),H(i,"deviceId"),H(i,"groupId",""),H(i,"label",""),H(i,"sourceTrack"),H(i,"_isRecapturing",!1),H(i,"_lastRecaptureTime",0),H(i,"_onMuteTimeoutId",-1),H(i,"_encodeCheckTimeoutId",-1),H(i,"profile"),i}return g(t,e),a(t,[{key:"enableEncodeFrame",get:function(){return!1}},{key:"isPublishing",get:function(){return"publishing"===this.state.toString()}},{key:"isPublished",get:function(){return"publish"===this.state}},{key:"encodeFrame",value:function(e,t){throw new Error("Method not implemented.")}},{key:"installTrackEvent",value:function(e){eo(e,e).add(UA.MUTE,this.onTrackMuted).add(UA.UNMUTE,this.onTrackUnmuted).add(UA.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===UA.ENDED&&this.onTrackEnded()}},{key:"uninstallTrackEvent",value:function(e){to(e)}},{key:"setStateToReady",value:function(){}},{key:"capture",value:(u=A(I().mark((function e(t){var A,n,r,i;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n=_n(),lr.emit(Ir.LOCAL_TRACK_CAPTURE_START,{track:this}),!t.customSource){e.next=8;break}(r=new MediaStream).addTrack(t.customSource),e.next=12;break;case 8:return null==(A=this.mediaTrack)||A.stop(),e.next=11,Ta(t);case 11:r=e.sent;case 12:return i=r.getTracks()[0],this.sourceTrack=i,e.next=16,this.setInputMediaStreamTrack(i);case 16:return t.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),lr.emit(Ir.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:_n()-n}),e.abrupt("return",r);case 21:throw e.prev=21,e.t0=e.catch(0),lr.emit(Ir.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:e.t0}),this.log.error("getUserMedia error observed ".concat(e.t0)),e.t0;case 26:case"end":return e.stop()}}),e,this,[[0,21]])}))),function(e){return u.apply(this,arguments)})},{key:"setOutputMediaStreamTrack",value:function(e){var A;if(p(t,"setOutputMediaStreamTrack",this,3)([e]),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(A=this.room)?void 0:A.replaceTrack(this)}},{key:"publish",value:function(e,t){return this.room=e,this.emit("4",{mediaType:this.strMediaType,state:"starting",prevState:"stopped"}),this.userId=e.userId,this._log.setUserId(e.userId),this._log.setSdkAppId(e.sdkAppId),t}},{key:"unpublish",value:function(){this.room&&this.room.localTracks.delete(this),lr.emit(Ir.LOCAL_TRACK_UNPUBLISHED,{track:this})}},{key:"updateDeviceIdInUse",value:(c=A(I().mark((function e(){var t,A,n,r,i=this;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.mediaTrack||!Ei){e.next=7;break}return t=this.mediaTrack.getSettings(),A=t.deviceId,n=t.groupId,r=this.mediaTrack.label,e.next=5,ha({newDeviceId:A,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind});case 5:e.sent||(this.deviceId=A,this.label=r,n&&(this.groupId=n),Aa().then((function(e){var t=e.find((function(e){return e.deviceId===A}));t&&i.emit("2",t)})));case 7:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"setProfile",value:function(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}},{key:"isNeedToRecapture",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.mediaTrack||this.kind===UA.AUDIO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack)return!1;if(!(e instanceof MediaStreamTrack))return!1;var t=e.label.toLocaleLowerCase();if(t.includes("mic")||t.includes("麦克风"))return!0;var A=(null==e?void 0:e.getSettings())||{},n="".concat(A.deviceId,"_").concat(UA.AUDIO_INPUT);return!!la.has(n)}(this.mediaTrack)||this.kind===UA.VIDEO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack)return!1;if(!(e instanceof MediaStreamTrack))return!1;var t=e.label.toLocaleLowerCase();if(t.includes("camera")||t.includes("webcam"))return!0;var A=(null==e?void 0:e.getSettings())||{},n="".concat(A.deviceId,"_").concat(UA.VIDEO_INPUT);return!!la.has(n)}(this.mediaTrack)||this._isRecapturing||e&&Pe&&ut)}},{key:"onTrackMuted",value:function(){var e=this;p(t,"onTrackMuted",this,3)([]),Ma(),this.isNeedToRecapture(!0)&&(Date.now()-this._lastRecaptureTime<XA?setTimeout((function(){return e.onTrackMuted()}),XA):this._onMuteTimeoutId=setTimeout(A(I().mark((function t(){var A;return I().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(null==(A=e.mediaTrack)?void 0:A.muted)){t.next=8;break}if(!ue&&!ge||"visible"===document.visibilityState){t.next=3;break}return t.abrupt("return");case 3:return t.t0=e,t.next=6,e.getRecoverCaptureDeviceId();case 6:t.t1=t.sent,t.t0.recapture.call(t.t0,t.t1);case 8:case"end":return t.stop()}}),t)}))),5e3))}},{key:"onTrackUnmuted",value:function(){p(t,"onTrackUnmuted",this,3)([]),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}},{key:"onTrackEnded",value:(s=A(I().mark((function e(){var A=this;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(p(t,"onTrackEnded",this,3)([]),this.isNeedToRecapture()){e.next=3;break}return e.abrupt("return");case 3:if(!(Date.now()-this._lastRecaptureTime<XA)){e.next=6;break}return setTimeout((function(){return A.onTrackEnded()}),XA),e.abrupt("return");case 6:return this.emit("7"),e.t0=this,e.next=10,this.getRecoverCaptureDeviceId();case 10:e.t1=e.sent,e.t0.recapture.call(e.t0,e.t1);case 12:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"recapture",value:(o=A(I().mark((function e(t){var A,n,r,i=this;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._isRecapturing&&this._inputTrack){e.next=2;break}return e.abrupt("return");case 2:if(this.log.warn("recapture trying"),null==(A=this._inputTrack)||A.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now(),n={useExactDeviceId:!0},"user"!==t&&"environment"!==t){e.next=11;break}n.facingMode=t,e.next=24;break;case 11:if(r=void 0,"audio"!==this.kind){e.next=18;break}return e.next=15,ra();case 15:e.t0=e.sent,e.next=21;break;case 18:return e.next=20,ia();case 20:e.t0=e.sent;case 21:e.t0.find((function(e){return e.deviceId===t}))&&(r=t),n.deviceId=r;case 24:return e.abrupt("return",this.capture(n).then((function(){i._isRecapturing=!1,i.log.warn("recapture success"),i.emit("1",{deviceId:i.deviceId}),lr.emit(Ir.LOCAL_TRACK_RECAPTURE,{track:i})})).catch((function(e){i._isRecapturing=!1,i.log.warn("recapture failed ".concat(e.message)),i.emit("5",e),lr.emit(Ir.LOCAL_TRACK_RECAPTURE,{track:i,error:e})})));case 25:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"getRecoverCaptureDeviceId",value:(i=A(I().mark((function e(){var t,A,n,r;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t=this instanceof Ha)||!this.facingMode){e.next=3;break}return e.abrupt("return",this.facingMode);case 3:if(!(A=this.deviceId)){e.next=19;break}if(n=(Ua.get(A)||0)+1,Ua.set(A,n),!(n>=3)){e.next=19;break}if(!t){e.next=14;break}return e.next=11,ia();case 11:e.t0=e.sent.find((function(e){return!Ua.has(e.deviceId)})),e.next=17;break;case 14:return e.next=16,ra();case 16:e.t0=e.sent.find((function(e){return!Ua.has(e.deviceId)}));case 17:(r=e.t0)&&(this.log.warn("".concat(A," capture fail ").concat(n," times, change new ").concat(r.deviceId)),A=r.deviceId);case 19:return e.abrupt("return",A);case 20:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"stopCapture",value:function(){var e;this._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}},{key:"close",value:function(){p(t,"close",this,3)([]),this.stopCapture()}}]);var i,o,s,c,u}(Ba);Y([Oi(Ki.INIT,"ready",{ignoreError:!0,sync:!0})],Oa.prototype,"setStateToReady"),Y([function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,A,n){var r=n.value;return n.value=function(){var t=Fa.get(this)||new xa;Fa.set(this,t);for(var A=arguments.length,n=new Array(A),i=0;i<A;i++)n[i]=arguments[i];return t.push({fn:r,args:n,context:this},e)},n}}()],Oa.prototype,"capture"),Y([Oi("ready","publish",{ignoreError:!0,success:function(){var e,t,A=this;this.room.localTracks.add(this),lr.emit(Ir.LOCAL_TRACK_PUBLISHED,{track:this}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"}),((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3||(this._encodeCheckTimeoutId=setTimeout((function(){var e,t;if(!(((null==(t=null==(e=A.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&A.isPublished&&A.isMediaTrackActive){var n=A.kind===UA.AUDIO,r=A.stat.bytesSent>0;Sr[r?"addSuccessEvent":"addFailedEvent"]({key:n?503700:513702}),r||(Sr.addEnum({key:n?503701:513703,value:yt()}),Ao.uploadEvent({log:"stat-encode-failed-".concat(A.kind,"-").concat(kt()),userId:A.userId}),A.log.warn("encode failed"),A.emit("6",A))}}),5e3))},fail:function(e){var t="error";if(e.cause instanceof RTCError){var A=e.cause;A.message.includes("timeout")?t="timeout":A.code===DA.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),Ga(521714,!1)],Oa.prototype,"publish"),Y([Ra((function(e){return A(I().mark((function t(){var A;return I().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:A="publish"===this.state?"started":"starting",e.call(this),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:A,reason:"api-call"}),clearTimeout(this._encodeCheckTimeoutId);case 4:case"end":return t.stop()}}),t,this)})))})),Oi([],"ready",{sync:!0})],Oa.prototype,"unpublish");var Ua=new Map;lr.on(Ir.SWITCH_DEVICE_SUCCESS,(function(e){e.track.deviceId&&Ua.delete(e.track.deviceId)}));var Pa=function(){return a((function e(t){var A=arguments.length>1&&void 0!==arguments[1]&&arguments[1];r(this,e),this.dataView=t,this.isSEI&&(A?this.addPreventionByte():this.removePreventionByte())}),[{key:"addPreventionByte",value:function(){for(var e=this.seiPayloadStartIndex,t=this.dataView.byteLength-2,A=[],n=0,r=e;r<=t;r++){var i=this.dataView.getInt8(r);switch(i){case 0:case 1:case 2:case 3:2===n&&(A.push(3),n=0),0==i?n++:n=0,A.push(i);break;default:n=0,A.push(i)}}A.push(this.dataView.getInt8(this.dataView.byteLength-1));var o=new DataView(new Uint8Array([].concat(Q(new Uint8Array(this.dataView.buffer).slice(0,e)),A)).buffer);this.dataView=o}},{key:"removePreventionByte",value:function(){for(var e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,A=[],n=0,r=e;r<=t;r++)switch(this.dataView.getInt8(r)){case 0:n++,A.push(this.dataView.getInt8(r));break;case 3:2!==n&&A.push(this.dataView.getInt8(r)),n=0;break;default:A.push(this.dataView.getInt8(r)),n=0}var i=new DataView(new Uint8Array([].concat(Q(new Uint8Array(this.dataView.buffer).slice(0,e)),A)).buffer);this.dataView=i}},{key:"isSEI",get:function(){return 6===this.dataView.getUint8(4)}},{key:"seiPayloadStartIndex",get:function(){for(var e=6,t=6;t<this.dataView.buffer.byteLength&&(e++,255===this.dataView.getUint8(t));t++);return e}},{key:"seiPayloadType",get:function(){return this.isSEI?this.dataView.getUint8(5):null}},{key:"seiPayload",get:function(){if(!this.isSEI)return null;for(var e=0,t=6,A=6;A<this.dataView.buffer.byteLength;A++){var n=this.dataView.getUint8(A);if(t++,255!==n){e+=n;break}e+=255}for(var r=new ArrayBuffer(e),i=new DataView(r),o=0;o<r.byteLength;o++,t++)i.setInt8(o,this.dataView.getInt8(t));return i}}])}(),Ya=function(){return a((function e(){r(this,e),H(this,"_seiMessageList",[]),H(this,"_smallSeiMessageList",[]),H(this,"_seiPayloadType",243)}),[{key:"encodeSEINalu",value:function(e){var t=e.byteLength,A=parseInt(String(t/255),10),n=t%255,r=[];r.push(0,0,0,1,6,this._seiPayloadType);for(var i=0;i<A;i++)r.push(255);r.push(n);var o=new DataView(e);return r.push.apply(r,Q(new Uint8Array(o.buffer))),r.push(128),new Pa(new DataView(new Uint8Array(r).buffer),!0)}},{key:"sendSEI",value:function(e,t){(null==t?void 0:t.seiPayloadType)&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e),(null==t?void 0:t.small)&&this._smallSeiMessageList.push(e)}},{key:"isEmpty",value:function(){return!this._seiMessageList.length}},{key:"getNaluCount",value:function(e){for(var t=0,A=0,n=new DataView(e),r=0;r<e.byteLength;r++)switch(n.getUint8(r)){case 0:t++;break;case 1:2!==t&&3!==t||A++,t=0;break;default:t=0}return A}},{key:"encode",value:function(e,t){var A=t?this._smallSeiMessageList:this._seiMessageList;if(A.length>0&&e.data.byteLength>0){var n=9-this.getNaluCount(e.data);if(n<=0)return 0;for(var r=A.splice(0,n).reverse().map(this.encodeSEINalu.bind(this)),i=r.reduce((function(e,t){return e+t.dataView.byteLength}),0),o=new ArrayBuffer(i+e.data.byteLength),a=new DataView(o),s=new DataView(e.data),c=0,u=0;u<r.length;u++)for(var g=0;g<r[u].dataView.byteLength;g++)a.setInt8(c++,r[u].dataView.getInt8(g));for(var l=0;l<e.data.byteLength;l++)a.setInt8(c++,s.getInt8(l));return e.data=o,r.length}return 0}}])}(),Ha=function(e){function t(e){var A,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;r(this,t),A=n(this,t,[i,Lo]),H(A,"profile",F({},OA)),H(A,"avoidCropping",!1),H(A,"_scaleResolutionDownBy"),H(A,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0}),H(A,"small"),H(A,"isNeedToSetBandwidth"),H(A,"muteImage"),H(A,"manager"),H(A,"_seiCodec",new Ya),A.manager=e;var o=function(){A.isAllowed2k4k(A.profile)?A.room&&A.settings.height>=1440&&"publish"===A.state&&A.room.sendAbilityStatus({"2k4k":1}):(A.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),A.setProfile(G(F({},A.profile),{width:1920,height:1080})),A.applyProfile())};return A.on("input-media-track-changed",o),A.on("publish",o),A.handleCameraAdded=A.handleCameraAdded.bind(A),A.handleCameraRemoved=A.handleCameraRemoved.bind(A),A}return g(t,e),a(t,[{key:"facingMode",get:function(){if(Ei&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}},{key:"contentHint",get:function(){var e;return(null==(e=this._inputTrack)?void 0:e.contentHint)||""}},{key:"isQosClearFirst",get:function(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}},{key:"setMute",value:(l=A(I().mark((function e(A){var n,r,i;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Qn(A)){e.next=11;break}if(this.muteImage!==A){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,null==(n=this.manager)?void 0:n.deleteWatermark("mute");case 5:return e.next=7,null==(r=this.manager)?void 0:r.setWatermark({x:0,y:0,width:this.settings.width,height:this.settings.height,type:"mute",zIndex:999,imageUrl:A});case 7:this.muteImage=A,p(t,"setMute",this,3)([!1]),e.next=16;break;case 11:if(!this.muteImage){e.next=15;break}return e.next=14,null==(i=this.manager)?void 0:i.deleteWatermark("mute");case 14:this.muteImage=void 0;case 15:p(t,"setMute",this,3)([A]);case 16:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"capture",value:function(e){var A=e.deviceId,n=e.facingMode,r=e.useExactDeviceId,i=void 0===r||r,o=e.customSource,a=e.retryWhenExactFailed,s=void 0===a||a;return p(t,"capture",this,3)([{audio:!1,video:!0,facingMode:n||this.facingMode,cameraId:A,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExactDeviceId:i,retryWhenExactFailed:s,customSource:o}])}},{key:"setProfile",value:function(e){var A=this.fallbackProfile(e);A.bitrate&&(this.isNeedToSetBandwidth=A.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?p(t,"setProfile",this,3)([A]):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),p(t,"setProfile",this,3)([G(F({},this.profile),{width:1920,height:1080})]))}},{key:"applyProfile",value:(u=A(I().mark((function e(){var t,A,n,r,i,o,a,s,c,u,g,l,d;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.mediaTrack){e.next=2;break}return e.abrupt("return");case 2:if(A=(this.sourceTrack||this.mediaTrack).getSettings(),n=A.width,r=void 0===n?0:n,i=A.height,o=r*(void 0===i?0:i),a=this.settings,!(s=a.height!==this.profile.height||a.width!==this.profile.width||a.frameRate!==this.profile.frameRate)){e.next=16;break}if(16!==ht||!this.deviceId){e.next=12;break}return e.next=10,this.recapture(this.deviceId);case 10:e.next=15;break;case 12:return e.next=14,null==(t=this.sourceTrack||this.mediaTrack)?void 0:t.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate});case 14:this.manager&&this.manager.changeInput(this);case 15:this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1});case 16:if(!(this.isNeedToSetBandwidth&&this.room&&this.room.setBandWidth)){e.next=24;break}if(this.isNeedToSetBandwidth=!1,c=(this.sourceTrack||this.mediaTrack).getSettings(),u=c.width,g=void 0===u?0:u,l=c.height,d=g*(void 0===l?0:l),!(s&&d&&o&&d===o)){e.next=23;break}return this.log.warn("set bandwidth failed: resolution is not changed"),e.abrupt("return");case 23:return e.abrupt("return",this.room.setBandWidth({bandwidth:this.profile.bitrate,type:UA.VIDEO,videoType:UA.BIG}));case 24:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"settings",get:function(){var e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return Ei&&t&&Object.assign(e,t.getSettings()),e}},{key:"scaleResolutionDownBy",get:function(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:nr(this.settings,this.profile)}},{key:"isAllowed2k4k",value:function(e){var t;return!this.room||!this.room.scheduleResult||(!!this.isScreen||(e.height*e.width<3686400||1===(null==(t=this.room.scheduleResult.trtcAutoConf)?void 0:t["2k4k"])))}},{key:"isNeedToSwitchDevice",value:function(e){return!(!this.mediaTrack||this.deviceId===e||this.facingMode===e)}},{key:"switchDevice",value:(c=A(I().mark((function e(t){var A;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,this.isNeedToSwitchDevice(t)){e.next=3;break}return e.abrupt("return");case 3:return A={useExactDeviceId:!0,retryWhenExactFailed:!1},"user"===t||"environment"===t?A.facingMode=t:A.deviceId=t,this.mediaTrack.stop(),e.next=8,this.capture(A);case 8:lr.emit(Ir.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success"),e.next=17;break;case 12:throw e.prev=12,e.t0=e.catch(0),this.log.error("switch camera failed ".concat(e.t0)),this.deviceId&&this.recapture(this.deviceId),e.t0;case 17:case"end":return e.stop()}}),e,this,[[0,12]])}))),function(e){return c.apply(this,arguments)})},{key:"updateSmallConfig",value:function(e){var t,A;this._log.info("update small stream config: ".concat(JSON.stringify(e)));var n=!this.small;this.small=this.fallbackProfile(e,!0),null==(t=this.manager)||t.update(),n&&(null==(A=this.room)||A.enableSmall(!0)),this.log.info("update small stream config success")}},{key:"fallbackProfile",value:function(e){var t=this,A=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.width>e.height,r=F({},e);return e.width*e.height<=19200&&ge&&it&&(this.log.warn("".concat(A?"small ":"","resolution is ").concat(e.width,"*").concat(e.height,", fallback to 240*180 for android chrome")),r.width=n?240:180,r.height=n?180:240,r.bitrate=Math.max(e.bitrate,150)),e.width*e.height>921600&&Et&&(r.width=n?1280:720,r.height=n?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),function(e,t){for(var A=e.split(".").map((function(e){return Number(e)})),n=t.split(".").map((function(e){return Number(e)})),r=0;r<Math.max(A.length,n.length);r++){var i=A[r]||0,o=n[r]||0;if(i<o)return!0;if(i>o)return!1}return!1}(dt,"14.3")&&function(e,t){for(var A=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e.split(".").map((function(e){return Number(e)})),r=t.split(".").map((function(e){return Number(e)})),i=0;i<Math.max(n.length,r.length);i++){var o=n[i]||0,a=r[i]||0;if(o>a)return!0;if(o<a)return!1}return A}(dt,"14.0",!0)&&this.on("7",(function(){var e=t.profile.width>t.profile.height;t.profile.width*t.profile.height>307200?(t.profile.width=e?640:480,t.profile.height=e?480:640,t.log.warn("reduce the resolution to 480p on iOS 14.0 ~ 14.2")):t.profile.width*t.profile.height>230400&&(t.profile.width=e?640:360,t.profile.height=e?360:640,t.log.warn("reduce the resolution to 360p on iOS 14.0 ~ 14.2"))})),!A&&this.avoidCropping&&(it||le)&&!(ge||ue||se||oe||nt)&&e.width*e.height<=230400&&e.width/e.height==16/9&&(this._scaleResolutionDownBy=1280/e.width,e.width=1280,e.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),r}},{key:"stopSmall",value:function(){var e,t;this.small&&(delete this.small,null==(e=this.manager)||e.update(),null==(t=this.room)||t.enableSmall(!1))}},{key:"listenDeviceChange",value:function(){ea&&!ea.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&ea.on("videoInputRemoved",this.handleCameraRemoved,this)}},{key:"handleCameraRemoved",value:(s=A(I().mark((function e(t){var A;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.deviceId!==this.deviceId){e.next=7;break}return this.log.warn("current camera is lost: ".concat(JSON.stringify(t))),Ws(this.userId,{eventId:2003,param1:7,streamType:2}),e.next=5,ia();case 5:(A=e.sent)[0]?this.recapture(A[0].deviceId):ea.on("videoInputAdded",this.handleCameraAdded,this);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"handleCameraAdded",value:(o=A(I().mark((function e(t){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.log.warn("camera added: ".concat(JSON.stringify(t))),this.recapture(t.deviceId);case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"encodeFrame",value:function(e,t){if(!this.manager)return e;var A=t?8:this.mediaType;return this.manager.encodePipeline.reduceRight((function(e,t){return t?t({frame:e,mediaType:A}):e}),e)}},{key:"enableEncodeFrame",get:function(){return!!this.manager&&this.manager.encodePipeline.some((function(e){return e}))}},{key:"play",value:function(e,A){return Bn(this.mirror)&&!this.isScreen&&this.setMirror("view"),p(t,"play",this,3)([e,A])}},{key:"close",value:function(){ea.off("videoInputAdded",this.handleCameraAdded,this),ea.off("videoInputRemoved",this.handleCameraRemoved,this),p(t,"close",this,3)([])}},{key:"recapture",value:(i=A(I().mark((function e(A){var n;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,p(t,"recapture",this,3)([A]);case 3:case 13:e.next=16;break;case 5:return e.prev=5,e.t0=e.catch(0),e.next=9,ia();case 9:if(!(n=e.sent.find((function(e){return e.deviceId!==A})))){e.next=15;break}return e.next=13,p(t,"recapture",this,3)([n.deviceId]);case 15:throw e.t0;case 16:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(e){return i.apply(this,arguments)})},{key:"setContentHint",value:function(e){this.mediaTrack&&"contentHint"in this.mediaTrack&&(this.mediaTrack.contentHint!==e&&(this.log.info("setContentHint ".concat(e)),this.mediaTrack.contentHint=e),this.outMediaTrack&&this.outMediaTrack.contentHint!==e&&(this.outMediaTrack.contentHint=e))}},{key:"setRotation",value:function(e){this.manager&&(this.isScreen||Bn(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}}]);var i,o,s,c,u,l}(Oa);Y([Sa((function(e){this.setContentHint(e.contentHint||"motion")}))],Ha.prototype,"capture");var Ka=Br();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:Ka,exposeOrigin:!0,permittedOrigins:["*"]})}catch(e){}var Va=function(){var e=A(I().mark((function e(t){var A,n,r,i,o;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=null,n=Za(t),pr.info("getDisplayMedia with constraints: ".concat(JSON.stringify(n))),e.next=5,navigator.mediaDevices.getDisplayMedia(n);case 5:if(r=e.sent,t.systemAudio&&0===r.getAudioTracks().length&&(ot&&st<74||ut||le)&&pr.warn("Your browser not support capture system audio"),!(i=r.getVideoTracks()[0])){e.next=21;break}if(!t.frameRate){e.next=18;break}return e.prev=10,e.next=13,i.applyConstraints({frameRate:{min:t.frameRate,ideal:t.frameRate},width:t.width,height:t.height});case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(10),pr.warn("screen applyConstraints failed: ".concat(e.t0));case 18:if(!t.captureElement){e.next=21;break}return e.next=21,Ja(i,t.captureElement);case 21:if(!t.audio){e.next=28;break}return o=Wa(t),pr.info("getUserMedia with constraints: ".concat(JSON.stringify(o))),e.next=26,navigator.mediaDevices.getUserMedia(o);case 26:A=e.sent,r.addTrack(A.getAudioTracks()[0]);case 28:return e.abrupt("return",r);case 29:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(t){return e.apply(this,arguments)}}();function Ja(e,t){return ja.apply(this,arguments)}function ja(){return(ja=A(I().mark((function e(t,A){var n,r;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!("CropTarget"in window&&"fromElement"in CropTarget&&pn(t.cropTo))){e.next=15;break}if(e.prev=1,(null==(n=t.getCaptureHandle())?void 0:n.handle)===Ka){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,CropTarget.fromElement(A);case 7:return r=e.sent,e.next=10,t.cropTo(r);case 10:e.next=15;break;case 12:e.prev=12,e.t0=e.catch(1),pr.warn("cropTo target failed ".concat(e.t0));case 15:case"end":return e.stop()}}),e,null,[[1,12]])})))).apply(this,arguments)}function Wa(e){var t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return Bn(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}function Za(e){var t={preferCurrentTab:"current-tab"===e.preferDisplaySurface||!!e.captureElement,systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},A={width:ut?{max:e.width}:{ideal:e.width,max:e.width},height:ut?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:e.preferDisplaySurface||"monitor"};if(t.video=A,e.systemAudio){var n=e.echoCancellation,r=void 0===n||n,i=e.noiseSuppression,o=void 0!==i&&i,a=e.autoGainControl,s=void 0!==a&&a;t.audio={echoCancellation:r,noiseSuppression:o,autoGainControl:s,sampleRate:48e3}}return t}var za=Va,Xa=function(e){function t(e){var A;return r(this,t),A=n(this,t,[e,2]),H(A,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),H(A,"objectFit","contain"),H(A,"isScreen",!0),A._log.id="s-".concat(A._log.id),A}return g(t,e),a(t,[{key:"isShareCurrentTab",get:function(){var e,t;try{return Ka===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(e){return}}},{key:"capture",value:(o=A(I().mark((function e(t){var A,n,r,i,o,a,s,c,u,g;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(A=t.systemAudio,n=void 0!==A&&A,r=t.autoGainControl,i=t.echoCancellation,o=t.noiseSuppression,a=t.audioTrack,s=t.videoTrack,c=t.captureElement,u=t.preferDisplaySurface,e.prev=1,!s&&!a){e.next=8;break}g=new MediaStream,s&&g.addTrack(s),a&&g.addTrack(a),e.next=11;break;case 8:return e.next=10,za({audio:!1,systemAudio:n,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,autoGainControl:r,echoCancellation:i,noiseSuppression:o,captureElement:c,preferDisplaySurface:u});case 10:g=e.sent;case 11:return e.next=13,this.setInputMediaStreamTrack(g.getVideoTracks()[0]);case 13:return e.abrupt("return",g);case 16:throw e.prev=16,e.t0=e.catch(1),this.log.error("getDisplayMedia error observed ".concat(e.t0)),e.t0 instanceof bA?e.t0:new bA({code:DA.INITIALIZE_FAILED,name:e.t0.name,message:e.t0.message});case 20:case"end":return e.stop()}}),e,this,[[1,16]])}))),function(e){return o.apply(this,arguments)})},{key:"switchDevice",value:(i=A(I().mark((function e(t){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new Error("Method not implemented.");case 1:case"end":return e.stop()}}),e)}))),function(e){return i.apply(this,arguments)})}]);var i,o}(Ha);function qa(){}Y([Sa((function(e){this.setContentHint(e.contentHint||"detail")}))],Xa.prototype,"capture");var $a=function(e){return e()};function es(){this.dispose()}var ts=1,As=function(e){function t(){return r(this,t),n(this,t,arguments)}return g(t,e),a(t,[{key:"toString",value:function(){return"".concat(this.name,"(").concat(this.args.length?Q(this.args).join(", "):"",")")}},{key:"subscribe",value:function(e){var t=new us(e,this,this.streamId++);return gs.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}}])}(k(Function)),ns=function(){return a((function e(){r(this,e),this.defers=new Set,this.disposed=!1}),[{key:"next",value:function(e){}},{key:"complete",value:function(){this.dispose()}},{key:"error",value:function(e){this.dispose()}},{key:"bindDispose",get:function(){var e=this;return function(){return e.dispose()}}},{key:"dispose",value:function(){this.disposed=!0,this.complete=qa,this.error=qa,this.next=qa,this.dispose=qa,this.subscribe=qa,this.doDefer()}},{key:"subscribe",value:function(e){return e instanceof As?e.subscribe(this):e(this),this}},{key:"bindSubscribe",get:function(){var e=this;return function(t){return e.subscribe(t)}}},{key:"doDefer",value:function(){this.defers.forEach($a),this.defers.clear()}},{key:"defer",value:function(e){this.defers.add(e)}},{key:"removeDefer",value:function(e){this.defers.delete(e)}},{key:"reset",value:function(){this.disposed=!1,delete this.complete,delete this.next,delete this.dispose,delete this.next,delete this.subscribe}},{key:"resetNext",value:function(){delete this.next}},{key:"resetComplete",value:function(){delete this.complete}},{key:"resetError",value:function(){delete this.error}}])}(),rs=function(e){function t(e){var A;return r(this,t),(A=n(this,t)).sink=e,e.defer(A.bindDispose),A}return g(t,e),a(t,[{key:"next",value:function(e){this.sink.next(e)}},{key:"complete",value:function(){this.sink.complete()}},{key:"error",value:function(e){this.sink.error(e)}}])}(ns),is=function(e){function t(e){var A,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qa,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:qa,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:qa;if(r(this,t),(A=n(this,t))._next=i,A._error=o,A._complete=a,A.then=qa,e instanceof As){var s={toString:function(){return"subscribe"},id:0,source:e};A.defer((function(){gs.defer(s,0)})),gs.create(s),gs.pipe(s),A.sourceId=s.id,A.subscribe(e),gs.subscribe({id:s.id,end:!0}),i==qa?A._next=function(e){return gs.next(s,0,e)}:A.next=function(e){gs.next(s,0,e),i(e)},a==qa?A._complete=function(){return gs.complete(s,0)}:A.complete=function(){A.dispose(),gs.complete(s,0),a()},o==qa?A._error=function(e){return gs.complete(s,0,e)}:A.error=function(e){A.dispose(),gs.complete(s,0,e),o()}}else A.subscribe(e);return A}return g(t,e),a(t,[{key:"next",value:function(e){this._next(e)}},{key:"complete",value:function(){this.dispose(),this._complete()}},{key:"error",value:function(e){this.dispose(),this._error(e)}}])}(ns);function os(e){for(var t=arguments.length,A=new Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];return A.reduce((function(e,t){return t(e)}),e)}function as(e,t,A){if("undefined"!=typeof __FASTRX_DEVTOOLS__){var n=Object.defineProperties(Object.setPrototypeOf(e,As.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:A,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});gs.create(n);for(var r=0;r<A.length;r++){var i=A[r];"function"==typeof i&&i instanceof As&&gs.addSource(n,i)}return n}return e}function ss(e,t){return function(){for(var A=arguments,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(n){if(n instanceof As){var o=as((function(t){var A=i(e,[t].concat(r));A.sourceId=o.id,A.subscribe(n)}),t,A);return o.source=n,gs.pipe(o),o}return function(t){return n(i(e,[t].concat(r)))}}}}function cs(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var us=function(e){function t(e,A,i){var o;return r(this,t),(o=n(this,t,[e])).source=A,o.id=i,o.sourceId=e.sourceId,o.defer((function(){gs.defer(o.source,o.id)})),o}return g(t,e),a(t,[{key:"next",value:function(e){gs.next(this.source,this.id,e),this.sink.next(e)}},{key:"complete",value:function(){gs.complete(this.source,this.id),this.sink.complete()}},{key:"error",value:function(e){gs.complete(this.source,this.id,e),this.sink.error(e)}}])}(rs),gs={addSource:function(e,t){cs("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next:function(e,t,A){cs("next",{id:e.id,streamId:t,data:A&&A.toString()})},subscribe:function(e,t){cs("subscribe",{id:e.id,end:e.end,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete:function(e,t,A){cs("complete",{id:e.id,streamId:t,err:A?A.toString():null})},defer:function(e,t){cs("defer",{id:e.id,streamId:t})},pipe:function(e){cs("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update:function(e){cs("update",{id:e.id,name:e.toString()})},create:function(e){e.id||(e.id=ts++),cs("create",{name:e.toString(),id:e.id})}},ls=function(e){function t(e){var A;return r(this,t),(A=n(this,t)).source=e,A.sinks=new Set,A}return g(t,e),a(t,[{key:"add",value:function(e){var t=this;e.defer((function(){return t.remove(e)})),1===this.sinks.add(e).size&&(this.reset(),this.subscribe(this.source))}},{key:"remove",value:function(e){this.sinks.delete(e),0===this.sinks.size&&this.dispose()}},{key:"next",value:function(e){this.sinks.forEach((function(t){return t.next(e)}))}},{key:"complete",value:function(){this.sinks.forEach((function(e){return e.complete()})),this.sinks.clear()}},{key:"error",value:function(e){this.sinks.forEach((function(t){return t.error(e)})),this.sinks.clear()}}])}(ns);function ds(){var e=arguments;return function(t){var A=new ls(t);if(t instanceof As){var n=as((function(e){A.add(e)}),"share",e);return A.sourceId=n.id,n.source=t,gs.pipe(n),n}return as(A.add.bind(A),"share",e)}}function Is(e){var t=arguments,A=ds()(as((function(t){A.next=function(e){return t.next(e)},A.complete=function(){return t.complete()},A.error=function(e){return t.error(e)},e&&t.subscribe(e)}),"subject",t));return A.next=qa,A.complete=qa,A.error=qa,A}function hs(e,t){return function(A){var n=function(e){return A.next(e)};A.defer((function(){return t(n)})),e(n)}}function Cs(e,t){if("on"in e&&"off"in e)return as(hs((function(A){return e.on(t,A)}),(function(A){return e.off(t,A)})),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return as(hs((function(A){return e.addListener(t,A)}),(function(A){return e.removeListener(t,A)})),"fromEvent",arguments);if("addEventListener"in e)return as(hs((function(A){return e.addEventListener(t,A)}),(function(A){return e.removeEventListener(t,A)})),"fromEvent",arguments);throw"target is not a EventDispachter"}var Es=ss(function(e){function t(e,A,i){var o;return r(this,t),(o=n(this,t,[e])).filter=A,o.thisArg=i,o}return g(t,e),a(t,[{key:"next",value:function(e){this.filter.call(this.thisArg,e)&&this.sink.next(e)}}])}(rs),"filter"),fs=ss(function(e){function t(e,A){var i;return r(this,t),(i=n(this,t,[e])).count=A,i}return g(t,e),a(t,[{key:"next",value:function(e){this.sink.next(e),0==--this.count&&this.complete()}}])}(rs),"take"),ps=ss(function(e){function t(e,A){var i;r(this,t),i=n(this,t,[e]);var o=new rs(e);return o.next=function(){return e.complete()},o.complete=es,o.subscribe(A),i}return g(t,e),a(t)}(rs),"takeUntil"),Bs=function(e){function t(e,A){var i;return r(this,t),(i=n(this,t,[e])).f=A,i}return g(t,e),a(t,[{key:"next",value:function(e){this.f(e)||(this.next=p(t,"next",this,1),this.next(e))}}])}(rs),Qs=ss(Bs,"skipWhile"),vs=ss(function(e){function t(e,A,i){var o;return r(this,t),(o=n(this,t,[e])).mapper=A,o.thisArg=i,o}return g(t,e),a(t,[{key:"next",value:function(e){p(t,"next",this,3)([this.mapper.call(this.thisArg,e)])}}])}(rs),"map"),ms=function(e){function t(e,A,i){var o;return r(this,t),(o=n(this,t,[e])).data=A,o.context=i,o}return g(t,e),a(t,[{key:"next",value:function(e){var t=this.context.combineResults;t?this.sink.next(t(this.data,e)):this.sink.next(e)}},{key:"tryComplete",value:function(){this.context.resetComplete(),this.dispose()}}])}(rs),ys=function(e){function t(e,A,i){var o;return r(this,t),(o=n(this,t,[e])).makeSource=A,o.combineResults=i,o.index=0,o}return g(t,e),a(t,[{key:"subInner",value:function(e,t){var A=this.currentSink=new t(this.sink,e,this);this.complete=this.tryComplete,A.complete=A.tryComplete,A.subscribe(this.makeSource(e,this.index++))}},{key:"tryComplete",value:function(){this.currentSink.resetComplete(),this.dispose()}}])}(rs),ks=function(e){function t(){return r(this,t),n(this,t,arguments)}return g(t,e),a(t)}(ms),ws=function(e){function t(){return r(this,t),n(this,t,arguments)}return g(t,e),a(t,[{key:"next",value:function(e){var t=this;this.subInner(e,ks),this.next=function(e){t.currentSink.dispose(),t.subInner(e,ks)}}}])}(ys),Ds=ss(ws,"switchMap");var bs,Ts=(bs=ss(ws,"switchMapTo"),function(e,t){return bs((function(){return e}),t)}),Ss=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:qa,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qa,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:qa;return function(n){return new is(n,e,t,A)}},Rs=function(e){function t(e,A,i){var o;r(this,t),(o=n(this,t,[{userId:A.userId,sdkAppId:e.sdkAppId,mediaType:i,room:e}])).room=e,o.user=A,H(o,"tinyId"),H(o,"isRemote",!0),H(o,"jitterBufferDelay",0),H(o,"availableState"),H(o,"remotePublishState"),H(o,"_triggerCheckDecodeSubject",Is(Cs(o,t.STATE_SUBSCRIBE))),o.tinyId=A.tinyId,o.availableState=new Ki("".concat(A.userId,"-").concat(o.mediaType,"-available"),"remote-track-available"),o.remotePublishState=new Ki("".concat(A.userId,"-").concat(o.mediaType,"-remote-publish"),"remote-track-publish"),os(function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return as((function(e){var A=new rs(e),n=t.length;A.complete=function(){0==--n&&e.complete()},t.forEach(A.bindSubscribe)}),"merge",arguments)}(Cs(o,Ki.STATECHANGED),Cs(o.remotePublishState,Ki.STATECHANGED)),vs((function(){return o.isRemotePublished&&(o.isSubscribed||o.isSubscribing)})),Ss((function(e){o.availableState.state!==(e?Ki.ON:Ki.OFF)&&(o.availableState.state=e?Ki.ON:Ki.OFF),o.updatePlayingState(e)})));var a=os(Cs(o.player,Xi.ERROR),Es((function(e){return e.code===MediaError.MEDIA_ERR_DECODE}))),s=os(function(e,t){return as((function(t){var A=0,n=setTimeout((function(){t.removeDefer(r),t.next(A++),t.complete()}),e),r=function(){clearTimeout(n)};t.defer(r)}),"timer",arguments)}(5e3),Es((function(){return!(o.ignoreDecodeError||!o.isSubscribed||!o.isPlayCalled||!o.stat.bytesReceived)&&(!(o.player.isPlaying||(o.kind===UA.AUDIO?o.getAudioLevel()>0:o.stat.framesDecoded>0))||(o.reportDecodeResult(!0),!1))}))),c=os(function(){for(var e=arguments.length,t=new Array(e),A=0;A<e;A++)t[A]=arguments[A];return as((function(e){var A=new Map;t.forEach((function(t){var n=new rs(e);A.set(t,n),n.complete=function(){A.delete(t),0===A.size?e.complete():n.dispose()},n.next=function(e){A.delete(t),A.forEach((function(e){return e.dispose()})),n.resetNext(),n.resetComplete(),n.next(e)}})),t.forEach((function(e){return A.get(e).subscribe(e)}))}),"race",arguments)}(a,s),ps(Cs(o,Ki.INIT)));return os(o._triggerCheckDecodeSubject,Es((function(){return!o.ignoreDecodeError})),Ts(c),Ss((function(e){o.reportDecodeResult(!1,e)}))),o}return g(t,e),a(t,[{key:"setMute",value:function(e){this.isRemotePublished&&p(t,"setMute",this,3)([e])}},{key:"setInputMediaStreamTrack",value:function(e){p(t,"setInputMediaStreamTrack",this,3)([e]),this.isRemotePublished&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}},{key:"checkDecodeResult",value:function(){this._triggerCheckDecodeSubject.next(!0)}},{key:"waitHasMediaTrack",value:function(){var e=this;return new Promise((function(t){e.mediaTrack?t():e.once("input-media-track-changed",t)}))}},{key:"ignoreDecodeError",get:function(){var e,t;return((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.downlinkNetworkQuality)||0)>3||this.player.isInAutoPlayFailedState}},{key:"isSubscribing",get:function(){return"subscribeing"===this.state.toString()}},{key:"isSubscribed",get:function(){return this.state===t.STATE_SUBSCRIBE}},{key:"isAvailable",get:function(){return this.availableState.state===Ki.ON}},{key:"isNeedPlay",get:function(){return this.isAvailable&&this.isPlayCalled}},{key:"subscribe",value:function(e){return e}},{key:"unsubscribe",value:function(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}},{key:"reportDecodeResult",value:function(e,t){var A=this.kind===UA.AUDIO;Sr[e?"addSuccessEvent":"addFailedEvent"]({key:A?504700:514702}),e||(Sr.addEnum({key:A?504701:514703,value:yt()}),Ao.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(kt()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===UA.AUDIO?"audioLevel: ".concat(this.getAudioLevel()):"framesDecoded: ".concat(this.stat.framesDecoded>0))),this.emit("decode-failed",{error:t}))}},{key:"updatePlayingState",value:function(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.isRemotePublished||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed: ".concat(this.isSubscribed," isAvailable: ").concat(this.isRemotePublished," hasTrack: ").concat(!!this.outMediaTrack," "));p(t,"updatePlayingState",this,3)([e])}}},{key:"close",value:function(){p(t,"close",this,3)([]),this.outMediaTrack&&this.uninstallTrackEvent(this.outMediaTrack)}},{key:"onFlagChanged",value:function(){this.remotePublishState.state=this.isRemotePublished?Ki.ON:Ki.OFF}},{key:"onTrackMuted",value:function(){this.isNeedPlay&&p(t,"onTrackMuted",this,3)([])}},{key:"onTrackUnmuted",value:function(){this.isNeedPlay&&p(t,"onTrackUnmuted",this,3)([])}},{key:"onTrackEnded",value:function(){this.isNeedPlay&&p(t,"onTrackEnded",this,3)([])}}])}(Ba);H(Rs,"STATE_SUBSCRIBE","subscribe"),Y([function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Ra((function(A,n){return function(){for(var r=this,i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return new Promise((function(i,a){var s=setTimeout((function(){var A=new bA({code:DA.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(n,"() timeout ").concat(e,"s")});pr.warn(A),2===t?a(A):1===t&&i()}),1e3*e);A.apply(r,o).then(i,a).finally((function(){clearTimeout(s)}))}))}}))}(5,1)],Rs.prototype,"waitHasMediaTrack"),Y([Oi(Ki.INIT,Rs.STATE_SUBSCRIBE,{success:function(){this.log.info("subscribed"),lr.emit(Ir.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),Ga(521716,!1)],Rs.prototype,"subscribe"),Y([Oi(Rs.STATE_SUBSCRIBE,Ki.INIT,{sync:!0,success:function(){this.log.info("unsubscribed"),lr.emit(Ir.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],Rs.prototype,"unsubscribe");var Ns=[-1,-1,1,-1,-1,1,1,1],_s=[0,0,1,0,0,1,1,1],Ms=function(e){function t(e,A){var i;if(r(this,t),(i=n(this,t)).context=e,H(i,"name"),H(i,"input"),H(i,"output"),H(i,"texture"),H(i,"ctx2d",null),H(i,"fbo"),H(i,"width",0),H(i,"height",0),H(i,"x",0),H(i,"y",0),H(i,"program"),H(i,"vertexShader"),H(i,"fragmentShader"),H(i,"totalFrames",0),H(i,"dropFrames",0),H(i,"matchInputSize",!0),H(i,"texCoordBuffer"),H(i,"positionBuffer"),H(i,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),H(i,"cost",0),H(i,"_canvas",null),H(i,"_image"),H(i,"log"),i.context.on("disconnect",i.close,i),i.name=A.name,i.log=A.logger,i.matchInputSize=!1!==A.matchInputSize,i.width=A.width||e.width,i.height=A.height||e.height,i._image=A.image,e instanceof Js)return e.ctx&&A.create2d&&("function"==typeof OffscreenCanvas&&16!==ht?i._canvas=new OffscreenCanvas(i.width,i.height):(i._canvas=document.createElement("canvas"),i._canvas.width=i.width,i._canvas.height=i.height),i.ctx2d=i._canvas.getContext("2d"),i._image=i._canvas),d(i);try{var o=e.ctx;i.texCoordBuffer=i.createBuffer(_s),i.positionBuffer=i.createBuffer(Ns),!1!==A.createTexture&&(i.texture=o.createTexture(),i.useTexture(),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.pixelStorei(o.PACK_ALIGNMENT,1),o.pixelStorei(o.UNPACK_ALIGNMENT,1)),A.useFbo&&(i.fbo=o.createFramebuffer(),i.useBufferFrame(),i.useTexture(),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,i.width,i.height,0,o.RGBA,o.UNSIGNED_BYTE,null),o.framebufferTexture2D(o.FRAMEBUFFER,o.COLOR_ATTACHMENT0,o.TEXTURE_2D,i.texture,0)),A.useDefaultProgram?i.program=e.defaultProgam:(A.vertexShaderSource||A.fragmentShaderSource)&&(i.vertexShader=A.vertexShaderSource?e.createShader(o.VERTEX_SHADER,A.vertexShaderSource):e.defaultVShader,i.fragmentShader=A.fragmentShaderSource?e.createShader(o.FRAGMENT_SHADER,A.fragmentShaderSource):e.defaultFShader,i.program=e.createProgram(i.vertexShader,i.fragmentShader))}catch(e){i.context.destroy(new bA({code:DA.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(i.name," error ").concat(e.message||e)}))}return i}return g(t,e),a(t,[{key:"image",get:function(){return this._image},set:function(e){this._image=e}},{key:"createFramebuffer",value:function(e){var t=this.context.ctx,A=t.createFramebuffer();return t.bindFramebuffer(t.FRAMEBUFFER,A),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),A}},{key:"connect",value:function(e){for(var t=arguments.length,A=new Array(t>1?t-1:0),n=1;n<t;n++)A[n-1]=arguments[n];return e.addInput.apply(e,[this].concat(A)),this.output=e,e}},{key:"addInput",value:function(e){this.input=e,this.matchInputSize&&e.width&&e.height&&this.resize(e.width,e.height)}},{key:"requestFrame",value:function(e){var t=Date.now();return!!(this.context instanceof Vs&&this.render(e)||this.context instanceof Js&&this.render2d(e))&&(this.totalFrames++,this.cost=Date.now()-t,!0)}},{key:"render2d",value:function(e){var t;return!!(null==(t=this.input)?void 0:t.requestFrame(e))&&this.draw2d(this.input.image,0,0,this.width,this.height)}},{key:"update",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;null==(e=this.output)||e.update(t)}},{key:"disconnect",value:function(){for(var e,t,A=arguments.length,n=new Array(A),r=0;r<A;r++)n[r]=arguments[r];null==(t=this.output)||(e=t).removeInput.apply(e,[this].concat(n)),delete this.output}},{key:"removeInput",value:function(e){delete this.input}},{key:"close",value:function(){var e,t;if(this.context.off("disconnect",this.close,this),null==(e=this.output)||e.removeInput(this),delete this.output,null==(t=this.input)||t.disconnect(),this.context instanceof Vs){var A=this.context.ctx;A.deleteBuffer(this.texCoordBuffer),A.deleteBuffer(this.positionBuffer),this.fbo&&A.deleteFramebuffer(this.fbo),this.texture&&A.deleteTexture(this.texture),this.vertexShader&&this.vertexShader!==this.context.defaultVShader&&A.deleteShader(this.vertexShader),this.fragmentShader&&this.fragmentShader!==this.context.defaultFShader&&A.deleteShader(this.fragmentShader),this.program&&this.program!==this.context.defaultProgam&&A.deleteProgram(this.program)}this._canvas&&(this._canvas.width=0,this._canvas.height=0,this.ctx2d=null),this.removeAllListeners()}},{key:"useTexture",value:function(){this.useTextures(this.texture)}},{key:"useInputTexture",value:function(){var e;this.useTextures(null==(e=this.input)?void 0:e.texture)}},{key:"useTextures",value:function(){for(var e=this.context.ctx,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];A.forEach((function(t,A){t&&(e.activeTexture(e.TEXTURE0+A),e.bindTexture(e.TEXTURE_2D,t))}))}},{key:"useProgram",value:function(){this.context.ctx.useProgram(this.program)}},{key:"useBufferFrame",value:function(){var e=this.context.ctx;e.bindFramebuffer(e.FRAMEBUFFER,this.fbo||null)}},{key:"createBuffer",value:function(e){var t=this.context.ctx,A=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,A),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW),A}},{key:"setTexBuffer",value:function(e){var t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.texCoordBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}},{key:"setPosBuffer",value:function(e){var t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.positionBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}},{key:"changeBufferData",value:function(e,t){var A=this.context.ctx;A.bindBuffer(A.ARRAY_BUFFER,e),A.bufferData(A.ARRAY_BUFFER,new Float32Array(t),A.STATIC_DRAW)}},{key:"setAttributes",value:function(){for(var e=this.context.ctx,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];A.forEach((function(t,A){e.enableVertexAttribArray(A),e.bindBuffer(e.ARRAY_BUFFER,t),e.vertexAttribPointer(A,2,e.FLOAT,!1,0,0)}))}},{key:"getVertexPoint",value:function(e,t){return[e/this.width*2-1,t/this.height*2-1]}},{key:"layout2texCoords",value:function(e){return[].concat(Q(this.getVertexPoint(e.x,e.y)),Q(this.getVertexPoint(e.x+e.width,e.y)),Q(this.getVertexPoint(e.x,e.y+e.height)),Q(this.getVertexPoint(e.x+e.width,e.y+e.height)))}},{key:"resize",value:function(e,t){if(this.width!==e||this.height!==t){if(this.width=e,this.height=t,this._canvas&&(this._canvas.width=e,this._canvas.height=t),this.texture&&this.fbo){this.useTexture();var A=this.context.ctx;A.texImage2D(A.TEXTURE_2D,0,A.RGBA,e,t,0,A.RGBA,A.UNSIGNED_BYTE,null)}this.output&&this.output.matchInputSize&&this.output.resize(e,t)}}},{key:"draw",value:function(e,t){this.setAttributes(e||this.positionBuffer,t||this.texCoordBuffer);var A=this.context.ctx;A.drawArrays(A.TRIANGLE_STRIP,0,4)}},{key:"draw2d",value:function(e,t,A,n,r){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,A):(this.ctx2d.drawImage(e,t,A,n,r),"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&e.close()),this.emit("render"),!0)}},{key:"getInfo",value:function(){var e,t=this.totalFrames,A=this.x,n=this.y,r=this.width,i=this.height,o=this.name,a=this.cost,s=Date.now(),c=(t-this.lastInfo.totalFrames)/((s-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:t,x:A,y:n,width:r,height:i,timestamp:s,fps:c,name:o,cost:a},F({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}},{key:"createTexture",value:function(e){var t=this.context.ctx,A=t.createTexture();return this.useTextures(A),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),A}}])}(Ki);Y([Oi(Ki.INIT,"connected",{sync:!0})],Ms.prototype,"connect"),Y([Oi("connected",Ki.INIT,{ignoreError:!0,sync:!0})],Ms.prototype,"disconnect"),Y([Oi([],"closed",{sync:!0})],Ms.prototype,"close");var Ls=os(function(e){return as((function(t){var A=0,n=setInterval((function(){return t.next(A++)}),e);return t.defer((function(){clearInterval(n)})),"interval"}),"interval",arguments)}(250),vs((function(){return performance.now()})),ds()),xs=[0,1,1,1,0,0,1,0],Fs=function(e){function t(e,A){var i;return r(this,t),i=n(this,t,[e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},A)]),H(i,"_intervalId",0),H(i,"_sequence",0),H(i,"checkGLError",!1),H(i,"checkVisibilityChange"),e instanceof Js?i.ctx2d=e.ctx||null:e.available&&(null==A?void 0:A.mirrorUpAndDown)&&i.setTexBuffer(xs),i}return g(t,e),a(t,[{key:"start",value:function(e){var t=this;this.log.info("".concat(this.name," start render ").concat(e," fps")),zi.clearTask(this._intervalId),this._intervalId=zi.run("intervalInWorker",(function(){if(e!==t.context.frameRate&&(zi.clearTask(t._intervalId),t.start(t.context.frameRate)),t.requestFrame(t._sequence++),t.checkGLError&&t.context instanceof Vs){var A=t.context.ctx.getError();A&&t.context.destroy(new bA({code:DA.VIDEO_MANAGER_ERROR,extraCode:5,message:"".concat(t.name," req ").concat(t._sequence," render ").concat(t.totalFrames," faild ").concat(A)}))}}),{fps:this.context.frameRate})}},{key:"render",value:function(e){var t;return!!(null==(t=this.input)?void 0:t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),this.emit("render"),!0)}},{key:"addInput",value:function(e){for(var A=arguments.length,n=new Array(A>1?A-1:0),r=1;r<A;r++)n[r-1]=arguments[r];p(t,"addInput",this,3)([e].concat(n)),this.start(this.context.frameRate)}},{key:"update",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this._intervalId&&(zi.clearTask(this._intervalId),this._intervalId=0,1===t)){this.log.info("".concat(this.name," use requestVideoFrameCallback"));var A=function(){document.hidden&&(e.start(e.context.frameRate),e.log.info("".concat(e.name," use timer")),document.removeEventListener("visibilitychange",A))};document.addEventListener("visibilitychange",A)}this.requestFrame(this._sequence++)}},{key:"removeInput",value:function(e){p(t,"removeInput",this,3)([e]),zi.clearTask(this._intervalId)}},{key:"resize",value:function(e,A){p(t,"resize",this,3)([e,A]),this.context.setSize(e,A)}},{key:"close",value:function(){p(t,"close",this,3)([]),zi.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}}])}(Ms),Gs=function(e){function t(e,A){var i;r(this,t),i=n(this,t,[e,A]),H(i,"_videoTrack"),H(i,"_muteOb"),H(i,"_closedOb",Cs(i,"closed")),H(i,"_subscription"),H(i,"_canvasContainer"),Number(lt)<17&&(i._canvasContainer=document.createElement("div"),i._canvasContainer.style.display="none");var o=E(e._canvas.captureStream().getVideoTracks(),1);return i._videoTrack=o[0],i._muteOb=Cs(i._videoTrack,"mute"),os(Cs(i._videoTrack,"ended"),ps(i._closedOb),Ss((function(){i.context.destroy(new bA({code:DA.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))}))),i}return g(t,e),a(t,[{key:"enableCheckMute",value:function(){var e,t=this;this._subscription=os(this._muteOb,ps(this._closedOb),Ts((e=5e3,function(t){var A=performance.now();os(Ls,Qs((function(t){return t-A<e})),fs(1))(t)})),Es((function(){var e;return!!(null==(e=t._videoTrack)?void 0:e.muted)&&!document.hidden})),Ss((function(){t.context.destroy(new bA({code:DA.VIDEO_MANAGER_ERROR,extraCode:7,message:"video track muted"}))})))}},{key:"disableCheckMute",value:function(){var e;null==(e=this._subscription)||e.dispose()}},{key:"videoTrack",get:function(){return this._videoTrack}},{key:"putCanvasIntoDom",value:function(){this.context._canvas&&this._canvasContainer&&(document.getElementById(this.context._canvas.id)||(this.log.info("".concat(this.name," put canvas to body")),document.body.appendChild(this._canvasContainer),this._canvasContainer.appendChild(this.context._canvas)))}},{key:"render",value:function(e){return this.putCanvasIntoDom(),p(t,"render",this,3)([e])}},{key:"render2d",value:function(e){return this.putCanvasIntoDom(),p(t,"render2d",this,3)([e])}},{key:"close",value:function(){var e,A;p(t,"close",this,3)([]),null==(e=this._videoTrack)||e.stop(),delete this._videoTrack,null==(A=this._canvasContainer)||A.remove()}}])}(Fs),Os=function(e){function t(e,A){var i;return r(this,t),i=n(this,t,[e,F({name:"imageSource"},A)]),H(i,"_lastImage"),H(i,"_totalFrames",0),H(i,"_autoResize",!1),H(i,"_canvasRendered"),H(i,"_videoCallbackId",0),H(i,"waitingFirstFrame",!0),H(i,"shouldUpdate",!0),i._autoResize=!1!==(null==A?void 0:A.autoResize),16===ht&&(i._canvasRendered=Is(),os(i._canvasRendered,function(){for(var e=arguments,t=arguments.length,A=new Array(t),n=0;n<t;n++)A[n]=arguments[n];return function(t){return as((function(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A.length;n<r&&!e.disposed;)e.next(A[n++]);e.disposed||e.subscribe(t)}),"startWith",e)}}(i._image),Ds((function(e){return e instanceof HTMLCanvasElement?Cs(e,"rendered"):function(){return as((function(e){return e.complete()}),"empty",arguments)}()})),ps(Cs(i,"closed")),Ss((function(){i.update()})))),i}return g(t,e),a(t,[{key:"onFirstFrame",value:function(){this.waitingFirstFrame=!1}},{key:"tryVideoFrameCallback",value:function(){var e=this;if(this.shouldUpdate){var t=this.image;this._videoCallbackId&&t.cancelVideoFrameCallback(this._videoCallbackId),Ri()&&!document.hidden&&(this._videoCallbackId=t.requestVideoFrameCallback((function(t,A){e.waitingFirstFrame&&e.onFirstFrame(),document.hidden||(e._totalFrames=A.presentedFrames,e.update(1))})))}}},{key:"_render",value:function(e,t){var A,n=this.width,r=this.height,i=this.image;if(i instanceof HTMLVideoElement){if(this.tryVideoFrameCallback(),n=i.videoWidth,r=i.videoHeight,!n||!r)return!1;i.width=n,i.height=r}else if(i instanceof HTMLImageElement||i instanceof ImageData||i instanceof ImageBitmap){if(n=i.width,r=i.height,i!==this._lastImage)this._lastImage=i;else if(n===this.width&&r===this.height)return!1}else i instanceof HTMLCanvasElement||i instanceof OffscreenCanvas?(n=i.width,r=i.height,this._lastImage=i):"undefined"!=typeof VideoFrame&&i instanceof VideoFrame&&(n=i.displayWidth,r=i.displayHeight,null==(A=this._lastImage)||A.close(),this._lastImage=i);if(!this._autoResize)return!0;if(this.width===n&&this.height===r&&this.totalFrames){if(t){this.useTexture();var o=this.context.ctx;o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,i)}}else{if(t){this.useTexture();var a=this.context.ctx;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,i)}this.resize(n,r)}return!0}},{key:"image",get:function(){return this._image},set:function(e){var t;null==(t=this._canvasRendered)||t.next(e),this._image=e}},{key:"render",value:function(e){return this._render(e,!0)}},{key:"render2d",value:function(e){return this._render(e,!1)}}])}(Ms),Us=function(e){function t(e,A,i){var o;return r(this,t),(o=n(this,t,[e,i]))._player=A,o.name="videoPlayerSource",os(Cs(o._player,Xi.PLAYER_STATE_CHANGED),ps(Cs(o,"closed")),Es((function(e){return"PLAYING"===e.state})),Ss((function(){o.tryVideoFrameCallback()}))),o}return g(t,e),a(t,[{key:"image",get:function(){return this._player.element}}])}(Os),Ps=function(e){function t(e,A,i){var o;return r(this,t),(o=n(this,t,[e,new Lo({id:i.name,track:A,muted:!0,container:null,objectFit:"contain",log:i.logger}),i])).name="videoTrackSource",o._player.play(),o}return g(t,e),a(t,[{key:"available",get:function(){return this._player.isPlaying&&!this.waitingFirstFrame}},{key:"replaceTrack",value:function(e){this.waitingFirstFrame=!0,this._player.setTrack(e),this._player.play()}},{key:"close",value:function(){p(t,"close",this,3)([]),this._player.stop()}}])}(Us),Ys=function(e){function t(e){var A;return r(this,t),A=n(this,t),H(A,"frameRate"),H(A,"_canvas"),H(A,"log"),H(A,"hasAlpha",!1),H(A,"name"),H(A,"error"),A.name=e.name,A.log=e.logger.createChild({id:"vc-".concat(A.name)}),A.frameRate=e.frameRate,A}return g(t,e),a(t,[{key:"width",get:function(){var e;return(null==(e=this._canvas)?void 0:e.width)||0},set:function(e){this._canvas&&(this._canvas.width=e)}},{key:"height",get:function(){var e;return(null==(e=this._canvas)?void 0:e.height)||0},set:function(e){this._canvas&&(this._canvas.height=e)}},{key:"setSize",value:function(e,t){this._canvas&&(this._canvas.width=e,this._canvas.height=t)}},{key:"createVideoTrackSource",value:function(e,t){return new Ps(this,e,{logger:this.log,name:t})}},{key:"createVideoTrackDestination",value:function(e){return new Gs(this,e)}},{key:"createVideoImageSource",value:function(e,t){return new Os(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}},{key:"createVideoPlayerSource",value:function(e,t){return new Us(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}},{key:"available",get:function(){return"created"===this.state}},{key:"disconnect",value:function(){this.emit("disconnect")}}])}(Ki);H(Ys,"_ids",0);var Hs={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},Ks=function(e){function t(){var e;return r(this,t),e=n(this,t,arguments),H(e,"defaultProgam"),H(e,"defaultVShader"),H(e,"defaultFShader"),H(e,"ctx"),e}return g(t,e),a(t,[{key:"create",value:function(){var e=this;if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(Ys._ids++)),this.ctx=this._canvas.getContext("webgl2",Hs),!this.ctx)throw new bA({code:DA.VIDEO_MANAGER_ERROR,extraCode:2,message:"webgl2 not supported"});this.defaultVShader=this.createShader(this.ctx.VERTEX_SHADER,"\n// 顶点着色器\nattribute vec4 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_texCoord;\n\nvoid main() {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n}\n"),this.defaultFShader=this.createShader(this.ctx.FRAGMENT_SHADER,"\n// 片元着色器\nprecision mediump float;\nvarying vec2 v_texCoord;\nuniform sampler2D u_texture;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n} "),this.defaultProgam=this.createProgram(this.defaultVShader,this.defaultFShader),this._canvas.addEventListener("webglcontextlost",(function(){e.destroy(new bA({code:DA.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}},{key:"destroy",value:function(e){var t="";return e&&(t=e.message,this.error=e,Sr.addFailedEvent({key:512702,error:e})),this.disconnect(),this.log.info("video context destroy".concat(t)?": ".concat(t):""),this.ctx&&(this.ctx.deleteShader(this.defaultVShader),this.ctx.deleteShader(this.defaultFShader),this.ctx.deleteProgram(this.defaultProgam),delete this.ctx),e}},{key:"width",set:function(e){var A;null==(A=this.ctx)||A.viewport(0,0,e,this.height),B(t,"width",e,this,1)}},{key:"height",set:function(e){var A;null==(A=this.ctx)||A.viewport(0,0,this.width,e),B(t,"height",e,this,1)}},{key:"setSize",value:function(e,A){var n;null==(n=this.ctx)||n.viewport(0,0,e,A),p(t,"setSize",this,3)([e,A])}},{key:"createShader",value:function(e,t){var A=this.ctx,n=A.createShader(e);return A.shaderSource(n,t),A.compileShader(n),n}},{key:"createProgram",value:function(e,t){var A=this.ctx,n=A.createProgram();return A.attachShader(n,e),A.attachShader(n,t),A.linkProgram(n),A.getProgramParameter(n,A.LINK_STATUS)||this.log.error(A.getProgramInfoLog(n)),n}}])}(Ys);H(Ks,"UNAVAILABLE","unavailable"),Y([Oi(Ki.INIT,"created",{sync:!0,fail:function(e){this.log.error("video gl context create failed",e.cause),Sr.addFailedEvent({key:512700,error:e.cause||e})},success:function(){this.log.info("video context created use webgl"),Sr.addSuccessEvent({key:512700})}})],Ks.prototype,"create"),Y([Oi("created",Ki.INIT,{ignoreError:!0,sync:!0,success:function(e){e&&this.emit(Ks.UNAVAILABLE,e),this.removeAllListeners()}})],Ks.prototype,"destroy");var Vs=Ks,Js=function(e){function t(){var e;return r(this,t),e=n(this,t,arguments),H(e,"ctx"),e}return g(t,e),a(t,[{key:"create",value:function(e){var t=this;if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(Ys._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new bA({code:DA.VIDEO_MANAGER_ERROR,extraCode:2,message:"2d context not supported"});this._canvas.addEventListener("contextlost",(function(){t.log.error("2d context lost")})),this._canvas.addEventListener("contextrestored",(function(){t.log.warn("2d context restored")}))}},{key:"destroy",value:function(e){var t="";e&&(t=e.message,this.error=e,Sr.addFailedEvent({key:512703,error:e})),this.disconnect(),this.log.info("video context destroy ".concat(t?": ".concat(t):"")),delete this.ctx,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),this.removeAllListeners(),Sr.addSuccessEvent({key:512703})}}])}(Ys);Y([Oi(Ki.INIT,"created",{sync:!0,fail:function(e){this.log.error("video 2d context create failed",e.cause),Sr.addFailedEvent({key:512701,error:e.cause||e})},success:function(){this.log.info("video context created use 2d"),Sr.addSuccessEvent({key:512701})}})],Js.prototype,"create"),Y([Oi("created",Ki.INIT,{ignoreError:!0,sync:!0})],Js.prototype,"destroy");var js=new Map;function Ws(e,t){var A=G(F({},t),{timestamp:TA()});js.has(e)?js.get(e).push(A):js.set(e,[A])}lr.on(Ir.JOIN_SUCCESS,(function(e){Ws(e.room.userId,{eventId:32788})})),lr.on(Ir.LEAVE_START,(function(e){Ws(e.room.userId,{eventId:32789})})),lr.on(Ir.LOCAL_TRACK_PUBLISHED,(function(e){var t=e.track;if(t.room){var A=32769;4===t.mediaType?A=32768:2===t.mediaType&&(A=32805),Ws(t.room.userId,{eventId:A})}})),lr.on(Ir.LOCAL_TRACK_UNPUBLISHED,(function(e){var t=e.track;if(t.room){var A=32771;4===t.mediaType?A=32770:2===t.mediaType&&(A=32806),Ws(t.room.userId,{eventId:A})}})),lr.on(Ir.TRACK_MUTED,(function(e){var t=e.track;t.room&&(t.kind===UA.AUDIO?Ws(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):Ws(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),lr.on(Ir.TRACK_UNMUTED,(function(e){var t=e.track;t.room&&(t.kind===UA.AUDIO?Ws(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):Ws(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),lr.on(Ir.REMOTE_TRACK_SUBSCRIBED,(function(e){var t=e.track;t.room&&(1===t.mediaType&&Ws(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&Ws(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&Ws(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),lr.on(Ir.REMOTE_TRACK_UNSUBSCRIBED,(function(e){var t=e.track;t.room&&(1===t.mediaType&&Ws(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&Ws(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&Ws(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),lr.on(Ir.SWITCH_DEVICE_SUCCESS,(function(e){var t=e.track;t.room&&Ws(t.room.userId,{eventId:t.kind===UA.VIDEO?32780:32781})})),lr.on(Ir.LOCAL_TRACK_REPLACED,(function(e){var t=e.track;t.room&&Ws(t.room.userId,{eventId:t.kind===UA.VIDEO?32782:32783})})),lr.on(Ir.SIGNAL_CONNECTION_STATE_CHANGED,(function(e){var t=e.room,A=e.prevState,n=void 0;switch(e.state){case"CONNECTED":n="RECONNECTING"===A?32795:32791;break;case"DISCONNECTED":n="RECONNECTING"===A?32796:32790;break;case"RECONNECTING":n=32794}n&&Ws(t.userId,{eventId:n})})),lr.on(Ir.PEER_CONNECTION_STATE_CHANGED,(function(e){var t=e.room,A=e.prevState,n=e.state,r=e.remoteUserId,i=!!r,o=void 0;switch(n){case"CONNECTED":o="RECONNECTING"===A?i?32801:32798:i?32793:32792;break;case"DISCONNECTED":"RECONNECTING"===A&&(o=i?32802:32799);break;case"RECONNECTING":o=i?32800:32797}o&&Ws(t.userId,{eventId:o,remoteUserId:r})})),lr.on(Ir.VIDEO_CODEC_IMPLEMENTATION_CHANGED,(function(e){e.implementation;var t=e.userId,A=e.remoteUserId,n=e.codec,r=e.isHWCodec,i=r?1:0;e.prevImplementation||(i=r?3:2);var o="h264"===n?0:2,a={eventId:4004,param1:i,param2:o,streamType:e.streamType||2};A&&(a.remoteUserId=A,a.eventId=4005),Ws(t,a),Sr.addEnum({key:A?514701:513701,value:i}),Sr.addEnum({key:A?514700:513700,value:o})})),lr.on(Ir.LOCAL_TRACK_RECAPTURE,(function(e){var t=e.track,A=e.error;if(t.userId){var n={eventId:2003,param1:0};t.kind===UA.AUDIO?(n.streamType=1,A&&(n.param1=2)):(n.streamType="auxiliary"===t.streamType?7:2,A&&(n.param1=8)),Ws(t.userId,n)}})),P(K());var Zs=570703,zs=0,Xs=function(){function e(t){r(this,e),this.core=t,H(this,"seq"),H(this,"_core"),H(this,"log"),H(this,"preLoadPromise"),H(this,"startResolve"),H(this,"startReject"),H(this,"mediaPipeSolutions"),H(this,"assetsPath"),H(this,"currentType"),H(this,"onAbort"),H(this,"isAborted",!1),zs+=1,this.seq=zs,this._core=t,this.log=t.log.createChild({id:"".concat(this.getAlias()).concat(zs)}),this.log.info("created"),t.assetsPath&&(this.preLoadPromise=this.preload(t.assetsPath))}return a(e,[{key:"preload",value:(o=A(I().mark((function e(t){var A,n,r,i,o=this;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,this._core.room.videoManager.Wasm){e.next=5;break}return e.next=4,ee();case 4:this._core.room.videoManager.Wasm=e.sent;case 5:return A=function(e){var t;o.core.kvStatManager.addEnum({key:Zs,value:o.getKVTypeValue(!1,o.isAborted,"ABORT_IN_INFERENCE")}),o.isAborted=!0,o.log.error("mediaPipeSolutions abort",e),o.core.clearStarted(o,o.getGroup()),o.stop(),null==(t=o.onAbort)||t.call(o,e)},this._core.room.videoManager.initVirtualBackground(A,bt),e.next=9,this._core.initVisionTaskRegistry(t);case 9:e.next=15;break;case 11:throw e.prev=11,e.t0=e.catch(0),n=this._core.errorModule,r=n.RtcError,i=n.ErrorCode,new r({code:i.INVALID_OPERATION,message:"VirtualBackground preload error, please check your assetsPath. detail: ".concat(e.t0)});case 15:case"end":return e.stop()}}),e,this,[[0,11]])}))),function(e){return o.apply(this,arguments)})},{key:"getName",value:function(){return e.Name}},{key:"getAlias",value:function(){return"vb"}},{key:"getValidateRule",value:function(e){switch(e){case"start":return t=this._core,{name:"VirtualBackgroundOptions",type:"object",required:!0,allowEmpty:!1,properties:G(F({},X),{type:{required:!1,type:"string",values:["image","blur"]},src:{required:!1,type:"string"},blurLevel:{required:!1,type:"number",min:1,max:10},onAbort:{required:!1}}),validate:function(e,A,n,r){var i,o=t.errorModule,a=o.RtcError,s=o.ErrorCode,c=o.ErrorCodeDictionary;if(e){var u=e.type,g=e.src,l=e.onAbort;if("image"===u&&!g)throw new a({code:s.INVALID_PARAMETER,extraCode:c.INVALID_PARAMETER_REQUIRED,fnName:n,messageParams:{key:"src"}});if(l&&!t.utils.isFunction(l))throw new a({code:s.INVALID_PARAMETER,extraCode:c.INVALID_PARAMETER_TYPE,fnName:n,messageParams:{key:"onAbort",value:m(l),rule:{type:"Function"}}});if(!(null==(i=t.room.videoManager.cameraTrack)?void 0:i.mediaTrack))throw new a({code:s.INVALID_OPERATION,extraCode:c.INVALID_OPERATION_NEED_VIDEO,fnName:n})}}};case"update":return function(e){return{name:"UpdateVirtualBackgroundOptions",type:"object",required:!0,allowEmpty:!1,properties:{type:{required:!0,type:"string",values:["image","blur"]},src:{required:!1,type:"string"},blurLevel:{required:!1,type:"number",min:1,max:10}},validate:function(t,A,n,r){if(t){var i=e.errorModule,o=i.RtcError,a=i.ErrorCode,s=i.ErrorCodeDictionary,c=t.type,u=t.src;if("image"===c&&!u)throw new o({code:a.INVALID_PARAMETER,extraCode:s.INVALID_PARAMETER_REQUIRED,fnName:n,messageParams:{key:"src"}})}}}}(this._core);case"stop":return this._core,{name:"StopVirtualBackgroundOptions",required:!1}}var t}},{key:"getGroup",value:function(){return"vb"}},{key:"getKVTypeValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"NONE",n=0;switch(this.currentType){case"blur":n|=0;break;case"image":n|=1;break;case"green":n|=2}switch(e&&(n|=256),t&&(n|=512),A){case"ABORT_IN_INFERENCE":n|=4096;break;case"ABORT_IN_VIDEO_MANAGER":n|=8192;break;case"OTHER":n|=61440}return n}},{key:"start",value:(i=A(I().mark((function e(t){var A,n,r,i,o,a,s,c,u,g,l=this;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.type,n=void 0===A?"blur":A,r=t.src,i=t.blurLevel,o=void 0===i?3:i,a=t.onAbort,this.currentType=n,this.onAbort=a,e.next=5,Z({sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,core:this._core});case 5:if(e.sent.auth){e.next=11;break}throw s=this._core.errorModule,c=s.RtcError,u=s.ErrorCodeDictionary,g=this._core.utils.isOverseaSdkAppId(t.sdkAppId)?"https://trtc.io/document/56025":"https://cloud.tencent.com/document/product/647/85386",new c({code:u.NEED_TO_BUY,messageParams:{value:"Virtual Background",url:g}});case 11:if(this.preLoadPromise){e.next=15;break}if(this._core.assetsPath){e.next=14;break}throw new bA({code:DA.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});case 14:this.preLoadPromise=this.preload(this._core.assetsPath);case 15:return e.next=17,this.preLoadPromise;case 17:return e.abrupt("return",this.core.room.videoManager.setVirtualBackground({type:n,imageUrl:r,blurLevel:o,enableFaceCentering:t.enableFaceCentering,onAbort:function(e){var t;l.core.kvStatManager.addEnum({key:Zs,value:l.getKVTypeValue(!0,l.isAborted,"ABORT_IN_VIDEO_MANAGER")}),l.isAborted=!0,l.core.clearStarted(l,l.getGroup()),l.stop(),delete l.preLoadPromise,null==(t=l.onAbort)||t.call(l,e)}}).then((function(){l.core.kvStatManager.addEnum({key:Zs,value:l.getKVTypeValue(!1,l.isAborted,"NONE")})})).catch((function(){l.core.kvStatManager.addEnum({key:Zs,value:l.getKVTypeValue(!0,l.isAborted,"OTHER")})})));case 18:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"update",value:(n=A(I().mark((function e(t){var A,n,r=this;return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return A=t.type,n=t.src,A!==this.currentType&&(this.currentType=A),e.abrupt("return",this.core.room.videoManager.setVirtualBackground({type:A,imageUrl:n,blurLevel:t.blurLevel,enableFaceCentering:t.enableFaceCentering}).then((function(){r.core.kvStatManager.addEnum({key:Zs,value:r.getKVTypeValue(!1,!1,"NONE")})})).catch((function(){r.core.kvStatManager.addEnum({key:Zs,value:r.getKVTypeValue(!0,!1,"OTHER")})})));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"stop",value:(t=A(I().mark((function e(){return I().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.core.room.videoManager.setVirtualBackground());case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}],[{key:"isSupported",value:function(){if(st<90)return!1;var e=document.createElement("canvas").getContext("webgl2");return!!(e&&e instanceof WebGL2RenderingContext)}}]);var t,n,i,o}();return H(Xs,"Name","VirtualBackground"),Xs}));
1
+ !function(A,g){"object"==typeof exports&&"undefined"!=typeof module?module.exports=g():"function"==typeof define&&define.amd?define(g):(A="undefined"!=typeof globalThis?globalThis:A||self).VirtualBackground=g()}(this,(function(){"use strict";function A(A,g){(null==g||g>A.length)&&(g=A.length);for(var I=0,t=Array(g);I<g;I++)t[I]=A[I];return t}function g(A,g,I,t,C,B,r){try{var e=A[B](r),Q=e.value}catch(A){return void I(A)}e.done?g(Q):Promise.resolve(Q).then(t,C)}function I(A){return function(){var I=this,t=arguments;return new Promise((function(C,B){var r=A.apply(I,t);function e(A){g(r,C,B,e,Q,"next",A)}function Q(A){g(r,C,B,e,Q,"throw",A)}e(void 0)}))}}function t(A,g,I){return g=e(g),function(A,g){if(g&&("object"==typeof g||"function"==typeof g))return g;if(void 0!==g)throw new TypeError("Derived constructors may only return object or undefined");return function(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}(A)}(A,n()?Reflect.construct(g,I||[],e(A).constructor):g.apply(A,I))}function C(A,g){if(!(A instanceof g))throw new TypeError("Cannot call a class as a function")}function B(A,g){for(var I=0;I<g.length;I++){var t=g[I];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(A,a(t.key),t)}}function r(A,g,I){return g&&B(A.prototype,g),I&&B(A,I),Object.defineProperty(A,"prototype",{writable:!1}),A}function e(A){return e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},e(A)}function Q(A,g){if("function"!=typeof g&&null!==g)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(g&&g.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),Object.defineProperty(A,"prototype",{writable:!1}),g&&E(A,g)}function n(){try{var A=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(A){}return(n=function(){return!!A})()}function o(){o=function(){return g};var A,g={},I=Object.prototype,t=I.hasOwnProperty,C=Object.defineProperty||function(A,g,I){A[g]=I.value},B="function"==typeof Symbol?Symbol:{},r=B.iterator||"@@iterator",e=B.asyncIterator||"@@asyncIterator",Q=B.toStringTag||"@@toStringTag";function n(A,g,I){return Object.defineProperty(A,g,{value:I,enumerable:!0,configurable:!0,writable:!0}),A[g]}try{n({},"")}catch(A){n=function(A,g,I){return A[g]=I}}function E(A,g,I,t){var B=g&&g.prototype instanceof y?g:y,r=Object.create(B.prototype),e=new k(t||[]);return C(r,"_invoke",{value:M(A,I,e)}),r}function i(A,g,I){try{return{type:"normal",arg:A.call(g,I)}}catch(A){return{type:"throw",arg:A}}}g.wrap=E;var a="suspendedStart",s="suspendedYield",c="executing",u="completed",h={};function y(){}function f(){}function l(){}var D={};n(D,r,(function(){return this}));var w=Object.getPrototypeOf,d=w&&w(w(v([])));d&&d!==I&&t.call(d,r)&&(D=d);var G=l.prototype=y.prototype=Object.create(D);function N(A){["next","throw","return"].forEach((function(g){n(A,g,(function(A){return this._invoke(g,A)}))}))}function p(A,g){function I(C,B,r,e){var Q=i(A[C],A,B);if("throw"!==Q.type){var n=Q.arg,o=n.value;return o&&"object"==typeof o&&t.call(o,"__await")?g.resolve(o.__await).then((function(A){I("next",A,r,e)}),(function(A){I("throw",A,r,e)})):g.resolve(o).then((function(A){n.value=A,r(n)}),(function(A){return I("throw",A,r,e)}))}e(Q.arg)}var B;C(this,"_invoke",{value:function(A,t){function C(){return new g((function(g,C){I(A,t,g,C)}))}return B=B?B.then(C,C):C()}})}function M(g,I,t){var C=a;return function(B,r){if(C===c)throw Error("Generator is already running");if(C===u){if("throw"===B)throw r;return{value:A,done:!0}}for(t.method=B,t.arg=r;;){var e=t.delegate;if(e){var Q=Y(e,t);if(Q){if(Q===h)continue;return Q}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(C===a)throw C=u,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);C=c;var n=i(g,I,t);if("normal"===n.type){if(C=t.done?u:s,n.arg===h)continue;return{value:n.arg,done:t.done}}"throw"===n.type&&(C=u,t.method="throw",t.arg=n.arg)}}}function Y(g,I){var t=I.method,C=g.iterator[t];if(C===A)return I.delegate=null,"throw"===t&&g.iterator.return&&(I.method="return",I.arg=A,Y(g,I),"throw"===I.method)||"return"!==t&&(I.method="throw",I.arg=new TypeError("The iterator does not provide a '"+t+"' method")),h;var B=i(C,g.iterator,I.arg);if("throw"===B.type)return I.method="throw",I.arg=B.arg,I.delegate=null,h;var r=B.arg;return r?r.done?(I[g.resultName]=r.value,I.next=g.nextLoc,"return"!==I.method&&(I.method="next",I.arg=A),I.delegate=null,h):r:(I.method="throw",I.arg=new TypeError("iterator result is not an object"),I.delegate=null,h)}function F(A){var g={tryLoc:A[0]};1 in A&&(g.catchLoc=A[1]),2 in A&&(g.finallyLoc=A[2],g.afterLoc=A[3]),this.tryEntries.push(g)}function R(A){var g=A.completion||{};g.type="normal",delete g.arg,A.completion=g}function k(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(F,this),this.reset(!0)}function v(g){if(g||""===g){var I=g[r];if(I)return I.call(g);if("function"==typeof g.next)return g;if(!isNaN(g.length)){var C=-1,B=function I(){for(;++C<g.length;)if(t.call(g,C))return I.value=g[C],I.done=!1,I;return I.value=A,I.done=!0,I};return B.next=B}}throw new TypeError(typeof g+" is not iterable")}return f.prototype=l,C(G,"constructor",{value:l,configurable:!0}),C(l,"constructor",{value:f,configurable:!0}),f.displayName=n(l,Q,"GeneratorFunction"),g.isGeneratorFunction=function(A){var g="function"==typeof A&&A.constructor;return!!g&&(g===f||"GeneratorFunction"===(g.displayName||g.name))},g.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,l):(A.__proto__=l,n(A,Q,"GeneratorFunction")),A.prototype=Object.create(G),A},g.awrap=function(A){return{__await:A}},N(p.prototype),n(p.prototype,e,(function(){return this})),g.AsyncIterator=p,g.async=function(A,I,t,C,B){void 0===B&&(B=Promise);var r=new p(E(A,I,t,C),B);return g.isGeneratorFunction(I)?r:r.next().then((function(A){return A.done?A.value:r.next()}))},N(G),n(G,Q,"Generator"),n(G,r,(function(){return this})),n(G,"toString",(function(){return"[object Generator]"})),g.keys=function(A){var g=Object(A),I=[];for(var t in g)I.push(t);return I.reverse(),function A(){for(;I.length;){var t=I.pop();if(t in g)return A.value=t,A.done=!1,A}return A.done=!0,A}},g.values=v,k.prototype={constructor:k,reset:function(g){if(this.prev=0,this.next=0,this.sent=this._sent=A,this.done=!1,this.delegate=null,this.method="next",this.arg=A,this.tryEntries.forEach(R),!g)for(var I in this)"t"===I.charAt(0)&&t.call(this,I)&&!isNaN(+I.slice(1))&&(this[I]=A)},stop:function(){this.done=!0;var A=this.tryEntries[0].completion;if("throw"===A.type)throw A.arg;return this.rval},dispatchException:function(g){if(this.done)throw g;var I=this;function C(t,C){return e.type="throw",e.arg=g,I.next=t,C&&(I.method="next",I.arg=A),!!C}for(var B=this.tryEntries.length-1;B>=0;--B){var r=this.tryEntries[B],e=r.completion;if("root"===r.tryLoc)return C("end");if(r.tryLoc<=this.prev){var Q=t.call(r,"catchLoc"),n=t.call(r,"finallyLoc");if(Q&&n){if(this.prev<r.catchLoc)return C(r.catchLoc,!0);if(this.prev<r.finallyLoc)return C(r.finallyLoc)}else if(Q){if(this.prev<r.catchLoc)return C(r.catchLoc,!0)}else{if(!n)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return C(r.finallyLoc)}}}},abrupt:function(A,g){for(var I=this.tryEntries.length-1;I>=0;--I){var C=this.tryEntries[I];if(C.tryLoc<=this.prev&&t.call(C,"finallyLoc")&&this.prev<C.finallyLoc){var B=C;break}}B&&("break"===A||"continue"===A)&&B.tryLoc<=g&&g<=B.finallyLoc&&(B=null);var r=B?B.completion:{};return r.type=A,r.arg=g,B?(this.method="next",this.next=B.finallyLoc,h):this.complete(r)},complete:function(A,g){if("throw"===A.type)throw A.arg;return"break"===A.type||"continue"===A.type?this.next=A.arg:"return"===A.type?(this.rval=this.arg=A.arg,this.method="return",this.next="end"):"normal"===A.type&&g&&(this.next=g),h},finish:function(A){for(var g=this.tryEntries.length-1;g>=0;--g){var I=this.tryEntries[g];if(I.finallyLoc===A)return this.complete(I.completion,I.afterLoc),R(I),h}},catch:function(A){for(var g=this.tryEntries.length-1;g>=0;--g){var I=this.tryEntries[g];if(I.tryLoc===A){var t=I.completion;if("throw"===t.type){var C=t.arg;R(I)}return C}}throw Error("illegal catch attempt")},delegateYield:function(g,I,t){return this.delegate={iterator:v(g),resultName:I,nextLoc:t},"next"===this.method&&(this.arg=A),h}},g}function E(A,g){return E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(A,g){return A.__proto__=g,A},E(A,g)}function i(A,g){return function(A){if(Array.isArray(A))return A}(A)||function(A,g){var I=null==A?null:"undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(null!=I){var t,C,B,r,e=[],Q=!0,n=!1;try{if(B=(I=I.call(A)).next,0===g);else for(;!(Q=(t=B.call(I)).done)&&(e.push(t.value),e.length!==g);Q=!0);}catch(A){n=!0,C=A}finally{try{if(!Q&&null!=I.return&&(r=I.return(),Object(r)!==r))return}finally{if(n)throw C}}return e}}(A,g)||c(A,g)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(A){var g=function(A,g){if("object"!=typeof A||!A)return A;var I=A[Symbol.toPrimitive];if(void 0!==I){var t=I.call(A,g);if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(A)}(A,"string");return"symbol"==typeof g?g:g+""}function s(A){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},s(A)}function c(g,I){if(g){if("string"==typeof g)return A(g,I);var t={}.toString.call(g).slice(8,-1);return"Object"===t&&g.constructor&&(t=g.constructor.name),"Map"===t||"Set"===t?Array.from(g):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A(g,I):void 0}}function u(A){var g="function"==typeof Map?new Map:void 0;return u=function(A){if(null===A||!function(A){try{return-1!==Function.toString.call(A).indexOf("[native code]")}catch(g){return"function"==typeof A}}(A))return A;if("function"!=typeof A)throw new TypeError("Super expression must either be null or a function");if(void 0!==g){if(g.has(A))return g.get(A);g.set(A,I)}function I(){return function(A,g,I){if(n())return Reflect.construct.apply(null,arguments);var t=[null];t.push.apply(t,g);var C=new(A.bind.apply(A,t));return I&&E(C,I.prototype),C}(A,arguments,e(this).constructor)}return I.prototype=Object.create(A.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),E(I,A)},u(A)}var h=Object.defineProperty,y=Object.defineProperties,f=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,d=function(A,g,I){return g in A?h(A,g,{enumerable:!0,configurable:!0,writable:!0,value:I}):A[g]=I},G=function(A,g){for(var I in g||(g={}))D.call(g,I)&&d(A,I,g[I]);if(l){var t,C=function(A,g){var I="undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(!I){if(Array.isArray(A)||(I=c(A))||g){I&&(A=I);var t=0,C=function(){};return{s:C,n:function(){return t>=A.length?{done:!0}:{done:!1,value:A[t++]}},e:function(A){throw A},f:C}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var B,r=!0,e=!1;return{s:function(){I=I.call(A)},n:function(){var A=I.next();return r=A.done,A},e:function(A){e=!0,B=A},f:function(){try{r||null==I.return||I.return()}finally{if(e)throw B}}}}(l(g));try{for(C.s();!(t=C.n()).done;){I=t.value;w.call(g,I)&&d(A,I,g[I])}}catch(A){C.e(A)}finally{C.f()}}return A},N=function(A,g,I){return d(A,"symbol"!==s(g)?g+"":g,I)};function p(A){return M.apply(this,arguments)}function M(){return(M=I(o().mark((function A(g){var I,t,C,B,r,e,Q,n;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return I=g.sdkAppId,t=g.userId,C=g.userSig,B=g.core,e=Math.round((new Date).getTime()/1e3),A.prev=2,A.next=5,B.schedule.getAbilityConfig(I,B.schedule.ScheduleRequestType.TRTC_AUTO_CONF,{sdkAppId:I,userId:t,userSig:C,timestamp:e});case 5:if(Q=A.sent,B.log.info("virtual background ability response: ".concat(JSON.stringify(Q))),n=Q.data,!(null==(r=null==n?void 0:n.trtcAutoConf)?void 0:r.web_ar)){A.next=10;break}return A.abrupt("return",{auth:!0,timestamp:e});case 10:return A.abrupt("return",{auth:!1});case 13:return A.prev=13,A.t0=A.catch(2),B.log.error("virtual background fetch error",A.t0),A.abrupt("return",{auth:!1});case 17:case"end":return A.stop()}}),A,null,[[2,13]])})))).apply(this,arguments)}var Y={sdkAppId:{required:!0,type:"number"},userId:{required:!0,type:"string"},userSig:{required:!0,type:"string"}};var F,R=(F="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var A,g,I=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},B=I;B.ready=new Promise((function(I,t){A=I,g=t}));var e=Object.assign({},B),n="";"undefined"!=typeof document&&document.currentScript&&(n=document.currentScript.src),F&&(n=F),n=0!==n.indexOf("blob:")?n.substr(0,n.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var o,E,i=B.print||console.log.bind(console),a=B.printErr||console.error.bind(console);function c(A){if(S(A))return function(A){for(var g=atob(A),I=new Uint8Array(g.length),t=0;t<g.length;++t)I[t]=g.charCodeAt(t);return I}(A.slice(L.length))}Object.assign(B,e),e=null,B.arguments&&B.arguments,B.thisProgram&&B.thisProgram,B.quit&&B.quit,B.wasmBinary&&(o=B.wasmBinary),"object"!=("undefined"==typeof WebAssembly?"undefined":s(WebAssembly))&&v("no native wasm support detected");var h,y,f,l,D,w,d,G,N=!1,p=[],M=[],Y=[],R=0,k=null;function v(A){B.onAbort&&B.onAbort(A),a(A="Aborted("+A+")"),N=!0,A+=". Build with -sASSERTIONS for more info.";var I=new WebAssembly.RuntimeError(A);throw g(I),I}var b,m,L="data:application/octet-stream;base64,",S=function(A){return A.startsWith(L)};function H(A){return Promise.resolve().then((function(){return function(A){if(A==b&&o)return new Uint8Array(o);var g=c(A);if(g)return g;throw"both async and sync fetching of the wasm failed"}(A)}))}function U(A,g,I,t){return function(A,g,I){return H(A).then((function(A){return WebAssembly.instantiate(A,g)})).then((function(A){return A})).then(I,(function(A){a("failed to asynchronously prepare wasm: ".concat(A)),v(A)}))}(g,I,t)}S(b="data:application/octet-stream;base64,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LQABIgBFDQEgAkEBaiECIANBAWohAyAAIAFGDQALCyAAIAFGC28BAX8jAEGAAmsiBSQAAkAgAiADTA0AIARBgMAEcQ0AIAUgAUH/AXEgAiADayIDQYACIANBgAJJIgEbECYaIAFFBEADQCAAIAVBgAIQHSADQYACayIDQf8BSw0ACwsgACAFIAMQHQsgBUGAAmokAAuBAwEEfyMAQfAAayICJAAgACgCACIDQQRrKAIAIQQgA0EIaygCACEFIAJCADcCUCACQgA3AlggAkIANwJgIAJCADcAZyACQgA3AkggAkEANgJEIAJBvMsANgJAIAIgADYCPCACIAE2AjggACAFaiEDAkAgBCABQQAQHgRAQQAgAyAFGyEADAELIAAgA04EQCACQgA3AC8gAkIANwIYIAJCADcCICACQgA3AiggAkIANwIQIAJBADYCDCACIAE2AgggAiAANgIEIAIgBDYCACACQQE2AjAgBCACIAMgA0EBQQAgBCgCACgCFBEJACACKAIYDQELQQAhACAEIAJBOGogA0EBQQAgBCgCACgCGBEIAAJAAkAgAigCXA4CAAECCyACKAJMQQAgAigCWEEBRhtBACACKAJUQQFGG0EAIAIoAmBBAUYbIQAMAQsgAigCUEEBRwRAIAIoAmANASACKAJUQQFHDQEgAigCWEEBRw0BCyACKAJIIQALIAJB8ABqJAAgAAvQAQEFfyMAQRBrIgYkACAGQQRqIgIQPyMAQRBrIgUkAAJ/IAItAAtBB3YEQCACKAIEDAELIAItAAtB/wBxCyEEA0ACQAJ/IAItAAtBB3YEQCACKAIADAELIAILIQMgBSABOQMAIAICfyADIARBAWogBRBGIgNBAE4EQCADIARNDQIgAwwBCyAEQQF0QQFyCyIEECsMAQsLIAIgAxArIAAgAikCADcCACAAIAIoAgg2AgggAkIANwIAIAJBADYCCCAFQRBqJAAgAhBBIAZBEGokAAuABAEDfyACQYAETwRAIAAgASACEBIgAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALCwAgASACIAAQQhoLEgAgAUEBdEHQyQBqQQIgABBCC/kBAQR/An8gARAqIQIjAEEQayIFJAACfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsiBEEATwRAAkAgAiAALQALQQd2BH8gACgCCEH/////B3FBAWsFQQoLIgMgBGtNBEAgAkUNAQJ/IAAtAAtBB3YEQCAAKAIADAELIAALIgMgBAR/IAIgA2ogAyAEEEUgASACQQAgAyAEaiABSxtBACABIANPG2oFIAELIAIQRSAAIAIgBGoiARAxIAVBADoADyABIANqIAUtAA86AAAMAQsgACADIAIgBGogA2sgBEEAIAIgARBECyAFQRBqJAAgAAwBCxAnAAsL8gICAn8BfgJAIAJFDQAgACABOgAAIAAgAmoiA0EBayABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBA2sgAToAACADQQJrIAE6AAAgAkEHSQ0AIAAgAToAAyADQQRrIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYC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ACgCCCIAIAEgAiADIAAoAgAoAhwRBgALGAAgACABKAIIQQAQHgRAIAEgAiADED0LC50BAQJ/IwBBQGoiAyQAAn9BASAAIAFBABAeDQAaQQAgAUUNABpBACABQezLABAgIgFFDQAaIANBDGpBAEE0ECYaIANBATYCOCADQX82AhQgAyAANgIQIAMgATYCCCABIANBCGogAigCAEEBIAEoAgAoAhwRBgAgAygCICIAQQFGBEAgAiADKAIYNgIACyAAQQFGCyEEIANBQGskACAECwoAIAAgAUEAEB4LTgIBfwF8IwBBEGsiAiQAIAJBADYCDCABKAIEQbTOACACQQxqEAkhAyACKAIMIgEEQCABEAILIAAgA0QAAAAAAAAAAGI6ADggAkEQaiQACzcBAX8jAEEQayICJAAgAiABLQA4NgIIIABBtM4AIAJBCGoQCDYCBCAAQbTUADYCACACQRBqJAALqAEBBX8gACgCVCIDKAIAIQUgAygCBCIEIAAoAhQgACgCHCIHayIGIAQgBkkbIgYEQCAFIAcgBhAiGiADIAMoAgAgBmoiBTYCACADIAMoAgQgBmsiBDYCBAsgBCACIAIgBEsbIgQEQCAFIAEgBBAiGiADIAMoAgAgBGoiBTYCACADIAMoAgQgBGs2AgQLIAVBADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAguVAQECfyMAQRBrIgIkAEHEABAcIQEgACgCBCIAEAEgAiAANgIIIAFBqCwgAkEIahAINgIEIAFBtNQANgIAIAFBATYCHCABQbTUADYCGCABQQE2AhQgAUG01AA2AhAgAUEBNgIMIAFBtNQANgIIIAFBADoAICABQoCAgIAwNwI8IAFBADsANyABQQA7ACsgAkEQaiQAIAELigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBSMAQSBrIgAkAAJAIAVC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBUIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAhSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBUIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIBQZH3AEkNACADIQIgBUL///////8/g0KAgICAgIDAAIQiBCEGAkAgAUGB9wBrIghBwABxBEAgAyAIQUBqrYYhBkIAIQIMAQsgCEUNACAGIAitIgeGIAJBwAAgCGutiIQhBiACIAeGIQILIAAgAjcDECAAIAY3AxgCQEGB+AAgAWsiAUHAAHEEQCAEIAFBQGqtiCEDQgAhBAwBCyABRQ0AIARBwAAgAWuthiADIAGtIgKIhCEDIAQgAoghBAsgACADNwMAIAAgBDcDCCAAKQMIQgSGIAApAwAiA0I8iIQhAiAAKQMQIAApAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIABBIGokACAJIAIgBUKAgICAgICAgIB/g4S/OQMAC0ABAn8jAEEQayICJAAgAiABNgIMIAJBtNQANgIIIAJBCGogABEBACEDIAIoAgwiAQRAIAEQAwsgAkEQaiQAIAMLBABCAAsEAEEAC/YCAQh/IwBBIGsiAyQAIAMgACgCHCIENgIQIAAoAhQhBSADIAI2AhwgAyABNgIYIAMgBSAEayIBNgIUIAEgAmohBUECIQcCfwJAAkACQCAAKAI8IANBEGoiAUECIANBDGoQDSIEBH9ByN0AIAQ2AgBBfwVBAAsEQCABIQQMAQsDQCAFIAMoAgwiBkYNAiAGQQBIBEAgASEEDAQLIAEgBiABKAIEIghLIglBA3RqIgQgBiAIQQAgCRtrIgggBCgCAGo2AgAgAUEMQQQgCRtqIgEgASgCACAIazYCACAFIAZrIQUgACgCPCAEIgEgByAJayIHIANBDGoQDSIGBH9ByN0AIAY2AgBBfwVBAAtFDQALCyAFQX9HDQELIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwBCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAdBAkYNABogAiAEKAIEawshCiADQSBqJAAgCgt+AQF/IAAEQCAALAA3QQBIBEAgACgC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NwMoIAMgBToAMyADQShqIQIgBEUNAQsgAiABQSBqIgUoAgAgBSAGQQBIGyAEEDILIAIgBGoiAkEAOgACIAJB/RQ7AAAgA0EcaiADKAIoIANBKGogAy0AMyICwEEASCIFGyADKAIsIAIgBRsQGxogAywAM0EASARAIAMoAigQGQtBoNIAKAIAIgQQKiICQfD///8HTw0CAkACQCACQQtPBEAgAkEPckEBaiIGEBwhBSADIAZBgICAgHhyNgIYIAMgBTYCECADIAI2AhQMAQsgAyACOgAbIANBEGohBSACRQ0BCyAFIAQgAhAyCyACIAVqQQA6AAAgA0EoaiABQbGWAiADQRBqEFMgAygCLCECIANBADYCLCADKAIoIQUCQCABKAIUIgRFBEAgASACNgIUIAEgBTYCEAwBCyAEEAMgAygCLCEEIAEgAjYCFCABIAU2AhAgBEUNACAEEAMgA0EANgIsCyADLAAbQQBIBEAgAygCEBAZCwJAIAMsACdBAE4EQCADIAMoAiQ2AgggAyADKQIcNwMADAELIAMoAhwhBiADKAIgIQUjAEEQayIEJAACQAJAAkAgBUELSQRAIAMhAiADIAMtAAtBgAFxIAVB/wBxcjoACyADIAMtAAtB/wBxOgALDAELIAVB7////wdLDQEgBEEIaiADIAVBC08EfyAFQRBqQXBxIgIgAkEBayICIAJBC0YbBUEKC0EBahAwIAQoAgwaIAMgBCgCCCICNgIAIAMgAygCCEGAgICAeHEgBCgCDEH/////B3FyNgIIIAMgAygCCEGAgICAeHI2AgggAyAFNgIECyACIAYgBUEBahAjIARBEGokAAwBCxAnAAsLIANBKGogAUGwlgIgAxBTIAMoAiwhAiADQQA2AiwgAygCKCEFAkAgASgCDCIERQRAIAEgAjYCDCABIAU2AggMAQsgBBADIAMoAiwhBCABIAI2AgwgASAFNgIIIARFDQAgBBADIANBADYCLAsgAywAC0EASARAIAMoAgAQGQsgA0EANgIoQeTTAC0AAEEBcUUEQEEBQYguQQAQBSECQeTTAEEBOgAAQeDTACACNgIACwJ/QeDTACgCACABKAIEQeAJIANBKGpBABAEIhBEAAAAAAAA8EFjIBBEAAAAAAAAAABmcQRAIBCrDAELQQALIQIgAygCKCIFBEAgBRACCyABKAIcIgUEQCAFEAMLIAEgAjYCHCABQbTUADYCGCACEAEgAyACNgIoIAEoAhQiAhABIAMgAjYCMCADQQA2AjxB7NMALQAAQQFxRQRAQQNBjC5BABAFIQJB7NMAQQE6AABB6NMAIAI2AgALQejTACgCACABKAIEQfAIIANBPGogA0EoahAEGiADKAI8IgIEQCACEAILIAEoAhwiAhABIAMgAjYCKCABKAIMIgIQASADIAI2AjAgA0EANgI8QezTAC0AAEEBcUUEQEEDQYwuQQAQBSECQezTAEEBOgAAQejTACACNgIAC0Ho0wAoAgAgASgCBEHwCCADQTxqIANBKGoQBBogAygCPCICBEAgAhACCyABKAIcIgIQASADIAI2AiggA0EANgI8QczTAC0AAEEBcUUEQEECQZwtQQAQBSECQczTAEEBOgAAQcjTACACNgIAC0HI0wAoAgAgASgCBEHGCSADQTxqIANBKGoQBBogAygCPCICBEAgAhACCyAAIAEoAhwiATYCBCAAQbTUADYCACABEAEgAywAJ0EASARAIAMoAhwQGQsgA0FAayQADwsQNwALEDcACxA3AAvYAgECfyMAQRBrIgEkACAAKAIUIgIQASABIAI2AgggAUEANgIEQczTAC0AAEEBcUUEQEECQZwtQQAQBSECQczTAEEBOgAAQcjTACACNgIAC0HI0wAoAgAgACgCBEH9CCABQQRqIAFBCGoQBBogASgCBCICBEAgAhACCyAAKAIMIgIQASABIAI2AgggAUEANgIEQczTAC0AAEEBcUUEQEECQZwtQQAQBSECQczTAEEBOgAAQcjTACACNgIAC0HI0wAoAgAgACgCBEH9CCABQQRqIAFBCGoQBBogASgCBCICBEAgAhACCyAAKAIcIgIQASABIAI2AgggAUEANgIEQczTAC0AAEEBcUUEQEECQZwtQQAQBSECQczTAEEBOgAAQcjTACACNgIAC0HI0wAoAgAgACgCBEHSCSABQQRqIAFBCGoQBBogASgCBCIABEAgABACCyABQRBqJAALBQBBxCsLNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRAwALLwACfyAALAArQQBIBEAgAEEANgIkIAAoAiAMAQsgAEEAOgArIABBIGoLQQA6AAALPQEBfyAB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ZWF0ZVByb2dyYW0AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0V2F0ZXJNYXJrAHN0b3BXYXRlck1hcmsAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGluZgAlZgBjbG9zZQBkb3VibGUAdmJNb2RlAHNoYWRlclNvdXJjZQB2b2lkAHNhbXBsZUNvbG9yICs9IHRleHR1cmUoZnJhbWUsIGJsdXJDb29yZGluYXRlc1sATkFOAElORgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgB2ZWMyIGMgPSB2X3RleENvb3JkOwB2ZWMyIGMgPSB2ZWMyKDEuMCAtIHZfdGV4Q29vcmQueCwgdl90ZXhDb29yZC55KTsAQWxsSW4xAC4ALjAsAC4wKSpvKSoAKG51bGwpACkqby55KTsgICAgdmVjMiBjb29yZDIgPSB2ZWMyKGZsb2F0KAAgICAgYyA9IHZlYzIodl90ZXhDb29yZC54LCAxLjAgLSB2X3RleENvb3JkLnkpOyAgICB2ZWMyIGNvb3JkMSA9IHZlYzIoZmxvYXQoACksIChjLnkgLWNvb3JkMS55KSAvIG8ueSAvIGZsb2F0KAApKm8ueSk7ICAgIGlmIChjLnggPiBjb29yZDEueCAmJiBjLnggPCBjb29yZDIueCAmJiBjLnkgPiBjb29yZDEueSAmJiBjLnkgPCBjb29yZDIueSkgeyAgICAgIHZlYzQgd2F0ZXJDb2xvciA9IHRleHR1cmUod2F0ZXJNYXJrLCB2ZWMyKChjLnggLSBjb29yZDEueCkgIC8gby54IC8gZmxvYXQoACkgKiBvLngsIGZsb2F0KABvdXRDb2xvci5yZ2IgKz0gdmVjMygAKTsgICAgICAgdmVjMyBzbW9vdGhDb2xvciA9IG91dENvbG9yLnJnYiArIChvdXRDb2xvci5yZ2ItdmVjMyhoaWdoUGFzcykpKmFscGhhKjAuMTsgICAgICAgc21vb3RoQ29sb3IgPSBjbGFtcChwb3coc21vb3RoQ29sb3IsIHZlYzMoAGcrPUcoYyx2ZWMyKAAgICAgICB2ZWMyIG9mZnNldCA9IHZlYzIoAF0gPSB2X3RleENvb3JkLnh5ICsgb2Zmc2V0ICogdmVjMigAOyAAKSksIHZlYzMoMC4wKSwgdmVjMygxLjApKTsgICAgICB2ZWMzIHNjcmVlbiA9IHZlYzMoMS4wKSAtICh2ZWMzKDEuMCktc21vb3RoQ29sb3IpICogKHZlYzMoMS4wKS1vdXRDb2xvci5yZ2IpOyAgICAgICB2ZWMzIGxpZ2h0ZW4gPSBtYXgoc21vb3RoQ29sb3IsIG91dENvbG9yLnJnYik7ICAgICAgIHZlYzMgYmVhdXR5Q29sb3IgPSBtaXgobWl4KG91dENvbG9yLnJnYiwgc2NyZWVuLCBhbHBoYSksIGxpZ2h0ZW4sIGFscGhhKTsgICAgICBvdXRDb2xvci5yZ2IgPSBtaXgob3V0Q29sb3IucmdiLCBiZWF1dHlDb2xvciwgAAogICAgICBjb25zdCBtYXQzIHNhdHVyYXRlTWF0cml4ID0gbWF0MygxLjExMDIsLTAuMDU5OCwtMC4wNjEsLTAuMDc3NCwxLjA4MjYsLTAuMTE4NiwtMC4wMjI4LC0wLjAyMjgsMS4xNzcyKTsKICAgICAgdmVjMyB3YXJtQ29sb3IgPSBvdXRDb2xvci5yZ2IgKiBzYXR1cmF0ZU1hdHJpeDsKICAgICAgb3V0Q29sb3IucmdiID0gbWl4KG91dENvbG9yLnJnYiwgd2FybUNvbG9yLCAAICAgICAgc2FtcGxlQ29sb3IgPSBzYW1wbGVDb2xvciAvIDYyLjA7ICAgICAgIGZsb2F0IGhpZ2hQYXNzID0gb3V0Q29sb3IuZyAtIHNhbXBsZUNvbG9yICsgMC41OyAgICAgICBjb25zdCBoaWdocCB2ZWMzIFcgPSB2ZWMzKDAuMjk5LDAuNTg3LDAuMTE0KTsgICAgICBmbG9hdCBsdW1pbmFuY2UgPSBkb3Qob3V0Q29sb3IucmdiLCBXKTsgICAgICAgZmxvYXQgYWxwaGEgPSBwb3cobHVtaW5hbmNlLCAAXSkuZyAqIAApKSk7ICAgICAgb3V0Q29sb3IgPSBtaXgob3V0Q29sb3Isd2F0ZXJDb2xvciwgIHdhdGVyQ29sb3IuYSk7ICAgIH0gICAgACk7ICAgIAApOyAgICAgIHZlYzIgYmx1ckNvb3JkaW5hdGVzWzI0XTsgICAgICAAICAgICAgZmxvYXQgc2FtcGxlQ29sb3IgPSBvdXRDb2xvci5nICogMjIuMDsgICAgICAgACN2ZXJzaW9uIDMwMCBlcwogICAgcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwogICAgdW5pZm9ybSBzYW1wbGVyMkQgZnJhbWU7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCBtYXNrOwogICAgdW5pZm9ybSBzYW1wbGVyMkQgYmc7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCB3YXRlck1hcms7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCBsYXN0TWFzazsKICAgIHVuaWZvcm0gbWF0NCB1X29mZnNldE1hdHJpeDsKICAgIGluIHZlYzIgdl90ZXhDb29yZDsKICAgIG91dCB2ZWM0IG91dENvbG9yOwogICAgdmVjNCBHKHZlYzIgYyx2ZWMyIHMpewogICAgICByZXR1cm4gdGV4dHVyZShmcmFtZSx0ZXh0dXJlKG1hc2ssYytzKS5yPjAuMz9jOmMrcyk7CiAgICB9CiAgICB2b2lkIG1haW4oKSB7CiAgICAgIAAKICAgICAgdmVjMiBvZmZzZXRNYXNrVVYgPSAodV9vZmZzZXRNYXRyaXggKiB2ZWM0KGMsIDAsIDEpKS54eTsKICAgICAgZmxvYXQgaXNJbnNpZGVYID0gKG9mZnNldE1hc2tVVi54ID49IDAuMCkgJiYgKG9mZnNldE1hc2tVVi54IDw9IDEuMCkgPyAxLjAgOiAwLjA7CiAgICAgIGZsb2F0IGlzSW5zaWRlWSA9IChvZmZzZXRNYXNrVVYueSA+PSAwLjApICYmIChvZmZzZXRNYXNrVVYueSA8PSAxLjApID8gMS4wIDogMC4wOwogICAgICBmbG9hdCBpc0luc2lkZSA9IGlzSW5zaWRlWCAqIGlzSW5zaWRlWTsKICAgICAgZmxvYXQgbWFza2VkQWxwaGEgPSB0ZXh0dXJlKG1hc2ssIG9mZnNldE1hc2tVVikuciAqIGlzSW5zaWRlOwogICAgICBtYXNrZWRBbHBoYSA9IG1hc2tlZEFscGhhPDAuNT8yLjAqbWFza2VkQWxwaGEqbWFza2VkQWxwaGE6MS4wLTIuMCooMS4wLW1hc2tlZEFscGhhKSooMS4wLW1hc2tlZEFscGhhKTsKICAgICAgc3JjX2NvbG9yID0gdGV4dHVyZShmcmFtZSwgb2Zmc2V0TWFza1VWICwgaXNJbnNpZGUpOwogICAgICBvdXRDb2xvciA9IG1peCh0ZXh0dXJlKGJnLCBjKSwgc3JjX2NvbG9yLCBtYXNrZWRBbHBoYSk7CiAgICAACiAgICB2ZWM0IGcgPSB2ZWM0KDAuMCk7CiAgICAACiAgICAgIGMueSA9IDEuMCAtIGMueTsKICAgICAgdmVjNCBzcmNfY29sb3IgPSB0ZXh0dXJlKGZyYW1lLCBjKTsKICAgICAgZmxvYXQgYSA9IHRleHR1cmUobWFzaywgYykucjsKICAgICAgYSA9IGE8MC41PzIuMCphKmE6MS4wLTIuMCooMS4wLWEpKigxLjAtYSk7CiAgICAgIC8vIGZsb2F0IGEyID0gdGV4dHVyZShsYXN0TWFzaywgYykuYTsKICAgICAgLy8gYTIgPSBhMjwwLjU/Mi4wKmEyKmEyOjEuMC0yLjAqKDEuMC1hMikqKDEuMC1hMik7CiAgICAgIC8vIGZsb2F0IGRlbHRhID0gYSAtIGEyOwogICAgICAvLyBpZiAoZGVsdGEgPCAwLjI1ICYmIGRlbHRhID4gLTAuMjUpCiAgICAgIC8vIHsKICAgICAgLy8gICAgIGEgPSBhICsgMC41KmRlbHRhOwogICAgICAvLyB9CiAgICAgIAogICAgICB2ZWMyIG8gPSAxLjAgLyB2ZWMyKHRleHR1cmVTaXplKGZyYW1lLCAwKSk7CiAgICAACiAgICAgIG91dENvbG9yID0gZzsKICAAI3ZlcnNpb24gMzAwIGVzCmluIHZlYzIgYV9wb3NpdGlvbjsKaW4gdmVjMiBhX3RleENvb3JkOwoKdW5pZm9ybSBtYXQ0IHVfdGV4dHVyZU1hdHJpeDsKCm91dCB2ZWMyIHZfdGV4Q29vcmQ7CnZvaWQgbWFpbigpIHsKICBnbF9Qb3NpdGlvbiA9IHZlYzQoYV9wb3NpdGlvbi54LCBhX3Bvc2l0aW9uLnksIDAsIDEpOwogIHZfdGV4Q29vcmQgPSh1X3RleHR1cmVNYXRyaXggKiB2ZWM0KGFfdGV4Q29vcmQsIDAsIDEpKS54eTsKfQoAc2V0QmVhdXR5ICVmICVmICVmICVmICVmCgBvdXRDb2xvciA9IHNyY19jb2xvcjsKAG91dENvbG9yID0gbWl4KHZlYzQoMC4wLDEuMCwwLjAsMS4wKSxzcmNfY29sb3IsYSk7CgA2QWxsSW4xAADgJwAAuxUAAFA2QWxsSW4xAAAAAGQoAADMFQAAAAAAAMQVAABQSzZBbGxJbjEAAABkKAAA6BUAAAEAAADEFQAAaWkAdgB2aQDYFQAAKBYAAE4xMGVtc2NyaXB0ZW4zdmFsRQAA4CcAABQWAABpaWkAdmlpaQAAAAAAAAAAHCcAANgVAADQJwAA0CcAANAnAADQJwAA0CcAAHZpaWRkZGRkAEHwLAvICBwnAADYFQAA0CcAANAnAADQJwAA0CcAAHZpaWRkZGQAHCcAANgVAAB2aWkAHCcAACgWAAAoFgAA2BUAACgWAAB8JwAAHCcAACgWAAAAFwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAOAnAADAFgAAKBYAABwnAAAoFgAAKBYAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAADgJwAAGBcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAADgJwAAYBcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAA4CcAAKgXAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAOAnAAD0FwAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJY0VFAADgJwAAQBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWFFRQAA4CcAAGgYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUAAOAnAACQGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJc0VFAADgJwAAuBgAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXRFRQAA4CcAAOAYAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUAAOAnAAAIGQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJakVFAADgJwAAMBkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWxFRQAA4CcAAFgZAABOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUAAOAnAACAGQAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJeEVFAADgJwAAqBkAAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXlFRQAA4CcAANAZAABOMTBlbXNj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")||(m=b,b=B.locateFile?B.locateFile(m,n):n+m);var K=function(A){for(;A.length>0;)A.shift()(B)};function J(A){this.excPtr=A,this.ptr=A-24,this.set_type=function(A){w[this.ptr+4>>2]=A},this.get_type=function(){return w[this.ptr+4>>2]},this.set_destructor=function(A){w[this.ptr+8>>2]=A},this.get_destructor=function(){return w[this.ptr+8>>2]},this.set_caught=function(A){A=A?1:0,h[this.ptr+12|0]=A},this.get_caught=function(){return 0!=h[this.ptr+12|0]},this.set_rethrown=function(A){A=A?1:0,h[this.ptr+13|0]=A},this.get_rethrown=function(){return 0!=h[this.ptr+13|0]},this.init=function(A,g){this.set_adjusted_ptr(0),this.set_type(A),this.set_destructor(g)},this.set_adjusted_ptr=function(A){w[this.ptr+16>>2]=A},this.get_adjusted_ptr=function(){return w[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ug(this.get_type()))return w[this.excPtr>>2];var A=this.get_adjusted_ptr();return 0!==A?A:this.excPtr}}B.noExitRuntime;var T,Z,x,P=function(A){for(var g="",I=A;y[I];)g+=T[y[I++]];return g},j={},W={},O={},z=function(A){throw new Z(A)},V=function(A){throw new x(A)},X=function(A,g,I){function t(g){var t=I(g);t.length!==A.length&&V("Mismatched type converter count");for(var C=0;C<A.length;++C)q(A[C],t[C])}A.forEach((function(A){O[A]=g}));var C=new Array(g.length),B=[],r=0;g.forEach((function(A,g){W.hasOwnProperty(A)?C[g]=W[A]:(B.push(A),j.hasOwnProperty(A)||(j[A]=[]),j[A].push((function(){C[g]=W[A],++r===B.length&&t(C)})))})),0===B.length&&t(C)};function q(A,g){var I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in g))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(A,g){var I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},t=g.name;if(A||z('type "'.concat(t,'" must have a positive integer typeid pointer')),W.hasOwnProperty(A)){if(I.ignoreDuplicateRegistrations)return;z("Cannot register type '".concat(t,"' twice"))}if(W[A]=g,delete O[A],j.hasOwnProperty(A)){var C=j[A];delete j[A],C.forEach((function(A){return A()}))}}(A,g,I)}var $,_=function(A){z(A.$$.ptrType.registeredClass.name+" instance already deleted")},AA=!1,gA=function(A){},IA=function(A){A.count.value-=1,0===A.count.value&&function(A){A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)}(A)},tA=function(A,g,I){if(g===I)return A;if(void 0===I.baseClass)return null;var t=tA(A,g,I.baseClass);return null===t?null:I.downcast(t)},CA={},BA=function(){return Object.keys(oA).length},rA=function(){var A=[];for(var g in oA)oA.hasOwnProperty(g)&&A.push(oA[g]);return A},eA=[],QA=function(){for(;eA.length;){var A=eA.pop();A.$$.deleteScheduled=!1,A.delete()}},nA=function(A){$=A,eA.length&&$&&$(QA)},oA={},EA=function(A,g){return g=function(A,g){for(void 0===g&&z("ptr should not be undefined");A.baseClass;)g=A.upcast(g),A=A.baseClass;return g}(A,g),oA[g]},iA=function(A,g){return g.ptrType&&g.ptr||V("makeClassHandle requires ptr and ptrType"),!!g.smartPtrType!=!!g.smartPtr&&V("Both smartPtrType and smartPtr must be specified"),g.count={value:1},sA(Object.create(A,{$$:{value:g}}))};function aA(A){var g=this.getPointee(A);if(!g)return this.destructor(A),null;var I=EA(this.registeredClass,g);if(void 0!==I){if(0===I.$$.count.value)return I.$$.ptr=g,I.$$.smartPtr=A,I.clone();var t=I.clone();return this.destructor(A),t}function C(){return this.isSmartPointer?iA(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:g,smartPtrType:this,smartPtr:A}):iA(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var B,r=this.registeredClass.getActualType(g),e=CA[r];if(!e)return C.call(this);B=this.isConst?e.constPointerType:e.pointerType;var Q=tA(g,this.registeredClass,B.registeredClass);return null===Q?C.call(this):this.isSmartPointer?iA(B.registeredClass.instancePrototype,{ptrType:B,ptr:Q,smartPtrType:this,smartPtr:A}):iA(B.registeredClass.instancePrototype,{ptrType:B,ptr:Q})}var sA=function(A){return"undefined"==typeof FinalizationRegistry?(sA=function(A){return A},A):(AA=new FinalizationRegistry((function(A){IA(A.$$)})),gA=function(A){return AA.unregister(A)},(sA=function(A){var g=A.$$;if(g.smartPtr){var I={$$:g};AA.register(A,I,A)}return A})(A))};function cA(){}var uA=function(A,g){return Object.defineProperty(g,"name",{value:A})},hA=function(A,g,I){if(void 0===A[g].overloadTable){var t=A[g];A[g]=function(){return A[g].overloadTable.hasOwnProperty(arguments.length)||z("Function '".concat(I,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(A[g].overloadTable,")!")),A[g].overloadTable[arguments.length].apply(this,arguments)},A[g].overloadTable=[],A[g].overloadTable[t.argCount]=t}};function yA(A,g,I,t,C,B,r,e){this.name=A,this.constructor=g,this.instancePrototype=I,this.rawDestructor=t,this.baseClass=C,this.getActualType=B,this.upcast=r,this.downcast=e,this.pureVirtualFunctions=[]}var fA=function(A,g,I){for(;g!==I;)g.upcast||z("Expected null or instance of ".concat(I.name,", got an instance of ").concat(g.name)),A=g.upcast(A),g=g.baseClass;return A};function lA(A,g){if(null===g)return this.isReference&&z("null is not a valid ".concat(this.name)),0;g.$$||z('Cannot pass "'.concat(WA(g),'" as a ').concat(this.name)),g.$$.ptr||z("Cannot pass deleted object as a pointer of type ".concat(this.name));var I=g.$$.ptrType.registeredClass;return fA(g.$$.ptr,I,this.registeredClass)}function DA(A,g){var I;if(null===g)return this.isReference&&z("null is not a valid ".concat(this.name)),this.isSmartPointer?(I=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,I),I):0;g.$$||z('Cannot pass "'.concat(WA(g),'" as a ').concat(this.name)),g.$$.ptr||z("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&g.$$.ptrType.isConst&&z("Cannot convert argument of type ".concat(g.$$.smartPtrType?g.$$.smartPtrType.name:g.$$.ptrType.name," to parameter type ").concat(this.name));var t=g.$$.ptrType.registeredClass;if(I=fA(g.$$.ptr,t,this.registeredClass),this.isSmartPointer)switch(void 0===g.$$.smartPtr&&z("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:g.$$.smartPtrType===this?I=g.$$.smartPtr:z("Cannot convert argument of type ".concat(g.$$.smartPtrType?g.$$.smartPtrType.name:g.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:I=g.$$.smartPtr;break;case 2:if(g.$$.smartPtrType===this)I=g.$$.smartPtr;else{var C=g.clone();I=this.rawShare(I,TA.toHandle((function(){return C.delete()}))),null!==A&&A.push(this.rawDestructor,I)}break;default:z("Unsupporting sharing policy")}return I}function wA(A,g){if(null===g)return this.isReference&&z("null is not a valid ".concat(this.name)),0;g.$$||z('Cannot pass "'.concat(WA(g),'" as a ').concat(this.name)),g.$$.ptr||z("Cannot pass deleted object as a pointer of type ".concat(this.name)),g.$$.ptrType.isConst&&z("Cannot convert argument of type ".concat(g.$$.ptrType.name," to parameter type ").concat(this.name));var I=g.$$.ptrType.registeredClass;return fA(g.$$.ptr,I,this.registeredClass)}function dA(A){return this.fromWireType(w[A>>2])}function GA(A,g,I,t,C,B,r,e,Q,n,o){this.name=A,this.registeredClass=g,this.isReference=I,this.isConst=t,this.isSmartPointer=C,this.pointeeType=B,this.sharingPolicy=r,this.rawGetPointee=e,this.rawConstructor=Q,this.rawShare=n,this.rawDestructor=o,C||void 0!==g.baseClass?this.toWireType=DA:t?(this.toWireType=lA,this.destructorFunction=null):(this.toWireType=wA,this.destructorFunction=null)}var NA,pA,MA=[],YA=function(A){var g=MA[A];return g||(A>=MA.length&&(MA.length=A+1),MA[A]=g=NA.get(A)),g},FA=function(A,g,I){return A.includes("j")?function(A,g,I){var t=B["dynCall_"+A];return I&&I.length?t.apply(null,[g].concat(I)):t.call(null,g)}(A,g,I):YA(g).apply(null,I)},RA=function(A,g){var I,t,C,B=(A=P(A)).includes("j")?(I=A,t=g,C=[],function(){return C.length=0,Object.assign(C,arguments),FA(I,t,C)}):YA(g);return"function"!=typeof B&&z("unknown function pointer with signature ".concat(A,": ").concat(g)),B},kA=function(A){var g=sg(A),I=P(g);return cg(g),I},vA=function(A,g){var I=[],t={};throw g.forEach((function A(g){t[g]||W[g]||(O[g]?O[g].forEach(A):(I.push(g),t[g]=!0))})),new pA("".concat(A,": ")+I.map(kA).join([", "]))},bA=function(A,g){for(var I=[],t=0;t<A;t++)I.push(w[g+4*t>>2]);return I},mA=function(A){for(;A.length;){var g=A.pop();A.pop()(g)}};function LA(A,g,I,t,C,B){var r=g.length;r<2&&z("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var e=null!==g[1]&&null!==I,Q=!1,n=1;n<g.length;++n)if(null!==g[n]&&void 0===g[n].destructorFunction){Q=!0;break}var o="void"!==g[0].name,E=r-2,i=new Array(E),a=[],s=[];return uA(A,(function(){var I;arguments.length!==E&&z("function ".concat(A," called with ").concat(arguments.length," arguments, expected ").concat(E)),s.length=0,a.length=e?2:1,a[0]=C,e&&(I=g[1].toWireType(s,this),a[1]=I);for(var B=0;B<E;++B)i[B]=g[B+2].toWireType(s,arguments[B]),a.push(i[B]);return function(A){if(Q)mA(s);else for(var t=e?1:2;t<g.length;t++){var C=1===t?I:i[t-2];null!==g[t].destructorFunction&&g[t].destructorFunction(C)}if(o)return g[0].fromWireType(A)}(t.apply(null,a))}))}var SA=function(A,g,I){return A instanceof Object||z("".concat(I,' with invalid "this": ').concat(A)),A instanceof g.registeredClass.constructor||z("".concat(I,' incompatible with "this" of type ').concat(A.constructor.name)),A.$$.ptr||z("cannot call emscripten binding method ".concat(I," on deleted object")),fA(A.$$.ptr,A.$$.ptrType.registeredClass,g.registeredClass)};function HA(){this.allocated=[void 0],this.freelist=[]}var UA=new HA,KA=function(A){A>=UA.reserved&&0==--UA.get(A).refcount&&UA.free(A)},JA=function(){for(var A=0,g=UA.reserved;g<UA.allocated.length;++g)void 0!==UA.allocated[g]&&++A;return A},TA={toValue:function(A){return A||z("Cannot use deleted val. handle = "+A),UA.get(A).value},toHandle:function(A){switch(A){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return UA.allocate({refcount:1,value:A})}}};function ZA(A){return this.fromWireType(D[A>>2])}var xA,PA,jA,WA=function(A){if(null===A)return"null";var g=s(A);return"object"===g||"array"===g||"function"===g?A.toString():""+A},OA=function(A,g){switch(g){case 4:return function(A){return this.fromWireType(d[A>>2])};case 8:return function(A){return this.fromWireType(G[A>>3])};default:throw new TypeError("invalid float width (".concat(g,"): ").concat(A))}},zA=function(A,g,I){switch(g){case 1:return I?function(A){return h[0|A]}:function(A){return y[0|A]};case 2:return I?function(A){return f[A>>1]}:function(A){return l[A>>1]};case 4:return I?function(A){return D[A>>2]}:function(A){return w[A>>2]};default:throw new TypeError("invalid integer width (".concat(g,"): ").concat(A))}},VA="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,XA=function(A,g,I){for(var t=g+I,C=g;A[C]&&!(C>=t);)++C;if(C-g>16&&A.buffer&&VA)return VA.decode(A.subarray(g,C));for(var B="";g<C;){var r=A[g++];if(128&r){var e=63&A[g++];if(192!=(224&r)){var Q=63&A[g++];if((r=224==(240&r)?(15&r)<<12|e<<6|Q:(7&r)<<18|e<<12|Q<<6|63&A[g++])<65536)B+=String.fromCharCode(r);else{var n=r-65536;B+=String.fromCharCode(55296|n>>10,56320|1023&n)}}else B+=String.fromCharCode((31&r)<<6|e)}else B+=String.fromCharCode(r)}return B},qA="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,$A=function(A,g){for(var I=A,t=I>>1,C=t+g/2;!(t>=C)&&l[t];)++t;if((I=t<<1)-A>32&&qA)return qA.decode(y.subarray(A,I));for(var B="",r=0;!(r>=g/2);++r){var e=f[A+2*r>>1];if(0==e)break;B+=String.fromCharCode(e)}return B},_A=function(A,g,I){if(void 0===I&&(I=2147483647),I<2)return 0;for(var t=g,C=(I-=2)<2*A.length?I/2:A.length,B=0;B<C;++B){var r=A.charCodeAt(B);f[g>>1]=r,g+=2}return f[g>>1]=0,g-t},Ag=function(A){return 2*A.length},gg=function(A,g){for(var I=0,t="";!(I>=g/4);){var C=D[A+4*I>>2];if(0==C)break;if(++I,C>=65536){var B=C-65536;t+=String.fromCharCode(55296|B>>10,56320|1023&B)}else t+=String.fromCharCode(C)}return t},Ig=function(A,g,I){if(void 0===I&&(I=2147483647),I<4)return 0;for(var t=g,C=t+I-4,B=0;B<A.length;++B){var r=A.charCodeAt(B);if(r>=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&A.charCodeAt(++B)),D[g>>2]=r,(g+=4)+4>C)break}return D[g>>2]=0,g-t},tg=function(A){for(var g=0,I=0;I<A.length;++I){var t=A.charCodeAt(I);t>=55296&&t<=57343&&++I,g+=4}return g},Cg=function(A,g){var I=W[A];return void 0===I&&z(g+" has unknown type "+kA(A)),I},Bg=function(A,g,I){var t=[],C=A.toWireType(t,I);return t.length&&(w[g>>2]=TA.toHandle(t)),C},rg={},eg=[],Qg=Reflect.construct,ng=[null,[],[]];!function(){for(var A=new Array(256),g=0;g<256;++g)A[g]=String.fromCharCode(g);T=A}(),Z=B.BindingError=function(A){function g(A){var I;return C(this,g),(I=t(this,g,[A])).name="BindingError",I}return Q(g,A),r(g)}(u(Error)),x=B.InternalError=function(A){function g(A){var I;return C(this,g),(I=t(this,g,[A])).name="InternalError",I}return Q(g,A),r(g)}(u(Error)),Object.assign(cA.prototype,{isAliasOf:function(A){if(!(this instanceof cA))return!1;if(!(A instanceof cA))return!1;var g=this.$$.ptrType.registeredClass,I=this.$$.ptr;A.$$=A.$$;for(var t=A.$$.ptrType.registeredClass,C=A.$$.ptr;g.baseClass;)I=g.upcast(I),g=g.baseClass;for(;t.baseClass;)C=t.upcast(C),t=t.baseClass;return g===t&&I===C},clone:function(){if(this.$$.ptr||_(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A,g=sA(Object.create(Object.getPrototypeOf(this),{$$:{value:(A=this.$$,{count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType})}}));return g.$$.count.value+=1,g.$$.deleteScheduled=!1,g},delete:function(){this.$$.ptr||_(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&z("Object already scheduled for deletion"),gA(this),IA(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted:function(){return!this.$$.ptr},deleteLater:function(){return this.$$.ptr||_(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&z("Object already scheduled for deletion"),eA.push(this),1===eA.length&&$&&$(QA),this.$$.deleteScheduled=!0,this}}),B.getInheritedInstanceCount=BA,B.getLiveInheritedInstances=rA,B.flushPendingDeletes=QA,B.setDelayFunction=nA,Object.assign(GA.prototype,{getPointee:function(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A},destructor:function(A){this.rawDestructor&&this.rawDestructor(A)},argPackAdvance:8,readValueFromPointer:dA,deleteObject:function(A){null!==A&&A.delete()},fromWireType:aA}),pA=B.UnboundTypeError=(xA=Error,(jA=uA(PA="UnboundTypeError",(function(A){this.name=PA,this.message=A;var g=new Error(A).stack;void 0!==g&&(this.stack=this.toString()+"\n"+g.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(xA.prototype),jA.prototype.constructor=jA,jA.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},jA),Object.assign(HA.prototype,{get:function(A){return this.allocated[A]},has:function(A){return void 0!==this.allocated[A]},allocate:function(A){var g=this.freelist.pop()||this.allocated.length;return this.allocated[g]=A,g},free:function(A){this.allocated[A]=void 0,this.freelist.push(A)}}),UA.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),UA.reserved=UA.allocated.length,B.count_emval_handles=JA;var og,Eg={w:function(A,g,I){throw new J(A).init(g,I),A},q:function(A,g,I,t,C){},u:function(A,g,I,t){q(A,{name:g=P(g),fromWireType:function(A){return!!A},toWireType:function(A,g){return g?I:t},argPackAdvance:8,readValueFromPointer:function(A){return this.fromWireType(y[A])},destructorFunction:null})},y:function(A,g,I,t,C,r,e,Q,n,o,E,i,a){E=P(E),r=RA(C,r),Q&&(Q=RA(e,Q)),o&&(o=RA(n,o)),a=RA(i,a);var s=function(A){if(void 0===A)return"_unknown";var g=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return g>=48&&g<=57?"_".concat(A):A}(E);!function(A,g,I){B.hasOwnProperty(A)?(z("Cannot register public name '".concat(A,"' twice")),hA(B,A,A),B.hasOwnProperty(I)&&z("Cannot register multiple overloads of a function with the same number of arguments (".concat(I,")!")),B[A].overloadTable[I]=g):B[A]=g}(s,(function(){vA("Cannot construct ".concat(E," due to unbound types"),[t])})),X([A,g,I],t?[t]:[],(function(g){var I,C;g=g[0],C=t?(I=g.registeredClass).instancePrototype:cA.prototype;var e=uA(E,(function(){if(Object.getPrototypeOf(this)!==n)throw new Z("Use 'new' to construct "+E);if(void 0===i.constructor_body)throw new Z(E+" has no accessible constructor");var A=i.constructor_body[arguments.length];if(void 0===A)throw new Z("Tried to invoke ctor of ".concat(E," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(i.constructor_body).toString(),") parameters instead!"));return A.apply(this,arguments)})),n=Object.create(C,{constructor:{value:e}});e.prototype=n;var i=new yA(E,e,n,a,I,r,Q,o);i.baseClass&&(void 0===i.baseClass.__derivedClasses&&(i.baseClass.__derivedClasses=[]),i.baseClass.__derivedClasses.push(i));var c=new GA(E,i,!0,!1,!1),u=new GA(E+"*",i,!1,!1,!1),h=new GA(E+" const*",i,!1,!0,!1);return CA[A]={pointerType:u,constPointerType:h},function(A,g,I){B.hasOwnProperty(A)||V("Replacing nonexistant public symbol"),void 0!==B[A].overloadTable&&void 0!==I||(B[A]=g,B[A].argCount=I)}(s,e),[c,u,h]}))},x:function(A,g,I,t,C,B){var r=bA(g,I);C=RA(t,C),X([],[A],(function(A){A=A[0];var I="constructor ".concat(A.name);if(void 0===A.registeredClass.constructor_body&&(A.registeredClass.constructor_body=[]),void 0!==A.registeredClass.constructor_body[g-1])throw new Z("Cannot register multiple constructors with identical number of parameters (".concat(g-1,") for class '").concat(A.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return A.registeredClass.constructor_body[g-1]=function(){vA("Cannot construct ".concat(A.name," due to unbound types"),r)},X([],r,(function(t){return t.splice(1,0,null),A.registeredClass.constructor_body[g-1]=LA(I,t,null,C,B),[]})),[]}))},h:function(A,g,I,t,C,B,r,e,Q){var n,o,E=bA(I,t);g=P(g),o=(n=(n=g).trim()).indexOf("("),g=-1!==o?n.substr(0,o):n,B=RA(C,B),X([],[A],(function(A){A=A[0];var t="".concat(A.name,".").concat(g);function C(){vA("Cannot call ".concat(t," due to unbound types"),E)}g.startsWith("@@")&&(g=Symbol[g.substring(2)]),e&&A.registeredClass.pureVirtualFunctions.push(g);var Q=A.registeredClass.instancePrototype,n=Q[g];return void 0===n||void 0===n.overloadTable&&n.className!==A.name&&n.argCount===I-2?(C.argCount=I-2,C.className=A.name,Q[g]=C):(hA(Q,g,t),Q[g].overloadTable[I-2]=C),X([],E,(function(C){var e=LA(t,C,A,B,r);return void 0===Q[g].overloadTable?(e.argCount=I-2,Q[g]=e):Q[g].overloadTable[I-2]=e,[]})),[]}))},k:function(A,g,I,t,C,B,r,e,Q,n){g=P(g),C=RA(t,C),X([],[A],(function(A){A=A[0];var t="".concat(A.name,".").concat(g),o={get:function(){vA("Cannot access ".concat(t," due to unbound types"),[I,r])},enumerable:!0,configurable:!0};return o.set=Q?function(){return vA("Cannot access ".concat(t," due to unbound types"),[I,r])}:function(A){return z(t+" is a read-only property")},Object.defineProperty(A.registeredClass.instancePrototype,g,o),X([],Q?[I,r]:[I],(function(I){var r=I[0],o={get:function(){var g=SA(this,A,t+" getter");return r.fromWireType(C(B,g))},enumerable:!0};if(Q){Q=RA(e,Q);var E=I[1];o.set=function(g){var I=SA(this,A,t+" setter"),C=[];Q(n,I,E.toWireType(C,g)),mA(C)}}return Object.defineProperty(A.registeredClass.instancePrototype,g,o),[]})),[]}))},t:function(A,g){q(A,{name:g=P(g),fromWireType:function(A){var g=TA.toValue(A);return KA(A),g},toWireType:function(A,g){return TA.toHandle(g)},argPackAdvance:8,readValueFromPointer:ZA,destructorFunction:null})},p:function(A,g,I){q(A,{name:g=P(g),fromWireType:function(A){return A},toWireType:function(A,g){return g},argPackAdvance:8,readValueFromPointer:OA(g,I),destructorFunction:null})},g:function(A,g,I,t,C){g=P(g);var B=function(A){return A};if(0===t){var r=32-8*I;B=function(A){return A<<r>>>r}}var e=g.includes("unsigned");q(A,{name:g,fromWireType:B,toWireType:e?function(A,g){return this.name,g>>>0}:function(A,g){return this.name,g},argPackAdvance:8,readValueFromPointer:zA(g,I,0!==t),destructorFunction:null})},a:function(A,g,I){var t=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][g];function C(A){var g=w[A>>2],I=w[A+4>>2];return new t(h.buffer,I,g)}q(A,{name:I=P(I),fromWireType:C,argPackAdvance:8,readValueFromPointer:C},{ignoreDuplicateRegistrations:!0})},o:function(A,g){var I="std::string"===(g=P(g));q(A,{name:g,fromWireType:function(A){var g,t,C,B=w[A>>2],r=A+4;if(I)for(var e=r,Q=0;Q<=B;++Q){var n=r+Q;if(Q==B||0==y[n]){var o=(C=n-e,(t=e)?XA(y,t,C):"");void 0===g?g=o:(g+=String.fromCharCode(0),g+=o),e=n+1}}else{var E=new Array(B);for(Q=0;Q<B;++Q)E[Q]=String.fromCharCode(y[r+Q]);g=E.join("")}return cg(A),g},toWireType:function(A,g){var t;g instanceof ArrayBuffer&&(g=new Uint8Array(g));var C="string"==typeof g;C||g instanceof Uint8Array||g instanceof Uint8ClampedArray||g instanceof Int8Array||z("Cannot pass non-string to std::string"),t=I&&C?function(A){for(var g=0,I=0;I<A.length;++I){var t=A.charCodeAt(I);t<=127?g++:t<=2047?g+=2:t>=55296&&t<=57343?(g+=4,++I):g+=3}return g}(g):g.length;var B=ag(4+t+1),r=B+4;if(w[B>>2]=t,I&&C)!function(A,g,I,t){if(!(t>0))return 0;for(var C=I+t-1,B=0;B<A.length;++B){var r=A.charCodeAt(B);if(r>=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&A.charCodeAt(++B)),r<=127){if(I>=C)break;g[I++]=r}else if(r<=2047){if(I+1>=C)break;g[I++]=192|r>>6,g[I++]=128|63&r}else if(r<=65535){if(I+2>=C)break;g[I++]=224|r>>12,g[I++]=128|r>>6&63,g[I++]=128|63&r}else{if(I+3>=C)break;g[I++]=240|r>>18,g[I++]=128|r>>12&63,g[I++]=128|r>>6&63,g[I++]=128|63&r}}g[I]=0}(g,y,r,t+1);else if(C)for(var e=0;e<t;++e){var Q=g.charCodeAt(e);Q>255&&(cg(r),z("String has UTF-16 code units that do not fit in 8 bits")),y[r+e]=Q}else for(e=0;e<t;++e)y[r+e]=g[e];return null!==A&&A.push(cg,B),B},argPackAdvance:8,readValueFromPointer:dA,destructorFunction:function(A){cg(A)}})},l:function(A,g,I){var t,C,B,r,e;I=P(I),2===g?(t=$A,C=_A,r=Ag,B=function(){return l},e=1):4===g&&(t=gg,C=Ig,r=tg,B=function(){return w},e=2),q(A,{name:I,fromWireType:function(A){for(var I,C=w[A>>2],r=B(),Q=A+4,n=0;n<=C;++n){var o=A+4+n*g;if(n==C||0==r[o>>e]){var E=t(Q,o-Q);void 0===I?I=E:(I+=String.fromCharCode(0),I+=E),Q=o+g}}return cg(A),I},toWireType:function(A,t){"string"!=typeof t&&z("Cannot pass non-string to C++ string type ".concat(I));var B=r(t),Q=ag(4+B+g);return w[Q>>2]=B>>e,C(t,Q+4,B+g),null!==A&&A.push(cg,Q),Q},argPackAdvance:8,readValueFromPointer:ZA,destructorFunction:function(A){cg(A)}})},v:function(A,g){q(A,{isVoid:!0,name:g=P(g),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,g){}})},j:function(A,g,I){return A=TA.toValue(A),g=Cg(g,"emval::as"),Bg(g,I,A)},e:function(A,g,I,t,C){var B,r;return(A=eg[A])(g=TA.toValue(g),g[I=void 0===(r=rg[B=I])?P(B):r],t,C)},d:KA,f:function(A,g,I){var t=function(A,g){for(var I=new Array(A),t=0;t<A;++t)I[t]=Cg(w[g+4*t>>2],"parameter "+t);return I}(A,g),C=t.shift();A--;var B,r,e=new Array(A),Q="methodCaller<(".concat(t.map((function(A){return A.name})).join(", "),") => ").concat(C.name,">");return B=uA(Q,(function(g,B,r,Q){for(var n=0,o=0;o<A;++o)e[o]=t[o].readValueFromPointer(Q+n),n+=t[o].argPackAdvance;var E=1===I?Qg(B,e):B.apply(g,e);for(o=0;o<A;++o)t[o].deleteObject&&t[o].deleteObject(e[o]);return Bg(C,r,E)})),r=eg.length,eg.push(B),r},b:function(A){A>4&&(UA.get(A).refcount+=1)},c:function(A){var g=TA.toValue(A);mA(g),KA(A)},i:function(A,g){var I=(A=Cg(A,"_emval_take_value")).readValueFromPointer(g);return TA.toHandle(I)},m:function(){v("")},s:function(A,g,I){return y.copyWithin(A,g,g+I)},r:function(A){y.length,v("OOM")},n:function(A,g,I,t){for(var C,B,r,e=0,Q=0;Q<I;Q++){var n=w[g>>2],o=w[g+4>>2];g+=8;for(var E=0;E<o;E++)C=A,B=y[n+E],r=void 0,r=ng[C],0===B||10===B?((1===C?i:a)(XA(r,0)),r.length=0):r.push(B);e+=o}return w[t>>2]=e,0}},ig=function(){var A={a:Eg};function I(A,g){var I,t;return ig=A.exports,E=ig.z,I=E.buffer,B.HEAP8=h=new Int8Array(I),B.HEAP16=f=new Int16Array(I),B.HEAPU8=y=new Uint8Array(I),B.HEAPU16=l=new Uint16Array(I),B.HEAP32=D=new Int32Array(I),B.HEAPU32=w=new Uint32Array(I),B.HEAPF32=d=new Float32Array(I),B.HEAPF64=G=new Float64Array(I),NA=ig.C,t=ig.A,M.unshift(t),function(){if(R--,B.monitorRunDependencies&&B.monitorRunDependencies(R),0==R&&k){var A=k;k=null,A()}}(),ig}if(R++,B.monitorRunDependencies&&B.monitorRunDependencies(R),B.instantiateWasm)try{return B.instantiateWasm(A,I)}catch(A){a("Module.instantiateWasm callback failed with error: ".concat(A)),g(A)}return U(0,b,A,(function(A){I(A.instance)})).catch(g),{}}(),ag=function(A){return(ag=ig.B)(A)},sg=function(A){return(sg=ig.D)(A)},cg=function(A){return(cg=ig.E)(A)},ug=function(A){return(ug=ig.F)(A)};function hg(){function g(){og||(og=!0,B.calledRun=!0,N||(K(M),A(B),B.onRuntimeInitialized&&B.onRuntimeInitialized(),function(){if(B.postRun)for("function"==typeof B.postRun&&(B.postRun=[B.postRun]);B.postRun.length;)A=B.postRun.shift(),Y.unshift(A);var A;K(Y)}()))}R>0||(function(){if(B.preRun)for("function"==typeof B.preRun&&(B.preRun=[B.preRun]);B.preRun.length;)A=B.preRun.shift(),p.unshift(A);var A;K(p)}(),R>0||(B.setStatus?(B.setStatus("Running..."),setTimeout((function(){setTimeout((function(){B.setStatus("")}),1),g()}),1)):g()))}if(B.dynCall_jiji=function(A,g,I,t,C){return(B.dynCall_jiji=ig.G)(A,g,I,t,C)},B._vertexShaderSource=10528,k=function A(){og||hg(),og||(k=A)},B.preInit)for("function"==typeof B.preInit&&(B.preInit=[B.preInit]);B.preInit.length>0;)B.preInit.pop()();return hg(),I.ready}),k=R,v="undefined"==typeof navigator?"":navigator.userAgent,b=function(A){return new RegExp(A,"i").test(v)},m=function(A){if(b(A)){var g=new RegExp("".concat(A,"\\/([\\d.]+)")),I=v.match(g);if(I&&I[1])return I[1]}return""},L=function(A){if(b(A)){var g=new RegExp("".concat(A,"\\/(\\d+)")),I=v.match(g);if(I&&I[1])return parseFloat(I[1])}return NaN},S=/AppleWebKit\/([\d.]+)/i.exec(v);S&&parseFloat(S[1]);var H=b("iPad"),U="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&b("Macintosh"),K=b("iPhone")&&!H,J=b("iPod"),T=K||H||J||U,Z=b("Android");!function(){if(Z){var A=v.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(A){var g=A[1]&&parseFloat(A[1]),I=A[2]&&parseFloat(A[2]);if(g&&I)return parseFloat("".concat(A[1],".").concat(A[2]));if(g)return g}}}();Z&&b("webkit");var x=b("Firefox"),P=m("Firefox");L("Firefox");var j=b("Edge"),W=m("Edge"),O=b("Edg"),z=m("Edg");L("Edg");var V=b("SogouMobileBrowser"),X=m("SogouMobileBrowser"),q=b("MetaSr\\s"),$=m("MetaSr\\s"),_=b("TBS"),AA=m("TBS"),gA=b("XWEB"),IA=m("XWEB");b("MSIE\\s8\\.0");var tA=b("MSIE\\/\\d+");!function(){if(tA){var A=/MSIE\s(\d+)\.\d/.exec(v),g=A&&parseFloat(A[1]);return!g&&/Trident\/7.0/i.test(v)&&/rv:11.0/.test(v)&&(g=11),g}}();var CA=b("(micromessenger|webbrowser)"),BA=m("MicroMessenger"),rA=!_&&b("MQQBrowser")&&b("COVC"),eA=!_&&b("MQQBrowser")&&!b("COVC"),QA=eA||rA?m("MQQBrowser"):"",nA=!_&&b(" QQBrowser"),oA=m(" QQBrowser"),EA=!_&&b("QQBrowserLite"),iA=m("QQBrowserLite"),aA=!_&&b("MQBHD"),sA=m("MQBHD");b("Windows"),!T&&b("MAC OS X"),!Z&&b("Linux"),b("CrOS"),b("MicroMessenger"),b("UCBrowser"),b("Electron");var cA=b("MiuiBrowser"),uA=m("MiuiBrowser"),hA=b("HuaweiBrowser");b("Huawei")||b("HUAWEI"),b("Honor")||b("HONOR");var yA=m("HuaweiBrowser"),fA=b("SamsungBrowser"),lA=m("SamsungBrowser"),DA=b("HeyTapBrowser"),wA=m("HeyTapBrowser"),dA=b("VivoBrowser"),GA=m("VivoBrowser");b("OpenHarmony"),m("OpenHarmony");var NA=b("Chrome"),pA=!j&&!q&&!V&&!_&&!gA&&!O&&!nA&&!cA&&!hA&&!fA&&!DA&&!dA&&NA;b("HeadlessChrome");var MA=L("Chrome"),YA=m("Chrome"),FA=!NA&&!eA&&!rA&&!EA&&!aA&&b("Safari"),RA=m("Version"),kA=function(){if(U)return RA;if(T){var A=v.match(/OS (\d+)_(\d+)/i);if(A&&A[1]){var g=A[1];return A[2]&&(g+=".".concat(A[2])),g}}return""}();Number(kA.split(".")[0]),Number(kA.split(".")[0]),b("CriOS"),function(){var A=new Map([[x,["Firefox",P]],[O,["Edg",z]],[pA,["Chrome",YA]],[FA,["Safari",RA]],[_,["TBS",AA]],[gA,["XWEB",IA]],[CA&&K,["WeChat",BA]],[nA,["QQ(Win)",oA]],[eA,["QQ(Mobile)",QA]],[rA,["QQ(Mobile X5)",QA]],[EA,["QQ(Mac)",iA]],[aA,["QQ(iPad)",sA]],[cA,["MI",uA]],[hA,["HW",yA]],[fA,["Samsung",lA]],[DA,["OPPO",wA]],[dA,["VIVO",GA]],[j,["EDGE",W]],[V,["SogouMobile",X]],[q,["Sogou",$]]]),g="unknown",I="unknown";if(A.has(!0)){var t=i(A.get(!0),2);g=t[0],I=t[1]}}();var vA=1e-6,bA="undefined"!=typeof Float32Array?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var A=0,g=arguments.length;g--;)A+=arguments[g]*arguments[g];return Math.sqrt(A)});var mA={};function LA(){var A=new bA(16);return bA!=Float32Array&&(A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[11]=0,A[12]=0,A[13]=0,A[14]=0),A[0]=1,A[5]=1,A[10]=1,A[15]=1,A}function SA(A){var g=new bA(16);return g[0]=A[0],g[1]=A[1],g[2]=A[2],g[3]=A[3],g[4]=A[4],g[5]=A[5],g[6]=A[6],g[7]=A[7],g[8]=A[8],g[9]=A[9],g[10]=A[10],g[11]=A[11],g[12]=A[12],g[13]=A[13],g[14]=A[14],g[15]=A[15],g}function HA(A,g){return A[0]=g[0],A[1]=g[1],A[2]=g[2],A[3]=g[3],A[4]=g[4],A[5]=g[5],A[6]=g[6],A[7]=g[7],A[8]=g[8],A[9]=g[9],A[10]=g[10],A[11]=g[11],A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15],A}function UA(A,g,I,t,C,B,r,e,Q,n,o,E,i,a,s,c){var u=new bA(16);return u[0]=A,u[1]=g,u[2]=I,u[3]=t,u[4]=C,u[5]=B,u[6]=r,u[7]=e,u[8]=Q,u[9]=n,u[10]=o,u[11]=E,u[12]=i,u[13]=a,u[14]=s,u[15]=c,u}function KA(A,g,I,t,C,B,r,e,Q,n,o,E,i,a,s,c,u){return A[0]=g,A[1]=I,A[2]=t,A[3]=C,A[4]=B,A[5]=r,A[6]=e,A[7]=Q,A[8]=n,A[9]=o,A[10]=E,A[11]=i,A[12]=a,A[13]=s,A[14]=c,A[15]=u,A}function JA(A){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function TA(A,g){if(A===g){var I=g[1],t=g[2],C=g[3],B=g[6],r=g[7],e=g[11];A[1]=g[4],A[2]=g[8],A[3]=g[12],A[4]=I,A[6]=g[9],A[7]=g[13],A[8]=t,A[9]=B,A[11]=g[14],A[12]=C,A[13]=r,A[14]=e}else A[0]=g[0],A[1]=g[4],A[2]=g[8],A[3]=g[12],A[4]=g[1],A[5]=g[5],A[6]=g[9],A[7]=g[13],A[8]=g[2],A[9]=g[6],A[10]=g[10],A[11]=g[14],A[12]=g[3],A[13]=g[7],A[14]=g[11],A[15]=g[15];return A}function ZA(A,g){var I=g[0],t=g[1],C=g[2],B=g[3],r=g[4],e=g[5],Q=g[6],n=g[7],o=g[8],E=g[9],i=g[10],a=g[11],s=g[12],c=g[13],u=g[14],h=g[15],y=I*e-t*r,f=I*Q-C*r,l=I*n-B*r,D=t*Q-C*e,w=t*n-B*e,d=C*n-B*Q,G=o*c-E*s,N=o*u-i*s,p=o*h-a*s,M=E*u-i*c,Y=E*h-a*c,F=i*h-a*u,R=y*F-f*Y+l*M+D*p-w*N+d*G;return R?(R=1/R,A[0]=(e*F-Q*Y+n*M)*R,A[1]=(C*Y-t*F-B*M)*R,A[2]=(c*d-u*w+h*D)*R,A[3]=(i*w-E*d-a*D)*R,A[4]=(Q*p-r*F-n*N)*R,A[5]=(I*F-C*p+B*N)*R,A[6]=(u*l-s*d-h*f)*R,A[7]=(o*d-i*l+a*f)*R,A[8]=(r*Y-e*p+n*G)*R,A[9]=(t*p-I*Y-B*G)*R,A[10]=(s*w-c*l+h*y)*R,A[11]=(E*l-o*w-a*y)*R,A[12]=(e*N-r*M-Q*G)*R,A[13]=(I*M-t*N+C*G)*R,A[14]=(c*f-s*D-u*y)*R,A[15]=(o*D-E*f+i*y)*R,A):null}function xA(A,g){var I=g[0],t=g[1],C=g[2],B=g[3],r=g[4],e=g[5],Q=g[6],n=g[7],o=g[8],E=g[9],i=g[10],a=g[11],s=g[12],c=g[13],u=g[14],h=g[15];return A[0]=e*(i*h-a*u)-E*(Q*h-n*u)+c*(Q*a-n*i),A[1]=-(t*(i*h-a*u)-E*(C*h-B*u)+c*(C*a-B*i)),A[2]=t*(Q*h-n*u)-e*(C*h-B*u)+c*(C*n-B*Q),A[3]=-(t*(Q*a-n*i)-e*(C*a-B*i)+E*(C*n-B*Q)),A[4]=-(r*(i*h-a*u)-o*(Q*h-n*u)+s*(Q*a-n*i)),A[5]=I*(i*h-a*u)-o*(C*h-B*u)+s*(C*a-B*i),A[6]=-(I*(Q*h-n*u)-r*(C*h-B*u)+s*(C*n-B*Q)),A[7]=I*(Q*a-n*i)-r*(C*a-B*i)+o*(C*n-B*Q),A[8]=r*(E*h-a*c)-o*(e*h-n*c)+s*(e*a-n*E),A[9]=-(I*(E*h-a*c)-o*(t*h-B*c)+s*(t*a-B*E)),A[10]=I*(e*h-n*c)-r*(t*h-B*c)+s*(t*n-B*e),A[11]=-(I*(e*a-n*E)-r*(t*a-B*E)+o*(t*n-B*e)),A[12]=-(r*(E*u-i*c)-o*(e*u-Q*c)+s*(e*i-Q*E)),A[13]=I*(E*u-i*c)-o*(t*u-C*c)+s*(t*i-C*E),A[14]=-(I*(e*u-Q*c)-r*(t*u-C*c)+s*(t*Q-C*e)),A[15]=I*(e*i-Q*E)-r*(t*i-C*E)+o*(t*Q-C*e),A}function PA(A){var g=A[0],I=A[1],t=A[2],C=A[3],B=A[4],r=A[5],e=A[6],Q=A[7],n=A[8],o=A[9],E=A[10],i=A[11],a=A[12],s=A[13],c=A[14],u=A[15];return(g*r-I*B)*(E*u-i*c)-(g*e-t*B)*(o*u-i*s)+(g*Q-C*B)*(o*c-E*s)+(I*e-t*r)*(n*u-i*a)-(I*Q-C*r)*(n*c-E*a)+(t*Q-C*e)*(n*s-o*a)}function jA(A,g,I){var t=g[0],C=g[1],B=g[2],r=g[3],e=g[4],Q=g[5],n=g[6],o=g[7],E=g[8],i=g[9],a=g[10],s=g[11],c=g[12],u=g[13],h=g[14],y=g[15],f=I[0],l=I[1],D=I[2],w=I[3];return A[0]=f*t+l*e+D*E+w*c,A[1]=f*C+l*Q+D*i+w*u,A[2]=f*B+l*n+D*a+w*h,A[3]=f*r+l*o+D*s+w*y,f=I[4],l=I[5],D=I[6],w=I[7],A[4]=f*t+l*e+D*E+w*c,A[5]=f*C+l*Q+D*i+w*u,A[6]=f*B+l*n+D*a+w*h,A[7]=f*r+l*o+D*s+w*y,f=I[8],l=I[9],D=I[10],w=I[11],A[8]=f*t+l*e+D*E+w*c,A[9]=f*C+l*Q+D*i+w*u,A[10]=f*B+l*n+D*a+w*h,A[11]=f*r+l*o+D*s+w*y,f=I[12],l=I[13],D=I[14],w=I[15],A[12]=f*t+l*e+D*E+w*c,A[13]=f*C+l*Q+D*i+w*u,A[14]=f*B+l*n+D*a+w*h,A[15]=f*r+l*o+D*s+w*y,A}function WA(A,g,I){var t,C,B,r,e,Q,n,o,E,i,a,s,c=I[0],u=I[1],h=I[2];return g===A?(A[12]=g[0]*c+g[4]*u+g[8]*h+g[12],A[13]=g[1]*c+g[5]*u+g[9]*h+g[13],A[14]=g[2]*c+g[6]*u+g[10]*h+g[14],A[15]=g[3]*c+g[7]*u+g[11]*h+g[15]):(t=g[0],C=g[1],B=g[2],r=g[3],e=g[4],Q=g[5],n=g[6],o=g[7],E=g[8],i=g[9],a=g[10],s=g[11],A[0]=t,A[1]=C,A[2]=B,A[3]=r,A[4]=e,A[5]=Q,A[6]=n,A[7]=o,A[8]=E,A[9]=i,A[10]=a,A[11]=s,A[12]=t*c+e*u+E*h+g[12],A[13]=C*c+Q*u+i*h+g[13],A[14]=B*c+n*u+a*h+g[14],A[15]=r*c+o*u+s*h+g[15]),A}function OA(A,g,I){var t=I[0],C=I[1],B=I[2];return A[0]=g[0]*t,A[1]=g[1]*t,A[2]=g[2]*t,A[3]=g[3]*t,A[4]=g[4]*C,A[5]=g[5]*C,A[6]=g[6]*C,A[7]=g[7]*C,A[8]=g[8]*B,A[9]=g[9]*B,A[10]=g[10]*B,A[11]=g[11]*B,A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15],A}function zA(A,g,I,t){var C,B,r,e,Q,n,o,E,i,a,s,c,u,h,y,f,l,D,w,d,G,N,p,M,Y=t[0],F=t[1],R=t[2],k=Math.hypot(Y,F,R);return k<vA?null:(Y*=k=1/k,F*=k,R*=k,C=Math.sin(I),r=1-(B=Math.cos(I)),e=g[0],Q=g[1],n=g[2],o=g[3],E=g[4],i=g[5],a=g[6],s=g[7],c=g[8],u=g[9],h=g[10],y=g[11],f=Y*Y*r+B,l=F*Y*r+R*C,D=R*Y*r-F*C,w=Y*F*r-R*C,d=F*F*r+B,G=R*F*r+Y*C,N=Y*R*r+F*C,p=F*R*r-Y*C,M=R*R*r+B,A[0]=e*f+E*l+c*D,A[1]=Q*f+i*l+u*D,A[2]=n*f+a*l+h*D,A[3]=o*f+s*l+y*D,A[4]=e*w+E*d+c*G,A[5]=Q*w+i*d+u*G,A[6]=n*w+a*d+h*G,A[7]=o*w+s*d+y*G,A[8]=e*N+E*p+c*M,A[9]=Q*N+i*p+u*M,A[10]=n*N+a*p+h*M,A[11]=o*N+s*p+y*M,g!==A&&(A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15]),A)}function VA(A,g,I){var t=Math.sin(I),C=Math.cos(I),B=g[4],r=g[5],e=g[6],Q=g[7],n=g[8],o=g[9],E=g[10],i=g[11];return g!==A&&(A[0]=g[0],A[1]=g[1],A[2]=g[2],A[3]=g[3],A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15]),A[4]=B*C+n*t,A[5]=r*C+o*t,A[6]=e*C+E*t,A[7]=Q*C+i*t,A[8]=n*C-B*t,A[9]=o*C-r*t,A[10]=E*C-e*t,A[11]=i*C-Q*t,A}function XA(A,g,I){var t=Math.sin(I),C=Math.cos(I),B=g[0],r=g[1],e=g[2],Q=g[3],n=g[8],o=g[9],E=g[10],i=g[11];return g!==A&&(A[4]=g[4],A[5]=g[5],A[6]=g[6],A[7]=g[7],A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15]),A[0]=B*C-n*t,A[1]=r*C-o*t,A[2]=e*C-E*t,A[3]=Q*C-i*t,A[8]=B*t+n*C,A[9]=r*t+o*C,A[10]=e*t+E*C,A[11]=Q*t+i*C,A}function qA(A,g,I){var t=Math.sin(I),C=Math.cos(I),B=g[0],r=g[1],e=g[2],Q=g[3],n=g[4],o=g[5],E=g[6],i=g[7];return g!==A&&(A[8]=g[8],A[9]=g[9],A[10]=g[10],A[11]=g[11],A[12]=g[12],A[13]=g[13],A[14]=g[14],A[15]=g[15]),A[0]=B*C+n*t,A[1]=r*C+o*t,A[2]=e*C+E*t,A[3]=Q*C+i*t,A[4]=n*C-B*t,A[5]=o*C-r*t,A[6]=E*C-e*t,A[7]=i*C-Q*t,A}function $A(A,g){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=g[0],A[13]=g[1],A[14]=g[2],A[15]=1,A}function _A(A,g){return A[0]=g[0],A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=g[1],A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=g[2],A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function Ag(A,g,I){var t,C,B,r=I[0],e=I[1],Q=I[2],n=Math.hypot(r,e,Q);return n<vA?null:(r*=n=1/n,e*=n,Q*=n,t=Math.sin(g),B=1-(C=Math.cos(g)),A[0]=r*r*B+C,A[1]=e*r*B+Q*t,A[2]=Q*r*B-e*t,A[3]=0,A[4]=r*e*B-Q*t,A[5]=e*e*B+C,A[6]=Q*e*B+r*t,A[7]=0,A[8]=r*Q*B+e*t,A[9]=e*Q*B-r*t,A[10]=Q*Q*B+C,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A)}function gg(A,g){var I=Math.sin(g),t=Math.cos(g);return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=t,A[6]=I,A[7]=0,A[8]=0,A[9]=-I,A[10]=t,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function Ig(A,g){var I=Math.sin(g),t=Math.cos(g);return A[0]=t,A[1]=0,A[2]=-I,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=I,A[9]=0,A[10]=t,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function tg(A,g){var I=Math.sin(g),t=Math.cos(g);return A[0]=t,A[1]=I,A[2]=0,A[3]=0,A[4]=-I,A[5]=t,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function Cg(A,g,I){var t=g[0],C=g[1],B=g[2],r=g[3],e=t+t,Q=C+C,n=B+B,o=t*e,E=t*Q,i=t*n,a=C*Q,s=C*n,c=B*n,u=r*e,h=r*Q,y=r*n;return A[0]=1-(a+c),A[1]=E+y,A[2]=i-h,A[3]=0,A[4]=E-y,A[5]=1-(o+c),A[6]=s+u,A[7]=0,A[8]=i+h,A[9]=s-u,A[10]=1-(o+a),A[11]=0,A[12]=I[0],A[13]=I[1],A[14]=I[2],A[15]=1,A}function Bg(A,g){var I=new bA(3),t=-g[0],C=-g[1],B=-g[2],r=g[3],e=g[4],Q=g[5],n=g[6],o=g[7],E=t*t+C*C+B*B+r*r;return E>0?(I[0]=2*(e*r+o*t+Q*B-n*C)/E,I[1]=2*(Q*r+o*C+n*t-e*B)/E,I[2]=2*(n*r+o*B+e*C-Q*t)/E):(I[0]=2*(e*r+o*t+Q*B-n*C),I[1]=2*(Q*r+o*C+n*t-e*B),I[2]=2*(n*r+o*B+e*C-Q*t)),Cg(A,g,I),A}function rg(A,g){return A[0]=g[12],A[1]=g[13],A[2]=g[14],A}function eg(A,g){var I=g[0],t=g[1],C=g[2],B=g[4],r=g[5],e=g[6],Q=g[8],n=g[9],o=g[10];return A[0]=Math.hypot(I,t,C),A[1]=Math.hypot(B,r,e),A[2]=Math.hypot(Q,n,o),A}function Qg(A,g){var I=new bA(3);eg(I,g);var t=1/I[0],C=1/I[1],B=1/I[2],r=g[0]*t,e=g[1]*C,Q=g[2]*B,n=g[4]*t,o=g[5]*C,E=g[6]*B,i=g[8]*t,a=g[9]*C,s=g[10]*B,c=r+o+s,u=0;return c>0?(u=2*Math.sqrt(c+1),A[3]=.25*u,A[0]=(E-a)/u,A[1]=(i-Q)/u,A[2]=(e-n)/u):r>o&&r>s?(u=2*Math.sqrt(1+r-o-s),A[3]=(E-a)/u,A[0]=.25*u,A[1]=(e+n)/u,A[2]=(i+Q)/u):o>s?(u=2*Math.sqrt(1+o-r-s),A[3]=(i-Q)/u,A[0]=(e+n)/u,A[1]=.25*u,A[2]=(E+a)/u):(u=2*Math.sqrt(1+s-r-o),A[3]=(e-n)/u,A[0]=(i+Q)/u,A[1]=(E+a)/u,A[2]=.25*u),A}function ng(A,g,I,t){var C=g[0],B=g[1],r=g[2],e=g[3],Q=C+C,n=B+B,o=r+r,E=C*Q,i=C*n,a=C*o,s=B*n,c=B*o,u=r*o,h=e*Q,y=e*n,f=e*o,l=t[0],D=t[1],w=t[2];return A[0]=(1-(s+u))*l,A[1]=(i+f)*l,A[2]=(a-y)*l,A[3]=0,A[4]=(i-f)*D,A[5]=(1-(E+u))*D,A[6]=(c+h)*D,A[7]=0,A[8]=(a+y)*w,A[9]=(c-h)*w,A[10]=(1-(E+s))*w,A[11]=0,A[12]=I[0],A[13]=I[1],A[14]=I[2],A[15]=1,A}function og(A,g,I,t,C){var B=g[0],r=g[1],e=g[2],Q=g[3],n=B+B,o=r+r,E=e+e,i=B*n,a=B*o,s=B*E,c=r*o,u=r*E,h=e*E,y=Q*n,f=Q*o,l=Q*E,D=t[0],w=t[1],d=t[2],G=C[0],N=C[1],p=C[2],M=(1-(c+h))*D,Y=(a+l)*D,F=(s-f)*D,R=(a-l)*w,k=(1-(i+h))*w,v=(u+y)*w,b=(s+f)*d,m=(u-y)*d,L=(1-(i+c))*d;return A[0]=M,A[1]=Y,A[2]=F,A[3]=0,A[4]=R,A[5]=k,A[6]=v,A[7]=0,A[8]=b,A[9]=m,A[10]=L,A[11]=0,A[12]=I[0]+G-(M*G+R*N+b*p),A[13]=I[1]+N-(Y*G+k*N+m*p),A[14]=I[2]+p-(F*G+v*N+L*p),A[15]=1,A}function Eg(A,g){var I=g[0],t=g[1],C=g[2],B=g[3],r=I+I,e=t+t,Q=C+C,n=I*r,o=t*r,E=t*e,i=C*r,a=C*e,s=C*Q,c=B*r,u=B*e,h=B*Q;return A[0]=1-E-s,A[1]=o+h,A[2]=i-u,A[3]=0,A[4]=o-h,A[5]=1-n-s,A[6]=a+c,A[7]=0,A[8]=i+u,A[9]=a-c,A[10]=1-n-E,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function ig(A,g,I,t,C,B,r){var e=1/(I-g),Q=1/(C-t),n=1/(B-r);return A[0]=2*B*e,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=2*B*Q,A[6]=0,A[7]=0,A[8]=(I+g)*e,A[9]=(C+t)*Q,A[10]=(r+B)*n,A[11]=-1,A[12]=0,A[13]=0,A[14]=r*B*2*n,A[15]=0,A}function ag(A,g,I,t,C){var B,r=1/Math.tan(g/2);return A[0]=r/I,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=r,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[11]=-1,A[12]=0,A[13]=0,A[15]=0,null!=C&&C!==1/0?(B=1/(t-C),A[10]=(C+t)*B,A[14]=2*C*t*B):(A[10]=-1,A[14]=-2*t),A}!function(A,g){for(var I in g)h(A,I,{get:g[I],enumerable:!0})}(mA,{add:function(){return Gg},adjoint:function(){return xA},clone:function(){return SA},copy:function(){return HA},create:function(){return LA},determinant:function(){return PA},equals:function(){return Fg},exactEquals:function(){return Yg},frob:function(){return dg},fromQuat:function(){return Eg},fromQuat2:function(){return Bg},fromRotation:function(){return Ag},fromRotationTranslation:function(){return Cg},fromRotationTranslationScale:function(){return ng},fromRotationTranslationScaleOrigin:function(){return og},fromScaling:function(){return _A},fromTranslation:function(){return $A},fromValues:function(){return UA},fromXRotation:function(){return gg},fromYRotation:function(){return Ig},fromZRotation:function(){return tg},frustum:function(){return ig},getRotation:function(){return Qg},getScaling:function(){return eg},getTranslation:function(){return rg},identity:function(){return JA},invert:function(){return ZA},lookAt:function(){return lg},mul:function(){return Rg},multiply:function(){return jA},multiplyScalar:function(){return pg},multiplyScalarAndAdd:function(){return Mg},ortho:function(){return yg},orthoNO:function(){return hg},orthoZO:function(){return fg},perspective:function(){return sg},perspectiveFromFieldOfView:function(){return ug},perspectiveNO:function(){return ag},perspectiveZO:function(){return cg},rotate:function(){return zA},rotateX:function(){return VA},rotateY:function(){return XA},rotateZ:function(){return qA},scale:function(){return OA},set:function(){return KA},str:function(){return wg},sub:function(){return kg},subtract:function(){return Ng},targetTo:function(){return Dg},translate:function(){return WA},transpose:function(){return TA}});var sg=ag;function cg(A,g,I,t,C){var B,r=1/Math.tan(g/2);return A[0]=r/I,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=r,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[11]=-1,A[12]=0,A[13]=0,A[15]=0,null!=C&&C!==1/0?(B=1/(t-C),A[10]=C*B,A[14]=C*t*B):(A[10]=-1,A[14]=-t),A}function ug(A,g,I,t){var C=Math.tan(g.upDegrees*Math.PI/180),B=Math.tan(g.downDegrees*Math.PI/180),r=Math.tan(g.leftDegrees*Math.PI/180),e=Math.tan(g.rightDegrees*Math.PI/180),Q=2/(r+e),n=2/(C+B);return A[0]=Q,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=n,A[6]=0,A[7]=0,A[8]=-(r-e)*Q*.5,A[9]=(C-B)*n*.5,A[10]=t/(I-t),A[11]=-1,A[12]=0,A[13]=0,A[14]=t*I/(I-t),A[15]=0,A}function hg(A,g,I,t,C,B,r){var e=1/(g-I),Q=1/(t-C),n=1/(B-r);return A[0]=-2*e,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=-2*Q,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=2*n,A[11]=0,A[12]=(g+I)*e,A[13]=(C+t)*Q,A[14]=(r+B)*n,A[15]=1,A}var yg=hg;function fg(A,g,I,t,C,B,r){var e=1/(g-I),Q=1/(t-C),n=1/(B-r);return A[0]=-2*e,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=-2*Q,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=n,A[11]=0,A[12]=(g+I)*e,A[13]=(C+t)*Q,A[14]=B*n,A[15]=1,A}function lg(A,g,I,t){var C,B,r,e,Q,n,o,E,i,a,s=g[0],c=g[1],u=g[2],h=t[0],y=t[1],f=t[2],l=I[0],D=I[1],w=I[2];return Math.abs(s-l)<vA&&Math.abs(c-D)<vA&&Math.abs(u-w)<vA?JA(A):(o=s-l,E=c-D,i=u-w,C=y*(i*=a=1/Math.hypot(o,E,i))-f*(E*=a),B=f*(o*=a)-h*i,r=h*E-y*o,(a=Math.hypot(C,B,r))?(C*=a=1/a,B*=a,r*=a):(C=0,B=0,r=0),e=E*r-i*B,Q=i*C-o*r,n=o*B-E*C,(a=Math.hypot(e,Q,n))?(e*=a=1/a,Q*=a,n*=a):(e=0,Q=0,n=0),A[0]=C,A[1]=e,A[2]=o,A[3]=0,A[4]=B,A[5]=Q,A[6]=E,A[7]=0,A[8]=r,A[9]=n,A[10]=i,A[11]=0,A[12]=-(C*s+B*c+r*u),A[13]=-(e*s+Q*c+n*u),A[14]=-(o*s+E*c+i*u),A[15]=1,A)}function Dg(A,g,I,t){var C=g[0],B=g[1],r=g[2],e=t[0],Q=t[1],n=t[2],o=C-I[0],E=B-I[1],i=r-I[2],a=o*o+E*E+i*i;a>0&&(o*=a=1/Math.sqrt(a),E*=a,i*=a);var s=Q*i-n*E,c=n*o-e*i,u=e*E-Q*o;return(a=s*s+c*c+u*u)>0&&(s*=a=1/Math.sqrt(a),c*=a,u*=a),A[0]=s,A[1]=c,A[2]=u,A[3]=0,A[4]=E*u-i*c,A[5]=i*s-o*u,A[6]=o*c-E*s,A[7]=0,A[8]=o,A[9]=E,A[10]=i,A[11]=0,A[12]=C,A[13]=B,A[14]=r,A[15]=1,A}function wg(A){return"mat4("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+", "+A[4]+", "+A[5]+", "+A[6]+", "+A[7]+", "+A[8]+", "+A[9]+", "+A[10]+", "+A[11]+", "+A[12]+", "+A[13]+", "+A[14]+", "+A[15]+")"}function dg(A){return Math.hypot(A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8],A[9],A[10],A[11],A[12],A[13],A[14],A[15])}function Gg(A,g,I){return A[0]=g[0]+I[0],A[1]=g[1]+I[1],A[2]=g[2]+I[2],A[3]=g[3]+I[3],A[4]=g[4]+I[4],A[5]=g[5]+I[5],A[6]=g[6]+I[6],A[7]=g[7]+I[7],A[8]=g[8]+I[8],A[9]=g[9]+I[9],A[10]=g[10]+I[10],A[11]=g[11]+I[11],A[12]=g[12]+I[12],A[13]=g[13]+I[13],A[14]=g[14]+I[14],A[15]=g[15]+I[15],A}function Ng(A,g,I){return A[0]=g[0]-I[0],A[1]=g[1]-I[1],A[2]=g[2]-I[2],A[3]=g[3]-I[3],A[4]=g[4]-I[4],A[5]=g[5]-I[5],A[6]=g[6]-I[6],A[7]=g[7]-I[7],A[8]=g[8]-I[8],A[9]=g[9]-I[9],A[10]=g[10]-I[10],A[11]=g[11]-I[11],A[12]=g[12]-I[12],A[13]=g[13]-I[13],A[14]=g[14]-I[14],A[15]=g[15]-I[15],A}function pg(A,g,I){return A[0]=g[0]*I,A[1]=g[1]*I,A[2]=g[2]*I,A[3]=g[3]*I,A[4]=g[4]*I,A[5]=g[5]*I,A[6]=g[6]*I,A[7]=g[7]*I,A[8]=g[8]*I,A[9]=g[9]*I,A[10]=g[10]*I,A[11]=g[11]*I,A[12]=g[12]*I,A[13]=g[13]*I,A[14]=g[14]*I,A[15]=g[15]*I,A}function Mg(A,g,I,t){return A[0]=g[0]+I[0]*t,A[1]=g[1]+I[1]*t,A[2]=g[2]+I[2]*t,A[3]=g[3]+I[3]*t,A[4]=g[4]+I[4]*t,A[5]=g[5]+I[5]*t,A[6]=g[6]+I[6]*t,A[7]=g[7]+I[7]*t,A[8]=g[8]+I[8]*t,A[9]=g[9]+I[9]*t,A[10]=g[10]+I[10]*t,A[11]=g[11]+I[11]*t,A[12]=g[12]+I[12]*t,A[13]=g[13]+I[13]*t,A[14]=g[14]+I[14]*t,A[15]=g[15]+I[15]*t,A}function Yg(A,g){return A[0]===g[0]&&A[1]===g[1]&&A[2]===g[2]&&A[3]===g[3]&&A[4]===g[4]&&A[5]===g[5]&&A[6]===g[6]&&A[7]===g[7]&&A[8]===g[8]&&A[9]===g[9]&&A[10]===g[10]&&A[11]===g[11]&&A[12]===g[12]&&A[13]===g[13]&&A[14]===g[14]&&A[15]===g[15]}function Fg(A,g){var I=A[0],t=A[1],C=A[2],B=A[3],r=A[4],e=A[5],Q=A[6],n=A[7],o=A[8],E=A[9],i=A[10],a=A[11],s=A[12],c=A[13],u=A[14],h=A[15],y=g[0],f=g[1],l=g[2],D=g[3],w=g[4],d=g[5],G=g[6],N=g[7],p=g[8],M=g[9],Y=g[10],F=g[11],R=g[12],k=g[13],v=g[14],b=g[15];return Math.abs(I-y)<=vA*Math.max(1,Math.abs(I),Math.abs(y))&&Math.abs(t-f)<=vA*Math.max(1,Math.abs(t),Math.abs(f))&&Math.abs(C-l)<=vA*Math.max(1,Math.abs(C),Math.abs(l))&&Math.abs(B-D)<=vA*Math.max(1,Math.abs(B),Math.abs(D))&&Math.abs(r-w)<=vA*Math.max(1,Math.abs(r),Math.abs(w))&&Math.abs(e-d)<=vA*Math.max(1,Math.abs(e),Math.abs(d))&&Math.abs(Q-G)<=vA*Math.max(1,Math.abs(Q),Math.abs(G))&&Math.abs(n-N)<=vA*Math.max(1,Math.abs(n),Math.abs(N))&&Math.abs(o-p)<=vA*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(E-M)<=vA*Math.max(1,Math.abs(E),Math.abs(M))&&Math.abs(i-Y)<=vA*Math.max(1,Math.abs(i),Math.abs(Y))&&Math.abs(a-F)<=vA*Math.max(1,Math.abs(a),Math.abs(F))&&Math.abs(s-R)<=vA*Math.max(1,Math.abs(s),Math.abs(R))&&Math.abs(c-k)<=vA*Math.max(1,Math.abs(c),Math.abs(k))&&Math.abs(u-v)<=vA*Math.max(1,Math.abs(u),Math.abs(v))&&Math.abs(h-b)<=vA*Math.max(1,Math.abs(h),Math.abs(b))}var Rg=jA,kg=Ng,vg=570703,bg=0,mg=function(){function A(g){C(this,A),this.core=g,N(this,"seq"),N(this,"_core"),N(this,"log"),N(this,"preLoadPromise"),N(this,"startResolve"),N(this,"startReject"),N(this,"mediaPipeSolutions"),N(this,"assetsPath"),N(this,"currentType"),N(this,"onAbort"),N(this,"isAborted",!1),bg+=1,this.seq=bg,this._core=g,this.log=g.log.createChild({id:"".concat(this.getAlias()).concat(bg)}),this.log.info("created"),g.assetsPath&&(this.preLoadPromise=this.preload(g.assetsPath))}return r(A,[{key:"preload",value:(e=I(o().mark((function A(g){var I,t,C,B,r=this;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(A.prev=0,this._core.room.videoManager.Wasm){A.next=5;break}return A.next=4,k();case 4:this._core.room.videoManager.Wasm=A.sent;case 5:return I=function(A){var g;r.core.kvStatManager.addEnum({key:vg,value:r.getKVTypeValue(!1,r.isAborted,"ABORT_IN_INFERENCE")}),r.isAborted=!0,r.log.error("mediaPipeSolutions abort",A),r.core.clearStarted(r,r.getGroup()),r.stop(),null==(g=r.onAbort)||g.call(r,A)},this._core.room.videoManager.initVirtualBackground(I,mA),A.next=9,this._core.initVisionTaskRegistry(g);case 9:A.next=15;break;case 11:throw A.prev=11,A.t0=A.catch(0),t=this._core.errorModule,C=t.RtcError,B=t.ErrorCode,new C({code:B.INVALID_OPERATION,message:"VirtualBackground preload error, please check your assetsPath. detail: ".concat(A.t0)});case 15:case"end":return A.stop()}}),A,this,[[0,11]])}))),function(A){return e.apply(this,arguments)})},{key:"getName",value:function(){return A.Name}},{key:"getAlias",value:function(){return"vb"}},{key:"getValidateRule",value:function(A){switch(A){case"start":return g=this._core,{name:"VirtualBackgroundOptions",type:"object",required:!0,allowEmpty:!1,properties:(I=G({},Y),t={type:{required:!1,type:"string",values:["image","blur"]},src:{required:!1,type:"string"},blurLevel:{required:!1,type:"number",min:1,max:10},onAbort:{required:!1}},y(I,f(t))),validate:function(A,I,t,C){var B,r=g.errorModule,e=r.RtcError,Q=r.ErrorCode,n=r.ErrorCodeDictionary;if(A){var o=A.type,E=A.src,i=A.onAbort;if("image"===o&&!E)throw new e({code:Q.INVALID_PARAMETER,extraCode:n.INVALID_PARAMETER_REQUIRED,fnName:t,messageParams:{key:"src"}});if(i&&!g.utils.isFunction(i))throw new e({code:Q.INVALID_PARAMETER,extraCode:n.INVALID_PARAMETER_TYPE,fnName:t,messageParams:{key:"onAbort",value:s(i),rule:{type:"Function"}}});if(!(null==(B=g.room.videoManager.cameraTrack)?void 0:B.mediaTrack))throw new e({code:Q.INVALID_OPERATION,extraCode:n.INVALID_OPERATION_NEED_VIDEO,fnName:t})}}};case"update":return function(A){return{name:"UpdateVirtualBackgroundOptions",type:"object",required:!0,allowEmpty:!1,properties:{type:{required:!0,type:"string",values:["image","blur"]},src:{required:!1,type:"string"},blurLevel:{required:!1,type:"number",min:1,max:10}},validate:function(g,I,t,C){if(g){var B=A.errorModule,r=B.RtcError,e=B.ErrorCode,Q=B.ErrorCodeDictionary,n=g.type,o=g.src;if("image"===n&&!o)throw new r({code:e.INVALID_PARAMETER,extraCode:Q.INVALID_PARAMETER_REQUIRED,fnName:t,messageParams:{key:"src"}})}}}}(this._core);case"stop":return this._core,{name:"StopVirtualBackgroundOptions",required:!1}}var g,I,t}},{key:"getGroup",value:function(){return"vb"}},{key:"getKVTypeValue",value:function(){var A=arguments.length>0&&void 0!==arguments[0]&&arguments[0],g=arguments.length>1&&void 0!==arguments[1]&&arguments[1],I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"NONE",t=0;switch(this.currentType){case"blur":t|=0;break;case"image":t|=1;break;case"green":t|=2}switch(A&&(t|=256),g&&(t|=512),I){case"ABORT_IN_INFERENCE":t|=4096;break;case"ABORT_IN_VIDEO_MANAGER":t|=8192;break;case"OTHER":t|=61440}return t}},{key:"start",value:(B=I(o().mark((function A(g){var I,t,C,B,r,e,Q,n,E,i,a,s,c,u=this;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return I=g.type,t=void 0===I?"blur":I,C=g.src,B=g.blurLevel,r=void 0===B?3:B,e=g.onAbort,this.currentType=t,this.onAbort=e,A.next=5,p({sdkAppId:g.sdkAppId,userId:g.userId,userSig:g.userSig,core:this._core});case 5:if(Q=A.sent,n=Q.auth,E=this._core.errorModule,i=E.RtcError,a=E.ErrorCodeDictionary,s=E.ErrorCode,n){A.next=11;break}throw c=this._core.utils.isOverseaSdkAppId(g.sdkAppId)?"https://trtc.io/document/56025":"https://cloud.tencent.com/document/product/647/85386",new i({code:a.NEED_TO_BUY,messageParams:{value:"Virtual Background",url:c}});case 11:if(this.preLoadPromise){A.next=15;break}if(this._core.assetsPath){A.next=14;break}throw new i({code:s.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});case 14:this.preLoadPromise=this.preload(this._core.assetsPath);case 15:return A.next=17,this.preLoadPromise;case 17:return A.abrupt("return",this.core.room.videoManager.setVirtualBackground({type:t,imageUrl:C,blurLevel:r,enableFaceCentering:g.enableFaceCentering,onAbort:function(A){var g;u.core.kvStatManager.addEnum({key:vg,value:u.getKVTypeValue(!0,u.isAborted,"ABORT_IN_VIDEO_MANAGER")}),u.isAborted=!0,u.core.clearStarted(u,u.getGroup()),u.stop(),delete u.preLoadPromise,null==(g=u.onAbort)||g.call(u,A)}}).then((function(){u.core.kvStatManager.addEnum({key:vg,value:u.getKVTypeValue(!1,u.isAborted,"NONE")})})).catch((function(){u.core.kvStatManager.addEnum({key:vg,value:u.getKVTypeValue(!0,u.isAborted,"OTHER")})})));case 18:case"end":return A.stop()}}),A,this)}))),function(A){return B.apply(this,arguments)})},{key:"update",value:(t=I(o().mark((function A(g){var I,t,C=this;return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return I=g.type,t=g.src,I!==this.currentType&&(this.currentType=I),A.abrupt("return",this.core.room.videoManager.setVirtualBackground({type:I,imageUrl:t,blurLevel:g.blurLevel,enableFaceCentering:g.enableFaceCentering}).then((function(){C.core.kvStatManager.addEnum({key:vg,value:C.getKVTypeValue(!1,!1,"NONE")})})).catch((function(){C.core.kvStatManager.addEnum({key:vg,value:C.getKVTypeValue(!0,!1,"OTHER")})})));case 3:case"end":return A.stop()}}),A,this)}))),function(A){return t.apply(this,arguments)})},{key:"stop",value:(g=I(o().mark((function A(){return o().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return A.abrupt("return",this.core.room.videoManager.setVirtualBackground());case 1:case"end":return A.stop()}}),A,this)}))),function(){return g.apply(this,arguments)})}],[{key:"isSupported",value:function(){if(MA<90)return!1;var A=document.createElement("canvas").getContext("webgl2");return!!(A&&A instanceof WebGL2RenderingContext)}}]);var g,t,B,e}();return N(mg,"Name","VirtualBackground"),mg}));