trtc-sdk-v5 5.9.2-beta.17 → 5.9.2-beta.18

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 (59) hide show
  1. package/README-zh_CN.md +1 -2
  2. package/README.md +1 -2
  3. package/index.d.ts +1791 -1795
  4. package/package.json +1 -1
  5. package/plugins/cdn-streaming/cdn-streaming.esm.js +1 -1
  6. package/plugins/cdn-streaming/cdn-streaming.iife.js +1 -0
  7. package/plugins/cdn-streaming/package.json +2 -1
  8. package/plugins/cross-room/cross-room.esm.js +1 -1
  9. package/plugins/cross-room/cross-room.iife.js +1 -0
  10. package/plugins/cross-room/package.json +2 -1
  11. package/plugins/device-detector/device-detector.esm.js +1234 -93
  12. package/plugins/device-detector/device-detector.iife.js +1472 -0
  13. package/plugins/device-detector/package.json +2 -1
  14. package/plugins/video-decoder/package.json +1 -1
  15. package/plugins/video-decoder/video-decoder.esm.d.ts +20 -20
  16. package/plugins/video-decoder/video-decoder.esm.js +43 -1
  17. package/plugins/video-decoder/video-decoder.iife.js +43 -0
  18. package/plugins/video-effect/basic-beauty/basic-beauty.esm.js +2 -1
  19. package/plugins/video-effect/basic-beauty/basic-beauty.iife.js +2 -0
  20. package/plugins/video-effect/basic-beauty/package.json +2 -1
  21. package/plugins/video-effect/beauty/beauty.esm.js +2954 -1
  22. package/plugins/video-effect/beauty/beauty.iife.js +2954 -0
  23. package/plugins/video-effect/beauty/package.json +2 -1
  24. package/plugins/video-effect/virtual-background/package.json +2 -1
  25. package/plugins/video-effect/virtual-background/virtual-background.esm.js +60 -1
  26. package/plugins/video-effect/virtual-background/virtual-background.iife.js +60 -0
  27. package/plugins/video-effect/watermark/package.json +2 -1
  28. package/plugins/video-effect/watermark/watermark.esm.d.ts +2 -10
  29. package/plugins/video-effect/watermark/watermark.esm.js +1 -1
  30. package/plugins/video-effect/watermark/watermark.iife.js +1 -0
  31. package/trtc.esm.js +29 -29
  32. package/trtc.js +1 -1
  33. package/assets/debug-dialog.js +0 -1
  34. package/assets/selfie_segmentation/package.json +0 -27
  35. package/assets/selfie_segmentation/selfie_segmentation.binarypb +0 -0
  36. package/assets/selfie_segmentation/selfie_segmentation.tflite +0 -0
  37. package/assets/selfie_segmentation/selfie_segmentation_landscape.tflite +0 -0
  38. package/assets/selfie_segmentation/selfie_segmentation_solution_simd_wasm_bin.data +0 -0
  39. package/assets/selfie_segmentation/selfie_segmentation_solution_simd_wasm_bin.wasm +0 -0
  40. package/assets/selfie_segmentation/selfie_segmentation_solution_wasm_bin.wasm +0 -0
  41. package/assets/videodec.wasm +0 -0
  42. package/assets/videodec_simd.wasm +0 -0
  43. package/plugins/cdn-streaming/cdn-streaming.umd.js +0 -1
  44. package/plugins/cross-room/cross-room.umd.js +0 -1
  45. package/plugins/custom-encryption/custom-encryption.esm.d.ts +0 -31
  46. package/plugins/custom-encryption/custom-encryption.esm.js +0 -1
  47. package/plugins/custom-encryption/custom-encryption.umd.js +0 -1
  48. package/plugins/custom-encryption/package.json +0 -7
  49. package/plugins/device-detector/device-detector.umd.js +0 -39
  50. package/plugins/video-decoder/video-decoder.umd.js +0 -1
  51. package/plugins/video-effect/basic-beauty/basic-beauty.umd.js +0 -1
  52. package/plugins/video-effect/beauty/beauty.umd.js +0 -1
  53. package/plugins/video-effect/virtual-background/virtual-background.umd.js +0 -1
  54. package/plugins/video-effect/watermark/watermark.umd.js +0 -1
  55. package/plugins/voice-changer/package.json +0 -9
  56. package/plugins/voice-changer/voice-changer.esm.d.ts +0 -20
  57. package/plugins/voice-changer/voice-changer.esm.js +0 -1
  58. package/plugins/voice-changer/voice-changer.umd.js +0 -1
  59. /package/{assets → plugins/ai-denoiser}/denoiser-wasm.js +0 -0
@@ -1 +0,0 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).TRTCVideoDecoder=e()}(this,(function(){"use strict";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function e(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function r(t){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=t.apply(r,n);function s(t){e(a,o,i,s,c,"next",t)}function c(t){e(a,o,i,s,c,"throw",t)}s(void 0)}))}}function n(t,e,r){return e=u(e),function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,l()?Reflect.construct(e,r||[],u(t).constructor):e.apply(t,r))}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,v(n.key),n)}}function a(t,e,r){return e&&i(t.prototype,e),r&&i(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function s(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=y(t))||e){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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,a=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){s=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function c(t,e,r){return(e=v(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function u(t){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},u(t)}function f(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&h(t,e)}function l(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(l=function(){return!!t})()}function d(){d=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=e&&e.prototype instanceof g?e:g,a=Object.create(i.prototype),s=new F(n||[]);return o(a,"_invoke",{value:S(t,r,s)}),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var h="suspendedStart",p="suspendedYield",v="executing",m="completed",y={};function g(){}function w(){}function b(){}var E={};u(E,a,(function(){return this}));var k=Object.getPrototypeOf,_=k&&k(k(O([])));_&&_!==r&&n.call(_,a)&&(E=_);var P=b.prototype=g.prototype=Object.create(E);function T(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function C(t,e){function r(o,i,a,s){var c=l(t[o],t,i);if("throw"!==c.type){var u=c.arg,f=u.value;return f&&"object"==typeof f&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(f).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function S(e,r,n){var o=h;return function(i,a){if(o===v)throw Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=A(s,n);if(c){if(c===y)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=v;var u=l(e,r,n);if("normal"===u.type){if(o=n.done?m:p,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=m,n.method="throw",n.arg=u.arg)}}}function A(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,A(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=l(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function D(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function F(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(D,this),this.reset(!0)}function O(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return w.prototype=b,o(P,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:w,configurable:!0}),w.displayName=u(b,c,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===w||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,u(t,c,"GeneratorFunction")),t.prototype=Object.create(P),t},e.awrap=function(t){return{__await:t}},T(C.prototype),u(C.prototype,s,(function(){return this})),e.AsyncIterator=C,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new C(f(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},T(P),u(P,c,"Generator"),u(P,a,(function(){return this})),u(P,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=O,F.prototype={constructor:F,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(x),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return s.type="throw",s.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:O(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function h(t,e){return h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},h(t,e)}function p(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(e)||y(e)||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(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}function m(t){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m(t)}function y(e,r){if(e){if("string"==typeof e)return t(e,r);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}function g(t){var e="function"==typeof Map?new Map:void 0;return g=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return function(t,e,r){if(l())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&h(o,r.prototype),o}(t,arguments,u(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),h(r,t)},g(t)}var w,b,E=Object.create,k=Object.defineProperty,_=Object.defineProperties,P=Object.getOwnPropertyDescriptor,T=Object.getOwnPropertyDescriptors,C=Object.getOwnPropertyNames,S=Object.getOwnPropertySymbols,A=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,F=function(t,e,r){return e in t?k(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r},O=function(t,e){for(var r in e||(e={}))D.call(e,r)&&F(t,r,e[r]);if(S){var n,o=s(S(e));try{for(o.s();!(n=o.n()).done;){r=n.value;x.call(e,r)&&F(t,r,e[r])}}catch(t){o.e(t)}finally{o.f()}}return t},j=function(t,e){return _(t,T(e))},M=function(t,e,r,n){for(var o,i=P(e,r),a=t.length-1;a>=0;a--)(o=t[a])&&(i=o(e,r,i)||i);return i&&k(e,r,i),i},$=function(t,e,r){return F(t,"symbol"!==m(e)?e+"":e,r)},R=(w={"../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js":function(t,e){var r=Object.prototype.hasOwnProperty,n="~";function o(){}function i(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function a(t,e,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new i(r,o||t,a),c=n?n+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],s]:t._events[c].push(s):(t._events[c]=s,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new o:delete t._events[e]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(n=!1)),c.prototype.eventNames=function(){var t,e,o=[];if(0===this._eventsCount)return o;for(e in t=this._events)r.call(t,e)&&o.push(n?e.slice(1):e);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},c.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,a=new Array(i);o<i;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},c.prototype.emit=function(t,e,r,o,i,a){var s=n?n+t:t;if(!this._events[s])return!1;var c,u,f=this._events[s],l=arguments.length;if(f.fn){switch(f.once&&this.removeListener(t,f.fn,void 0,!0),l){case 1:return f.fn.call(f.context),!0;case 2:return f.fn.call(f.context,e),!0;case 3:return f.fn.call(f.context,e,r),!0;case 4:return f.fn.call(f.context,e,r,o),!0;case 5:return f.fn.call(f.context,e,r,o,i),!0;case 6:return f.fn.call(f.context,e,r,o,i,a),!0}for(u=1,c=new Array(l-1);u<l;u++)c[u-1]=arguments[u];f.fn.apply(f.context,c)}else{var d,h=f.length;for(u=0;u<h;u++)switch(f[u].once&&this.removeListener(t,f[u].fn,void 0,!0),l){case 1:f[u].fn.call(f[u].context);break;case 2:f[u].fn.call(f[u].context,e);break;case 3:f[u].fn.call(f[u].context,e,r);break;case 4:f[u].fn.call(f[u].context,e,r,o);break;default:if(!c)for(d=1,c=new Array(l-1);d<l;d++)c[d-1]=arguments[d];f[u].fn.apply(f[u].context,c)}}return!0},c.prototype.on=function(t,e,r){return a(this,t,e,r,!1)},c.prototype.once=function(t,e,r){return a(this,t,e,r,!0)},c.prototype.removeListener=function(t,e,r,o){var i=n?n+t:t;if(!this._events[i])return this;if(!e)return s(this,i),this;var a=this._events[i];if(a.fn)a.fn!==e||o&&!a.once||r&&a.context!==r||s(this,i);else{for(var c=0,u=[],f=a.length;c<f;c++)(a[c].fn!==e||o&&!a[c].once||r&&a[c].context!==r)&&u.push(a[c]);u.length?this._events[i]=1===u.length?u[0]:u:s(this,i)}return this},c.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&s(this,e)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=n,c.EventEmitter=c,void 0!==e&&(e.exports=c)}},function(){return b||(0,w[C(w)[0]])((b={exports:{}}).exports,b),b.exports}),L=function(t,e,r){return r=null!=t?E(A(t)):{},function(t,e,r,n){if(e&&"object"===m(e)||"function"==typeof e){var o,i=s(C(e));try{var a=function(){var i=o.value;D.call(t,i)||i===r||k(t,i,{get:function(){return e[i]},enumerable:!(n=P(e,i))||n.enumerable})};for(i.s();!(o=i.n()).done;)a()}catch(t){i.e(t)}finally{i.f()}}return t}(k(r,"default",{value:t,enumerable:!0}),t)}(R()),z=Symbol("instance"),N=Symbol("cacheResult"),I=function(){return a((function t(e,r,n){o(this,t),this.oldState=e,this.newState=r,this.action=n,this.aborted=!1}),[{key:"abort",value:function(t){this.aborted=!0,q.call(t,this.oldState,new Error("action '".concat(this.action,"' aborted")))}},{key:"toString",value:function(){return"".concat(this.action,"ing")}}])}(),B=function(t){function e(t,r,i){var a;return o(this,e),(a=n(this,e,[r])).state=t,a.message=r,a.cause=i,a}return f(e,t),a(e)}(g(Error));var U=new Map;function W(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(n,o,i){var a=r.action||o;if(!r.context){var s=U.get(n)||[];U.has(n)||U.set(n,s),s.push({from:t,to:e,action:a})}var c=i.value;i.value=function(){for(var n,o=this,i=this,s=arguments.length,u=new Array(s),f=0;f<s;f++)u[f]=arguments[f];r.context&&(i=X.get("function"==typeof r.context?(n=r.context).call.apply(n,[this].concat(u)):r.context));if(i.state===e)return r.sync?i[N]:Promise.resolve(i[N]);i.state instanceof I&&i.state.action==r.abortAction&&i.state.abort(i);var l=null;Array.isArray(t)?0==t.length?i.state instanceof I&&i.state.abort(i):"string"==typeof i.state&&t.includes(i.state)||(l=new B(i._state,"".concat(i.name," ").concat(a," to ").concat(e," failed: current state ").concat(i._state," not from ").concat(t.join("|")))):t!==i.state&&(l=new B(i._state,"".concat(i.name," ").concat(a," to ").concat(e," failed: current state ").concat(i._state," not from ").concat(t)));var d=function(t){if(r.fail&&r.fail.call(o,t),r.sync){if(r.ignoreError)return t;throw t}return r.ignoreError?Promise.resolve(t):Promise.reject(t)};if(l)return d(l);var h=i.state,p=new I(h,e,a);q.call(i,p);var v,y=function(t){var n;return i[N]=t,p.aborted||(q.call(i,e),null===(n=r.success)||void 0===n||n.call(o,i[N])),t},g=function(t){return q.call(i,h,t),d(t)};try{var w=c.apply(this,u);return"object"===m(v=w)&&v&&"then"in v?w.then(y).catch(g):r.sync?y(w):Promise.resolve(y(w))}catch(r){return g(new B(i._state,"".concat(i.name," ").concat(a," from ").concat(t," to ").concat(e," failed: ").concat(r),r instanceof Error?r:new Error(String(r))))}}}}var H,V,G=(H="undefined"!=typeof window&&window.__AFSM__,V="undefined"!=typeof importScripts,H?function(t,e){window.dispatchEvent(new CustomEvent(t,{detail:e}))}:V?function(t,e){postMessage({type:t,payload:e})}:function(){});function q(t,e){var r=this._state;this._state=t;var n=t.toString();t&&this.emit(n,r),this.emit(X.STATECHANGED,t,r,e),this.updateDevTools({value:t,old:r,err:e instanceof Error?e.message:String(e)})}var X=function(t){function e(t,r,i){var a;o(this,e),(a=n(this,e)).name=t,a.groupName=r,a._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(a,i):i=Object.getPrototypeOf(a),r||(a.groupName=a.constructor.name);var s=i[z];return s?a.name=s.name+"-"+s.count++:i[z]={name:a.name,count:0},a.updateDevTools({diagram:a.stateDiagram}),a}return f(e,t),a(e,[{key:"stateDiagram",get:function(){var t=Object.getPrototypeOf(this),e=U.get(t)||[],r=new Set,n=[],o=[],i=new Set,a=Object.getPrototypeOf(t);U.has(a)&&(a.stateDiagram.forEach((function(t){return r.add(t)})),a.allStates.forEach((function(t){return i.add(t)}))),e.forEach((function(t){var e=t.from,r=t.to,i=t.action;"string"==typeof e?n.push({from:e,to:r,action:i}):e.length?e.forEach((function(t){n.push({from:t,to:r,action:i})})):o.push({to:r,action:i})})),n.forEach((function(t){var e=t.from,n=t.to,o=t.action;i.add(e),i.add(n),i.add(o+"ing"),r.add("".concat(e," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(n," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(e," : ").concat(o," 🔴"))})),o.forEach((function(t){var e=t.to,n=t.action;r.add("".concat(n,"ing --\x3e ").concat(e," : ").concat(n," 🟢")),i.forEach((function(t){t!==e&&r.add("".concat(t," --\x3e ").concat(n,"ing : ").concat(n))}))}));var s=p(r);return Object.defineProperties(t,{stateDiagram:{value:s},allStates:{value:i}}),s}},{key:"updateDevTools",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};G(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}},{key:"state",get:function(){return this._state},set:function(t){q.call(this,t)}}],[{key:"get",value:function(t){var r;return"string"==typeof t?(r=e.instances.get(t))||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype))):(r=e.instances2.get(t))||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype))),r}},{key:"getState",value:function(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}}])}(L.default);X.STATECHANGED="stateChanged",X.UPDATEAFSM="updateAFSM",X.INIT="[*]",X.ON="on",X.OFF="off",X.instances=new Map,X.instances2=new WeakMap;var K=function(t){function e(){var t;return o(this,e),t=n(this,e,arguments),$(t,"decoder"),$(t,"config"),t}return f(e,t),a(e,[{key:"initialize",value:(i=r(d().mark((function t(){var e=this;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:this.decoder=new VideoDecoder({output:function(t){e.emit("videoFrame",t)},error:function(t){e.close(),e.emit("error",t)}});case 1:case"end":return t.stop()}}),t,this)}))),function(){return i.apply(this,arguments)})},{key:"configure",value:function(t){this.config=t,this.decoder.configure(j(O({},t),{codec:this.getCodec(t)}))}},{key:"getCodec",value:function(t){switch(t.codec){case"hevc":return"hvc1.1.6.L0.12.34.56.78.9A.BC";case"av1":return"av01.0.05M.08";case"avc":return"avc1.420028";default:return t.codec}}},{key:"decode",value:function(t){"configured"===this.decoder.state&&this.decoder.decode(new EncodedVideoChunk(t))}},{key:"flush",value:function(){this.decoder.flush()}},{key:"reset",value:function(){this.decoder.reset()}},{key:"close",value:function(){"closed"!==this.decoder.state&&this.decoder.close()}}]);var i}(X);function J(){var t;self.onmessage=function(e){if("init"===e.data.type){var r=e.data,n=r.canvas,o=r.wasmScript,i=r.wasmBinary,a=null==n?void 0:n.getContext("2d"),s=0,c=0,u={wasmBinary:i,postRun:function(){t=new u.VideoDecoder({videoInfo:function(t,e){s=t,c=e,console.log("video info",t,e)},yuvData:function(t,e){var r=s*c,o=r>>2,i=u.HEAPU32[t>>2],f=u.HEAPU32[1+(t>>2)],l=u.HEAPU32[2+(t>>2)],d=u.HEAPU8.subarray(i,i+r),h=u.HEAPU8.subarray(f,f+o),p=u.HEAPU8.subarray(l,l+o),v=new Uint8Array(r+o+o);v.set(d),v.set(h,r),v.set(p,r+o);var m=new VideoFrame(v,{codedWidth:s,codedHeight:c,format:"I420",timestamp:e});n?(null==a||a.drawImage(m,0,0,n.width,n.height),null==a||a.commit()):self.postMessage({type:"yuvData",videoFrame:m},[m])}}),self.postMessage({type:"ready"})}};Function("var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;return "+o)()(u)}else if("decode"===e.data.type){var f=e.data.packet;null==t||t.decode(f.data,"key"==f.type,f.timestamp)}else if("setCodec"===e.data.type){var l=e.data,d=l.codec,h=l.format,p=l.description;null==t||t.setCodec(d,h,null!=p?p:"")}}}M([W([X.INIT,"closed"],"initialized")],K.prototype,"initialize"),M([W("initialized","configured",{sync:!0})],K.prototype,"configure"),M([function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(t,r,n){var o=n.value,i=r;n.value=function(){if(!e.includes(this.state.toString()))throw new B(this.state,"".concat(this.name," ").concat(i," failed: current state ").concat(this.state," not in ").concat(e));for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return o.apply(this,r)}}}("configured")],K.prototype,"decode"),M([W([],X.INIT,{sync:!0})],K.prototype,"reset"),M([W([],"closed",{ignoreError:!0,sync:!0})],K.prototype,"close");var Y=function(t){function e(t,r){var i,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],s=arguments.length>3?arguments[3]:void 0,c=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return o(this,e),(i=n(this,e)).createModule=t,i.wasmBinary=r,i.workerMode=a,i.canvas=s,i.yuvMode=c,$(i,"worker"),$(i,"decoder"),$(i,"config"),$(i,"module",{}),$(i,"width",0),$(i,"height",0),i}return f(e,t),a(e,[{key:"initialize",value:(i=r(d().mark((function t(e){var r,n,o,i,a,s=this;return d().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.workerMode){t.next=10;break}return n=new RegExp("\\{(.+)\\}","s").exec(J.toString())[1],this.worker=new Worker(URL.createObjectURL(new Blob([n],{type:"text/javascript"}))),o=null==(r=this.canvas)?void 0:r.transferControlToOffscreen(),t.next=6,this.wasmBinary;case 6:return i=t.sent,console.warn("worker mode",i),this.worker.postMessage({type:"init",canvas:o,wasmScript:this.createModule.toString(),wasmBinary:i},o?[o,i]:[i]),t.abrupt("return",new Promise((function(t){s.worker.onmessage=function(e){if("ready"===e.data.type)delete s.wasmBinary,t(),console.warn("worker mode initialize success");else if("yuvData"===e.data.type){var r=e.data.videoFrame;s.emit("videoFrame",r)}}})));case 10:if(a=this.module,!this.wasmBinary){t.next=15;break}return t.next=14,this.wasmBinary;case 14:a.wasmBinary=t.sent;case 15:return a.print=function(t){return console.log(t)},a.printErr=function(t){return console.log("[JS] ERROR: ".concat(t))},a.onAbort=function(){return console.log("[JS] FATAL: WASM ABORTED")},t.abrupt("return",new Promise((function(t){a.postRun=function(e){s.decoder=new s.module.VideoDecoder(s),console.log("video soft decoder initialize success"),t()},e&&Object.assign(a,e),s.createModule(a)})));case 19:case"end":return t.stop()}}),t,this)}))),function(t){return i.apply(this,arguments)})},{key:"configure",value:function(t){var e,r,n;this.config=t;var o=this.config.codec.startsWith("avc")?"avc":"hevc",i=this.config.description?"avc"==o?"avcc":"hvcc":"annexb";null==(r=this.decoder)||r.setCodec(o,i,null!=(e=this.config.description)?e:""),null==(n=this.worker)||n.postMessage({type:"setCodec",codec:o,format:i,description:this.config.description})}},{key:"decode",value:function(t){var e,r;null==(e=this.decoder)||e.decode(t.data,"key"==t.type,t.timestamp),"configured"===this.state&&(null==(r=this.worker)||r.postMessage({type:"decode",packet:t}))}},{key:"flush",value:function(){}},{key:"reset",value:function(){this.config=void 0,this.decoder&&this.decoder.clear()}},{key:"close",value:function(){this.removeAllListeners(),this.decoder&&(this.decoder.clear(),this.decoder.delete())}},{key:"videoInfo",value:function(t,e){this.width=t,this.height=e;var r={width:t,height:e};this.emit("videoCodecInfo",r)}},{key:"yuvData",value:function(t,e){if(this.module){var r=this.width*this.height,n=r>>2,o=this.module.HEAPU32[t>>2],i=this.module.HEAPU32[1+(t>>2)],a=this.module.HEAPU32[2+(t>>2)],s=this.module.HEAPU8.subarray(o,o+r),c=this.module.HEAPU8.subarray(i,i+n),u=this.module.HEAPU8.subarray(a,a+n);if(this.yuvMode)this.emit("videoFrame",{y:s,u:c,v:u,timestamp:e});else{var f=new Uint8Array(r+n+n);f.set(s),f.set(c,r),f.set(u,r+n),this.emit("videoFrame",new VideoFrame(f,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:e}))}}}},{key:"errorInfo",value:function(t){var e={errMsg:t};this.emit("error",e)}}]);var i}(X);M([W([X.INIT,"closed"],"initialized")],Y.prototype,"initialize"),M([W("initialized","configured",{sync:!0})],Y.prototype,"configure"),M([W([],X.INIT,{sync:!0})],Y.prototype,"reset"),M([W([],"closed",{sync:!0})],Y.prototype,"close");var Z,Q=(Z="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var t,e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=r;i.ready=new Promise((function(r,n){t=r,e=n}));var s=Object.assign({},i),u="./this.program",l="object"==("undefined"==typeof window?"undefined":m(window)),d="function"==typeof importScripts;"object"==("undefined"==typeof process?"undefined":m(process))&&"object"==m(process.versions)&&process.versions.node;var h,p,v,y="";(l||d)&&(d?y=self.location.href:"undefined"!=typeof document&&document.currentScript&&(y=document.currentScript.src),Z&&(y=Z),y=0!==y.indexOf("blob:")?y.substr(0,y.replace(/[?#].*/,"").lastIndexOf("/")+1):"",h=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},d&&(v=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),p=function(t,e,r){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?e(n.response):r()},n.onerror=r,n.send(null)});var w,b,E,k=i.print||console.log.bind(console),_=i.printErr||console.error.bind(console);Object.assign(i,s),s=null,i.arguments&&i.arguments,i.thisProgram&&(u=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(w=i.wasmBinary),i.noExitRuntime,"object"!=("undefined"==typeof WebAssembly?"undefined":m(WebAssembly))&&W("no native wasm support detected");var P,T,C,S,A,D,x,F,O,j=!1,M=[],$=[],R=[];function L(t){M.unshift(t)}function z(t){R.unshift(t)}var N=0,I=null;function B(t){N++,i.monitorRunDependencies&&i.monitorRunDependencies(N)}function U(t){if(N--,i.monitorRunDependencies&&i.monitorRunDependencies(N),0==N&&I){var e=I;I=null,e()}}function W(t){i.onAbort&&i.onAbort(t),_(t="Aborted("+t+")"),j=!0,t+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(t);throw e(r),r}var H,V,G,q,X="data:application/octet-stream;base64,";function K(t){return t.startsWith(X)}function J(t){if(t==H&&w)return new Uint8Array(w);if(v)return v(t);throw"both async and sync fetching of the wasm failed"}function Y(t,e,r){return function(t){return w||!l&&!d||"function"!=typeof fetch?Promise.resolve().then((function(){return J(t)})):fetch(t,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+t+"'";return e.arrayBuffer()})).catch((function(){return J(t)}))}(t).then((function(t){return WebAssembly.instantiate(t,e)})).then((function(t){return t})).then(r,(function(t){_("failed to asynchronously prepare wasm: "+t),W(t)}))}K(H="videodec.wasm")||(V=H,H=i.locateFile?i.locateFile(V,y):y+V);var Q=function(t){for(;t.length>0;)t.shift()(i)};function tt(t){this.excPtr=t,this.ptr=t-24,this.set_type=function(t){D[this.ptr+4>>2]=t},this.get_type=function(){return D[this.ptr+4>>2]},this.set_destructor=function(t){D[this.ptr+8>>2]=t},this.get_destructor=function(){return D[this.ptr+8>>2]},this.set_caught=function(t){t=t?1:0,P[this.ptr+12|0]=t},this.get_caught=function(){return 0!=P[this.ptr+12|0]},this.set_rethrown=function(t){t=t?1:0,P[this.ptr+13|0]=t},this.get_rethrown=function(){return 0!=P[this.ptr+13|0]},this.init=function(t,e){this.set_adjusted_ptr(0),this.set_type(t),this.set_destructor(e)},this.set_adjusted_ptr=function(t){D[this.ptr+16>>2]=t},this.get_adjusted_ptr=function(){return D[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ir(this.get_type()))return D[this.excPtr>>2];var t=this.get_adjusted_ptr();return 0!==t?t:this.excPtr}}var et={isAbs:function(t){return"/"===t.charAt(0)},splitPath:function(t){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(t).slice(1)},normalizeArray:function(t,e){for(var r=0,n=t.length-1;n>=0;n--){var o=t[n];"."===o?t.splice(n,1):".."===o?(t.splice(n,1),r++):r&&(t.splice(n,1),r--)}if(e)for(;r;r--)t.unshift("..");return t},normalize:function(t){var e=et.isAbs(t),r="/"===t.substr(-1);return(t=et.normalizeArray(t.split("/").filter((function(t){return!!t})),!e).join("/"))||e||(t="."),t&&r&&(t+="/"),(e?"/":"")+t},dirname:function(t){var e=et.splitPath(t),r=e[0],n=e[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(t){if("/"===t)return"/";var e=(t=(t=et.normalize(t)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?t:t.substr(e+1)},join:function(){var t=Array.prototype.slice.call(arguments);return et.normalize(t.join("/"))},join2:function(t,e){return et.normalize(t+"/"+e)}},rt=function(t){return(rt=function(){if("object"==("undefined"==typeof crypto?"undefined":m(crypto))&&"function"==typeof crypto.getRandomValues)return function(t){return crypto.getRandomValues(t)};W("initRandomDevice")}())(t)},nt={resolve:function(){for(var t="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var n=r>=0?arguments[r]:mt.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,e=et.isAbs(n)}return(e?"/":"")+(t=et.normalizeArray(t.split("/").filter((function(t){return!!t})),!e).join("/"))||"."},relative:function(t,e){function r(t){for(var e=0;e<t.length&&""===t[e];e++);for(var r=t.length-1;r>=0&&""===t[r];r--);return e>r?[]:t.slice(e,r-e+1)}t=nt.resolve(t).substr(1),e=nt.resolve(e).substr(1);for(var n=r(t.split("/")),o=r(e.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s<i;s++)if(n[s]!==o[s]){a=s;break}var c=[];for(s=a;s<n.length;s++)c.push("..");return(c=c.concat(o.slice(a))).join("/")}},ot="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,it=function(t,e,r){for(var n=e+r,o=e;t[o]&&!(o>=n);)++o;if(o-e>16&&t.buffer&&ot)return ot.decode(t.subarray(e,o));for(var i="";e<o;){var a=t[e++];if(128&a){var s=63&t[e++];if(192!=(224&a)){var c=63&t[e++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&t[e++])<65536)i+=String.fromCharCode(a);else{var u=a-65536;i+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i},at=[],st=function(t){for(var e=0,r=0;r<t.length;++r){var n=t.charCodeAt(r);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++r):e+=3}return e},ct=function(t,e,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<t.length;++a){var s=t.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&t.charCodeAt(++a)),s<=127){if(r>=i)break;e[r++]=s}else if(s<=2047){if(r+1>=i)break;e[r++]=192|s>>6,e[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;e[r++]=224|s>>12,e[r++]=128|s>>6&63,e[r++]=128|63&s}else{if(r+3>=i)break;e[r++]=240|s>>18,e[r++]=128|s>>12&63,e[r++]=128|s>>6&63,e[r++]=128|63&s}}return e[r]=0,r-o};function ut(t,e,r){var n=st(t)+1,o=new Array(n),i=ct(t,o,0,o.length);return o.length=i,o}var ft={ttys:[],init:function(){},shutdown:function(){},register:function(t,e){ft.ttys[t]={input:[],output:[],ops:e},mt.registerDevice(t,ft.stream_ops)},stream_ops:{open:function(t){var e=ft.ttys[t.node.rdev];if(!e)throw new mt.ErrnoError(43);t.tty=e,t.seekable=!1},close:function(t){t.tty.ops.fsync(t.tty)},fsync:function(t){t.tty.ops.fsync(t.tty)},read:function(t,e,r,n,o){if(!t.tty||!t.tty.ops.get_char)throw new mt.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=t.tty.ops.get_char(t.tty)}catch(t){throw new mt.ErrnoError(29)}if(void 0===s&&0===i)throw new mt.ErrnoError(6);if(null==s)break;i++,e[r+a]=s}return i&&(t.node.timestamp=Date.now()),i},write:function(t,e,r,n,o){if(!t.tty||!t.tty.ops.put_char)throw new mt.ErrnoError(60);try{for(var i=0;i<n;i++)t.tty.ops.put_char(t.tty,e[r+i])}catch(t){throw new mt.ErrnoError(29)}return n&&(t.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(t){return function(){if(!at.length){var t=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n"),!t)return null;at=ut(t)}return at.shift()}()},put_char:function(t,e){null===e||10===e?(k(it(t.output,0)),t.output=[]):0!=e&&t.output.push(e)},fsync:function(t){t.output&&t.output.length>0&&(k(it(t.output,0)),t.output=[])},ioctl_tcgets:function(t){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(t,e,r){return 0},ioctl_tiocgwinsz:function(t){return[24,80]}},default_tty1_ops:{put_char:function(t,e){null===e||10===e?(_(it(t.output,0)),t.output=[]):0!=e&&t.output.push(e)},fsync:function(t){t.output&&t.output.length>0&&(_(it(t.output,0)),t.output=[])}}},lt=function(t){W()},dt={ops_table:null,mount:function(t){return dt.createNode(null,"/",16895,0)},createNode:function(t,e,r,n){if(mt.isBlkdev(r)||mt.isFIFO(r))throw new mt.ErrnoError(63);dt.ops_table||(dt.ops_table={dir:{node:{getattr:dt.node_ops.getattr,setattr:dt.node_ops.setattr,lookup:dt.node_ops.lookup,mknod:dt.node_ops.mknod,rename:dt.node_ops.rename,unlink:dt.node_ops.unlink,rmdir:dt.node_ops.rmdir,readdir:dt.node_ops.readdir,symlink:dt.node_ops.symlink},stream:{llseek:dt.stream_ops.llseek}},file:{node:{getattr:dt.node_ops.getattr,setattr:dt.node_ops.setattr},stream:{llseek:dt.stream_ops.llseek,read:dt.stream_ops.read,write:dt.stream_ops.write,allocate:dt.stream_ops.allocate,mmap:dt.stream_ops.mmap,msync:dt.stream_ops.msync}},link:{node:{getattr:dt.node_ops.getattr,setattr:dt.node_ops.setattr,readlink:dt.node_ops.readlink},stream:{}},chrdev:{node:{getattr:dt.node_ops.getattr,setattr:dt.node_ops.setattr},stream:mt.chrdev_stream_ops}});var o=mt.createNode(t,e,r,n);return mt.isDir(o.mode)?(o.node_ops=dt.ops_table.dir.node,o.stream_ops=dt.ops_table.dir.stream,o.contents={}):mt.isFile(o.mode)?(o.node_ops=dt.ops_table.file.node,o.stream_ops=dt.ops_table.file.stream,o.usedBytes=0,o.contents=null):mt.isLink(o.mode)?(o.node_ops=dt.ops_table.link.node,o.stream_ops=dt.ops_table.link.stream):mt.isChrdev(o.mode)&&(o.node_ops=dt.ops_table.chrdev.node,o.stream_ops=dt.ops_table.chrdev.stream),o.timestamp=Date.now(),t&&(t.contents[e]=o,t.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(t){return t.contents?t.contents.subarray?t.contents.subarray(0,t.usedBytes):new Uint8Array(t.contents):new Uint8Array(0)},expandFileStorage:function(t,e){var r=t.contents?t.contents.length:0;if(!(r>=e)){e=Math.max(e,r*(r<1048576?2:1.125)>>>0),0!=r&&(e=Math.max(e,256));var n=t.contents;t.contents=new Uint8Array(e),t.usedBytes>0&&t.contents.set(n.subarray(0,t.usedBytes),0)}},resizeFileStorage:function(t,e){if(t.usedBytes!=e)if(0==e)t.contents=null,t.usedBytes=0;else{var r=t.contents;t.contents=new Uint8Array(e),r&&t.contents.set(r.subarray(0,Math.min(e,t.usedBytes))),t.usedBytes=e}},node_ops:{getattr:function(t){var e={};return e.dev=mt.isChrdev(t.mode)?t.id:1,e.ino=t.id,e.mode=t.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=t.rdev,mt.isDir(t.mode)?e.size=4096:mt.isFile(t.mode)?e.size=t.usedBytes:mt.isLink(t.mode)?e.size=t.link.length:e.size=0,e.atime=new Date(t.timestamp),e.mtime=new Date(t.timestamp),e.ctime=new Date(t.timestamp),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr:function(t,e){void 0!==e.mode&&(t.mode=e.mode),void 0!==e.timestamp&&(t.timestamp=e.timestamp),void 0!==e.size&&dt.resizeFileStorage(t,e.size)},lookup:function(t,e){throw mt.genericErrors[44]},mknod:function(t,e,r,n){return dt.createNode(t,e,r,n)},rename:function(t,e,r){if(mt.isDir(t.mode)){var n;try{n=mt.lookupNode(e,r)}catch(t){}if(n)for(var o in n.contents)throw new mt.ErrnoError(55)}delete t.parent.contents[t.name],t.parent.timestamp=Date.now(),t.name=r,e.contents[r]=t,e.timestamp=t.parent.timestamp,t.parent=e},unlink:function(t,e){delete t.contents[e],t.timestamp=Date.now()},rmdir:function(t,e){var r=mt.lookupNode(t,e);for(var n in r.contents)throw new mt.ErrnoError(55);delete t.contents[e],t.timestamp=Date.now()},readdir:function(t){var e=[".",".."];for(var r in t.contents)t.contents.hasOwnProperty(r)&&e.push(r);return e},symlink:function(t,e,r){var n=dt.createNode(t,e,41471,0);return n.link=r,n},readlink:function(t){if(!mt.isLink(t.mode))throw new mt.ErrnoError(28);return t.link}},stream_ops:{read:function(t,e,r,n,o){var i=t.node.contents;if(o>=t.node.usedBytes)return 0;var a=Math.min(t.node.usedBytes-o,n);if(a>8&&i.subarray)e.set(i.subarray(o,o+a),r);else for(var s=0;s<a;s++)e[r+s]=i[o+s];return a},write:function(t,e,r,n,o,i){if(!n)return 0;var a=t.node;if(a.timestamp=Date.now(),e.subarray&&(!a.contents||a.contents.subarray)){if(i)return a.contents=e.subarray(r,r+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=e.slice(r,r+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(e.subarray(r,r+n),o),n}if(dt.expandFileStorage(a,o+n),a.contents.subarray&&e.subarray)a.contents.set(e.subarray(r,r+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=e[r+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(t,e,r){var n=e;if(1===r?n+=t.position:2===r&&mt.isFile(t.node.mode)&&(n+=t.node.usedBytes),n<0)throw new mt.ErrnoError(28);return n},allocate:function(t,e,r){dt.expandFileStorage(t.node,e+r),t.node.usedBytes=Math.max(t.node.usedBytes,e+r)},mmap:function(t,e,r,n,o){if(!mt.isFile(t.node.mode))throw new mt.ErrnoError(43);var i,a,s=t.node.contents;if(2&o||s.buffer!==P.buffer){if((r>0||r+e<s.length)&&(s=s.subarray?s.subarray(r,r+e):Array.prototype.slice.call(s,r,r+e)),a=!0,!(i=lt()))throw new mt.ErrnoError(48);P.set(s,i)}else a=!1,i=s.byteOffset;return{ptr:i,allocated:a}},msync:function(t,e,r,n,o){return dt.stream_ops.write(t,e,0,n,r,!1),0}}},ht=function(t,e,r,n){var o="al ".concat(t);p(t,(function(r){var n,i;n=r,i='Loading data file "'.concat(t,'" failed (no arrayBuffer).'),n||W(i),e(new Uint8Array(r)),o&&U()}),(function(e){if(!r)throw'Loading data file "'.concat(t,'" failed.');r()})),o&&B()},pt=i.preloadPlugins||[];function vt(t,e){var r=0;return t&&(r|=365),e&&(r|=146),r}var mt={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(t=nt.resolve(t)))return{path:"",node:null};if((e=Object.assign({follow_mount:!0,recurse_count:0},e)).recurse_count>8)throw new mt.ErrnoError(32);for(var r=t.split("/").filter((function(t){return!!t})),n=mt.root,o="/",i=0;i<r.length;i++){var a=i===r.length-1;if(a&&e.parent)break;if(n=mt.lookupNode(n,r[i]),o=et.join2(o,r[i]),mt.isMountpoint(n)&&(!a||a&&e.follow_mount)&&(n=n.mounted.root),!a||e.follow)for(var s=0;mt.isLink(n.mode);){var c=mt.readlink(o);if(o=nt.resolve(et.dirname(o),c),n=mt.lookupPath(o,{recurse_count:e.recurse_count+1}).node,s++>40)throw new mt.ErrnoError(32)}}return{path:o,node:n}},getPath:function(t){for(var e;;){if(mt.isRoot(t)){var r=t.mount.mountpoint;return e?"/"!==r[r.length-1]?"".concat(r,"/").concat(e):r+e:r}e=e?"".concat(t.name,"/").concat(e):t.name,t=t.parent}},hashName:function(t,e){for(var r=0,n=0;n<e.length;n++)r=(r<<5)-r+e.charCodeAt(n)|0;return(t+r>>>0)%mt.nameTable.length},hashAddNode:function(t){var e=mt.hashName(t.parent.id,t.name);t.name_next=mt.nameTable[e],mt.nameTable[e]=t},hashRemoveNode:function(t){var e=mt.hashName(t.parent.id,t.name);if(mt.nameTable[e]===t)mt.nameTable[e]=t.name_next;else for(var r=mt.nameTable[e];r;){if(r.name_next===t){r.name_next=t.name_next;break}r=r.name_next}},lookupNode:function(t,e){var r=mt.mayLookup(t);if(r)throw new mt.ErrnoError(r,t);for(var n=mt.hashName(t.id,e),o=mt.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===t.id&&i===e)return o}return mt.lookup(t,e)},createNode:function(t,e,r,n){var o=new mt.FSNode(t,e,r,n);return mt.hashAddNode(o),o},destroyNode:function(t){mt.hashRemoveNode(t)},isRoot:function(t){return t===t.parent},isMountpoint:function(t){return!!t.mounted},isFile:function(t){return 32768==(61440&t)},isDir:function(t){return 16384==(61440&t)},isLink:function(t){return 40960==(61440&t)},isChrdev:function(t){return 8192==(61440&t)},isBlkdev:function(t){return 24576==(61440&t)},isFIFO:function(t){return 4096==(61440&t)},isSocket:function(t){return!(49152&~t)},flagsToPermissionString:function(t){var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},nodePermissions:function(t,e){return mt.ignorePermissions||(!e.includes("r")||292&t.mode)&&(!e.includes("w")||146&t.mode)&&(!e.includes("x")||73&t.mode)?0:2},mayLookup:function(t){var e=mt.nodePermissions(t,"x");return e||(t.node_ops.lookup?0:2)},mayCreate:function(t,e){try{return mt.lookupNode(t,e),20}catch(t){}return mt.nodePermissions(t,"wx")},mayDelete:function(t,e,r){var n;try{n=mt.lookupNode(t,e)}catch(t){return t.errno}var o=mt.nodePermissions(t,"wx");if(o)return o;if(r){if(!mt.isDir(n.mode))return 54;if(mt.isRoot(n)||mt.getPath(n)===mt.cwd())return 10}else if(mt.isDir(n.mode))return 31;return 0},mayOpen:function(t,e){return t?mt.isLink(t.mode)?32:mt.isDir(t.mode)&&("r"!==mt.flagsToPermissionString(e)||512&e)?31:mt.nodePermissions(t,mt.flagsToPermissionString(e)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var t=0;t<=mt.MAX_OPEN_FDS;t++)if(!mt.streams[t])return t;throw new mt.ErrnoError(33)},getStreamChecked:function(t){var e=mt.getStream(t);if(!e)throw new mt.ErrnoError(8);return e},getStream:function(t){return mt.streams[t]},createStream:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return mt.FSStream||(mt.FSStream=function(){this.shared={}},mt.FSStream.prototype={},Object.defineProperties(mt.FSStream.prototype,{object:{get:function(){return this.node},set:function(t){this.node=t}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(t){this.shared.flags=t}},position:{get:function(){return this.shared.position},set:function(t){this.shared.position=t}}})),t=Object.assign(new mt.FSStream,t),-1==e&&(e=mt.nextfd()),t.fd=e,mt.streams[e]=t,t},closeStream:function(t){mt.streams[t]=null},chrdev_stream_ops:{open:function(t){var e=mt.getDevice(t.node.rdev);t.stream_ops=e.stream_ops,t.stream_ops.open&&t.stream_ops.open(t)},llseek:function(){throw new mt.ErrnoError(70)}},major:function(t){return t>>8},minor:function(t){return 255&t},makedev:function(t,e){return t<<8|e},registerDevice:function(t,e){mt.devices[t]={stream_ops:e}},getDevice:function(t){return mt.devices[t]},getMounts:function(t){for(var e=[],r=[t];r.length;){var n=r.pop();e.push(n),r.push.apply(r,n.mounts)}return e},syncfs:function(t,e){"function"==typeof t&&(e=t,t=!1),mt.syncFSRequests++,mt.syncFSRequests>1&&_("warning: ".concat(mt.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=mt.getMounts(mt.root.mount),n=0;function o(t){return mt.syncFSRequests--,e(t)}function i(t){if(t)return i.errored?void 0:(i.errored=!0,o(t));++n>=r.length&&o(null)}r.forEach((function(e){if(!e.type.syncfs)return i(null);e.type.syncfs(e,t,i)}))},mount:function(t,e,r){var n,o="/"===r,i=!r;if(o&&mt.root)throw new mt.ErrnoError(10);if(!o&&!i){var a=mt.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,mt.isMountpoint(n))throw new mt.ErrnoError(10);if(!mt.isDir(n.mode))throw new mt.ErrnoError(54)}var s={type:t,opts:e,mountpoint:r,mounts:[]},c=t.mount(s);return c.mount=s,s.root=c,o?mt.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount:function(t){var e=mt.lookupPath(t,{follow_mount:!1});if(!mt.isMountpoint(e.node))throw new mt.ErrnoError(28);var r=e.node,n=r.mounted,o=mt.getMounts(n);Object.keys(mt.nameTable).forEach((function(t){for(var e=mt.nameTable[t];e;){var r=e.name_next;o.includes(e.mount)&&mt.destroyNode(e),e=r}})),r.mounted=null;var i=r.mount.mounts.indexOf(n);r.mount.mounts.splice(i,1)},lookup:function(t,e){return t.node_ops.lookup(t,e)},mknod:function(t,e,r){var n=mt.lookupPath(t,{parent:!0}).node,o=et.basename(t);if(!o||"."===o||".."===o)throw new mt.ErrnoError(28);var i=mt.mayCreate(n,o);if(i)throw new mt.ErrnoError(i);if(!n.node_ops.mknod)throw new mt.ErrnoError(63);return n.node_ops.mknod(n,o,e,r)},create:function(t,e){return e=void 0!==e?e:438,e&=4095,e|=32768,mt.mknod(t,e,0)},mkdir:function(t,e){return e=void 0!==e?e:511,e&=1023,e|=16384,mt.mknod(t,e,0)},mkdirTree:function(t,e){for(var r=t.split("/"),n="",o=0;o<r.length;++o)if(r[o]){n+="/"+r[o];try{mt.mkdir(n,e)}catch(t){if(20!=t.errno)throw t}}},mkdev:function(t,e,r){return void 0===r&&(r=e,e=438),e|=8192,mt.mknod(t,e,r)},symlink:function(t,e){if(!nt.resolve(t))throw new mt.ErrnoError(44);var r=mt.lookupPath(e,{parent:!0}).node;if(!r)throw new mt.ErrnoError(44);var n=et.basename(e),o=mt.mayCreate(r,n);if(o)throw new mt.ErrnoError(o);if(!r.node_ops.symlink)throw new mt.ErrnoError(63);return r.node_ops.symlink(r,n,t)},rename:function(t,e){var r,n,o=et.dirname(t),i=et.dirname(e),a=et.basename(t),s=et.basename(e);if(r=mt.lookupPath(t,{parent:!0}).node,n=mt.lookupPath(e,{parent:!0}).node,!r||!n)throw new mt.ErrnoError(44);if(r.mount!==n.mount)throw new mt.ErrnoError(75);var c,u=mt.lookupNode(r,a),f=nt.relative(t,i);if("."!==f.charAt(0))throw new mt.ErrnoError(28);if("."!==(f=nt.relative(e,o)).charAt(0))throw new mt.ErrnoError(55);try{c=mt.lookupNode(n,s)}catch(t){}if(u!==c){var l=mt.isDir(u.mode),d=mt.mayDelete(r,a,l);if(d)throw new mt.ErrnoError(d);if(d=c?mt.mayDelete(n,s,l):mt.mayCreate(n,s))throw new mt.ErrnoError(d);if(!r.node_ops.rename)throw new mt.ErrnoError(63);if(mt.isMountpoint(u)||c&&mt.isMountpoint(c))throw new mt.ErrnoError(10);if(n!==r&&(d=mt.nodePermissions(r,"w")))throw new mt.ErrnoError(d);mt.hashRemoveNode(u);try{r.node_ops.rename(u,n,s)}catch(t){throw t}finally{mt.hashAddNode(u)}}},rmdir:function(t){var e=mt.lookupPath(t,{parent:!0}).node,r=et.basename(t),n=mt.lookupNode(e,r),o=mt.mayDelete(e,r,!0);if(o)throw new mt.ErrnoError(o);if(!e.node_ops.rmdir)throw new mt.ErrnoError(63);if(mt.isMountpoint(n))throw new mt.ErrnoError(10);e.node_ops.rmdir(e,r),mt.destroyNode(n)},readdir:function(t){var e=mt.lookupPath(t,{follow:!0}).node;if(!e.node_ops.readdir)throw new mt.ErrnoError(54);return e.node_ops.readdir(e)},unlink:function(t){var e=mt.lookupPath(t,{parent:!0}).node;if(!e)throw new mt.ErrnoError(44);var r=et.basename(t),n=mt.lookupNode(e,r),o=mt.mayDelete(e,r,!1);if(o)throw new mt.ErrnoError(o);if(!e.node_ops.unlink)throw new mt.ErrnoError(63);if(mt.isMountpoint(n))throw new mt.ErrnoError(10);e.node_ops.unlink(e,r),mt.destroyNode(n)},readlink:function(t){var e=mt.lookupPath(t).node;if(!e)throw new mt.ErrnoError(44);if(!e.node_ops.readlink)throw new mt.ErrnoError(28);return nt.resolve(mt.getPath(e.parent),e.node_ops.readlink(e))},stat:function(t,e){var r=mt.lookupPath(t,{follow:!e}).node;if(!r)throw new mt.ErrnoError(44);if(!r.node_ops.getattr)throw new mt.ErrnoError(63);return r.node_ops.getattr(r)},lstat:function(t){return mt.stat(t,!0)},chmod:function(t,e,r){var n;if(!(n="string"==typeof t?mt.lookupPath(t,{follow:!r}).node:t).node_ops.setattr)throw new mt.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&e|-4096&n.mode,timestamp:Date.now()})},lchmod:function(t,e){mt.chmod(t,e,!0)},fchmod:function(t,e){var r=mt.getStreamChecked(t);mt.chmod(r.node,e)},chown:function(t,e,r,n){var o;if(!(o="string"==typeof t?mt.lookupPath(t,{follow:!n}).node:t).node_ops.setattr)throw new mt.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:function(t,e,r){mt.chown(t,e,r,!0)},fchown:function(t,e,r){var n=mt.getStreamChecked(t);mt.chown(n.node,e,r)},truncate:function(t,e){if(e<0)throw new mt.ErrnoError(28);var r;if(!(r="string"==typeof t?mt.lookupPath(t,{follow:!0}).node:t).node_ops.setattr)throw new mt.ErrnoError(63);if(mt.isDir(r.mode))throw new mt.ErrnoError(31);if(!mt.isFile(r.mode))throw new mt.ErrnoError(28);var n=mt.nodePermissions(r,"w");if(n)throw new mt.ErrnoError(n);r.node_ops.setattr(r,{size:e,timestamp:Date.now()})},ftruncate:function(t,e){var r=mt.getStreamChecked(t);if(!(2097155&r.flags))throw new mt.ErrnoError(28);mt.truncate(r.node,e)},utime:function(t,e,r){var n=mt.lookupPath(t,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(e,r)})},open:function(t,e,r){if(""===t)throw new mt.ErrnoError(44);var n;if(r=void 0===r?438:r,r=64&(e="string"==typeof e?function(t){var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(void 0===e)throw new Error("Unknown file open mode: ".concat(t));return e}(e):e)?4095&r|32768:0,"object"==m(t))n=t;else{t=et.normalize(t);try{n=mt.lookupPath(t,{follow:!(131072&e)}).node}catch(t){}}var o=!1;if(64&e)if(n){if(128&e)throw new mt.ErrnoError(20)}else n=mt.mknod(t,r,0),o=!0;if(!n)throw new mt.ErrnoError(44);if(mt.isChrdev(n.mode)&&(e&=-513),65536&e&&!mt.isDir(n.mode))throw new mt.ErrnoError(54);if(!o){var a=mt.mayOpen(n,e);if(a)throw new mt.ErrnoError(a)}512&e&&!o&&mt.truncate(n,0),e&=-131713;var s=mt.createStream({node:n,path:mt.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!i.logReadFiles||1&e||(mt.readFiles||(mt.readFiles={}),t in mt.readFiles||(mt.readFiles[t]=1)),s},close:function(t){if(mt.isClosed(t))throw new mt.ErrnoError(8);t.getdents&&(t.getdents=null);try{t.stream_ops.close&&t.stream_ops.close(t)}catch(t){throw t}finally{mt.closeStream(t.fd)}t.fd=null},isClosed:function(t){return null===t.fd},llseek:function(t,e,r){if(mt.isClosed(t))throw new mt.ErrnoError(8);if(!t.seekable||!t.stream_ops.llseek)throw new mt.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new mt.ErrnoError(28);return t.position=t.stream_ops.llseek(t,e,r),t.ungotten=[],t.position},read:function(t,e,r,n,o){if(n<0||o<0)throw new mt.ErrnoError(28);if(mt.isClosed(t))throw new mt.ErrnoError(8);if(1==(2097155&t.flags))throw new mt.ErrnoError(8);if(mt.isDir(t.node.mode))throw new mt.ErrnoError(31);if(!t.stream_ops.read)throw new mt.ErrnoError(28);var i=void 0!==o;if(i){if(!t.seekable)throw new mt.ErrnoError(70)}else o=t.position;var a=t.stream_ops.read(t,e,r,n,o);return i||(t.position+=a),a},write:function(t,e,r,n,o,i){if(n<0||o<0)throw new mt.ErrnoError(28);if(mt.isClosed(t))throw new mt.ErrnoError(8);if(!(2097155&t.flags))throw new mt.ErrnoError(8);if(mt.isDir(t.node.mode))throw new mt.ErrnoError(31);if(!t.stream_ops.write)throw new mt.ErrnoError(28);t.seekable&&1024&t.flags&&mt.llseek(t,0,2);var a=void 0!==o;if(a){if(!t.seekable)throw new mt.ErrnoError(70)}else o=t.position;var s=t.stream_ops.write(t,e,r,n,o,i);return a||(t.position+=s),s},allocate:function(t,e,r){if(mt.isClosed(t))throw new mt.ErrnoError(8);if(e<0||r<=0)throw new mt.ErrnoError(28);if(!(2097155&t.flags))throw new mt.ErrnoError(8);if(!mt.isFile(t.node.mode)&&!mt.isDir(t.node.mode))throw new mt.ErrnoError(43);if(!t.stream_ops.allocate)throw new mt.ErrnoError(138);t.stream_ops.allocate(t,e,r)},mmap:function(t,e,r,n,o){if(2&n&&!(2&o)&&2!=(2097155&t.flags))throw new mt.ErrnoError(2);if(1==(2097155&t.flags))throw new mt.ErrnoError(2);if(!t.stream_ops.mmap)throw new mt.ErrnoError(43);return t.stream_ops.mmap(t,e,r,n,o)},msync:function(t,e,r,n,o){return t.stream_ops.msync?t.stream_ops.msync(t,e,r,n,o):0},munmap:function(t){return 0},ioctl:function(t,e,r){if(!t.stream_ops.ioctl)throw new mt.ErrnoError(59);return t.stream_ops.ioctl(t,e,r)},readFile:function(t){var e,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error('Invalid encoding type "'.concat(r.encoding,'"'));var n=mt.open(t,r.flags),o=mt.stat(t).size,i=new Uint8Array(o);return mt.read(n,i,0,o,0),"utf8"===r.encoding?e=it(i,0):"binary"===r.encoding&&(e=i),mt.close(n),e},writeFile:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var n=mt.open(t,r.flags,r.mode);if("string"==typeof e){var o=new Uint8Array(st(e)+1),i=ct(e,o,0,o.length);mt.write(n,o,0,i,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(e))throw new Error("Unsupported data type");mt.write(n,e,0,e.byteLength,void 0,r.canOwn)}mt.close(n)},cwd:function(){return mt.currentPath},chdir:function(t){var e=mt.lookupPath(t,{follow:!0});if(null===e.node)throw new mt.ErrnoError(44);if(!mt.isDir(e.node.mode))throw new mt.ErrnoError(54);var r=mt.nodePermissions(e.node,"x");if(r)throw new mt.ErrnoError(r);mt.currentPath=e.path},createDefaultDirectories:function(){mt.mkdir("/tmp"),mt.mkdir("/home"),mt.mkdir("/home/web_user")},createDefaultDevices:function(){mt.mkdir("/dev"),mt.registerDevice(mt.makedev(1,3),{read:function(){return 0},write:function(t,e,r,n,o){return n}}),mt.mkdev("/dev/null",mt.makedev(1,3)),ft.register(mt.makedev(5,0),ft.default_tty_ops),ft.register(mt.makedev(6,0),ft.default_tty1_ops),mt.mkdev("/dev/tty",mt.makedev(5,0)),mt.mkdev("/dev/tty1",mt.makedev(6,0));var t=new Uint8Array(1024),e=0,r=function(){return 0===e&&(e=rt(t).byteLength),t[--e]};mt.createDevice("/dev","random",r),mt.createDevice("/dev","urandom",r),mt.mkdir("/dev/shm"),mt.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){mt.mkdir("/proc");var t=mt.mkdir("/proc/self");mt.mkdir("/proc/self/fd"),mt.mount({mount:function(){var e=mt.createNode(t,"fd",16895,73);return e.node_ops={lookup:function(t,e){var r=+e,n=mt.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return n.path}}};return o.parent=o,o}},e}},{},"/proc/self/fd")},createStandardStreams:function(){i.stdin?mt.createDevice("/dev","stdin",i.stdin):mt.symlink("/dev/tty","/dev/stdin"),i.stdout?mt.createDevice("/dev","stdout",null,i.stdout):mt.symlink("/dev/tty","/dev/stdout"),i.stderr?mt.createDevice("/dev","stderr",null,i.stderr):mt.symlink("/dev/tty1","/dev/stderr"),mt.open("/dev/stdin",0),mt.open("/dev/stdout",1),mt.open("/dev/stderr",1)},ensureErrnoError:function(){mt.ErrnoError||(mt.ErrnoError=function(t,e){this.name="ErrnoError",this.node=e,this.setErrno=function(t){this.errno=t},this.setErrno(t),this.message="FS error"},mt.ErrnoError.prototype=new Error,mt.ErrnoError.prototype.constructor=mt.ErrnoError,[44].forEach((function(t){mt.genericErrors[t]=new mt.ErrnoError(t),mt.genericErrors[t].stack="<generic error, no stack>"})))},staticInit:function(){mt.ensureErrnoError(),mt.nameTable=new Array(4096),mt.mount(dt,{},"/"),mt.createDefaultDirectories(),mt.createDefaultDevices(),mt.createSpecialDirectories(),mt.filesystems={MEMFS:dt}},init:function(t,e,r){mt.init.initialized=!0,mt.ensureErrnoError(),i.stdin=t||i.stdin,i.stdout=e||i.stdout,i.stderr=r||i.stderr,mt.createStandardStreams()},quit:function(){mt.init.initialized=!1;for(var t=0;t<mt.streams.length;t++){var e=mt.streams[t];e&&mt.close(e)}},findObject:function(t,e){var r=mt.analyzePath(t,e);return r.exists?r.object:null},analyzePath:function(t,e){try{t=(n=mt.lookupPath(t,{follow:!e})).path}catch(t){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=mt.lookupPath(t,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=et.basename(t),n=mt.lookupPath(t,{follow:!e}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(t){r.error=t.errno}return r},createPath:function(t,e,r,n){t="string"==typeof t?t:mt.getPath(t);for(var o=e.split("/").reverse();o.length;){var i=o.pop();if(i){var a=et.join2(t,i);try{mt.mkdir(a)}catch(t){}t=a}}return a},createFile:function(t,e,r,n,o){var i=et.join2("string"==typeof t?t:mt.getPath(t),e),a=vt(n,o);return mt.create(i,a)},createDataFile:function(t,e,r,n,o,i){var a=e;t&&(t="string"==typeof t?t:mt.getPath(t),a=e?et.join2(t,e):t);var s=vt(n,o),c=mt.create(a,s);if(r){if("string"==typeof r){for(var u=new Array(r.length),f=0,l=r.length;f<l;++f)u[f]=r.charCodeAt(f);r=u}mt.chmod(c,146|s);var d=mt.open(c,577);mt.write(d,r,0,r.length,0,i),mt.close(d),mt.chmod(c,s)}return c},createDevice:function(t,e,r,n){var o=et.join2("string"==typeof t?t:mt.getPath(t),e),i=vt(!!r,!!n);mt.createDevice.major||(mt.createDevice.major=64);var a=mt.makedev(mt.createDevice.major++,0);return mt.registerDevice(a,{open:function(t){t.seekable=!1},close:function(t){n&&n.buffer&&n.buffer.length&&n(10)},read:function(t,e,n,o,i){for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(t){throw new mt.ErrnoError(29)}if(void 0===c&&0===a)throw new mt.ErrnoError(6);if(null==c)break;a++,e[n+s]=c}return a&&(t.node.timestamp=Date.now()),a},write:function(t,e,r,o,i){for(var a=0;a<o;a++)try{n(e[r+a])}catch(t){throw new mt.ErrnoError(29)}return o&&(t.node.timestamp=Date.now()),a}}),mt.mkdev(o,i,a)},forceLoadFile:function(t){if(t.isDevice||t.isFolder||t.link||t.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!h)throw new Error("Cannot load without read() or XMLHttpRequest.");try{t.contents=ut(h(t.url)),t.usedBytes=t.contents.length}catch(t){throw new mt.ErrnoError(29)}},createLazyFile:function(t,e,r,n,o){function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(t){if(!(t>this.length-1||t<0)){var e=t%this.chunkSize,r=t/this.chunkSize|0;return this.getter(r)[e]}},i.prototype.setDataGetter=function(t){this.getter=t},i.prototype.cacheLength=function(){var t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw new Error("Couldn't load "+r+". Status: "+t.status);var e,n=Number(t.getResponseHeader("Content-length")),o=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,i=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;o||(a=n);var s=this;s.setDataGetter((function(t){var e=t*a,o=(t+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[t]&&(s.chunks[t]=function(t,e){if(t>e)throw new Error("invalid range ("+t+", "+e+") or no bytes requested!");if(e>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==a&&o.setRequestHeader("Range","bytes="+t+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ut(o.responseText||"")}(e,o)),void 0===s.chunks[t])throw new Error("doXHR failed!");return s.chunks[t]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,k("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new i;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var c=mt.createFile(t,e,s,n,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={};function f(t,e,r,n,o){var i=t.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(i.slice)for(var s=0;s<a;s++)e[r+s]=i[o+s];else for(s=0;s<a;s++)e[r+s]=i.get(o+s);return a}return Object.keys(c.stream_ops).forEach((function(t){var e=c.stream_ops[t];u[t]=function(){return mt.forceLoadFile(c),e.apply(null,arguments)}})),u.read=function(t,e,r,n,o){return mt.forceLoadFile(c),f(t,e,r,n,o)},u.mmap=function(t,e,r,n,o){mt.forceLoadFile(c);var i=lt();if(!i)throw new mt.ErrnoError(48);return f(t,P,i,e,r),{ptr:i,allocated:!0}},c.stream_ops=u,c}},yt=function(t,e){return t?it(T,t,e):""},gt={DEFAULT_POLLMASK:5,calculateAt:function(t,e,r){if(et.isAbs(e))return e;var n;if(n=-100===t?mt.cwd():gt.getStreamFromFD(t).path,0==e.length){if(!r)throw new mt.ErrnoError(44);return n}return et.join2(n,e)},doStat:function(t,e,r){try{var n=t(e)}catch(t){if(t&&t.node&&et.normalize(e)!==et.normalize(mt.getPath(t.node)))return-54;throw t}A[r>>2]=n.dev,A[r+4>>2]=n.mode,D[r+8>>2]=n.nlink,A[r+12>>2]=n.uid,A[r+16>>2]=n.gid,A[r+20>>2]=n.rdev,q=[n.size>>>0,(G=n.size,+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],A[r+24>>2]=q[0],A[r+28>>2]=q[1],A[r+32>>2]=4096,A[r+36>>2]=n.blocks;var o=n.atime.getTime(),i=n.mtime.getTime(),a=n.ctime.getTime();return q=[Math.floor(o/1e3)>>>0,(G=Math.floor(o/1e3),+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],A[r+40>>2]=q[0],A[r+44>>2]=q[1],D[r+48>>2]=o%1e3*1e3,q=[Math.floor(i/1e3)>>>0,(G=Math.floor(i/1e3),+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],A[r+56>>2]=q[0],A[r+60>>2]=q[1],D[r+64>>2]=i%1e3*1e3,q=[Math.floor(a/1e3)>>>0,(G=Math.floor(a/1e3),+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],A[r+72>>2]=q[0],A[r+76>>2]=q[1],D[r+80>>2]=a%1e3*1e3,q=[n.ino>>>0,(G=n.ino,+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],A[r+88>>2]=q[0],A[r+92>>2]=q[1],0},doMsync:function(t,e,r,n,o){if(!mt.isFile(e.node.mode))throw new mt.ErrnoError(43);if(2&n)return 0;var i=T.slice(t,t+r);mt.msync(e,i,o,r,n)},varargs:void 0,get:function(){return gt.varargs+=4,A[gt.varargs-4>>2]},getStr:function(t){return yt(t)},getStreamFromFD:function(t){return mt.getStreamChecked(t)}};function wt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(t))}}var bt=void 0;function Et(t){for(var e="",r=t;T[r];)e+=bt[T[r++]];return e}var kt={},_t={},Pt={},Tt=void 0;function Ct(t){throw new Tt(t)}var St=void 0;function At(t){throw new St(t)}function Dt(t,e,r){function n(e){var n=r(e);n.length!==t.length&&At("Mismatched type converter count");for(var o=0;o<t.length;++o)xt(t[o],n[o])}t.forEach((function(t){Pt[t]=e}));var o=new Array(e.length),i=[],a=0;e.forEach((function(t,e){_t.hasOwnProperty(t)?o[e]=_t[t]:(i.push(t),kt.hasOwnProperty(t)||(kt[t]=[]),kt[t].push((function(){o[e]=_t[t],++a===i.length&&n(o)})))})),0===i.length&&n(o)}function xt(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=e.name;if(t||Ct('type "'.concat(n,'" must have a positive integer typeid pointer')),_t.hasOwnProperty(t)){if(r.ignoreDuplicateRegistrations)return;Ct("Cannot register type '".concat(n,"' twice"))}if(_t[t]=e,delete Pt[t],kt.hasOwnProperty(t)){var o=kt[t];delete kt[t],o.forEach((function(t){return t()}))}}(t,e,r)}function Ft(t){if(!(this instanceof Qt))return!1;if(!(t instanceof Qt))return!1;for(var e=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=t.$$.ptrType.registeredClass,o=t.$$.ptr;e.baseClass;)r=e.upcast(r),e=e.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return e===n&&r===o}function Ot(t){Ct(t.$$.ptrType.registeredClass.name+" instance already deleted")}var jt=!1;function Mt(t){}function $t(t){t.count.value-=1,0===t.count.value&&function(t){t.smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr)}(t)}function Rt(t,e,r){if(e===r)return t;if(void 0===r.baseClass)return null;var n=Rt(t,e,r.baseClass);return null===n?null:r.downcast(n)}var Lt={};function zt(){return Object.keys(Ht).length}function Nt(){var t=[];for(var e in Ht)Ht.hasOwnProperty(e)&&t.push(Ht[e]);return t}var It=[];function Bt(){for(;It.length;){var t=It.pop();t.$$.deleteScheduled=!1,t.delete()}}var Ut=void 0;function Wt(t){Ut=t,It.length&&Ut&&Ut(Bt)}var Ht={};function Vt(t,e){return e=function(t,e){for(void 0===e&&Ct("ptr should not be undefined");t.baseClass;)e=t.upcast(e),t=t.baseClass;return e}(t,e),Ht[e]}function Gt(t,e){return e.ptrType&&e.ptr||At("makeClassHandle requires ptr and ptrType"),!!e.smartPtrType!=!!e.smartPtr&&At("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Xt(Object.create(t,{$$:{value:e}}))}function qt(t){var e=this.getPointee(t);if(!e)return this.destructor(t),null;var r=Vt(this.registeredClass,e);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=e,r.$$.smartPtr=t,r.clone();var n=r.clone();return this.destructor(t),n}function o(){return this.isSmartPointer?Gt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:e,smartPtrType:this,smartPtr:t}):Gt(this.registeredClass.instancePrototype,{ptrType:this,ptr:t})}var i,a=this.registeredClass.getActualType(e),s=Lt[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=Rt(e,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?Gt(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:t}):Gt(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})}var Xt=function(t){return"undefined"==typeof FinalizationRegistry?(Xt=function(t){return t},t):(jt=new FinalizationRegistry((function(t){$t(t.$$)})),Mt=function(t){return jt.unregister(t)},(Xt=function(t){var e=t.$$;if(e.smartPtr){var r={$$:e};jt.register(t,r,t)}return t})(t))};function Kt(){if(this.$$.ptr||Ot(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var t,e=Xt(Object.create(Object.getPrototypeOf(this),{$$:{value:(t=this.$$,{count:t.count,deleteScheduled:t.deleteScheduled,preservePointerOnDelete:t.preservePointerOnDelete,ptr:t.ptr,ptrType:t.ptrType,smartPtr:t.smartPtr,smartPtrType:t.smartPtrType})}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function Jt(){this.$$.ptr||Ot(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ct("Object already scheduled for deletion"),Mt(this),$t(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Yt(){return!this.$$.ptr}function Zt(){return this.$$.ptr||Ot(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ct("Object already scheduled for deletion"),It.push(this),1===It.length&&Ut&&Ut(Bt),this.$$.deleteScheduled=!0,this}function Qt(){}var te=48,ee=57;function re(t){if(void 0===t)return"_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return e>=te&&e<=ee?"_".concat(t):t}function ne(t,e){return c({},t=re(t),(function(){return e.apply(this,arguments)}))[t]}function oe(t,e,r){if(void 0===t[e].overloadTable){var n=t[e];t[e]=function(){return t[e].overloadTable.hasOwnProperty(arguments.length)||Ct("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(t[e].overloadTable,")!")),t[e].overloadTable[arguments.length].apply(this,arguments)},t[e].overloadTable=[],t[e].overloadTable[n.argCount]=n}}function ie(t,e,r,n,o,i,a,s){this.name=t,this.constructor=e,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function ae(t,e,r){for(;e!==r;)e.upcast||Ct("Expected null or instance of ".concat(r.name,", got an instance of ").concat(e.name)),t=e.upcast(t),e=e.baseClass;return t}function se(t,e){if(null===e)return this.isReference&&Ct("null is not a valid ".concat(this.name)),0;e.$$||Ct('Cannot pass "'.concat(Oe(e),'" as a ').concat(this.name)),e.$$.ptr||Ct("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=e.$$.ptrType.registeredClass;return ae(e.$$.ptr,r,this.registeredClass)}function ce(t,e){var r;if(null===e)return this.isReference&&Ct("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==t&&t.push(this.rawDestructor,r),r):0;e.$$||Ct('Cannot pass "'.concat(Oe(e),'" as a ').concat(this.name)),e.$$.ptr||Ct("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&e.$$.ptrType.isConst&&Ct("Cannot convert argument of type ".concat(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name," to parameter type ").concat(this.name));var n=e.$$.ptrType.registeredClass;if(r=ae(e.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===e.$$.smartPtr&&Ct("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:e.$$.smartPtrType===this?r=e.$$.smartPtr:Ct("Cannot convert argument of type ".concat(e.$$.smartPtrType?e.$$.smartPtrType.name:e.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=e.$$.smartPtr;break;case 2:if(e.$$.smartPtrType===this)r=e.$$.smartPtr;else{var o=e.clone();r=this.rawShare(r,Fe.toHandle((function(){o.delete()}))),null!==t&&t.push(this.rawDestructor,r)}break;default:Ct("Unsupporting sharing policy")}return r}function ue(t,e){if(null===e)return this.isReference&&Ct("null is not a valid ".concat(this.name)),0;e.$$||Ct('Cannot pass "'.concat(Oe(e),'" as a ').concat(this.name)),e.$$.ptr||Ct("Cannot pass deleted object as a pointer of type ".concat(this.name)),e.$$.ptrType.isConst&&Ct("Cannot convert argument of type ".concat(e.$$.ptrType.name," to parameter type ").concat(this.name));var r=e.$$.ptrType.registeredClass;return ae(e.$$.ptr,r,this.registeredClass)}function fe(t){return this.fromWireType(A[t>>2])}function le(t){return this.rawGetPointee&&(t=this.rawGetPointee(t)),t}function de(t){this.rawDestructor&&this.rawDestructor(t)}function he(t){null!==t&&t.delete()}function pe(t,e,r,n,o,i,a,s,c,u,f){this.name=t,this.registeredClass=e,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=f,o||void 0!==e.baseClass?this.toWireType=ce:n?(this.toWireType=se,this.destructorFunction=null):(this.toWireType=ue,this.destructorFunction=null)}var ve=[],me=function(t){var e=ve[t];return e||(t>=ve.length&&(ve.length=t+1),ve[t]=e=O.get(t)),e},ye=function(t,e,r){return t.includes("j")?function(t,e,r){var n=i["dynCall_"+t];return r&&r.length?n.apply(null,[e].concat(r)):n.call(null,e)}(t,e,r):me(e).apply(null,r)},ge=function(t,e){var r=[];return function(){return r.length=0,Object.assign(r,arguments),ye(t,e,r)}};function we(t,e){var r=(t=Et(t)).includes("j")?ge(t,e):me(e);return"function"!=typeof r&&Ct("unknown function pointer with signature ".concat(t,": ").concat(e)),r}var be=void 0;function Ee(t){var e=nr(t),r=Et(e);return er(e),r}function ke(t,e){var r=[],n={};throw e.forEach((function t(e){n[e]||_t[e]||(Pt[e]?Pt[e].forEach(t):(r.push(e),n[e]=!0))})),new be("".concat(t,": ")+r.map(Ee).join([", "]))}function _e(t,e){for(var r=[],n=0;n<t;n++)r.push(D[e+4*n>>2]);return r}function Pe(t){for(;t.length;){var e=t.pop();t.pop()(e)}}function Te(t,e){if(!(t instanceof Function))throw new TypeError("new_ called with constructor type ".concat(m(t)," which is not a function"));var r=ne(t.name||"unknownFunctionName",(function(){}));r.prototype=t.prototype;var n=new r,o=t.apply(n,e);return o instanceof Object?o:n}function Ce(t,e,r,n,o,i){var a=e.length;a<2&&Ct("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==e[1]&&null!==r,c=!1,u=1;u<e.length;++u)if(null!==e[u]&&void 0===e[u].destructorFunction){c=!0;break}var f="void"!==e[0].name,l="",d="";for(u=0;u<a-2;++u)l+=(0!==u?", ":"")+"arg"+u,d+=(0!==u?", ":"")+"arg"+u+"Wired";var h="\n return function ".concat(re(t),"(").concat(l,") {\n if (arguments.length !== ").concat(a-2,") {\n throwBindingError('function ").concat(t," called with ").concat(arguments.length," arguments, expected ").concat(a-2," args!');\n }");c&&(h+="var destructors = [];\n");var p=c?"destructors":"null",v=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],m=[Ct,n,o,Pe,e[0],e[1]];for(s&&(h+="var thisWired = classParam.toWireType("+p+", this);\n"),u=0;u<a-2;++u)h+="var arg"+u+"Wired = argType"+u+".toWireType("+p+", arg"+u+"); // "+e[u+2].name+"\n",v.push("argType"+u),m.push(e[u+2]);if(s&&(d="thisWired"+(d.length>0?", ":"")+d),h+=(f||i?"var rv = ":"")+"invoker(fn"+(d.length>0?", ":"")+d+");\n",c)h+="runDestructors(destructors);\n";else for(u=s?1:2;u<e.length;++u){var y=1===u?"thisWired":"arg"+(u-2)+"Wired";null!==e[u].destructorFunction&&(h+=y+"_dtor("+y+"); // "+e[u].name+"\n",v.push(y+"_dtor"),m.push(e[u].destructorFunction))}return f&&(h+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),h+="}\n",v.push(h),Te(Function,v).apply(null,m)}function Se(){this.allocated=[void 0],this.freelist=[]}var Ae=new Se;function De(t){t>=Ae.reserved&&0==--Ae.get(t).refcount&&Ae.free(t)}function xe(){for(var t=0,e=Ae.reserved;e<Ae.allocated.length;++e)void 0!==Ae.allocated[e]&&++t;return t}var Fe={toValue:function(t){return t||Ct("Cannot use deleted val. handle = "+t),Ae.get(t).value},toHandle:function(t){switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Ae.allocate({refcount:1,value:t})}}};function Oe(t){if(null===t)return"null";var e=m(t);return"object"===e||"array"===e||"function"===e?t.toString():""+t}function je(t,e){switch(e){case 2:return function(t){return this.fromWireType(x[t>>2])};case 3:return function(t){return this.fromWireType(F[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function Me(t,e,r){switch(e){case 0:return r?function(t){return P[t]}:function(t){return T[t]};case 1:return r?function(t){return C[t>>1]}:function(t){return S[t>>1]};case 2:return r?function(t){return A[t>>2]}:function(t){return D[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}var $e,Re,Le,ze="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Ne=function(t,e){for(var r=t,n=r>>1,o=n+e/2;!(n>=o)&&S[n];)++n;if((r=n<<1)-t>32&&ze)return ze.decode(T.subarray(t,r));for(var i="",a=0;!(a>=e/2);++a){var s=C[t+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i},Ie=function(t,e,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=e,o=(r-=2)<2*t.length?r/2:t.length,i=0;i<o;++i){var a=t.charCodeAt(i);C[e>>1]=a,e+=2}return C[e>>1]=0,e-n},Be=function(t){return 2*t.length},Ue=function(t,e){for(var r=0,n="";!(r>=e/4);){var o=A[t+4*r>>2];if(0==o)break;if(++r,o>=65536){var i=o-65536;n+=String.fromCharCode(55296|i>>10,56320|1023&i)}else n+=String.fromCharCode(o)}return n},We=function(t,e,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=e,o=n+r-4,i=0;i<t.length;++i){var a=t.charCodeAt(i);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),A[e>>2]=a,(e+=4)+4>o)break}return A[e>>2]=0,e-n},He=function(t){for(var e=0,r=0;r<t.length;++r){var n=t.charCodeAt(r);n>=55296&&n<=57343&&++r,e+=4}return e},Ve={},Ge=[],qe=[],Xe={},Ke=function(){if(!Ke.strings){var t={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":m(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var e in Xe)void 0===Xe[e]?delete t[e]:t[e]=Xe[e];var r=[];for(var e in t)r.push("".concat(e,"=").concat(t[e]));Ke.strings=r}return Ke.strings},Je=function(t,e,r,n){t||(t=this),this.parent=t,this.mount=t.mount,this.mounted=null,this.id=mt.nextInode++,this.name=e,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},Ye=365,Ze=146;Object.defineProperties(Je.prototype,{read:{get:function(){return(this.mode&Ye)===Ye},set:function(t){t?this.mode|=Ye:this.mode&=-366}},write:{get:function(){return(this.mode&Ze)===Ze},set:function(t){t?this.mode|=Ze:this.mode&=-147}},isFolder:{get:function(){return mt.isDir(this.mode)}},isDevice:{get:function(){return mt.isChrdev(this.mode)}}}),mt.FSNode=Je,mt.createPreloadedFile=function(t,e,r,n,o,i,a,s,c,u){var f=e?nt.resolve(et.join2(t,e)):t;function l(r){function l(r){u&&u(),s||mt.createDataFile(t,e,r,n,o,c),i&&i(),U()}(function(t,e,r,n){"undefined"!=typeof Browser&&Browser.init();var o=!1;return pt.forEach((function(i){o||i.canHandle(e)&&(i.handle(t,e,r,n),o=!0)})),o})(r,f,l,(function(){a&&a(),U()}))||l(r)}B(),"string"==typeof r?ht(r,(function(t){return l(t)}),a):l(r)},mt.staticInit(),function(){for(var t=new Array(256),e=0;e<256;++e)t[e]=String.fromCharCode(e);bt=t}(),Tt=i.BindingError=function(t){function e(t){var r;return o(this,e),(r=n(this,e,[t])).name="BindingError",r}return f(e,t),a(e)}(g(Error)),St=i.InternalError=function(t){function e(t){var r;return o(this,e),(r=n(this,e,[t])).name="InternalError",r}return f(e,t),a(e)}(g(Error)),Qt.prototype.isAliasOf=Ft,Qt.prototype.clone=Kt,Qt.prototype.delete=Jt,Qt.prototype.isDeleted=Yt,Qt.prototype.deleteLater=Zt,i.getInheritedInstanceCount=zt,i.getLiveInheritedInstances=Nt,i.flushPendingDeletes=Bt,i.setDelayFunction=Wt,pe.prototype.getPointee=le,pe.prototype.destructor=de,pe.prototype.argPackAdvance=8,pe.prototype.readValueFromPointer=fe,pe.prototype.deleteObject=he,pe.prototype.fromWireType=qt,be=i.UnboundTypeError=($e=Error,(Le=ne(Re="UnboundTypeError",(function(t){this.name=Re,this.message=t;var e=new Error(t).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create($e.prototype),Le.prototype.constructor=Le,Le.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},Le),Object.assign(Se.prototype,{get:function(t){return this.allocated[t]},has:function(t){return void 0!==this.allocated[t]},allocate:function(t){var e=this.freelist.pop()||this.allocated.length;return this.allocated[e]=t,e},free:function(t){this.allocated[t]=void 0,this.freelist.push(t)}}),Ae.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Ae.reserved=Ae.allocated.length,i.count_emval_handles=xe;var Qe={p:function(t,e,r){throw new tt(t).init(e,r),t},C:function(t,e,r){gt.varargs=r;try{var n=gt.getStreamFromFD(t);switch(e){case 0:return(o=gt.get())<0?-28:mt.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=gt.get();return n.flags|=o,0;case 5:return o=gt.get(),C[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return i=28,A[rr()>>2]=i,-1}}catch(t){if(void 0===mt||"ErrnoError"!==t.name)throw t;return-t.errno}var i},w:function(t,e,r,n){gt.varargs=n;try{e=gt.getStr(e),e=gt.calculateAt(t,e);var o=n?gt.get():0;return mt.open(e,r,o).fd}catch(t){if(void 0===mt||"ErrnoError"!==t.name)throw t;return-t.errno}},t:function(t,e,r,n,o){},n:function(t,e,r,n,o){var i=wt(r);xt(t,{name:e=Et(e),fromWireType:function(t){return!!t},toWireType:function(t,e){return e?n:o},argPackAdvance:8,readValueFromPointer:function(t){var n;if(1===r)n=P;else if(2===r)n=C;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+e);n=A}return this.fromWireType(n[t>>i])},destructorFunction:null})},r:function(t,e,r,n,o,a,s,c,u,f,l,d,h){l=Et(l),a=we(o,a),c&&(c=we(s,c)),f&&(f=we(u,f)),h=we(d,h);var p=re(l);!function(t,e,r){i.hasOwnProperty(t)?(Ct("Cannot register public name '".concat(t,"' twice")),oe(i,t,t),i.hasOwnProperty(r)&&Ct("Cannot register multiple overloads of a function with the same number of arguments (".concat(r,")!")),i[t].overloadTable[r]=e):i[t]=e}(p,(function(){ke("Cannot construct ".concat(l," due to unbound types"),[n])})),Dt([t,e,r],n?[n]:[],(function(e){var r,o;e=e[0],o=n?(r=e.registeredClass).instancePrototype:Qt.prototype;var s=ne(p,(function(){if(Object.getPrototypeOf(this)!==u)throw new Tt("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new Tt(l+" has no accessible constructor");var t=d.constructor_body[arguments.length];if(void 0===t)throw new Tt("Tried to invoke ctor of ".concat(l," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(d.constructor_body).toString(),") parameters instead!"));return t.apply(this,arguments)})),u=Object.create(o,{constructor:{value:s}});s.prototype=u;var d=new ie(l,s,u,h,r,a,c,f);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var v=new pe(l,d,!0,!1,!1),m=new pe(l+"*",d,!1,!1,!1),y=new pe(l+" const*",d,!1,!0,!1);return Lt[t]={pointerType:m,constPointerType:y},function(t,e,r){i.hasOwnProperty(t)||At("Replacing nonexistant public symbol"),void 0!==i[t].overloadTable&&void 0!==r?i[t].overloadTable[r]=e:(i[t]=e,i[t].argCount=r)}(p,s),[v,m,y]}))},q:function(t,e,r,n,o,i){var a=_e(e,r);o=we(n,o),Dt([],[t],(function(t){t=t[0];var r="constructor ".concat(t.name);if(void 0===t.registeredClass.constructor_body&&(t.registeredClass.constructor_body=[]),void 0!==t.registeredClass.constructor_body[e-1])throw new Tt("Cannot register multiple constructors with identical number of parameters (".concat(e-1,") for class '").concat(t.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return t.registeredClass.constructor_body[e-1]=function(){ke("Cannot construct ".concat(t.name," due to unbound types"),a)},Dt([],a,(function(n){return n.splice(1,0,null),t.registeredClass.constructor_body[e-1]=Ce(r,n,null,o,i),[]})),[]}))},d:function(t,e,r,n,o,i,a,s,c){var u=_e(r,n);e=Et(e),i=we(o,i),Dt([],[t],(function(t){t=t[0];var n="".concat(t.name,".").concat(e);function o(){ke("Cannot call ".concat(n," due to unbound types"),u)}e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&t.registeredClass.pureVirtualFunctions.push(e);var f=t.registeredClass.instancePrototype,l=f[e];return void 0===l||void 0===l.overloadTable&&l.className!==t.name&&l.argCount===r-2?(o.argCount=r-2,o.className=t.name,f[e]=o):(oe(f,e,n),f[e].overloadTable[r-2]=o),Dt([],u,(function(o){var s=Ce(n,o,t,i,a,c);return void 0===f[e].overloadTable?(s.argCount=r-2,f[e]=s):f[e].overloadTable[r-2]=s,[]})),[]}))},D:function(t,e){xt(t,{name:e=Et(e),fromWireType:function(t){var e=Fe.toValue(t);return De(t),e},toWireType:function(t,e){return Fe.toHandle(e)},argPackAdvance:8,readValueFromPointer:fe,destructorFunction:null})},k:function(t,e,r){var n=wt(r);xt(t,{name:e=Et(e),fromWireType:function(t){return t},toWireType:function(t,e){return e},argPackAdvance:8,readValueFromPointer:je(e,n),destructorFunction:null})},c:function(t,e,r,n,o){e=Et(e);var i=wt(r),a=function(t){return t};if(0===n){var s=32-8*r;a=function(t){return t<<s>>>s}}var c=e.includes("unsigned");xt(t,{name:e,fromWireType:a,toWireType:c?function(t,e){return this.name,e>>>0}:function(t,e){return this.name,e},argPackAdvance:8,readValueFromPointer:Me(e,i,0!==n),destructorFunction:null})},b:function(t,e,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];function o(t){var e=D,r=e[t>>=2],o=e[t+1];return new n(e.buffer,o,r)}xt(t,{name:r=Et(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},j:function(t,e){var r="std::string"===(e=Et(e));xt(t,{name:e,fromWireType:function(t){var e,n=D[t>>2],o=t+4;if(r)for(var i=o,a=0;a<=n;++a){var s=o+a;if(a==n||0==T[s]){var c=yt(i,s-i);void 0===e?e=c:(e+=String.fromCharCode(0),e+=c),i=s+1}}else{var u=new Array(n);for(a=0;a<n;++a)u[a]=String.fromCharCode(T[o+a]);e=u.join("")}return er(t),e},toWireType:function(t,e){var n;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var o="string"==typeof e;o||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||Ct("Cannot pass non-string to std::string"),n=r&&o?st(e):e.length;var i=tr(4+n+1),a=i+4;if(D[i>>2]=n,r&&o)ct(e,T,a,n+1);else if(o)for(var s=0;s<n;++s){var c=e.charCodeAt(s);c>255&&(er(a),Ct("String has UTF-16 code units that do not fit in 8 bits")),T[a+s]=c}else for(s=0;s<n;++s)T[a+s]=e[s];return null!==t&&t.push(er,i),i},argPackAdvance:8,readValueFromPointer:fe,destructorFunction:function(t){er(t)}})},f:function(t,e,r){var n,o,i,a,s;r=Et(r),2===e?(n=Ne,o=Ie,a=Be,i=function(){return S},s=1):4===e&&(n=Ue,o=We,a=He,i=function(){return D},s=2),xt(t,{name:r,fromWireType:function(t){for(var r,o=D[t>>2],a=i(),c=t+4,u=0;u<=o;++u){var f=t+4+u*e;if(u==o||0==a[f>>s]){var l=n(c,f-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=f+e}}return er(t),r},toWireType:function(t,n){"string"!=typeof n&&Ct("Cannot pass non-string to C++ string type ".concat(r));var i=a(n),c=tr(4+i+e);return D[c>>2]=i>>s,o(n,c+4,i+e),null!==t&&t.push(er,c),c},argPackAdvance:8,readValueFromPointer:fe,destructorFunction:function(t){er(t)}})},o:function(t,e){xt(t,{isVoid:!0,name:e=Et(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(t,e){}})},g:function(t,e,r,n){var o,i;(t=Ge[t])(e=Fe.toValue(e),r=void 0===(i=Ve[o=r])?Et(o):i,null,n)},m:De,l:function(t,e){var r=function(t,e){for(var r,n,o,i=new Array(t),a=0;a<t;++a)i[a]=(r=D[e+4*a>>2],n="parameter "+a,o=void 0,void 0===(o=_t[r])&&Ct(n+" has unknown type "+Ee(r)),o);return i}(t,e),n=r[0],o=n.name+"_$"+r.slice(1).map((function(t){return t.name})).join("_")+"$",i=qe[o];if(void 0!==i)return i;for(var a=["retType"],s=[n],c="",u=0;u<t-1;++u)c+=(0!==u?", ":"")+"arg"+u,a.push("argType"+u),s.push(r[1+u]);var f="return function "+re("methodCaller_"+o)+"(handle, name, destructors, args) {\n",l=0;for(u=0;u<t-1;++u)f+=" var arg"+u+" = argType"+u+".readValueFromPointer(args"+(l?"+"+l:"")+");\n",l+=r[u+1].argPackAdvance;for(f+=" var rv = handle[name]("+c+");\n",u=0;u<t-1;++u)r[u+1].deleteObject&&(f+=" argType"+u+".deleteObject(arg"+u+");\n");n.isVoid||(f+=" return retType.toWireType(destructors, rv);\n"),f+="};\n",a.push(f);var d,h,p=Te(Function,a).apply(null,s);return d=p,h=Ge.length,Ge.push(d),i=h,qe[o]=i,i},a:function(){W("")},e:function(){return Date.now()},v:function(){return T.length},A:function(t,e,r){return T.copyWithin(t,e,e+r)},u:function(t){T.length,W("OOM")},y:function(t,e){var r=0;return Ke().forEach((function(n,o){var i=e+r;D[t+4*o>>2]=i,function(t,e){for(var r=0;r<t.length;++r)P[0|e++]=t.charCodeAt(r);P[0|e]=0}(n,i),r+=n.length+1})),0},z:function(t,e){var r=Ke();D[t>>2]=r.length;var n=0;return r.forEach((function(t){n+=t.length+1})),D[e>>2]=n,0},i:function(t){try{var e=gt.getStreamFromFD(t);return mt.close(e),0}catch(t){if(void 0===mt||"ErrnoError"!==t.name)throw t;return t.errno}},x:function(t,e){try{var r=gt.getStreamFromFD(t),n=r.tty?2:mt.isDir(r.mode)?3:mt.isLink(r.mode)?7:4;return P[0|e]=n,C[e+2>>1]=0,q=[0,(G=0,+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],A[e+8>>2]=q[0],A[e+12>>2]=q[1],q=[0,(G=0,+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],A[e+16>>2]=q[0],A[e+20>>2]=q[1],0}catch(t){if(void 0===mt||"ErrnoError"!==t.name)throw t;return t.errno}},B:function(t,e,r,n){try{var o=function(t,e,r,n){for(var o=0,i=0;i<r;i++){var a=D[e>>2],s=D[e+4>>2];e+=8;var c=mt.read(t,P,a,s,n);if(c<0)return-1;if(o+=c,c<s)break}return o}(gt.getStreamFromFD(t),e,r);return D[n>>2]=o,0}catch(t){if(void 0===mt||"ErrnoError"!==t.name)throw t;return t.errno}},s:function(t,e,r,n,o){var i,a,s=(a=r)+2097152>>>0<4194305-!!(i=e)?(i>>>0)+4294967296*a:NaN;try{if(isNaN(s))return 61;var c=gt.getStreamFromFD(t);return mt.llseek(c,s,n),q=[c.position>>>0,(G=c.position,+Math.abs(G)>=1?G>0?+Math.floor(G/4294967296)>>>0:~~+Math.ceil((G-+(~~G>>>0))/4294967296)>>>0:0)],A[o>>2]=q[0],A[o+4>>2]=q[1],c.getdents&&0===s&&0===n&&(c.getdents=null),0}catch(t){if(void 0===mt||"ErrnoError"!==t.name)throw t;return t.errno}},h:function(t,e,r,n){try{var o=function(t,e,r,n){for(var o=0,i=0;i<r;i++){var a=D[e>>2],s=D[e+4>>2];e+=8;var c=mt.write(t,P,a,s,n);if(c<0)return-1;o+=c}return o}(gt.getStreamFromFD(t),e,r);return D[n>>2]=o,0}catch(t){if(void 0===mt||"ErrnoError"!==t.name)throw t;return t.errno}}};!function(){var t,r,n,o,a={a:Qe};function s(t,e){var r,n=t.exports;return b=(E=n).E,r=b.buffer,i.HEAP8=P=new Int8Array(r),i.HEAP16=C=new Int16Array(r),i.HEAP32=A=new Int32Array(r),i.HEAPU8=T=new Uint8Array(r),i.HEAPU16=S=new Uint16Array(r),i.HEAPU32=D=new Uint32Array(r),i.HEAPF32=x=new Float32Array(r),i.HEAPF64=F=new Float64Array(r),O=E.H,function(t){$.unshift(t)}(E.F),U(),n}if(B(),i.instantiateWasm)try{return i.instantiateWasm(a,s)}catch(t){_("Module.instantiateWasm callback failed with error: "+t),e(t)}(t=w,r=H,n=a,o=function(t){s(t.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||K(r)||"function"!=typeof fetch?Y(r,n,o):fetch(r,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,n).then(o,(function(t){return _("wasm streaming compile failed: "+t),_("falling back to ArrayBuffer instantiation"),Y(r,n,o)}))}))).catch(e)}();var tr=function(t){return(tr=E.G)(t)},er=function(t){return(er=E.I)(t)},rr=function(){return(rr=E.J)()},nr=function(t){return(nr=E.K)(t)};i.__embind_initialize_bindings=function(){return(i.__embind_initialize_bindings=E.L)()};var or,ir=function(t){return(ir=E.M)(t)};function ar(){function e(){or||(or=!0,i.calledRun=!0,j||(i.noFSInit||mt.init.initialized||mt.init(),mt.ignorePermissions=!1,Q($),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)z(i.postRun.shift());Q(R)}()))}N>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)L(i.preRun.shift());Q(M)}(),N>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=function(t,e,r,n,o){return(i.dynCall_jiji=E.N)(t,e,r,n,o)},i._ff_h264_cabac_tables=67061,I=function t(){or||ar(),or||(I=t)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return ar(),r.ready}),tt=Q,et=function(t){function e(t){return o(this,e),n(this,e,[tt,(null==t?void 0:t.wasmPath)?fetch(null==t?void 0:t.wasmPath).then((function(t){return t.arrayBuffer()})):void 0,null==t?void 0:t.workerMode,null==t?void 0:t.canvas,null==t?void 0:t.yuvMode])}return f(e,t),a(e)}(Y);!function(){var t="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0}();function rt(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var nt=function(){function t(e){o(this,t),this.core=e,$(this,"contextMap",new Map),$(this,"decodeProcessorMap",new WeakMap),this.addKVReportBeforeExitRoom=this.addKVReportBeforeExitRoom.bind(this),this.createDecoder=this.createDecoder.bind(this),this.core.innerEmitter.on("51",this.addKVReportBeforeExitRoom)}return a(t,[{key:"getAlias",value:function(){return"videoDecoder"}},{key:"getGroup",value:function(t){return(null==t?void 0:t.track)?"".concat(t.track.userId).concat(t.track.streamType):"*"}},{key:"getName",value:function(){return t.Name}},{key:"getValidateRule",value:function(t){return{type:this.core.enums.BASIC_TYPE.Object}}},{key:"createDecoder",value:function(t,e){switch(t){case"wasm":return new et(j(O({},e),{wasmPath:"".concat(this.core.assetsPath||".","/videodec.wasm")}));case"webCodecs":return new K;case"mse":throw new Error("mse decoder not supported yet");default:throw new Error("Unsupported decoder type")}}},{key:"start",value:function(t){var e=this;this.decodeProcessorMap.set(t.track,this.decode(t)),this.core.room.videoManager.addDecodeProcessor({processor:function(t){var r,n=t.frame,o=t.track;return(null==(r=e.decodeProcessorMap.get(o))?void 0:r({frame:n,track:o}))||n},type:3})}},{key:"decode",value:function(t){var e=this,r=this.core.rx,n=r.pipe,o=r.take,i=r.subscribe;return function(r){var a=r.frame,s=r.track;if(s!==t.track||"empty"===a.type)return a;if(e.contextMap.has(s))return e.contextMap.get(s).decode(a);var c=e.core.room.videoManager.createDecodeContext(j(O({},t),{createDecoder:e.createDecoder}));return n(c.trackDoneOB,o(1),i((function(){e.core.clearStarted(e,e.getGroup(t)),e.stop({track:s})}))),e.contextMap.set(s,c),c.decode(a)}}},{key:"stop",value:function(t){var e=this;if(null==t?void 0:t.track){var r=this.contextMap.get(t.track);r&&(r.close("stop"),this.report(r,t.track),this.contextMap.delete(t.track))}else this.contextMap.forEach((function(t,r){t.close("stop"),e.contextMap.delete(r)}));0===this.contextMap.size&&this.core.room.videoManager.removeDecodeProcessor({type:3})}},{key:"report",value:function(t,e){if(!t.isReported){t.isReported=!0;var r=rt()-t.startPerformanceTime,n=this.getRemoteTrackFreezeDuration(e,t),o=n.renderFreezeTotal,i=n.dataFreezeTotal;r&&this.core.kvStatManager.addNumber({key:514850,value:Math.floor(o/r*100),split:1}),r&&this.core.kvStatManager.addNumber({key:514851,value:Math.floor(i/r*100),split:1}),t.inputFrameCount&&this.core.kvStatManager.addNumber({key:514852,value:Math.floor(t.decodedFrameCount/t.inputFrameCount*100),split:1})}}},{key:"addKVReportBeforeExitRoom",value:function(t){var e=this;t.room===this.core.room&&this.contextMap.forEach((function(t,r){e.report(t,r)}))}},{key:"update",value:function(t){var e=this.contextMap.get(t.track);e&&("mock"!==t.type?(e.close("update"),this.contextMap.set(t.track,this.core.room.videoManager.createDecodeContext(j(O({},t),{createDecoder:this.createDecoder})))):e.mock(this.core.enums.DECODE_FAILED_ERROR_CODE.TEST))}},{key:"getRemoteTrackFreezeDuration",value:function(t,e){var r=this.core.room.badCaseDetector.getRenderFreezeMap().get("".concat(t.userId,"_").concat(t.streamType)),n=this.core.room.badCaseDetector.getDataFreezeMap().get("".concat(t.userId,"_").concat(t.streamType)),o=0;r&&r.freezeTimeline.forEach((function(t){var r=t.startTime,n=t.endTime;r>e.startPerformanceTime&&(o+=0===n?rt()-r:n-r)}));var i=0;return n&&n.durationItemList.forEach((function(t){t.startTime>e.startPerformanceTime&&(i+=t.getDuration())})),{renderFreezeTotal:o,dataFreezeTotal:i}}},{key:"destroy",value:function(){this.core.innerEmitter.off("51",this.addKVReportBeforeExitRoom)}}])}();return $(nt,"Name","TRTCVideoDecoder"),nt}));
@@ -1 +0,0 @@
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).BasicBeauty=g()}(this,(function(){"use strict";function A(A,g){(null==g||g>A.length)&&(g=A.length);for(var I=0,C=Array(g);I<g;I++)C[I]=A[I];return C}function g(A,g,I,C,B,Q,t){try{var E=A[Q](t),e=E.value}catch(A){return void I(A)}E.done?g(e):Promise.resolve(e).then(C,B)}function I(A){return function(){var I=this,C=arguments;return new Promise((function(B,Q){var t=A.apply(I,C);function E(A){g(t,B,Q,E,e,"next",A)}function e(A){g(t,B,Q,E,e,"throw",A)}E(void 0)}))}}function C(A,g,I){return g=t(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,e()?Reflect.construct(g,I||[],t(A).constructor):g.apply(A,I))}function B(A,g){if(!(A instanceof g))throw new TypeError("Cannot call a class as a function")}function Q(A,g,I){return g&&function(A,g){for(var I=0;I<g.length;I++){var C=g[I];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(A,n(C.key),C)}}(A.prototype,g),Object.defineProperty(A,"prototype",{writable:!1}),A}function t(A){return t=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},t(A)}function E(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&&i(A,g)}function e(){try{var A=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(A){}return(e=function(){return!!A})()}function r(){r=function(){return g};var A,g={},I=Object.prototype,C=I.hasOwnProperty,B=Object.defineProperty||function(A,g,I){A[g]=I.value},Q="function"==typeof Symbol?Symbol:{},t=Q.iterator||"@@iterator",E=Q.asyncIterator||"@@asyncIterator",e=Q.toStringTag||"@@toStringTag";function i(A,g,I){return Object.defineProperty(A,g,{value:I,enumerable:!0,configurable:!0,writable:!0}),A[g]}try{i({},"")}catch(A){i=function(A,g,I){return A[g]=I}}function o(A,g,I,C){var Q=g&&g.prototype instanceof D?g:D,t=Object.create(Q.prototype),E=new R(C||[]);return B(t,"_invoke",{value:F(A,I,E)}),t}function n(A,g,I){try{return{type:"normal",arg:A.call(g,I)}}catch(A){return{type:"throw",arg:A}}}g.wrap=o;var a="suspendedStart",c="suspendedYield",s="executing",u="completed",y={};function D(){}function h(){}function w(){}var f={};i(f,t,(function(){return this}));var G=Object.getPrototypeOf,l=G&&G(G(S([])));l&&l!==I&&C.call(l,t)&&(f=l);var N=w.prototype=D.prototype=Object.create(f);function d(A){["next","throw","return"].forEach((function(g){i(A,g,(function(A){return this._invoke(g,A)}))}))}function p(A,g){function I(B,Q,t,E){var e=n(A[B],A,Q);if("throw"!==e.type){var r=e.arg,i=r.value;return i&&"object"==typeof i&&C.call(i,"__await")?g.resolve(i.__await).then((function(A){I("next",A,t,E)}),(function(A){I("throw",A,t,E)})):g.resolve(i).then((function(A){r.value=A,t(r)}),(function(A){return I("throw",A,t,E)}))}E(e.arg)}var Q;B(this,"_invoke",{value:function(A,C){function B(){return new g((function(g,B){I(A,C,g,B)}))}return Q=Q?Q.then(B,B):B()}})}function F(g,I,C){var B=a;return function(Q,t){if(B===s)throw Error("Generator is already running");if(B===u){if("throw"===Q)throw t;return{value:A,done:!0}}for(C.method=Q,C.arg=t;;){var E=C.delegate;if(E){var e=Y(E,C);if(e){if(e===y)continue;return e}}if("next"===C.method)C.sent=C._sent=C.arg;else if("throw"===C.method){if(B===a)throw B=u,C.arg;C.dispatchException(C.arg)}else"return"===C.method&&C.abrupt("return",C.arg);B=s;var r=n(g,I,C);if("normal"===r.type){if(B=C.done?u:c,r.arg===y)continue;return{value:r.arg,done:C.done}}"throw"===r.type&&(B=u,C.method="throw",C.arg=r.arg)}}}function Y(g,I){var C=I.method,B=g.iterator[C];if(B===A)return I.delegate=null,"throw"===C&&g.iterator.return&&(I.method="return",I.arg=A,Y(g,I),"throw"===I.method)||"return"!==C&&(I.method="throw",I.arg=new TypeError("The iterator does not provide a '"+C+"' method")),y;var Q=n(B,g.iterator,I.arg);if("throw"===Q.type)return I.method="throw",I.arg=Q.arg,I.delegate=null,y;var t=Q.arg;return t?t.done?(I[g.resultName]=t.value,I.next=g.nextLoc,"return"!==I.method&&(I.method="next",I.arg=A),I.delegate=null,y):t:(I.method="throw",I.arg=new TypeError("iterator result is not an object"),I.delegate=null,y)}function k(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 M(A){var g=A.completion||{};g.type="normal",delete g.arg,A.completion=g}function R(A){this.tryEntries=[{tryLoc:"root"}],A.forEach(k,this),this.reset(!0)}function S(g){if(g||""===g){var I=g[t];if(I)return I.call(g);if("function"==typeof g.next)return g;if(!isNaN(g.length)){var B=-1,Q=function I(){for(;++B<g.length;)if(C.call(g,B))return I.value=g[B],I.done=!1,I;return I.value=A,I.done=!0,I};return Q.next=Q}}throw new TypeError(typeof g+" is not iterable")}return h.prototype=w,B(N,"constructor",{value:w,configurable:!0}),B(w,"constructor",{value:h,configurable:!0}),h.displayName=i(w,e,"GeneratorFunction"),g.isGeneratorFunction=function(A){var g="function"==typeof A&&A.constructor;return!!g&&(g===h||"GeneratorFunction"===(g.displayName||g.name))},g.mark=function(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,w):(A.__proto__=w,i(A,e,"GeneratorFunction")),A.prototype=Object.create(N),A},g.awrap=function(A){return{__await:A}},d(p.prototype),i(p.prototype,E,(function(){return this})),g.AsyncIterator=p,g.async=function(A,I,C,B,Q){void 0===Q&&(Q=Promise);var t=new p(o(A,I,C,B),Q);return g.isGeneratorFunction(I)?t:t.next().then((function(A){return A.done?A.value:t.next()}))},d(N),i(N,e,"Generator"),i(N,t,(function(){return this})),i(N,"toString",(function(){return"[object Generator]"})),g.keys=function(A){var g=Object(A),I=[];for(var C in g)I.push(C);return I.reverse(),function A(){for(;I.length;){var C=I.pop();if(C in g)return A.value=C,A.done=!1,A}return A.done=!0,A}},g.values=S,R.prototype={constructor:R,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(M),!g)for(var I in this)"t"===I.charAt(0)&&C.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 B(C,B){return E.type="throw",E.arg=g,I.next=C,B&&(I.method="next",I.arg=A),!!B}for(var Q=this.tryEntries.length-1;Q>=0;--Q){var t=this.tryEntries[Q],E=t.completion;if("root"===t.tryLoc)return B("end");if(t.tryLoc<=this.prev){var e=C.call(t,"catchLoc"),r=C.call(t,"finallyLoc");if(e&&r){if(this.prev<t.catchLoc)return B(t.catchLoc,!0);if(this.prev<t.finallyLoc)return B(t.finallyLoc)}else if(e){if(this.prev<t.catchLoc)return B(t.catchLoc,!0)}else{if(!r)throw Error("try statement without catch or finally");if(this.prev<t.finallyLoc)return B(t.finallyLoc)}}}},abrupt:function(A,g){for(var I=this.tryEntries.length-1;I>=0;--I){var B=this.tryEntries[I];if(B.tryLoc<=this.prev&&C.call(B,"finallyLoc")&&this.prev<B.finallyLoc){var Q=B;break}}Q&&("break"===A||"continue"===A)&&Q.tryLoc<=g&&g<=Q.finallyLoc&&(Q=null);var t=Q?Q.completion:{};return t.type=A,t.arg=g,Q?(this.method="next",this.next=Q.finallyLoc,y):this.complete(t)},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),y},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),M(I),y}},catch:function(A){for(var g=this.tryEntries.length-1;g>=0;--g){var I=this.tryEntries[g];if(I.tryLoc===A){var C=I.completion;if("throw"===C.type){var B=C.arg;M(I)}return B}}throw Error("illegal catch attempt")},delegateYield:function(g,I,C){return this.delegate={iterator:S(g),resultName:I,nextLoc:C},"next"===this.method&&(this.arg=A),y}},g}function i(A,g){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(A,g){return A.__proto__=g,A},i(A,g)}function o(g){return function(g){if(Array.isArray(g))return A(g)}(g)||function(A){if("undefined"!=typeof Symbol&&null!=A[Symbol.iterator]||null!=A["@@iterator"])return Array.from(A)}(g)||function(g,I){if(g){if("string"==typeof g)return A(g,I);var C={}.toString.call(g).slice(8,-1);return"Object"===C&&g.constructor&&(C=g.constructor.name),"Map"===C||"Set"===C?Array.from(g):"Arguments"===C||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(C)?A(g,I):void 0}}(g)||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 n(A){var g=function(A,g){if("object"!=typeof A||!A)return A;var I=A[Symbol.toPrimitive];if(void 0!==I){var C=I.call(A,g);if("object"!=typeof C)return C;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(A)}(A,"string");return"symbol"==typeof g?g:g+""}function a(A){return a="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},a(A)}function c(A){var g="function"==typeof Map?new Map:void 0;return c=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(e())return Reflect.construct.apply(null,arguments);var C=[null];C.push.apply(C,g);var B=new(A.bind.apply(A,C));return I&&i(B,I.prototype),B}(A,arguments,t(this).constructor)}return I.prototype=Object.create(A.prototype,{constructor:{value:I,enumerable:!1,writable:!0,configurable:!0}}),i(I,A)},c(A)}var s=Object.defineProperty,u=function(A,g,I){return function(A,g,I){return g in A?s(A,g,{enumerable:!0,configurable:!0,writable:!0,value:I}):A[g]=I}(A,"symbol"!==a(g)?g+"":g,I)};function y(A){return{name:"BasicBeautyOptions",type:"object",required:!0,allowEmpty:!1,properties:{beauty:{required:!1,type:"number"},brightness:{required:!1,type:"number"},ruddy:{required:!1,type:"number"}},validate:function(g,I,C,B){var Q=A.errorModule,t=Q.RtcError,E=Q.ErrorCode,e=Q.ErrorCodeDictionary;if(A.utils.isOverseaSdkAppId(g.sdkAppId))throw new t({code:E.INVALID_OPERATION,extraCode:e.INVALID_OPERATION,message:"This feature is not yet available in your country or region. If you have any questions, you can go to the community for consultation: https://zhiliao.qq.com/s/cWSPGIIM62CC/c3TPGIIM62CQ"})}}}var D,h,w=(h="undefined"!=typeof document?null==(D=document.currentScript)?void 0:D.src:void 0,function(){var A,g,I=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},I),e=new Promise((function(I,C){A=I,g=C})),r=Object.assign({},t),i="";"undefined"!=typeof document&&document.currentScript&&(i=document.currentScript.src),h&&(i=h),i=i.startsWith("blob:")?"":i.substr(0,i.replace(/[?#].*/,"").lastIndexOf("/")+1);var n,s,u=t.print||console.log.bind(console),y=t.printErr||console.error.bind(console);function D(A){if(J(A))return function(A){for(var g=atob(A),I=new Uint8Array(g.length),C=0;C<g.length;++C)I[C]=g.charCodeAt(C);return I}(A.slice(U.length))}Object.assign(t,r),r=null,t.arguments&&t.arguments,t.thisProgram&&t.thisProgram,t.quit&&t.quit,t.wasmBinary&&(n=t.wasmBinary);var w,f,G,l,N,d,p,F,Y=!1,k=[],M=[],R=[],S=0,L=null;function b(A){var I;null==(I=t.onAbort)||I.call(t,A),y(A="Aborted("+A+")"),Y=!0,A+=". Build with -sASSERTIONS for more info.";var C=new WebAssembly.RuntimeError(A);throw g(C),C}var v,U="data:application/octet-stream;base64,",J=function(A){return A.startsWith(U)};function m(A){return Promise.resolve().then((function(){return function(A){if(A==v&&n)return new Uint8Array(n);var g=D(A);if(g)return g;throw"both async and sync fetching of the wasm failed"}(A)}))}function H(A,g,I,C){return function(A,g,I){return m(A).then((function(A){return WebAssembly.instantiate(A,g)})).then(I,(function(A){y("failed to asynchronously prepare wasm: ".concat(A)),b(A)}))}(g,I,C)}var K=function(A){for(;A.length>0;)A.shift()(t)};t.noExitRuntime;var Z,j,x,T=function(){return Q((function A(g){B(this,A),this.excPtr=g,this.ptr=g-24}),[{key:"set_type",value:function(A){d[this.ptr+4>>2]=A}},{key:"get_type",value:function(){return d[this.ptr+4>>2]}},{key:"set_destructor",value:function(A){d[this.ptr+8>>2]=A}},{key:"get_destructor",value:function(){return d[this.ptr+8>>2]}},{key:"set_caught",value:function(A){A=A?1:0,w[this.ptr+12]=A}},{key:"get_caught",value:function(){return 0!=w[this.ptr+12]}},{key:"set_rethrown",value:function(A){A=A?1:0,w[this.ptr+13]=A}},{key:"get_rethrown",value:function(){return 0!=w[this.ptr+13]}},{key:"init",value:function(A,g){this.set_adjusted_ptr(0),this.set_type(A),this.set_destructor(g)}},{key:"set_adjusted_ptr",value:function(A){d[this.ptr+16>>2]=A}},{key:"get_adjusted_ptr",value:function(){return d[this.ptr+16>>2]}},{key:"get_exception_ptr",value:function(){if(yg(this.get_type()))return d[this.excPtr>>2];var A=this.get_adjusted_ptr();return 0!==A?A:this.excPtr}}])}(),P=function(A){for(var g="",I=A;f[I];)g+=Z[f[I++]];return g},W={},O={},z={},q=function(A){throw new j(A)},V=function(A){throw new x(A)},X=function(A,g,I){function C(g){var C=I(g);C.length!==A.length&&V("Mismatched type converter count");for(var B=0;B<A.length;++B)$(A[B],C[B])}A.forEach((function(A){z[A]=g}));var B=new Array(g.length),Q=[],t=0;g.forEach((function(A,g){O.hasOwnProperty(A)?B[g]=O[A]:(Q.push(A),W.hasOwnProperty(A)||(W[A]=[]),W[A].push((function(){B[g]=O[A],++t===Q.length&&C(B)})))})),0===Q.length&&C(B)};function $(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]:{},C=g.name;if(A||q('type "'.concat(C,'" must have a positive integer typeid pointer')),O.hasOwnProperty(A)){if(I.ignoreDuplicateRegistrations)return;q("Cannot register type '".concat(C,"' twice"))}if(O[A]=g,delete z[A],W.hasOwnProperty(A)){var B=W[A];delete W[A],B.forEach((function(A){return A()}))}}(A,g,I)}var _,AA=function(A){q(A.$$.ptrType.registeredClass.name+" instance already deleted")},gA=!1,IA=function(A){},CA=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)},BA=function(A,g,I){if(g===I)return A;if(void 0===I.baseClass)return null;var C=BA(A,g,I.baseClass);return null===C?null:I.downcast(C)},QA={},tA=function(){return Object.keys(oA).length},EA=function(){var A=[];for(var g in oA)oA.hasOwnProperty(g)&&A.push(oA[g]);return A},eA=[],rA=function(){for(;eA.length;){var A=eA.pop();A.$$.deleteScheduled=!1,A.delete()}},iA=function(A){_=A,eA.length&&_&&_(rA)},oA={},nA=function(A,g){return g=function(A,g){for(void 0===g&&q("ptr should not be undefined");A.baseClass;)g=A.upcast(g),A=A.baseClass;return g}(A,g),oA[g]},aA=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,writable:!0}}))};function cA(A){var g=this.getPointee(A);if(!g)return this.destructor(A),null;var I=nA(this.registeredClass,g);if(void 0!==I){if(0===I.$$.count.value)return I.$$.ptr=g,I.$$.smartPtr=A,I.clone();var C=I.clone();return this.destructor(A),C}function B(){return this.isSmartPointer?aA(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:g,smartPtrType:this,smartPtr:A}):aA(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var Q,t=this.registeredClass.getActualType(g),E=QA[t];if(!E)return B.call(this);Q=this.isConst?E.constPointerType:E.pointerType;var e=BA(g,this.registeredClass,Q.registeredClass);return null===e?B.call(this):this.isSmartPointer?aA(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:e,smartPtrType:this,smartPtr:A}):aA(Q.registeredClass.instancePrototype,{ptrType:Q,ptr:e})}var sA=function(A){return"undefined"==typeof FinalizationRegistry?(sA=function(A){return A},A):(gA=new FinalizationRegistry((function(A){CA(A.$$)})),IA=function(A){return gA.unregister(A)},(sA=function(A){var g=A.$$;if(g.smartPtr){var I={$$:g};gA.register(A,I,A)}return A})(A))};function uA(){}var yA=function(A,g){return Object.defineProperty(g,"name",{value:A})},DA=function(A,g,I){if(void 0===A[g].overloadTable){var C=A[g];A[g]=function(){for(var C=arguments.length,B=new Array(C),Q=0;Q<C;Q++)B[Q]=arguments[Q];return A[g].overloadTable.hasOwnProperty(B.length)||q("Function '".concat(I,"' called with an invalid number of arguments (").concat(B.length,") - expects one of (").concat(A[g].overloadTable,")!")),A[g].overloadTable[B.length].apply(this,B)},A[g].overloadTable=[],A[g].overloadTable[C.argCount]=C}};function hA(A,g,I,C,B,Q,t,E){this.name=A,this.constructor=g,this.instancePrototype=I,this.rawDestructor=C,this.baseClass=B,this.getActualType=Q,this.upcast=t,this.downcast=E,this.pureVirtualFunctions=[]}var wA=function(A,g,I){for(;g!==I;)g.upcast||q("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 fA(A,g){if(null===g)return this.isReference&&q("null is not a valid ".concat(this.name)),0;g.$$||q('Cannot pass "'.concat(OA(g),'" as a ').concat(this.name)),g.$$.ptr||q("Cannot pass deleted object as a pointer of type ".concat(this.name));var I=g.$$.ptrType.registeredClass;return wA(g.$$.ptr,I,this.registeredClass)}function GA(A,g){var I;if(null===g)return this.isReference&&q("null is not a valid ".concat(this.name)),this.isSmartPointer?(I=this.rawConstructor(),null!==A&&A.push(this.rawDestructor,I),I):0;g&&g.$$||q('Cannot pass "'.concat(OA(g),'" as a ').concat(this.name)),g.$$.ptr||q("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&g.$$.ptrType.isConst&&q("Cannot convert argument of type ".concat(g.$$.smartPtrType?g.$$.smartPtrType.name:g.$$.ptrType.name," to parameter type ").concat(this.name));var C=g.$$.ptrType.registeredClass;if(I=wA(g.$$.ptr,C,this.registeredClass),this.isSmartPointer)switch(void 0===g.$$.smartPtr&&q("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:g.$$.smartPtrType===this?I=g.$$.smartPtr:q("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 B=g.clone();I=this.rawShare(I,PA.toHandle((function(){return B.delete()}))),null!==A&&A.push(this.rawDestructor,I)}break;default:q("Unsupporting sharing policy")}return I}function lA(A,g){if(null===g)return this.isReference&&q("null is not a valid ".concat(this.name)),0;g.$$||q('Cannot pass "'.concat(OA(g),'" as a ').concat(this.name)),g.$$.ptr||q("Cannot pass deleted object as a pointer of type ".concat(this.name)),g.$$.ptrType.isConst&&q("Cannot convert argument of type ".concat(g.$$.ptrType.name," to parameter type ").concat(this.name));var I=g.$$.ptrType.registeredClass;return wA(g.$$.ptr,I,this.registeredClass)}function NA(A){return this.fromWireType(d[A>>2])}function dA(A,g,I,C,B,Q,t,E,e,r,i){this.name=A,this.registeredClass=g,this.isReference=I,this.isConst=C,this.isSmartPointer=B,this.pointeeType=Q,this.sharingPolicy=t,this.rawGetPointee=E,this.rawConstructor=e,this.rawShare=r,this.rawDestructor=i,B||void 0!==g.baseClass?this.toWireType=GA:C?(this.toWireType=fA,this.destructorFunction=null):(this.toWireType=lA,this.destructorFunction=null)}var pA,FA,YA=[],kA=function(A){var g=YA[A];return g||(A>=YA.length&&(YA.length=A+1),YA[A]=g=pA.get(A)),g},MA=function(A,g){var I=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return A.includes("j")?function(A,g,I){return A=A.replace(/p/g,"i"),t["dynCall_"+A].apply(void 0,[g].concat(o(I)))}(A,g,I):kA(g).apply(void 0,o(I))},RA=function(A,g){var I,C,B=(A=P(A)).includes("j")?(I=A,C=g,function(){for(var A=arguments.length,g=new Array(A),B=0;B<A;B++)g[B]=arguments[B];return MA(I,C,g)}):kA(g);return"function"!=typeof B&&q("unknown function pointer with signature ".concat(A,": ").concat(g)),B},SA=function(A){var g=sg(A),I=P(g);return ug(g),I},LA=function(A,g){var I=[],C={};throw g.forEach((function A(g){C[g]||O[g]||(z[g]?z[g].forEach(A):(I.push(g),C[g]=!0))})),new FA("".concat(A,": ")+I.map(SA).join([", "]))},bA=function(A,g){for(var I=[],C=0;C<A;C++)I.push(d[g+4*C>>2]);return I},vA=function(A){for(;A.length;){var g=A.pop();A.pop()(g)}};function UA(A,g,I,C,B,Q){var t=g.length;t<2&&q("argTypes array size mismatch! Must at least get return value and 'this' types!");var E=null!==g[1]&&null!==I,e=function(A){for(var g=1;g<A.length;++g)if(null!==A[g]&&void 0===A[g].destructorFunction)return!0;return!1}(g),r="void"!==g[0].name,i=t-2,o=new Array(i),n=[],a=[];return yA(A,(function(){var I;arguments.length!==i&&q("function ".concat(A," called with ").concat(arguments.length," arguments, expected ").concat(i)),a.length=0,n.length=E?2:1,n[0]=B,E&&(I=g[1].toWireType(a,this),n[1]=I);for(var Q=0;Q<i;++Q)o[Q]=g[Q+2].toWireType(a,Q<0||arguments.length<=Q?void 0:arguments[Q]),n.push(o[Q]);return function(A){if(e)vA(a);else for(var C=E?1:2;C<g.length;C++){var B=1===C?I:o[C-2];null!==g[C].destructorFunction&&g[C].destructorFunction(B)}if(r)return g[0].fromWireType(A)}(C.apply(void 0,n))}))}var JA,mA,HA,KA=function(A,g,I){return A instanceof Object||q("".concat(I,' with invalid "this": ').concat(A)),A instanceof g.registeredClass.constructor||q("".concat(I,' incompatible with "this" of type ').concat(A.constructor.name)),A.$$.ptr||q("cannot call emscripten binding method ".concat(I," on deleted object")),wA(A.$$.ptr,A.$$.ptrType.registeredClass,g.registeredClass)},ZA=[],jA=[],xA=function(A){A>9&&0==--jA[A+1]&&(jA[A]=void 0,ZA.push(A))},TA=function(){return jA.length/2-5-ZA.length},PA={toValue:function(A){return A||q("Cannot use deleted val. handle = "+A),jA[A]},toHandle:function(A){switch(A){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:var g=ZA.pop()||jA.length;return jA[g]=A,jA[g+1]=1,g}}},WA={name:"emscripten::val",fromWireType:function(A){var g=PA.toValue(A);return xA(A),g},toWireType:function(A,g){return PA.toHandle(g)},argPackAdvance:8,readValueFromPointer:NA,destructorFunction:null},OA=function(A){if(null===A)return"null";var g=a(A);return"object"===g||"array"===g||"function"===g?A.toString():""+A},zA=function(A,g){switch(g){case 4:return function(A){return this.fromWireType(p[A>>2])};case 8:return function(A){return this.fromWireType(F[A>>3])};default:throw new TypeError("invalid float width (".concat(g,"): ").concat(A))}},qA=function(A,g,I){switch(g){case 1:return I?function(A){return w[A]}:function(A){return f[A]};case 2:return I?function(A){return G[A>>1]}:function(A){return l[A>>1]};case 4:return I?function(A){return N[A>>2]}:function(A){return d[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 C=g+I,B=g;A[B]&&!(B>=C);)++B;if(B-g>16&&A.buffer&&VA)return VA.decode(A.subarray(g,B));for(var Q="";g<B;){var t=A[g++];if(128&t){var E=63&A[g++];if(192!=(224&t)){var e=63&A[g++];if((t=224==(240&t)?(15&t)<<12|E<<6|e:(7&t)<<18|E<<12|e<<6|63&A[g++])<65536)Q+=String.fromCharCode(t);else{var r=t-65536;Q+=String.fromCharCode(55296|r>>10,56320|1023&r)}}else Q+=String.fromCharCode((31&t)<<6|E)}else Q+=String.fromCharCode(t)}return Q},$A="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,_A=function(A,g){for(var I=A,C=I>>1,B=C+g/2;!(C>=B)&&l[C];)++C;if((I=C<<1)-A>32&&$A)return $A.decode(f.subarray(A,I));for(var Q="",t=0;!(t>=g/2);++t){var E=G[A+2*t>>1];if(0==E)break;Q+=String.fromCharCode(E)}return Q},Ag=function(A,g,I){if(null!=I||(I=2147483647),I<2)return 0;for(var C=g,B=(I-=2)<2*A.length?I/2:A.length,Q=0;Q<B;++Q){var t=A.charCodeAt(Q);G[g>>1]=t,g+=2}return G[g>>1]=0,g-C},gg=function(A){return 2*A.length},Ig=function(A,g){for(var I=0,C="";!(I>=g/4);){var B=N[A+4*I>>2];if(0==B)break;if(++I,B>=65536){var Q=B-65536;C+=String.fromCharCode(55296|Q>>10,56320|1023&Q)}else C+=String.fromCharCode(B)}return C},Cg=function(A,g,I){if(null!=I||(I=2147483647),I<4)return 0;for(var C=g,B=C+I-4,Q=0;Q<A.length;++Q){var t=A.charCodeAt(Q);if(t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&A.charCodeAt(++Q)),N[g>>2]=t,(g+=4)+4>B)break}return N[g>>2]=0,g-C},Bg=function(A){for(var g=0,I=0;I<A.length;++I){var C=A.charCodeAt(I);C>=55296&&C<=57343&&++I,g+=4}return g},Qg=function(A,g){var I=O[A];return void 0===I&&q("".concat(g," has unknown type ").concat(SA(A))),I},tg=function(A,g,I){var C=[],B=A.toWireType(C,I);return C.length&&(d[g>>2]=PA.toHandle(C)),B},Eg={},eg=[],rg=Reflect.construct,ig=[null,[],[]];!function(){for(var A=new Array(256),g=0;g<256;++g)A[g]=String.fromCharCode(g);Z=A}(),j=t.BindingError=function(A){function g(A){var I;return B(this,g),(I=C(this,g,[A])).name="BindingError",I}return E(g,A),Q(g)}(c(Error)),x=t.InternalError=function(A){function g(A){var I;return B(this,g),(I=C(this,g,[A])).name="InternalError",I}return E(g,A),Q(g)}(c(Error)),Object.assign(uA.prototype,{isAliasOf:function(A){if(!(this instanceof uA))return!1;if(!(A instanceof uA))return!1;var g=this.$$.ptrType.registeredClass,I=this.$$.ptr;A.$$=A.$$;for(var C=A.$$.ptrType.registeredClass,B=A.$$.ptr;g.baseClass;)I=g.upcast(I),g=g.baseClass;for(;C.baseClass;)B=C.upcast(B),C=C.baseClass;return g===C&&I===B},clone:function(){if(this.$$.ptr||AA(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||AA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&q("Object already scheduled for deletion"),IA(this),CA(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted:function(){return!this.$$.ptr},deleteLater:function(){return this.$$.ptr||AA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&q("Object already scheduled for deletion"),eA.push(this),1===eA.length&&_&&_(rA),this.$$.deleteScheduled=!0,this}}),t.getInheritedInstanceCount=tA,t.getLiveInheritedInstances=EA,t.flushPendingDeletes=rA,t.setDelayFunction=iA,Object.assign(dA.prototype,{getPointee:function(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A},destructor:function(A){var g;null==(g=this.rawDestructor)||g.call(this,A)},argPackAdvance:8,readValueFromPointer:NA,fromWireType:cA}),FA=t.UnboundTypeError=(JA=Error,(HA=yA(mA="UnboundTypeError",(function(A){this.name=mA,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(JA.prototype),HA.prototype.constructor=HA,HA.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},HA),jA.push(0,1,void 0,1,null,1,!0,1,!1,1),t.count_emval_handles=TA;var og,ng={w:function(A,g,I){throw new T(A).init(g,I),A},q:function(){b("")},p:function(A,g,I,C,B){},u:function(A,g,I,C){$(A,{name:g=P(g),fromWireType:function(A){return!!A},toWireType:function(A,g){return g?I:C},argPackAdvance:8,readValueFromPointer:function(A){return this.fromWireType(f[A])},destructorFunction:null})},y:function(A,g,I,C,B,Q,E,e,r,i,o,n,a){o=P(o),Q=RA(B,Q),e&&(e=RA(E,e)),i&&(i=RA(r,i)),a=RA(n,a);var c=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}(o);!function(A,g,I){t.hasOwnProperty(A)?(q("Cannot register public name '".concat(A,"' twice")),DA(t,A,A),t.hasOwnProperty(I)&&q("Cannot register multiple overloads of a function with the same number of arguments (".concat(I,")!")),t[A].overloadTable[I]=g):t[A]=g}(c,(function(){LA("Cannot construct ".concat(o," due to unbound types"),[C])})),X([A,g,I],C?[C]:[],(function(g){var I,B,E;g=g[0],E=C?(B=g.registeredClass).instancePrototype:uA.prototype;var r=yA(o,(function(){if(Object.getPrototypeOf(this)!==n)throw new j("Use 'new' to construct "+o);if(void 0===s.constructor_body)throw new j(o+" has no accessible constructor");for(var A=arguments.length,g=new Array(A),I=0;I<A;I++)g[I]=arguments[I];var C=s.constructor_body[g.length];if(void 0===C)throw new j("Tried to invoke ctor of ".concat(o," with invalid number of parameters (").concat(g.length,") - expected (").concat(Object.keys(s.constructor_body).toString(),") parameters instead!"));return C.apply(this,g)})),n=Object.create(E,{constructor:{value:r}});r.prototype=n;var s=new hA(o,r,n,a,B,Q,e,i);s.baseClass&&(null!=(I=s.baseClass).__derivedClasses||(I.__derivedClasses=[]),s.baseClass.__derivedClasses.push(s));var u=new dA(o,s,!0,!1,!1),y=new dA(o+"*",s,!1,!1,!1),D=new dA(o+" const*",s,!1,!0,!1);return QA[A]={pointerType:y,constPointerType:D},function(A,g,I){t.hasOwnProperty(A)||V("Replacing nonexistent public symbol"),void 0!==t[A].overloadTable&&void 0!==I?t[A].overloadTable[I]=g:(t[A]=g,t[A].argCount=I)}(c,r),[u,y,D]}))},x:function(A,g,I,C,B,Q){var t=bA(g,I);B=RA(C,B),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 j("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(){LA("Cannot construct ".concat(A.name," due to unbound types"),t)},X([],t,(function(C){return C.splice(1,0,null),A.registeredClass.constructor_body[g-1]=UA(I,C,null,B,Q),[]})),[]}))},h:function(A,g,I,C,B,Q,t,E,e){var r,i,o=bA(I,C);g=P(g),i=(r=(r=g).trim()).indexOf("("),g=-1!==i?r.substr(0,i):r,Q=RA(B,Q),X([],[A],(function(A){A=A[0];var C="".concat(A.name,".").concat(g);function B(){LA("Cannot call ".concat(C," due to unbound types"),o)}g.startsWith("@@")&&(g=Symbol[g.substring(2)]),E&&A.registeredClass.pureVirtualFunctions.push(g);var e=A.registeredClass.instancePrototype,r=e[g];return void 0===r||void 0===r.overloadTable&&r.className!==A.name&&r.argCount===I-2?(B.argCount=I-2,B.className=A.name,e[g]=B):(DA(e,g,C),e[g].overloadTable[I-2]=B),X([],o,(function(B){var E=UA(C,B,A,Q,t);return void 0===e[g].overloadTable?(E.argCount=I-2,e[g]=E):e[g].overloadTable[I-2]=E,[]})),[]}))},k:function(A,g,I,C,B,Q,t,E,e,r){g=P(g),B=RA(C,B),X([],[A],(function(A){A=A[0];var C="".concat(A.name,".").concat(g),i={get:function(){LA("Cannot access ".concat(C," due to unbound types"),[I,t])},enumerable:!0,configurable:!0};return i.set=e?function(){return LA("Cannot access ".concat(C," due to unbound types"),[I,t])}:function(A){return q(C+" is a read-only property")},Object.defineProperty(A.registeredClass.instancePrototype,g,i),X([],e?[I,t]:[I],(function(I){var t=I[0],i={get:function(){var g=KA(this,A,C+" getter");return t.fromWireType(B(Q,g))},enumerable:!0};if(e){e=RA(E,e);var o=I[1];i.set=function(g){var I=KA(this,A,C+" setter"),B=[];e(r,I,o.toWireType(B,g)),vA(B)}}return Object.defineProperty(A.registeredClass.instancePrototype,g,i),[]})),[]}))},t:function(A){return $(A,WA)},o:function(A,g,I){$(A,{name:g=P(g),fromWireType:function(A){return A},toWireType:function(A,g){return g},argPackAdvance:8,readValueFromPointer:zA(g,I),destructorFunction:null})},g:function(A,g,I,C,B){g=P(g);var Q=function(A){return A};if(0===C){var t=32-8*I;Q=function(A){return A<<t>>>t}}var E=g.includes("unsigned");$(A,{name:g,fromWireType:Q,toWireType:E?function(A,g){return this.name,g>>>0}:function(A,g){return this.name,g},argPackAdvance:8,readValueFromPointer:qA(g,I,0!==C),destructorFunction:null})},a:function(A,g,I){var C=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][g];function B(A){var g=d[A>>2],I=d[A+4>>2];return new C(w.buffer,I,g)}$(A,{name:I=P(I),fromWireType:B,argPackAdvance:8,readValueFromPointer:B},{ignoreDuplicateRegistrations:!0})},n:function(A,g){var I="std::string"===(g=P(g));$(A,{name:g,fromWireType:function(A){var g,C,B,Q=d[A>>2],t=A+4;if(I)for(var E=t,e=0;e<=Q;++e){var r=t+e;if(e==Q||0==f[r]){var i=(B=r-E,(C=E)?XA(f,C,B):"");void 0===g?g=i:(g+=String.fromCharCode(0),g+=i),E=r+1}}else{var o=new Array(Q);for(e=0;e<Q;++e)o[e]=String.fromCharCode(f[t+e]);g=o.join("")}return ug(A),g},toWireType:function(A,g){var C;g instanceof ArrayBuffer&&(g=new Uint8Array(g));var B="string"==typeof g;B||g instanceof Uint8Array||g instanceof Uint8ClampedArray||g instanceof Int8Array||q("Cannot pass non-string to std::string"),C=I&&B?function(A){for(var g=0,I=0;I<A.length;++I){var C=A.charCodeAt(I);C<=127?g++:C<=2047?g+=2:C>=55296&&C<=57343?(g+=4,++I):g+=3}return g}(g):g.length;var Q=cg(4+C+1),t=Q+4;if(d[Q>>2]=C,I&&B)!function(A,g,I,C){if(!(C>0))return 0;for(var B=I+C-1,Q=0;Q<A.length;++Q){var t=A.charCodeAt(Q);if(t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&A.charCodeAt(++Q)),t<=127){if(I>=B)break;g[I++]=t}else if(t<=2047){if(I+1>=B)break;g[I++]=192|t>>6,g[I++]=128|63&t}else if(t<=65535){if(I+2>=B)break;g[I++]=224|t>>12,g[I++]=128|t>>6&63,g[I++]=128|63&t}else{if(I+3>=B)break;g[I++]=240|t>>18,g[I++]=128|t>>12&63,g[I++]=128|t>>6&63,g[I++]=128|63&t}}g[I]=0}(g,f,t,C+1);else if(B)for(var E=0;E<C;++E){var e=g.charCodeAt(E);e>255&&(ug(t),q("String has UTF-16 code units that do not fit in 8 bits")),f[t+E]=e}else for(E=0;E<C;++E)f[t+E]=g[E];return null!==A&&A.push(ug,Q),Q},argPackAdvance:8,readValueFromPointer:NA,destructorFunction:function(A){ug(A)}})},l:function(A,g,I){var C,B,Q,t;I=P(I),2===g?(C=_A,B=Ag,t=gg,Q=function(A){return l[A>>1]}):4===g&&(C=Ig,B=Cg,t=Bg,Q=function(A){return d[A>>2]}),$(A,{name:I,fromWireType:function(A){for(var I,B=d[A>>2],t=A+4,E=0;E<=B;++E){var e=A+4+E*g;if(E==B||0==Q(e)){var r=C(t,e-t);void 0===I?I=r:(I+=String.fromCharCode(0),I+=r),t=e+g}}return ug(A),I},toWireType:function(A,C){"string"!=typeof C&&q("Cannot pass non-string to C++ string type ".concat(I));var Q=t(C),E=cg(4+Q+g);return d[E>>2]=Q/g,B(C,E+4,Q+g),null!==A&&A.push(ug,E),E},argPackAdvance:8,readValueFromPointer:NA,destructorFunction:function(A){ug(A)}})},v:function(A,g){$(A,{isVoid:!0,name:g=P(g),argPackAdvance:0,fromWireType:function(){},toWireType:function(A,g){}})},s:function(A,g,I){return f.copyWithin(A,g,g+I)},j:function(A,g,I){return A=PA.toValue(A),g=Qg(g,"emval::as"),tg(g,I,A)},e:function(A,g,I,C,B){var Q,t;return(A=eg[A])(g=PA.toValue(g),g[I=void 0===(t=Eg[Q=I])?P(Q):t],C,B)},c:xA,f:function(A,g,I){var C=function(A,g){for(var I=new Array(A),C=0;C<A;++C)I[C]=Qg(d[g+4*C>>2],"parameter "+C);return I}(A,g),B=C.shift();A--;var Q,t,E=new Array(A),e="methodCaller<(".concat(C.map((function(A){return A.name})).join(", "),") => ").concat(B.name,">");return Q=yA(e,(function(g,Q,t,e){for(var r=0,i=0;i<A;++i)E[i]=C[i].readValueFromPointer(e+r),r+=C[i].argPackAdvance;var o=1===I?rg(Q,E):Q.apply(g,E);return tg(B,t,o)})),t=eg.length,eg.push(Q),t},d:function(A){A>9&&(jA[A+1]+=1)},b:function(A){var g=PA.toValue(A);vA(g),xA(A)},i:function(A,g){var I=(A=Qg(A,"_emval_take_value")).readValueFromPointer(g);return PA.toHandle(I)},r:function(A){f.length,b("OOM")},m:function(A,g,I,C){for(var B,Q,t,E=0,e=0;e<I;e++){var r=d[g>>2],i=d[g+4>>2];g+=8;for(var o=0;o<i;o++)B=A,Q=f[r+o],t=void 0,t=ig[B],0===Q||10===Q?((1===B?u:y)(XA(t,0)),t.length=0):t.push(Q);E+=i}return d[C>>2]=E,0}},ag=function(){var A,I={a:ng};function C(A,g){var I,C;return ag=A.exports,s=ag.z,I=s.buffer,t.HEAP8=w=new Int8Array(I),t.HEAP16=G=new Int16Array(I),t.HEAPU8=f=new Uint8Array(I),t.HEAPU16=l=new Uint16Array(I),t.HEAP32=N=new Int32Array(I),t.HEAPU32=d=new Uint32Array(I),t.HEAPF32=p=new Float32Array(I),t.HEAPF64=F=new Float64Array(I),pA=ag.C,C=ag.A,M.unshift(C),function(){var A;if(S--,null==(A=t.monitorRunDependencies)||A.call(t,S),0==S&&L){var g=L;L=null,g()}}(),ag}if(S++,null==(A=t.monitorRunDependencies)||A.call(t,S),t.instantiateWasm)try{return t.instantiateWasm(I,C)}catch(A){y("Module.instantiateWasm callback failed with error: ".concat(A)),g(A)}return v||(v="data:application/octet-stream;base64,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Ay0AASIARQ0BIAJBAWohAiADQQFqIQMgACABRg0ACwsgACABRgtrAQF/IwBBgAJrIgUkAAJAIAIgA0wNACAEQYDABHENACAFIAEgAiADayIDQYACIANBgAJJIgEbECQaIAFFBEADQCAAIAVBgAIQHSADQYACayIDQf8BSw0ACwsgACAFIAMQHQsgBUGAAmokAAvlAwEFfyMAQRBrIgMkACADIAAoAgAiBEEIaygCACICNgIMIAMgACACajYCBCADIARBBGsoAgA2AgggAygCCCIEIAFBABAeIQIgAygCBCEFAkAgAgRAIAMoAgwhACMAQUBqIgEkACABQUBrJABBACAFIAAbIQIMAQsjAEFAaiICJAAgACAFTgRAIAJCADcCHCACQgA3AiQgAkIANwIsIAJCADcCFCACQQA2AhAgAiABNgIMIAIgBDYCBCACQQA2AjwgAkKBgICAgICAgAE3AjQgAiAANgIIIAQgAkEEaiAFIAVBAUEAIAQoAgAoAhQRCQAgAEEAIAIoAhwbIQYLIAJBQGskACAGIgINACMAQUBqIgIkACACQQA2AhAgAkGsxgA2AgwgAiAANgIIIAIgATYCBEEAIQAgAkEUakEAQScQJBogAkEANgI8IAJBAToAOyAEIAJBBGogBUEBQQAgBCgCACgCGBEIAAJAAkACQCACKAIoDgIAAQILIAIoAhhBACACKAIkQQFGG0EAIAIoAiBBAUYbQQAgAigCLEEBRhshAAwBCyACKAIcQQFHBEAgAigCLA0BIAIoAiBBAUcNASACKAIkQQFHDQELIAIoAhQhAAsgAkFAayQAIAAhAgsgA0EQaiQAIAILtAEBBX8jAEEQayIGJAAgBkEEaiICEEEjAEEQayIFJAACfyACLQALQQd2BEAgAigCBAwBCyACLQALQf8AcQshBANAAkACfyACLQALQQd2BEAgAigCAAwBCyACCyEDIAUgATkDACACAn8gAyAEQQFqIAUQRyIDQQBOBEAgAyAETQ0CIAMMAQsgBEEBdEEBcgsiBBAtDAELCyACIAMQLSAAIAIQQCAFQRBqJAAgAhBEIAZBEGokAAuABAEDfyACQYAETwRAIAAgASACEBIgAA8LIAAgAmohAwJAIAAgAXNBA3FFBEACQCAAQQNxRQRAIAAhAgwBCyACRQRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALCwAgASACIAAQRRoL8gICAn8BfgJAIAJFDQAgACABOgAAIAAgAmoiA0EBayABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBA2sgAToAACADQQJrIAE6AAAgAkEHSQ0AIAAgAToAAyADQQRrIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBBGsgATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQQhrIAE2AgAgAkEMayABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkEQayABNgIAIAJBFGsgATYCACACQRhrIAE2AgAgAkEcayABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa1CgYCAgBB+IQUgAyAEaiEBA0AgASAFNwMYIAEgBTcDECABIAU3AwggASAFNwMAIAFBIGohASACQSBrIgJBH0sNAAsLIAALEgAgAUEBdEHAxABqQQIgABBFC60CAQd/An8gARAqIQMjAEEQayIGJAACfyAALQALQQd2BEAgACgCBAwBCyAALQALQf8AcQsiBEEATwRAAkAgAyAALQAL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eHEgBCgCCEH/////B3FyNgIIIAAgACgCCEGAgICAeHI2AgggBEEQaiQADAELECcACyAAIAE2AgQLIAECfyAALQALQQd2BEAgACgCAAwBCyAACyICaiAFEEMgACABIAVqIgAQMSAGQQA6AA8gACACaiAGLQAPOgAACyAGQRBqJAAPCwJ/IAAtAAtBB3YEQCAAKAIADAELIAALIQQjAEEQayICJAACfyAALQALQQd2BEAgACgCBAwBCyAALQALCxogACABEDEgAkEAOgAPIAEgBGogAi0ADzoAACACQRBqJAALPQEBfyMAQRBrIgIkACACQQA6AA8DQCABBEAgACACLQAPOgAAIAFBAWshASAAQQFqIQAMAQsLIAJBEGokAAsaACAALQALQQd2BEAgACgCCBogACgCABAZCwvmAQEFfyMAQRBrIgUkACMAQSBrIgMkACMAQRBrIgQkACAEIAA2AgwgBCAAIAFqNgIIIAMgBCgCDDYCGCADIAQoAgg2AhwgBEEQaiQAIAMoAhghBCADKAIcIQYjAEEQayIBJAAgASAGNgIMIAIgBCAGIARrIgQQNiABIAIgBGo2AgggAyABKAIMNgIQIAMgASgCCDYCFCABQRBqJAAgAyAAIAMoAhAgAGtqNgIMIAMgAiADKAIUIAJrajYCCCAFIAMoAgw2AgggBSADKAIINgIMIANBIGokACAFKAIMIQcgBUEQaiQAIAcL8wIBBX8jAEEQayIHJAAgAiABQX9zQff///8Hak0EQAJ/IAAtAAtBB3YEQCAAKAIADAELIAALIQggB0EEaiIJIAFB8////wNJBH8gByABQQF0NgIMIAcgASACajYCBCMAQRBrIgIkACAJKAIAIAdBDGoiCigCAEkhCyACQRBqJAAgCiAJIAsbKAIAIgJBC08EfyACQQhqQXhxIgIgAkEBayICIAJBC0YbBUEKC0EBagVB9////wcLEDAgBygCBCECIAcoAggaIAQEQCACIAggBBAjCyAFBEAgAiAEaiAGIAUQIwsgAyAEayEGIAMgBEcEQCACIARqIAVqIAQgCGogBhAjCyABQQpHBEAgCBAZCyAAIAI2AgAgACAAKAIIQYCAgIB4cSAHKAIIQf////8HcXI2AgggACAAKAIIQYCAgIB4cjYCCCAAIAQgBWogBmoiADYCBCAHQQA6AAwgACACaiAH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IwBBEGsiAiQAQcQAEBwhASAAKAIEIgBBCU8EQCAAEAMLIAIgADYCCCABQZQnIAJBCGoQCDYCBCABQaTPADYCACABQQI2AhwgAUGkzwA2AhggAUECNgIUIAFBpM8ANgIQIAFBAjYCDCABQaTPADYCCCABQQA6ACAgAUKAgICAMDcCPCABQQA7ADcgAUEAOwArIAJBEGokACABC54FAgZ+BH8gASABKAIAQQdqQXhxIgFBEGo2AgAgACELIAEpAwAhAyABKQMIIQcjAEEgayIBJAAgB0L///////8/gyEFAn4gB0IwiEL//wGDIgSnIglBgfgAa0H9D00EQCAFQgSGIANCPIiEIQIgCUGA+ABrrSEEAkAgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILQgAgAiACQv////////8HViIAGyECIACtIAR8DAELAkAgAyAFhFANACAEQv//AVINACAFQgSGIANCPIiEQoCAgICAgIAEhCECQv8PDAELQv8PIAlB/ocBSw0AGkIAQYD4AEGB+AAgBFAiCBsiCiAJayIAQfAASg0AGiADIQIgBSAFQoCAgICAgMAAhCAIGyIEIQYCQEGAASAAayIIQcAAcQRAIAIgCEFAaq2GIQZCACECDAELIAhFDQAgBiAIrSIFhiACQcAAIAhrrYiEIQYgAiAFhiECCyABIAI3AxAgASAGNwMYAkAgAEHAAHEEQCAEIABBQGqtiCEDQgAhBAwBCyAARQ0AIARBwAAgAGuthiADIACtIgKIhCEDIAQgAoghBAsgASADNwMAIAEgBDcDCCABKQMIQgSGIAEpAwAiA0I8iIQhAgJAIAkgCkcgASkDECABKQMYhEIAUnGtIANC//////////8Pg4QiA0KBgICAgICAgAhaBEAgAkIBfCECDAELIANCgICAgICAgIAIUg0AIAJCAYMgAnwhAgsgAkKAgICAgICACIUgAiACQv////////8HViIAGyECIACtCyEDIAFBIGokACALIAdCgICAgICAgICAf4MgA0I0hoQgAoS/OQMAC0MBAn8jAEEQayICJAAgAiABNgIMIAJBpM8ANgIIIAJBCGogABEBACEDIAIoAgwiAUEJTwRAIAEQAgsgAkEQaiQAIAMLBABCAAsE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IgdBAEgiAxsgBSgCCCAHIAMbEBsiAygCCDYCcCAFIAMpAgA3A2ggA0IANwIAIANBADYCCCAFIAVB6ABqQasREBoiAygCCDYCgAEgBSADKQIANwN4IANCADcCACADQQA2AgggBUGIAWogBSgCeCAFQfgAaiAFLACDASIHQQBIIgMbIAUoAnwgByADGxAbGiAFLACDAUEASARAIAUoAngQGQsgBSwAc0EASARAIAUoAmgQGQsgBSwAD0EASARAIAUoAgQQGQsgBSwAY0EASARAIAUoAlgQGQsgBSwAU0EASARAIAUoAkgQGQsgBSwAG0EASARAIAUoAhAQGQsgBSwAQ0EASARAIAUoAjgQGQsgBSwAM0EASARAIAUoAigQGQsgBSwAJ0EATg0AIAUoAhwQGQsgAkEBaiICQQdHDQALIAlBAWoiCUEHRw0ACyMAQRBrIggkAEHzHxAqIQwCfyAFQYgBaiILLQALQQd2BEAgCygCBAwBCyALLQALQf8AcQshBgJ/An8jAEEQayIHJAAgBUH4AGohCiAGIAxqIglB9////wdNBEACQCAJQQtJBEAgCkIANwIAIApBADYCCCAKIAotAAtBgAFxIAlB/wBxcjoACyAKIAotAAtB/wBxOgALDAELIAlBC08EfyAJQQhqQXhxIgIgAkEBayICIAJBC0YbBUEKC0EBaiIDEBwhAiAKIAooAghBgICAgHhxIANB/////wdxcjYCCCAKIAooAghBgICAgHhyNgIIIAogAjYCACAKIAk2AgQLIAdBEGokACAKDAELECcACyICLQALQQd2BEAgAigCAAwBCyACCyICQfMfIAwQIyACIAxqIgICfyALLQALQQd2BEAgCygCAAwBCyALCyAGECMgAiAGakEBEEMgCEEQaiQAIA0gCkHNIxAaIgIpAgA3AgAgDSACKAIINgIIIAJCADcCACACQQA2AgggBSwAgwFBAEgEQCAFKAJ4EBkLIAUsAJMBQQBIBEAgBSgCiAEQGQsgBSgClAEiBwRAIAUoApgBIgMgByICRwRAA0AgA0EMayICKAIAIggEQCADQQhrIAg2AgAgCBAZCyACIgMgB0cNAAsgBSgClAEhAgsgBSAHNgKYASACEBkLIAVBoAFqJAAgBEEwaiAEKAIgIA0gBCwAKyIDQQBIIgIbIAQoAiQgAyACGxAbGiAELAArQQBODQMgBCgCIBAZDAMLIARBMGpBxyUQGhoMAgsgBEEwakH0JRAaGgwBCyAEQTBqQbAlEBoaCwJAAkAgASgCMCABLAA3IgMgA0EASBsiB0EBaiIIQfj///8HSQRAAkACQCAIQQtPBEAgCEEHckEBaiICEBwhBiAEIAg2AiQgBCAGNgIgIAQgAkGAgICAeHI2AigMAQsgBEEANgIoIARCADcDICAEIAg6ACsgBEEgaiEGIAdFDQELIAYgAUEsaiICKAIAIAIgA0EASBsgBxAyCyAGIAdqQQo7AAAgBEEwaiAEKAIgIARBIGogBCwAKyIDQQBIIgIbIAQoAiQgAyACGxAbGiAELAArQQBIBEAgBCgCIBAZCyABKAIkIAEsACsiAyADQQBIGyIHQQJqIghB+P///wdPDQECQAJAIAhBC08EQCAIQQdyQQFqIgIQHCEGIAQgCDYCJCAEIAY2AiAgBCACQYCAgIB4cjYCKAwBCyAEQQA2AiggBEIANwMgIAQgCDoAKyAEQSBqIQYgB0UNAQsgBiABQSBqIgIoAgAgAiADQQBIGyAHEDILIAYgB2oiAkEAOgACIAJB/RQ7AAAgBEEwaiAEKAIgIARBIGogBCwAKyIDQQBIIgIbIAQoAiQgAyACGxAbGiAELAArQQBIBEAgBCgCIBAZC0GQzQAoAgAiAxAqIgdB+P///wdPDQICQAJAIAdBC08EQCAHQQdyQQFqIgIQHCEGIAQgAkGAgICAeHI2AhwgBCAGNgIUIAQgBzYCGAwBCyAEIAc6AB8gBEEUaiEGIAdFDQELIAYgAyAHEDILIAYgB2pBADoAACAEQSBqIAFBsZYCIARBFGoQVSAEKAIkIQcgBEEANgIkIAQoAiAhAwJAIAEoAhQiAkEITQRAIAEgBzYCFCABIAM2AhAMAQsgAhACIAQoAiQhAiABIAc2AhQgASADNgIQIAJBCUkNACACEAIgBEEANgIkCyAELAAfQQBIBEAgBCgCFBAZCwJAIAQsADtBAE4EQCAEIAQoAjg2AhAgBCAEKQIwNwMIDAELIARBCGohAyAEKAIwIQcgBCgCNCEGIwBBEGsiCCQAAkACQAJAIAZBC0kEQCADIgIgAi0AC0GAAXEgBkH/AHFyOgALIAIgAi0AC0H/AHE6AAsMAQsgBkH3////B0sNASAIQQhqIAZBC08EfyAGQQhqQXhxIgIgAkEBayICIAJBC0YbBUEKC0EBahAwIAgoAgwaIAMgCCgCCCICNgIAIAMgAygCCEGAgICAeHEgCCgCDEH/////B3FyNgIIIAMgAygCCEGAgICAeHI2AgggAyAGNgIECyACIAcgBkEBahAjIAhBEGokAAwBCxAnAAsLIARBIGogAUGwlgIgBEEIahBVIAQoAiQhByAEQQA2AiQgBCgCICEDAkAgASgCDCICQQhNBEAgASAHNgIMIAEgAzYCCAwBCyACEAIgBCgCJCECIAEgBzYCDCABIAM2AgggAkEJSQ0AIAIQAiAEQQA2AiQLIAQsABNBAEgEQCAEKAIIEBkLIARBADYCIAJAQdTOAC0AAEEBcQRAQdDOACgCACEGDAELQQFB+ChBABAFIQZB1M4AQQE6AABB0M4AIAY2AgALAn8gBiABKAIEQeAJIARBIGpBABAEIg5EAAAAAAAA8EFjIA5EAAAAAAAAAABmcQRAIA6rDAELQQALIQMgBCgCICICBEAgAhABCyABKAIcIgJBCU8EQCACEAILIAEgAzYCHCABQaTPADYCGCABIAFBGGoiAiABQRBqEFQgASACIAFBCGoQVCABKAIcIgJBCU8EQCACEAMLIAQgAjYCICAEQQA2AjwCQEG8zgAtAABBAXEEQEG4zgAoAgAhBgwBC0ECQYwoQQAQBSEGQbzOAEEBOgAAQbjOACAGNgIACyAGIAEoAgRBxgkgBEE8aiAEQSBqEAQaIAQoAjwiAgRAIAIQAQsgACABKAIcIgE2AgQgAEGkzwA2AgAgAUEJTwRAIAEQAwsgBCwAO0EASARAIAQoAjAQGQsgBEFAayQADwsQOAALEDgACxA4AAuIAwECfyMAQRBrIgIkACAAKAIUIgFBCU8EQCABEAMLIAIgATYCCCACQQA2AgQCQEG8zgAtAABBAXEEQEG4zgAoAgAhAQwBC0ECQYwoQQAQBSEBQbzOAEEBOgAAQbjOACABNgIACyABIAAoAgRB/QggAkEEaiACQQhqEAQaIAIoAgQiAQRAIAEQAQsgACgCDCIBQQlPBEAgARADCyACIAE2AgggAkEANgIEAkBBvM4ALQAAQQFxBEBBuM4AKAIAIQEMAQtBAkGMKEEAEAUhAUG8zgBBAToAAEG4zgAgATYCAAsgASAAKAIEQf0IIAJBBGogAkEIahAEGiACKAIEIgEEQCABEAELIAAoAhwiAUEJTwRAIAEQAwsgAiABNgIIIAJBADYCBAJAQbzOAC0AAEEBcQRAQbjOACgCACEBDAELQQJBjChBABAFIQFBvM4AQQE6AABBuM4AIAE2AgALIAEgACgCBEHSCSACQQRqIAJBCGoQBBogAigCBCIABEAgABABCyACQRBqJAALBQBBsCYLNQEBfyABIAAoAgQiAkEBdWohASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRAgALLwACfyAALAArQQBIBEAgAEEANgIkIAAoAiAMAQsgAEEAOgArIABBIGoLQQA6AAALPQEBfyABIAAoAgQiBkEBdWohASAAKAIAIQAgASACIAMgBCAFIAZBAXEEfyABKAIAIABqKAIABSAACxENAAuGCQEEfyMAQRBrIggkACMAQYACayIFJAAgBUHEAGoiBiABECEgBSAGQe4RECYiBigCCDYCWCAFIAYpAgA3A1AgBkIANwIAIAZBADYCCCAFIAVB0ABqQYQUEBoiBigCCDYCaCAFIAYpAgA3A2AgBkIANwIAIAZBADYCCCAFQThqIgYgAhAhIAUgBUHgAGogBSgCOCAGIAUsAEMiBkEASCIHGyAFKAI8IAYgBxsQGyIGKAIINgJ4IAUgBikCADcDcCAGQgA3AgAgBkEANgIIIAUgBUHwAGpByREQGiIGKAIINgKIASAFIAYpAgA3A4ABIAZCADcCACAGQQA2AgggBUEsaiIGIAEgA6AQISAFIAVBgAFqIAUoAiwgBiAFLAA3IgZBAEgiBxsgBSgCMCAGIAcbEBsiBigCCDYCmAEgBSAGKQIANwOQASAGQgA3AgAgBkEANgIIIAUgBUGQAWpBhBQQGiIGKAIINgKoASAFIAYpAgA3A6ABIAZCADcCACAGQQA2AgggBUEgaiIGIAIgBKAQISAFIAVBoAFqIAUoAiAgBiAFLAArIgZBAEgiBxsgBSgCJCAGIAcbEBsiBigCCDYCuAEgBSAGKQIANwOwASAGQgA3AgAgBkEANgIIIAUgBUGwAWpB3RIQGiIGKAIINgLIASAFIAYpAgA3A8ABIAZCADcCACAGQQA2AgggBUEUaiIGIAMQISAFIAVBwAFqIAUoAhQgBiAFLAAfIgZBAEgiBxsgBSgCGCAGIAcbEBsiBigCCDYC2AEgBSAGKQIANwPQASAGQgA3AgAgBkEANgIIIAUgBUHQAWpBuxIQGiIGKAIINgLoASAFIAYpAgA3A+ABIAZCADcCACAGQQA2AgggBUEIaiIGIAQQISAFIAVB4AFqIAUoAgggBiAFLAATIgZBAEgiBxsgBSgCDCAGIAcbEBsiBigCCDYC+AEgBSAGKQIANwPwASAGQgA3AgAgBkEANgIIIAggBUHwAWpB5hsQGiIGKQIANwIEIAggBigCCDYCDCAGQgA3AgAgBkEANgIIIAUsAPsBQQBIBEAgBSgC8AEQGQsgBSwAE0EASARAIAUoAggQGQsgBSwA6wFBAEgEQCAFKALgARAZCyAFLADbAUEASARAIAUoAtABEBkLIAUsAB9BAEgEQCAFKAIUEBkLIAUsAMsBQQBIBEAgBSgCwAEQGQsgBSwAuwFBAEgEQCAFKAKwARAZCyAFLAArQQBIBEAgBSgCIBAZCyAFLACrAUEASARAIAUoAqABEBkLIAUsAJsBQQBIBEAgBSgCkAEQGQsgBSwAN0EASARAIAUoAiwQGQsgBSwAiwFBAEgEQCAFKAKAARAZCyAFLAB7QQBIBEAgBSgCcBAZCyAFLABDQQBIBEAgBSgCOBAZCyAFLABrQQBIBEAgBSgCYBAZCyAFLABbQQBIBEAgBSgCUBAZCyAFLABPQQBIBEAgBSgCRBAZCyAFQYACaiQAIAAsACtBAEgEQCAAKAIgEBkLIAAgCCkCBDcCICAAIAgoAgw2AiggCEEQaiQACz8BAX8gASAAKAIEIgdBAXVqIQEgACgCACEAIAEgAiADIAQgBSAGIAdBAXEEfyABKAIAIABqKAIABSAACxEOAAvBGwIHfwF8IwBBQGoiCSQAIAkgBTkDICAJIAQ5AxggCSADOQMQIAkgAjkDCCAJIAE5AwAjAEEQayIGJAAgBiAJNgIMQZjNAEGWJSAJQQAQThogBkEQaiQAIwBBgARrIgYkACAJQTRqIgtBADoAACALQQA6AAsCQCABRAAAAAAAAAAAZEUNACAGQQA6APADIAZBADoA+wMgBkEAOgDkAyAGQQA6AO8DIAZCgICAgISAgIDAADcD2AMgBkKAgICAhICAgEA3A9ADIAZCgICAgIyAgIDAADcDyAMgBkKAgICAjICAgEA3A8ADIAZCgICAhISAgMDAADcDuAMgBkKAgICEhICAwEA3A7ADIAZCgICAhIyAgMDAADcDqAMgBkKAgICEjICAwEA3A6ADIAZCgICAhgw3A5gDIAZCgICAhgQ3A5ADIAZCgICAgICAgODAADcDiAMgBkKAgICAgICA4EA3A4ADIAZCgICAiIyAgNBANwP4AiAGQoCAgIiMgIDQwAA3A/ACIAZCgICAiISAgNDAADcD6AIgBkKAgICIhICA0EA3A+ACIAZCgICAhYyAgIBBNwPYAiAGQoCAgIWMgICAwQA3A9ACIAZCgICAhYSAgIDBADcDyAIgBkKAgICFhICAgEE3A8ACIAZCgICAiQQ3A7gCIAZCgICAiQw3A7ACIAZCgICAgICAgJDBADcDqAIgBkKAgICAgICAkEE3A6ACRAAAAAAAAABAIASjIQQgAUSamZmZmZnpv6JEAAAAAAAA8D+gIQ0DQCAGQbABaiIIIAcQLyAGIAhBqwsQJiIIKAIINgLIASAGIAgpAgA3A8ABIAhCADcCACAIQQA2AgggBiAGQcABakHWFRAaIggoAgg2AtgBIAYgCCkCADcD0AEgCEIANwIAIAhBADYCCCAGQaABaiIIIAZBoAJqIAdBA3RqIgoqAgAQLiAGIAZB0AFqIAYoAqABIAggBiwAqwEiCEEASCIMGyAGKAKkASAIIAwbEBsiCCgCCDYC6AEgBiAIKQIANwPgASAIQgA3AgAgCEEANgIIIAYgBkHgAWpB2xsQGiIIKAIINgL4ASAGIAgpAgA3A/ABIAhCADcCACAIQQA2AgggBkGQAWoiCCAKKgIEEC4gBiAGQfABaiAGKAKQASAIIAYsAJsBIghBAEgiChsgBigClAEgCCAKGxAbIggoAgg2AogCIAYgCCkCADcDgAIgCEIANwIAIAhBADYCCCAGIAZBgAJqQaoREBoiCCgCCDYCmAIgBiAIKQIANwOQAiAIQgA3AgAgCEEANgIIIAZB5ANqIAYoApACIAZBkAJqIAYsAJsCIghBAEgiChsgBigClAIgCCAKGxAbGiAGLACbAkEASARAIAYoApACEBkLIAYsAIsCQQBIBEAgBigCgAIQGQsgBiwAmwFBAEgEQCAGKAKQARAZCyAGLAD7AUEASARAIAYoAvABEBkLIAYsAOsBQQBIBEAgBigC4AEQGQsgBiwAqwFBAEgEQCAGKAKgARAZCyAGLADbAUEASARAIAYoAtABEBkLIAYsAMsBQQBIBEAgBigCwAEQGQsgBiwAuwFBAEgEQCAGKAKwARAZCyAGQdABaiIIIAcQLyAGIAhBjQsQJiIIKAIINgLoASAGIAgpAgA3A+ABIAhCADcCACAIQQA2AgggBiAGQeABakHeGxAaIggoAgg2AvgBIAYgCCkCADcD8AEgCEIANwIAIAhBADYCCCAGQcABaiIIQwAAAEBDAABAQEMAAIA/IAdBE0sbIAdBDGtBCEkbEC4gBiAGQfABaiAGKALAASAIIAYsAMsBIghBAEgiChsgBigCxAEgCCAKGxAbIggoAgg2AogCIAYgCCkCADcDgAIgCEIANwIAIAhBADYCCCAGIAZBgAJqQfkVEBoiCCgCCDYCmAIgBiAIKQIANwOQAiAIQgA3AgAgCEEANgIIIAZB8ANqIAYoApACIAZBkAJqIAYsAJsCIghBAEgiChsgBigClAIgCCAKGxAbGiAGLACbAkEASARAIAYoApACEBkLIAYsAIsCQQBIBEAgBigCgAIQGQsgBiwAywFBAEgEQCAGKALAARAZCyAGLAD7AUEASARAIAYoAvABEBkLIAYsAOsBQQBIBEAgBigC4AEQGQsgBiwA2wFBAEgEQCAGKALQARAZCyAHQQFqIgdBGEcNAAsgBkE0aiIHIAQQISAGIAdBvBUQJiIHKAIINgJIIAYgBykCADcDQCAHQgA3AgAgB0EANgIIIAYgBkFAa0G4ERAaIgcoAgg2AlggBiAHKQIANwNQIAdCADcCACAHQQA2AgggBkEoaiIHRAAAAAAAAABAIAWjECEgBiAGQdAAaiAGKAIoIAcgBiwAMyIHQQBIIggbIAYoAiwgByAIGxAbIgcoAgg2AmggBiAHKQIANwNgIAdCADcCACAHQQA2AgggBiAGQeAAakG0HBAaIgcoAgg2AnggBiAHKQIANwNwIAdCADcCACAHQQA2AgggBiAGQfAAaiAGKALkAyAGQeQDaiAGLADvAyIHQQBIIggbIAYoAugDIAcgCBsQGyIHKAIINgKIASAGIAcpAgA3A4ABIAdCADcCACAHQQA2AgggBiAGQYABakHcHBAaIgcoAgg2ApgBIAYgBykCADcDkAEgB0IANwIAIAdBADYCCCAGIAZBkAFqIAYoAvADIAZB8ANqIAYsAPsDIgdBAEgiCBsgBigC9AMgByAIGxAbIgcoAgg2AqgBIAYgBykCADcDoAEgB0IANwIAIAdBADYCCCAGIAZBoAFqQfoZEBoiBygCCDYCuAEgBiAHKQIANwOwASAHQgA3AgAgB0EANgIIIAZBHGoiByANECEgBiAGQbABaiAGKAIcIAcgBiwAJyIHQQBIIggbIAYoAiAgByAIGxAbIgcoAgg2AsgBIAYgBykCADcDwAEgB0IANwIAIAdBADYCCCAGIAZBwAFqQaoUEBoiBygCCDYC2AEgBiAHKQIANwPQASAHQgA3AgAgB0EANgIIIAZBEGoiByABRDMzMzMzM+O/okQAAAAAAADwP6AQISAGIAZB0AFqIAYoAhAgByAGLAAbIgdBAEgiCBsgBigCFCAHIAgbEBsiBygCCDYC6AEgBiAHKQIANwPgASAHQgA3AgAgB0EANgIIIAYgBkHgAWpB/BUQGiIHKAIINgL4ASAGIAcpAgA3A/ABIAdCADcCACAHQQA2AgggBkEEaiIHIAEQISAGIAZB8AFqIAYoAgQgByAGLAAPIgdBAEgiCBsgBigCCCAHIAgbEBsiBygCCDYCiAIgBiAHKQIANwOAAiAHQgA3AgAgB0EANgIIIAYgBkGAAmpBrRwQGiIHKAIINgKYAiAGIAcpAgA3A5ACIAdCADcCACAHQQA2AgggCyAGKAKQAiAGQZACaiAGLACbAiIHQQBIIggbIAYoApQCIAcgCBsQGxogBiwAmwJBAEgEQCAGKAKQAhAZCyAGLACLAkEASARAIAYoAoACEBkLIAYsAA9BAEgEQCAGKAIEEBkLIAYsAPsBQQBIBEAgBigC8AEQGQsgBiwA6wFBAEgEQCAGKALgARAZCyAGLAAbQQBIBEAgBigCEBAZCyAGLADbAUEASARAIAYoAtABEBkLIAYsAMsBQQBIBEAgBigCwAEQGQsgBiwAJ0EASARAIAYoAhwQGQsgBiwAuwFBAEgEQCAGKAKwARAZCyAGLACrAUEASARAIAYoAqABEBkLIAYsAJsBQQBIBEAgBigCkAEQGQsgBiwAiwFBAEgEQCAGKAKAARAZCyAGLAB7QQBIBEAgBigCcBAZCyAGLABrQQBIBEAgBigCYBAZCyAGLAAzQQBIBEAgBigCKBAZCyAGLABbQQBIBEAgBigCUBAZCyAGLABLQQBIBEAgBigCQBAZCyAGLAA/QQBIBEAgBigCNBAZCyAGLADvA0EASARAIAYoAuQDEBkLIAYsAPsDQQBODQAgBigC8AMQGQsCQCADRAAAAAAAAAAAZEUNACAGQeQDaiIHIANEzczMzMzM3D+iRJqZmZmZmbk/oBAhIAYgB0GjGBAmIgcoAgg2AvgDIAYgBykCADcD8AMgB0IANwIAIAdBADYCCCAGIAZB8ANqQcUjEBoiBygCCDYCqAIgBiAHKQIANwOgAiAHQgA3AgAgB0EANgIIIAsgBigCoAIgBkGgAmogBiwAqwIiB0EASCIIGyAGKAKkAiAHIAgbEBsaIAYsAKsCQQBIBEAgBigCoAIQGQsgBiwA+wNBAEgEQCAGKALwAxAZCyAGLADvA0EATg0AIAYoAuQDEBkLAkAgAkQAAAAAAAAAAGRFDQAgBkHkA2oiByACRLgehetRuL4/ohAhIAYgB0GUFBAmIgcoAgg2AvgDIAYgBykCADcD8AMgB0IANwIAIAdBADYCCCAGIAZB8ANqQaQmEBoiBygCCDYCqAIgBiAHKQIANwOgAiAHQgA3AgAgB0EANgIIIAsgBigCoAIgBkGgAmogBiwAqwIiB0EASCILGyAGKAKkAiAHIAsbEBsaIAYsAKsCQQBIBEAgBigCoAIQGQsgBiwA+wNBAEgEQCAGKALwAxAZCyAGLADvA0EATg0AIAYoAuQDEBkLIAZBgARqJAAgACwAN0EASARAIAAoAiwQGQsgACAJKQI0NwIsIAAgCSgCPDYCNCAJQUBrJAALYAIBfwF8IwBBEGsiAiQAIAJBADYCDCABKAIEQezJACACQQxqEAkhAyACKAIMIgEEQCABEAELIAACfyADmUQAAAAAAADgQWMEQCADqgwBC0GAgICAeAs2AkAgAkEQaiQACzcBAX8jAEEQayICJAAgAiABKAJANgIIIABB7MkAIAJBCGoQCDYCBCAAQaTPADYCACACQRBqJAALYAIBfwF8IwBBEGsiAiQAIAJBADYCDCABKAIEQezJACACQQxqEAkhAyACKAIMIgEEQCABEAELIAACfyADmUQAAAAAAADgQWMEQCADqgwBC0GAgICAeAs2AjwgAkEQaiQACyIBAX4gASACrSADrUIghoQgBCAAEQwAIgVCIIinJAEgBacLNwEBfyMAQRBrIgIkACACIAEoAjw2AgggAEHsyQAgAkEIahAINgIEIABBpM8ANgIAIAJBEGokAAsLvUQWAEGACAukH3NldEJlYXV0eQAtKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AHVuc2lnbmVkIHNob3J0AHVuc2lnbmVkIGludABpbml0AGZsb2F0AHVpbnQ2NF90AGJsdXJSYWRpdXMAdmVjdG9yAG1pcnJvcgBhdHRhY2hTaGFkZXIAZGVsZXRlU2hhZGVyAGNyZWF0ZVNoYWRlcgBjb21waWxlU2hhZGVyAHVuc2lnbmVkIGNoYXIAc3RkOjpleGNlcHRpb24AbmFuAGxpbmtQcm9ncmFtAGRlbGV0ZVByb2dyYW0AY3JlYXRlUHJvZ3JhbQBib29sAHNldFdhdGVyTWFyawBzdG9wV2F0ZXJNYXJrAHVuc2lnbmVkIGxvbmcAc3RkOjp3c3RyaW5nAGJhc2ljX3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBpbmYAJWYAY2xvc2UAZG91YmxlAHZiTW9kZQBzaGFkZXJTb3VyY2UAdm9pZABzYW1wbGVDb2xvciArPSB0ZXh0dXJlKGZyYW1lLCBibHVyQ29vcmRpbmF0ZXNbAE5BTgBJTkYAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4AdmVjMiBjID0gdl90ZXhDb29yZDsAdmVjMiBjID0gdmVjMigxLjAgLSB2X3RleENvb3JkLngsIHZfdGV4Q29vcmQueSk7AEFsbEluMQAuAC4wLAAuMCkqbykqAChudWxsKQApKm8ueSk7ICAgIHZlYzIgY29vcmQyID0gdmVjMihmbG9hdCgAICAgIGMgPSB2ZWMyKHZfdGV4Q29vcmQueCwgMS4wIC0gdl90ZXhDb29yZC55KTsgICAgdmVjMiBjb29yZDEgPSB2ZWMyKGZsb2F0KAApLCAoYy55IC1jb29yZDEueSkgLyBvLnkgLyBmbG9hdCgAKSpvLnkpOyAgICBpZiAoYy54ID4gY29vcmQxLnggJiYgYy54IDwgY29vcmQyLnggJiYgYy55ID4gY29vcmQxLnkgJiYgYy55IDwgY29vcmQyLnkpIHsgICAgICB2ZWM0IHdhdGVyQ29sb3IgPSB0ZXh0dXJlKHdhdGVyTWFyaywgdmVjMigoYy54IC0gY29vcmQxLngpICAvIG8ueCAvIGZsb2F0KAApICogby54LCBmbG9hdCgAb3V0Q29sb3IucmdiICs9IHZlYzMoACk7ICAgICAgIHZlYzMgc21vb3RoQ29sb3IgPSBvdXRDb2xvci5yZ2IgKyAob3V0Q29sb3IucmdiLXZlYzMoaGlnaFBhc3MpKSphbHBoYSowLjE7ICAgICAgIHNtb290aENvbG9yID0gY2xhbXAocG93KHNtb290aENvbG9yLCB2ZWMzKABnKz1HKGMsdmVjMigAICAgICAgdmVjMiBvZmZzZXQgPSB2ZWMyKABdID0gdl90ZXhDb29yZC54eSArIG9mZnNldCAqIHZlYzIoADsgACkpLCB2ZWMzKDAuMCksIHZlYzMoMS4wKSk7ICAgICAgdmVjMyBzY3JlZW4gPSB2ZWMzKDEuMCkgLSAodmVjMygxLjApLXNtb290aENvbG9yKSAqICh2ZWMzKDEuMCktb3V0Q29sb3IucmdiKTsgICAgICAgdmVjMyBsaWdodGVuID0gbWF4KHNtb290aENvbG9yLCBvdXRDb2xvci5yZ2IpOyAgICAgICB2ZWMzIGJlYXV0eUNvbG9yID0gbWl4KG1peChvdXRDb2xvci5yZ2IsIHNjcmVlbiwgYWxwaGEpLCBsaWdodGVuLCBhbHBoYSk7ICAgICAgb3V0Q29sb3IucmdiID0gbWl4KG91dENvbG9yLnJnYiwgYmVhdXR5Q29sb3IsIAAKICAgICAgY29uc3QgbWF0MyBzYXR1cmF0ZU1hdHJpeCA9IG1hdDMoMS4xMTAyLC0wLjA1OTgsLTAuMDYxLC0wLjA3NzQsMS4wODI2LC0wLjExODYsLTAuMDIyOCwtMC4wMjI4LDEuMTc3Mik7CiAgICAgIHZlYzMgd2FybUNvbG9yID0gb3V0Q29sb3IucmdiICogc2F0dXJhdGVNYXRyaXg7CiAgICAgIG91dENvbG9yLnJnYiA9IG1peChvdXRDb2xvci5yZ2IsIHdhcm1Db2xvciwgACAgICAgIHNhbXBsZUNvbG9yID0gc2FtcGxlQ29sb3IgLyA2Mi4wOyAgICAgICBmbG9hdCBoaWdoUGFzcyA9IG91dENvbG9yLmcgLSBzYW1wbGVDb2xvciArIDAuNTsgICAgICAgY29uc3QgaGlnaHAgdmVjMyBXID0gdmVjMygwLjI5OSwwLjU4NywwLjExNCk7ICAgICAgZmxvYXQgbHVtaW5hbmNlID0gZG90KG91dENvbG9yLnJnYiwgVyk7ICAgICAgIGZsb2F0IGFscGhhID0gcG93KGx1bWluYW5jZSwgAF0pLmcgKiAAKSkpOyAgICAgIG91dENvbG9yID0gbWl4KG91dENvbG9yLHdhdGVyQ29sb3IsICB3YXRlckNvbG9yLmEpOyAgICB9ICAgIAApOyAgICAAKTsgICAgICB2ZWMyIGJsdXJDb29yZGluYXRlc1syNF07ICAgICAgACAgICAgIGZsb2F0IHNhbXBsZUNvbG9yID0gb3V0Q29sb3IuZyAqIDIyLjA7ICAgICAgIAAjdmVyc2lvbiAzMDAgZXMKICAgIHByZWNpc2lvbiBoaWdocCBmbG9hdDsKICAgIHVuaWZvcm0gc2FtcGxlcjJEIGZyYW1lOwogICAgdW5pZm9ybSBzYW1wbGVyMkQgbWFzazsKICAgIHVuaWZvcm0gc2FtcGxlcjJEIGJnOwogICAgdW5pZm9ybSBzYW1wbGVyMkQgd2F0ZXJNYXJrOwogICAgdW5pZm9ybSBzYW1wbGVyMkQgbGFzdE1hc2s7CiAgICBpbiB2ZWMyIHZfdGV4Q29vcmQ7CiAgICBvdXQgdmVjNCBvdXRDb2xvcjsKICAgIHZlYzQgRyh2ZWMyIGMsdmVjMiBzKXsKICAgICAgcmV0dXJuIHRleHR1cmUoZnJhbWUsdGV4dHVyZShtYXNrLGMrcykuYT4wLjM/YzpjK3MpOwogICAgfQogICAgdm9pZCBtYWluKCkgewogICAgICAACiAgICB2ZWM0IGcgPSB2ZWM0KDAuMCk7CiAgICAACiAgICAgIGMueSA9IDEuMCAtIGMueTsKICAgICAgdmVjNCBzcmNfY29sb3IgPSB0ZXh0dXJlKGZyYW1lLCBjKTsKICAgICAgZmxvYXQgYSA9IHRleHR1cmUobWFzaywgYykuYTsKICAgICAgYSA9IGE8MC41PzIuMCphKmE6MS4wLTIuMCooMS4wLWEpKigxLjAtYSk7CiAgICAgIC8vIGZsb2F0IGEyID0gdGV4dHVyZShsYXN0TWFzaywgYykuYTsKICAgICAgLy8gYTIgPSBhMjwwLjU/Mi4wKmEyKmEyOjEuMC0yLjAqKDEuMC1hMikqKDEuMC1hMik7CiAgICAgIC8vIGZsb2F0IGRlbHRhID0gYSAtIGEyOwogICAgICAvLyBpZiAoZGVsdGEgPCAwLjI1ICYmIGRlbHRhID4gLTAuMjUpCiAgICAgIC8vIHsKICAgICAgLy8gICAgIGEgPSBhICsgMC41KmRlbHRhOwogICAgICAvLyB9CiAgICAgIAogICAgICB2ZWMyIG8gPSAxLjAgLyB2ZWMyKHRleHR1cmVTaXplKGZyYW1lLCAwKSk7CiAgICAACiAgICAgIG91dENvbG9yID0gZzsKICAAI3ZlcnNpb24gMzAwIGVzCmluIHZlYzIgYV9wb3NpdGlvbjsKaW4gdmVjMiBhX3RleENvb3JkOwpvdXQgdmVjMiB2X3RleENvb3JkOwp2b2lkIG1haW4oKSB7CiAgZ2xfUG9zaXRpb24gPSB2ZWM0KGFfcG9zaXRpb24ueCwgYV9wb3NpdGlvbi55LCAwLCAxKTsKICB2X3RleENvb3JkID0gYV90ZXhDb29yZDsKfQoAc2V0QmVhdXR5ICVmICVmICVmICVmICVmCgBvdXRDb2xvciA9IHNyY19jb2xvcjsKAG91dENvbG9yID0gbWl4KHRleHR1cmUoYmcsIGMpLHNyY19jb2xvcixhKTsKAG91dENvbG9yID0gbWl4KHZlYzQoMC4wLDEuMCwwLjAsMS4wKSxzcmNfY29sb3IsYSk7CgA2QWxsSW4xAFAlAAAoEwAAUDZBbGxJbjEAAAAA1CUAADgTAAAAAAAAMBMAAFBLNkFsbEluMQAAANQlAABUEwAAAQAAADATAABwcAB2AHZwAEQTAACUEwAATjEwZW1zY3JpcHRlbjN2YWxFAABQJQAAgBMAAHBwcAB2cHBwAEGwJwskjCQAAEQTAABAJQAAQCUAAEAlAABAJQAAQCUAAHZwcGRkZGRkAEHgJwvICIwkAABEEwAAQCUAAEAlAABAJQAAQCUAAHZwcGRkZGQAjCQAAEQTAAB2cHAAjCQAAJQTAACUEwAARBMAAJQTAADsJAAAjCQAAJQTAABwFAAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAFAlAAAwFAAAlBMAAIwkAACUEwAAlBMAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAABQJQAAiBQAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAABQJQAA0BQAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAAUCUAABgVAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVO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"),H(0,v,I,(function(A){C(A.instance)})).catch(g),{}}(),cg=function(A){return(cg=ag.B)(A)},sg=function(A){return(sg=ag.D)(A)},ug=function(A){return(ug=ag.E)(A)},yg=function(A){return(yg=ag.F)(A)};function Dg(){function g(){og||(og=!0,t.calledRun=!0,Y||(K(M),A(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),function(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)A=t.postRun.shift(),R.unshift(A);var A;K(R)}()))}S>0||(function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)A=t.preRun.shift(),k.unshift(A);var A;K(k)}(),S>0||(t.setStatus?(t.setStatus("Running..."),setTimeout((function(){setTimeout((function(){t.setStatus("")}),1),g()}),1)):g()))}if(t.dynCall_jiji=function(A,g,I,C,B){return(t.dynCall_jiji=ag.G)(A,g,I,C,B)},t._vertexShaderSource=9872,L=function A(){og||Dg(),og||(L=A)},t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();return Dg(),e}),f=w,G=0,l=function(){function A(g){B(this,A),this.core=g,u(this,"seq"),u(this,"_core"),u(this,"log"),u(this,"beautyParams"),G+=1,this.seq=G,this._core=g,this.log=g.log.createChild({id:"".concat(this.getAlias()).concat(G)}),this.log.info("created")}return Q(A,[{key:"getName",value:function(){return A.Name}},{key:"getAlias",value:function(){return"bb"}},{key:"getValidateRule",value:function(A){switch(A){case"start":case"update":return y(this._core);case"stop":return this._core,{name:"StopBasicBeautyOptions",required:!1}}}},{key:"getGroup",value:function(){return"w"}},{key:"start",value:(t=I(r().mark((function A(g){var I,C,B;return r().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:if(this._core.room.videoManager.Wasm){A.next=4;break}return A.next=3,f();case 3:this._core.room.videoManager.Wasm=A.sent;case 4:return this._core.room.videoManager.renderMode="webgl",I=this._core.utils.isUndefined(g.beauty)?.5:g.beauty,C=this._core.utils.isUndefined(g.brightness)?.5:g.brightness,B=this._core.utils.isUndefined(g.ruddy)?.5:g.ruddy,A.abrupt("return",this._core.room.videoManager.setBeautyParams({beauty:I,brightness:C,ruddy:B}));case 9:case"end":return A.stop()}}),A,this)}))),function(A){return t.apply(this,arguments)})},{key:"update",value:(C=I(r().mark((function A(g){var I,C,B;return r().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return I=this._core.utils.isUndefined(g.beauty)?.5:g.beauty,C=this._core.utils.isUndefined(g.brightness)?.5:g.brightness,B=this._core.utils.isUndefined(g.ruddy)?.5:g.ruddy,A.abrupt("return",this._core.room.videoManager.setBeautyParams({beauty:I,brightness:C,ruddy:B}));case 4:case"end":return A.stop()}}),A,this)}))),function(A){return C.apply(this,arguments)})},{key:"stop",value:(g=I(r().mark((function A(){return r().wrap((function(A){for(;;)switch(A.prev=A.next){case 0:return this._core.room.videoManager.renderMode="auto",A.abrupt("return",this._core.room.videoManager.stopBeauty());case 2:case"end":return A.stop()}}),A,this)}))),function(){return g.apply(this,arguments)})},{key:"destroy",value:function(){this._core.room.videoManager.renderMode="auto"}}]);var g,C,t}();return u(l,"Name","BasicBeauty"),l}));