trtc-sdk-v5 5.11.1-beta.9 → 5.11.1-ktv.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/assets/debug-dialog.js +2 -2
  2. package/index.d.ts +2 -1
  3. package/package.json +1 -1
  4. package/plugins/cdn-streaming/cdn-streaming.esm.js +1 -1
  5. package/plugins/cdn-streaming/cdn-streaming.umd.js +3 -1
  6. package/plugins/cdn-streaming/package.json +1 -1
  7. package/plugins/chorus/chorus.esm.d.ts +13 -0
  8. package/plugins/chorus/chorus.esm.js +1 -0
  9. package/plugins/chorus/chorus.umd.js +3 -0
  10. package/plugins/chorus/package.json +29 -0
  11. package/plugins/cross-room/cross-room.esm.js +1 -1
  12. package/plugins/cross-room/cross-room.umd.js +3 -1
  13. package/plugins/cross-room/package.json +1 -1
  14. package/plugins/custom-encryption/custom-encryption.esm.js +1 -1
  15. package/plugins/custom-encryption/custom-encryption.umd.js +1 -1
  16. package/plugins/custom-encryption/package.json +1 -1
  17. package/plugins/device-detector/device-detector.esm.js +15 -27
  18. package/plugins/device-detector/device-detector.umd.js +4 -14
  19. package/plugins/device-detector/package.json +1 -1
  20. package/plugins/small-stream-auto-switcher/package.json +1 -1
  21. package/plugins/small-stream-auto-switcher/small-stream-auto-switcher.esm.js +1 -1
  22. package/plugins/small-stream-auto-switcher/small-stream-auto-switcher.umd.js +1 -1
  23. package/plugins/video-decoder/package.json +1 -1
  24. package/plugins/video-decoder/video-decoder.esm.js +1 -1
  25. package/plugins/video-decoder/video-decoder.umd.js +3 -1
  26. package/plugins/video-effect/basic-beauty/basic-beauty.esm.js +1 -1
  27. package/plugins/video-effect/basic-beauty/basic-beauty.umd.js +3 -1
  28. package/plugins/video-effect/basic-beauty/package.json +1 -1
  29. package/plugins/video-effect/beauty/beauty.esm.js +1 -1
  30. package/plugins/video-effect/beauty/beauty.umd.js +3 -1
  31. package/plugins/video-effect/beauty/package.json +1 -1
  32. package/plugins/video-effect/video-mixer/package.json +1 -1
  33. package/plugins/video-effect/video-mixer/video-mixer.umd.js +1 -1
  34. package/plugins/video-effect/virtual-background/package.json +1 -1
  35. package/plugins/video-effect/virtual-background/virtual-background.esm.js +1 -1
  36. package/plugins/video-effect/virtual-background/virtual-background.umd.js +3 -1
  37. package/plugins/video-effect/watermark/package.json +1 -1
  38. package/plugins/video-effect/watermark/watermark.umd.js +3 -1
  39. package/plugins/voice-changer/package.json +1 -1
  40. package/plugins/voice-changer/voice-changer.esm.js +1 -1
  41. package/plugins/voice-changer/voice-changer.umd.js +3 -1
  42. package/trtc.esm.js +30 -30
  43. package/trtc.js +1 -1
@@ -1 +1,3 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VirtualBackground=t()}(this,(function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function t(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function r(e){return function(){var r=this,n=arguments;return new Promise((function(o,i){var a=e.apply(r,n);function s(e){t(a,o,i,s,c,"next",e)}function c(e){t(a,o,i,s,c,"throw",e)}s(void 0)}))}}function n(e,t,r){return t=A(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,r||[],A(e).constructor):t.apply(e,r))}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,m(n.key),n)}}function a(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=I(e))||t){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function c(){return c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=A(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},c.apply(null,arguments)}function A(e){return A=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},A(e)}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&g(e,t)}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}function d(){d=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function A(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{A({},"")}catch(e){A=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var i=t&&t.prototype instanceof m?t:m,a=Object.create(i.prototype),s=new P(n||[]);return o(a,"_invoke",{value:D(e,r,s)}),a}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=u;var g="suspendedStart",f="suspendedYield",h="executing",p="completed",E={};function m(){}function y(){}function I(){}var v={};A(v,a,(function(){return this}));var w=Object.getPrototypeOf,C=w&&w(w(M([])));C&&C!==r&&n.call(C,a)&&(v=C);var _=I.prototype=m.prototype=Object.create(v);function b(e){["next","throw","return"].forEach((function(t){A(e,t,(function(e){return this._invoke(t,e)}))}))}function B(e,t){function r(o,i,a,s){var c=l(e[o],e,i);if("throw"!==c.type){var A=c.arg,u=A.value;return u&&"object"==typeof u&&n.call(u,"__await")?t.resolve(u.__await).then((function(e){r("next",e,a,s)}),(function(e){r("throw",e,a,s)})):t.resolve(u).then((function(e){A.value=e,a(A)}),(function(e){return r("throw",e,a,s)}))}s(c.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function D(t,r,n){var o=g;return function(i,a){if(o===h)throw Error("Generator is already running");if(o===p){if("throw"===i)throw a;return{value:e,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=T(s,n);if(c){if(c===E)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===g)throw o=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=h;var A=l(t,r,n);if("normal"===A.type){if(o=n.done?p:f,A.arg===E)continue;return{value:A.arg,done:n.done}}"throw"===A.type&&(o=p,n.method="throw",n.arg=A.arg)}}}function T(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,T(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),E;var i=l(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,E;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,E):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,E)}function O(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function Q(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(O,this),this.reset(!0)}function M(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=I,o(_,"constructor",{value:I,configurable:!0}),o(I,"constructor",{value:y,configurable:!0}),y.displayName=A(I,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,I):(e.__proto__=I,A(e,c,"GeneratorFunction")),e.prototype=Object.create(_),e},t.awrap=function(e){return{__await:e}},b(B.prototype),A(B.prototype,s,(function(){return this})),t.AsyncIterator=B,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new B(u(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},b(_),A(_,c,"Generator"),A(_,a,(function(){return this})),A(_,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=M,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(Q),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return s.type="throw",s.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!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"),A=n.call(a,"finallyLoc");if(c&&A){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(!A)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){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"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,E):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),E},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),Q(r),E}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;Q(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:M(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),E}},t}function g(e,t){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},g(e,t)}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,A=!1;try{if(i=(r=r.call(e)).next,0===t);else for(;!(c=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){A=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(A)throw o}}return s}}(e,t)||I(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t,r,n){var o=c(A(e.prototype),t,r);return"function"==typeof o?function(e){return o.apply(r,e)}:o}function p(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function E(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||I(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function I(t,r){if(t){if("string"==typeof t)return e(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,r):void 0}}function v(e){var t="function"==typeof Map?new Map:void 0;return v=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return function(e,t,r){if(l())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var o=new(e.bind.apply(e,n));return r&&g(o,r.prototype),o}(e,arguments,A(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),g(r,e)},v(e)}var w,C=Object.defineProperty,_=Object.defineProperties,b=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,D=Object.prototype.hasOwnProperty,T=Object.prototype.propertyIsEnumerable,O=function(e,t,r){return t in e?C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r},Q=function(e,t){for(var r in t||(t={}))D.call(t,r)&&O(e,r,t[r]);if(B){var n,o=s(B(t));try{for(o.s();!(n=o.n()).done;){r=n.value;T.call(t,r)&&O(e,r,t[r])}}catch(e){o.e(e)}finally{o.f()}}return e},P=function(e,t){return _(e,b(t))},M=function(e){return"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:function(e,t){return("undefined"!=typeof require?require:e)[t]}}):e}((function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')})),R=function(e,t,r){return O(e,"symbol"!==y(t)?t+"":t,r)};function S(e){return k.apply(this,arguments)}function k(){return(k=r(d().mark((function e(t){var r,n,o,i,a,s,c,A;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.sdkAppId,n=t.userId,o=t.userSig,i=t.core,s=Math.round((new Date).getTime()/1e3),e.prev=2,e.next=5,i.schedule.getAbilityConfig(r,i.schedule.ScheduleRequestType.TRTC_AUTO_CONF,{sdkAppId:r,userId:n,userSig:o,timestamp:s});case 5:if(c=e.sent,i.log.info("virtual background ability response: ".concat(JSON.stringify(c))),A=c.data,!(null==(a=null==A?void 0:A.trtcAutoConf)?void 0:a.web_ar)){e.next=10;break}return e.abrupt("return",{auth:!0,timestamp:s});case 10:return e.abrupt("return",{auth:!1});case 13:return e.prev=13,e.t0=e.catch(2),i.log.error("virtual background fetch error",e.t0),e.abrupt("return",{auth:!1});case 17:case"end":return e.stop()}}),e,null,[[2,13]])})))).apply(this,arguments)}var F={sdkAppId:{required:!0,type:"number"},userId:{required:!0,type:"string"},userSig:{required:!0,type:"string"}};var x,N=(x="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(x=x||__filename),function(e){var t,r,n=void 0!==(e=e||{})?e:{};n.ready=new Promise((function(e,n){t=e,r=n})),Object.getOwnPropertyDescriptor(n.ready,"_main")||(Object.defineProperty(n.ready,"_main",{configurable:!0,get:function(){me("You are getting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_main",{configurable:!0,set:function(){me("You are setting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_stack_get_end")||(Object.defineProperty(n.ready,"_emscripten_stack_get_end",{configurable:!0,get:function(){me("You are getting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_stack_get_end",{configurable:!0,set:function(){me("You are setting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_stack_get_free")||(Object.defineProperty(n.ready,"_emscripten_stack_get_free",{configurable:!0,get:function(){me("You are getting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_stack_get_free",{configurable:!0,set:function(){me("You are setting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_stack_init")||(Object.defineProperty(n.ready,"_emscripten_stack_init",{configurable:!0,get:function(){me("You are getting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_stack_init",{configurable:!0,set:function(){me("You are setting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_stackSave")||(Object.defineProperty(n.ready,"_stackSave",{configurable:!0,get:function(){me("You are getting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_stackSave",{configurable:!0,set:function(){me("You are setting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_stackRestore")||(Object.defineProperty(n.ready,"_stackRestore",{configurable:!0,get:function(){me("You are getting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_stackRestore",{configurable:!0,set:function(){me("You are setting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_stackAlloc")||(Object.defineProperty(n.ready,"_stackAlloc",{configurable:!0,get:function(){me("You are getting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_stackAlloc",{configurable:!0,set:function(){me("You are setting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___wasm_call_ctors")||(Object.defineProperty(n.ready,"___wasm_call_ctors",{configurable:!0,get:function(){me("You are getting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___wasm_call_ctors",{configurable:!0,set:function(){me("You are setting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_fflush")||(Object.defineProperty(n.ready,"_fflush",{configurable:!0,get:function(){me("You are getting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_fflush",{configurable:!0,set:function(){me("You are setting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___errno_location")||(Object.defineProperty(n.ready,"___errno_location",{configurable:!0,get:function(){me("You are getting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___errno_location",{configurable:!0,set:function(){me("You are setting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_malloc")||(Object.defineProperty(n.ready,"_malloc",{configurable:!0,get:function(){me("You are getting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_malloc",{configurable:!0,set:function(){me("You are setting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_free")||(Object.defineProperty(n.ready,"_free",{configurable:!0,get:function(){me("You are getting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_free",{configurable:!0,set:function(){me("You are setting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_setThrew")||(Object.defineProperty(n.ready,"_setThrew",{configurable:!0,get:function(){me("You are getting _setThrew on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_setThrew",{configurable:!0,set:function(){me("You are setting _setThrew on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___cxa_is_pointer_type")||(Object.defineProperty(n.ready,"___cxa_is_pointer_type",{configurable:!0,get:function(){me("You are getting ___cxa_is_pointer_type on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___cxa_is_pointer_type",{configurable:!0,set:function(){me("You are setting ___cxa_is_pointer_type on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___cxa_can_catch")||(Object.defineProperty(n.ready,"___cxa_can_catch",{configurable:!0,get:function(){me("You are getting ___cxa_can_catch on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___cxa_can_catch",{configurable:!0,set:function(){me("You are setting ___cxa_can_catch on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_saveSetjmp")||(Object.defineProperty(n.ready,"_saveSetjmp",{configurable:!0,get:function(){me("You are getting _saveSetjmp on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_saveSetjmp",{configurable:!0,set:function(){me("You are setting _saveSetjmp on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_memalign")||(Object.defineProperty(n.ready,"_memalign",{configurable:!0,get:function(){me("You are getting _memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_memalign",{configurable:!0,set:function(){me("You are setting _memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_main_thread_process_queued_calls")||(Object.defineProperty(n.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,get:function(){me("You are getting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,set:function(){me("You are setting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_webgl_make_context_current")||(Object.defineProperty(n.ready,"_emscripten_webgl_make_context_current",{configurable:!0,get:function(){me("You are getting _emscripten_webgl_make_context_current on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_webgl_make_context_current",{configurable:!0,set:function(){me("You are setting _emscripten_webgl_make_context_current on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_webgl_get_current_context")||(Object.defineProperty(n.ready,"_emscripten_webgl_get_current_context",{configurable:!0,get:function(){me("You are getting _emscripten_webgl_get_current_context on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_webgl_get_current_context",{configurable:!0,set:function(){me("You are setting _emscripten_webgl_get_current_context on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"__get_tzname")||(Object.defineProperty(n.ready,"__get_tzname",{configurable:!0,get:function(){me("You are getting __get_tzname on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"__get_tzname",{configurable:!0,set:function(){me("You are setting __get_tzname on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"__get_daylight")||(Object.defineProperty(n.ready,"__get_daylight",{configurable:!0,get:function(){me("You are getting __get_daylight on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"__get_daylight",{configurable:!0,set:function(){me("You are setting __get_daylight on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"__get_timezone")||(Object.defineProperty(n.ready,"__get_timezone",{configurable:!0,get:function(){me("You are getting __get_timezone on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"__get_timezone",{configurable:!0,set:function(){me("You are setting __get_timezone on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_builtin_malloc")||(Object.defineProperty(n.ready,"_emscripten_builtin_malloc",{configurable:!0,get:function(){me("You are getting _emscripten_builtin_malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_builtin_malloc",{configurable:!0,set:function(){me("You are setting _emscripten_builtin_malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_builtin_free")||(Object.defineProperty(n.ready,"_emscripten_builtin_free",{configurable:!0,get:function(){me("You are getting _emscripten_builtin_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_builtin_free",{configurable:!0,set:function(){me("You are setting _emscripten_builtin_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_builtin_memalign")||(Object.defineProperty(n.ready,"_emscripten_builtin_memalign",{configurable:!0,get:function(){me("You are getting _emscripten_builtin_memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_builtin_memalign",{configurable:!0,set:function(){me("You are setting _emscripten_builtin_memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___getTypeName")||(Object.defineProperty(n.ready,"___getTypeName",{configurable:!0,get:function(){me("You are getting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___getTypeName",{configurable:!0,set:function(){me("You are setting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___embind_register_native_and_builtin_types")||(Object.defineProperty(n.ready,"___embind_register_native_and_builtin_types",{configurable:!0,get:function(){me("You are getting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___embind_register_native_and_builtin_types",{configurable:!0,set:function(){me("You are setting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"onRuntimeInitialized")||(Object.defineProperty(n.ready,"onRuntimeInitialized",{configurable:!0,get:function(){me("You are getting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"onRuntimeInitialized",{configurable:!0,set:function(){me("You are setting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}));var o,i={};for(o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);var a="./this.program",s=function(e,t){throw t},c="object"===("undefined"==typeof window?"undefined":y(window)),A="function"==typeof importScripts,u="object"===("undefined"==typeof process?"undefined":y(process))&&"object"===y(process.versions)&&"string"==typeof process.versions.node,l=!c&&!u&&!A;if(n.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var d,g,f="";if(!c&&!A)throw new Error("environment detection error");if(A?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),x&&(f=x),f=0!==f.indexOf("blob:")?f.substr(0,f.lastIndexOf("/")+1):"","object"!==("undefined"==typeof window?"undefined":y(window))&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");d=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},g=function(e,t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)};var h=n.print||console.log.bind(console),p=n.printErr||console.warn.bind(console);for(o in i)i.hasOwnProperty(o)&&(n[o]=i[o]);function E(e){E.shown||(E.shown={}),E.shown[e]||(E.shown[e]=1,p(e))}i=null,n.arguments&&n.arguments,Object.getOwnPropertyDescriptor(n,"arguments")||Object.defineProperty(n,"arguments",{configurable:!0,get:function(){me("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),n.thisProgram&&(a=n.thisProgram),Object.getOwnPropertyDescriptor(n,"thisProgram")||Object.defineProperty(n,"thisProgram",{configurable:!0,get:function(){me("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),n.quit&&(s=n.quit),Object.getOwnPropertyDescriptor(n,"quit")||Object.defineProperty(n,"quit",{configurable:!0,get:function(){me("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),C(void 0===n.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),C(void 0===n.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),C(void 0===n.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),C(void 0===n.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),C(void 0===n.read,"Module.read option was removed (modify read_ in JS)"),C(void 0===n.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),C(void 0===n.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),C(void 0===n.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),C(void 0===n.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Object.getOwnPropertyDescriptor(n,"read")||Object.defineProperty(n,"read",{configurable:!0,get:function(){me("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(n,"readAsync")||Object.defineProperty(n,"readAsync",{configurable:!0,get:function(){me("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(n,"readBinary")||Object.defineProperty(n,"readBinary",{configurable:!0,get:function(){me("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(n,"setWindowTitle")||Object.defineProperty(n,"setWindowTitle",{configurable:!0,get:function(){me("Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),C(!l,"shell environment detected but not enabled at build time. Add 'shell' to `-s ENVIRONMENT` to enable.");var m,I=0,v=function(e){I=e};n.wasmBinary&&n.wasmBinary,Object.getOwnPropertyDescriptor(n,"wasmBinary")||Object.defineProperty(n,"wasmBinary",{configurable:!0,get:function(){me("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),n.noExitRuntime,Object.getOwnPropertyDescriptor(n,"noExitRuntime")||Object.defineProperty(n,"noExitRuntime",{configurable:!0,get:function(){me("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),"object"!==("undefined"==typeof WebAssembly?"undefined":y(WebAssembly))&&me("no native wasm support detected");var w=!1;function C(e,t){e||me("Assertion failed: ".concat(t))}var _="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function b(e,t,r){for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.subarray&&_)return _.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if(224==(240&a)?a=(15&a)<<12|s<<6|c:(240!=(248&a)&&E("Invalid UTF-8 leading byte 0x".concat(a.toString(16)," encountered when deserializing a UTF-8 string in wasm memory to a JS string!")),a=(7&a)<<18|s<<12|c<<6|63&e[t++]),a<65536)i+=String.fromCharCode(a);else{var A=a-65536;i+=String.fromCharCode(55296|A>>10,56320|1023&A)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function B(e,t){return e?b(R,e,t):""}function D(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;s>=2097152&&E("Invalid Unicode code point 0x".concat(s.toString(16)," encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x1FFFFF).")),t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o}function T(e,t,r){return C("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),D(e,R,t,r)}function O(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}var Q,P,R,S,k,F,N,U,j,L="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function H(e,t){C(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&k[n];)++n;if((r=n<<1)-e>32&&L)return L.decode(R.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var s=S[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i}function G(e,t,r){if(C(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),C("number"==typeof r,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);S[t>>1]=a,t+=2}return S[t>>1]=0,t-n}function X(e){return 2*e.length}function Y(e,t){C(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var r=0,n="";!(r>=t/4);){var o=F[e+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}function W(e,t,r){if(C(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),C("number"==typeof r,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),F[t>>2]=a,(t+=4)+4>o)break}return F[t>>2]=0,t-n}function V(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t}function z(e){var t=O(e)+1,r=Jr(t);return r&&D(e,P,r,t),r}function K(e,t){return e%t>0&&(e+=t-e%t),e}function Z(e){Q=e,n.HEAP8=P=new Int8Array(e),n.HEAP16=S=new Int16Array(e),n.HEAP32=F=new Int32Array(e),n.HEAPU8=R=new Uint8Array(e),n.HEAPU16=k=new Uint16Array(e),n.HEAPU32=N=new Uint32Array(e),n.HEAPF32=U=new Float32Array(e),n.HEAPF64=j=new Float64Array(e)}var J=5242880;n.TOTAL_STACK&&C(J===n.TOTAL_STACK,"the stack size can no longer be determined at runtime");var q,$=n.INITIAL_MEMORY||16777216;function ee(){var e=en();C(!(3&e)),N[1+(e>>2)]=34821223,N[2+(e>>2)]=2310721022,F[0]=1668509029}function te(){if(!w){var e=en(),t=N[1+(e>>2)],r=N[2+(e>>2)];34821223==t&&2310721022==r||me("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x".concat(r.toString(16)," ").concat(t.toString(16))),1668509029!==F[0]&&me("Runtime error: The application has corrupted its heap memory area (address zero)!")}}Object.getOwnPropertyDescriptor(n,"INITIAL_MEMORY")||Object.defineProperty(n,"INITIAL_MEMORY",{configurable:!0,get:function(){me("Module.INITIAL_MEMORY has been replaced with plain INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),C($>=J,"INITIAL_MEMORY should be larger than TOTAL_STACK, was ".concat($,"! (TOTAL_STACK=").concat(J,")")),C("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&void 0!==Int32Array.prototype.subarray&&void 0!==Int32Array.prototype.set,"JS engine does not provide full typed array support"),C(!n.wasmMemory,"Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"),C(16777216==$,"Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)"}();var re=[],ne=[],oe=[],ie=[],ae=!1;C(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var se,ce,Ae,ue,le=0,de=null,ge=null,fe={};function he(e){for(var t=e;;){if(!fe[e])return e;e=t+Math.random()}}function pe(e){le++,n.monitorRunDependencies&&n.monitorRunDependencies(le),e?(C(!fe[e]),fe[e]=1,null===de&&"undefined"!=typeof setInterval&&(de=setInterval((function(){if(w)return clearInterval(de),void(de=null);var e=!1;for(var t in fe)e||(e=!0,p("still waiting on run dependencies:")),p("dependency: ".concat(t));e&&p("(end of list)")}),1e4))):p("warning: run dependency added without ID")}function Ee(e){if(le--,n.monitorRunDependencies&&n.monitorRunDependencies(le),e?(C(fe[e]),delete fe[e]):p("warning: run dependency removed without ID"),0==le&&(null!==de&&(clearInterval(de),de=null),ge)){var t=ge;ge=null,t()}}function me(e){n.onAbort&&n.onAbort(e),p(e+=""),w=!0;var t,o="abort(".concat(e,") at ").concat((t=function(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}(),n.extraStackTrace&&(t+="\n".concat(n.extraStackTrace())),Be(t)));e=o;var i=new WebAssembly.RuntimeError(e);throw r(i),i}function ye(e,t){return function(){var r=e,o=t;return o=n.asm,C(ae,"native function `".concat(r,"` called before runtime initialization")),C(!0,"native function `".concat(r,"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)")),o[e]||C(o[e],"exported native function `".concat(r,"` not found")),o[e].apply(null,arguments)}}n.preloadedImages={},n.preloadedAudios={},(se="selfie_segmentation_solution_simd_wasm_bin.wasm").startsWith("data:application/octet-stream;base64,")||(ce=se,se=n.locateFile?n.locateFile(ce,f):f+ce);var Ie,ve={460656:function(){var e=!0;if(e){var t=Ir;if("function"!=typeof t)return void("undefined"!=typeof console&&console.error('Expected Emscripten global function "findCanvasEventTarget" not found. WebGL context creation may fail.'));Ir=function(e){if(0==e){if(n&&n.canvas)return n.canvas;if(n&&n.canvasCssSelector)return t(n.canvasCssSelector);"undefined"!=typeof console&&console.warn("Module properties canvas and canvasCssSelector not found during WebGL context creation.")}return t(e)},e=!1}},461441:function(){return"undefined"!=typeof wasmOffsetConverter}};function we(e,t){if(w)p("user callback triggered after application aborted. Ignoring.");else try{e()}catch(e){if(e instanceof gn)return;if("unwind"!==e)throw e&&"object"===y(e)&&e.stack&&p("exception thrown: ".concat([e,e.stack])),e}}function Ce(e,t){return setTimeout((function(){we(e)}),t)}Ie=u?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:function(){return performance.now()};var _e={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){_e.mainLoop.scheduler=null,_e.mainLoop.currentlyRunningMainloop++},resume:function(){_e.mainLoop.currentlyRunningMainloop++;var e=_e.mainLoop.timingMode,t=_e.mainLoop.timingValue,r=_e.mainLoop.func;_e.mainLoop.func=null,function(e,t,r,o){C(!_e.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),_e.mainLoop.func=e,_e.mainLoop.arg=o;var i=_e.mainLoop.currentlyRunningMainloop;function a(){return!(i<_e.mainLoop.currentlyRunningMainloop)}_e.mainLoop.running=!1,_e.mainLoop.runner=function(){if(!w)if(_e.mainLoop.queue.length>0){var t=Date.now(),r=_e.mainLoop.queue.shift();if(r.func(r.arg),_e.mainLoop.remainingBlockers){var o=_e.mainLoop.remainingBlockers,i=o%1==0?o-1:Math.floor(o);r.counted?_e.mainLoop.remainingBlockers=i:(i+=.5,_e.mainLoop.remainingBlockers=(8*o+i)/9)}if(h('main loop blocker "'.concat(r.name,'" took ').concat(Date.now()-t," ms")),_e.mainLoop.updateStatus(),!a())return;setTimeout(_e.mainLoop.runner,0)}else a()&&(_e.mainLoop.currentFrameNumber=_e.mainLoop.currentFrameNumber+1|0,1==_e.mainLoop.timingMode&&_e.mainLoop.timingValue>1&&_e.mainLoop.currentFrameNumber%_e.mainLoop.timingValue!=0?_e.mainLoop.scheduler():(0==_e.mainLoop.timingMode&&(_e.mainLoop.tickStartTime=Ie()),pr.newRenderingFrameStarted(),void 0!==pr&&pr.currentContext&&!pr.currentContextIsProxied&&!pr.currentContext.attributes.explicitSwapControl&&pr.currentContext.GLctx.commit&&pr.currentContext.GLctx.commit(),"timeout"===_e.mainLoop.method&&n.ctx&&(E("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),_e.mainLoop.method=""),_e.mainLoop.runIter(e),te(),a()&&("object"===("undefined"==typeof SDL?"undefined":y(SDL))&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),_e.mainLoop.scheduler())))}}(r,0,0,_e.mainLoop.arg),function(e,t){if(_e.mainLoop.timingMode=e,_e.mainLoop.timingValue=t,!_e.mainLoop.func)return p("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up."),1;if(_e.mainLoop.running||(_e.mainLoop.running=!0),0==e)_e.mainLoop.scheduler=function(){var e=0|Math.max(0,_e.mainLoop.tickStartTime+t-Ie());setTimeout(_e.mainLoop.runner,e)},_e.mainLoop.method="timeout";else if(1==e)_e.mainLoop.scheduler=function(){_e.requestAnimationFrame(_e.mainLoop.runner)},_e.mainLoop.method="rAF";else if(2==e){if("undefined"==typeof setImmediate){var r=[],o="setimmediate";addEventListener("message",(function(e){e.data!==o&&e.data.target!==o||(e.stopPropagation(),r.shift()())}),!0),setImmediate=function(e){r.push(e),A?(void 0===n.setImmediates&&(n.setImmediates=[]),n.setImmediates.push(e),postMessage({target:o})):postMessage(o,"*")}}_e.mainLoop.scheduler=function(){setImmediate(_e.mainLoop.runner)},_e.mainLoop.method="immediate"}}(e,t),_e.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var e=n.statusMessage||"Please wait...",t=_e.mainLoop.remainingBlockers,r=_e.mainLoop.expectedBlockers;t?t<r?n.setStatus("".concat(e," (").concat(r-t,"/").concat(r,")")):n.setStatus(e):n.setStatus("")}},runIter:function(e){if(!w){if(n.preMainLoop&&!1===n.preMainLoop())return;we(e),n.postMainLoop&&n.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(n.preloadPlugins||(n.preloadPlugins=[]),!_e.initted){_e.initted=!0;try{new Blob,_e.hasBlobConstructor=!0}catch(e){_e.hasBlobConstructor=!1,h("warning: no blob constructor, cannot create blobs with mimetypes")}_e.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:_e.hasBlobConstructor?null:h("warning: no BlobBuilder"),_e.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,n.noImageDecoding||void 0!==_e.URLObject||(h("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var e={canHandle:function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,o){var i=null;if(_e.hasBlobConstructor)try{(i=new Blob([e],{type:_e.getMimetype(t)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:_e.getMimetype(t)}))}catch(e){E("Blob constructor present but fails: ".concat(e,"; falling back to blob builder"))}if(!i){var a=new _e.BlobBuilder;a.append(new Uint8Array(e).buffer),i=a.getBlob()}var s=_e.URLObject.createObjectURL(i);C("string"==typeof s,"createObjectURL must return a url as a string");var c=new Image;c.onload=function(){C(c.complete,"Image ".concat(t," could not be decoded"));var o=document.createElement("canvas");o.width=c.width,o.height=c.height,o.getContext("2d").drawImage(c,0,0),n.preloadedImages[t]=o,_e.URLObject.revokeObjectURL(s),r&&r(e)},c.onerror=function(e){h("Image ".concat(s," could not be decoded")),o&&o()},c.src=s}};n.preloadPlugins.push(e);var t={canHandle:function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,o){var i=!1;function a(o){i||(i=!0,n.preloadedAudios[t]=o,r&&r(e))}function s(){i||(i=!0,n.preloadedAudios[t]=new Audio,o&&o())}if(!_e.hasBlobConstructor)return s();try{var c=new Blob([e],{type:_e.getMimetype(t)})}catch(e){return s()}var A=_e.URLObject.createObjectURL(c);C("string"==typeof A,"createObjectURL must return a url as a string");var u=new Audio;u.addEventListener("canplaythrough",(function(){a(u)}),!1),u.onerror=function(r){i||(h("warning: browser could not fully decode audio ".concat(t,", trying slower base64 approach")),u.src="data:audio/x-".concat(t.substr(-3),";base64,").concat(function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,i=0;i<e.length;i++)for(n=n<<8|e[i],o+=8;o>=6;){var a=n>>o-6&63;o-=6,r+=t[a]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e)),a(u))},u.src=A,Ce((function(){a(u)}),1e4)}};n.preloadPlugins.push(t),n.canvas}},createContext:function(e,t,r,o){if(t&&n.ctx&&e==n.canvas)return n.ctx;var i,a;if(t){var s={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(o)for(var c in o)s[c]=o[c];void 0!==pr&&(a=pr.createContext(e,s))&&(i=pr.getContext(a).GLctx)}else i=e.getContext("2d");return i?(r&&(t||C(void 0===Gr,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=i,t&&pr.makeContextCurrent(a),n.useWebGL=t,_e.moduleContextCreatedCallbacks.forEach((function(e){e()})),_e.init()),i):null},destroyContext:function(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t){_e.lockPointer=e,_e.resizeCanvas=t,void 0===_e.lockPointer&&(_e.lockPointer=!0),void 0===_e.resizeCanvas&&(_e.resizeCanvas=!1);var r=n.canvas;_e.fullscreenHandlersInstalled||(_e.fullscreenHandlersInstalled=!0);var o=document.createElement("div");r.parentNode.insertBefore(o,r),o.appendChild(r),o.requestFullscreen=o.requestFullscreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullscreen?function(){o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(o.webkitRequestFullScreen?function(){o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),o.requestFullscreen()},requestFullScreen:function(){me("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen:function(){return!!_e.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(0===_e.nextRAF)_e.nextRAF=t+1e3/60;else for(;t+2>=_e.nextRAF;)_e.nextRAF+=1e3/60;var r=Math.max(_e.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){"function"!=typeof requestAnimationFrame?(0,_e.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)})),safeSetTimeout:function(e){return Ce(e)},safeRequestAnimationFrame:function(e){return _e.requestAnimationFrame((function(){we(e)}))},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: ".concat(e.deltaMode)}break;default:throw"unrecognized mouse wheel event: ".concat(e.type)}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(_e.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?_e.mouseMovementX=_e.mouseMovementY=0:(_e.mouseMovementX=_e.getMovementX(e),_e.mouseMovementY=_e.getMovementY(e)),"undefined"!=typeof SDL?(_e.mouseX=SDL.mouseX+_e.mouseMovementX,_e.mouseY=SDL.mouseY+_e.mouseMovementY):(_e.mouseX+=_e.mouseMovementX,_e.mouseY+=_e.mouseMovementY);else{var t=n.canvas.getBoundingClientRect(),r=n.canvas.width,o=n.canvas.height,i=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if(C(void 0!==i&&void 0!==a,"Unable to retrieve scroll position, mouse positions likely broken."),"touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var s=e.touch;if(void 0===s)return;var c=s.pageX-(i+t.left),A=s.pageY-(a+t.top),u={x:c*=r/t.width,y:A*=o/t.height};if("touchstart"===e.type)_e.lastTouches[s.identifier]=u,_e.touches[s.identifier]=u;else if("touchend"===e.type||"touchmove"===e.type){var l=_e.touches[s.identifier];l||(l=u),_e.lastTouches[s.identifier]=l,_e.touches[s.identifier]=u}return}var d=e.pageX-(i+t.left),g=e.pageY-(a+t.top);d*=r/t.width,g*=o/t.height,_e.mouseMovementX=d-_e.mouseX,_e.mouseMovementY=g-_e.mouseY,_e.mouseX=d,_e.mouseY=g}},resizeListeners:[],updateResizeListeners:function(){var e=n.canvas;_e.resizeListeners.forEach((function(t){t(e.width,e.height)}))},setCanvasSize:function(e,t,r){var o=n.canvas;_e.updateCanvasDimensions(o,e,t),r||_e.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=N[SDL.screen>>2];e|=8388608,F[SDL.screen>>2]=e}_e.updateCanvasDimensions(n.canvas),_e.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=N[SDL.screen>>2];e&=-8388609,F[SDL.screen>>2]=e}_e.updateCanvasDimensions(n.canvas),_e.updateResizeListeners()},updateCanvasDimensions:function(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var o=t,i=r;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(o/i<n.forcedAspectRatio?o=Math.round(i*n.forcedAspectRatio):i=Math.round(o/n.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var a=Math.min(screen.width/o,screen.height/i);o=Math.round(o*a),i=Math.round(i*a)}_e.resizeCanvas?(e.width!=o&&(e.width=o),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(o!=t||i!=r?(e.style.setProperty("width","".concat(o,"px"),"important"),e.style.setProperty("height","".concat(i,"px"),"important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}};function be(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?q.get(r)():q.get(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(n)}}function Be(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var t,r=(t=e,E("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t);return e===r?e:"".concat(r," [").concat(e,"]")}))}function De(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){F[this.ptr+4>>2]=e},this.get_type=function(){return F[this.ptr+4>>2]},this.set_destructor=function(e){F[this.ptr+8>>2]=e},this.get_destructor=function(){return F[this.ptr+8>>2]},this.set_refcount=function(e){F[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,P[this.ptr+12|0]=e},this.get_caught=function(){return 0!=P[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,P[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=P[this.ptr+13|0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=F[this.ptr>>2];F[this.ptr>>2]=e+1},this.release_ref=function(){var e=F[this.ptr>>2];return F[this.ptr>>2]=e-1,C(e>0),1===e}}function Te(e){this.free=function(){Zr(this.ptr),this.ptr=0},this.set_base_ptr=function(e){F[this.ptr>>2]=e},this.get_base_ptr=function(){return F[this.ptr>>2]},this.set_adjusted_ptr=function(e){F[this.ptr+4>>2]=e},this.get_adjusted_ptr_addr=function(){return this.ptr+4},this.get_adjusted_ptr=function(){return F[this.ptr+4>>2]},this.get_exception_ptr=function(){if(ln(this.get_exception_info().get_type()))return F[this.get_base_ptr()>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.get_base_ptr()},this.get_exception_info=function(){return new De(this.get_base_ptr())},void 0===e?(this.ptr=Jr(8),this.set_adjusted_ptr(0)):this.ptr=e}var Oe=[],Qe=0;function Pe(e){try{return Zr(new De(e).ptr)}catch(e){p("exception during cxa_free_exception: ".concat(e))}}function Me(e){return F[qr()>>2]=e,e}var Re={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=Re.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Re.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Re.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return Re.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return Re.normalize(e.join("/"))},join2:function(e,t){return Re.normalize("".concat(e,"/").concat(t))}};function Se(){if("object"===("undefined"==typeof crypto?"undefined":y(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(u)try{var t=M("crypto");return function(){return t.randomBytes(1)[0]}}catch(e){}return function(){me("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}var ke={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Le.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e="".concat(n,"/").concat(e),t="/"===n.charAt(0)}return(t?"/":"")+(e=Re.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=ke.resolve(e).substr(1),t=ke.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.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("/")}},Fe={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Fe.ttys[e]={input:[],output:[],ops:t},Le.registerDevice(e,Fe.stream_ops)},stream_ops:{open:function(e){var t=Fe.ttys[e.node.rdev];if(!t)throw new Le.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Le.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Le.ErrnoError(29)}if(void 0===s&&0===i)throw new Le.ErrnoError(6);if(null==s)break;i++,t[r+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Le.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new Le.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(e){if(!e.input.length){var t=null;if(u){var r=Buffer.alloc(256),n=0;try{n=(void 0).readSync(process.stdin.fd,r,0,256,null)}catch(e){if(!e.toString().includes("EOF"))throw e;n=0}t=n>0?r.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=zr(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(h(b(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(h(b(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(p(b(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(p(b(e.output,0)),e.output=[])}}};function xe(e){e=function(e,t){return C(t,"alignment argument is required"),Math.ceil(e/t)*t}(e,65536);var t=dn(65536,e);return t?(function(e,t){R.fill(0,e,e+t)}(t,e),t):0}var Ne={ops_table:null,mount:function(e){return Ne.createNode(null,"/",16895,0)},createNode:function(e,t,r,n){if(Le.isBlkdev(r)||Le.isFIFO(r))throw new Le.ErrnoError(63);Ne.ops_table||(Ne.ops_table={dir:{node:{getattr:Ne.node_ops.getattr,setattr:Ne.node_ops.setattr,lookup:Ne.node_ops.lookup,mknod:Ne.node_ops.mknod,rename:Ne.node_ops.rename,unlink:Ne.node_ops.unlink,rmdir:Ne.node_ops.rmdir,readdir:Ne.node_ops.readdir,symlink:Ne.node_ops.symlink},stream:{llseek:Ne.stream_ops.llseek}},file:{node:{getattr:Ne.node_ops.getattr,setattr:Ne.node_ops.setattr},stream:{llseek:Ne.stream_ops.llseek,read:Ne.stream_ops.read,write:Ne.stream_ops.write,allocate:Ne.stream_ops.allocate,mmap:Ne.stream_ops.mmap,msync:Ne.stream_ops.msync}},link:{node:{getattr:Ne.node_ops.getattr,setattr:Ne.node_ops.setattr,readlink:Ne.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ne.node_ops.getattr,setattr:Ne.node_ops.setattr},stream:Le.chrdev_stream_ops}});var o=Le.createNode(e,t,r,n);return Le.isDir(o.mode)?(o.node_ops=Ne.ops_table.dir.node,o.stream_ops=Ne.ops_table.dir.stream,o.contents={}):Le.isFile(o.mode)?(o.node_ops=Ne.ops_table.file.node,o.stream_ops=Ne.ops_table.file.stream,o.usedBytes=0,o.contents=null):Le.isLink(o.mode)?(o.node_ops=Ne.ops_table.link.node,o.stream_ops=Ne.ops_table.link.stream):Le.isChrdev(o.mode)&&(o.node_ops=Ne.ops_table.chrdev.node,o.stream_ops=Ne.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Le.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Le.isDir(e.mode)?t.size=4096:Le.isFile(e.mode)?t.size=e.usedBytes:Le.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Ne.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Le.genericErrors[44]},mknod:function(e,t,r,n){return Ne.createNode(e,t,r,n)},rename:function(e,t,r){if(Le.isDir(e.mode)){var n;try{n=Le.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new Le.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=Le.lookupNode(e,t);for(var n in r.contents)throw new Le.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var n=Ne.createNode(e,t,41471,0);return n.link=r,n},readlink:function(e){if(!Le.isLink(e.mode))throw new Le.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(C(a>=0),a>8&&i.subarray)t.set(i.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=i[o+s];return a},write:function(e,t,r,n,o,i){if(C(!(t instanceof ArrayBuffer)),t.buffer===P.buffer&&(i=!1),!n)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return C(0===o,"canOwn must imply no weird position inside the file"),a.contents=t.subarray(r,r+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(t.subarray(r,r+n),o),n}if(Ne.expandFileStorage(a,o+n),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&Le.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Le.ErrnoError(28);return n},allocate:function(e,t,r){Ne.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap:function(e,t,r,n,o,i){if(0!==t)throw new Le.ErrnoError(28);if(!Le.isFile(e.node.mode))throw new Le.ErrnoError(43);var a,s,c=e.node.contents;if(2&i||c.buffer!==Q){if((n>0||n+r<c.length)&&(c=c.subarray?c.subarray(n,n+r):Array.prototype.slice.call(c,n,n+r)),s=!0,!(a=xe(r)))throw new Le.ErrnoError(48);P.set(c,a)}else s=!1,a=c.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,r,n,o){if(!Le.isFile(e.node.mode))throw new Le.ErrnoError(43);return 2&o||Ne.stream_ops.write(e,t,0,n,r,!1),0}}},Ue={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},je={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},Le={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e,t){if(t=t||{},!(e=ke.resolve(Le.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var n in r)void 0===t[n]&&(t[n]=r[n]);if(t.recurse_count>8)throw new Le.ErrnoError(32);for(var o=Re.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),i=Le.root,a="/",s=0;s<o.length;s++){var c=s===o.length-1;if(c&&t.parent)break;if(i=Le.lookupNode(i,o[s]),a=Re.join2(a,o[s]),Le.isMountpoint(i)&&(!c||c&&t.follow_mount)&&(i=i.mounted.root),!c||t.follow)for(var A=0;Le.isLink(i.mode);){var u=Le.readlink(a);if(a=ke.resolve(Re.dirname(a),u),i=Le.lookupPath(a,{recurse_count:t.recurse_count}).node,A++>40)throw new Le.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(Le.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?"".concat(r,"/").concat(t):r+t:r}t=t?"".concat(e.name,"/").concat(t):e.name,e=e.parent}},hashName:function(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%Le.nameTable.length},hashAddNode:function(e){var t=Le.hashName(e.parent.id,e.name);e.name_next=Le.nameTable[t],Le.nameTable[t]=e},hashRemoveNode:function(e){var t=Le.hashName(e.parent.id,e.name);if(Le.nameTable[t]===e)Le.nameTable[t]=e.name_next;else for(var r=Le.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:function(e,t){var r=Le.mayLookup(e);if(r)throw new Le.ErrnoError(r,e);for(var n=Le.hashName(e.id,t),o=Le.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return Le.lookup(e,t)},createNode:function(e,t,r,n){C("object"===y(e));var o=new Le.FSNode(e,t,r,n);return Le.hashAddNode(o),o},destroyNode:function(e){Le.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return!(49152&~e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=Le.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: ".concat(e));return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Le.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Le.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return Le.lookupNode(e,t),20}catch(e){}return Le.nodePermissions(e,"wx")},mayDelete:function(e,t,r){var n;try{n=Le.lookupNode(e,t)}catch(e){return e.errno}var o=Le.nodePermissions(e,"wx");if(o)return o;if(r){if(!Le.isDir(n.mode))return 54;if(Le.isRoot(n)||Le.getPath(n)===Le.cwd())return 10}else if(Le.isDir(n.mode))return 31;return 0},mayOpen:function(e,t){return e?Le.isLink(e.mode)?32:Le.isDir(e.mode)&&("r"!==Le.flagsToPermissionString(t)||512&t)?31:Le.nodePermissions(e,Le.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||Le.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!Le.streams[r])return r;throw new Le.ErrnoError(33)},getStream:function(e){return Le.streams[e]},createStream:function(e,t,r){Le.FSStream||(Le.FSStream=function(){},Le.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var n=new Le.FSStream;for(var o in e)n[o]=e[o];e=n;var i=Le.nextfd(t,r);return e.fd=i,Le.streams[i]=e,e},closeStream:function(e){Le.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Le.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Le.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Le.devices[e]={stream_ops:t}},getDevice:function(e){return Le.devices[e]},getMounts:function(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Le.syncFSRequests++,Le.syncFSRequests>1&&p("warning: ".concat(Le.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=Le.getMounts(Le.root.mount),n=0;function o(e){return C(Le.syncFSRequests>0),Le.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach((function(t){if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)}))},mount:function(e,t,r){if("string"==typeof e)throw e;var n,o="/"===r,i=!r;if(o&&Le.root)throw new Le.ErrnoError(10);if(!o&&!i){var a=Le.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,Le.isMountpoint(n))throw new Le.ErrnoError(10);if(!Le.isDir(n.mode))throw new Le.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?Le.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount:function(e){var t=Le.lookupPath(e,{follow_mount:!1});if(!Le.isMountpoint(t.node))throw new Le.ErrnoError(28);var r=t.node,n=r.mounted,o=Le.getMounts(n);Object.keys(Le.nameTable).forEach((function(e){for(var t=Le.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&Le.destroyNode(t),t=r}})),r.mounted=null;var i=r.mount.mounts.indexOf(n);C(-1!==i),r.mount.mounts.splice(i,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,r){var n=Le.lookupPath(e,{parent:!0}).node,o=Re.basename(e);if(!o||"."===o||".."===o)throw new Le.ErrnoError(28);var i=Le.mayCreate(n,o);if(i)throw new Le.ErrnoError(i);if(!n.node_ops.mknod)throw new Le.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Le.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Le.mknod(e,t,0)},mkdirTree:function(e,t){for(var r=e.split("/"),n="",o=0;o<r.length;++o)if(r[o]){n+="/".concat(r[o]);try{Le.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:function(e,t,r){return void 0===r&&(r=t,t=438),t|=8192,Le.mknod(e,t,r)},symlink:function(e,t){if(!ke.resolve(e))throw new Le.ErrnoError(44);var r=Le.lookupPath(t,{parent:!0}).node;if(!r)throw new Le.ErrnoError(44);var n=Re.basename(t),o=Le.mayCreate(r,n);if(o)throw new Le.ErrnoError(o);if(!r.node_ops.symlink)throw new Le.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename:function(e,t){var r,n,o=Re.dirname(e),i=Re.dirname(t),a=Re.basename(e),s=Re.basename(t);if(r=Le.lookupPath(e,{parent:!0}).node,n=Le.lookupPath(t,{parent:!0}).node,!r||!n)throw new Le.ErrnoError(44);if(r.mount!==n.mount)throw new Le.ErrnoError(75);var c,A=Le.lookupNode(r,a),u=ke.relative(e,i);if("."!==u.charAt(0))throw new Le.ErrnoError(28);if("."!==(u=ke.relative(t,o)).charAt(0))throw new Le.ErrnoError(55);try{c=Le.lookupNode(n,s)}catch(e){}if(A!==c){var l=Le.isDir(A.mode),d=Le.mayDelete(r,a,l);if(d)throw new Le.ErrnoError(d);if(d=c?Le.mayDelete(n,s,l):Le.mayCreate(n,s))throw new Le.ErrnoError(d);if(!r.node_ops.rename)throw new Le.ErrnoError(63);if(Le.isMountpoint(A)||c&&Le.isMountpoint(c))throw new Le.ErrnoError(10);if(n!==r&&(d=Le.nodePermissions(r,"w")))throw new Le.ErrnoError(d);try{Le.trackingDelegate.willMovePath&&Le.trackingDelegate.willMovePath(e,t)}catch(r){p("FS.trackingDelegate['willMovePath']('".concat(e,"', '").concat(t,"') threw an exception: ").concat(r.message))}Le.hashRemoveNode(A);try{r.node_ops.rename(A,n,s)}catch(e){throw e}finally{Le.hashAddNode(A)}try{Le.trackingDelegate.onMovePath&&Le.trackingDelegate.onMovePath(e,t)}catch(r){p("FS.trackingDelegate['onMovePath']('".concat(e,"', '").concat(t,"') threw an exception: ").concat(r.message))}}},rmdir:function(e){var t=Le.lookupPath(e,{parent:!0}).node,r=Re.basename(e),n=Le.lookupNode(t,r),o=Le.mayDelete(t,r,!0);if(o)throw new Le.ErrnoError(o);if(!t.node_ops.rmdir)throw new Le.ErrnoError(63);if(Le.isMountpoint(n))throw new Le.ErrnoError(10);try{Le.trackingDelegate.willDeletePath&&Le.trackingDelegate.willDeletePath(e)}catch(t){p("FS.trackingDelegate['willDeletePath']('".concat(e,"') threw an exception: ").concat(t.message))}t.node_ops.rmdir(t,r),Le.destroyNode(n);try{Le.trackingDelegate.onDeletePath&&Le.trackingDelegate.onDeletePath(e)}catch(t){p("FS.trackingDelegate['onDeletePath']('".concat(e,"') threw an exception: ").concat(t.message))}},readdir:function(e){var t=Le.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Le.ErrnoError(54);return t.node_ops.readdir(t)},unlink:function(e){var t=Le.lookupPath(e,{parent:!0}).node,r=Re.basename(e),n=Le.lookupNode(t,r),o=Le.mayDelete(t,r,!1);if(o)throw new Le.ErrnoError(o);if(!t.node_ops.unlink)throw new Le.ErrnoError(63);if(Le.isMountpoint(n))throw new Le.ErrnoError(10);try{Le.trackingDelegate.willDeletePath&&Le.trackingDelegate.willDeletePath(e)}catch(t){p("FS.trackingDelegate['willDeletePath']('".concat(e,"') threw an exception: ").concat(t.message))}t.node_ops.unlink(t,r),Le.destroyNode(n);try{Le.trackingDelegate.onDeletePath&&Le.trackingDelegate.onDeletePath(e)}catch(t){p("FS.trackingDelegate['onDeletePath']('".concat(e,"') threw an exception: ").concat(t.message))}},readlink:function(e){var t=Le.lookupPath(e).node;if(!t)throw new Le.ErrnoError(44);if(!t.node_ops.readlink)throw new Le.ErrnoError(28);return ke.resolve(Le.getPath(t.parent),t.node_ops.readlink(t))},stat:function(e,t){var r=Le.lookupPath(e,{follow:!t}).node;if(!r)throw new Le.ErrnoError(44);if(!r.node_ops.getattr)throw new Le.ErrnoError(63);return r.node_ops.getattr(r)},lstat:function(e){return Le.stat(e,!0)},chmod:function(e,t,r){var n;if(!(n="string"==typeof e?Le.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Le.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:function(e,t){Le.chmod(e,t,!0)},fchmod:function(e,t){var r=Le.getStream(e);if(!r)throw new Le.ErrnoError(8);Le.chmod(r.node,t)},chown:function(e,t,r,n){var o;if(!(o="string"==typeof e?Le.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Le.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:function(e,t,r){Le.chown(e,t,r,!0)},fchown:function(e,t,r){var n=Le.getStream(e);if(!n)throw new Le.ErrnoError(8);Le.chown(n.node,t,r)},truncate:function(e,t){if(t<0)throw new Le.ErrnoError(28);var r;if(!(r="string"==typeof e?Le.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Le.ErrnoError(63);if(Le.isDir(r.mode))throw new Le.ErrnoError(31);if(!Le.isFile(r.mode))throw new Le.ErrnoError(28);var n=Le.nodePermissions(r,"w");if(n)throw new Le.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:function(e,t){var r=Le.getStream(e);if(!r)throw new Le.ErrnoError(8);if(!(2097155&r.flags))throw new Le.ErrnoError(28);Le.truncate(r.node,t)},utime:function(e,t,r){var n=Le.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open:function(e,t,r,o,i){if(""===e)throw new Le.ErrnoError(44);var a;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Le.modeStringToFlags(t):t)?4095&r|32768:0,"object"===y(e))a=e;else{e=Re.normalize(e);try{a=Le.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(a){if(128&t)throw new Le.ErrnoError(20)}else a=Le.mknod(e,r,0),s=!0;if(!a)throw new Le.ErrnoError(44);if(Le.isChrdev(a.mode)&&(t&=-513),65536&t&&!Le.isDir(a.mode))throw new Le.ErrnoError(54);if(!s){var c=Le.mayOpen(a,t);if(c)throw new Le.ErrnoError(c)}512&t&&Le.truncate(a,0),t&=-131713;var A=Le.createStream({node:a,path:Le.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},o,i);A.stream_ops.open&&A.stream_ops.open(A),!n.logReadFiles||1&t||(Le.readFiles||(Le.readFiles={}),e in Le.readFiles||(Le.readFiles[e]=1,p("FS.trackingDelegate error on read file: ".concat(e))));try{if(Le.trackingDelegate.onOpenFile){var u=0;1!=(2097155&t)&&(u|=Le.tracking.openFlags.READ),2097155&t&&(u|=Le.tracking.openFlags.WRITE),Le.trackingDelegate.onOpenFile(e,u)}}catch(t){p("FS.trackingDelegate['onOpenFile']('".concat(e,"', flags) threw an exception: ").concat(t.message))}return A},close:function(e){if(Le.isClosed(e))throw new Le.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Le.closeStream(e.fd)}e.fd=null},isClosed:function(e){return null===e.fd},llseek:function(e,t,r){if(Le.isClosed(e))throw new Le.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Le.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Le.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:function(e,t,r,n,o){if(n<0||o<0)throw new Le.ErrnoError(28);if(Le.isClosed(e))throw new Le.ErrnoError(8);if(1==(2097155&e.flags))throw new Le.ErrnoError(8);if(Le.isDir(e.node.mode))throw new Le.ErrnoError(31);if(!e.stream_ops.read)throw new Le.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new Le.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=a),a},write:function(e,t,r,n,o,i){if(n<0||o<0)throw new Le.ErrnoError(28);if(Le.isClosed(e))throw new Le.ErrnoError(8);if(!(2097155&e.flags))throw new Le.ErrnoError(8);if(Le.isDir(e.node.mode))throw new Le.ErrnoError(31);if(!e.stream_ops.write)throw new Le.ErrnoError(28);e.seekable&&1024&e.flags&&Le.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Le.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,n,o,i);a||(e.position+=s);try{e.path&&Le.trackingDelegate.onWriteToFile&&Le.trackingDelegate.onWriteToFile(e.path)}catch(t){p("FS.trackingDelegate['onWriteToFile']('".concat(e.path,"') threw an exception: ").concat(t.message))}return s},allocate:function(e,t,r){if(Le.isClosed(e))throw new Le.ErrnoError(8);if(t<0||r<=0)throw new Le.ErrnoError(28);if(!(2097155&e.flags))throw new Le.ErrnoError(8);if(!Le.isFile(e.node.mode)&&!Le.isDir(e.node.mode))throw new Le.ErrnoError(43);if(!e.stream_ops.allocate)throw new Le.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:function(e,t,r,n,o,i){if(2&o&&!(2&i)&&2!=(2097155&e.flags))throw new Le.ErrnoError(2);if(1==(2097155&e.flags))throw new Le.ErrnoError(2);if(!e.stream_ops.mmap)throw new Le.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,o,i)},msync:function(e,t,r,n,o){return e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0},munmap:function(e){return 0},ioctl:function(e,t,r){if(!e.stream_ops.ioctl)throw new Le.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e,t){if((t=t||{}).flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'.concat(t.encoding,'"'));var r,n=Le.open(e,t.flags),o=Le.stat(e).size,i=new Uint8Array(o);return Le.read(n,i,0,o,0),"utf8"===t.encoding?r=b(i,0):"binary"===t.encoding&&(r=i),Le.close(n),r},writeFile:function(e,t,r){(r=r||{}).flags=r.flags||577;var n=Le.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(O(t)+1),i=D(t,o,0,o.length);Le.write(n,o,0,i,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Le.write(n,t,0,t.byteLength,void 0,r.canOwn)}Le.close(n)},cwd:function(){return Le.currentPath},chdir:function(e){var t=Le.lookupPath(e,{follow:!0});if(null===t.node)throw new Le.ErrnoError(44);if(!Le.isDir(t.node.mode))throw new Le.ErrnoError(54);var r=Le.nodePermissions(t.node,"x");if(r)throw new Le.ErrnoError(r);Le.currentPath=t.path},createDefaultDirectories:function(){Le.mkdir("/tmp"),Le.mkdir("/home"),Le.mkdir("/home/web_user")},createDefaultDevices:function(){Le.mkdir("/dev"),Le.registerDevice(Le.makedev(1,3),{read:function(){return 0},write:function(e,t,r,n,o){return n}}),Le.mkdev("/dev/null",Le.makedev(1,3)),Fe.register(Le.makedev(5,0),Fe.default_tty_ops),Fe.register(Le.makedev(6,0),Fe.default_tty1_ops),Le.mkdev("/dev/tty",Le.makedev(5,0)),Le.mkdev("/dev/tty1",Le.makedev(6,0));var e=Se();Le.createDevice("/dev","random",e),Le.createDevice("/dev","urandom",e),Le.mkdir("/dev/shm"),Le.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Le.mkdir("/proc");var e=Le.mkdir("/proc/self");Le.mkdir("/proc/self/fd"),Le.mount({mount:function(){var t=Le.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var r=+t,n=Le.getStream(r);if(!n)throw new Le.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return n.path}}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:function(){n.stdin?Le.createDevice("/dev","stdin",n.stdin):Le.symlink("/dev/tty","/dev/stdin"),n.stdout?Le.createDevice("/dev","stdout",null,n.stdout):Le.symlink("/dev/tty","/dev/stdout"),n.stderr?Le.createDevice("/dev","stderr",null,n.stderr):Le.symlink("/dev/tty1","/dev/stderr");var e=Le.open("/dev/stdin",0),t=Le.open("/dev/stdout",1),r=Le.open("/dev/stderr",1);C(0===e.fd,"invalid handle for stdin (".concat(e.fd,")")),C(1===t.fd,"invalid handle for stdout (".concat(t.fd,")")),C(2===r.fd,"invalid handle for stderr (".concat(r.fd,")"))},ensureErrnoError:function(){Le.ErrnoError||(Le.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){for(var t in this.errno=e,je)if(je[t]===e){this.code=t;break}},this.setErrno(e),this.message=Ue[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Be(this.stack))},Le.ErrnoError.prototype=new Error,Le.ErrnoError.prototype.constructor=Le.ErrnoError,[44].forEach((function(e){Le.genericErrors[e]=new Le.ErrnoError(e),Le.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:function(){Le.ensureErrnoError(),Le.nameTable=new Array(4096),Le.mount(Ne,{},"/"),Le.createDefaultDirectories(),Le.createDefaultDevices(),Le.createSpecialDirectories(),Le.filesystems={MEMFS:Ne}},init:function(e,t,r){C(!Le.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Le.init.initialized=!0,Le.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=t||n.stdout,n.stderr=r||n.stderr,Le.createStandardStreams()},quit:function(){Le.init.initialized=!1;var e=n._fflush;e&&e(0);for(var t=0;t<Le.streams.length;t++){var r=Le.streams[t];r&&Le.close(r)}},getMode:function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:function(e,t){var r=Le.analyzePath(e,t);return r.exists?r.object:null},analyzePath:function(e,t){try{e=(n=Le.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Le.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=Re.basename(e),n=Le.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath:function(e,t,r,n){e="string"==typeof e?e:Le.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var a=Re.join2(e,i);try{Le.mkdir(a)}catch(e){}e=a}}return a},createFile:function(e,t,r,n,o){var i=Re.join2("string"==typeof e?e:Le.getPath(e),t),a=Le.getMode(n,o);return Le.create(i,a)},createDataFile:function(e,t,r,n,o,i){var a=t?Re.join2("string"==typeof e?e:Le.getPath(e),t):e,s=Le.getMode(n,o),c=Le.create(a,s);if(r){if("string"==typeof r){for(var A=new Array(r.length),u=0,l=r.length;u<l;++u)A[u]=r.charCodeAt(u);r=A}Le.chmod(c,146|s);var d=Le.open(c,577);Le.write(d,r,0,r.length,0,i),Le.close(d),Le.chmod(c,s)}return c},createDevice:function(e,t,r,n){var o=Re.join2("string"==typeof e?e:Le.getPath(e),t),i=Le.getMode(!!r,!!n);Le.createDevice.major||(Le.createDevice.major=64);var a=Le.makedev(Le.createDevice.major++,0);return Le.registerDevice(a,{open:function(e){e.seekable=!1},close:function(e){n&&n.buffer&&n.buffer.length&&n(10)},read:function(e,t,n,o,i){for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(e){throw new Le.ErrnoError(29)}if(void 0===c&&0===a)throw new Le.ErrnoError(6);if(null==c)break;a++,t[n+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:function(e,t,r,o,i){for(var a=0;a<o;a++)try{n(t[r+a])}catch(e){throw new Le.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),Le.mkdev(o,i,a)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!d)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=zr(d(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Le.ErrnoError(29)}},createLazyFile:function(e,t,r,n,o){function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load ".concat(r,". Status: ").concat(e.status));var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var s=this;s.setDataGetter((function(e){var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range (".concat(e,", ").concat(t,") or no bytes requested!"));if(t>n-1)throw new Error("only ".concat(n," bytes available! programmer error!"));var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==a&&o.setRequestHeader("Range","bytes=".concat(e,"-").concat(t)),"undefined"!=typeof Uint8Array&&(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 ".concat(r,". Status: ").concat(o.status));return void 0!==o.response?new Uint8Array(o.response||[]):zr(o.responseText||"",!0)}(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,h("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(!A)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=Le.createFile(e,t,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={};return Object.keys(c.stream_ops).forEach((function(e){var t=c.stream_ops[e];u[e]=function(){return Le.forceLoadFile(c),t.apply(null,arguments)}})),u.read=function(e,t,r,n,o){Le.forceLoadFile(c);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(C(a>=0),i.slice)for(var s=0;s<a;s++)t[r+s]=i[o+s];else for(s=0;s<a;s++)t[r+s]=i.get(o+s);return a},c.stream_ops=u,c},createPreloadedFile:function(e,t,r,o,i,a,s,c,A,u){_e.init();var l=t?ke.resolve(Re.join2(e,t)):e,d=he("cp ".concat(l));function f(r){function g(r){u&&u(),c||Le.createDataFile(e,t,r,o,i,A),a&&a(),Ee(d)}var f=!1;n.preloadPlugins.forEach((function(e){f||e.canHandle(l)&&(e.handle(r,l,g,(function(){s&&s(),Ee(d)})),f=!0)})),f||g(r)}pe(d),"string"==typeof r?function(e,t,r){var n=he("al ".concat(e));g(e,(function(r){C(r,'Loading data file "'.concat(e,'" failed (no arrayBuffer).')),t(new Uint8Array(r)),n&&Ee(n)}),(function(t){if(!r)throw'Loading data file "'.concat(e,'" failed.');r()})),n&&pe(n)}(r,(function(e){f(e)}),s):f(r)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_".concat(window.location.pathname)},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(e,t,r){t=t||function(){},r=r||function(){};var n=Le.indexedDB();try{var o=n.open(Le.DB_NAME(),Le.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=function(){h("creating db"),o.result.createObjectStore(Le.DB_STORE_NAME)},o.onsuccess=function(){var n=o.result.transaction([Le.DB_STORE_NAME],"readwrite"),i=n.objectStore(Le.DB_STORE_NAME),a=0,s=0,c=e.length;function A(){0==s?t():r()}e.forEach((function(e){var t=i.put(Le.analyzePath(e).object.contents,e);t.onsuccess=function(){++a+s==c&&A()},t.onerror=function(){s++,a+s==c&&A()}})),n.onerror=r},o.onerror=r},loadFilesFromDB:function(e,t,r){t=t||function(){},r=r||function(){};var n=Le.indexedDB();try{var o=n.open(Le.DB_NAME(),Le.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=r,o.onsuccess=function(){var n=o.result;try{var i=n.transaction([Le.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var a=i.objectStore(Le.DB_STORE_NAME),s=0,c=0,A=e.length;function u(){0==c?t():r()}e.forEach((function(e){var t=a.get(e);t.onsuccess=function(){Le.analyzePath(e).exists&&Le.unlink(e),Le.createDataFile(Re.dirname(e),Re.basename(e),t.result,!0,!0,!0),++s+c==A&&u()},t.onerror=function(){c++,s+c==A&&u()}})),i.onerror=r},o.onerror=r},absolutePath:function(){me("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:function(){me("FS.createFolder has been removed; use FS.mkdir instead")},createLink:function(){me("FS.createLink has been removed; use FS.symlink instead")},joinPath:function(){me("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:function(){me("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:function(){me("FS.standardizePath has been removed; use PATH.normalize instead")}},He={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(e,t,r){if("/"===t[0])return t;var n;if(-100===e)n=Le.cwd();else{var o=Le.getStream(e);if(!o)throw new Le.ErrnoError(8);n=o.path}if(0==t.length){if(!r)throw new Le.ErrnoError(44);return n}return Re.join2(n,t)},doStat:function(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&Re.normalize(t)!==Re.normalize(Le.getPath(e.node)))return-54;throw e}return F[r>>2]=n.dev,F[r+4>>2]=0,F[r+8>>2]=n.ino,F[r+12>>2]=n.mode,F[r+16>>2]=n.nlink,F[r+20>>2]=n.uid,F[r+24>>2]=n.gid,F[r+28>>2]=n.rdev,F[r+32>>2]=0,ue=[n.size>>>0,(Ae=n.size,+Math.abs(Ae)>=1?Ae>0?(0|Math.min(+Math.floor(Ae/4294967296),4294967295))>>>0:~~+Math.ceil((Ae-+(~~Ae>>>0))/4294967296)>>>0:0)],F[r+40>>2]=ue[0],F[r+44>>2]=ue[1],F[r+48>>2]=4096,F[r+52>>2]=n.blocks,F[r+56>>2]=n.atime.getTime()/1e3|0,F[r+60>>2]=0,F[r+64>>2]=n.mtime.getTime()/1e3|0,F[r+68>>2]=0,F[r+72>>2]=n.ctime.getTime()/1e3|0,F[r+76>>2]=0,ue=[n.ino>>>0,(Ae=n.ino,+Math.abs(Ae)>=1?Ae>0?(0|Math.min(+Math.floor(Ae/4294967296),4294967295))>>>0:~~+Math.ceil((Ae-+(~~Ae>>>0))/4294967296)>>>0:0)],F[r+80>>2]=ue[0],F[r+84>>2]=ue[1],0},doMsync:function(e,t,r,n,o){var i=R.slice(e,e+r);Le.msync(t,i,o,r,n)},doMkdir:function(e,t){return"/"===(e=Re.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),Le.mkdir(e,t,0),0},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Le.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var n=Le.readlink(e),o=Math.min(r,O(n)),i=P[t+o];return T(n,t,r+1),P[t+o]=i,o},doAccess:function(e,t){if(-8&t)return-28;var r;if(!(r=Le.lookupPath(e,{follow:!0}).node))return-44;var n="";return 4&t&&(n+="r"),2&t&&(n+="w"),1&t&&(n+="x"),n&&Le.nodePermissions(r,n)?-2:0},doDup:function(e,t,r){var n=Le.getStream(r);return n&&Le.close(n),Le.open(e,t,0,r,r).fd},doReadv:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=F[t+8*i>>2],s=F[t+(8*i+4)>>2],c=Le.read(e,P,a,s,n);if(c<0)return-1;if(o+=c,c<s)break}return o},doWritev:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=F[t+8*i>>2],s=F[t+(8*i+4)>>2],c=Le.write(e,P,a,s,n);if(c<0)return-1;o+=c}return o},varargs:void 0,get:function(){return C(null!=He.varargs),He.varargs+=4,F[He.varargs-4>>2]},getStr:function(e){return B(e)},getStreamFromFD:function(e){var t=Le.getStream(e);if(!t)throw new Le.ErrnoError(8);return t},get64:function(e,t){return C(e>=0?0===t:-1===t),e}};function Ge(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}function Xe(e,t){return e=Ge(e),new Function("body","return function ".concat(e,'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(t)}var Ye=[],We=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Ve(){for(var e=0,t=5;t<We.length;++t)void 0!==We[t]&&++e;return e}function ze(){for(var e=5;e<We.length;++e)if(void 0!==We[e])return We[e];return null}function Ke(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=Ye.length?Ye.pop():We.length;return We[t]={refcount:1,value:e},t}}function Ze(e,t){var r=Xe(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack="".concat(this.toString(),"\n").concat(r.replace(/^Error(:[^\n]*)?\n/,"")))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},r}var Je=void 0,qe=void 0;function $e(e){for(var t="",r=e;R[r];)t+=qe[R[r++]];return t}function et(){return Object.keys(at).length}function tt(){var e=[];for(var t in at)at.hasOwnProperty(t)&&e.push(at[t]);return e}var rt=[];function nt(){for(;rt.length;){var e=rt.pop();e.$$.deleteScheduled=!1,e.delete()}}var ot=void 0;function it(e){ot=e,rt.length&&ot&&ot(nt)}var at={},st=void 0;function ct(e){throw new st(e)}function At(e,t){for(void 0===t&&ct("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function ut(e){return e||ct("Cannot use deleted val. handle = ".concat(e)),We[e].value}var lt={};function dt(e){var t=$r(e),r=$e(t);return Zr(t),r}function gt(e,t){var r=lt[e];return void 0===r&&ct("".concat(t," has unknown type ").concat(dt(e))),r}function ft(e){}var ht=!1;function pt(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function Et(e){return"undefined"==typeof FinalizationGroup?(Et=function(e){return e},e):(ht=new FinalizationGroup((function(e){for(var t=e.next();!t.done;t=e.next()){var r=t.value;r.ptr?pt(r):console.warn("object already deleted: ".concat(r.ptr))}})),ft=function(e){ht.unregister(e.$$)},(Et=function(e){return ht.register(e,e.$$,e.$$),e})(e))}var mt={};function yt(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function It(e){return this.fromWireType(N[e>>2])}var vt={},wt={},Ct=void 0;function _t(e){throw new Ct(e)}function bt(e,t,r){function n(t){var n=r(t);n.length!==e.length&&_t("Mismatched type converter count");for(var o=0;o<e.length;++o)Dt(e[o],n[o])}e.forEach((function(e){wt[e]=t}));var o=new Array(t.length),i=[],a=0;t.forEach((function(e,t){lt.hasOwnProperty(e)?o[t]=lt[e]:(i.push(e),vt.hasOwnProperty(e)||(vt[e]=[]),vt[e].push((function(){o[t]=lt[e],++a===i.length&&n(o)})))})),0===i.length&&n(o)}function Bt(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(e))}}function Dt(e,t,r){if(r=r||{},!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||ct('type "'.concat(n,'" must have a positive integer typeid pointer')),lt.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;ct("Cannot register type '".concat(n,"' twice"))}if(lt[e]=t,delete wt[e],vt.hasOwnProperty(e)){var o=vt[e];delete vt[e],o.forEach((function(e){e()}))}}function Tt(e){if(!(this instanceof St))return!1;if(!(e instanceof St))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o}function Ot(e){ct("".concat(e.$$.ptrType.registeredClass.name," instance already deleted"))}function Qt(){if(this.$$.ptr||Ot(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Et(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function Pt(){this.$$.ptr||Ot(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ct("Object already scheduled for deletion"),ft(this),pt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Mt(){return!this.$$.ptr}function Rt(){return this.$$.ptr||Ot(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ct("Object already scheduled for deletion"),rt.push(this),1===rt.length&&ot&&ot(nt),this.$$.deleteScheduled=!0,this}function St(){}var kt={};function Ft(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||ct("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function xt(e,t,r){n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&ct("Cannot register public name '".concat(e,"' twice")),Ft(n,e,e),n.hasOwnProperty(r)&&ct("Cannot register multiple overloads of a function with the same number of arguments (".concat(r,")!")),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))}function Nt(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Ut(e,t,r){for(;t!==r;)t.upcast||ct("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e}function jt(e,t){if(null===t)return this.isReference&&ct("null is not a valid ".concat(this.name)),0;t.$$||ct('Cannot pass "'.concat(ar(t),'" as a ').concat(this.name)),t.$$.ptr||ct("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function Lt(e,t){var r;if(null===t)return this.isReference&&ct("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||ct('Cannot pass "'.concat(ar(t),'" as a ').concat(this.name)),t.$$.ptr||ct("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&ct("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var n=t.$$.ptrType.registeredClass;if(r=Ut(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ct("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:ct("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,Ke((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:ct("Unsupporting sharing policy")}return r}function Ht(e,t){if(null===t)return this.isReference&&ct("null is not a valid ".concat(this.name)),0;t.$$||ct('Cannot pass "'.concat(ar(t),'" as a ').concat(this.name)),t.$$.ptr||ct("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&ct("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Ut(t.$$.ptr,r,this.registeredClass)}function Gt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Xt(e){this.rawDestructor&&this.rawDestructor(e)}function Yt(e){null!==e&&e.delete()}function Wt(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=Wt(e,t,r.baseClass);return null===n?null:r.downcast(n)}function Vt(e,t){return t.ptrType&&t.ptr||_t("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&_t("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Et(Object.create(e,{$$:{value:t}}))}function zt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=At(e,t),at[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?Vt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Vt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=kt[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=Wt(t,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?Vt(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:e}):Vt(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})}function Kt(e,t,r,n,o,i,a,s,c,A,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=A,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=Lt:n?(this.toWireType=jt,this.destructorFunction=null):(this.toWireType=Ht,this.destructorFunction=null)}function Zt(e,t,r){n.hasOwnProperty(e)||_t("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)}function Jt(e,t,r){return e.includes("j")?function(e,t,r){C("dynCall_".concat(e)in n,"bad function pointer type - no table for sig '".concat(e,"'")),r&&r.length?C(r.length===e.substring(1).replace(/j/g,"--").length):C(1==e.length);var o=n["dynCall_".concat(e)];return r&&r.length?o.apply(null,[t].concat(r)):o.call(null,t)}(e,t,r):(C(q.get(t),"missing table entry in dynCall: ".concat(t)),q.get(t).apply(null,r))}function qt(e,t){var r=(e=$e(e)).includes("j")?function(e,t){C(e.includes("j"),"getDynCaller should only be called with i64 sigs");var r=[];return function(){r.length=arguments.length;for(var n=0;n<arguments.length;n++)r[n]=arguments[n];return Jt(e,t,r)}}(e,t):q.get(t);return"function"!=typeof r&&ct("unknown function pointer with signature ".concat(e,": ").concat(t)),r}var $t=void 0;function er(e,t){var r=[],n={};throw t.forEach((function e(t){n[t]||lt[t]||(wt[t]?wt[t].forEach(e):(r.push(t),n[t]=!0))})),new $t("".concat(e,": ").concat(r.map(dt).join([", "])))}function tr(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(y(e)," which is not a function"));var r=Xe(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,o=e.apply(n,t);return o instanceof Object?o:n}function rr(e,t,r,n,o){var i=t.length;i<2&&ct("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,s=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){s=!0;break}var A="void"!==t[0].name,u="",l="";for(c=0;c<i-2;++c)u+="".concat(0!==c?", ":"","arg").concat(c),l+="".concat(0!==c?", ":"","arg").concat(c,"Wired");var d="return function ".concat(Ge(e),"(").concat(u,") {\nif (arguments.length !== ").concat(i-2,") {\nthrowBindingError('function ").concat(e," called with ' + arguments.length + ' arguments, expected ").concat(i-2," args!');\n}\n");s&&(d+="var destructors = [];\n");var g=s?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[ct,n,o,yt,t[0],t[1]];for(a&&(d+="var thisWired = classParam.toWireType(".concat(g,", this);\n")),c=0;c<i-2;++c)d+="var arg".concat(c,"Wired = argType").concat(c,".toWireType(").concat(g,", arg").concat(c,"); // ").concat(t[c+2].name,"\n"),f.push("argType".concat(c)),h.push(t[c+2]);if(a&&(l="thisWired".concat(l.length>0?", ":"").concat(l)),d+="".concat(A?"var rv = ":"","invoker(fn").concat(l.length>0?", ":"").concat(l,");\n"),s)d+="runDestructors(destructors);\n";else for(c=a?1:2;c<t.length;++c){var p=1===c?"thisWired":"arg".concat(c-2,"Wired");null!==t[c].destructorFunction&&(d+="".concat(p,"_dtor(").concat(p,"); // ").concat(t[c].name,"\n"),f.push("".concat(p,"_dtor")),h.push(t[c].destructorFunction))}return A&&(d+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),d+="}\n",f.push(d),tr(Function,f).apply(null,h)}function nr(e,t){for(var r=[],n=0;n<e;n++)r.push(F[(t>>2)+n]);return r}function or(e,t,r){return e instanceof Object||ct("".concat(r,' with invalid "this": ').concat(e)),e instanceof t.registeredClass.constructor||ct("".concat(r,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||ct("cannot call emscripten binding method ".concat(r," on deleted object")),Ut(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)}function ir(e){e>4&&0==--We[e].refcount&&(We[e]=void 0,Ye.push(e))}function ar(e){if(null===e)return"null";var t=y(e);return"object"===t||"array"===t||"function"===t?e.toString():"".concat(e)}function sr(e,t){switch(t){case 2:return function(e){return this.fromWireType(U[e>>2])};case 3:return function(e){return this.fromWireType(j[e>>3])};default:throw new TypeError("Unknown float type: ".concat(e))}}function cr(e,t,r){switch(t){case 0:return r?function(e){return P[e]}:function(e){return R[e]};case 1:return r?function(e){return S[e>>1]}:function(e){return k[e>>1]};case 2:return r?function(e){return F[e>>2]}:function(e){return N[e>>2]};default:throw new TypeError("Unknown integer type: ".concat(e))}}var Ar={},ur=[],lr=[];function dr(e){try{return m.grow(e-Q.byteLength+65535>>>16),Z(m.buffer),1}catch(t){p("emscripten_realloc_buffer: Attempted to grow heap from ".concat(Q.byteLength," bytes to ").concat(e," bytes, but got error: ").concat(t))}}function gr(e){me("Cannot use emscripten_generate_pc (needed by __builtin_return_address) without -s USE_OFFSET_CONVERTER")}var fr={};function hr(e){e.forEach((function(e){var t=gr();t&&(fr[t]=e)}))}var pr={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){pr.lastError||(pr.lastError=e)},getNewId:function(e){for(var t=pr.counter++,r=e.length;r<t;r++)e[r]=null;return t},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(e){return 32-Math.clz32(0===e?0:e-1)},generateTempBuffers:function(e,t){var r=pr.log2ceilLookup(pr.MAX_TEMP_BUFFER_SIZE);t.tempVertexBufferCounters1=[],t.tempVertexBufferCounters2=[],t.tempVertexBufferCounters1.length=t.tempVertexBufferCounters2.length=r+1,t.tempVertexBuffers1=[],t.tempVertexBuffers2=[],t.tempVertexBuffers1.length=t.tempVertexBuffers2.length=r+1,t.tempIndexBuffers=[],t.tempIndexBuffers.length=r+1;for(var n=0;n<=r;++n){t.tempIndexBuffers[n]=null,t.tempVertexBufferCounters1[n]=t.tempVertexBufferCounters2[n]=0;var o=pr.numTempVertexBuffersPerSize;t.tempVertexBuffers1[n]=[],t.tempVertexBuffers2[n]=[];var i=t.tempVertexBuffers1[n],a=t.tempVertexBuffers2[n];i.length=a.length=o;for(var s=0;s<o;++s)i[s]=a[s]=null}if(e){t.tempQuadIndexBuffer=Gr.createBuffer(),t.GLctx.bindBuffer(34963,t.tempQuadIndexBuffer);for(var c=pr.MAX_TEMP_BUFFER_SIZE>>1,A=new Uint16Array(c),u=(n=0,0);A[n++]=u,!(n>=c||(A[n++]=u+1,n>=c)||(A[n++]=u+2,n>=c)||(A[n++]=u,n>=c)||(A[n++]=u+2,n>=c)||(A[n++]=u+3,n>=c));)u+=4;t.GLctx.bufferData(34963,A,35044),t.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(e){var t=pr.log2ceilLookup(e),r=pr.currentContext.tempVertexBuffers1[t],n=pr.currentContext.tempVertexBufferCounters1[t];pr.currentContext.tempVertexBufferCounters1[t]=pr.currentContext.tempVertexBufferCounters1[t]+1&pr.numTempVertexBuffersPerSize-1;var o=r[n];if(o)return o;var i=Gr.getParameter(34964);return r[n]=Gr.createBuffer(),Gr.bindBuffer(34962,r[n]),Gr.bufferData(34962,1<<t,35048),Gr.bindBuffer(34962,i),r[n]},getTempIndexBuffer:function(e){var t=pr.log2ceilLookup(e),r=pr.currentContext.tempIndexBuffers[t];if(r)return r;var n=Gr.getParameter(34965);return pr.currentContext.tempIndexBuffers[t]=Gr.createBuffer(),Gr.bindBuffer(34963,pr.currentContext.tempIndexBuffers[t]),Gr.bufferData(34963,1<<t,35048),Gr.bindBuffer(34963,n),pr.currentContext.tempIndexBuffers[t]},newRenderingFrameStarted:function(){if(pr.currentContext){var e=pr.currentContext.tempVertexBuffers1;pr.currentContext.tempVertexBuffers1=pr.currentContext.tempVertexBuffers2,pr.currentContext.tempVertexBuffers2=e,e=pr.currentContext.tempVertexBufferCounters1,pr.currentContext.tempVertexBufferCounters1=pr.currentContext.tempVertexBufferCounters2,pr.currentContext.tempVertexBufferCounters2=e;for(var t=pr.log2ceilLookup(pr.MAX_TEMP_BUFFER_SIZE),r=0;r<=t;++r)pr.currentContext.tempVertexBufferCounters1[r]=0}},getSource:function(e,t,r,n){for(var o="",i=0;i<t;++i){var a=n?F[n+4*i>>2]:-1;o+=B(F[r+4*i>>2],a<0?void 0:a)}return o},calcBufLength:function(e,t,r,n){return r>0?n*r:e*pr.byteSizeByType[t-pr.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(e){pr.resetBufferBinding=!1;for(var t=0;t<pr.currentContext.maxVertexAttribs;++t){var r=pr.currentContext.clientBuffers[t];if(r.clientside&&r.enabled){pr.resetBufferBinding=!0;var n=pr.calcBufLength(r.size,r.type,r.stride,e),o=pr.getTempVertexBuffer(n);Gr.bindBuffer(34962,o),Gr.bufferSubData(34962,0,R.subarray(r.ptr,r.ptr+n)),r.vertexAttribPointerAdaptor.call(Gr,t,r.size,r.type,r.normalized,r.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){pr.resetBufferBinding&&Gr.bindBuffer(34962,pr.buffers[Gr.currentArrayBufferBinding])},createContext:function(e,t){t.renderViaOffscreenBackBuffer&&(t.preserveDrawingBuffer=!0);var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?pr.registerContext(r,t):0},enableOffscreenFramebufferAttributes:function(e){e.renderViaOffscreenBackBuffer=!0,e.preserveDrawingBuffer=!0},createOffscreenFramebuffer:function(e){var t=e.GLctx,r=t.createFramebuffer();if(t.bindFramebuffer(36160,r),e.defaultFbo=r,e.defaultFboForbidBlitFramebuffer=!1,t.getContextAttributes().antialias)e.defaultFboForbidBlitFramebuffer=!0;else{var n=navigator.userAgent.toLowerCase().match(/firefox\/(\d\d)/);if(null!=n){var o=n[1];e.defaultFboForbidBlitFramebuffer=o<67}}e.defaultColorTarget=t.createTexture(),e.defaultDepthTarget=t.createRenderbuffer(),pr.resizeOffscreenFramebuffer(e),t.bindTexture(3553,e.defaultColorTarget),t.texParameteri(3553,10241,9728),t.texParameteri(3553,10240,9728),t.texParameteri(3553,10242,33071),t.texParameteri(3553,10243,33071),t.texImage2D(3553,0,6408,t.canvas.width,t.canvas.height,0,6408,5121,null),t.framebufferTexture2D(36160,36064,3553,e.defaultColorTarget,0),t.bindTexture(3553,null),t.createRenderbuffer(),t.bindRenderbuffer(36161,e.defaultDepthTarget),t.renderbufferStorage(36161,33189,t.canvas.width,t.canvas.height),t.framebufferRenderbuffer(36160,36096,36161,e.defaultDepthTarget),t.bindRenderbuffer(36161,null);var i=t.createBuffer();t.bindBuffer(34962,i),t.bufferData(34962,new Float32Array([-1,-1,-1,1,1,-1,1,1]),35044),t.bindBuffer(34962,null),e.blitVB=i;var a=t.createShader(35633);t.shaderSource(a,"attribute vec2 pos;varying lowp vec2 tex;void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }"),t.compileShader(a);var s=t.createShader(35632);t.shaderSource(s,"varying lowp vec2 tex;uniform sampler2D sampler;void main() { gl_FragColor = texture2D(sampler, tex); }"),t.compileShader(s);var c=t.createProgram();t.attachShader(c,a),t.attachShader(c,s),t.linkProgram(c),e.blitProgram=c,e.blitPosLoc=t.getAttribLocation(c,"pos"),t.useProgram(c),t.uniform1i(t.getUniformLocation(c,"sampler"),0),t.useProgram(null),e.defaultVao=void 0,t.createVertexArray&&(e.defaultVao=t.createVertexArray(),t.bindVertexArray(e.defaultVao),t.enableVertexAttribArray(e.blitPosLoc),t.bindVertexArray(null))},resizeOffscreenFramebuffer:function(e){var t=e.GLctx;if(e.defaultColorTarget){var r=t.getParameter(32873);t.bindTexture(3553,e.defaultColorTarget),t.texImage2D(3553,0,6408,t.drawingBufferWidth,t.drawingBufferHeight,0,6408,5121,null),t.bindTexture(3553,r)}if(e.defaultDepthTarget){var n=t.getParameter(36007);t.bindRenderbuffer(36161,e.defaultDepthTarget),t.renderbufferStorage(36161,33189,t.drawingBufferWidth,t.drawingBufferHeight),t.bindRenderbuffer(36161,n)}},blitOffscreenFramebuffer:function(e){var t=e.GLctx,r=t.getParameter(3089);r&&t.disable(3089);var n=t.getParameter(36006);if(t.blitFramebuffer&&!e.defaultFboForbidBlitFramebuffer)t.bindFramebuffer(36008,e.defaultFbo),t.bindFramebuffer(36009,null),t.blitFramebuffer(0,0,t.canvas.width,t.canvas.height,0,0,t.canvas.width,t.canvas.height,16384,9728);else{var o=function(){t.vertexAttribPointer(e.blitPosLoc,2,5126,!1,0,0),t.drawArrays(5,0,4)};t.bindFramebuffer(36160,null);var i=t.getParameter(35725);t.useProgram(e.blitProgram);var a=t.getParameter(34964);t.bindBuffer(34962,e.blitVB);var s=t.getParameter(34016);t.activeTexture(33984);var c=t.getParameter(32873);t.bindTexture(3553,e.defaultColorTarget);var A=t.getParameter(3042);A&&t.disable(3042);var u=t.getParameter(2884);u&&t.disable(2884);var l=t.getParameter(2929);l&&t.disable(2929);var d=t.getParameter(2960);if(d&&t.disable(2960),e.defaultVao){var g=t.getParameter(34229);t.bindVertexArray(e.defaultVao),o(),t.bindVertexArray(g)}else{for(var f={buffer:t.getVertexAttrib(e.blitPosLoc,34975),size:t.getVertexAttrib(e.blitPosLoc,34339),stride:t.getVertexAttrib(e.blitPosLoc,34340),type:t.getVertexAttrib(e.blitPosLoc,34341),normalized:t.getVertexAttrib(e.blitPosLoc,34922),pointer:t.getVertexAttribOffset(e.blitPosLoc,34373)},h=t.getParameter(34921),p=[],E=0;E<h;++E){var m=t.getVertexAttrib(E,34338),y=E==e.blitPosLoc;m&&!y&&t.disableVertexAttribArray(E),!m&&y&&t.enableVertexAttribArray(E),p[E]=m}for(o(),E=0;E<h;++E){m=p[E];var I=E==e.blitPosLoc;m&&!I&&t.enableVertexAttribArray(E),!m&&I&&t.disableVertexAttribArray(E)}t.bindBuffer(34962,f.buffer),t.vertexAttribPointer(e.blitPosLoc,f.size,f.type,f.normalized,f.stride,f.offset)}d&&t.enable(2960),l&&t.enable(2929),u&&t.enable(2884),A&&t.enable(3042),t.bindTexture(3553,c),t.activeTexture(s),t.bindBuffer(34962,a),t.useProgram(i)}t.bindFramebuffer(36160,n),r&&t.enable(3089)},registerContext:function(e,t){var r=pr.getNewId(pr.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=n),pr.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&pr.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return pr.generateTempBuffers(!1,n),t.renderViaOffscreenBackBuffer&&pr.createOffscreenFramebuffer(n),r},makeContextCurrent:function(e){return pr.currentContext=pr.contexts[e],n.ctx=Gr=pr.currentContext&&pr.currentContext.GLctx,!(e&&!Gr)},getContext:function(e){return pr.contexts[e]},deleteContext:function(e){pr.currentContext===pr.contexts[e]&&(pr.currentContext=null),"object"===y(Er)&&Er.removeAllHandlersOnTarget(pr.contexts[e].GLctx.canvas),pr.contexts[e]&&pr.contexts[e].GLctx.canvas&&(pr.contexts[e].GLctx.canvas.GLctxObject=void 0),pr.contexts[e]=null},initExtensions:function(e){if(e||(e=pr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t,r=e.GLctx;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,n,o){t.drawArraysInstancedANGLE(e,r,n,o)},e.drawElementsInstanced=function(e,r,n,o,i){t.drawElementsInstancedANGLE(e,r,n,o,i)})}(r),function(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)})}(r),function(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}(r),(t=r).dibvbi=t.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(e){e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),function(e){e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")}(r),(r.getSupportedExtensions()||[]).forEach((function(e){e.includes("lose_context")||e.includes("debug")||r.getExtension(e)}))}}},Er={inEventHandler:0,removeAllEventListeners:function(){for(var e=Er.eventHandlers.length-1;e>=0;--e)Er._removeHandler(e);Er.eventHandlers=[],Er.deferredCalls=[]},registerRemoveEventListeners:function(){Er.removeEventListenersRegistered||(oe.push(Er.removeAllEventListeners),Er.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(e,t,r){function n(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var o in Er.deferredCalls){var i=Er.deferredCalls[o];if(i.targetFunction==e&&n(i.argsList,r))return}Er.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),Er.deferredCalls.sort((function(e,t){return e.precedence<t.precedence}))},removeDeferredCalls:function(e){for(var t=0;t<Er.deferredCalls.length;++t)Er.deferredCalls[t].targetFunction==e&&(Er.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:function(){return Er.inEventHandler&&Er.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(Er.canPerformEventHandlerRequests())for(var e=0;e<Er.deferredCalls.length;++e){var t=Er.deferredCalls[e];Er.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(e,t){for(var r=0;r<Er.eventHandlers.length;++r)Er.eventHandlers[r].target!=e||t&&t!=Er.eventHandlers[r].eventTypeString||Er._removeHandler(r--)},_removeHandler:function(e){var t=Er.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),Er.eventHandlers.splice(e,1)},registerOrRemoveHandler:function(e){var t=function(t){++Er.inEventHandler,Er.currentEventHandler=e,Er.runDeferredCalls(),e.handlerFunc(t),Er.runDeferredCalls(),--Er.inEventHandler};if(e.callbackfunc)e.eventListenerFunc=t,e.target.addEventListener(e.eventTypeString,t,e.useCapture),Er.eventHandlers.push(e),Er.registerRemoveEventListeners();else for(var r=0;r<Er.eventHandlers.length;++r)Er.eventHandlers[r].target==e.target&&Er.eventHandlers[r].eventTypeString==e.eventTypeString&&Er._removeHandler(r--)},getNodeNameForTarget:function(e){return e?e==window?"#window":e==screen?"#screen":e&&e.nodeName?e.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},mr=["default","low-power","high-performance"],yr=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0];function Ir(e){return"number"==typeof e&&(e=B(e)),e&&"#canvas"!==e?void 0!==pr&&pr.offscreenCanvases[e]?pr.offscreenCanvases[e]:function(e){E("Rules for selecting event targets in HTML5 API are changing: instead of using document.getElementById() that only can refer to elements by their DOM ID, new event target selection mechanism uses the more flexible function document.querySelector() that can look up element names, classes, and complex CSS selectors. Build with -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1 to change to the new lookup rules. See https://github.com/emscripten-core/emscripten/pull/7977 for more details.");try{return e?("number"==typeof e&&(e=yr[e]||B(e)),"#window"===e?window:"#document"===e?document:"#screen"===e?screen:"#canvas"===e?n.canvas:"string"==typeof e?document.getElementById(e):e):window}catch(e){return null}}(e):void 0!==pr&&pr.offscreenCanvases.canvas?pr.offscreenCanvases.canvas:n.canvas}function vr(){return pr.currentContext?pr.currentContext.handle:0}function wr(e){return pr.makeContextCurrent(e)?0:-5}n._emscripten_webgl_get_current_context=vr,n._emscripten_webgl_make_context_current=wr;var Cr={};function _r(){if(!_r.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:"".concat(("object"===("undefined"==typeof navigator?"undefined":y(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_"),".UTF-8"),_:a||"./this.program"};for(var t in Cr)void 0===Cr[t]?delete e[t]:e[t]=Cr[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));_r.strings=r}return _r.strings}var br=[];function Br(e,t,r,n){for(var o=0;o<e;o++){var i=Gr[r](),a=i&&pr.getNewId(n);i?(i.name=a,n[a]=i):pr.recordError(1282),F[t+4*o>>2]=a}}function Dr(e,t){N[e>>2]=t,N[e+4>>2]=(t-N[e>>2])/4294967296;var r=t>=0?function(e){return N[e>>2]+4294967296*N[e+4>>2]}(e):function(e){return N[e>>2]+4294967296*F[e+4>>2]}(e);r!=t&&E("writeI53ToI64() out of range: serialized JS Number ".concat(t," to Wasm heap as bytes lo=0x").concat(N[e>>2].toString(16),", hi=0x").concat(N[e+4>>2].toString(16),", which deserializes back to ").concat(r," instead!"))}function Tr(e){var t=O(e)+1,r=Jr(t);return T(e,r,t),r}function Or(e){return"]"==e.slice(-1)&&e.lastIndexOf("[")}function Qr(e){return 0==(e-=5120)?P:1==e?R:2==e?S:4==e?F:6==e?U:5==e||28922==e||28520==e||30779==e||30782==e?N:k}function Pr(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function Mr(e,t,r,n,o,i){var a=Qr(e),s=Pr(a),c=1<<s,A=function(e){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1}(t)*c,u=function(e,t,r,n){var o=function(e,t){return e+t-1&-t}(e*r,n);return t*o}(r,n,A,pr.unpackAlignment);return a.subarray(o>>s,o+u>>s)}function Rr(e){var t=Gr.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=Gr.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?"[".concat(r,"]"):""))),r}pr.recordError(1282)}var Sr=[],kr=[];function Fr(){if(!Fr.called){Fr.called=!0;var e=(new Date).getFullYear(),t=new Date(e,0,1),r=new Date(e,6,1),n=t.getTimezoneOffset(),o=r.getTimezoneOffset(),i=Math.max(n,o);F[nn()>>2]=60*i,F[rn()>>2]=Number(n!=o);var a=u(t),s=u(r),c=z(a),A=z(s);o<n?(F[tn()>>2]=c,F[tn()+4>>2]=A):(F[tn()>>2]=A,F[tn()+4>>2]=c)}function u(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}function xr(e){return e%4==0&&(e%100!=0||e%400==0)}function Nr(e,t){for(var r=0,n=0;n<=t;r+=e[n++]);return r}var Ur=[31,29,31,30,31,30,31,31,30,31,30,31],jr=[31,28,31,30,31,30,31,31,30,31,30,31];function Lr(e,t){for(var r=new Date(e.getTime());t>0;){var n=xr(r.getFullYear()),o=r.getMonth(),i=(n?Ur:jr)[o];if(!(t>i-r.getDate()))return r.setDate(r.getDate()+t),r;t-=i-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function Hr(e,t,r,n){var o=F[n+40>>2],i={tm_sec:F[n>>2],tm_min:F[n+4>>2],tm_hour:F[n+8>>2],tm_mday:F[n+12>>2],tm_mon:F[n+16>>2],tm_year:F[n+20>>2],tm_wday:F[n+24>>2],tm_yday:F[n+28>>2],tm_isdst:F[n+32>>2],tm_gmtoff:F[n+36>>2],tm_zone:o?B(o):""},a=B(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in s)a=a.replace(new RegExp(c,"g"),s[c]);var A=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length<t;)n=r[0]+n;return n}function d(e,t){return l(e,t,"0")}function g(e,t){function r(e){return e<0?-1:e>0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=Lr(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=f(r),i=f(n);return g(o,t)<=0?g(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var p={"%a":function(e){return A[e.tm_wday].substring(0,3)},"%A":function(e){return A[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return l(e.tm_mday,2," ")},"%g":function(e){return h(e).toString().substring(2)},"%G":function(e){return h(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":function(e){return d(e.tm_mday+Nr(xr(e.tm_year+1900)?Ur:jr,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=new Date(e.tm_year+1900,0,1),r=0===t.getDay()?t:Lr(t,7-t.getDay()),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(g(r,n)<0){var o=Nr(xr(n.getFullYear())?Ur:jr,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===g(r,t)?"01":"00"},"%V":function(e){var t,r=new Date(e.tm_year+1900,0,4),n=new Date(e.tm_year+1901,0,4),o=f(r),i=f(n),a=Lr(new Date(e.tm_year+1900,0,1),e.tm_yday);return g(a,o)<0?"53":g(i,a)<=0?"01":(t=o.getFullYear()<e.tm_year+1900?e.tm_yday+32-o.getDate():e.tm_yday+1-o.getDate(),d(Math.ceil(t/7),2))},"%w":function(e){return e.tm_wday},"%W":function(e){var t=new Date(e.tm_year,0,1),r=1===t.getDay()?t:Lr(t,0===t.getDay()?1:7-t.getDay()+1),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(g(r,n)<0){var o=Nr(xr(n.getFullYear())?Ur:jr,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===g(r,t)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000".concat(t)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var c in p)a.includes(c)&&(a=a.replace(new RegExp(c,"g"),p[c](i)));var E,m,y=zr(a,!1);return y.length>t?0:(m=e,C((E=y).length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),P.set(E,m),y.length-1)}n.requestFullscreen=function(e,t){_e.requestFullscreen(e,t)},n.requestFullScreen=function(){_e.requestFullScreen()},n.requestAnimationFrame=function(e){_e.requestAnimationFrame(e)},n.setCanvasSize=function(e,t,r){_e.setCanvasSize(e,t,r)},n.pauseMainLoop=function(){_e.mainLoop.pause()},n.resumeMainLoop=function(){_e.mainLoop.resume()},n.getUserMedia=function(){_e.getUserMedia()},n.createContext=function(e,t,r,n){return _e.createContext(e,t,r,n)};var Gr,Xr=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Le.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(Xr.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Le.isDir(this.mode)}},isDevice:{get:function(){return Le.isChrdev(this.mode)}}}),Le.FSNode=Xr,Le.staticInit(),n.FS_createPath=Le.createPath,n.FS_createDataFile=Le.createDataFile,n.FS_createPreloadedFile=Le.createPreloadedFile,n.FS_createLazyFile=Le.createLazyFile,n.FS_createDevice=Le.createDevice,n.FS_unlink=Le.unlink,n.count_emval_handles=Ve,n.get_first_emval=ze,Je=n.PureVirtualError=Ze(Error,"PureVirtualError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);qe=e}(),n.getInheritedInstanceCount=et,n.getLiveInheritedInstances=tt,n.flushPendingDeletes=nt,n.setDelayFunction=it,st=n.BindingError=Ze(Error,"BindingError"),Ct=n.InternalError=Ze(Error,"InternalError"),St.prototype.isAliasOf=Tt,St.prototype.clone=Qt,St.prototype.delete=Pt,St.prototype.isDeleted=Mt,St.prototype.deleteLater=Rt,Kt.prototype.getPointee=Gt,Kt.prototype.destructor=Xt,Kt.prototype.argPackAdvance=8,Kt.prototype.readValueFromPointer=It,Kt.prototype.deleteObject=Yt,Kt.prototype.fromWireType=zt,$t=n.UnboundTypeError=Ze(Error,"UnboundTypeError");for(var Yr=0;Yr<32;++Yr)br.push(new Array(Yr));var Wr=new Float32Array(288);for(Yr=0;Yr<288;++Yr)Sr[Yr]=Wr.subarray(0,Yr+1);var Vr=new Int32Array(288);for(Yr=0;Yr<288;++Yr)kr[Yr]=Vr.subarray(0,Yr+1);function zr(e,t,r){var n=O(e)+1,o=new Array(n),i=D(e,o,0,o.length);return t&&(o.length=i),o}var Kr={HaveOffsetConverter:function(){return"undefined"!=typeof wasmOffsetConverter},__cxa_allocate_exception:function(e){return Jr(e+16)+16},__cxa_atexit:function(e,t){},__cxa_begin_catch:function(e){var t=new Te(e),r=t.get_exception_info();return r.get_caught()||r.set_caught(!0),r.set_rethrown(!1),Oe.push(t),function(e){e.add_ref()}(r),t.get_exception_ptr()},__cxa_end_catch:function(){An(0),C(Oe.length>0);var e=Oe.pop();!function(e){if(e.release_ref()&&!e.get_rethrown()){var t=e.get_destructor();t&&q.get(t)(e.excPtr),Pe(e.excPtr)}}(e.get_exception_info()),e.free(),Qe=0},__cxa_find_matching_catch_2:function(){var e=Qe;if(!e)return v(0),0;var t=new De(e).get_type(),r=new Te;if(r.set_base_ptr(e),r.set_adjusted_ptr(e),!t)return v(0),0|r.ptr;for(var n=Array.prototype.slice.call(arguments),o=0;o<n.length;o++){var i=n[o];if(0===i||i===t)break;if(un(i,t,r.get_adjusted_ptr_addr()))return v(i),0|r.ptr}return v(t),0|r.ptr},__cxa_find_matching_catch_3:function(){var e=Qe;if(!e)return v(0),0;var t=new De(e).get_type(),r=new Te;if(r.set_base_ptr(e),r.set_adjusted_ptr(e),!t)return v(0),0|r.ptr;for(var n=Array.prototype.slice.call(arguments),o=0;o<n.length;o++){var i=n[o];if(0===i||i===t)break;if(un(i,t,r.get_adjusted_ptr_addr()))return v(i),0|r.ptr}return v(t),0|r.ptr},__cxa_free_exception:Pe,__cxa_rethrow:function(){var e=Oe.pop();e||me("no exception to throw");var t=e.get_exception_info(),r=e.get_base_ptr();throw t.get_rethrown()?e.free():(Oe.push(e),t.set_rethrown(!0),t.set_caught(!1)),Qe=r,"".concat(r," - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch.")},__cxa_thread_atexit:function(e,t){},__cxa_throw:function(e,t,r){throw new De(e).init(t,r),Qe=e,"".concat(e," - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch.")},__resumeException:function(e){var t=new Te(e),r=t.get_base_ptr();throw Qe||(Qe=r),t.free(),"".concat(r," - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch.")},__sys_fcntl64:function(e,t,r){He.varargs=r;try{var n=He.getStreamFromFD(e);switch(t){case 0:return(o=He.get())<0?-28:Le.open(n.path,n.flags,0,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=He.get();return n.flags|=o,0;case 12:return o=He.get(),S[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return Me(28),-1}}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),-e.errno}},__sys_ioctl:function(e,t,r){He.varargs=r;try{var n=He.getStreamFromFD(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=He.get();return F[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:return o=He.get(),Le.ioctl(n,t,o);default:me("bad ioctl syscall ".concat(t))}}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),-e.errno}},__sys_mmap2:function(e,t,r,n,o,i){try{return function(e,t,r,n,o,i){var a;i<<=12;var s=!1;if(16&n&&e%65536!=0)return-28;if(32&n){if(!(a=xe(t)))return-48;s=!0}else{var c=Le.getStream(o);if(!c)return-8;var A=Le.mmap(c,e,t,i,r,n);a=A.ptr,s=A.allocated}return He.mappings[a]={malloc:a,len:t,allocated:s,fd:o,prot:r,flags:n,offset:i},a}(e,t,r,n,o,i)}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),-e.errno}},__sys_open:function(e,t,r){He.varargs=r;try{var n=He.getStr(e),o=r?He.get():0;return Le.open(n,t,o).fd}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),-e.errno}},__sys_stat64:function(e,t){try{return e=He.getStr(e),He.doStat(Le.stat,e,t)}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),-e.errno}},_embind_create_inheriting_constructor:function(e,t,r){e=$e(e),t=gt(t,"wrapper"),r=ut(r);var n=[].slice,o=t.registeredClass,i=o.instancePrototype,a=o.baseClass.instancePrototype,s=o.baseClass.constructor,c=Xe(e,(function(){var e=this;o.baseClass.pureVirtualFunctions.forEach((function(t){if(e[t]===a[t])throw new Je("Pure virtual function ".concat(t," must be implemented in JavaScript"))})),Object.defineProperty(this,"__parent",{value:i}),this.__construct.apply(this,n.call(arguments))}));for(var A in i.__construct=function(){this===i&&ct("Pass correct 'this' to __construct");var e=s.implement.apply(void 0,[this].concat(n.call(arguments)));ft(e);var t,r,a,c=e.$$;e.notifyOnDestruction(),c.preservePointerOnDelete=!0,Object.defineProperties(this,{$$:{value:c}}),Et(this),t=o,r=c.ptr,a=this,r=At(t,r),at.hasOwnProperty(r)?ct("Tried to register registered instance: ".concat(r)):at[r]=a},i.__destruct=function(){var e,t;this===i&&ct("Pass correct 'this' to __destruct"),ft(this),e=o,t=this.$$.ptr,t=At(e,t),at.hasOwnProperty(t)?delete at[t]:ct("Tried to unregister unregistered instance: ".concat(t))},c.prototype=Object.create(i),r)c.prototype[A]=r[A];return Ke(c)},_embind_finalize_value_object:function(e){var t=mt[e];delete mt[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields;bt([e],o.map((function(e){return e.getterReturnType})).concat(o.map((function(e){return e.setterArgumentType}))),(function(e){var i={};return o.forEach((function(t,r){var n=t.fieldName,a=e[r],s=t.getter,c=t.getterContext,A=e[r+o.length],u=t.setter,l=t.setterContext;i[n]={read:function(e){return a.fromWireType(s(c,e))},write:function(e,t){var r=[];u(l,e,A.toWireType(r,t)),yt(r)}}})),[{name:t.name,fromWireType:function(e){var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:function(e,t){for(var o in i)if(!(o in t))throw new TypeError('Missing field: "'.concat(o,'"'));var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},argPackAdvance:8,readValueFromPointer:It,destructorFunction:n}]}))},_embind_register_bigint:function(e,t,r,n,o){},_embind_register_bool:function(e,t,r,n,o){var i=Bt(r);Dt(e,{name:t=$e(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:o},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===r)n=P;else if(2===r)n=S;else{if(4!==r)throw new TypeError("Unknown boolean type size: ".concat(t));n=F}return this.fromWireType(n[e>>i])},destructorFunction:null})},_embind_register_class:function(e,t,r,n,o,i,a,s,c,A,u,l,d){u=$e(u),i=qt(o,i),s&&(s=qt(a,s)),A&&(A=qt(c,A)),d=qt(l,d);var g=Ge(u);xt(g,(function(){er("Cannot construct ".concat(u," due to unbound types"),[n])})),bt([e,t,r],n?[n]:[],(function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:St.prototype;var a=Xe(g,(function(){if(Object.getPrototypeOf(this)!==c)throw new st("Use 'new' to construct ".concat(u));if(void 0===l.constructor_body)throw new st("".concat(u," has no accessible constructor"));var e=l.constructor_body[arguments.length];if(void 0===e)throw new st("Tried to invoke ctor of ".concat(u," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(l.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)})),c=Object.create(o,{constructor:{value:a}});a.prototype=c;var l=new Nt(u,a,c,d,r,i,s,A),f=new Kt(u,l,!0,!1,!1),h=new Kt("".concat(u,"*"),l,!1,!1,!1),p=new Kt("".concat(u," const*"),l,!1,!0,!1);return kt[e]={pointerType:h,constPointerType:p},Zt(g,a),[f,h,p]}))},_embind_register_class_class_function:function(e,t,r,n,o,i,a){var s=nr(r,n);t=$e(t),i=qt(o,i),bt([],[e],(function(e){e=e[0];var n="".concat(e.name,".").concat(t);function o(){er("Cannot call ".concat(n," due to unbound types"),s)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var c=e.registeredClass.constructor;return void 0===c[t]?(o.argCount=r-1,c[t]=o):(Ft(c,t,n),c[t].overloadTable[r-1]=o),bt([],s,(function(e){var o=[e[0],null].concat(e.slice(1)),s=rr(n,o,null,i,a);return void 0===c[t].overloadTable?(s.argCount=r-1,c[t]=s):c[t].overloadTable[r-1]=s,[]})),[]}))},_embind_register_class_constructor:function(e,t,r,n,o,i){C(t>0);var a=nr(t,r);o=qt(n,o),bt([],[e],(function(e){e=e[0];var r="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new st("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=function(){er("Cannot construct ".concat(e.name," due to unbound types"),a)},bt([],a,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=rr(r,n,null,o,i),[]})),[]}))},_embind_register_class_function:function(e,t,r,n,o,i,a,s){var c=nr(r,n);t=$e(t),i=qt(o,i),bt([],[e],(function(e){e=e[0];var n="".concat(e.name,".").concat(t);function o(){er("Cannot call ".concat(n," due to unbound types"),c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var A=e.registeredClass.instancePrototype,u=A[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,A[t]=o):(Ft(A,t,n),A[t].overloadTable[r-2]=o),bt([],c,(function(o){var s=rr(n,o,e,i,a);return void 0===A[t].overloadTable?(s.argCount=r-2,A[t]=s):A[t].overloadTable[r-2]=s,[]})),[]}))},_embind_register_class_property:function(e,t,r,n,o,i,a,s,c,A){t=$e(t),o=qt(n,o),bt([],[e],(function(e){e=e[0];var n="".concat(e.name,".").concat(t),u={get:function(){er("Cannot access ".concat(n," due to unbound types"),[r,a])},enumerable:!0,configurable:!0};return u.set=c?function(){er("Cannot access ".concat(n," due to unbound types"),[r,a])}:function(e){ct("".concat(n," is a read-only property"))},Object.defineProperty(e.registeredClass.instancePrototype,t,u),bt([],c?[r,a]:[r],(function(r){var a=r[0],u={get:function(){var t=or(this,e,"".concat(n," getter"));return a.fromWireType(o(i,t))},enumerable:!0};if(c){c=qt(s,c);var l=r[1];u.set=function(t){var r=or(this,e,"".concat(n," setter")),o=[];c(A,r,l.toWireType(o,t)),yt(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,u),[]})),[]}))},_embind_register_emval:function(e,t){Dt(e,{name:t=$e(t),fromWireType:function(e){var t=We[e].value;return ir(e),t},toWireType:function(e,t){return Ke(t)},argPackAdvance:8,readValueFromPointer:It,destructorFunction:null})},_embind_register_float:function(e,t,r){var n=Bt(r);Dt(e,{name:t=$e(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'.concat(ar(t),'" to ').concat(this.name));return t},argPackAdvance:8,readValueFromPointer:sr(t,n),destructorFunction:null})},_embind_register_function:function(e,t,r,n,o,i){var a=nr(t,r);e=$e(e),o=qt(n,o),xt(e,(function(){er("Cannot call ".concat(e," due to unbound types"),a)}),t-1),bt([],a,(function(r){var n=[r[0],null].concat(r.slice(1));return Zt(e,rr(e,n,null,o,i),t-1),[]}))},_embind_register_integer:function(e,t,r,n,o){t=$e(t),-1===o&&(o=4294967295);var i=Bt(r),a=function(e){return e};if(0===n){var s=32-8*r;a=function(e){return e<<s>>>s}}var c=t.includes("unsigned");Dt(e,{name:t,fromWireType:a,toWireType:function(e,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'.concat(ar(r),'" to ').concat(this.name));if(r<n||r>o)throw new TypeError('Passing a number "'.concat(ar(r),'" from JS side to C/C++ side to an argument of type "').concat(t,'", which is outside the valid range [').concat(n,", ").concat(o,"]!"));return c?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:cr(t,i,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=N,r=t[e>>=2],o=t[e+1];return new n(Q,o,r)}Dt(e,{name:r=$e(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,t){var r="std::string"===(t=$e(t));Dt(e,{name:t,fromWireType:function(e){var t,n=N[e>>2];if(r)for(var o=e+4,i=0;i<=n;++i){var a=e+4+i;if(i==n||0==R[a]){var s=B(o,a-o);void 0===t?t=s:(t+=String.fromCharCode(0),t+=s),o=a+1}}else{var c=new Array(n);for(i=0;i<n;++i)c[i]=String.fromCharCode(R[e+4+i]);t=c.join("")}return Zr(e),t},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||ct("Cannot pass non-string to std::string");var o=(r&&n?function(){return O(t)}:function(){return t.length})(),i=Jr(4+o+1);if(N[i>>2]=o,r&&n)T(t,i+4,o+1);else if(n)for(var a=0;a<o;++a){var s=t.charCodeAt(a);s>255&&(Zr(i),ct("String has UTF-16 code units that do not fit in 8 bits")),R[i+4+a]=s}else for(a=0;a<o;++a)R[i+4+a]=t[a];return null!==e&&e.push(Zr,i),i},argPackAdvance:8,readValueFromPointer:It,destructorFunction:function(e){Zr(e)}})},_embind_register_std_wstring:function(e,t,r){var n,o,i,a,s;r=$e(r),2===t?(n=H,o=G,a=X,i=function(){return k},s=1):4===t&&(n=Y,o=W,a=V,i=function(){return N},s=2),Dt(e,{name:r,fromWireType:function(e){for(var r,o=N[e>>2],a=i(),c=e+4,A=0;A<=o;++A){var u=e+4+A*t;if(A==o||0==a[u>>s]){var l=n(c,u-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=u+t}}return Zr(e),r},toWireType:function(e,n){"string"!=typeof n&&ct("Cannot pass non-string to C++ string type ".concat(r));var i=a(n),c=Jr(4+i+t);return N[c>>2]=i>>s,o(n,c+4,i+t),null!==e&&e.push(Zr,c),c},argPackAdvance:8,readValueFromPointer:It,destructorFunction:function(e){Zr(e)}})},_embind_register_value_object:function(e,t,r,n,o,i){mt[e]={name:$e(t),rawConstructor:qt(r,n),rawDestructor:qt(o,i),fields:[]}},_embind_register_value_object_field:function(e,t,r,n,o,i,a,s,c,A){mt[e].fields.push({fieldName:$e(t),getterReturnType:r,getter:qt(n,o),getterContext:i,setterArgumentType:a,setter:qt(s,c),setterContext:A})},_embind_register_void:function(e,t){Dt(e,{isVoid:!0,name:t=$e(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},_emval_call_void_method:function(e,t,r,n){var o,i;(e=ur[e])(t=ut(t),r=void 0===(i=Ar[o=r])?$e(o):i,null,n)},_emval_decref:ir,_emval_get_method_caller:function(e,t){for(var r=function(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=gt(F[(t>>2)+n],"parameter ".concat(n));return r}(e,t),n=r[0],o="".concat(n.name,"_$").concat(r.slice(1).map((function(e){return e.name})).join("_"),"$"),i=["retType"],a=[n],s="",c=0;c<e-1;++c)s+="".concat(0!==c?", ":"","arg").concat(c),i.push("argType".concat(c)),a.push(r[1+c]);var A=Ge("methodCaller_".concat(o)),u="return function ".concat(A,"(handle, name, destructors, args) {\n"),l=0;for(c=0;c<e-1;++c)u+=" var arg".concat(c," = argType").concat(c,".readValueFromPointer(args").concat(l?"+".concat(l):"",");\n"),l+=r[c+1].argPackAdvance;for(u+=" var rv = handle[name](".concat(s,");\n"),c=0;c<e-1;++c)r[c+1].deleteObject&&(u+=" argType".concat(c,".deleteObject(arg").concat(c,");\n"));n.isVoid||(u+=" return retType.toWireType(destructors, rv);\n"),u+="};\n",i.push(u);var d,g,f=tr(Function,i).apply(null,a);return d=f,g=ur.length,ur.push(d),g},_emval_incref:function(e){e>4&&(We[e].refcount+=1)},_emval_take_value:function(e,t){return Ke((e=gt(e,"_emval_take_value")).readValueFromPointer(t))},abort:function(){me()},clock_gettime:function(e,t){var r;if(0===e)r=Date.now();else{if(1!==e&&4!==e)return Me(28),-1;r=Ie()}return F[t>>2]=r/1e3|0,F[t+4>>2]=r%1e3*1e3*1e3|0,0},dlopen:function(e,t){me("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},dlsym:function(e,t){me("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},emscripten_asm_const_int:function(e,t,r){var n=function(e,t){var r;for(C(Array.isArray(lr)),C(t%16==0),lr.length=0,t>>=2;r=R[e++];){C(100===r||102===r||105===r);var n=r<105;n&&1&t&&t++,lr.push(n?j[t++>>1]:F[t]),++t}return lr}(t,r);return ve.hasOwnProperty(e)||me("No EM_ASM constant found at address ".concat(e)),ve[e].apply(null,n)},emscripten_get_heap_max:function(){return 2147483648},emscripten_memcpy_big:function(e,t,r){R.copyWithin(e,t,t+r)},emscripten_pc_get_function:function(e){me("Cannot use emscripten_pc_get_function without -s USE_OFFSET_CONVERTER")},emscripten_resize_heap:function(e){var t=R.length;C((e>>>=0)>t);var r=2147483648;if(e>r)return p("Cannot enlarge memory, asked to go up to ".concat(e," bytes, but the limit is ").concat(r," bytes!")),!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,K(Math.max(e,o),65536));if(dr(i))return!0}return p("Failed to grow the heap from ".concat(t," bytes to ").concat(i," bytes, not enough memory!")),!1},emscripten_stack_snapshot:function(){var e=(new Error).stack.split("\n");return"Error"==e[0]&&e.shift(),hr(e),fr.last_addr=gr(e[2]),fr.last_stack=e,fr.last_addr},emscripten_stack_unwind_buffer:function(e,t,r){var n;fr.last_addr==e?n=fr.last_stack:("Error"==(n=(new Error).stack.split("\n"))[0]&&n.shift(),hr(n));for(var o=2;n[o]&&gr(n[o])!=e;)++o;for(var i=0;i<r&&n[i+o];++i)F[t+4*i>>2]=gr(n[i+o]);return i},emscripten_thread_sleep:function(e){for(var t=Ie();Ie()-t<e;);},emscripten_webgl_create_context:function(e,t){return function(e,t){C(t);var r=t>>2,n=F[r+6],o={alpha:!!F[r+0],depth:!!F[r+1],stencil:!!F[r+2],antialias:!!F[r+3],premultipliedAlpha:!!F[r+4],preserveDrawingBuffer:!!F[r+5],powerPreference:mr[n],failIfMajorPerformanceCaveat:!!F[r+7],majorVersion:F[r+8],minorVersion:F[r+9],enableExtensionsByDefault:F[r+10],explicitSwapControl:F[r+11],proxyContextToMainThread:F[r+12],renderViaOffscreenBackBuffer:F[r+13]},i=Ir(e);if(!i)return 0;if(i.offscreenCanvas&&(i=i.offscreenCanvas),o.explicitSwapControl&&(i.transferControlToOffscreen||"undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas||o.renderViaOffscreenBackBuffer||(o.renderViaOffscreenBackBuffer=!0),i.transferControlToOffscreen)){if(i.controlTransferredOffscreen){if(!pr.offscreenCanvases[i.id])return 0}else pr.offscreenCanvases[i.id]={canvas:i.transferControlToOffscreen(),canvasSharedPtr:Jr(12),id:i.id},i.controlTransferredOffscreen=!0;i=pr.offscreenCanvases[i.id]}return pr.createContext(i,o)}(e,t)},emscripten_webgl_destroy_context:function(e){pr.currentContext==e&&(pr.currentContext=0),pr.deleteContext(e)},emscripten_webgl_get_context_attributes:function(e,t){if(!t)return-5;if(!(e=pr.contexts[e]))return-3;var r=e.GLctx;if(!r)return-3;r=r.getContextAttributes(),F[t>>2]=r.alpha,F[t+4>>2]=r.depth,F[t+8>>2]=r.stencil,F[t+12>>2]=r.antialias,F[t+16>>2]=r.premultipliedAlpha,F[t+20>>2]=r.preserveDrawingBuffer;var n=r.powerPreference&&mr.indexOf(r.powerPreference);return F[t+24>>2]=n,F[t+28>>2]=r.failIfMajorPerformanceCaveat,F[t+32>>2]=e.version,F[t+36>>2]=0,F[t+40>>2]=e.attributes.enableExtensionsByDefault,0},emscripten_webgl_get_current_context:vr,emscripten_webgl_init_context_attributes:function(e){C(e);for(var t=e>>2,r=0;r<14;++r)F[t+r]=0;F[t+0]=F[t+1]=F[t+3]=F[t+4]=F[t+8]=F[t+10]=1},emscripten_webgl_make_context_current:wr,environ_get:function(e,t){var r=0;return _r().forEach((function(n,o){var i=t+r;F[e+4*o>>2]=i,function(e,t){for(var r=0;r<e.length;++r)C(e.charCodeAt(r)==e.charCodeAt(r)&255),P[0|t++]=e.charCodeAt(r);P[0|t]=0}(n,i),r+=n.length+1})),0},environ_sizes_get:function(e,t){var r=_r();F[e>>2]=r.length;var n=0;return r.forEach((function(e){n+=e.length+1})),F[t>>2]=n,0},exit:function(e){!function(e){!function(){var e=h,t=p,r=!1;h=p=function(e){r=!0};try{var o=n._fflush;o&&o(0),["stdout","stderr"].forEach((function(e){var t=Le.analyzePath("/dev/".concat(e));if(t){var n=t.object.rdev,o=Fe.ttys[n];o&&o.output&&o.output.length&&(r=!0)}}))}catch(e){}h=e,p=t,r&&E("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}();var t="program exited (with status: ".concat(e,"), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)");r(t),p(t),hn(e)}(e)},fd_close:function(e){try{var t=He.getStreamFromFD(e);return Le.close(t),0}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),e.errno}},fd_read:function(e,t,r,n){try{var o=He.getStreamFromFD(e),i=He.doReadv(o,t,r);return F[n>>2]=i,0}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),e.errno}},fd_seek:function(e,t,r,n,o){try{var i=He.getStreamFromFD(e),a=4294967296*r+(t>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(Le.llseek(i,a,n),ue=[i.position>>>0,(Ae=i.position,+Math.abs(Ae)>=1?Ae>0?(0|Math.min(+Math.floor(Ae/4294967296),4294967295))>>>0:~~+Math.ceil((Ae-+(~~Ae>>>0))/4294967296)>>>0:0)],F[o>>2]=ue[0],F[o+4>>2]=ue[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),e.errno}},fd_write:function(e,t,r,n){try{var o=He.getStreamFromFD(e),i=He.doWritev(o,t,r);return F[n>>2]=i,0}catch(e){return void 0!==Le&&e instanceof Le.ErrnoError||me(e),e.errno}},getTempRet0:function(){return I},getentropy:function e(t,r){e.randomDevice||(e.randomDevice=Se());for(var n=0;n<r;n++)P[t+n|0]=e.randomDevice();return 0},glActiveTexture:function(e){Gr.activeTexture(e)},glAttachShader:function(e,t){Gr.attachShader(pr.programs[e],pr.shaders[t])},glBindAttribLocation:function(e,t,r){Gr.bindAttribLocation(pr.programs[e],t,B(r))},glBindBuffer:function(e,t){34962==e?Gr.currentArrayBufferBinding=t:34963==e&&(Gr.currentElementArrayBufferBinding=t),35051==e?Gr.currentPixelPackBufferBinding=t:35052==e&&(Gr.currentPixelUnpackBufferBinding=t),Gr.bindBuffer(e,pr.buffers[t])},glBindBufferBase:function(e,t,r){Gr.bindBufferBase(e,t,pr.buffers[r])},glBindFramebuffer:function(e,t){Gr.bindFramebuffer(e,t?pr.framebuffers[t]:pr.currentContext.defaultFbo)},glBindTexture:function(e,t){Gr.bindTexture(e,pr.textures[t])},glBindVertexArray:function(e){Gr.bindVertexArray(pr.vaos[e]);var t=Gr.getParameter(34965);Gr.currentElementArrayBufferBinding=t?0|t.name:0},glBufferData:function(e,t,r,n){pr.currentContext.version>=2?r?Gr.bufferData(e,R,n,r,t):Gr.bufferData(e,t,n):Gr.bufferData(e,r?R.subarray(r,r+t):t,n)},glClientWaitSync:function(e,t,r,n){return Gr.clientWaitSync(pr.syncs[e],t,(o=r,C((i=n)===(0|i)),(o>>>0)+4294967296*i));var o,i},glCompileShader:function(e){Gr.compileShader(pr.shaders[e])},glCreateProgram:function(){var e=pr.getNewId(pr.programs),t=Gr.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,pr.programs[e]=t,e},glCreateShader:function(e){var t=pr.getNewId(pr.shaders);return pr.shaders[t]=Gr.createShader(e),t},glDeleteBuffers:function(e,t){for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=pr.buffers[n];o&&(Gr.deleteBuffer(o),o.name=0,pr.buffers[n]=null,n==Gr.currentArrayBufferBinding&&(Gr.currentArrayBufferBinding=0),n==Gr.currentElementArrayBufferBinding&&(Gr.currentElementArrayBufferBinding=0),n==Gr.currentPixelPackBufferBinding&&(Gr.currentPixelPackBufferBinding=0),n==Gr.currentPixelUnpackBufferBinding&&(Gr.currentPixelUnpackBufferBinding=0))}},glDeleteFramebuffers:function(e,t){for(var r=0;r<e;++r){var n=F[t+4*r>>2],o=pr.framebuffers[n];o&&(Gr.deleteFramebuffer(o),o.name=0,pr.framebuffers[n]=null)}},glDeleteProgram:function(e){if(e){var t=pr.programs[e];t?(Gr.deleteProgram(t),t.name=0,pr.programs[e]=null):pr.recordError(1281)}},glDeleteShader:function(e){if(e){var t=pr.shaders[e];t?(Gr.deleteShader(t),pr.shaders[e]=null):pr.recordError(1281)}},glDeleteSync:function(e){if(e){var t=pr.syncs[e];t?(Gr.deleteSync(t),t.name=0,pr.syncs[e]=null):pr.recordError(1281)}},glDeleteTextures:function(e,t){for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=pr.textures[n];o&&(Gr.deleteTexture(o),o.name=0,pr.textures[n]=null)}},glDeleteVertexArrays:function(e,t){for(var r=0;r<e;r++){var n=F[t+4*r>>2];Gr.deleteVertexArray(pr.vaos[n]),pr.vaos[n]=null}},glDisable:function(e){Gr.disable(e)},glDisableVertexAttribArray:function(e){pr.currentContext.clientBuffers[e].enabled=!1,Gr.disableVertexAttribArray(e)},glDrawArrays:function(e,t,r){pr.preDrawHandleClientVertexAttribBindings(t+r),Gr.drawArrays(e,t,r),pr.postDrawHandleClientVertexAttribBindings()},glDrawBuffers:function(e,t){for(var r=br[e],n=0;n<e;n++)r[n]=F[t+4*n>>2];Gr.drawBuffers(r)},glEnableVertexAttribArray:function(e){pr.currentContext.clientBuffers[e].enabled=!0,Gr.enableVertexAttribArray(e)},glFenceSync:function(e,t){var r=Gr.fenceSync(e,t);if(r){var n=pr.getNewId(pr.syncs);return r.name=n,pr.syncs[n]=r,n}return 0},glFinish:function(){Gr.finish()},glFlush:function(){Gr.flush()},glFramebufferTexture2D:function(e,t,r,n,o){Gr.framebufferTexture2D(e,t,r,pr.textures[n],o)},glFramebufferTextureLayer:function(e,t,r,n,o){Gr.framebufferTextureLayer(e,t,pr.textures[r],n,o)},glGenBuffers:function(e,t){Br(e,t,"createBuffer",pr.buffers)},glGenFramebuffers:function(e,t){Br(e,t,"createFramebuffer",pr.framebuffers)},glGenTextures:function(e,t){Br(e,t,"createTexture",pr.textures)},glGenVertexArrays:function(e,t){Br(e,t,"createVertexArray",pr.vaos)},glGetAttribLocation:function(e,t){return Gr.getAttribLocation(pr.programs[e],B(t))},glGetError:function(){var e=Gr.getError()||pr.lastError;return pr.lastError=0,e},glGetIntegerv:function(e,t){!function(e,t,r){if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var o=Gr.getParameter(34467);n=o?o.length:0;break;case 33309:if(pr.currentContext.version<2)return void pr.recordError(1282);n=2*(Gr.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(pr.currentContext.version<2)return void pr.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=Gr.getParameter(e);switch(y(i)){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void pr.recordError(1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void pr.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a<i.length;++a)switch(r){case 0:F[t+4*a>>2]=i[a];break;case 2:U[t+4*a>>2]=i[a];break;case 4:P[t+a|0]=i[a]?1:0}return}try{n=0|i.name}catch(t){return pr.recordError(1280),void p("GL_INVALID_ENUM in glGet".concat(r,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(t,")"))}}break;default:return pr.recordError(1280),void p("GL_INVALID_ENUM in glGet".concat(r,"v: Native code calling glGet").concat(r,"v(").concat(e,") and it returns ").concat(i," of type ").concat(y(i),"!"))}}switch(r){case 1:Dr(t,n);break;case 0:F[t>>2]=n;break;case 2:U[t>>2]=n;break;case 4:P[0|t]=n?1:0}}else pr.recordError(1281)}(e,t,0)},glGetString:function(e){var t=pr.stringCache[e];if(!t){switch(e){case 7939:var r=Gr.getSupportedExtensions()||[];t=Tr((r=r.concat(r.map((function(e){return"GL_".concat(e)})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Gr.getParameter(e);n||pr.recordError(1280),t=n&&Tr(n);break;case 7938:var o=Gr.getParameter(7938);t=Tr(o=pr.currentContext.version>=2?"OpenGL ES 3.0 (".concat(o,")"):"OpenGL ES 2.0 (".concat(o,")"));break;case 35724:var i=Gr.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]="".concat(a[1],"0")),i="OpenGL ES GLSL ES ".concat(a[1]," (").concat(i,")")),t=Tr(i);break;default:pr.recordError(1280)}pr.stringCache[e]=t}return t},glGetUniformBlockIndex:function(e,t){return Gr.getUniformBlockIndex(pr.programs[e],B(t))},glGetUniformLocation:function(e,t){if(t=B(t),e=pr.programs[e]){!function(e){var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},t=0;t<Gr.getProgramParameter(e,35718);++t){var i=Gr.getActiveUniform(e,t),a=i.name,s=i.size,c=Or(a),A=c>0?a.slice(0,c):a,u=e.uniformIdCounter;for(e.uniformIdCounter+=s,o[A]=[s,u],r=0;r<s;++r)n[u]=r,e.uniformArrayNamesById[u++]=A}}(e);var r=e.uniformLocsById,n=0,o=t,i=Or(t);i>0&&(s=t.slice(i+1),n=parseInt(s)>>>0,o=t.slice(0,i));var a=e.uniformSizeAndIdsByName[o];if(a&&n<a[0]&&(r[n+=a[1]]=r[n]||Gr.getUniformLocation(e,t)))return n}else pr.recordError(1281);var s;return-1},glLinkProgram:function(e){e=pr.programs[e],Gr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},glPixelStorei:function(e,t){3317==e&&(pr.unpackAlignment=t),Gr.pixelStorei(e,t)},glReadPixels:function(e,t,r,n,o,i,a){if(pr.currentContext.version>=2)if(Gr.currentPixelPackBufferBinding)Gr.readPixels(e,t,r,n,o,i,a);else{var s=Qr(i);Gr.readPixels(e,t,r,n,o,i,s,a>>Pr(s))}else{var c=Mr(i,o,r,n,a);c?Gr.readPixels(e,t,r,n,o,i,c):pr.recordError(1280)}},glShaderSource:function(e,t,r,n){var o=pr.getSource(e,t,r,n);Gr.shaderSource(pr.shaders[e],o)},glTexImage2D:function(e,t,r,n,o,i,a,s,c){if(pr.currentContext.version>=2)if(Gr.currentPixelUnpackBufferBinding)Gr.texImage2D(e,t,r,n,o,i,a,s,c);else if(c){var A=Qr(s);Gr.texImage2D(e,t,r,n,o,i,a,s,A,c>>Pr(A))}else Gr.texImage2D(e,t,r,n,o,i,a,s,null);else Gr.texImage2D(e,t,r,n,o,i,a,s,c?Mr(s,a,n,o,c):null)},glTexParameterfv:function(e,t,r){var n=U[r>>2];Gr.texParameterf(e,t,n)},glTexParameteri:function(e,t,r){Gr.texParameteri(e,t,r)},glTexStorage2D:function(e,t,r,n,o){Gr.texStorage2D(e,t,r,n,o)},glTexStorage3D:function(e,t,r,n,o,i){Gr.texStorage3D(e,t,r,n,o,i)},glTexSubImage2D:function(e,t,r,n,o,i,a,s,c){if(pr.currentContext.version>=2)if(Gr.currentPixelUnpackBufferBinding)Gr.texSubImage2D(e,t,r,n,o,i,a,s,c);else if(c){var A=Qr(s);Gr.texSubImage2D(e,t,r,n,o,i,a,s,A,c>>Pr(A))}else Gr.texSubImage2D(e,t,r,n,o,i,a,s,null);else{var u=null;c&&(u=Mr(s,a,o,i,c)),Gr.texSubImage2D(e,t,r,n,o,i,a,s,u)}},glTexSubImage3D:function(e,t,r,n,o,i,a,s,c,A,u){if(Gr.currentPixelUnpackBufferBinding)Gr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,u);else if(u){var l=Qr(A);Gr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,l,u>>Pr(l))}else Gr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,null)},glUniform1f:function(e,t){Gr.uniform1f(Rr(e),t)},glUniform1i:function(e,t){Gr.uniform1i(Rr(e),t)},glUniform2fv:function(e,t,r){if(pr.currentContext.version>=2)Gr.uniform2fv(Rr(e),U,r>>2,2*t);else{if(t<=144)for(var n=Sr[2*t-1],o=0;o<2*t;o+=2)n[o]=U[r+4*o>>2],n[o+1]=U[r+(4*o+4)>>2];else n=U.subarray(r>>2,r+8*t>>2);Gr.uniform2fv(Rr(e),n)}},glUniform4fv:function(e,t,r){if(pr.currentContext.version>=2)Gr.uniform4fv(Rr(e),U,r>>2,4*t);else{if(t<=72){var n=Sr[4*t-1],o=U;r>>=2;for(var i=0;i<4*t;i+=4){var a=r+i;n[i]=o[a],n[i+1]=o[a+1],n[i+2]=o[a+2],n[i+3]=o[a+3]}}else n=U.subarray(r>>2,r+16*t>>2);Gr.uniform4fv(Rr(e),n)}},glUniform4iv:function(e,t,r){if(pr.currentContext.version>=2)Gr.uniform4iv(Rr(e),F,r>>2,4*t);else{if(t<=72)for(var n=kr[4*t-1],o=0;o<4*t;o+=4)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2],n[o+2]=F[r+(4*o+8)>>2],n[o+3]=F[r+(4*o+12)>>2];else n=F.subarray(r>>2,r+16*t>>2);Gr.uniform4iv(Rr(e),n)}},glUniformBlockBinding:function(e,t,r){e=pr.programs[e],Gr.uniformBlockBinding(e,t,r)},glUniformMatrix4fv:function(e,t,r,n){if(pr.currentContext.version>=2)Gr.uniformMatrix4fv(Rr(e),!!r,U,n>>2,16*t);else{if(t<=18){var o=Sr[16*t-1],i=U;n>>=2;for(var a=0;a<16*t;a+=16){var s=n+a;o[a]=i[s],o[a+1]=i[s+1],o[a+2]=i[s+2],o[a+3]=i[s+3],o[a+4]=i[s+4],o[a+5]=i[s+5],o[a+6]=i[s+6],o[a+7]=i[s+7],o[a+8]=i[s+8],o[a+9]=i[s+9],o[a+10]=i[s+10],o[a+11]=i[s+11],o[a+12]=i[s+12],o[a+13]=i[s+13],o[a+14]=i[s+14],o[a+15]=i[s+15]}}else o=U.subarray(n>>2,n+64*t>>2);Gr.uniformMatrix4fv(Rr(e),!!r,o)}},glUseProgram:function(e){e=pr.programs[e],Gr.useProgram(e),Gr.currentProgram=e},glVertexAttribPointer:function(e,t,r,n,o,i){var a=pr.currentContext.clientBuffers[e];if(!Gr.currentArrayBufferBinding)return a.size=t,a.type=r,a.normalized=n,a.stride=o,a.ptr=i,a.clientside=!0,void(a.vertexAttribPointerAdaptor=function(e,t,r,n,o,i){this.vertexAttribPointer(e,t,r,n,o,i)});a.clientside=!1,Gr.vertexAttribPointer(e,t,r,!!n,o,i)},glViewport:function(e,t,r,n){Gr.viewport(e,t,r,n)},gmtime_r:function e(t,r){var n=new Date(1e3*F[t>>2]);F[r>>2]=n.getUTCSeconds(),F[r+4>>2]=n.getUTCMinutes(),F[r+8>>2]=n.getUTCHours(),F[r+12>>2]=n.getUTCDate(),F[r+16>>2]=n.getUTCMonth(),F[r+20>>2]=n.getUTCFullYear()-1900,F[r+24>>2]=n.getUTCDay(),F[r+36>>2]=0,F[r+32>>2]=0;var o=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),i=(n.getTime()-o)/864e5|0;return F[r+28>>2]=i,e.GMTString||(e.GMTString=z("GMT")),F[r+40>>2]=e.GMTString,r},invoke_diii:function(e,t,r,n){var o=on();try{return q.get(e)(t,r,n)}catch(e){if(an(o),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_i:function(e){var t=on();try{return q.get(e)()}catch(e){if(an(t),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_ii:function(e,t){var r=on();try{return q.get(e)(t)}catch(e){if(an(r),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_iii:function(e,t,r){var n=on();try{return q.get(e)(t,r)}catch(e){if(an(n),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_iiii:function(e,t,r,n){var o=on();try{return q.get(e)(t,r,n)}catch(e){if(an(o),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_iiiii:function(e,t,r,n,o){var i=on();try{return q.get(e)(t,r,n,o)}catch(e){if(an(i),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_iiiiii:function(e,t,r,n,o,i){var a=on();try{return q.get(e)(t,r,n,o,i)}catch(e){if(an(a),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_iiiiiii:function(e,t,r,n,o,i,a){var s=on();try{return q.get(e)(t,r,n,o,i,a)}catch(e){if(an(s),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_iiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A){var u=on();try{return q.get(e)(t,r,n,o,i,a,s,c,A)}catch(e){if(an(u),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_iiiiiiii:function(e,t,r,n,o,i,a,s){var c=on();try{return q.get(e)(t,r,n,o,i,a,s)}catch(e){if(an(c),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_iiiiiiiii:function(e,t,r,n,o,i,a,s,c){var A=on();try{return q.get(e)(t,r,n,o,i,a,s,c)}catch(e){if(an(A),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_v:function(e){var t=on();try{q.get(e)()}catch(e){if(an(t),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_vdiii:function(e,t,r,n,o){var i=on();try{q.get(e)(t,r,n,o)}catch(e){if(an(i),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_vi:function(e,t){var r=on();try{q.get(e)(t)}catch(e){if(an(r),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_vididdii:function(e,t,r,n,o,i,a,s){var c=on();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(an(c),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_vidii:function(e,t,r,n,o){var i=on();try{q.get(e)(t,r,n,o)}catch(e){if(an(i),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_vii:function(e,t,r){var n=on();try{q.get(e)(t,r)}catch(e){if(an(n),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viid:function(e,t,r,n){var o=on();try{q.get(e)(t,r,n)}catch(e){if(an(o),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viidi:function(e,t,r,n,o){var i=on();try{q.get(e)(t,r,n,o)}catch(e){if(an(i),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viididii:function(e,t,r,n,o,i,a,s){var c=on();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(an(c),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viii:function(e,t,r,n){var o=on();try{q.get(e)(t,r,n)}catch(e){if(an(o),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiid:function(e,t,r,n,o){var i=on();try{q.get(e)(t,r,n,o)}catch(e){if(an(i),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiidd:function(e,t,r,n,o,i){var a=on();try{q.get(e)(t,r,n,o,i)}catch(e){if(an(a),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiddi:function(e,t,r,n,o,i,a){var s=on();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(an(s),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiidi:function(e,t,r,n,o,i){var a=on();try{q.get(e)(t,r,n,o,i)}catch(e){if(an(a),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiii:function(e,t,r,n,o){var i=on();try{q.get(e)(t,r,n,o)}catch(e){if(an(i),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiid:function(e,t,r,n,o,i){var a=on();try{q.get(e)(t,r,n,o,i)}catch(e){if(an(a),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiidi:function(e,t,r,n,o,i,a){var s=on();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(an(s),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiidid:function(e,t,r,n,o,i,a,s){var c=on();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(an(c),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiidiidiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g,f,h)}catch(e){if(an(p),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiifiifiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g,f,h)}catch(e){if(an(p),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiii:function(e,t,r,n,o,i){var a=on();try{q.get(e)(t,r,n,o,i)}catch(e){if(an(a),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiid:function(e,t,r,n,o,i,a){var s=on();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(an(s),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiif:function(e,t,r,n,o,i,a){var s=on();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(an(s),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiii:function(e,t,r,n,o,i,a){var s=on();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(an(s),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiid:function(e,t,r,n,o,i,a,s){var c=on();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(an(c),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiif:function(e,t,r,n,o,i,a,s){var c=on();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(an(c),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiii:function(e,t,r,n,o,i,a,s){var c=on();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(an(c),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u){var l=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(an(l),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiidiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(an(g),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiifiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(an(g),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiii:function(e,t,r,n,o,i,a,s,c){var A=on();try{q.get(e)(t,r,n,o,i,a,s,c)}catch(e){if(an(A),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiidd:function(e,t,r,n,o,i,a,s,c,A,u){var l=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(an(l),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiidf:function(e,t,r,n,o,i,a,s,c,A,u){var l=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(an(l),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiii:function(e,t,r,n,o,i,a,s,c,A){var u=on();try{q.get(e)(t,r,n,o,i,a,s,c,A)}catch(e){if(an(u),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiiidd:function(e,t,r,n,o,i,a,s,c,A,u,l){var d=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l)}catch(e){if(an(d),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(an(g),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u){var l=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(an(l),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g){var f=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g)}catch(e){if(an(f),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l){var d=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l)}catch(e){if(an(d),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(an(g),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},invoke_viiiiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g){var f=on();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g)}catch(e){if(an(f),e!==e+0&&"longjmp"!==e)throw e;An(1,0)}},llvm_eh_typeid_for:function(e){return e},localtime_r:function(e,t){Fr();var r=new Date(1e3*F[e>>2]);F[t>>2]=r.getSeconds(),F[t+4>>2]=r.getMinutes(),F[t+8>>2]=r.getHours(),F[t+12>>2]=r.getDate(),F[t+16>>2]=r.getMonth(),F[t+20>>2]=r.getFullYear()-1900,F[t+24>>2]=r.getDay();var n=new Date(r.getFullYear(),0,1),o=(r.getTime()-n.getTime())/864e5|0;F[t+28>>2]=o,F[t+36>>2]=-60*r.getTimezoneOffset();var i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),s=0|(i!=a&&r.getTimezoneOffset()==Math.min(a,i));F[t+32>>2]=s;var c=F[tn()+(s?4:0)>>2];return F[t+40>>2]=c,t},mktime:function(e){Fr();var t=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),r=F[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(r<0)F[e+32>>2]=Number(i!=a&&s==n);else if(r>0!=(s==n)){var c=Math.max(a,i),A=r>0?s:c;t.setTime(t.getTime()+6e4*(A-n))}F[e+24>>2]=t.getDay();var u=(t.getTime()-o.getTime())/864e5|0;return F[e+28>>2]=u,F[e>>2]=t.getSeconds(),F[e+4>>2]=t.getMinutes(),F[e+8>>2]=t.getHours(),F[e+12>>2]=t.getDate(),F[e+16>>2]=t.getMonth(),t.getTime()/1e3|0},proc_exit:function(e){hn(e)},setTempRet0:function(e){v(e)},strftime:Hr,strftime_l:function(e,t,r,n){return Hr(e,t,r,n)}};!function(){var e={env:Kr,wasi_snapshot_preview1:Kr};function t(e,t){var r,o=e.exports;n.asm=o,C(m=n.asm.memory,"memory not found in wasm exports"),Z(m.buffer),C(q=n.asm.__indirect_function_table,"table not found in wasm exports"),r=n.asm.__wasm_call_ctors,ne.unshift(r),Ee("wasm-instantiate")}pe("wasm-instantiate");var o=n;if(n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){return p("Module.instantiateWasm callback failed with error: ".concat(e)),!1}n.loadWasm(se,e).then((function(e){C(n===o,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),o=null,t(e)})).catch(r)}(),n.___wasm_call_ctors=ye("__wasm_call_ctors");var Zr=n._free=ye("free"),Jr=n._malloc=ye("malloc"),qr=n.___errno_location=ye("__errno_location");n._fflush=ye("fflush");var $r=n.___getTypeName=ye("__getTypeName");n.___embind_register_native_and_builtin_types=ye("__embind_register_native_and_builtin_types"),n._emscripten_main_thread_process_queued_calls=ye("emscripten_main_thread_process_queued_calls");var en=n._emscripten_stack_get_end=function(){return(en=n._emscripten_stack_get_end=n.asm.emscripten_stack_get_end).apply(null,arguments)},tn=n.__get_tzname=ye("_get_tzname"),rn=n.__get_daylight=ye("_get_daylight"),nn=n.__get_timezone=ye("_get_timezone"),on=n.stackSave=ye("stackSave"),an=n.stackRestore=ye("stackRestore");n.stackAlloc=ye("stackAlloc");var sn=n._emscripten_stack_init=function(){return(sn=n._emscripten_stack_init=n.asm.emscripten_stack_init).apply(null,arguments)};n._emscripten_stack_get_free=function(){return(n._emscripten_stack_get_free=n.asm.emscripten_stack_get_free).apply(null,arguments)},n._saveSetjmp=ye("saveSetjmp");var cn,An=n._setThrew=ye("setThrew"),un=n.___cxa_can_catch=ye("__cxa_can_catch"),ln=n.___cxa_is_pointer_type=ye("__cxa_is_pointer_type"),dn=n._memalign=ye("memalign");function gn(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}function fn(e){function r(){cn||(cn=!0,n.calledRun=!0,w||(te(),C(!ae),ae=!0,n.noFSInit||Le.init.initialized||Le.init(),Le.ignorePermissions=!1,be(ne),t(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),C(!n._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(te(),n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),ie.unshift(e);var e;be(ie)}()))}le>0||(sn(),ee(),function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),re.unshift(e);var e;be(re)}(),le>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),r()}),1)):r(),te()))}function hn(e){s(e,new gn(e))}if(n._emscripten_builtin_malloc=ye("emscripten_builtin_malloc"),n._emscripten_builtin_free=ye("emscripten_builtin_free"),n._emscripten_builtin_memalign=ye("emscripten_builtin_memalign"),n.dynCall_jii=ye("dynCall_jii"),n.dynCall_viji=ye("dynCall_viji"),n.dynCall_jjj=ye("dynCall_jjj"),n.dynCall_iiiijj=ye("dynCall_iiiijj"),n.dynCall_viijj=ye("dynCall_viijj"),n.dynCall_viiijjjj=ye("dynCall_viiijjjj"),n.dynCall_ji=ye("dynCall_ji"),n.dynCall_vij=ye("dynCall_vij"),n.dynCall_viijii=ye("dynCall_viijii"),n.dynCall_vj=ye("dynCall_vj"),n.dynCall_viij=ye("dynCall_viij"),n.dynCall_viiiiij=ye("dynCall_viiiiij"),n.dynCall_iijjiiii=ye("dynCall_iijjiiii"),n.dynCall_jiji=ye("dynCall_jiji"),n.dynCall_iiiiij=ye("dynCall_iiiiij"),n.dynCall_iiiiijj=ye("dynCall_iiiiijj"),n.dynCall_iiiiiijj=ye("dynCall_iiiiiijj"),Object.getOwnPropertyDescriptor(n,"intArrayFromString")||(n.intArrayFromString=function(){me("'intArrayFromString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"intArrayToString")||(n.intArrayToString=function(){me("'intArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ccall")||(n.ccall=function(){me("'ccall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"cwrap")||(n.cwrap=function(){me("'cwrap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setValue")||(n.setValue=function(){me("'setValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getValue")||(n.getValue=function(){me("'getValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"allocate")||(n.allocate=function(){me("'allocate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UTF8ArrayToString")||(n.UTF8ArrayToString=function(){me("'UTF8ArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UTF8ToString")||(n.UTF8ToString=function(){me("'UTF8ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToUTF8Array")||(n.stringToUTF8Array=function(){me("'stringToUTF8Array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToUTF8")||(n.stringToUTF8=function(){me("'stringToUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"lengthBytesUTF8")||(n.lengthBytesUTF8=function(){me("'lengthBytesUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackTrace")||(n.stackTrace=function(){me("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnPreRun")||(n.addOnPreRun=function(){me("'addOnPreRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnInit")||(n.addOnInit=function(){me("'addOnInit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnPreMain")||(n.addOnPreMain=function(){me("'addOnPreMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnExit")||(n.addOnExit=function(){me("'addOnExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnPostRun")||(n.addOnPostRun=function(){me("'addOnPostRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeStringToMemory")||(n.writeStringToMemory=function(){me("'writeStringToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeArrayToMemory")||(n.writeArrayToMemory=function(){me("'writeArrayToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeAsciiToMemory")||(n.writeAsciiToMemory=function(){me("'writeAsciiToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.addRunDependency=pe,n.removeRunDependency=Ee,Object.getOwnPropertyDescriptor(n,"FS_createFolder")||(n.FS_createFolder=function(){me("'FS_createFolder' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.FS_createPath=Le.createPath,n.FS_createDataFile=Le.createDataFile,n.FS_createPreloadedFile=Le.createPreloadedFile,n.FS_createLazyFile=Le.createLazyFile,Object.getOwnPropertyDescriptor(n,"FS_createLink")||(n.FS_createLink=function(){me("'FS_createLink' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.FS_createDevice=Le.createDevice,n.FS_unlink=Le.unlink,Object.getOwnPropertyDescriptor(n,"getLEB")||(n.getLEB=function(){me("'getLEB' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getFunctionTables")||(n.getFunctionTables=function(){me("'getFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"alignFunctionTables")||(n.alignFunctionTables=function(){me("'alignFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerFunctions")||(n.registerFunctions=function(){me("'registerFunctions' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addFunction")||(n.addFunction=function(){me("'addFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"removeFunction")||(n.removeFunction=function(){me("'removeFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getFuncWrapper")||(n.getFuncWrapper=function(){me("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"prettyPrint")||(n.prettyPrint=function(){me("'prettyPrint' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"dynCall")||(n.dynCall=function(){me("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getCompilerSetting")||(n.getCompilerSetting=function(){me("'getCompilerSetting' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"print")||(n.print=function(){me("'print' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"printErr")||(n.printErr=function(){me("'printErr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getTempRet0")||(n.getTempRet0=function(){me("'getTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setTempRet0")||(n.setTempRet0=function(){me("'setTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"callMain")||(n.callMain=function(){me("'callMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"abort")||(n.abort=function(){me("'abort' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"keepRuntimeAlive")||(n.keepRuntimeAlive=function(){me("'keepRuntimeAlive' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"zeroMemory")||(n.zeroMemory=function(){me("'zeroMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToNewUTF8")||(n.stringToNewUTF8=function(){me("'stringToNewUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setFileTime")||(n.setFileTime=function(){me("'setFileTime' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscripten_realloc_buffer")||(n.emscripten_realloc_buffer=function(){me("'emscripten_realloc_buffer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ENV")||(n.ENV=function(){me("'ENV' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ERRNO_CODES")||(n.ERRNO_CODES=function(){me("'ERRNO_CODES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ERRNO_MESSAGES")||(n.ERRNO_MESSAGES=function(){me("'ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setErrNo")||(n.setErrNo=function(){me("'setErrNo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"inetPton4")||(n.inetPton4=function(){me("'inetPton4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"inetNtop4")||(n.inetNtop4=function(){me("'inetNtop4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"inetPton6")||(n.inetPton6=function(){me("'inetPton6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"inetNtop6")||(n.inetNtop6=function(){me("'inetNtop6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readSockaddr")||(n.readSockaddr=function(){me("'readSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeSockaddr")||(n.writeSockaddr=function(){me("'writeSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"DNS")||(n.DNS=function(){me("'DNS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getHostByName")||(n.getHostByName=function(){me("'getHostByName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GAI_ERRNO_MESSAGES")||(n.GAI_ERRNO_MESSAGES=function(){me("'GAI_ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"Protocols")||(n.Protocols=function(){me("'Protocols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"Sockets")||(n.Sockets=function(){me("'Sockets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getRandomDevice")||(n.getRandomDevice=function(){me("'getRandomDevice' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"traverseStack")||(n.traverseStack=function(){me("'traverseStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UNWIND_CACHE")||(n.UNWIND_CACHE=function(){me("'UNWIND_CACHE' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"withBuiltinMalloc")||(n.withBuiltinMalloc=function(){me("'withBuiltinMalloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readAsmConstArgsArray")||(n.readAsmConstArgsArray=function(){me("'readAsmConstArgsArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readAsmConstArgs")||(n.readAsmConstArgs=function(){me("'readAsmConstArgs' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"mainThreadEM_ASM")||(n.mainThreadEM_ASM=function(){me("'mainThreadEM_ASM' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"jstoi_q")||(n.jstoi_q=function(){me("'jstoi_q' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"jstoi_s")||(n.jstoi_s=function(){me("'jstoi_s' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getExecutableName")||(n.getExecutableName=function(){me("'getExecutableName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"listenOnce")||(n.listenOnce=function(){me("'listenOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"autoResumeAudioContext")||(n.autoResumeAudioContext=function(){me("'autoResumeAudioContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"dynCallLegacy")||(n.dynCallLegacy=function(){me("'dynCallLegacy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getDynCaller")||(n.getDynCaller=function(){me("'getDynCaller' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"dynCall")||(n.dynCall=function(){me("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"callRuntimeCallbacks")||(n.callRuntimeCallbacks=function(){me("'callRuntimeCallbacks' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runtimeKeepalivePush")||(n.runtimeKeepalivePush=function(){me("'runtimeKeepalivePush' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runtimeKeepalivePop")||(n.runtimeKeepalivePop=function(){me("'runtimeKeepalivePop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"callUserCallback")||(n.callUserCallback=function(){me("'callUserCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"maybeExit")||(n.maybeExit=function(){me("'maybeExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"safeSetTimeout")||(n.safeSetTimeout=function(){me("'safeSetTimeout' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"asmjsMangle")||(n.asmjsMangle=function(){me("'asmjsMangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"asyncLoad")||(n.asyncLoad=function(){me("'asyncLoad' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"alignMemory")||(n.alignMemory=function(){me("'alignMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"mmapAlloc")||(n.mmapAlloc=function(){me("'mmapAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"reallyNegative")||(n.reallyNegative=function(){me("'reallyNegative' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"unSign")||(n.unSign=function(){me("'unSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"reSign")||(n.reSign=function(){me("'reSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"formatString")||(n.formatString=function(){me("'formatString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"PATH")||(n.PATH=function(){me("'PATH' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"PATH_FS")||(n.PATH_FS=function(){me("'PATH_FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SYSCALLS")||(n.SYSCALLS=function(){me("'SYSCALLS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"syscallMmap2")||(n.syscallMmap2=function(){me("'syscallMmap2' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"syscallMunmap")||(n.syscallMunmap=function(){me("'syscallMunmap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getSocketFromFD")||(n.getSocketFromFD=function(){me("'getSocketFromFD' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getSocketAddress")||(n.getSocketAddress=function(){me("'getSocketAddress' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"JSEvents")||(n.JSEvents=function(){me("'JSEvents' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerKeyEventCallback")||(n.registerKeyEventCallback=function(){me("'registerKeyEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"specialHTMLTargets")||(n.specialHTMLTargets=function(){me("'specialHTMLTargets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"findEventTarget")||(n.findEventTarget=function(){me("'findEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"findCanvasEventTarget")||(n.findCanvasEventTarget=function(){me("'findCanvasEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getBoundingClientRect")||(n.getBoundingClientRect=function(){me("'getBoundingClientRect' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillMouseEventData")||(n.fillMouseEventData=function(){me("'fillMouseEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerMouseEventCallback")||(n.registerMouseEventCallback=function(){me("'registerMouseEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerWheelEventCallback")||(n.registerWheelEventCallback=function(){me("'registerWheelEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerUiEventCallback")||(n.registerUiEventCallback=function(){me("'registerUiEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerFocusEventCallback")||(n.registerFocusEventCallback=function(){me("'registerFocusEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillDeviceOrientationEventData")||(n.fillDeviceOrientationEventData=function(){me("'fillDeviceOrientationEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerDeviceOrientationEventCallback")||(n.registerDeviceOrientationEventCallback=function(){me("'registerDeviceOrientationEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillDeviceMotionEventData")||(n.fillDeviceMotionEventData=function(){me("'fillDeviceMotionEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerDeviceMotionEventCallback")||(n.registerDeviceMotionEventCallback=function(){me("'registerDeviceMotionEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"screenOrientation")||(n.screenOrientation=function(){me("'screenOrientation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillOrientationChangeEventData")||(n.fillOrientationChangeEventData=function(){me("'fillOrientationChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerOrientationChangeEventCallback")||(n.registerOrientationChangeEventCallback=function(){me("'registerOrientationChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillFullscreenChangeEventData")||(n.fillFullscreenChangeEventData=function(){me("'fillFullscreenChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerFullscreenChangeEventCallback")||(n.registerFullscreenChangeEventCallback=function(){me("'registerFullscreenChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerRestoreOldStyle")||(n.registerRestoreOldStyle=function(){me("'registerRestoreOldStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"hideEverythingExceptGivenElement")||(n.hideEverythingExceptGivenElement=function(){me("'hideEverythingExceptGivenElement' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"restoreHiddenElements")||(n.restoreHiddenElements=function(){me("'restoreHiddenElements' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setLetterbox")||(n.setLetterbox=function(){me("'setLetterbox' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"currentFullscreenStrategy")||(n.currentFullscreenStrategy=function(){me("'currentFullscreenStrategy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"restoreOldWindowedStyle")||(n.restoreOldWindowedStyle=function(){me("'restoreOldWindowedStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"softFullscreenResizeWebGLRenderTarget")||(n.softFullscreenResizeWebGLRenderTarget=function(){me("'softFullscreenResizeWebGLRenderTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"doRequestFullscreen")||(n.doRequestFullscreen=function(){me("'doRequestFullscreen' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillPointerlockChangeEventData")||(n.fillPointerlockChangeEventData=function(){me("'fillPointerlockChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerPointerlockChangeEventCallback")||(n.registerPointerlockChangeEventCallback=function(){me("'registerPointerlockChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerPointerlockErrorEventCallback")||(n.registerPointerlockErrorEventCallback=function(){me("'registerPointerlockErrorEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"requestPointerLock")||(n.requestPointerLock=function(){me("'requestPointerLock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillVisibilityChangeEventData")||(n.fillVisibilityChangeEventData=function(){me("'fillVisibilityChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerVisibilityChangeEventCallback")||(n.registerVisibilityChangeEventCallback=function(){me("'registerVisibilityChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerTouchEventCallback")||(n.registerTouchEventCallback=function(){me("'registerTouchEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillGamepadEventData")||(n.fillGamepadEventData=function(){me("'fillGamepadEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerGamepadEventCallback")||(n.registerGamepadEventCallback=function(){me("'registerGamepadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerBeforeUnloadEventCallback")||(n.registerBeforeUnloadEventCallback=function(){me("'registerBeforeUnloadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillBatteryEventData")||(n.fillBatteryEventData=function(){me("'fillBatteryEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"battery")||(n.battery=function(){me("'battery' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerBatteryEventCallback")||(n.registerBatteryEventCallback=function(){me("'registerBatteryEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setCanvasElementSize")||(n.setCanvasElementSize=function(){me("'setCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getCanvasElementSize")||(n.getCanvasElementSize=function(){me("'getCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"polyfillSetImmediate")||(n.polyfillSetImmediate=function(){me("'polyfillSetImmediate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"demangle")||(n.demangle=function(){me("'demangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"demangleAll")||(n.demangleAll=function(){me("'demangleAll' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"jsStackTrace")||(n.jsStackTrace=function(){me("'jsStackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackTrace")||(n.stackTrace=function(){me("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getEnvStrings")||(n.getEnvStrings=function(){me("'getEnvStrings' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"checkWasiClock")||(n.checkWasiClock=function(){me("'checkWasiClock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToI64")||(n.writeI53ToI64=function(){me("'writeI53ToI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToI64Clamped")||(n.writeI53ToI64Clamped=function(){me("'writeI53ToI64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToI64Signaling")||(n.writeI53ToI64Signaling=function(){me("'writeI53ToI64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToU64Clamped")||(n.writeI53ToU64Clamped=function(){me("'writeI53ToU64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToU64Signaling")||(n.writeI53ToU64Signaling=function(){me("'writeI53ToU64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readI53FromI64")||(n.readI53FromI64=function(){me("'readI53FromI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readI53FromU64")||(n.readI53FromU64=function(){me("'readI53FromU64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"convertI32PairToI53")||(n.convertI32PairToI53=function(){me("'convertI32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"convertU32PairToI53")||(n.convertU32PairToI53=function(){me("'convertU32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"uncaughtExceptionCount")||(n.uncaughtExceptionCount=function(){me("'uncaughtExceptionCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exceptionLast")||(n.exceptionLast=function(){me("'exceptionLast' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exceptionCaught")||(n.exceptionCaught=function(){me("'exceptionCaught' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ExceptionInfo")||(n.ExceptionInfo=function(){me("'ExceptionInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"CatchInfo")||(n.CatchInfo=function(){me("'CatchInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exception_addRef")||(n.exception_addRef=function(){me("'exception_addRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exception_decRef")||(n.exception_decRef=function(){me("'exception_decRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"Browser")||(n.Browser=function(){me("'Browser' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"funcWrappers")||(n.funcWrappers=function(){me("'funcWrappers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getFuncWrapper")||(n.getFuncWrapper=function(){me("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setMainLoop")||(n.setMainLoop=function(){me("'setMainLoop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"wget")||(n.wget=function(){me("'wget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"FS")||(n.FS=function(){me("'FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"MEMFS")||(n.MEMFS=function(){me("'MEMFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"TTY")||(n.TTY=function(){me("'TTY' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"PIPEFS")||(n.PIPEFS=function(){me("'PIPEFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SOCKFS")||(n.SOCKFS=function(){me("'SOCKFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"_setNetworkCallback")||(n._setNetworkCallback=function(){me("'_setNetworkCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"tempFixedLengthArray")||(n.tempFixedLengthArray=function(){me("'tempFixedLengthArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"miniTempWebGLFloatBuffers")||(n.miniTempWebGLFloatBuffers=function(){me("'miniTempWebGLFloatBuffers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"heapObjectForWebGLType")||(n.heapObjectForWebGLType=function(){me("'heapObjectForWebGLType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"heapAccessShiftForWebGLHeap")||(n.heapAccessShiftForWebGLHeap=function(){me("'heapAccessShiftForWebGLHeap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.GL=pr,Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGet")||(n.emscriptenWebGLGet=function(){me("'emscriptenWebGLGet' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"computeUnpackAlignedImageSize")||(n.computeUnpackAlignedImageSize=function(){me("'computeUnpackAlignedImageSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetTexPixelData")||(n.emscriptenWebGLGetTexPixelData=function(){me("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetUniform")||(n.emscriptenWebGLGetUniform=function(){me("'emscriptenWebGLGetUniform' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"webglGetUniformLocation")||(n.webglGetUniformLocation=function(){me("'webglGetUniformLocation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"webglPrepareUniformLocationsBeforeFirstUse")||(n.webglPrepareUniformLocationsBeforeFirstUse=function(){me("'webglPrepareUniformLocationsBeforeFirstUse' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"webglGetLeftBracePos")||(n.webglGetLeftBracePos=function(){me("'webglGetLeftBracePos' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetVertexAttrib")||(n.emscriptenWebGLGetVertexAttrib=function(){me("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetBufferBinding")||(n.emscriptenWebGLGetBufferBinding=function(){me("'emscriptenWebGLGetBufferBinding' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLValidateMapBufferTarget")||(n.emscriptenWebGLValidateMapBufferTarget=function(){me("'emscriptenWebGLValidateMapBufferTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeGLArray")||(n.writeGLArray=function(){me("'writeGLArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"AL")||(n.AL=function(){me("'AL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL_unicode")||(n.SDL_unicode=function(){me("'SDL_unicode' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL_ttfContext")||(n.SDL_ttfContext=function(){me("'SDL_ttfContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL_audio")||(n.SDL_audio=function(){me("'SDL_audio' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL")||(n.SDL=function(){me("'SDL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL_gfx")||(n.SDL_gfx=function(){me("'SDL_gfx' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GLUT")||(n.GLUT=function(){me("'GLUT' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"EGL")||(n.EGL=function(){me("'EGL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GLFW_Window")||(n.GLFW_Window=function(){me("'GLFW_Window' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GLFW")||(n.GLFW=function(){me("'GLFW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GLEW")||(n.GLEW=function(){me("'GLEW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"IDBStore")||(n.IDBStore=function(){me("'IDBStore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runAndAbortIfError")||(n.runAndAbortIfError=function(){me("'runAndAbortIfError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_handle_array")||(n.emval_handle_array=function(){me("'emval_handle_array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_free_list")||(n.emval_free_list=function(){me("'emval_free_list' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_symbols")||(n.emval_symbols=function(){me("'emval_symbols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"init_emval")||(n.init_emval=function(){me("'init_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"count_emval_handles")||(n.count_emval_handles=function(){me("'count_emval_handles' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"get_first_emval")||(n.get_first_emval=function(){me("'get_first_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getStringOrSymbol")||(n.getStringOrSymbol=function(){me("'getStringOrSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"requireHandle")||(n.requireHandle=function(){me("'requireHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_newers")||(n.emval_newers=function(){me("'emval_newers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"craftEmvalAllocator")||(n.craftEmvalAllocator=function(){me("'craftEmvalAllocator' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_get_global")||(n.emval_get_global=function(){me("'emval_get_global' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_methodCallers")||(n.emval_methodCallers=function(){me("'emval_methodCallers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"InternalError")||(n.InternalError=function(){me("'InternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"BindingError")||(n.BindingError=function(){me("'BindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UnboundTypeError")||(n.UnboundTypeError=function(){me("'UnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"PureVirtualError")||(n.PureVirtualError=function(){me("'PureVirtualError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"init_embind")||(n.init_embind=function(){me("'init_embind' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"throwInternalError")||(n.throwInternalError=function(){me("'throwInternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"throwBindingError")||(n.throwBindingError=function(){me("'throwBindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"throwUnboundTypeError")||(n.throwUnboundTypeError=function(){me("'throwUnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ensureOverloadTable")||(n.ensureOverloadTable=function(){me("'ensureOverloadTable' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exposePublicSymbol")||(n.exposePublicSymbol=function(){me("'exposePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"replacePublicSymbol")||(n.replacePublicSymbol=function(){me("'replacePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"extendError")||(n.extendError=function(){me("'extendError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"createNamedFunction")||(n.createNamedFunction=function(){me("'createNamedFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registeredInstances")||(n.registeredInstances=function(){me("'registeredInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getBasestPointer")||(n.getBasestPointer=function(){me("'getBasestPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerInheritedInstance")||(n.registerInheritedInstance=function(){me("'registerInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"unregisterInheritedInstance")||(n.unregisterInheritedInstance=function(){me("'unregisterInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getInheritedInstance")||(n.getInheritedInstance=function(){me("'getInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getInheritedInstanceCount")||(n.getInheritedInstanceCount=function(){me("'getInheritedInstanceCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getLiveInheritedInstances")||(n.getLiveInheritedInstances=function(){me("'getLiveInheritedInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registeredTypes")||(n.registeredTypes=function(){me("'registeredTypes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"awaitingDependencies")||(n.awaitingDependencies=function(){me("'awaitingDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"typeDependencies")||(n.typeDependencies=function(){me("'typeDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registeredPointers")||(n.registeredPointers=function(){me("'registeredPointers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerType")||(n.registerType=function(){me("'registerType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"whenDependentTypesAreResolved")||(n.whenDependentTypesAreResolved=function(){me("'whenDependentTypesAreResolved' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"embind_charCodes")||(n.embind_charCodes=function(){me("'embind_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"embind_init_charCodes")||(n.embind_init_charCodes=function(){me("'embind_init_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readLatin1String")||(n.readLatin1String=function(){me("'readLatin1String' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getTypeName")||(n.getTypeName=function(){me("'getTypeName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"heap32VectorToArray")||(n.heap32VectorToArray=function(){me("'heap32VectorToArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"requireRegisteredType")||(n.requireRegisteredType=function(){me("'requireRegisteredType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getShiftFromSize")||(n.getShiftFromSize=function(){me("'getShiftFromSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"integerReadValueFromPointer")||(n.integerReadValueFromPointer=function(){me("'integerReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"enumReadValueFromPointer")||(n.enumReadValueFromPointer=function(){me("'enumReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"floatReadValueFromPointer")||(n.floatReadValueFromPointer=function(){me("'floatReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"simpleReadValueFromPointer")||(n.simpleReadValueFromPointer=function(){me("'simpleReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runDestructors")||(n.runDestructors=function(){me("'runDestructors' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"new_")||(n.new_=function(){me("'new_' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"craftInvokerFunction")||(n.craftInvokerFunction=function(){me("'craftInvokerFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"embind__requireFunction")||(n.embind__requireFunction=function(){me("'embind__requireFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"tupleRegistrations")||(n.tupleRegistrations=function(){me("'tupleRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"structRegistrations")||(n.structRegistrations=function(){me("'structRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"genericPointerToWireType")||(n.genericPointerToWireType=function(){me("'genericPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"constNoSmartPtrRawPointerToWireType")||(n.constNoSmartPtrRawPointerToWireType=function(){me("'constNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"nonConstNoSmartPtrRawPointerToWireType")||(n.nonConstNoSmartPtrRawPointerToWireType=function(){me("'nonConstNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"init_RegisteredPointer")||(n.init_RegisteredPointer=function(){me("'init_RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer")||(n.RegisteredPointer=function(){me("'RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer_getPointee")||(n.RegisteredPointer_getPointee=function(){me("'RegisteredPointer_getPointee' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer_destructor")||(n.RegisteredPointer_destructor=function(){me("'RegisteredPointer_destructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer_deleteObject")||(n.RegisteredPointer_deleteObject=function(){me("'RegisteredPointer_deleteObject' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer_fromWireType")||(n.RegisteredPointer_fromWireType=function(){me("'RegisteredPointer_fromWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runDestructor")||(n.runDestructor=function(){me("'runDestructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"releaseClassHandle")||(n.releaseClassHandle=function(){me("'releaseClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"finalizationGroup")||(n.finalizationGroup=function(){me("'finalizationGroup' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"detachFinalizer_deps")||(n.detachFinalizer_deps=function(){me("'detachFinalizer_deps' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"detachFinalizer")||(n.detachFinalizer=function(){me("'detachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"attachFinalizer")||(n.attachFinalizer=function(){me("'attachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"makeClassHandle")||(n.makeClassHandle=function(){me("'makeClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"init_ClassHandle")||(n.init_ClassHandle=function(){me("'init_ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle")||(n.ClassHandle=function(){me("'ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_isAliasOf")||(n.ClassHandle_isAliasOf=function(){me("'ClassHandle_isAliasOf' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"throwInstanceAlreadyDeleted")||(n.throwInstanceAlreadyDeleted=function(){me("'throwInstanceAlreadyDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_clone")||(n.ClassHandle_clone=function(){me("'ClassHandle_clone' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_delete")||(n.ClassHandle_delete=function(){me("'ClassHandle_delete' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"deletionQueue")||(n.deletionQueue=function(){me("'deletionQueue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_isDeleted")||(n.ClassHandle_isDeleted=function(){me("'ClassHandle_isDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_deleteLater")||(n.ClassHandle_deleteLater=function(){me("'ClassHandle_deleteLater' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"flushPendingDeletes")||(n.flushPendingDeletes=function(){me("'flushPendingDeletes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"delayFunction")||(n.delayFunction=function(){me("'delayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setDelayFunction")||(n.setDelayFunction=function(){me("'setDelayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredClass")||(n.RegisteredClass=function(){me("'RegisteredClass' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"shallowCopyInternalPointer")||(n.shallowCopyInternalPointer=function(){me("'shallowCopyInternalPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"downcastPointer")||(n.downcastPointer=function(){me("'downcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"upcastPointer")||(n.upcastPointer=function(){me("'upcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"validateThis")||(n.validateThis=function(){me("'validateThis' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"char_0")||(n.char_0=function(){me("'char_0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"char_9")||(n.char_9=function(){me("'char_9' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"makeLegalFunctionName")||(n.makeLegalFunctionName=function(){me("'makeLegalFunctionName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetIndexed")||(n.emscriptenWebGLGetIndexed=function(){me("'emscriptenWebGLGetIndexed' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"warnOnce")||(n.warnOnce=function(){me("'warnOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackSave")||(n.stackSave=function(){me("'stackSave' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackRestore")||(n.stackRestore=function(){me("'stackRestore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackAlloc")||(n.stackAlloc=function(){me("'stackAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"AsciiToString")||(n.AsciiToString=function(){me("'AsciiToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToAscii")||(n.stringToAscii=function(){me("'stringToAscii' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UTF16ToString")||(n.UTF16ToString=function(){me("'UTF16ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToUTF16")||(n.stringToUTF16=function(){me("'stringToUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"lengthBytesUTF16")||(n.lengthBytesUTF16=function(){me("'lengthBytesUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UTF32ToString")||(n.UTF32ToString=function(){me("'UTF32ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToUTF32")||(n.stringToUTF32=function(){me("'stringToUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"lengthBytesUTF32")||(n.lengthBytesUTF32=function(){me("'lengthBytesUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"allocateUTF8")||(n.allocateUTF8=function(){me("'allocateUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"allocateUTF8OnStack")||(n.allocateUTF8OnStack=function(){me("'allocateUTF8OnStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.writeStackCookie=ee,n.checkStackCookie=te,Object.getOwnPropertyDescriptor(n,"ALLOC_NORMAL")||Object.defineProperty(n,"ALLOC_NORMAL",{configurable:!0,get:function(){me("'ALLOC_NORMAL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(n,"ALLOC_STACK")||Object.defineProperty(n,"ALLOC_STACK",{configurable:!0,get:function(){me("'ALLOC_STACK' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),ge=function e(){cn||fn(),cn||(ge=e)},n.run=fn,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return fn(),e.ready}),U=N,j=function(){var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return"undefined"!=typeof __filename&&(e=e||__filename),function(t){var r,n,o=void 0!==(t=t||{})?t:{};o.ready=new Promise((function(e,t){r=e,n=t})),Object.getOwnPropertyDescriptor(o.ready,"_main")||(Object.defineProperty(o.ready,"_main",{configurable:!0,get:function(){pe("You are getting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_main",{configurable:!0,set:function(){pe("You are setting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_stack_get_end")||(Object.defineProperty(o.ready,"_emscripten_stack_get_end",{configurable:!0,get:function(){pe("You are getting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_stack_get_end",{configurable:!0,set:function(){pe("You are setting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_stack_get_free")||(Object.defineProperty(o.ready,"_emscripten_stack_get_free",{configurable:!0,get:function(){pe("You are getting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_stack_get_free",{configurable:!0,set:function(){pe("You are setting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_stack_init")||(Object.defineProperty(o.ready,"_emscripten_stack_init",{configurable:!0,get:function(){pe("You are getting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_stack_init",{configurable:!0,set:function(){pe("You are setting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_stackSave")||(Object.defineProperty(o.ready,"_stackSave",{configurable:!0,get:function(){pe("You are getting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_stackSave",{configurable:!0,set:function(){pe("You are setting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_stackRestore")||(Object.defineProperty(o.ready,"_stackRestore",{configurable:!0,get:function(){pe("You are getting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_stackRestore",{configurable:!0,set:function(){pe("You are setting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_stackAlloc")||(Object.defineProperty(o.ready,"_stackAlloc",{configurable:!0,get:function(){pe("You are getting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_stackAlloc",{configurable:!0,set:function(){pe("You are setting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___wasm_call_ctors")||(Object.defineProperty(o.ready,"___wasm_call_ctors",{configurable:!0,get:function(){pe("You are getting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___wasm_call_ctors",{configurable:!0,set:function(){pe("You are setting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_fflush")||(Object.defineProperty(o.ready,"_fflush",{configurable:!0,get:function(){pe("You are getting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_fflush",{configurable:!0,set:function(){pe("You are setting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___errno_location")||(Object.defineProperty(o.ready,"___errno_location",{configurable:!0,get:function(){pe("You are getting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___errno_location",{configurable:!0,set:function(){pe("You are setting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_malloc")||(Object.defineProperty(o.ready,"_malloc",{configurable:!0,get:function(){pe("You are getting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_malloc",{configurable:!0,set:function(){pe("You are setting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_free")||(Object.defineProperty(o.ready,"_free",{configurable:!0,get:function(){pe("You are getting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_free",{configurable:!0,set:function(){pe("You are setting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_setThrew")||(Object.defineProperty(o.ready,"_setThrew",{configurable:!0,get:function(){pe("You are getting _setThrew on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_setThrew",{configurable:!0,set:function(){pe("You are setting _setThrew on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___cxa_is_pointer_type")||(Object.defineProperty(o.ready,"___cxa_is_pointer_type",{configurable:!0,get:function(){pe("You are getting ___cxa_is_pointer_type on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___cxa_is_pointer_type",{configurable:!0,set:function(){pe("You are setting ___cxa_is_pointer_type on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___cxa_can_catch")||(Object.defineProperty(o.ready,"___cxa_can_catch",{configurable:!0,get:function(){pe("You are getting ___cxa_can_catch on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___cxa_can_catch",{configurable:!0,set:function(){pe("You are setting ___cxa_can_catch on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_saveSetjmp")||(Object.defineProperty(o.ready,"_saveSetjmp",{configurable:!0,get:function(){pe("You are getting _saveSetjmp on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_saveSetjmp",{configurable:!0,set:function(){pe("You are setting _saveSetjmp on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_memalign")||(Object.defineProperty(o.ready,"_memalign",{configurable:!0,get:function(){pe("You are getting _memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_memalign",{configurable:!0,set:function(){pe("You are setting _memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_main_thread_process_queued_calls")||(Object.defineProperty(o.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,get:function(){pe("You are getting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,set:function(){pe("You are setting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_webgl_make_context_current")||(Object.defineProperty(o.ready,"_emscripten_webgl_make_context_current",{configurable:!0,get:function(){pe("You are getting _emscripten_webgl_make_context_current on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_webgl_make_context_current",{configurable:!0,set:function(){pe("You are setting _emscripten_webgl_make_context_current on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_webgl_get_current_context")||(Object.defineProperty(o.ready,"_emscripten_webgl_get_current_context",{configurable:!0,get:function(){pe("You are getting _emscripten_webgl_get_current_context on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_webgl_get_current_context",{configurable:!0,set:function(){pe("You are setting _emscripten_webgl_get_current_context on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"__get_tzname")||(Object.defineProperty(o.ready,"__get_tzname",{configurable:!0,get:function(){pe("You are getting __get_tzname on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"__get_tzname",{configurable:!0,set:function(){pe("You are setting __get_tzname on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"__get_daylight")||(Object.defineProperty(o.ready,"__get_daylight",{configurable:!0,get:function(){pe("You are getting __get_daylight on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"__get_daylight",{configurable:!0,set:function(){pe("You are setting __get_daylight on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"__get_timezone")||(Object.defineProperty(o.ready,"__get_timezone",{configurable:!0,get:function(){pe("You are getting __get_timezone on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"__get_timezone",{configurable:!0,set:function(){pe("You are setting __get_timezone on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_builtin_malloc")||(Object.defineProperty(o.ready,"_emscripten_builtin_malloc",{configurable:!0,get:function(){pe("You are getting _emscripten_builtin_malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_builtin_malloc",{configurable:!0,set:function(){pe("You are setting _emscripten_builtin_malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_builtin_free")||(Object.defineProperty(o.ready,"_emscripten_builtin_free",{configurable:!0,get:function(){pe("You are getting _emscripten_builtin_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_builtin_free",{configurable:!0,set:function(){pe("You are setting _emscripten_builtin_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_builtin_memalign")||(Object.defineProperty(o.ready,"_emscripten_builtin_memalign",{configurable:!0,get:function(){pe("You are getting _emscripten_builtin_memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_builtin_memalign",{configurable:!0,set:function(){pe("You are setting _emscripten_builtin_memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___getTypeName")||(Object.defineProperty(o.ready,"___getTypeName",{configurable:!0,get:function(){pe("You are getting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___getTypeName",{configurable:!0,set:function(){pe("You are setting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___embind_register_native_and_builtin_types")||(Object.defineProperty(o.ready,"___embind_register_native_and_builtin_types",{configurable:!0,get:function(){pe("You are getting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___embind_register_native_and_builtin_types",{configurable:!0,set:function(){pe("You are setting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"onRuntimeInitialized")||(Object.defineProperty(o.ready,"onRuntimeInitialized",{configurable:!0,get:function(){pe("You are getting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"onRuntimeInitialized",{configurable:!0,set:function(){pe("You are setting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}));var i,a={};for(i in o)o.hasOwnProperty(i)&&(a[i]=o[i]);var s="./this.program",c=function(e,t){throw t},A="object"===("undefined"==typeof window?"undefined":y(window)),u="function"==typeof importScripts,l="object"===("undefined"==typeof process?"undefined":y(process))&&"object"===y(process.versions)&&"string"==typeof process.versions.node,d=!A&&!l&&!u;if(o.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var g,f,h,p="";if(!A&&!u)throw new Error("environment detection error");if(u?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=0!==p.indexOf("blob:")?p.substr(0,p.lastIndexOf("/")+1):"","object"!==("undefined"==typeof window?"undefined":y(window))&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");g=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(h=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),f=function(e,t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)};var E=o.print||console.log.bind(console),m=o.printErr||console.warn.bind(console);for(i in a)a.hasOwnProperty(i)&&(o[i]=a[i]);function I(e){I.shown||(I.shown={}),I.shown[e]||(I.shown[e]=1,m(e))}a=null,o.arguments&&o.arguments,Object.getOwnPropertyDescriptor(o,"arguments")||Object.defineProperty(o,"arguments",{configurable:!0,get:function(){pe("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),o.thisProgram&&(s=o.thisProgram),Object.getOwnPropertyDescriptor(o,"thisProgram")||Object.defineProperty(o,"thisProgram",{configurable:!0,get:function(){pe("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),o.quit&&(c=o.quit),Object.getOwnPropertyDescriptor(o,"quit")||Object.defineProperty(o,"quit",{configurable:!0,get:function(){pe("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),B(void 0===o.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),B(void 0===o.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),B(void 0===o.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),B(void 0===o.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),B(void 0===o.read,"Module.read option was removed (modify read_ in JS)"),B(void 0===o.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),B(void 0===o.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),B(void 0===o.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),B(void 0===o.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Object.getOwnPropertyDescriptor(o,"read")||Object.defineProperty(o,"read",{configurable:!0,get:function(){pe("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"readAsync")||Object.defineProperty(o,"readAsync",{configurable:!0,get:function(){pe("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"readBinary")||Object.defineProperty(o,"readBinary",{configurable:!0,get:function(){pe("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"setWindowTitle")||Object.defineProperty(o,"setWindowTitle",{configurable:!0,get:function(){pe("Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),B(!d,"shell environment detected but not enabled at build time. Add 'shell' to `-s ENVIRONMENT` to enable.");var v,w,C=0,_=function(e){C=e};o.wasmBinary&&(v=o.wasmBinary),Object.getOwnPropertyDescriptor(o,"wasmBinary")||Object.defineProperty(o,"wasmBinary",{configurable:!0,get:function(){pe("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),o.noExitRuntime,Object.getOwnPropertyDescriptor(o,"noExitRuntime")||Object.defineProperty(o,"noExitRuntime",{configurable:!0,get:function(){pe("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),"object"!==("undefined"==typeof WebAssembly?"undefined":y(WebAssembly))&&pe("no native wasm support detected");var b=!1;function B(e,t){e||pe("Assertion failed: "+t)}var D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function T(e,t,r){for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.subarray&&D)return D.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if(224==(240&a)?a=(15&a)<<12|s<<6|c:(240!=(248&a)&&I("Invalid UTF-8 leading byte 0x"+a.toString(16)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),a=(7&a)<<18|s<<12|c<<6|63&e[t++]),a<65536)i+=String.fromCharCode(a);else{var A=a-65536;i+=String.fromCharCode(55296|A>>10,56320|1023&A)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function O(e,t){return e?T(F,e,t):""}function Q(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;s>=2097152&&I("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x1FFFFF)."),t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o}function P(e,t,r){return B("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),Q(e,F,t,r)}function R(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}var S,k,F,x,N,U,j,L,H,G="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function X(e,t){B(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&N[n];)++n;if((r=n<<1)-e>32&&G)return G.decode(F.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var s=x[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i}function Y(e,t,r){if(B(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),B("number"==typeof r,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);x[t>>1]=a,t+=2}return x[t>>1]=0,t-n}function W(e){return 2*e.length}function V(e,t){B(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var r=0,n="";!(r>=t/4);){var o=U[e+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}function z(e,t,r){if(B(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),B("number"==typeof r,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i);if(U[t>>2]=a,(t+=4)+4>o)break}return U[t>>2]=0,t-n}function K(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t}function Z(e){var t=R(e)+1,r=rn(t);return r&&Q(e,k,r,t),r}function J(e,t){return e%t>0&&(e+=t-e%t),e}function q(e){S=e,o.HEAP8=k=new Int8Array(e),o.HEAP16=x=new Int16Array(e),o.HEAP32=U=new Int32Array(e),o.HEAPU8=F=new Uint8Array(e),o.HEAPU16=N=new Uint16Array(e),o.HEAPU32=j=new Uint32Array(e),o.HEAPF32=L=new Float32Array(e),o.HEAPF64=H=new Float64Array(e)}var $=5242880;o.TOTAL_STACK&&B($===o.TOTAL_STACK,"the stack size can no longer be determined at runtime");var ee,te=o.INITIAL_MEMORY||16777216;function re(){var e=an();B(!(3&e)),j[1+(e>>2)]=34821223,j[2+(e>>2)]=2310721022,U[0]=1668509029}function ne(){if(!b){var e=an(),t=j[1+(e>>2)],r=j[2+(e>>2)];34821223==t&&2310721022==r||pe("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+r.toString(16)+" "+t.toString(16)),1668509029!==U[0]&&pe("Runtime error: The application has corrupted its heap memory area (address zero)!")}}Object.getOwnPropertyDescriptor(o,"INITIAL_MEMORY")||Object.defineProperty(o,"INITIAL_MEMORY",{configurable:!0,get:function(){pe("Module.INITIAL_MEMORY has been replaced with plain INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),B(te>=$,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+te+"! (TOTAL_STACK="+$+")"),B("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&void 0!==Int32Array.prototype.subarray&&void 0!==Int32Array.prototype.set,"JS engine does not provide full typed array support"),B(!o.wasmMemory,"Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"),B(16777216==te,"Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)"}();var oe=[],ie=[],ae=[],se=[],ce=!1;B(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),B(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),B(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),B(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Ae=0,ue=null,le=null,de={};function ge(e){for(var t=e;;){if(!de[e])return e;e=t+Math.random()}}function fe(e){Ae++,o.monitorRunDependencies&&o.monitorRunDependencies(Ae),e?(B(!de[e]),de[e]=1,null===ue&&"undefined"!=typeof setInterval&&(ue=setInterval((function(){if(b)return clearInterval(ue),void(ue=null);var e=!1;for(var t in de)e||(e=!0,m("still waiting on run dependencies:")),m("dependency: "+t);e&&m("(end of list)")}),1e4))):m("warning: run dependency added without ID")}function he(e){if(Ae--,o.monitorRunDependencies&&o.monitorRunDependencies(Ae),e?(B(de[e]),delete de[e]):m("warning: run dependency removed without ID"),0==Ae&&(null!==ue&&(clearInterval(ue),ue=null),le)){var t=le;le=null,t()}}function pe(e){o.onAbort&&o.onAbort(e),m(e+=""),b=!0;var t="abort("+e+") at "+function(){var e=function(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}();o.extraStackTrace&&(e+="\n"+o.extraStackTrace());return Pe(e)}();e=t;var r=new WebAssembly.RuntimeError(e);throw n(r),r}o.preloadedImages={},o.preloadedAudios={};var Ee,me,ye,Ie;function ve(e){return e.startsWith("data:application/octet-stream;base64,")}function we(e){return e.startsWith("file://")}function Ce(e,t){return function(){var r=e,n=t;return n=o.asm,B(ce,"native function `"+r+"` called before runtime initialization"),B(!0,"native function `"+r+"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),n[e]||B(n[e],"exported native function `"+r+"` not found"),n[e].apply(null,arguments)}}function _e(e){try{if(e==Ee&&v)return new Uint8Array(v);if(h)return h(e);throw"both async and sync fetching of the wasm failed"}catch(e){pe(e)}}ve(Ee="selfie_segmentation_solution_wasm_bin.wasm")||(me=Ee,Ee=o.locateFile?o.locateFile(me,p):p+me);var be,Be={460976:function(){var e=!0;if(e){var t=br;if("function"!=typeof t)return void("undefined"!=typeof console&&console.error('Expected Emscripten global function "findCanvasEventTarget" not found. WebGL context creation may fail.'));br=function(e){if(0==e){if(o&&o.canvas)return o.canvas;if(o&&o.canvasCssSelector)return t(o.canvasCssSelector);"undefined"!=typeof console&&console.warn("Module properties canvas and canvasCssSelector not found during WebGL context creation.")}return t(e)},e=!1}},461761:function(){return"undefined"!=typeof wasmOffsetConverter}};function De(e,t){if(b)m("user callback triggered after application aborted. Ignoring.");else try{e()}catch(e){if(e instanceof mn)return;if("unwind"!==e)throw e&&"object"===y(e)&&e.stack&&m("exception thrown: "+[e,e.stack]),e}}function Te(e,t){return setTimeout((function(){De(e)}),t)}be=l?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:function(){return performance.now()};var Oe={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Oe.mainLoop.scheduler=null,Oe.mainLoop.currentlyRunningMainloop++},resume:function(){Oe.mainLoop.currentlyRunningMainloop++;var e=Oe.mainLoop.timingMode,t=Oe.mainLoop.timingValue,r=Oe.mainLoop.func;Oe.mainLoop.func=null,function(e,t,r,n){B(!Oe.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Oe.mainLoop.func=e,Oe.mainLoop.arg=n;var i=Oe.mainLoop.currentlyRunningMainloop;function a(){return!(i<Oe.mainLoop.currentlyRunningMainloop)}Oe.mainLoop.running=!1,Oe.mainLoop.runner=function(){if(!b)if(Oe.mainLoop.queue.length>0){var t=Date.now(),r=Oe.mainLoop.queue.shift();if(r.func(r.arg),Oe.mainLoop.remainingBlockers){var n=Oe.mainLoop.remainingBlockers,i=n%1==0?n-1:Math.floor(n);r.counted?Oe.mainLoop.remainingBlockers=i:(i+=.5,Oe.mainLoop.remainingBlockers=(8*n+i)/9)}if(E('main loop blocker "'+r.name+'" took '+(Date.now()-t)+" ms"),Oe.mainLoop.updateStatus(),!a())return;setTimeout(Oe.mainLoop.runner,0)}else a()&&(Oe.mainLoop.currentFrameNumber=Oe.mainLoop.currentFrameNumber+1|0,1==Oe.mainLoop.timingMode&&Oe.mainLoop.timingValue>1&&Oe.mainLoop.currentFrameNumber%Oe.mainLoop.timingValue!=0?Oe.mainLoop.scheduler():(0==Oe.mainLoop.timingMode&&(Oe.mainLoop.tickStartTime=be()),vr.newRenderingFrameStarted(),void 0!==vr&&vr.currentContext&&!vr.currentContextIsProxied&&!vr.currentContext.attributes.explicitSwapControl&&vr.currentContext.GLctx.commit&&vr.currentContext.GLctx.commit(),"timeout"===Oe.mainLoop.method&&o.ctx&&(I("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Oe.mainLoop.method=""),Oe.mainLoop.runIter(e),ne(),a()&&("object"===("undefined"==typeof SDL?"undefined":y(SDL))&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Oe.mainLoop.scheduler())))}}(r,0,0,Oe.mainLoop.arg),function(e,t){if(Oe.mainLoop.timingMode=e,Oe.mainLoop.timingValue=t,!Oe.mainLoop.func)return m("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up."),1;if(Oe.mainLoop.running||(Oe.mainLoop.running=!0),0==e)Oe.mainLoop.scheduler=function(){var e=0|Math.max(0,Oe.mainLoop.tickStartTime+t-be());setTimeout(Oe.mainLoop.runner,e)},Oe.mainLoop.method="timeout";else if(1==e)Oe.mainLoop.scheduler=function(){Oe.requestAnimationFrame(Oe.mainLoop.runner)},Oe.mainLoop.method="rAF";else if(2==e){if("undefined"==typeof setImmediate){var r=[],n="setimmediate";addEventListener("message",(function(e){e.data!==n&&e.data.target!==n||(e.stopPropagation(),r.shift()())}),!0),setImmediate=function(e){r.push(e),u?(void 0===o.setImmediates&&(o.setImmediates=[]),o.setImmediates.push(e),postMessage({target:n})):postMessage(n,"*")}}Oe.mainLoop.scheduler=function(){setImmediate(Oe.mainLoop.runner)},Oe.mainLoop.method="immediate"}}(e,t),Oe.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var e=o.statusMessage||"Please wait...",t=Oe.mainLoop.remainingBlockers,r=Oe.mainLoop.expectedBlockers;t?t<r?o.setStatus(e+" ("+(r-t)+"/"+r+")"):o.setStatus(e):o.setStatus("")}},runIter:function(e){if(!b){if(o.preMainLoop)if(!1===o.preMainLoop())return;De(e),o.postMainLoop&&o.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(o.preloadPlugins||(o.preloadPlugins=[]),!Oe.initted){Oe.initted=!0;try{new Blob,Oe.hasBlobConstructor=!0}catch(e){Oe.hasBlobConstructor=!1,E("warning: no blob constructor, cannot create blobs with mimetypes")}Oe.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Oe.hasBlobConstructor?null:E("warning: no BlobBuilder"),Oe.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,o.noImageDecoding||void 0!==Oe.URLObject||(E("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var e={canHandle:function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,n){var i=null;if(Oe.hasBlobConstructor)try{(i=new Blob([e],{type:Oe.getMimetype(t)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:Oe.getMimetype(t)}))}catch(e){I("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!i){var a=new Oe.BlobBuilder;a.append(new Uint8Array(e).buffer),i=a.getBlob()}var s=Oe.URLObject.createObjectURL(i);B("string"==typeof s,"createObjectURL must return a url as a string");var c=new Image;c.onload=function(){B(c.complete,"Image "+t+" could not be decoded");var n=document.createElement("canvas");n.width=c.width,n.height=c.height,n.getContext("2d").drawImage(c,0,0),o.preloadedImages[t]=n,Oe.URLObject.revokeObjectURL(s),r&&r(e)},c.onerror=function(e){E("Image "+s+" could not be decoded"),n&&n()},c.src=s}};o.preloadPlugins.push(e);var t={canHandle:function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,n){var i=!1;function a(n){i||(i=!0,o.preloadedAudios[t]=n,r&&r(e))}function s(){i||(i=!0,o.preloadedAudios[t]=new Audio,n&&n())}if(!Oe.hasBlobConstructor)return s();try{var c=new Blob([e],{type:Oe.getMimetype(t)})}catch(e){return s()}var A=Oe.URLObject.createObjectURL(c);B("string"==typeof A,"createObjectURL must return a url as a string");var u=new Audio;u.addEventListener("canplaythrough",(function(){a(u)}),!1),u.onerror=function(r){i||(E("warning: browser could not fully decode audio "+t+", trying slower base64 approach"),u.src="data:audio/x-"+t.substr(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,i=0;i<e.length;i++)for(n=n<<8|e[i],o+=8;o>=6;){var a=n>>o-6&63;o-=6,r+=t[a]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e),a(u))},u.src=A,Te((function(){a(u)}),1e4)}};o.preloadPlugins.push(t);var r=o.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),o.elementPointerLock&&r.addEventListener("click",(function(e){!Oe.pointerLock&&o.canvas.requestPointerLock&&(o.canvas.requestPointerLock(),e.preventDefault())}),!1))}},createContext:function(e,t,r,n){if(t&&o.ctx&&e==o.canvas)return o.ctx;var i,a;if(t){var s={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(n)for(var c in n)s[c]=n[c];void 0!==vr&&(a=vr.createContext(e,s))&&(i=vr.getContext(a).GLctx)}else i=e.getContext("2d");return i?(r&&(t||B(void 0===zr,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=i,t&&vr.makeContextCurrent(a),o.useWebGL=t,Oe.moduleContextCreatedCallbacks.forEach((function(e){e()})),Oe.init()),i):null},destroyContext:function(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t){Oe.lockPointer=e,Oe.resizeCanvas=t,void 0===Oe.lockPointer&&(Oe.lockPointer=!0),void 0===Oe.resizeCanvas&&(Oe.resizeCanvas=!1);var r=o.canvas;function n(){Oe.isFullscreen=!1;var e=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(r.exitFullscreen=Oe.exitFullscreen,Oe.lockPointer&&r.requestPointerLock(),Oe.isFullscreen=!0,Oe.resizeCanvas?Oe.setFullscreenCanvasSize():Oe.updateCanvasDimensions(r)):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),Oe.resizeCanvas?Oe.setWindowedCanvasSize():Oe.updateCanvasDimensions(r)),o.onFullScreen&&o.onFullScreen(Oe.isFullscreen),o.onFullscreen&&o.onFullscreen(Oe.isFullscreen)}Oe.fullscreenHandlersInstalled||(Oe.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var i=document.createElement("div");r.parentNode.insertBefore(i,r),i.appendChild(r),i.requestFullscreen=i.requestFullscreen||i.mozRequestFullScreen||i.msRequestFullscreen||(i.webkitRequestFullscreen?function(){i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(i.webkitRequestFullScreen?function(){i.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i.requestFullscreen()},requestFullScreen:function(){pe("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen:function(){return!!Oe.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(0===Oe.nextRAF)Oe.nextRAF=t+1e3/60;else for(;t+2>=Oe.nextRAF;)Oe.nextRAF+=1e3/60;var r=Math.max(Oe.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){"function"!=typeof requestAnimationFrame?(0,Oe.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)})),safeSetTimeout:function(e){return Te(e)},safeRequestAnimationFrame:function(e){return Oe.requestAnimationFrame((function(){De(e)}))},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Oe.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Oe.mouseMovementX=Oe.mouseMovementY=0:(Oe.mouseMovementX=Oe.getMovementX(e),Oe.mouseMovementY=Oe.getMovementY(e)),"undefined"!=typeof SDL?(Oe.mouseX=SDL.mouseX+Oe.mouseMovementX,Oe.mouseY=SDL.mouseY+Oe.mouseMovementY):(Oe.mouseX+=Oe.mouseMovementX,Oe.mouseY+=Oe.mouseMovementY);else{var t=o.canvas.getBoundingClientRect(),r=o.canvas.width,n=o.canvas.height,i=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if(B(void 0!==i&&void 0!==a,"Unable to retrieve scroll position, mouse positions likely broken."),"touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var s=e.touch;if(void 0===s)return;var c=s.pageX-(i+t.left),A=s.pageY-(a+t.top),u={x:c*=r/t.width,y:A*=n/t.height};if("touchstart"===e.type)Oe.lastTouches[s.identifier]=u,Oe.touches[s.identifier]=u;else if("touchend"===e.type||"touchmove"===e.type){var l=Oe.touches[s.identifier];l||(l=u),Oe.lastTouches[s.identifier]=l,Oe.touches[s.identifier]=u}return}var d=e.pageX-(i+t.left),g=e.pageY-(a+t.top);d*=r/t.width,g*=n/t.height,Oe.mouseMovementX=d-Oe.mouseX,Oe.mouseMovementY=g-Oe.mouseY,Oe.mouseX=d,Oe.mouseY=g}},resizeListeners:[],updateResizeListeners:function(){var e=o.canvas;Oe.resizeListeners.forEach((function(t){t(e.width,e.height)}))},setCanvasSize:function(e,t,r){var n=o.canvas;Oe.updateCanvasDimensions(n,e,t),r||Oe.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=j[SDL.screen>>2];e|=8388608,U[SDL.screen>>2]=e}Oe.updateCanvasDimensions(o.canvas),Oe.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=j[SDL.screen>>2];e&=-8388609,U[SDL.screen>>2]=e}Oe.updateCanvasDimensions(o.canvas),Oe.updateResizeListeners()},updateCanvasDimensions:function(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var n=t,i=r;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(n/i<o.forcedAspectRatio?n=Math.round(i*o.forcedAspectRatio):i=Math.round(n/o.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var a=Math.min(screen.width/n,screen.height/i);n=Math.round(n*a),i=Math.round(i*a)}Oe.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(n!=t||i!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",i+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}};function Qe(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?ee.get(r)():ee.get(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(o)}}function Pe(e){return e.replace(/\b_Z[\w\d_]+/g,(function(e){var t,r=(t=e,I("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t);return e===r?e:r+" ["+e+"]"}))}function Me(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){U[this.ptr+4>>2]=e},this.get_type=function(){return U[this.ptr+4>>2]},this.set_destructor=function(e){U[this.ptr+8>>2]=e},this.get_destructor=function(){return U[this.ptr+8>>2]},this.set_refcount=function(e){U[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,k[this.ptr+12|0]=e},this.get_caught=function(){return 0!=k[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,k[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=k[this.ptr+13|0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=U[this.ptr>>2];U[this.ptr>>2]=e+1},this.release_ref=function(){var e=U[this.ptr>>2];return U[this.ptr>>2]=e-1,B(e>0),1===e}}function Re(e){this.free=function(){tn(this.ptr),this.ptr=0},this.set_base_ptr=function(e){U[this.ptr>>2]=e},this.get_base_ptr=function(){return U[this.ptr>>2]},this.set_adjusted_ptr=function(e){U[this.ptr+4>>2]=e},this.get_adjusted_ptr_addr=function(){return this.ptr+4},this.get_adjusted_ptr=function(){return U[this.ptr+4>>2]},this.get_exception_ptr=function(){if(pn(this.get_exception_info().get_type()))return U[this.get_base_ptr()>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.get_base_ptr()},this.get_exception_info=function(){return new Me(this.get_base_ptr())},void 0===e?(this.ptr=rn(8),this.set_adjusted_ptr(0)):this.ptr=e}var Se=[];var ke=0;function Fe(e){try{return tn(new Me(e).ptr)}catch(e){m("exception during cxa_free_exception: "+e)}}function xe(e){return U[nn()>>2]=e,e}var Ne={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=Ne.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Ne.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Ne.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return Ne.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return Ne.normalize(e.join("/"))},join2:function(e,t){return Ne.normalize(e+"/"+t)}};function Ue(){if("object"===("undefined"==typeof crypto?"undefined":y(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(l)try{var t=M("crypto");return function(){return t.randomBytes(1)[0]}}catch(e){}return function(){pe("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}var je={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:We.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t="/"===n.charAt(0)}return(t?"/":"")+(e=Ne.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=je.resolve(e).substr(1),t=je.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.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("/")}},Le={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Le.ttys[e]={input:[],output:[],ops:t},We.registerDevice(e,Le.stream_ops)},stream_ops:{open:function(e){var t=Le.ttys[e.node.rdev];if(!t)throw new We.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new We.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new We.ErrnoError(29)}if(void 0===s&&0===i)throw new We.ErrnoError(6);if(null==s)break;i++,t[r+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new We.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new We.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(e){if(!e.input.length){var t=null;if(l){var r=Buffer.alloc(256),n=0;try{n=nodeFS.readSync(process.stdin.fd,r,0,256,null)}catch(e){if(!e.toString().includes("EOF"))throw e;n=0}t=n>0?r.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=$r(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(E(T(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(E(T(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(m(T(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(m(T(e.output,0)),e.output=[])}}};function He(e){e=function(e,t){return B(t,"alignment argument is required"),Math.ceil(e/t)*t}(e,65536);var t=En(65536,e);return t?(function(e,t){F.fill(0,e,e+t)}(t,e),t):0}var Ge={ops_table:null,mount:function(e){return Ge.createNode(null,"/",16895,0)},createNode:function(e,t,r,n){if(We.isBlkdev(r)||We.isFIFO(r))throw new We.ErrnoError(63);Ge.ops_table||(Ge.ops_table={dir:{node:{getattr:Ge.node_ops.getattr,setattr:Ge.node_ops.setattr,lookup:Ge.node_ops.lookup,mknod:Ge.node_ops.mknod,rename:Ge.node_ops.rename,unlink:Ge.node_ops.unlink,rmdir:Ge.node_ops.rmdir,readdir:Ge.node_ops.readdir,symlink:Ge.node_ops.symlink},stream:{llseek:Ge.stream_ops.llseek}},file:{node:{getattr:Ge.node_ops.getattr,setattr:Ge.node_ops.setattr},stream:{llseek:Ge.stream_ops.llseek,read:Ge.stream_ops.read,write:Ge.stream_ops.write,allocate:Ge.stream_ops.allocate,mmap:Ge.stream_ops.mmap,msync:Ge.stream_ops.msync}},link:{node:{getattr:Ge.node_ops.getattr,setattr:Ge.node_ops.setattr,readlink:Ge.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ge.node_ops.getattr,setattr:Ge.node_ops.setattr},stream:We.chrdev_stream_ops}});var o=We.createNode(e,t,r,n);return We.isDir(o.mode)?(o.node_ops=Ge.ops_table.dir.node,o.stream_ops=Ge.ops_table.dir.stream,o.contents={}):We.isFile(o.mode)?(o.node_ops=Ge.ops_table.file.node,o.stream_ops=Ge.ops_table.file.stream,o.usedBytes=0,o.contents=null):We.isLink(o.mode)?(o.node_ops=Ge.ops_table.link.node,o.stream_ops=Ge.ops_table.link.stream):We.isChrdev(o.mode)&&(o.node_ops=Ge.ops_table.chrdev.node,o.stream_ops=Ge.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=We.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,We.isDir(e.mode)?t.size=4096:We.isFile(e.mode)?t.size=e.usedBytes:We.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Ge.resizeFileStorage(e,t.size)},lookup:function(e,t){throw We.genericErrors[44]},mknod:function(e,t,r,n){return Ge.createNode(e,t,r,n)},rename:function(e,t,r){if(We.isDir(e.mode)){var n;try{n=We.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new We.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=We.lookupNode(e,t);for(var n in r.contents)throw new We.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var n=Ge.createNode(e,t,41471,0);return n.link=r,n},readlink:function(e){if(!We.isLink(e.mode))throw new We.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(B(a>=0),a>8&&i.subarray)t.set(i.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=i[o+s];return a},write:function(e,t,r,n,o,i){if(B(!(t instanceof ArrayBuffer)),t.buffer===k.buffer&&(i=!1),!n)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return B(0===o,"canOwn must imply no weird position inside the file"),a.contents=t.subarray(r,r+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(t.subarray(r,r+n),o),n}if(Ge.expandFileStorage(a,o+n),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&We.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new We.ErrnoError(28);return n},allocate:function(e,t,r){Ge.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap:function(e,t,r,n,o,i){if(0!==t)throw new We.ErrnoError(28);if(!We.isFile(e.node.mode))throw new We.ErrnoError(43);var a,s,c=e.node.contents;if(2&i||c.buffer!==S){if((n>0||n+r<c.length)&&(c=c.subarray?c.subarray(n,n+r):Array.prototype.slice.call(c,n,n+r)),s=!0,!(a=He(r)))throw new We.ErrnoError(48);k.set(c,a)}else s=!1,a=c.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,r,n,o){if(!We.isFile(e.node.mode))throw new We.ErrnoError(43);return 2&o||Ge.stream_ops.write(e,t,0,n,r,!1),0}}};var Xe={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},Ye={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},We={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e,t){if(t=t||{},!(e=je.resolve(We.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var n in r)void 0===t[n]&&(t[n]=r[n]);if(t.recurse_count>8)throw new We.ErrnoError(32);for(var o=Ne.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),i=We.root,a="/",s=0;s<o.length;s++){var c=s===o.length-1;if(c&&t.parent)break;if(i=We.lookupNode(i,o[s]),a=Ne.join2(a,o[s]),We.isMountpoint(i)&&(!c||c&&t.follow_mount)&&(i=i.mounted.root),!c||t.follow)for(var A=0;We.isLink(i.mode);){var u=We.readlink(a);if(a=je.resolve(Ne.dirname(a),u),i=We.lookupPath(a,{recurse_count:t.recurse_count}).node,A++>40)throw new We.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(We.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%We.nameTable.length},hashAddNode:function(e){var t=We.hashName(e.parent.id,e.name);e.name_next=We.nameTable[t],We.nameTable[t]=e},hashRemoveNode:function(e){var t=We.hashName(e.parent.id,e.name);if(We.nameTable[t]===e)We.nameTable[t]=e.name_next;else for(var r=We.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:function(e,t){var r=We.mayLookup(e);if(r)throw new We.ErrnoError(r,e);for(var n=We.hashName(e.id,t),o=We.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return We.lookup(e,t)},createNode:function(e,t,r,n){B("object"===y(e));var o=new We.FSNode(e,t,r,n);return We.hashAddNode(o),o},destroyNode:function(e){We.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return!(49152&~e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=We.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return We.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=We.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{We.lookupNode(e,t);return 20}catch(e){}return We.nodePermissions(e,"wx")},mayDelete:function(e,t,r){var n;try{n=We.lookupNode(e,t)}catch(e){return e.errno}var o=We.nodePermissions(e,"wx");if(o)return o;if(r){if(!We.isDir(n.mode))return 54;if(We.isRoot(n)||We.getPath(n)===We.cwd())return 10}else if(We.isDir(n.mode))return 31;return 0},mayOpen:function(e,t){return e?We.isLink(e.mode)?32:We.isDir(e.mode)&&("r"!==We.flagsToPermissionString(t)||512&t)?31:We.nodePermissions(e,We.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||We.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!We.streams[r])return r;throw new We.ErrnoError(33)},getStream:function(e){return We.streams[e]},createStream:function(e,t,r){We.FSStream||(We.FSStream=function(){},We.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var n=new We.FSStream;for(var o in e)n[o]=e[o];e=n;var i=We.nextfd(t,r);return e.fd=i,We.streams[i]=e,e},closeStream:function(e){We.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=We.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new We.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){We.devices[e]={stream_ops:t}},getDevice:function(e){return We.devices[e]},getMounts:function(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),We.syncFSRequests++,We.syncFSRequests>1&&m("warning: "+We.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=We.getMounts(We.root.mount),n=0;function o(e){return B(We.syncFSRequests>0),We.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach((function(t){if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)}))},mount:function(e,t,r){if("string"==typeof e)throw e;var n,o="/"===r,i=!r;if(o&&We.root)throw new We.ErrnoError(10);if(!o&&!i){var a=We.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,We.isMountpoint(n))throw new We.ErrnoError(10);if(!We.isDir(n.mode))throw new We.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?We.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount:function(e){var t=We.lookupPath(e,{follow_mount:!1});if(!We.isMountpoint(t.node))throw new We.ErrnoError(28);var r=t.node,n=r.mounted,o=We.getMounts(n);Object.keys(We.nameTable).forEach((function(e){for(var t=We.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&We.destroyNode(t),t=r}})),r.mounted=null;var i=r.mount.mounts.indexOf(n);B(-1!==i),r.mount.mounts.splice(i,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,r){var n=We.lookupPath(e,{parent:!0}).node,o=Ne.basename(e);if(!o||"."===o||".."===o)throw new We.ErrnoError(28);var i=We.mayCreate(n,o);if(i)throw new We.ErrnoError(i);if(!n.node_ops.mknod)throw new We.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,We.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,We.mknod(e,t,0)},mkdirTree:function(e,t){for(var r=e.split("/"),n="",o=0;o<r.length;++o)if(r[o]){n+="/"+r[o];try{We.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:function(e,t,r){return void 0===r&&(r=t,t=438),t|=8192,We.mknod(e,t,r)},symlink:function(e,t){if(!je.resolve(e))throw new We.ErrnoError(44);var r=We.lookupPath(t,{parent:!0}).node;if(!r)throw new We.ErrnoError(44);var n=Ne.basename(t),o=We.mayCreate(r,n);if(o)throw new We.ErrnoError(o);if(!r.node_ops.symlink)throw new We.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename:function(e,t){var r,n,o=Ne.dirname(e),i=Ne.dirname(t),a=Ne.basename(e),s=Ne.basename(t);if(r=We.lookupPath(e,{parent:!0}).node,n=We.lookupPath(t,{parent:!0}).node,!r||!n)throw new We.ErrnoError(44);if(r.mount!==n.mount)throw new We.ErrnoError(75);var c,A=We.lookupNode(r,a),u=je.relative(e,i);if("."!==u.charAt(0))throw new We.ErrnoError(28);if("."!==(u=je.relative(t,o)).charAt(0))throw new We.ErrnoError(55);try{c=We.lookupNode(n,s)}catch(e){}if(A!==c){var l=We.isDir(A.mode),d=We.mayDelete(r,a,l);if(d)throw new We.ErrnoError(d);if(d=c?We.mayDelete(n,s,l):We.mayCreate(n,s))throw new We.ErrnoError(d);if(!r.node_ops.rename)throw new We.ErrnoError(63);if(We.isMountpoint(A)||c&&We.isMountpoint(c))throw new We.ErrnoError(10);if(n!==r&&(d=We.nodePermissions(r,"w")))throw new We.ErrnoError(d);try{We.trackingDelegate.willMovePath&&We.trackingDelegate.willMovePath(e,t)}catch(r){m("FS.trackingDelegate['willMovePath']('"+e+"', '"+t+"') threw an exception: "+r.message)}We.hashRemoveNode(A);try{r.node_ops.rename(A,n,s)}catch(e){throw e}finally{We.hashAddNode(A)}try{We.trackingDelegate.onMovePath&&We.trackingDelegate.onMovePath(e,t)}catch(r){m("FS.trackingDelegate['onMovePath']('"+e+"', '"+t+"') threw an exception: "+r.message)}}},rmdir:function(e){var t=We.lookupPath(e,{parent:!0}).node,r=Ne.basename(e),n=We.lookupNode(t,r),o=We.mayDelete(t,r,!0);if(o)throw new We.ErrnoError(o);if(!t.node_ops.rmdir)throw new We.ErrnoError(63);if(We.isMountpoint(n))throw new We.ErrnoError(10);try{We.trackingDelegate.willDeletePath&&We.trackingDelegate.willDeletePath(e)}catch(t){m("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+t.message)}t.node_ops.rmdir(t,r),We.destroyNode(n);try{We.trackingDelegate.onDeletePath&&We.trackingDelegate.onDeletePath(e)}catch(t){m("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+t.message)}},readdir:function(e){var t=We.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new We.ErrnoError(54);return t.node_ops.readdir(t)},unlink:function(e){var t=We.lookupPath(e,{parent:!0}).node,r=Ne.basename(e),n=We.lookupNode(t,r),o=We.mayDelete(t,r,!1);if(o)throw new We.ErrnoError(o);if(!t.node_ops.unlink)throw new We.ErrnoError(63);if(We.isMountpoint(n))throw new We.ErrnoError(10);try{We.trackingDelegate.willDeletePath&&We.trackingDelegate.willDeletePath(e)}catch(t){m("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+t.message)}t.node_ops.unlink(t,r),We.destroyNode(n);try{We.trackingDelegate.onDeletePath&&We.trackingDelegate.onDeletePath(e)}catch(t){m("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+t.message)}},readlink:function(e){var t=We.lookupPath(e).node;if(!t)throw new We.ErrnoError(44);if(!t.node_ops.readlink)throw new We.ErrnoError(28);return je.resolve(We.getPath(t.parent),t.node_ops.readlink(t))},stat:function(e,t){var r=We.lookupPath(e,{follow:!t}).node;if(!r)throw new We.ErrnoError(44);if(!r.node_ops.getattr)throw new We.ErrnoError(63);return r.node_ops.getattr(r)},lstat:function(e){return We.stat(e,!0)},chmod:function(e,t,r){var n;"string"==typeof e?n=We.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new We.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:function(e,t){We.chmod(e,t,!0)},fchmod:function(e,t){var r=We.getStream(e);if(!r)throw new We.ErrnoError(8);We.chmod(r.node,t)},chown:function(e,t,r,n){var o;"string"==typeof e?o=We.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new We.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:function(e,t,r){We.chown(e,t,r,!0)},fchown:function(e,t,r){var n=We.getStream(e);if(!n)throw new We.ErrnoError(8);We.chown(n.node,t,r)},truncate:function(e,t){if(t<0)throw new We.ErrnoError(28);var r;"string"==typeof e?r=We.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new We.ErrnoError(63);if(We.isDir(r.mode))throw new We.ErrnoError(31);if(!We.isFile(r.mode))throw new We.ErrnoError(28);var n=We.nodePermissions(r,"w");if(n)throw new We.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:function(e,t){var r=We.getStream(e);if(!r)throw new We.ErrnoError(8);if(!(2097155&r.flags))throw new We.ErrnoError(28);We.truncate(r.node,t)},utime:function(e,t,r){var n=We.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open:function(e,t,r,n,i){if(""===e)throw new We.ErrnoError(44);var a;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?We.modeStringToFlags(t):t)?4095&r|32768:0,"object"===y(e))a=e;else{e=Ne.normalize(e);try{a=We.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(a){if(128&t)throw new We.ErrnoError(20)}else a=We.mknod(e,r,0),s=!0;if(!a)throw new We.ErrnoError(44);if(We.isChrdev(a.mode)&&(t&=-513),65536&t&&!We.isDir(a.mode))throw new We.ErrnoError(54);if(!s){var c=We.mayOpen(a,t);if(c)throw new We.ErrnoError(c)}512&t&&We.truncate(a,0),t&=-131713;var A=We.createStream({node:a,path:We.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},n,i);A.stream_ops.open&&A.stream_ops.open(A),!o.logReadFiles||1&t||(We.readFiles||(We.readFiles={}),e in We.readFiles||(We.readFiles[e]=1,m("FS.trackingDelegate error on read file: "+e)));try{if(We.trackingDelegate.onOpenFile){var u=0;1!=(2097155&t)&&(u|=We.tracking.openFlags.READ),2097155&t&&(u|=We.tracking.openFlags.WRITE),We.trackingDelegate.onOpenFile(e,u)}}catch(t){m("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+t.message)}return A},close:function(e){if(We.isClosed(e))throw new We.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{We.closeStream(e.fd)}e.fd=null},isClosed:function(e){return null===e.fd},llseek:function(e,t,r){if(We.isClosed(e))throw new We.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new We.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new We.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:function(e,t,r,n,o){if(n<0||o<0)throw new We.ErrnoError(28);if(We.isClosed(e))throw new We.ErrnoError(8);if(1==(2097155&e.flags))throw new We.ErrnoError(8);if(We.isDir(e.node.mode))throw new We.ErrnoError(31);if(!e.stream_ops.read)throw new We.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new We.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=a),a},write:function(e,t,r,n,o,i){if(n<0||o<0)throw new We.ErrnoError(28);if(We.isClosed(e))throw new We.ErrnoError(8);if(!(2097155&e.flags))throw new We.ErrnoError(8);if(We.isDir(e.node.mode))throw new We.ErrnoError(31);if(!e.stream_ops.write)throw new We.ErrnoError(28);e.seekable&&1024&e.flags&&We.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new We.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,n,o,i);a||(e.position+=s);try{e.path&&We.trackingDelegate.onWriteToFile&&We.trackingDelegate.onWriteToFile(e.path)}catch(t){m("FS.trackingDelegate['onWriteToFile']('"+e.path+"') threw an exception: "+t.message)}return s},allocate:function(e,t,r){if(We.isClosed(e))throw new We.ErrnoError(8);if(t<0||r<=0)throw new We.ErrnoError(28);if(!(2097155&e.flags))throw new We.ErrnoError(8);if(!We.isFile(e.node.mode)&&!We.isDir(e.node.mode))throw new We.ErrnoError(43);if(!e.stream_ops.allocate)throw new We.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:function(e,t,r,n,o,i){if(2&o&&!(2&i)&&2!=(2097155&e.flags))throw new We.ErrnoError(2);if(1==(2097155&e.flags))throw new We.ErrnoError(2);if(!e.stream_ops.mmap)throw new We.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,o,i)},msync:function(e,t,r,n,o){return e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0},munmap:function(e){return 0},ioctl:function(e,t,r){if(!e.stream_ops.ioctl)throw new We.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e,t){if((t=t||{}).flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var r,n=We.open(e,t.flags),o=We.stat(e).size,i=new Uint8Array(o);return We.read(n,i,0,o,0),"utf8"===t.encoding?r=T(i,0):"binary"===t.encoding&&(r=i),We.close(n),r},writeFile:function(e,t,r){(r=r||{}).flags=r.flags||577;var n=We.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(R(t)+1),i=Q(t,o,0,o.length);We.write(n,o,0,i,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");We.write(n,t,0,t.byteLength,void 0,r.canOwn)}We.close(n)},cwd:function(){return We.currentPath},chdir:function(e){var t=We.lookupPath(e,{follow:!0});if(null===t.node)throw new We.ErrnoError(44);if(!We.isDir(t.node.mode))throw new We.ErrnoError(54);var r=We.nodePermissions(t.node,"x");if(r)throw new We.ErrnoError(r);We.currentPath=t.path},createDefaultDirectories:function(){We.mkdir("/tmp"),We.mkdir("/home"),We.mkdir("/home/web_user")},createDefaultDevices:function(){We.mkdir("/dev"),We.registerDevice(We.makedev(1,3),{read:function(){return 0},write:function(e,t,r,n,o){return n}}),We.mkdev("/dev/null",We.makedev(1,3)),Le.register(We.makedev(5,0),Le.default_tty_ops),Le.register(We.makedev(6,0),Le.default_tty1_ops),We.mkdev("/dev/tty",We.makedev(5,0)),We.mkdev("/dev/tty1",We.makedev(6,0));var e=Ue();We.createDevice("/dev","random",e),We.createDevice("/dev","urandom",e),We.mkdir("/dev/shm"),We.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){We.mkdir("/proc");var e=We.mkdir("/proc/self");We.mkdir("/proc/self/fd"),We.mount({mount:function(){var t=We.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var r=+t,n=We.getStream(r);if(!n)throw new We.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return n.path}}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:function(){o.stdin?We.createDevice("/dev","stdin",o.stdin):We.symlink("/dev/tty","/dev/stdin"),o.stdout?We.createDevice("/dev","stdout",null,o.stdout):We.symlink("/dev/tty","/dev/stdout"),o.stderr?We.createDevice("/dev","stderr",null,o.stderr):We.symlink("/dev/tty1","/dev/stderr");var e=We.open("/dev/stdin",0),t=We.open("/dev/stdout",1),r=We.open("/dev/stderr",1);B(0===e.fd,"invalid handle for stdin ("+e.fd+")"),B(1===t.fd,"invalid handle for stdout ("+t.fd+")"),B(2===r.fd,"invalid handle for stderr ("+r.fd+")")},ensureErrnoError:function(){We.ErrnoError||(We.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){for(var t in this.errno=e,Ye)if(Ye[t]===e){this.code=t;break}},this.setErrno(e),this.message=Xe[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Pe(this.stack))},We.ErrnoError.prototype=new Error,We.ErrnoError.prototype.constructor=We.ErrnoError,[44].forEach((function(e){We.genericErrors[e]=new We.ErrnoError(e),We.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:function(){We.ensureErrnoError(),We.nameTable=new Array(4096),We.mount(Ge,{},"/"),We.createDefaultDirectories(),We.createDefaultDevices(),We.createSpecialDirectories(),We.filesystems={MEMFS:Ge}},init:function(e,t,r){B(!We.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),We.init.initialized=!0,We.ensureErrnoError(),o.stdin=e||o.stdin,o.stdout=t||o.stdout,o.stderr=r||o.stderr,We.createStandardStreams()},quit:function(){We.init.initialized=!1;var e=o._fflush;e&&e(0);for(var t=0;t<We.streams.length;t++){var r=We.streams[t];r&&We.close(r)}},getMode:function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:function(e,t){var r=We.analyzePath(e,t);return r.exists?r.object:null},analyzePath:function(e,t){try{e=(n=We.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=We.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=Ne.basename(e),n=We.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath:function(e,t,r,n){e="string"==typeof e?e:We.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var a=Ne.join2(e,i);try{We.mkdir(a)}catch(e){}e=a}}return a},createFile:function(e,t,r,n,o){var i=Ne.join2("string"==typeof e?e:We.getPath(e),t),a=We.getMode(n,o);return We.create(i,a)},createDataFile:function(e,t,r,n,o,i){var a=t?Ne.join2("string"==typeof e?e:We.getPath(e),t):e,s=We.getMode(n,o),c=We.create(a,s);if(r){if("string"==typeof r){for(var A=new Array(r.length),u=0,l=r.length;u<l;++u)A[u]=r.charCodeAt(u);r=A}We.chmod(c,146|s);var d=We.open(c,577);We.write(d,r,0,r.length,0,i),We.close(d),We.chmod(c,s)}return c},createDevice:function(e,t,r,n){var o=Ne.join2("string"==typeof e?e:We.getPath(e),t),i=We.getMode(!!r,!!n);We.createDevice.major||(We.createDevice.major=64);var a=We.makedev(We.createDevice.major++,0);return We.registerDevice(a,{open:function(e){e.seekable=!1},close:function(e){n&&n.buffer&&n.buffer.length&&n(10)},read:function(e,t,n,o,i){for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(e){throw new We.ErrnoError(29)}if(void 0===c&&0===a)throw new We.ErrnoError(6);if(null==c)break;a++,t[n+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:function(e,t,r,o,i){for(var a=0;a<o;a++)try{n(t[r+a])}catch(e){throw new We.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),We.mkdev(o,i,a)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!g)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=$r(g(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new We.ErrnoError(29)}},createLazyFile:function(e,t,r,n,o){function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var s=this;s.setDataGetter((function(e){var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>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="+e+"-"+t),"undefined"!=typeof Uint8Array&&(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||[]):$r(o.responseText||"",!0)}(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!i&&n||(a=n=1,n=this.getter(0).length,a=n,E("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(!u)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=We.createFile(e,t,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 A={};return Object.keys(c.stream_ops).forEach((function(e){var t=c.stream_ops[e];A[e]=function(){return We.forceLoadFile(c),t.apply(null,arguments)}})),A.read=function(e,t,r,n,o){We.forceLoadFile(c);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(B(a>=0),i.slice)for(var s=0;s<a;s++)t[r+s]=i[o+s];else for(s=0;s<a;s++)t[r+s]=i.get(o+s);return a},c.stream_ops=A,c},createPreloadedFile:function(e,t,r,n,i,a,s,c,A,u){Oe.init();var l=t?je.resolve(Ne.join2(e,t)):e,d=ge("cp "+l);function g(r){function g(r){u&&u(),c||We.createDataFile(e,t,r,n,i,A),a&&a(),he(d)}var f=!1;o.preloadPlugins.forEach((function(e){f||e.canHandle(l)&&(e.handle(r,l,g,(function(){s&&s(),he(d)})),f=!0)})),f||g(r)}fe(d),"string"==typeof r?function(e,t,r){var n=ge("al "+e);f(e,(function(r){B(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(r)),n&&he(n)}),(function(t){if(!r)throw'Loading data file "'+e+'" failed.';r()})),n&&fe(n)}(r,(function(e){g(e)}),s):g(r)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(e,t,r){t=t||function(){},r=r||function(){};var n=We.indexedDB();try{var o=n.open(We.DB_NAME(),We.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=function(){E("creating db"),o.result.createObjectStore(We.DB_STORE_NAME)},o.onsuccess=function(){var n=o.result.transaction([We.DB_STORE_NAME],"readwrite"),i=n.objectStore(We.DB_STORE_NAME),a=0,s=0,c=e.length;function A(){0==s?t():r()}e.forEach((function(e){var t=i.put(We.analyzePath(e).object.contents,e);t.onsuccess=function(){++a+s==c&&A()},t.onerror=function(){s++,a+s==c&&A()}})),n.onerror=r},o.onerror=r},loadFilesFromDB:function(e,t,r){t=t||function(){},r=r||function(){};var n=We.indexedDB();try{var o=n.open(We.DB_NAME(),We.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=r,o.onsuccess=function(){var n=o.result;try{var i=n.transaction([We.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var a=i.objectStore(We.DB_STORE_NAME),s=0,c=0,A=e.length;function u(){0==c?t():r()}e.forEach((function(e){var t=a.get(e);t.onsuccess=function(){We.analyzePath(e).exists&&We.unlink(e),We.createDataFile(Ne.dirname(e),Ne.basename(e),t.result,!0,!0,!0),++s+c==A&&u()},t.onerror=function(){c++,s+c==A&&u()}})),i.onerror=r},o.onerror=r},absolutePath:function(){pe("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:function(){pe("FS.createFolder has been removed; use FS.mkdir instead")},createLink:function(){pe("FS.createLink has been removed; use FS.symlink instead")},joinPath:function(){pe("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:function(){pe("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:function(){pe("FS.standardizePath has been removed; use PATH.normalize instead")}},Ve={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(e,t,r){if("/"===t[0])return t;var n;if(-100===e)n=We.cwd();else{var o=We.getStream(e);if(!o)throw new We.ErrnoError(8);n=o.path}if(0==t.length){if(!r)throw new We.ErrnoError(44);return n}return Ne.join2(n,t)},doStat:function(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&Ne.normalize(t)!==Ne.normalize(We.getPath(e.node)))return-54;throw e}return U[r>>2]=n.dev,U[r+4>>2]=0,U[r+8>>2]=n.ino,U[r+12>>2]=n.mode,U[r+16>>2]=n.nlink,U[r+20>>2]=n.uid,U[r+24>>2]=n.gid,U[r+28>>2]=n.rdev,U[r+32>>2]=0,Ie=[n.size>>>0,(ye=n.size,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],U[r+40>>2]=Ie[0],U[r+44>>2]=Ie[1],U[r+48>>2]=4096,U[r+52>>2]=n.blocks,U[r+56>>2]=n.atime.getTime()/1e3|0,U[r+60>>2]=0,U[r+64>>2]=n.mtime.getTime()/1e3|0,U[r+68>>2]=0,U[r+72>>2]=n.ctime.getTime()/1e3|0,U[r+76>>2]=0,Ie=[n.ino>>>0,(ye=n.ino,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],U[r+80>>2]=Ie[0],U[r+84>>2]=Ie[1],0},doMsync:function(e,t,r,n,o){var i=F.slice(e,e+r);We.msync(t,i,o,r,n)},doMkdir:function(e,t){return"/"===(e=Ne.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),We.mkdir(e,t,0),0},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return We.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var n=We.readlink(e),o=Math.min(r,R(n)),i=k[t+o];return P(n,t,r+1),k[t+o]=i,o},doAccess:function(e,t){if(-8&t)return-28;var r;if(!(r=We.lookupPath(e,{follow:!0}).node))return-44;var n="";return 4&t&&(n+="r"),2&t&&(n+="w"),1&t&&(n+="x"),n&&We.nodePermissions(r,n)?-2:0},doDup:function(e,t,r){var n=We.getStream(r);return n&&We.close(n),We.open(e,t,0,r,r).fd},doReadv:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=U[t+8*i>>2],s=U[t+(8*i+4)>>2],c=We.read(e,k,a,s,n);if(c<0)return-1;if(o+=c,c<s)break}return o},doWritev:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=U[t+8*i>>2],s=U[t+(8*i+4)>>2],c=We.write(e,k,a,s,n);if(c<0)return-1;o+=c}return o},varargs:void 0,get:function(){return B(null!=Ve.varargs),Ve.varargs+=4,U[Ve.varargs-4>>2]},getStr:function(e){return O(e)},getStreamFromFD:function(e){var t=We.getStream(e);if(!t)throw new We.ErrnoError(8);return t},get64:function(e,t){return B(e>=0?0===t:-1===t),e}};function ze(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function Ke(e,t){return e=ze(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}var Ze=[],Je=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function qe(){for(var e=0,t=5;t<Je.length;++t)void 0!==Je[t]&&++e;return e}function $e(){for(var e=5;e<Je.length;++e)if(void 0!==Je[e])return Je[e];return null}function et(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=Ze.length?Ze.pop():Je.length;return Je[t]={refcount:1,value:e},t}}function tt(e,t){var r=Ke(t,(function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}));return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var rt=void 0;var nt=void 0;function ot(e){for(var t="",r=e;F[r];)t+=nt[F[r++]];return t}function it(){return Object.keys(lt).length}function at(){var e=[];for(var t in lt)lt.hasOwnProperty(t)&&e.push(lt[t]);return e}var st=[];function ct(){for(;st.length;){var e=st.pop();e.$$.deleteScheduled=!1,e.delete()}}var At=void 0;function ut(e){At=e,st.length&&At&&At(ct)}var lt={},dt=void 0;function gt(e){throw new dt(e)}function ft(e,t){for(void 0===t&&gt("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function ht(e){return e||gt("Cannot use deleted val. handle = "+e),Je[e].value}var pt={};function Et(e){var t=on(e),r=ot(t);return tn(t),r}function mt(e,t){var r=pt[e];return void 0===r&&gt(t+" has unknown type "+Et(e)),r}function yt(e){}var It=!1;function vt(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function wt(e){return"undefined"==typeof FinalizationGroup?(wt=function(e){return e},e):(It=new FinalizationGroup((function(e){for(var t=e.next();!t.done;t=e.next()){var r=t.value;r.ptr?vt(r):console.warn("object already deleted: "+r.ptr)}})),yt=function(e){It.unregister(e.$$)},(wt=function(e){return It.register(e,e.$$,e.$$),e})(e))}var Ct={};function _t(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function bt(e){return this.fromWireType(j[e>>2])}var Bt={},Dt={},Tt=void 0;function Ot(e){throw new Tt(e)}function Qt(e,t,r){function n(t){var n=r(t);n.length!==e.length&&Ot("Mismatched type converter count");for(var o=0;o<e.length;++o)Mt(e[o],n[o])}e.forEach((function(e){Dt[e]=t}));var o=new Array(t.length),i=[],a=0;t.forEach((function(e,t){pt.hasOwnProperty(e)?o[t]=pt[e]:(i.push(e),Bt.hasOwnProperty(e)||(Bt[e]=[]),Bt[e].push((function(){o[t]=pt[e],++a===i.length&&n(o)})))})),0===i.length&&n(o)}function Pt(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}function Mt(e,t,r){if(r=r||{},!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||gt('type "'+n+'" must have a positive integer typeid pointer'),pt.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;gt("Cannot register type '"+n+"' twice")}if(pt[e]=t,delete Dt[e],Bt.hasOwnProperty(e)){var o=Bt[e];delete Bt[e],o.forEach((function(e){e()}))}}function Rt(e){if(!(this instanceof Ut))return!1;if(!(e instanceof Ut))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o}function St(e){gt(e.$$.ptrType.registeredClass.name+" instance already deleted")}function kt(){if(this.$$.ptr||St(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=wt(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function Ft(){this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gt("Object already scheduled for deletion"),yt(this),vt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function xt(){return!this.$$.ptr}function Nt(){return this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&gt("Object already scheduled for deletion"),st.push(this),1===st.length&&At&&At(ct),this.$$.deleteScheduled=!0,this}function Ut(){}var jt={};function Lt(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||gt("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function Ht(e,t,r){o.hasOwnProperty(e)?((void 0===r||void 0!==o[e].overloadTable&&void 0!==o[e].overloadTable[r])&&gt("Cannot register public name '"+e+"' twice"),Lt(o,e,e),o.hasOwnProperty(r)&&gt("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),o[e].overloadTable[r]=t):(o[e]=t,void 0!==r&&(o[e].numArguments=r))}function Gt(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Xt(e,t,r){for(;t!==r;)t.upcast||gt("Expected null or instance of "+r.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Yt(e,t){if(null===t)return this.isReference&&gt("null is not a valid "+this.name),0;t.$$||gt('Cannot pass "'+lr(t)+'" as a '+this.name),t.$$.ptr||gt("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return Xt(t.$$.ptr,r,this.registeredClass)}function Wt(e,t){var r;if(null===t)return this.isReference&&gt("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||gt('Cannot pass "'+lr(t)+'" as a '+this.name),t.$$.ptr||gt("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&gt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;if(r=Xt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&gt("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:gt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,et((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:gt("Unsupporting sharing policy")}return r}function Vt(e,t){if(null===t)return this.isReference&&gt("null is not a valid "+this.name),0;t.$$||gt('Cannot pass "'+lr(t)+'" as a '+this.name),t.$$.ptr||gt("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&gt("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;return Xt(t.$$.ptr,r,this.registeredClass)}function zt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Kt(e){this.rawDestructor&&this.rawDestructor(e)}function Zt(e){null!==e&&e.delete()}function Jt(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=Jt(e,t,r.baseClass);return null===n?null:r.downcast(n)}function qt(e,t){return t.ptrType&&t.ptr||Ot("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&Ot("Both smartPtrType and smartPtr must be specified"),t.count={value:1},wt(Object.create(e,{$$:{value:t}}))}function $t(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=ft(e,t),lt[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?qt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):qt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=jt[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=Jt(t,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?qt(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:e}):qt(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})}function er(e,t,r,n,o,i,a,s,c,A,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=A,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=Wt:n?(this.toWireType=Yt,this.destructorFunction=null):(this.toWireType=Vt,this.destructorFunction=null)}function tr(e,t,r){o.hasOwnProperty(e)||Ot("Replacing nonexistant public symbol"),void 0!==o[e].overloadTable&&void 0!==r?o[e].overloadTable[r]=t:(o[e]=t,o[e].argCount=r)}function rr(e,t,r){return e.includes("j")?function(e,t,r){B("dynCall_"+e in o,"bad function pointer type - no table for sig '"+e+"'"),r&&r.length?B(r.length===e.substring(1).replace(/j/g,"--").length):B(1==e.length);var n=o["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)}(e,t,r):(B(ee.get(t),"missing table entry in dynCall: "+t),ee.get(t).apply(null,r))}function nr(e,t){var r=(e=ot(e)).includes("j")?function(e,t){B(e.includes("j"),"getDynCaller should only be called with i64 sigs");var r=[];return function(){r.length=arguments.length;for(var n=0;n<arguments.length;n++)r[n]=arguments[n];return rr(e,t,r)}}(e,t):ee.get(t);return"function"!=typeof r&&gt("unknown function pointer with signature "+e+": "+t),r}var or=void 0;function ir(e,t){var r=[],n={};throw t.forEach((function e(t){n[t]||pt[t]||(Dt[t]?Dt[t].forEach(e):(r.push(t),n[t]=!0))})),new or(e+": "+r.map(Et).join([", "]))}function ar(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+y(e)+" which is not a function");var r=Ke(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,o=e.apply(n,t);return o instanceof Object?o:n}function sr(e,t,r,n,o){var i=t.length;i<2&&gt("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,s=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){s=!0;break}var A="void"!==t[0].name,u="",l="";for(c=0;c<i-2;++c)u+=(0!==c?", ":"")+"arg"+c,l+=(0!==c?", ":"")+"arg"+c+"Wired";var d="return function "+ze(e)+"("+u+") {\nif (arguments.length !== "+(i-2)+") {\nthrowBindingError('function "+e+" called with ' + arguments.length + ' arguments, expected "+(i-2)+" args!');\n}\n";s&&(d+="var destructors = [];\n");var g=s?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[gt,n,o,_t,t[0],t[1]];a&&(d+="var thisWired = classParam.toWireType("+g+", this);\n");for(c=0;c<i-2;++c)d+="var arg"+c+"Wired = argType"+c+".toWireType("+g+", arg"+c+"); // "+t[c+2].name+"\n",f.push("argType"+c),h.push(t[c+2]);if(a&&(l="thisWired"+(l.length>0?", ":"")+l),d+=(A?"var rv = ":"")+"invoker(fn"+(l.length>0?", ":"")+l+");\n",s)d+="runDestructors(destructors);\n";else for(c=a?1:2;c<t.length;++c){var p=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==t[c].destructorFunction&&(d+=p+"_dtor("+p+"); // "+t[c].name+"\n",f.push(p+"_dtor"),h.push(t[c].destructorFunction))}return A&&(d+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),d+="}\n",f.push(d),ar(Function,f).apply(null,h)}function cr(e,t){for(var r=[],n=0;n<e;n++)r.push(U[(t>>2)+n]);return r}function Ar(e,t,r){return e instanceof Object||gt(r+' with invalid "this": '+e),e instanceof t.registeredClass.constructor||gt(r+' incompatible with "this" of type '+e.constructor.name),e.$$.ptr||gt("cannot call emscripten binding method "+r+" on deleted object"),Xt(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)}function ur(e){e>4&&0==--Je[e].refcount&&(Je[e]=void 0,Ze.push(e))}function lr(e){if(null===e)return"null";var t=y(e);return"object"===t||"array"===t||"function"===t?e.toString():""+e}function dr(e,t){switch(t){case 2:return function(e){return this.fromWireType(L[e>>2])};case 3:return function(e){return this.fromWireType(H[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function gr(e,t,r){switch(t){case 0:return r?function(e){return k[e]}:function(e){return F[e]};case 1:return r?function(e){return x[e>>1]}:function(e){return N[e>>1]};case 2:return r?function(e){return U[e>>2]}:function(e){return j[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var fr={};var hr=[];var pr=[];function Er(e){try{return w.grow(e-S.byteLength+65535>>>16),q(w.buffer),1}catch(t){m("emscripten_realloc_buffer: Attempted to grow heap from "+S.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}function mr(e){pe("Cannot use emscripten_generate_pc (needed by __builtin_return_address) without -s USE_OFFSET_CONVERTER")}var yr={};function Ir(e){e.forEach((function(e){var t=mr();t&&(yr[t]=e)}))}var vr={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){vr.lastError||(vr.lastError=e)},getNewId:function(e){for(var t=vr.counter++,r=e.length;r<t;r++)e[r]=null;return t},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(e){return 32-Math.clz32(0===e?0:e-1)},generateTempBuffers:function(e,t){var r=vr.log2ceilLookup(vr.MAX_TEMP_BUFFER_SIZE);t.tempVertexBufferCounters1=[],t.tempVertexBufferCounters2=[],t.tempVertexBufferCounters1.length=t.tempVertexBufferCounters2.length=r+1,t.tempVertexBuffers1=[],t.tempVertexBuffers2=[],t.tempVertexBuffers1.length=t.tempVertexBuffers2.length=r+1,t.tempIndexBuffers=[],t.tempIndexBuffers.length=r+1;for(var n=0;n<=r;++n){t.tempIndexBuffers[n]=null,t.tempVertexBufferCounters1[n]=t.tempVertexBufferCounters2[n]=0;var o=vr.numTempVertexBuffersPerSize;t.tempVertexBuffers1[n]=[],t.tempVertexBuffers2[n]=[];var i=t.tempVertexBuffers1[n],a=t.tempVertexBuffers2[n];i.length=a.length=o;for(var s=0;s<o;++s)i[s]=a[s]=null}if(e){t.tempQuadIndexBuffer=zr.createBuffer(),t.GLctx.bindBuffer(34963,t.tempQuadIndexBuffer);for(var c=vr.MAX_TEMP_BUFFER_SIZE>>1,A=new Uint16Array(c),u=(n=0,0);!(A[n++]=u,n>=c||(A[n++]=u+1,n>=c)||(A[n++]=u+2,n>=c)||(A[n++]=u,n>=c)||(A[n++]=u+2,n>=c)||(A[n++]=u+3,n>=c));)u+=4;t.GLctx.bufferData(34963,A,35044),t.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(e){var t=vr.log2ceilLookup(e),r=vr.currentContext.tempVertexBuffers1[t],n=vr.currentContext.tempVertexBufferCounters1[t];vr.currentContext.tempVertexBufferCounters1[t]=vr.currentContext.tempVertexBufferCounters1[t]+1&vr.numTempVertexBuffersPerSize-1;var o=r[n];if(o)return o;var i=zr.getParameter(34964);return r[n]=zr.createBuffer(),zr.bindBuffer(34962,r[n]),zr.bufferData(34962,1<<t,35048),zr.bindBuffer(34962,i),r[n]},getTempIndexBuffer:function(e){var t=vr.log2ceilLookup(e),r=vr.currentContext.tempIndexBuffers[t];if(r)return r;var n=zr.getParameter(34965);return vr.currentContext.tempIndexBuffers[t]=zr.createBuffer(),zr.bindBuffer(34963,vr.currentContext.tempIndexBuffers[t]),zr.bufferData(34963,1<<t,35048),zr.bindBuffer(34963,n),vr.currentContext.tempIndexBuffers[t]},newRenderingFrameStarted:function(){if(vr.currentContext){var e=vr.currentContext.tempVertexBuffers1;vr.currentContext.tempVertexBuffers1=vr.currentContext.tempVertexBuffers2,vr.currentContext.tempVertexBuffers2=e,e=vr.currentContext.tempVertexBufferCounters1,vr.currentContext.tempVertexBufferCounters1=vr.currentContext.tempVertexBufferCounters2,vr.currentContext.tempVertexBufferCounters2=e;for(var t=vr.log2ceilLookup(vr.MAX_TEMP_BUFFER_SIZE),r=0;r<=t;++r)vr.currentContext.tempVertexBufferCounters1[r]=0}},getSource:function(e,t,r,n){for(var o="",i=0;i<t;++i){var a=n?U[n+4*i>>2]:-1;o+=O(U[r+4*i>>2],a<0?void 0:a)}return o},calcBufLength:function(e,t,r,n){return r>0?n*r:e*vr.byteSizeByType[t-vr.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(e){vr.resetBufferBinding=!1;for(var t=0;t<vr.currentContext.maxVertexAttribs;++t){var r=vr.currentContext.clientBuffers[t];if(r.clientside&&r.enabled){vr.resetBufferBinding=!0;var n=vr.calcBufLength(r.size,r.type,r.stride,e),o=vr.getTempVertexBuffer(n);zr.bindBuffer(34962,o),zr.bufferSubData(34962,0,F.subarray(r.ptr,r.ptr+n)),r.vertexAttribPointerAdaptor.call(zr,t,r.size,r.type,r.normalized,r.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){vr.resetBufferBinding&&zr.bindBuffer(34962,vr.buffers[zr.currentArrayBufferBinding])},createContext:function(e,t){t.renderViaOffscreenBackBuffer&&(t.preserveDrawingBuffer=!0);var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?vr.registerContext(r,t):0},enableOffscreenFramebufferAttributes:function(e){e.renderViaOffscreenBackBuffer=!0,e.preserveDrawingBuffer=!0},createOffscreenFramebuffer:function(e){var t=e.GLctx,r=t.createFramebuffer();if(t.bindFramebuffer(36160,r),e.defaultFbo=r,e.defaultFboForbidBlitFramebuffer=!1,t.getContextAttributes().antialias)e.defaultFboForbidBlitFramebuffer=!0;else{var n=navigator.userAgent.toLowerCase().match(/firefox\/(\d\d)/);if(null!=n){var o=n[1];e.defaultFboForbidBlitFramebuffer=o<67}}e.defaultColorTarget=t.createTexture(),e.defaultDepthTarget=t.createRenderbuffer(),vr.resizeOffscreenFramebuffer(e),t.bindTexture(3553,e.defaultColorTarget),t.texParameteri(3553,10241,9728),t.texParameteri(3553,10240,9728),t.texParameteri(3553,10242,33071),t.texParameteri(3553,10243,33071),t.texImage2D(3553,0,6408,t.canvas.width,t.canvas.height,0,6408,5121,null),t.framebufferTexture2D(36160,36064,3553,e.defaultColorTarget,0),t.bindTexture(3553,null),t.createRenderbuffer(),t.bindRenderbuffer(36161,e.defaultDepthTarget),t.renderbufferStorage(36161,33189,t.canvas.width,t.canvas.height),t.framebufferRenderbuffer(36160,36096,36161,e.defaultDepthTarget),t.bindRenderbuffer(36161,null);var i=t.createBuffer();t.bindBuffer(34962,i),t.bufferData(34962,new Float32Array([-1,-1,-1,1,1,-1,1,1]),35044),t.bindBuffer(34962,null),e.blitVB=i;var a=t.createShader(35633);t.shaderSource(a,"attribute vec2 pos;varying lowp vec2 tex;void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }"),t.compileShader(a);var s=t.createShader(35632);t.shaderSource(s,"varying lowp vec2 tex;uniform sampler2D sampler;void main() { gl_FragColor = texture2D(sampler, tex); }"),t.compileShader(s);var c=t.createProgram();t.attachShader(c,a),t.attachShader(c,s),t.linkProgram(c),e.blitProgram=c,e.blitPosLoc=t.getAttribLocation(c,"pos"),t.useProgram(c),t.uniform1i(t.getUniformLocation(c,"sampler"),0),t.useProgram(null),e.defaultVao=void 0,t.createVertexArray&&(e.defaultVao=t.createVertexArray(),t.bindVertexArray(e.defaultVao),t.enableVertexAttribArray(e.blitPosLoc),t.bindVertexArray(null))},resizeOffscreenFramebuffer:function(e){var t=e.GLctx;if(e.defaultColorTarget){var r=t.getParameter(32873);t.bindTexture(3553,e.defaultColorTarget),t.texImage2D(3553,0,6408,t.drawingBufferWidth,t.drawingBufferHeight,0,6408,5121,null),t.bindTexture(3553,r)}if(e.defaultDepthTarget){var n=t.getParameter(36007);t.bindRenderbuffer(36161,e.defaultDepthTarget),t.renderbufferStorage(36161,33189,t.drawingBufferWidth,t.drawingBufferHeight),t.bindRenderbuffer(36161,n)}},blitOffscreenFramebuffer:function(e){var t=e.GLctx,r=t.getParameter(3089);r&&t.disable(3089);var n=t.getParameter(36006);if(t.blitFramebuffer&&!e.defaultFboForbidBlitFramebuffer)t.bindFramebuffer(36008,e.defaultFbo),t.bindFramebuffer(36009,null),t.blitFramebuffer(0,0,t.canvas.width,t.canvas.height,0,0,t.canvas.width,t.canvas.height,16384,9728);else{var o=function(){t.vertexAttribPointer(e.blitPosLoc,2,5126,!1,0,0),t.drawArrays(5,0,4)};t.bindFramebuffer(36160,null);var i=t.getParameter(35725);t.useProgram(e.blitProgram);var a=t.getParameter(34964);t.bindBuffer(34962,e.blitVB);var s=t.getParameter(34016);t.activeTexture(33984);var c=t.getParameter(32873);t.bindTexture(3553,e.defaultColorTarget);var A=t.getParameter(3042);A&&t.disable(3042);var u=t.getParameter(2884);u&&t.disable(2884);var l=t.getParameter(2929);l&&t.disable(2929);var d=t.getParameter(2960);if(d&&t.disable(2960),e.defaultVao){var g=t.getParameter(34229);t.bindVertexArray(e.defaultVao),o(),t.bindVertexArray(g)}else{for(var f={buffer:t.getVertexAttrib(e.blitPosLoc,34975),size:t.getVertexAttrib(e.blitPosLoc,34339),stride:t.getVertexAttrib(e.blitPosLoc,34340),type:t.getVertexAttrib(e.blitPosLoc,34341),normalized:t.getVertexAttrib(e.blitPosLoc,34922),pointer:t.getVertexAttribOffset(e.blitPosLoc,34373)},h=t.getParameter(34921),p=[],E=0;E<h;++E){var m=t.getVertexAttrib(E,34338),y=E==e.blitPosLoc;m&&!y&&t.disableVertexAttribArray(E),!m&&y&&t.enableVertexAttribArray(E),p[E]=m}o();for(E=0;E<h;++E){m=p[E];var I=E==e.blitPosLoc;m&&!I&&t.enableVertexAttribArray(E),!m&&I&&t.disableVertexAttribArray(E)}t.bindBuffer(34962,f.buffer),t.vertexAttribPointer(e.blitPosLoc,f.size,f.type,f.normalized,f.stride,f.offset)}d&&t.enable(2960),l&&t.enable(2929),u&&t.enable(2884),A&&t.enable(3042),t.bindTexture(3553,c),t.activeTexture(s),t.bindBuffer(34962,a),t.useProgram(i)}t.bindFramebuffer(36160,n),r&&t.enable(3089)},registerContext:function(e,t){var r=vr.getNewId(vr.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=n),vr.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&vr.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return vr.generateTempBuffers(!1,n),t.renderViaOffscreenBackBuffer&&vr.createOffscreenFramebuffer(n),r},makeContextCurrent:function(e){return vr.currentContext=vr.contexts[e],o.ctx=zr=vr.currentContext&&vr.currentContext.GLctx,!(e&&!zr)},getContext:function(e){return vr.contexts[e]},deleteContext:function(e){vr.currentContext===vr.contexts[e]&&(vr.currentContext=null),"object"===y(wr)&&wr.removeAllHandlersOnTarget(vr.contexts[e].GLctx.canvas),vr.contexts[e]&&vr.contexts[e].GLctx.canvas&&(vr.contexts[e].GLctx.canvas.GLctxObject=void 0),vr.contexts[e]=null},initExtensions:function(e){if(e||(e=vr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t,r=e.GLctx;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");if(t)e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,n,o){t.drawArraysInstancedANGLE(e,r,n,o)},e.drawElementsInstanced=function(e,r,n,o,i){t.drawElementsInstancedANGLE(e,r,n,o,i)}}(r),function(e){var t=e.getExtension("OES_vertex_array_object");if(t)e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)}}(r),function(e){var t=e.getExtension("WEBGL_draw_buffers");if(t)e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)}}(r),(t=r).dibvbi=t.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(e){e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),function(e){e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")}(r),(r.getSupportedExtensions()||[]).forEach((function(e){e.includes("lose_context")||e.includes("debug")||r.getExtension(e)}))}}},wr={inEventHandler:0,removeAllEventListeners:function(){for(var e=wr.eventHandlers.length-1;e>=0;--e)wr._removeHandler(e);wr.eventHandlers=[],wr.deferredCalls=[]},registerRemoveEventListeners:function(){wr.removeEventListenersRegistered||(ae.push(wr.removeAllEventListeners),wr.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(e,t,r){function n(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var o in wr.deferredCalls){var i=wr.deferredCalls[o];if(i.targetFunction==e&&n(i.argsList,r))return}wr.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),wr.deferredCalls.sort((function(e,t){return e.precedence<t.precedence}))},removeDeferredCalls:function(e){for(var t=0;t<wr.deferredCalls.length;++t)wr.deferredCalls[t].targetFunction==e&&(wr.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:function(){return wr.inEventHandler&&wr.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(wr.canPerformEventHandlerRequests())for(var e=0;e<wr.deferredCalls.length;++e){var t=wr.deferredCalls[e];wr.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(e,t){for(var r=0;r<wr.eventHandlers.length;++r)wr.eventHandlers[r].target!=e||t&&t!=wr.eventHandlers[r].eventTypeString||wr._removeHandler(r--)},_removeHandler:function(e){var t=wr.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),wr.eventHandlers.splice(e,1)},registerOrRemoveHandler:function(e){var t=function(t){++wr.inEventHandler,wr.currentEventHandler=e,wr.runDeferredCalls(),e.handlerFunc(t),wr.runDeferredCalls(),--wr.inEventHandler};if(e.callbackfunc)e.eventListenerFunc=t,e.target.addEventListener(e.eventTypeString,t,e.useCapture),wr.eventHandlers.push(e),wr.registerRemoveEventListeners();else for(var r=0;r<wr.eventHandlers.length;++r)wr.eventHandlers[r].target==e.target&&wr.eventHandlers[r].eventTypeString==e.eventTypeString&&wr._removeHandler(r--)},getNodeNameForTarget:function(e){return e?e==window?"#window":e==screen?"#screen":e&&e.nodeName?e.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},Cr=["default","low-power","high-performance"],_r=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0];function br(e){return"number"==typeof e&&(e=O(e)),e&&"#canvas"!==e?void 0!==vr&&vr.offscreenCanvases[e]?vr.offscreenCanvases[e]:function(e){I("Rules for selecting event targets in HTML5 API are changing: instead of using document.getElementById() that only can refer to elements by their DOM ID, new event target selection mechanism uses the more flexible function document.querySelector() that can look up element names, classes, and complex CSS selectors. Build with -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1 to change to the new lookup rules. See https://github.com/emscripten-core/emscripten/pull/7977 for more details.");try{return e?("number"==typeof e&&(e=_r[e]||O(e)),"#window"===e?window:"#document"===e?document:"#screen"===e?screen:"#canvas"===e?o.canvas:"string"==typeof e?document.getElementById(e):e):window}catch(e){return null}}(e):void 0!==vr&&vr.offscreenCanvases.canvas?vr.offscreenCanvases.canvas:o.canvas}function Br(){return vr.currentContext?vr.currentContext.handle:0}function Dr(e){return vr.makeContextCurrent(e)?0:-5}o._emscripten_webgl_get_current_context=Br,o._emscripten_webgl_make_context_current=Dr;var Tr={};function Or(){if(!Or.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===("undefined"==typeof navigator?"undefined":y(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:s||"./this.program"};for(var t in Tr)void 0===Tr[t]?delete e[t]:e[t]=Tr[t];var r=[];for(var t in e)r.push(t+"="+e[t]);Or.strings=r}return Or.strings}var Qr=[];function Pr(e,t,r,n){for(var o=0;o<e;o++){var i=zr[r](),a=i&&vr.getNewId(n);i?(i.name=a,n[a]=i):vr.recordError(1282),U[t+4*o>>2]=a}}function Mr(e,t){j[e>>2]=t,j[e+4>>2]=(t-j[e>>2])/4294967296;var r=t>=0?function(e){return j[e>>2]+4294967296*j[e+4>>2]}(e):function(e){return j[e>>2]+4294967296*U[e+4>>2]}(e);r!=t&&I("writeI53ToI64() out of range: serialized JS Number "+t+" to Wasm heap as bytes lo=0x"+j[e>>2].toString(16)+", hi=0x"+j[e+4>>2].toString(16)+", which deserializes back to "+r+" instead!")}function Rr(e){var t=R(e)+1,r=rn(t);return P(e,r,t),r}function Sr(e){return"]"==e.slice(-1)&&e.lastIndexOf("[")}function kr(e){return 0==(e-=5120)?k:1==e?F:2==e?x:4==e?U:6==e?L:5==e||28922==e||28520==e||30779==e||30782==e?j:N}function Fr(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function xr(e,t,r,n,o,i){var a=kr(e),s=Fr(a),c=1<<s,A=function(e){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1}(t)*c,u=function(e,t,r,n){var o=function(e,t){return e+t-1&-t}(e*r,n);return t*o}(r,n,A,vr.unpackAlignment);return a.subarray(o>>s,o+u>>s)}function Nr(e){var t=zr.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=zr.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?"["+r+"]":""))),r}vr.recordError(1282)}var Ur=[];var jr=[];function Lr(){if(!Lr.called){Lr.called=!0;var e=(new Date).getFullYear(),t=new Date(e,0,1),r=new Date(e,6,1),n=t.getTimezoneOffset(),o=r.getTimezoneOffset(),i=Math.max(n,o);U[An()>>2]=60*i,U[cn()>>2]=Number(n!=o);var a=u(t),s=u(r),c=Z(a),A=Z(s);o<n?(U[sn()>>2]=c,U[sn()+4>>2]=A):(U[sn()>>2]=A,U[sn()+4>>2]=c)}function u(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}function Hr(e){return e%4==0&&(e%100!=0||e%400==0)}function Gr(e,t){for(var r=0,n=0;n<=t;r+=e[n++]);return r}var Xr=[31,29,31,30,31,30,31,31,30,31,30,31],Yr=[31,28,31,30,31,30,31,31,30,31,30,31];function Wr(e,t){for(var r=new Date(e.getTime());t>0;){var n=Hr(r.getFullYear()),o=r.getMonth(),i=(n?Xr:Yr)[o];if(!(t>i-r.getDate()))return r.setDate(r.getDate()+t),r;t-=i-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function Vr(e,t,r,n){var o=U[n+40>>2],i={tm_sec:U[n>>2],tm_min:U[n+4>>2],tm_hour:U[n+8>>2],tm_mday:U[n+12>>2],tm_mon:U[n+16>>2],tm_year:U[n+20>>2],tm_wday:U[n+24>>2],tm_yday:U[n+28>>2],tm_isdst:U[n+32>>2],tm_gmtoff:U[n+36>>2],tm_zone:o?O(o):""},a=O(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in s)a=a.replace(new RegExp(c,"g"),s[c]);var A=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length<t;)n=r[0]+n;return n}function d(e,t){return l(e,t,"0")}function g(e,t){function r(e){return e<0?-1:e>0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=Wr(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=f(r),i=f(n);return g(o,t)<=0?g(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var p={"%a":function(e){return A[e.tm_wday].substring(0,3)},"%A":function(e){return A[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return l(e.tm_mday,2," ")},"%g":function(e){return h(e).toString().substring(2)},"%G":function(e){return h(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":function(e){return d(e.tm_mday+Gr(Hr(e.tm_year+1900)?Xr:Yr,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=new Date(e.tm_year+1900,0,1),r=0===t.getDay()?t:Wr(t,7-t.getDay()),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(g(r,n)<0){var o=Gr(Hr(n.getFullYear())?Xr:Yr,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===g(r,t)?"01":"00"},"%V":function(e){var t,r=new Date(e.tm_year+1900,0,4),n=new Date(e.tm_year+1901,0,4),o=f(r),i=f(n),a=Wr(new Date(e.tm_year+1900,0,1),e.tm_yday);return g(a,o)<0?"53":g(i,a)<=0?"01":(t=o.getFullYear()<e.tm_year+1900?e.tm_yday+32-o.getDate():e.tm_yday+1-o.getDate(),d(Math.ceil(t/7),2))},"%w":function(e){return e.tm_wday},"%W":function(e){var t=new Date(e.tm_year,0,1),r=1===t.getDay()?t:Wr(t,0===t.getDay()?1:7-t.getDay()+1),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(g(r,n)<0){var o=Gr(Hr(n.getFullYear())?Xr:Yr,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===g(r,t)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var c in p)a.includes(c)&&(a=a.replace(new RegExp(c,"g"),p[c](i)));var E,m,y=$r(a,!1);return y.length>t?0:(m=e,B((E=y).length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),k.set(E,m),y.length-1)}o.requestFullscreen=function(e,t){Oe.requestFullscreen(e,t)},o.requestFullScreen=function(){Oe.requestFullScreen()},o.requestAnimationFrame=function(e){Oe.requestAnimationFrame(e)},o.setCanvasSize=function(e,t,r){Oe.setCanvasSize(e,t,r)},o.pauseMainLoop=function(){Oe.mainLoop.pause()},o.resumeMainLoop=function(){Oe.mainLoop.resume()},o.getUserMedia=function(){Oe.getUserMedia()},o.createContext=function(e,t,r,n){return Oe.createContext(e,t,r,n)};var zr,Kr=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=We.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n};Object.defineProperties(Kr.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return We.isDir(this.mode)}},isDevice:{get:function(){return We.isChrdev(this.mode)}}}),We.FSNode=Kr,We.staticInit(),o.FS_createPath=We.createPath,o.FS_createDataFile=We.createDataFile,o.FS_createPreloadedFile=We.createPreloadedFile,o.FS_createLazyFile=We.createLazyFile,o.FS_createDevice=We.createDevice,o.FS_unlink=We.unlink,o.count_emval_handles=qe,o.get_first_emval=$e,rt=o.PureVirtualError=tt(Error,"PureVirtualError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);nt=e}(),o.getInheritedInstanceCount=it,o.getLiveInheritedInstances=at,o.flushPendingDeletes=ct,o.setDelayFunction=ut,dt=o.BindingError=tt(Error,"BindingError"),Tt=o.InternalError=tt(Error,"InternalError"),Ut.prototype.isAliasOf=Rt,Ut.prototype.clone=kt,Ut.prototype.delete=Ft,Ut.prototype.isDeleted=xt,Ut.prototype.deleteLater=Nt,er.prototype.getPointee=zt,er.prototype.destructor=Kt,er.prototype.argPackAdvance=8,er.prototype.readValueFromPointer=bt,er.prototype.deleteObject=Zt,er.prototype.fromWireType=$t,or=o.UnboundTypeError=tt(Error,"UnboundTypeError");for(var Zr=0;Zr<32;++Zr)Qr.push(new Array(Zr));var Jr=new Float32Array(288);for(Zr=0;Zr<288;++Zr)Ur[Zr]=Jr.subarray(0,Zr+1);var qr=new Int32Array(288);for(Zr=0;Zr<288;++Zr)jr[Zr]=qr.subarray(0,Zr+1);function $r(e,t,r){var n=R(e)+1,o=new Array(n),i=Q(e,o,0,o.length);return t&&(o.length=i),o}var en={HaveOffsetConverter:function(){return"undefined"!=typeof wasmOffsetConverter},__cxa_allocate_exception:function(e){return rn(e+16)+16},__cxa_atexit:function(e,t){},__cxa_begin_catch:function(e){var t=new Re(e),r=t.get_exception_info();return r.get_caught()||r.set_caught(!0),r.set_rethrown(!1),Se.push(t),function(e){e.add_ref()}(r),t.get_exception_ptr()},__cxa_end_catch:function(){fn(0),B(Se.length>0);var e=Se.pop();!function(e){if(e.release_ref()&&!e.get_rethrown()){var t=e.get_destructor();t&&ee.get(t)(e.excPtr),Fe(e.excPtr)}}(e.get_exception_info()),e.free(),ke=0},__cxa_find_matching_catch_2:function(){var e=ke;if(!e)return _(0),0;var t=new Me(e).get_type(),r=new Re;if(r.set_base_ptr(e),r.set_adjusted_ptr(e),!t)return _(0),0|r.ptr;for(var n=Array.prototype.slice.call(arguments),o=0;o<n.length;o++){var i=n[o];if(0===i||i===t)break;if(hn(i,t,r.get_adjusted_ptr_addr()))return _(i),0|r.ptr}return _(t),0|r.ptr},__cxa_find_matching_catch_3:function(){var e=ke;if(!e)return _(0),0;var t=new Me(e).get_type(),r=new Re;if(r.set_base_ptr(e),r.set_adjusted_ptr(e),!t)return _(0),0|r.ptr;for(var n=Array.prototype.slice.call(arguments),o=0;o<n.length;o++){var i=n[o];if(0===i||i===t)break;if(hn(i,t,r.get_adjusted_ptr_addr()))return _(i),0|r.ptr}return _(t),0|r.ptr},__cxa_free_exception:Fe,__cxa_rethrow:function(){var e=Se.pop();e||pe("no exception to throw");var t=e.get_exception_info(),r=e.get_base_ptr();throw t.get_rethrown()?e.free():(Se.push(e),t.set_rethrown(!0),t.set_caught(!1)),ke=r,r+" - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch."},__cxa_thread_atexit:function(e,t){},__cxa_throw:function(e,t,r){throw new Me(e).init(t,r),ke=e,e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch."},__resumeException:function(e){var t=new Re(e),r=t.get_base_ptr();throw ke||(ke=r),t.free(),r+" - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch."},__sys_fcntl64:function(e,t,r){Ve.varargs=r;try{var n=Ve.getStreamFromFD(e);switch(t){case 0:return(o=Ve.get())<0?-28:We.open(n.path,n.flags,0,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Ve.get();return n.flags|=o,0;case 12:o=Ve.get();return x[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return xe(28),-1}}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),-e.errno}},__sys_ioctl:function(e,t,r){Ve.varargs=r;try{var n=Ve.getStreamFromFD(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=Ve.get();return U[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:o=Ve.get();return We.ioctl(n,t,o);default:pe("bad ioctl syscall "+t)}}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),-e.errno}},__sys_mmap2:function(e,t,r,n,o,i){try{return function(e,t,r,n,o,i){var a;i<<=12;var s=!1;if(16&n&&e%65536!=0)return-28;if(32&n){if(!(a=He(t)))return-48;s=!0}else{var c=We.getStream(o);if(!c)return-8;var A=We.mmap(c,e,t,i,r,n);a=A.ptr,s=A.allocated}return Ve.mappings[a]={malloc:a,len:t,allocated:s,fd:o,prot:r,flags:n,offset:i},a}(e,t,r,n,o,i)}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),-e.errno}},__sys_open:function(e,t,r){Ve.varargs=r;try{var n=Ve.getStr(e),o=r?Ve.get():0;return We.open(n,t,o).fd}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),-e.errno}},__sys_stat64:function(e,t){try{return e=Ve.getStr(e),Ve.doStat(We.stat,e,t)}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),-e.errno}},_embind_create_inheriting_constructor:function(e,t,r){e=ot(e),t=mt(t,"wrapper"),r=ht(r);var n=[].slice,o=t.registeredClass,i=o.instancePrototype,a=o.baseClass.instancePrototype,s=o.baseClass.constructor,c=Ke(e,(function(){o.baseClass.pureVirtualFunctions.forEach(function(e){if(this[e]===a[e])throw new rt("Pure virtual function "+e+" must be implemented in JavaScript")}.bind(this)),Object.defineProperty(this,"__parent",{value:i}),this.__construct.apply(this,n.call(arguments))}));for(var A in i.__construct=function(){this===i&&gt("Pass correct 'this' to __construct");var e=s.implement.apply(void 0,[this].concat(n.call(arguments)));yt(e);var t,r,a,c=e.$$;e.notifyOnDestruction(),c.preservePointerOnDelete=!0,Object.defineProperties(this,{$$:{value:c}}),wt(this),t=o,r=c.ptr,a=this,r=ft(t,r),lt.hasOwnProperty(r)?gt("Tried to register registered instance: "+r):lt[r]=a},i.__destruct=function(){var e,t;this===i&&gt("Pass correct 'this' to __destruct"),yt(this),e=o,t=this.$$.ptr,t=ft(e,t),lt.hasOwnProperty(t)?delete lt[t]:gt("Tried to unregister unregistered instance: "+t)},c.prototype=Object.create(i),r)c.prototype[A]=r[A];return et(c)},_embind_finalize_value_object:function(e){var t=Ct[e];delete Ct[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields;Qt([e],o.map((function(e){return e.getterReturnType})).concat(o.map((function(e){return e.setterArgumentType}))),(function(e){var i={};return o.forEach((function(t,r){var n=t.fieldName,a=e[r],s=t.getter,c=t.getterContext,A=e[r+o.length],u=t.setter,l=t.setterContext;i[n]={read:function(e){return a.fromWireType(s(c,e))},write:function(e,t){var r=[];u(l,e,A.toWireType(r,t)),_t(r)}}})),[{name:t.name,fromWireType:function(e){var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:function(e,t){for(var o in i)if(!(o in t))throw new TypeError('Missing field: "'+o+'"');var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},argPackAdvance:8,readValueFromPointer:bt,destructorFunction:n}]}))},_embind_register_bigint:function(e,t,r,n,o){},_embind_register_bool:function(e,t,r,n,o){var i=Pt(r);Mt(e,{name:t=ot(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:o},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===r)n=k;else if(2===r)n=x;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);n=U}return this.fromWireType(n[e>>i])},destructorFunction:null})},_embind_register_class:function(e,t,r,n,o,i,a,s,c,A,u,l,d){u=ot(u),i=nr(o,i),s&&(s=nr(a,s)),A&&(A=nr(c,A)),d=nr(l,d);var g=ze(u);Ht(g,(function(){ir("Cannot construct "+u+" due to unbound types",[n])})),Qt([e,t,r],n?[n]:[],(function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Ut.prototype;var a=Ke(g,(function(){if(Object.getPrototypeOf(this)!==c)throw new dt("Use 'new' to construct "+u);if(void 0===l.constructor_body)throw new dt(u+" has no accessible constructor");var e=l.constructor_body[arguments.length];if(void 0===e)throw new dt("Tried to invoke ctor of "+u+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(l.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),c=Object.create(o,{constructor:{value:a}});a.prototype=c;var l=new Gt(u,a,c,d,r,i,s,A),f=new er(u,l,!0,!1,!1),h=new er(u+"*",l,!1,!1,!1),p=new er(u+" const*",l,!1,!0,!1);return jt[e]={pointerType:h,constPointerType:p},tr(g,a),[f,h,p]}))},_embind_register_class_class_function:function(e,t,r,n,o,i,a){var s=cr(r,n);t=ot(t),i=nr(o,i),Qt([],[e],(function(e){var n=(e=e[0]).name+"."+t;function o(){ir("Cannot call "+n+" due to unbound types",s)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var c=e.registeredClass.constructor;return void 0===c[t]?(o.argCount=r-1,c[t]=o):(Lt(c,t,n),c[t].overloadTable[r-1]=o),Qt([],s,(function(e){var o=[e[0],null].concat(e.slice(1)),s=sr(n,o,null,i,a);return void 0===c[t].overloadTable?(s.argCount=r-1,c[t]=s):c[t].overloadTable[r-1]=s,[]})),[]}))},_embind_register_class_constructor:function(e,t,r,n,o,i){B(t>0);var a=cr(t,r);o=nr(n,o),Qt([],[e],(function(e){var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new dt("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){ir("Cannot construct "+e.name+" due to unbound types",a)},Qt([],a,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=sr(r,n,null,o,i),[]})),[]}))},_embind_register_class_function:function(e,t,r,n,o,i,a,s){var c=cr(r,n);t=ot(t),i=nr(o,i),Qt([],[e],(function(e){var n=(e=e[0]).name+"."+t;function o(){ir("Cannot call "+n+" due to unbound types",c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var A=e.registeredClass.instancePrototype,u=A[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,A[t]=o):(Lt(A,t,n),A[t].overloadTable[r-2]=o),Qt([],c,(function(o){var s=sr(n,o,e,i,a);return void 0===A[t].overloadTable?(s.argCount=r-2,A[t]=s):A[t].overloadTable[r-2]=s,[]})),[]}))},_embind_register_class_property:function(e,t,r,n,o,i,a,s,c,A){t=ot(t),o=nr(n,o),Qt([],[e],(function(e){var n=(e=e[0]).name+"."+t,u={get:function(){ir("Cannot access "+n+" due to unbound types",[r,a])},enumerable:!0,configurable:!0};return u.set=c?function(){ir("Cannot access "+n+" due to unbound types",[r,a])}:function(e){gt(n+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,t,u),Qt([],c?[r,a]:[r],(function(r){var a=r[0],u={get:function(){var t=Ar(this,e,n+" getter");return a.fromWireType(o(i,t))},enumerable:!0};if(c){c=nr(s,c);var l=r[1];u.set=function(t){var r=Ar(this,e,n+" setter"),o=[];c(A,r,l.toWireType(o,t)),_t(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,u),[]})),[]}))},_embind_register_emval:function(e,t){Mt(e,{name:t=ot(t),fromWireType:function(e){var t=Je[e].value;return ur(e),t},toWireType:function(e,t){return et(t)},argPackAdvance:8,readValueFromPointer:bt,destructorFunction:null})},_embind_register_float:function(e,t,r){var n=Pt(r);Mt(e,{name:t=ot(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+lr(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:dr(t,n),destructorFunction:null})},_embind_register_function:function(e,t,r,n,o,i){var a=cr(t,r);e=ot(e),o=nr(n,o),Ht(e,(function(){ir("Cannot call "+e+" due to unbound types",a)}),t-1),Qt([],a,(function(r){var n=[r[0],null].concat(r.slice(1));return tr(e,sr(e,n,null,o,i),t-1),[]}))},_embind_register_integer:function(e,t,r,n,o){t=ot(t),-1===o&&(o=4294967295);var i=Pt(r),a=function(e){return e};if(0===n){var s=32-8*r;a=function(e){return e<<s>>>s}}var c=t.includes("unsigned");Mt(e,{name:t,fromWireType:a,toWireType:function(e,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+lr(r)+'" to '+this.name);if(r<n||r>o)throw new TypeError('Passing a number "'+lr(r)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+n+", "+o+"]!");return c?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:gr(t,i,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=j,r=t[e>>=2],o=t[e+1];return new n(S,o,r)}Mt(e,{name:r=ot(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,t){var r="std::string"===(t=ot(t));Mt(e,{name:t,fromWireType:function(e){var t,n=j[e>>2];if(r)for(var o=e+4,i=0;i<=n;++i){var a=e+4+i;if(i==n||0==F[a]){var s=O(o,a-o);void 0===t?t=s:(t+=String.fromCharCode(0),t+=s),o=a+1}}else{var c=new Array(n);for(i=0;i<n;++i)c[i]=String.fromCharCode(F[e+4+i]);t=c.join("")}return tn(e),t},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||gt("Cannot pass non-string to std::string");var o=(r&&n?function(){return R(t)}:function(){return t.length})(),i=rn(4+o+1);if(j[i>>2]=o,r&&n)P(t,i+4,o+1);else if(n)for(var a=0;a<o;++a){var s=t.charCodeAt(a);s>255&&(tn(i),gt("String has UTF-16 code units that do not fit in 8 bits")),F[i+4+a]=s}else for(a=0;a<o;++a)F[i+4+a]=t[a];return null!==e&&e.push(tn,i),i},argPackAdvance:8,readValueFromPointer:bt,destructorFunction:function(e){tn(e)}})},_embind_register_std_wstring:function(e,t,r){var n,o,i,a,s;r=ot(r),2===t?(n=X,o=Y,a=W,i=function(){return N},s=1):4===t&&(n=V,o=z,a=K,i=function(){return j},s=2),Mt(e,{name:r,fromWireType:function(e){for(var r,o=j[e>>2],a=i(),c=e+4,A=0;A<=o;++A){var u=e+4+A*t;if(A==o||0==a[u>>s]){var l=n(c,u-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=u+t}}return tn(e),r},toWireType:function(e,n){"string"!=typeof n&&gt("Cannot pass non-string to C++ string type "+r);var i=a(n),c=rn(4+i+t);return j[c>>2]=i>>s,o(n,c+4,i+t),null!==e&&e.push(tn,c),c},argPackAdvance:8,readValueFromPointer:bt,destructorFunction:function(e){tn(e)}})},_embind_register_value_object:function(e,t,r,n,o,i){Ct[e]={name:ot(t),rawConstructor:nr(r,n),rawDestructor:nr(o,i),fields:[]}},_embind_register_value_object_field:function(e,t,r,n,o,i,a,s,c,A){Ct[e].fields.push({fieldName:ot(t),getterReturnType:r,getter:nr(n,o),getterContext:i,setterArgumentType:a,setter:nr(s,c),setterContext:A})},_embind_register_void:function(e,t){Mt(e,{isVoid:!0,name:t=ot(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},_emval_call_void_method:function(e,t,r,n){var o,i;(e=hr[e])(t=ht(t),r=void 0===(i=fr[o=r])?ot(o):i,null,n)},_emval_decref:ur,_emval_get_method_caller:function(e,t){for(var r=function(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=mt(U[(t>>2)+n],"parameter "+n);return r}(e,t),n=r[0],o=n.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",i=["retType"],a=[n],s="",c=0;c<e-1;++c)s+=(0!==c?", ":"")+"arg"+c,i.push("argType"+c),a.push(r[1+c]);var A="return function "+ze("methodCaller_"+o)+"(handle, name, destructors, args) {\n",u=0;for(c=0;c<e-1;++c)A+=" var arg"+c+" = argType"+c+".readValueFromPointer(args"+(u?"+"+u:"")+");\n",u+=r[c+1].argPackAdvance;for(A+=" var rv = handle[name]("+s+");\n",c=0;c<e-1;++c)r[c+1].deleteObject&&(A+=" argType"+c+".deleteObject(arg"+c+");\n");n.isVoid||(A+=" return retType.toWireType(destructors, rv);\n"),A+="};\n",i.push(A);var l,d,g=ar(Function,i).apply(null,a);return l=g,d=hr.length,hr.push(l),d},_emval_incref:function(e){e>4&&(Je[e].refcount+=1)},_emval_take_value:function(e,t){return et((e=mt(e,"_emval_take_value")).readValueFromPointer(t))},abort:function(){pe()},clock_gettime:function(e,t){var r;if(0===e)r=Date.now();else{if(1!==e&&4!==e)return xe(28),-1;r=be()}return U[t>>2]=r/1e3|0,U[t+4>>2]=r%1e3*1e3*1e3|0,0},dlopen:function(e,t){pe("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},dlsym:function(e,t){pe("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},emscripten_asm_const_int:function(e,t,r){var n=function(e,t){var r;for(B(Array.isArray(pr)),B(t%16==0),pr.length=0,t>>=2;r=F[e++];){B(100===r||102===r||105===r);var n=r<105;n&&1&t&&t++,pr.push(n?H[t++>>1]:U[t]),++t}return pr}(t,r);return Be.hasOwnProperty(e)||pe("No EM_ASM constant found at address "+e),Be[e].apply(null,n)},emscripten_get_heap_max:function(){return 2147483648},emscripten_memcpy_big:function(e,t,r){F.copyWithin(e,t,t+r)},emscripten_pc_get_function:function(e){pe("Cannot use emscripten_pc_get_function without -s USE_OFFSET_CONVERTER")},emscripten_resize_heap:function(e){var t=F.length;B((e>>>=0)>t);var r=2147483648;if(e>r)return m("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+r+" bytes!"),!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,J(Math.max(e,o),65536));if(Er(i))return!0}return m("Failed to grow the heap from "+t+" bytes to "+i+" bytes, not enough memory!"),!1},emscripten_stack_snapshot:function(){var e=(new Error).stack.split("\n");return"Error"==e[0]&&e.shift(),Ir(e),yr.last_addr=mr(e[2]),yr.last_stack=e,yr.last_addr},emscripten_stack_unwind_buffer:function(e,t,r){var n;yr.last_addr==e?n=yr.last_stack:("Error"==(n=(new Error).stack.split("\n"))[0]&&n.shift(),Ir(n));for(var o=2;n[o]&&mr(n[o])!=e;)++o;for(var i=0;i<r&&n[i+o];++i)U[t+4*i>>2]=mr(n[i+o]);return i},emscripten_thread_sleep:function(e){for(var t=be();be()-t<e;);},emscripten_webgl_create_context:function(e,t){return function(e,t){B(t);var r=t>>2,n=U[r+6],o={alpha:!!U[r+0],depth:!!U[r+1],stencil:!!U[r+2],antialias:!!U[r+3],premultipliedAlpha:!!U[r+4],preserveDrawingBuffer:!!U[r+5],powerPreference:Cr[n],failIfMajorPerformanceCaveat:!!U[r+7],majorVersion:U[r+8],minorVersion:U[r+9],enableExtensionsByDefault:U[r+10],explicitSwapControl:U[r+11],proxyContextToMainThread:U[r+12],renderViaOffscreenBackBuffer:U[r+13]},i=br(e);if(!i)return 0;if(i.offscreenCanvas&&(i=i.offscreenCanvas),o.explicitSwapControl&&(i.transferControlToOffscreen||"undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas||o.renderViaOffscreenBackBuffer||(o.renderViaOffscreenBackBuffer=!0),i.transferControlToOffscreen)){if(i.controlTransferredOffscreen){if(!vr.offscreenCanvases[i.id])return 0}else vr.offscreenCanvases[i.id]={canvas:i.transferControlToOffscreen(),canvasSharedPtr:rn(12),id:i.id},i.controlTransferredOffscreen=!0;i=vr.offscreenCanvases[i.id]}return vr.createContext(i,o)}(e,t)},emscripten_webgl_destroy_context:function(e){vr.currentContext==e&&(vr.currentContext=0),vr.deleteContext(e)},emscripten_webgl_get_context_attributes:function(e,t){if(!t)return-5;if(!(e=vr.contexts[e]))return-3;var r=e.GLctx;if(!r)return-3;r=r.getContextAttributes(),U[t>>2]=r.alpha,U[t+4>>2]=r.depth,U[t+8>>2]=r.stencil,U[t+12>>2]=r.antialias,U[t+16>>2]=r.premultipliedAlpha,U[t+20>>2]=r.preserveDrawingBuffer;var n=r.powerPreference&&Cr.indexOf(r.powerPreference);return U[t+24>>2]=n,U[t+28>>2]=r.failIfMajorPerformanceCaveat,U[t+32>>2]=e.version,U[t+36>>2]=0,U[t+40>>2]=e.attributes.enableExtensionsByDefault,0},emscripten_webgl_get_current_context:Br,emscripten_webgl_init_context_attributes:function(e){B(e);for(var t=e>>2,r=0;r<14;++r)U[t+r]=0;U[t+0]=U[t+1]=U[t+3]=U[t+4]=U[t+8]=U[t+10]=1},emscripten_webgl_make_context_current:Dr,environ_get:function(e,t){var r=0;return Or().forEach((function(n,o){var i=t+r;U[e+4*o>>2]=i,function(e,t){for(var r=0;r<e.length;++r)B(e.charCodeAt(r)==e.charCodeAt(r)&255),k[0|t++]=e.charCodeAt(r);k[0|t]=0}(n,i),r+=n.length+1})),0},environ_sizes_get:function(e,t){var r=Or();U[e>>2]=r.length;var n=0;return r.forEach((function(e){n+=e.length+1})),U[t>>2]=n,0},exit:function(e){!function(e){!function(){var e=E,t=m,r=!1;E=m=function(e){r=!0};try{var n=o._fflush;n&&n(0),["stdout","stderr"].forEach((function(e){var t=We.analyzePath("/dev/"+e);if(t){var n=t.object.rdev,o=Le.ttys[n];o&&o.output&&o.output.length&&(r=!0)}}))}catch(e){}E=e,m=t,r&&I("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}();var t="program exited (with status: "+e+"), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)";n(t),m(t),In(e)}(e)},fd_close:function(e){try{var t=Ve.getStreamFromFD(e);return We.close(t),0}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),e.errno}},fd_read:function(e,t,r,n){try{var o=Ve.getStreamFromFD(e),i=Ve.doReadv(o,t,r);return U[n>>2]=i,0}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),e.errno}},fd_seek:function(e,t,r,n,o){try{var i=Ve.getStreamFromFD(e),a=4294967296*r+(t>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(We.llseek(i,a,n),Ie=[i.position>>>0,(ye=i.position,+Math.abs(ye)>=1?ye>0?(0|Math.min(+Math.floor(ye/4294967296),4294967295))>>>0:~~+Math.ceil((ye-+(~~ye>>>0))/4294967296)>>>0:0)],U[o>>2]=Ie[0],U[o+4>>2]=Ie[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),e.errno}},fd_write:function(e,t,r,n){try{var o=Ve.getStreamFromFD(e),i=Ve.doWritev(o,t,r);return U[n>>2]=i,0}catch(e){return void 0!==We&&e instanceof We.ErrnoError||pe(e),e.errno}},getTempRet0:function(){return C},getentropy:function e(t,r){e.randomDevice||(e.randomDevice=Ue());for(var n=0;n<r;n++)k[t+n|0]=e.randomDevice();return 0},glActiveTexture:function(e){zr.activeTexture(e)},glAttachShader:function(e,t){zr.attachShader(vr.programs[e],vr.shaders[t])},glBindAttribLocation:function(e,t,r){zr.bindAttribLocation(vr.programs[e],t,O(r))},glBindBuffer:function(e,t){34962==e?zr.currentArrayBufferBinding=t:34963==e&&(zr.currentElementArrayBufferBinding=t),35051==e?zr.currentPixelPackBufferBinding=t:35052==e&&(zr.currentPixelUnpackBufferBinding=t),zr.bindBuffer(e,vr.buffers[t])},glBindBufferBase:function(e,t,r){zr.bindBufferBase(e,t,vr.buffers[r])},glBindFramebuffer:function(e,t){zr.bindFramebuffer(e,t?vr.framebuffers[t]:vr.currentContext.defaultFbo)},glBindTexture:function(e,t){zr.bindTexture(e,vr.textures[t])},glBindVertexArray:function(e){zr.bindVertexArray(vr.vaos[e]);var t=zr.getParameter(34965);zr.currentElementArrayBufferBinding=t?0|t.name:0},glBufferData:function(e,t,r,n){vr.currentContext.version>=2?r?zr.bufferData(e,F,n,r,t):zr.bufferData(e,t,n):zr.bufferData(e,r?F.subarray(r,r+t):t,n)},glClientWaitSync:function(e,t,r,n){return zr.clientWaitSync(vr.syncs[e],t,(o=r,B((i=n)===(0|i)),(o>>>0)+4294967296*i));var o,i},glCompileShader:function(e){zr.compileShader(vr.shaders[e])},glCreateProgram:function(){var e=vr.getNewId(vr.programs),t=zr.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,vr.programs[e]=t,e},glCreateShader:function(e){var t=vr.getNewId(vr.shaders);return vr.shaders[t]=zr.createShader(e),t},glDeleteBuffers:function(e,t){for(var r=0;r<e;r++){var n=U[t+4*r>>2],o=vr.buffers[n];o&&(zr.deleteBuffer(o),o.name=0,vr.buffers[n]=null,n==zr.currentArrayBufferBinding&&(zr.currentArrayBufferBinding=0),n==zr.currentElementArrayBufferBinding&&(zr.currentElementArrayBufferBinding=0),n==zr.currentPixelPackBufferBinding&&(zr.currentPixelPackBufferBinding=0),n==zr.currentPixelUnpackBufferBinding&&(zr.currentPixelUnpackBufferBinding=0))}},glDeleteFramebuffers:function(e,t){for(var r=0;r<e;++r){var n=U[t+4*r>>2],o=vr.framebuffers[n];o&&(zr.deleteFramebuffer(o),o.name=0,vr.framebuffers[n]=null)}},glDeleteProgram:function(e){if(e){var t=vr.programs[e];t?(zr.deleteProgram(t),t.name=0,vr.programs[e]=null):vr.recordError(1281)}},glDeleteShader:function(e){if(e){var t=vr.shaders[e];t?(zr.deleteShader(t),vr.shaders[e]=null):vr.recordError(1281)}},glDeleteSync:function(e){if(e){var t=vr.syncs[e];t?(zr.deleteSync(t),t.name=0,vr.syncs[e]=null):vr.recordError(1281)}},glDeleteTextures:function(e,t){for(var r=0;r<e;r++){var n=U[t+4*r>>2],o=vr.textures[n];o&&(zr.deleteTexture(o),o.name=0,vr.textures[n]=null)}},glDeleteVertexArrays:function(e,t){for(var r=0;r<e;r++){var n=U[t+4*r>>2];zr.deleteVertexArray(vr.vaos[n]),vr.vaos[n]=null}},glDisable:function(e){zr.disable(e)},glDisableVertexAttribArray:function(e){vr.currentContext.clientBuffers[e].enabled=!1,zr.disableVertexAttribArray(e)},glDrawArrays:function(e,t,r){vr.preDrawHandleClientVertexAttribBindings(t+r),zr.drawArrays(e,t,r),vr.postDrawHandleClientVertexAttribBindings()},glDrawBuffers:function(e,t){for(var r=Qr[e],n=0;n<e;n++)r[n]=U[t+4*n>>2];zr.drawBuffers(r)},glEnableVertexAttribArray:function(e){vr.currentContext.clientBuffers[e].enabled=!0,zr.enableVertexAttribArray(e)},glFenceSync:function(e,t){var r=zr.fenceSync(e,t);if(r){var n=vr.getNewId(vr.syncs);return r.name=n,vr.syncs[n]=r,n}return 0},glFinish:function(){zr.finish()},glFlush:function(){zr.flush()},glFramebufferTexture2D:function(e,t,r,n,o){zr.framebufferTexture2D(e,t,r,vr.textures[n],o)},glFramebufferTextureLayer:function(e,t,r,n,o){zr.framebufferTextureLayer(e,t,vr.textures[r],n,o)},glGenBuffers:function(e,t){Pr(e,t,"createBuffer",vr.buffers)},glGenFramebuffers:function(e,t){Pr(e,t,"createFramebuffer",vr.framebuffers)},glGenTextures:function(e,t){Pr(e,t,"createTexture",vr.textures)},glGenVertexArrays:function(e,t){Pr(e,t,"createVertexArray",vr.vaos)},glGetAttribLocation:function(e,t){return zr.getAttribLocation(vr.programs[e],O(t))},glGetError:function(){var e=zr.getError()||vr.lastError;return vr.lastError=0,e},glGetIntegerv:function(e,t){!function(e,t,r){if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var o=zr.getParameter(34467);n=o?o.length:0;break;case 33309:if(vr.currentContext.version<2)return void vr.recordError(1282);n=2*(zr.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(vr.currentContext.version<2)return void vr.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=zr.getParameter(e);switch(y(i)){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void vr.recordError(1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void vr.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a<i.length;++a)switch(r){case 0:U[t+4*a>>2]=i[a];break;case 2:L[t+4*a>>2]=i[a];break;case 4:k[t+a|0]=i[a]?1:0}return}try{n=0|i.name}catch(t){return vr.recordError(1280),void m("GL_INVALID_ENUM in glGet"+r+"v: Unknown object returned from WebGL getParameter("+e+")! (error: "+t+")")}}break;default:return vr.recordError(1280),void m("GL_INVALID_ENUM in glGet"+r+"v: Native code calling glGet"+r+"v("+e+") and it returns "+i+" of type "+y(i)+"!")}}switch(r){case 1:Mr(t,n);break;case 0:U[t>>2]=n;break;case 2:L[t>>2]=n;break;case 4:k[0|t]=n?1:0}}else vr.recordError(1281)}(e,t,0)},glGetString:function(e){var t=vr.stringCache[e];if(!t){switch(e){case 7939:var r=zr.getSupportedExtensions()||[];t=Rr((r=r.concat(r.map((function(e){return"GL_"+e})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=zr.getParameter(e);n||vr.recordError(1280),t=n&&Rr(n);break;case 7938:var o=zr.getParameter(7938);t=Rr(o=vr.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")");break;case 35724:var i=zr.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),i="OpenGL ES GLSL ES "+a[1]+" ("+i+")"),t=Rr(i);break;default:vr.recordError(1280)}vr.stringCache[e]=t}return t},glGetUniformBlockIndex:function(e,t){return zr.getUniformBlockIndex(vr.programs[e],O(t))},glGetUniformLocation:function(e,t){if(t=O(t),e=vr.programs[e]){!function(e){var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},t=0;t<zr.getProgramParameter(e,35718);++t){var i=zr.getActiveUniform(e,t),a=i.name,s=i.size,c=Sr(a),A=c>0?a.slice(0,c):a,u=e.uniformIdCounter;for(e.uniformIdCounter+=s,o[A]=[s,u],r=0;r<s;++r)n[u]=r,e.uniformArrayNamesById[u++]=A}}(e);var r=e.uniformLocsById,n=0,o=t,i=Sr(t);i>0&&(s=t.slice(i+1),n=parseInt(s)>>>0,o=t.slice(0,i));var a=e.uniformSizeAndIdsByName[o];if(a&&n<a[0]&&(r[n+=a[1]]=r[n]||zr.getUniformLocation(e,t)))return n}else vr.recordError(1281);var s;return-1},glLinkProgram:function(e){e=vr.programs[e],zr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},glPixelStorei:function(e,t){3317==e&&(vr.unpackAlignment=t),zr.pixelStorei(e,t)},glReadPixels:function(e,t,r,n,o,i,a){if(vr.currentContext.version>=2)if(zr.currentPixelPackBufferBinding)zr.readPixels(e,t,r,n,o,i,a);else{var s=kr(i);zr.readPixels(e,t,r,n,o,i,s,a>>Fr(s))}else{var c=xr(i,o,r,n,a);c?zr.readPixels(e,t,r,n,o,i,c):vr.recordError(1280)}},glShaderSource:function(e,t,r,n){var o=vr.getSource(e,t,r,n);zr.shaderSource(vr.shaders[e],o)},glTexImage2D:function(e,t,r,n,o,i,a,s,c){if(vr.currentContext.version>=2)if(zr.currentPixelUnpackBufferBinding)zr.texImage2D(e,t,r,n,o,i,a,s,c);else if(c){var A=kr(s);zr.texImage2D(e,t,r,n,o,i,a,s,A,c>>Fr(A))}else zr.texImage2D(e,t,r,n,o,i,a,s,null);else zr.texImage2D(e,t,r,n,o,i,a,s,c?xr(s,a,n,o,c):null)},glTexParameterfv:function(e,t,r){var n=L[r>>2];zr.texParameterf(e,t,n)},glTexParameteri:function(e,t,r){zr.texParameteri(e,t,r)},glTexStorage2D:function(e,t,r,n,o){zr.texStorage2D(e,t,r,n,o)},glTexStorage3D:function(e,t,r,n,o,i){zr.texStorage3D(e,t,r,n,o,i)},glTexSubImage2D:function(e,t,r,n,o,i,a,s,c){if(vr.currentContext.version>=2)if(zr.currentPixelUnpackBufferBinding)zr.texSubImage2D(e,t,r,n,o,i,a,s,c);else if(c){var A=kr(s);zr.texSubImage2D(e,t,r,n,o,i,a,s,A,c>>Fr(A))}else zr.texSubImage2D(e,t,r,n,o,i,a,s,null);else{var u=null;c&&(u=xr(s,a,o,i,c)),zr.texSubImage2D(e,t,r,n,o,i,a,s,u)}},glTexSubImage3D:function(e,t,r,n,o,i,a,s,c,A,u){if(zr.currentPixelUnpackBufferBinding)zr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,u);else if(u){var l=kr(A);zr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,l,u>>Fr(l))}else zr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,null)},glUniform1f:function(e,t){zr.uniform1f(Nr(e),t)},glUniform1i:function(e,t){zr.uniform1i(Nr(e),t)},glUniform2fv:function(e,t,r){if(vr.currentContext.version>=2)zr.uniform2fv(Nr(e),L,r>>2,2*t);else{if(t<=144)for(var n=Ur[2*t-1],o=0;o<2*t;o+=2)n[o]=L[r+4*o>>2],n[o+1]=L[r+(4*o+4)>>2];else n=L.subarray(r>>2,r+8*t>>2);zr.uniform2fv(Nr(e),n)}},glUniform4fv:function(e,t,r){if(vr.currentContext.version>=2)zr.uniform4fv(Nr(e),L,r>>2,4*t);else{if(t<=72){var n=Ur[4*t-1],o=L;r>>=2;for(var i=0;i<4*t;i+=4){var a=r+i;n[i]=o[a],n[i+1]=o[a+1],n[i+2]=o[a+2],n[i+3]=o[a+3]}}else n=L.subarray(r>>2,r+16*t>>2);zr.uniform4fv(Nr(e),n)}},glUniform4iv:function(e,t,r){if(vr.currentContext.version>=2)zr.uniform4iv(Nr(e),U,r>>2,4*t);else{if(t<=72)for(var n=jr[4*t-1],o=0;o<4*t;o+=4)n[o]=U[r+4*o>>2],n[o+1]=U[r+(4*o+4)>>2],n[o+2]=U[r+(4*o+8)>>2],n[o+3]=U[r+(4*o+12)>>2];else n=U.subarray(r>>2,r+16*t>>2);zr.uniform4iv(Nr(e),n)}},glUniformBlockBinding:function(e,t,r){e=vr.programs[e],zr.uniformBlockBinding(e,t,r)},glUniformMatrix4fv:function(e,t,r,n){if(vr.currentContext.version>=2)zr.uniformMatrix4fv(Nr(e),!!r,L,n>>2,16*t);else{if(t<=18){var o=Ur[16*t-1],i=L;n>>=2;for(var a=0;a<16*t;a+=16){var s=n+a;o[a]=i[s],o[a+1]=i[s+1],o[a+2]=i[s+2],o[a+3]=i[s+3],o[a+4]=i[s+4],o[a+5]=i[s+5],o[a+6]=i[s+6],o[a+7]=i[s+7],o[a+8]=i[s+8],o[a+9]=i[s+9],o[a+10]=i[s+10],o[a+11]=i[s+11],o[a+12]=i[s+12],o[a+13]=i[s+13],o[a+14]=i[s+14],o[a+15]=i[s+15]}}else o=L.subarray(n>>2,n+64*t>>2);zr.uniformMatrix4fv(Nr(e),!!r,o)}},glUseProgram:function(e){e=vr.programs[e],zr.useProgram(e),zr.currentProgram=e},glVertexAttribPointer:function(e,t,r,n,o,i){var a=vr.currentContext.clientBuffers[e];if(!zr.currentArrayBufferBinding)return a.size=t,a.type=r,a.normalized=n,a.stride=o,a.ptr=i,a.clientside=!0,void(a.vertexAttribPointerAdaptor=function(e,t,r,n,o,i){this.vertexAttribPointer(e,t,r,n,o,i)});a.clientside=!1,zr.vertexAttribPointer(e,t,r,!!n,o,i)},glViewport:function(e,t,r,n){zr.viewport(e,t,r,n)},gmtime_r:function e(t,r){var n=new Date(1e3*U[t>>2]);U[r>>2]=n.getUTCSeconds(),U[r+4>>2]=n.getUTCMinutes(),U[r+8>>2]=n.getUTCHours(),U[r+12>>2]=n.getUTCDate(),U[r+16>>2]=n.getUTCMonth(),U[r+20>>2]=n.getUTCFullYear()-1900,U[r+24>>2]=n.getUTCDay(),U[r+36>>2]=0,U[r+32>>2]=0;var o=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),i=(n.getTime()-o)/864e5|0;return U[r+28>>2]=i,e.GMTString||(e.GMTString=Z("GMT")),U[r+40>>2]=e.GMTString,r},invoke_diii:function(e,t,r,n){var o=un();try{return ee.get(e)(t,r,n)}catch(e){if(ln(o),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_i:function(e){var t=un();try{return ee.get(e)()}catch(e){if(ln(t),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_ii:function(e,t){var r=un();try{return ee.get(e)(t)}catch(e){if(ln(r),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_iii:function(e,t,r){var n=un();try{return ee.get(e)(t,r)}catch(e){if(ln(n),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_iiii:function(e,t,r,n){var o=un();try{return ee.get(e)(t,r,n)}catch(e){if(ln(o),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_iiiii:function(e,t,r,n,o){var i=un();try{return ee.get(e)(t,r,n,o)}catch(e){if(ln(i),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_iiiiii:function(e,t,r,n,o,i){var a=un();try{return ee.get(e)(t,r,n,o,i)}catch(e){if(ln(a),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_iiiiiii:function(e,t,r,n,o,i,a){var s=un();try{return ee.get(e)(t,r,n,o,i,a)}catch(e){if(ln(s),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_iiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A){var u=un();try{return ee.get(e)(t,r,n,o,i,a,s,c,A)}catch(e){if(ln(u),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_iiiiiiii:function(e,t,r,n,o,i,a,s){var c=un();try{return ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(ln(c),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_iiiiiiiii:function(e,t,r,n,o,i,a,s,c){var A=un();try{return ee.get(e)(t,r,n,o,i,a,s,c)}catch(e){if(ln(A),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_v:function(e){var t=un();try{ee.get(e)()}catch(e){if(ln(t),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_vdiii:function(e,t,r,n,o){var i=un();try{ee.get(e)(t,r,n,o)}catch(e){if(ln(i),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_vi:function(e,t){var r=un();try{ee.get(e)(t)}catch(e){if(ln(r),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_vididdii:function(e,t,r,n,o,i,a,s){var c=un();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(ln(c),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_vidii:function(e,t,r,n,o){var i=un();try{ee.get(e)(t,r,n,o)}catch(e){if(ln(i),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_vii:function(e,t,r){var n=un();try{ee.get(e)(t,r)}catch(e){if(ln(n),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viid:function(e,t,r,n){var o=un();try{ee.get(e)(t,r,n)}catch(e){if(ln(o),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viidi:function(e,t,r,n,o){var i=un();try{ee.get(e)(t,r,n,o)}catch(e){if(ln(i),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viididii:function(e,t,r,n,o,i,a,s){var c=un();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(ln(c),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viii:function(e,t,r,n){var o=un();try{ee.get(e)(t,r,n)}catch(e){if(ln(o),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiid:function(e,t,r,n,o){var i=un();try{ee.get(e)(t,r,n,o)}catch(e){if(ln(i),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiidd:function(e,t,r,n,o,i){var a=un();try{ee.get(e)(t,r,n,o,i)}catch(e){if(ln(a),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiddi:function(e,t,r,n,o,i,a){var s=un();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(ln(s),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiidi:function(e,t,r,n,o,i){var a=un();try{ee.get(e)(t,r,n,o,i)}catch(e){if(ln(a),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiii:function(e,t,r,n,o){var i=un();try{ee.get(e)(t,r,n,o)}catch(e){if(ln(i),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiid:function(e,t,r,n,o,i){var a=un();try{ee.get(e)(t,r,n,o,i)}catch(e){if(ln(a),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiidi:function(e,t,r,n,o,i,a){var s=un();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(ln(s),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiidid:function(e,t,r,n,o,i,a,s){var c=un();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(ln(c),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiidiidiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g,f,h)}catch(e){if(ln(p),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiifiifiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g,f,h)}catch(e){if(ln(p),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiii:function(e,t,r,n,o,i){var a=un();try{ee.get(e)(t,r,n,o,i)}catch(e){if(ln(a),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiid:function(e,t,r,n,o,i,a){var s=un();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(ln(s),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiif:function(e,t,r,n,o,i,a){var s=un();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(ln(s),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiii:function(e,t,r,n,o,i,a){var s=un();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(ln(s),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiid:function(e,t,r,n,o,i,a,s){var c=un();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(ln(c),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiif:function(e,t,r,n,o,i,a,s){var c=un();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(ln(c),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiii:function(e,t,r,n,o,i,a,s){var c=un();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(ln(c),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u){var l=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(ln(l),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiidiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(ln(g),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiifiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(ln(g),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiii:function(e,t,r,n,o,i,a,s,c){var A=un();try{ee.get(e)(t,r,n,o,i,a,s,c)}catch(e){if(ln(A),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiidd:function(e,t,r,n,o,i,a,s,c,A,u){var l=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(ln(l),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiidf:function(e,t,r,n,o,i,a,s,c,A,u){var l=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(ln(l),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiii:function(e,t,r,n,o,i,a,s,c,A){var u=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A)}catch(e){if(ln(u),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiiidd:function(e,t,r,n,o,i,a,s,c,A,u,l){var d=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l)}catch(e){if(ln(d),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(ln(g),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u){var l=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(ln(l),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g){var f=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g)}catch(e){if(ln(f),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l){var d=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l)}catch(e){if(ln(d),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(ln(g),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},invoke_viiiiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g){var f=un();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g)}catch(e){if(ln(f),e!==e+0&&"longjmp"!==e)throw e;fn(1,0)}},llvm_eh_typeid_for:function(e){return e},localtime_r:function(e,t){Lr();var r=new Date(1e3*U[e>>2]);U[t>>2]=r.getSeconds(),U[t+4>>2]=r.getMinutes(),U[t+8>>2]=r.getHours(),U[t+12>>2]=r.getDate(),U[t+16>>2]=r.getMonth(),U[t+20>>2]=r.getFullYear()-1900,U[t+24>>2]=r.getDay();var n=new Date(r.getFullYear(),0,1),o=(r.getTime()-n.getTime())/864e5|0;U[t+28>>2]=o,U[t+36>>2]=-60*r.getTimezoneOffset();var i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),s=0|(i!=a&&r.getTimezoneOffset()==Math.min(a,i));U[t+32>>2]=s;var c=U[sn()+(s?4:0)>>2];return U[t+40>>2]=c,t},mktime:function(e){Lr();var t=new Date(U[e+20>>2]+1900,U[e+16>>2],U[e+12>>2],U[e+8>>2],U[e+4>>2],U[e>>2],0),r=U[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(r<0)U[e+32>>2]=Number(i!=a&&s==n);else if(r>0!=(s==n)){var c=Math.max(a,i),A=r>0?s:c;t.setTime(t.getTime()+6e4*(A-n))}U[e+24>>2]=t.getDay();var u=(t.getTime()-o.getTime())/864e5|0;return U[e+28>>2]=u,U[e>>2]=t.getSeconds(),U[e+4>>2]=t.getMinutes(),U[e+8>>2]=t.getHours(),U[e+12>>2]=t.getDate(),U[e+16>>2]=t.getMonth(),t.getTime()/1e3|0},proc_exit:function(e){In(e)},setTempRet0:function(e){_(e)},strftime:Vr,strftime_l:function(e,t,r,n){return Vr(e,t,r,n)}};!function(){var e={env:en,wasi_snapshot_preview1:en};function t(e,t){var r,n=e.exports;o.asm=n,B(w=o.asm.memory,"memory not found in wasm exports"),q(w.buffer),B(ee=o.asm.__indirect_function_table,"table not found in wasm exports"),r=o.asm.__wasm_call_ctors,ie.unshift(r),he("wasm-instantiate")}fe("wasm-instantiate");var r=o;function i(e){B(o===r,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),r=null,t(e.instance)}function a(t){return function(){if(!v&&(A||u)){if("function"==typeof fetch&&!we(Ee))return fetch(Ee,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+Ee+"'";return e.arrayBuffer()})).catch((function(){return _e(Ee)}));if(f)return new Promise((function(e,t){f(Ee,(function(t){e(new Uint8Array(t))}),t)}))}return Promise.resolve().then((function(){return _e(Ee)}))}().then((function(t){return WebAssembly.instantiate(t,e)})).then(t,(function(e){m("failed to asynchronously prepare wasm: "+e),we(Ee)&&m("warning: Loading from a file URI ("+Ee+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),pe(e)}))}if(o.instantiateWasm)try{return o.instantiateWasm(e,t)}catch(e){return m("Module.instantiateWasm callback failed with error: "+e),!1}(v||"function"!=typeof WebAssembly.instantiateStreaming||ve(Ee)||we(Ee)||"function"!=typeof fetch?a(i):fetch(Ee,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(i,(function(e){return m("wasm streaming compile failed: "+e),m("falling back to ArrayBuffer instantiation"),a(i)}))}))).catch(n)}(),o.___wasm_call_ctors=Ce("__wasm_call_ctors");var tn=o._free=Ce("free"),rn=o._malloc=Ce("malloc"),nn=o.___errno_location=Ce("__errno_location");o._fflush=Ce("fflush");var on=o.___getTypeName=Ce("__getTypeName");o.___embind_register_native_and_builtin_types=Ce("__embind_register_native_and_builtin_types"),o._emscripten_main_thread_process_queued_calls=Ce("emscripten_main_thread_process_queued_calls");var an=o._emscripten_stack_get_end=function(){return(an=o._emscripten_stack_get_end=o.asm.emscripten_stack_get_end).apply(null,arguments)},sn=o.__get_tzname=Ce("_get_tzname"),cn=o.__get_daylight=Ce("_get_daylight"),An=o.__get_timezone=Ce("_get_timezone"),un=o.stackSave=Ce("stackSave"),ln=o.stackRestore=Ce("stackRestore");o.stackAlloc=Ce("stackAlloc");var dn=o._emscripten_stack_init=function(){return(dn=o._emscripten_stack_init=o.asm.emscripten_stack_init).apply(null,arguments)};o._emscripten_stack_get_free=function(){return(o._emscripten_stack_get_free=o.asm.emscripten_stack_get_free).apply(null,arguments)},o._saveSetjmp=Ce("saveSetjmp");var gn,fn=o._setThrew=Ce("setThrew"),hn=o.___cxa_can_catch=Ce("__cxa_can_catch"),pn=o.___cxa_is_pointer_type=Ce("__cxa_is_pointer_type"),En=o._memalign=Ce("memalign");function mn(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function yn(e){function t(){gn||(gn=!0,o.calledRun=!0,b||(ne(),B(!ce),ce=!0,o.noFSInit||We.init.initialized||We.init(),We.ignorePermissions=!1,Qe(ie),r(o),o.onRuntimeInitialized&&o.onRuntimeInitialized(),B(!o._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(ne(),o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)e=o.postRun.shift(),se.unshift(e);var e;Qe(se)}()))}Ae>0||(dn(),re(),function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)e=o.preRun.shift(),oe.unshift(e);var e;Qe(oe)}(),Ae>0||(o.setStatus?(o.setStatus("Running..."),setTimeout((function(){setTimeout((function(){o.setStatus("")}),1),t()}),1)):t(),ne()))}function In(e){c(e,new mn(e))}if(o._emscripten_builtin_malloc=Ce("emscripten_builtin_malloc"),o._emscripten_builtin_free=Ce("emscripten_builtin_free"),o._emscripten_builtin_memalign=Ce("emscripten_builtin_memalign"),o.dynCall_jii=Ce("dynCall_jii"),o.dynCall_viji=Ce("dynCall_viji"),o.dynCall_jjj=Ce("dynCall_jjj"),o.dynCall_iiiijj=Ce("dynCall_iiiijj"),o.dynCall_viijj=Ce("dynCall_viijj"),o.dynCall_viiijjjj=Ce("dynCall_viiijjjj"),o.dynCall_ji=Ce("dynCall_ji"),o.dynCall_vij=Ce("dynCall_vij"),o.dynCall_viijii=Ce("dynCall_viijii"),o.dynCall_vj=Ce("dynCall_vj"),o.dynCall_viij=Ce("dynCall_viij"),o.dynCall_viiiiij=Ce("dynCall_viiiiij"),o.dynCall_iijjiiii=Ce("dynCall_iijjiiii"),o.dynCall_jiji=Ce("dynCall_jiji"),o.dynCall_iiiiij=Ce("dynCall_iiiiij"),o.dynCall_iiiiijj=Ce("dynCall_iiiiijj"),o.dynCall_iiiiiijj=Ce("dynCall_iiiiiijj"),Object.getOwnPropertyDescriptor(o,"intArrayFromString")||(o.intArrayFromString=function(){pe("'intArrayFromString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"intArrayToString")||(o.intArrayToString=function(){pe("'intArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ccall")||(o.ccall=function(){pe("'ccall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"cwrap")||(o.cwrap=function(){pe("'cwrap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setValue")||(o.setValue=function(){pe("'setValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getValue")||(o.getValue=function(){pe("'getValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"allocate")||(o.allocate=function(){pe("'allocate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UTF8ArrayToString")||(o.UTF8ArrayToString=function(){pe("'UTF8ArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UTF8ToString")||(o.UTF8ToString=function(){pe("'UTF8ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToUTF8Array")||(o.stringToUTF8Array=function(){pe("'stringToUTF8Array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToUTF8")||(o.stringToUTF8=function(){pe("'stringToUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF8")||(o.lengthBytesUTF8=function(){pe("'lengthBytesUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackTrace")||(o.stackTrace=function(){pe("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnPreRun")||(o.addOnPreRun=function(){pe("'addOnPreRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnInit")||(o.addOnInit=function(){pe("'addOnInit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnPreMain")||(o.addOnPreMain=function(){pe("'addOnPreMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnExit")||(o.addOnExit=function(){pe("'addOnExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnPostRun")||(o.addOnPostRun=function(){pe("'addOnPostRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeStringToMemory")||(o.writeStringToMemory=function(){pe("'writeStringToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeArrayToMemory")||(o.writeArrayToMemory=function(){pe("'writeArrayToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeAsciiToMemory")||(o.writeAsciiToMemory=function(){pe("'writeAsciiToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.addRunDependency=fe,o.removeRunDependency=he,Object.getOwnPropertyDescriptor(o,"FS_createFolder")||(o.FS_createFolder=function(){pe("'FS_createFolder' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.FS_createPath=We.createPath,o.FS_createDataFile=We.createDataFile,o.FS_createPreloadedFile=We.createPreloadedFile,o.FS_createLazyFile=We.createLazyFile,Object.getOwnPropertyDescriptor(o,"FS_createLink")||(o.FS_createLink=function(){pe("'FS_createLink' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.FS_createDevice=We.createDevice,o.FS_unlink=We.unlink,Object.getOwnPropertyDescriptor(o,"getLEB")||(o.getLEB=function(){pe("'getLEB' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getFunctionTables")||(o.getFunctionTables=function(){pe("'getFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"alignFunctionTables")||(o.alignFunctionTables=function(){pe("'alignFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerFunctions")||(o.registerFunctions=function(){pe("'registerFunctions' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addFunction")||(o.addFunction=function(){pe("'addFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"removeFunction")||(o.removeFunction=function(){pe("'removeFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getFuncWrapper")||(o.getFuncWrapper=function(){pe("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"prettyPrint")||(o.prettyPrint=function(){pe("'prettyPrint' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"dynCall")||(o.dynCall=function(){pe("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getCompilerSetting")||(o.getCompilerSetting=function(){pe("'getCompilerSetting' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"print")||(o.print=function(){pe("'print' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"printErr")||(o.printErr=function(){pe("'printErr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getTempRet0")||(o.getTempRet0=function(){pe("'getTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setTempRet0")||(o.setTempRet0=function(){pe("'setTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"callMain")||(o.callMain=function(){pe("'callMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"abort")||(o.abort=function(){pe("'abort' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"keepRuntimeAlive")||(o.keepRuntimeAlive=function(){pe("'keepRuntimeAlive' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"zeroMemory")||(o.zeroMemory=function(){pe("'zeroMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToNewUTF8")||(o.stringToNewUTF8=function(){pe("'stringToNewUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setFileTime")||(o.setFileTime=function(){pe("'setFileTime' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscripten_realloc_buffer")||(o.emscripten_realloc_buffer=function(){pe("'emscripten_realloc_buffer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ENV")||(o.ENV=function(){pe("'ENV' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ERRNO_CODES")||(o.ERRNO_CODES=function(){pe("'ERRNO_CODES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ERRNO_MESSAGES")||(o.ERRNO_MESSAGES=function(){pe("'ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setErrNo")||(o.setErrNo=function(){pe("'setErrNo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"inetPton4")||(o.inetPton4=function(){pe("'inetPton4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"inetNtop4")||(o.inetNtop4=function(){pe("'inetNtop4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"inetPton6")||(o.inetPton6=function(){pe("'inetPton6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"inetNtop6")||(o.inetNtop6=function(){pe("'inetNtop6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readSockaddr")||(o.readSockaddr=function(){pe("'readSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeSockaddr")||(o.writeSockaddr=function(){pe("'writeSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"DNS")||(o.DNS=function(){pe("'DNS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getHostByName")||(o.getHostByName=function(){pe("'getHostByName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GAI_ERRNO_MESSAGES")||(o.GAI_ERRNO_MESSAGES=function(){pe("'GAI_ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"Protocols")||(o.Protocols=function(){pe("'Protocols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"Sockets")||(o.Sockets=function(){pe("'Sockets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getRandomDevice")||(o.getRandomDevice=function(){pe("'getRandomDevice' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"traverseStack")||(o.traverseStack=function(){pe("'traverseStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UNWIND_CACHE")||(o.UNWIND_CACHE=function(){pe("'UNWIND_CACHE' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"withBuiltinMalloc")||(o.withBuiltinMalloc=function(){pe("'withBuiltinMalloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readAsmConstArgsArray")||(o.readAsmConstArgsArray=function(){pe("'readAsmConstArgsArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readAsmConstArgs")||(o.readAsmConstArgs=function(){pe("'readAsmConstArgs' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"mainThreadEM_ASM")||(o.mainThreadEM_ASM=function(){pe("'mainThreadEM_ASM' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"jstoi_q")||(o.jstoi_q=function(){pe("'jstoi_q' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"jstoi_s")||(o.jstoi_s=function(){pe("'jstoi_s' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getExecutableName")||(o.getExecutableName=function(){pe("'getExecutableName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"listenOnce")||(o.listenOnce=function(){pe("'listenOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"autoResumeAudioContext")||(o.autoResumeAudioContext=function(){pe("'autoResumeAudioContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"dynCallLegacy")||(o.dynCallLegacy=function(){pe("'dynCallLegacy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getDynCaller")||(o.getDynCaller=function(){pe("'getDynCaller' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"dynCall")||(o.dynCall=function(){pe("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"callRuntimeCallbacks")||(o.callRuntimeCallbacks=function(){pe("'callRuntimeCallbacks' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runtimeKeepalivePush")||(o.runtimeKeepalivePush=function(){pe("'runtimeKeepalivePush' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runtimeKeepalivePop")||(o.runtimeKeepalivePop=function(){pe("'runtimeKeepalivePop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"callUserCallback")||(o.callUserCallback=function(){pe("'callUserCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"maybeExit")||(o.maybeExit=function(){pe("'maybeExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"safeSetTimeout")||(o.safeSetTimeout=function(){pe("'safeSetTimeout' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"asmjsMangle")||(o.asmjsMangle=function(){pe("'asmjsMangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"asyncLoad")||(o.asyncLoad=function(){pe("'asyncLoad' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"alignMemory")||(o.alignMemory=function(){pe("'alignMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"mmapAlloc")||(o.mmapAlloc=function(){pe("'mmapAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"reallyNegative")||(o.reallyNegative=function(){pe("'reallyNegative' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"unSign")||(o.unSign=function(){pe("'unSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"reSign")||(o.reSign=function(){pe("'reSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"formatString")||(o.formatString=function(){pe("'formatString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"PATH")||(o.PATH=function(){pe("'PATH' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"PATH_FS")||(o.PATH_FS=function(){pe("'PATH_FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SYSCALLS")||(o.SYSCALLS=function(){pe("'SYSCALLS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"syscallMmap2")||(o.syscallMmap2=function(){pe("'syscallMmap2' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"syscallMunmap")||(o.syscallMunmap=function(){pe("'syscallMunmap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getSocketFromFD")||(o.getSocketFromFD=function(){pe("'getSocketFromFD' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getSocketAddress")||(o.getSocketAddress=function(){pe("'getSocketAddress' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"JSEvents")||(o.JSEvents=function(){pe("'JSEvents' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerKeyEventCallback")||(o.registerKeyEventCallback=function(){pe("'registerKeyEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"specialHTMLTargets")||(o.specialHTMLTargets=function(){pe("'specialHTMLTargets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"findEventTarget")||(o.findEventTarget=function(){pe("'findEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"findCanvasEventTarget")||(o.findCanvasEventTarget=function(){pe("'findCanvasEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getBoundingClientRect")||(o.getBoundingClientRect=function(){pe("'getBoundingClientRect' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillMouseEventData")||(o.fillMouseEventData=function(){pe("'fillMouseEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerMouseEventCallback")||(o.registerMouseEventCallback=function(){pe("'registerMouseEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerWheelEventCallback")||(o.registerWheelEventCallback=function(){pe("'registerWheelEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerUiEventCallback")||(o.registerUiEventCallback=function(){pe("'registerUiEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerFocusEventCallback")||(o.registerFocusEventCallback=function(){pe("'registerFocusEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillDeviceOrientationEventData")||(o.fillDeviceOrientationEventData=function(){pe("'fillDeviceOrientationEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerDeviceOrientationEventCallback")||(o.registerDeviceOrientationEventCallback=function(){pe("'registerDeviceOrientationEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillDeviceMotionEventData")||(o.fillDeviceMotionEventData=function(){pe("'fillDeviceMotionEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerDeviceMotionEventCallback")||(o.registerDeviceMotionEventCallback=function(){pe("'registerDeviceMotionEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"screenOrientation")||(o.screenOrientation=function(){pe("'screenOrientation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillOrientationChangeEventData")||(o.fillOrientationChangeEventData=function(){pe("'fillOrientationChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerOrientationChangeEventCallback")||(o.registerOrientationChangeEventCallback=function(){pe("'registerOrientationChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillFullscreenChangeEventData")||(o.fillFullscreenChangeEventData=function(){pe("'fillFullscreenChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerFullscreenChangeEventCallback")||(o.registerFullscreenChangeEventCallback=function(){pe("'registerFullscreenChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerRestoreOldStyle")||(o.registerRestoreOldStyle=function(){pe("'registerRestoreOldStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"hideEverythingExceptGivenElement")||(o.hideEverythingExceptGivenElement=function(){pe("'hideEverythingExceptGivenElement' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"restoreHiddenElements")||(o.restoreHiddenElements=function(){pe("'restoreHiddenElements' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setLetterbox")||(o.setLetterbox=function(){pe("'setLetterbox' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"currentFullscreenStrategy")||(o.currentFullscreenStrategy=function(){pe("'currentFullscreenStrategy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"restoreOldWindowedStyle")||(o.restoreOldWindowedStyle=function(){pe("'restoreOldWindowedStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"softFullscreenResizeWebGLRenderTarget")||(o.softFullscreenResizeWebGLRenderTarget=function(){pe("'softFullscreenResizeWebGLRenderTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"doRequestFullscreen")||(o.doRequestFullscreen=function(){pe("'doRequestFullscreen' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillPointerlockChangeEventData")||(o.fillPointerlockChangeEventData=function(){pe("'fillPointerlockChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerPointerlockChangeEventCallback")||(o.registerPointerlockChangeEventCallback=function(){pe("'registerPointerlockChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerPointerlockErrorEventCallback")||(o.registerPointerlockErrorEventCallback=function(){pe("'registerPointerlockErrorEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"requestPointerLock")||(o.requestPointerLock=function(){pe("'requestPointerLock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillVisibilityChangeEventData")||(o.fillVisibilityChangeEventData=function(){pe("'fillVisibilityChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerVisibilityChangeEventCallback")||(o.registerVisibilityChangeEventCallback=function(){pe("'registerVisibilityChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerTouchEventCallback")||(o.registerTouchEventCallback=function(){pe("'registerTouchEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillGamepadEventData")||(o.fillGamepadEventData=function(){pe("'fillGamepadEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerGamepadEventCallback")||(o.registerGamepadEventCallback=function(){pe("'registerGamepadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerBeforeUnloadEventCallback")||(o.registerBeforeUnloadEventCallback=function(){pe("'registerBeforeUnloadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillBatteryEventData")||(o.fillBatteryEventData=function(){pe("'fillBatteryEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"battery")||(o.battery=function(){pe("'battery' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerBatteryEventCallback")||(o.registerBatteryEventCallback=function(){pe("'registerBatteryEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setCanvasElementSize")||(o.setCanvasElementSize=function(){pe("'setCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getCanvasElementSize")||(o.getCanvasElementSize=function(){pe("'getCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"polyfillSetImmediate")||(o.polyfillSetImmediate=function(){pe("'polyfillSetImmediate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"demangle")||(o.demangle=function(){pe("'demangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"demangleAll")||(o.demangleAll=function(){pe("'demangleAll' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"jsStackTrace")||(o.jsStackTrace=function(){pe("'jsStackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackTrace")||(o.stackTrace=function(){pe("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getEnvStrings")||(o.getEnvStrings=function(){pe("'getEnvStrings' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"checkWasiClock")||(o.checkWasiClock=function(){pe("'checkWasiClock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToI64")||(o.writeI53ToI64=function(){pe("'writeI53ToI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToI64Clamped")||(o.writeI53ToI64Clamped=function(){pe("'writeI53ToI64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToI64Signaling")||(o.writeI53ToI64Signaling=function(){pe("'writeI53ToI64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToU64Clamped")||(o.writeI53ToU64Clamped=function(){pe("'writeI53ToU64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToU64Signaling")||(o.writeI53ToU64Signaling=function(){pe("'writeI53ToU64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readI53FromI64")||(o.readI53FromI64=function(){pe("'readI53FromI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readI53FromU64")||(o.readI53FromU64=function(){pe("'readI53FromU64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"convertI32PairToI53")||(o.convertI32PairToI53=function(){pe("'convertI32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"convertU32PairToI53")||(o.convertU32PairToI53=function(){pe("'convertU32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"uncaughtExceptionCount")||(o.uncaughtExceptionCount=function(){pe("'uncaughtExceptionCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exceptionLast")||(o.exceptionLast=function(){pe("'exceptionLast' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exceptionCaught")||(o.exceptionCaught=function(){pe("'exceptionCaught' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ExceptionInfo")||(o.ExceptionInfo=function(){pe("'ExceptionInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"CatchInfo")||(o.CatchInfo=function(){pe("'CatchInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exception_addRef")||(o.exception_addRef=function(){pe("'exception_addRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exception_decRef")||(o.exception_decRef=function(){pe("'exception_decRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"Browser")||(o.Browser=function(){pe("'Browser' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"funcWrappers")||(o.funcWrappers=function(){pe("'funcWrappers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getFuncWrapper")||(o.getFuncWrapper=function(){pe("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setMainLoop")||(o.setMainLoop=function(){pe("'setMainLoop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"wget")||(o.wget=function(){pe("'wget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"FS")||(o.FS=function(){pe("'FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"MEMFS")||(o.MEMFS=function(){pe("'MEMFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"TTY")||(o.TTY=function(){pe("'TTY' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"PIPEFS")||(o.PIPEFS=function(){pe("'PIPEFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SOCKFS")||(o.SOCKFS=function(){pe("'SOCKFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"_setNetworkCallback")||(o._setNetworkCallback=function(){pe("'_setNetworkCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"tempFixedLengthArray")||(o.tempFixedLengthArray=function(){pe("'tempFixedLengthArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"miniTempWebGLFloatBuffers")||(o.miniTempWebGLFloatBuffers=function(){pe("'miniTempWebGLFloatBuffers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"heapObjectForWebGLType")||(o.heapObjectForWebGLType=function(){pe("'heapObjectForWebGLType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"heapAccessShiftForWebGLHeap")||(o.heapAccessShiftForWebGLHeap=function(){pe("'heapAccessShiftForWebGLHeap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.GL=vr,Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGet")||(o.emscriptenWebGLGet=function(){pe("'emscriptenWebGLGet' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"computeUnpackAlignedImageSize")||(o.computeUnpackAlignedImageSize=function(){pe("'computeUnpackAlignedImageSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetTexPixelData")||(o.emscriptenWebGLGetTexPixelData=function(){pe("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetUniform")||(o.emscriptenWebGLGetUniform=function(){pe("'emscriptenWebGLGetUniform' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"webglGetUniformLocation")||(o.webglGetUniformLocation=function(){pe("'webglGetUniformLocation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"webglPrepareUniformLocationsBeforeFirstUse")||(o.webglPrepareUniformLocationsBeforeFirstUse=function(){pe("'webglPrepareUniformLocationsBeforeFirstUse' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"webglGetLeftBracePos")||(o.webglGetLeftBracePos=function(){pe("'webglGetLeftBracePos' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetVertexAttrib")||(o.emscriptenWebGLGetVertexAttrib=function(){pe("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetBufferBinding")||(o.emscriptenWebGLGetBufferBinding=function(){pe("'emscriptenWebGLGetBufferBinding' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLValidateMapBufferTarget")||(o.emscriptenWebGLValidateMapBufferTarget=function(){pe("'emscriptenWebGLValidateMapBufferTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeGLArray")||(o.writeGLArray=function(){pe("'writeGLArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"AL")||(o.AL=function(){pe("'AL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL_unicode")||(o.SDL_unicode=function(){pe("'SDL_unicode' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL_ttfContext")||(o.SDL_ttfContext=function(){pe("'SDL_ttfContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL_audio")||(o.SDL_audio=function(){pe("'SDL_audio' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL")||(o.SDL=function(){pe("'SDL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL_gfx")||(o.SDL_gfx=function(){pe("'SDL_gfx' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GLUT")||(o.GLUT=function(){pe("'GLUT' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"EGL")||(o.EGL=function(){pe("'EGL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GLFW_Window")||(o.GLFW_Window=function(){pe("'GLFW_Window' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GLFW")||(o.GLFW=function(){pe("'GLFW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GLEW")||(o.GLEW=function(){pe("'GLEW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"IDBStore")||(o.IDBStore=function(){pe("'IDBStore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runAndAbortIfError")||(o.runAndAbortIfError=function(){pe("'runAndAbortIfError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_handle_array")||(o.emval_handle_array=function(){pe("'emval_handle_array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_free_list")||(o.emval_free_list=function(){pe("'emval_free_list' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_symbols")||(o.emval_symbols=function(){pe("'emval_symbols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"init_emval")||(o.init_emval=function(){pe("'init_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"count_emval_handles")||(o.count_emval_handles=function(){pe("'count_emval_handles' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"get_first_emval")||(o.get_first_emval=function(){pe("'get_first_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getStringOrSymbol")||(o.getStringOrSymbol=function(){pe("'getStringOrSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"requireHandle")||(o.requireHandle=function(){pe("'requireHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_newers")||(o.emval_newers=function(){pe("'emval_newers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"craftEmvalAllocator")||(o.craftEmvalAllocator=function(){pe("'craftEmvalAllocator' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_get_global")||(o.emval_get_global=function(){pe("'emval_get_global' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_methodCallers")||(o.emval_methodCallers=function(){pe("'emval_methodCallers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"InternalError")||(o.InternalError=function(){pe("'InternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"BindingError")||(o.BindingError=function(){pe("'BindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UnboundTypeError")||(o.UnboundTypeError=function(){pe("'UnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"PureVirtualError")||(o.PureVirtualError=function(){pe("'PureVirtualError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"init_embind")||(o.init_embind=function(){pe("'init_embind' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"throwInternalError")||(o.throwInternalError=function(){pe("'throwInternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"throwBindingError")||(o.throwBindingError=function(){pe("'throwBindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"throwUnboundTypeError")||(o.throwUnboundTypeError=function(){pe("'throwUnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ensureOverloadTable")||(o.ensureOverloadTable=function(){pe("'ensureOverloadTable' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exposePublicSymbol")||(o.exposePublicSymbol=function(){pe("'exposePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"replacePublicSymbol")||(o.replacePublicSymbol=function(){pe("'replacePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"extendError")||(o.extendError=function(){pe("'extendError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"createNamedFunction")||(o.createNamedFunction=function(){pe("'createNamedFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registeredInstances")||(o.registeredInstances=function(){pe("'registeredInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getBasestPointer")||(o.getBasestPointer=function(){pe("'getBasestPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerInheritedInstance")||(o.registerInheritedInstance=function(){pe("'registerInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"unregisterInheritedInstance")||(o.unregisterInheritedInstance=function(){pe("'unregisterInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getInheritedInstance")||(o.getInheritedInstance=function(){pe("'getInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getInheritedInstanceCount")||(o.getInheritedInstanceCount=function(){pe("'getInheritedInstanceCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getLiveInheritedInstances")||(o.getLiveInheritedInstances=function(){pe("'getLiveInheritedInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registeredTypes")||(o.registeredTypes=function(){pe("'registeredTypes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"awaitingDependencies")||(o.awaitingDependencies=function(){pe("'awaitingDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"typeDependencies")||(o.typeDependencies=function(){pe("'typeDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registeredPointers")||(o.registeredPointers=function(){pe("'registeredPointers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerType")||(o.registerType=function(){pe("'registerType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"whenDependentTypesAreResolved")||(o.whenDependentTypesAreResolved=function(){pe("'whenDependentTypesAreResolved' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"embind_charCodes")||(o.embind_charCodes=function(){pe("'embind_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"embind_init_charCodes")||(o.embind_init_charCodes=function(){pe("'embind_init_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readLatin1String")||(o.readLatin1String=function(){pe("'readLatin1String' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getTypeName")||(o.getTypeName=function(){pe("'getTypeName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"heap32VectorToArray")||(o.heap32VectorToArray=function(){pe("'heap32VectorToArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"requireRegisteredType")||(o.requireRegisteredType=function(){pe("'requireRegisteredType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getShiftFromSize")||(o.getShiftFromSize=function(){pe("'getShiftFromSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"integerReadValueFromPointer")||(o.integerReadValueFromPointer=function(){pe("'integerReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"enumReadValueFromPointer")||(o.enumReadValueFromPointer=function(){pe("'enumReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"floatReadValueFromPointer")||(o.floatReadValueFromPointer=function(){pe("'floatReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"simpleReadValueFromPointer")||(o.simpleReadValueFromPointer=function(){pe("'simpleReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runDestructors")||(o.runDestructors=function(){pe("'runDestructors' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"new_")||(o.new_=function(){pe("'new_' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"craftInvokerFunction")||(o.craftInvokerFunction=function(){pe("'craftInvokerFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"embind__requireFunction")||(o.embind__requireFunction=function(){pe("'embind__requireFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"tupleRegistrations")||(o.tupleRegistrations=function(){pe("'tupleRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"structRegistrations")||(o.structRegistrations=function(){pe("'structRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"genericPointerToWireType")||(o.genericPointerToWireType=function(){pe("'genericPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"constNoSmartPtrRawPointerToWireType")||(o.constNoSmartPtrRawPointerToWireType=function(){pe("'constNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"nonConstNoSmartPtrRawPointerToWireType")||(o.nonConstNoSmartPtrRawPointerToWireType=function(){pe("'nonConstNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"init_RegisteredPointer")||(o.init_RegisteredPointer=function(){pe("'init_RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer")||(o.RegisteredPointer=function(){pe("'RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_getPointee")||(o.RegisteredPointer_getPointee=function(){pe("'RegisteredPointer_getPointee' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_destructor")||(o.RegisteredPointer_destructor=function(){pe("'RegisteredPointer_destructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_deleteObject")||(o.RegisteredPointer_deleteObject=function(){pe("'RegisteredPointer_deleteObject' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_fromWireType")||(o.RegisteredPointer_fromWireType=function(){pe("'RegisteredPointer_fromWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runDestructor")||(o.runDestructor=function(){pe("'runDestructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"releaseClassHandle")||(o.releaseClassHandle=function(){pe("'releaseClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"finalizationGroup")||(o.finalizationGroup=function(){pe("'finalizationGroup' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"detachFinalizer_deps")||(o.detachFinalizer_deps=function(){pe("'detachFinalizer_deps' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"detachFinalizer")||(o.detachFinalizer=function(){pe("'detachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"attachFinalizer")||(o.attachFinalizer=function(){pe("'attachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"makeClassHandle")||(o.makeClassHandle=function(){pe("'makeClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"init_ClassHandle")||(o.init_ClassHandle=function(){pe("'init_ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle")||(o.ClassHandle=function(){pe("'ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_isAliasOf")||(o.ClassHandle_isAliasOf=function(){pe("'ClassHandle_isAliasOf' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"throwInstanceAlreadyDeleted")||(o.throwInstanceAlreadyDeleted=function(){pe("'throwInstanceAlreadyDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_clone")||(o.ClassHandle_clone=function(){pe("'ClassHandle_clone' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_delete")||(o.ClassHandle_delete=function(){pe("'ClassHandle_delete' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"deletionQueue")||(o.deletionQueue=function(){pe("'deletionQueue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_isDeleted")||(o.ClassHandle_isDeleted=function(){pe("'ClassHandle_isDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_deleteLater")||(o.ClassHandle_deleteLater=function(){pe("'ClassHandle_deleteLater' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"flushPendingDeletes")||(o.flushPendingDeletes=function(){pe("'flushPendingDeletes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"delayFunction")||(o.delayFunction=function(){pe("'delayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setDelayFunction")||(o.setDelayFunction=function(){pe("'setDelayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredClass")||(o.RegisteredClass=function(){pe("'RegisteredClass' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"shallowCopyInternalPointer")||(o.shallowCopyInternalPointer=function(){pe("'shallowCopyInternalPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"downcastPointer")||(o.downcastPointer=function(){pe("'downcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"upcastPointer")||(o.upcastPointer=function(){pe("'upcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"validateThis")||(o.validateThis=function(){pe("'validateThis' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"char_0")||(o.char_0=function(){pe("'char_0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"char_9")||(o.char_9=function(){pe("'char_9' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"makeLegalFunctionName")||(o.makeLegalFunctionName=function(){pe("'makeLegalFunctionName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetIndexed")||(o.emscriptenWebGLGetIndexed=function(){pe("'emscriptenWebGLGetIndexed' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"warnOnce")||(o.warnOnce=function(){pe("'warnOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackSave")||(o.stackSave=function(){pe("'stackSave' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackRestore")||(o.stackRestore=function(){pe("'stackRestore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackAlloc")||(o.stackAlloc=function(){pe("'stackAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"AsciiToString")||(o.AsciiToString=function(){pe("'AsciiToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToAscii")||(o.stringToAscii=function(){pe("'stringToAscii' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UTF16ToString")||(o.UTF16ToString=function(){pe("'UTF16ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToUTF16")||(o.stringToUTF16=function(){pe("'stringToUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF16")||(o.lengthBytesUTF16=function(){pe("'lengthBytesUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UTF32ToString")||(o.UTF32ToString=function(){pe("'UTF32ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToUTF32")||(o.stringToUTF32=function(){pe("'stringToUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF32")||(o.lengthBytesUTF32=function(){pe("'lengthBytesUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"allocateUTF8")||(o.allocateUTF8=function(){pe("'allocateUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"allocateUTF8OnStack")||(o.allocateUTF8OnStack=function(){pe("'allocateUTF8OnStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.writeStackCookie=re,o.checkStackCookie=ne,Object.getOwnPropertyDescriptor(o,"ALLOC_NORMAL")||Object.defineProperty(o,"ALLOC_NORMAL",{configurable:!0,get:function(){pe("'ALLOC_NORMAL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(o,"ALLOC_STACK")||Object.defineProperty(o,"ALLOC_STACK",{configurable:!0,get:function(){pe("'ALLOC_STACK' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),le=function e(){gn||yn(),gn||(le=e)},o.run=yn,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();return yn(),t.ready}}(),L=j,H=function(){var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(){var t,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=i;s.ready=new Promise((function(e,n){t=e,r=n}));var c=Object.assign({},s),A="";"undefined"!=typeof document&&document.currentScript&&(A=document.currentScript.src),e&&(A=e),A=0!==A.indexOf("blob:")?A.substr(0,A.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var l,d,g=s.print||console.log.bind(console),f=s.printErr||console.error.bind(console);function h(e){if(F(e))return function(e){for(var t=atob(e),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}(e.slice(k.length))}Object.assign(s,c),c=null,s.arguments&&s.arguments,s.thisProgram&&s.thisProgram,s.quit&&s.quit,s.wasmBinary&&(l=s.wasmBinary),"object"!=("undefined"==typeof WebAssembly?"undefined":y(WebAssembly))&&M("no native wasm support detected");var p,E,m,I,w,C,_,b,B=!1;var D=[],T=[],O=[];var Q=0,P=null;function M(e){s.onAbort&&s.onAbort(e),f(e="Aborted("+e+")"),B=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}var R,S,k="data:application/octet-stream;base64,",F=function(e){return e.startsWith(k)};function x(e){return Promise.resolve().then((function(){return function(e){if(e==R&&l)return new Uint8Array(l);var t=h(e);if(t)return t;throw"both async and sync fetching of the wasm failed"}(e)}))}function N(e,t,r,n){return function(e,t,r){return x(e).then((function(e){return WebAssembly.instantiate(e,t)})).then((function(e){return e})).then(r,(function(e){f("failed to asynchronously prepare wasm: ".concat(e)),M(e)}))}(t,r,n)}F(R="data:application/octet-stream;base64,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IAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAACwsAIAEgAiAAEEIaCxIAIAFBAXRBsMoAakECIAAQQgv5AQEEfwJ/IAEQKiECIwBBEGsiBSQAAn8gAC0AC0EHdgRAIAAoAgQMAQsgAC0AC0H/AHELIgRBAE8EQAJAIAIgAC0AC0EHdgR/IAAoAghB/////wdxQQFrBUEKCyIDIARrTQRAIAJFDQECfyAALQALQQd2BEAgACgCAAwBCyAACyIDIAQEfyACIANqIAMgBBBFIAEgAkEAIAMgBGogAUsbQQAgASADTxtqBSABCyACEEUgACACIARqIgEQMSAFQQA6AA8gASADaiAFLQAPOgAADAELIAAgAyACIARqIANrIARBACACIAEQRAsgBUEQaiQAIAAMAQsQJwALC/ICAgJ/AX4CQCACRQ0AIAAgAToAACAAIAJqIgNBAWsgAToAACACQQNJDQAgACABOgACIAAgAToAASADQQNrIAE6AAAgA0ECayABOgAAIAJBB0kNACAAIAE6AAMgA0EEayABOgAAIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQQRrIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkEIayABNgIAIAJBDGsgATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBEGsgATYCACACQRRr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ACACQQA6AA8DQCABBEAgACACLQAPOgAAIAFBAWshASAAQQFqIQAMAQsLIAJBEGokAAsaACAALQALQQd2BEAgACgCCBogACgCABAZCwvmAQEFfyMAQRBrIgUkACMAQSBrIgMkACMAQRBrIgQkACAEIAA2AgwgBCAAIAFqNgIIIAMgBCgCDDYCGCADIAQoAgg2AhwgBEEQaiQAIAMoAhghBCADKAIcIQYjAEEQayIBJAAgASAGNgIMIAIgBCAGIARrIgQQQyABIAIgBGo2AgggAyABKAIMNgIQIAMgASgCCDYCFCABQRBqJAAgAyAAIAMoAhAgAGtqNgIMIAMgAiADKAIUIAJrajYCCCAFIAMoAgw2AgggBSADKAIINgIMIANBIGokACAFKAIMIQcgBUEQaiQAIAcLDwAgAgRAIAAgASACEDILC/UCAQV/IwBBEGsiByQAIAIgAUF/c0Hv////B2pNBEACfyAALQALQQd2BEAgACgCAAwBCyAACyEIIAdBBGoiCSAAIAFB5////wNJBH8gByABQQF0NgIMIAcgASACajYCBCMAQRBrIgIkACAJKAIAIAdBDGoiCigCAEkhCyACQRBqJAAgCiAJIAsbKAIAIgJBC08EfyACQRBqQXBxIgIgAkEBayICIAJBC0YbBUEKC0EBagVB7////wcLEDAgBygCBCECIAcoAggaIAQEQCACIAggBBAjCyAFBEAgAiAEaiAGIAUQIwsgAyAEayEGIAMgBEcEQCACIARqIAVqIAQgCGogBhAjCyABQQpHBEAgCBAZCyAAIAI2AgAgACAAKAIIQYCAgIB4cSAHKAIIQf////8HcXI2AgggACAAKAIIQYCAgIB4cjYCCCAAIAQgBWogBmoiADYCBCAHQQA6AAwgACACaiAHLQAMOgAAIAdBEGokAA8LECcACwoAIAAgASACEEMLuQEBBH8jAEEQayIEJAAgBCACNgIMIwBBoAFrIgMkACADIAAgA0GeAWogARsiBjYClAFBfyEFIAMgAUEBayIAQQAgACABTRs2ApgBIANBAEGQARAmIgBBfzYCTCAAQSA2AiQgAEF/NgJQIAAgAEGfAWo2AiwgACAAQZQBajYCVAJAIAFBAEgEQEGo3gBBPTYCAAwBCyAGQQA6AAAgAEH9CiACQR8QTSEFCyAAQaABaiQAIARBEGokACAFCwQA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KAIARQ0AIAIgBCgCGDYCAAsgAEEBRiEFDAELQQAhBQsgBEFAayQAIAULMQAgACABKAIIQQAQHgRAIAEgAiADED0PCyAAKAIIIgAgASACIAMgACgCACgCHBEGAAsYACAAIAEoAghBABAeBEAgASACIAMQPQsLnQEBAn8jAEFAaiIDJAACf0EBIAAgAUEAEB4NABpBACABRQ0AGkEAIAFBzMwAECAiAUUNABogA0EMakEAQTQQJhogA0EBNgI4IANBfzYCFCADIAA2AhAgAyABNgIIIAEgA0EIaiACKAIAQQEgASgCACgCHBEGACADKAIgIgBBAUYEQCACIAMoAhg2AgALIABBAUYLIQQgA0FAayQAIAQLCgAgACABQQAQHgtOAgF/AXwjAEEQayICJAAgAkEANgIMIAEoAgRBlM8AIAJBDGoQCSEDIAIoAgwiAQRAIAEQAQsgACADRAAAAAAAAAAAYjoAOCACQRBqJAALNwEBfyMAQRBrIgIkACACIAEtADg2AgggAEGUzwAgAkEIahAHNgIEIABBlNUANgIAIAJBEGokAAuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECIaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECIaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC5wBAQJ/IwBBEGsiAiQAQcgAEBwhASAAKAIEIgAQAiACIAA2AgggAUGELSACQQhqEAc2AgQgAUGU1QA2AgAgAUEBNgIcIAFBlNUANgIYIAFBATYCFCABQZTVADYCECABQQE2AgwgAUGU1QA2AgggAUEAOgAgIAFBADYCRCABQoCAgIAwNwI8IAFBADsANyABQQA7ACsgAkEQaiQAIAELigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBSMAQSBrIgAkAAJAIAVC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBUIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAhSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBUIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIBQZH3AEkNACADIQIgBUL///////8/g0KAgICAgIDAAIQiBCEGAkAgAUGB9wBrIghBwABxBEAgAyAIQUBqrYYhBkIAIQIMAQsgCEUNACAGIAitIgeGIAJBwAAgCGutiIQhBiACIAeGIQILIAAgAjcDECAAIAY3AxgCQEGB+AAgAWsiAUHAAHEEQCAEIAFBQGqtiCEDQgAhBAwBCyABRQ0AIARBwAAgAWuthiADIAGtIgKIhCEDIAQgAoghBAsgACADNwMAIAAgBDcDCCAAKQMIQgSGIAApAwAiA0I8iIQhAiAAKQMQIAApAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIABBIGokACAJIAIgBUKAgICAgICAgIB/g4S/OQMAC0ABAn8jAEEQayICJAAgAiABNgIMIAJBlNUANgIIIAJBCGogABEBACEDIAIoAgwiAQRAIAEQAwsgAkEQaiQAIAMLBABCAAsEAEEAC/YCAQh/IwBBIGsiAyQAIAMgACgCHCIENgIQIAAoAhQhBSADIAI2AhwgAyABNgIYIAMgBSAEayIBNgIUIAEgAmohBUECIQcCfwJAAkACQCAAKAI8IANBEGoiAUECIANBDGoQDSIEBH9BqN4AIAQ2AgBBfwVBAAsEQCABIQQMAQsDQCAFIAMoAgwiBkYNAiAGQQBIBEAgASEEDAQLIAEgBiABKAIEIghLIglBA3RqIgQgBiAIQQAgCRtrIgggBCgCAGo2AgAgAUEMQQQgCRtqIgEgASgCACAIazYCACAFIAZrIQUgACgCPCAEIgEgByAJayIHIANBDGoQDSIGBH9BqN4AIAY2AgBBfwVBAAtFDQALCyAFQX9HDQELIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwBCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAdBAkYNABogAiAEKAIEawshCiADQSBqJAAgCgt+AQF/IAAEQCAALAA3QQBIBEAgACgCLBAZCyAALAArQQBIBEAgACgCIBAZCyAAKAIcIgEEQCABEAMgAEEANgIcCyAAKAIUIgEEQCABEAMgAEEANgIUCyAAKAIMIgEEQCABEAMgAEEANgIMCyAAKAIEIgEEQCABEAMLIAAQGQsLJAECfyAAKAIEIgAQKkEBaiIBEC0iAgR/IAIgACABECIFQQALC/AeAw1/AnwBfSMAQUBqIgMkACADQZADEBwiAjYCHCADQoODgICAsoCAgH83AiAgAkH9HUGDAxAiQQA6AIMDIANBHGoiAkGVEUGAESABLQA4GxAaGgJAIAICf0GAEiABKAJEIgJB2gBGDQAaIAJBjgJHBEAgAkG0AUcNAkHGEQwBC0HmEQsQGhoLIANBHGpB7CUQGhoCQAJAAkACQAJAIAEoAjxBAWsOAwABAgMLIANBKGohDSABKAJAIQwjAEGgAWsiBiQAIwBBEGsiBCQAIARBADYCDCAEQgA3AgQgBEE4EBwiAjYCBCAEIAJBOGoiBTYCDCACQQBBOBAmGiAEIAU2AggCfyAGQZQBaiIFQQA2AgggBUIANwIAIAVB1AAQHCICNgIEIAUgAjYCACAFIAJB1ABqIgg2AggCQAJAIAQoAggiByAEKAIEIglGBEAgAkEAQdQAECYaDAELIAcgCWsiCkEDdSIHQYCAgIACTw0BIAdBA3QhCwNAIAJBADYCCCACQgA3AgAgAiAKEBwiBzYCBCACIAc2AgAgAiAHIAtqIg42AgggByAJIAoQIhogAiAONgIEIAJBDGoiAiAIRw0ACwsgBSAINgIEIAUMAQsgAkEANgIIIAJCADcCAEHiCBBSAAshCSAEKAIEIgIEQCAEIAI2AgggAhAZC0EAIQIDQCAJKAIAIAJBDGxqIQcgAiACbCEIAkAgAkUEQEEAIQUDQCAFIAVsIAhqt58iD0QAAAAAAAAcQGUEQCAHKAIAIAVBA3RqIA8gD5qiRAAAAAAAADJAoxA2RAMkJUW5G5I/oiIPOQMAIA8gEKAhEAsgBUEBaiIFQQdHDQALDAELIAi3nyIPRAAAAAAAABxAZQRAIA8gD5qiRAAAAAAAADJAoxA2IQ8gBygCACAPRAMkJUW5G5I/oiIPOQMAIA8gEKAhEAtBASEFA0AgBSAFbCAIarefIg9EAAAAAAAAHEBlBEAgBygCACAFQQN0aiAPIA+aokQAAAAAAAAyQKMQNkQDJCVFuRuSP6IiDzkDACAPRAAAAAAAABBAoiAQoCEQCyAFQQFqIgVBB0cNAAsLIAJBAWoiAkEHRw0ACyAJKAIAIQlBACECA0AgCSACQQxsaigCACEHQQAhBUEAIQgDQCAHIAVBA3QiCmoiCyALKwMAIBCjOQMAIAcgCkEIcmoiCiAKKwMAIBCjOQMAIAVBAmohBSAIQQJqIghBBkcNAAsgByAFQQN0aiIFIAUrAwAgEKM5AwAgAkEBaiICQQdHDQALIARBEGokACAGQQA6AIgBIAZBADoAkwFBeiEFA0AgBSAMbCEHIAUgBUEfdSICcyACa0EMbCEIQXohAgNAAkAgBigClAEgCGooAgAgAiACQR91IgRzIARrQQN0aisDALYiEUMAAAAAXkUNACAGQRxqIgQgBxAvIAYgBEGcFhAlIgQoAgg2AjAgBiAEKQIANwMoIARCADcCACAEQQA2AgggBkFAayAGQShqQaMSEBoiBCgCCDYCACAGIAQpAgA3AzggBEIANwIAIARBADYCCCAGQRBqIgQgAiAMbBAvIAYgBkE4aiAGKAIQIAQgBi0AGyIEwEEASCIJGyAGKAIUIAQgCRsQGyIEKAIINgJQIAYgBCkCADcDSCAEQgA3AgAgBEEANgIIIAYgBkHIAGpBpxIQGiIEKAIINgJgIAYgBCkCADcDWCAEQgA3AgAgBEEANgIIIAZBBGoiBCAREC4gBiAGQdgAaiAGKAIEIAQgBi0ADyIEwEEASCIJGyAGKAIIIAQgCRsQGyIEKAIINgJwIAYgBCkCADcDaCAEQgA3AgAgBEEANgIIIAYgBkHoAGpBmBIQGiIEKAIINgKAASAGIAQpAgA3A3ggBEIANwIAIARBADYCCCAGQYgBaiAGKAJ4IAZB+ABqIAYtAIMBIgTAQQBIIgkbIAYoAnwgBCAJGxAbGiAGLACDAUEASARAIAYoAngQGQsgBiwAc0EASARAIAYoAmgQGQsgBiwAD0EASARAIAYoAgQQGQsgBiwAY0EASARAIAYoAlgQGQsgBiwAU0EASARAIAYoAkgQGQsgBiwAG0EASARAIAYoAhAQGQsgBiwAQ0EASARAIAYoAjgQGQsgBiwAM0EASARAIAYoAigQGQsgBiwAJ0EATg0AIAYoAhwQGQsgAkEBaiICQQdHDQALIAVBAWoiBUEHRw0ACyMAQRBrIgwkAEHOJRAqIQcCfyAGQYgBaiIFLQALQQd2BEAgBSgCBAwBCyAFLQALQf8AcQshCAJ/An8jAEEQayIJJAAgBkH4AGohAiAHIAhqIgRB7////wdNBEACQCAEQQtJBEAgAkIANwIAIAJBADYCCCACIAItAAtBgAFxIARB/wBxcjoACyACIAItAAtB/wBxOgALDAELIARBC08EfyAEQRBqQXBxIgogCkEBayIKIApBC0YbBUEKC0EBaiIKEBwhCyACIAIoAghBgICAgHhxIApB/////wdxcjYCCCACIAIoAghBgICAgHhyNgIIIAIgCzYCACACIAQ2AgQLIAlBEGokACACDAELECcACyIELQALQQd2BEAgBCgCAAwBCyAECyIEQc4lIAcQIyAEIAdqIgQCfyAFLQALQQd2BEAgBSgCAAwBCyAFCyAIECMgBCAIakEBEEAgDEEQaiQAIA0gAkGoKRAaIgIpAgA3AgAgDSACKAIINgIIIAJCADcCACACQQA2AgggBiwAgwFBAEgEQCAGKAJ4EBkLIAYsAJMBQQBIBEAgBigCiAEQGQsgBigClAEiBQRAIAYoApgBIgQgBSICRwRAA0AgBEEMayICKAIAIgcEQCAEQQhrIAc2AgAgBxAZCyACIgQgBUcNAAsgBigClAEhAgsgBiAFNgKYASACEBkLIAZBoAFqJAAgA0EcaiADKAIoIA0gAy0AMyICwEEASCIFGyADKAIsIAIgBRsQGxogAywAM0EATg0DIAMoAigQGQwDCyADQRxqQYEhEBoaDAILIANBHGpB5CsQGhoMAQsgA0EcakHNKxAaGgsCQAJAIAEoAjAgAS0ANyICIALAIgZBAEgbIgRBAWoiBUHw////B0kEQAJAAkAgBUELTwRAIAVBD3JBAWoiBxAcIQIgAyAFNgIsIAMgAjYCKCADIAdBgICAgHhyNgIwDAELIANBADYCMCADQgA3AyggAyAFOgAzIANBKGohAiAERQ0BCyACIAFBLGoiBSgCACAFIAZBAEgbIAQQMgsgAiAEakEKOwAAIANBHGogAygCKCADQShqIAMtADMiAsBBAEgiBRsgAygCLCACIAUbEBsaIAMsADNBAEgEQCADKAIoEBkLIAEoAiQgAS0AKyICIALAIgZBAEgbIgRBAmoiBUHw////B08NAQJAAkAgBUELTwRAIAVBD3JBAWoiBxAcIQIgAyAFNgIsIAMgAjYCKCADIAdBgICAgHhyNgIwDAELIANBADYCMCADQgA3AyggAyAFOgAzIANBKGohAiAERQ0BCyACIAFBIGoiBSgCACAFIAZBAEgbIAQQMgsgAiAEaiICQQA6AAIgAkH9FDsAACADQRxqIAMoAiggA0EoaiADLQAzIgLAQQBIIgUbIAMoAiwgAiAFGxAbGiADLAAzQQBIBEAgAygCKBAZC0GA0wAoAgAiBBAqIgJB8P///wdPDQICQAJAIAJBC08EQCACQQ9yQQFqIgYQHCEFIAMgBkGAgICAeHI2AhggAyAFNgIQIAMgAjYCFAwBCyADIAI6ABsgA0EQaiEFIAJFDQELIAUgBCACEDILIAIgBWpBADoAACADQShqIAFBsZYCIANBEGoQUyADKAIsIQIgA0EANgIsIAMoAighBQJAIAEoAhQiBEUEQCABIAI2AhQgASAFNgIQDAELIAQQAyADKAIsIQQgASACNgIUIAEgBTYCECAERQ0AIAQQAyADQQA2AiwLIAMsABtBAEgEQCADKAIQEBkLAkAgAywAJ0EATgRAIAMgAygCJDYCCCADIAMpAhw3AwAMAQsgAygCHCEGIAMoAiAhBSMAQRBrIgQkAAJAAkACQCAFQQtJBEAgAyECIAMgAy0AC0GAAXEgBUH/AHFyOgALIAMgAy0AC0H/AHE6AAsMAQsgBUHv////B0sNASAEQQhqIAMgBUELTwR/IAVBEGpBcHEiAiACQQFrIgIgAkELRhsFQQoLQQFqEDAgBCgCDBogAyAEKAIIIgI2AgAgAyADKAIIQYCAgIB4cSAEKAIMQf////8HcXI2AgggAyADKAIIQYCAgIB4cjYCCCADIAU2AgQLIAIgBiAFQQFqECMgBEEQaiQADAELECcACwsgA0EoaiABQbCWAiADEFMgAygCLCECIANBADYCLCADKAIoIQUCQCABKAIMIgRFBEAgASACNgIMIAEgBTYCCAwBCyAEEAMgAygCLCEEIAEgAjYCDCABIAU2AgggBEUNACAEEAMgA0EANgIsCyADLAALQQBIBEAgAygCABAZCyADQQA2AihBxNQALQAAQQFxRQRAQQFB6C5BABAFIQJBxNQAQQE6AABBwNQAIAI2AgALAn9BwNQAKAIAIAEoAgRB6QkgA0EoakEAEAQiEEQAAAAAAADwQWMgEEQAAAAAAAAAAGZxBEAgEKsMAQtBAAshAiADKAIoIgUEQCAFEAELIAEoAhwiBQRAIAUQAwsgASACNgIcIAFBlNUANgIYIAIQAiADIAI2AiggASgCFCICEAIgAyACNgIwIANBADYCPEHM1AAtAABBAXFFBEBBA0HsLkEAEAUhAkHM1ABBAToAAEHI1AAgAjYCAAtByNQAKAIAIAEoAgRB8AggA0E8aiADQShqEAQaIAMoAjwiAgRAIAIQAQsgASgCHCICEAIgAyACNgIoIAEoAgwiAhACIAMgAjYCMCADQQA2AjxBzNQALQAAQQFxRQRAQQNB7C5BABAFIQJBzNQAQQE6AABByNQAIAI2AgALQcjUACgCACABKAIEQfAIIANBPGogA0EoahAEGiADKAI8IgIEQCACEAELIAEoAhwiAhACIAMgAjYCKCADQQA2AjxBrNQALQAAQQFxRQRAQQJB/C1BABAFIQJBrNQAQQE6AABBqNQAIAI2AgALQajUACgCACABKAIEQc8JIANBPGogA0EoahAEGiADKAI8IgIEQCACEAELIAAgASgCHCIBNgIEIABBlNUANgIAIAEQAiADLAAnQQBIBEAgAygCHBAZCyADQUBrJAAPCxA3AAsQNwALEDcAC9gCAQJ/IwBBEGsiASQAIAAoAhQiAhACIAEgAjYCCCABQQA2AgRBrNQALQAAQQFxRQRAQQJB/C1BABAFIQJBrNQAQQE6AABBqNQAIAI2AgALQajUACgCACAAKAIEQf0IIAFBBGogAUEIahAEGiABKAIEIgIEQCACEAELIAAoAgwiAhACIAEgAjYCCCABQQA2AgRBrNQALQAAQQFxRQRAQQJB/C1BABAFIQJBrNQAQQE6AABBqNQAIAI2AgALQajUACgCACAAKAIEQf0IIAFBBGogAUEIahAEGiABKAIEIgIEQCACEAELIAAoAhwiAhACIAEgAjYCCCABQQA2AgRBrNQALQAAQQFxRQRAQQJB/C1BABAFIQJBrNQAQQE6AABBqNQAIAI2AgALQajUACgCACAAKAIEQdsJIAFBBGogAUEIahAEGiABKAIEIgAEQCAAEAELIAFBEGokAAs1AQF/IAEgACgCBCICQQF1aiEBIAAoAgAhACABIAJBAXEEfyABKAIAIABqKAIABSAACxEDAAsvAAJ/IAAsACtBAEgEQCAAQQA2AiQgACgCIAwBCyAAQQA6ACsgAEEgagtBADoAAAsFAEGgLAs9AQF/IAEgACgCBCIGQQF1aiEBIAAoAgAhACABIAIgAyAEIAUgBkEBcQR/IAEoAgAgAGooAgAFIAALEQ0AC7wJAgR/AXwjAEEQayIIJAAgASEJIAAoAkQhBiMAQYACayIFJAACQAJAIAZBjgJGDQAgBkHaAEYNACADIQEgBCEDDAELIAQhAQsgBUHEAGoiBiAJECEgBSAGQdsSECUiBigCCDYCWCAFIAYpAgA3A1AgBkIANwIAIAZBADYCCCAFIAVB0ABqQfEUEBoiBigCCDYCaCAFIAYpAgA3A2AgBkIANwIAIAZBADYCCCAFQThqIgYgAhAhIAUgBUHgAGogBSgCOCAGIAUtAEMiBsBBAEgiBxsgBSgCPCAGIAcbEBsiBigCCDYCeCAFIAYpAgA3A3AgBkIANwIAIAZBADYCCCAFIAVB8ABqQbYSEBoiBigCCDYCiAEgBSAGKQIANwOAASAGQgA3AgAgBkEANgIIIAVBLGoiBiABIAmgECEgBSAFQYABaiAFKAIsIAYgBS0ANyIGwEEASCIHGyAFKAIwIAYgBxsQGyIGKAIINgKYASAFIAYpAgA3A5ABIAZCADcCACAGQQA2AgggBSAFQZABakHxFBAaIgYoAgg2AqgBIAUgBikCADcDoAEgBkIANwIAIAZBADYCCCAFQSBqIgYgAyACoBAhIAUgBUGgAWogBSgCICAGIAUtACsiBsBBAEgiBxsgBSgCJCAGIAcbEBsiBigCCDYCuAEgBSAGKQIANwOwASAGQgA3AgAgBkEANgIIIAUgBUGwAWpByhMQGiIGKAIINgLIASAFIAYpAgA3A8ABIAZCADcCACAGQQA2AgggBUEUaiIGIAEQISAFIAVBwAFqIAUoAhQgBiAFLQAfIgbAQQBIIgcbIAUoAhggBiAHGxAbIgYoAgg2AtgBIAUgBikCADcD0AEgBkIANwIAIAZBADYCCCAFIAVB0AFqQagTEBoiBigCCDYC6AEgBSAGKQIANwPgASAGQgA3AgAgBkEANgIIIAVBCGoiBiADECEgBSAFQeABaiAFKAIIIAYgBS0AEyIGwEEASCIHGyAFKAIMIAYgBxsQGyIGKAIINgL4ASAFIAYpAgA3A/ABIAZCADcCACAGQQA2AgggCCAFQfABakHTHBAaIgYpAgA3AgQgCCAGKAIINgIMIAZCADcCACAGQQA2AgggBSwA+wFBAEgEQCAFKALwARAZCyAFLAATQQBIBEAgBSgCCBAZCyAFLADrAUEASARAIAUoAuABEBkLIAUsANsBQQBIBEAgBSgC0AEQGQsgBSwAH0EASARAIAUoAhQQGQsgBSwAywFBAEgEQCAFKALAARAZCyAFLAC7AUEASARAIAUoArABEBkLIAUsACtBAEgEQCAFKAIgEBkLIAUsAKsBQQBIBEAgBSgCoAEQGQsgBSwAmwFBAEgEQCAFKAKQARAZCyAFLAA3QQBIBEAgBSgCLBAZCyAFLACLAUEASARAIAUoAoABEBkLIAUsAHtBAEgEQCAFKAJwEBkLIAUsAENBAEgEQCAFKAI4EBkLIAUsAGtBAEgEQCAFKAJgEBkLIAUsAFtBAEgEQCAFKAJQEBkLIAUsAE9BAEgEQCAFKAJEEBkLIAVBgAJqJAAgACwAK0EASARAIAAoAiAQGQsgACAIKQIENwIgIAAgCCgCDDYCKCAIQRBqJAALPwEBfyABIAAoAgQiB0EBdWohASAAKAIAIQAgASACIAMgBCAFIAYgB0EBcQR/IAEoAgAgAGooAgAFIAALEQ4AC88bAgd/AXwjAEFAaiIJJAAgCSAFOQMgIAkgBDkDGCAJIAM5AxAgCSACOQMIIAkgATkDACMAQRBrIgYkACAGIAk2AgxBiNMAQbMrIAlBABBNGiAGQRBqJAAjAEGABGsiBiQAIAlBNGoiC0EAOgAAIAtBADoACwJAIAFEAAAAAAAAAABkRQ0AIAZBADoA8AMgBkEAOgD7AyAGQQA6AOQDIAZBADoA7wMgBkKAgICAhICAgMAANwPYAyAGQoCAgICEgICAQDcD0AMgBkKAgICAjICAgMAANwPIAyAGQoCAgICMgICAQDcDwAMgBkKAgICEhICAwMAANwO4AyAGQoCAgISEgIDAQDcDsAMgBkKAgICEjICAwMAANwOoAyAGQoCAgISMgIDAQDcDoAMgBkKAgICGDDcDmAMgBkKAgICGBDcDkAMgBkKAgICAgICA4MAANwOIAyAGQoCAgICAgIDgQDcDgAMgBkKAgICIjICA0EA3A/gCIAZCgICAiIyAgNDAADcD8AIgBkKAgICIhICA0MAANwPoAiAGQoCAgIiEgIDQQDcD4AIgBkKAgICFjICAgEE3A9gCIAZCgICAhYyAgIDBADcD0AIgBkKAgICFhICAgMEANwPIAiAGQoCAgIWEgICAQTcDwAIgBkKAgICJBDcDuAIgBkKAgICJDDcDsAIgBkKAgICAgICAkMEANwOoAiAGQoCAgICAgICQQTcDoAJEAAAAAAAAAEAgBKMhBCABRJqZmZmZmem/okQAAAAAAADwP6AhDQNAIAZBsAFqIgggBxAvIAYgCEHECxAlIggoAgg2AsgBIAYgCCkCADcDwAEgCEIANwIAIAhBADYCCCAGIAZBwAFqQcMWEBoiCCgCCDYC2AEgBiAIKQIANwPQASAIQgA3AgAgCEEANgIIIAZBoAFqIgggBkGgAmogB0EDdGoiCioCABAuIAYgBkHQAWogBigCoAEgCCAGLQCrASIIwEEASCIMGyAGKAKkASAIIAwbEBsiCCgCCDYC6AEgBiAIKQIANwPgASAIQgA3AgAgCEEANgIIIAYgBkHgAWpByBwQGiIIKAIINgL4ASAGIAgpAgA3A/ABIAhCADcCACAIQQA2AgggBkGQAWoiCCAKKgIEEC4gBiAGQfABaiAGKAKQASAIIAYtAJsBIgjAQQBIIgobIAYoApQBIAggChsQGyIIKAIINgKIAiAGIAgpAgA3A4ACIAhCADcCACAIQQA2AgggBiAGQYACakGXEhAaIggoAgg2ApgCIAYgCCkCADcDkAIgCEIANwIAIAhBADYCCCAGQeQDaiAGKAKQAiAGQZACaiAGLQCbAiIIwEEASCIKGyAGKAKUAiAIIAobEBsaIAYsAJsCQQBIBEAgBigCkAIQGQsgBiwAiwJBAEgEQCAGKAKAAhAZCyAGLACbAUEASARAIAYoApABEBkLIAYsAPsBQQBIBEAgBigC8AEQGQsgBiwA6wFBAEgEQCAGKALgARAZCyAGLACrAUEASARAIAYoAqABEBkLIAYsANsBQQBIBEAgBigC0AEQGQsgBiwAywFBAEgEQCAGKALAARAZCyAGLAC7AUEASARAIAYoArABEBkLIAZB0AFqIgggBxAvIAYgCEGmCxAlIggoAgg2AugBIAYgCCkCADcD4AEgCEIANwIAIAhBADYCCCAGIAZB4AFqQcscEBoiCCgCCDYC+AEgBiAIKQIANwPwASAIQgA3AgAgCEEANgIIIAZBwAFqIghDAAAAQEMAAEBAQwAAgD8gB0ETSxsgB0EMa0EISRsQLiAGIAZB8AFqIAYoAsABIAggBi0AywEiCMBBAEgiChsgBigCxAEgCCAKGxAbIggoAgg2AogCIAYgCCkCADcDgAIgCEIANwIAIAhBADYCCCAGIAZBgAJqQeYWEBoiCCgCCDYCmAIgBiAIKQIANwOQAiAIQgA3AgAgCEEANgIIIAZB8ANqIAYoApACIAZBkAJqIAYtAJsCIgjAQQBIIgobIAYoApQCIAggChsQGxogBiwAmwJBAEgEQCAGKAKQAhAZCyAGLACLAkEASARAIAYoAoACEBkLIAYsAMsBQQBIBEAgBigCwAEQGQsgBiwA+wFBAEgEQCAGKALwARAZCyAGLADrAUEASARAIAYoAuABEBkLIAYsANsBQQBIBEAgBigC0AEQGQsgB0EBaiIHQRhHDQALIAZBNGoiByAEECEgBiAHQakWECUiBygCCDYCSCAGIAcpAgA3A0AgB0IANwIAIAdBADYCCCAGIAZBQGtBpRIQGiIHKAIINgJYIAYgBykCADcDUCAHQgA3AgAgB0EANgIIIAZBKGoiB0QAAAAAAAAAQCAFoxAhIAYgBkHQAGogBigCKCAHIAYtADMiB8BBAEgiCBsgBigCLCAHIAgbEBsiBygCCDYCaCAGIAcpAgA3A2AgB0IANwIAIAdBADYCCCAGIAZB4ABqQaEdEBoiBygCCDYCeCAGIAcpAgA3A3AgB0IANwIAIAdBADYCCCAGIAZB8ABqIAYoAuQDIAZB5ANqIAYtAO8DIgfAQQBIIggbIAYoAugDIAcgCBsQGyIHKAIINgKIASAGIAcpAgA3A4ABIAdCADcCACAHQQA2AgggBiAGQYABakHJHRAaIgcoAgg2ApgBIAYgBykCADcDkAEgB0IANwIAIAdBADYCCCAGIAZBkAFqIAYoAvADIAZB8ANqIAYtAPsDIgfAQQBIIggbIAYoAvQDIAcgCBsQGyIHKAIINgKoASAGIAcpAgA3A6ABIAdCADcCACAHQQA2AgggBiAGQaABakHnGhAaIgcoAgg2ArgBIAYgBykCADcDsAEgB0IANwIAIAdBADYCCCAGQRxqIgcgDRAhIAYgBkGwAWogBigCHCAHIAYtACciB8BBAEgiCBsgBigCICAHIAgbEBsiBygCCDYCyAEgBiAHKQIANwPAASAHQgA3AgAgB0EANgIIIAYgBkHAAWpBlxUQGiIHKAIINgLYASAGIAcpAgA3A9ABIAdCADcCACAHQQA2AgggBkEQaiIHIAFEMzMzMzMz47+iRAAAAAAAAPA/oBAhIAYgBkHQAWogBigCECAHIAYtABsiB8BBAEgiCBsgBigCFCAHIAgbEBsiBygCCDYC6AEgBiAHKQIANwPgASAHQgA3AgAgB0EANgIIIAYgBkHgAWpB6RYQGiIHKAIINgL4ASAGIAcpAgA3A/ABIAdCADcCACAHQQA2AgggBkEEaiIHIAEQISAGIAZB8AFqIAYoAgQgByAGLQAPIgfAQQBIIggbIAYoAgggByAIGxAbIgcoAgg2AogCIAYgBykCADcDgAIgB0IANwIAIAdBADYCCCAGIAZBgAJqQZodEBoiBygCCDYCmAIgBiAHKQIANwOQAiAHQgA3AgAgB0EANgIIIAsgBigCkAIgBkGQAmogBi0AmwIiB8BBAEgiCBsgBigClAIgByAIGxAbGiAGLACbAkEASARAIAYoApACEBkLIAYsAIsCQQBIBEAgBigCgAIQGQsgBiwAD0EASARAIAYoAgQQGQsgBiwA+wFBAEgEQCAGKALwARAZCyAGLADrAUEASARAIAYoAuABEBkLIAYsABtBAEgEQCAGKAIQEBkLIAYsANsBQQBIBEAgBigC0AEQGQsgBiwAywFBAEgEQCAGKALAARAZCyAGLAAnQQBIBEAgBigCHBAZCyAGLAC7AUEASARAIAYoArABEBkLIAYsAKsBQQBIBEAgBigCoAEQGQsgBiwAmwFBAEgEQCAGKAKQARAZCyAGLACLAUEASARAIAYoAoABEBkLIAYsAHtBAEgEQCAGKAJwEBkLIAYsAGtBAEgEQCAGKAJgEBkLIAYsADNBAEgEQCAGKAIoEBkLIAYsAFtBAEgEQCAGKAJQEBkLIAYsAEtBAEgEQCAGKAJAEBkLIAYsAD9BAEgEQCAGKAI0EBkLIAYsAO8DQQBIBEAgBigC5AMQGQsgBiwA+wNBAE4NACAGKALwAxAZCwJAIANEAAAAAAAAAABkRQ0AIAZB5ANqIgcgA0TNzMzMzMzcP6JEmpmZmZmZuT+gECEgBiAHQZAZECUiBygCCDYC+AMgBiAHKQIANwPwAyAHQgA3AgAgB0EANgIIIAYgBkHwA2pBoCkQGiIHKAIINgKoAiAGIAcpAgA3A6ACIAdCADcCACAHQQA2AgggCyAGKAKgAiAGQaACaiAGLQCrAiIHwEEASCIIGyAGKAKkAiAHIAgbEBsaIAYsAKsCQQBIBEAgBigCoAIQGQsgBiwA+wNBAEgEQCAGKALwAxAZCyAGLADvA0EATg0AIAYoAuQDEBkLAkAgAkQAAAAAAAAAAGRFDQAgBkHkA2oiByACRLgehetRuL4/ohAhIAYgB0GBFRAlIgcoAgg2AvgDIAYgBykCADcD8AMgB0IANwIAIAdBADYCCCAGIAZB8ANqQZQsEBoiBygCCDYCqAIgBiAHKQIANwOgAiAHQgA3AgAgB0EANgIIIAsgBigCoAIgBkGgAmogBi0AqwIiB8BBAEgiCxsgBigCpAIgByALGxAbGiAGLACrAkEASARAIAYoAqACEBkLIAYsAPsDQQBIBEAgBigC8AMQGQsgBiwA7wNBAE4NACAGKALkAxAZCyAGQYAEaiQAIAAsADdBAEgEQCAAKAIsEBkLIAAgCSkCNDcCLCAAIAkoAjw2AjQgCUFAayQAC2ACAX8BfCMAQRBrIgIkACACQQA2AgwgASgCBEHczwAgAkEMahAJIQMgAigCDCIBBEAgARABCyAAAn8gA5lEAAAAAAAA4EFjBEAgA6oMAQtBgICAgHgLNgJEIAJBEGokAAs3AQF/IwBBEGsiAiQAIAIgASgCRDYCCCAAQdzPACACQQhqEAc2AgQgAEGU1QA2AgAgAkEQaiQAC2ACAX8BfCMAQRBrIgIkACACQQA2AgwgASgCBEHczwAgAkEMahAJIQMgAigCDCIBBEAgARABCyAAAn8gA5lEAAAAAAAA4EFjBEAgA6oMAQtBgICAgHgLNgJAIAJBEGokAAs3AQF/IwBBEGsiAiQAIAIgASgCQDYCCCAAQdzPACACQQhqEAc2AgQgAEGU1QA2AgAgAkEQaiQAC2ACAX8BfCMAQRBrIgIkACACQQA2AgwgASgCBEHczwAgAkEMahAJIQMgAigCDCIBBEAgARABCyAAAn8gA5lEAAAAAAAA4EFjBEAgA6oMAQtBgICAgHgLNgI8IAJBEGokAAsiAQF+IAEgAq0gA61CIIaEIAQgABEMACIFQiCIpyQBIAWnCzcBAX8jAEEQayICJAAgAiABKAI8NgIIIABB3M8AIAJBCGoQBzYCBCAAQZTVADYCACACQRBqJAALC61KFgBBgAgLlCVzZXRCZWF1dHkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweAB1bnNpZ25lZCBzaG9ydAB1bnNpZ25lZCBpbnQAaW5pdABmbG9hdAB1aW50NjRfdABibHVyUmFkaXVzAHZlY3RvcgBtaXJyb3IAYXR0YWNoU2hhZGVyAGRlbGV0ZVNoYWRlcgBjcmVhdGVTaGFkZXIAY29tcGlsZVNoYWRlcgB1bnNpZ25lZCBjaGFyAHN0ZDo6ZXhjZXB0aW9uAHJvdGF0aW9uAG5hbgBsaW5rUHJvZ3JhbQBkZWxldGVQcm9ncmFtAGNyZWF0ZVByb2dyYW0AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0V2F0ZXJNYXJrAHN0b3BXYXRlck1hcmsAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGluZgAlZgBjbG9zZQBkb3VibGUAdmJNb2RlAHNoYWRlclNvdXJjZQB2b2lkAHNhbXBsZUNvbG9yICs9IHRleHR1cmUoZnJhbWUsIGJsdXJDb29yZGluYXRlc1sATkFOAElORgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgB2ZWMyIGMgPSB2X3RleENvb3JkOwB2ZWMyIGMgPSB2ZWMyKDEuMCAtIHZfdGV4Q29vcmQueCwgdl90ZXhDb29yZC55KTsAYyA9IHZlYzIoMS4wIC0gYy54LCAxLjAgLSBjLnkpOwBjID0gdmVjMihjLnksIDEuMCAtIGMueCk7AGMgPSB2ZWMyKDEuMCAtIGMueSwgYy54KTsAQWxsSW4xAC4ALjAsAC4wKSpvKSoAKG51bGwpACkqby55KTsgICAgdmVjMiBjb29yZDIgPSB2ZWMyKGZsb2F0KAAgICAgYyA9IHZlYzIodl90ZXhDb29yZC54LCAxLjAgLSB2X3RleENvb3JkLnkpOyAgICB2ZWMyIGNvb3JkMSA9IHZlYzIoZmxvYXQoACksIChjLnkgLWNvb3JkMS55KSAvIG8ueSAvIGZsb2F0KAApKm8ueSk7ICAgIGlmIChjLnggPiBjb29yZDEueCAmJiBjLnggPCBjb29yZDIueCAmJiBjLnkgPiBjb29yZDEueSAmJiBjLnkgPCBjb29yZDIueSkgeyAgICAgIHZlYzQgd2F0ZXJDb2xvciA9IHRleHR1cmUod2F0ZXJNYXJrLCB2ZWMyKChjLnggLSBjb29yZDEueCkgIC8gby54IC8gZmxvYXQoACkgKiBvLngsIGZsb2F0KABvdXRDb2xvci5yZ2IgKz0gdmVjMygAKTsgICAgICAgdmVjMyBzbW9vdGhDb2xvciA9IG91dENvbG9yLnJnYiArIChvdXRDb2xvci5yZ2ItdmVjMyhoaWdoUGFzcykpKmFscGhhKjAuMTsgICAgICAgc21vb3RoQ29sb3IgPSBjbGFtcChwb3coc21vb3RoQ29sb3IsIHZlYzMoAGcrPUcoYyx2ZWMyKAAgICAgICB2ZWMyIG9mZnNldCA9IHZlYzIoAF0gPSB2X3RleENvb3JkLnh5ICsgb2Zmc2V0ICogdmVjMigAOyAAKSksIHZlYzMoMC4wKSwgdmVjMygxLjApKTsgICAgICB2ZWMzIHNjcmVlbiA9IHZlYzMoMS4wKSAtICh2ZWMzKDEuMCktc21vb3RoQ29sb3IpICogKHZlYzMoMS4wKS1vdXRDb2xvci5yZ2IpOyAgICAgICB2ZWMzIGxpZ2h0ZW4gPSBtYXgoc21vb3RoQ29sb3IsIG91dENvbG9yLnJnYik7ICAgICAgIHZlYzMgYmVhdXR5Q29sb3IgPSBtaXgobWl4KG91dENvbG9yLnJnYiwgc2NyZWVuLCBhbHBoYSksIGxpZ2h0ZW4sIGFscGhhKTsgICAgICBvdXRDb2xvci5yZ2IgPSBtaXgob3V0Q29sb3IucmdiLCBiZWF1dHlDb2xvciwgAAogICAgICBjb25zdCBtYXQzIHNhdHVyYXRlTWF0cml4ID0gbWF0MygxLjExMDIsLTAuMDU5OCwtMC4wNjEsLTAuMDc3NCwxLjA4MjYsLTAuMTE4NiwtMC4wMjI4LC0wLjAyMjgsMS4xNzcyKTsKICAgICAgdmVjMyB3YXJtQ29sb3IgPSBvdXRDb2xvci5yZ2IgKiBzYXR1cmF0ZU1hdHJpeDsKICAgICAgb3V0Q29sb3IucmdiID0gbWl4KG91dENvbG9yLnJnYiwgd2FybUNvbG9yLCAAICAgICAgc2FtcGxlQ29sb3IgPSBzYW1wbGVDb2xvciAvIDYyLjA7ICAgICAgIGZsb2F0IGhpZ2hQYXNzID0gb3V0Q29sb3IuZyAtIHNhbXBsZUNvbG9yICsgMC41OyAgICAgICBjb25zdCBoaWdocCB2ZWMzIFcgPSB2ZWMzKDAuMjk5LDAuNTg3LDAuMTE0KTsgICAgICBmbG9hdCBsdW1pbmFuY2UgPSBkb3Qob3V0Q29sb3IucmdiLCBXKTsgICAgICAgZmxvYXQgYWxwaGEgPSBwb3cobHVtaW5hbmNlLCAAXSkuZyAqIAApKSk7ICAgICAgb3V0Q29sb3IgPSBtaXgob3V0Q29sb3Isd2F0ZXJDb2xvciwgIHdhdGVyQ29sb3IuYSk7ICAgIH0gICAgACk7ICAgIAApOyAgICAgIHZlYzIgYmx1ckNvb3JkaW5hdGVzWzI0XTsgICAgICAAICAgICAgZmxvYXQgc2FtcGxlQ29sb3IgPSBvdXRDb2xvci5nICogMjIuMDsgICAgICAgACN2ZXJzaW9uIDMwMCBlcwogICAgcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwogICAgdW5pZm9ybSBzYW1wbGVyMkQgZnJhbWU7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCBtYXNrOwogICAgdW5pZm9ybSBzYW1wbGVyMkQgYmc7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCB3YXRlck1hcms7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCBsYXN0TWFzazsKICAgIHVuaWZvcm0gbWF0NCB1X29mZnNldE1hdHJpeDsKICAgIGluIHZlYzIgdl90ZXhDb29yZDsKICAgIG91dCB2ZWM0IG91dENvbG9yOwogICAgdmVjNCBHKHZlYzIgYyx2ZWMyIHMpewogICAgICByZXR1cm4gdGV4dHVyZShmcmFtZSx0ZXh0dXJlKG1hc2ssYytzKS5hPjAuMz9jOmMrcyk7CiAgICB9CiAgICB2b2lkIG1haW4oKSB7CiAgICAgIAAKICAgICAgdmVjMiBvZmZzZXRNYXNrVVYgPSAodV9vZmZzZXRNYXRyaXggKiB2ZWM0KGMsIDAsIDEpKS54eTsKICAgICAgZmxvYXQgaXNJbnNpZGVYID0gKG9mZnNldE1hc2tVVi54ID49IDAuMCkgJiYgKG9mZnNldE1hc2tVVi54IDw9IDEuMCkgPyAxLjAgOiAwLjA7CiAgICAgIGZsb2F0IGlzSW5zaWRlWSA9IChvZmZzZXRNYXNrVVYueSA+PSAwLjApICYmIChvZmZzZXRNYXNrVVYueSA8PSAxLjApID8gMS4wIDogMC4wOwogICAgICBmbG9hdCBpc0luc2lkZSA9IGlzSW5zaWRlWCAqIGlzSW5zaWRlWTsKICAgICAgZmxvYXQgbWFza2VkQWxwaGEgPSB0ZXh0dXJlKG1hc2ssIG9mZnNldE1hc2tVVikuYSAqIGlzSW5zaWRlOwogICAgICBtYXNrZWRBbHBoYSA9IG1hc2tlZEFscGhhPDAuNT8yLjAqbWFza2VkQWxwaGEqbWFza2VkQWxwaGE6MS4wLTIuMCooMS4wLW1hc2tlZEFscGhhKSooMS4wLW1hc2tlZEFscGhhKTsKICAgICAgc3JjX2NvbG9yID0gdGV4dHVyZShmcmFtZSwgb2Zmc2V0TWFza1VWICwgaXNJbnNpZGUpOwogICAgICBvdXRDb2xvciA9IG1peCh0ZXh0dXJlKGJnLCBjKSwgc3JjX2NvbG9yLCBtYXNrZWRBbHBoYSk7CiAgICAACiAgICB2ZWM0IGcgPSB2ZWM0KDAuMCk7CiAgICAACiAgICAgIGMueSA9IDEuMCAtIGMueTsKICAgICAgdmVjNCBzcmNfY29sb3IgPSB0ZXh0dXJlKGZyYW1lLCBjKTsKICAgICAgZmxvYXQgYSA9IHRleHR1cmUobWFzaywgYykuYTsKICAgICAgYSA9IGE8MC41PzIuMCphKmE6MS4wLTIuMCooMS4wLWEpKigxLjAtYSk7CiAgICAgIC8vIGZsb2F0IGEyID0gdGV4dHVyZShsYXN0TWFzaywgYykuYTsKICAgICAgLy8gYTIgPSBhMjwwLjU/Mi4wKmEyKmEyOjEuMC0yLjAqKDEuMC1hMikqKDEuMC1hMik7CiAgICAgIC8vIGZsb2F0IGRlbHRhID0gYSAtIGEyOwogICAgICAvLyBpZiAoZGVsdGEgPCAwLjI1ICYmIGRlbHRhID4gLTAuMjUpCiAgICAgIC8vIHsKICAgICAgLy8gICAgIGEgPSBhICsgMC41KmRlbHRhOwogICAgICAvLyB9CiAgICAgIAogICAgICB2ZWMyIG8gPSAxLjAgLyB2ZWMyKHRleHR1cmVTaXplKGZyYW1lLCAwKSk7CiAgICAACiAgICAgIG91dENvbG9yID0gZzsKICAAI3ZlcnNpb24gMzAwIGVzCmluIHZlYzIgYV9wb3NpdGlvbjsKaW4gdmVjMiBhX3RleENvb3JkOwoKdW5pZm9ybSBtYXQ0IHVfdGV4dHVyZU1hdHJpeDsKCm91dCB2ZWMyIHZfdGV4Q29vcmQ7CnZvaWQgbWFpbigpIHsKICBnbF9Qb3NpdGlvbiA9IHZlYzQoYV9wb3NpdGlvbi54LCBhX3Bvc2l0aW9uLnksIDAsIDEpOwogIHZfdGV4Q29vcmQgPSh1X3RleHR1cmVNYXRyaXggKiB2ZWM0KGFfdGV4Q29vcmQsIDAsIDEpKS54eTsKfQoAc2V0QmVhdXR5ICVmICVmICVmICVmICVmCgBvdXRDb2xvciA9IHNyY19jb2xvcjsKAG91dENvbG9yID0gbWl4KHZlYzQoMC4wLDEuMCwwLjAsMS4wKSxzcmNfY29sb3IsYSk7CgA2QWxsSW4xAEAoAAAYFgAAUDZBbGxJbjEAAAAAxCgAACgWAAAAAAAAIBYAAFBLNkFsbEluMQAAAMQoAABEFgAAAQAAACAWAABpaQB2AHZpADQWAACEFgAATjEwZW1zY3JpcHRlbjN2YWxFAABAKAAAcBYAAGlpaQB2aWlpAEGgLQskfCcAADQWAAAwKAAAMCgAADAoAAAwKAAAMCgAAHZpaWRkZGRkAEHQLQvICHwnAAA0FgAAMCgAADAoAAAwKAAAMCgAAHZpaWRkZGQAfCcAADQWAAB2aWkAfCcAAIQWAACEFgAANBYAAIQWAADcJwAAfCcAAIQWAABgFwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAEAoAAAgFwAAhBYAAHwnAACEFgAAhBYAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAABAKAAAeBcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAABAKAAAwBcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAAQCgAAAgYAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAEAoAABUGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3Zp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")||(S=R,R=s.locateFile?s.locateFile(S,A):A+S);var U=function(e){for(;e.length>0;)e.shift()(s)};function j(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,p[this.ptr+12|0]=e},this.get_caught=function(){return 0!=p[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,p[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=p[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(pt(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}s.noExitRuntime;var L,H,G,X=function(e){for(var t="",r=e;E[r];)t+=L[E[r++]];return t},Y={},W={},V={},z=function(e){throw new H(e)},K=function(e){throw new G(e)},Z=function(e,t,r){function n(t){var n=r(t);n.length!==e.length&&K("Mismatched type converter count");for(var o=0;o<e.length;++o)J(e[o],n[o])}e.forEach((function(e){V[e]=t}));var o=new Array(t.length),i=[],a=0;t.forEach((function(e,t){W.hasOwnProperty(e)?o[t]=W[e]:(i.push(e),Y.hasOwnProperty(e)||(Y[e]=[]),Y[e].push((function(){o[t]=W[e],++a===i.length&&n(o)})))})),0===i.length&&n(o)};function J(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.name;if(e||z('type "'.concat(n,'" must have a positive integer typeid pointer')),W.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;z("Cannot register type '".concat(n,"' twice"))}if(W[e]=t,delete V[e],Y.hasOwnProperty(e)){var o=Y[e];delete Y[e],o.forEach((function(e){return e()}))}}(e,t,r)}var q,$=function(e){z(e.$$.ptrType.registeredClass.name+" instance already deleted")},ee=!1,te=function(e){},re=function(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)},ne=function(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=ne(e,t,r.baseClass);return null===n?null:r.downcast(n)},oe={},ie=function(){return Object.keys(ue).length},ae=function(){var e=[];for(var t in ue)ue.hasOwnProperty(t)&&e.push(ue[t]);return e},se=[],ce=function(){for(;se.length;){var e=se.pop();e.$$.deleteScheduled=!1,e.delete()}},Ae=function(e){q=e,se.length&&q&&q(ce)},ue={},le=function(e,t){return t=function(e,t){for(void 0===t&&z("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),ue[t]},de=function(e,t){return t.ptrType&&t.ptr||K("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&K("Both smartPtrType and smartPtr must be specified"),t.count={value:1},fe(Object.create(e,{$$:{value:t}}))};function ge(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=le(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?de(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):de(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=oe[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=ne(t,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?de(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:e}):de(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})}var fe=function(e){return"undefined"==typeof FinalizationRegistry?(fe=function(e){return e},e):(ee=new FinalizationRegistry((function(e){re(e.$$)})),te=function(e){return ee.unregister(e)},(fe=function(e){var t=e.$$;if(!!t.smartPtr){var r={$$:t};ee.register(e,r,e)}return e})(e))};function he(){}var pe=function(e,t){return Object.defineProperty(t,"name",{value:e})},Ee=function(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||z("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}};function me(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}var ye=function(e,t,r){for(;t!==r;)t.upcast||z("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e};function Ie(e,t){if(null===t)return this.isReference&&z("null is not a valid ".concat(this.name)),0;t.$$||z('Cannot pass "'.concat(We(t),'" as a ').concat(this.name)),t.$$.ptr||z("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return ye(t.$$.ptr,r,this.registeredClass)}function ve(e,t){var r;if(null===t)return this.isReference&&z("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||z('Cannot pass "'.concat(We(t),'" as a ').concat(this.name)),t.$$.ptr||z("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&z("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var n=t.$$.ptrType.registeredClass;if(r=ye(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&z("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:z("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,Le.toHandle((function(){return o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:z("Unsupporting sharing policy")}return r}function we(e,t){if(null===t)return this.isReference&&z("null is not a valid ".concat(this.name)),0;t.$$||z('Cannot pass "'.concat(We(t),'" as a ').concat(this.name)),t.$$.ptr||z("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&z("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return ye(t.$$.ptr,r,this.registeredClass)}function Ce(e){return this.fromWireType(C[e>>2])}function _e(e,t,r,n,o,i,a,s,c,A,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=A,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=ve:n?(this.toWireType=Ie,this.destructorFunction=null):(this.toWireType=we,this.destructorFunction=null)}var be,Be,De=[],Te=function(e){var t=De[e];return t||(e>=De.length&&(De.length=e+1),De[e]=t=be.get(e)),t},Oe=function(e,t,r){return e.includes("j")?function(e,t,r){var n=s["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)}(e,t,r):Te(t).apply(null,r)},Qe=function(e,t){var r,n,o,i=(e=X(e)).includes("j")?(r=e,n=t,o=[],function(){return o.length=0,Object.assign(o,arguments),Oe(r,n,o)}):Te(t);return"function"!=typeof i&&z("unknown function pointer with signature ".concat(e,": ").concat(t)),i},Pe=function(e){var t=ft(e),r=X(t);return ht(t),r},Me=function(e,t){var r=[],n={};throw t.forEach((function e(t){n[t]||W[t]||(V[t]?V[t].forEach(e):(r.push(t),n[t]=!0))})),new Be("".concat(e,": ")+r.map(Pe).join([", "]))},Re=function(e,t){for(var r=[],n=0;n<e;n++)r.push(C[t+4*n>>2]);return r},Se=function(e){for(;e.length;){var t=e.pop();e.pop()(t)}};function ke(e,t,r,n,o,i){var a=t.length;a<2&&z("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,c=!1,A=1;A<t.length;++A)if(null!==t[A]&&void 0===t[A].destructorFunction){c=!0;break}var u="void"!==t[0].name,l=a-2,d=new Array(l),g=[],f=[];return pe(e,(function(){var r;arguments.length!==l&&z("function ".concat(e," called with ").concat(arguments.length," arguments, expected ").concat(l)),f.length=0,g.length=s?2:1,g[0]=o,s&&(r=t[1].toWireType(f,this),g[1]=r);for(var i=0;i<l;++i)d[i]=t[i+2].toWireType(f,arguments[i]),g.push(d[i]);return function(e){if(c)Se(f);else for(var n=s?1:2;n<t.length;n++){var o=1===n?r:d[n-2];null!==t[n].destructorFunction&&t[n].destructorFunction(o)}if(u)return t[0].fromWireType(e)}(n.apply(null,g))}))}var Fe=function(e,t,r){return e instanceof Object||z("".concat(r,' with invalid "this": ').concat(e)),e instanceof t.registeredClass.constructor||z("".concat(r,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||z("cannot call emscripten binding method ".concat(r," on deleted object")),ye(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)};function xe(){this.allocated=[void 0],this.freelist=[]}var Ne=new xe,Ue=function(e){e>=Ne.reserved&&0==--Ne.get(e).refcount&&Ne.free(e)},je=function(){for(var e=0,t=Ne.reserved;t<Ne.allocated.length;++t)void 0!==Ne.allocated[t]&&++e;return e},Le={toValue:function(e){return e||z("Cannot use deleted val. handle = "+e),Ne.get(e).value},toHandle:function(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Ne.allocate({refcount:1,value:e})}}};function He(e){return this.fromWireType(w[e>>2])}var Ge,Xe,Ye,We=function(e){if(null===e)return"null";var t=y(e);return"object"===t||"array"===t||"function"===t?e.toString():""+e},Ve=function(e,t){switch(t){case 4:return function(e){return this.fromWireType(_[e>>2])};case 8:return function(e){return this.fromWireType(b[e>>3])};default:throw new TypeError("invalid float width (".concat(t,"): ").concat(e))}},ze=function(e,t,r){switch(t){case 1:return r?function(e){return p[e|0]}:function(e){return E[e|0]};case 2:return r?function(e){return m[e>>1]}:function(e){return I[e>>1]};case 4:return r?function(e){return w[e>>2]}:function(e){return C[e>>2]};default:throw new TypeError("invalid integer width (".concat(t,"): ").concat(e))}},Ke="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,Ze=function(e,t,r){for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.buffer&&Ke)return Ke.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&e[t++])<65536)i+=String.fromCharCode(a);else{var A=a-65536;i+=String.fromCharCode(55296|A>>10,56320|1023&A)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i},Je="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,qe=function(e,t){for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&I[n];)++n;if((r=n<<1)-e>32&&Je)return Je.decode(E.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var s=m[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i},$e=function(e,t,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);m[t>>1]=a,t+=2}return m[t>>1]=0,t-n},et=function(e){return 2*e.length},tt=function(e,t){for(var r=0,n="";!(r>=t/4);){var o=w[e+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},rt=function(e,t,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i);if(w[t>>2]=a,(t+=4)+4>o)break}return w[t>>2]=0,t-n},nt=function(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t},ot=function(e,t){var r=W[e];return void 0===r&&z(t+" has unknown type "+Pe(e)),r},it=function(e,t,r){var n=[],o=e.toWireType(n,r);return n.length&&(C[t>>2]=Le.toHandle(n)),o},at={},st=[],ct=Reflect.construct,At=[null,[],[]];!function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);L=e}(),H=s.BindingError=function(e){function t(e){var r;return o(this,t),(r=n(this,t,[e])).name="BindingError",r}return u(t,e),a(t)}(v(Error)),G=s.InternalError=function(e){function t(e){var r;return o(this,t),(r=n(this,t,[e])).name="InternalError",r}return u(t,e),a(t)}(v(Error)),Object.assign(he.prototype,{isAliasOf:function(e){if(!(this instanceof he))return!1;if(!(e instanceof he))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o},clone:function(){if(this.$$.ptr||$(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=fe(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete:function(){this.$$.ptr||$(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&z("Object already scheduled for deletion"),te(this),re(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted:function(){return!this.$$.ptr},deleteLater:function(){return this.$$.ptr||$(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&z("Object already scheduled for deletion"),se.push(this),1===se.length&&q&&q(ce),this.$$.deleteScheduled=!0,this}}),s.getInheritedInstanceCount=ie,s.getLiveInheritedInstances=ae,s.flushPendingDeletes=ce,s.setDelayFunction=Ae,Object.assign(_e.prototype,{getPointee:function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor:function(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:8,readValueFromPointer:Ce,deleteObject:function(e){null!==e&&e.delete()},fromWireType:ge}),Be=s.UnboundTypeError=(Ge=Error,(Ye=pe(Xe="UnboundTypeError",(function(e){this.name=Xe,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(Ge.prototype),Ye.prototype.constructor=Ye,Ye.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},Ye),Object.assign(xe.prototype,{get:function(e){return this.allocated[e]},has:function(e){return void 0!==this.allocated[e]},allocate:function(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free:function(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Ne.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Ne.reserved=Ne.allocated.length,s.count_emval_handles=je;var ut,lt={w:function(e,t,r){throw new j(e).init(t,r),e},q:function(e,t,r,n,o){},u:function(e,t,r,n){J(e,{name:t=X(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},y:function(e,t,r,n,o,i,a,c,A,u,l,d,g){l=X(l),i=Qe(o,i),c&&(c=Qe(a,c)),u&&(u=Qe(A,u)),g=Qe(d,g);var f=function(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}(l);!function(e,t,r){s.hasOwnProperty(e)?(z("Cannot register public name '".concat(e,"' twice")),Ee(s,e,e),s.hasOwnProperty(r)&&z("Cannot register multiple overloads of a function with the same number of arguments (".concat(r,")!")),s[e].overloadTable[r]=t):s[e]=t}(f,(function(){Me("Cannot construct ".concat(l," due to unbound types"),[n])})),Z([e,t,r],n?[n]:[],(function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:he.prototype;var a=pe(l,(function(){if(Object.getPrototypeOf(this)!==A)throw new H("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new H(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new H("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 e.apply(this,arguments)})),A=Object.create(o,{constructor:{value:a}});a.prototype=A;var d=new me(l,a,A,g,r,i,c,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var h=new _e(l,d,!0,!1,!1),p=new _e(l+"*",d,!1,!1,!1),E=new _e(l+" const*",d,!1,!0,!1);return oe[e]={pointerType:p,constPointerType:E},function(e,t,r){s.hasOwnProperty(e)||K("Replacing nonexistant public symbol"),void 0!==s[e].overloadTable&&void 0!==r||(s[e]=t,s[e].argCount=r)}(f,a),[h,p,E]}))},x:function(e,t,r,n,o,i){var a=Re(t,r);o=Qe(n,o),Z([],[e],(function(e){e=e[0];var r="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new H("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=function(){Me("Cannot construct ".concat(e.name," due to unbound types"),a)},Z([],a,(function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=ke(r,n,null,o,i),[]})),[]}))},i:function(e,t,r,n,o,i,a,s,c){var A,u,l=Re(r,n);t=X(t),u=(A=(A=t).trim()).indexOf("("),t=-1!==u?A.substr(0,u):A,i=Qe(o,i),Z([],[e],(function(e){e=e[0];var n="".concat(e.name,".").concat(t);function o(){Me("Cannot call ".concat(n," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,A=c[t];return void 0===A||void 0===A.overloadTable&&A.className!==e.name&&A.argCount===r-2?(o.argCount=r-2,o.className=e.name,c[t]=o):(Ee(c,t,n),c[t].overloadTable[r-2]=o),Z([],l,(function(o){var s=ke(n,o,e,i,a);return void 0===c[t].overloadTable?(s.argCount=r-2,c[t]=s):c[t].overloadTable[r-2]=s,[]})),[]}))},k:function(e,t,r,n,o,i,a,s,c,A){t=X(t),o=Qe(n,o),Z([],[e],(function(e){e=e[0];var n="".concat(e.name,".").concat(t),u={get:function(){Me("Cannot access ".concat(n," due to unbound types"),[r,a])},enumerable:!0,configurable:!0};return u.set=c?function(){return Me("Cannot access ".concat(n," due to unbound types"),[r,a])}:function(e){return z(n+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,t,u),Z([],c?[r,a]:[r],(function(r){var a=r[0],u={get:function(){var t=Fe(this,e,n+" getter");return a.fromWireType(o(i,t))},enumerable:!0};if(c){c=Qe(s,c);var l=r[1];u.set=function(t){var r=Fe(this,e,n+" setter"),o=[];c(A,r,l.toWireType(o,t)),Se(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,u),[]})),[]}))},t:function(e,t){J(e,{name:t=X(t),fromWireType:function(e){var t=Le.toValue(e);return Ue(e),t},toWireType:function(e,t){return Le.toHandle(t)},argPackAdvance:8,readValueFromPointer:He,destructorFunction:null})},p:function(e,t,r){J(e,{name:t=X(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Ve(t,r),destructorFunction:null})},g:function(e,t,r,n,o){t=X(t);var i=function(e){return e};if(0===n){var a=32-8*r;i=function(e){return e<<a>>>a}}var s=t.includes("unsigned");J(e,{name:t,fromWireType:i,toWireType:s?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:ze(t,r,0!==n),destructorFunction:null})},a:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=C[e>>2],r=C[e+4>>2];return new n(p.buffer,r,t)}J(e,{name:r=X(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},o:function(e,t){var r="std::string"===(t=X(t));J(e,{name:t,fromWireType:function(e){var t,n,o,i=C[e>>2],a=e+4;if(r)for(var s=a,c=0;c<=i;++c){var A=a+c;if(c==i||0==E[A]){var u=(o=A-s,(n=s)?Ze(E,n,o):"");void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),s=A+1}}else{var l=new Array(i);for(c=0;c<i;++c)l[c]=String.fromCharCode(E[a+c]);t=l.join("")}return ht(e),t},toWireType:function(e,t){var n;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||z("Cannot pass non-string to std::string"),n=r&&o?function(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t}(t):t.length;var i=gt(4+n+1),a=i+4;if(C[i>>2]=n,r&&o)(function(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}t[r]=0})(t,E,a,n+1);else if(o)for(var s=0;s<n;++s){var c=t.charCodeAt(s);c>255&&(ht(a),z("String has UTF-16 code units that do not fit in 8 bits")),E[a+s]=c}else for(s=0;s<n;++s)E[a+s]=t[s];return null!==e&&e.push(ht,i),i},argPackAdvance:8,readValueFromPointer:Ce,destructorFunction:function(e){ht(e)}})},l:function(e,t,r){var n,o,i,a,s;r=X(r),2===t?(n=qe,o=$e,a=et,i=function(){return I},s=1):4===t&&(n=tt,o=rt,a=nt,i=function(){return C},s=2),J(e,{name:r,fromWireType:function(e){for(var r,o=C[e>>2],a=i(),c=e+4,A=0;A<=o;++A){var u=e+4+A*t;if(A==o||0==a[u>>s]){var l=n(c,u-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=u+t}}return ht(e),r},toWireType:function(e,n){"string"!=typeof n&&z("Cannot pass non-string to C++ string type ".concat(r));var i=a(n),c=gt(4+i+t);return C[c>>2]=i>>s,o(n,c+4,i+t),null!==e&&e.push(ht,c),c},argPackAdvance:8,readValueFromPointer:He,destructorFunction:function(e){ht(e)}})},v:function(e,t){J(e,{isVoid:!0,name:t=X(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},j:function(e,t,r){return e=Le.toValue(e),t=ot(t,"emval::as"),it(t,r,e)},e:function(e,t,r,n,o){var i,a;return(e=st[e])(t=Le.toValue(t),t[r=void 0===(a=at[i=r])?X(i):a],n,o)},d:Ue,f:function(e,t,r){var n=function(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=ot(C[t+4*n>>2],"parameter "+n);return r}(e,t),o=n.shift();e--;var i,a,s=new Array(e),c="methodCaller<(".concat(n.map((function(e){return e.name})).join(", "),") => ").concat(o.name,">");return i=pe(c,(function(t,i,a,c){for(var A=0,u=0;u<e;++u)s[u]=n[u].readValueFromPointer(c+A),A+=n[u].argPackAdvance;var l=1===r?ct(i,s):i.apply(t,s);for(u=0;u<e;++u)n[u].deleteObject&&n[u].deleteObject(s[u]);return it(o,a,l)})),a=st.length,st.push(i),a},c:function(e){e>4&&(Ne.get(e).refcount+=1)},b:function(e){var t=Le.toValue(e);Se(t),Ue(e)},h:function(e,t){var r=(e=ot(e,"_emval_take_value")).readValueFromPointer(t);return Le.toHandle(r)},m:function(){M("")},s:function(e,t,r){return E.copyWithin(e,t,t+r)},r:function(e){E.length,M("OOM")},n:function(e,t,r,n){for(var o,i,a,s=0,c=0;c<r;c++){var A=C[t>>2],u=C[t+4>>2];t+=8;for(var l=0;l<u;l++)o=e,i=E[A+l],a=void 0,a=At[o],0===i||10===i?((1===o?g:f)(Ze(a,0)),a.length=0):a.push(i);s+=u}return C[n>>2]=s,0}},dt=function(){var e={a:lt};function t(e,t){var r,n;return dt=e.exports,d=dt.z,r=d.buffer,s.HEAP8=p=new Int8Array(r),s.HEAP16=m=new Int16Array(r),s.HEAPU8=E=new Uint8Array(r),s.HEAPU16=I=new Uint16Array(r),s.HEAP32=w=new Int32Array(r),s.HEAPU32=C=new Uint32Array(r),s.HEAPF32=_=new Float32Array(r),s.HEAPF64=b=new Float64Array(r),be=dt.C,n=dt.A,T.unshift(n),function(){if(Q--,s.monitorRunDependencies&&s.monitorRunDependencies(Q),0==Q&&P){var e=P;P=null,e()}}(),dt}if(Q++,s.monitorRunDependencies&&s.monitorRunDependencies(Q),s.instantiateWasm)try{return s.instantiateWasm(e,t)}catch(e){f("Module.instantiateWasm callback failed with error: ".concat(e)),r(e)}return N(0,R,e,(function(e){t(e.instance)})).catch(r),{}}(),gt=function(e){return(gt=dt.B)(e)},ft=function(e){return(ft=dt.D)(e)},ht=function(e){return(ht=dt.E)(e)},pt=function(e){return(pt=dt.F)(e)};function Et(){function e(){ut||(ut=!0,s.calledRun=!0,B||(U(T),t(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),function(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)e=s.postRun.shift(),O.unshift(e);var e;U(O)}()))}Q>0||(!function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)e=s.preRun.shift(),D.unshift(e);var e;U(D)}(),Q>0||(s.setStatus?(s.setStatus("Running..."),setTimeout((function(){setTimeout((function(){s.setStatus("")}),1),e()}),1)):e()))}if(s.dynCall_jiji=function(e,t,r,n,o){return(s.dynCall_jiji=dt.G)(e,t,r,n,o)},s._vertexShaderSource=10624,P=function e(){ut||Et(),ut||(P=e)},s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return Et(),i.ready}}(),G=H,X=function(){return a((function e(t,r){var n=this;o(this,e),R(this,"canvas"),R(this,"locateFile"),R(this,"_glName"),R(this,"_solutionWasm"),R(this,"ctx"),R(this,"fileDownloader"),R(this,"startTime"),R(this,"lastTimestamp"),R(this,"pl",{onResults:function(e){return n.onResults(e.get(0).glName)}}),this.locateFile=function(e){return"".concat(t,"/").concat(e).replace(/([^:]\/)\/+/g,"$1")},this.fileDownloader=r}),[{key:"bindTexture",value:function(){var e;null==(e=this.ctx)||e.activeTexture(this.ctx.TEXTURE0),this.bindTexture2d(this._glName)}},{key:"initialize",value:(t=r(d().mark((function e(){var t,r;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._solutionWasm=new this.SolutionWasm,(t=new this.StringList).push_back("segmentation_mask"),r=this.PacketListener.implement(this.pl),this._solutionWasm.attachMultiListener(t,r),t.delete(),e.t0=this._solutionWasm,e.next=9,this.fileDownloader.download(this.locateFile("selfie_segmentation.binarypb"),{type:"arraybuffer"});case 9:return e.t1=e.sent,e.t0.loadGraph.call(e.t0,e.t1),e.abrupt("return",this);case 12:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"setCanvas",value:function(e){this.canvas=e,this.createContext(e,!0,!0,{}),this._glName=this.createTexture()}},{key:"fetchResponse",value:function(e){return this.fileDownloader.downloadWithFetch(e,"fetch-response")}},{key:"loadWasm",value:function(e,t){return this.fileDownloader.loadWasm(e,t)}},{key:"changeModel",value:(e=r(d().mark((function e(){var t,r,n=arguments;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof(t=n.length>0&&void 0!==n[0]?n[0]:"selfie_segmentation_landscape.tflite")){e.next=7;break}return e.next=4,this.fileDownloader.download(this.locateFile(t),{type:"arraybuffer"});case 4:e.t0=e.sent,e.next=8;break;case 7:e.t0=t;case 8:t=e.t0,this._solutionWasm.overrideFile("third_party/mediapipe/modules/selfie_segmentation/selfie_segmentation_landscape.tflite",t),(r=new this.GraphOptionChangeRequestList).push_back({calculatorIndex:1,calculatorName:"",calculatorType:"GlScalerCalculator",fieldName:"flip_horizontal",valueBoolean:!1,valueNumber:0,valueString:""}),r.push_back({calculatorIndex:0,calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorModelSelection",fieldName:"int_value",valueBoolean:!1,valueNumber:1,valueString:""}),r.push_back({calculatorIndex:0,calculatorType:"InferenceCalculator",calculatorName:"",fieldName:"use_cpu_inference",valueBoolean:!1,valueNumber:0,valueString:""}),this._solutionWasm.changeOptions(r),this.startTime=Date.now();case 16:case"end":return e.stop()}}),e,this)}))),function(){return e.apply(this,arguments)})},{key:"send",value:function(e,t){var r=new this.PacketDataList,n=Date.now()-this.startTime;this.lastTimestamp&&this.lastTimestamp>=n?this.lastTimestamp++:this.lastTimestamp=n,r.pushTexture2d({stream:"input_frames_gpu",timestamp:this.lastTimestamp,glName:this._glName,width:e,height:t}),this._solutionWasm.send(r),r.delete()}},{key:"close",value:function(){var e,t,r;null==(e=this.canvas)||delete e.getContext,delete this.readyPromiseResolve,delete this.readyPromiseReject,this.pl.onResults=null,delete this.onResults,null==(t=this.deleteTexture)||t.call(this,this._glName),null==(r=this._solutionWasm)||r.delete();for(var n=0,o=Object.keys(this);n<o.length;n++){delete this[o[n]]}}}]);var e,t}(),Y="undefined"==typeof navigator?"":navigator.userAgent,W=function(e){return new RegExp(e,"i").test(Y)},V=function(e){if(W(e)){var t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=Y.match(t);if(r&&r[1])return r[1]}return""},z=function(e){if(W(e)){var t=new RegExp("".concat(e,"\\/(\\d+)")),r=Y.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},K=/AppleWebKit\/([\d.]+)/i.exec(Y);K&&parseFloat(K[1]);var Z=W("iPad"),J="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&W("Macintosh"),q=W("iPhone")&&!Z,$=W("iPod"),ee=q||Z||$||J,te=W("Android");!function(){if(te){var e=Y.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){var t=e[1]&&parseFloat(e[1]),r=e[2]&&parseFloat(e[2]);if(t&&r)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}}();te&&W("webkit");var re=W("Firefox"),ne=V("Firefox");z("Firefox");var oe=W("Edge"),ie=V("Edge"),ae=W("Edg"),se=V("Edg");z("Edg");var ce=W("SogouMobileBrowser"),Ae=V("SogouMobileBrowser"),ue=W("MetaSr\\s"),le=V("MetaSr\\s"),de=W("TBS"),ge=V("TBS"),fe=W("XWEB"),he=V("XWEB");W("MSIE\\s8\\.0");var pe=W("MSIE\\/\\d+");!function(){if(pe){var e=/MSIE\s(\d+)\.\d/.exec(Y),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(Y)&&/rv:11.0/.test(Y)&&(t=11),t}}();var Ee=W("(micromessenger|webbrowser)"),me=V("MicroMessenger"),ye=!de&&W("MQQBrowser")&&W("COVC"),Ie=!de&&W("MQQBrowser")&&!W("COVC"),ve=Ie||ye?V("MQQBrowser"):"",we=!de&&W(" QQBrowser"),Ce=V(" QQBrowser"),_e=!de&&W("QQBrowserLite"),be=V("QQBrowserLite"),Be=!de&&W("MQBHD"),De=V("MQBHD");W("Windows"),!ee&&W("MAC OS X"),!te&&W("Linux"),W("CrOS"),W("MicroMessenger"),W("UCBrowser"),W("Electron");var Te=W("MiuiBrowser"),Oe=V("MiuiBrowser"),Qe=W("HuaweiBrowser");W("Huawei")||W("HUAWEI"),W("Honor")||W("HONOR");var Pe=V("HuaweiBrowser"),Me=W("SamsungBrowser"),Re=V("SamsungBrowser"),Se=W("HeyTapBrowser"),ke=V("HeyTapBrowser"),Fe=W("VivoBrowser"),xe=V("VivoBrowser");W("OpenHarmony"),V("OpenHarmony");var Ne=W("Chrome"),Ue=!oe&&!ue&&!ce&&!de&&!fe&&!ae&&!we&&!Te&&!Qe&&!Me&&!Se&&!Fe&&Ne;W("HeadlessChrome");var je=z("Chrome"),Le=V("Chrome"),He=!Ne&&!Ie&&!ye&&!_e&&!Be&&W("Safari"),Ge=V("Version"),Xe=function(){if(J)return Ge;if(ee){var e=Y.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){var t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""}();Number(Xe.split(".")[0]),Number(Xe.split(".")[0]),W("CriOS"),function(){var e=new Map([[re,["Firefox",ne]],[ae,["Edg",se]],[Ue,["Chrome",Le]],[He,["Safari",Ge]],[de,["TBS",ge]],[fe,["XWEB",he]],[Ee&&q,["WeChat",me]],[we,["QQ(Win)",Ce]],[Ie,["QQ(Mobile)",ve]],[ye,["QQ(Mobile X5)",ve]],[_e,["QQ(Mac)",be]],[Be,["QQ(iPad)",De]],[Te,["MI",Oe]],[Qe,["HW",Pe]],[Me,["Samsung",Re]],[Se,["OPPO",ke]],[Fe,["VIVO",xe]],[oe,["EDGE",ie]],[ce,["SogouMobile",Ae]],[ue,["Sogou",le]]]),t="unknown",r="unknown";if(e.has(!0)){var n=f(e.get(!0),2);t=n[0],r=n[1]}}();var Ye,We,Ve="undefined"!=typeof self?self:{};function ze(){throw Error("Invalid UTF8")}function Ke(e,t){return t=String.fromCharCode.apply(null,t),null==e?t:e+t}var Ze,Je,qe,$e,et,tt,rt,nt="undefined"!=typeof TextDecoder,ot="undefined"!=typeof TextEncoder;function it(e){if(ot)e=(Ze||(Ze=new TextEncoder)).encode(e);else{for(var t=0,r=new Uint8Array(3*e.length),n=0;n<e.length;n++){var o=e.charCodeAt(n);if(o<128)r[t++]=o;else{if(o<2048)r[t++]=o>>6|192;else{if(o>=55296&&o<=57343){if(o<=56319&&n<e.length){var i=e.charCodeAt(++n);if(i>=56320&&i<=57343){o=1024*(o-55296)+i-56320+65536,r[t++]=o>>18|240,r[t++]=o>>12&63|128,r[t++]=o>>6&63|128,r[t++]=63&o|128;continue}n--}o=65533}r[t++]=o>>12|224,r[t++]=o>>6&63|128}r[t++]=63&o|128}}e=t===r.length?r:r.subarray(0,t)}return e}e:{for($e=["CLOSURE_FLAGS"],et=Ve,tt=0;tt<$e.length;tt++)if(null==(et=et[$e[tt]])){qe=null;break e}qe=et}var at=qe&&qe[610401301];Je=null!=at&&at;var st=Ve.navigator;function ct(e){return!!Je&&!!rt&&rt.brands.some((function(t){var r=t.brand;return r&&-1!=r.indexOf(e)}))}function At(e){var t;return(t=Ve.navigator)&&(t=t.userAgent)||(t=""),-1!=t.indexOf(e)}function ut(){return!!Je&&!!rt&&rt.brands.length>0}function lt(){return ut()?ct("Chromium"):(At("Chrome")||At("CriOS"))&&!(!ut()&&At("Edge"))||At("Silk")}function dt(e){return dt[" "](e),e}rt=st&&st.userAgentData||null,dt[" "]=function(){};var gt=!ut()&&(At("Trident")||At("MSIE"));!At("Android")||lt(),lt(),At("Safari")&&(lt()||!ut()&&At("Coast")||!ut()&&At("Opera")||!ut()&&At("Edge")||(ut()?ct("Microsoft Edge"):At("Edg/"))||ut()&&ct("Opera"));var ft={},ht=null;function pt(){if(!ht){ht={};for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"],r=0;r<5;r++){var n=e.concat(t[r].split(""));ft[r]=n;for(var o=0;o<n.length;o++){var i=n[o];void 0===ht[i]&&(ht[i]=o)}}}}var Et="undefined"!=typeof Uint8Array,mt=!gt&&"function"==typeof btoa;function yt(e){if(!mt){var t;void 0===t&&(t=0),pt(),t=ft[t];for(var r=Array(Math.floor(e.length/3)),n=t[64]||"",o=0,i=0;o<e.length-2;o+=3){var a=e[o],s=e[o+1],c=e[o+2],A=t[a>>2];a=t[(3&a)<<4|s>>4],s=t[(15&s)<<2|c>>6],c=t[63&c],r[i++]=A+a+s+c}switch(A=0,c=n,e.length-o){case 2:c=t[(15&(A=e[o+1]))<<2]||n;case 1:e=e[o],r[i]=t[e>>2]+t[(3&e)<<4|A>>4]+c+n}return r.join("")}for(t="",r=0,n=e.length-10240;r<n;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var It=/[-_.]/g,vt={"-":"+",_:"/",".":"="};function wt(e){return vt[e]||""}function Ct(e){if(!mt)return function(e){var t=e.length,r=3*t/4;r%3?r=Math.floor(r):-1!="=.".indexOf(e[t-1])&&(r=-1!="=.".indexOf(e[t-2])?r-2:r-1);var n=new Uint8Array(r),o=0;return function(e,t){function r(t){for(;n<e.length;){var r=e.charAt(n++),o=ht[r];if(null!=o)return o;if(!/^[\s\xa0]*$/.test(r))throw Error("Unknown base64 encoding at char: "+r)}return t}pt();for(var n=0;;){var o=r(-1),i=r(0),a=r(64),s=r(64);if(64===s&&-1===o)break;t(o<<2|i>>4),64!=a&&(t(i<<4&240|a>>2),64!=s&&t(a<<6&192|s))}}(e,(function(e){n[o++]=e})),o!==r?n.subarray(0,o):n}(e);It.test(e)&&(e=e.replace(It,wt)),e=atob(e);for(var t=new Uint8Array(e.length),r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function _t(e){return Et&&null!=e&&e instanceof Uint8Array}var bt={};function Bt(){return Tt||(Tt=new Qt(null,bt))}function Dt(e){Pt(bt);var t=e.g;return null==(t=null==t||_t(t)?t:"string"==typeof t?Ct(t):null)?t:e.g=t}var Tt,Ot,Qt=function(){return a((function e(t,r){if(o(this,e),Pt(r),this.g=t,null!=t&&0===t.length)throw Error("ByteString should be constructed with non-empty values")}),[{key:"h",value:function(){return new Uint8Array(Dt(this)||0)}}])}();function Pt(e){if(e!==bt)throw Error("illegal external caller")}function Mt(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Rt(e){return Mt(e=Error(e),"warning"),e}function St(e){if(null!=e){var t=null!=Ot?Ot:Ot={},r=t[e]||0;r>=5||(t[e]=r+1,Mt(e=Error(),"incident"),n=e,Ve.setTimeout((function(){throw n}),0))}var n}var kt="function"==typeof Symbol&&"symbol"==y(Symbol());function Ft(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return"function"==typeof Symbol&&"symbol"==y(Symbol())?r&&Symbol.for&&e?Symbol.for(e):null!=e?Symbol(e):Symbol():t}var xt,Nt=Ft("jas",void 0,!0),Ut=Ft(void 0,"0di"),jt=Ft(void 0,"1oa"),Lt=Ft(void 0,Symbol()),Ht=Ft(void 0,"0actk"),Gt=Ft(void 0,"8utk"),Xt=kt?Nt:"Ea",Yt={Ea:{value:0,configurable:!0,writable:!0,enumerable:!1}},Wt=Object.defineProperties;function Vt(e,t){kt||Xt in e||Wt(e,Yt),e[Xt]|=t}function zt(e,t){kt||Xt in e||Wt(e,Yt),e[Xt]=t}function Kt(e){return Vt(e,34),e}function Zt(e,t){zt(t,-15615&e)}function Jt(e,t){zt(t,-15581&e|34)}function qt(){return"function"==typeof BigInt}function $t(e){return Array.prototype.slice.call(e)}var er={};function tr(e){return null!==e&&"object"==y(e)&&!Array.isArray(e)&&e.constructor===Object}function rr(e,t){if(null!=e)if("string"==typeof e)e=e?new Qt(e,bt):Bt();else if(e.constructor!==Qt)if(_t(e))e=e.length?new Qt(new Uint8Array(e),bt):Bt();else{if(!t)throw Error();e=void 0}return e}var nr=[];function or(e){if(2&e)throw Error()}zt(nr,55),xt=Object.freeze(nr);var ir=function(){return a((function e(t,r,n){o(this,e),this.g=t,this.h=r,this.l=n}),[{key:"next",value:function(){var e=this.g.next();return e.done||(e.value=this.h.call(this.l,e.value)),e}},{key:Symbol.iterator,value:function(){return this}}])}();function ar(e){return Lt?e[Lt]:void 0}var sr=Object.freeze({});function cr(e){return e.Na=!0,e}var Ar=cr((function(e){return"number"==typeof e})),ur=cr((function(e){return"string"==typeof e})),lr=cr((function(e){return"boolean"==typeof e})),dr="function"==typeof Ve.BigInt&&"bigint"==typeof Ve.BigInt(0);function gr(e){var t=e;if(ur(t)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(t))throw Error(String(t))}else if(Ar(t)&&!Number.isSafeInteger(t))throw Error(String(t));return dr?BigInt(e):e=lr(e)?e?"1":"0":ur(e)?e.trim()||"0":String(e)}var fr=cr((function(e){return dr?e>=pr&&e<=mr:"-"===e[0]?yr(e,hr):yr(e,Er)})),hr=Number.MIN_SAFE_INTEGER.toString(),pr=dr?BigInt(Number.MIN_SAFE_INTEGER):void 0,Er=Number.MAX_SAFE_INTEGER.toString(),mr=dr?BigInt(Number.MAX_SAFE_INTEGER):void 0;function yr(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(var r=0;r<e.length;r++){var n=e[r],o=t[r];if(n>o)return!1;if(n<o)return!0}}var Ir,vr="function"==typeof Uint8Array.prototype.slice,wr=0,Cr=0;function _r(e){var t=e>>>0;wr=t,Cr=(e-t)/4294967296>>>0}function br(e){if(e<0){_r(-e);var t=f(Rr(wr,Cr),2),r=t[0],n=t[1];wr=r>>>0,Cr=n>>>0}else _r(e)}function Br(e){var t=Ir||(Ir=new DataView(new ArrayBuffer(8)));t.setFloat32(0,+e,!0),Cr=0,wr=t.getUint32(0,!0)}function Dr(e,t){var r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Or(e,t)}function Tr(e,t){var r=2147483648&t;return r&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0)),"number"==typeof(e=Dr(e,t))?r?-e:e:r?"-"+e:e}function Or(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else qt()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+Qr(r)+Qr(e));return r}function Qr(e){return e=String(e),"0000000".slice(e.length)+e}function Pr(){var e=wr,t=Cr;if(2147483648&t)if(qt())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{var r=f(Rr(e,t),2);e="-"+Or(r[0],r[1])}else e=Or(e,t);return e}function Mr(e){if(e.length<16)br(Number(e));else if(qt())e=BigInt(e),wr=Number(e&BigInt(4294967295))>>>0,Cr=Number(e>>BigInt(32)&BigInt(4294967295));else{var t=+("-"===e[0]);Cr=wr=0;for(var r=e.length,n=t,o=(r-t)%6+t;o<=r;n=o,o+=6){var i=Number(e.slice(n,o));Cr*=1e6,(wr=1e6*wr+i)>=4294967296&&(Cr+=Math.trunc(wr/4294967296),Cr>>>=0,wr>>>=0)}if(t){var a=f(Rr(wr,Cr),2),s=a[0],c=a[1];wr=s,Cr=c}}}function Rr(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var Sr="function"==typeof BigInt?BigInt.asIntN:void 0,kr="function"==typeof BigInt?BigInt.asUintN:void 0,Fr=Number.isSafeInteger,xr=Number.isFinite,Nr=Math.trunc,Ur=gr(0);function jr(e){return null==e||"number"==typeof e?e:"NaN"===e||"Infinity"===e||"-Infinity"===e?Number(e):void 0}function Lr(e){return null==e||"boolean"==typeof e?e:"number"==typeof e?!!e:void 0}var Hr=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Gr(e){switch(y(e)){case"bigint":return!0;case"number":return xr(e);case"string":return Hr.test(e);default:return!1}}function Xr(e){if(null==e)return e;if("string"==typeof e&&e)e=+e;else if("number"!=typeof e)return;return xr(e)?0|e:void 0}function Yr(e){if(null==e)return e;if("string"==typeof e&&e)e=+e;else if("number"!=typeof e)return;return xr(e)?e>>>0:void 0}function Wr(e){if("-"===e[0])return!1;var t=e.length;return t<20||20===t&&Number(e.substring(0,6))<184467}function Vr(e){var t=e.length;return"-"===e[0]?t<20||20===t&&Number(e.substring(0,7))>-922337:t<19||19===t&&Number(e.substring(0,6))<922337}function zr(e){return Vr(e)?e:(Mr(e),Pr())}function Kr(e){return e=Nr(e),Fr(e)||(br(e),e=Tr(wr,Cr)),e}function Zr(e){var t=Nr(Number(e));return Fr(t)?String(t):(-1!==(t=e.indexOf("."))&&(e=e.substring(0,t)),zr(e))}function Jr(e){var t=Nr(Number(e));return Fr(t)?gr(t):(-1!==(t=e.indexOf("."))&&(e=e.substring(0,t)),qt()?gr(Sr(64,BigInt(e))):gr(zr(e)))}function qr(e){if(Fr(e))e=gr(Kr(e));else{if(e=Nr(e),Fr(e))e=String(e);else{var t=String(e);Vr(t)?e=t:(br(e),e=Pr())}e=gr(e)}return e}function $r(e){return null==e?e:"bigint"==typeof e?(fr(e)?e=Number(e):(e=Sr(64,e),e=fr(e)?Number(e):String(e)),e):Gr(e)?"number"==typeof e?Kr(e):Zr(e):void 0}function en(e){if("string"!=typeof e)throw Error();return e}function tn(e){if(null!=e&&"string"!=typeof e)throw Error();return e}function rn(e){return null==e||"string"==typeof e?e:void 0}function nn(e,t,r,n){if(null!=e&&"object"==y(e)&&e.W===er)return e;if(!Array.isArray(e))return r?2&n?((e=t[Ut])||(Kt((e=new t).u),e=t[Ut]=e),t=e):t=new t:t=void 0,t;var o=r=0|e[Xt];return 0===o&&(o|=32&n),(o|=2&n)!==r&&zt(e,o),new t(e)}function on(e,t,r){if(t)e:{if(!Gr(t=e))throw Rt("int64");switch(y(t)){case"string":t=Jr(t);break e;case"bigint":t=gr(Sr(64,t));break e;default:t=qr(t)}}else e=y(t=e),t=null==t?t:"bigint"===e?gr(Sr(64,t)):Gr(t)?"string"===e?Jr(t):qr(t):void 0;return null==(e=t)?r?Ur:void 0:e}function an(e){return e}var sn={},cn=function(){try{return dt(new(function(e){function t(){return o(this,t),n(this,t)}return u(t,e),a(t)}(v(Map)))),!1}catch(e){return!0}}(),An=function(){return a((function e(){o(this,e),this.g=new Map}),[{key:"get",value:function(e){return this.g.get(e)}},{key:"set",value:function(e,t){return this.g.set(e,t),this.size=this.g.size,this}},{key:"delete",value:function(e){return e=this.g.delete(e),this.size=this.g.size,e}},{key:"clear",value:function(){this.g.clear(),this.size=this.g.size}},{key:"has",value:function(e){return this.g.has(e)}},{key:"entries",value:function(){return this.g.entries()}},{key:"keys",value:function(){return this.g.keys()}},{key:"values",value:function(){return this.g.values()}},{key:"forEach",value:function(e,t){return this.g.forEach(e,t)}},{key:Symbol.iterator,value:function(){return this.entries()}}])}();function un(e){return e}function ln(e){if(2&e.M)throw Error("Cannot mutate an immutable Map")}var dn,gn,fn,hn,pn=function(e){function t(e,r){var i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:un,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:un;o(this,t),i=n(this,t);var c=0|e[Xt];zt(e,c|=64),i.M=c,i.I=r,i.S=a,i.X=i.I?En:s;for(var A=0;A<e.length;A++){var u=e[A],l=a(u[0],!1,!0),d=u[1];r?void 0===d&&(d=null):d=s(u[1],!1,!0,void 0,void 0,c),h(t,"set",i)([l,d])}return i}return u(t,e),a(t,[{key:"La",value:function(){var e=Cn;if(0!==this.size)return Array.from(h(t,"entries",this)([]),(function(t){return t[0]=e(t[0]),t[1]=e(t[1]),t}))}},{key:"da",value:function(){for(var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:mn,n=[],o=h(t,"entries",this)([]);!(e=o.next()).done;)(e=e.value)[0]=r(e[0]),e[1]=r(e[1]),n.push(e);return n}},{key:"clear",value:function(){ln(this),h(t,"clear",this)([])}},{key:"delete",value:function(e){return ln(this),h(t,"delete",this)([this.S(e,!0,!1)])}},{key:"entries",value:function(){if(this.I){var e=h(t,"keys",this)([]);e=new ir(e,yn,this)}else e=h(t,"entries",this)([]);return e}},{key:"values",value:function(){if(this.I){var e=h(t,"keys",this)([]);e=new ir(e,pn.prototype.get,this)}else e=h(t,"values",this)([]);return e}},{key:"forEach",value:function(e,r){this.I?h(t,"forEach",this)([function(t,n,o){e.call(r,o.get(n),n,o)}]):h(t,"forEach",this)([e,r])}},{key:"set",value:function(e,r){return ln(this),null==(e=this.S(e,!0,!1))?this:null==r?(h(t,"delete",this)([e]),this):h(t,"set",this)([e,this.X(r,!0,!0,this.I,!1,this.M)])}},{key:"Ja",value:function(e){var r=this.S(e[0],!1,!0);e=e[1],e=this.I?void 0===e?null:e:this.X(e,!1,!0,void 0,!1,this.M),h(t,"set",this)([r,e])}},{key:"has",value:function(e){return h(t,"has",this)([this.S(e,!1,!1)])}},{key:"get",value:function(e){e=this.S(e,!1,!1);var r=h(t,"get",this)([e]);if(void 0!==r){var n=this.I;return n?((n=this.X(r,!1,!0,n,this.pa,this.M))!==r&&h(t,"set",this)([e,n]),n):r}}},{key:Symbol.iterator,value:function(){return this.entries()}}])}(cn?(Object.setPrototypeOf(An.prototype,Map.prototype),Object.defineProperties(An.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),An):function(e){function t(){return o(this,t),n(this,t)}return u(t,e),a(t)}(v(Map)));function En(e,t,r,n,o,i){return e=nn(e,n,r,i),o&&(e=Qn(e)),e}function mn(e){return e}function yn(e){return[e,this.get(e)]}function In(){return dn||(dn=new pn(Kt([]),void 0,void 0,void 0,sn))}function vn(e,t,r,n,o){if(null!=e){if(Array.isArray(e)){var i=0|e[Xt];return 0===e.length&&1&i?void 0:o&&2&i?e:wn(e,t,r,void 0!==n,o)}return t(e,n)}}function wn(e,t,r,n,o){for(var i=n||r?0|e[Xt]:0,a=n?!!(32&i):void 0,s=0,c=(n=$t(e)).length,A=0;A<c;A++){var u=n[A];if(A===c-1&&tr(u)){var l=t,d=r,g=a,f=o,h=void 0;for(var p in u){var E=vn(u[p],l,d,g,f);null!=E&&((null!=h?h:h={})[p]=E)}u=h}else u=vn(n[A],t,r,a,o);n[A]=u,null!=u&&(s=A+1)}return s<c&&(n.length=s),r&&((e=ar(e))&&(n[Lt]=$t(e)),r(i,n)),n}function Cn(e){return vn(e,_n,void 0,void 0,!1)}function _n(e){switch(y(e)){case"number":return Number.isFinite(e)?e:""+e;case"bigint":return fr(e)?Number(e):""+e;case"boolean":return e?1:0;case"object":if(_t(e))return _t(e)&&St(Gt),yt(e);if(e.W===er)return bn(e);if(e instanceof Qt){var t=e.g;return null==t?"":"string"==typeof t?t:e.g=yt(t)}return e instanceof pn?e.La():void 0}return e}function bn(e){var t=e.u;e=wn(t,_n,void 0,void 0,!1);var r=0|t[Xt];if((t=e.length)&&!(512&r)){var n=e[t-1],o=!1;tr(n)?(t--,o=!0):n=void 0;var i=t-(r=512&r?0:-1),a=(null!=gn?gn:an)(i,r,e,n);if(n&&(e[t]=void 0),i<a&&n){for(var s in i=!0,n){var c=+s;c<=a?(e[o=c+r]=n[s],t=Math.max(o+1,t),o=!1,delete n[s]):i=!1}i&&(n=void 0)}for(i=t-1;t>0;i=t-1)if(null==(s=e[i]))t--,o=!0;else{if(!((i-=r)>=a))break;(null!=n?n:n={})[i]=s,t--,o=!0}o&&(e.length=t),n&&e.push(n)}return e}function Bn(e,t,r){return e=Dn(e,t[0],t[1],r?1:2),t!==fn&&r&&Vt(e,8192),e}function Dn(e,t,r,n){if(null==e){var o=96;r?(e=[r],o|=512):e=[],t&&(o=-16760833&o|(1023&t)<<14)}else{if(!Array.isArray(e))throw Error("narr");if(8192&(o=0|e[Xt])||!(64&o)||2&o||St(Ht),1024&o)throw Error("farr");if(64&o)return e;if(1===n||2===n||(o|=64),r&&(o|=512,r!==e[0]))throw Error("mid");e:{var i=(r=e).length;if(i){var a=i-1;if(tr(n=r[a])){if((a-=t=512&(o|=256)?0:-1)>=1024)throw Error("pvtlmt");for(var s in n)(i=+s)<a&&(r[i+t]=n[s],delete n[s]);o=-16760833&o|(1023&a)<<14;break e}}if(t){if((s=Math.max(t,i-(512&o?0:-1)))>1024)throw Error("spvt");o=-16760833&o|(1023&s)<<14}}}return zt(e,o),e}function Tn(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Jt;if(null!=e){if(Et&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var n=0|e[Xt];return 2&n?e:(t&&(t=0===n||!!(32&n)&&!(64&n||!(16&n))),t?(zt(e,34|n),4&n&&Object.freeze(e),e):wn(e,Tn,4&n?Jt:r,!0,!0))}return e.W===er?e=2&(n=0|(r=e.u)[Xt])?e:new e.constructor(On(r,n,!0)):e instanceof pn&&!(2&e.M)&&(r=Kt(e.da(Tn)),e=new pn(r,e.I,e.S,e.X)),e}}function On(e,t,r){var n=r||2&t?Jt:Zt,o=!!(32&t);return Vt(e=function(e,t,r){var n=$t(e),o=n.length,i=256&t?n[o-1]:void 0;for(o+=i?-1:0,t=512&t?1:0;t<o;t++)n[t]=r(n[t]);if(i)for(var a in t=n[t]={},i)t[a]=r(i[a]);return(e=ar(e))&&(n[Lt]=$t(e)),n}(e,t,(function(e){return Tn(e,o,n)})),32|(r?2:0)),e}function Qn(e){var t=e.u,r=0|t[Xt];return 2&r?new e.constructor(On(t,r,!1)):e}function Pn(e,t){return Mn(e=e.u,0|e[Xt],t)}function Mn(e,t,r){if(-1===r)return null;var n=r+(512&t?0:-1),o=e.length-1;return n>=o&&256&t?e[o][r]:n<=o?e[n]:void 0}function Rn(e,t,r){var n=e.u,o=0|n[Xt];return or(o),Sn(n,o,t,r),e}function Sn(e,t,r,n){var o=512&t?0:-1,i=r+o,a=e.length-1;return i>=a&&256&t?(e[a][r]=n,t):i<=a?(e[i]=n,t):(void 0!==n&&(r>=(a=t>>14&1023||536870912)?null!=n&&(e[a+o]=function(e,t,r){return(t=m(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({},r,n),zt(e,t|=256)):e[i]=n),t)}function kn(e,t){var r=0|(e=e.u)[Xt],n=Mn(e,r,t),o=jr(n);return null!=o&&o!==n&&Sn(e,r,t,o),o}function Fn(e){var t=0|(e=e.u)[Xt],r=Mn(e,t,1),n=rr(r,!0);return null!=n&&n!==r&&Sn(e,t,1,n),n}function xn(){return void 0===sr?2:4}function Nn(e,t,r,n,o){var i=e.u,a=2&(e=0|i[Xt])?1:n;o=!!o;var s=0|(n=Un(i,e,t))[Xt];if(!(4&s)){4&s&&(n=$t(n),s=ro(s,e),e=Sn(i,e,t,n));for(var c=0,A=0;c<n.length;c++){var u=r(n[c]);null!=u&&(n[A++]=u)}A<c&&(n.length=A),r=-2049&(s=jn(s,e))|20,zt(n,s=r&=-4097),2&s&&Object.freeze(n)}return 1===a||4===a&&32&s?Ln(s)||(o=s,(s|=2)!==o&&zt(n,s),Object.freeze(n)):(2===a&&Ln(s)&&(zt(n=$t(n),s=no(s=ro(s,e),e,o)),e=Sn(i,e,t,n)),Ln(s)||(t=s,(s=no(s,e,o))!==t&&zt(n,s))),n}function Un(e,t,r){return e=Mn(e,t,r),Array.isArray(e)?e:xt}function jn(e,t){return 0===e&&(e=ro(e,t)),1|e}function Ln(e){return!!(2&e)&&!!(4&e)||!!(1024&e)}function Hn(e){e=$t(e);for(var t=0;t<e.length;t++){var r=e[t]=$t(e[t]);Array.isArray(r[1])&&(r[1]=Kt(r[1]))}return e}function Gn(e,t,r,n){var o=0|(e=e.u)[Xt];or(o),Sn(e,o,t,("0"===n?0===Number(r):r===n)?void 0:r)}function Xn(e,t,r,n){or(t);var o=Un(e,t,r),i=o!==xt;if(64&t||!(8192&t)||!i){var a=i?0|o[Xt]:0,s=a;(!i||2&s||Ln(s)||4&s&&!(32&s))&&(o=$t(o),s=ro(s,t),t=Sn(e,t,r,o)),s=-13&jn(s,t),(s=no(n?-17&s:16|s,t,!0))!==a&&zt(o,s)}return o}function Yn(e,t){var r=ls;return zn(Wn(e=e.u),e,0|e[Xt],r)===t?t:-1}function Wn(e){var t;if(kt)return null!=(t=e[jt])?t:e[jt]=new Map;if(jt in e)return e[jt];var r=new Map;return Object.defineProperty(e,jt,{value:r}),r}function Vn(e,t,r,n){var o=Wn(e),i=zn(o,e,t,r);return i!==n&&(i&&(t=Sn(e,t,i)),o.set(r,n)),t}function zn(e,t,r,n){var o=e.get(n);if(null!=o)return o;o=0;for(var i=0;i<n.length;i++){var a=n[i];null!=Mn(t,r,a)&&(0!==o&&(r=Sn(t,r,o)),o=a)}return e.set(n,o),o}function Kn(e,t,r){var n,o=0|e[Xt],i=Mn(e,o,r);if(null!=i&&i.W===er)return(t=Qn(i))!==i&&Sn(e,o,r,t),t.u;if(Array.isArray(i)){var a=0|i[Xt];n=2&a?Bn(On(i,a,!1),t,!0):64&a?i:Bn(n,t,!0)}else n=Bn(void 0,t,!0);return n!==i&&Sn(e,o,r,n),n}function Zn(e,t,r){var n=0|(e=e.u)[Xt],o=Mn(e,n,r);return(t=nn(o,t,!1,n))!==o&&null!=t&&Sn(e,n,r,t),t}function Jn(e,t,r){if(null==(t=Zn(e,t,r)))return t;var n=0|(e=e.u)[Xt];if(!(2&n)){var o=Qn(t);o!==t&&Sn(e,n,r,t=o)}return t}function qn(e,t,r,n,o,i,a){var s=!!(2&t),c=s?1:o;i=!!i,a&&(a=!s);var A=0|(o=Un(e=e.u,t,n))[Xt];if(!(s=!!(4&A))){var u=o,l=t,d=!!(2&(A=jn(A,t)));d&&(l|=2);for(var g=!d,f=!0,h=0,p=0;h<u.length;h++){var E=nn(u[h],r,!1,l);if(E instanceof r){if(!d){var m=!!(2&E.u[Xt]);g&&(g=!m),f&&(f=m)}u[p++]=E}}p<h&&(u.length=p),A|=4,A=f?16|A:-17&A,zt(u,A=g?8|A:-9&A),d&&Object.freeze(u)}if(a&&!(8&A||!o.length&&(1===c||4===c&&32&A))){for(Ln(A)&&(o=$t(o),A=ro(A,t),t=Sn(e,t,n,o)),r=o,a=A,u=0;u<r.length;u++)(A=r[u])!==(l=Qn(A))&&(r[u]=l);a|=8,zt(r,a=r.length?-17&a:16|a),A=a}return 1===c||4===c&&32&A?Ln(A)||(t=A,(A|=!o.length||16&A&&(!s||32&A)?2:1024)!==t&&zt(o,A),Object.freeze(o)):(2===c&&Ln(A)&&(zt(o=$t(o),A=no(A=ro(A,t),t,i)),t=Sn(e,t,n,o)),Ln(A)||(n=A,(A=no(A,t,i))!==n&&zt(o,A))),o}function $n(e,t,r){var n=0|e.u[Xt];return qn(e,n,t,r,xn(),!1,!(2&n))}function eo(e,t,r,n){return null==n&&(n=void 0),Rn(e,r,n)}function to(e,t,r,n){null==n&&(n=void 0);e:{var o=0|(e=e.u)[Xt];if(or(o),null==n){var i=Wn(e);if(zn(i,e,o,r)!==t)break e;i.set(r,0)}else o=Vn(e,o,r,t);Sn(e,o,t,n)}}function ro(e,t){return-1025&(2&t?2|e:-3&e)|32}function no(e,t,r){return 32&t&&r||(e&=-33),e}function oo(e,t,r){or(0|e.u[Xt]),Nn(e,t,rn,2,!0).push(en(r))}function io(e,t,r,n){var o=0|e.u[Xt];or(o),e=qn(e,o,r,t,2,!0),n=null!=n?n:new r,e.push(n),e[Xt]=2&n.u[Xt]?-9&e[Xt]:-17&e[Xt]}function ao(e,t){return Xr(Pn(e,t))}function so(e,t){return rn(Pn(e,t))}function co(e,t){var r;return null!=(r=kn(e,t))?r:0}function Ao(e,t,r){if(null!=r&&"boolean"!=typeof r)throw e=y(r),Error("Expected boolean but got ".concat("object"!=e?e:r?Array.isArray(r)?"array":e:"null",": ").concat(r));Rn(e,t,r)}function uo(e,t,r){if(null!=r){if("number"!=typeof r)throw Rt("int32");if(!xr(r))throw Rt("int32");r|=0}Rn(e,t,r)}function lo(e,t,r){if(null!=r&&"number"!=typeof r)throw Error("Value of float/double field must be a number, found ".concat(y(r),": ").concat(r));Rn(e,t,r)}function go(e,t,r){var n=e.u,o=0|n[Xt];if(or(o),null==r)Sn(n,o,t);else{var i=e=0|r[Xt],a=Ln(e),s=a||Object.isFrozen(r);for(a||(e=0),s||(r=$t(r),i=0,e=no(e=ro(e,o),o,!0),s=!1),e|=21,a=0;a<r.length;a++){var c=r[a],A=en(c);Object.is(c,A)||(s&&(r=$t(r),i=0,e=no(e=ro(e,o),o,!0),s=!1),r[a]=A)}e!==i&&(s&&(r=$t(r),e=no(e=ro(e,o),o,!0)),zt(r,e)),Sn(n,o,t,r)}}function fo(e,t){return Error("Invalid wire type: ".concat(e," (at position ").concat(t,")"))}function ho(){return Error("Failed to read varint, encoding is invalid.")}function po(e,t){return Error("Tried to read past the end of the data ".concat(t," > ").concat(e))}function Eo(e){if("string"==typeof e)return{buffer:Ct(e),O:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),O:!1};if(e.constructor===Uint8Array)return{buffer:e,O:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),O:!1};if(e.constructor===Qt)return{buffer:Dt(e)||new Uint8Array(0),O:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),O:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function mo(e,t){var r,n=0,o=0,i=0,a=e.h,s=e.g;do{n|=(127&(r=a[s++]))<<i,i+=7}while(i<32&&128&r);for(i>32&&(o|=(127&r)>>4),i=3;i<32&&128&r;i+=7)o|=(127&(r=a[s++]))<<i;if(Bo(e,s),r<128)return t(n>>>0,o>>>0);throw ho()}function yo(e){for(var t=0,r=e.g,n=r+10,o=e.h;r<n;){var i=o[r++];if(t|=i,!(128&i))return Bo(e,r),!!(127&t)}throw ho()}function Io(e){var t=e.h,r=e.g,n=t[r++],o=127&n;if(128&n&&(o|=(127&(n=t[r++]))<<7,128&n&&(o|=(127&(n=t[r++]))<<14,128&n&&(o|=(127&(n=t[r++]))<<21,128&n&&(o|=(n=t[r++])<<28,128&n&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw ho();return Bo(e,r),o}function vo(e){return Io(e)>>>0}function wo(e){var t=e.h,r=e.g,n=t[r],o=t[r+1],i=t[r+2];return t=t[r+3],Bo(e,e.g+4),(n|o<<8|i<<16|t<<24)>>>0}function Co(e){var t=wo(e);e=2*(t>>31)+1;var r=t>>>23&255;return t&=8388607,255==r?t?NaN:e*(1/0):0==r?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function _o(e){return Io(e)}function bo(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).aa,n=void 0!==r&&r;e.aa=n,t&&(t=Eo(t),e.h=t.buffer,e.m=t.O,e.j=0,e.l=e.h.length,e.g=e.j)}function Bo(e,t){if(e.g=t,t>e.l)throw po(e.l,t)}function Do(e,t){if(t<0)throw Error("Tried to read a negative byte length: ".concat(t));var r=e.g,n=r+t;if(n>e.l)throw po(t,e.l-r);return e.g=n,r}function To(e,t){if(0==t)return Bt();var r=Do(e,t);return e.aa&&e.m?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):vr?e.slice(r,t):new Uint8Array(e.subarray(r,t))),0==r.length?Bt():new Qt(r,bt)}pn.prototype.toJSON=void 0;var Oo=[];function Qo(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var r=vo(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5))throw fo(r,e.l);if(t<1)throw Error("Invalid field number: ".concat(t," (at position ").concat(e.l,")"));return e.m=t,e.h=r,!0}function Po(e){switch(e.h){case 0:0!=e.h?Po(e):yo(e.g);break;case 1:Bo(e=e.g,e.g+8);break;case 2:if(2!=e.h)Po(e);else{var t=vo(e.g);Bo(e=e.g,e.g+t)}break;case 5:Bo(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!Qo(e))throw Error("Unmatched start-group tag: stream EOF");if(4==e.h){if(e.m!=t)throw Error("Unmatched end-group tag");break}Po(e)}break;default:throw fo(e.h,e.l)}}function Mo(e,t,r){var n=e.g.l,o=vo(e.g),i=e.g.g+o,a=i-n;if(a<=0&&(e.g.l=i,r(t,e,void 0,void 0,void 0),a=i-e.g.g),a)throw Error("Message parsing ended unexpectedly. Expected to read ".concat(o," bytes, instead read ").concat(o-a," bytes, either the data ended unexpectedly or the message misreported its own length"));return e.g.g=i,e.g.l=n,t}function Ro(e){var t=vo(e.g),r=Do(e=e.g,t);if(e=e.h,nt){var n,o=e;(n=We)||(n=We=new TextDecoder("utf-8",{fatal:!0})),t=r+t,o=0===r&&t===o.length?o:o.subarray(r,t);try{var i=n.decode(o)}catch(e){if(void 0===Ye){try{n.decode(new Uint8Array([128]))}catch(e){}try{n.decode(new Uint8Array([97])),Ye=!0}catch(e){Ye=!1}}throw!Ye&&(We=void 0),e}}else{t=(i=r)+t,r=[];for(var a,s=null;i<t;){var c=e[i++];c<128?r.push(c):c<224?i>=t?ze():(a=e[i++],c<194||128!=(192&a)?(i--,ze()):r.push((31&c)<<6|63&a)):c<240?i>=t-1?ze():128!=(192&(a=e[i++]))||224===c&&a<160||237===c&&a>=160||128!=(192&(n=e[i++]))?(i--,ze()):r.push((15&c)<<12|(63&a)<<6|63&n):c<=244?i>=t-2?ze():128!=(192&(a=e[i++]))||a-144+(c<<28)>>30||128!=(192&(n=e[i++]))||128!=(192&(o=e[i++]))?(i--,ze()):(c=(7&c)<<18|(63&a)<<12|(63&n)<<6|63&o,c-=65536,r.push(55296+(c>>10&1023),56320+(1023&c))):ze(),r.length>=8192&&(s=Ke(s,r),r.length=0)}i=Ke(s,r)}return i}function So(e){var t=vo(e.g);return To(e.g,t)}function ko(e,t,r){var n=vo(e.g);for(n=e.g.g+n;e.g.g<n;)r.push(t(e.g))}var Fo=[];function xo(e,t,r){t.g?t.m(e,t.g,t.h,r):t.m(e,t.h,r)}var No=function(){return a((function e(t,r){o(this,e),this.u=Dn(t,r)}),[{key:"toJSON",value:function(){try{var e=bn(this)}finally{gn=void 0}return e}},{key:"l",value:function(){var e=ac;return e.g?e.l(this,e.g,e.h):e.l(this,e.h,e.defaultValue)}},{key:"clone",value:function(){var e=this.u;return new this.constructor(On(e,0|e[Xt],!1))}},{key:"O",value:function(){return!!(2&this.u[Xt])}}])}();function Uo(e){return e?/^\d+$/.test(e)?(Mr(e),new Lo(wr,Cr)):null:jo||(jo=new Lo(0,0))}No.prototype.W=er,No.prototype.toString=function(){return this.u.toString()};var jo,Lo=a((function e(t,r){o(this,e),this.h=t>>>0,this.g=r>>>0}));function Ho(e){return e?/^-?\d+$/.test(e)?(Mr(e),new Xo(wr,Cr)):null:Go||(Go=new Xo(0,0))}var Go,Xo=a((function e(t,r){o(this,e),this.h=t>>>0,this.g=r>>>0}));function Yo(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function Wo(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Vo(e,t){if(t>=0)Wo(e,t);else{for(var r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function zo(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function Ko(e,t){0!==t.length&&(e.l.push(t),e.h+=t.length)}function Zo(e,t,r){Wo(e.g,8*t+r)}function Jo(e,t){return Zo(e,t,2),t=e.g.end(),Ko(e,t),t.push(e.h),t}function qo(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function $o(e,t,r){Zo(e,t,2),Wo(e.g,r.length),Ko(e,e.g.end()),Ko(e,r)}function ei(e,t,r,n){null!=r&&(t=Jo(e,t),n(r,e),qo(e,t))}function ti(){var e=a((function e(){throw o(this,e),Error()}));return Object.setPrototypeOf(e,e.prototype),e}var ri=ti(),ni=ti(),oi=ti(),ii=ti(),ai=ti(),si=ti(),ci=ti(),Ai=ti(),ui=ti(),li=a((function e(t,r,n){o(this,e),this.g=t,this.h=r,t=ri,this.l=!!t&&n===t||!1}));function di(e,t){return new li(e,t,ri)}function gi(e,t,r,n,o){ei(e,r,_i(t,n),o)}var fi,hi,pi=di((function(e,t,r,n,o){return 2===e.h&&(Mo(e,Kn(t,n,r),o),!0)}),gi),Ei=di((function(e,t,r,n,o){return 2===e.h&&(Mo(e,Kn(t,n,r),o),!0)}),gi),mi=Symbol(),yi=Symbol(),Ii=Symbol(),vi=Symbol();function wi(e,t,r,n){var o=n[e];if(o)return o;(o={}).Ma=n,o.T=function(e){switch(y(e)){case"boolean":return fn||(fn=[0,void 0,!0]);case"number":return e>0?void 0:0===e?hn||(hn=[0,void 0]):[-e,void 0];case"string":return[0,e];case"object":return e}}(n[0]);var i=n[1],a=1;i&&i.constructor===Object&&(o.ga=i,"function"==typeof(i=n[++a])&&(o.la=!0,null!=fi||(fi=i),null!=hi||(hi=n[a+1]),i=n[a+=2]));for(var s={};i&&Array.isArray(i)&&i.length&&"number"==typeof i[0]&&i[0]>0;){for(var c=0;c<i.length;c++)s[i[c]]=i;i=n[++a]}for(c=1;void 0!==i;){var A=void 0;"number"==typeof i&&(c+=i,i=n[++a]);var u=void 0;if(i instanceof li?A=i:(A=pi,a--),null==A?void 0:A.l){i=n[++a],u=n;var l=a;"function"==typeof i&&(i=i(),u[l]=i),u=i}for(l=c+1,"number"==typeof(i=n[++a])&&i<0&&(l-=i,i=n[++a]);c<l;c++){var d=s[c];u?r(o,c,A,u,d):t(o,c,A,d)}}return n[e]=o}function Ci(e){return Array.isArray(e)?e[0]instanceof li?e:[Ei,e]:[e,void 0]}function _i(e,t){return e instanceof No?e.u:Array.isArray(e)?Bn(e,t,!1):void 0}function bi(e,t,r,n){var o=r.g;e[t]=n?function(e,t,r){return o(e,t,r,n)}:o}function Bi(e,t,r,n,o){var i,a,s=r.g;e[t]=function(e,t,r){return s(e,t,r,a||(a=wi(yi,bi,Bi,n).T),i||(i=Di(n)),o)}}function Di(e){var t=e[Ii];if(null!=t)return t;var r=wi(yi,bi,Bi,e);return t=r.la?function(e,t){return fi(e,t,r)}:function(e,t){for(var n=0|e[Xt];Qo(t)&&4!=t.h;){var o=t.m,i=r[o];if(null==i){var a=r.ga;a&&(a=a[o])&&null!=(a=Ti(a))&&(i=r[o]=a)}null!=i&&i(t,e,o)||(o=(i=t).l,Po(i),i.fa?i=void 0:(a=i.g.g-o,i.g.g=o,i=To(i.g,a)),o=e,i&&((a=o[Lt])?a.push(i):o[Lt]=[i]))}return 8192&n&&Kt(e),!0},e[Ii]=t}function Ti(e){var t=(e=Ci(e))[0].g;if(e=e[1]){var r=Di(e),n=wi(yi,bi,Bi,e).T;return function(e,o,i){return t(e,o,i,n,r)}}return t}function Oi(e,t,r){e[t]=r.h}function Qi(e,t,r,n){var o,i,a=r.h;e[t]=function(e,t,r){return a(e,t,r,i||(i=wi(mi,Oi,Qi,n).T),o||(o=Pi(n)))}}function Pi(e){var t=e[vi];if(!t){var r=wi(mi,Oi,Qi,e);t=function(e,t){return Mi(e,t,r)},e[vi]=t}return t}function Mi(e,t,r){!function(e,t,r){for(var n=512&t?0:-1,o=e.length,i=o+((t=64&t?256&t:!!o&&tr(e[o-1]))?-1:0),a=0;a<i;a++)r(a-n,e[a]);if(t)for(var s in e=e[o-1])!isNaN(s)&&r(+s,e[s])}(e,e[Xt]|(r.T[1]?512:0),(function(e,n){if(null!=n){var o=function(e,t){var r=e[t];if(r)return r;if((r=e.ga)&&(r=r[t])){var n=(r=Ci(r))[0].h;if(r=r[1]){var o=Pi(r),i=wi(mi,Oi,Qi,r).T;r=e.la?hi(i,o):function(e,t,r){return n(e,t,r,i,o)}}else r=n;return e[t]=r}}(r,e);o&&o(t,n,e)}})),(e=ar(e))&&function(e,t){Ko(e,e.g.end());for(var r=0;r<t.length;r++)Ko(e,Dt(t[r])||new Uint8Array(0))}(t,e)}function Ri(e,t){if(Array.isArray(t)){var r=0|t[Xt];if(4&r)return t;for(var n=0,o=0;n<t.length;n++){var i=e(t[n]);null!=i&&(t[o++]=i)}return o<n&&(t.length=o),zt(t,-6145&r|5),2&r&&Object.freeze(t),t}}function Si(e,t,r){return new li(e,t,r)}function ki(e,t,r){return new li(e,t,r)}function Fi(e,t,r){Sn(e,0|e[Xt],t,r)}var xi=di((function(e,t,r,n,o){return 2===e.h&&(e=Mo(e,Bn([void 0,void 0],n,!0),o),or(n=0|t[Xt]),(o=Mn(t,n,r))instanceof pn?2&o.M?((o=o.da()).push(e),Sn(t,n,r,o)):o.Ja(e):Array.isArray(o)?(2&o[Xt]&&Sn(t,n,r,o=Hn(o)),o.push(e)):Sn(t,n,r,[e]),!0)}),(function(e,t,r,n,o){if(t instanceof pn)t.forEach((function(t,i){ei(e,r,Bn([i,t],n,!1),o)}));else if(Array.isArray(t))for(var i=0;i<t.length;i++){var a=t[i];Array.isArray(a)&&ei(e,r,Bn(a,n,!1),o)}}));function Ni(e,t,r){if(null!=(t=function(e){if(null==e)return e;var t=y(e);if("bigint"===t)return String(Sr(64,e));if(Gr(e)){if("string"===t)return Zr(e);if("number"===t)return Kr(e)}}(t))&&("string"==typeof t&&Ho(t),null!=t))switch(Zo(e,r,0),y(t)){case"number":e=e.g,br(t),Yo(e,wr,Cr);break;case"bigint":r=BigInt.asUintN(64,t),r=new Xo(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),Yo(e.g,r.h,r.g);break;default:r=Ho(t),Yo(e.g,r.h,r.g)}}function Ui(e,t,r){null!=(t=Xr(t))&&null!=t&&(Zo(e,r,0),Vo(e.g,t))}function ji(e,t,r){null!=(t=Lr(t))&&(Zo(e,r,0),e.g.g.push(t?1:0))}function Li(e,t,r){null!=(t=rn(t))&&$o(e,r,it(t))}function Hi(e,t,r,n,o){ei(e,r,_i(t,n),o)}function Gi(e,t,r){null==t||"string"==typeof t||t instanceof Qt||(_t(t)?_t(t)&&St(Gt):t=void 0),null!=t&&$o(e,r,Eo(t).buffer)}function Xi(e,t,r){return(5===e.h||2===e.h)&&(t=Xn(t,0|t[Xt],r,!1),2==e.h?ko(e,Co,t):t.push(Co(e.g)),!0)}var Yi=Si((function(e,t,r){if(1!==e.h)return!1;var n=e.g;e=wo(n);var o=wo(n);n=2*(o>>31)+1;var i=o>>>20&2047;return e=4294967296*(1048575&o)+e,Fi(t,r,2047==i?e?NaN:n*(1/0):0==i?5e-324*n*e:n*Math.pow(2,i-1075)*(e+4503599627370496)),!0}),(function(e,t,r){null!=(t=jr(t))&&(Zo(e,r,1),e=e.g,(r=Ir||(Ir=new DataView(new ArrayBuffer(8)))).setFloat64(0,+t,!0),wr=r.getUint32(0,!0),Cr=r.getUint32(4,!0),zo(e,wr),zo(e,Cr))}),ti()),Wi=Si((function(e,t,r){return 5===e.h&&(Fi(t,r,Co(e.g)),!0)}),(function(e,t,r){null!=(t=jr(t))&&(Zo(e,r,5),e=e.g,Br(t),zo(e,wr))}),ci),Vi=ki(Xi,(function(e,t,r){if(null!=(t=Ri(jr,t)))for(var n=0;n<t.length;n++){var o=e,i=r,a=t[n];null!=a&&(Zo(o,i,5),o=o.g,Br(a),zo(o,wr))}}),ci),zi=ki(Xi,(function(e,t,r){if(null!=(t=Ri(jr,t))&&t.length){Zo(e,r,2),Wo(e.g,4*t.length);for(var n=0;n<t.length;n++)r=e.g,Br(t[n]),zo(r,wr)}}),ci),Ki=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,mo(e.g,Tr)),!0)}),Ni,si),Zi=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,0===(e=mo(e.g,Tr))?void 0:e),!0)}),Ni,si),Ji=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,mo(e.g,Dr)),!0)}),(function(e,t,r){if(null!=(t=function(e){if(null==e)return e;var t=y(e);if("bigint"===t)return String(kr(64,e));if(Gr(e)){if("string"===t)return t=Nr(Number(e)),Fr(t)&&t>=0?e=String(t):(-1!==(t=e.indexOf("."))&&(e=e.substring(0,t)),Wr(e)||(Mr(e),e=Or(wr,Cr))),e;if("number"===t)return(e=Nr(e))>=0&&Fr(e)?e:function(e){if(e<0){br(e);var t=Or(wr,Cr);return e=Number(t),Fr(e)?e:t}return Wr(t=String(e))?t:(br(e),Dr(wr,Cr))}(e)}}(t))&&("string"==typeof t&&Uo(t),null!=t))switch(Zo(e,r,0),y(t)){case"number":e=e.g,br(t),Yo(e,wr,Cr);break;case"bigint":r=BigInt.asUintN(64,t),r=new Lo(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),Yo(e.g,r.h,r.g);break;default:r=Uo(t),Yo(e.g,r.h,r.g)}}),ti()),qi=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,Io(e.g)),!0)}),Ui,ii),$i=ki((function(e,t,r){return(0===e.h||2===e.h)&&(t=Xn(t,0|t[Xt],r,!1),2==e.h?ko(e,Io,t):t.push(Io(e.g)),!0)}),(function(e,t,r){if(null!=(t=Ri(Xr,t))&&t.length){r=Jo(e,r);for(var n=0;n<t.length;n++)Vo(e.g,t[n]);qo(e,r)}}),ii),ea=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,0===(e=Io(e.g))?void 0:e),!0)}),Ui,ii),ta=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,yo(e.g)),!0)}),ji,ni),ra=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,!1===(e=yo(e.g))?void 0:e),!0)}),ji,ni),na=ki((function(e,t,r){return 2===e.h&&(e=Ro(e),Xn(t,0|t[Xt],r,!1).push(e),!0)}),(function(e,t,r){if(null!=(t=Ri(rn,t)))for(var n=0;n<t.length;n++){var o=e,i=r,a=t[n];null!=a&&$o(o,i,it(a))}}),oi),oa=Si((function(e,t,r){return 2===e.h&&(Fi(t,r,""===(e=Ro(e))?void 0:e),!0)}),Li,oi),ia=Si((function(e,t,r){return 2===e.h&&(Fi(t,r,Ro(e)),!0)}),Li,oi),aa=function(e,t){return new li(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:ri)}((function(e,t,r,n,o){return 2===e.h&&(n=Bn(void 0,n,!0),Xn(t,0|t[Xt],r,!0).push(n),Mo(e,n,o),!0)}),(function(e,t,r,n,o){if(Array.isArray(t))for(var i=0;i<t.length;i++)Hi(e,t[i],r,n,o)})),sa=di((function(e,t,r,n,o,i){return 2===e.h&&(Vn(t,0|t[Xt],i,r),Mo(e,t=Kn(t,n,r),o),!0)}),Hi),ca=Si((function(e,t,r){return 2===e.h&&(Fi(t,r,So(e)),!0)}),Gi,Ai),Aa=ki((function(e,t,r){return(0===e.h||2===e.h)&&(t=Xn(t,0|t[Xt],r,!1),2==e.h?ko(e,vo,t):t.push(vo(e.g)),!0)}),(function(e,t,r){if(null!=(t=Ri(Yr,t)))for(var n=0;n<t.length;n++){var o=e,i=r,a=t[n];null!=a&&(Zo(o,i,0),Wo(o.g,a))}}),ai),ua=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,0===(e=vo(e.g))?void 0:e),!0)}),(function(e,t,r){null!=(t=Yr(t))&&null!=t&&(Zo(e,r,0),Wo(e.g,t))}),ai),la=Si((function(e,t,r){return 0===e.h&&(Fi(t,r,Io(e.g)),!0)}),(function(e,t,r){null!=(t=Xr(t))&&(t=parseInt(t,10),Zo(e,r,0),Vo(e.g,t))}),ui),da=function(){return a((function e(t,r){o(this,e),this.h=t,this.g=r,this.l=Jn,this.m=eo,this.defaultValue=void 0}),[{key:"register",value:function(){dt(this)}}])}();function ga(e,t){return new da(e,t)}function fa(e,t){return function(r,n){if(Fo.length){var i=Fo.pop();i.o(n),bo(i.g,r,n),r=i}else r=new(function(){return a((function e(t,r){if(o(this,e),Oo.length){var n=Oo.pop();bo(n,t,r),t=n}else t=new(function(){return a((function e(t,r){o(this,e),this.h=null,this.m=!1,this.g=this.l=this.j=0,bo(this,t,r)}),[{key:"clear",value:function(){this.h=null,this.m=!1,this.g=this.l=this.j=0,this.aa=!1}}])}())(t,r);this.g=t,this.l=this.g.g,this.h=this.m=-1,this.o(r)}),[{key:"o",value:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).fa,t=void 0!==e&&e;this.fa=t}}])}())(r,n);try{var s=new e,c=s.u;Di(t)(c,r);var A=s}finally{r.g.clear(),r.m=-1,r.h=-1,Fo.length<100&&Fo.push(r)}return A}}function ha(e){return function(){var t=new(a((function e(){o(this,e),this.l=[],this.h=0,this.g=new(function(){return a((function e(){o(this,e),this.g=[]}),[{key:"length",value:function(){return this.g.length}},{key:"end",value:function(){var e=this.g;return this.g=[],e}}])}())})));Mi(this.u,t,wi(mi,Oi,Qi,e)),Ko(t,t.g.end());for(var r=new Uint8Array(t.h),n=t.l,i=n.length,s=0,c=0;c<i;c++){var A=n[c];r.set(A,s),s+=A.length}return t.l=[r],r}}var pa,Ea=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),ma=[0,oa,Si((function(e,t,r){return 2===e.h&&(Fi(t,r,(e=So(e))===Bt()?void 0:e),!0)}),(function(e,t,r){if(null!=t){if(t instanceof No){var n=t.Oa;return void(n&&(t=n(t),null!=t&&$o(e,r,Eo(t).buffer)))}if(Array.isArray(t))return}Gi(e,t,r)}),Ai)],ya=globalThis.trustedTypes;function Ia(e){void 0===pa&&(pa=function(){var e=null;if(!ya)return e;try{var t=function(e){return e};e=ya.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(e){}return e}());var t=pa;return new(function(){return a((function e(t){o(this,e),this.g=t}),[{key:"toString",value:function(){return this.g+""}}])}())(t?t.createScriptURL(e):e)}function va(e){if(0==(arguments.length<=1?0:arguments.length-1))return Ia(e[0]);for(var t=e[0],r=0;r<(arguments.length<=1?0:arguments.length-1);r++)t+=encodeURIComponent(r+1<1||arguments.length<=r+1?void 0:arguments[r+1])+e[r+1];return Ia(t)}var wa=[0,qi,la,ta,-1,$i,la,-1],Ca=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),_a=[0,ta,ia,ta,la,-1,ki((function(e,t,r){return(0===e.h||2===e.h)&&(t=Xn(t,0|t[Xt],r,!1),2==e.h?ko(e,_o,t):t.push(Io(e.g)),!0)}),(function(e,t,r){if(null!=(t=Ri(Xr,t))&&t.length){r=Jo(e,r);for(var n=0;n<t.length;n++)Vo(e.g,t[n]);qo(e,r)}}),ui),ia,-1,[0,ta,-1],la,ta,-1],ba=[0,ia,-2],Ba=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Da=[0],Ta=[0,qi,ta,1,ta,-3],Oa=function(e){function t(e){return o(this,t),n(this,t,[e,2])}return u(t,e),a(t)}(No),Qa={};Qa[336783863]=[0,ia,ta,-1,qi,[0,[1,2,3,4,5,6,7,8,9],sa,Da,sa,_a,sa,ba,sa,Ta,sa,wa,sa,[0,ia,-2],sa,[0,ia,la],sa,[0,la,ia,-1],sa,[0,la,-1]],[0,ia],ta,[0,[1,3],[2,4],sa,[0,$i],-1,sa,[0,na],-1,aa,[0,ia,-1]],ia];var Pa=[0,Zi,-1,ra,-3,Zi,$i,oa,ea,Zi,-1,ra,ea,ra,-2,oa];function Ma(e,t){Gn(e,2,tn(t),"")}function Ra(e,t){oo(e,3,t)}function Sa(e,t){oo(e,4,t)}var ka=function(e){function t(e){return o(this,t),n(this,t,[e,500])}return u(t,e),a(t,[{key:"o",value:function(e){return eo(this,0,7,e)}}])}(No),Fa=[-1,{}],xa=[0,ia,1,Fa],Na=[0,ia,na,Fa];function Ua(e,t){io(e,1,ka,t)}function ja(e,t){oo(e,10,t)}function La(e,t){oo(e,15,t)}var Ha=function(e){function t(e){return o(this,t),n(this,t,[e,500])}return u(t,e),a(t,[{key:"o",value:function(e){return eo(this,0,1001,e)}}])}(No),Ga=[-500,aa,[-500,oa,-1,na,-3,[-2,Qa,ta],aa,ma,ea,-1,xa,Na,aa,[0,oa,ra],oa,Pa,ea,na,987,na],4,aa,[-500,ia,-1,[-1,{}],998,ia],aa,[-500,ia,na,-1,[-2,{},ta],997,na,-1],ea,aa,[-500,ia,na,Fa,998,na],na,ea,xa,Na,aa,[0,oa,-1,Fa],na,-2,Pa,oa,-1,ra,[0,ra,ua],978,Fa,aa,ma];Ha.prototype.g=ha(Ga);var Xa=fa(Ha,Ga),Ya=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Wa=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"g",value:function(){return $n(this,Ya,1)}}])}(No),Va=[0,aa,[0,qi,Wi,ia,-1]],za=fa(Wa,Va),Ka=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Za=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Ja=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"h",value:function(){return Jn(this,Ka,2)}},{key:"g",value:function(){return $n(this,Za,5)}}])}(No),qa=fa(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),[0,na,$i,zi,[0,la,[0,qi,-3],[0,Wi,-3],[0,qi,-1,[0,aa,[0,qi,-2]]],aa,[0,Wi,-1,ia,Wi]],ia,-1,Ki,aa,[0,qi,Wi],na,Ki]),$a=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),es=fa(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),[0,aa,[0,Wi,-4]]),ts=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),rs=fa(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),[0,aa,[0,Wi,-4]]),ns=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),os=[0,qi,-1,zi,la],is=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No);is.prototype.g=ha([0,Wi,-4,Ki]);var as=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),ss=fa(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),[0,aa,[0,1,qi,ia,Va],Ki]),cs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),As=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"ma",value:function(){var e=Fn(this);return null==e?Bt():e}}])}(No),us=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),ls=[1,2],ds=fa(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),[0,aa,[0,ls,sa,[0,zi],sa,[0,ca],qi,ia],Ki]),gs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),fs=[0,ia,qi,Wi,na,-1],hs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),ps=[0,ta,-1],Es=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),ms=[1,2,3,4,5],ys=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"g",value:function(){return null!=Fn(this)}},{key:"h",value:function(){return null!=so(this,2)}}])}(No),Is=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"g",value:function(){var e;return null!=(e=Lr(Pn(this,2)))&&e}}])}(No),vs=[0,ca,ia,[0,qi,Ki,-1],[0,Ji,Ki]],ws=[0,vs,ta,[0,ms,sa,Ta,sa,_a,sa,wa,sa,Da,sa,ba],la],Cs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),_s=[0,ws,Wi,-1,qi],bs=ga(502141897,Cs);Qa[502141897]=_s;var Bs=fa(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),[0,[0,la,-1,Vi,Aa],os]),Ds=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Ts=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Os=[0,ws,Wi,[0,ws],ta],Qs=[0,ws,_s,Os,Wi,[0,[0,vs]]],Ps=ga(508968150,Ts);Qa[508968150]=Qs,Qa[508968149]=Os;var Ms=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Rs=ga(513916220,Ms);Qa[513916220]=[0,ws,Qs,qi];var Ss=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"h",value:function(){return Jn(this,gs,2)}},{key:"g",value:function(){Rn(this,2)}}])}(No),ks=[0,ws,fs];Qa[478825465]=ks;var Fs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),xs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Ns=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Us=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),js=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Ls=[0,ws,[0,ws],ks,-1],Hs=[0,ws,Wi,qi],Gs=[0,ws,Wi],Xs=[0,ws,Hs,Gs,Wi],Ys=ga(479097054,js);Qa[479097054]=[0,ws,Xs,Ls],Qa[463370452]=Ls,Qa[464864288]=Hs;var Ws=ga(462713202,Us);Qa[462713202]=Xs,Qa[474472470]=Gs;var Vs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),zs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Ks=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Zs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Js=[0,ws,Wi,-1,qi],qs=[0,ws,Wi,ta];Zs.prototype.g=ha([0,ws,Gs,[0,ws],_s,Os,Js,qs]);var $s=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),ec=ga(456383383,$s);Qa[456383383]=[0,ws,fs];var tc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),rc=ga(476348187,tc);Qa[476348187]=[0,ws,ps];var nc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),oc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),ic=[0,la,-1],ac=ga(458105876,function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"g",value:function(){var e=this.u,t=0|e[Xt],r=2&t;return e=function(e,t,r){var n=oc,o=2&t,i=!1;if(null==r){if(o)return In();r=[]}else if(r.constructor===pn){if(!(2&r.M)||o)return r;r=r.da()}else Array.isArray(r)?i=!!(2&r[Xt]):r=[];if(o){if(!r.length)return In();i||(i=!0,Kt(r))}else i&&(i=!1,r=Hn(r));return i||(64&r[Xt]?r[Xt]&=-33:32&t&&Vt(r,32)),Sn(e,t,2,n=new pn(r,n,on,void 0)),n}(e,t,Mn(e,t,2)),!r&&oc&&(e.pa=!0),e}}])}(No));Qa[458105876]=[0,ic,xi,[!0,Ki,[0,ia,-1,na]]];var sc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),cc=ga(458105758,sc);Qa[458105758]=[0,ws,ia,ic];var Ac=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),uc=ga(443442058,Ac);Qa[443442058]=[0,ws,ia,qi,Wi,na,-1,ta,Wi],Qa[514774813]=Js;var lc,dc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),gc=ga(516587230,dc);function fc(e,t){return t=t?t.clone():new gs,void 0!==e.displayNamesLocale?Rn(t,1,tn(e.displayNamesLocale)):void 0===e.displayNamesLocale&&Rn(t,1),void 0!==e.maxResults?uo(t,2,e.maxResults):"maxResults"in e&&Rn(t,2),void 0!==e.scoreThreshold?lo(t,3,e.scoreThreshold):"scoreThreshold"in e&&Rn(t,3),void 0!==e.categoryAllowlist?go(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&Rn(t,4),void 0!==e.categoryDenylist?go(t,5,e.categoryDenylist):"categoryDenylist"in e&&Rn(t,5),t}function hc(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return{categories:e.map((function(e){var t,r,n,o,i,a,s;return{index:null!=(r=null!=(t=ao(e,1))?t:0)?r:-1,score:null!=(n=co(e,2))?n:0,categoryName:null!=(i=null!=(o=so(e,3))?o:"")?i:"",displayName:null!=(s=null!=(a=so(e,4))?a:"")?s:""}})),headIndex:t,headName:r}}function pc(e){for(var t,r,n,o,i,a,c,A,u,l,d,g,f,h=Nn(e,3,jr,xn()),p=Nn(e,2,Xr,xn()),E=Nn(e,1,rn,xn()),m=Nn(e,9,rn,xn()),y={categories:[],keypoints:[]},I=0;I<h.length;I++)y.categories.push({score:h[I],index:null!=(t=p[I])?t:-1,categoryName:null!=(r=E[I])?r:"",displayName:null!=(n=m[I])?n:""});if((h=null==(o=Jn(e,Ja,4))?void 0:o.h())&&(y.boundingBox={originX:null!=(i=ao(h,1))?i:0,originY:null!=(a=ao(h,2))?a:0,width:null!=(c=ao(h,3))?c:0,height:null!=(A=ao(h,4))?A:0,angle:0}),null==(u=Jn(e,Ja,4))?void 0:u.g().length){var v,w=s(Jn(e,Ja,4).g());try{for(w.s();!(v=w.n()).done;){var C=v.value;y.keypoints.push({x:null!=(l=kn(C,1))?l:0,y:null!=(d=kn(C,2))?d:0,score:null!=(g=kn(C,4))?g:0,label:null!=(f=so(C,3))?f:""})}}catch(e){w.e(e)}finally{w.f()}}return y}function Ec(e){var t,r,n,o,i,a=[],c=s($n(e,ts,1));try{for(c.s();!(i=c.n()).done;){var A=i.value;a.push({x:null!=(t=co(A,1))?t:0,y:null!=(r=co(A,2))?r:0,z:null!=(n=co(A,3))?n:0,visibility:null!=(o=co(A,4))?o:0})}}catch(e){c.e(e)}finally{c.f()}return a}function mc(e){var t,r,n,o,i,a=[],c=s($n(e,$a,1));try{for(c.s();!(i=c.n()).done;){var A=i.value;a.push({x:null!=(t=co(A,1))?t:0,y:null!=(r=co(A,2))?r:0,z:null!=(n=co(A,3))?n:0,visibility:null!=(o=co(A,4))?o:0})}}catch(e){c.e(e)}finally{c.f()}return a}function yc(e){return Array.from(e,(function(e){return e>127?e-256:e}))}function Ic(e,t){if(e.length!==t.length)throw Error("Cannot compute cosine similarity between embeddings of different sizes (".concat(e.length," vs. ").concat(t.length,")."));for(var r=0,n=0,o=0,i=0;i<e.length;i++)r+=e[i]*t[i],n+=e[i]*e[i],o+=t[i]*t[i];if(n<=0||o<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(n*o)}Qa[516587230]=[0,ws,Js,qs,Wi],Qa[518928384]=qs;var vc=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);function wc(){return Cc.apply(this,arguments)}function Cc(){return(Cc=r(d().mark((function e(){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==lc){e.next=10;break}return e.prev=1,e.next=4,WebAssembly.instantiate(vc);case 4:lc=!0,e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),lc=!1;case 10:return e.abrupt("return",lc);case 11:case"end":return e.stop()}}),e,null,[[1,7]])})))).apply(this,arguments)}function _c(e){return bc.apply(this,arguments)}function bc(){return bc=r(d().mark((function e(t){var r,n,o=arguments;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:va(w||(w=p([""]))),e.next=3,wc();case 3:if(!e.sent){e.next=7;break}e.t0="wasm_internal",e.next=8;break;case 7:e.t0="wasm_nosimd_internal";case 8:return n=e.t0,e.abrupt("return",{wasmLoaderPath:"".concat(r,"/").concat(t,"_").concat(n,".js"),wasmBinaryPath:"".concat(r,"/").concat(t,"_").concat(n,".wasm")});case 10:case"end":return e.stop()}}),e)}))),bc.apply(this,arguments)}var Bc=a((function e(){o(this,e)}));function Dc(){var e=navigator;return!("undefined"==typeof OffscreenCanvas||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator;return(e=e.userAgent).includes("Safari")&&!e.includes("Chrome")}(e)&&!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}function Tc(e){return Oc.apply(this,arguments)}function Oc(){return(Oc=r(d().mark((function e(t){var r;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"==typeof importScripts){e.next=3;break}return r=document.createElement("script"),e.abrupt("return",(r.src=t.toString(),r.crossOrigin="anonymous",new Promise((function(e,t){r.addEventListener("load",(function(){e()}),!1),r.addEventListener("error",(function(e){t(e)}),!1),document.body.appendChild(r)}))));case 3:importScripts(t.toString());case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qc(e){return void 0!==e.videoWidth?[e.videoWidth,e.videoHeight]:void 0!==e.naturalWidth?[e.naturalWidth,e.naturalHeight]:void 0!==e.displayWidth?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function Pc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Mc(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);var n=f(Qc(t),2),o=n[0],i=n[1];return!e.l||o===e.i.canvas.width&&i===e.i.canvas.height||(e.i.canvas.width=o,e.i.canvas.height=i),[o,i]}function Rc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");for(var n=new Uint32Array(t.length),o=0;o<t.length;o++)n[o]=e.i.stringToNewUTF8(t[o]);t=e.i._malloc(4*n.length),e.i.HEAPU32.set(n,t>>2),r(t);var i,a=s(n);try{for(a.s();!(i=a.n()).done;){var c=i.value;e.i._free(c)}}catch(e){a.e(e)}finally{a.f()}e.i._free(t)}function Sc(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function kc(e,t,r){var n=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=function(e,t,o){t?(r(n,o),n=[]):n.push(e)}}function Fc(e,t,r,n){return xc.apply(this,arguments)}function xc(){return xc=r(d().mark((function e(t,n,o,i){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,function(){var e=r(d().mark((function e(t,r,n,o,i){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0=r,!e.t0){e.next=4;break}return e.next=4,Tc(r);case 4:if(self.ModuleFactory){e.next=6;break}throw Error("ModuleFactory not set.");case 6:if(e.t1=n,!e.t1){e.next=11;break}return e.next=10,Tc(n);case 10:e.t1=!self.ModuleFactory;case 11:if(!e.t1){e.next=13;break}throw Error("ModuleFactory not set.");case 13:return self.Module&&i&&((r=self.Module).locateFile=i.locateFile,i.mainScriptUrlOrBlob&&(r.mainScriptUrlOrBlob=i.mainScriptUrlOrBlob)),e.next=16,self.ModuleFactory(self.Module||i);case 16:return i=e.sent,self.ModuleFactory=self.Module=void 0,e.abrupt("return",new t(i,o));case 19:case"end":return e.stop()}}),e)})));return function(t,r,n,o,i){return e.apply(this,arguments)}}()(t,o.wasmLoaderPath,o.assetLoaderPath,n,{locateFile:function(e){return e.endsWith(".wasm")?o.wasmBinaryPath.toString():o.assetBinaryPath&&e.endsWith(".data")?o.assetBinaryPath.toString():e}});case 2:return t=e.sent,e.next=5,t.o(i);case 5:return e.abrupt("return",t);case 6:case"end":return e.stop()}}),e)}))),xc.apply(this,arguments)}function Nc(e,t){var r=Jn(e.baseOptions,ys,1)||new ys;"string"==typeof t?(Rn(r,2,tn(t)),Rn(r,1)):t instanceof Uint8Array&&(Rn(r,1,rr(t,!1)),Rn(r,2)),eo(e.baseOptions,0,1,r)}function Uc(e){try{var t=e.G.length;if(1===t)throw Error(e.G[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.G.map((function(e){return e.message})).join(", "))}finally{e.G=[]}}function jc(e,t){e.B=Math.max(e.B,t)}function Lc(e,t){e.A=new ka,Ma(e.A,"PassThroughCalculator"),Ra(e.A,"free_memory"),Sa(e.A,"free_memory_unused_out"),ja(t,"free_memory"),Ua(t,e.A)}function Hc(e,t){Ra(e.A,t),Sa(e.A,t+"_unused_out")}function Gc(e){e.g.addBoolToStream(!0,"free_memory",e.B)}Bc.forVisionTasks=function(e){return _c("vision",e)},Bc.forTextTasks=function(e){return _c("text",e)},Bc.forGenAiExperimentalTasks=function(e){return _c("genai_experimental",e)},Bc.forGenAiTasks=function(e){return _c("genai",e)},Bc.forAudioTasks=function(e){return _c("audio",e)},Bc.isSimdSupported=function(){return wc()};var Xc=function(){return a((function e(t){o(this,e),this.g=t,this.G=[],this.B=0,this.g.setAutoRenderToScreen(!1)}),[{key:"l",value:function(e){var t,n,o,i,a,s,c,A=this;if(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]){var u=e.baseOptions||{};if((null==(t=e.baseOptions)?void 0:t.modelAssetBuffer)&&(null==(n=e.baseOptions)?void 0:n.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((null==(o=Jn(this.baseOptions,ys,1))?void 0:o.g())||(null==(i=Jn(this.baseOptions,ys,1))?void 0:i.h())||(null==(a=e.baseOptions)?void 0:a.modelAssetBuffer)||(null==(s=e.baseOptions)?void 0:s.modelAssetPath)))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(e,t){var r=Jn(e.baseOptions,Es,3);if(!r){var n=r=new Es,o=new Ba;to(n,4,ms,o)}"delegate"in t&&("GPU"===t.delegate?(t=r,n=new Ca,to(t,2,ms,n)):(t=r,n=new Ba,to(t,4,ms,n))),eo(e.baseOptions,0,3,r)}(this,u),u.modelAssetPath)return fetch(u.modelAssetPath.toString()).then((function(e){if(e.ok)return e.arrayBuffer();throw Error("Failed to fetch model: ".concat(u.modelAssetPath," (").concat(e.status,")"))})).then((function(e){try{A.g.i.FS_unlink("/model.dat")}catch(e){}A.g.i.FS_createDataFile("/","model.dat",new Uint8Array(e),!0,!1,!1),Nc(A,"/model.dat"),A.m(),A.J()}));if(u.modelAssetBuffer instanceof Uint8Array)Nc(this,u.modelAssetBuffer);else if(u.modelAssetBuffer)return(c=r(d().mark((function e(t){var r,n,o,i,a,s,c,A;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=[],n=0;case 2:return e.next=4,t.read();case 4:if(o=e.sent,i=o.done,a=o.value,!i){e.next=9;break}return e.abrupt("break",12);case 9:r.push(a),n+=a.length;case 10:e.next=2;break;case 12:if(0!==r.length){e.next=14;break}return e.abrupt("return",new Uint8Array(0));case 14:if(1!==r.length){e.next=16;break}return e.abrupt("return",r[0]);case 16:for(t=new Uint8Array(n),n=0,s=0,c=r;s<c.length;s++)A=c[s],t.set(A,n),n+=A.length;return e.abrupt("return",t);case 19:case"end":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})(u.modelAssetBuffer).then((function(e){Nc(A,e),A.m(),A.J()}))}return this.m(),this.J(),Promise.resolve()}},{key:"J",value:function(){}},{key:"ca",value:function(){var e;if(this.g.ca((function(t){e=Xa(t)})),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}},{key:"setGraph",value:function(e,t){var r=this;this.g.attachErrorListener((function(e,t){r.G.push(Error(t))})),this.g.Ha(),this.g.setGraph(e,t),this.A=void 0,Uc(this)}},{key:"finishProcessing",value:function(){this.g.finishProcessing(),Uc(this)}},{key:"close",value:function(){this.A=void 0,this.g.closeGraph()}}])}();function Yc(e,t){if(!e)throw Error("Unable to obtain required WebGL resource: ".concat(t));return e}Xc.prototype.close=Xc.prototype.close;var Wc=function(){return a((function e(t,r,n,i){o(this,e),this.g=t,this.h=r,this.m=n,this.l=i}),[{key:"bind",value:function(){this.g.bindVertexArray(this.h)}},{key:"close",value:function(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}])}();function Vc(e,t,r){var n=e.g;if(r=Yc(n.createShader(r),"Failed to create WebGL shader"),n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS))throw Error("Could not compile WebGL shader: ".concat(n.getShaderInfoLog(r)));return n.attachShader(e.h,r),r}function zc(e,t){var r=e.g,n=Yc(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(n);var o=Yc(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,o),r.enableVertexAttribArray(e.P),r.vertexAttribPointer(e.P,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);var i=Yc(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,i),r.enableVertexAttribArray(e.J),r.vertexAttribPointer(e.J,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new Wc(r,n,o,i)}function Kc(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function Zc(e,t,r,n){return Kc(e,t),e.h||(e.m(),e.C()),r?(e.s||(e.s=zc(e,!0)),r=e.s):(e.v||(e.v=zc(e,!1)),r=e.v),t.useProgram(e.h),r.bind(),e.l(),e=n(),r.g.bindVertexArray(null),e}function Jc(e,t,r){return Kc(e,t),e=Yc(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,null!=r?r:t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,null!=r?r:t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function qc(e,t,r){Kc(e,t),e.A||(e.A=Yc(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.A),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function $c(e){var t;null==(t=e.g)||t.bindFramebuffer(e.g.FRAMEBUFFER,null)}var eA,tA=function(){return a((function e(){o(this,e)}),[{key:"G",value:function(){return"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D inputTexture;\n void main() {\n gl_FragColor = texture2D(inputTexture, vTex);\n }\n "}},{key:"m",value:function(){var e=this.g;if(this.h=Yc(e.createProgram(),"Failed to create WebGL program"),this.Z=Vc(this,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",e.VERTEX_SHADER),this.Y=Vc(this,this.G(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error("Error during program linking: ".concat(e.getProgramInfoLog(this.h)));this.P=e.getAttribLocation(this.h,"aVertex"),this.J=e.getAttribLocation(this.h,"aTex")}},{key:"C",value:function(){}},{key:"l",value:function(){}},{key:"close",value:function(){if(this.h){var e=this.g;e.deleteProgram(this.h),e.deleteShader(this.Z),e.deleteShader(this.Y)}this.A&&this.g.deleteFramebuffer(this.A),this.v&&this.v.close(),this.s&&this.s.close()}}])}(),rA=function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t,[{key:"G",value:function(){return"\n precision mediump float;\n uniform sampler2D backgroundTexture;\n uniform sampler2D maskTexture;\n uniform sampler2D colorMappingTexture;\n varying vec2 vTex;\n void main() {\n vec4 backgroundColor = texture2D(backgroundTexture, vTex);\n float category = texture2D(maskTexture, vTex).r;\n vec4 categoryColor = texture2D(colorMappingTexture, vec2(category, 0.0));\n gl_FragColor = mix(backgroundColor, categoryColor, categoryColor.a);\n }\n "}},{key:"C",value:function(){var e=this.g;e.activeTexture(e.TEXTURE1),this.B=Jc(this,e,e.LINEAR),e.activeTexture(e.TEXTURE2),this.j=Jc(this,e,e.NEAREST)}},{key:"m",value:function(){h(t,"m",this)([]);var e=this.g;this.L=Yc(e.getUniformLocation(this.h,"backgroundTexture"),"Uniform location"),this.U=Yc(e.getUniformLocation(this.h,"colorMappingTexture"),"Uniform location"),this.K=Yc(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}},{key:"l",value:function(){h(t,"l",this)([]);var e=this.g;e.uniform1i(this.K,0),e.uniform1i(this.L,1),e.uniform1i(this.U,2)}},{key:"close",value:function(){this.B&&this.g.deleteTexture(this.B),this.j&&this.g.deleteTexture(this.j),h(t,"close",this)([])}}])}(tA),nA=function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t,[{key:"G",value:function(){return"\n precision mediump float;\n uniform sampler2D maskTexture;\n uniform sampler2D defaultTexture;\n uniform sampler2D overlayTexture;\n varying vec2 vTex;\n void main() {\n float confidence = texture2D(maskTexture, vTex).r;\n vec4 defaultColor = texture2D(defaultTexture, vTex);\n vec4 overlayColor = texture2D(overlayTexture, vTex);\n // Apply the alpha from the overlay and merge in the default color\n overlayColor = mix(defaultColor, overlayColor, overlayColor.a);\n gl_FragColor = mix(defaultColor, overlayColor, confidence);\n }\n "}},{key:"C",value:function(){var e=this.g;e.activeTexture(e.TEXTURE1),this.j=Jc(this,e),e.activeTexture(e.TEXTURE2),this.B=Jc(this,e)}},{key:"m",value:function(){h(t,"m",this)([]);var e=this.g;this.K=Yc(e.getUniformLocation(this.h,"defaultTexture"),"Uniform location"),this.L=Yc(e.getUniformLocation(this.h,"overlayTexture"),"Uniform location"),this.H=Yc(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}},{key:"l",value:function(){h(t,"l",this)([]);var e=this.g;e.uniform1i(this.H,0),e.uniform1i(this.K,1),e.uniform1i(this.L,2)}},{key:"close",value:function(){this.j&&this.g.deleteTexture(this.j),this.B&&this.g.deleteTexture(this.B),h(t,"close",this)([])}}])}(tA);function oA(e,t){switch(t){case 0:return e.g.find((function(e){return e instanceof Uint8Array}));case 1:return e.g.find((function(e){return e instanceof Float32Array}));case 2:return e.g.find((function(e){return"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture}));default:throw Error("Type is not supported: ".concat(t))}}function iA(e){var t=oA(e,1);if(!t){if(t=oA(e,0))t=new Float32Array(t).map((function(e){return e/255}));else{t=new Float32Array(e.width*e.height);var r=sA(e),n=AA(e);if(qc(n,r,aA(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){n=new Float32Array(e.width*e.height*4),r.readPixels(0,0,e.width,e.height,r.RGBA,r.FLOAT,n);for(var o=0,i=0;o<t.length;++o,i+=4)t[o]=n[i]}else r.readPixels(0,0,e.width,e.height,r.RED,r.FLOAT,t)}e.g.push(t)}return t}function aA(e){var t=oA(e,2);if(!t){var r=sA(e);t=uA(e);var n=iA(e),o=cA(e);r.texImage2D(r.TEXTURE_2D,0,o,e.width,e.height,0,r.RED,r.FLOAT,n),lA(e)}return t}function sA(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Yc(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function cA(e){if(e=sA(e),!eA)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))eA=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");eA=e.R16F}return eA}function AA(e){return e.l||(e.l=new tA),e.l}function uA(e){var t=sA(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);var r=oA(e,2);return r||(r=Jc(AA(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function lA(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var dA=function(){return a((function e(t,r,n,i,a,s,c){o(this,e),this.g=t,this.m=r,this.j=n,this.canvas=i,this.l=a,this.width=s,this.height=c,this.j&&0==--gA&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}),[{key:"Da",value:function(){return!!oA(this,0)}},{key:"ja",value:function(){return!!oA(this,1)}},{key:"R",value:function(){return!!oA(this,2)}},{key:"ia",value:function(){return(e=oA(this,0))||(e=iA(this),e=new Uint8Array(e.map((function(e){return 255*e}))),this.g.push(e)),e;var e}},{key:"ha",value:function(){return iA(this)}},{key:"N",value:function(){return aA(this)}},{key:"clone",value:function(){var e,t=this,r=[],n=s(this.g);try{var o=function(){var n,o=e.value;if(o instanceof Uint8Array)n=new Uint8Array(o);else if(o instanceof Float32Array)n=new Float32Array(o);else{if(!(o instanceof WebGLTexture))throw Error("Type is not supported: ".concat(o));var i=sA(t),a=AA(t);i.activeTexture(i.TEXTURE1),n=Jc(a,i,t.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,n);var s=cA(t);i.texImage2D(i.TEXTURE_2D,0,s,t.width,t.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),qc(a,i,n),Zc(a,i,!1,(function(){uA(t),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),lA(t)})),$c(a),lA(t)}r.push(n)};for(n.s();!(e=n.n()).done;)o()}catch(e){n.e(e)}finally{n.f()}return new dA(r,this.m,this.R(),this.canvas,this.l,this.width,this.height)}},{key:"close",value:function(){this.j&&sA(this).deleteTexture(oA(this,2)),gA=-1}}])}();dA.prototype.close=dA.prototype.close,dA.prototype.clone=dA.prototype.clone,dA.prototype.getAsWebGLTexture=dA.prototype.N,dA.prototype.getAsFloat32Array=dA.prototype.ha,dA.prototype.getAsUint8Array=dA.prototype.ia,dA.prototype.hasWebGLTexture=dA.prototype.R,dA.prototype.hasFloat32Array=dA.prototype.ja,dA.prototype.hasUint8Array=dA.prototype.Da;var gA=250,fA={color:"white",lineWidth:4,radius:6};function hA(e){return Q(P(Q({},fA),{fillColor:(e=e||{}).color}),e)}function pA(e,t){return e instanceof Function?e(t):e}function EA(e,t,r){return Math.max(Math.min(t,r),Math.min(Math.max(t,r),e))}function mA(e){if(!e.l)throw Error("CPU rendering requested but CanvasRenderingContext2D not provided.");return e.l}function yA(e){if(!e.j)throw Error("GPU rendering requested but WebGL2RenderingContext not provided.");return e.j}function IA(e,t,r){var n;if(t.R())r(t.N());else{var o=t.ja()?t.ha():t.ia();e.m=null!=(n=e.m)?n:new tA;var i=yA(e);r((e=new dA([o],t.m,!1,i.canvas,e.m,t.width,t.height)).N()),e.close()}}function vA(e,t,r,n){var o,i=((o=e).g||(o.g=new rA),o.g),a=yA(e),c=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r;Zc(i,a,!0,(function(){!function(e,t,r,n){var o=e.g;if(o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,t),o.activeTexture(o.TEXTURE1),o.bindTexture(o.TEXTURE_2D,e.B),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,r),e.H&&function(e,t){if(e!==t)return!1;e=e.entries(),t=t.entries();var r,n=s(e);try{for(n.s();!(r=n.n()).done;){var o=f(r.value,2),i=o[0],a=o[1];e=i;var c=a,A=t.next();if(A.done)return!1;var u=f(A.value,2),l=u[0];if(A=u[1],e!==l||c[0]!==A[0]||c[1]!==A[1]||c[2]!==A[2]||c[3]!==A[3])return!1}}catch(e){n.e(e)}finally{n.f()}return!!t.next().done}(e.H,n))o.activeTexture(o.TEXTURE2),o.bindTexture(o.TEXTURE_2D,e.j);else{e.H=n;var i=Array(1024).fill(0);n.forEach((function(e,t){if(4!==e.length)throw Error("Color at index ".concat(t," is not a four-channel value."));i[4*t]=e[0],i[4*t+1]=e[1],i[4*t+2]=e[2],i[4*t+3]=e[3]})),o.activeTexture(o.TEXTURE2),o.bindTexture(o.TEXTURE_2D,e.j),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,256,1,0,o.RGBA,o.UNSIGNED_BYTE,new Uint8Array(i))}}(i,t,c,n),a.clearColor(0,0,0,0),a.clear(a.COLOR_BUFFER_BIT),a.drawArrays(a.TRIANGLE_FAN,0,4);var e=i.g;e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,null)}))}function wA(e,t,r,n){var o,i=yA(e),a=((o=e).h||(o.h=new nA),o.h),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r,c=Array.isArray(n)?new ImageData(new Uint8ClampedArray(n),1,1):n;Zc(a,i,!0,(function(){var e=a.g;e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,a.j),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,s),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,a.B),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,c),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),i.bindTexture(i.TEXTURE_2D,null),(e=a.g).activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,null)}))}var CA=function(){return a((function e(t,r){o(this,e),"undefined"!=typeof CanvasRenderingContext2D&&t instanceof CanvasRenderingContext2D||t instanceof OffscreenCanvasRenderingContext2D?(this.l=t,this.j=r):this.j=t}),[{key:"wa",value:function(e,t){if(e){var r=mA(this);t=hA(t),r.save();var n,o=r.canvas,i=0,a=s(e);try{for(a.s();!(n=a.n()).done;){var c=n.value;r.fillStyle=pA(t.fillColor,{index:i,from:c}),r.strokeStyle=pA(t.color,{index:i,from:c}),r.lineWidth=pA(t.lineWidth,{index:i,from:c}),(e=new Path2D).arc(c.x*o.width,c.y*o.height,pA(t.radius,{index:i,from:c}),0,2*Math.PI),r.fill(e),r.stroke(e),++i}}catch(e){a.e(e)}finally{a.f()}r.restore()}}},{key:"va",value:function(e,t,r){if(e&&t){var n=mA(this);r=hA(r),n.save();var o,i=n.canvas,a=0,c=s(t);try{for(c.s();!(o=c.n()).done;){var A=o.value;n.beginPath(),t=e[A.start];var u=e[A.end];t&&u&&(n.strokeStyle=pA(r.color,{index:a,from:t,to:u}),n.lineWidth=pA(r.lineWidth,{index:a,from:t,to:u}),n.moveTo(t.x*i.width,t.y*i.height),n.lineTo(u.x*i.width,u.y*i.height)),++a,n.stroke()}}catch(e){c.e(e)}finally{c.f()}n.restore()}}},{key:"sa",value:function(e,t){var r=mA(this);t=hA(t),r.save(),r.beginPath(),r.lineWidth=pA(t.lineWidth,{}),r.strokeStyle=pA(t.color,{}),r.fillStyle=pA(t.fillColor,{}),r.moveTo(e.originX,e.originY),r.lineTo(e.originX+e.width,e.originY),r.lineTo(e.originX+e.width,e.originY+e.height),r.lineTo(e.originX,e.originY+e.height),r.lineTo(e.originX,e.originY),r.stroke(),r.fill(),r.restore()}},{key:"ta",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0,0,255];this.l?function(e,t,r,n){var o=yA(e);IA(e,t,(function(t){vA(e,t,r,n),(t=mA(e)).drawImage(o.canvas,0,0,t.canvas.width,t.canvas.height)}))}(this,e,r,t):vA(this,e.N(),r,t)}},{key:"ua",value:function(e,t,r){this.l?function(e,t,r,n){var o=yA(e);IA(e,t,(function(t){wA(e,t,r,n),(t=mA(e)).drawImage(o.canvas,0,0,t.canvas.width,t.canvas.height)}))}(this,e,t,r):wA(this,e.N(),t,r)}},{key:"close",value:function(){var e,t,r;null==(e=this.g)||e.close(),this.g=void 0,null==(t=this.h)||t.close(),this.h=void 0,null==(r=this.m)||r.close(),this.m=void 0}}])}();function _A(e,t){switch(t){case 0:return e.g.find((function(e){return e instanceof ImageData}));case 1:return e.g.find((function(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap}));case 2:return e.g.find((function(e){return"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture}));default:throw Error("Type is not supported: ".concat(t))}}function bA(e){var t=_A(e,0);if(!t){t=DA(e);var r=TA(e),n=new Uint8Array(e.width*e.height*4);qc(r,t,BA(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,n),$c(r),t=new ImageData(new Uint8ClampedArray(n.buffer),e.width,e.height),e.g.push(t)}return t}function BA(e){var t=_A(e,2);if(!t){var r=DA(e);t=OA(e);var n=_A(e,1)||bA(e);r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,n),QA(e)}return t}function DA(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Yc(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function TA(e){return e.l||(e.l=new tA),e.l}function OA(e){var t=DA(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);var r=_A(e,2);return r||(r=Jc(TA(e),t),e.g.push(r),e.m=!0),t.bindTexture(t.TEXTURE_2D,r),r}function QA(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function PA(e){var t=DA(e);return Zc(TA(e),t,!0,(function(){return function(e,t){var r=e.canvas;if(r.width===e.width&&r.height===e.height)return t();var n=r.width,o=r.height;return r.width=e.width,r.height=e.height,e=t(),r.width=n,r.height=o,e}(e,(function(){if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))}))}CA.prototype.close=CA.prototype.close,CA.prototype.drawConfidenceMask=CA.prototype.ua,CA.prototype.drawCategoryMask=CA.prototype.ta,CA.prototype.drawBoundingBox=CA.prototype.sa,CA.prototype.drawConnectors=CA.prototype.va,CA.prototype.drawLandmarks=CA.prototype.wa,CA.lerp=function(e,t,r,n,o){return EA(n*(1-(e-t)/(r-t))+o*(1-(r-e)/(r-t)),n,o)},CA.clamp=EA;var MA=function(){return a((function e(t,r,n,i,a,s,c){o(this,e),this.g=t,this.j=r,this.m=n,this.canvas=i,this.l=a,this.width=s,this.height=c,(this.j||this.m)&&0==--RA&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}),[{key:"Ca",value:function(){return!!_A(this,0)}},{key:"ka",value:function(){return!!_A(this,1)}},{key:"R",value:function(){return!!_A(this,2)}},{key:"Aa",value:function(){return bA(this)}},{key:"za",value:function(){var e=_A(this,1);return e||(BA(this),OA(this),e=PA(this),QA(this),this.g.push(e),this.j=!0),e}},{key:"N",value:function(){return BA(this)}},{key:"clone",value:function(){var e,t=this,r=[],n=s(this.g);try{var o=function(){var n,o=e.value;if(o instanceof ImageData)n=new ImageData(o.data,t.width,t.height);else if(o instanceof WebGLTexture){var i=DA(t),a=TA(t);i.activeTexture(i.TEXTURE1),n=Jc(a,i),i.bindTexture(i.TEXTURE_2D,n),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,t.width,t.height,0,i.RGBA,i.UNSIGNED_BYTE,null),i.bindTexture(i.TEXTURE_2D,null),qc(a,i,n),Zc(a,i,!1,(function(){OA(t),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),QA(t)})),$c(a),QA(t)}else{if(!(o instanceof ImageBitmap))throw Error("Type is not supported: ".concat(o));BA(t),OA(t),n=PA(t),QA(t)}r.push(n)};for(n.s();!(e=n.n()).done;)o()}catch(e){n.e(e)}finally{n.f()}return new MA(r,this.ka(),this.R(),this.canvas,this.l,this.width,this.height)}},{key:"close",value:function(){this.j&&_A(this,1).close(),this.m&&DA(this).deleteTexture(_A(this,2)),RA=-1}}])}();MA.prototype.close=MA.prototype.close,MA.prototype.clone=MA.prototype.clone,MA.prototype.getAsWebGLTexture=MA.prototype.N,MA.prototype.getAsImageBitmap=MA.prototype.za,MA.prototype.getAsImageData=MA.prototype.Aa,MA.prototype.hasWebGLTexture=MA.prototype.R,MA.prototype.hasImageBitmap=MA.prototype.ka,MA.prototype.hasImageData=MA.prototype.Ca;var RA=250;function SA(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.map((function(e){var t=f(e,2);return{start:t[0],end:t[1]}}))}var kA,FA=function(e){return function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t,[{key:"Ha",value:function(){this.i._registerModelResourcesGraphService()}}])}(e)}((kA=function(){return a((function e(t,r){o(this,e),this.l=!0,this.i=t,this.g=null,this.h=0,this.m="function"==typeof this.i._addIntToInputStream,void 0!==r?this.i.canvas=r:Dc()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}),[{key:"initializeGraph",value:(e=r(d().mark((function e(t){var r;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(t);case 2:return e.next=4,e.sent.arrayBuffer();case 4:r=e.sent,t=!(t.endsWith(".pbtxt")||t.endsWith(".textproto")),this.setGraph(new Uint8Array(r),t);case 6:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})},{key:"setGraphFromString",value:function(e){this.setGraph((new TextEncoder).encode(e),!1)}},{key:"setGraph",value:function(e,t){var r=e.length,n=this.i._malloc(r);this.i.HEAPU8.set(e,n),t?this.i._changeBinaryGraph(r,n):this.i._changeTextGraph(r,n),this.i._free(n)}},{key:"configureAudio",value:function(e,t,r,n,o){var i=this;this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),Pc(this,n||"input_audio",(function(n){Pc(i,o=o||"audio_header",(function(o){i.i._configureAudio(n,o,e,null!=t?t:0,r)}))}))}},{key:"setAutoResizeCanvas",value:function(e){this.l=e}},{key:"setAutoRenderToScreen",value:function(e){this.i._setAutoRenderToScreen(e)}},{key:"setGpuBufferVerticalFlip",value:function(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}},{key:"ca",value:function(e){var t=this;Sc(this,"__graph_config__",(function(t){e(t)})),Pc(this,"__graph_config__",(function(e){t.i._getGraphConfig(e,void 0)})),delete this.i.simpleListeners.__graph_config__}},{key:"attachErrorListener",value:function(e){this.i.errorListener=e}},{key:"attachEmptyPacketListener",value:function(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}},{key:"addAudioToStream",value:function(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}},{key:"addAudioToStreamWithShape",value:function(e,t,r,n,o){var i=this,a=4*e.length;this.h!==a&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(a),this.h=a),this.i.HEAPF32.set(e,this.g/4),Pc(this,n,(function(e){i.i._addAudioToInputStream(i.g,t,r,e,o)}))}},{key:"addGpuBufferToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){var o=f(Mc(n,e,t),2),i=o[0],a=o[1];n.i._addBoundTextureToStream(t,i,a,r)}))}},{key:"addBoolToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){n.i._addBoolToInputStream(e,t,r)}))}},{key:"addDoubleToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){n.i._addDoubleToInputStream(e,t,r)}))}},{key:"addFloatToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){n.i._addFloatToInputStream(e,t,r)}))}},{key:"addIntToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){n.i._addIntToInputStream(e,t,r)}))}},{key:"addUintToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){n.i._addUintToInputStream(e,t,r)}))}},{key:"addStringToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){Pc(n,e,(function(e){n.i._addStringToInputStream(e,t,r)}))}))}},{key:"addStringRecordToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){Rc(n,Object.keys(e),(function(o){Rc(n,Object.values(e),(function(i){n.i._addFlatHashMapToInputStream(o,i,Object.keys(e).length,t,r)}))}))}))}},{key:"addProtoToStream",value:function(e,t,r,n){var o=this;Pc(this,r,(function(r){Pc(o,t,(function(t){var i=o.i._malloc(e.length);o.i.HEAPU8.set(e,i),o.i._addProtoToInputStream(i,e.length,t,r,n),o.i._free(i)}))}))}},{key:"addEmptyPacketToStream",value:function(e,t){var r=this;Pc(this,e,(function(e){r.i._addEmptyPacketToInputStream(e,t)}))}},{key:"addBoolVectorToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){var o=n.i._allocateBoolVector(e.length);if(!o)throw Error("Unable to allocate new bool vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addBoolVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addBoolVectorToInputStream(o,t,r)}))}},{key:"addDoubleVectorToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){var o=n.i._allocateDoubleVector(e.length);if(!o)throw Error("Unable to allocate new double vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addDoubleVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addDoubleVectorToInputStream(o,t,r)}))}},{key:"addFloatVectorToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){var o=n.i._allocateFloatVector(e.length);if(!o)throw Error("Unable to allocate new float vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addFloatVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addFloatVectorToInputStream(o,t,r)}))}},{key:"addIntVectorToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){var o=n.i._allocateIntVector(e.length);if(!o)throw Error("Unable to allocate new int vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addIntVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addIntVectorToInputStream(o,t,r)}))}},{key:"addUintVectorToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){var o=n.i._allocateUintVector(e.length);if(!o)throw Error("Unable to allocate new unsigned int vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addUintVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addUintVectorToInputStream(o,t,r)}))}},{key:"addStringVectorToStream",value:function(e,t,r){var n=this;Pc(this,t,(function(t){var o=n.i._allocateStringVector(e.length);if(!o)throw Error("Unable to allocate new string vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;Pc(n,c,(function(e){n.i._addStringVectorEntry(o,e)}))}}catch(e){a.e(e)}finally{a.f()}n.i._addStringVectorToInputStream(o,t,r)}))}},{key:"addBoolToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){r.i._addBoolToInputSidePacket(e,t)}))}},{key:"addDoubleToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){r.i._addDoubleToInputSidePacket(e,t)}))}},{key:"addFloatToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){r.i._addFloatToInputSidePacket(e,t)}))}},{key:"addIntToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){r.i._addIntToInputSidePacket(e,t)}))}},{key:"addUintToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){r.i._addUintToInputSidePacket(e,t)}))}},{key:"addStringToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){Pc(r,e,(function(e){r.i._addStringToInputSidePacket(e,t)}))}))}},{key:"addProtoToInputSidePacket",value:function(e,t,r){var n=this;Pc(this,r,(function(r){Pc(n,t,(function(t){var o=n.i._malloc(e.length);n.i.HEAPU8.set(e,o),n.i._addProtoToInputSidePacket(o,e.length,t,r),n.i._free(o)}))}))}},{key:"addBoolVectorToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){var n=r.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addBoolVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addBoolVectorToInputSidePacket(n,t)}))}},{key:"addDoubleVectorToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){var n=r.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addDoubleVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addDoubleVectorToInputSidePacket(n,t)}))}},{key:"addFloatVectorToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){var n=r.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addFloatVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addFloatVectorToInputSidePacket(n,t)}))}},{key:"addIntVectorToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){var n=r.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addIntVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addIntVectorToInputSidePacket(n,t)}))}},{key:"addUintVectorToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){var n=r.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addUintVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addUintVectorToInputSidePacket(n,t)}))}},{key:"addStringVectorToInputSidePacket",value:function(e,t){var r=this;Pc(this,t,(function(t){var n=r.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;Pc(r,a,(function(e){r.i._addStringVectorEntry(n,e)}))}}catch(e){i.e(e)}finally{i.f()}r.i._addStringVectorToInputSidePacket(n,t)}))}},{key:"attachBoolListener",value:function(e,t){var r=this;Sc(this,e,t),Pc(this,e,(function(e){r.i._attachBoolListener(e)}))}},{key:"attachBoolVectorListener",value:function(e,t){var r=this;kc(this,e,t),Pc(this,e,(function(e){r.i._attachBoolVectorListener(e)}))}},{key:"attachIntListener",value:function(e,t){var r=this;Sc(this,e,t),Pc(this,e,(function(e){r.i._attachIntListener(e)}))}},{key:"attachIntVectorListener",value:function(e,t){var r=this;kc(this,e,t),Pc(this,e,(function(e){r.i._attachIntVectorListener(e)}))}},{key:"attachUintListener",value:function(e,t){var r=this;Sc(this,e,t),Pc(this,e,(function(e){r.i._attachUintListener(e)}))}},{key:"attachUintVectorListener",value:function(e,t){var r=this;kc(this,e,t),Pc(this,e,(function(e){r.i._attachUintVectorListener(e)}))}},{key:"attachDoubleListener",value:function(e,t){var r=this;Sc(this,e,t),Pc(this,e,(function(e){r.i._attachDoubleListener(e)}))}},{key:"attachDoubleVectorListener",value:function(e,t){var r=this;kc(this,e,t),Pc(this,e,(function(e){r.i._attachDoubleVectorListener(e)}))}},{key:"attachFloatListener",value:function(e,t){var r=this;Sc(this,e,t),Pc(this,e,(function(e){r.i._attachFloatListener(e)}))}},{key:"attachFloatVectorListener",value:function(e,t){var r=this;kc(this,e,t),Pc(this,e,(function(e){r.i._attachFloatVectorListener(e)}))}},{key:"attachStringListener",value:function(e,t){var r=this;Sc(this,e,t),Pc(this,e,(function(e){r.i._attachStringListener(e)}))}},{key:"attachStringVectorListener",value:function(e,t){var r=this;kc(this,e,t),Pc(this,e,(function(e){r.i._attachStringVectorListener(e)}))}},{key:"attachProtoListener",value:function(e,t,r){var n=this;Sc(this,e,t),Pc(this,e,(function(e){n.i._attachProtoListener(e,r||!1)}))}},{key:"attachProtoVectorListener",value:function(e,t,r){var n=this;kc(this,e,t),Pc(this,e,(function(e){n.i._attachProtoVectorListener(e,r||!1)}))}},{key:"attachAudioListener",value:function(e,t,r){var n=this;this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),Sc(this,e,(function(e,r){e=new Float32Array(e.buffer,e.byteOffset,e.length/4),t(e,r)})),Pc(this,e,(function(e){n.i._attachAudioListener(e,r||!1)}))}},{key:"finishProcessing",value:function(){this.i._waitUntilIdle()}},{key:"closeGraph",value:function(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}}]);var e}(),function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t,[{key:"ea",get:function(){return this.i}},{key:"oa",value:function(e,t,r){var n=this;Pc(this,t,(function(t){var o=f(Mc(n,e,t),2),i=o[0],a=o[1];n.ea._addBoundTextureAsImageToStream(t,i,a,r)}))}},{key:"V",value:function(e,t){var r=this;Sc(this,e,t),Pc(this,e,(function(e){r.ea._attachImageListener(e)}))}},{key:"ba",value:function(e,t){var r=this;kc(this,e,t),Pc(this,e,(function(e){r.ea._attachImageVectorListener(e)}))}}])}(kA))),xA=function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t)}(FA);function NA(e,t,r){return UA.apply(this,arguments)}function UA(){return UA=r(d().mark((function e(t,n,o){var i;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",function(){var e=r(d().mark((function e(t,r,n,o){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Fc(t,r,n,o));case 1:case"end":return e.stop()}}),e)})));return function(t,r,n,o){return e.apply(this,arguments)}}()(t,null!=(i=o.canvas)?i:Dc()?void 0:document.createElement("canvas"),n,o));case 1:case"end":return e.stop()}}),e)}))),UA.apply(this,arguments)}function jA(e,t,r,n){if(e.U){var o=new is;if(null==r?void 0:r.regionOfInterest){if(!e.na)throw Error("This task doesn't support region-of-interest.");var i=r.regionOfInterest;if(i.left>=i.right||i.top>=i.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(i.left<0||i.top<0||i.right>1||i.bottom>1)throw Error("Expected RectF values to be in [0,1].");lo(o,1,(i.left+i.right)/2),lo(o,2,(i.top+i.bottom)/2),lo(o,4,i.right-i.left),lo(o,3,i.bottom-i.top)}else lo(o,1,.5),lo(o,2,.5),lo(o,4,1),lo(o,3,1);if(null==r?void 0:r.rotationDegrees){if((null==r?void 0:r.rotationDegrees)%90!=0)throw Error("Expected rotation to be a multiple of 90°.");if(lo(o,5,-Math.PI*r.rotationDegrees/180),(null==r?void 0:r.rotationDegrees)%180!=0){var a=f(Qc(t),2),s=a[0],c=a[1];r=co(o,3)*c/s,i=co(o,4)*s/c,lo(o,4,r),lo(o,3,i)}}e.g.addProtoToStream(o.g(),"mediapipe.NormalizedRect",e.U,n)}e.g.oa(t,e.Z,null!=n?n:performance.now()),e.finishProcessing()}function LA(e,t,r){var n;if(null==(n=e.baseOptions)?void 0:n.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");jA(e,t,r,e.B+1)}function HA(e,t,r,n){var o;if(!(null==(o=e.baseOptions)?void 0:o.g()))throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");jA(e,t,r,n)}function GA(e,t,r,n){var o=t.data,i=t.width,a=i*(t=t.height);if((o instanceof Uint8Array||o instanceof Float32Array)&&o.length!==a)throw Error("Unsupported channel count: "+o.length/a);return e=new dA([o],r,!1,e.g.i.canvas,e.P,i,t),n?e.clone():e}var XA=function(e){function t(e,r,i,a){var s;return o(this,t),(s=n(this,t,[e])).g=e,s.Z=r,s.U=i,s.na=a,s.P=new tA,s}return u(t,e),a(t,[{key:"l",value:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("runningMode"in e&&Ao(this.baseOptions,2,!!e.runningMode&&"IMAGE"!==e.runningMode),void 0!==e.canvas&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return h(t,"l",this)([e,r])}},{key:"close",value:function(){this.P.close(),h(t,"close",this)([])}}])}(Xc);XA.prototype.close=XA.prototype.close;var YA=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"image_in","norm_rect_in",!1])).j={detections:[]},eo(e=i.h=new Cs,0,1,r=new Is),lo(i.h,2,.5),lo(i.h,3,.3),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){var t,r;return"minDetectionConfidence"in e&&lo(this.h,2,null!=(t=e.minDetectionConfidence)?t:.5),"minSuppressionThreshold"in e&&lo(this.h,3,null!=(r=e.minSuppressionThreshold)?r:.3),this.l(e)}},{key:"D",value:function(e,t){return this.j={detections:[]},LA(this,e,t),this.j}},{key:"F",value:function(e,t,r){return this.j={detections:[]},HA(this,e,r,t),this.j}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"norm_rect_in"),La(t,"detections");var r=new Oa;xo(r,bs,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"NORM_RECT:norm_rect_in"),Sa(n,"DETECTIONS:detections"),n.o(r),Ua(t,n),this.g.attachProtoVectorListener("detections",(function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=qa(i),e.j.detections.push(pc(t))}}catch(e){o.e(e)}finally{o.f()}jc(e,r)})),this.g.attachEmptyPacketListener("detections",(function(t){jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);YA.prototype.detectForVideo=YA.prototype.F,YA.prototype.detect=YA.prototype.D,YA.prototype.setOptions=YA.prototype.o,YA.createFromModelPath=function(){var e=r(d().mark((function e(t,r){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",NA(YA,t,{baseOptions:{modelAssetPath:r}}));case 1:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),YA.createFromModelBuffer=function(e,t){return NA(YA,e,{baseOptions:{modelAssetBuffer:t}})},YA.createFromOptions=function(e,t){return NA(YA,e,t)};var WA=SA([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),VA=SA([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),zA=SA([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),KA=SA([474,475],[475,476],[476,477],[477,474]),ZA=SA([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),JA=SA([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),qA=SA([469,470],[470,471],[471,472],[472,469]),$A=SA([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),eu=[].concat(E(WA),E(VA),E(zA),E(ZA),E(JA),E($A)),tu=SA([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function ru(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var nu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"image_in","norm_rect",!1])).j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},i.outputFacialTransformationMatrixes=i.outputFaceBlendshapes=!1,eo(e=i.h=new Ts,0,1,r=new Is),i.v=new Ds,eo(i.h,0,3,i.v),i.s=new Cs,eo(i.h,0,2,i.s),uo(i.s,4,1),lo(i.s,2,.5),lo(i.v,2,.5),lo(i.h,4,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){var t,r,n,o;return"numFaces"in e&&uo(this.s,4,null!=(t=e.numFaces)?t:1),"minFaceDetectionConfidence"in e&&lo(this.s,2,null!=(r=e.minFaceDetectionConfidence)?r:.5),"minTrackingConfidence"in e&&lo(this.h,4,null!=(n=e.minTrackingConfidence)?n:.5),"minFacePresenceConfidence"in e&&lo(this.v,2,null!=(o=e.minFacePresenceConfidence)?o:.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}},{key:"D",value:function(e,t){return ru(this),LA(this,e,t),this.j}},{key:"F",value:function(e,t,r){return ru(this),HA(this,e,r,t),this.j}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"norm_rect"),La(t,"face_landmarks");var r=new Oa;xo(r,Ps,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"NORM_RECT:norm_rect"),Sa(n,"NORM_LANDMARKS:face_landmarks"),n.o(r),Ua(t,n),this.g.attachProtoVectorListener("face_landmarks",(function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=rs(i),e.j.faceLandmarks.push(Ec(t))}}catch(e){o.e(e)}finally{o.f()}jc(e,r)})),this.g.attachEmptyPacketListener("face_landmarks",(function(t){jc(e,t)})),this.outputFaceBlendshapes&&(La(t,"blendshapes"),Sa(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",(function(t,r){var n;if(e.outputFaceBlendshapes){var o,i=s(t);try{for(i.s();!(o=i.n()).done;){var a=o.value;t=za(a),e.j.faceBlendshapes.push(hc(null!=(n=t.g())?n:[]))}}catch(e){i.e(e)}finally{i.f()}}jc(e,r)})),this.g.attachEmptyPacketListener("blendshapes",(function(t){jc(e,t)}))),this.outputFacialTransformationMatrixes&&(La(t,"face_geometry"),Sa(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",(function(t,r){var n,o,i,a,c;if(e.outputFacialTransformationMatrixes){var A,u=s(t);try{for(u.s();!(A=u.n()).done;){var l=A.value;(t=Jn(Bs(l),ns,2))&&e.j.facialTransformationMatrixes.push({rows:null!=(o=null!=(n=ao(t,1))?n:0)?o:0,columns:null!=(a=null!=(i=ao(t,2))?i:0)?a:0,data:null!=(c=Nn(t,3,jr,xn()).slice())?c:[]})}}catch(e){u.e(e)}finally{u.f()}}jc(e,r)})),this.g.attachEmptyPacketListener("face_geometry",(function(t){jc(e,t)}))),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);nu.prototype.detectForVideo=nu.prototype.F,nu.prototype.detect=nu.prototype.D,nu.prototype.setOptions=nu.prototype.o,nu.createFromModelPath=function(e,t){return NA(nu,e,{baseOptions:{modelAssetPath:t}})},nu.createFromModelBuffer=function(e,t){return NA(nu,e,{baseOptions:{modelAssetBuffer:t}})},nu.createFromOptions=function(e,t){return NA(nu,e,t)},nu.FACE_LANDMARKS_LIPS=WA,nu.FACE_LANDMARKS_LEFT_EYE=VA,nu.FACE_LANDMARKS_LEFT_EYEBROW=zA,nu.FACE_LANDMARKS_LEFT_IRIS=KA,nu.FACE_LANDMARKS_RIGHT_EYE=ZA,nu.FACE_LANDMARKS_RIGHT_EYEBROW=JA,nu.FACE_LANDMARKS_RIGHT_IRIS=qA,nu.FACE_LANDMARKS_FACE_OVAL=$A,nu.FACE_LANDMARKS_CONTOURS=eu,nu.FACE_LANDMARKS_TESSELATION=tu;var ou=function(e){function t(e,r){var i;return o(this,t),eo(e=(i=n(this,t,[new xA(e,r),"image_in","norm_rect",!0])).j=new Ms,0,1,r=new Is),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.j,Is,1)},set:function(e){eo(this.j,0,1,e)}},{key:"o",value:function(e){return h(t,"l",this)([e])}},{key:"Ka",value:function(e,t,r){var n="function"!=typeof t?t:{};if(this.h="function"==typeof t?t:r,LA(this,e,null!=n?n:{}),!this.h)return this.s}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"norm_rect"),La(t,"stylized_image");var r=new Oa;xo(r,Rs,this.j);var n=new ka;Ma(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"NORM_RECT:norm_rect"),Sa(n,"STYLIZED_IMAGE:stylized_image"),n.o(r),Ua(t,n),this.g.V("stylized_image",(function(t,r){var n=!e.h,o=t.data,i=t.width,a=i*(t=t.height);if(o instanceof Uint8Array)if(o.length===3*a){for(var s=new Uint8ClampedArray(4*a),c=0;c<a;++c)s[4*c]=o[3*c],s[4*c+1]=o[3*c+1],s[4*c+2]=o[3*c+2],s[4*c+3]=255;o=new ImageData(s,i,t)}else{if(o.length!==4*a)throw Error("Unsupported channel count: "+o.length/a);o=new ImageData(new Uint8ClampedArray(o.buffer,o.byteOffset,o.length),i,t)}else if(!(o instanceof WebGLTexture))throw Error("Unsupported format: ".concat(o.constructor.name));i=new MA([o],!1,!1,e.g.i.canvas,e.P,i,t),e.s=n=n?i.clone():i,e.h&&e.h(n),jc(e,r)})),this.g.attachEmptyPacketListener("stylized_image",(function(t){e.s=null,e.h&&e.h(null),jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);ou.prototype.stylize=ou.prototype.Ka,ou.prototype.setOptions=ou.prototype.o,ou.createFromModelPath=function(e,t){return NA(ou,e,{baseOptions:{modelAssetPath:t}})},ou.createFromModelBuffer=function(e,t){return NA(ou,e,{baseOptions:{modelAssetBuffer:t}})},ou.createFromOptions=function(e,t){return NA(ou,e,t)};var iu=SA([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function au(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function su(e){return 0===e.gestures.length?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function cu(e){var t,r,n,o,i,a,c,A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],u=[],l=s(e);try{for(l.s();!(c=l.n()).done;){var d=c.value,g=za(d);e=[];var f,h=s(g.g());try{for(h.s();!(f=h.n()).done;){var p=f.value;g=A&&null!=ao(p,1)?null!=(t=ao(p,1))?t:0:-1,e.push({score:null!=(r=co(p,2))?r:0,index:g,categoryName:null!=(o=null!=(n=so(p,3))?n:"")?o:"",displayName:null!=(a=null!=(i=so(p,4))?i:"")?a:""})}}catch(e){h.e(e)}finally{h.f()}u.push(e)}}catch(e){l.e(e)}finally{l.f()}return u}var Au=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"image_in","norm_rect",!1])).gestures=[],i.landmarks=[],i.worldLandmarks=[],i.handedness=[],eo(e=i.j=new js,0,1,r=new Is),i.s=new Us,eo(i.j,0,2,i.s),i.C=new Ns,eo(i.s,0,3,i.C),i.v=new xs,eo(i.s,0,2,i.v),i.h=new Fs,eo(i.j,0,3,i.h),lo(i.v,2,.5),lo(i.s,4,.5),lo(i.C,2,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.j,Is,1)},set:function(e){eo(this.j,0,1,e)}},{key:"o",value:function(e){var t,r,n,o,i,a,s,c;if(uo(this.v,3,null!=(t=e.numHands)?t:1),"minHandDetectionConfidence"in e&&lo(this.v,2,null!=(r=e.minHandDetectionConfidence)?r:.5),"minTrackingConfidence"in e&&lo(this.s,4,null!=(n=e.minTrackingConfidence)?n:.5),"minHandPresenceConfidence"in e&&lo(this.C,2,null!=(o=e.minHandPresenceConfidence)?o:.5),e.cannedGesturesClassifierOptions){var A=new Ss,u=A,l=fc(e.cannedGesturesClassifierOptions,null==(i=Jn(this.h,Ss,3))?void 0:i.h());eo(u,0,2,l),eo(this.h,0,3,A)}else void 0===e.cannedGesturesClassifierOptions&&(null==(a=Jn(this.h,Ss,3))||a.g());return e.customGesturesClassifierOptions?(eo(u=A=new Ss,0,2,l=fc(e.customGesturesClassifierOptions,null==(s=Jn(this.h,Ss,4))?void 0:s.h())),eo(this.h,0,4,A)):void 0===e.customGesturesClassifierOptions&&(null==(c=Jn(this.h,Ss,4))||c.g()),this.l(e)}},{key:"Fa",value:function(e,t){return au(this),LA(this,e,t),su(this)}},{key:"Ga",value:function(e,t,r){return au(this),HA(this,e,r,t),su(this)}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"norm_rect"),La(t,"hand_gestures"),La(t,"hand_landmarks"),La(t,"world_hand_landmarks"),La(t,"handedness");var r=new Oa;xo(r,Ys,this.j);var n=new ka;Ma(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"NORM_RECT:norm_rect"),Sa(n,"HAND_GESTURES:hand_gestures"),Sa(n,"LANDMARKS:hand_landmarks"),Sa(n,"WORLD_LANDMARKS:world_hand_landmarks"),Sa(n,"HANDEDNESS:handedness"),n.o(r),Ua(t,n),this.g.attachProtoVectorListener("hand_landmarks",(function(t,r){var n,o,i,a,c,A=s(t);try{for(A.s();!(c=A.n()).done;){var u=c.value;t=rs(u);var l,d=[],g=s($n(t,ts,1));try{for(g.s();!(l=g.n()).done;){var f=l.value;d.push({x:null!=(n=co(f,1))?n:0,y:null!=(o=co(f,2))?o:0,z:null!=(i=co(f,3))?i:0,visibility:null!=(a=co(f,4))?a:0})}}catch(e){g.e(e)}finally{g.f()}e.landmarks.push(d)}}catch(e){A.e(e)}finally{A.f()}jc(e,r)})),this.g.attachEmptyPacketListener("hand_landmarks",(function(t){jc(e,t)})),this.g.attachProtoVectorListener("world_hand_landmarks",(function(t,r){var n,o,i,a,c,A=s(t);try{for(A.s();!(c=A.n()).done;){var u=c.value;t=es(u);var l,d=[],g=s($n(t,$a,1));try{for(g.s();!(l=g.n()).done;){var f=l.value;d.push({x:null!=(n=co(f,1))?n:0,y:null!=(o=co(f,2))?o:0,z:null!=(i=co(f,3))?i:0,visibility:null!=(a=co(f,4))?a:0})}}catch(e){g.e(e)}finally{g.f()}e.worldLandmarks.push(d)}}catch(e){A.e(e)}finally{A.f()}jc(e,r)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(function(t){jc(e,t)})),this.g.attachProtoVectorListener("hand_gestures",(function(t,r){var n;(n=e.gestures).push.apply(n,E(cu(t,!1))),jc(e,r)})),this.g.attachEmptyPacketListener("hand_gestures",(function(t){jc(e,t)})),this.g.attachProtoVectorListener("handedness",(function(t,r){var n;(n=e.handedness).push.apply(n,E(cu(t))),jc(e,r)})),this.g.attachEmptyPacketListener("handedness",(function(t){jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);function uu(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Au.prototype.recognizeForVideo=Au.prototype.Ga,Au.prototype.recognize=Au.prototype.Fa,Au.prototype.setOptions=Au.prototype.o,Au.createFromModelPath=function(e,t){return NA(Au,e,{baseOptions:{modelAssetPath:t}})},Au.createFromModelBuffer=function(e,t){return NA(Au,e,{baseOptions:{modelAssetBuffer:t}})},Au.createFromOptions=function(e,t){return NA(Au,e,t)},Au.HAND_CONNECTIONS=iu;var lu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"image_in","norm_rect",!1])).landmarks=[],i.worldLandmarks=[],i.handedness=[],eo(e=i.h=new Us,0,1,r=new Is),i.s=new Ns,eo(i.h,0,3,i.s),i.j=new xs,eo(i.h,0,2,i.j),uo(i.j,3,1),lo(i.j,2,.5),lo(i.s,2,.5),lo(i.h,4,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){var t,r,n,o;return"numHands"in e&&uo(this.j,3,null!=(t=e.numHands)?t:1),"minHandDetectionConfidence"in e&&lo(this.j,2,null!=(r=e.minHandDetectionConfidence)?r:.5),"minTrackingConfidence"in e&&lo(this.h,4,null!=(n=e.minTrackingConfidence)?n:.5),"minHandPresenceConfidence"in e&&lo(this.s,2,null!=(o=e.minHandPresenceConfidence)?o:.5),this.l(e)}},{key:"D",value:function(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],LA(this,e,t),uu(this)}},{key:"F",value:function(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],HA(this,e,r,t),uu(this)}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"norm_rect"),La(t,"hand_landmarks"),La(t,"world_hand_landmarks"),La(t,"handedness");var r=new Oa;xo(r,Ws,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"NORM_RECT:norm_rect"),Sa(n,"LANDMARKS:hand_landmarks"),Sa(n,"WORLD_LANDMARKS:world_hand_landmarks"),Sa(n,"HANDEDNESS:handedness"),n.o(r),Ua(t,n),this.g.attachProtoVectorListener("hand_landmarks",(function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=rs(i),e.landmarks.push(Ec(t))}}catch(e){o.e(e)}finally{o.f()}jc(e,r)})),this.g.attachEmptyPacketListener("hand_landmarks",(function(t){jc(e,t)})),this.g.attachProtoVectorListener("world_hand_landmarks",(function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=es(i),e.worldLandmarks.push(mc(t))}}catch(e){o.e(e)}finally{o.f()}jc(e,r)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(function(t){jc(e,t)})),this.g.attachProtoVectorListener("handedness",(function(t,r){var n,o,i,a,c,A,u,l,d=e.handedness,g=d.push,f=[],h=s(t);try{for(h.s();!(l=h.n()).done;){var p=l.value;t=za(p);var E,m=[],y=s(t.g());try{for(y.s();!(E=y.n()).done;){var I=E.value;m.push({score:null!=(n=co(I,2))?n:0,index:null!=(i=null!=(o=ao(I,1))?o:0)?i:-1,categoryName:null!=(c=null!=(a=so(I,3))?a:"")?c:"",displayName:null!=(u=null!=(A=so(I,4))?A:"")?u:""})}}catch(e){y.e(e)}finally{y.f()}f.push(m)}}catch(e){h.e(e)}finally{h.f()}g.call.apply(g,[d].concat(f)),jc(e,r)})),this.g.attachEmptyPacketListener("handedness",(function(t){jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);lu.prototype.detectForVideo=lu.prototype.F,lu.prototype.detect=lu.prototype.D,lu.prototype.setOptions=lu.prototype.o,lu.createFromModelPath=function(e,t){return NA(lu,e,{baseOptions:{modelAssetPath:t}})},lu.createFromModelBuffer=function(e,t){return NA(lu,e,{baseOptions:{modelAssetBuffer:t}})},lu.createFromOptions=function(e,t){return NA(lu,e,t)},lu.HAND_CONNECTIONS=iu;var du=SA([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function gu(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function fu(e){try{if(!e.C)return e.h;e.C(e.h)}finally{Gc(e)}}function hu(e,t){e=rs(e),t.push(Ec(e))}var pu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"input_frames_image",null,!1])).h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},i.outputPoseSegmentationMasks=i.outputFaceBlendshapes=!1,eo(e=i.j=new Zs,0,1,r=new Is),i.K=new Ns,eo(i.j,0,2,i.K),i.Y=new Vs,eo(i.j,0,3,i.Y),i.s=new Cs,eo(i.j,0,4,i.s),i.H=new Ds,eo(i.j,0,5,i.H),i.v=new zs,eo(i.j,0,6,i.v),i.L=new Ks,eo(i.j,0,7,i.L),lo(i.s,2,.5),lo(i.s,3,.3),lo(i.H,2,.5),lo(i.v,2,.5),lo(i.v,3,.3),lo(i.L,2,.5),lo(i.K,2,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.j,Is,1)},set:function(e){eo(this.j,0,1,e)}},{key:"o",value:function(e){var t,r,n,o,i,a,s;return"minFaceDetectionConfidence"in e&&lo(this.s,2,null!=(t=e.minFaceDetectionConfidence)?t:.5),"minFaceSuppressionThreshold"in e&&lo(this.s,3,null!=(r=e.minFaceSuppressionThreshold)?r:.3),"minFacePresenceConfidence"in e&&lo(this.H,2,null!=(n=e.minFacePresenceConfidence)?n:.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&lo(this.v,2,null!=(o=e.minPoseDetectionConfidence)?o:.5),"minPoseSuppressionThreshold"in e&&lo(this.v,3,null!=(i=e.minPoseSuppressionThreshold)?i:.3),"minPosePresenceConfidence"in e&&lo(this.L,2,null!=(a=e.minPosePresenceConfidence)?a:.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&lo(this.K,2,null!=(s=e.minHandLandmarksConfidence)?s:.5),this.l(e)}},{key:"D",value:function(e,t,r){var n="function"!=typeof t?t:{};return this.C="function"==typeof t?t:r,gu(this),LA(this,e,n),fu(this)}},{key:"F",value:function(e,t,r,n){var o="function"!=typeof r?r:{};return this.C="function"==typeof r?r:n,gu(this),HA(this,e,o,t),fu(this)}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"input_frames_image"),La(t,"pose_landmarks"),La(t,"pose_world_landmarks"),La(t,"face_landmarks"),La(t,"left_hand_landmarks"),La(t,"left_hand_world_landmarks"),La(t,"right_hand_landmarks"),La(t,"right_hand_world_landmarks");var r=new Oa,n=new Ea;Gn(n,1,tn("type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),""),function(e,t){if(null!=t)if(Array.isArray(t))Rn(e,2,wn(t,_n,void 0,void 0,!1));else{if(!("string"==typeof t||t instanceof Qt||_t(t)))throw Error("invalid value in Any.value field: "+t+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");Gn(e,2,rr(t,!1),Bt())}}(n,this.j.g());var o=new ka;Ma(o,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),io(o,8,Ea,n),Ra(o,"IMAGE:input_frames_image"),Sa(o,"POSE_LANDMARKS:pose_landmarks"),Sa(o,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),Sa(o,"FACE_LANDMARKS:face_landmarks"),Sa(o,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),Sa(o,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),Sa(o,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),Sa(o,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),o.o(r),Ua(t,o),Lc(this,t),this.g.attachProtoListener("pose_landmarks",(function(t,r){hu(t,e.h.poseLandmarks),jc(e,r)})),this.g.attachEmptyPacketListener("pose_landmarks",(function(t){jc(e,t)})),this.g.attachProtoListener("pose_world_landmarks",(function(t,r){var n=e.h.poseWorldLandmarks;t=es(t),n.push(mc(t)),jc(e,r)})),this.g.attachEmptyPacketListener("pose_world_landmarks",(function(t){jc(e,t)})),this.outputPoseSegmentationMasks&&(Sa(o,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),Hc(this,"pose_segmentation_mask"),this.g.V("pose_segmentation_mask",(function(t,r){e.h.poseSegmentationMasks=[GA(e,t,!0,!e.C)],jc(e,r)})),this.g.attachEmptyPacketListener("pose_segmentation_mask",(function(t){e.h.poseSegmentationMasks=[],jc(e,t)}))),this.g.attachProtoListener("face_landmarks",(function(t,r){hu(t,e.h.faceLandmarks),jc(e,r)})),this.g.attachEmptyPacketListener("face_landmarks",(function(t){jc(e,t)})),this.outputFaceBlendshapes&&(La(t,"extra_blendshapes"),Sa(o,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",(function(t,r){var n,o=e.h.faceBlendshapes;e.outputFaceBlendshapes&&(t=za(t),o.push(hc(null!=(n=t.g())?n:[]))),jc(e,r)})),this.g.attachEmptyPacketListener("extra_blendshapes",(function(t){jc(e,t)}))),this.g.attachProtoListener("left_hand_landmarks",(function(t,r){hu(t,e.h.leftHandLandmarks),jc(e,r)})),this.g.attachEmptyPacketListener("left_hand_landmarks",(function(t){jc(e,t)})),this.g.attachProtoListener("left_hand_world_landmarks",(function(t,r){var n=e.h.leftHandWorldLandmarks;t=es(t),n.push(mc(t)),jc(e,r)})),this.g.attachEmptyPacketListener("left_hand_world_landmarks",(function(t){jc(e,t)})),this.g.attachProtoListener("right_hand_landmarks",(function(t,r){hu(t,e.h.rightHandLandmarks),jc(e,r)})),this.g.attachEmptyPacketListener("right_hand_landmarks",(function(t){jc(e,t)})),this.g.attachProtoListener("right_hand_world_landmarks",(function(t,r){var n=e.h.rightHandWorldLandmarks;t=es(t),n.push(mc(t)),jc(e,r)})),this.g.attachEmptyPacketListener("right_hand_world_landmarks",(function(t){jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);pu.prototype.detectForVideo=pu.prototype.F,pu.prototype.detect=pu.prototype.D,pu.prototype.setOptions=pu.prototype.o,pu.createFromModelPath=function(e,t){return NA(pu,e,{baseOptions:{modelAssetPath:t}})},pu.createFromModelBuffer=function(e,t){return NA(pu,e,{baseOptions:{modelAssetBuffer:t}})},pu.createFromOptions=function(e,t){return NA(pu,e,t)},pu.HAND_CONNECTIONS=iu,pu.POSE_CONNECTIONS=du,pu.FACE_LANDMARKS_LIPS=WA,pu.FACE_LANDMARKS_LEFT_EYE=VA,pu.FACE_LANDMARKS_LEFT_EYEBROW=zA,pu.FACE_LANDMARKS_LEFT_IRIS=KA,pu.FACE_LANDMARKS_RIGHT_EYE=ZA,pu.FACE_LANDMARKS_RIGHT_EYEBROW=JA,pu.FACE_LANDMARKS_RIGHT_IRIS=qA,pu.FACE_LANDMARKS_FACE_OVAL=$A,pu.FACE_LANDMARKS_CONTOURS=eu,pu.FACE_LANDMARKS_TESSELATION=tu;var Eu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"input_image","norm_rect",!0])).j={classifications:[]},eo(e=i.h=new $s,0,1,r=new Is),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){return eo(this.h,0,2,fc(e,Jn(this.h,gs,2))),this.l(e)}},{key:"qa",value:function(e,t){return this.j={classifications:[]},LA(this,e,t),this.j}},{key:"ra",value:function(e,t,r){return this.j={classifications:[]},HA(this,e,r,t),this.j}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"input_image"),ja(t,"norm_rect"),La(t,"classifications");var r=new Oa;xo(r,ec,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Ra(n,"IMAGE:input_image"),Ra(n,"NORM_RECT:norm_rect"),Sa(n,"CLASSIFICATIONS:classifications"),n.o(r),Ua(t,n),this.g.attachProtoListener("classifications",(function(t,r){var n,o,i;e.j=(n=ss(t),i={classifications:$n(n,as,1).map((function(e){var t,r,n,o;return hc(null!=(r=null==(t=Jn(e,Wa,4))?void 0:t.g())?r:[],null!=(n=ao(e,2))?n:0,null!=(o=so(e,3))?o:"")}))},null!=$r(Pn(n,2))&&(i.timestampMs=null!=(o=$r(Pn(n,2)))?o:0),i),jc(e,r)})),this.g.attachEmptyPacketListener("classifications",(function(t){jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);Eu.prototype.classifyForVideo=Eu.prototype.ra,Eu.prototype.classify=Eu.prototype.qa,Eu.prototype.setOptions=Eu.prototype.o,Eu.createFromModelPath=function(e,t){return NA(Eu,e,{baseOptions:{modelAssetPath:t}})},Eu.createFromModelBuffer=function(e,t){return NA(Eu,e,{baseOptions:{modelAssetBuffer:t}})},Eu.createFromOptions=function(e,t){return NA(Eu,e,t)};var mu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"image_in","norm_rect",!0])).h=new tc,i.embeddings={embeddings:[]},eo(e=i.h,0,1,r=new Is),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){var t=this.h,r=Jn(this.h,hs,2);return r=r?r.clone():new hs,void 0!==e.l2Normalize?Ao(r,1,e.l2Normalize):"l2Normalize"in e&&Rn(r,1),void 0!==e.quantize?Ao(r,2,e.quantize):"quantize"in e&&Rn(r,2),eo(t,0,2,r),this.l(e)}},{key:"xa",value:function(e,t){return LA(this,e,t),this.embeddings}},{key:"ya",value:function(e,t,r){return HA(this,e,r,t),this.embeddings}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"norm_rect"),La(t,"embeddings_out");var r=new Oa;xo(r,rc,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"NORM_RECT:norm_rect"),Sa(n,"EMBEDDINGS:embeddings_out"),n.o(r),Ua(t,n),this.g.attachProtoListener("embeddings_out",(function(t,r){var n,o;t=ds(t),e.embeddings={embeddings:$n(n=t,us,1).map((function(e){var t,r,n,o,i,a,s,c={headIndex:null!=(r=null!=(t=ao(e,3))?t:0)?r:-1,headName:null!=(o=null!=(n=so(e,4))?n:"")?o:""};if(void 0!==Zn(e,cs,Yn(e,1)))e=Nn(e=Jn(e,cs,Yn(e,1)),1,jr,xn()),c.floatEmbedding=e.slice();else{var A=new Uint8Array(0);c.quantizedEmbedding=null!=(s=null==(a=null==(i=Jn(e,As,Yn(e,2)))?void 0:i.ma())?void 0:a.h())?s:A}return c})),timestampMs:null!=(o=$r(Pn(n,2)))?o:0},jc(e,r)})),this.g.attachEmptyPacketListener("embeddings_out",(function(t){jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);mu.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=Ic(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Ic(yc(e.quantizedEmbedding),yc(t.quantizedEmbedding))}return e},mu.prototype.embedForVideo=mu.prototype.ya,mu.prototype.embed=mu.prototype.xa,mu.prototype.setOptions=mu.prototype.o,mu.createFromModelPath=function(e,t){return NA(mu,e,{baseOptions:{modelAssetPath:t}})},mu.createFromModelBuffer=function(e,t){return NA(mu,e,{baseOptions:{modelAssetBuffer:t}})},mu.createFromOptions=function(e,t){return NA(mu,e,t)};var yu=function(){return a((function e(t,r,n){o(this,e),this.confidenceMasks=t,this.categoryMask=r,this.qualityScores=n}),[{key:"close",value:function(){var e,t;null==(e=this.confidenceMasks)||e.forEach((function(e){e.close()})),null==(t=this.categoryMask)||t.close()}}])}();function Iu(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function vu(e){try{var t=new yu(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Gc(e)}}yu.prototype.close=yu.prototype.close;var wu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"image_in","norm_rect",!1])).s=[],i.outputCategoryMask=!1,i.outputConfidenceMasks=!0,i.h=new sc,i.v=new nc,eo(i.h,0,3,i.v),eo(e=i.h,0,1,r=new Is),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){var r,n;return void 0!==e.displayNamesLocale?Rn(this.h,2,tn(e.displayNamesLocale)):"displayNamesLocale"in e&&Rn(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=null!=(r=e.outputCategoryMask)&&r),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=null==(n=e.outputConfidenceMasks)||n),h(t,"l",this)([e])}},{key:"J",value:function(){!function(e){var t,r,n,o=$n(e.ca(),ka,1).filter((function(e){var t;return(null!=(t=so(e,1))?t:"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")}));if(e.s=[],o.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");1===o.length&&(null!=(n=null==(r=null==(t=Jn(o[0],Oa,7))?void 0:t.l())?void 0:r.g())?n:new Map).forEach((function(t,r){var n;e.s[Number(r)]=null!=(n=so(t,1))?n:""}))}(this)}},{key:"segment",value:function(e,t,r){var n="function"!=typeof t?t:{};return this.j="function"==typeof t?t:r,Iu(this),LA(this,e,n),vu(this)}},{key:"Ia",value:function(e,t,r,n){var o="function"!=typeof r?r:{};return this.j="function"==typeof r?r:n,Iu(this),HA(this,e,o,t),vu(this)}},{key:"Ba",value:function(){return this.s}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"norm_rect");var r=new Oa;xo(r,cc,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"NORM_RECT:norm_rect"),n.o(r),Ua(t,n),Lc(this,t),this.outputConfidenceMasks&&(La(t,"confidence_masks"),Sa(n,"CONFIDENCE_MASKS:confidence_masks"),Hc(this,"confidence_masks"),this.g.ba("confidence_masks",(function(t,r){e.confidenceMasks=t.map((function(t){return GA(e,t,!0,!e.j)})),jc(e,r)})),this.g.attachEmptyPacketListener("confidence_masks",(function(t){e.confidenceMasks=[],jc(e,t)}))),this.outputCategoryMask&&(La(t,"category_mask"),Sa(n,"CATEGORY_MASK:category_mask"),Hc(this,"category_mask"),this.g.V("category_mask",(function(t,r){e.categoryMask=GA(e,t,!1,!e.j),jc(e,r)})),this.g.attachEmptyPacketListener("category_mask",(function(t){e.categoryMask=void 0,jc(e,t)}))),La(t,"quality_scores"),Sa(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(function(t,r){e.qualityScores=t,jc(e,r)})),this.g.attachEmptyPacketListener("quality_scores",(function(t){e.categoryMask=void 0,jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);wu.prototype.getLabels=wu.prototype.Ba,wu.prototype.segmentForVideo=wu.prototype.Ia,wu.prototype.segment=wu.prototype.segment,wu.prototype.setOptions=wu.prototype.o,wu.createFromModelPath=function(e,t){return NA(wu,e,{baseOptions:{modelAssetPath:t}})},wu.createFromModelBuffer=function(e,t){return NA(wu,e,{baseOptions:{modelAssetBuffer:t}})},wu.createFromOptions=function(e,t){return NA(wu,e,t)};var Cu=function(){return a((function e(t,r,n){o(this,e),this.confidenceMasks=t,this.categoryMask=r,this.qualityScores=n}),[{key:"close",value:function(){var e,t;null==(e=this.confidenceMasks)||e.forEach((function(e){e.close()})),null==(t=this.categoryMask)||t.close()}}])}();Cu.prototype.close=Cu.prototype.close;var _u=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),bu=[0,qi,-2],Bu=[0,Yi,-3,ta,Yi,-1],Du=[0,Bu],Tu=[0,Bu,qi,-1],Ou=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Qu=[0,Yi,-1,ta],Pu=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Mu=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No),Ru=[1,2,3,4,5,6,7,8,9,10,14,15],Su=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(No);Su.prototype.g=ha([0,aa,[0,Ru,sa,Bu,sa,[0,Bu,bu],sa,Du,sa,[0,Du,bu],sa,Qu,sa,[0,Yi,-3,ta,la],sa,[0,Yi,-3,ta],sa,[0,ia,Yi,-2,ta,qi,ta,-1,2,Yi,bu],sa,Tu,sa,[0,Tu,bu],Yi,bu,ia,sa,[0,Yi,-3,ta,bu,-1],sa,[0,aa,Qu]],ia,[0,ia,qi,-1,ta]]);var ku=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"image_in","norm_rect_in",!1])).outputCategoryMask=!1,i.outputConfidenceMasks=!0,i.h=new sc,i.s=new nc,eo(i.h,0,3,i.s),eo(e=i.h,0,1,r=new Is),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){var r,n;return"outputCategoryMask"in e&&(this.outputCategoryMask=null!=(r=e.outputCategoryMask)&&r),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=null==(n=e.outputConfidenceMasks)||n),h(t,"l",this)([e])}},{key:"segment",value:function(e,t,r,n){var o="function"!=typeof r?r:{};this.j="function"==typeof r?r:n,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.B+1,n=new Su;var i=new Mu,a=new _u;if(uo(a,1,255),eo(i,0,12,a),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var c=new Ou;Ao(c,3,!0),lo(c,1,t.keypoint.x),lo(c,2,t.keypoint.y),to(i,5,Ru,c)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");var A,u=s((a=new Pu,t.scribble));try{for(u.s();!(A=u.n()).done;)c=A.value,Ao(t=new Ou,3,!0),lo(t,1,c.x),lo(t,2,c.y),io(a,1,Ou,t)}catch(e){u.e(e)}finally{u.f()}to(i,15,Ru,a)}io(n,1,Mu,i),this.g.addProtoToStream(n.g(),"drishti.RenderData","roi_in",r),LA(this,e,o);e:{try{var l=new Cu(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var d=l;break e}this.j(l)}finally{Gc(this)}d=void 0}return d}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"roi_in"),ja(t,"norm_rect_in");var r=new Oa;xo(r,cc,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"ROI:roi_in"),Ra(n,"NORM_RECT:norm_rect_in"),n.o(r),Ua(t,n),Lc(this,t),this.outputConfidenceMasks&&(La(t,"confidence_masks"),Sa(n,"CONFIDENCE_MASKS:confidence_masks"),Hc(this,"confidence_masks"),this.g.ba("confidence_masks",(function(t,r){e.confidenceMasks=t.map((function(t){return GA(e,t,!0,!e.j)})),jc(e,r)})),this.g.attachEmptyPacketListener("confidence_masks",(function(t){e.confidenceMasks=[],jc(e,t)}))),this.outputCategoryMask&&(La(t,"category_mask"),Sa(n,"CATEGORY_MASK:category_mask"),Hc(this,"category_mask"),this.g.V("category_mask",(function(t,r){e.categoryMask=GA(e,t,!1,!e.j),jc(e,r)})),this.g.attachEmptyPacketListener("category_mask",(function(t){e.categoryMask=void 0,jc(e,t)}))),La(t,"quality_scores"),Sa(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(function(t,r){e.qualityScores=t,jc(e,r)})),this.g.attachEmptyPacketListener("quality_scores",(function(t){e.categoryMask=void 0,jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);ku.prototype.segment=ku.prototype.segment,ku.prototype.setOptions=ku.prototype.o,ku.createFromModelPath=function(e,t){return NA(ku,e,{baseOptions:{modelAssetPath:t}})},ku.createFromModelBuffer=function(e,t){return NA(ku,e,{baseOptions:{modelAssetBuffer:t}})},ku.createFromOptions=function(e,t){return NA(ku,e,t)};var Fu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"input_frame_gpu","norm_rect",!1])).j={detections:[]},eo(e=i.h=new Ac,0,1,r=new Is),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){return void 0!==e.displayNamesLocale?Rn(this.h,2,tn(e.displayNamesLocale)):"displayNamesLocale"in e&&Rn(this.h,2),void 0!==e.maxResults?uo(this.h,3,e.maxResults):"maxResults"in e&&Rn(this.h,3),void 0!==e.scoreThreshold?lo(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&Rn(this.h,4),void 0!==e.categoryAllowlist?go(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&Rn(this.h,5),void 0!==e.categoryDenylist?go(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&Rn(this.h,6),this.l(e)}},{key:"D",value:function(e,t){return this.j={detections:[]},LA(this,e,t),this.j}},{key:"F",value:function(e,t,r){return this.j={detections:[]},HA(this,e,r,t),this.j}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"input_frame_gpu"),ja(t,"norm_rect"),La(t,"detections");var r=new Oa;xo(r,uc,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),Ra(n,"IMAGE:input_frame_gpu"),Ra(n,"NORM_RECT:norm_rect"),Sa(n,"DETECTIONS:detections"),n.o(r),Ua(t,n),this.g.attachProtoVectorListener("detections",(function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=qa(i),e.j.detections.push(pc(t))}}catch(e){o.e(e)}finally{o.f()}jc(e,r)})),this.g.attachEmptyPacketListener("detections",(function(t){jc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);Fu.prototype.detectForVideo=Fu.prototype.F,Fu.prototype.detect=Fu.prototype.D,Fu.prototype.setOptions=Fu.prototype.o,Fu.createFromModelPath=function(){var e=r(d().mark((function e(t,r){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",NA(Fu,t,{baseOptions:{modelAssetPath:r}}));case 1:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),Fu.createFromModelBuffer=function(e,t){return NA(Fu,e,{baseOptions:{modelAssetBuffer:t}})},Fu.createFromOptions=function(e,t){return NA(Fu,e,t)};var xu=function(){return a((function e(t,r,n){o(this,e),this.landmarks=t,this.worldLandmarks=r,this.segmentationMasks=n}),[{key:"close",value:function(){var e;null==(e=this.segmentationMasks)||e.forEach((function(e){e.close()}))}}])}();function Nu(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function Uu(e){try{var t=new xu(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.s)return t;e.s(t)}finally{Gc(e)}}xu.prototype.close=xu.prototype.close;var ju=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new xA(e,r),"image_in","norm_rect",!1])).landmarks=[],i.worldLandmarks=[],i.outputSegmentationMasks=!1,eo(e=i.h=new dc,0,1,r=new Is),i.v=new Ks,eo(i.h,0,3,i.v),i.j=new zs,eo(i.h,0,2,i.j),uo(i.j,4,1),lo(i.j,2,.5),lo(i.v,2,.5),lo(i.h,4,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return Jn(this.h,Is,1)},set:function(e){eo(this.h,0,1,e)}},{key:"o",value:function(e){var t,r,n,o,i;return"numPoses"in e&&uo(this.j,4,null!=(t=e.numPoses)?t:1),"minPoseDetectionConfidence"in e&&lo(this.j,2,null!=(r=e.minPoseDetectionConfidence)?r:.5),"minTrackingConfidence"in e&&lo(this.h,4,null!=(n=e.minTrackingConfidence)?n:.5),"minPosePresenceConfidence"in e&&lo(this.v,2,null!=(o=e.minPosePresenceConfidence)?o:.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=null!=(i=e.outputSegmentationMasks)&&i),this.l(e)}},{key:"D",value:function(e,t,r){var n="function"!=typeof t?t:{};return this.s="function"==typeof t?t:r,Nu(this),LA(this,e,n),Uu(this)}},{key:"F",value:function(e,t,r,n){var o="function"!=typeof r?r:{};return this.s="function"==typeof r?r:n,Nu(this),HA(this,e,o,t),Uu(this)}},{key:"m",value:function(){var e=this,t=new Ha;ja(t,"image_in"),ja(t,"norm_rect"),La(t,"normalized_landmarks"),La(t,"world_landmarks"),La(t,"segmentation_masks");var r=new Oa;xo(r,gc,this.h);var n=new ka;Ma(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Ra(n,"IMAGE:image_in"),Ra(n,"NORM_RECT:norm_rect"),Sa(n,"NORM_LANDMARKS:normalized_landmarks"),Sa(n,"WORLD_LANDMARKS:world_landmarks"),n.o(r),Ua(t,n),Lc(this,t),this.g.attachProtoVectorListener("normalized_landmarks",(function(t,r){e.landmarks=[];var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=rs(i),e.landmarks.push(Ec(t))}}catch(e){o.e(e)}finally{o.f()}jc(e,r)})),this.g.attachEmptyPacketListener("normalized_landmarks",(function(t){e.landmarks=[],jc(e,t)})),this.g.attachProtoVectorListener("world_landmarks",(function(t,r){e.worldLandmarks=[];var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=es(i),e.worldLandmarks.push(mc(t))}}catch(e){o.e(e)}finally{o.f()}jc(e,r)})),this.g.attachEmptyPacketListener("world_landmarks",(function(t){e.worldLandmarks=[],jc(e,t)})),this.outputSegmentationMasks&&(Sa(n,"SEGMENTATION_MASK:segmentation_masks"),Hc(this,"segmentation_masks"),this.g.ba("segmentation_masks",(function(t,r){e.segmentationMasks=t.map((function(t){return GA(e,t,!0,!e.s)})),jc(e,r)})),this.g.attachEmptyPacketListener("segmentation_masks",(function(t){e.segmentationMasks=[],jc(e,t)}))),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(XA);ju.prototype.detectForVideo=ju.prototype.F,ju.prototype.detect=ju.prototype.D,ju.prototype.setOptions=ju.prototype.o,ju.createFromModelPath=function(e,t){return NA(ju,e,{baseOptions:{modelAssetPath:t}})},ju.createFromModelBuffer=function(e,t){return NA(ju,e,{baseOptions:{modelAssetBuffer:t}})},ju.createFromOptions=function(e,t){return NA(ju,e,t)},ju.POSE_CONNECTIONS=du;var Lu=1e-6,Hu="undefined"!=typeof Float32Array?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var Gu={};function Xu(){var e=new Hu(16);return Hu!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Yu(e){var t=new Hu(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Wu(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Vu(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=new Hu(16);return p[0]=e,p[1]=t,p[2]=r,p[3]=n,p[4]=o,p[5]=i,p[6]=a,p[7]=s,p[8]=c,p[9]=A,p[10]=u,p[11]=l,p[12]=d,p[13]=g,p[14]=f,p[15]=h,p}function zu(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h,p){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=i,e[5]=a,e[6]=s,e[7]=c,e[8]=A,e[9]=u,e[10]=l,e[11]=d,e[12]=g,e[13]=f,e[14]=h,e[15]=p,e}function Ku(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Zu(e,t){if(e===t){var r=t[1],n=t[2],o=t[3],i=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=o,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Ju(e,t){var r=t[0],n=t[1],o=t[2],i=t[3],a=t[4],s=t[5],c=t[6],A=t[7],u=t[8],l=t[9],d=t[10],g=t[11],f=t[12],h=t[13],p=t[14],E=t[15],m=r*s-n*a,y=r*c-o*a,I=r*A-i*a,v=n*c-o*s,w=n*A-i*s,C=o*A-i*c,_=u*h-l*f,b=u*p-d*f,B=u*E-g*f,D=l*p-d*h,T=l*E-g*h,O=d*E-g*p,Q=m*O-y*T+I*D+v*B-w*b+C*_;return Q?(Q=1/Q,e[0]=(s*O-c*T+A*D)*Q,e[1]=(o*T-n*O-i*D)*Q,e[2]=(h*C-p*w+E*v)*Q,e[3]=(d*w-l*C-g*v)*Q,e[4]=(c*B-a*O-A*b)*Q,e[5]=(r*O-o*B+i*b)*Q,e[6]=(p*I-f*C-E*y)*Q,e[7]=(u*C-d*I+g*y)*Q,e[8]=(a*T-s*B+A*_)*Q,e[9]=(n*B-r*T-i*_)*Q,e[10]=(f*w-h*I+E*m)*Q,e[11]=(l*I-u*w-g*m)*Q,e[12]=(s*b-a*D-c*_)*Q,e[13]=(r*D-n*b+o*_)*Q,e[14]=(h*y-f*v-p*m)*Q,e[15]=(u*v-l*y+d*m)*Q,e):null}function qu(e,t){var r=t[0],n=t[1],o=t[2],i=t[3],a=t[4],s=t[5],c=t[6],A=t[7],u=t[8],l=t[9],d=t[10],g=t[11],f=t[12],h=t[13],p=t[14],E=t[15];return e[0]=s*(d*E-g*p)-l*(c*E-A*p)+h*(c*g-A*d),e[1]=-(n*(d*E-g*p)-l*(o*E-i*p)+h*(o*g-i*d)),e[2]=n*(c*E-A*p)-s*(o*E-i*p)+h*(o*A-i*c),e[3]=-(n*(c*g-A*d)-s*(o*g-i*d)+l*(o*A-i*c)),e[4]=-(a*(d*E-g*p)-u*(c*E-A*p)+f*(c*g-A*d)),e[5]=r*(d*E-g*p)-u*(o*E-i*p)+f*(o*g-i*d),e[6]=-(r*(c*E-A*p)-a*(o*E-i*p)+f*(o*A-i*c)),e[7]=r*(c*g-A*d)-a*(o*g-i*d)+u*(o*A-i*c),e[8]=a*(l*E-g*h)-u*(s*E-A*h)+f*(s*g-A*l),e[9]=-(r*(l*E-g*h)-u*(n*E-i*h)+f*(n*g-i*l)),e[10]=r*(s*E-A*h)-a*(n*E-i*h)+f*(n*A-i*s),e[11]=-(r*(s*g-A*l)-a*(n*g-i*l)+u*(n*A-i*s)),e[12]=-(a*(l*p-d*h)-u*(s*p-c*h)+f*(s*d-c*l)),e[13]=r*(l*p-d*h)-u*(n*p-o*h)+f*(n*d-o*l),e[14]=-(r*(s*p-c*h)-a*(n*p-o*h)+f*(n*c-o*s)),e[15]=r*(s*d-c*l)-a*(n*d-o*l)+u*(n*c-o*s),e}function $u(e){var t=e[0],r=e[1],n=e[2],o=e[3],i=e[4],a=e[5],s=e[6],c=e[7],A=e[8],u=e[9],l=e[10],d=e[11],g=e[12],f=e[13],h=e[14],p=e[15];return(t*a-r*i)*(l*p-d*h)-(t*s-n*i)*(u*p-d*f)+(t*c-o*i)*(u*h-l*f)+(r*s-n*a)*(A*p-d*g)-(r*c-o*a)*(A*h-l*g)+(n*c-o*s)*(A*f-u*g)}function el(e,t,r){var n=t[0],o=t[1],i=t[2],a=t[3],s=t[4],c=t[5],A=t[6],u=t[7],l=t[8],d=t[9],g=t[10],f=t[11],h=t[12],p=t[13],E=t[14],m=t[15],y=r[0],I=r[1],v=r[2],w=r[3];return e[0]=y*n+I*s+v*l+w*h,e[1]=y*o+I*c+v*d+w*p,e[2]=y*i+I*A+v*g+w*E,e[3]=y*a+I*u+v*f+w*m,y=r[4],I=r[5],v=r[6],w=r[7],e[4]=y*n+I*s+v*l+w*h,e[5]=y*o+I*c+v*d+w*p,e[6]=y*i+I*A+v*g+w*E,e[7]=y*a+I*u+v*f+w*m,y=r[8],I=r[9],v=r[10],w=r[11],e[8]=y*n+I*s+v*l+w*h,e[9]=y*o+I*c+v*d+w*p,e[10]=y*i+I*A+v*g+w*E,e[11]=y*a+I*u+v*f+w*m,y=r[12],I=r[13],v=r[14],w=r[15],e[12]=y*n+I*s+v*l+w*h,e[13]=y*o+I*c+v*d+w*p,e[14]=y*i+I*A+v*g+w*E,e[15]=y*a+I*u+v*f+w*m,e}function tl(e,t,r){var n,o,i,a,s,c,A,u,l,d,g,f,h=r[0],p=r[1],E=r[2];return t===e?(e[12]=t[0]*h+t[4]*p+t[8]*E+t[12],e[13]=t[1]*h+t[5]*p+t[9]*E+t[13],e[14]=t[2]*h+t[6]*p+t[10]*E+t[14],e[15]=t[3]*h+t[7]*p+t[11]*E+t[15]):(n=t[0],o=t[1],i=t[2],a=t[3],s=t[4],c=t[5],A=t[6],u=t[7],l=t[8],d=t[9],g=t[10],f=t[11],e[0]=n,e[1]=o,e[2]=i,e[3]=a,e[4]=s,e[5]=c,e[6]=A,e[7]=u,e[8]=l,e[9]=d,e[10]=g,e[11]=f,e[12]=n*h+s*p+l*E+t[12],e[13]=o*h+c*p+d*E+t[13],e[14]=i*h+A*p+g*E+t[14],e[15]=a*h+u*p+f*E+t[15]),e}function rl(e,t,r){var n=r[0],o=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function nl(e,t,r,n){var o,i,a,s,c,A,u,l,d,g,f,h,p,E,m,y,I,v,w,C,_,b,B,D,T=n[0],O=n[1],Q=n[2],P=Math.hypot(T,O,Q);return P<Lu?null:(T*=P=1/P,O*=P,Q*=P,o=Math.sin(r),a=1-(i=Math.cos(r)),s=t[0],c=t[1],A=t[2],u=t[3],l=t[4],d=t[5],g=t[6],f=t[7],h=t[8],p=t[9],E=t[10],m=t[11],y=T*T*a+i,I=O*T*a+Q*o,v=Q*T*a-O*o,w=T*O*a-Q*o,C=O*O*a+i,_=Q*O*a+T*o,b=T*Q*a+O*o,B=O*Q*a-T*o,D=Q*Q*a+i,e[0]=s*y+l*I+h*v,e[1]=c*y+d*I+p*v,e[2]=A*y+g*I+E*v,e[3]=u*y+f*I+m*v,e[4]=s*w+l*C+h*_,e[5]=c*w+d*C+p*_,e[6]=A*w+g*C+E*_,e[7]=u*w+f*C+m*_,e[8]=s*b+l*B+h*D,e[9]=c*b+d*B+p*D,e[10]=A*b+g*B+E*D,e[11]=u*b+f*B+m*D,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function ol(e,t,r){var n=Math.sin(r),o=Math.cos(r),i=t[4],a=t[5],s=t[6],c=t[7],A=t[8],u=t[9],l=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*o+A*n,e[5]=a*o+u*n,e[6]=s*o+l*n,e[7]=c*o+d*n,e[8]=A*o-i*n,e[9]=u*o-a*n,e[10]=l*o-s*n,e[11]=d*o-c*n,e}function il(e,t,r){var n=Math.sin(r),o=Math.cos(r),i=t[0],a=t[1],s=t[2],c=t[3],A=t[8],u=t[9],l=t[10],d=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*o-A*n,e[1]=a*o-u*n,e[2]=s*o-l*n,e[3]=c*o-d*n,e[8]=i*n+A*o,e[9]=a*n+u*o,e[10]=s*n+l*o,e[11]=c*n+d*o,e}function al(e,t,r){var n=Math.sin(r),o=Math.cos(r),i=t[0],a=t[1],s=t[2],c=t[3],A=t[4],u=t[5],l=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*o+A*n,e[1]=a*o+u*n,e[2]=s*o+l*n,e[3]=c*o+d*n,e[4]=A*o-i*n,e[5]=u*o-a*n,e[6]=l*o-s*n,e[7]=d*o-c*n,e}function sl(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function cl(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Al(e,t,r){var n,o,i,a=r[0],s=r[1],c=r[2],A=Math.hypot(a,s,c);return A<Lu?null:(a*=A=1/A,s*=A,c*=A,n=Math.sin(t),i=1-(o=Math.cos(t)),e[0]=a*a*i+o,e[1]=s*a*i+c*n,e[2]=c*a*i-s*n,e[3]=0,e[4]=a*s*i-c*n,e[5]=s*s*i+o,e[6]=c*s*i+a*n,e[7]=0,e[8]=a*c*i+s*n,e[9]=s*c*i-a*n,e[10]=c*c*i+o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function ul(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ll(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function dl(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function gl(e,t,r){var n=t[0],o=t[1],i=t[2],a=t[3],s=n+n,c=o+o,A=i+i,u=n*s,l=n*c,d=n*A,g=o*c,f=o*A,h=i*A,p=a*s,E=a*c,m=a*A;return e[0]=1-(g+h),e[1]=l+m,e[2]=d-E,e[3]=0,e[4]=l-m,e[5]=1-(u+h),e[6]=f+p,e[7]=0,e[8]=d+E,e[9]=f-p,e[10]=1-(u+g),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function fl(e,t){var r=new Hu(3),n=-t[0],o=-t[1],i=-t[2],a=t[3],s=t[4],c=t[5],A=t[6],u=t[7],l=n*n+o*o+i*i+a*a;return l>0?(r[0]=2*(s*a+u*n+c*i-A*o)/l,r[1]=2*(c*a+u*o+A*n-s*i)/l,r[2]=2*(A*a+u*i+s*o-c*n)/l):(r[0]=2*(s*a+u*n+c*i-A*o),r[1]=2*(c*a+u*o+A*n-s*i),r[2]=2*(A*a+u*i+s*o-c*n)),gl(e,t,r),e}function hl(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function pl(e,t){var r=t[0],n=t[1],o=t[2],i=t[4],a=t[5],s=t[6],c=t[8],A=t[9],u=t[10];return e[0]=Math.hypot(r,n,o),e[1]=Math.hypot(i,a,s),e[2]=Math.hypot(c,A,u),e}function El(e,t){var r=new Hu(3);pl(r,t);var n=1/r[0],o=1/r[1],i=1/r[2],a=t[0]*n,s=t[1]*o,c=t[2]*i,A=t[4]*n,u=t[5]*o,l=t[6]*i,d=t[8]*n,g=t[9]*o,f=t[10]*i,h=a+u+f,p=0;return h>0?(p=2*Math.sqrt(h+1),e[3]=.25*p,e[0]=(l-g)/p,e[1]=(d-c)/p,e[2]=(s-A)/p):a>u&&a>f?(p=2*Math.sqrt(1+a-u-f),e[3]=(l-g)/p,e[0]=.25*p,e[1]=(s+A)/p,e[2]=(d+c)/p):u>f?(p=2*Math.sqrt(1+u-a-f),e[3]=(d-c)/p,e[0]=(s+A)/p,e[1]=.25*p,e[2]=(l+g)/p):(p=2*Math.sqrt(1+f-a-u),e[3]=(s-A)/p,e[0]=(d+c)/p,e[1]=(l+g)/p,e[2]=.25*p),e}function ml(e,t,r,n){var o=t[0],i=t[1],a=t[2],s=t[3],c=o+o,A=i+i,u=a+a,l=o*c,d=o*A,g=o*u,f=i*A,h=i*u,p=a*u,E=s*c,m=s*A,y=s*u,I=n[0],v=n[1],w=n[2];return e[0]=(1-(f+p))*I,e[1]=(d+y)*I,e[2]=(g-m)*I,e[3]=0,e[4]=(d-y)*v,e[5]=(1-(l+p))*v,e[6]=(h+E)*v,e[7]=0,e[8]=(g+m)*w,e[9]=(h-E)*w,e[10]=(1-(l+f))*w,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function yl(e,t,r,n,o){var i=t[0],a=t[1],s=t[2],c=t[3],A=i+i,u=a+a,l=s+s,d=i*A,g=i*u,f=i*l,h=a*u,p=a*l,E=s*l,m=c*A,y=c*u,I=c*l,v=n[0],w=n[1],C=n[2],_=o[0],b=o[1],B=o[2],D=(1-(h+E))*v,T=(g+I)*v,O=(f-y)*v,Q=(g-I)*w,P=(1-(d+E))*w,M=(p+m)*w,R=(f+y)*C,S=(p-m)*C,k=(1-(d+h))*C;return e[0]=D,e[1]=T,e[2]=O,e[3]=0,e[4]=Q,e[5]=P,e[6]=M,e[7]=0,e[8]=R,e[9]=S,e[10]=k,e[11]=0,e[12]=r[0]+_-(D*_+Q*b+R*B),e[13]=r[1]+b-(T*_+P*b+S*B),e[14]=r[2]+B-(O*_+M*b+k*B),e[15]=1,e}function Il(e,t){var r=t[0],n=t[1],o=t[2],i=t[3],a=r+r,s=n+n,c=o+o,A=r*a,u=n*a,l=n*s,d=o*a,g=o*s,f=o*c,h=i*a,p=i*s,E=i*c;return e[0]=1-l-f,e[1]=u+E,e[2]=d-p,e[3]=0,e[4]=u-E,e[5]=1-A-f,e[6]=g+h,e[7]=0,e[8]=d+p,e[9]=g-h,e[10]=1-A-l,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function vl(e,t,r,n,o,i,a){var s=1/(r-t),c=1/(o-n),A=1/(i-a);return e[0]=2*i*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*c,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(o+n)*c,e[10]=(a+i)*A,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*i*2*A,e[15]=0,e}function wl(e,t,r,n,o){var i,a=1/Math.tan(t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=o&&o!==1/0?(i=1/(n-o),e[10]=(o+n)*i,e[14]=2*o*n*i):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r in t)C(e,r,{get:t[r],enumerable:!0})}(Gu,{add:function(){return Rl},adjoint:function(){return qu},clone:function(){return Yu},copy:function(){return Wu},create:function(){return Xu},determinant:function(){return $u},equals:function(){return Nl},exactEquals:function(){return xl},frob:function(){return Ml},fromQuat:function(){return Il},fromQuat2:function(){return fl},fromRotation:function(){return Al},fromRotationTranslation:function(){return gl},fromRotationTranslationScale:function(){return ml},fromRotationTranslationScaleOrigin:function(){return yl},fromScaling:function(){return cl},fromTranslation:function(){return sl},fromValues:function(){return Vu},fromXRotation:function(){return ul},fromYRotation:function(){return ll},fromZRotation:function(){return dl},frustum:function(){return vl},getRotation:function(){return El},getScaling:function(){return pl},getTranslation:function(){return hl},identity:function(){return Ku},invert:function(){return Ju},lookAt:function(){return Ol},mul:function(){return Ul},multiply:function(){return el},multiplyScalar:function(){return kl},multiplyScalarAndAdd:function(){return Fl},ortho:function(){return Dl},orthoNO:function(){return Bl},orthoZO:function(){return Tl},perspective:function(){return Cl},perspectiveFromFieldOfView:function(){return bl},perspectiveNO:function(){return wl},perspectiveZO:function(){return _l},rotate:function(){return nl},rotateX:function(){return ol},rotateY:function(){return il},rotateZ:function(){return al},scale:function(){return rl},set:function(){return zu},str:function(){return Pl},sub:function(){return jl},subtract:function(){return Sl},targetTo:function(){return Ql},translate:function(){return tl},transpose:function(){return Zu}});var Cl=wl;function _l(e,t,r,n,o){var i,a=1/Math.tan(t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=o&&o!==1/0?(i=1/(n-o),e[10]=o*i,e[14]=o*n*i):(e[10]=-1,e[14]=-n),e}function bl(e,t,r,n){var o=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),a=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),c=2/(a+s),A=2/(o+i);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=A,e[6]=0,e[7]=0,e[8]=-(a-s)*c*.5,e[9]=(o-i)*A*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Bl(e,t,r,n,o,i,a){var s=1/(t-r),c=1/(n-o),A=1/(i-a);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*A,e[11]=0,e[12]=(t+r)*s,e[13]=(o+n)*c,e[14]=(a+i)*A,e[15]=1,e}var Dl=Bl;function Tl(e,t,r,n,o,i,a){var s=1/(t-r),c=1/(n-o),A=1/(i-a);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=A,e[11]=0,e[12]=(t+r)*s,e[13]=(o+n)*c,e[14]=i*A,e[15]=1,e}function Ol(e,t,r,n){var o,i,a,s,c,A,u,l,d,g,f=t[0],h=t[1],p=t[2],E=n[0],m=n[1],y=n[2],I=r[0],v=r[1],w=r[2];return Math.abs(f-I)<Lu&&Math.abs(h-v)<Lu&&Math.abs(p-w)<Lu?Ku(e):(u=f-I,l=h-v,d=p-w,o=m*(d*=g=1/Math.hypot(u,l,d))-y*(l*=g),i=y*(u*=g)-E*d,a=E*l-m*u,(g=Math.hypot(o,i,a))?(o*=g=1/g,i*=g,a*=g):(o=0,i=0,a=0),s=l*a-d*i,c=d*o-u*a,A=u*i-l*o,(g=Math.hypot(s,c,A))?(s*=g=1/g,c*=g,A*=g):(s=0,c=0,A=0),e[0]=o,e[1]=s,e[2]=u,e[3]=0,e[4]=i,e[5]=c,e[6]=l,e[7]=0,e[8]=a,e[9]=A,e[10]=d,e[11]=0,e[12]=-(o*f+i*h+a*p),e[13]=-(s*f+c*h+A*p),e[14]=-(u*f+l*h+d*p),e[15]=1,e)}function Ql(e,t,r,n){var o=t[0],i=t[1],a=t[2],s=n[0],c=n[1],A=n[2],u=o-r[0],l=i-r[1],d=a-r[2],g=u*u+l*l+d*d;g>0&&(u*=g=1/Math.sqrt(g),l*=g,d*=g);var f=c*d-A*l,h=A*u-s*d,p=s*l-c*u;return(g=f*f+h*h+p*p)>0&&(f*=g=1/Math.sqrt(g),h*=g,p*=g),e[0]=f,e[1]=h,e[2]=p,e[3]=0,e[4]=l*p-d*h,e[5]=d*f-u*p,e[6]=u*h-l*f,e[7]=0,e[8]=u,e[9]=l,e[10]=d,e[11]=0,e[12]=o,e[13]=i,e[14]=a,e[15]=1,e}function Pl(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}function Ml(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function Rl(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function Sl(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function kl(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function Fl(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function xl(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function Nl(e,t){var r=e[0],n=e[1],o=e[2],i=e[3],a=e[4],s=e[5],c=e[6],A=e[7],u=e[8],l=e[9],d=e[10],g=e[11],f=e[12],h=e[13],p=e[14],E=e[15],m=t[0],y=t[1],I=t[2],v=t[3],w=t[4],C=t[5],_=t[6],b=t[7],B=t[8],D=t[9],T=t[10],O=t[11],Q=t[12],P=t[13],M=t[14],R=t[15];return Math.abs(r-m)<=Lu*Math.max(1,Math.abs(r),Math.abs(m))&&Math.abs(n-y)<=Lu*Math.max(1,Math.abs(n),Math.abs(y))&&Math.abs(o-I)<=Lu*Math.max(1,Math.abs(o),Math.abs(I))&&Math.abs(i-v)<=Lu*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(a-w)<=Lu*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(s-C)<=Lu*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(c-_)<=Lu*Math.max(1,Math.abs(c),Math.abs(_))&&Math.abs(A-b)<=Lu*Math.max(1,Math.abs(A),Math.abs(b))&&Math.abs(u-B)<=Lu*Math.max(1,Math.abs(u),Math.abs(B))&&Math.abs(l-D)<=Lu*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(d-T)<=Lu*Math.max(1,Math.abs(d),Math.abs(T))&&Math.abs(g-O)<=Lu*Math.max(1,Math.abs(g),Math.abs(O))&&Math.abs(f-Q)<=Lu*Math.max(1,Math.abs(f),Math.abs(Q))&&Math.abs(h-P)<=Lu*Math.max(1,Math.abs(h),Math.abs(P))&&Math.abs(p-M)<=Lu*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(E-R)<=Lu*Math.max(1,Math.abs(E),Math.abs(R))}var Ul=el,jl=Sl,Ll={},Hl=Uint8Array,Gl=Uint16Array,Xl=Int32Array,Yl=new Hl([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Wl=new Hl([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Vl=new Hl([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),zl=function(e,t){for(var r=new Gl(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];var o=new Xl(r[30]);for(n=1;n<30;++n)for(var i=r[n];i<r[n+1];++i)o[i]=i-r[n]<<5|n;return{b:r,r:o}},Kl=zl(Yl,2),Zl=Kl.b,Jl=Kl.r;Zl[28]=258,Jl[258]=28;var ql,$l=zl(Wl,0).b,ed=new Gl(32768);for(nd=0;nd<32768;++nd)ql=(61680&(ql=(52428&(ql=(43690&nd)>>1|(21845&nd)<<1))>>2|(13107&ql)<<2))>>4|(3855&ql)<<4,ed[nd]=((65280&ql)>>8|(255&ql)<<8)>>1;var td=function(e,t,r){for(var n=e.length,o=0,i=new Gl(t);o<n;++o)e[o]&&++i[e[o]-1];var a,s=new Gl(t);for(o=1;o<t;++o)s[o]=s[o-1]+i[o-1]<<1;if(r){a=new Gl(1<<t);var c=15-t;for(o=0;o<n;++o)if(e[o])for(var A=o<<4|e[o],u=t-e[o],l=s[e[o]-1]++<<u,d=l|(1<<u)-1;l<=d;++l)a[ed[l]>>c]=A}else for(a=new Gl(n),o=0;o<n;++o)e[o]&&(a[o]=ed[s[e[o]-1]++]>>15-e[o]);return a},rd=new Hl(288);for(nd=0;nd<144;++nd)rd[nd]=8;for(nd=144;nd<256;++nd)rd[nd]=9;for(nd=256;nd<280;++nd)rd[nd]=7;for(nd=280;nd<288;++nd)rd[nd]=8;var nd,od=new Hl(32);for(nd=0;nd<32;++nd)od[nd]=5;var id=td(rd,9,1),ad=td(od,5,1),sd=function(e){for(var t=e[0],r=1;r<e.length;++r)e[r]>t&&(t=e[r]);return t},cd=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},Ad=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},ud=function(e){return(e+7)/8|0},ld=function(e,t,r){return(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length),new Hl(e.subarray(t,r))},dd=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],gd=function(e,t,r){var n=new Error(t||dd[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,gd),!r)throw n;return n},fd=function(e,t,r,n){var o=e.length,i=n?n.length:0;if(!o||t.f&&!t.l)return r||new Hl(0);var a=!r,s=a||2!=t.i,c=t.i;a&&(r=new Hl(3*o));var A=function(e){var t=r.length;if(e>t){var n=new Hl(Math.max(2*t,e));n.set(r),r=n}},u=t.f||0,l=t.p||0,d=t.b||0,g=t.l,f=t.d,h=t.m,p=t.n,E=8*o;do{if(!g){u=cd(e,l,1);var m=cd(e,l+1,3);if(l+=3,!m){var y=e[(Q=ud(l)+4)-4]|e[Q-3]<<8,I=Q+y;if(I>o){c&&gd(0);break}s&&A(d+y),r.set(e.subarray(Q,I),d),t.b=d+=y,t.p=l=8*I,t.f=u;continue}if(1==m)g=id,f=ad,h=9,p=5;else if(2==m){var v=cd(e,l,31)+257,w=cd(e,l+10,15)+4,C=v+cd(e,l+5,31)+1;l+=14;for(var _=new Hl(C),b=new Hl(19),B=0;B<w;++B)b[Vl[B]]=cd(e,l+3*B,7);l+=3*w;var D=sd(b),T=(1<<D)-1,O=td(b,D,1);for(B=0;B<C;){var Q,P=O[cd(e,l,T)];if(l+=15&P,(Q=P>>4)<16)_[B++]=Q;else{var M=0,R=0;for(16==Q?(R=3+cd(e,l,3),l+=2,M=_[B-1]):17==Q?(R=3+cd(e,l,7),l+=3):18==Q&&(R=11+cd(e,l,127),l+=7);R--;)_[B++]=M}}var S=_.subarray(0,v),k=_.subarray(v);h=sd(S),p=sd(k),g=td(S,h,1),f=td(k,p,1)}else gd(1);if(l>E){c&&gd(0);break}}s&&A(d+131072);for(var F=(1<<h)-1,x=(1<<p)-1,N=l;;N=l){var U=(M=g[Ad(e,l)&F])>>4;if((l+=15&M)>E){c&&gd(0);break}if(M||gd(2),U<256)r[d++]=U;else{if(256==U){N=l,g=null;break}var j=U-254;if(U>264){var L=Yl[B=U-257];j=cd(e,l,(1<<L)-1)+Zl[B],l+=L}var H=f[Ad(e,l)&x],G=H>>4;H||gd(3),l+=15&H;k=$l[G];if(G>3){L=Wl[G];k+=Ad(e,l)&(1<<L)-1,l+=L}if(l>E){c&&gd(0);break}s&&A(d+131072);var X=d+j;if(d<k){var Y=i-k,W=Math.min(k,X);for(Y+d<0&&gd(3);d<W;++d)r[d]=n[Y+d]}for(;d<X;++d)r[d]=r[d-k]}}t.l=g,t.p=N,t.b=d,t.f=u,g&&(u=1,t.m=h,t.d=f,t.n=p)}while(!u);return d!=r.length&&a?ld(r,0,d):r.subarray(0,d)},hd=new Hl(0),pd=function(e,t,r){for(var n=e(),o=e.toString(),i=o.slice(o.indexOf("[")+1,o.lastIndexOf("]")).replace(/\s+/g,"").split(","),a=0;a<n.length;++a){var s=n[a],c=i[a];if("function"==typeof s){t+=";"+c+"=";var A=s.toString();if(s.prototype)if(-1!=A.indexOf("[native code]")){var u=A.indexOf(" ",8)+1;t+=A.slice(u,A.indexOf("(",u))}else for(var l in t+=A,s.prototype)t+=";"+c+".prototype."+l+"="+s.prototype[l].toString();else t+=A}else r[c]=s}return t},Ed=[],md=function(e,t,r,n){if(!Ed[r]){for(var o="",i={},a=e.length-1,s=0;s<a;++s)o=pd(e[s],o,i);Ed[r]={c:pd(e[a],o,i),e:i}}var c=function(e,t){var r={};for(var n in e)r[n]=e[n];for(var n in t)r[n]=t[n];return r}({},Ed[r].e);return function(e,t,r,n,o){var i=new Worker(Ll[t]||(Ll[t]=URL.createObjectURL(new Blob([e+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return i.onmessage=function(e){var t=e.data,r=t.$e$;if(r){var n=new Error(r[0]);n.code=r[1],n.stack=r[2],o(n,null)}else o(null,t)},i.postMessage(r,n),i}(Ed[r].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+t.toString()+"}",r,c,function(e){var t=[];for(var r in e)e[r].buffer&&t.push((e[r]=new e[r].constructor(e[r])).buffer);return t}(c),n)},yd=function(){return[Hl,Gl,Xl,Yl,Wl,Vl,Zl,$l,id,ad,ed,dd,td,sd,cd,Ad,ud,ld,gd,fd,bd,vd,wd]},Id=function(){return[Cd,_d]},vd=function(e){return postMessage(e,[e.buffer])},wd=function(e){return e&&{out:e.size&&new Hl(e.size),dictionary:e.dictionary}},Cd=function(e){31==e[0]&&139==e[1]&&8==e[2]||gd(6,"invalid gzip data");var t=e[3],r=10;4&t&&(r+=2+(e[10]|e[11]<<8));for(var n=(t>>3&1)+(t>>4&1);n>0;n-=!e[r++]);return r+(2&t)},_d=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0};function bd(e,t){return fd(e,{i:2},t&&t.out,t&&t.dictionary)}function Bd(e,t,r){return r||(r=t,t={}),"function"!=typeof r&&gd(7),function(e,t,r,n,o,i){var a=md(r,n,o,(function(e,t){a.terminate(),i(e,t)}));return a.postMessage([e,t],t.consume?[e.buffer]:[]),function(){a.terminate()}}(e,t,[yd,Id,function(){return[Dd]}],(function(e){return vd(Dd(e.data[0],e.data[1]))}),3,r)}function Dd(e,t){var r=Cd(e);return r+8>e.length&&gd(6,"invalid gzip data"),fd(e.subarray(r,-8),{i:2},t&&t.out||new Hl(_d(e)),t&&t.dictionary)}var Td="undefined"!=typeof TextDecoder&&new TextDecoder;try{Td.decode(hd,{stream:!0})}catch(e){}var Od=570703,Qd=0,Pd=function(){function e(t){o(this,e),this.core=t,R(this,"seq"),R(this,"_core"),R(this,"log"),R(this,"preLoadPromise"),R(this,"startResolve"),R(this,"startReject"),R(this,"mediaPipeSolutions"),R(this,"assetsPath"),R(this,"currentType"),R(this,"onAbort"),R(this,"isAborted",!1),R(this,"faceDetector"),Qd+=1,this.seq=Qd,this._core=t,this.log=t.log.createChild({id:"".concat(this.getAlias()).concat(Qd)}),this.log.info("created"),t.assetsPath&&(this.preLoadPromise=this.preload(t.assetsPath))}return a(e,[{key:"preload",value:(A=r(d().mark((function e(){var t,r,n,o,i,a=this,s=arguments;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=s.length>0&&void 0!==s[0]?s[0]:"https://web.sdk.qcloud.com/trtc/webrtc/v5/assets/",e.prev=1,this._core.room.videoManager.Wasm){e.next=6;break}return e.next=5,G();case 5:this._core.room.videoManager.Wasm=e.sent;case 6:return this.assetsPath="".concat(t,"/selfie_segmentation/"),(r=new X(this.assetsPath,this._core.fileDownloader)).onAbort=function(e){var t;a.core.kvStatManager.addEnum({key:Od,value:a.getKVTypeValue(!1,a.isAborted,"ABORT_IN_INFERENCE")}),a.isAborted=!0,a.log.error("mediaPipeSolutions abort",e),a.core.clearStarted(a,a.getGroup()),a.stop(),null==(t=a.onAbort)||t.call(a,e)},r.print=this.log.info.bind(this.log),r.printErr=this.log.warn.bind(this.log),e.next=13,(this.core.rtcDectection.isSIMDSupported()?U:L)(r);case 13:return this.mediaPipeSolutions=e.sent,e.next=16,this.mediaPipeSolutions.initialize();case 16:return e.next=18,this._core.room.videoManager.initVirtualBackground(this.mediaPipeSolutions,this.initFaceDetector.bind(this,t),Gu);case 18:e.next=24;break;case 20:throw e.prev=20,e.t0=e.catch(1),n=this._core.errorModule,o=n.RtcError,i=n.ErrorCode,new o({code:i.INVALID_OPERATION,message:"VirtualBackground preload error, please check your assetsPath. detail: ".concat(e.t0)});case 24:case"end":return e.stop()}}),e,this,[[1,20]])}))),function(){return A.apply(this,arguments)})},{key:"isWasmFile",value:function(e){return e.byteLength>=4&&0===e[0]&&97===e[1]&&115===e[2]&&109===e[3]}},{key:"loadAndDecompressGz",value:(c=r(d().mark((function e(t){var r,n,o=this;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(t);case 2:if((r=e.sent).ok){e.next=5;break}throw Error("Failed to fetch ".concat(t,": ").concat(r.status," ").concat(r.statusText));case 5:return e.next=7,r.arrayBuffer();case 7:return n=e.sent,e.abrupt("return",new Promise((function(e,t){Bd(new Uint8Array(n),(function(r,n){r&&t(r),o.isWasmFile(n)?e(new Blob([n],{type:"application/wasm"})):t(new Error("Decompressed data is not a valid WASM file"))}))})));case 9:case"end":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:"initFaceDetector",value:(s=r(d().mark((function e(t){var r,n,o,i,a,s,c;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,this.faceDetector){e.next=27;break}return r=function(e){return"".concat(t,"/").concat(e).replace(/([^:]\/)\/+/g,"$1")},e.next=5,Bc.isSimdSupported();case 5:if(!e.sent){e.next=9;break}e.t0="vision_wasm_internal",e.next=10;break;case 9:e.t0="vision_wasm_nosimd_internal";case 10:return n=e.t0,o=r("/face_detection/".concat(n)),i="".concat(o,".gz"),e.next=15,this.loadAndDecompressGz(i);case 15:if(a=e.sent){e.next=18;break}return e.abrupt("return");case 18:return s=URL.createObjectURL(a),e.next=21,Bc.forVisionTasks("");case 21:return(c=e.sent).wasmBinaryPath=s,c.wasmLoaderPath="".concat(o,".js"),e.next=26,YA.createFromOptions(c,{baseOptions:{modelAssetPath:r("/face_detection/blaze_face_short_range.tflite"),delegate:"GPU"},runningMode:"VIDEO"});case 26:this.faceDetector=e.sent;case 27:return e.abrupt("return",this.faceDetector);case 30:e.prev=30,e.t1=e.catch(0),this.log.error("Init FaceDetetor",e.t1);case 33:case"end":return e.stop()}}),e,this,[[0,30]])}))),function(e){return s.apply(this,arguments)})},{key:"getName",value:function(){return e.Name}},{key:"getAlias",value:function(){return"vb"}},{key:"getValidateRule",value:function(e){switch(e){case"start":return t=this._core,{name:"VirtualBackgroundOptions",type:"object",required:!0,allowEmpty:!1,properties:P(Q({},F),{type:{required:!1,type:"string",values:["image","blur"]},src:{required:!1,type:"string"},blurLevel:{required:!1,type:"number",min:1,max:10},onAbort:{required:!1}}),validate:function(e,r,n,o){var i,a=t.errorModule,s=a.RtcError,c=a.ErrorCode,A=a.ErrorCodeDictionary;if(e){var u=e.type,l=e.src,d=e.onAbort;if("image"===u&&!l)throw new s({code:c.INVALID_PARAMETER,extraCode:A.INVALID_PARAMETER_REQUIRED,fnName:n,messageParams:{key:"src"}});if(d&&!t.utils.isFunction(d))throw new s({code:c.INVALID_PARAMETER,extraCode:A.INVALID_PARAMETER_TYPE,fnName:n,messageParams:{key:"onAbort",value:y(d),rule:{type:"Function"}}});if(!(null==(i=t.room.videoManager.cameraTrack)?void 0:i.mediaTrack))throw new s({code:c.INVALID_OPERATION,extraCode:A.INVALID_OPERATION_NEED_VIDEO,fnName:n})}}};case"update":return function(e){return{name:"UpdateVirtualBackgroundOptions",type:"object",required:!0,allowEmpty:!1,properties:{type:{required:!0,type:"string",values:["image","blur"]},src:{required:!1,type:"string"},blurLevel:{required:!1,type:"number",min:1,max:10}},validate:function(t,r,n,o){if(t){var i=e.errorModule,a=i.RtcError,s=i.ErrorCode,c=i.ErrorCodeDictionary,A=t.type,u=t.src;if("image"===A&&!u)throw new a({code:s.INVALID_PARAMETER,extraCode:c.INVALID_PARAMETER_REQUIRED,fnName:n,messageParams:{key:"src"}})}}}}(this._core);case"stop":return this._core,{name:"StopVirtualBackgroundOptions",required:!1}}var t}},{key:"getGroup",value:function(){return"vb"}},{key:"getKVTypeValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"NONE",n=0;switch(this.currentType){case"blur":n|=0;break;case"image":n|=1;break;case"green":n|=2}switch(e&&(n|=256),t&&(n|=512),r){case"ABORT_IN_INFERENCE":n|=4096;break;case"ABORT_IN_VIDEO_MANAGER":n|=8192;break;case"OTHER":n|=61440}return n}},{key:"start",value:(i=r(d().mark((function e(t){var r,n,o,i,a,s,c,A,u,l,g=this;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.type,n=void 0===r?"blur":r,o=t.src,i=t.blurLevel,a=void 0===i?3:i,s=t.onAbort,this.currentType=n,this.onAbort=s,e.next=5,S({sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,core:this._core});case 5:if(e.sent.auth){e.next=11;break}throw c=this._core.errorModule,A=c.RtcError,u=c.ErrorCodeDictionary,l=this._core.utils.isOverseaSdkAppId(t.sdkAppId)?"https://trtc.io/document/56025":"https://cloud.tencent.com/document/product/647/85386",new A({code:u.NEED_TO_BUY,messageParams:{value:"Virtual Background",url:l}});case 11:return this.preLoadPromise||(this.preLoadPromise=this.preload(this._core.assetsPath)),e.next=14,this.preLoadPromise;case 14:return e.abrupt("return",this.core.room.videoManager.setVirtualBackground({type:n,imageUrl:o,blurLevel:a,enableFaceCentering:t.enableFaceCentering,onAbort:function(e){var t;g.core.kvStatManager.addEnum({key:Od,value:g.getKVTypeValue(!0,g.isAborted,"ABORT_IN_VIDEO_MANAGER")}),g.isAborted=!0,g.core.clearStarted(g,g.getGroup()),g.stop(),delete g.preLoadPromise,null==(t=g.onAbort)||t.call(g,e)}}).then((function(){g.core.kvStatManager.addEnum({key:Od,value:g.getKVTypeValue(!1,g.isAborted,"NONE")})})).catch((function(){g.core.kvStatManager.addEnum({key:Od,value:g.getKVTypeValue(!0,g.isAborted,"OTHER")})})));case 15:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"update",value:(n=r(d().mark((function e(t){var r,n,o=this;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.type,n=t.src,r!==this.currentType&&(this.currentType=r),e.abrupt("return",this.core.room.videoManager.setVirtualBackground({type:r,imageUrl:n,blurLevel:t.blurLevel,enableFaceCentering:t.enableFaceCentering}).then((function(){o.core.kvStatManager.addEnum({key:Od,value:o.getKVTypeValue(!1,!1,"NONE")})})).catch((function(){o.core.kvStatManager.addEnum({key:Od,value:o.getKVTypeValue(!0,!1,"OTHER")})})));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"stop",value:(t=r(d().mark((function e(){return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.core.room.videoManager.setVirtualBackground());case 1:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}],[{key:"isSupported",value:function(){if(je<90)return!1;var e=document.createElement("canvas").getContext("webgl2");return!!(e&&e instanceof WebGL2RenderingContext)}}]);var t,n,i,s,c,A}();return R(Pd,"Name","VirtualBackground"),Pd}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VirtualBackground=t()}(this,function(){"use strict";function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function t(e,t,r,n,o,i,a){try{var s=e[i](a),c=s.value}catch(e){return void r(e)}s.done?t(c):Promise.resolve(c).then(n,o)}function r(e){return function(){var r=this,n=arguments;return new Promise(function(o,i){var a=e.apply(r,n);function s(e){t(a,o,i,s,c,"next",e)}function c(e){t(a,o,i,s,c,"throw",e)}s(void 0)})}}function n(e,t,r){return t=A(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,r||[],A(e).constructor):t.apply(e,r))}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,y(n.key),n)}}function a(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=v(e))||t){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},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(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){s=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(s)throw i}}}}function c(){return c="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=A(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(arguments.length<3?e:r):o.value}},c.apply(null,arguments)}function A(e){return A=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},A(e)}function u(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(l=function(){return!!e})()}function d(){
2
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
+ var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof s?n:s,A=Object.create(c.prototype);return g(A,"_invoke",function(r,n,o){var i,s,c,A=0,u=o||[],l=!1,d={p:0,n:0,v:e,a:g,f:g.bind(e,4),d:function(t,r){return i=t,s=0,c=e,d.n=r,a}};function g(r,n){for(s=r,c=n,t=0;!l&&A&&!o&&t<u.length;t++){var o,i=u[t],g=d.p,f=i[2];r>3?(o=f===n)&&(c=i[(s=i[4])?5:(s=3,3)],i[4]=i[5]=e):i[0]<=g&&((o=r<2&&g<i[1])?(s=0,d.v=n,d.n=i[1]):g<f&&(o=r<3||i[0]>n||n>f)&&(i[4]=r,i[5]=n,d.n=f,s=0))}if(o||r>1)return a;throw l=!0,n}return function(o,u,f){if(A>1)throw TypeError("Generator is already running");for(l&&1===u&&g(u,f),s=u,c=f;(t=s<2?e:c)||!l;){i||(s?s<3?(s>1&&(d.n=-1),g(s,c)):d.n=c:d.v=c);try{if(A=2,i){if(s||(o="next"),t=i[o]){if(!(t=t.call(i,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=i.return)&&t.call(i),s<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),s=1);i=e}else if((t=(l=d.n<0)?c:r.call(n,d))!==a)break}catch(t){i=e,s=1,c=t}finally{A=1}}return{value:t,done:l}}}(r,o,i),!0),A}var a={};function s(){}function c(){}function A(){}t=Object.getPrototypeOf;var u=[][n]?t(t([][n]())):(g(t={},n,function(){return this}),t),l=A.prototype=s.prototype=Object.create(u);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,A):(e.__proto__=A,g(e,o,"GeneratorFunction")),e.prototype=Object.create(l),e}return c.prototype=A,g(l,"constructor",A),g(A,"constructor",c),c.displayName="GeneratorFunction",g(A,o,"GeneratorFunction"),g(l),g(l,o,"Generator"),g(l,n,function(){return this}),g(l,"toString",function(){return"[object Generator]"}),(d=function(){return{w:i,m:f}})()}function g(e,t,r,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}g=function(e,t,r,n){if(t)o?o(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r;else{function i(t,r){g(e,t,function(e){return this._invoke(t,r,e)})}i("next",0),i("throw",1),i("return",2)}},g(e,t,r,n)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,s=[],c=!0,A=!1;try{if(i=(r=r.call(e)).next,0===t);else for(;!(c=(n=i.call(r)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){A=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(A)throw o}}return s}}(e,t)||v(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t,r,n){var o=c(A(e.prototype),t,r);return"function"==typeof o?function(e){return o.apply(r,e)}:o}function E(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function m(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||v(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function I(e){return I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},I(e)}function v(t,r){if(t){if("string"==typeof t)return e(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,r):void 0}}function w(e){var t="function"==typeof Map?new Map:void 0;return w=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return function(e,t,r){if(l())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,t);var o=new(e.bind.apply(e,n));return r&&f(o,r.prototype),o}(e,arguments,A(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),f(r,e)},w(e)}var C,_=Object.defineProperty,b=Object.defineProperties,B=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,Q=function(e,t,r){return t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r},P=function(e,t){for(var r in t||(t={}))T.call(t,r)&&Q(e,r,t[r]);if(D){var n,o=s(D(t));try{for(o.s();!(n=o.n()).done;){r=n.value;O.call(t,r)&&Q(e,r,t[r])}}catch(e){o.e(e)}finally{o.f()}}return e},M=function(e,t){return b(e,B(t))},R=function(e){return"undefined"!=typeof require?require:"undefined"!=typeof Proxy?new Proxy(e,{get:function(e,t){return("undefined"!=typeof require?require:e)[t]}}):e}(function(e){if("undefined"!=typeof require)return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),S=function(e,t,r){return Q(e,"symbol"!==I(t)?t+"":t,r)};function k(e){return F.apply(this,arguments)}function F(){return(F=r(d().m(function e(t){var r,n,o,i,a,s,c,A,u;return d().w(function(e){for(;;)switch(e.n){case 0:return r=t.sdkAppId,n=t.userId,o=t.userSig,i=t.core,s=Math.round((new Date).getTime()/1e3),e.p=1,e.n=2,i.schedule.getAbilityConfig(r,i.schedule.ScheduleRequestType.TRTC_AUTO_CONF,{sdkAppId:r,userId:n,userSig:o,timestamp:s});case 2:if(c=e.v,i.log.info("virtual background ability response: ".concat(JSON.stringify(c))),A=c.data,!(null==(a=null==A?void 0:A.trtcAutoConf)?void 0:a.web_ar)){e.n=3;break}return e.a(2,{auth:!0,timestamp:s});case 3:return e.a(2,{auth:!1});case 4:return e.p=4,u=e.v,i.log.error("virtual background fetch error",u),e.a(2,{auth:!1})}},e,null,[[1,4]])}))).apply(this,arguments)}var x={sdkAppId:{required:!0,type:"number"},userId:{required:!0,type:"string"},userSig:{required:!0,type:"string"}};var N,U=(N="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(N=N||__filename),function(e){var t,r,n=void 0!==(e=e||{})?e:{};n.ready=new Promise(function(e,n){t=e,r=n}),Object.getOwnPropertyDescriptor(n.ready,"_main")||(Object.defineProperty(n.ready,"_main",{configurable:!0,get:function(){Ie("You are getting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_main",{configurable:!0,set:function(){Ie("You are setting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_stack_get_end")||(Object.defineProperty(n.ready,"_emscripten_stack_get_end",{configurable:!0,get:function(){Ie("You are getting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_stack_get_end",{configurable:!0,set:function(){Ie("You are setting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_stack_get_free")||(Object.defineProperty(n.ready,"_emscripten_stack_get_free",{configurable:!0,get:function(){Ie("You are getting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_stack_get_free",{configurable:!0,set:function(){Ie("You are setting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_stack_init")||(Object.defineProperty(n.ready,"_emscripten_stack_init",{configurable:!0,get:function(){Ie("You are getting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_stack_init",{configurable:!0,set:function(){Ie("You are setting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_stackSave")||(Object.defineProperty(n.ready,"_stackSave",{configurable:!0,get:function(){Ie("You are getting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_stackSave",{configurable:!0,set:function(){Ie("You are setting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_stackRestore")||(Object.defineProperty(n.ready,"_stackRestore",{configurable:!0,get:function(){Ie("You are getting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_stackRestore",{configurable:!0,set:function(){Ie("You are setting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_stackAlloc")||(Object.defineProperty(n.ready,"_stackAlloc",{configurable:!0,get:function(){Ie("You are getting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_stackAlloc",{configurable:!0,set:function(){Ie("You are setting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___wasm_call_ctors")||(Object.defineProperty(n.ready,"___wasm_call_ctors",{configurable:!0,get:function(){Ie("You are getting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___wasm_call_ctors",{configurable:!0,set:function(){Ie("You are setting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_fflush")||(Object.defineProperty(n.ready,"_fflush",{configurable:!0,get:function(){Ie("You are getting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_fflush",{configurable:!0,set:function(){Ie("You are setting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___errno_location")||(Object.defineProperty(n.ready,"___errno_location",{configurable:!0,get:function(){Ie("You are getting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___errno_location",{configurable:!0,set:function(){Ie("You are setting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_malloc")||(Object.defineProperty(n.ready,"_malloc",{configurable:!0,get:function(){Ie("You are getting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_malloc",{configurable:!0,set:function(){Ie("You are setting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_free")||(Object.defineProperty(n.ready,"_free",{configurable:!0,get:function(){Ie("You are getting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_free",{configurable:!0,set:function(){Ie("You are setting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_setThrew")||(Object.defineProperty(n.ready,"_setThrew",{configurable:!0,get:function(){Ie("You are getting _setThrew on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_setThrew",{configurable:!0,set:function(){Ie("You are setting _setThrew on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___cxa_is_pointer_type")||(Object.defineProperty(n.ready,"___cxa_is_pointer_type",{configurable:!0,get:function(){Ie("You are getting ___cxa_is_pointer_type on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___cxa_is_pointer_type",{configurable:!0,set:function(){Ie("You are setting ___cxa_is_pointer_type on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___cxa_can_catch")||(Object.defineProperty(n.ready,"___cxa_can_catch",{configurable:!0,get:function(){Ie("You are getting ___cxa_can_catch on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___cxa_can_catch",{configurable:!0,set:function(){Ie("You are setting ___cxa_can_catch on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_saveSetjmp")||(Object.defineProperty(n.ready,"_saveSetjmp",{configurable:!0,get:function(){Ie("You are getting _saveSetjmp on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_saveSetjmp",{configurable:!0,set:function(){Ie("You are setting _saveSetjmp on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_memalign")||(Object.defineProperty(n.ready,"_memalign",{configurable:!0,get:function(){Ie("You are getting _memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_memalign",{configurable:!0,set:function(){Ie("You are setting _memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_main_thread_process_queued_calls")||(Object.defineProperty(n.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,get:function(){Ie("You are getting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,set:function(){Ie("You are setting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_webgl_make_context_current")||(Object.defineProperty(n.ready,"_emscripten_webgl_make_context_current",{configurable:!0,get:function(){Ie("You are getting _emscripten_webgl_make_context_current on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_webgl_make_context_current",{configurable:!0,set:function(){Ie("You are setting _emscripten_webgl_make_context_current on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_webgl_get_current_context")||(Object.defineProperty(n.ready,"_emscripten_webgl_get_current_context",{configurable:!0,get:function(){Ie("You are getting _emscripten_webgl_get_current_context on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_webgl_get_current_context",{configurable:!0,set:function(){Ie("You are setting _emscripten_webgl_get_current_context on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"__get_tzname")||(Object.defineProperty(n.ready,"__get_tzname",{configurable:!0,get:function(){Ie("You are getting __get_tzname on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"__get_tzname",{configurable:!0,set:function(){Ie("You are setting __get_tzname on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"__get_daylight")||(Object.defineProperty(n.ready,"__get_daylight",{configurable:!0,get:function(){Ie("You are getting __get_daylight on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"__get_daylight",{configurable:!0,set:function(){Ie("You are setting __get_daylight on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"__get_timezone")||(Object.defineProperty(n.ready,"__get_timezone",{configurable:!0,get:function(){Ie("You are getting __get_timezone on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"__get_timezone",{configurable:!0,set:function(){Ie("You are setting __get_timezone on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_builtin_malloc")||(Object.defineProperty(n.ready,"_emscripten_builtin_malloc",{configurable:!0,get:function(){Ie("You are getting _emscripten_builtin_malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_builtin_malloc",{configurable:!0,set:function(){Ie("You are setting _emscripten_builtin_malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_builtin_free")||(Object.defineProperty(n.ready,"_emscripten_builtin_free",{configurable:!0,get:function(){Ie("You are getting _emscripten_builtin_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_builtin_free",{configurable:!0,set:function(){Ie("You are setting _emscripten_builtin_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"_emscripten_builtin_memalign")||(Object.defineProperty(n.ready,"_emscripten_builtin_memalign",{configurable:!0,get:function(){Ie("You are getting _emscripten_builtin_memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"_emscripten_builtin_memalign",{configurable:!0,set:function(){Ie("You are setting _emscripten_builtin_memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___getTypeName")||(Object.defineProperty(n.ready,"___getTypeName",{configurable:!0,get:function(){Ie("You are getting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___getTypeName",{configurable:!0,set:function(){Ie("You are setting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"___embind_register_native_and_builtin_types")||(Object.defineProperty(n.ready,"___embind_register_native_and_builtin_types",{configurable:!0,get:function(){Ie("You are getting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"___embind_register_native_and_builtin_types",{configurable:!0,set:function(){Ie("You are setting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(n.ready,"onRuntimeInitialized")||(Object.defineProperty(n.ready,"onRuntimeInitialized",{configurable:!0,get:function(){Ie("You are getting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(n.ready,"onRuntimeInitialized",{configurable:!0,set:function(){Ie("You are setting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}));var o,i={};for(o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);var a="./this.program",s=function(e,t){throw t},c="object"===("undefined"==typeof window?"undefined":I(window)),A="function"==typeof importScripts,u="object"===("undefined"==typeof process?"undefined":I(process))&&"object"===I(process.versions)&&"string"==typeof process.versions.node,l=!c&&!u&&!A;if(n.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var d,g,f="";if(!c&&!A)throw new Error("environment detection error");if(A?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),N&&(f=N),f=0!==f.indexOf("blob:")?f.substr(0,f.lastIndexOf("/")+1):"","object"!==("undefined"==typeof window?"undefined":I(window))&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");d=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},g=function(e,t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)};var h=n.print||console.log.bind(console),p=n.printErr||console.warn.bind(console);for(o in i)i.hasOwnProperty(o)&&(n[o]=i[o]);function E(e){E.shown||(E.shown={}),E.shown[e]||(E.shown[e]=1,p(e))}i=null,n.arguments&&n.arguments,Object.getOwnPropertyDescriptor(n,"arguments")||Object.defineProperty(n,"arguments",{configurable:!0,get:function(){Ie("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),n.thisProgram&&(a=n.thisProgram),Object.getOwnPropertyDescriptor(n,"thisProgram")||Object.defineProperty(n,"thisProgram",{configurable:!0,get:function(){Ie("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),n.quit&&(s=n.quit),Object.getOwnPropertyDescriptor(n,"quit")||Object.defineProperty(n,"quit",{configurable:!0,get:function(){Ie("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),C(void 0===n.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),C(void 0===n.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),C(void 0===n.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),C(void 0===n.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),C(void 0===n.read,"Module.read option was removed (modify read_ in JS)"),C(void 0===n.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),C(void 0===n.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),C(void 0===n.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),C(void 0===n.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Object.getOwnPropertyDescriptor(n,"read")||Object.defineProperty(n,"read",{configurable:!0,get:function(){Ie("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(n,"readAsync")||Object.defineProperty(n,"readAsync",{configurable:!0,get:function(){Ie("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(n,"readBinary")||Object.defineProperty(n,"readBinary",{configurable:!0,get:function(){Ie("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(n,"setWindowTitle")||Object.defineProperty(n,"setWindowTitle",{configurable:!0,get:function(){Ie("Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),C(!l,"shell environment detected but not enabled at build time. Add 'shell' to `-s ENVIRONMENT` to enable.");var m,y=0,v=function(e){y=e};n.wasmBinary&&n.wasmBinary,Object.getOwnPropertyDescriptor(n,"wasmBinary")||Object.defineProperty(n,"wasmBinary",{configurable:!0,get:function(){Ie("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),n.noExitRuntime,Object.getOwnPropertyDescriptor(n,"noExitRuntime")||Object.defineProperty(n,"noExitRuntime",{configurable:!0,get:function(){Ie("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),"object"!==("undefined"==typeof WebAssembly?"undefined":I(WebAssembly))&&Ie("no native wasm support detected");var w=!1;function C(e,t){e||Ie("Assertion failed: ".concat(t))}var _="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function b(e,t,r){for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.subarray&&_)return _.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if(224==(240&a)?a=(15&a)<<12|s<<6|c:(240!=(248&a)&&E("Invalid UTF-8 leading byte 0x".concat(a.toString(16)," encountered when deserializing a UTF-8 string in wasm memory to a JS string!")),a=(7&a)<<18|s<<12|c<<6|63&e[t++]),a<65536)i+=String.fromCharCode(a);else{var A=a-65536;i+=String.fromCharCode(55296|A>>10,56320|1023&A)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function B(e,t){return e?b(M,e,t):""}function D(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;s>=2097152&&E("Invalid Unicode code point 0x".concat(s.toString(16)," encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x1FFFFF).")),t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o}function T(e,t,r){return C("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),D(e,M,t,r)}function O(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}var Q,P,M,S,k,F,x,U,j,L="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function H(e,t){C(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&k[n];)++n;if((r=n<<1)-e>32&&L)return L.decode(M.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var s=S[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i}function G(e,t,r){if(C(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),C("number"==typeof r,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);S[t>>1]=a,t+=2}return S[t>>1]=0,t-n}function X(e){return 2*e.length}function Y(e,t){C(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var r=0,n="";!(r>=t/4);){var o=F[e+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}function W(e,t,r){if(C(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),C("number"==typeof r,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),F[t>>2]=a,(t+=4)+4>o)break}return F[t>>2]=0,t-n}function V(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t}function z(e){var t=O(e)+1,r=tn(t);return r&&D(e,P,r,t),r}function K(e,t){return e%t>0&&(e+=t-e%t),e}function Z(e){Q=e,n.HEAP8=P=new Int8Array(e),n.HEAP16=S=new Int16Array(e),n.HEAP32=F=new Int32Array(e),n.HEAPU8=M=new Uint8Array(e),n.HEAPU16=k=new Uint16Array(e),n.HEAPU32=x=new Uint32Array(e),n.HEAPF32=U=new Float32Array(e),n.HEAPF64=j=new Float64Array(e)}var J=5242880;n.TOTAL_STACK&&C(J===n.TOTAL_STACK,"the stack size can no longer be determined at runtime");var q,$=n.INITIAL_MEMORY||16777216;function ee(){var e=on();C(!(3&e)),x[1+(e>>2)]=34821223,x[2+(e>>2)]=2310721022,F[0]=1668509029}function te(){if(!w){var e=on(),t=x[1+(e>>2)],r=x[2+(e>>2)];34821223==t&&2310721022==r||Ie("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x".concat(r.toString(16)," ").concat(t.toString(16))),1668509029!==F[0]&&Ie("Runtime error: The application has corrupted its heap memory area (address zero)!")}}Object.getOwnPropertyDescriptor(n,"INITIAL_MEMORY")||Object.defineProperty(n,"INITIAL_MEMORY",{configurable:!0,get:function(){Ie("Module.INITIAL_MEMORY has been replaced with plain INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),C($>=J,"INITIAL_MEMORY should be larger than TOTAL_STACK, was ".concat($,"! (TOTAL_STACK=").concat(J,")")),C("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&void 0!==Int32Array.prototype.subarray&&void 0!==Int32Array.prototype.set,"JS engine does not provide full typed array support"),C(!n.wasmMemory,"Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"),C(16777216==$,"Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)"}();var re=[],ne=[],oe=[],ie=[],ae=!1;function se(e){re.unshift(e)}function ce(e){ie.unshift(e)}C(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var Ae,ue,le,de,ge=0,fe=null,he=null,pe={};function Ee(e){for(var t=e;;){if(!pe[e])return e;e=t+Math.random()}}function me(e){ge++,n.monitorRunDependencies&&n.monitorRunDependencies(ge),e?(C(!pe[e]),pe[e]=1,null===fe&&"undefined"!=typeof setInterval&&(fe=setInterval(function(){if(w)return clearInterval(fe),void(fe=null);var e=!1;for(var t in pe)e||(e=!0,p("still waiting on run dependencies:")),p("dependency: ".concat(t));e&&p("(end of list)")},1e4))):p("warning: run dependency added without ID")}function ye(e){if(ge--,n.monitorRunDependencies&&n.monitorRunDependencies(ge),e?(C(pe[e]),delete pe[e]):p("warning: run dependency removed without ID"),0==ge&&(null!==fe&&(clearInterval(fe),fe=null),he)){var t=he;he=null,t()}}function Ie(e){n.onAbort&&n.onAbort(e),p(e+=""),w=!0;var t,o="abort(".concat(e,") at ").concat((t=function(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}(),n.extraStackTrace&&(t+="\n".concat(n.extraStackTrace())),Te(t)));e=o;var i=new WebAssembly.RuntimeError(e);throw r(i),i}function ve(e,t){return function(){var r=e,o=t;return o=n.asm,C(ae,"native function `".concat(r,"` called before runtime initialization")),C(!0,"native function `".concat(r,"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)")),o[e]||C(o[e],"exported native function `".concat(r,"` not found")),o[e].apply(null,arguments)}}n.preloadedImages={},n.preloadedAudios={},(Ae="selfie_segmentation_solution_simd_wasm_bin.wasm").startsWith("data:application/octet-stream;base64,")||(ue=Ae,Ae=n.locateFile?n.locateFile(ue,f):f+ue);var we,Ce={460656:function(){var e=!0;if(e){var t=wr;if("function"!=typeof t)return void("undefined"!=typeof console&&console.error('Expected Emscripten global function "findCanvasEventTarget" not found. WebGL context creation may fail.'));wr=function(e){if(0==e){if(n&&n.canvas)return n.canvas;if(n&&n.canvasCssSelector)return t(n.canvasCssSelector);"undefined"!=typeof console&&console.warn("Module properties canvas and canvasCssSelector not found during WebGL context creation.")}return t(e)},e=!1}},461441:function(){return"undefined"!=typeof wasmOffsetConverter}};function _e(e,t){if(w)p("user callback triggered after application aborted. Ignoring.");else try{e()}catch(e){if(e instanceof En)return;if("unwind"!==e)throw e&&"object"===I(e)&&e.stack&&p("exception thrown: ".concat([e,e.stack])),e}}function be(e,t){return setTimeout(function(){_e(e)},t)}we=u?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:function(){return performance.now()};var Be={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Be.mainLoop.scheduler=null,Be.mainLoop.currentlyRunningMainloop++},resume:function(){Be.mainLoop.currentlyRunningMainloop++;var e=Be.mainLoop.timingMode,t=Be.mainLoop.timingValue,r=Be.mainLoop.func;Be.mainLoop.func=null,function(e,t,r,o){C(!Be.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Be.mainLoop.func=e,Be.mainLoop.arg=o;var i=Be.mainLoop.currentlyRunningMainloop;function a(){return!(i<Be.mainLoop.currentlyRunningMainloop)}Be.mainLoop.running=!1,Be.mainLoop.runner=function(){if(!w)if(Be.mainLoop.queue.length>0){var t=Date.now(),r=Be.mainLoop.queue.shift();if(r.func(r.arg),Be.mainLoop.remainingBlockers){var o=Be.mainLoop.remainingBlockers,i=o%1==0?o-1:Math.floor(o);r.counted?Be.mainLoop.remainingBlockers=i:(i+=.5,Be.mainLoop.remainingBlockers=(8*o+i)/9)}if(h('main loop blocker "'.concat(r.name,'" took ').concat(Date.now()-t," ms")),Be.mainLoop.updateStatus(),!a())return;setTimeout(Be.mainLoop.runner,0)}else a()&&(Be.mainLoop.currentFrameNumber=Be.mainLoop.currentFrameNumber+1|0,1==Be.mainLoop.timingMode&&Be.mainLoop.timingValue>1&&Be.mainLoop.currentFrameNumber%Be.mainLoop.timingValue!=0?Be.mainLoop.scheduler():(0==Be.mainLoop.timingMode&&(Be.mainLoop.tickStartTime=we()),mr.newRenderingFrameStarted(),void 0!==mr&&mr.currentContext&&!mr.currentContextIsProxied&&!mr.currentContext.attributes.explicitSwapControl&&mr.currentContext.GLctx.commit&&mr.currentContext.GLctx.commit(),"timeout"===Be.mainLoop.method&&n.ctx&&(E("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Be.mainLoop.method=""),Be.mainLoop.runIter(e),te(),a()&&("object"===("undefined"==typeof SDL?"undefined":I(SDL))&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Be.mainLoop.scheduler())))}}(r,0,0,Be.mainLoop.arg),function(e,t){if(Be.mainLoop.timingMode=e,Be.mainLoop.timingValue=t,!Be.mainLoop.func)return p("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up."),1;if(Be.mainLoop.running||(Be.mainLoop.running=!0),0==e)Be.mainLoop.scheduler=function(){var e=0|Math.max(0,Be.mainLoop.tickStartTime+t-we());setTimeout(Be.mainLoop.runner,e)},Be.mainLoop.method="timeout";else if(1==e)Be.mainLoop.scheduler=function(){Be.requestAnimationFrame(Be.mainLoop.runner)},Be.mainLoop.method="rAF";else if(2==e){if("undefined"==typeof setImmediate){var r=[],o="setimmediate";addEventListener("message",function(e){e.data!==o&&e.data.target!==o||(e.stopPropagation(),r.shift()())},!0),setImmediate=function(e){r.push(e),A?(void 0===n.setImmediates&&(n.setImmediates=[]),n.setImmediates.push(e),postMessage({target:o})):postMessage(o,"*")}}Be.mainLoop.scheduler=function(){setImmediate(Be.mainLoop.runner)},Be.mainLoop.method="immediate"}}(e,t),Be.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var e=n.statusMessage||"Please wait...",t=Be.mainLoop.remainingBlockers,r=Be.mainLoop.expectedBlockers;t?t<r?n.setStatus("".concat(e," (").concat(r-t,"/").concat(r,")")):n.setStatus(e):n.setStatus("")}},runIter:function(e){if(!w){if(n.preMainLoop&&!1===n.preMainLoop())return;_e(e),n.postMainLoop&&n.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(n.preloadPlugins||(n.preloadPlugins=[]),!Be.initted){Be.initted=!0;try{new Blob,Be.hasBlobConstructor=!0}catch(e){Be.hasBlobConstructor=!1,h("warning: no blob constructor, cannot create blobs with mimetypes")}Be.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Be.hasBlobConstructor?null:h("warning: no BlobBuilder"),Be.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,n.noImageDecoding||void 0!==Be.URLObject||(h("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var e={canHandle:function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,o){var i=null;if(Be.hasBlobConstructor)try{(i=new Blob([e],{type:Be.getMimetype(t)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:Be.getMimetype(t)}))}catch(e){E("Blob constructor present but fails: ".concat(e,"; falling back to blob builder"))}if(!i){var a=new Be.BlobBuilder;a.append(new Uint8Array(e).buffer),i=a.getBlob()}var s=Be.URLObject.createObjectURL(i);C("string"==typeof s,"createObjectURL must return a url as a string");var c=new Image;c.onload=function(){C(c.complete,"Image ".concat(t," could not be decoded"));var o=document.createElement("canvas");o.width=c.width,o.height=c.height,o.getContext("2d").drawImage(c,0,0),n.preloadedImages[t]=o,Be.URLObject.revokeObjectURL(s),r&&r(e)},c.onerror=function(e){h("Image ".concat(s," could not be decoded")),o&&o()},c.src=s}};n.preloadPlugins.push(e);var t={canHandle:function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,o){var i=!1;function a(o){i||(i=!0,n.preloadedAudios[t]=o,r&&r(e))}function s(){i||(i=!0,n.preloadedAudios[t]=new Audio,o&&o())}if(!Be.hasBlobConstructor)return s();try{var c=new Blob([e],{type:Be.getMimetype(t)})}catch(e){return s()}var A=Be.URLObject.createObjectURL(c);C("string"==typeof A,"createObjectURL must return a url as a string");var u=new Audio;u.addEventListener("canplaythrough",function(){a(u)},!1),u.onerror=function(r){i||(h("warning: browser could not fully decode audio ".concat(t,", trying slower base64 approach")),u.src="data:audio/x-".concat(t.substr(-3),";base64,").concat(function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,i=0;i<e.length;i++)for(n=n<<8|e[i],o+=8;o>=6;){var a=n>>o-6&63;o-=6,r+=t[a]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e)),a(u))},u.src=A,be(function(){a(u)},1e4)}};n.preloadPlugins.push(t),n.canvas}},createContext:function(e,t,r,o){if(t&&n.ctx&&e==n.canvas)return n.ctx;var i,a;if(t){var s={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(o)for(var c in o)s[c]=o[c];void 0!==mr&&(a=mr.createContext(e,s))&&(i=mr.getContext(a).GLctx)}else i=e.getContext("2d");return i?(r&&(t||C(void 0===Yr,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=i,t&&mr.makeContextCurrent(a),n.useWebGL=t,Be.moduleContextCreatedCallbacks.forEach(function(e){e()}),Be.init()),i):null},destroyContext:function(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t){Be.lockPointer=e,Be.resizeCanvas=t,void 0===Be.lockPointer&&(Be.lockPointer=!0),void 0===Be.resizeCanvas&&(Be.resizeCanvas=!1);var r=n.canvas;Be.fullscreenHandlersInstalled||(Be.fullscreenHandlersInstalled=!0);var o=document.createElement("div");r.parentNode.insertBefore(o,r),o.appendChild(r),o.requestFullscreen=o.requestFullscreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullscreen?function(){o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(o.webkitRequestFullScreen?function(){o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),o.requestFullscreen()},requestFullScreen:function(){Ie("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen:function(){return!!Be.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(0===Be.nextRAF)Be.nextRAF=t+1e3/60;else for(;t+2>=Be.nextRAF;)Be.nextRAF+=1e3/60;var r=Math.max(Be.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(e){"function"!=typeof requestAnimationFrame?(0,Be.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)}),safeSetTimeout:function(e){return be(e)},safeRequestAnimationFrame:function(e){return Be.requestAnimationFrame(function(){_e(e)})},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: ".concat(e.deltaMode)}break;default:throw"unrecognized mouse wheel event: ".concat(e.type)}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Be.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Be.mouseMovementX=Be.mouseMovementY=0:(Be.mouseMovementX=Be.getMovementX(e),Be.mouseMovementY=Be.getMovementY(e)),"undefined"!=typeof SDL?(Be.mouseX=SDL.mouseX+Be.mouseMovementX,Be.mouseY=SDL.mouseY+Be.mouseMovementY):(Be.mouseX+=Be.mouseMovementX,Be.mouseY+=Be.mouseMovementY);else{var t=n.canvas.getBoundingClientRect(),r=n.canvas.width,o=n.canvas.height,i=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if(C(void 0!==i&&void 0!==a,"Unable to retrieve scroll position, mouse positions likely broken."),"touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var s=e.touch;if(void 0===s)return;var c=s.pageX-(i+t.left),A=s.pageY-(a+t.top),u={x:c*=r/t.width,y:A*=o/t.height};if("touchstart"===e.type)Be.lastTouches[s.identifier]=u,Be.touches[s.identifier]=u;else if("touchend"===e.type||"touchmove"===e.type){var l=Be.touches[s.identifier];l||(l=u),Be.lastTouches[s.identifier]=l,Be.touches[s.identifier]=u}return}var d=e.pageX-(i+t.left),g=e.pageY-(a+t.top);d*=r/t.width,g*=o/t.height,Be.mouseMovementX=d-Be.mouseX,Be.mouseMovementY=g-Be.mouseY,Be.mouseX=d,Be.mouseY=g}},resizeListeners:[],updateResizeListeners:function(){var e=n.canvas;Be.resizeListeners.forEach(function(t){t(e.width,e.height)})},setCanvasSize:function(e,t,r){var o=n.canvas;Be.updateCanvasDimensions(o,e,t),r||Be.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=x[SDL.screen>>2];e|=8388608,F[SDL.screen>>2]=e}Be.updateCanvasDimensions(n.canvas),Be.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=x[SDL.screen>>2];e&=-8388609,F[SDL.screen>>2]=e}Be.updateCanvasDimensions(n.canvas),Be.updateResizeListeners()},updateCanvasDimensions:function(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var o=t,i=r;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(o/i<n.forcedAspectRatio?o=Math.round(i*n.forcedAspectRatio):i=Math.round(o/n.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var a=Math.min(screen.width/o,screen.height/i);o=Math.round(o*a),i=Math.round(i*a)}Be.resizeCanvas?(e.width!=o&&(e.width=o),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(o!=t||i!=r?(e.style.setProperty("width","".concat(o,"px"),"important"),e.style.setProperty("height","".concat(i,"px"),"important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}};function De(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?q.get(r)():q.get(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(n)}}function Te(e){return e.replace(/\b_Z[\w\d_]+/g,function(e){var t,r=(t=e,E("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t);return e===r?e:"".concat(r," [").concat(e,"]")})}function Oe(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){F[this.ptr+4>>2]=e},this.get_type=function(){return F[this.ptr+4>>2]},this.set_destructor=function(e){F[this.ptr+8>>2]=e},this.get_destructor=function(){return F[this.ptr+8>>2]},this.set_refcount=function(e){F[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,P[this.ptr+12|0]=e},this.get_caught=function(){return 0!=P[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,P[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=P[this.ptr+13|0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=F[this.ptr>>2];F[this.ptr>>2]=e+1},this.release_ref=function(){var e=F[this.ptr>>2];return F[this.ptr>>2]=e-1,C(e>0),1===e}}function Qe(e){this.free=function(){en(this.ptr),this.ptr=0},this.set_base_ptr=function(e){F[this.ptr>>2]=e},this.get_base_ptr=function(){return F[this.ptr>>2]},this.set_adjusted_ptr=function(e){F[this.ptr+4>>2]=e},this.get_adjusted_ptr_addr=function(){return this.ptr+4},this.get_adjusted_ptr=function(){return F[this.ptr+4>>2]},this.get_exception_ptr=function(){if(hn(this.get_exception_info().get_type()))return F[this.get_base_ptr()>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.get_base_ptr()},this.get_exception_info=function(){return new Oe(this.get_base_ptr())},void 0===e?(this.ptr=tn(8),this.set_adjusted_ptr(0)):this.ptr=e}var Pe=[],Me=0;function Re(e){try{return en(new Oe(e).ptr)}catch(e){p("exception during cxa_free_exception: ".concat(e))}}function Se(e){return F[rn()>>2]=e,e}var ke={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=ke.normalizeArray(e.split("/").filter(function(e){return!!e}),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=ke.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=ke.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return ke.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return ke.normalize(e.join("/"))},join2:function(e,t){return ke.normalize("".concat(e,"/").concat(t))}};function Fe(){if("object"===("undefined"==typeof crypto?"undefined":I(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(u)try{var t=R("crypto");return function(){return t.randomBytes(1)[0]}}catch(e){}return function(){Ie("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}var xe={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:Ge.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e="".concat(n,"/").concat(e),t="/"===n.charAt(0)}return(t?"/":"")+(e=ke.normalizeArray(e.split("/").filter(function(e){return!!e}),!t).join("/"))||"."},relative:function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=xe.resolve(e).substr(1),t=xe.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.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("/")}},Ne={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Ne.ttys[e]={input:[],output:[],ops:t},Ge.registerDevice(e,Ne.stream_ops)},stream_ops:{open:function(e){var t=Ne.ttys[e.node.rdev];if(!t)throw new Ge.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Ge.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Ge.ErrnoError(29)}if(void 0===s&&0===i)throw new Ge.ErrnoError(6);if(null==s)break;i++,t[r+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Ge.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new Ge.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(e){if(!e.input.length){var t=null;if(u){var r=Buffer.alloc(256),n=0;try{n=(void 0).readSync(process.stdin.fd,r,0,256,null)}catch(e){if(!e.toString().includes("EOF"))throw e;n=0}t=n>0?r.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=qr(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(h(b(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(h(b(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(p(b(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(p(b(e.output,0)),e.output=[])}}};function Ue(e){e=function(e,t){return C(t,"alignment argument is required"),Math.ceil(e/t)*t}(e,65536);var t=pn(65536,e);return t?(function(e,t){M.fill(0,e,e+t)}(t,e),t):0}var je={ops_table:null,mount:function(e){return je.createNode(null,"/",16895,0)},createNode:function(e,t,r,n){if(Ge.isBlkdev(r)||Ge.isFIFO(r))throw new Ge.ErrnoError(63);je.ops_table||(je.ops_table={dir:{node:{getattr:je.node_ops.getattr,setattr:je.node_ops.setattr,lookup:je.node_ops.lookup,mknod:je.node_ops.mknod,rename:je.node_ops.rename,unlink:je.node_ops.unlink,rmdir:je.node_ops.rmdir,readdir:je.node_ops.readdir,symlink:je.node_ops.symlink},stream:{llseek:je.stream_ops.llseek}},file:{node:{getattr:je.node_ops.getattr,setattr:je.node_ops.setattr},stream:{llseek:je.stream_ops.llseek,read:je.stream_ops.read,write:je.stream_ops.write,allocate:je.stream_ops.allocate,mmap:je.stream_ops.mmap,msync:je.stream_ops.msync}},link:{node:{getattr:je.node_ops.getattr,setattr:je.node_ops.setattr,readlink:je.node_ops.readlink},stream:{}},chrdev:{node:{getattr:je.node_ops.getattr,setattr:je.node_ops.setattr},stream:Ge.chrdev_stream_ops}});var o=Ge.createNode(e,t,r,n);return Ge.isDir(o.mode)?(o.node_ops=je.ops_table.dir.node,o.stream_ops=je.ops_table.dir.stream,o.contents={}):Ge.isFile(o.mode)?(o.node_ops=je.ops_table.file.node,o.stream_ops=je.ops_table.file.stream,o.usedBytes=0,o.contents=null):Ge.isLink(o.mode)?(o.node_ops=je.ops_table.link.node,o.stream_ops=je.ops_table.link.stream):Ge.isChrdev(o.mode)&&(o.node_ops=je.ops_table.chrdev.node,o.stream_ops=je.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Ge.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Ge.isDir(e.mode)?t.size=4096:Ge.isFile(e.mode)?t.size=e.usedBytes:Ge.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&je.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Ge.genericErrors[44]},mknod:function(e,t,r,n){return je.createNode(e,t,r,n)},rename:function(e,t,r){if(Ge.isDir(e.mode)){var n;try{n=Ge.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new Ge.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=Ge.lookupNode(e,t);for(var n in r.contents)throw new Ge.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var n=je.createNode(e,t,41471,0);return n.link=r,n},readlink:function(e){if(!Ge.isLink(e.mode))throw new Ge.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(C(a>=0),a>8&&i.subarray)t.set(i.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=i[o+s];return a},write:function(e,t,r,n,o,i){if(C(!(t instanceof ArrayBuffer)),t.buffer===P.buffer&&(i=!1),!n)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return C(0===o,"canOwn must imply no weird position inside the file"),a.contents=t.subarray(r,r+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(t.subarray(r,r+n),o),n}if(je.expandFileStorage(a,o+n),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&Ge.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Ge.ErrnoError(28);return n},allocate:function(e,t,r){je.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap:function(e,t,r,n,o,i){if(0!==t)throw new Ge.ErrnoError(28);if(!Ge.isFile(e.node.mode))throw new Ge.ErrnoError(43);var a,s,c=e.node.contents;if(2&i||c.buffer!==Q){if((n>0||n+r<c.length)&&(c=c.subarray?c.subarray(n,n+r):Array.prototype.slice.call(c,n,n+r)),s=!0,!(a=Ue(r)))throw new Ge.ErrnoError(48);P.set(c,a)}else s=!1,a=c.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,r,n,o){if(!Ge.isFile(e.node.mode))throw new Ge.ErrnoError(43);return 2&o||je.stream_ops.write(e,t,0,n,r,!1),0}}},Le={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},He={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},Ge={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e,t){if(t=t||{},!(e=xe.resolve(Ge.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var n in r)void 0===t[n]&&(t[n]=r[n]);if(t.recurse_count>8)throw new Ge.ErrnoError(32);for(var o=ke.normalizeArray(e.split("/").filter(function(e){return!!e}),!1),i=Ge.root,a="/",s=0;s<o.length;s++){var c=s===o.length-1;if(c&&t.parent)break;if(i=Ge.lookupNode(i,o[s]),a=ke.join2(a,o[s]),Ge.isMountpoint(i)&&(!c||c&&t.follow_mount)&&(i=i.mounted.root),!c||t.follow)for(var A=0;Ge.isLink(i.mode);){var u=Ge.readlink(a);if(a=xe.resolve(ke.dirname(a),u),i=Ge.lookupPath(a,{recurse_count:t.recurse_count}).node,A++>40)throw new Ge.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(Ge.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?"".concat(r,"/").concat(t):r+t:r}t=t?"".concat(e.name,"/").concat(t):e.name,e=e.parent}},hashName:function(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%Ge.nameTable.length},hashAddNode:function(e){var t=Ge.hashName(e.parent.id,e.name);e.name_next=Ge.nameTable[t],Ge.nameTable[t]=e},hashRemoveNode:function(e){var t=Ge.hashName(e.parent.id,e.name);if(Ge.nameTable[t]===e)Ge.nameTable[t]=e.name_next;else for(var r=Ge.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:function(e,t){var r=Ge.mayLookup(e);if(r)throw new Ge.ErrnoError(r,e);for(var n=Ge.hashName(e.id,t),o=Ge.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return Ge.lookup(e,t)},createNode:function(e,t,r,n){C("object"===I(e));var o=new Ge.FSNode(e,t,r,n);return Ge.hashAddNode(o),o},destroyNode:function(e){Ge.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return!(49152&~e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=Ge.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: ".concat(e));return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Ge.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Ge.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return Ge.lookupNode(e,t),20}catch(e){}return Ge.nodePermissions(e,"wx")},mayDelete:function(e,t,r){var n;try{n=Ge.lookupNode(e,t)}catch(e){return e.errno}var o=Ge.nodePermissions(e,"wx");if(o)return o;if(r){if(!Ge.isDir(n.mode))return 54;if(Ge.isRoot(n)||Ge.getPath(n)===Ge.cwd())return 10}else if(Ge.isDir(n.mode))return 31;return 0},mayOpen:function(e,t){return e?Ge.isLink(e.mode)?32:Ge.isDir(e.mode)&&("r"!==Ge.flagsToPermissionString(t)||512&t)?31:Ge.nodePermissions(e,Ge.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||Ge.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!Ge.streams[r])return r;throw new Ge.ErrnoError(33)},getStream:function(e){return Ge.streams[e]},createStream:function(e,t,r){Ge.FSStream||(Ge.FSStream=function(){},Ge.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var n=new Ge.FSStream;for(var o in e)n[o]=e[o];e=n;var i=Ge.nextfd(t,r);return e.fd=i,Ge.streams[i]=e,e},closeStream:function(e){Ge.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Ge.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Ge.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Ge.devices[e]={stream_ops:t}},getDevice:function(e){return Ge.devices[e]},getMounts:function(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Ge.syncFSRequests++,Ge.syncFSRequests>1&&p("warning: ".concat(Ge.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=Ge.getMounts(Ge.root.mount),n=0;function o(e){return C(Ge.syncFSRequests>0),Ge.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach(function(t){if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)})},mount:function(e,t,r){if("string"==typeof e)throw e;var n,o="/"===r,i=!r;if(o&&Ge.root)throw new Ge.ErrnoError(10);if(!o&&!i){var a=Ge.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,Ge.isMountpoint(n))throw new Ge.ErrnoError(10);if(!Ge.isDir(n.mode))throw new Ge.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?Ge.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount:function(e){var t=Ge.lookupPath(e,{follow_mount:!1});if(!Ge.isMountpoint(t.node))throw new Ge.ErrnoError(28);var r=t.node,n=r.mounted,o=Ge.getMounts(n);Object.keys(Ge.nameTable).forEach(function(e){for(var t=Ge.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&Ge.destroyNode(t),t=r}}),r.mounted=null;var i=r.mount.mounts.indexOf(n);C(-1!==i),r.mount.mounts.splice(i,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,r){var n=Ge.lookupPath(e,{parent:!0}).node,o=ke.basename(e);if(!o||"."===o||".."===o)throw new Ge.ErrnoError(28);var i=Ge.mayCreate(n,o);if(i)throw new Ge.ErrnoError(i);if(!n.node_ops.mknod)throw new Ge.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Ge.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Ge.mknod(e,t,0)},mkdirTree:function(e,t){for(var r=e.split("/"),n="",o=0;o<r.length;++o)if(r[o]){n+="/".concat(r[o]);try{Ge.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:function(e,t,r){return void 0===r&&(r=t,t=438),t|=8192,Ge.mknod(e,t,r)},symlink:function(e,t){if(!xe.resolve(e))throw new Ge.ErrnoError(44);var r=Ge.lookupPath(t,{parent:!0}).node;if(!r)throw new Ge.ErrnoError(44);var n=ke.basename(t),o=Ge.mayCreate(r,n);if(o)throw new Ge.ErrnoError(o);if(!r.node_ops.symlink)throw new Ge.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename:function(e,t){var r,n,o=ke.dirname(e),i=ke.dirname(t),a=ke.basename(e),s=ke.basename(t);if(r=Ge.lookupPath(e,{parent:!0}).node,n=Ge.lookupPath(t,{parent:!0}).node,!r||!n)throw new Ge.ErrnoError(44);if(r.mount!==n.mount)throw new Ge.ErrnoError(75);var c,A=Ge.lookupNode(r,a),u=xe.relative(e,i);if("."!==u.charAt(0))throw new Ge.ErrnoError(28);if("."!==(u=xe.relative(t,o)).charAt(0))throw new Ge.ErrnoError(55);try{c=Ge.lookupNode(n,s)}catch(e){}if(A!==c){var l=Ge.isDir(A.mode),d=Ge.mayDelete(r,a,l);if(d)throw new Ge.ErrnoError(d);if(d=c?Ge.mayDelete(n,s,l):Ge.mayCreate(n,s))throw new Ge.ErrnoError(d);if(!r.node_ops.rename)throw new Ge.ErrnoError(63);if(Ge.isMountpoint(A)||c&&Ge.isMountpoint(c))throw new Ge.ErrnoError(10);if(n!==r&&(d=Ge.nodePermissions(r,"w")))throw new Ge.ErrnoError(d);try{Ge.trackingDelegate.willMovePath&&Ge.trackingDelegate.willMovePath(e,t)}catch(r){p("FS.trackingDelegate['willMovePath']('".concat(e,"', '").concat(t,"') threw an exception: ").concat(r.message))}Ge.hashRemoveNode(A);try{r.node_ops.rename(A,n,s)}catch(e){throw e}finally{Ge.hashAddNode(A)}try{Ge.trackingDelegate.onMovePath&&Ge.trackingDelegate.onMovePath(e,t)}catch(r){p("FS.trackingDelegate['onMovePath']('".concat(e,"', '").concat(t,"') threw an exception: ").concat(r.message))}}},rmdir:function(e){var t=Ge.lookupPath(e,{parent:!0}).node,r=ke.basename(e),n=Ge.lookupNode(t,r),o=Ge.mayDelete(t,r,!0);if(o)throw new Ge.ErrnoError(o);if(!t.node_ops.rmdir)throw new Ge.ErrnoError(63);if(Ge.isMountpoint(n))throw new Ge.ErrnoError(10);try{Ge.trackingDelegate.willDeletePath&&Ge.trackingDelegate.willDeletePath(e)}catch(t){p("FS.trackingDelegate['willDeletePath']('".concat(e,"') threw an exception: ").concat(t.message))}t.node_ops.rmdir(t,r),Ge.destroyNode(n);try{Ge.trackingDelegate.onDeletePath&&Ge.trackingDelegate.onDeletePath(e)}catch(t){p("FS.trackingDelegate['onDeletePath']('".concat(e,"') threw an exception: ").concat(t.message))}},readdir:function(e){var t=Ge.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Ge.ErrnoError(54);return t.node_ops.readdir(t)},unlink:function(e){var t=Ge.lookupPath(e,{parent:!0}).node,r=ke.basename(e),n=Ge.lookupNode(t,r),o=Ge.mayDelete(t,r,!1);if(o)throw new Ge.ErrnoError(o);if(!t.node_ops.unlink)throw new Ge.ErrnoError(63);if(Ge.isMountpoint(n))throw new Ge.ErrnoError(10);try{Ge.trackingDelegate.willDeletePath&&Ge.trackingDelegate.willDeletePath(e)}catch(t){p("FS.trackingDelegate['willDeletePath']('".concat(e,"') threw an exception: ").concat(t.message))}t.node_ops.unlink(t,r),Ge.destroyNode(n);try{Ge.trackingDelegate.onDeletePath&&Ge.trackingDelegate.onDeletePath(e)}catch(t){p("FS.trackingDelegate['onDeletePath']('".concat(e,"') threw an exception: ").concat(t.message))}},readlink:function(e){var t=Ge.lookupPath(e).node;if(!t)throw new Ge.ErrnoError(44);if(!t.node_ops.readlink)throw new Ge.ErrnoError(28);return xe.resolve(Ge.getPath(t.parent),t.node_ops.readlink(t))},stat:function(e,t){var r=Ge.lookupPath(e,{follow:!t}).node;if(!r)throw new Ge.ErrnoError(44);if(!r.node_ops.getattr)throw new Ge.ErrnoError(63);return r.node_ops.getattr(r)},lstat:function(e){return Ge.stat(e,!0)},chmod:function(e,t,r){var n;if(!(n="string"==typeof e?Ge.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Ge.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:function(e,t){Ge.chmod(e,t,!0)},fchmod:function(e,t){var r=Ge.getStream(e);if(!r)throw new Ge.ErrnoError(8);Ge.chmod(r.node,t)},chown:function(e,t,r,n){var o;if(!(o="string"==typeof e?Ge.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new Ge.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:function(e,t,r){Ge.chown(e,t,r,!0)},fchown:function(e,t,r){var n=Ge.getStream(e);if(!n)throw new Ge.ErrnoError(8);Ge.chown(n.node,t,r)},truncate:function(e,t){if(t<0)throw new Ge.ErrnoError(28);var r;if(!(r="string"==typeof e?Ge.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Ge.ErrnoError(63);if(Ge.isDir(r.mode))throw new Ge.ErrnoError(31);if(!Ge.isFile(r.mode))throw new Ge.ErrnoError(28);var n=Ge.nodePermissions(r,"w");if(n)throw new Ge.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:function(e,t){var r=Ge.getStream(e);if(!r)throw new Ge.ErrnoError(8);if(!(2097155&r.flags))throw new Ge.ErrnoError(28);Ge.truncate(r.node,t)},utime:function(e,t,r){var n=Ge.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open:function(e,t,r,o,i){if(""===e)throw new Ge.ErrnoError(44);var a;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?Ge.modeStringToFlags(t):t)?4095&r|32768:0,"object"===I(e))a=e;else{e=ke.normalize(e);try{a=Ge.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(a){if(128&t)throw new Ge.ErrnoError(20)}else a=Ge.mknod(e,r,0),s=!0;if(!a)throw new Ge.ErrnoError(44);if(Ge.isChrdev(a.mode)&&(t&=-513),65536&t&&!Ge.isDir(a.mode))throw new Ge.ErrnoError(54);if(!s){var c=Ge.mayOpen(a,t);if(c)throw new Ge.ErrnoError(c)}512&t&&Ge.truncate(a,0),t&=-131713;var A=Ge.createStream({node:a,path:Ge.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},o,i);A.stream_ops.open&&A.stream_ops.open(A),!n.logReadFiles||1&t||(Ge.readFiles||(Ge.readFiles={}),e in Ge.readFiles||(Ge.readFiles[e]=1,p("FS.trackingDelegate error on read file: ".concat(e))));try{if(Ge.trackingDelegate.onOpenFile){var u=0;1!=(2097155&t)&&(u|=Ge.tracking.openFlags.READ),2097155&t&&(u|=Ge.tracking.openFlags.WRITE),Ge.trackingDelegate.onOpenFile(e,u)}}catch(t){p("FS.trackingDelegate['onOpenFile']('".concat(e,"', flags) threw an exception: ").concat(t.message))}return A},close:function(e){if(Ge.isClosed(e))throw new Ge.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ge.closeStream(e.fd)}e.fd=null},isClosed:function(e){return null===e.fd},llseek:function(e,t,r){if(Ge.isClosed(e))throw new Ge.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ge.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Ge.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:function(e,t,r,n,o){if(n<0||o<0)throw new Ge.ErrnoError(28);if(Ge.isClosed(e))throw new Ge.ErrnoError(8);if(1==(2097155&e.flags))throw new Ge.ErrnoError(8);if(Ge.isDir(e.node.mode))throw new Ge.ErrnoError(31);if(!e.stream_ops.read)throw new Ge.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new Ge.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=a),a},write:function(e,t,r,n,o,i){if(n<0||o<0)throw new Ge.ErrnoError(28);if(Ge.isClosed(e))throw new Ge.ErrnoError(8);if(!(2097155&e.flags))throw new Ge.ErrnoError(8);if(Ge.isDir(e.node.mode))throw new Ge.ErrnoError(31);if(!e.stream_ops.write)throw new Ge.ErrnoError(28);e.seekable&&1024&e.flags&&Ge.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Ge.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,n,o,i);a||(e.position+=s);try{e.path&&Ge.trackingDelegate.onWriteToFile&&Ge.trackingDelegate.onWriteToFile(e.path)}catch(t){p("FS.trackingDelegate['onWriteToFile']('".concat(e.path,"') threw an exception: ").concat(t.message))}return s},allocate:function(e,t,r){if(Ge.isClosed(e))throw new Ge.ErrnoError(8);if(t<0||r<=0)throw new Ge.ErrnoError(28);if(!(2097155&e.flags))throw new Ge.ErrnoError(8);if(!Ge.isFile(e.node.mode)&&!Ge.isDir(e.node.mode))throw new Ge.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ge.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:function(e,t,r,n,o,i){if(2&o&&!(2&i)&&2!=(2097155&e.flags))throw new Ge.ErrnoError(2);if(1==(2097155&e.flags))throw new Ge.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ge.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,o,i)},msync:function(e,t,r,n,o){return e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0},munmap:function(e){return 0},ioctl:function(e,t,r){if(!e.stream_ops.ioctl)throw new Ge.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e,t){if((t=t||{}).flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'.concat(t.encoding,'"'));var r,n=Ge.open(e,t.flags),o=Ge.stat(e).size,i=new Uint8Array(o);return Ge.read(n,i,0,o,0),"utf8"===t.encoding?r=b(i,0):"binary"===t.encoding&&(r=i),Ge.close(n),r},writeFile:function(e,t,r){(r=r||{}).flags=r.flags||577;var n=Ge.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(O(t)+1),i=D(t,o,0,o.length);Ge.write(n,o,0,i,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Ge.write(n,t,0,t.byteLength,void 0,r.canOwn)}Ge.close(n)},cwd:function(){return Ge.currentPath},chdir:function(e){var t=Ge.lookupPath(e,{follow:!0});if(null===t.node)throw new Ge.ErrnoError(44);if(!Ge.isDir(t.node.mode))throw new Ge.ErrnoError(54);var r=Ge.nodePermissions(t.node,"x");if(r)throw new Ge.ErrnoError(r);Ge.currentPath=t.path},createDefaultDirectories:function(){Ge.mkdir("/tmp"),Ge.mkdir("/home"),Ge.mkdir("/home/web_user")},createDefaultDevices:function(){Ge.mkdir("/dev"),Ge.registerDevice(Ge.makedev(1,3),{read:function(){return 0},write:function(e,t,r,n,o){return n}}),Ge.mkdev("/dev/null",Ge.makedev(1,3)),Ne.register(Ge.makedev(5,0),Ne.default_tty_ops),Ne.register(Ge.makedev(6,0),Ne.default_tty1_ops),Ge.mkdev("/dev/tty",Ge.makedev(5,0)),Ge.mkdev("/dev/tty1",Ge.makedev(6,0));var e=Fe();Ge.createDevice("/dev","random",e),Ge.createDevice("/dev","urandom",e),Ge.mkdir("/dev/shm"),Ge.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Ge.mkdir("/proc");var e=Ge.mkdir("/proc/self");Ge.mkdir("/proc/self/fd"),Ge.mount({mount:function(){var t=Ge.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var r=+t,n=Ge.getStream(r);if(!n)throw new Ge.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return n.path}}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:function(){n.stdin?Ge.createDevice("/dev","stdin",n.stdin):Ge.symlink("/dev/tty","/dev/stdin"),n.stdout?Ge.createDevice("/dev","stdout",null,n.stdout):Ge.symlink("/dev/tty","/dev/stdout"),n.stderr?Ge.createDevice("/dev","stderr",null,n.stderr):Ge.symlink("/dev/tty1","/dev/stderr");var e=Ge.open("/dev/stdin",0),t=Ge.open("/dev/stdout",1),r=Ge.open("/dev/stderr",1);C(0===e.fd,"invalid handle for stdin (".concat(e.fd,")")),C(1===t.fd,"invalid handle for stdout (".concat(t.fd,")")),C(2===r.fd,"invalid handle for stderr (".concat(r.fd,")"))},ensureErrnoError:function(){Ge.ErrnoError||(Ge.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){for(var t in this.errno=e,He)if(He[t]===e){this.code=t;break}},this.setErrno(e),this.message=Le[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Te(this.stack))},Ge.ErrnoError.prototype=new Error,Ge.ErrnoError.prototype.constructor=Ge.ErrnoError,[44].forEach(function(e){Ge.genericErrors[e]=new Ge.ErrnoError(e),Ge.genericErrors[e].stack="<generic error, no stack>"}))},staticInit:function(){Ge.ensureErrnoError(),Ge.nameTable=new Array(4096),Ge.mount(je,{},"/"),Ge.createDefaultDirectories(),Ge.createDefaultDevices(),Ge.createSpecialDirectories(),Ge.filesystems={MEMFS:je}},init:function(e,t,r){C(!Ge.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),Ge.init.initialized=!0,Ge.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=t||n.stdout,n.stderr=r||n.stderr,Ge.createStandardStreams()},quit:function(){Ge.init.initialized=!1;var e=n._fflush;e&&e(0);for(var t=0;t<Ge.streams.length;t++){var r=Ge.streams[t];r&&Ge.close(r)}},getMode:function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:function(e,t){var r=Ge.analyzePath(e,t);return r.exists?r.object:null},analyzePath:function(e,t){try{e=(n=Ge.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Ge.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=ke.basename(e),n=Ge.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath:function(e,t,r,n){e="string"==typeof e?e:Ge.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var a=ke.join2(e,i);try{Ge.mkdir(a)}catch(e){}e=a}}return a},createFile:function(e,t,r,n,o){var i=ke.join2("string"==typeof e?e:Ge.getPath(e),t),a=Ge.getMode(n,o);return Ge.create(i,a)},createDataFile:function(e,t,r,n,o,i){var a=t?ke.join2("string"==typeof e?e:Ge.getPath(e),t):e,s=Ge.getMode(n,o),c=Ge.create(a,s);if(r){if("string"==typeof r){for(var A=new Array(r.length),u=0,l=r.length;u<l;++u)A[u]=r.charCodeAt(u);r=A}Ge.chmod(c,146|s);var d=Ge.open(c,577);Ge.write(d,r,0,r.length,0,i),Ge.close(d),Ge.chmod(c,s)}return c},createDevice:function(e,t,r,n){var o=ke.join2("string"==typeof e?e:Ge.getPath(e),t),i=Ge.getMode(!!r,!!n);Ge.createDevice.major||(Ge.createDevice.major=64);var a=Ge.makedev(Ge.createDevice.major++,0);return Ge.registerDevice(a,{open:function(e){e.seekable=!1},close:function(e){n&&n.buffer&&n.buffer.length&&n(10)},read:function(e,t,n,o,i){for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(e){throw new Ge.ErrnoError(29)}if(void 0===c&&0===a)throw new Ge.ErrnoError(6);if(null==c)break;a++,t[n+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:function(e,t,r,o,i){for(var a=0;a<o;a++)try{n(t[r+a])}catch(e){throw new Ge.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),Ge.mkdev(o,i,a)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!d)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=qr(d(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Ge.ErrnoError(29)}},createLazyFile:function(e,t,r,n,o){function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load ".concat(r,". Status: ").concat(e.status));var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var s=this;s.setDataGetter(function(e){var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range (".concat(e,", ").concat(t,") or no bytes requested!"));if(t>n-1)throw new Error("only ".concat(n," bytes available! programmer error!"));var o=new XMLHttpRequest;if(o.open("GET",r,!1),n!==a&&o.setRequestHeader("Range","bytes=".concat(e,"-").concat(t)),"undefined"!=typeof Uint8Array&&(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 ".concat(r,". Status: ").concat(o.status));return void 0!==o.response?new Uint8Array(o.response||[]):qr(o.responseText||"",!0)}(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]}),!i&&n||(a=n=1,n=this.getter(0).length,a=n,h("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(!A)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=Ge.createFile(e,t,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={};return Object.keys(c.stream_ops).forEach(function(e){var t=c.stream_ops[e];u[e]=function(){return Ge.forceLoadFile(c),t.apply(null,arguments)}}),u.read=function(e,t,r,n,o){Ge.forceLoadFile(c);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(C(a>=0),i.slice)for(var s=0;s<a;s++)t[r+s]=i[o+s];else for(s=0;s<a;s++)t[r+s]=i.get(o+s);return a},c.stream_ops=u,c},createPreloadedFile:function(e,t,r,o,i,a,s,c,A,u){Be.init();var l=t?xe.resolve(ke.join2(e,t)):e,d=Ee("cp ".concat(l));function f(r){function g(r){u&&u(),c||Ge.createDataFile(e,t,r,o,i,A),a&&a(),ye(d)}var f=!1;n.preloadPlugins.forEach(function(e){f||e.canHandle(l)&&(e.handle(r,l,g,function(){s&&s(),ye(d)}),f=!0)}),f||g(r)}me(d),"string"==typeof r?function(e,t,r){var n=Ee("al ".concat(e));g(e,function(r){C(r,'Loading data file "'.concat(e,'" failed (no arrayBuffer).')),t(new Uint8Array(r)),n&&ye(n)},function(t){if(!r)throw'Loading data file "'.concat(e,'" failed.');r()}),n&&me(n)}(r,function(e){f(e)},s):f(r)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_".concat(window.location.pathname)},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(e,t,r){t=t||function(){},r=r||function(){};var n=Ge.indexedDB();try{var o=n.open(Ge.DB_NAME(),Ge.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=function(){h("creating db"),o.result.createObjectStore(Ge.DB_STORE_NAME)},o.onsuccess=function(){var n=o.result.transaction([Ge.DB_STORE_NAME],"readwrite"),i=n.objectStore(Ge.DB_STORE_NAME),a=0,s=0,c=e.length;function A(){0==s?t():r()}e.forEach(function(e){var t=i.put(Ge.analyzePath(e).object.contents,e);t.onsuccess=function(){++a+s==c&&A()},t.onerror=function(){s++,a+s==c&&A()}}),n.onerror=r},o.onerror=r},loadFilesFromDB:function(e,t,r){t=t||function(){},r=r||function(){};var n=Ge.indexedDB();try{var o=n.open(Ge.DB_NAME(),Ge.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=r,o.onsuccess=function(){var n=o.result;try{var i=n.transaction([Ge.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var a=i.objectStore(Ge.DB_STORE_NAME),s=0,c=0,A=e.length;function u(){0==c?t():r()}e.forEach(function(e){var t=a.get(e);t.onsuccess=function(){Ge.analyzePath(e).exists&&Ge.unlink(e),Ge.createDataFile(ke.dirname(e),ke.basename(e),t.result,!0,!0,!0),++s+c==A&&u()},t.onerror=function(){c++,s+c==A&&u()}}),i.onerror=r},o.onerror=r},absolutePath:function(){Ie("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:function(){Ie("FS.createFolder has been removed; use FS.mkdir instead")},createLink:function(){Ie("FS.createLink has been removed; use FS.symlink instead")},joinPath:function(){Ie("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:function(){Ie("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:function(){Ie("FS.standardizePath has been removed; use PATH.normalize instead")}},Xe={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(e,t,r){if("/"===t[0])return t;var n;if(-100===e)n=Ge.cwd();else{var o=Ge.getStream(e);if(!o)throw new Ge.ErrnoError(8);n=o.path}if(0==t.length){if(!r)throw new Ge.ErrnoError(44);return n}return ke.join2(n,t)},doStat:function(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&ke.normalize(t)!==ke.normalize(Ge.getPath(e.node)))return-54;throw e}return F[r>>2]=n.dev,F[r+4>>2]=0,F[r+8>>2]=n.ino,F[r+12>>2]=n.mode,F[r+16>>2]=n.nlink,F[r+20>>2]=n.uid,F[r+24>>2]=n.gid,F[r+28>>2]=n.rdev,F[r+32>>2]=0,de=[n.size>>>0,(le=n.size,+Math.abs(le)>=1?le>0?(0|Math.min(+Math.floor(le/4294967296),4294967295))>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],F[r+40>>2]=de[0],F[r+44>>2]=de[1],F[r+48>>2]=4096,F[r+52>>2]=n.blocks,F[r+56>>2]=n.atime.getTime()/1e3|0,F[r+60>>2]=0,F[r+64>>2]=n.mtime.getTime()/1e3|0,F[r+68>>2]=0,F[r+72>>2]=n.ctime.getTime()/1e3|0,F[r+76>>2]=0,de=[n.ino>>>0,(le=n.ino,+Math.abs(le)>=1?le>0?(0|Math.min(+Math.floor(le/4294967296),4294967295))>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],F[r+80>>2]=de[0],F[r+84>>2]=de[1],0},doMsync:function(e,t,r,n,o){var i=M.slice(e,e+r);Ge.msync(t,i,o,r,n)},doMkdir:function(e,t){return"/"===(e=ke.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),Ge.mkdir(e,t,0),0},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Ge.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var n=Ge.readlink(e),o=Math.min(r,O(n)),i=P[t+o];return T(n,t,r+1),P[t+o]=i,o},doAccess:function(e,t){if(-8&t)return-28;var r;if(!(r=Ge.lookupPath(e,{follow:!0}).node))return-44;var n="";return 4&t&&(n+="r"),2&t&&(n+="w"),1&t&&(n+="x"),n&&Ge.nodePermissions(r,n)?-2:0},doDup:function(e,t,r){var n=Ge.getStream(r);return n&&Ge.close(n),Ge.open(e,t,0,r,r).fd},doReadv:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=F[t+8*i>>2],s=F[t+(8*i+4)>>2],c=Ge.read(e,P,a,s,n);if(c<0)return-1;if(o+=c,c<s)break}return o},doWritev:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=F[t+8*i>>2],s=F[t+(8*i+4)>>2],c=Ge.write(e,P,a,s,n);if(c<0)return-1;o+=c}return o},varargs:void 0,get:function(){return C(null!=Xe.varargs),Xe.varargs+=4,F[Xe.varargs-4>>2]},getStr:function(e){return B(e)},getStreamFromFD:function(e){var t=Ge.getStream(e);if(!t)throw new Ge.ErrnoError(8);return t},get64:function(e,t){return C(e>=0?0===t:-1===t),e}};function Ye(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}function We(e,t){return e=Ye(e),new Function("body","return function ".concat(e,'() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(t)}var Ve=[],ze=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Ke(){for(var e=0,t=5;t<ze.length;++t)void 0!==ze[t]&&++e;return e}function Ze(){for(var e=5;e<ze.length;++e)if(void 0!==ze[e])return ze[e];return null}function Je(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=Ve.length?Ve.pop():ze.length;return ze[t]={refcount:1,value:e},t}}function qe(e,t){var r=We(t,function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack="".concat(this.toString(),"\n").concat(r.replace(/^Error(:[^\n]*)?\n/,"")))});return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},r}var $e=void 0,et=void 0;function tt(e){for(var t="",r=e;M[r];)t+=et[M[r++]];return t}function rt(){return Object.keys(ct).length}function nt(){var e=[];for(var t in ct)ct.hasOwnProperty(t)&&e.push(ct[t]);return e}var ot=[];function it(){for(;ot.length;){var e=ot.pop();e.$$.deleteScheduled=!1,e.delete()}}var at=void 0;function st(e){at=e,ot.length&&at&&at(it)}var ct={},At=void 0;function ut(e){throw new At(e)}function lt(e,t){for(void 0===t&&ut("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function dt(e){return e||ut("Cannot use deleted val. handle = ".concat(e)),ze[e].value}var gt={};function ft(e){var t=nn(e),r=tt(t);return en(t),r}function ht(e,t){var r=gt[e];return void 0===r&&ut("".concat(t," has unknown type ").concat(ft(e))),r}function pt(e){}var Et=!1;function mt(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function yt(e){return"undefined"==typeof FinalizationGroup?(yt=function(e){return e},e):(Et=new FinalizationGroup(function(e){for(var t=e.next();!t.done;t=e.next()){var r=t.value;r.ptr?mt(r):console.warn("object already deleted: ".concat(r.ptr))}}),pt=function(e){Et.unregister(e.$$)},(yt=function(e){return Et.register(e,e.$$,e.$$),e})(e))}var It={};function vt(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function wt(e){return this.fromWireType(x[e>>2])}var Ct={},_t={},bt=void 0;function Bt(e){throw new bt(e)}function Dt(e,t,r){function n(t){var n=r(t);n.length!==e.length&&Bt("Mismatched type converter count");for(var o=0;o<e.length;++o)Ot(e[o],n[o])}e.forEach(function(e){_t[e]=t});var o=new Array(t.length),i=[],a=0;t.forEach(function(e,t){gt.hasOwnProperty(e)?o[t]=gt[e]:(i.push(e),Ct.hasOwnProperty(e)||(Ct[e]=[]),Ct[e].push(function(){o[t]=gt[e],++a===i.length&&n(o)}))}),0===i.length&&n(o)}function Tt(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(e))}}function Ot(e,t,r){if(r=r||{},!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||ut('type "'.concat(n,'" must have a positive integer typeid pointer')),gt.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;ut("Cannot register type '".concat(n,"' twice"))}if(gt[e]=t,delete _t[e],Ct.hasOwnProperty(e)){var o=Ct[e];delete Ct[e],o.forEach(function(e){e()})}}function Qt(e){if(!(this instanceof Ft))return!1;if(!(e instanceof Ft))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o}function Pt(e){ut("".concat(e.$$.ptrType.registeredClass.name," instance already deleted"))}function Mt(){if(this.$$.ptr||Pt(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=yt(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function Rt(){this.$$.ptr||Pt(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ut("Object already scheduled for deletion"),pt(this),mt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function St(){return!this.$$.ptr}function kt(){return this.$$.ptr||Pt(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ut("Object already scheduled for deletion"),ot.push(this),1===ot.length&&at&&at(it),this.$$.deleteScheduled=!0,this}function Ft(){}var xt={};function Nt(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||ut("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function Ut(e,t,r){n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&ut("Cannot register public name '".concat(e,"' twice")),Nt(n,e,e),n.hasOwnProperty(r)&&ut("Cannot register multiple overloads of a function with the same number of arguments (".concat(r,")!")),n[e].overloadTable[r]=t):(n[e]=t,void 0!==r&&(n[e].numArguments=r))}function jt(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Lt(e,t,r){for(;t!==r;)t.upcast||ut("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e}function Ht(e,t){if(null===t)return this.isReference&&ut("null is not a valid ".concat(this.name)),0;t.$$||ut('Cannot pass "'.concat(cr(t),'" as a ').concat(this.name)),t.$$.ptr||ut("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Lt(t.$$.ptr,r,this.registeredClass)}function Gt(e,t){var r;if(null===t)return this.isReference&&ut("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||ut('Cannot pass "'.concat(cr(t),'" as a ').concat(this.name)),t.$$.ptr||ut("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&ut("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var n=t.$$.ptrType.registeredClass;if(r=Lt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ut("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:ut("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,Je(function(){o.delete()})),null!==e&&e.push(this.rawDestructor,r)}break;default:ut("Unsupporting sharing policy")}return r}function Xt(e,t){if(null===t)return this.isReference&&ut("null is not a valid ".concat(this.name)),0;t.$$||ut('Cannot pass "'.concat(cr(t),'" as a ').concat(this.name)),t.$$.ptr||ut("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&ut("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Lt(t.$$.ptr,r,this.registeredClass)}function Yt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Wt(e){this.rawDestructor&&this.rawDestructor(e)}function Vt(e){null!==e&&e.delete()}function zt(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=zt(e,t,r.baseClass);return null===n?null:r.downcast(n)}function Kt(e,t){return t.ptrType&&t.ptr||Bt("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Bt("Both smartPtrType and smartPtr must be specified"),t.count={value:1},yt(Object.create(e,{$$:{value:t}}))}function Zt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=lt(e,t),ct[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?Kt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Kt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=xt[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=zt(t,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?Kt(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:e}):Kt(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})}function Jt(e,t,r,n,o,i,a,s,c,A,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=A,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=Gt:n?(this.toWireType=Ht,this.destructorFunction=null):(this.toWireType=Xt,this.destructorFunction=null)}function qt(e,t,r){n.hasOwnProperty(e)||Bt("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)}function $t(e,t,r){return e.includes("j")?function(e,t,r){C("dynCall_".concat(e)in n,"bad function pointer type - no table for sig '".concat(e,"'")),r&&r.length?C(r.length===e.substring(1).replace(/j/g,"--").length):C(1==e.length);var o=n["dynCall_".concat(e)];return r&&r.length?o.apply(null,[t].concat(r)):o.call(null,t)}(e,t,r):(C(q.get(t),"missing table entry in dynCall: ".concat(t)),q.get(t).apply(null,r))}function er(e,t){var r=(e=tt(e)).includes("j")?function(e,t){C(e.includes("j"),"getDynCaller should only be called with i64 sigs");var r=[];return function(){r.length=arguments.length;for(var n=0;n<arguments.length;n++)r[n]=arguments[n];return $t(e,t,r)}}(e,t):q.get(t);return"function"!=typeof r&&ut("unknown function pointer with signature ".concat(e,": ").concat(t)),r}var tr=void 0;function rr(e,t){var r=[],n={};throw t.forEach(function e(t){n[t]||gt[t]||(_t[t]?_t[t].forEach(e):(r.push(t),n[t]=!0))}),new tr("".concat(e,": ").concat(r.map(ft).join([", "])))}function nr(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(I(e)," which is not a function"));var r=We(e.name||"unknownFunctionName",function(){});r.prototype=e.prototype;var n=new r,o=e.apply(n,t);return o instanceof Object?o:n}function or(e,t,r,n,o){var i=t.length;i<2&&ut("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,s=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){s=!0;break}var A="void"!==t[0].name,u="",l="";for(c=0;c<i-2;++c)u+="".concat(0!==c?", ":"","arg").concat(c),l+="".concat(0!==c?", ":"","arg").concat(c,"Wired");var d="return function ".concat(Ye(e),"(").concat(u,") {\nif (arguments.length !== ").concat(i-2,") {\nthrowBindingError('function ").concat(e," called with ' + arguments.length + ' arguments, expected ").concat(i-2," args!');\n}\n");s&&(d+="var destructors = [];\n");var g=s?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[ut,n,o,vt,t[0],t[1]];for(a&&(d+="var thisWired = classParam.toWireType(".concat(g,", this);\n")),c=0;c<i-2;++c)d+="var arg".concat(c,"Wired = argType").concat(c,".toWireType(").concat(g,", arg").concat(c,"); // ").concat(t[c+2].name,"\n"),f.push("argType".concat(c)),h.push(t[c+2]);if(a&&(l="thisWired".concat(l.length>0?", ":"").concat(l)),d+="".concat(A?"var rv = ":"","invoker(fn").concat(l.length>0?", ":"").concat(l,");\n"),s)d+="runDestructors(destructors);\n";else for(c=a?1:2;c<t.length;++c){var p=1===c?"thisWired":"arg".concat(c-2,"Wired");null!==t[c].destructorFunction&&(d+="".concat(p,"_dtor(").concat(p,"); // ").concat(t[c].name,"\n"),f.push("".concat(p,"_dtor")),h.push(t[c].destructorFunction))}return A&&(d+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),d+="}\n",f.push(d),nr(Function,f).apply(null,h)}function ir(e,t){for(var r=[],n=0;n<e;n++)r.push(F[(t>>2)+n]);return r}function ar(e,t,r){return e instanceof Object||ut("".concat(r,' with invalid "this": ').concat(e)),e instanceof t.registeredClass.constructor||ut("".concat(r,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||ut("cannot call emscripten binding method ".concat(r," on deleted object")),Lt(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)}function sr(e){e>4&&0===--ze[e].refcount&&(ze[e]=void 0,Ve.push(e))}function cr(e){if(null===e)return"null";var t=I(e);return"object"===t||"array"===t||"function"===t?e.toString():"".concat(e)}function Ar(e,t){switch(t){case 2:return function(e){return this.fromWireType(U[e>>2])};case 3:return function(e){return this.fromWireType(j[e>>3])};default:throw new TypeError("Unknown float type: ".concat(e))}}function ur(e,t,r){switch(t){case 0:return r?function(e){return P[e]}:function(e){return M[e]};case 1:return r?function(e){return S[e>>1]}:function(e){return k[e>>1]};case 2:return r?function(e){return F[e>>2]}:function(e){return x[e>>2]};default:throw new TypeError("Unknown integer type: ".concat(e))}}var lr={},dr=[],gr=[];function fr(e){try{return m.grow(e-Q.byteLength+65535>>>16),Z(m.buffer),1}catch(t){p("emscripten_realloc_buffer: Attempted to grow heap from ".concat(Q.byteLength," bytes to ").concat(e," bytes, but got error: ").concat(t))}}function hr(e){Ie("Cannot use emscripten_generate_pc (needed by __builtin_return_address) without -s USE_OFFSET_CONVERTER")}var pr={};function Er(e){e.forEach(function(e){var t=hr();t&&(pr[t]=e)})}var mr={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){mr.lastError||(mr.lastError=e)},getNewId:function(e){for(var t=mr.counter++,r=e.length;r<t;r++)e[r]=null;return t},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(e){return 32-Math.clz32(0===e?0:e-1)},generateTempBuffers:function(e,t){var r=mr.log2ceilLookup(mr.MAX_TEMP_BUFFER_SIZE);t.tempVertexBufferCounters1=[],t.tempVertexBufferCounters2=[],t.tempVertexBufferCounters1.length=t.tempVertexBufferCounters2.length=r+1,t.tempVertexBuffers1=[],t.tempVertexBuffers2=[],t.tempVertexBuffers1.length=t.tempVertexBuffers2.length=r+1,t.tempIndexBuffers=[],t.tempIndexBuffers.length=r+1;for(var n=0;n<=r;++n){t.tempIndexBuffers[n]=null,t.tempVertexBufferCounters1[n]=t.tempVertexBufferCounters2[n]=0;var o=mr.numTempVertexBuffersPerSize;t.tempVertexBuffers1[n]=[],t.tempVertexBuffers2[n]=[];var i=t.tempVertexBuffers1[n],a=t.tempVertexBuffers2[n];i.length=a.length=o;for(var s=0;s<o;++s)i[s]=a[s]=null}if(e){t.tempQuadIndexBuffer=Yr.createBuffer(),t.GLctx.bindBuffer(34963,t.tempQuadIndexBuffer);for(var c=mr.MAX_TEMP_BUFFER_SIZE>>1,A=new Uint16Array(c),u=(n=0,0);A[n++]=u,!(n>=c||(A[n++]=u+1,n>=c)||(A[n++]=u+2,n>=c)||(A[n++]=u,n>=c)||(A[n++]=u+2,n>=c)||(A[n++]=u+3,n>=c));)u+=4;t.GLctx.bufferData(34963,A,35044),t.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(e){var t=mr.log2ceilLookup(e),r=mr.currentContext.tempVertexBuffers1[t],n=mr.currentContext.tempVertexBufferCounters1[t];mr.currentContext.tempVertexBufferCounters1[t]=mr.currentContext.tempVertexBufferCounters1[t]+1&mr.numTempVertexBuffersPerSize-1;var o=r[n];if(o)return o;var i=Yr.getParameter(34964);return r[n]=Yr.createBuffer(),Yr.bindBuffer(34962,r[n]),Yr.bufferData(34962,1<<t,35048),Yr.bindBuffer(34962,i),r[n]},getTempIndexBuffer:function(e){var t=mr.log2ceilLookup(e),r=mr.currentContext.tempIndexBuffers[t];if(r)return r;var n=Yr.getParameter(34965);return mr.currentContext.tempIndexBuffers[t]=Yr.createBuffer(),Yr.bindBuffer(34963,mr.currentContext.tempIndexBuffers[t]),Yr.bufferData(34963,1<<t,35048),Yr.bindBuffer(34963,n),mr.currentContext.tempIndexBuffers[t]},newRenderingFrameStarted:function(){if(mr.currentContext){var e=mr.currentContext.tempVertexBuffers1;mr.currentContext.tempVertexBuffers1=mr.currentContext.tempVertexBuffers2,mr.currentContext.tempVertexBuffers2=e,e=mr.currentContext.tempVertexBufferCounters1,mr.currentContext.tempVertexBufferCounters1=mr.currentContext.tempVertexBufferCounters2,mr.currentContext.tempVertexBufferCounters2=e;for(var t=mr.log2ceilLookup(mr.MAX_TEMP_BUFFER_SIZE),r=0;r<=t;++r)mr.currentContext.tempVertexBufferCounters1[r]=0}},getSource:function(e,t,r,n){for(var o="",i=0;i<t;++i){var a=n?F[n+4*i>>2]:-1;o+=B(F[r+4*i>>2],a<0?void 0:a)}return o},calcBufLength:function(e,t,r,n){return r>0?n*r:e*mr.byteSizeByType[t-mr.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(e){mr.resetBufferBinding=!1;for(var t=0;t<mr.currentContext.maxVertexAttribs;++t){var r=mr.currentContext.clientBuffers[t];if(r.clientside&&r.enabled){mr.resetBufferBinding=!0;var n=mr.calcBufLength(r.size,r.type,r.stride,e),o=mr.getTempVertexBuffer(n);Yr.bindBuffer(34962,o),Yr.bufferSubData(34962,0,M.subarray(r.ptr,r.ptr+n)),r.vertexAttribPointerAdaptor.call(Yr,t,r.size,r.type,r.normalized,r.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){mr.resetBufferBinding&&Yr.bindBuffer(34962,mr.buffers[Yr.currentArrayBufferBinding])},createContext:function(e,t){t.renderViaOffscreenBackBuffer&&(t.preserveDrawingBuffer=!0);var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?mr.registerContext(r,t):0},enableOffscreenFramebufferAttributes:function(e){e.renderViaOffscreenBackBuffer=!0,e.preserveDrawingBuffer=!0},createOffscreenFramebuffer:function(e){var t=e.GLctx,r=t.createFramebuffer();if(t.bindFramebuffer(36160,r),e.defaultFbo=r,e.defaultFboForbidBlitFramebuffer=!1,t.getContextAttributes().antialias)e.defaultFboForbidBlitFramebuffer=!0;else{var n=navigator.userAgent.toLowerCase().match(/firefox\/(\d\d)/);if(null!=n){var o=n[1];e.defaultFboForbidBlitFramebuffer=o<67}}e.defaultColorTarget=t.createTexture(),e.defaultDepthTarget=t.createRenderbuffer(),mr.resizeOffscreenFramebuffer(e),t.bindTexture(3553,e.defaultColorTarget),t.texParameteri(3553,10241,9728),t.texParameteri(3553,10240,9728),t.texParameteri(3553,10242,33071),t.texParameteri(3553,10243,33071),t.texImage2D(3553,0,6408,t.canvas.width,t.canvas.height,0,6408,5121,null),t.framebufferTexture2D(36160,36064,3553,e.defaultColorTarget,0),t.bindTexture(3553,null),t.createRenderbuffer(),t.bindRenderbuffer(36161,e.defaultDepthTarget),t.renderbufferStorage(36161,33189,t.canvas.width,t.canvas.height),t.framebufferRenderbuffer(36160,36096,36161,e.defaultDepthTarget),t.bindRenderbuffer(36161,null);var i=t.createBuffer();t.bindBuffer(34962,i),t.bufferData(34962,new Float32Array([-1,-1,-1,1,1,-1,1,1]),35044),t.bindBuffer(34962,null),e.blitVB=i;var a=t.createShader(35633);t.shaderSource(a,"attribute vec2 pos;varying lowp vec2 tex;void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }"),t.compileShader(a);var s=t.createShader(35632);t.shaderSource(s,"varying lowp vec2 tex;uniform sampler2D sampler;void main() { gl_FragColor = texture2D(sampler, tex); }"),t.compileShader(s);var c=t.createProgram();t.attachShader(c,a),t.attachShader(c,s),t.linkProgram(c),e.blitProgram=c,e.blitPosLoc=t.getAttribLocation(c,"pos"),t.useProgram(c),t.uniform1i(t.getUniformLocation(c,"sampler"),0),t.useProgram(null),e.defaultVao=void 0,t.createVertexArray&&(e.defaultVao=t.createVertexArray(),t.bindVertexArray(e.defaultVao),t.enableVertexAttribArray(e.blitPosLoc),t.bindVertexArray(null))},resizeOffscreenFramebuffer:function(e){var t=e.GLctx;if(e.defaultColorTarget){var r=t.getParameter(32873);t.bindTexture(3553,e.defaultColorTarget),t.texImage2D(3553,0,6408,t.drawingBufferWidth,t.drawingBufferHeight,0,6408,5121,null),t.bindTexture(3553,r)}if(e.defaultDepthTarget){var n=t.getParameter(36007);t.bindRenderbuffer(36161,e.defaultDepthTarget),t.renderbufferStorage(36161,33189,t.drawingBufferWidth,t.drawingBufferHeight),t.bindRenderbuffer(36161,n)}},blitOffscreenFramebuffer:function(e){var t=e.GLctx,r=t.getParameter(3089);r&&t.disable(3089);var n=t.getParameter(36006);if(t.blitFramebuffer&&!e.defaultFboForbidBlitFramebuffer)t.bindFramebuffer(36008,e.defaultFbo),t.bindFramebuffer(36009,null),t.blitFramebuffer(0,0,t.canvas.width,t.canvas.height,0,0,t.canvas.width,t.canvas.height,16384,9728);else{var o=function(){t.vertexAttribPointer(e.blitPosLoc,2,5126,!1,0,0),t.drawArrays(5,0,4)};t.bindFramebuffer(36160,null);var i=t.getParameter(35725);t.useProgram(e.blitProgram);var a=t.getParameter(34964);t.bindBuffer(34962,e.blitVB);var s=t.getParameter(34016);t.activeTexture(33984);var c=t.getParameter(32873);t.bindTexture(3553,e.defaultColorTarget);var A=t.getParameter(3042);A&&t.disable(3042);var u=t.getParameter(2884);u&&t.disable(2884);var l=t.getParameter(2929);l&&t.disable(2929);var d=t.getParameter(2960);if(d&&t.disable(2960),e.defaultVao){var g=t.getParameter(34229);t.bindVertexArray(e.defaultVao),o(),t.bindVertexArray(g)}else{for(var f={buffer:t.getVertexAttrib(e.blitPosLoc,34975),size:t.getVertexAttrib(e.blitPosLoc,34339),stride:t.getVertexAttrib(e.blitPosLoc,34340),type:t.getVertexAttrib(e.blitPosLoc,34341),normalized:t.getVertexAttrib(e.blitPosLoc,34922),pointer:t.getVertexAttribOffset(e.blitPosLoc,34373)},h=t.getParameter(34921),p=[],E=0;E<h;++E){var m=t.getVertexAttrib(E,34338),y=E==e.blitPosLoc;m&&!y&&t.disableVertexAttribArray(E),!m&&y&&t.enableVertexAttribArray(E),p[E]=m}for(o(),E=0;E<h;++E){m=p[E];var I=E==e.blitPosLoc;m&&!I&&t.enableVertexAttribArray(E),!m&&I&&t.disableVertexAttribArray(E)}t.bindBuffer(34962,f.buffer),t.vertexAttribPointer(e.blitPosLoc,f.size,f.type,f.normalized,f.stride,f.offset)}d&&t.enable(2960),l&&t.enable(2929),u&&t.enable(2884),A&&t.enable(3042),t.bindTexture(3553,c),t.activeTexture(s),t.bindBuffer(34962,a),t.useProgram(i)}t.bindFramebuffer(36160,n),r&&t.enable(3089)},registerContext:function(e,t){var r=mr.getNewId(mr.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=n),mr.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&mr.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return mr.generateTempBuffers(!1,n),t.renderViaOffscreenBackBuffer&&mr.createOffscreenFramebuffer(n),r},makeContextCurrent:function(e){return mr.currentContext=mr.contexts[e],n.ctx=Yr=mr.currentContext&&mr.currentContext.GLctx,!(e&&!Yr)},getContext:function(e){return mr.contexts[e]},deleteContext:function(e){mr.currentContext===mr.contexts[e]&&(mr.currentContext=null),"object"===I(yr)&&yr.removeAllHandlersOnTarget(mr.contexts[e].GLctx.canvas),mr.contexts[e]&&mr.contexts[e].GLctx.canvas&&(mr.contexts[e].GLctx.canvas.GLctxObject=void 0),mr.contexts[e]=null},initExtensions:function(e){if(e||(e=mr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t,r=e.GLctx;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,n,o){t.drawArraysInstancedANGLE(e,r,n,o)},e.drawElementsInstanced=function(e,r,n,o,i){t.drawElementsInstancedANGLE(e,r,n,o,i)})}(r),function(e){var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)})}(r),function(e){var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)})}(r),(t=r).dibvbi=t.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(e){e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),function(e){e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")}(r),(r.getSupportedExtensions()||[]).forEach(function(e){e.includes("lose_context")||e.includes("debug")||r.getExtension(e)})}}},yr={inEventHandler:0,removeAllEventListeners:function(){for(var e=yr.eventHandlers.length-1;e>=0;--e)yr._removeHandler(e);yr.eventHandlers=[],yr.deferredCalls=[]},registerRemoveEventListeners:function(){yr.removeEventListenersRegistered||(oe.push(yr.removeAllEventListeners),yr.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(e,t,r){function n(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var o in yr.deferredCalls){var i=yr.deferredCalls[o];if(i.targetFunction==e&&n(i.argsList,r))return}yr.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),yr.deferredCalls.sort(function(e,t){return e.precedence<t.precedence})},removeDeferredCalls:function(e){for(var t=0;t<yr.deferredCalls.length;++t)yr.deferredCalls[t].targetFunction==e&&(yr.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:function(){return yr.inEventHandler&&yr.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(yr.canPerformEventHandlerRequests())for(var e=0;e<yr.deferredCalls.length;++e){var t=yr.deferredCalls[e];yr.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(e,t){for(var r=0;r<yr.eventHandlers.length;++r)yr.eventHandlers[r].target!=e||t&&t!=yr.eventHandlers[r].eventTypeString||yr._removeHandler(r--)},_removeHandler:function(e){var t=yr.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),yr.eventHandlers.splice(e,1)},registerOrRemoveHandler:function(e){var t=function(t){++yr.inEventHandler,yr.currentEventHandler=e,yr.runDeferredCalls(),e.handlerFunc(t),yr.runDeferredCalls(),--yr.inEventHandler};if(e.callbackfunc)e.eventListenerFunc=t,e.target.addEventListener(e.eventTypeString,t,e.useCapture),yr.eventHandlers.push(e),yr.registerRemoveEventListeners();else for(var r=0;r<yr.eventHandlers.length;++r)yr.eventHandlers[r].target==e.target&&yr.eventHandlers[r].eventTypeString==e.eventTypeString&&yr._removeHandler(r--)},getNodeNameForTarget:function(e){return e?e==window?"#window":e==screen?"#screen":e&&e.nodeName?e.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},Ir=["default","low-power","high-performance"],vr=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0];function wr(e){return"number"==typeof e&&(e=B(e)),e&&"#canvas"!==e?void 0!==mr&&mr.offscreenCanvases[e]?mr.offscreenCanvases[e]:function(e){E("Rules for selecting event targets in HTML5 API are changing: instead of using document.getElementById() that only can refer to elements by their DOM ID, new event target selection mechanism uses the more flexible function document.querySelector() that can look up element names, classes, and complex CSS selectors. Build with -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1 to change to the new lookup rules. See https://github.com/emscripten-core/emscripten/pull/7977 for more details.");try{return e?("number"==typeof e&&(e=vr[e]||B(e)),"#window"===e?window:"#document"===e?document:"#screen"===e?screen:"#canvas"===e?n.canvas:"string"==typeof e?document.getElementById(e):e):window}catch(e){return null}}(e):void 0!==mr&&mr.offscreenCanvases.canvas?mr.offscreenCanvases.canvas:n.canvas}function Cr(){return mr.currentContext?mr.currentContext.handle:0}function _r(e){return mr.makeContextCurrent(e)?0:-5}n._emscripten_webgl_get_current_context=Cr,n._emscripten_webgl_make_context_current=_r;var br={};function Br(){if(!Br.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:"".concat(("object"===("undefined"==typeof navigator?"undefined":I(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_"),".UTF-8"),_:a||"./this.program"};for(var t in br)void 0===br[t]?delete e[t]:e[t]=br[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));Br.strings=r}return Br.strings}var Dr=[];function Tr(e,t,r,n){for(var o=0;o<e;o++){var i=Yr[r](),a=i&&mr.getNewId(n);i?(i.name=a,n[a]=i):mr.recordError(1282),F[t+4*o>>2]=a}}function Or(e,t){x[e>>2]=t,x[e+4>>2]=(t-x[e>>2])/4294967296;var r=t>=0?function(e){return x[e>>2]+4294967296*x[e+4>>2]}(e):function(e){return x[e>>2]+4294967296*F[e+4>>2]}(e);r!=t&&E("writeI53ToI64() out of range: serialized JS Number ".concat(t," to Wasm heap as bytes lo=0x").concat(x[e>>2].toString(16),", hi=0x").concat(x[e+4>>2].toString(16),", which deserializes back to ").concat(r," instead!"))}function Qr(e){var t=O(e)+1,r=tn(t);return T(e,r,t),r}function Pr(e){return"]"==e.slice(-1)&&e.lastIndexOf("[")}function Mr(e){return 0==(e-=5120)?P:1==e?M:2==e?S:4==e?F:6==e?U:5==e||28922==e||28520==e||30779==e||30782==e?x:k}function Rr(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function Sr(e,t,r,n,o,i){var a=Mr(e),s=Rr(a),c=1<<s,A=function(e){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1}(t)*c,u=function(e,t,r,n){var o=function(e,t){return e+t-1&-t}(e*r,n);return t*o}(r,n,A,mr.unpackAlignment);return a.subarray(o>>s,o+u>>s)}function kr(e){var t=Yr.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=Yr.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?"[".concat(r,"]"):""))),r}mr.recordError(1282)}var Fr=[],xr=[];function Nr(){if(!Nr.called){Nr.called=!0;var e=(new Date).getFullYear(),t=new Date(e,0,1),r=new Date(e,6,1),n=t.getTimezoneOffset(),o=r.getTimezoneOffset(),i=Math.max(n,o);F[cn()>>2]=60*i,F[sn()>>2]=Number(n!=o);var a=u(t),s=u(r),c=z(a),A=z(s);o<n?(F[an()>>2]=c,F[an()+4>>2]=A):(F[an()>>2]=A,F[an()+4>>2]=c)}function u(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}function Ur(e){return e%4==0&&(e%100!=0||e%400==0)}function jr(e,t){for(var r=0,n=0;n<=t;r+=e[n++]);return r}var Lr=[31,29,31,30,31,30,31,31,30,31,30,31],Hr=[31,28,31,30,31,30,31,31,30,31,30,31];function Gr(e,t){for(var r=new Date(e.getTime());t>0;){var n=Ur(r.getFullYear()),o=r.getMonth(),i=(n?Lr:Hr)[o];if(!(t>i-r.getDate()))return r.setDate(r.getDate()+t),r;t-=i-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function Xr(e,t,r,n){var o=F[n+40>>2],i={tm_sec:F[n>>2],tm_min:F[n+4>>2],tm_hour:F[n+8>>2],tm_mday:F[n+12>>2],tm_mon:F[n+16>>2],tm_year:F[n+20>>2],tm_wday:F[n+24>>2],tm_yday:F[n+28>>2],tm_isdst:F[n+32>>2],tm_gmtoff:F[n+36>>2],tm_zone:o?B(o):""},a=B(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in s)a=a.replace(new RegExp(c,"g"),s[c]);var A=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length<t;)n=r[0]+n;return n}function d(e,t){return l(e,t,"0")}function g(e,t){function r(e){return e<0?-1:e>0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=Gr(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=f(r),i=f(n);return g(o,t)<=0?g(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var p={"%a":function(e){return A[e.tm_wday].substring(0,3)},"%A":function(e){return A[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return l(e.tm_mday,2," ")},"%g":function(e){return h(e).toString().substring(2)},"%G":function(e){return h(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":function(e){return d(e.tm_mday+jr(Ur(e.tm_year+1900)?Lr:Hr,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=new Date(e.tm_year+1900,0,1),r=0===t.getDay()?t:Gr(t,7-t.getDay()),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(g(r,n)<0){var o=jr(Ur(n.getFullYear())?Lr:Hr,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===g(r,t)?"01":"00"},"%V":function(e){var t,r=new Date(e.tm_year+1900,0,4),n=new Date(e.tm_year+1901,0,4),o=f(r),i=f(n),a=Gr(new Date(e.tm_year+1900,0,1),e.tm_yday);return g(a,o)<0?"53":g(i,a)<=0?"01":(t=o.getFullYear()<e.tm_year+1900?e.tm_yday+32-o.getDate():e.tm_yday+1-o.getDate(),d(Math.ceil(t/7),2))},"%w":function(e){return e.tm_wday},"%W":function(e){var t=new Date(e.tm_year,0,1),r=1===t.getDay()?t:Gr(t,0===t.getDay()?1:7-t.getDay()+1),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(g(r,n)<0){var o=jr(Ur(n.getFullYear())?Lr:Hr,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===g(r,t)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000".concat(t)).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var c in p)a.includes(c)&&(a=a.replace(new RegExp(c,"g"),p[c](i)));var E,m,y=qr(a,!1);return y.length>t?0:(m=e,C((E=y).length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),P.set(E,m),y.length-1)}n.requestFullscreen=function(e,t){Be.requestFullscreen(e,t)},n.requestFullScreen=function(){Be.requestFullScreen()},n.requestAnimationFrame=function(e){Be.requestAnimationFrame(e)},n.setCanvasSize=function(e,t,r){Be.setCanvasSize(e,t,r)},n.pauseMainLoop=function(){Be.mainLoop.pause()},n.resumeMainLoop=function(){Be.mainLoop.resume()},n.getUserMedia=function(){Be.getUserMedia()},n.createContext=function(e,t,r,n){return Be.createContext(e,t,r,n)};var Yr,Wr=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ge.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},Vr=365,zr=146;Object.defineProperties(Wr.prototype,{read:{get:function(){return(this.mode&Vr)===Vr},set:function(e){e?this.mode|=Vr:this.mode&=-366}},write:{get:function(){return(this.mode&zr)===zr},set:function(e){e?this.mode|=zr:this.mode&=-147}},isFolder:{get:function(){return Ge.isDir(this.mode)}},isDevice:{get:function(){return Ge.isChrdev(this.mode)}}}),Ge.FSNode=Wr,Ge.staticInit(),n.FS_createPath=Ge.createPath,n.FS_createDataFile=Ge.createDataFile,n.FS_createPreloadedFile=Ge.createPreloadedFile,n.FS_createLazyFile=Ge.createLazyFile,n.FS_createDevice=Ge.createDevice,n.FS_unlink=Ge.unlink,n.count_emval_handles=Ke,n.get_first_emval=Ze,$e=n.PureVirtualError=qe(Error,"PureVirtualError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);et=e}(),n.getInheritedInstanceCount=rt,n.getLiveInheritedInstances=nt,n.flushPendingDeletes=it,n.setDelayFunction=st,At=n.BindingError=qe(Error,"BindingError"),bt=n.InternalError=qe(Error,"InternalError"),Ft.prototype.isAliasOf=Qt,Ft.prototype.clone=Mt,Ft.prototype.delete=Rt,Ft.prototype.isDeleted=St,Ft.prototype.deleteLater=kt,Jt.prototype.getPointee=Yt,Jt.prototype.destructor=Wt,Jt.prototype.argPackAdvance=8,Jt.prototype.readValueFromPointer=wt,Jt.prototype.deleteObject=Vt,Jt.prototype.fromWireType=Zt,tr=n.UnboundTypeError=qe(Error,"UnboundTypeError");for(var Kr=0;Kr<32;++Kr)Dr.push(new Array(Kr));var Zr=new Float32Array(288);for(Kr=0;Kr<288;++Kr)Fr[Kr]=Zr.subarray(0,Kr+1);var Jr=new Int32Array(288);for(Kr=0;Kr<288;++Kr)xr[Kr]=Jr.subarray(0,Kr+1);function qr(e,t,r){var n=O(e)+1,o=new Array(n),i=D(e,o,0,o.length);return t&&(o.length=i),o}var $r={HaveOffsetConverter:function(){return"undefined"!=typeof wasmOffsetConverter},__cxa_allocate_exception:function(e){return tn(e+16)+16},__cxa_atexit:function(e,t){},__cxa_begin_catch:function(e){var t=new Qe(e),r=t.get_exception_info();return r.get_caught()||r.set_caught(!0),r.set_rethrown(!1),Pe.push(t),function(e){e.add_ref()}(r),t.get_exception_ptr()},__cxa_end_catch:function(){gn(0),C(Pe.length>0);var e=Pe.pop();!function(e){if(e.release_ref()&&!e.get_rethrown()){var t=e.get_destructor();t&&q.get(t)(e.excPtr),Re(e.excPtr)}}(e.get_exception_info()),e.free(),Me=0},__cxa_find_matching_catch_2:function(){var e=Me;if(!e)return v(0),0;var t=new Oe(e).get_type(),r=new Qe;if(r.set_base_ptr(e),r.set_adjusted_ptr(e),!t)return v(0),0|r.ptr;for(var n=Array.prototype.slice.call(arguments),o=0;o<n.length;o++){var i=n[o];if(0===i||i===t)break;if(fn(i,t,r.get_adjusted_ptr_addr()))return v(i),0|r.ptr}return v(t),0|r.ptr},__cxa_find_matching_catch_3:function(){var e=Me;if(!e)return v(0),0;var t=new Oe(e).get_type(),r=new Qe;if(r.set_base_ptr(e),r.set_adjusted_ptr(e),!t)return v(0),0|r.ptr;for(var n=Array.prototype.slice.call(arguments),o=0;o<n.length;o++){var i=n[o];if(0===i||i===t)break;if(fn(i,t,r.get_adjusted_ptr_addr()))return v(i),0|r.ptr}return v(t),0|r.ptr},__cxa_free_exception:Re,__cxa_rethrow:function(){var e=Pe.pop();e||Ie("no exception to throw");var t=e.get_exception_info(),r=e.get_base_ptr();throw t.get_rethrown()?e.free():(Pe.push(e),t.set_rethrown(!0),t.set_caught(!1)),Me=r,"".concat(r," - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch.")},__cxa_thread_atexit:function(e,t){},__cxa_throw:function(e,t,r){throw new Oe(e).init(t,r),Me=e,"".concat(e," - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch.")},__resumeException:function(e){var t=new Qe(e),r=t.get_base_ptr();throw Me||(Me=r),t.free(),"".concat(r," - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch.")},__sys_fcntl64:function(e,t,r){Xe.varargs=r;try{var n=Xe.getStreamFromFD(e);switch(t){case 0:return(o=Xe.get())<0?-28:Ge.open(n.path,n.flags,0,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Xe.get();return n.flags|=o,0;case 12:return o=Xe.get(),S[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return Se(28),-1}}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),-e.errno}},__sys_ioctl:function(e,t,r){Xe.varargs=r;try{var n=Xe.getStreamFromFD(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=Xe.get();return F[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:return o=Xe.get(),Ge.ioctl(n,t,o);default:Ie("bad ioctl syscall ".concat(t))}}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),-e.errno}},__sys_mmap2:function(e,t,r,n,o,i){try{return function(e,t,r,n,o,i){var a;i<<=12;var s=!1;if(16&n&&e%65536!=0)return-28;if(32&n){if(!(a=Ue(t)))return-48;s=!0}else{var c=Ge.getStream(o);if(!c)return-8;var A=Ge.mmap(c,e,t,i,r,n);a=A.ptr,s=A.allocated}return Xe.mappings[a]={malloc:a,len:t,allocated:s,fd:o,prot:r,flags:n,offset:i},a}(e,t,r,n,o,i)}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),-e.errno}},__sys_open:function(e,t,r){Xe.varargs=r;try{var n=Xe.getStr(e),o=r?Xe.get():0;return Ge.open(n,t,o).fd}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),-e.errno}},__sys_stat64:function(e,t){try{return e=Xe.getStr(e),Xe.doStat(Ge.stat,e,t)}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),-e.errno}},_embind_create_inheriting_constructor:function(e,t,r){e=tt(e),t=ht(t,"wrapper"),r=dt(r);var n=[].slice,o=t.registeredClass,i=o.instancePrototype,a=o.baseClass.instancePrototype,s=o.baseClass.constructor,c=We(e,function(){var e=this;o.baseClass.pureVirtualFunctions.forEach(function(t){if(e[t]===a[t])throw new $e("Pure virtual function ".concat(t," must be implemented in JavaScript"))}),Object.defineProperty(this,"__parent",{value:i}),this.__construct.apply(this,n.call(arguments))});for(var A in i.__construct=function(){this===i&&ut("Pass correct 'this' to __construct");var e=s.implement.apply(void 0,[this].concat(n.call(arguments)));pt(e);var t,r,a,c=e.$$;e.notifyOnDestruction(),c.preservePointerOnDelete=!0,Object.defineProperties(this,{$$:{value:c}}),yt(this),t=o,r=c.ptr,a=this,r=lt(t,r),ct.hasOwnProperty(r)?ut("Tried to register registered instance: ".concat(r)):ct[r]=a},i.__destruct=function(){var e,t;this===i&&ut("Pass correct 'this' to __destruct"),pt(this),e=o,t=this.$$.ptr,t=lt(e,t),ct.hasOwnProperty(t)?delete ct[t]:ut("Tried to unregister unregistered instance: ".concat(t))},c.prototype=Object.create(i),r)c.prototype[A]=r[A];return Je(c)},_embind_finalize_value_object:function(e){var t=It[e];delete It[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields;Dt([e],o.map(function(e){return e.getterReturnType}).concat(o.map(function(e){return e.setterArgumentType})),function(e){var i={};return o.forEach(function(t,r){var n=t.fieldName,a=e[r],s=t.getter,c=t.getterContext,A=e[r+o.length],u=t.setter,l=t.setterContext;i[n]={read:function(e){return a.fromWireType(s(c,e))},write:function(e,t){var r=[];u(l,e,A.toWireType(r,t)),vt(r)}}}),[{name:t.name,fromWireType:function(e){var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:function(e,t){for(var o in i)if(!(o in t))throw new TypeError('Missing field: "'.concat(o,'"'));var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},argPackAdvance:8,readValueFromPointer:wt,destructorFunction:n}]})},_embind_register_bigint:function(e,t,r,n,o){},_embind_register_bool:function(e,t,r,n,o){var i=Tt(r);Ot(e,{name:t=tt(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:o},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===r)n=P;else if(2===r)n=S;else{if(4!==r)throw new TypeError("Unknown boolean type size: ".concat(t));n=F}return this.fromWireType(n[e>>i])},destructorFunction:null})},_embind_register_class:function(e,t,r,n,o,i,a,s,c,A,u,l,d){u=tt(u),i=er(o,i),s&&(s=er(a,s)),A&&(A=er(c,A)),d=er(l,d);var g=Ye(u);Ut(g,function(){rr("Cannot construct ".concat(u," due to unbound types"),[n])}),Dt([e,t,r],n?[n]:[],function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Ft.prototype;var a=We(g,function(){if(Object.getPrototypeOf(this)!==c)throw new At("Use 'new' to construct ".concat(u));if(void 0===l.constructor_body)throw new At("".concat(u," has no accessible constructor"));var e=l.constructor_body[arguments.length];if(void 0===e)throw new At("Tried to invoke ctor of ".concat(u," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(l.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)}),c=Object.create(o,{constructor:{value:a}});a.prototype=c;var l=new jt(u,a,c,d,r,i,s,A),f=new Jt(u,l,!0,!1,!1),h=new Jt("".concat(u,"*"),l,!1,!1,!1),p=new Jt("".concat(u," const*"),l,!1,!0,!1);return xt[e]={pointerType:h,constPointerType:p},qt(g,a),[f,h,p]})},_embind_register_class_class_function:function(e,t,r,n,o,i,a){var s=ir(r,n);t=tt(t),i=er(o,i),Dt([],[e],function(e){e=e[0];var n="".concat(e.name,".").concat(t);function o(){rr("Cannot call ".concat(n," due to unbound types"),s)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var c=e.registeredClass.constructor;return void 0===c[t]?(o.argCount=r-1,c[t]=o):(Nt(c,t,n),c[t].overloadTable[r-1]=o),Dt([],s,function(e){var o=[e[0],null].concat(e.slice(1)),s=or(n,o,null,i,a);return void 0===c[t].overloadTable?(s.argCount=r-1,c[t]=s):c[t].overloadTable[r-1]=s,[]}),[]})},_embind_register_class_constructor:function(e,t,r,n,o,i){C(t>0);var a=ir(t,r);o=er(n,o),Dt([],[e],function(e){e=e[0];var r="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new At("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=function(){rr("Cannot construct ".concat(e.name," due to unbound types"),a)},Dt([],a,function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=or(r,n,null,o,i),[]}),[]})},_embind_register_class_function:function(e,t,r,n,o,i,a,s){var c=ir(r,n);t=tt(t),i=er(o,i),Dt([],[e],function(e){e=e[0];var n="".concat(e.name,".").concat(t);function o(){rr("Cannot call ".concat(n," due to unbound types"),c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var A=e.registeredClass.instancePrototype,u=A[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,A[t]=o):(Nt(A,t,n),A[t].overloadTable[r-2]=o),Dt([],c,function(o){var s=or(n,o,e,i,a);return void 0===A[t].overloadTable?(s.argCount=r-2,A[t]=s):A[t].overloadTable[r-2]=s,[]}),[]})},_embind_register_class_property:function(e,t,r,n,o,i,a,s,c,A){t=tt(t),o=er(n,o),Dt([],[e],function(e){e=e[0];var n="".concat(e.name,".").concat(t),u={get:function(){rr("Cannot access ".concat(n," due to unbound types"),[r,a])},enumerable:!0,configurable:!0};return u.set=c?function(){rr("Cannot access ".concat(n," due to unbound types"),[r,a])}:function(e){ut("".concat(n," is a read-only property"))},Object.defineProperty(e.registeredClass.instancePrototype,t,u),Dt([],c?[r,a]:[r],function(r){var a=r[0],u={get:function(){var t=ar(this,e,"".concat(n," getter"));return a.fromWireType(o(i,t))},enumerable:!0};if(c){c=er(s,c);var l=r[1];u.set=function(t){var r=ar(this,e,"".concat(n," setter")),o=[];c(A,r,l.toWireType(o,t)),vt(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,u),[]}),[]})},_embind_register_emval:function(e,t){Ot(e,{name:t=tt(t),fromWireType:function(e){var t=ze[e].value;return sr(e),t},toWireType:function(e,t){return Je(t)},argPackAdvance:8,readValueFromPointer:wt,destructorFunction:null})},_embind_register_float:function(e,t,r){var n=Tt(r);Ot(e,{name:t=tt(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'.concat(cr(t),'" to ').concat(this.name));return t},argPackAdvance:8,readValueFromPointer:Ar(t,n),destructorFunction:null})},_embind_register_function:function(e,t,r,n,o,i){var a=ir(t,r);e=tt(e),o=er(n,o),Ut(e,function(){rr("Cannot call ".concat(e," due to unbound types"),a)},t-1),Dt([],a,function(r){var n=[r[0],null].concat(r.slice(1));return qt(e,or(e,n,null,o,i),t-1),[]})},_embind_register_integer:function(e,t,r,n,o){t=tt(t),-1===o&&(o=4294967295);var i=Tt(r),a=function(e){return e};if(0===n){var s=32-8*r;a=function(e){return e<<s>>>s}}var c=t.includes("unsigned");Ot(e,{name:t,fromWireType:a,toWireType:function(e,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'.concat(cr(r),'" to ').concat(this.name));if(r<n||r>o)throw new TypeError('Passing a number "'.concat(cr(r),'" from JS side to C/C++ side to an argument of type "').concat(t,'", which is outside the valid range [').concat(n,", ").concat(o,"]!"));return c?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:ur(t,i,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=x,r=t[e>>=2],o=t[e+1];return new n(Q,o,r)}Ot(e,{name:r=tt(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,t){var r="std::string"===(t=tt(t));Ot(e,{name:t,fromWireType:function(e){var t,n=x[e>>2];if(r)for(var o=e+4,i=0;i<=n;++i){var a=e+4+i;if(i==n||0==M[a]){var s=B(o,a-o);void 0===t?t=s:(t+=String.fromCharCode(0),t+=s),o=a+1}}else{var c=new Array(n);for(i=0;i<n;++i)c[i]=String.fromCharCode(M[e+4+i]);t=c.join("")}return en(e),t},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||ut("Cannot pass non-string to std::string");var o=(r&&n?function(){return O(t)}:function(){return t.length})(),i=tn(4+o+1);if(x[i>>2]=o,r&&n)T(t,i+4,o+1);else if(n)for(var a=0;a<o;++a){var s=t.charCodeAt(a);s>255&&(en(i),ut("String has UTF-16 code units that do not fit in 8 bits")),M[i+4+a]=s}else for(a=0;a<o;++a)M[i+4+a]=t[a];return null!==e&&e.push(en,i),i},argPackAdvance:8,readValueFromPointer:wt,destructorFunction:function(e){en(e)}})},_embind_register_std_wstring:function(e,t,r){var n,o,i,a,s;r=tt(r),2===t?(n=H,o=G,a=X,i=function(){return k},s=1):4===t&&(n=Y,o=W,a=V,i=function(){return x},s=2),Ot(e,{name:r,fromWireType:function(e){for(var r,o=x[e>>2],a=i(),c=e+4,A=0;A<=o;++A){var u=e+4+A*t;if(A==o||0==a[u>>s]){var l=n(c,u-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=u+t}}return en(e),r},toWireType:function(e,n){"string"!=typeof n&&ut("Cannot pass non-string to C++ string type ".concat(r));var i=a(n),c=tn(4+i+t);return x[c>>2]=i>>s,o(n,c+4,i+t),null!==e&&e.push(en,c),c},argPackAdvance:8,readValueFromPointer:wt,destructorFunction:function(e){en(e)}})},_embind_register_value_object:function(e,t,r,n,o,i){It[e]={name:tt(t),rawConstructor:er(r,n),rawDestructor:er(o,i),fields:[]}},_embind_register_value_object_field:function(e,t,r,n,o,i,a,s,c,A){It[e].fields.push({fieldName:tt(t),getterReturnType:r,getter:er(n,o),getterContext:i,setterArgumentType:a,setter:er(s,c),setterContext:A})},_embind_register_void:function(e,t){Ot(e,{isVoid:!0,name:t=tt(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},_emval_call_void_method:function(e,t,r,n){var o,i;(e=dr[e])(t=dt(t),r=void 0===(i=lr[o=r])?tt(o):i,null,n)},_emval_decref:sr,_emval_get_method_caller:function(e,t){for(var r=function(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=ht(F[(t>>2)+n],"parameter ".concat(n));return r}(e,t),n=r[0],o="".concat(n.name,"_$").concat(r.slice(1).map(function(e){return e.name}).join("_"),"$"),i=["retType"],a=[n],s="",c=0;c<e-1;++c)s+="".concat(0!==c?", ":"","arg").concat(c),i.push("argType".concat(c)),a.push(r[1+c]);var A=Ye("methodCaller_".concat(o)),u="return function ".concat(A,"(handle, name, destructors, args) {\n"),l=0;for(c=0;c<e-1;++c)u+=" var arg".concat(c," = argType").concat(c,".readValueFromPointer(args").concat(l?"+".concat(l):"",");\n"),l+=r[c+1].argPackAdvance;for(u+=" var rv = handle[name](".concat(s,");\n"),c=0;c<e-1;++c)r[c+1].deleteObject&&(u+=" argType".concat(c,".deleteObject(arg").concat(c,");\n"));n.isVoid||(u+=" return retType.toWireType(destructors, rv);\n"),u+="};\n",i.push(u);var d,g,f=nr(Function,i).apply(null,a);return d=f,g=dr.length,dr.push(d),g},_emval_incref:function(e){e>4&&(ze[e].refcount+=1)},_emval_take_value:function(e,t){return Je((e=ht(e,"_emval_take_value")).readValueFromPointer(t))},abort:function(){Ie()},clock_gettime:function(e,t){var r;if(0===e)r=Date.now();else{if(1!==e&&4!==e)return Se(28),-1;r=we()}return F[t>>2]=r/1e3|0,F[t+4>>2]=r%1e3*1e3*1e3|0,0},dlopen:function(e,t){Ie("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},dlsym:function(e,t){Ie("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},emscripten_asm_const_int:function(e,t,r){var n=function(e,t){var r;for(C(Array.isArray(gr)),C(t%16==0),gr.length=0,t>>=2;r=M[e++];){C(100===r||102===r||105===r);var n=r<105;n&&1&t&&t++,gr.push(n?j[t++>>1]:F[t]),++t}return gr}(t,r);return Ce.hasOwnProperty(e)||Ie("No EM_ASM constant found at address ".concat(e)),Ce[e].apply(null,n)},emscripten_get_heap_max:function(){return 2147483648},emscripten_memcpy_big:function(e,t,r){M.copyWithin(e,t,t+r)},emscripten_pc_get_function:function(e){Ie("Cannot use emscripten_pc_get_function without -s USE_OFFSET_CONVERTER")},emscripten_resize_heap:function(e){var t=M.length;C((e>>>=0)>t);var r=2147483648;if(e>r)return p("Cannot enlarge memory, asked to go up to ".concat(e," bytes, but the limit is ").concat(r," bytes!")),!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,K(Math.max(e,o),65536));if(fr(i))return!0}return p("Failed to grow the heap from ".concat(t," bytes to ").concat(i," bytes, not enough memory!")),!1},emscripten_stack_snapshot:function(){var e=(new Error).stack.split("\n");return"Error"==e[0]&&e.shift(),Er(e),pr.last_addr=hr(e[2]),pr.last_stack=e,pr.last_addr},emscripten_stack_unwind_buffer:function(e,t,r){var n;pr.last_addr==e?n=pr.last_stack:("Error"==(n=(new Error).stack.split("\n"))[0]&&n.shift(),Er(n));for(var o=2;n[o]&&hr(n[o])!=e;)++o;for(var i=0;i<r&&n[i+o];++i)F[t+4*i>>2]=hr(n[i+o]);return i},emscripten_thread_sleep:function(e){for(var t=we();we()-t<e;);},emscripten_webgl_create_context:function(e,t){return function(e,t){C(t);var r=t>>2,n=F[r+6],o={alpha:!!F[r+0],depth:!!F[r+1],stencil:!!F[r+2],antialias:!!F[r+3],premultipliedAlpha:!!F[r+4],preserveDrawingBuffer:!!F[r+5],powerPreference:Ir[n],failIfMajorPerformanceCaveat:!!F[r+7],majorVersion:F[r+8],minorVersion:F[r+9],enableExtensionsByDefault:F[r+10],explicitSwapControl:F[r+11],proxyContextToMainThread:F[r+12],renderViaOffscreenBackBuffer:F[r+13]},i=wr(e);if(!i)return 0;if(i.offscreenCanvas&&(i=i.offscreenCanvas),o.explicitSwapControl&&(i.transferControlToOffscreen||"undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas||o.renderViaOffscreenBackBuffer||(o.renderViaOffscreenBackBuffer=!0),i.transferControlToOffscreen)){if(i.controlTransferredOffscreen){if(!mr.offscreenCanvases[i.id])return 0}else mr.offscreenCanvases[i.id]={canvas:i.transferControlToOffscreen(),canvasSharedPtr:tn(12),id:i.id},i.controlTransferredOffscreen=!0;i=mr.offscreenCanvases[i.id]}return mr.createContext(i,o)}(e,t)},emscripten_webgl_destroy_context:function(e){mr.currentContext==e&&(mr.currentContext=0),mr.deleteContext(e)},emscripten_webgl_get_context_attributes:function(e,t){if(!t)return-5;if(!(e=mr.contexts[e]))return-3;var r=e.GLctx;if(!r)return-3;r=r.getContextAttributes(),F[t>>2]=r.alpha,F[t+4>>2]=r.depth,F[t+8>>2]=r.stencil,F[t+12>>2]=r.antialias,F[t+16>>2]=r.premultipliedAlpha,F[t+20>>2]=r.preserveDrawingBuffer;var n=r.powerPreference&&Ir.indexOf(r.powerPreference);return F[t+24>>2]=n,F[t+28>>2]=r.failIfMajorPerformanceCaveat,F[t+32>>2]=e.version,F[t+36>>2]=0,F[t+40>>2]=e.attributes.enableExtensionsByDefault,0},emscripten_webgl_get_current_context:Cr,emscripten_webgl_init_context_attributes:function(e){C(e);for(var t=e>>2,r=0;r<14;++r)F[t+r]=0;F[t+0]=F[t+1]=F[t+3]=F[t+4]=F[t+8]=F[t+10]=1},emscripten_webgl_make_context_current:_r,environ_get:function(e,t){var r=0;return Br().forEach(function(n,o){var i=t+r;F[e+4*o>>2]=i,function(e,t){for(var r=0;r<e.length;++r)C(e.charCodeAt(r)==e.charCodeAt(r)&255),P[0|t++]=e.charCodeAt(r);P[0|t]=0}(n,i),r+=n.length+1}),0},environ_sizes_get:function(e,t){var r=Br();F[e>>2]=r.length;var n=0;return r.forEach(function(e){n+=e.length+1}),F[t>>2]=n,0},exit:function(e){!function(e){!function(){var e=h,t=p,r=!1;h=p=function(e){r=!0};try{var o=n._fflush;o&&o(0),["stdout","stderr"].forEach(function(e){var t=Ge.analyzePath("/dev/".concat(e));if(t){var n=t.object.rdev,o=Ne.ttys[n];o&&o.output&&o.output.length&&(r=!0)}})}catch(e){}h=e,p=t,r&&E("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}();var t="program exited (with status: ".concat(e,"), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)");r(t),p(t),yn(e)}(e)},fd_close:function(e){try{var t=Xe.getStreamFromFD(e);return Ge.close(t),0}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),e.errno}},fd_read:function(e,t,r,n){try{var o=Xe.getStreamFromFD(e),i=Xe.doReadv(o,t,r);return F[n>>2]=i,0}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),e.errno}},fd_seek:function(e,t,r,n,o){try{var i=Xe.getStreamFromFD(e),a=4294967296*r+(t>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(Ge.llseek(i,a,n),de=[i.position>>>0,(le=i.position,+Math.abs(le)>=1?le>0?(0|Math.min(+Math.floor(le/4294967296),4294967295))>>>0:~~+Math.ceil((le-+(~~le>>>0))/4294967296)>>>0:0)],F[o>>2]=de[0],F[o+4>>2]=de[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),e.errno}},fd_write:function(e,t,r,n){try{var o=Xe.getStreamFromFD(e),i=Xe.doWritev(o,t,r);return F[n>>2]=i,0}catch(e){return void 0!==Ge&&e instanceof Ge.ErrnoError||Ie(e),e.errno}},getTempRet0:function(){return y},getentropy:function e(t,r){e.randomDevice||(e.randomDevice=Fe());for(var n=0;n<r;n++)P[t+n|0]=e.randomDevice();return 0},glActiveTexture:function(e){Yr.activeTexture(e)},glAttachShader:function(e,t){Yr.attachShader(mr.programs[e],mr.shaders[t])},glBindAttribLocation:function(e,t,r){Yr.bindAttribLocation(mr.programs[e],t,B(r))},glBindBuffer:function(e,t){34962==e?Yr.currentArrayBufferBinding=t:34963==e&&(Yr.currentElementArrayBufferBinding=t),35051==e?Yr.currentPixelPackBufferBinding=t:35052==e&&(Yr.currentPixelUnpackBufferBinding=t),Yr.bindBuffer(e,mr.buffers[t])},glBindBufferBase:function(e,t,r){Yr.bindBufferBase(e,t,mr.buffers[r])},glBindFramebuffer:function(e,t){Yr.bindFramebuffer(e,t?mr.framebuffers[t]:mr.currentContext.defaultFbo)},glBindTexture:function(e,t){Yr.bindTexture(e,mr.textures[t])},glBindVertexArray:function(e){Yr.bindVertexArray(mr.vaos[e]);var t=Yr.getParameter(34965);Yr.currentElementArrayBufferBinding=t?0|t.name:0},glBufferData:function(e,t,r,n){mr.currentContext.version>=2?r?Yr.bufferData(e,M,n,r,t):Yr.bufferData(e,t,n):Yr.bufferData(e,r?M.subarray(r,r+t):t,n)},glClientWaitSync:function(e,t,r,n){return Yr.clientWaitSync(mr.syncs[e],t,(o=r,C((i=n)===(0|i)),(o>>>0)+4294967296*i));var o,i},glCompileShader:function(e){Yr.compileShader(mr.shaders[e])},glCreateProgram:function(){var e=mr.getNewId(mr.programs),t=Yr.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,mr.programs[e]=t,e},glCreateShader:function(e){var t=mr.getNewId(mr.shaders);return mr.shaders[t]=Yr.createShader(e),t},glDeleteBuffers:function(e,t){for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=mr.buffers[n];o&&(Yr.deleteBuffer(o),o.name=0,mr.buffers[n]=null,n==Yr.currentArrayBufferBinding&&(Yr.currentArrayBufferBinding=0),n==Yr.currentElementArrayBufferBinding&&(Yr.currentElementArrayBufferBinding=0),n==Yr.currentPixelPackBufferBinding&&(Yr.currentPixelPackBufferBinding=0),n==Yr.currentPixelUnpackBufferBinding&&(Yr.currentPixelUnpackBufferBinding=0))}},glDeleteFramebuffers:function(e,t){for(var r=0;r<e;++r){var n=F[t+4*r>>2],o=mr.framebuffers[n];o&&(Yr.deleteFramebuffer(o),o.name=0,mr.framebuffers[n]=null)}},glDeleteProgram:function(e){if(e){var t=mr.programs[e];t?(Yr.deleteProgram(t),t.name=0,mr.programs[e]=null):mr.recordError(1281)}},glDeleteShader:function(e){if(e){var t=mr.shaders[e];t?(Yr.deleteShader(t),mr.shaders[e]=null):mr.recordError(1281)}},glDeleteSync:function(e){if(e){var t=mr.syncs[e];t?(Yr.deleteSync(t),t.name=0,mr.syncs[e]=null):mr.recordError(1281)}},glDeleteTextures:function(e,t){for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=mr.textures[n];o&&(Yr.deleteTexture(o),o.name=0,mr.textures[n]=null)}},glDeleteVertexArrays:function(e,t){for(var r=0;r<e;r++){var n=F[t+4*r>>2];Yr.deleteVertexArray(mr.vaos[n]),mr.vaos[n]=null}},glDisable:function(e){Yr.disable(e)},glDisableVertexAttribArray:function(e){mr.currentContext.clientBuffers[e].enabled=!1,Yr.disableVertexAttribArray(e)},glDrawArrays:function(e,t,r){mr.preDrawHandleClientVertexAttribBindings(t+r),Yr.drawArrays(e,t,r),mr.postDrawHandleClientVertexAttribBindings()},glDrawBuffers:function(e,t){for(var r=Dr[e],n=0;n<e;n++)r[n]=F[t+4*n>>2];Yr.drawBuffers(r)},glEnableVertexAttribArray:function(e){mr.currentContext.clientBuffers[e].enabled=!0,Yr.enableVertexAttribArray(e)},glFenceSync:function(e,t){var r=Yr.fenceSync(e,t);if(r){var n=mr.getNewId(mr.syncs);return r.name=n,mr.syncs[n]=r,n}return 0},glFinish:function(){Yr.finish()},glFlush:function(){Yr.flush()},glFramebufferTexture2D:function(e,t,r,n,o){Yr.framebufferTexture2D(e,t,r,mr.textures[n],o)},glFramebufferTextureLayer:function(e,t,r,n,o){Yr.framebufferTextureLayer(e,t,mr.textures[r],n,o)},glGenBuffers:function(e,t){Tr(e,t,"createBuffer",mr.buffers)},glGenFramebuffers:function(e,t){Tr(e,t,"createFramebuffer",mr.framebuffers)},glGenTextures:function(e,t){Tr(e,t,"createTexture",mr.textures)},glGenVertexArrays:function(e,t){Tr(e,t,"createVertexArray",mr.vaos)},glGetAttribLocation:function(e,t){return Yr.getAttribLocation(mr.programs[e],B(t))},glGetError:function(){var e=Yr.getError()||mr.lastError;return mr.lastError=0,e},glGetIntegerv:function(e,t){!function(e,t,r){if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var o=Yr.getParameter(34467);n=o?o.length:0;break;case 33309:if(mr.currentContext.version<2)return void mr.recordError(1282);n=2*(Yr.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(mr.currentContext.version<2)return void mr.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=Yr.getParameter(e);switch(I(i)){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void mr.recordError(1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void mr.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a<i.length;++a)switch(r){case 0:F[t+4*a>>2]=i[a];break;case 2:U[t+4*a>>2]=i[a];break;case 4:P[t+a|0]=i[a]?1:0}return}try{n=0|i.name}catch(t){return mr.recordError(1280),void p("GL_INVALID_ENUM in glGet".concat(r,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(t,")"))}}break;default:return mr.recordError(1280),void p("GL_INVALID_ENUM in glGet".concat(r,"v: Native code calling glGet").concat(r,"v(").concat(e,") and it returns ").concat(i," of type ").concat(I(i),"!"))}}switch(r){case 1:Or(t,n);break;case 0:F[t>>2]=n;break;case 2:U[t>>2]=n;break;case 4:P[0|t]=n?1:0}}else mr.recordError(1281)}(e,t,0)},glGetString:function(e){var t=mr.stringCache[e];if(!t){switch(e){case 7939:var r=Yr.getSupportedExtensions()||[];t=Qr((r=r.concat(r.map(function(e){return"GL_".concat(e)}))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Yr.getParameter(e);n||mr.recordError(1280),t=n&&Qr(n);break;case 7938:var o=Yr.getParameter(7938);t=Qr(o=mr.currentContext.version>=2?"OpenGL ES 3.0 (".concat(o,")"):"OpenGL ES 2.0 (".concat(o,")"));break;case 35724:var i=Yr.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]="".concat(a[1],"0")),i="OpenGL ES GLSL ES ".concat(a[1]," (").concat(i,")")),t=Qr(i);break;default:mr.recordError(1280)}mr.stringCache[e]=t}return t},glGetUniformBlockIndex:function(e,t){return Yr.getUniformBlockIndex(mr.programs[e],B(t))},glGetUniformLocation:function(e,t){if(t=B(t),e=mr.programs[e]){!function(e){var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},t=0;t<Yr.getProgramParameter(e,35718);++t){var i=Yr.getActiveUniform(e,t),a=i.name,s=i.size,c=Pr(a),A=c>0?a.slice(0,c):a,u=e.uniformIdCounter;for(e.uniformIdCounter+=s,o[A]=[s,u],r=0;r<s;++r)n[u]=r,e.uniformArrayNamesById[u++]=A}}(e);var r=e.uniformLocsById,n=0,o=t,i=Pr(t);i>0&&(s=t.slice(i+1),n=parseInt(s)>>>0,o=t.slice(0,i));var a=e.uniformSizeAndIdsByName[o];if(a&&n<a[0]&&(r[n+=a[1]]=r[n]||Yr.getUniformLocation(e,t)))return n}else mr.recordError(1281);var s;return-1},glLinkProgram:function(e){e=mr.programs[e],Yr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},glPixelStorei:function(e,t){3317==e&&(mr.unpackAlignment=t),Yr.pixelStorei(e,t)},glReadPixels:function(e,t,r,n,o,i,a){if(mr.currentContext.version>=2)if(Yr.currentPixelPackBufferBinding)Yr.readPixels(e,t,r,n,o,i,a);else{var s=Mr(i);Yr.readPixels(e,t,r,n,o,i,s,a>>Rr(s))}else{var c=Sr(i,o,r,n,a);c?Yr.readPixels(e,t,r,n,o,i,c):mr.recordError(1280)}},glShaderSource:function(e,t,r,n){var o=mr.getSource(e,t,r,n);Yr.shaderSource(mr.shaders[e],o)},glTexImage2D:function(e,t,r,n,o,i,a,s,c){if(mr.currentContext.version>=2)if(Yr.currentPixelUnpackBufferBinding)Yr.texImage2D(e,t,r,n,o,i,a,s,c);else if(c){var A=Mr(s);Yr.texImage2D(e,t,r,n,o,i,a,s,A,c>>Rr(A))}else Yr.texImage2D(e,t,r,n,o,i,a,s,null);else Yr.texImage2D(e,t,r,n,o,i,a,s,c?Sr(s,a,n,o,c):null)},glTexParameterfv:function(e,t,r){var n=U[r>>2];Yr.texParameterf(e,t,n)},glTexParameteri:function(e,t,r){Yr.texParameteri(e,t,r)},glTexStorage2D:function(e,t,r,n,o){Yr.texStorage2D(e,t,r,n,o)},glTexStorage3D:function(e,t,r,n,o,i){Yr.texStorage3D(e,t,r,n,o,i)},glTexSubImage2D:function(e,t,r,n,o,i,a,s,c){if(mr.currentContext.version>=2)if(Yr.currentPixelUnpackBufferBinding)Yr.texSubImage2D(e,t,r,n,o,i,a,s,c);else if(c){var A=Mr(s);Yr.texSubImage2D(e,t,r,n,o,i,a,s,A,c>>Rr(A))}else Yr.texSubImage2D(e,t,r,n,o,i,a,s,null);else{var u=null;c&&(u=Sr(s,a,o,i,c)),Yr.texSubImage2D(e,t,r,n,o,i,a,s,u)}},glTexSubImage3D:function(e,t,r,n,o,i,a,s,c,A,u){if(Yr.currentPixelUnpackBufferBinding)Yr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,u);else if(u){var l=Mr(A);Yr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,l,u>>Rr(l))}else Yr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,null)},glUniform1f:function(e,t){Yr.uniform1f(kr(e),t)},glUniform1i:function(e,t){Yr.uniform1i(kr(e),t)},glUniform2fv:function(e,t,r){if(mr.currentContext.version>=2)Yr.uniform2fv(kr(e),U,r>>2,2*t);else{if(t<=144)for(var n=Fr[2*t-1],o=0;o<2*t;o+=2)n[o]=U[r+4*o>>2],n[o+1]=U[r+(4*o+4)>>2];else n=U.subarray(r>>2,r+8*t>>2);Yr.uniform2fv(kr(e),n)}},glUniform4fv:function(e,t,r){if(mr.currentContext.version>=2)Yr.uniform4fv(kr(e),U,r>>2,4*t);else{if(t<=72){var n=Fr[4*t-1],o=U;r>>=2;for(var i=0;i<4*t;i+=4){var a=r+i;n[i]=o[a],n[i+1]=o[a+1],n[i+2]=o[a+2],n[i+3]=o[a+3]}}else n=U.subarray(r>>2,r+16*t>>2);Yr.uniform4fv(kr(e),n)}},glUniform4iv:function(e,t,r){if(mr.currentContext.version>=2)Yr.uniform4iv(kr(e),F,r>>2,4*t);else{if(t<=72)for(var n=xr[4*t-1],o=0;o<4*t;o+=4)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2],n[o+2]=F[r+(4*o+8)>>2],n[o+3]=F[r+(4*o+12)>>2];else n=F.subarray(r>>2,r+16*t>>2);Yr.uniform4iv(kr(e),n)}},glUniformBlockBinding:function(e,t,r){e=mr.programs[e],Yr.uniformBlockBinding(e,t,r)},glUniformMatrix4fv:function(e,t,r,n){if(mr.currentContext.version>=2)Yr.uniformMatrix4fv(kr(e),!!r,U,n>>2,16*t);else{if(t<=18){var o=Fr[16*t-1],i=U;n>>=2;for(var a=0;a<16*t;a+=16){var s=n+a;o[a]=i[s],o[a+1]=i[s+1],o[a+2]=i[s+2],o[a+3]=i[s+3],o[a+4]=i[s+4],o[a+5]=i[s+5],o[a+6]=i[s+6],o[a+7]=i[s+7],o[a+8]=i[s+8],o[a+9]=i[s+9],o[a+10]=i[s+10],o[a+11]=i[s+11],o[a+12]=i[s+12],o[a+13]=i[s+13],o[a+14]=i[s+14],o[a+15]=i[s+15]}}else o=U.subarray(n>>2,n+64*t>>2);Yr.uniformMatrix4fv(kr(e),!!r,o)}},glUseProgram:function(e){e=mr.programs[e],Yr.useProgram(e),Yr.currentProgram=e},glVertexAttribPointer:function(e,t,r,n,o,i){var a=mr.currentContext.clientBuffers[e];if(!Yr.currentArrayBufferBinding)return a.size=t,a.type=r,a.normalized=n,a.stride=o,a.ptr=i,a.clientside=!0,void(a.vertexAttribPointerAdaptor=function(e,t,r,n,o,i){this.vertexAttribPointer(e,t,r,n,o,i)});a.clientside=!1,Yr.vertexAttribPointer(e,t,r,!!n,o,i)},glViewport:function(e,t,r,n){Yr.viewport(e,t,r,n)},gmtime_r:function e(t,r){var n=new Date(1e3*F[t>>2]);F[r>>2]=n.getUTCSeconds(),F[r+4>>2]=n.getUTCMinutes(),F[r+8>>2]=n.getUTCHours(),F[r+12>>2]=n.getUTCDate(),F[r+16>>2]=n.getUTCMonth(),F[r+20>>2]=n.getUTCFullYear()-1900,F[r+24>>2]=n.getUTCDay(),F[r+36>>2]=0,F[r+32>>2]=0;var o=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),i=(n.getTime()-o)/864e5|0;return F[r+28>>2]=i,e.GMTString||(e.GMTString=z("GMT")),F[r+40>>2]=e.GMTString,r},invoke_diii:function(e,t,r,n){var o=An();try{return q.get(e)(t,r,n)}catch(e){if(un(o),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_i:function(e){var t=An();try{return q.get(e)()}catch(e){if(un(t),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_ii:function(e,t){var r=An();try{return q.get(e)(t)}catch(e){if(un(r),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_iii:function(e,t,r){var n=An();try{return q.get(e)(t,r)}catch(e){if(un(n),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_iiii:function(e,t,r,n){var o=An();try{return q.get(e)(t,r,n)}catch(e){if(un(o),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_iiiii:function(e,t,r,n,o){var i=An();try{return q.get(e)(t,r,n,o)}catch(e){if(un(i),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_iiiiii:function(e,t,r,n,o,i){var a=An();try{return q.get(e)(t,r,n,o,i)}catch(e){if(un(a),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_iiiiiii:function(e,t,r,n,o,i,a){var s=An();try{return q.get(e)(t,r,n,o,i,a)}catch(e){if(un(s),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_iiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A){var u=An();try{return q.get(e)(t,r,n,o,i,a,s,c,A)}catch(e){if(un(u),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_iiiiiiii:function(e,t,r,n,o,i,a,s){var c=An();try{return q.get(e)(t,r,n,o,i,a,s)}catch(e){if(un(c),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_iiiiiiiii:function(e,t,r,n,o,i,a,s,c){var A=An();try{return q.get(e)(t,r,n,o,i,a,s,c)}catch(e){if(un(A),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_v:function(e){var t=An();try{q.get(e)()}catch(e){if(un(t),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_vdiii:function(e,t,r,n,o){var i=An();try{q.get(e)(t,r,n,o)}catch(e){if(un(i),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_vi:function(e,t){var r=An();try{q.get(e)(t)}catch(e){if(un(r),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_vididdii:function(e,t,r,n,o,i,a,s){var c=An();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(un(c),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_vidii:function(e,t,r,n,o){var i=An();try{q.get(e)(t,r,n,o)}catch(e){if(un(i),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_vii:function(e,t,r){var n=An();try{q.get(e)(t,r)}catch(e){if(un(n),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viid:function(e,t,r,n){var o=An();try{q.get(e)(t,r,n)}catch(e){if(un(o),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viidi:function(e,t,r,n,o){var i=An();try{q.get(e)(t,r,n,o)}catch(e){if(un(i),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viididii:function(e,t,r,n,o,i,a,s){var c=An();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(un(c),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viii:function(e,t,r,n){var o=An();try{q.get(e)(t,r,n)}catch(e){if(un(o),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiid:function(e,t,r,n,o){var i=An();try{q.get(e)(t,r,n,o)}catch(e){if(un(i),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiidd:function(e,t,r,n,o,i){var a=An();try{q.get(e)(t,r,n,o,i)}catch(e){if(un(a),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiddi:function(e,t,r,n,o,i,a){var s=An();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(un(s),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiidi:function(e,t,r,n,o,i){var a=An();try{q.get(e)(t,r,n,o,i)}catch(e){if(un(a),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiii:function(e,t,r,n,o){var i=An();try{q.get(e)(t,r,n,o)}catch(e){if(un(i),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiid:function(e,t,r,n,o,i){var a=An();try{q.get(e)(t,r,n,o,i)}catch(e){if(un(a),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiidi:function(e,t,r,n,o,i,a){var s=An();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(un(s),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiidid:function(e,t,r,n,o,i,a,s){var c=An();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(un(c),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiidiidiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g,f,h)}catch(e){if(un(p),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiifiifiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g,f,h)}catch(e){if(un(p),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiii:function(e,t,r,n,o,i){var a=An();try{q.get(e)(t,r,n,o,i)}catch(e){if(un(a),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiid:function(e,t,r,n,o,i,a){var s=An();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(un(s),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiif:function(e,t,r,n,o,i,a){var s=An();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(un(s),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiii:function(e,t,r,n,o,i,a){var s=An();try{q.get(e)(t,r,n,o,i,a)}catch(e){if(un(s),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiid:function(e,t,r,n,o,i,a,s){var c=An();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(un(c),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiif:function(e,t,r,n,o,i,a,s){var c=An();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(un(c),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiii:function(e,t,r,n,o,i,a,s){var c=An();try{q.get(e)(t,r,n,o,i,a,s)}catch(e){if(un(c),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u){var l=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(un(l),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiidiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(un(g),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiifiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(un(g),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiii:function(e,t,r,n,o,i,a,s,c){var A=An();try{q.get(e)(t,r,n,o,i,a,s,c)}catch(e){if(un(A),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiidd:function(e,t,r,n,o,i,a,s,c,A,u){var l=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(un(l),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiidf:function(e,t,r,n,o,i,a,s,c,A,u){var l=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(un(l),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiii:function(e,t,r,n,o,i,a,s,c,A){var u=An();try{q.get(e)(t,r,n,o,i,a,s,c,A)}catch(e){if(un(u),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiiidd:function(e,t,r,n,o,i,a,s,c,A,u,l){var d=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l)}catch(e){if(un(d),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(un(g),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u){var l=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(un(l),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g){var f=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g)}catch(e){if(un(f),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l){var d=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l)}catch(e){if(un(d),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(un(g),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},invoke_viiiiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g){var f=An();try{q.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g)}catch(e){if(un(f),e!==e+0&&"longjmp"!==e)throw e;gn(1,0)}},llvm_eh_typeid_for:function(e){return e},localtime_r:function(e,t){Nr();var r=new Date(1e3*F[e>>2]);F[t>>2]=r.getSeconds(),F[t+4>>2]=r.getMinutes(),F[t+8>>2]=r.getHours(),F[t+12>>2]=r.getDate(),F[t+16>>2]=r.getMonth(),F[t+20>>2]=r.getFullYear()-1900,F[t+24>>2]=r.getDay();var n=new Date(r.getFullYear(),0,1),o=(r.getTime()-n.getTime())/864e5|0;F[t+28>>2]=o,F[t+36>>2]=-60*r.getTimezoneOffset();var i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),s=0|(i!=a&&r.getTimezoneOffset()==Math.min(a,i));F[t+32>>2]=s;var c=F[an()+(s?4:0)>>2];return F[t+40>>2]=c,t},mktime:function(e){Nr();var t=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),r=F[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(r<0)F[e+32>>2]=Number(i!=a&&s==n);else if(r>0!=(s==n)){var c=Math.max(a,i),A=r>0?s:c;t.setTime(t.getTime()+6e4*(A-n))}F[e+24>>2]=t.getDay();var u=(t.getTime()-o.getTime())/864e5|0;return F[e+28>>2]=u,F[e>>2]=t.getSeconds(),F[e+4>>2]=t.getMinutes(),F[e+8>>2]=t.getHours(),F[e+12>>2]=t.getDate(),F[e+16>>2]=t.getMonth(),t.getTime()/1e3|0},proc_exit:function(e){yn(e)},setTempRet0:function(e){v(e)},strftime:Xr,strftime_l:function(e,t,r,n){return Xr(e,t,r,n)}};!function(){var e={env:$r,wasi_snapshot_preview1:$r};function t(e,t){var r,o=e.exports;n.asm=o,C(m=n.asm.memory,"memory not found in wasm exports"),Z(m.buffer),C(q=n.asm.__indirect_function_table,"table not found in wasm exports"),r=n.asm.__wasm_call_ctors,ne.unshift(r),ye("wasm-instantiate")}me("wasm-instantiate");var o=n;if(n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(e){return p("Module.instantiateWasm callback failed with error: ".concat(e)),!1}n.loadWasm(Ae,e).then(function(e){C(n===o,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),o=null,t(e)}).catch(r)}(),n.___wasm_call_ctors=ve("__wasm_call_ctors");var en=n._free=ve("free"),tn=n._malloc=ve("malloc"),rn=n.___errno_location=ve("__errno_location");n._fflush=ve("fflush");var nn=n.___getTypeName=ve("__getTypeName");n.___embind_register_native_and_builtin_types=ve("__embind_register_native_and_builtin_types"),n._emscripten_main_thread_process_queued_calls=ve("emscripten_main_thread_process_queued_calls");var on=n._emscripten_stack_get_end=function(){return(on=n._emscripten_stack_get_end=n.asm.emscripten_stack_get_end).apply(null,arguments)},an=n.__get_tzname=ve("_get_tzname"),sn=n.__get_daylight=ve("_get_daylight"),cn=n.__get_timezone=ve("_get_timezone"),An=n.stackSave=ve("stackSave"),un=n.stackRestore=ve("stackRestore");n.stackAlloc=ve("stackAlloc");var ln=n._emscripten_stack_init=function(){return(ln=n._emscripten_stack_init=n.asm.emscripten_stack_init).apply(null,arguments)};n._emscripten_stack_get_free=function(){return(n._emscripten_stack_get_free=n.asm.emscripten_stack_get_free).apply(null,arguments)},n._saveSetjmp=ve("saveSetjmp");var dn,gn=n._setThrew=ve("setThrew"),fn=n.___cxa_can_catch=ve("__cxa_can_catch"),hn=n.___cxa_is_pointer_type=ve("__cxa_is_pointer_type"),pn=n._memalign=ve("memalign");function En(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}function mn(e){function r(){dn||(dn=!0,n.calledRun=!0,w||(te(),C(!ae),ae=!0,n.noFSInit||Ge.init.initialized||Ge.init(),Ge.ignorePermissions=!1,De(ne),t(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),C(!n._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(te(),n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)ce(n.postRun.shift());De(ie)}()))}ge>0||(ln(),ee(),function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)se(n.preRun.shift());De(re)}(),ge>0||(n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),r()},1)):r(),te()))}function yn(e){s(e,new En(e))}if(n._emscripten_builtin_malloc=ve("emscripten_builtin_malloc"),n._emscripten_builtin_free=ve("emscripten_builtin_free"),n._emscripten_builtin_memalign=ve("emscripten_builtin_memalign"),n.dynCall_jii=ve("dynCall_jii"),n.dynCall_viji=ve("dynCall_viji"),n.dynCall_jjj=ve("dynCall_jjj"),n.dynCall_iiiijj=ve("dynCall_iiiijj"),n.dynCall_viijj=ve("dynCall_viijj"),n.dynCall_viiijjjj=ve("dynCall_viiijjjj"),n.dynCall_ji=ve("dynCall_ji"),n.dynCall_vij=ve("dynCall_vij"),n.dynCall_viijii=ve("dynCall_viijii"),n.dynCall_vj=ve("dynCall_vj"),n.dynCall_viij=ve("dynCall_viij"),n.dynCall_viiiiij=ve("dynCall_viiiiij"),n.dynCall_iijjiiii=ve("dynCall_iijjiiii"),n.dynCall_jiji=ve("dynCall_jiji"),n.dynCall_iiiiij=ve("dynCall_iiiiij"),n.dynCall_iiiiijj=ve("dynCall_iiiiijj"),n.dynCall_iiiiiijj=ve("dynCall_iiiiiijj"),Object.getOwnPropertyDescriptor(n,"intArrayFromString")||(n.intArrayFromString=function(){Ie("'intArrayFromString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"intArrayToString")||(n.intArrayToString=function(){Ie("'intArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ccall")||(n.ccall=function(){Ie("'ccall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"cwrap")||(n.cwrap=function(){Ie("'cwrap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setValue")||(n.setValue=function(){Ie("'setValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getValue")||(n.getValue=function(){Ie("'getValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"allocate")||(n.allocate=function(){Ie("'allocate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UTF8ArrayToString")||(n.UTF8ArrayToString=function(){Ie("'UTF8ArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UTF8ToString")||(n.UTF8ToString=function(){Ie("'UTF8ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToUTF8Array")||(n.stringToUTF8Array=function(){Ie("'stringToUTF8Array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToUTF8")||(n.stringToUTF8=function(){Ie("'stringToUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"lengthBytesUTF8")||(n.lengthBytesUTF8=function(){Ie("'lengthBytesUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackTrace")||(n.stackTrace=function(){Ie("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnPreRun")||(n.addOnPreRun=function(){Ie("'addOnPreRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnInit")||(n.addOnInit=function(){Ie("'addOnInit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnPreMain")||(n.addOnPreMain=function(){Ie("'addOnPreMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnExit")||(n.addOnExit=function(){Ie("'addOnExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addOnPostRun")||(n.addOnPostRun=function(){Ie("'addOnPostRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeStringToMemory")||(n.writeStringToMemory=function(){Ie("'writeStringToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeArrayToMemory")||(n.writeArrayToMemory=function(){Ie("'writeArrayToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeAsciiToMemory")||(n.writeAsciiToMemory=function(){Ie("'writeAsciiToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.addRunDependency=me,n.removeRunDependency=ye,Object.getOwnPropertyDescriptor(n,"FS_createFolder")||(n.FS_createFolder=function(){Ie("'FS_createFolder' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.FS_createPath=Ge.createPath,n.FS_createDataFile=Ge.createDataFile,n.FS_createPreloadedFile=Ge.createPreloadedFile,n.FS_createLazyFile=Ge.createLazyFile,Object.getOwnPropertyDescriptor(n,"FS_createLink")||(n.FS_createLink=function(){Ie("'FS_createLink' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.FS_createDevice=Ge.createDevice,n.FS_unlink=Ge.unlink,Object.getOwnPropertyDescriptor(n,"getLEB")||(n.getLEB=function(){Ie("'getLEB' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getFunctionTables")||(n.getFunctionTables=function(){Ie("'getFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"alignFunctionTables")||(n.alignFunctionTables=function(){Ie("'alignFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerFunctions")||(n.registerFunctions=function(){Ie("'registerFunctions' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"addFunction")||(n.addFunction=function(){Ie("'addFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"removeFunction")||(n.removeFunction=function(){Ie("'removeFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getFuncWrapper")||(n.getFuncWrapper=function(){Ie("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"prettyPrint")||(n.prettyPrint=function(){Ie("'prettyPrint' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"dynCall")||(n.dynCall=function(){Ie("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getCompilerSetting")||(n.getCompilerSetting=function(){Ie("'getCompilerSetting' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"print")||(n.print=function(){Ie("'print' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"printErr")||(n.printErr=function(){Ie("'printErr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getTempRet0")||(n.getTempRet0=function(){Ie("'getTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setTempRet0")||(n.setTempRet0=function(){Ie("'setTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"callMain")||(n.callMain=function(){Ie("'callMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"abort")||(n.abort=function(){Ie("'abort' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"keepRuntimeAlive")||(n.keepRuntimeAlive=function(){Ie("'keepRuntimeAlive' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"zeroMemory")||(n.zeroMemory=function(){Ie("'zeroMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToNewUTF8")||(n.stringToNewUTF8=function(){Ie("'stringToNewUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setFileTime")||(n.setFileTime=function(){Ie("'setFileTime' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscripten_realloc_buffer")||(n.emscripten_realloc_buffer=function(){Ie("'emscripten_realloc_buffer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ENV")||(n.ENV=function(){Ie("'ENV' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ERRNO_CODES")||(n.ERRNO_CODES=function(){Ie("'ERRNO_CODES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ERRNO_MESSAGES")||(n.ERRNO_MESSAGES=function(){Ie("'ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setErrNo")||(n.setErrNo=function(){Ie("'setErrNo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"inetPton4")||(n.inetPton4=function(){Ie("'inetPton4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"inetNtop4")||(n.inetNtop4=function(){Ie("'inetNtop4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"inetPton6")||(n.inetPton6=function(){Ie("'inetPton6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"inetNtop6")||(n.inetNtop6=function(){Ie("'inetNtop6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readSockaddr")||(n.readSockaddr=function(){Ie("'readSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeSockaddr")||(n.writeSockaddr=function(){Ie("'writeSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"DNS")||(n.DNS=function(){Ie("'DNS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getHostByName")||(n.getHostByName=function(){Ie("'getHostByName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GAI_ERRNO_MESSAGES")||(n.GAI_ERRNO_MESSAGES=function(){Ie("'GAI_ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"Protocols")||(n.Protocols=function(){Ie("'Protocols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"Sockets")||(n.Sockets=function(){Ie("'Sockets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getRandomDevice")||(n.getRandomDevice=function(){Ie("'getRandomDevice' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"traverseStack")||(n.traverseStack=function(){Ie("'traverseStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UNWIND_CACHE")||(n.UNWIND_CACHE=function(){Ie("'UNWIND_CACHE' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"withBuiltinMalloc")||(n.withBuiltinMalloc=function(){Ie("'withBuiltinMalloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readAsmConstArgsArray")||(n.readAsmConstArgsArray=function(){Ie("'readAsmConstArgsArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readAsmConstArgs")||(n.readAsmConstArgs=function(){Ie("'readAsmConstArgs' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"mainThreadEM_ASM")||(n.mainThreadEM_ASM=function(){Ie("'mainThreadEM_ASM' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"jstoi_q")||(n.jstoi_q=function(){Ie("'jstoi_q' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"jstoi_s")||(n.jstoi_s=function(){Ie("'jstoi_s' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getExecutableName")||(n.getExecutableName=function(){Ie("'getExecutableName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"listenOnce")||(n.listenOnce=function(){Ie("'listenOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"autoResumeAudioContext")||(n.autoResumeAudioContext=function(){Ie("'autoResumeAudioContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"dynCallLegacy")||(n.dynCallLegacy=function(){Ie("'dynCallLegacy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getDynCaller")||(n.getDynCaller=function(){Ie("'getDynCaller' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"dynCall")||(n.dynCall=function(){Ie("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"callRuntimeCallbacks")||(n.callRuntimeCallbacks=function(){Ie("'callRuntimeCallbacks' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runtimeKeepalivePush")||(n.runtimeKeepalivePush=function(){Ie("'runtimeKeepalivePush' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runtimeKeepalivePop")||(n.runtimeKeepalivePop=function(){Ie("'runtimeKeepalivePop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"callUserCallback")||(n.callUserCallback=function(){Ie("'callUserCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"maybeExit")||(n.maybeExit=function(){Ie("'maybeExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"safeSetTimeout")||(n.safeSetTimeout=function(){Ie("'safeSetTimeout' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"asmjsMangle")||(n.asmjsMangle=function(){Ie("'asmjsMangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"asyncLoad")||(n.asyncLoad=function(){Ie("'asyncLoad' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"alignMemory")||(n.alignMemory=function(){Ie("'alignMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"mmapAlloc")||(n.mmapAlloc=function(){Ie("'mmapAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"reallyNegative")||(n.reallyNegative=function(){Ie("'reallyNegative' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"unSign")||(n.unSign=function(){Ie("'unSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"reSign")||(n.reSign=function(){Ie("'reSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"formatString")||(n.formatString=function(){Ie("'formatString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"PATH")||(n.PATH=function(){Ie("'PATH' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"PATH_FS")||(n.PATH_FS=function(){Ie("'PATH_FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SYSCALLS")||(n.SYSCALLS=function(){Ie("'SYSCALLS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"syscallMmap2")||(n.syscallMmap2=function(){Ie("'syscallMmap2' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"syscallMunmap")||(n.syscallMunmap=function(){Ie("'syscallMunmap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getSocketFromFD")||(n.getSocketFromFD=function(){Ie("'getSocketFromFD' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getSocketAddress")||(n.getSocketAddress=function(){Ie("'getSocketAddress' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"JSEvents")||(n.JSEvents=function(){Ie("'JSEvents' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerKeyEventCallback")||(n.registerKeyEventCallback=function(){Ie("'registerKeyEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"specialHTMLTargets")||(n.specialHTMLTargets=function(){Ie("'specialHTMLTargets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"findEventTarget")||(n.findEventTarget=function(){Ie("'findEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"findCanvasEventTarget")||(n.findCanvasEventTarget=function(){Ie("'findCanvasEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getBoundingClientRect")||(n.getBoundingClientRect=function(){Ie("'getBoundingClientRect' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillMouseEventData")||(n.fillMouseEventData=function(){Ie("'fillMouseEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerMouseEventCallback")||(n.registerMouseEventCallback=function(){Ie("'registerMouseEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerWheelEventCallback")||(n.registerWheelEventCallback=function(){Ie("'registerWheelEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerUiEventCallback")||(n.registerUiEventCallback=function(){Ie("'registerUiEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerFocusEventCallback")||(n.registerFocusEventCallback=function(){Ie("'registerFocusEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillDeviceOrientationEventData")||(n.fillDeviceOrientationEventData=function(){Ie("'fillDeviceOrientationEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerDeviceOrientationEventCallback")||(n.registerDeviceOrientationEventCallback=function(){Ie("'registerDeviceOrientationEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillDeviceMotionEventData")||(n.fillDeviceMotionEventData=function(){Ie("'fillDeviceMotionEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerDeviceMotionEventCallback")||(n.registerDeviceMotionEventCallback=function(){Ie("'registerDeviceMotionEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"screenOrientation")||(n.screenOrientation=function(){Ie("'screenOrientation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillOrientationChangeEventData")||(n.fillOrientationChangeEventData=function(){Ie("'fillOrientationChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerOrientationChangeEventCallback")||(n.registerOrientationChangeEventCallback=function(){Ie("'registerOrientationChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillFullscreenChangeEventData")||(n.fillFullscreenChangeEventData=function(){Ie("'fillFullscreenChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerFullscreenChangeEventCallback")||(n.registerFullscreenChangeEventCallback=function(){Ie("'registerFullscreenChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerRestoreOldStyle")||(n.registerRestoreOldStyle=function(){Ie("'registerRestoreOldStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"hideEverythingExceptGivenElement")||(n.hideEverythingExceptGivenElement=function(){Ie("'hideEverythingExceptGivenElement' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"restoreHiddenElements")||(n.restoreHiddenElements=function(){Ie("'restoreHiddenElements' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setLetterbox")||(n.setLetterbox=function(){Ie("'setLetterbox' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"currentFullscreenStrategy")||(n.currentFullscreenStrategy=function(){Ie("'currentFullscreenStrategy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"restoreOldWindowedStyle")||(n.restoreOldWindowedStyle=function(){Ie("'restoreOldWindowedStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"softFullscreenResizeWebGLRenderTarget")||(n.softFullscreenResizeWebGLRenderTarget=function(){Ie("'softFullscreenResizeWebGLRenderTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"doRequestFullscreen")||(n.doRequestFullscreen=function(){Ie("'doRequestFullscreen' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillPointerlockChangeEventData")||(n.fillPointerlockChangeEventData=function(){Ie("'fillPointerlockChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerPointerlockChangeEventCallback")||(n.registerPointerlockChangeEventCallback=function(){Ie("'registerPointerlockChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerPointerlockErrorEventCallback")||(n.registerPointerlockErrorEventCallback=function(){Ie("'registerPointerlockErrorEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"requestPointerLock")||(n.requestPointerLock=function(){Ie("'requestPointerLock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillVisibilityChangeEventData")||(n.fillVisibilityChangeEventData=function(){Ie("'fillVisibilityChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerVisibilityChangeEventCallback")||(n.registerVisibilityChangeEventCallback=function(){Ie("'registerVisibilityChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerTouchEventCallback")||(n.registerTouchEventCallback=function(){Ie("'registerTouchEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillGamepadEventData")||(n.fillGamepadEventData=function(){Ie("'fillGamepadEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerGamepadEventCallback")||(n.registerGamepadEventCallback=function(){Ie("'registerGamepadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerBeforeUnloadEventCallback")||(n.registerBeforeUnloadEventCallback=function(){Ie("'registerBeforeUnloadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"fillBatteryEventData")||(n.fillBatteryEventData=function(){Ie("'fillBatteryEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"battery")||(n.battery=function(){Ie("'battery' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerBatteryEventCallback")||(n.registerBatteryEventCallback=function(){Ie("'registerBatteryEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setCanvasElementSize")||(n.setCanvasElementSize=function(){Ie("'setCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getCanvasElementSize")||(n.getCanvasElementSize=function(){Ie("'getCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"polyfillSetImmediate")||(n.polyfillSetImmediate=function(){Ie("'polyfillSetImmediate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"demangle")||(n.demangle=function(){Ie("'demangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"demangleAll")||(n.demangleAll=function(){Ie("'demangleAll' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"jsStackTrace")||(n.jsStackTrace=function(){Ie("'jsStackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackTrace")||(n.stackTrace=function(){Ie("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getEnvStrings")||(n.getEnvStrings=function(){Ie("'getEnvStrings' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"checkWasiClock")||(n.checkWasiClock=function(){Ie("'checkWasiClock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToI64")||(n.writeI53ToI64=function(){Ie("'writeI53ToI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToI64Clamped")||(n.writeI53ToI64Clamped=function(){Ie("'writeI53ToI64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToI64Signaling")||(n.writeI53ToI64Signaling=function(){Ie("'writeI53ToI64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToU64Clamped")||(n.writeI53ToU64Clamped=function(){Ie("'writeI53ToU64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeI53ToU64Signaling")||(n.writeI53ToU64Signaling=function(){Ie("'writeI53ToU64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readI53FromI64")||(n.readI53FromI64=function(){Ie("'readI53FromI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readI53FromU64")||(n.readI53FromU64=function(){Ie("'readI53FromU64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"convertI32PairToI53")||(n.convertI32PairToI53=function(){Ie("'convertI32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"convertU32PairToI53")||(n.convertU32PairToI53=function(){Ie("'convertU32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"uncaughtExceptionCount")||(n.uncaughtExceptionCount=function(){Ie("'uncaughtExceptionCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exceptionLast")||(n.exceptionLast=function(){Ie("'exceptionLast' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exceptionCaught")||(n.exceptionCaught=function(){Ie("'exceptionCaught' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ExceptionInfo")||(n.ExceptionInfo=function(){Ie("'ExceptionInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"CatchInfo")||(n.CatchInfo=function(){Ie("'CatchInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exception_addRef")||(n.exception_addRef=function(){Ie("'exception_addRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exception_decRef")||(n.exception_decRef=function(){Ie("'exception_decRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"Browser")||(n.Browser=function(){Ie("'Browser' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"funcWrappers")||(n.funcWrappers=function(){Ie("'funcWrappers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getFuncWrapper")||(n.getFuncWrapper=function(){Ie("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setMainLoop")||(n.setMainLoop=function(){Ie("'setMainLoop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"wget")||(n.wget=function(){Ie("'wget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"FS")||(n.FS=function(){Ie("'FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"MEMFS")||(n.MEMFS=function(){Ie("'MEMFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"TTY")||(n.TTY=function(){Ie("'TTY' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"PIPEFS")||(n.PIPEFS=function(){Ie("'PIPEFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SOCKFS")||(n.SOCKFS=function(){Ie("'SOCKFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"_setNetworkCallback")||(n._setNetworkCallback=function(){Ie("'_setNetworkCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"tempFixedLengthArray")||(n.tempFixedLengthArray=function(){Ie("'tempFixedLengthArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"miniTempWebGLFloatBuffers")||(n.miniTempWebGLFloatBuffers=function(){Ie("'miniTempWebGLFloatBuffers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"heapObjectForWebGLType")||(n.heapObjectForWebGLType=function(){Ie("'heapObjectForWebGLType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"heapAccessShiftForWebGLHeap")||(n.heapAccessShiftForWebGLHeap=function(){Ie("'heapAccessShiftForWebGLHeap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.GL=mr,Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGet")||(n.emscriptenWebGLGet=function(){Ie("'emscriptenWebGLGet' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"computeUnpackAlignedImageSize")||(n.computeUnpackAlignedImageSize=function(){Ie("'computeUnpackAlignedImageSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetTexPixelData")||(n.emscriptenWebGLGetTexPixelData=function(){Ie("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetUniform")||(n.emscriptenWebGLGetUniform=function(){Ie("'emscriptenWebGLGetUniform' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"webglGetUniformLocation")||(n.webglGetUniformLocation=function(){Ie("'webglGetUniformLocation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"webglPrepareUniformLocationsBeforeFirstUse")||(n.webglPrepareUniformLocationsBeforeFirstUse=function(){Ie("'webglPrepareUniformLocationsBeforeFirstUse' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"webglGetLeftBracePos")||(n.webglGetLeftBracePos=function(){Ie("'webglGetLeftBracePos' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetVertexAttrib")||(n.emscriptenWebGLGetVertexAttrib=function(){Ie("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetBufferBinding")||(n.emscriptenWebGLGetBufferBinding=function(){Ie("'emscriptenWebGLGetBufferBinding' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLValidateMapBufferTarget")||(n.emscriptenWebGLValidateMapBufferTarget=function(){Ie("'emscriptenWebGLValidateMapBufferTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"writeGLArray")||(n.writeGLArray=function(){Ie("'writeGLArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"AL")||(n.AL=function(){Ie("'AL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL_unicode")||(n.SDL_unicode=function(){Ie("'SDL_unicode' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL_ttfContext")||(n.SDL_ttfContext=function(){Ie("'SDL_ttfContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL_audio")||(n.SDL_audio=function(){Ie("'SDL_audio' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL")||(n.SDL=function(){Ie("'SDL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"SDL_gfx")||(n.SDL_gfx=function(){Ie("'SDL_gfx' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GLUT")||(n.GLUT=function(){Ie("'GLUT' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"EGL")||(n.EGL=function(){Ie("'EGL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GLFW_Window")||(n.GLFW_Window=function(){Ie("'GLFW_Window' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GLFW")||(n.GLFW=function(){Ie("'GLFW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"GLEW")||(n.GLEW=function(){Ie("'GLEW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"IDBStore")||(n.IDBStore=function(){Ie("'IDBStore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runAndAbortIfError")||(n.runAndAbortIfError=function(){Ie("'runAndAbortIfError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_handle_array")||(n.emval_handle_array=function(){Ie("'emval_handle_array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_free_list")||(n.emval_free_list=function(){Ie("'emval_free_list' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_symbols")||(n.emval_symbols=function(){Ie("'emval_symbols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"init_emval")||(n.init_emval=function(){Ie("'init_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"count_emval_handles")||(n.count_emval_handles=function(){Ie("'count_emval_handles' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"get_first_emval")||(n.get_first_emval=function(){Ie("'get_first_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getStringOrSymbol")||(n.getStringOrSymbol=function(){Ie("'getStringOrSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"requireHandle")||(n.requireHandle=function(){Ie("'requireHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_newers")||(n.emval_newers=function(){Ie("'emval_newers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"craftEmvalAllocator")||(n.craftEmvalAllocator=function(){Ie("'craftEmvalAllocator' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_get_global")||(n.emval_get_global=function(){Ie("'emval_get_global' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emval_methodCallers")||(n.emval_methodCallers=function(){Ie("'emval_methodCallers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"InternalError")||(n.InternalError=function(){Ie("'InternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"BindingError")||(n.BindingError=function(){Ie("'BindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UnboundTypeError")||(n.UnboundTypeError=function(){Ie("'UnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"PureVirtualError")||(n.PureVirtualError=function(){Ie("'PureVirtualError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"init_embind")||(n.init_embind=function(){Ie("'init_embind' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"throwInternalError")||(n.throwInternalError=function(){Ie("'throwInternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"throwBindingError")||(n.throwBindingError=function(){Ie("'throwBindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"throwUnboundTypeError")||(n.throwUnboundTypeError=function(){Ie("'throwUnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ensureOverloadTable")||(n.ensureOverloadTable=function(){Ie("'ensureOverloadTable' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"exposePublicSymbol")||(n.exposePublicSymbol=function(){Ie("'exposePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"replacePublicSymbol")||(n.replacePublicSymbol=function(){Ie("'replacePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"extendError")||(n.extendError=function(){Ie("'extendError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"createNamedFunction")||(n.createNamedFunction=function(){Ie("'createNamedFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registeredInstances")||(n.registeredInstances=function(){Ie("'registeredInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getBasestPointer")||(n.getBasestPointer=function(){Ie("'getBasestPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerInheritedInstance")||(n.registerInheritedInstance=function(){Ie("'registerInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"unregisterInheritedInstance")||(n.unregisterInheritedInstance=function(){Ie("'unregisterInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getInheritedInstance")||(n.getInheritedInstance=function(){Ie("'getInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getInheritedInstanceCount")||(n.getInheritedInstanceCount=function(){Ie("'getInheritedInstanceCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getLiveInheritedInstances")||(n.getLiveInheritedInstances=function(){Ie("'getLiveInheritedInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registeredTypes")||(n.registeredTypes=function(){Ie("'registeredTypes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"awaitingDependencies")||(n.awaitingDependencies=function(){Ie("'awaitingDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"typeDependencies")||(n.typeDependencies=function(){Ie("'typeDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registeredPointers")||(n.registeredPointers=function(){Ie("'registeredPointers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"registerType")||(n.registerType=function(){Ie("'registerType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"whenDependentTypesAreResolved")||(n.whenDependentTypesAreResolved=function(){Ie("'whenDependentTypesAreResolved' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"embind_charCodes")||(n.embind_charCodes=function(){Ie("'embind_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"embind_init_charCodes")||(n.embind_init_charCodes=function(){Ie("'embind_init_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"readLatin1String")||(n.readLatin1String=function(){Ie("'readLatin1String' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getTypeName")||(n.getTypeName=function(){Ie("'getTypeName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"heap32VectorToArray")||(n.heap32VectorToArray=function(){Ie("'heap32VectorToArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"requireRegisteredType")||(n.requireRegisteredType=function(){Ie("'requireRegisteredType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"getShiftFromSize")||(n.getShiftFromSize=function(){Ie("'getShiftFromSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"integerReadValueFromPointer")||(n.integerReadValueFromPointer=function(){Ie("'integerReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"enumReadValueFromPointer")||(n.enumReadValueFromPointer=function(){Ie("'enumReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"floatReadValueFromPointer")||(n.floatReadValueFromPointer=function(){Ie("'floatReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"simpleReadValueFromPointer")||(n.simpleReadValueFromPointer=function(){Ie("'simpleReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runDestructors")||(n.runDestructors=function(){Ie("'runDestructors' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"new_")||(n.new_=function(){Ie("'new_' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"craftInvokerFunction")||(n.craftInvokerFunction=function(){Ie("'craftInvokerFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"embind__requireFunction")||(n.embind__requireFunction=function(){Ie("'embind__requireFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"tupleRegistrations")||(n.tupleRegistrations=function(){Ie("'tupleRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"structRegistrations")||(n.structRegistrations=function(){Ie("'structRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"genericPointerToWireType")||(n.genericPointerToWireType=function(){Ie("'genericPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"constNoSmartPtrRawPointerToWireType")||(n.constNoSmartPtrRawPointerToWireType=function(){Ie("'constNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"nonConstNoSmartPtrRawPointerToWireType")||(n.nonConstNoSmartPtrRawPointerToWireType=function(){Ie("'nonConstNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"init_RegisteredPointer")||(n.init_RegisteredPointer=function(){Ie("'init_RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer")||(n.RegisteredPointer=function(){Ie("'RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer_getPointee")||(n.RegisteredPointer_getPointee=function(){Ie("'RegisteredPointer_getPointee' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer_destructor")||(n.RegisteredPointer_destructor=function(){Ie("'RegisteredPointer_destructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer_deleteObject")||(n.RegisteredPointer_deleteObject=function(){Ie("'RegisteredPointer_deleteObject' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredPointer_fromWireType")||(n.RegisteredPointer_fromWireType=function(){Ie("'RegisteredPointer_fromWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"runDestructor")||(n.runDestructor=function(){Ie("'runDestructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"releaseClassHandle")||(n.releaseClassHandle=function(){Ie("'releaseClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"finalizationGroup")||(n.finalizationGroup=function(){Ie("'finalizationGroup' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"detachFinalizer_deps")||(n.detachFinalizer_deps=function(){Ie("'detachFinalizer_deps' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"detachFinalizer")||(n.detachFinalizer=function(){Ie("'detachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"attachFinalizer")||(n.attachFinalizer=function(){Ie("'attachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"makeClassHandle")||(n.makeClassHandle=function(){Ie("'makeClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"init_ClassHandle")||(n.init_ClassHandle=function(){Ie("'init_ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle")||(n.ClassHandle=function(){Ie("'ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_isAliasOf")||(n.ClassHandle_isAliasOf=function(){Ie("'ClassHandle_isAliasOf' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"throwInstanceAlreadyDeleted")||(n.throwInstanceAlreadyDeleted=function(){Ie("'throwInstanceAlreadyDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_clone")||(n.ClassHandle_clone=function(){Ie("'ClassHandle_clone' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_delete")||(n.ClassHandle_delete=function(){Ie("'ClassHandle_delete' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"deletionQueue")||(n.deletionQueue=function(){Ie("'deletionQueue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_isDeleted")||(n.ClassHandle_isDeleted=function(){Ie("'ClassHandle_isDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"ClassHandle_deleteLater")||(n.ClassHandle_deleteLater=function(){Ie("'ClassHandle_deleteLater' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"flushPendingDeletes")||(n.flushPendingDeletes=function(){Ie("'flushPendingDeletes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"delayFunction")||(n.delayFunction=function(){Ie("'delayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"setDelayFunction")||(n.setDelayFunction=function(){Ie("'setDelayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"RegisteredClass")||(n.RegisteredClass=function(){Ie("'RegisteredClass' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"shallowCopyInternalPointer")||(n.shallowCopyInternalPointer=function(){Ie("'shallowCopyInternalPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"downcastPointer")||(n.downcastPointer=function(){Ie("'downcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"upcastPointer")||(n.upcastPointer=function(){Ie("'upcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"validateThis")||(n.validateThis=function(){Ie("'validateThis' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"char_0")||(n.char_0=function(){Ie("'char_0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"char_9")||(n.char_9=function(){Ie("'char_9' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"makeLegalFunctionName")||(n.makeLegalFunctionName=function(){Ie("'makeLegalFunctionName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"emscriptenWebGLGetIndexed")||(n.emscriptenWebGLGetIndexed=function(){Ie("'emscriptenWebGLGetIndexed' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"warnOnce")||(n.warnOnce=function(){Ie("'warnOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackSave")||(n.stackSave=function(){Ie("'stackSave' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackRestore")||(n.stackRestore=function(){Ie("'stackRestore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stackAlloc")||(n.stackAlloc=function(){Ie("'stackAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"AsciiToString")||(n.AsciiToString=function(){Ie("'AsciiToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToAscii")||(n.stringToAscii=function(){Ie("'stringToAscii' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UTF16ToString")||(n.UTF16ToString=function(){Ie("'UTF16ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToUTF16")||(n.stringToUTF16=function(){Ie("'stringToUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"lengthBytesUTF16")||(n.lengthBytesUTF16=function(){Ie("'lengthBytesUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"UTF32ToString")||(n.UTF32ToString=function(){Ie("'UTF32ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"stringToUTF32")||(n.stringToUTF32=function(){Ie("'stringToUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"lengthBytesUTF32")||(n.lengthBytesUTF32=function(){Ie("'lengthBytesUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"allocateUTF8")||(n.allocateUTF8=function(){Ie("'allocateUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(n,"allocateUTF8OnStack")||(n.allocateUTF8OnStack=function(){Ie("'allocateUTF8OnStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),n.writeStackCookie=ee,n.checkStackCookie=te,Object.getOwnPropertyDescriptor(n,"ALLOC_NORMAL")||Object.defineProperty(n,"ALLOC_NORMAL",{configurable:!0,get:function(){Ie("'ALLOC_NORMAL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(n,"ALLOC_STACK")||Object.defineProperty(n,"ALLOC_STACK",{configurable:!0,get:function(){Ie("'ALLOC_STACK' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),he=function e(){dn||mn(),dn||(he=e)},n.run=mn,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return mn(),e.ready}),j=U,L=function(){var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return"undefined"!=typeof __filename&&(e=e||__filename),function(t){var r,n,o=void 0!==(t=t||{})?t:{};o.ready=new Promise(function(e,t){r=e,n=t}),Object.getOwnPropertyDescriptor(o.ready,"_main")||(Object.defineProperty(o.ready,"_main",{configurable:!0,get:function(){me("You are getting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_main",{configurable:!0,set:function(){me("You are setting _main on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_stack_get_end")||(Object.defineProperty(o.ready,"_emscripten_stack_get_end",{configurable:!0,get:function(){me("You are getting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_stack_get_end",{configurable:!0,set:function(){me("You are setting _emscripten_stack_get_end on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_stack_get_free")||(Object.defineProperty(o.ready,"_emscripten_stack_get_free",{configurable:!0,get:function(){me("You are getting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_stack_get_free",{configurable:!0,set:function(){me("You are setting _emscripten_stack_get_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_stack_init")||(Object.defineProperty(o.ready,"_emscripten_stack_init",{configurable:!0,get:function(){me("You are getting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_stack_init",{configurable:!0,set:function(){me("You are setting _emscripten_stack_init on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_stackSave")||(Object.defineProperty(o.ready,"_stackSave",{configurable:!0,get:function(){me("You are getting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_stackSave",{configurable:!0,set:function(){me("You are setting _stackSave on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_stackRestore")||(Object.defineProperty(o.ready,"_stackRestore",{configurable:!0,get:function(){me("You are getting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_stackRestore",{configurable:!0,set:function(){me("You are setting _stackRestore on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_stackAlloc")||(Object.defineProperty(o.ready,"_stackAlloc",{configurable:!0,get:function(){me("You are getting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_stackAlloc",{configurable:!0,set:function(){me("You are setting _stackAlloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___wasm_call_ctors")||(Object.defineProperty(o.ready,"___wasm_call_ctors",{configurable:!0,get:function(){me("You are getting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___wasm_call_ctors",{configurable:!0,set:function(){me("You are setting ___wasm_call_ctors on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_fflush")||(Object.defineProperty(o.ready,"_fflush",{configurable:!0,get:function(){me("You are getting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_fflush",{configurable:!0,set:function(){me("You are setting _fflush on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___errno_location")||(Object.defineProperty(o.ready,"___errno_location",{configurable:!0,get:function(){me("You are getting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___errno_location",{configurable:!0,set:function(){me("You are setting ___errno_location on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_malloc")||(Object.defineProperty(o.ready,"_malloc",{configurable:!0,get:function(){me("You are getting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_malloc",{configurable:!0,set:function(){me("You are setting _malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_free")||(Object.defineProperty(o.ready,"_free",{configurable:!0,get:function(){me("You are getting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_free",{configurable:!0,set:function(){me("You are setting _free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_setThrew")||(Object.defineProperty(o.ready,"_setThrew",{configurable:!0,get:function(){me("You are getting _setThrew on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_setThrew",{configurable:!0,set:function(){me("You are setting _setThrew on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___cxa_is_pointer_type")||(Object.defineProperty(o.ready,"___cxa_is_pointer_type",{configurable:!0,get:function(){me("You are getting ___cxa_is_pointer_type on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___cxa_is_pointer_type",{configurable:!0,set:function(){me("You are setting ___cxa_is_pointer_type on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___cxa_can_catch")||(Object.defineProperty(o.ready,"___cxa_can_catch",{configurable:!0,get:function(){me("You are getting ___cxa_can_catch on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___cxa_can_catch",{configurable:!0,set:function(){me("You are setting ___cxa_can_catch on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_saveSetjmp")||(Object.defineProperty(o.ready,"_saveSetjmp",{configurable:!0,get:function(){me("You are getting _saveSetjmp on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_saveSetjmp",{configurable:!0,set:function(){me("You are setting _saveSetjmp on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_memalign")||(Object.defineProperty(o.ready,"_memalign",{configurable:!0,get:function(){me("You are getting _memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_memalign",{configurable:!0,set:function(){me("You are setting _memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_main_thread_process_queued_calls")||(Object.defineProperty(o.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,get:function(){me("You are getting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_main_thread_process_queued_calls",{configurable:!0,set:function(){me("You are setting _emscripten_main_thread_process_queued_calls on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_webgl_make_context_current")||(Object.defineProperty(o.ready,"_emscripten_webgl_make_context_current",{configurable:!0,get:function(){me("You are getting _emscripten_webgl_make_context_current on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_webgl_make_context_current",{configurable:!0,set:function(){me("You are setting _emscripten_webgl_make_context_current on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_webgl_get_current_context")||(Object.defineProperty(o.ready,"_emscripten_webgl_get_current_context",{configurable:!0,get:function(){me("You are getting _emscripten_webgl_get_current_context on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_webgl_get_current_context",{configurable:!0,set:function(){me("You are setting _emscripten_webgl_get_current_context on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"__get_tzname")||(Object.defineProperty(o.ready,"__get_tzname",{configurable:!0,get:function(){me("You are getting __get_tzname on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"__get_tzname",{configurable:!0,set:function(){me("You are setting __get_tzname on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"__get_daylight")||(Object.defineProperty(o.ready,"__get_daylight",{configurable:!0,get:function(){me("You are getting __get_daylight on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"__get_daylight",{configurable:!0,set:function(){me("You are setting __get_daylight on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"__get_timezone")||(Object.defineProperty(o.ready,"__get_timezone",{configurable:!0,get:function(){me("You are getting __get_timezone on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"__get_timezone",{configurable:!0,set:function(){me("You are setting __get_timezone on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_builtin_malloc")||(Object.defineProperty(o.ready,"_emscripten_builtin_malloc",{configurable:!0,get:function(){me("You are getting _emscripten_builtin_malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_builtin_malloc",{configurable:!0,set:function(){me("You are setting _emscripten_builtin_malloc on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_builtin_free")||(Object.defineProperty(o.ready,"_emscripten_builtin_free",{configurable:!0,get:function(){me("You are getting _emscripten_builtin_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_builtin_free",{configurable:!0,set:function(){me("You are setting _emscripten_builtin_free on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"_emscripten_builtin_memalign")||(Object.defineProperty(o.ready,"_emscripten_builtin_memalign",{configurable:!0,get:function(){me("You are getting _emscripten_builtin_memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"_emscripten_builtin_memalign",{configurable:!0,set:function(){me("You are setting _emscripten_builtin_memalign on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___getTypeName")||(Object.defineProperty(o.ready,"___getTypeName",{configurable:!0,get:function(){me("You are getting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___getTypeName",{configurable:!0,set:function(){me("You are setting ___getTypeName on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"___embind_register_native_and_builtin_types")||(Object.defineProperty(o.ready,"___embind_register_native_and_builtin_types",{configurable:!0,get:function(){me("You are getting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"___embind_register_native_and_builtin_types",{configurable:!0,set:function(){me("You are setting ___embind_register_native_and_builtin_types on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}})),Object.getOwnPropertyDescriptor(o.ready,"onRuntimeInitialized")||(Object.defineProperty(o.ready,"onRuntimeInitialized",{configurable:!0,get:function(){me("You are getting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}),Object.defineProperty(o.ready,"onRuntimeInitialized",{configurable:!0,set:function(){me("You are setting onRuntimeInitialized on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")}}));var i,a={};for(i in o)o.hasOwnProperty(i)&&(a[i]=o[i]);var s="./this.program",c=function(e,t){throw t},A="object"===("undefined"==typeof window?"undefined":I(window)),u="function"==typeof importScripts,l="object"===("undefined"==typeof process?"undefined":I(process))&&"object"===I(process.versions)&&"string"==typeof process.versions.node,d=!A&&!l&&!u;if(o.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)");var g,f,h,p="";if(!A&&!u)throw new Error("environment detection error");if(u?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=0!==p.indexOf("blob:")?p.substr(0,p.lastIndexOf("/")+1):"","object"!==("undefined"==typeof window?"undefined":I(window))&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");g=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(h=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),f=function(e,t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status||0==n.status&&n.response?t(n.response):r()},n.onerror=r,n.send(null)};var E=o.print||console.log.bind(console),m=o.printErr||console.warn.bind(console);for(i in a)a.hasOwnProperty(i)&&(o[i]=a[i]);function y(e){y.shown||(y.shown={}),y.shown[e]||(y.shown[e]=1,m(e))}a=null,o.arguments&&o.arguments,Object.getOwnPropertyDescriptor(o,"arguments")||Object.defineProperty(o,"arguments",{configurable:!0,get:function(){me("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),o.thisProgram&&(s=o.thisProgram),Object.getOwnPropertyDescriptor(o,"thisProgram")||Object.defineProperty(o,"thisProgram",{configurable:!0,get:function(){me("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),o.quit&&(c=o.quit),Object.getOwnPropertyDescriptor(o,"quit")||Object.defineProperty(o,"quit",{configurable:!0,get:function(){me("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),B(void 0===o.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),B(void 0===o.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),B(void 0===o.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),B(void 0===o.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),B(void 0===o.read,"Module.read option was removed (modify read_ in JS)"),B(void 0===o.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),B(void 0===o.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),B(void 0===o.setWindowTitle,"Module.setWindowTitle option was removed (modify setWindowTitle in JS)"),B(void 0===o.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Object.getOwnPropertyDescriptor(o,"read")||Object.defineProperty(o,"read",{configurable:!0,get:function(){me("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"readAsync")||Object.defineProperty(o,"readAsync",{configurable:!0,get:function(){me("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"readBinary")||Object.defineProperty(o,"readBinary",{configurable:!0,get:function(){me("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),Object.getOwnPropertyDescriptor(o,"setWindowTitle")||Object.defineProperty(o,"setWindowTitle",{configurable:!0,get:function(){me("Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),B(!d,"shell environment detected but not enabled at build time. Add 'shell' to `-s ENVIRONMENT` to enable.");var v,w,C=0,_=function(e){C=e};o.wasmBinary&&(v=o.wasmBinary),Object.getOwnPropertyDescriptor(o,"wasmBinary")||Object.defineProperty(o,"wasmBinary",{configurable:!0,get:function(){me("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),o.noExitRuntime,Object.getOwnPropertyDescriptor(o,"noExitRuntime")||Object.defineProperty(o,"noExitRuntime",{configurable:!0,get:function(){me("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),"object"!==("undefined"==typeof WebAssembly?"undefined":I(WebAssembly))&&me("no native wasm support detected");var b=!1;function B(e,t){e||me("Assertion failed: "+t)}var D="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function T(e,t,r){for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.subarray&&D)return D.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if(224==(240&a)?a=(15&a)<<12|s<<6|c:(240!=(248&a)&&y("Invalid UTF-8 leading byte 0x"+a.toString(16)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),a=(7&a)<<18|s<<12|c<<6|63&e[t++]),a<65536)i+=String.fromCharCode(a);else{var A=a-65536;i+=String.fromCharCode(55296|A>>10,56320|1023&A)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i}function O(e,t){return e?T(F,e,t):""}function Q(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a);if(s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;s>=2097152&&y("Invalid Unicode code point 0x"+s.toString(16)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x1FFFFF)."),t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o}function P(e,t,r){return B("number"==typeof r,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),Q(e,F,t,r)}function M(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&e.charCodeAt(++r)),n<=127?++t:t+=n<=2047?2:n<=65535?3:4}return t}var S,k,F,x,N,U,j,L,H,G="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function X(e,t){B(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&N[n];)++n;if((r=n<<1)-e>32&&G)return G.decode(F.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var s=x[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i}function Y(e,t,r){if(B(t%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),B("number"==typeof r,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);x[t>>1]=a,t+=2}return x[t>>1]=0,t-n}function W(e){return 2*e.length}function V(e,t){B(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var r=0,n="";!(r>=t/4);){var o=U[e+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}function z(e,t,r){if(B(t%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),B("number"==typeof r,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i);if(U[t>>2]=a,(t+=4)+4>o)break}return U[t>>2]=0,t-n}function K(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t}function Z(e){var t=M(e)+1,r=sn(t);return r&&Q(e,k,r,t),r}function J(e,t){return e%t>0&&(e+=t-e%t),e}function q(e){S=e,o.HEAP8=k=new Int8Array(e),o.HEAP16=x=new Int16Array(e),o.HEAP32=U=new Int32Array(e),o.HEAPU8=F=new Uint8Array(e),o.HEAPU16=N=new Uint16Array(e),o.HEAPU32=j=new Uint32Array(e),o.HEAPF32=L=new Float32Array(e),o.HEAPF64=H=new Float64Array(e)}var $=5242880;o.TOTAL_STACK&&B($===o.TOTAL_STACK,"the stack size can no longer be determined at runtime");var ee,te=o.INITIAL_MEMORY||16777216;function re(){var e=un();B(!(3&e)),j[1+(e>>2)]=34821223,j[2+(e>>2)]=2310721022,U[0]=1668509029}function ne(){if(!b){var e=un(),t=j[1+(e>>2)],r=j[2+(e>>2)];34821223==t&&2310721022==r||me("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x"+r.toString(16)+" "+t.toString(16)),1668509029!==U[0]&&me("Runtime error: The application has corrupted its heap memory area (address zero)!")}}Object.getOwnPropertyDescriptor(o,"INITIAL_MEMORY")||Object.defineProperty(o,"INITIAL_MEMORY",{configurable:!0,get:function(){me("Module.INITIAL_MEMORY has been replaced with plain INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)")}}),B(te>=$,"INITIAL_MEMORY should be larger than TOTAL_STACK, was "+te+"! (TOTAL_STACK="+$+")"),B("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&void 0!==Int32Array.prototype.subarray&&void 0!==Int32Array.prototype.set,"JS engine does not provide full typed array support"),B(!o.wasmMemory,"Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"),B(16777216==te,"Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,115!==t[0]||99!==t[1])throw"Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)"}();var oe=[],ie=[],ae=[],se=[],ce=!1;function Ae(e){oe.unshift(e)}function ue(e){se.unshift(e)}B(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),B(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),B(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),B(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var le=0,de=null,ge=null,fe={};function he(e){for(var t=e;;){if(!fe[e])return e;e=t+Math.random()}}function pe(e){le++,o.monitorRunDependencies&&o.monitorRunDependencies(le),e?(B(!fe[e]),fe[e]=1,null===de&&"undefined"!=typeof setInterval&&(de=setInterval(function(){if(b)return clearInterval(de),void(de=null);var e=!1;for(var t in fe)e||(e=!0,m("still waiting on run dependencies:")),m("dependency: "+t);e&&m("(end of list)")},1e4))):m("warning: run dependency added without ID")}function Ee(e){if(le--,o.monitorRunDependencies&&o.monitorRunDependencies(le),e?(B(fe[e]),delete fe[e]):m("warning: run dependency removed without ID"),0==le&&(null!==de&&(clearInterval(de),de=null),ge)){var t=ge;ge=null,t()}}function me(e){o.onAbort&&o.onAbort(e),m(e+=""),b=!0;var t="abort("+e+") at "+function(){var e=function(){var e=new Error;if(!e.stack){try{throw new Error}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}();o.extraStackTrace&&(e+="\n"+o.extraStackTrace());return Re(e)}();e=t;var r=new WebAssembly.RuntimeError(e);throw n(r),r}o.preloadedImages={},o.preloadedAudios={};var ye,Ie,ve,we;function Ce(e){return e.startsWith("data:application/octet-stream;base64,")}function _e(e){return e.startsWith("file://")}function be(e,t){return function(){var r=e,n=t;return n=o.asm,B(ce,"native function `"+r+"` called before runtime initialization"),B(!0,"native function `"+r+"` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)"),n[e]||B(n[e],"exported native function `"+r+"` not found"),n[e].apply(null,arguments)}}function Be(e){try{if(e==ye&&v)return new Uint8Array(v);if(h)return h(e);throw"both async and sync fetching of the wasm failed"}catch(e){me(e)}}Ce(ye="selfie_segmentation_solution_wasm_bin.wasm")||(Ie=ye,ye=o.locateFile?o.locateFile(Ie,p):p+Ie);var De,Te={460976:function(){var e=!0;if(e){var t=Dr;if("function"!=typeof t)return void("undefined"!=typeof console&&console.error('Expected Emscripten global function "findCanvasEventTarget" not found. WebGL context creation may fail.'));Dr=function(e){if(0==e){if(o&&o.canvas)return o.canvas;if(o&&o.canvasCssSelector)return t(o.canvasCssSelector);"undefined"!=typeof console&&console.warn("Module properties canvas and canvasCssSelector not found during WebGL context creation.")}return t(e)},e=!1}},461761:function(){return"undefined"!=typeof wasmOffsetConverter}};function Oe(e,t){if(b)m("user callback triggered after application aborted. Ignoring.");else try{e()}catch(e){if(e instanceof wn)return;if("unwind"!==e)throw e&&"object"===I(e)&&e.stack&&m("exception thrown: "+[e,e.stack]),e}}function Qe(e,t){return setTimeout(function(){Oe(e)},t)}De=l?function(){var e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:function(){return performance.now()};var Pe={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Pe.mainLoop.scheduler=null,Pe.mainLoop.currentlyRunningMainloop++},resume:function(){Pe.mainLoop.currentlyRunningMainloop++;var e=Pe.mainLoop.timingMode,t=Pe.mainLoop.timingValue,r=Pe.mainLoop.func;Pe.mainLoop.func=null,function(e,t,r,n){B(!Pe.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Pe.mainLoop.func=e,Pe.mainLoop.arg=n;var i=Pe.mainLoop.currentlyRunningMainloop;function a(){return!(i<Pe.mainLoop.currentlyRunningMainloop)}Pe.mainLoop.running=!1,Pe.mainLoop.runner=function(){if(!b)if(Pe.mainLoop.queue.length>0){var t=Date.now(),r=Pe.mainLoop.queue.shift();if(r.func(r.arg),Pe.mainLoop.remainingBlockers){var n=Pe.mainLoop.remainingBlockers,i=n%1==0?n-1:Math.floor(n);r.counted?Pe.mainLoop.remainingBlockers=i:(i+=.5,Pe.mainLoop.remainingBlockers=(8*n+i)/9)}if(E('main loop blocker "'+r.name+'" took '+(Date.now()-t)+" ms"),Pe.mainLoop.updateStatus(),!a())return;setTimeout(Pe.mainLoop.runner,0)}else a()&&(Pe.mainLoop.currentFrameNumber=Pe.mainLoop.currentFrameNumber+1|0,1==Pe.mainLoop.timingMode&&Pe.mainLoop.timingValue>1&&Pe.mainLoop.currentFrameNumber%Pe.mainLoop.timingValue!=0?Pe.mainLoop.scheduler():(0==Pe.mainLoop.timingMode&&(Pe.mainLoop.tickStartTime=De()),Cr.newRenderingFrameStarted(),void 0!==Cr&&Cr.currentContext&&!Cr.currentContextIsProxied&&!Cr.currentContext.attributes.explicitSwapControl&&Cr.currentContext.GLctx.commit&&Cr.currentContext.GLctx.commit(),"timeout"===Pe.mainLoop.method&&o.ctx&&(y("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Pe.mainLoop.method=""),Pe.mainLoop.runIter(e),ne(),a()&&("object"===("undefined"==typeof SDL?"undefined":I(SDL))&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Pe.mainLoop.scheduler())))}}(r,0,0,Pe.mainLoop.arg),function(e,t){if(Pe.mainLoop.timingMode=e,Pe.mainLoop.timingValue=t,!Pe.mainLoop.func)return m("emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up."),1;if(Pe.mainLoop.running||(Pe.mainLoop.running=!0),0==e)Pe.mainLoop.scheduler=function(){var e=0|Math.max(0,Pe.mainLoop.tickStartTime+t-De());setTimeout(Pe.mainLoop.runner,e)},Pe.mainLoop.method="timeout";else if(1==e)Pe.mainLoop.scheduler=function(){Pe.requestAnimationFrame(Pe.mainLoop.runner)},Pe.mainLoop.method="rAF";else if(2==e){if("undefined"==typeof setImmediate){var r=[],n="setimmediate";addEventListener("message",function(e){e.data!==n&&e.data.target!==n||(e.stopPropagation(),r.shift()())},!0),setImmediate=function(e){r.push(e),u?(void 0===o.setImmediates&&(o.setImmediates=[]),o.setImmediates.push(e),postMessage({target:n})):postMessage(n,"*")}}Pe.mainLoop.scheduler=function(){setImmediate(Pe.mainLoop.runner)},Pe.mainLoop.method="immediate"}}(e,t),Pe.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var e=o.statusMessage||"Please wait...",t=Pe.mainLoop.remainingBlockers,r=Pe.mainLoop.expectedBlockers;t?t<r?o.setStatus(e+" ("+(r-t)+"/"+r+")"):o.setStatus(e):o.setStatus("")}},runIter:function(e){if(!b){if(o.preMainLoop)if(!1===o.preMainLoop())return;Oe(e),o.postMainLoop&&o.postMainLoop()}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init:function(){if(o.preloadPlugins||(o.preloadPlugins=[]),!Pe.initted){Pe.initted=!0;try{new Blob,Pe.hasBlobConstructor=!0}catch(e){Pe.hasBlobConstructor=!1,E("warning: no blob constructor, cannot create blobs with mimetypes")}Pe.BlobBuilder="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:Pe.hasBlobConstructor?null:E("warning: no BlobBuilder"),Pe.URLObject="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:void 0,o.noImageDecoding||void 0!==Pe.URLObject||(E("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var e={canHandle:function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,n){var i=null;if(Pe.hasBlobConstructor)try{(i=new Blob([e],{type:Pe.getMimetype(t)})).size!==e.length&&(i=new Blob([new Uint8Array(e).buffer],{type:Pe.getMimetype(t)}))}catch(e){y("Blob constructor present but fails: "+e+"; falling back to blob builder")}if(!i){var a=new Pe.BlobBuilder;a.append(new Uint8Array(e).buffer),i=a.getBlob()}var s=Pe.URLObject.createObjectURL(i);B("string"==typeof s,"createObjectURL must return a url as a string");var c=new Image;c.onload=function(){B(c.complete,"Image "+t+" could not be decoded");var n=document.createElement("canvas");n.width=c.width,n.height=c.height,n.getContext("2d").drawImage(c,0,0),o.preloadedImages[t]=n,Pe.URLObject.revokeObjectURL(s),r&&r(e)},c.onerror=function(e){E("Image "+s+" could not be decoded"),n&&n()},c.src=s}};o.preloadPlugins.push(e);var t={canHandle:function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,n){var i=!1;function a(n){i||(i=!0,o.preloadedAudios[t]=n,r&&r(e))}function s(){i||(i=!0,o.preloadedAudios[t]=new Audio,n&&n())}if(!Pe.hasBlobConstructor)return s();try{var c=new Blob([e],{type:Pe.getMimetype(t)})}catch(e){return s()}var A=Pe.URLObject.createObjectURL(c);B("string"==typeof A,"createObjectURL must return a url as a string");var u=new Audio;u.addEventListener("canplaythrough",function(){a(u)},!1),u.onerror=function(r){i||(E("warning: browser could not fully decode audio "+t+", trying slower base64 approach"),u.src="data:audio/x-"+t.substr(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,i=0;i<e.length;i++)for(n=n<<8|e[i],o+=8;o>=6;){var a=n>>o-6&63;o-=6,r+=t[a]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e),a(u))},u.src=A,Qe(function(){a(u)},1e4)}};o.preloadPlugins.push(t);var r=o.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),o.elementPointerLock&&r.addEventListener("click",function(e){!Pe.pointerLock&&o.canvas.requestPointerLock&&(o.canvas.requestPointerLock(),e.preventDefault())},!1))}},createContext:function(e,t,r,n){if(t&&o.ctx&&e==o.canvas)return o.ctx;var i,a;if(t){var s={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(n)for(var c in n)s[c]=n[c];void 0!==Cr&&(a=Cr.createContext(e,s))&&(i=Cr.getContext(a).GLctx)}else i=e.getContext("2d");return i?(r&&(t||B(void 0===Zr,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=i,t&&Cr.makeContextCurrent(a),o.useWebGL=t,Pe.moduleContextCreatedCallbacks.forEach(function(e){e()}),Pe.init()),i):null},destroyContext:function(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(e,t){Pe.lockPointer=e,Pe.resizeCanvas=t,void 0===Pe.lockPointer&&(Pe.lockPointer=!0),void 0===Pe.resizeCanvas&&(Pe.resizeCanvas=!1);var r=o.canvas;function n(){Pe.isFullscreen=!1;var e=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(r.exitFullscreen=Pe.exitFullscreen,Pe.lockPointer&&r.requestPointerLock(),Pe.isFullscreen=!0,Pe.resizeCanvas?Pe.setFullscreenCanvasSize():Pe.updateCanvasDimensions(r)):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),Pe.resizeCanvas?Pe.setWindowedCanvasSize():Pe.updateCanvasDimensions(r)),o.onFullScreen&&o.onFullScreen(Pe.isFullscreen),o.onFullscreen&&o.onFullscreen(Pe.isFullscreen)}Pe.fullscreenHandlersInstalled||(Pe.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var i=document.createElement("div");r.parentNode.insertBefore(i,r),i.appendChild(r),i.requestFullscreen=i.requestFullscreen||i.mozRequestFullScreen||i.msRequestFullscreen||(i.webkitRequestFullscreen?function(){i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(i.webkitRequestFullScreen?function(){i.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),i.requestFullscreen()},requestFullScreen:function(){me("Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)")},exitFullscreen:function(){return!!Pe.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){}).apply(document,[]),!0)},nextRAF:0,fakeRequestAnimationFrame:function(e){var t=Date.now();if(0===Pe.nextRAF)Pe.nextRAF=t+1e3/60;else for(;t+2>=Pe.nextRAF;)Pe.nextRAF+=1e3/60;var r=Math.max(Pe.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(e){"function"!=typeof requestAnimationFrame?(0,Pe.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)}),safeSetTimeout:function(e){return Qe(e)},safeRequestAnimationFrame:function(e){return Pe.requestAnimationFrame(function(){Oe(e)})},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Pe.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Pe.mouseMovementX=Pe.mouseMovementY=0:(Pe.mouseMovementX=Pe.getMovementX(e),Pe.mouseMovementY=Pe.getMovementY(e)),"undefined"!=typeof SDL?(Pe.mouseX=SDL.mouseX+Pe.mouseMovementX,Pe.mouseY=SDL.mouseY+Pe.mouseMovementY):(Pe.mouseX+=Pe.mouseMovementX,Pe.mouseY+=Pe.mouseMovementY);else{var t=o.canvas.getBoundingClientRect(),r=o.canvas.width,n=o.canvas.height,i=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if(B(void 0!==i&&void 0!==a,"Unable to retrieve scroll position, mouse positions likely broken."),"touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var s=e.touch;if(void 0===s)return;var c=s.pageX-(i+t.left),A=s.pageY-(a+t.top),u={x:c*=r/t.width,y:A*=n/t.height};if("touchstart"===e.type)Pe.lastTouches[s.identifier]=u,Pe.touches[s.identifier]=u;else if("touchend"===e.type||"touchmove"===e.type){var l=Pe.touches[s.identifier];l||(l=u),Pe.lastTouches[s.identifier]=l,Pe.touches[s.identifier]=u}return}var d=e.pageX-(i+t.left),g=e.pageY-(a+t.top);d*=r/t.width,g*=n/t.height,Pe.mouseMovementX=d-Pe.mouseX,Pe.mouseMovementY=g-Pe.mouseY,Pe.mouseX=d,Pe.mouseY=g}},resizeListeners:[],updateResizeListeners:function(){var e=o.canvas;Pe.resizeListeners.forEach(function(t){t(e.width,e.height)})},setCanvasSize:function(e,t,r){var n=o.canvas;Pe.updateCanvasDimensions(n,e,t),r||Pe.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=j[SDL.screen>>2];e|=8388608,U[SDL.screen>>2]=e}Pe.updateCanvasDimensions(o.canvas),Pe.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=j[SDL.screen>>2];e&=-8388609,U[SDL.screen>>2]=e}Pe.updateCanvasDimensions(o.canvas),Pe.updateResizeListeners()},updateCanvasDimensions:function(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var n=t,i=r;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(n/i<o.forcedAspectRatio?n=Math.round(i*o.forcedAspectRatio):i=Math.round(n/o.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var a=Math.min(screen.width/n,screen.height/i);n=Math.round(n*a),i=Math.round(i*a)}Pe.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=i&&(e.height=i),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(n!=t||i!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",i+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}};function Me(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var r=t.func;"number"==typeof r?void 0===t.arg?ee.get(r)():ee.get(r)(t.arg):r(void 0===t.arg?null:t.arg)}else t(o)}}function Re(e){return e.replace(/\b_Z[\w\d_]+/g,function(e){var t,r=(t=e,y("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t);return e===r?e:r+" ["+e+"]"})}function Se(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){U[this.ptr+4>>2]=e},this.get_type=function(){return U[this.ptr+4>>2]},this.set_destructor=function(e){U[this.ptr+8>>2]=e},this.get_destructor=function(){return U[this.ptr+8>>2]},this.set_refcount=function(e){U[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,k[this.ptr+12|0]=e},this.get_caught=function(){return 0!=k[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,k[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=k[this.ptr+13|0]},this.init=function(e,t){this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=U[this.ptr>>2];U[this.ptr>>2]=e+1},this.release_ref=function(){var e=U[this.ptr>>2];return U[this.ptr>>2]=e-1,B(e>0),1===e}}function ke(e){this.free=function(){an(this.ptr),this.ptr=0},this.set_base_ptr=function(e){U[this.ptr>>2]=e},this.get_base_ptr=function(){return U[this.ptr>>2]},this.set_adjusted_ptr=function(e){U[this.ptr+4>>2]=e},this.get_adjusted_ptr_addr=function(){return this.ptr+4},this.get_adjusted_ptr=function(){return U[this.ptr+4>>2]},this.get_exception_ptr=function(){if(In(this.get_exception_info().get_type()))return U[this.get_base_ptr()>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.get_base_ptr()},this.get_exception_info=function(){return new Se(this.get_base_ptr())},void 0===e?(this.ptr=sn(8),this.set_adjusted_ptr(0)):this.ptr=e}var Fe=[];var xe=0;function Ne(e){try{return an(new Se(e).ptr)}catch(e){m("exception during cxa_free_exception: "+e)}}function Ue(e){return U[cn()>>2]=e,e}var je={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),r="/"===e.substr(-1);return(e=je.normalizeArray(e.split("/").filter(function(e){return!!e}),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=je.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=je.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return je.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return je.normalize(e.join("/"))},join2:function(e,t){return je.normalize(e+"/"+t)}};function Le(){if("object"===("undefined"==typeof crypto?"undefined":I(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}if(l)try{var t=R("crypto");return function(){return t.randomBytes(1)[0]}}catch(e){}return function(){me("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")}}var He={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var n=r>=0?arguments[r]:ze.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,t="/"===n.charAt(0)}return(t?"/":"")+(e=je.normalizeArray(e.split("/").filter(function(e){return!!e}),!t).join("/"))||"."},relative:function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=He.resolve(e).substr(1),t=He.resolve(t).substr(1);for(var n=r(e.split("/")),o=r(t.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("/")}},Ge={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Ge.ttys[e]={input:[],output:[],ops:t},ze.registerDevice(e,Ge.stream_ops)},stream_ops:{open:function(e){var t=Ge.ttys[e.node.rdev];if(!t)throw new ze.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.flush(e.tty)},flush:function(e){e.tty.ops.flush(e.tty)},read:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.get_char)throw new ze.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new ze.ErrnoError(29)}if(void 0===s&&0===i)throw new ze.ErrnoError(6);if(null==s)break;i++,t[r+a]=s}return i&&(e.node.timestamp=Date.now()),i},write:function(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new ze.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new ze.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:function(e){if(!e.input.length){var t=null;if(l){var r=Buffer.alloc(256),n=0;try{n=nodeFS.readSync(process.stdin.fd,r,0,256,null)}catch(e){if(!e.toString().includes("EOF"))throw e;n=0}t=n>0?r.slice(0,n).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=nn(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(E(T(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(E(T(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(m(T(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(m(T(e.output,0)),e.output=[])}}};function Xe(e){e=function(e,t){return B(t,"alignment argument is required"),Math.ceil(e/t)*t}(e,65536);var t=vn(65536,e);return t?(function(e,t){F.fill(0,e,e+t)}(t,e),t):0}var Ye={ops_table:null,mount:function(e){return Ye.createNode(null,"/",16895,0)},createNode:function(e,t,r,n){if(ze.isBlkdev(r)||ze.isFIFO(r))throw new ze.ErrnoError(63);Ye.ops_table||(Ye.ops_table={dir:{node:{getattr:Ye.node_ops.getattr,setattr:Ye.node_ops.setattr,lookup:Ye.node_ops.lookup,mknod:Ye.node_ops.mknod,rename:Ye.node_ops.rename,unlink:Ye.node_ops.unlink,rmdir:Ye.node_ops.rmdir,readdir:Ye.node_ops.readdir,symlink:Ye.node_ops.symlink},stream:{llseek:Ye.stream_ops.llseek}},file:{node:{getattr:Ye.node_ops.getattr,setattr:Ye.node_ops.setattr},stream:{llseek:Ye.stream_ops.llseek,read:Ye.stream_ops.read,write:Ye.stream_ops.write,allocate:Ye.stream_ops.allocate,mmap:Ye.stream_ops.mmap,msync:Ye.stream_ops.msync}},link:{node:{getattr:Ye.node_ops.getattr,setattr:Ye.node_ops.setattr,readlink:Ye.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ye.node_ops.getattr,setattr:Ye.node_ops.setattr},stream:ze.chrdev_stream_ops}});var o=ze.createNode(e,t,r,n);return ze.isDir(o.mode)?(o.node_ops=Ye.ops_table.dir.node,o.stream_ops=Ye.ops_table.dir.stream,o.contents={}):ze.isFile(o.mode)?(o.node_ops=Ye.ops_table.file.node,o.stream_ops=Ye.ops_table.file.stream,o.usedBytes=0,o.contents=null):ze.isLink(o.mode)?(o.node_ops=Ye.ops_table.link.node,o.stream_ops=Ye.ops_table.link.stream):ze.isChrdev(o.mode)&&(o.node_ops=Ye.ops_table.chrdev.node,o.stream_ops=Ye.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=ze.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ze.isDir(e.mode)?t.size=4096:ze.isFile(e.mode)?t.size=e.usedBytes:ze.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Ye.resizeFileStorage(e,t.size)},lookup:function(e,t){throw ze.genericErrors[44]},mknod:function(e,t,r,n){return Ye.createNode(e,t,r,n)},rename:function(e,t,r){if(ze.isDir(e.mode)){var n;try{n=ze.lookupNode(t,r)}catch(e){}if(n)for(var o in n.contents)throw new ze.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var r=ze.lookupNode(e,t);for(var n in r.contents)throw new ze.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink:function(e,t,r){var n=Ye.createNode(e,t,41471,0);return n.link=r,n},readlink:function(e){if(!ze.isLink(e.mode))throw new ze.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);if(B(a>=0),a>8&&i.subarray)t.set(i.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=i[o+s];return a},write:function(e,t,r,n,o,i){if(B(!(t instanceof ArrayBuffer)),t.buffer===k.buffer&&(i=!1),!n)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return B(0===o,"canOwn must imply no weird position inside the file"),a.contents=t.subarray(r,r+n),a.usedBytes=n,n;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+n),a.usedBytes=n,n;if(o+n<=a.usedBytes)return a.contents.set(t.subarray(r,r+n),o),n}if(Ye.expandFileStorage(a,o+n),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+n),o);else for(var s=0;s<n;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+n),n},llseek:function(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&ze.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new ze.ErrnoError(28);return n},allocate:function(e,t,r){Ye.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap:function(e,t,r,n,o,i){if(0!==t)throw new ze.ErrnoError(28);if(!ze.isFile(e.node.mode))throw new ze.ErrnoError(43);var a,s,c=e.node.contents;if(2&i||c.buffer!==S){if((n>0||n+r<c.length)&&(c=c.subarray?c.subarray(n,n+r):Array.prototype.slice.call(c,n,n+r)),s=!0,!(a=Xe(r)))throw new ze.ErrnoError(48);k.set(c,a)}else s=!1,a=c.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,r,n,o){if(!ze.isFile(e.node.mode))throw new ze.ErrnoError(43);return 2&o||Ye.stream_ops.write(e,t,0,n,r,!1),0}}};var We={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},Ve={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},ze={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e,t){if(t=t||{},!(e=He.resolve(ze.cwd(),e)))return{path:"",node:null};var r={follow_mount:!0,recurse_count:0};for(var n in r)void 0===t[n]&&(t[n]=r[n]);if(t.recurse_count>8)throw new ze.ErrnoError(32);for(var o=je.normalizeArray(e.split("/").filter(function(e){return!!e}),!1),i=ze.root,a="/",s=0;s<o.length;s++){var c=s===o.length-1;if(c&&t.parent)break;if(i=ze.lookupNode(i,o[s]),a=je.join2(a,o[s]),ze.isMountpoint(i)&&(!c||c&&t.follow_mount)&&(i=i.mounted.root),!c||t.follow)for(var A=0;ze.isLink(i.mode);){var u=ze.readlink(a);if(a=He.resolve(je.dirname(a),u),i=ze.lookupPath(a,{recurse_count:t.recurse_count}).node,A++>40)throw new ze.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(ze.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?r+"/"+t:r+t:r}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var r=0,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%ze.nameTable.length},hashAddNode:function(e){var t=ze.hashName(e.parent.id,e.name);e.name_next=ze.nameTable[t],ze.nameTable[t]=e},hashRemoveNode:function(e){var t=ze.hashName(e.parent.id,e.name);if(ze.nameTable[t]===e)ze.nameTable[t]=e.name_next;else for(var r=ze.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:function(e,t){var r=ze.mayLookup(e);if(r)throw new ze.ErrnoError(r,e);for(var n=ze.hashName(e.id,t),o=ze.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return ze.lookup(e,t)},createNode:function(e,t,r,n){B("object"===I(e));var o=new ze.FSNode(e,t,r,n);return ze.hashAddNode(o),o},destroyNode:function(e){ze.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return!(49152&~e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=ze.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return ze.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=ze.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{ze.lookupNode(e,t);return 20}catch(e){}return ze.nodePermissions(e,"wx")},mayDelete:function(e,t,r){var n;try{n=ze.lookupNode(e,t)}catch(e){return e.errno}var o=ze.nodePermissions(e,"wx");if(o)return o;if(r){if(!ze.isDir(n.mode))return 54;if(ze.isRoot(n)||ze.getPath(n)===ze.cwd())return 10}else if(ze.isDir(n.mode))return 31;return 0},mayOpen:function(e,t){return e?ze.isLink(e.mode)?32:ze.isDir(e.mode)&&("r"!==ze.flagsToPermissionString(t)||512&t)?31:ze.nodePermissions(e,ze.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||ze.MAX_OPEN_FDS;for(var r=e;r<=t;r++)if(!ze.streams[r])return r;throw new ze.ErrnoError(33)},getStream:function(e){return ze.streams[e]},createStream:function(e,t,r){ze.FSStream||(ze.FSStream=function(){},ze.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var n=new ze.FSStream;for(var o in e)n[o]=e[o];e=n;var i=ze.nextfd(t,r);return e.fd=i,ze.streams[i]=e,e},closeStream:function(e){ze.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=ze.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new ze.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){ze.devices[e]={stream_ops:t}},getDevice:function(e){return ze.devices[e]},getMounts:function(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push.apply(r,n.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),ze.syncFSRequests++,ze.syncFSRequests>1&&m("warning: "+ze.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var r=ze.getMounts(ze.root.mount),n=0;function o(e){return B(ze.syncFSRequests>0),ze.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}r.forEach(function(t){if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)})},mount:function(e,t,r){if("string"==typeof e)throw e;var n,o="/"===r,i=!r;if(o&&ze.root)throw new ze.ErrnoError(10);if(!o&&!i){var a=ze.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,ze.isMountpoint(n))throw new ze.ErrnoError(10);if(!ze.isDir(n.mode))throw new ze.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?ze.root=c:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),c},unmount:function(e){var t=ze.lookupPath(e,{follow_mount:!1});if(!ze.isMountpoint(t.node))throw new ze.ErrnoError(28);var r=t.node,n=r.mounted,o=ze.getMounts(n);Object.keys(ze.nameTable).forEach(function(e){for(var t=ze.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&ze.destroyNode(t),t=r}}),r.mounted=null;var i=r.mount.mounts.indexOf(n);B(-1!==i),r.mount.mounts.splice(i,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,r){var n=ze.lookupPath(e,{parent:!0}).node,o=je.basename(e);if(!o||"."===o||".."===o)throw new ze.ErrnoError(28);var i=ze.mayCreate(n,o);if(i)throw new ze.ErrnoError(i);if(!n.node_ops.mknod)throw new ze.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,ze.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,ze.mknod(e,t,0)},mkdirTree:function(e,t){for(var r=e.split("/"),n="",o=0;o<r.length;++o)if(r[o]){n+="/"+r[o];try{ze.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:function(e,t,r){return void 0===r&&(r=t,t=438),t|=8192,ze.mknod(e,t,r)},symlink:function(e,t){if(!He.resolve(e))throw new ze.ErrnoError(44);var r=ze.lookupPath(t,{parent:!0}).node;if(!r)throw new ze.ErrnoError(44);var n=je.basename(t),o=ze.mayCreate(r,n);if(o)throw new ze.ErrnoError(o);if(!r.node_ops.symlink)throw new ze.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename:function(e,t){var r,n,o=je.dirname(e),i=je.dirname(t),a=je.basename(e),s=je.basename(t);if(r=ze.lookupPath(e,{parent:!0}).node,n=ze.lookupPath(t,{parent:!0}).node,!r||!n)throw new ze.ErrnoError(44);if(r.mount!==n.mount)throw new ze.ErrnoError(75);var c,A=ze.lookupNode(r,a),u=He.relative(e,i);if("."!==u.charAt(0))throw new ze.ErrnoError(28);if("."!==(u=He.relative(t,o)).charAt(0))throw new ze.ErrnoError(55);try{c=ze.lookupNode(n,s)}catch(e){}if(A!==c){var l=ze.isDir(A.mode),d=ze.mayDelete(r,a,l);if(d)throw new ze.ErrnoError(d);if(d=c?ze.mayDelete(n,s,l):ze.mayCreate(n,s))throw new ze.ErrnoError(d);if(!r.node_ops.rename)throw new ze.ErrnoError(63);if(ze.isMountpoint(A)||c&&ze.isMountpoint(c))throw new ze.ErrnoError(10);if(n!==r&&(d=ze.nodePermissions(r,"w")))throw new ze.ErrnoError(d);try{ze.trackingDelegate.willMovePath&&ze.trackingDelegate.willMovePath(e,t)}catch(r){m("FS.trackingDelegate['willMovePath']('"+e+"', '"+t+"') threw an exception: "+r.message)}ze.hashRemoveNode(A);try{r.node_ops.rename(A,n,s)}catch(e){throw e}finally{ze.hashAddNode(A)}try{ze.trackingDelegate.onMovePath&&ze.trackingDelegate.onMovePath(e,t)}catch(r){m("FS.trackingDelegate['onMovePath']('"+e+"', '"+t+"') threw an exception: "+r.message)}}},rmdir:function(e){var t=ze.lookupPath(e,{parent:!0}).node,r=je.basename(e),n=ze.lookupNode(t,r),o=ze.mayDelete(t,r,!0);if(o)throw new ze.ErrnoError(o);if(!t.node_ops.rmdir)throw new ze.ErrnoError(63);if(ze.isMountpoint(n))throw new ze.ErrnoError(10);try{ze.trackingDelegate.willDeletePath&&ze.trackingDelegate.willDeletePath(e)}catch(t){m("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+t.message)}t.node_ops.rmdir(t,r),ze.destroyNode(n);try{ze.trackingDelegate.onDeletePath&&ze.trackingDelegate.onDeletePath(e)}catch(t){m("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+t.message)}},readdir:function(e){var t=ze.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ze.ErrnoError(54);return t.node_ops.readdir(t)},unlink:function(e){var t=ze.lookupPath(e,{parent:!0}).node,r=je.basename(e),n=ze.lookupNode(t,r),o=ze.mayDelete(t,r,!1);if(o)throw new ze.ErrnoError(o);if(!t.node_ops.unlink)throw new ze.ErrnoError(63);if(ze.isMountpoint(n))throw new ze.ErrnoError(10);try{ze.trackingDelegate.willDeletePath&&ze.trackingDelegate.willDeletePath(e)}catch(t){m("FS.trackingDelegate['willDeletePath']('"+e+"') threw an exception: "+t.message)}t.node_ops.unlink(t,r),ze.destroyNode(n);try{ze.trackingDelegate.onDeletePath&&ze.trackingDelegate.onDeletePath(e)}catch(t){m("FS.trackingDelegate['onDeletePath']('"+e+"') threw an exception: "+t.message)}},readlink:function(e){var t=ze.lookupPath(e).node;if(!t)throw new ze.ErrnoError(44);if(!t.node_ops.readlink)throw new ze.ErrnoError(28);return He.resolve(ze.getPath(t.parent),t.node_ops.readlink(t))},stat:function(e,t){var r=ze.lookupPath(e,{follow:!t}).node;if(!r)throw new ze.ErrnoError(44);if(!r.node_ops.getattr)throw new ze.ErrnoError(63);return r.node_ops.getattr(r)},lstat:function(e){return ze.stat(e,!0)},chmod:function(e,t,r){var n;"string"==typeof e?n=ze.lookupPath(e,{follow:!r}).node:n=e;if(!n.node_ops.setattr)throw new ze.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&t|-4096&n.mode,timestamp:Date.now()})},lchmod:function(e,t){ze.chmod(e,t,!0)},fchmod:function(e,t){var r=ze.getStream(e);if(!r)throw new ze.ErrnoError(8);ze.chmod(r.node,t)},chown:function(e,t,r,n){var o;"string"==typeof e?o=ze.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new ze.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:function(e,t,r){ze.chown(e,t,r,!0)},fchown:function(e,t,r){var n=ze.getStream(e);if(!n)throw new ze.ErrnoError(8);ze.chown(n.node,t,r)},truncate:function(e,t){if(t<0)throw new ze.ErrnoError(28);var r;"string"==typeof e?r=ze.lookupPath(e,{follow:!0}).node:r=e;if(!r.node_ops.setattr)throw new ze.ErrnoError(63);if(ze.isDir(r.mode))throw new ze.ErrnoError(31);if(!ze.isFile(r.mode))throw new ze.ErrnoError(28);var n=ze.nodePermissions(r,"w");if(n)throw new ze.ErrnoError(n);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:function(e,t){var r=ze.getStream(e);if(!r)throw new ze.ErrnoError(8);if(!(2097155&r.flags))throw new ze.ErrnoError(28);ze.truncate(r.node,t)},utime:function(e,t,r){var n=ze.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(t,r)})},open:function(e,t,r,n,i){if(""===e)throw new ze.ErrnoError(44);var a;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?ze.modeStringToFlags(t):t)?4095&r|32768:0,"object"===I(e))a=e;else{e=je.normalize(e);try{a=ze.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var s=!1;if(64&t)if(a){if(128&t)throw new ze.ErrnoError(20)}else a=ze.mknod(e,r,0),s=!0;if(!a)throw new ze.ErrnoError(44);if(ze.isChrdev(a.mode)&&(t&=-513),65536&t&&!ze.isDir(a.mode))throw new ze.ErrnoError(54);if(!s){var c=ze.mayOpen(a,t);if(c)throw new ze.ErrnoError(c)}512&t&&ze.truncate(a,0),t&=-131713;var A=ze.createStream({node:a,path:ze.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1},n,i);A.stream_ops.open&&A.stream_ops.open(A),!o.logReadFiles||1&t||(ze.readFiles||(ze.readFiles={}),e in ze.readFiles||(ze.readFiles[e]=1,m("FS.trackingDelegate error on read file: "+e)));try{if(ze.trackingDelegate.onOpenFile){var u=0;1!=(2097155&t)&&(u|=ze.tracking.openFlags.READ),2097155&t&&(u|=ze.tracking.openFlags.WRITE),ze.trackingDelegate.onOpenFile(e,u)}}catch(t){m("FS.trackingDelegate['onOpenFile']('"+e+"', flags) threw an exception: "+t.message)}return A},close:function(e){if(ze.isClosed(e))throw new ze.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ze.closeStream(e.fd)}e.fd=null},isClosed:function(e){return null===e.fd},llseek:function(e,t,r){if(ze.isClosed(e))throw new ze.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ze.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ze.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:function(e,t,r,n,o){if(n<0||o<0)throw new ze.ErrnoError(28);if(ze.isClosed(e))throw new ze.ErrnoError(8);if(1==(2097155&e.flags))throw new ze.ErrnoError(8);if(ze.isDir(e.node.mode))throw new ze.ErrnoError(31);if(!e.stream_ops.read)throw new ze.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new ze.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=a),a},write:function(e,t,r,n,o,i){if(n<0||o<0)throw new ze.ErrnoError(28);if(ze.isClosed(e))throw new ze.ErrnoError(8);if(!(2097155&e.flags))throw new ze.ErrnoError(8);if(ze.isDir(e.node.mode))throw new ze.ErrnoError(31);if(!e.stream_ops.write)throw new ze.ErrnoError(28);e.seekable&&1024&e.flags&&ze.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new ze.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,n,o,i);a||(e.position+=s);try{e.path&&ze.trackingDelegate.onWriteToFile&&ze.trackingDelegate.onWriteToFile(e.path)}catch(t){m("FS.trackingDelegate['onWriteToFile']('"+e.path+"') threw an exception: "+t.message)}return s},allocate:function(e,t,r){if(ze.isClosed(e))throw new ze.ErrnoError(8);if(t<0||r<=0)throw new ze.ErrnoError(28);if(!(2097155&e.flags))throw new ze.ErrnoError(8);if(!ze.isFile(e.node.mode)&&!ze.isDir(e.node.mode))throw new ze.ErrnoError(43);if(!e.stream_ops.allocate)throw new ze.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:function(e,t,r,n,o,i){if(2&o&&!(2&i)&&2!=(2097155&e.flags))throw new ze.ErrnoError(2);if(1==(2097155&e.flags))throw new ze.ErrnoError(2);if(!e.stream_ops.mmap)throw new ze.ErrnoError(43);return e.stream_ops.mmap(e,t,r,n,o,i)},msync:function(e,t,r,n,o){return e&&e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0},munmap:function(e){return 0},ioctl:function(e,t,r){if(!e.stream_ops.ioctl)throw new ze.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e,t){if((t=t||{}).flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'+t.encoding+'"');var r,n=ze.open(e,t.flags),o=ze.stat(e).size,i=new Uint8Array(o);return ze.read(n,i,0,o,0),"utf8"===t.encoding?r=T(i,0):"binary"===t.encoding&&(r=i),ze.close(n),r},writeFile:function(e,t,r){(r=r||{}).flags=r.flags||577;var n=ze.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(M(t)+1),i=Q(t,o,0,o.length);ze.write(n,o,0,i,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ze.write(n,t,0,t.byteLength,void 0,r.canOwn)}ze.close(n)},cwd:function(){return ze.currentPath},chdir:function(e){var t=ze.lookupPath(e,{follow:!0});if(null===t.node)throw new ze.ErrnoError(44);if(!ze.isDir(t.node.mode))throw new ze.ErrnoError(54);var r=ze.nodePermissions(t.node,"x");if(r)throw new ze.ErrnoError(r);ze.currentPath=t.path},createDefaultDirectories:function(){ze.mkdir("/tmp"),ze.mkdir("/home"),ze.mkdir("/home/web_user")},createDefaultDevices:function(){ze.mkdir("/dev"),ze.registerDevice(ze.makedev(1,3),{read:function(){return 0},write:function(e,t,r,n,o){return n}}),ze.mkdev("/dev/null",ze.makedev(1,3)),Ge.register(ze.makedev(5,0),Ge.default_tty_ops),Ge.register(ze.makedev(6,0),Ge.default_tty1_ops),ze.mkdev("/dev/tty",ze.makedev(5,0)),ze.mkdev("/dev/tty1",ze.makedev(6,0));var e=Le();ze.createDevice("/dev","random",e),ze.createDevice("/dev","urandom",e),ze.mkdir("/dev/shm"),ze.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){ze.mkdir("/proc");var e=ze.mkdir("/proc/self");ze.mkdir("/proc/self/fd"),ze.mount({mount:function(){var t=ze.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var r=+t,n=ze.getStream(r);if(!n)throw new ze.ErrnoError(8);var o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return n.path}}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:function(){o.stdin?ze.createDevice("/dev","stdin",o.stdin):ze.symlink("/dev/tty","/dev/stdin"),o.stdout?ze.createDevice("/dev","stdout",null,o.stdout):ze.symlink("/dev/tty","/dev/stdout"),o.stderr?ze.createDevice("/dev","stderr",null,o.stderr):ze.symlink("/dev/tty1","/dev/stderr");var e=ze.open("/dev/stdin",0),t=ze.open("/dev/stdout",1),r=ze.open("/dev/stderr",1);B(0===e.fd,"invalid handle for stdin ("+e.fd+")"),B(1===t.fd,"invalid handle for stdout ("+t.fd+")"),B(2===r.fd,"invalid handle for stderr ("+r.fd+")")},ensureErrnoError:function(){ze.ErrnoError||(ze.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){for(var t in this.errno=e,Ve)if(Ve[t]===e){this.code=t;break}},this.setErrno(e),this.message=We[e],this.stack&&(Object.defineProperty(this,"stack",{value:(new Error).stack,writable:!0}),this.stack=Re(this.stack))},ze.ErrnoError.prototype=new Error,ze.ErrnoError.prototype.constructor=ze.ErrnoError,[44].forEach(function(e){ze.genericErrors[e]=new ze.ErrnoError(e),ze.genericErrors[e].stack="<generic error, no stack>"}))},staticInit:function(){ze.ensureErrnoError(),ze.nameTable=new Array(4096),ze.mount(Ye,{},"/"),ze.createDefaultDirectories(),ze.createDefaultDevices(),ze.createSpecialDirectories(),ze.filesystems={MEMFS:Ye}},init:function(e,t,r){B(!ze.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),ze.init.initialized=!0,ze.ensureErrnoError(),o.stdin=e||o.stdin,o.stdout=t||o.stdout,o.stderr=r||o.stderr,ze.createStandardStreams()},quit:function(){ze.init.initialized=!1;var e=o._fflush;e&&e(0);for(var t=0;t<ze.streams.length;t++){var r=ze.streams[t];r&&ze.close(r)}},getMode:function(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r},findObject:function(e,t){var r=ze.analyzePath(e,t);return r.exists?r.object:null},analyzePath:function(e,t){try{e=(n=ze.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=ze.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=je.basename(e),n=ze.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath:function(e,t,r,n){e="string"==typeof e?e:ze.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var a=je.join2(e,i);try{ze.mkdir(a)}catch(e){}e=a}}return a},createFile:function(e,t,r,n,o){var i=je.join2("string"==typeof e?e:ze.getPath(e),t),a=ze.getMode(n,o);return ze.create(i,a)},createDataFile:function(e,t,r,n,o,i){var a=t?je.join2("string"==typeof e?e:ze.getPath(e),t):e,s=ze.getMode(n,o),c=ze.create(a,s);if(r){if("string"==typeof r){for(var A=new Array(r.length),u=0,l=r.length;u<l;++u)A[u]=r.charCodeAt(u);r=A}ze.chmod(c,146|s);var d=ze.open(c,577);ze.write(d,r,0,r.length,0,i),ze.close(d),ze.chmod(c,s)}return c},createDevice:function(e,t,r,n){var o=je.join2("string"==typeof e?e:ze.getPath(e),t),i=ze.getMode(!!r,!!n);ze.createDevice.major||(ze.createDevice.major=64);var a=ze.makedev(ze.createDevice.major++,0);return ze.registerDevice(a,{open:function(e){e.seekable=!1},close:function(e){n&&n.buffer&&n.buffer.length&&n(10)},read:function(e,t,n,o,i){for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(e){throw new ze.ErrnoError(29)}if(void 0===c&&0===a)throw new ze.ErrnoError(6);if(null==c)break;a++,t[n+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:function(e,t,r,o,i){for(var a=0;a<o;a++)try{n(t[r+a])}catch(e){throw new ze.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),ze.mkdev(o,i,a)},forceLoadFile:function(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!g)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=nn(g(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new ze.ErrnoError(29)}},createLazyFile:function(e,t,r,n,o){function i(){this.lengthKnown=!1,this.chunks=[]}if(i.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var s=this;s.setDataGetter(function(e){var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>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="+e+"-"+t),"undefined"!=typeof Uint8Array&&(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||[]):nn(o.responseText||"",!0)}(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]}),!i&&n||(a=n=1,n=this.getter(0).length,a=n,E("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(!u)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=ze.createFile(e,t,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 A={};return Object.keys(c.stream_ops).forEach(function(e){var t=c.stream_ops[e];A[e]=function(){return ze.forceLoadFile(c),t.apply(null,arguments)}}),A.read=function(e,t,r,n,o){ze.forceLoadFile(c);var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(B(a>=0),i.slice)for(var s=0;s<a;s++)t[r+s]=i[o+s];else for(s=0;s<a;s++)t[r+s]=i.get(o+s);return a},c.stream_ops=A,c},createPreloadedFile:function(e,t,r,n,i,a,s,c,A,u){Pe.init();var l=t?He.resolve(je.join2(e,t)):e,d=he("cp "+l);function g(r){function g(r){u&&u(),c||ze.createDataFile(e,t,r,n,i,A),a&&a(),Ee(d)}var f=!1;o.preloadPlugins.forEach(function(e){f||e.canHandle(l)&&(e.handle(r,l,g,function(){s&&s(),Ee(d)}),f=!0)}),f||g(r)}pe(d),"string"==typeof r?function(e,t,r){var n=he("al "+e);f(e,function(r){B(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(r)),n&&Ee(n)},function(t){if(!r)throw'Loading data file "'+e+'" failed.';r()}),n&&pe(n)}(r,function(e){g(e)},s):g(r)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(e,t,r){t=t||function(){},r=r||function(){};var n=ze.indexedDB();try{var o=n.open(ze.DB_NAME(),ze.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=function(){E("creating db"),o.result.createObjectStore(ze.DB_STORE_NAME)},o.onsuccess=function(){var n=o.result.transaction([ze.DB_STORE_NAME],"readwrite"),i=n.objectStore(ze.DB_STORE_NAME),a=0,s=0,c=e.length;function A(){0==s?t():r()}e.forEach(function(e){var t=i.put(ze.analyzePath(e).object.contents,e);t.onsuccess=function(){++a+s==c&&A()},t.onerror=function(){s++,a+s==c&&A()}}),n.onerror=r},o.onerror=r},loadFilesFromDB:function(e,t,r){t=t||function(){},r=r||function(){};var n=ze.indexedDB();try{var o=n.open(ze.DB_NAME(),ze.DB_VERSION)}catch(e){return r(e)}o.onupgradeneeded=r,o.onsuccess=function(){var n=o.result;try{var i=n.transaction([ze.DB_STORE_NAME],"readonly")}catch(e){return void r(e)}var a=i.objectStore(ze.DB_STORE_NAME),s=0,c=0,A=e.length;function u(){0==c?t():r()}e.forEach(function(e){var t=a.get(e);t.onsuccess=function(){ze.analyzePath(e).exists&&ze.unlink(e),ze.createDataFile(je.dirname(e),je.basename(e),t.result,!0,!0,!0),++s+c==A&&u()},t.onerror=function(){c++,s+c==A&&u()}}),i.onerror=r},o.onerror=r},absolutePath:function(){me("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder:function(){me("FS.createFolder has been removed; use FS.mkdir instead")},createLink:function(){me("FS.createLink has been removed; use FS.symlink instead")},joinPath:function(){me("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc:function(){me("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath:function(){me("FS.standardizePath has been removed; use PATH.normalize instead")}},Ke={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(e,t,r){if("/"===t[0])return t;var n;if(-100===e)n=ze.cwd();else{var o=ze.getStream(e);if(!o)throw new ze.ErrnoError(8);n=o.path}if(0==t.length){if(!r)throw new ze.ErrnoError(44);return n}return je.join2(n,t)},doStat:function(e,t,r){try{var n=e(t)}catch(e){if(e&&e.node&&je.normalize(t)!==je.normalize(ze.getPath(e.node)))return-54;throw e}return U[r>>2]=n.dev,U[r+4>>2]=0,U[r+8>>2]=n.ino,U[r+12>>2]=n.mode,U[r+16>>2]=n.nlink,U[r+20>>2]=n.uid,U[r+24>>2]=n.gid,U[r+28>>2]=n.rdev,U[r+32>>2]=0,we=[n.size>>>0,(ve=n.size,+Math.abs(ve)>=1?ve>0?(0|Math.min(+Math.floor(ve/4294967296),4294967295))>>>0:~~+Math.ceil((ve-+(~~ve>>>0))/4294967296)>>>0:0)],U[r+40>>2]=we[0],U[r+44>>2]=we[1],U[r+48>>2]=4096,U[r+52>>2]=n.blocks,U[r+56>>2]=n.atime.getTime()/1e3|0,U[r+60>>2]=0,U[r+64>>2]=n.mtime.getTime()/1e3|0,U[r+68>>2]=0,U[r+72>>2]=n.ctime.getTime()/1e3|0,U[r+76>>2]=0,we=[n.ino>>>0,(ve=n.ino,+Math.abs(ve)>=1?ve>0?(0|Math.min(+Math.floor(ve/4294967296),4294967295))>>>0:~~+Math.ceil((ve-+(~~ve>>>0))/4294967296)>>>0:0)],U[r+80>>2]=we[0],U[r+84>>2]=we[1],0},doMsync:function(e,t,r,n,o){var i=F.slice(e,e+r);ze.msync(t,i,o,r,n)},doMkdir:function(e,t){return"/"===(e=je.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),ze.mkdir(e,t,0),0},doMknod:function(e,t,r){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return ze.mknod(e,t,r),0},doReadlink:function(e,t,r){if(r<=0)return-28;var n=ze.readlink(e),o=Math.min(r,M(n)),i=k[t+o];return P(n,t,r+1),k[t+o]=i,o},doAccess:function(e,t){if(-8&t)return-28;var r;if(!(r=ze.lookupPath(e,{follow:!0}).node))return-44;var n="";return 4&t&&(n+="r"),2&t&&(n+="w"),1&t&&(n+="x"),n&&ze.nodePermissions(r,n)?-2:0},doDup:function(e,t,r){var n=ze.getStream(r);return n&&ze.close(n),ze.open(e,t,0,r,r).fd},doReadv:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=U[t+8*i>>2],s=U[t+(8*i+4)>>2],c=ze.read(e,k,a,s,n);if(c<0)return-1;if(o+=c,c<s)break}return o},doWritev:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=U[t+8*i>>2],s=U[t+(8*i+4)>>2],c=ze.write(e,k,a,s,n);if(c<0)return-1;o+=c}return o},varargs:void 0,get:function(){return B(null!=Ke.varargs),Ke.varargs+=4,U[Ke.varargs-4>>2]},getStr:function(e){return O(e)},getStreamFromFD:function(e){var t=ze.getStream(e);if(!t)throw new ze.ErrnoError(8);return t},get64:function(e,t){return B(e>=0?0===t:-1===t),e}};function Ze(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_"+e:e}function Je(e,t){return e=Ze(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}var qe=[],$e=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function et(){for(var e=0,t=5;t<$e.length;++t)void 0!==$e[t]&&++e;return e}function tt(){for(var e=5;e<$e.length;++e)if(void 0!==$e[e])return $e[e];return null}function rt(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var t=qe.length?qe.pop():$e.length;return $e[t]={refcount:1,value:e},t}}function nt(e,t){var r=Je(t,function(e){this.name=t,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))});return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},r}var ot=void 0;var it=void 0;function at(e){for(var t="",r=e;F[r];)t+=it[F[r++]];return t}function st(){return Object.keys(gt).length}function ct(){var e=[];for(var t in gt)gt.hasOwnProperty(t)&&e.push(gt[t]);return e}var At=[];function ut(){for(;At.length;){var e=At.pop();e.$$.deleteScheduled=!1,e.delete()}}var lt=void 0;function dt(e){lt=e,At.length&&lt&&lt(ut)}var gt={},ft=void 0;function ht(e){throw new ft(e)}function pt(e,t){for(void 0===t&&ht("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function Et(e){return e||ht("Cannot use deleted val. handle = "+e),$e[e].value}var mt={};function yt(e){var t=An(e),r=at(t);return an(t),r}function It(e,t){var r=mt[e];return void 0===r&&ht(t+" has unknown type "+yt(e)),r}function vt(e){}var wt=!1;function Ct(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)}function _t(e){return"undefined"==typeof FinalizationGroup?(_t=function(e){return e},e):(wt=new FinalizationGroup(function(e){for(var t=e.next();!t.done;t=e.next()){var r=t.value;r.ptr?Ct(r):console.warn("object already deleted: "+r.ptr)}}),vt=function(e){wt.unregister(e.$$)},(_t=function(e){return wt.register(e,e.$$,e.$$),e})(e))}var bt={};function Bt(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Dt(e){return this.fromWireType(j[e>>2])}var Tt={},Ot={},Qt=void 0;function Pt(e){throw new Qt(e)}function Mt(e,t,r){function n(t){var n=r(t);n.length!==e.length&&Pt("Mismatched type converter count");for(var o=0;o<e.length;++o)St(e[o],n[o])}e.forEach(function(e){Ot[e]=t});var o=new Array(t.length),i=[],a=0;t.forEach(function(e,t){mt.hasOwnProperty(e)?o[t]=mt[e]:(i.push(e),Tt.hasOwnProperty(e)||(Tt[e]=[]),Tt[e].push(function(){o[t]=mt[e],++a===i.length&&n(o)}))}),0===i.length&&n(o)}function Rt(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}function St(e,t,r){if(r=r||{},!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var n=t.name;if(e||ht('type "'+n+'" must have a positive integer typeid pointer'),mt.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;ht("Cannot register type '"+n+"' twice")}if(mt[e]=t,delete Ot[e],Tt.hasOwnProperty(e)){var o=Tt[e];delete Tt[e],o.forEach(function(e){e()})}}function kt(e){if(!(this instanceof Lt))return!1;if(!(e instanceof Lt))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o}function Ft(e){ht(e.$$.ptrType.registeredClass.name+" instance already deleted")}function xt(){if(this.$$.ptr||Ft(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=_t(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t}function Nt(){this.$$.ptr||Ft(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ht("Object already scheduled for deletion"),vt(this),Ct(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function Ut(){return!this.$$.ptr}function jt(){return this.$$.ptr||Ft(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ht("Object already scheduled for deletion"),At.push(this),1===At.length&&lt&&lt(ut),this.$$.deleteScheduled=!0,this}function Lt(){}var Ht={};function Gt(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||ht("Function '"+r+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}}function Xt(e,t,r){o.hasOwnProperty(e)?((void 0===r||void 0!==o[e].overloadTable&&void 0!==o[e].overloadTable[r])&&ht("Cannot register public name '"+e+"' twice"),Gt(o,e,e),o.hasOwnProperty(r)&&ht("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),o[e].overloadTable[r]=t):(o[e]=t,void 0!==r&&(o[e].numArguments=r))}function Yt(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Wt(e,t,r){for(;t!==r;)t.upcast||ht("Expected null or instance of "+r.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function Vt(e,t){if(null===t)return this.isReference&&ht("null is not a valid "+this.name),0;t.$$||ht('Cannot pass "'+gr(t)+'" as a '+this.name),t.$$.ptr||ht("Cannot pass deleted object as a pointer of type "+this.name);var r=t.$$.ptrType.registeredClass;return Wt(t.$$.ptr,r,this.registeredClass)}function zt(e,t){var r;if(null===t)return this.isReference&&ht("null is not a valid "+this.name),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||ht('Cannot pass "'+gr(t)+'" as a '+this.name),t.$$.ptr||ht("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&ht("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;if(r=Wt(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ht("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:ht("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,rt(function(){o.delete()})),null!==e&&e.push(this.rawDestructor,r)}break;default:ht("Unsupporting sharing policy")}return r}function Kt(e,t){if(null===t)return this.isReference&&ht("null is not a valid "+this.name),0;t.$$||ht('Cannot pass "'+gr(t)+'" as a '+this.name),t.$$.ptr||ht("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&ht("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;return Wt(t.$$.ptr,r,this.registeredClass)}function Zt(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function Jt(e){this.rawDestructor&&this.rawDestructor(e)}function qt(e){null!==e&&e.delete()}function $t(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=$t(e,t,r.baseClass);return null===n?null:r.downcast(n)}function er(e,t){return t.ptrType&&t.ptr||Pt("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&Pt("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_t(Object.create(e,{$$:{value:t}}))}function tr(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=pt(e,t),gt[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?er(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):er(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=Ht[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=$t(t,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?er(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:e}):er(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})}function rr(e,t,r,n,o,i,a,s,c,A,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=A,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=zt:n?(this.toWireType=Vt,this.destructorFunction=null):(this.toWireType=Kt,this.destructorFunction=null)}function nr(e,t,r){o.hasOwnProperty(e)||Pt("Replacing nonexistant public symbol"),void 0!==o[e].overloadTable&&void 0!==r?o[e].overloadTable[r]=t:(o[e]=t,o[e].argCount=r)}function or(e,t,r){return e.includes("j")?function(e,t,r){B("dynCall_"+e in o,"bad function pointer type - no table for sig '"+e+"'"),r&&r.length?B(r.length===e.substring(1).replace(/j/g,"--").length):B(1==e.length);var n=o["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)}(e,t,r):(B(ee.get(t),"missing table entry in dynCall: "+t),ee.get(t).apply(null,r))}function ir(e,t){var r=(e=at(e)).includes("j")?function(e,t){B(e.includes("j"),"getDynCaller should only be called with i64 sigs");var r=[];return function(){r.length=arguments.length;for(var n=0;n<arguments.length;n++)r[n]=arguments[n];return or(e,t,r)}}(e,t):ee.get(t);return"function"!=typeof r&&ht("unknown function pointer with signature "+e+": "+t),r}var ar=void 0;function sr(e,t){var r=[],n={};throw t.forEach(function e(t){n[t]||mt[t]||(Ot[t]?Ot[t].forEach(e):(r.push(t),n[t]=!0))}),new ar(e+": "+r.map(yt).join([", "]))}function cr(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+I(e)+" which is not a function");var r=Je(e.name||"unknownFunctionName",function(){});r.prototype=e.prototype;var n=new r,o=e.apply(n,t);return o instanceof Object?o:n}function Ar(e,t,r,n,o){var i=t.length;i<2&&ht("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var a=null!==t[1]&&null!==r,s=!1,c=1;c<t.length;++c)if(null!==t[c]&&void 0===t[c].destructorFunction){s=!0;break}var A="void"!==t[0].name,u="",l="";for(c=0;c<i-2;++c)u+=(0!==c?", ":"")+"arg"+c,l+=(0!==c?", ":"")+"arg"+c+"Wired";var d="return function "+Ze(e)+"("+u+") {\nif (arguments.length !== "+(i-2)+") {\nthrowBindingError('function "+e+" called with ' + arguments.length + ' arguments, expected "+(i-2)+" args!');\n}\n";s&&(d+="var destructors = [];\n");var g=s?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],h=[ht,n,o,Bt,t[0],t[1]];a&&(d+="var thisWired = classParam.toWireType("+g+", this);\n");for(c=0;c<i-2;++c)d+="var arg"+c+"Wired = argType"+c+".toWireType("+g+", arg"+c+"); // "+t[c+2].name+"\n",f.push("argType"+c),h.push(t[c+2]);if(a&&(l="thisWired"+(l.length>0?", ":"")+l),d+=(A?"var rv = ":"")+"invoker(fn"+(l.length>0?", ":"")+l+");\n",s)d+="runDestructors(destructors);\n";else for(c=a?1:2;c<t.length;++c){var p=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==t[c].destructorFunction&&(d+=p+"_dtor("+p+"); // "+t[c].name+"\n",f.push(p+"_dtor"),h.push(t[c].destructorFunction))}return A&&(d+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),d+="}\n",f.push(d),cr(Function,f).apply(null,h)}function ur(e,t){for(var r=[],n=0;n<e;n++)r.push(U[(t>>2)+n]);return r}function lr(e,t,r){return e instanceof Object||ht(r+' with invalid "this": '+e),e instanceof t.registeredClass.constructor||ht(r+' incompatible with "this" of type '+e.constructor.name),e.$$.ptr||ht("cannot call emscripten binding method "+r+" on deleted object"),Wt(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)}function dr(e){e>4&&0===--$e[e].refcount&&($e[e]=void 0,qe.push(e))}function gr(e){if(null===e)return"null";var t=I(e);return"object"===t||"array"===t||"function"===t?e.toString():""+e}function fr(e,t){switch(t){case 2:return function(e){return this.fromWireType(L[e>>2])};case 3:return function(e){return this.fromWireType(H[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function hr(e,t,r){switch(t){case 0:return r?function(e){return k[e]}:function(e){return F[e]};case 1:return r?function(e){return x[e>>1]}:function(e){return N[e>>1]};case 2:return r?function(e){return U[e>>2]}:function(e){return j[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var pr={};var Er=[];var mr=[];function yr(e){try{return w.grow(e-S.byteLength+65535>>>16),q(w.buffer),1}catch(t){m("emscripten_realloc_buffer: Attempted to grow heap from "+S.byteLength+" bytes to "+e+" bytes, but got error: "+t)}}function Ir(e){me("Cannot use emscripten_generate_pc (needed by __builtin_return_address) without -s USE_OFFSET_CONVERTER")}var vr={};function wr(e){e.forEach(function(e){var t=Ir();t&&(vr[t]=e)})}var Cr={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){Cr.lastError||(Cr.lastError=e)},getNewId:function(e){for(var t=Cr.counter++,r=e.length;r<t;r++)e[r]=null;return t},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:function(e){return 32-Math.clz32(0===e?0:e-1)},generateTempBuffers:function(e,t){var r=Cr.log2ceilLookup(Cr.MAX_TEMP_BUFFER_SIZE);t.tempVertexBufferCounters1=[],t.tempVertexBufferCounters2=[],t.tempVertexBufferCounters1.length=t.tempVertexBufferCounters2.length=r+1,t.tempVertexBuffers1=[],t.tempVertexBuffers2=[],t.tempVertexBuffers1.length=t.tempVertexBuffers2.length=r+1,t.tempIndexBuffers=[],t.tempIndexBuffers.length=r+1;for(var n=0;n<=r;++n){t.tempIndexBuffers[n]=null,t.tempVertexBufferCounters1[n]=t.tempVertexBufferCounters2[n]=0;var o=Cr.numTempVertexBuffersPerSize;t.tempVertexBuffers1[n]=[],t.tempVertexBuffers2[n]=[];var i=t.tempVertexBuffers1[n],a=t.tempVertexBuffers2[n];i.length=a.length=o;for(var s=0;s<o;++s)i[s]=a[s]=null}if(e){t.tempQuadIndexBuffer=Zr.createBuffer(),t.GLctx.bindBuffer(34963,t.tempQuadIndexBuffer);for(var c=Cr.MAX_TEMP_BUFFER_SIZE>>1,A=new Uint16Array(c),u=(n=0,0);!(A[n++]=u,n>=c||(A[n++]=u+1,n>=c)||(A[n++]=u+2,n>=c)||(A[n++]=u,n>=c)||(A[n++]=u+2,n>=c)||(A[n++]=u+3,n>=c));)u+=4;t.GLctx.bufferData(34963,A,35044),t.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:function(e){var t=Cr.log2ceilLookup(e),r=Cr.currentContext.tempVertexBuffers1[t],n=Cr.currentContext.tempVertexBufferCounters1[t];Cr.currentContext.tempVertexBufferCounters1[t]=Cr.currentContext.tempVertexBufferCounters1[t]+1&Cr.numTempVertexBuffersPerSize-1;var o=r[n];if(o)return o;var i=Zr.getParameter(34964);return r[n]=Zr.createBuffer(),Zr.bindBuffer(34962,r[n]),Zr.bufferData(34962,1<<t,35048),Zr.bindBuffer(34962,i),r[n]},getTempIndexBuffer:function(e){var t=Cr.log2ceilLookup(e),r=Cr.currentContext.tempIndexBuffers[t];if(r)return r;var n=Zr.getParameter(34965);return Cr.currentContext.tempIndexBuffers[t]=Zr.createBuffer(),Zr.bindBuffer(34963,Cr.currentContext.tempIndexBuffers[t]),Zr.bufferData(34963,1<<t,35048),Zr.bindBuffer(34963,n),Cr.currentContext.tempIndexBuffers[t]},newRenderingFrameStarted:function(){if(Cr.currentContext){var e=Cr.currentContext.tempVertexBuffers1;Cr.currentContext.tempVertexBuffers1=Cr.currentContext.tempVertexBuffers2,Cr.currentContext.tempVertexBuffers2=e,e=Cr.currentContext.tempVertexBufferCounters1,Cr.currentContext.tempVertexBufferCounters1=Cr.currentContext.tempVertexBufferCounters2,Cr.currentContext.tempVertexBufferCounters2=e;for(var t=Cr.log2ceilLookup(Cr.MAX_TEMP_BUFFER_SIZE),r=0;r<=t;++r)Cr.currentContext.tempVertexBufferCounters1[r]=0}},getSource:function(e,t,r,n){for(var o="",i=0;i<t;++i){var a=n?U[n+4*i>>2]:-1;o+=O(U[r+4*i>>2],a<0?void 0:a)}return o},calcBufLength:function(e,t,r,n){return r>0?n*r:e*Cr.byteSizeByType[t-Cr.byteSizeByTypeRoot]*n},usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:function(e){Cr.resetBufferBinding=!1;for(var t=0;t<Cr.currentContext.maxVertexAttribs;++t){var r=Cr.currentContext.clientBuffers[t];if(r.clientside&&r.enabled){Cr.resetBufferBinding=!0;var n=Cr.calcBufLength(r.size,r.type,r.stride,e),o=Cr.getTempVertexBuffer(n);Zr.bindBuffer(34962,o),Zr.bufferSubData(34962,0,F.subarray(r.ptr,r.ptr+n)),r.vertexAttribPointerAdaptor.call(Zr,t,r.size,r.type,r.normalized,r.stride,0)}}},postDrawHandleClientVertexAttribBindings:function(){Cr.resetBufferBinding&&Zr.bindBuffer(34962,Cr.buffers[Zr.currentArrayBufferBinding])},createContext:function(e,t){t.renderViaOffscreenBackBuffer&&(t.preserveDrawingBuffer=!0);var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?Cr.registerContext(r,t):0},enableOffscreenFramebufferAttributes:function(e){e.renderViaOffscreenBackBuffer=!0,e.preserveDrawingBuffer=!0},createOffscreenFramebuffer:function(e){var t=e.GLctx,r=t.createFramebuffer();if(t.bindFramebuffer(36160,r),e.defaultFbo=r,e.defaultFboForbidBlitFramebuffer=!1,t.getContextAttributes().antialias)e.defaultFboForbidBlitFramebuffer=!0;else{var n=navigator.userAgent.toLowerCase().match(/firefox\/(\d\d)/);if(null!=n){var o=n[1];e.defaultFboForbidBlitFramebuffer=o<67}}e.defaultColorTarget=t.createTexture(),e.defaultDepthTarget=t.createRenderbuffer(),Cr.resizeOffscreenFramebuffer(e),t.bindTexture(3553,e.defaultColorTarget),t.texParameteri(3553,10241,9728),t.texParameteri(3553,10240,9728),t.texParameteri(3553,10242,33071),t.texParameteri(3553,10243,33071),t.texImage2D(3553,0,6408,t.canvas.width,t.canvas.height,0,6408,5121,null),t.framebufferTexture2D(36160,36064,3553,e.defaultColorTarget,0),t.bindTexture(3553,null),t.createRenderbuffer(),t.bindRenderbuffer(36161,e.defaultDepthTarget),t.renderbufferStorage(36161,33189,t.canvas.width,t.canvas.height),t.framebufferRenderbuffer(36160,36096,36161,e.defaultDepthTarget),t.bindRenderbuffer(36161,null);var i=t.createBuffer();t.bindBuffer(34962,i),t.bufferData(34962,new Float32Array([-1,-1,-1,1,1,-1,1,1]),35044),t.bindBuffer(34962,null),e.blitVB=i;var a=t.createShader(35633);t.shaderSource(a,"attribute vec2 pos;varying lowp vec2 tex;void main() { tex = pos * 0.5 + vec2(0.5,0.5); gl_Position = vec4(pos, 0.0, 1.0); }"),t.compileShader(a);var s=t.createShader(35632);t.shaderSource(s,"varying lowp vec2 tex;uniform sampler2D sampler;void main() { gl_FragColor = texture2D(sampler, tex); }"),t.compileShader(s);var c=t.createProgram();t.attachShader(c,a),t.attachShader(c,s),t.linkProgram(c),e.blitProgram=c,e.blitPosLoc=t.getAttribLocation(c,"pos"),t.useProgram(c),t.uniform1i(t.getUniformLocation(c,"sampler"),0),t.useProgram(null),e.defaultVao=void 0,t.createVertexArray&&(e.defaultVao=t.createVertexArray(),t.bindVertexArray(e.defaultVao),t.enableVertexAttribArray(e.blitPosLoc),t.bindVertexArray(null))},resizeOffscreenFramebuffer:function(e){var t=e.GLctx;if(e.defaultColorTarget){var r=t.getParameter(32873);t.bindTexture(3553,e.defaultColorTarget),t.texImage2D(3553,0,6408,t.drawingBufferWidth,t.drawingBufferHeight,0,6408,5121,null),t.bindTexture(3553,r)}if(e.defaultDepthTarget){var n=t.getParameter(36007);t.bindRenderbuffer(36161,e.defaultDepthTarget),t.renderbufferStorage(36161,33189,t.drawingBufferWidth,t.drawingBufferHeight),t.bindRenderbuffer(36161,n)}},blitOffscreenFramebuffer:function(e){var t=e.GLctx,r=t.getParameter(3089);r&&t.disable(3089);var n=t.getParameter(36006);if(t.blitFramebuffer&&!e.defaultFboForbidBlitFramebuffer)t.bindFramebuffer(36008,e.defaultFbo),t.bindFramebuffer(36009,null),t.blitFramebuffer(0,0,t.canvas.width,t.canvas.height,0,0,t.canvas.width,t.canvas.height,16384,9728);else{var o=function(){t.vertexAttribPointer(e.blitPosLoc,2,5126,!1,0,0),t.drawArrays(5,0,4)};t.bindFramebuffer(36160,null);var i=t.getParameter(35725);t.useProgram(e.blitProgram);var a=t.getParameter(34964);t.bindBuffer(34962,e.blitVB);var s=t.getParameter(34016);t.activeTexture(33984);var c=t.getParameter(32873);t.bindTexture(3553,e.defaultColorTarget);var A=t.getParameter(3042);A&&t.disable(3042);var u=t.getParameter(2884);u&&t.disable(2884);var l=t.getParameter(2929);l&&t.disable(2929);var d=t.getParameter(2960);if(d&&t.disable(2960),e.defaultVao){var g=t.getParameter(34229);t.bindVertexArray(e.defaultVao),o(),t.bindVertexArray(g)}else{for(var f={buffer:t.getVertexAttrib(e.blitPosLoc,34975),size:t.getVertexAttrib(e.blitPosLoc,34339),stride:t.getVertexAttrib(e.blitPosLoc,34340),type:t.getVertexAttrib(e.blitPosLoc,34341),normalized:t.getVertexAttrib(e.blitPosLoc,34922),pointer:t.getVertexAttribOffset(e.blitPosLoc,34373)},h=t.getParameter(34921),p=[],E=0;E<h;++E){var m=t.getVertexAttrib(E,34338),y=E==e.blitPosLoc;m&&!y&&t.disableVertexAttribArray(E),!m&&y&&t.enableVertexAttribArray(E),p[E]=m}o();for(E=0;E<h;++E){m=p[E];var I=E==e.blitPosLoc;m&&!I&&t.enableVertexAttribArray(E),!m&&I&&t.disableVertexAttribArray(E)}t.bindBuffer(34962,f.buffer),t.vertexAttribPointer(e.blitPosLoc,f.size,f.type,f.normalized,f.stride,f.offset)}d&&t.enable(2960),l&&t.enable(2929),u&&t.enable(2884),A&&t.enable(3042),t.bindTexture(3553,c),t.activeTexture(s),t.bindBuffer(34962,a),t.useProgram(i)}t.bindFramebuffer(36160,n),r&&t.enable(3089)},registerContext:function(e,t){var r=Cr.getNewId(Cr.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=n),Cr.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&Cr.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var o=0;o<n.maxVertexAttribs;o++)n.clientBuffers[o]={enabled:!1,clientside:!1,size:0,type:0,normalized:0,stride:0,ptr:0,vertexAttribPointerAdaptor:null};return Cr.generateTempBuffers(!1,n),t.renderViaOffscreenBackBuffer&&Cr.createOffscreenFramebuffer(n),r},makeContextCurrent:function(e){return Cr.currentContext=Cr.contexts[e],o.ctx=Zr=Cr.currentContext&&Cr.currentContext.GLctx,!(e&&!Zr)},getContext:function(e){return Cr.contexts[e]},deleteContext:function(e){Cr.currentContext===Cr.contexts[e]&&(Cr.currentContext=null),"object"===I(_r)&&_r.removeAllHandlersOnTarget(Cr.contexts[e].GLctx.canvas),Cr.contexts[e]&&Cr.contexts[e].GLctx.canvas&&(Cr.contexts[e].GLctx.canvas.GLctxObject=void 0),Cr.contexts[e]=null},initExtensions:function(e){if(e||(e=Cr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t,r=e.GLctx;!function(e){var t=e.getExtension("ANGLE_instanced_arrays");if(t)e.vertexAttribDivisor=function(e,r){t.vertexAttribDivisorANGLE(e,r)},e.drawArraysInstanced=function(e,r,n,o){t.drawArraysInstancedANGLE(e,r,n,o)},e.drawElementsInstanced=function(e,r,n,o,i){t.drawElementsInstancedANGLE(e,r,n,o,i)}}(r),function(e){var t=e.getExtension("OES_vertex_array_object");if(t)e.createVertexArray=function(){return t.createVertexArrayOES()},e.deleteVertexArray=function(e){t.deleteVertexArrayOES(e)},e.bindVertexArray=function(e){t.bindVertexArrayOES(e)},e.isVertexArray=function(e){return t.isVertexArrayOES(e)}}(r),function(e){var t=e.getExtension("WEBGL_draw_buffers");if(t)e.drawBuffers=function(e,r){t.drawBuffersWEBGL(e,r)}}(r),(t=r).dibvbi=t.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),function(e){e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),function(e){e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")}(r),(r.getSupportedExtensions()||[]).forEach(function(e){e.includes("lose_context")||e.includes("debug")||r.getExtension(e)})}}},_r={inEventHandler:0,removeAllEventListeners:function(){for(var e=_r.eventHandlers.length-1;e>=0;--e)_r._removeHandler(e);_r.eventHandlers=[],_r.deferredCalls=[]},registerRemoveEventListeners:function(){_r.removeEventListenersRegistered||(ae.push(_r.removeAllEventListeners),_r.removeEventListenersRegistered=!0)},deferredCalls:[],deferCall:function(e,t,r){function n(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var o in _r.deferredCalls){var i=_r.deferredCalls[o];if(i.targetFunction==e&&n(i.argsList,r))return}_r.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),_r.deferredCalls.sort(function(e,t){return e.precedence<t.precedence})},removeDeferredCalls:function(e){for(var t=0;t<_r.deferredCalls.length;++t)_r.deferredCalls[t].targetFunction==e&&(_r.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:function(){return _r.inEventHandler&&_r.currentEventHandler.allowsDeferredCalls},runDeferredCalls:function(){if(_r.canPerformEventHandlerRequests())for(var e=0;e<_r.deferredCalls.length;++e){var t=_r.deferredCalls[e];_r.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:function(e,t){for(var r=0;r<_r.eventHandlers.length;++r)_r.eventHandlers[r].target!=e||t&&t!=_r.eventHandlers[r].eventTypeString||_r._removeHandler(r--)},_removeHandler:function(e){var t=_r.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),_r.eventHandlers.splice(e,1)},registerOrRemoveHandler:function(e){var t=function(t){++_r.inEventHandler,_r.currentEventHandler=e,_r.runDeferredCalls(),e.handlerFunc(t),_r.runDeferredCalls(),--_r.inEventHandler};if(e.callbackfunc)e.eventListenerFunc=t,e.target.addEventListener(e.eventTypeString,t,e.useCapture),_r.eventHandlers.push(e),_r.registerRemoveEventListeners();else for(var r=0;r<_r.eventHandlers.length;++r)_r.eventHandlers[r].target==e.target&&_r.eventHandlers[r].eventTypeString==e.eventTypeString&&_r._removeHandler(r--)},getNodeNameForTarget:function(e){return e?e==window?"#window":e==screen?"#screen":e&&e.nodeName?e.nodeName:"":""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},br=["default","low-power","high-performance"],Br=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0];function Dr(e){return"number"==typeof e&&(e=O(e)),e&&"#canvas"!==e?void 0!==Cr&&Cr.offscreenCanvases[e]?Cr.offscreenCanvases[e]:function(e){y("Rules for selecting event targets in HTML5 API are changing: instead of using document.getElementById() that only can refer to elements by their DOM ID, new event target selection mechanism uses the more flexible function document.querySelector() that can look up element names, classes, and complex CSS selectors. Build with -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1 to change to the new lookup rules. See https://github.com/emscripten-core/emscripten/pull/7977 for more details.");try{return e?("number"==typeof e&&(e=Br[e]||O(e)),"#window"===e?window:"#document"===e?document:"#screen"===e?screen:"#canvas"===e?o.canvas:"string"==typeof e?document.getElementById(e):e):window}catch(e){return null}}(e):void 0!==Cr&&Cr.offscreenCanvases.canvas?Cr.offscreenCanvases.canvas:o.canvas}function Tr(){return Cr.currentContext?Cr.currentContext.handle:0}function Or(e){return Cr.makeContextCurrent(e)?0:-5}o._emscripten_webgl_get_current_context=Tr,o._emscripten_webgl_make_context_current=Or;var Qr={};function Pr(){if(!Pr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===("undefined"==typeof navigator?"undefined":I(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:s||"./this.program"};for(var t in Qr)void 0===Qr[t]?delete e[t]:e[t]=Qr[t];var r=[];for(var t in e)r.push(t+"="+e[t]);Pr.strings=r}return Pr.strings}var Mr=[];function Rr(e,t,r,n){for(var o=0;o<e;o++){var i=Zr[r](),a=i&&Cr.getNewId(n);i?(i.name=a,n[a]=i):Cr.recordError(1282),U[t+4*o>>2]=a}}function Sr(e,t){j[e>>2]=t,j[e+4>>2]=(t-j[e>>2])/4294967296;var r=t>=0?function(e){return j[e>>2]+4294967296*j[e+4>>2]}(e):function(e){return j[e>>2]+4294967296*U[e+4>>2]}(e);r!=t&&y("writeI53ToI64() out of range: serialized JS Number "+t+" to Wasm heap as bytes lo=0x"+j[e>>2].toString(16)+", hi=0x"+j[e+4>>2].toString(16)+", which deserializes back to "+r+" instead!")}function kr(e){var t=M(e)+1,r=sn(t);return P(e,r,t),r}function Fr(e){return"]"==e.slice(-1)&&e.lastIndexOf("[")}function xr(e){return 0==(e-=5120)?k:1==e?F:2==e?x:4==e?U:6==e?L:5==e||28922==e||28520==e||30779==e||30782==e?j:N}function Nr(e){return 31-Math.clz32(e.BYTES_PER_ELEMENT)}function Ur(e,t,r,n,o,i){var a=xr(e),s=Nr(a),c=1<<s,A=function(e){return{5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1}(t)*c,u=function(e,t,r,n){var o=function(e,t){return e+t-1&-t}(e*r,n);return t*o}(r,n,A,Cr.unpackAlignment);return a.subarray(o>>s,o+u>>s)}function jr(e){var t=Zr.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=Zr.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?"["+r+"]":""))),r}Cr.recordError(1282)}var Lr=[];var Hr=[];function Gr(){if(!Gr.called){Gr.called=!0;var e=(new Date).getFullYear(),t=new Date(e,0,1),r=new Date(e,6,1),n=t.getTimezoneOffset(),o=r.getTimezoneOffset(),i=Math.max(n,o);U[gn()>>2]=60*i,U[dn()>>2]=Number(n!=o);var a=u(t),s=u(r),c=Z(a),A=Z(s);o<n?(U[ln()>>2]=c,U[ln()+4>>2]=A):(U[ln()>>2]=A,U[ln()+4>>2]=c)}function u(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}function Xr(e){return e%4==0&&(e%100!=0||e%400==0)}function Yr(e,t){for(var r=0,n=0;n<=t;r+=e[n++]);return r}var Wr=[31,29,31,30,31,30,31,31,30,31,30,31],Vr=[31,28,31,30,31,30,31,31,30,31,30,31];function zr(e,t){for(var r=new Date(e.getTime());t>0;){var n=Xr(r.getFullYear()),o=r.getMonth(),i=(n?Wr:Vr)[o];if(!(t>i-r.getDate()))return r.setDate(r.getDate()+t),r;t-=i-r.getDate()+1,r.setDate(1),o<11?r.setMonth(o+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function Kr(e,t,r,n){var o=U[n+40>>2],i={tm_sec:U[n>>2],tm_min:U[n+4>>2],tm_hour:U[n+8>>2],tm_mday:U[n+12>>2],tm_mon:U[n+16>>2],tm_year:U[n+20>>2],tm_wday:U[n+24>>2],tm_yday:U[n+28>>2],tm_isdst:U[n+32>>2],tm_gmtoff:U[n+36>>2],tm_zone:o?O(o):""},a=O(r),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var c in s)a=a.replace(new RegExp(c,"g"),s[c]);var A=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function l(e,t,r){for(var n="number"==typeof e?e.toString():e||"";n.length<t;)n=r[0]+n;return n}function d(e,t){return l(e,t,"0")}function g(e,t){function r(e){return e<0?-1:e>0?1:0}var n;return 0===(n=r(e.getFullYear()-t.getFullYear()))&&0===(n=r(e.getMonth()-t.getMonth()))&&(n=r(e.getDate()-t.getDate())),n}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=zr(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),n=new Date(t.getFullYear()+1,0,4),o=f(r),i=f(n);return g(o,t)<=0?g(i,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var p={"%a":function(e){return A[e.tm_wday].substring(0,3)},"%A":function(e){return A[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return l(e.tm_mday,2," ")},"%g":function(e){return h(e).toString().substring(2)},"%G":function(e){return h(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),d(t,2)},"%j":function(e){return d(e.tm_mday+Yr(Xr(e.tm_year+1900)?Wr:Vr,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=new Date(e.tm_year+1900,0,1),r=0===t.getDay()?t:zr(t,7-t.getDay()),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(g(r,n)<0){var o=Yr(Xr(n.getFullYear())?Wr:Vr,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===g(r,t)?"01":"00"},"%V":function(e){var t,r=new Date(e.tm_year+1900,0,4),n=new Date(e.tm_year+1901,0,4),o=f(r),i=f(n),a=zr(new Date(e.tm_year+1900,0,1),e.tm_yday);return g(a,o)<0?"53":g(i,a)<=0?"01":(t=o.getFullYear()<e.tm_year+1900?e.tm_yday+32-o.getDate():e.tm_yday+1-o.getDate(),d(Math.ceil(t/7),2))},"%w":function(e){return e.tm_wday},"%W":function(e){var t=new Date(e.tm_year,0,1),r=1===t.getDay()?t:zr(t,0===t.getDay()?1:7-t.getDay()+1),n=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(g(r,n)<0){var o=Yr(Xr(n.getFullYear())?Wr:Vr,n.getMonth()-1)-31,i=31-r.getDate()+o+n.getDate();return d(Math.ceil(i/7),2)}return 0===g(r,t)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var c in p)a.includes(c)&&(a=a.replace(new RegExp(c,"g"),p[c](i)));var E,m,y=nn(a,!1);return y.length>t?0:(m=e,B((E=y).length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),k.set(E,m),y.length-1)}o.requestFullscreen=function(e,t){Pe.requestFullscreen(e,t)},o.requestFullScreen=function(){Pe.requestFullScreen()},o.requestAnimationFrame=function(e){Pe.requestAnimationFrame(e)},o.setCanvasSize=function(e,t,r){Pe.setCanvasSize(e,t,r)},o.pauseMainLoop=function(){Pe.mainLoop.pause()},o.resumeMainLoop=function(){Pe.mainLoop.resume()},o.getUserMedia=function(){Pe.getUserMedia()},o.createContext=function(e,t,r,n){return Pe.createContext(e,t,r,n)};var Zr,Jr=function(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ze.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=n},qr=365,$r=146;Object.defineProperties(Jr.prototype,{read:{get:function(){return(this.mode&qr)===qr},set:function(e){e?this.mode|=qr:this.mode&=-366}},write:{get:function(){return(this.mode&$r)===$r},set:function(e){e?this.mode|=$r:this.mode&=-147}},isFolder:{get:function(){return ze.isDir(this.mode)}},isDevice:{get:function(){return ze.isChrdev(this.mode)}}}),ze.FSNode=Jr,ze.staticInit(),o.FS_createPath=ze.createPath,o.FS_createDataFile=ze.createDataFile,o.FS_createPreloadedFile=ze.createPreloadedFile,o.FS_createLazyFile=ze.createLazyFile,o.FS_createDevice=ze.createDevice,o.FS_unlink=ze.unlink,o.count_emval_handles=et,o.get_first_emval=tt,ot=o.PureVirtualError=nt(Error,"PureVirtualError"),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);it=e}(),o.getInheritedInstanceCount=st,o.getLiveInheritedInstances=ct,o.flushPendingDeletes=ut,o.setDelayFunction=dt,ft=o.BindingError=nt(Error,"BindingError"),Qt=o.InternalError=nt(Error,"InternalError"),Lt.prototype.isAliasOf=kt,Lt.prototype.clone=xt,Lt.prototype.delete=Nt,Lt.prototype.isDeleted=Ut,Lt.prototype.deleteLater=jt,rr.prototype.getPointee=Zt,rr.prototype.destructor=Jt,rr.prototype.argPackAdvance=8,rr.prototype.readValueFromPointer=Dt,rr.prototype.deleteObject=qt,rr.prototype.fromWireType=tr,ar=o.UnboundTypeError=nt(Error,"UnboundTypeError");for(var en=0;en<32;++en)Mr.push(new Array(en));var tn=new Float32Array(288);for(en=0;en<288;++en)Lr[en]=tn.subarray(0,en+1);var rn=new Int32Array(288);for(en=0;en<288;++en)Hr[en]=rn.subarray(0,en+1);function nn(e,t,r){var n=M(e)+1,o=new Array(n),i=Q(e,o,0,o.length);return t&&(o.length=i),o}var on={HaveOffsetConverter:function(){return"undefined"!=typeof wasmOffsetConverter},__cxa_allocate_exception:function(e){return sn(e+16)+16},__cxa_atexit:function(e,t){},__cxa_begin_catch:function(e){var t=new ke(e),r=t.get_exception_info();return r.get_caught()||r.set_caught(!0),r.set_rethrown(!1),Fe.push(t),function(e){e.add_ref()}(r),t.get_exception_ptr()},__cxa_end_catch:function(){mn(0),B(Fe.length>0);var e=Fe.pop();!function(e){if(e.release_ref()&&!e.get_rethrown()){var t=e.get_destructor();t&&ee.get(t)(e.excPtr),Ne(e.excPtr)}}(e.get_exception_info()),e.free(),xe=0},__cxa_find_matching_catch_2:function(){var e=xe;if(!e)return _(0),0;var t=new Se(e).get_type(),r=new ke;if(r.set_base_ptr(e),r.set_adjusted_ptr(e),!t)return _(0),0|r.ptr;for(var n=Array.prototype.slice.call(arguments),o=0;o<n.length;o++){var i=n[o];if(0===i||i===t)break;if(yn(i,t,r.get_adjusted_ptr_addr()))return _(i),0|r.ptr}return _(t),0|r.ptr},__cxa_find_matching_catch_3:function(){var e=xe;if(!e)return _(0),0;var t=new Se(e).get_type(),r=new ke;if(r.set_base_ptr(e),r.set_adjusted_ptr(e),!t)return _(0),0|r.ptr;for(var n=Array.prototype.slice.call(arguments),o=0;o<n.length;o++){var i=n[o];if(0===i||i===t)break;if(yn(i,t,r.get_adjusted_ptr_addr()))return _(i),0|r.ptr}return _(t),0|r.ptr},__cxa_free_exception:Ne,__cxa_rethrow:function(){var e=Fe.pop();e||me("no exception to throw");var t=e.get_exception_info(),r=e.get_base_ptr();throw t.get_rethrown()?e.free():(Fe.push(e),t.set_rethrown(!0),t.set_caught(!1)),xe=r,r+" - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch."},__cxa_thread_atexit:function(e,t){},__cxa_throw:function(e,t,r){throw new Se(e).init(t,r),xe=e,e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch."},__resumeException:function(e){var t=new ke(e),r=t.get_base_ptr();throw xe||(xe=r),t.free(),r+" - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch."},__sys_fcntl64:function(e,t,r){Ke.varargs=r;try{var n=Ke.getStreamFromFD(e);switch(t){case 0:return(o=Ke.get())<0?-28:ze.open(n.path,n.flags,0,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Ke.get();return n.flags|=o,0;case 12:o=Ke.get();return x[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return Ue(28),-1}}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),-e.errno}},__sys_ioctl:function(e,t,r){Ke.varargs=r;try{var n=Ke.getStreamFromFD(e);switch(t){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var o=Ke.get();return U[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:o=Ke.get();return ze.ioctl(n,t,o);default:me("bad ioctl syscall "+t)}}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),-e.errno}},__sys_mmap2:function(e,t,r,n,o,i){try{return function(e,t,r,n,o,i){var a;i<<=12;var s=!1;if(16&n&&e%65536!=0)return-28;if(32&n){if(!(a=Xe(t)))return-48;s=!0}else{var c=ze.getStream(o);if(!c)return-8;var A=ze.mmap(c,e,t,i,r,n);a=A.ptr,s=A.allocated}return Ke.mappings[a]={malloc:a,len:t,allocated:s,fd:o,prot:r,flags:n,offset:i},a}(e,t,r,n,o,i)}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),-e.errno}},__sys_open:function(e,t,r){Ke.varargs=r;try{var n=Ke.getStr(e),o=r?Ke.get():0;return ze.open(n,t,o).fd}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),-e.errno}},__sys_stat64:function(e,t){try{return e=Ke.getStr(e),Ke.doStat(ze.stat,e,t)}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),-e.errno}},_embind_create_inheriting_constructor:function(e,t,r){e=at(e),t=It(t,"wrapper"),r=Et(r);var n=[].slice,o=t.registeredClass,i=o.instancePrototype,a=o.baseClass.instancePrototype,s=o.baseClass.constructor,c=Je(e,function(){o.baseClass.pureVirtualFunctions.forEach(function(e){if(this[e]===a[e])throw new ot("Pure virtual function "+e+" must be implemented in JavaScript")}.bind(this)),Object.defineProperty(this,"__parent",{value:i}),this.__construct.apply(this,n.call(arguments))});for(var A in i.__construct=function(){this===i&&ht("Pass correct 'this' to __construct");var e=s.implement.apply(void 0,[this].concat(n.call(arguments)));vt(e);var t,r,a,c=e.$$;e.notifyOnDestruction(),c.preservePointerOnDelete=!0,Object.defineProperties(this,{$$:{value:c}}),_t(this),t=o,r=c.ptr,a=this,r=pt(t,r),gt.hasOwnProperty(r)?ht("Tried to register registered instance: "+r):gt[r]=a},i.__destruct=function(){var e,t;this===i&&ht("Pass correct 'this' to __destruct"),vt(this),e=o,t=this.$$.ptr,t=pt(e,t),gt.hasOwnProperty(t)?delete gt[t]:ht("Tried to unregister unregistered instance: "+t)},c.prototype=Object.create(i),r)c.prototype[A]=r[A];return rt(c)},_embind_finalize_value_object:function(e){var t=bt[e];delete bt[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields;Mt([e],o.map(function(e){return e.getterReturnType}).concat(o.map(function(e){return e.setterArgumentType})),function(e){var i={};return o.forEach(function(t,r){var n=t.fieldName,a=e[r],s=t.getter,c=t.getterContext,A=e[r+o.length],u=t.setter,l=t.setterContext;i[n]={read:function(e){return a.fromWireType(s(c,e))},write:function(e,t){var r=[];u(l,e,A.toWireType(r,t)),Bt(r)}}}),[{name:t.name,fromWireType:function(e){var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:function(e,t){for(var o in i)if(!(o in t))throw new TypeError('Missing field: "'+o+'"');var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},argPackAdvance:8,readValueFromPointer:Dt,destructorFunction:n}]})},_embind_register_bigint:function(e,t,r,n,o){},_embind_register_bool:function(e,t,r,n,o){var i=Rt(r);St(e,{name:t=at(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:o},argPackAdvance:8,readValueFromPointer:function(e){var n;if(1===r)n=k;else if(2===r)n=x;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);n=U}return this.fromWireType(n[e>>i])},destructorFunction:null})},_embind_register_class:function(e,t,r,n,o,i,a,s,c,A,u,l,d){u=at(u),i=ir(o,i),s&&(s=ir(a,s)),A&&(A=ir(c,A)),d=ir(l,d);var g=Ze(u);Xt(g,function(){sr("Cannot construct "+u+" due to unbound types",[n])}),Mt([e,t,r],n?[n]:[],function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Lt.prototype;var a=Je(g,function(){if(Object.getPrototypeOf(this)!==c)throw new ft("Use 'new' to construct "+u);if(void 0===l.constructor_body)throw new ft(u+" has no accessible constructor");var e=l.constructor_body[arguments.length];if(void 0===e)throw new ft("Tried to invoke ctor of "+u+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(l.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)}),c=Object.create(o,{constructor:{value:a}});a.prototype=c;var l=new Yt(u,a,c,d,r,i,s,A),f=new rr(u,l,!0,!1,!1),h=new rr(u+"*",l,!1,!1,!1),p=new rr(u+" const*",l,!1,!0,!1);return Ht[e]={pointerType:h,constPointerType:p},nr(g,a),[f,h,p]})},_embind_register_class_class_function:function(e,t,r,n,o,i,a){var s=ur(r,n);t=at(t),i=ir(o,i),Mt([],[e],function(e){var n=(e=e[0]).name+"."+t;function o(){sr("Cannot call "+n+" due to unbound types",s)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var c=e.registeredClass.constructor;return void 0===c[t]?(o.argCount=r-1,c[t]=o):(Gt(c,t,n),c[t].overloadTable[r-1]=o),Mt([],s,function(e){var o=[e[0],null].concat(e.slice(1)),s=Ar(n,o,null,i,a);return void 0===c[t].overloadTable?(s.argCount=r-1,c[t]=s):c[t].overloadTable[r-1]=s,[]}),[]})},_embind_register_class_constructor:function(e,t,r,n,o,i){B(t>0);var a=ur(t,r);o=ir(n,o),Mt([],[e],function(e){var r="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new ft("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){sr("Cannot construct "+e.name+" due to unbound types",a)},Mt([],a,function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Ar(r,n,null,o,i),[]}),[]})},_embind_register_class_function:function(e,t,r,n,o,i,a,s){var c=ur(r,n);t=at(t),i=ir(o,i),Mt([],[e],function(e){var n=(e=e[0]).name+"."+t;function o(){sr("Cannot call "+n+" due to unbound types",c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var A=e.registeredClass.instancePrototype,u=A[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,A[t]=o):(Gt(A,t,n),A[t].overloadTable[r-2]=o),Mt([],c,function(o){var s=Ar(n,o,e,i,a);return void 0===A[t].overloadTable?(s.argCount=r-2,A[t]=s):A[t].overloadTable[r-2]=s,[]}),[]})},_embind_register_class_property:function(e,t,r,n,o,i,a,s,c,A){t=at(t),o=ir(n,o),Mt([],[e],function(e){var n=(e=e[0]).name+"."+t,u={get:function(){sr("Cannot access "+n+" due to unbound types",[r,a])},enumerable:!0,configurable:!0};return u.set=c?function(){sr("Cannot access "+n+" due to unbound types",[r,a])}:function(e){ht(n+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,t,u),Mt([],c?[r,a]:[r],function(r){var a=r[0],u={get:function(){var t=lr(this,e,n+" getter");return a.fromWireType(o(i,t))},enumerable:!0};if(c){c=ir(s,c);var l=r[1];u.set=function(t){var r=lr(this,e,n+" setter"),o=[];c(A,r,l.toWireType(o,t)),Bt(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,u),[]}),[]})},_embind_register_emval:function(e,t){St(e,{name:t=at(t),fromWireType:function(e){var t=$e[e].value;return dr(e),t},toWireType:function(e,t){return rt(t)},argPackAdvance:8,readValueFromPointer:Dt,destructorFunction:null})},_embind_register_float:function(e,t,r){var n=Rt(r);St(e,{name:t=at(t),fromWireType:function(e){return e},toWireType:function(e,t){if("number"!=typeof t&&"boolean"!=typeof t)throw new TypeError('Cannot convert "'+gr(t)+'" to '+this.name);return t},argPackAdvance:8,readValueFromPointer:fr(t,n),destructorFunction:null})},_embind_register_function:function(e,t,r,n,o,i){var a=ur(t,r);e=at(e),o=ir(n,o),Xt(e,function(){sr("Cannot call "+e+" due to unbound types",a)},t-1),Mt([],a,function(r){var n=[r[0],null].concat(r.slice(1));return nr(e,Ar(e,n,null,o,i),t-1),[]})},_embind_register_integer:function(e,t,r,n,o){t=at(t),-1===o&&(o=4294967295);var i=Rt(r),a=function(e){return e};if(0===n){var s=32-8*r;a=function(e){return e<<s>>>s}}var c=t.includes("unsigned");St(e,{name:t,fromWireType:a,toWireType:function(e,r){if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError('Cannot convert "'+gr(r)+'" to '+this.name);if(r<n||r>o)throw new TypeError('Passing a number "'+gr(r)+'" from JS side to C/C++ side to an argument of type "'+t+'", which is outside the valid range ['+n+", "+o+"]!");return c?r>>>0:0|r},argPackAdvance:8,readValueFromPointer:hr(t,i,0!==n),destructorFunction:null})},_embind_register_memory_view:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=j,r=t[e>>=2],o=t[e+1];return new n(S,o,r)}St(e,{name:r=at(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,t){var r="std::string"===(t=at(t));St(e,{name:t,fromWireType:function(e){var t,n=j[e>>2];if(r)for(var o=e+4,i=0;i<=n;++i){var a=e+4+i;if(i==n||0==F[a]){var s=O(o,a-o);void 0===t?t=s:(t+=String.fromCharCode(0),t+=s),o=a+1}}else{var c=new Array(n);for(i=0;i<n;++i)c[i]=String.fromCharCode(F[e+4+i]);t=c.join("")}return an(e),t},toWireType:function(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||ht("Cannot pass non-string to std::string");var o=(r&&n?function(){return M(t)}:function(){return t.length})(),i=sn(4+o+1);if(j[i>>2]=o,r&&n)P(t,i+4,o+1);else if(n)for(var a=0;a<o;++a){var s=t.charCodeAt(a);s>255&&(an(i),ht("String has UTF-16 code units that do not fit in 8 bits")),F[i+4+a]=s}else for(a=0;a<o;++a)F[i+4+a]=t[a];return null!==e&&e.push(an,i),i},argPackAdvance:8,readValueFromPointer:Dt,destructorFunction:function(e){an(e)}})},_embind_register_std_wstring:function(e,t,r){var n,o,i,a,s;r=at(r),2===t?(n=X,o=Y,a=W,i=function(){return N},s=1):4===t&&(n=V,o=z,a=K,i=function(){return j},s=2),St(e,{name:r,fromWireType:function(e){for(var r,o=j[e>>2],a=i(),c=e+4,A=0;A<=o;++A){var u=e+4+A*t;if(A==o||0==a[u>>s]){var l=n(c,u-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=u+t}}return an(e),r},toWireType:function(e,n){"string"!=typeof n&&ht("Cannot pass non-string to C++ string type "+r);var i=a(n),c=sn(4+i+t);return j[c>>2]=i>>s,o(n,c+4,i+t),null!==e&&e.push(an,c),c},argPackAdvance:8,readValueFromPointer:Dt,destructorFunction:function(e){an(e)}})},_embind_register_value_object:function(e,t,r,n,o,i){bt[e]={name:at(t),rawConstructor:ir(r,n),rawDestructor:ir(o,i),fields:[]}},_embind_register_value_object_field:function(e,t,r,n,o,i,a,s,c,A){bt[e].fields.push({fieldName:at(t),getterReturnType:r,getter:ir(n,o),getterContext:i,setterArgumentType:a,setter:ir(s,c),setterContext:A})},_embind_register_void:function(e,t){St(e,{isVoid:!0,name:t=at(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},_emval_call_void_method:function(e,t,r,n){var o,i;(e=Er[e])(t=Et(t),r=void 0===(i=pr[o=r])?at(o):i,null,n)},_emval_decref:dr,_emval_get_method_caller:function(e,t){for(var r=function(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=It(U[(t>>2)+n],"parameter "+n);return r}(e,t),n=r[0],o=n.name+"_$"+r.slice(1).map(function(e){return e.name}).join("_")+"$",i=["retType"],a=[n],s="",c=0;c<e-1;++c)s+=(0!==c?", ":"")+"arg"+c,i.push("argType"+c),a.push(r[1+c]);var A="return function "+Ze("methodCaller_"+o)+"(handle, name, destructors, args) {\n",u=0;for(c=0;c<e-1;++c)A+=" var arg"+c+" = argType"+c+".readValueFromPointer(args"+(u?"+"+u:"")+");\n",u+=r[c+1].argPackAdvance;for(A+=" var rv = handle[name]("+s+");\n",c=0;c<e-1;++c)r[c+1].deleteObject&&(A+=" argType"+c+".deleteObject(arg"+c+");\n");n.isVoid||(A+=" return retType.toWireType(destructors, rv);\n"),A+="};\n",i.push(A);var l,d,g=cr(Function,i).apply(null,a);return l=g,d=Er.length,Er.push(l),d},_emval_incref:function(e){e>4&&($e[e].refcount+=1)},_emval_take_value:function(e,t){return rt((e=It(e,"_emval_take_value")).readValueFromPointer(t))},abort:function(){me()},clock_gettime:function(e,t){var r;if(0===e)r=Date.now();else{if(1!==e&&4!==e)return Ue(28),-1;r=De()}return U[t>>2]=r/1e3|0,U[t+4>>2]=r%1e3*1e3*1e3|0,0},dlopen:function(e,t){me("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},dlsym:function(e,t){me("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")},emscripten_asm_const_int:function(e,t,r){var n=function(e,t){var r;for(B(Array.isArray(mr)),B(t%16==0),mr.length=0,t>>=2;r=F[e++];){B(100===r||102===r||105===r);var n=r<105;n&&1&t&&t++,mr.push(n?H[t++>>1]:U[t]),++t}return mr}(t,r);return Te.hasOwnProperty(e)||me("No EM_ASM constant found at address "+e),Te[e].apply(null,n)},emscripten_get_heap_max:function(){return 2147483648},emscripten_memcpy_big:function(e,t,r){F.copyWithin(e,t,t+r)},emscripten_pc_get_function:function(e){me("Cannot use emscripten_pc_get_function without -s USE_OFFSET_CONVERTER")},emscripten_resize_heap:function(e){var t=F.length;B((e>>>=0)>t);var r=2147483648;if(e>r)return m("Cannot enlarge memory, asked to go up to "+e+" bytes, but the limit is "+r+" bytes!"),!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,J(Math.max(e,o),65536));if(yr(i))return!0}return m("Failed to grow the heap from "+t+" bytes to "+i+" bytes, not enough memory!"),!1},emscripten_stack_snapshot:function(){var e=(new Error).stack.split("\n");return"Error"==e[0]&&e.shift(),wr(e),vr.last_addr=Ir(e[2]),vr.last_stack=e,vr.last_addr},emscripten_stack_unwind_buffer:function(e,t,r){var n;vr.last_addr==e?n=vr.last_stack:("Error"==(n=(new Error).stack.split("\n"))[0]&&n.shift(),wr(n));for(var o=2;n[o]&&Ir(n[o])!=e;)++o;for(var i=0;i<r&&n[i+o];++i)U[t+4*i>>2]=Ir(n[i+o]);return i},emscripten_thread_sleep:function(e){for(var t=De();De()-t<e;);},emscripten_webgl_create_context:function(e,t){return function(e,t){B(t);var r=t>>2,n=U[r+6],o={alpha:!!U[r+0],depth:!!U[r+1],stencil:!!U[r+2],antialias:!!U[r+3],premultipliedAlpha:!!U[r+4],preserveDrawingBuffer:!!U[r+5],powerPreference:br[n],failIfMajorPerformanceCaveat:!!U[r+7],majorVersion:U[r+8],minorVersion:U[r+9],enableExtensionsByDefault:U[r+10],explicitSwapControl:U[r+11],proxyContextToMainThread:U[r+12],renderViaOffscreenBackBuffer:U[r+13]},i=Dr(e);if(!i)return 0;if(i.offscreenCanvas&&(i=i.offscreenCanvas),o.explicitSwapControl&&(i.transferControlToOffscreen||"undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas||o.renderViaOffscreenBackBuffer||(o.renderViaOffscreenBackBuffer=!0),i.transferControlToOffscreen)){if(i.controlTransferredOffscreen){if(!Cr.offscreenCanvases[i.id])return 0}else Cr.offscreenCanvases[i.id]={canvas:i.transferControlToOffscreen(),canvasSharedPtr:sn(12),id:i.id},i.controlTransferredOffscreen=!0;i=Cr.offscreenCanvases[i.id]}return Cr.createContext(i,o)}(e,t)},emscripten_webgl_destroy_context:function(e){Cr.currentContext==e&&(Cr.currentContext=0),Cr.deleteContext(e)},emscripten_webgl_get_context_attributes:function(e,t){if(!t)return-5;if(!(e=Cr.contexts[e]))return-3;var r=e.GLctx;if(!r)return-3;r=r.getContextAttributes(),U[t>>2]=r.alpha,U[t+4>>2]=r.depth,U[t+8>>2]=r.stencil,U[t+12>>2]=r.antialias,U[t+16>>2]=r.premultipliedAlpha,U[t+20>>2]=r.preserveDrawingBuffer;var n=r.powerPreference&&br.indexOf(r.powerPreference);return U[t+24>>2]=n,U[t+28>>2]=r.failIfMajorPerformanceCaveat,U[t+32>>2]=e.version,U[t+36>>2]=0,U[t+40>>2]=e.attributes.enableExtensionsByDefault,0},emscripten_webgl_get_current_context:Tr,emscripten_webgl_init_context_attributes:function(e){B(e);for(var t=e>>2,r=0;r<14;++r)U[t+r]=0;U[t+0]=U[t+1]=U[t+3]=U[t+4]=U[t+8]=U[t+10]=1},emscripten_webgl_make_context_current:Or,environ_get:function(e,t){var r=0;return Pr().forEach(function(n,o){var i=t+r;U[e+4*o>>2]=i,function(e,t){for(var r=0;r<e.length;++r)B(e.charCodeAt(r)==e.charCodeAt(r)&255),k[0|t++]=e.charCodeAt(r);k[0|t]=0}(n,i),r+=n.length+1}),0},environ_sizes_get:function(e,t){var r=Pr();U[e>>2]=r.length;var n=0;return r.forEach(function(e){n+=e.length+1}),U[t>>2]=n,0},exit:function(e){!function(e){!function(){var e=E,t=m,r=!1;E=m=function(e){r=!0};try{var n=o._fflush;n&&n(0),["stdout","stderr"].forEach(function(e){var t=ze.analyzePath("/dev/"+e);if(t){var n=t.object.rdev,o=Ge.ttys[n];o&&o.output&&o.output.length&&(r=!0)}})}catch(e){}E=e,m=t,r&&y("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.")}();var t="program exited (with status: "+e+"), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)";n(t),m(t),_n(e)}(e)},fd_close:function(e){try{var t=Ke.getStreamFromFD(e);return ze.close(t),0}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),e.errno}},fd_read:function(e,t,r,n){try{var o=Ke.getStreamFromFD(e),i=Ke.doReadv(o,t,r);return U[n>>2]=i,0}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),e.errno}},fd_seek:function(e,t,r,n,o){try{var i=Ke.getStreamFromFD(e),a=4294967296*r+(t>>>0),s=9007199254740992;return a<=-s||a>=s?-61:(ze.llseek(i,a,n),we=[i.position>>>0,(ve=i.position,+Math.abs(ve)>=1?ve>0?(0|Math.min(+Math.floor(ve/4294967296),4294967295))>>>0:~~+Math.ceil((ve-+(~~ve>>>0))/4294967296)>>>0:0)],U[o>>2]=we[0],U[o+4>>2]=we[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0)}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),e.errno}},fd_write:function(e,t,r,n){try{var o=Ke.getStreamFromFD(e),i=Ke.doWritev(o,t,r);return U[n>>2]=i,0}catch(e){return void 0!==ze&&e instanceof ze.ErrnoError||me(e),e.errno}},getTempRet0:function(){return C},getentropy:function e(t,r){e.randomDevice||(e.randomDevice=Le());for(var n=0;n<r;n++)k[t+n|0]=e.randomDevice();return 0},glActiveTexture:function(e){Zr.activeTexture(e)},glAttachShader:function(e,t){Zr.attachShader(Cr.programs[e],Cr.shaders[t])},glBindAttribLocation:function(e,t,r){Zr.bindAttribLocation(Cr.programs[e],t,O(r))},glBindBuffer:function(e,t){34962==e?Zr.currentArrayBufferBinding=t:34963==e&&(Zr.currentElementArrayBufferBinding=t),35051==e?Zr.currentPixelPackBufferBinding=t:35052==e&&(Zr.currentPixelUnpackBufferBinding=t),Zr.bindBuffer(e,Cr.buffers[t])},glBindBufferBase:function(e,t,r){Zr.bindBufferBase(e,t,Cr.buffers[r])},glBindFramebuffer:function(e,t){Zr.bindFramebuffer(e,t?Cr.framebuffers[t]:Cr.currentContext.defaultFbo)},glBindTexture:function(e,t){Zr.bindTexture(e,Cr.textures[t])},glBindVertexArray:function(e){Zr.bindVertexArray(Cr.vaos[e]);var t=Zr.getParameter(34965);Zr.currentElementArrayBufferBinding=t?0|t.name:0},glBufferData:function(e,t,r,n){Cr.currentContext.version>=2?r?Zr.bufferData(e,F,n,r,t):Zr.bufferData(e,t,n):Zr.bufferData(e,r?F.subarray(r,r+t):t,n)},glClientWaitSync:function(e,t,r,n){return Zr.clientWaitSync(Cr.syncs[e],t,(o=r,B((i=n)===(0|i)),(o>>>0)+4294967296*i));var o,i},glCompileShader:function(e){Zr.compileShader(Cr.shaders[e])},glCreateProgram:function(){var e=Cr.getNewId(Cr.programs),t=Zr.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,Cr.programs[e]=t,e},glCreateShader:function(e){var t=Cr.getNewId(Cr.shaders);return Cr.shaders[t]=Zr.createShader(e),t},glDeleteBuffers:function(e,t){for(var r=0;r<e;r++){var n=U[t+4*r>>2],o=Cr.buffers[n];o&&(Zr.deleteBuffer(o),o.name=0,Cr.buffers[n]=null,n==Zr.currentArrayBufferBinding&&(Zr.currentArrayBufferBinding=0),n==Zr.currentElementArrayBufferBinding&&(Zr.currentElementArrayBufferBinding=0),n==Zr.currentPixelPackBufferBinding&&(Zr.currentPixelPackBufferBinding=0),n==Zr.currentPixelUnpackBufferBinding&&(Zr.currentPixelUnpackBufferBinding=0))}},glDeleteFramebuffers:function(e,t){for(var r=0;r<e;++r){var n=U[t+4*r>>2],o=Cr.framebuffers[n];o&&(Zr.deleteFramebuffer(o),o.name=0,Cr.framebuffers[n]=null)}},glDeleteProgram:function(e){if(e){var t=Cr.programs[e];t?(Zr.deleteProgram(t),t.name=0,Cr.programs[e]=null):Cr.recordError(1281)}},glDeleteShader:function(e){if(e){var t=Cr.shaders[e];t?(Zr.deleteShader(t),Cr.shaders[e]=null):Cr.recordError(1281)}},glDeleteSync:function(e){if(e){var t=Cr.syncs[e];t?(Zr.deleteSync(t),t.name=0,Cr.syncs[e]=null):Cr.recordError(1281)}},glDeleteTextures:function(e,t){for(var r=0;r<e;r++){var n=U[t+4*r>>2],o=Cr.textures[n];o&&(Zr.deleteTexture(o),o.name=0,Cr.textures[n]=null)}},glDeleteVertexArrays:function(e,t){for(var r=0;r<e;r++){var n=U[t+4*r>>2];Zr.deleteVertexArray(Cr.vaos[n]),Cr.vaos[n]=null}},glDisable:function(e){Zr.disable(e)},glDisableVertexAttribArray:function(e){Cr.currentContext.clientBuffers[e].enabled=!1,Zr.disableVertexAttribArray(e)},glDrawArrays:function(e,t,r){Cr.preDrawHandleClientVertexAttribBindings(t+r),Zr.drawArrays(e,t,r),Cr.postDrawHandleClientVertexAttribBindings()},glDrawBuffers:function(e,t){for(var r=Mr[e],n=0;n<e;n++)r[n]=U[t+4*n>>2];Zr.drawBuffers(r)},glEnableVertexAttribArray:function(e){Cr.currentContext.clientBuffers[e].enabled=!0,Zr.enableVertexAttribArray(e)},glFenceSync:function(e,t){var r=Zr.fenceSync(e,t);if(r){var n=Cr.getNewId(Cr.syncs);return r.name=n,Cr.syncs[n]=r,n}return 0},glFinish:function(){Zr.finish()},glFlush:function(){Zr.flush()},glFramebufferTexture2D:function(e,t,r,n,o){Zr.framebufferTexture2D(e,t,r,Cr.textures[n],o)},glFramebufferTextureLayer:function(e,t,r,n,o){Zr.framebufferTextureLayer(e,t,Cr.textures[r],n,o)},glGenBuffers:function(e,t){Rr(e,t,"createBuffer",Cr.buffers)},glGenFramebuffers:function(e,t){Rr(e,t,"createFramebuffer",Cr.framebuffers)},glGenTextures:function(e,t){Rr(e,t,"createTexture",Cr.textures)},glGenVertexArrays:function(e,t){Rr(e,t,"createVertexArray",Cr.vaos)},glGetAttribLocation:function(e,t){return Zr.getAttribLocation(Cr.programs[e],O(t))},glGetError:function(){var e=Zr.getError()||Cr.lastError;return Cr.lastError=0,e},glGetIntegerv:function(e,t){!function(e,t,r){if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var o=Zr.getParameter(34467);n=o?o.length:0;break;case 33309:if(Cr.currentContext.version<2)return void Cr.recordError(1282);n=2*(Zr.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(Cr.currentContext.version<2)return void Cr.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=Zr.getParameter(e);switch(I(i)){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void Cr.recordError(1280);case"object":if(null===i)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Cr.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a<i.length;++a)switch(r){case 0:U[t+4*a>>2]=i[a];break;case 2:L[t+4*a>>2]=i[a];break;case 4:k[t+a|0]=i[a]?1:0}return}try{n=0|i.name}catch(t){return Cr.recordError(1280),void m("GL_INVALID_ENUM in glGet"+r+"v: Unknown object returned from WebGL getParameter("+e+")! (error: "+t+")")}}break;default:return Cr.recordError(1280),void m("GL_INVALID_ENUM in glGet"+r+"v: Native code calling glGet"+r+"v("+e+") and it returns "+i+" of type "+I(i)+"!")}}switch(r){case 1:Sr(t,n);break;case 0:U[t>>2]=n;break;case 2:L[t>>2]=n;break;case 4:k[0|t]=n?1:0}}else Cr.recordError(1281)}(e,t,0)},glGetString:function(e){var t=Cr.stringCache[e];if(!t){switch(e){case 7939:var r=Zr.getSupportedExtensions()||[];t=kr((r=r.concat(r.map(function(e){return"GL_"+e}))).join(" "));break;case 7936:case 7937:case 37445:case 37446:var n=Zr.getParameter(e);n||Cr.recordError(1280),t=n&&kr(n);break;case 7938:var o=Zr.getParameter(7938);t=kr(o=Cr.currentContext.version>=2?"OpenGL ES 3.0 ("+o+")":"OpenGL ES 2.0 ("+o+")");break;case 35724:var i=Zr.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),i="OpenGL ES GLSL ES "+a[1]+" ("+i+")"),t=kr(i);break;default:Cr.recordError(1280)}Cr.stringCache[e]=t}return t},glGetUniformBlockIndex:function(e,t){return Zr.getUniformBlockIndex(Cr.programs[e],O(t))},glGetUniformLocation:function(e,t){if(t=O(t),e=Cr.programs[e]){!function(e){var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},t=0;t<Zr.getProgramParameter(e,35718);++t){var i=Zr.getActiveUniform(e,t),a=i.name,s=i.size,c=Fr(a),A=c>0?a.slice(0,c):a,u=e.uniformIdCounter;for(e.uniformIdCounter+=s,o[A]=[s,u],r=0;r<s;++r)n[u]=r,e.uniformArrayNamesById[u++]=A}}(e);var r=e.uniformLocsById,n=0,o=t,i=Fr(t);i>0&&(s=t.slice(i+1),n=parseInt(s)>>>0,o=t.slice(0,i));var a=e.uniformSizeAndIdsByName[o];if(a&&n<a[0]&&(r[n+=a[1]]=r[n]||Zr.getUniformLocation(e,t)))return n}else Cr.recordError(1281);var s;return-1},glLinkProgram:function(e){e=Cr.programs[e],Zr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},glPixelStorei:function(e,t){3317==e&&(Cr.unpackAlignment=t),Zr.pixelStorei(e,t)},glReadPixels:function(e,t,r,n,o,i,a){if(Cr.currentContext.version>=2)if(Zr.currentPixelPackBufferBinding)Zr.readPixels(e,t,r,n,o,i,a);else{var s=xr(i);Zr.readPixels(e,t,r,n,o,i,s,a>>Nr(s))}else{var c=Ur(i,o,r,n,a);c?Zr.readPixels(e,t,r,n,o,i,c):Cr.recordError(1280)}},glShaderSource:function(e,t,r,n){var o=Cr.getSource(e,t,r,n);Zr.shaderSource(Cr.shaders[e],o)},glTexImage2D:function(e,t,r,n,o,i,a,s,c){if(Cr.currentContext.version>=2)if(Zr.currentPixelUnpackBufferBinding)Zr.texImage2D(e,t,r,n,o,i,a,s,c);else if(c){var A=xr(s);Zr.texImage2D(e,t,r,n,o,i,a,s,A,c>>Nr(A))}else Zr.texImage2D(e,t,r,n,o,i,a,s,null);else Zr.texImage2D(e,t,r,n,o,i,a,s,c?Ur(s,a,n,o,c):null)},glTexParameterfv:function(e,t,r){var n=L[r>>2];Zr.texParameterf(e,t,n)},glTexParameteri:function(e,t,r){Zr.texParameteri(e,t,r)},glTexStorage2D:function(e,t,r,n,o){Zr.texStorage2D(e,t,r,n,o)},glTexStorage3D:function(e,t,r,n,o,i){Zr.texStorage3D(e,t,r,n,o,i)},glTexSubImage2D:function(e,t,r,n,o,i,a,s,c){if(Cr.currentContext.version>=2)if(Zr.currentPixelUnpackBufferBinding)Zr.texSubImage2D(e,t,r,n,o,i,a,s,c);else if(c){var A=xr(s);Zr.texSubImage2D(e,t,r,n,o,i,a,s,A,c>>Nr(A))}else Zr.texSubImage2D(e,t,r,n,o,i,a,s,null);else{var u=null;c&&(u=Ur(s,a,o,i,c)),Zr.texSubImage2D(e,t,r,n,o,i,a,s,u)}},glTexSubImage3D:function(e,t,r,n,o,i,a,s,c,A,u){if(Zr.currentPixelUnpackBufferBinding)Zr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,u);else if(u){var l=xr(A);Zr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,l,u>>Nr(l))}else Zr.texSubImage3D(e,t,r,n,o,i,a,s,c,A,null)},glUniform1f:function(e,t){Zr.uniform1f(jr(e),t)},glUniform1i:function(e,t){Zr.uniform1i(jr(e),t)},glUniform2fv:function(e,t,r){if(Cr.currentContext.version>=2)Zr.uniform2fv(jr(e),L,r>>2,2*t);else{if(t<=144)for(var n=Lr[2*t-1],o=0;o<2*t;o+=2)n[o]=L[r+4*o>>2],n[o+1]=L[r+(4*o+4)>>2];else n=L.subarray(r>>2,r+8*t>>2);Zr.uniform2fv(jr(e),n)}},glUniform4fv:function(e,t,r){if(Cr.currentContext.version>=2)Zr.uniform4fv(jr(e),L,r>>2,4*t);else{if(t<=72){var n=Lr[4*t-1],o=L;r>>=2;for(var i=0;i<4*t;i+=4){var a=r+i;n[i]=o[a],n[i+1]=o[a+1],n[i+2]=o[a+2],n[i+3]=o[a+3]}}else n=L.subarray(r>>2,r+16*t>>2);Zr.uniform4fv(jr(e),n)}},glUniform4iv:function(e,t,r){if(Cr.currentContext.version>=2)Zr.uniform4iv(jr(e),U,r>>2,4*t);else{if(t<=72)for(var n=Hr[4*t-1],o=0;o<4*t;o+=4)n[o]=U[r+4*o>>2],n[o+1]=U[r+(4*o+4)>>2],n[o+2]=U[r+(4*o+8)>>2],n[o+3]=U[r+(4*o+12)>>2];else n=U.subarray(r>>2,r+16*t>>2);Zr.uniform4iv(jr(e),n)}},glUniformBlockBinding:function(e,t,r){e=Cr.programs[e],Zr.uniformBlockBinding(e,t,r)},glUniformMatrix4fv:function(e,t,r,n){if(Cr.currentContext.version>=2)Zr.uniformMatrix4fv(jr(e),!!r,L,n>>2,16*t);else{if(t<=18){var o=Lr[16*t-1],i=L;n>>=2;for(var a=0;a<16*t;a+=16){var s=n+a;o[a]=i[s],o[a+1]=i[s+1],o[a+2]=i[s+2],o[a+3]=i[s+3],o[a+4]=i[s+4],o[a+5]=i[s+5],o[a+6]=i[s+6],o[a+7]=i[s+7],o[a+8]=i[s+8],o[a+9]=i[s+9],o[a+10]=i[s+10],o[a+11]=i[s+11],o[a+12]=i[s+12],o[a+13]=i[s+13],o[a+14]=i[s+14],o[a+15]=i[s+15]}}else o=L.subarray(n>>2,n+64*t>>2);Zr.uniformMatrix4fv(jr(e),!!r,o)}},glUseProgram:function(e){e=Cr.programs[e],Zr.useProgram(e),Zr.currentProgram=e},glVertexAttribPointer:function(e,t,r,n,o,i){var a=Cr.currentContext.clientBuffers[e];if(!Zr.currentArrayBufferBinding)return a.size=t,a.type=r,a.normalized=n,a.stride=o,a.ptr=i,a.clientside=!0,void(a.vertexAttribPointerAdaptor=function(e,t,r,n,o,i){this.vertexAttribPointer(e,t,r,n,o,i)});a.clientside=!1,Zr.vertexAttribPointer(e,t,r,!!n,o,i)},glViewport:function(e,t,r,n){Zr.viewport(e,t,r,n)},gmtime_r:function e(t,r){var n=new Date(1e3*U[t>>2]);U[r>>2]=n.getUTCSeconds(),U[r+4>>2]=n.getUTCMinutes(),U[r+8>>2]=n.getUTCHours(),U[r+12>>2]=n.getUTCDate(),U[r+16>>2]=n.getUTCMonth(),U[r+20>>2]=n.getUTCFullYear()-1900,U[r+24>>2]=n.getUTCDay(),U[r+36>>2]=0,U[r+32>>2]=0;var o=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),i=(n.getTime()-o)/864e5|0;return U[r+28>>2]=i,e.GMTString||(e.GMTString=Z("GMT")),U[r+40>>2]=e.GMTString,r},invoke_diii:function(e,t,r,n){var o=fn();try{return ee.get(e)(t,r,n)}catch(e){if(hn(o),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_i:function(e){var t=fn();try{return ee.get(e)()}catch(e){if(hn(t),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_ii:function(e,t){var r=fn();try{return ee.get(e)(t)}catch(e){if(hn(r),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_iii:function(e,t,r){var n=fn();try{return ee.get(e)(t,r)}catch(e){if(hn(n),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_iiii:function(e,t,r,n){var o=fn();try{return ee.get(e)(t,r,n)}catch(e){if(hn(o),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_iiiii:function(e,t,r,n,o){var i=fn();try{return ee.get(e)(t,r,n,o)}catch(e){if(hn(i),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_iiiiii:function(e,t,r,n,o,i){var a=fn();try{return ee.get(e)(t,r,n,o,i)}catch(e){if(hn(a),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_iiiiiii:function(e,t,r,n,o,i,a){var s=fn();try{return ee.get(e)(t,r,n,o,i,a)}catch(e){if(hn(s),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_iiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A){var u=fn();try{return ee.get(e)(t,r,n,o,i,a,s,c,A)}catch(e){if(hn(u),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_iiiiiiii:function(e,t,r,n,o,i,a,s){var c=fn();try{return ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(hn(c),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_iiiiiiiii:function(e,t,r,n,o,i,a,s,c){var A=fn();try{return ee.get(e)(t,r,n,o,i,a,s,c)}catch(e){if(hn(A),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_v:function(e){var t=fn();try{ee.get(e)()}catch(e){if(hn(t),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_vdiii:function(e,t,r,n,o){var i=fn();try{ee.get(e)(t,r,n,o)}catch(e){if(hn(i),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_vi:function(e,t){var r=fn();try{ee.get(e)(t)}catch(e){if(hn(r),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_vididdii:function(e,t,r,n,o,i,a,s){var c=fn();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(hn(c),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_vidii:function(e,t,r,n,o){var i=fn();try{ee.get(e)(t,r,n,o)}catch(e){if(hn(i),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_vii:function(e,t,r){var n=fn();try{ee.get(e)(t,r)}catch(e){if(hn(n),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viid:function(e,t,r,n){var o=fn();try{ee.get(e)(t,r,n)}catch(e){if(hn(o),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viidi:function(e,t,r,n,o){var i=fn();try{ee.get(e)(t,r,n,o)}catch(e){if(hn(i),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viididii:function(e,t,r,n,o,i,a,s){var c=fn();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(hn(c),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viii:function(e,t,r,n){var o=fn();try{ee.get(e)(t,r,n)}catch(e){if(hn(o),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiid:function(e,t,r,n,o){var i=fn();try{ee.get(e)(t,r,n,o)}catch(e){if(hn(i),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiidd:function(e,t,r,n,o,i){var a=fn();try{ee.get(e)(t,r,n,o,i)}catch(e){if(hn(a),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiddi:function(e,t,r,n,o,i,a){var s=fn();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(hn(s),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiidi:function(e,t,r,n,o,i){var a=fn();try{ee.get(e)(t,r,n,o,i)}catch(e){if(hn(a),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiii:function(e,t,r,n,o){var i=fn();try{ee.get(e)(t,r,n,o)}catch(e){if(hn(i),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiid:function(e,t,r,n,o,i){var a=fn();try{ee.get(e)(t,r,n,o,i)}catch(e){if(hn(a),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiidi:function(e,t,r,n,o,i,a){var s=fn();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(hn(s),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiidid:function(e,t,r,n,o,i,a,s){var c=fn();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(hn(c),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiidiidiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g,f,h)}catch(e){if(hn(p),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiifiifiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g,f,h)}catch(e){if(hn(p),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiii:function(e,t,r,n,o,i){var a=fn();try{ee.get(e)(t,r,n,o,i)}catch(e){if(hn(a),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiid:function(e,t,r,n,o,i,a){var s=fn();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(hn(s),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiif:function(e,t,r,n,o,i,a){var s=fn();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(hn(s),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiii:function(e,t,r,n,o,i,a){var s=fn();try{ee.get(e)(t,r,n,o,i,a)}catch(e){if(hn(s),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiid:function(e,t,r,n,o,i,a,s){var c=fn();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(hn(c),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiif:function(e,t,r,n,o,i,a,s){var c=fn();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(hn(c),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiii:function(e,t,r,n,o,i,a,s){var c=fn();try{ee.get(e)(t,r,n,o,i,a,s)}catch(e){if(hn(c),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u){var l=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(hn(l),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiidiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(hn(g),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiifiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(hn(g),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiii:function(e,t,r,n,o,i,a,s,c){var A=fn();try{ee.get(e)(t,r,n,o,i,a,s,c)}catch(e){if(hn(A),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiidd:function(e,t,r,n,o,i,a,s,c,A,u){var l=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(hn(l),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiidf:function(e,t,r,n,o,i,a,s,c,A,u){var l=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(hn(l),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiii:function(e,t,r,n,o,i,a,s,c,A){var u=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A)}catch(e){if(hn(u),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiiidd:function(e,t,r,n,o,i,a,s,c,A,u,l){var d=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l)}catch(e){if(hn(d),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(hn(g),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u){var l=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u)}catch(e){if(hn(l),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiiiiddi:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g){var f=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g)}catch(e){if(hn(f),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l){var d=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l)}catch(e){if(hn(d),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d){var g=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d)}catch(e){if(hn(g),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},invoke_viiiiiiiiiiiii:function(e,t,r,n,o,i,a,s,c,A,u,l,d,g){var f=fn();try{ee.get(e)(t,r,n,o,i,a,s,c,A,u,l,d,g)}catch(e){if(hn(f),e!==e+0&&"longjmp"!==e)throw e;mn(1,0)}},llvm_eh_typeid_for:function(e){return e},localtime_r:function(e,t){Gr();var r=new Date(1e3*U[e>>2]);U[t>>2]=r.getSeconds(),U[t+4>>2]=r.getMinutes(),U[t+8>>2]=r.getHours(),U[t+12>>2]=r.getDate(),U[t+16>>2]=r.getMonth(),U[t+20>>2]=r.getFullYear()-1900,U[t+24>>2]=r.getDay();var n=new Date(r.getFullYear(),0,1),o=(r.getTime()-n.getTime())/864e5|0;U[t+28>>2]=o,U[t+36>>2]=-60*r.getTimezoneOffset();var i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),s=0|(i!=a&&r.getTimezoneOffset()==Math.min(a,i));U[t+32>>2]=s;var c=U[ln()+(s?4:0)>>2];return U[t+40>>2]=c,t},mktime:function(e){Gr();var t=new Date(U[e+20>>2]+1900,U[e+16>>2],U[e+12>>2],U[e+8>>2],U[e+4>>2],U[e>>2],0),r=U[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(r<0)U[e+32>>2]=Number(i!=a&&s==n);else if(r>0!=(s==n)){var c=Math.max(a,i),A=r>0?s:c;t.setTime(t.getTime()+6e4*(A-n))}U[e+24>>2]=t.getDay();var u=(t.getTime()-o.getTime())/864e5|0;return U[e+28>>2]=u,U[e>>2]=t.getSeconds(),U[e+4>>2]=t.getMinutes(),U[e+8>>2]=t.getHours(),U[e+12>>2]=t.getDate(),U[e+16>>2]=t.getMonth(),t.getTime()/1e3|0},proc_exit:function(e){_n(e)},setTempRet0:function(e){_(e)},strftime:Kr,strftime_l:function(e,t,r,n){return Kr(e,t,r,n)}};!function(){var e={env:on,wasi_snapshot_preview1:on};function t(e,t){var r,n=e.exports;o.asm=n,B(w=o.asm.memory,"memory not found in wasm exports"),q(w.buffer),B(ee=o.asm.__indirect_function_table,"table not found in wasm exports"),r=o.asm.__wasm_call_ctors,ie.unshift(r),Ee("wasm-instantiate")}pe("wasm-instantiate");var r=o;function i(e){B(o===r,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),r=null,t(e.instance)}function a(t){return function(){if(!v&&(A||u)){if("function"==typeof fetch&&!_e(ye))return fetch(ye,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ye+"'";return e.arrayBuffer()}).catch(function(){return Be(ye)});if(f)return new Promise(function(e,t){f(ye,function(t){e(new Uint8Array(t))},t)})}return Promise.resolve().then(function(){return Be(ye)})}().then(function(t){return WebAssembly.instantiate(t,e)}).then(t,function(e){m("failed to asynchronously prepare wasm: "+e),_e(ye)&&m("warning: Loading from a file URI ("+ye+") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"),me(e)})}if(o.instantiateWasm)try{return o.instantiateWasm(e,t)}catch(e){return m("Module.instantiateWasm callback failed with error: "+e),!1}(v||"function"!=typeof WebAssembly.instantiateStreaming||Ce(ye)||_e(ye)||"function"!=typeof fetch?a(i):fetch(ye,{credentials:"same-origin"}).then(function(t){return WebAssembly.instantiateStreaming(t,e).then(i,function(e){return m("wasm streaming compile failed: "+e),m("falling back to ArrayBuffer instantiation"),a(i)})})).catch(n)}(),o.___wasm_call_ctors=be("__wasm_call_ctors");var an=o._free=be("free"),sn=o._malloc=be("malloc"),cn=o.___errno_location=be("__errno_location");o._fflush=be("fflush");var An=o.___getTypeName=be("__getTypeName");o.___embind_register_native_and_builtin_types=be("__embind_register_native_and_builtin_types"),o._emscripten_main_thread_process_queued_calls=be("emscripten_main_thread_process_queued_calls");var un=o._emscripten_stack_get_end=function(){return(un=o._emscripten_stack_get_end=o.asm.emscripten_stack_get_end).apply(null,arguments)},ln=o.__get_tzname=be("_get_tzname"),dn=o.__get_daylight=be("_get_daylight"),gn=o.__get_timezone=be("_get_timezone"),fn=o.stackSave=be("stackSave"),hn=o.stackRestore=be("stackRestore");o.stackAlloc=be("stackAlloc");var pn=o._emscripten_stack_init=function(){return(pn=o._emscripten_stack_init=o.asm.emscripten_stack_init).apply(null,arguments)};o._emscripten_stack_get_free=function(){return(o._emscripten_stack_get_free=o.asm.emscripten_stack_get_free).apply(null,arguments)},o._saveSetjmp=be("saveSetjmp");var En,mn=o._setThrew=be("setThrew"),yn=o.___cxa_can_catch=be("__cxa_can_catch"),In=o.___cxa_is_pointer_type=be("__cxa_is_pointer_type"),vn=o._memalign=be("memalign");function wn(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Cn(e){function t(){En||(En=!0,o.calledRun=!0,b||(ne(),B(!ce),ce=!0,o.noFSInit||ze.init.initialized||ze.init(),ze.ignorePermissions=!1,Me(ie),r(o),o.onRuntimeInitialized&&o.onRuntimeInitialized(),B(!o._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(ne(),o.postRun)for("function"==typeof o.postRun&&(o.postRun=[o.postRun]);o.postRun.length;)ue(o.postRun.shift());Me(se)}()))}le>0||(pn(),re(),function(){if(o.preRun)for("function"==typeof o.preRun&&(o.preRun=[o.preRun]);o.preRun.length;)Ae(o.preRun.shift());Me(oe)}(),le>0||(o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),t()},1)):t(),ne()))}function _n(e){c(e,new wn(e))}if(o._emscripten_builtin_malloc=be("emscripten_builtin_malloc"),o._emscripten_builtin_free=be("emscripten_builtin_free"),o._emscripten_builtin_memalign=be("emscripten_builtin_memalign"),o.dynCall_jii=be("dynCall_jii"),o.dynCall_viji=be("dynCall_viji"),o.dynCall_jjj=be("dynCall_jjj"),o.dynCall_iiiijj=be("dynCall_iiiijj"),o.dynCall_viijj=be("dynCall_viijj"),o.dynCall_viiijjjj=be("dynCall_viiijjjj"),o.dynCall_ji=be("dynCall_ji"),o.dynCall_vij=be("dynCall_vij"),o.dynCall_viijii=be("dynCall_viijii"),o.dynCall_vj=be("dynCall_vj"),o.dynCall_viij=be("dynCall_viij"),o.dynCall_viiiiij=be("dynCall_viiiiij"),o.dynCall_iijjiiii=be("dynCall_iijjiiii"),o.dynCall_jiji=be("dynCall_jiji"),o.dynCall_iiiiij=be("dynCall_iiiiij"),o.dynCall_iiiiijj=be("dynCall_iiiiijj"),o.dynCall_iiiiiijj=be("dynCall_iiiiiijj"),Object.getOwnPropertyDescriptor(o,"intArrayFromString")||(o.intArrayFromString=function(){me("'intArrayFromString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"intArrayToString")||(o.intArrayToString=function(){me("'intArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ccall")||(o.ccall=function(){me("'ccall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"cwrap")||(o.cwrap=function(){me("'cwrap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setValue")||(o.setValue=function(){me("'setValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getValue")||(o.getValue=function(){me("'getValue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"allocate")||(o.allocate=function(){me("'allocate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UTF8ArrayToString")||(o.UTF8ArrayToString=function(){me("'UTF8ArrayToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UTF8ToString")||(o.UTF8ToString=function(){me("'UTF8ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToUTF8Array")||(o.stringToUTF8Array=function(){me("'stringToUTF8Array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToUTF8")||(o.stringToUTF8=function(){me("'stringToUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF8")||(o.lengthBytesUTF8=function(){me("'lengthBytesUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackTrace")||(o.stackTrace=function(){me("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnPreRun")||(o.addOnPreRun=function(){me("'addOnPreRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnInit")||(o.addOnInit=function(){me("'addOnInit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnPreMain")||(o.addOnPreMain=function(){me("'addOnPreMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnExit")||(o.addOnExit=function(){me("'addOnExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addOnPostRun")||(o.addOnPostRun=function(){me("'addOnPostRun' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeStringToMemory")||(o.writeStringToMemory=function(){me("'writeStringToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeArrayToMemory")||(o.writeArrayToMemory=function(){me("'writeArrayToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeAsciiToMemory")||(o.writeAsciiToMemory=function(){me("'writeAsciiToMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.addRunDependency=pe,o.removeRunDependency=Ee,Object.getOwnPropertyDescriptor(o,"FS_createFolder")||(o.FS_createFolder=function(){me("'FS_createFolder' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.FS_createPath=ze.createPath,o.FS_createDataFile=ze.createDataFile,o.FS_createPreloadedFile=ze.createPreloadedFile,o.FS_createLazyFile=ze.createLazyFile,Object.getOwnPropertyDescriptor(o,"FS_createLink")||(o.FS_createLink=function(){me("'FS_createLink' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.FS_createDevice=ze.createDevice,o.FS_unlink=ze.unlink,Object.getOwnPropertyDescriptor(o,"getLEB")||(o.getLEB=function(){me("'getLEB' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getFunctionTables")||(o.getFunctionTables=function(){me("'getFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"alignFunctionTables")||(o.alignFunctionTables=function(){me("'alignFunctionTables' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerFunctions")||(o.registerFunctions=function(){me("'registerFunctions' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"addFunction")||(o.addFunction=function(){me("'addFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"removeFunction")||(o.removeFunction=function(){me("'removeFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getFuncWrapper")||(o.getFuncWrapper=function(){me("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"prettyPrint")||(o.prettyPrint=function(){me("'prettyPrint' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"dynCall")||(o.dynCall=function(){me("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getCompilerSetting")||(o.getCompilerSetting=function(){me("'getCompilerSetting' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"print")||(o.print=function(){me("'print' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"printErr")||(o.printErr=function(){me("'printErr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getTempRet0")||(o.getTempRet0=function(){me("'getTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setTempRet0")||(o.setTempRet0=function(){me("'setTempRet0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"callMain")||(o.callMain=function(){me("'callMain' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"abort")||(o.abort=function(){me("'abort' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"keepRuntimeAlive")||(o.keepRuntimeAlive=function(){me("'keepRuntimeAlive' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"zeroMemory")||(o.zeroMemory=function(){me("'zeroMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToNewUTF8")||(o.stringToNewUTF8=function(){me("'stringToNewUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setFileTime")||(o.setFileTime=function(){me("'setFileTime' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscripten_realloc_buffer")||(o.emscripten_realloc_buffer=function(){me("'emscripten_realloc_buffer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ENV")||(o.ENV=function(){me("'ENV' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ERRNO_CODES")||(o.ERRNO_CODES=function(){me("'ERRNO_CODES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ERRNO_MESSAGES")||(o.ERRNO_MESSAGES=function(){me("'ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setErrNo")||(o.setErrNo=function(){me("'setErrNo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"inetPton4")||(o.inetPton4=function(){me("'inetPton4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"inetNtop4")||(o.inetNtop4=function(){me("'inetNtop4' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"inetPton6")||(o.inetPton6=function(){me("'inetPton6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"inetNtop6")||(o.inetNtop6=function(){me("'inetNtop6' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readSockaddr")||(o.readSockaddr=function(){me("'readSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeSockaddr")||(o.writeSockaddr=function(){me("'writeSockaddr' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"DNS")||(o.DNS=function(){me("'DNS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getHostByName")||(o.getHostByName=function(){me("'getHostByName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GAI_ERRNO_MESSAGES")||(o.GAI_ERRNO_MESSAGES=function(){me("'GAI_ERRNO_MESSAGES' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"Protocols")||(o.Protocols=function(){me("'Protocols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"Sockets")||(o.Sockets=function(){me("'Sockets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getRandomDevice")||(o.getRandomDevice=function(){me("'getRandomDevice' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"traverseStack")||(o.traverseStack=function(){me("'traverseStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UNWIND_CACHE")||(o.UNWIND_CACHE=function(){me("'UNWIND_CACHE' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"withBuiltinMalloc")||(o.withBuiltinMalloc=function(){me("'withBuiltinMalloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readAsmConstArgsArray")||(o.readAsmConstArgsArray=function(){me("'readAsmConstArgsArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readAsmConstArgs")||(o.readAsmConstArgs=function(){me("'readAsmConstArgs' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"mainThreadEM_ASM")||(o.mainThreadEM_ASM=function(){me("'mainThreadEM_ASM' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"jstoi_q")||(o.jstoi_q=function(){me("'jstoi_q' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"jstoi_s")||(o.jstoi_s=function(){me("'jstoi_s' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getExecutableName")||(o.getExecutableName=function(){me("'getExecutableName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"listenOnce")||(o.listenOnce=function(){me("'listenOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"autoResumeAudioContext")||(o.autoResumeAudioContext=function(){me("'autoResumeAudioContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"dynCallLegacy")||(o.dynCallLegacy=function(){me("'dynCallLegacy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getDynCaller")||(o.getDynCaller=function(){me("'getDynCaller' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"dynCall")||(o.dynCall=function(){me("'dynCall' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"callRuntimeCallbacks")||(o.callRuntimeCallbacks=function(){me("'callRuntimeCallbacks' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runtimeKeepalivePush")||(o.runtimeKeepalivePush=function(){me("'runtimeKeepalivePush' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runtimeKeepalivePop")||(o.runtimeKeepalivePop=function(){me("'runtimeKeepalivePop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"callUserCallback")||(o.callUserCallback=function(){me("'callUserCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"maybeExit")||(o.maybeExit=function(){me("'maybeExit' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"safeSetTimeout")||(o.safeSetTimeout=function(){me("'safeSetTimeout' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"asmjsMangle")||(o.asmjsMangle=function(){me("'asmjsMangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"asyncLoad")||(o.asyncLoad=function(){me("'asyncLoad' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"alignMemory")||(o.alignMemory=function(){me("'alignMemory' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"mmapAlloc")||(o.mmapAlloc=function(){me("'mmapAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"reallyNegative")||(o.reallyNegative=function(){me("'reallyNegative' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"unSign")||(o.unSign=function(){me("'unSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"reSign")||(o.reSign=function(){me("'reSign' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"formatString")||(o.formatString=function(){me("'formatString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"PATH")||(o.PATH=function(){me("'PATH' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"PATH_FS")||(o.PATH_FS=function(){me("'PATH_FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SYSCALLS")||(o.SYSCALLS=function(){me("'SYSCALLS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"syscallMmap2")||(o.syscallMmap2=function(){me("'syscallMmap2' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"syscallMunmap")||(o.syscallMunmap=function(){me("'syscallMunmap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getSocketFromFD")||(o.getSocketFromFD=function(){me("'getSocketFromFD' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getSocketAddress")||(o.getSocketAddress=function(){me("'getSocketAddress' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"JSEvents")||(o.JSEvents=function(){me("'JSEvents' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerKeyEventCallback")||(o.registerKeyEventCallback=function(){me("'registerKeyEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"specialHTMLTargets")||(o.specialHTMLTargets=function(){me("'specialHTMLTargets' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"findEventTarget")||(o.findEventTarget=function(){me("'findEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"findCanvasEventTarget")||(o.findCanvasEventTarget=function(){me("'findCanvasEventTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getBoundingClientRect")||(o.getBoundingClientRect=function(){me("'getBoundingClientRect' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillMouseEventData")||(o.fillMouseEventData=function(){me("'fillMouseEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerMouseEventCallback")||(o.registerMouseEventCallback=function(){me("'registerMouseEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerWheelEventCallback")||(o.registerWheelEventCallback=function(){me("'registerWheelEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerUiEventCallback")||(o.registerUiEventCallback=function(){me("'registerUiEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerFocusEventCallback")||(o.registerFocusEventCallback=function(){me("'registerFocusEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillDeviceOrientationEventData")||(o.fillDeviceOrientationEventData=function(){me("'fillDeviceOrientationEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerDeviceOrientationEventCallback")||(o.registerDeviceOrientationEventCallback=function(){me("'registerDeviceOrientationEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillDeviceMotionEventData")||(o.fillDeviceMotionEventData=function(){me("'fillDeviceMotionEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerDeviceMotionEventCallback")||(o.registerDeviceMotionEventCallback=function(){me("'registerDeviceMotionEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"screenOrientation")||(o.screenOrientation=function(){me("'screenOrientation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillOrientationChangeEventData")||(o.fillOrientationChangeEventData=function(){me("'fillOrientationChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerOrientationChangeEventCallback")||(o.registerOrientationChangeEventCallback=function(){me("'registerOrientationChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillFullscreenChangeEventData")||(o.fillFullscreenChangeEventData=function(){me("'fillFullscreenChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerFullscreenChangeEventCallback")||(o.registerFullscreenChangeEventCallback=function(){me("'registerFullscreenChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerRestoreOldStyle")||(o.registerRestoreOldStyle=function(){me("'registerRestoreOldStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"hideEverythingExceptGivenElement")||(o.hideEverythingExceptGivenElement=function(){me("'hideEverythingExceptGivenElement' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"restoreHiddenElements")||(o.restoreHiddenElements=function(){me("'restoreHiddenElements' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setLetterbox")||(o.setLetterbox=function(){me("'setLetterbox' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"currentFullscreenStrategy")||(o.currentFullscreenStrategy=function(){me("'currentFullscreenStrategy' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"restoreOldWindowedStyle")||(o.restoreOldWindowedStyle=function(){me("'restoreOldWindowedStyle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"softFullscreenResizeWebGLRenderTarget")||(o.softFullscreenResizeWebGLRenderTarget=function(){me("'softFullscreenResizeWebGLRenderTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"doRequestFullscreen")||(o.doRequestFullscreen=function(){me("'doRequestFullscreen' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillPointerlockChangeEventData")||(o.fillPointerlockChangeEventData=function(){me("'fillPointerlockChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerPointerlockChangeEventCallback")||(o.registerPointerlockChangeEventCallback=function(){me("'registerPointerlockChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerPointerlockErrorEventCallback")||(o.registerPointerlockErrorEventCallback=function(){me("'registerPointerlockErrorEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"requestPointerLock")||(o.requestPointerLock=function(){me("'requestPointerLock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillVisibilityChangeEventData")||(o.fillVisibilityChangeEventData=function(){me("'fillVisibilityChangeEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerVisibilityChangeEventCallback")||(o.registerVisibilityChangeEventCallback=function(){me("'registerVisibilityChangeEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerTouchEventCallback")||(o.registerTouchEventCallback=function(){me("'registerTouchEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillGamepadEventData")||(o.fillGamepadEventData=function(){me("'fillGamepadEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerGamepadEventCallback")||(o.registerGamepadEventCallback=function(){me("'registerGamepadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerBeforeUnloadEventCallback")||(o.registerBeforeUnloadEventCallback=function(){me("'registerBeforeUnloadEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"fillBatteryEventData")||(o.fillBatteryEventData=function(){me("'fillBatteryEventData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"battery")||(o.battery=function(){me("'battery' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerBatteryEventCallback")||(o.registerBatteryEventCallback=function(){me("'registerBatteryEventCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setCanvasElementSize")||(o.setCanvasElementSize=function(){me("'setCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getCanvasElementSize")||(o.getCanvasElementSize=function(){me("'getCanvasElementSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"polyfillSetImmediate")||(o.polyfillSetImmediate=function(){me("'polyfillSetImmediate' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"demangle")||(o.demangle=function(){me("'demangle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"demangleAll")||(o.demangleAll=function(){me("'demangleAll' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"jsStackTrace")||(o.jsStackTrace=function(){me("'jsStackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackTrace")||(o.stackTrace=function(){me("'stackTrace' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getEnvStrings")||(o.getEnvStrings=function(){me("'getEnvStrings' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"checkWasiClock")||(o.checkWasiClock=function(){me("'checkWasiClock' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToI64")||(o.writeI53ToI64=function(){me("'writeI53ToI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToI64Clamped")||(o.writeI53ToI64Clamped=function(){me("'writeI53ToI64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToI64Signaling")||(o.writeI53ToI64Signaling=function(){me("'writeI53ToI64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToU64Clamped")||(o.writeI53ToU64Clamped=function(){me("'writeI53ToU64Clamped' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeI53ToU64Signaling")||(o.writeI53ToU64Signaling=function(){me("'writeI53ToU64Signaling' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readI53FromI64")||(o.readI53FromI64=function(){me("'readI53FromI64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readI53FromU64")||(o.readI53FromU64=function(){me("'readI53FromU64' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"convertI32PairToI53")||(o.convertI32PairToI53=function(){me("'convertI32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"convertU32PairToI53")||(o.convertU32PairToI53=function(){me("'convertU32PairToI53' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"uncaughtExceptionCount")||(o.uncaughtExceptionCount=function(){me("'uncaughtExceptionCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exceptionLast")||(o.exceptionLast=function(){me("'exceptionLast' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exceptionCaught")||(o.exceptionCaught=function(){me("'exceptionCaught' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ExceptionInfo")||(o.ExceptionInfo=function(){me("'ExceptionInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"CatchInfo")||(o.CatchInfo=function(){me("'CatchInfo' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exception_addRef")||(o.exception_addRef=function(){me("'exception_addRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exception_decRef")||(o.exception_decRef=function(){me("'exception_decRef' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"Browser")||(o.Browser=function(){me("'Browser' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"funcWrappers")||(o.funcWrappers=function(){me("'funcWrappers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getFuncWrapper")||(o.getFuncWrapper=function(){me("'getFuncWrapper' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setMainLoop")||(o.setMainLoop=function(){me("'setMainLoop' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"wget")||(o.wget=function(){me("'wget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"FS")||(o.FS=function(){me("'FS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"MEMFS")||(o.MEMFS=function(){me("'MEMFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"TTY")||(o.TTY=function(){me("'TTY' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"PIPEFS")||(o.PIPEFS=function(){me("'PIPEFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SOCKFS")||(o.SOCKFS=function(){me("'SOCKFS' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"_setNetworkCallback")||(o._setNetworkCallback=function(){me("'_setNetworkCallback' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"tempFixedLengthArray")||(o.tempFixedLengthArray=function(){me("'tempFixedLengthArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"miniTempWebGLFloatBuffers")||(o.miniTempWebGLFloatBuffers=function(){me("'miniTempWebGLFloatBuffers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"heapObjectForWebGLType")||(o.heapObjectForWebGLType=function(){me("'heapObjectForWebGLType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"heapAccessShiftForWebGLHeap")||(o.heapAccessShiftForWebGLHeap=function(){me("'heapAccessShiftForWebGLHeap' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.GL=Cr,Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGet")||(o.emscriptenWebGLGet=function(){me("'emscriptenWebGLGet' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"computeUnpackAlignedImageSize")||(o.computeUnpackAlignedImageSize=function(){me("'computeUnpackAlignedImageSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetTexPixelData")||(o.emscriptenWebGLGetTexPixelData=function(){me("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetUniform")||(o.emscriptenWebGLGetUniform=function(){me("'emscriptenWebGLGetUniform' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"webglGetUniformLocation")||(o.webglGetUniformLocation=function(){me("'webglGetUniformLocation' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"webglPrepareUniformLocationsBeforeFirstUse")||(o.webglPrepareUniformLocationsBeforeFirstUse=function(){me("'webglPrepareUniformLocationsBeforeFirstUse' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"webglGetLeftBracePos")||(o.webglGetLeftBracePos=function(){me("'webglGetLeftBracePos' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetVertexAttrib")||(o.emscriptenWebGLGetVertexAttrib=function(){me("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetBufferBinding")||(o.emscriptenWebGLGetBufferBinding=function(){me("'emscriptenWebGLGetBufferBinding' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLValidateMapBufferTarget")||(o.emscriptenWebGLValidateMapBufferTarget=function(){me("'emscriptenWebGLValidateMapBufferTarget' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"writeGLArray")||(o.writeGLArray=function(){me("'writeGLArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"AL")||(o.AL=function(){me("'AL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL_unicode")||(o.SDL_unicode=function(){me("'SDL_unicode' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL_ttfContext")||(o.SDL_ttfContext=function(){me("'SDL_ttfContext' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL_audio")||(o.SDL_audio=function(){me("'SDL_audio' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL")||(o.SDL=function(){me("'SDL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"SDL_gfx")||(o.SDL_gfx=function(){me("'SDL_gfx' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GLUT")||(o.GLUT=function(){me("'GLUT' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"EGL")||(o.EGL=function(){me("'EGL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GLFW_Window")||(o.GLFW_Window=function(){me("'GLFW_Window' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GLFW")||(o.GLFW=function(){me("'GLFW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"GLEW")||(o.GLEW=function(){me("'GLEW' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"IDBStore")||(o.IDBStore=function(){me("'IDBStore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runAndAbortIfError")||(o.runAndAbortIfError=function(){me("'runAndAbortIfError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_handle_array")||(o.emval_handle_array=function(){me("'emval_handle_array' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_free_list")||(o.emval_free_list=function(){me("'emval_free_list' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_symbols")||(o.emval_symbols=function(){me("'emval_symbols' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"init_emval")||(o.init_emval=function(){me("'init_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"count_emval_handles")||(o.count_emval_handles=function(){me("'count_emval_handles' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"get_first_emval")||(o.get_first_emval=function(){me("'get_first_emval' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getStringOrSymbol")||(o.getStringOrSymbol=function(){me("'getStringOrSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"requireHandle")||(o.requireHandle=function(){me("'requireHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_newers")||(o.emval_newers=function(){me("'emval_newers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"craftEmvalAllocator")||(o.craftEmvalAllocator=function(){me("'craftEmvalAllocator' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_get_global")||(o.emval_get_global=function(){me("'emval_get_global' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emval_methodCallers")||(o.emval_methodCallers=function(){me("'emval_methodCallers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"InternalError")||(o.InternalError=function(){me("'InternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"BindingError")||(o.BindingError=function(){me("'BindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UnboundTypeError")||(o.UnboundTypeError=function(){me("'UnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"PureVirtualError")||(o.PureVirtualError=function(){me("'PureVirtualError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"init_embind")||(o.init_embind=function(){me("'init_embind' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"throwInternalError")||(o.throwInternalError=function(){me("'throwInternalError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"throwBindingError")||(o.throwBindingError=function(){me("'throwBindingError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"throwUnboundTypeError")||(o.throwUnboundTypeError=function(){me("'throwUnboundTypeError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ensureOverloadTable")||(o.ensureOverloadTable=function(){me("'ensureOverloadTable' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"exposePublicSymbol")||(o.exposePublicSymbol=function(){me("'exposePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"replacePublicSymbol")||(o.replacePublicSymbol=function(){me("'replacePublicSymbol' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"extendError")||(o.extendError=function(){me("'extendError' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"createNamedFunction")||(o.createNamedFunction=function(){me("'createNamedFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registeredInstances")||(o.registeredInstances=function(){me("'registeredInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getBasestPointer")||(o.getBasestPointer=function(){me("'getBasestPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerInheritedInstance")||(o.registerInheritedInstance=function(){me("'registerInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"unregisterInheritedInstance")||(o.unregisterInheritedInstance=function(){me("'unregisterInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getInheritedInstance")||(o.getInheritedInstance=function(){me("'getInheritedInstance' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getInheritedInstanceCount")||(o.getInheritedInstanceCount=function(){me("'getInheritedInstanceCount' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getLiveInheritedInstances")||(o.getLiveInheritedInstances=function(){me("'getLiveInheritedInstances' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registeredTypes")||(o.registeredTypes=function(){me("'registeredTypes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"awaitingDependencies")||(o.awaitingDependencies=function(){me("'awaitingDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"typeDependencies")||(o.typeDependencies=function(){me("'typeDependencies' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registeredPointers")||(o.registeredPointers=function(){me("'registeredPointers' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"registerType")||(o.registerType=function(){me("'registerType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"whenDependentTypesAreResolved")||(o.whenDependentTypesAreResolved=function(){me("'whenDependentTypesAreResolved' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"embind_charCodes")||(o.embind_charCodes=function(){me("'embind_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"embind_init_charCodes")||(o.embind_init_charCodes=function(){me("'embind_init_charCodes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"readLatin1String")||(o.readLatin1String=function(){me("'readLatin1String' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getTypeName")||(o.getTypeName=function(){me("'getTypeName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"heap32VectorToArray")||(o.heap32VectorToArray=function(){me("'heap32VectorToArray' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"requireRegisteredType")||(o.requireRegisteredType=function(){me("'requireRegisteredType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"getShiftFromSize")||(o.getShiftFromSize=function(){me("'getShiftFromSize' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"integerReadValueFromPointer")||(o.integerReadValueFromPointer=function(){me("'integerReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"enumReadValueFromPointer")||(o.enumReadValueFromPointer=function(){me("'enumReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"floatReadValueFromPointer")||(o.floatReadValueFromPointer=function(){me("'floatReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"simpleReadValueFromPointer")||(o.simpleReadValueFromPointer=function(){me("'simpleReadValueFromPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runDestructors")||(o.runDestructors=function(){me("'runDestructors' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"new_")||(o.new_=function(){me("'new_' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"craftInvokerFunction")||(o.craftInvokerFunction=function(){me("'craftInvokerFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"embind__requireFunction")||(o.embind__requireFunction=function(){me("'embind__requireFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"tupleRegistrations")||(o.tupleRegistrations=function(){me("'tupleRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"structRegistrations")||(o.structRegistrations=function(){me("'structRegistrations' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"genericPointerToWireType")||(o.genericPointerToWireType=function(){me("'genericPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"constNoSmartPtrRawPointerToWireType")||(o.constNoSmartPtrRawPointerToWireType=function(){me("'constNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"nonConstNoSmartPtrRawPointerToWireType")||(o.nonConstNoSmartPtrRawPointerToWireType=function(){me("'nonConstNoSmartPtrRawPointerToWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"init_RegisteredPointer")||(o.init_RegisteredPointer=function(){me("'init_RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer")||(o.RegisteredPointer=function(){me("'RegisteredPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_getPointee")||(o.RegisteredPointer_getPointee=function(){me("'RegisteredPointer_getPointee' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_destructor")||(o.RegisteredPointer_destructor=function(){me("'RegisteredPointer_destructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_deleteObject")||(o.RegisteredPointer_deleteObject=function(){me("'RegisteredPointer_deleteObject' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredPointer_fromWireType")||(o.RegisteredPointer_fromWireType=function(){me("'RegisteredPointer_fromWireType' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"runDestructor")||(o.runDestructor=function(){me("'runDestructor' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"releaseClassHandle")||(o.releaseClassHandle=function(){me("'releaseClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"finalizationGroup")||(o.finalizationGroup=function(){me("'finalizationGroup' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"detachFinalizer_deps")||(o.detachFinalizer_deps=function(){me("'detachFinalizer_deps' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"detachFinalizer")||(o.detachFinalizer=function(){me("'detachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"attachFinalizer")||(o.attachFinalizer=function(){me("'attachFinalizer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"makeClassHandle")||(o.makeClassHandle=function(){me("'makeClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"init_ClassHandle")||(o.init_ClassHandle=function(){me("'init_ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle")||(o.ClassHandle=function(){me("'ClassHandle' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_isAliasOf")||(o.ClassHandle_isAliasOf=function(){me("'ClassHandle_isAliasOf' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"throwInstanceAlreadyDeleted")||(o.throwInstanceAlreadyDeleted=function(){me("'throwInstanceAlreadyDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_clone")||(o.ClassHandle_clone=function(){me("'ClassHandle_clone' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_delete")||(o.ClassHandle_delete=function(){me("'ClassHandle_delete' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"deletionQueue")||(o.deletionQueue=function(){me("'deletionQueue' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_isDeleted")||(o.ClassHandle_isDeleted=function(){me("'ClassHandle_isDeleted' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"ClassHandle_deleteLater")||(o.ClassHandle_deleteLater=function(){me("'ClassHandle_deleteLater' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"flushPendingDeletes")||(o.flushPendingDeletes=function(){me("'flushPendingDeletes' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"delayFunction")||(o.delayFunction=function(){me("'delayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"setDelayFunction")||(o.setDelayFunction=function(){me("'setDelayFunction' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"RegisteredClass")||(o.RegisteredClass=function(){me("'RegisteredClass' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"shallowCopyInternalPointer")||(o.shallowCopyInternalPointer=function(){me("'shallowCopyInternalPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"downcastPointer")||(o.downcastPointer=function(){me("'downcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"upcastPointer")||(o.upcastPointer=function(){me("'upcastPointer' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"validateThis")||(o.validateThis=function(){me("'validateThis' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"char_0")||(o.char_0=function(){me("'char_0' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"char_9")||(o.char_9=function(){me("'char_9' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"makeLegalFunctionName")||(o.makeLegalFunctionName=function(){me("'makeLegalFunctionName' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"emscriptenWebGLGetIndexed")||(o.emscriptenWebGLGetIndexed=function(){me("'emscriptenWebGLGetIndexed' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"warnOnce")||(o.warnOnce=function(){me("'warnOnce' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackSave")||(o.stackSave=function(){me("'stackSave' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackRestore")||(o.stackRestore=function(){me("'stackRestore' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stackAlloc")||(o.stackAlloc=function(){me("'stackAlloc' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"AsciiToString")||(o.AsciiToString=function(){me("'AsciiToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToAscii")||(o.stringToAscii=function(){me("'stringToAscii' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UTF16ToString")||(o.UTF16ToString=function(){me("'UTF16ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToUTF16")||(o.stringToUTF16=function(){me("'stringToUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF16")||(o.lengthBytesUTF16=function(){me("'lengthBytesUTF16' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"UTF32ToString")||(o.UTF32ToString=function(){me("'UTF32ToString' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"stringToUTF32")||(o.stringToUTF32=function(){me("'stringToUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"lengthBytesUTF32")||(o.lengthBytesUTF32=function(){me("'lengthBytesUTF32' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"allocateUTF8")||(o.allocateUTF8=function(){me("'allocateUTF8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),Object.getOwnPropertyDescriptor(o,"allocateUTF8OnStack")||(o.allocateUTF8OnStack=function(){me("'allocateUTF8OnStack' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}),o.writeStackCookie=re,o.checkStackCookie=ne,Object.getOwnPropertyDescriptor(o,"ALLOC_NORMAL")||Object.defineProperty(o,"ALLOC_NORMAL",{configurable:!0,get:function(){me("'ALLOC_NORMAL' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),Object.getOwnPropertyDescriptor(o,"ALLOC_STACK")||Object.defineProperty(o,"ALLOC_STACK",{configurable:!0,get:function(){me("'ALLOC_STACK' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)")}}),ge=function e(){En||Cn(),En||(ge=e)},o.run=Cn,o.preInit)for("function"==typeof o.preInit&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();return Cn(),t.ready}}(),H=L,G=function(){var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0;return function(){var t,r,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=i;s.ready=new Promise(function(e,n){t=e,r=n});var c=Object.assign({},s),A="";"undefined"!=typeof document&&document.currentScript&&(A=document.currentScript.src),e&&(A=e),A=0!==A.indexOf("blob:")?A.substr(0,A.replace(/[?#].*/,"").lastIndexOf("/")+1):"";var l,d,g=s.print||console.log.bind(console),f=s.printErr||console.error.bind(console);function h(e){if(N(e))return function(e){for(var t=atob(e),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}(e.slice(x.length))}Object.assign(s,c),c=null,s.arguments&&s.arguments,s.thisProgram&&s.thisProgram,s.quit&&s.quit,s.wasmBinary&&(l=s.wasmBinary),"object"!=("undefined"==typeof WebAssembly?"undefined":I(WebAssembly))&&S("no native wasm support detected");var p,E,m,y,v,C,_,b,B=!1;var D=[],T=[],O=[];function Q(e){D.unshift(e)}function P(e){O.unshift(e)}var M=0,R=null;function S(e){s.onAbort&&s.onAbort(e),f(e="Aborted("+e+")"),B=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}var k,F,x="data:application/octet-stream;base64,",N=function(e){return e.startsWith(x)};function U(e){return Promise.resolve().then(function(){return function(e){if(e==k&&l)return new Uint8Array(l);var t=h(e);if(t)return t;throw"both async and sync fetching of the wasm failed"}(e)})}function j(e,t,r,n){return function(e,t,r){return U(e).then(function(e){return WebAssembly.instantiate(e,t)}).then(function(e){return e}).then(r,function(e){f("failed to asynchronously prepare wasm: ".concat(e)),S(e)})}(t,r,n)}N(k="data:application/octet-stream;base64,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IAEoAgA2AgAgAiABKAIENgIEIAIgASgCCDYCCCACIAEoAgw2AgwgAiABKAIQNgIQIAIgASgCFDYCFCACIAEoAhg2AhggAiABKAIcNgIcIAIgASgCIDYCICACIAEoAiQ2AiQgAiABKAIoNgIoIAIgASgCLDYCLCACIAEoAjA2AjAgAiABKAI0NgI0IAIgASgCODYCOCACIAEoAjw2AjwgAUFAayEBIAJBQGsiAiAFTQ0ACwsgAiAETw0BA0AgAiABKAIANgIAIAFBBGohASACQQRqIgIgBEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAACwsAIAEgAiAAEEIaCxIAIAFBAXRBsMoAakECIAAQQgv5AQEEfwJ/IAEQKiECIwBBEGsiBSQAAn8gAC0AC0EHdgRAIAAoAgQMAQsgAC0AC0H/AHELIgRBAE8EQAJAIAIgAC0AC0EHdgR/IAAoAghB/////wdxQQFrBUEKCyIDIARrTQRAIAJFDQECfyAALQALQQd2BEAgACgCAAwBCyAACyIDIAQEfyACIANqIAMgBBBFIAEgAkEAIAMgBGogAUsbQQAgASADTxtqBSABCyACEEUgACACIARqIgEQMSAFQQA6AA8gASADaiAFLQAPOgAADAELIAAgAyACIARqIANrIARBACACIAEQRAsgBUEQaiQAIAAMAQsQJwALC/ICAgJ/AX4CQCACRQ0AIAAgAToAACAAIAJqIgNBAWsgAToAACACQQNJDQAgACABOgACIAAgAToAASADQQNrIAE6AAAgA0ECayABOgAAIAJBB0kNACAAIAE6AAMgA0EEayABOgAAIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQQRrIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkEIayABNgIAIAJBDGsgATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBEGsgATYCACACQRRr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ACACQQA6AA8DQCABBEAgACACLQAPOgAAIAFBAWshASAAQQFqIQAMAQsLIAJBEGokAAsaACAALQALQQd2BEAgACgCCBogACgCABAZCwvmAQEFfyMAQRBrIgUkACMAQSBrIgMkACMAQRBrIgQkACAEIAA2AgwgBCAAIAFqNgIIIAMgBCgCDDYCGCADIAQoAgg2AhwgBEEQaiQAIAMoAhghBCADKAIcIQYjAEEQayIBJAAgASAGNgIMIAIgBCAGIARrIgQQQyABIAIgBGo2AgggAyABKAIMNgIQIAMgASgCCDYCFCABQRBqJAAgAyAAIAMoAhAgAGtqNgIMIAMgAiADKAIUIAJrajYCCCAFIAMoAgw2AgggBSADKAIINgIMIANBIGokACAFKAIMIQcgBUEQaiQAIAcLDwAgAgRAIAAgASACEDILC/UCAQV/IwBBEGsiByQAIAIgAUF/c0Hv////B2pNBEACfyAALQALQQd2BEAgACgCAAwBCyAACyEIIAdBBGoiCSAAIAFB5////wNJBH8gByABQQF0NgIMIAcgASACajYCBCMAQRBrIgIkACAJKAIAIAdBDGoiCigCAEkhCyACQRBqJAAgCiAJIAsbKAIAIgJBC08EfyACQRBqQXBxIgIgAkEBayICIAJBC0YbBUEKC0EBagVB7////wcLEDAgBygCBCECIAcoAggaIAQEQCACIAggBBAjCyAFBEAgAiAEaiAGIAUQIwsgAyAEayEGIAMgBEcEQCACIARqIAVqIAQgCGogBhAjCyABQQpHBEAgCBAZCyAAIAI2AgAgACAAKAIIQYCAgIB4cSAHKAIIQf////8HcXI2AgggACAAKAIIQYCAgIB4cjYCCCAAIAQgBWogBmoiADYCBCAHQQA6AAwgACACaiAHLQAMOgAAIAdBEGokAA8LECcACwoAIAAgASACEEMLuQEBBH8jAEEQayIEJAAgBCACNgIMIwBBoAFrIgMkACADIAAgA0GeAWogARsiBjYClAFBfyEFIAMgAUEBayIAQQAgACABTRs2ApgBIANBAEGQARAmIgBBfzYCTCAAQSA2AiQgAEF/NgJQIAAgAEGfAWo2AiwgACAAQZQBajYCVAJAIAFBAEgEQEGo3gBBPTYCAAwBCyAGQQA6AAAgAEH9CiACQR8QTSEFCyAAQaABaiQAIARBEGokACAFCwQAIAALmQIAIABFBEBBAA8LAn8CQCAABH8gAUH/AE0NAQJAQfTVACgCACgCAEUEQCABQYB/cUGAvwNGDQMMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAgwECyABQYBAcUGAwANHIAFBgLADT3FFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwECwtBqN4AQRk2AgBBfwVBAQsMAQsgACABOgAAQQELC54YAxN/AXwCfiMAQbAEayIMJAAgDEEANgIsAkAgAb0iGkIAUwRAQQEhD0GUCCETIAGaIgG9IRoMAQsgBEGAEHEEQEEBIQ9BlwghEwwBC0GaCEGVCCAEQQFxIg8bIRMgD0UhFQsCQCAaQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEEgIAIgD0EDaiIDIARB//97cRAfIAAgEyAPEB0gAEHLCUHVCyAFQSBxIgUbQfkKQdkLIAUbIAEgAWIbQQMQHSAAQSAgAiADIARBgMAAcxAfIAMgAiACIANIGyEJDAELIAxBEGohEgJAAn8CQCABIAxBLGoQTiIBIAGgIgFEAAAAAAAAAABiBEAgDCAMKAIsIgZBAWs2AiwgBUEgciIOQeEARw0BDAMLIAVBIHIiDkHhAEYNAiAMKAIsIQpBBiADIANBAEgbDAELIAwgBkEdayIKNgIsIAFEAAAAAAAAsEGiIQFBBiADIANBAEgbCyELIAxBMGpBoAJBACAKQQBOG2oiDSEHA0AgBwJ/IAFEAAAAAAAA8EFjIAFEAAAAAAAAAABmcQRAIAGrDAELQQALIgM2AgAgB0EEaiEHIAEgA7ihRAAAAABlzc1BoiIBRAAAAAAAAAAAYg0ACwJAIApBAEwEQCAKIQMgByEGIA0hCAwBCyANIQggCiEDA0BBHSADIANBHU4bIQMCQCAHQQRrIgYgCEkNACADrSEbQgAhGgNAIAYgGkL/////D4MgBjUCACAbhnwiGiAaQoCU69wDgCIaQoCU69wDfn0+AgAgBkEEayIGIAhPDQALIBqnIgZFDQAgCEEEayIIIAY2AgALA0AgCCAHIgZJBEAgBkEEayIHKAIARQ0BCwsgDCAMKAIsIANrIgM2AiwgBiEHIANBAEoNAAsLIANBAEgEQCALQRlqQQluQQFqIRAgDkHmAEYhEQNAQQlBACADayIDIANBCU4bIQkCQCAGIAhNBEAgCCgCACEHDAELQYCU69wDIAl2IRRBfyAJdEF/cyEWQQAhAyAIIQcDQCAHIAMgBygCACIXIAl2ajYCACAWIBdxIBRsIQMgB0EEaiIHIAZJDQALIAgoAgAhByADRQ0AIAYgAzYCACAGQQRqIQYLIAwgDCgCLCAJaiIDNgIsIA0gCCAHRUECdGoiCCARGyIHIBBBAnRqIAYgBiAHa0ECdSAQShshBiADQQBIDQALC0EAIQMCQCAGIAhNDQAgDSAIa0ECdUEJbCEDQQohByAIKAIAIglBCkkNAANAIANBAWohAyAJIAdBCmwiB08NAAsLIAsgA0EAIA5B5gBHG2sgDkHnAEYgC0EAR3FrIgcgBiANa0ECdUEJbEEJa0gEQCAMQTBqQQRBpAIgCkEASBtqIAdBgMgAaiIJQQltIhFBAnRqIhBBgCBrIQpBCiEHIAkgEUEJbGsiCUEHTARAA0AgB0EKbCEHIAlBAWoiCUEIRw0ACwsCQCAKKAIAIhEgESAHbiIUIAdsayIJRSAQQfwfayIWIAZGcQ0AAkAgFEEBcUUEQEQAAAAAAABAQyEBIAdBgJTr3ANHDQEgCCAKTw0BIBBBhCBrLQAAQQFxRQ0BC0QBAAAAAABAQyEBC0QAAAAAAADgP0QAAAAAAADwP0QAAAAAAAD4PyAGIBZGG0QAAAAAAAD4PyAJIAdBAXYiFEYbIAkgFEkbIRkCQCAVDQAgEy0AAEEtRw0AIBmaIRkgAZohAQsgCiARIAlrIgk2AgAgASAZoCABYQ0AIAogByAJaiIDNgIAIANBgJTr3ANPBEADQCAKQQA2AgAgCCAKQQRrIgpLBEAgCEEEayIIQQA2AgALIAogCigCAEEBaiIDNgIAIANB/5Pr3ANLDQALCyANIAhrQQJ1QQlsIQNBCiEHIAgoAgAiCUEKSQ0AA0AgA0EBaiEDIAkgB0EKbCIHTw0ACwsgCkEEaiIHIAYgBiAHSxshBgsDQCAGIgcgCE0iCUUEQCAGQQRrIgYoAgBFDQELCwJAIA5B5wBHBEAgBEEIcSEKDAELIANBf3NBfyALQQEgCxsiBiADSiADQXtKcSIKGyAGaiELQX9BfiAKGyAFaiEFIARBCHEiCg0AQXchBgJAIAkNACAHQQRrKAIAIg5FDQBBCiEJQQAhBiAOQQpwDQADQCAGIgpBAWohBiAOIAlBCmwiCXBFDQALIApBf3MhBgsgByANa0ECdUEJbCEJIAVBX3FBxgBGBEBBACEKIAsgBiAJakEJayIGQQAgBkEAShsiBiAGIAtKGyELDAELQQAhCiALIAMgCWogBmpBCWsiBkEAIAZBAEobIgYgBiALShshCwtBfyEJIAtB/f///wdB/v///wcgCiALciIRG0oNASALIBFBAEdqQQFqIQ4CQCAFQV9xIhVBxgBGBEAgAyAOQf////8Hc0oNAyADQQAgA0EAShshBgwBCyASIAMgA0EfdSIGcyAGa60gEhApIgZrQQFMBEADQCAGQQFrIgZBMDoAACASIAZrQQJIDQALCyAGQQJrIhAgBToAACAGQQFrQS1BKyADQQBIGzoAACASIBBrIgYgDkH/////B3NKDQILIAYgDmoiAyAPQf////8Hc0oNASAAQSAgAiADIA9qIgUgBBAfIAAgEyAPEB0gAEEwIAIgBSAEQYCABHMQHwJAAkACQCAVQcYARgRAIAxBEGoiBkEIciEDIAZBCXIhCiANIAggCCANSxsiCSEIA0AgCDUCACAKECkhBgJAIAggCUcEQCAGIAxBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAxBEGpLDQALDAELIAYgCkcNACAMQTA6ABggAyEGCyAAIAYgCiAGaxAdIAhBBGoiCCANTQ0ACyARBEAgAEGhEkEBEB0LIAcgCE0NASALQQBMDQEDQCAINQIAIAoQKSIGIAxBEGpLBEADQCAGQQFrIgZBMDoAACAGIAxBEGpLDQALCyAAIAZBCSALIAtBCU4bEB0gC0EJayEGIAhBBGoiCCAHTw0DIAtBCUohGCAGIQsgGA0ACwwCCwJAIAtBAEgNACAHIAhBBGogByAISxshCSAMQRBqIgZBCHIhAyAGQQlyIQ0gCCEHA0AgDSAHNQIAIA0QKSIGRgRAIAxBMDoAGCADIQYLAkAgByAIRwRAIAYgDEEQak0NAQNAIAZBAWsiBkEwOgAAIAYgDEEQaksNAAsMAQsgACAGQQEQHSAGQQFqIQYgCiALckUNACAAQaESQQEQHQsgACAGIA0gBmsiBiALIAYgC0gbEB0gCyAGayELIAdBBGoiByAJTw0BIAtBAE4NAAsLIABBMCALQRJqQRJBABAfIAAgECASIBBrEB0MAgsgCyEGCyAAQTAgBkEJakEJQQAQHwsgAEEgIAIgBSAEQYDAAHMQHyAFIAIgAiAFSBshCQwBCyATIAVBGnRBH3VBCXFqIQgCQCADQQtLDQBBDCADayEGRAAAAAAAADBAIRkDQCAZRAAAAAAAADBAoiEZIAZBAWsiBg0ACyAILQAAQS1GBEAgGSABmiAZoaCaIQEMAQsgASAZoCAZoSEBCyASIAwoAiwiBiAGQR91IgZzIAZrrSASECkiBkYEQCAMQTA6AA8gDEEPaiEGCyAPQQJyIQsgBUEgcSENIAwoAiwhByAGQQJrIgogBUEPajoAACAGQQFrQS1BKyAHQQBIGzoAACAEQQhxIQYgDEEQaiEHA0AgByIFAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgdB8MkAai0AACANcjoAACABIAe3oUQAAAAAAAAwQKIhAQJAIAVBAWoiByAMQRBqa0EBRw0AAkAgBg0AIANBAEoNACABRAAAAAAAAAAAYQ0BCyAFQS46AAEgBUECaiEHCyABRAAAAAAAAAAAYg0AC0F/IQlB/f///wcgCyASIAprIgZqIg1rIANIDQAgAEEgIAIgDSADQQJqIAcgDEEQaiIHayIFIAVBAmsgA0gbIAUgAxsiCWoiAyAEEB8gACAIIAsQHSAAQTAgAiADIARBgIAEcxAfIAAgByAFEB0gAEEwIAkgBWtBAEEAEB8gACAKIAYQHSAAQSAgAiADIARBgMAAcxAfIAMgAiACIANIGyEJCyAMQbAEaiQAIAkLvAIAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACAkKCAkBAgMECgkKCggJBQYHCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEzAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEwAAA3AwAPCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCyAAIAIgAxEAAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALcgEDfyAAKAIALAAAQTBrQQpPBEBBAA8LA0AgACgCACEDQX8hASACQcyZs+YATQRAQX8gAywAAEEwayIBIAJBCmwiAmogASACQf////8Hc0obIQELIAAgA0EBajYCACABIQIgAywAAUEwa0EKSQ0ACyACC9AUAhh/AX4jAEHQAGsiByQAIAcgATYCTCAEQcABayEXIANBgANrIRggB0E3aiEZIAdBOGohEwJAAkACQANAQQAhBgNAIAEhDCAGIBJB/////wdzSg0CIAYgEmohEgJAAkACQCABIgYtAAAiCARAA0ACQAJAIAhB/wFxIgFFBEAgBiEBDAELIAFBJUcNASAGIQgDQCAILQABQSVHBEAgCCEBDAILIAZBAWohBiAILQACIRsgCEECaiIBIQggG0ElRg0ACwsgBiAMayIGIBJB/////wdzIhpKDQggAARAIAAgDCAGEB0LIAYNBiAHIAE2AkwgAUEBaiEGQX8hDgJAIAEsAAFBMGsiCkEKTw0AIAEtAAJBJEcNACABQQNqIQYgCiEOQQEhFAsgByAGNgJMQQAhCwJAIAYsAAAiCEEgayIBQR9LBEAgBiEKDAELIAYhCkEBIAF0IgFBidEEcUUNAANAIAcgBkEBaiIKNgJMIAEgC3IhCyAGLAABIghBIGsiAUEgTw0BIAohBkEBIAF0IgFBidEEcQ0ACwsCQCAIQSpGBEAgCkEBaiEIAn8CQCAKLAABQTBrQQpPDQAgCi0AAkEkRw0AIAgsAAAhASAKQQNqIQhBASEUAn8gAEUEQCAXIAFBAnRqQQo2AgBBAAwBCyAYIAFBA3RqKAIACwwBCyAUDQYgAEUEQCAHIAg2AkxBACEUQQAhDwwDCyACIAIoAgAiAUEEajYCAEEAIRQgASgCAAshDyAHIAg2AkwgD0EATg0BQQAgD2shDyALQYDAAHIhCwwBCyAHQcwAahBLIg9BAEgNCSAHKAJMIQgLQQAhBkF/IQkCfyAILQAAQS5HBEAgCCEBQQAMAQsgCC0AAUEqRgRAIAhBAmohAQJAAkAgCCwAAkEwa0EKTw0AIAgtAANBJEcNACABLAAAIQECfyAARQRAIBcgAUECdGpBCjYCAEEADAELIBggAUEDdGooAgALIQkgCEEEaiEBDAELIBQNBiAARQRAQQAhCQwBCyACIAIoAgAiCkEEajYCACAKKAIAIQkLIAcgATYCTCAJQQBODAELIAcgCEEBajYCTCAHQcwAahBLIQkgBygCTCEBQQELIRUDQCAGIQ1BHCEQIAEiESwAACIGQfsAa0FGSQ0KIAFBAWohASAGIA1BOmxqQd/FAGotAAAiBkEBa0EISQ0ACyAHIAE2AkwCQCAGQRtHBEAgBkUNCyAOQQBOBEAgAEUEQCAEIA5BAnRqIAY2AgAMCwsgByADIA5BA3RqKQMANwNADAILIABFDQcgB0FAayAGIAIgBRBKDAELIA5BAE4NCkEAIQYgAEUNBwtBfyEQIAAtAABBIHENCiALQf//e3EiCCALIAtBgMAAcRshC0EAIQ5BigghFiATIQoCQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQCARLAAAIgZBX3EgBiAGQQ9xQQNGGyAGIA0bIgZB2ABrDiEEFBQUFBQUFBQOFA8GDg4OFAYUFBQUAgUDFBQJFAEUFAQACwJAIAZBwQBrDgcOFAsUDg4OAAsgBkHTAEYNCQwTCyAHKQNAIR5BiggMBQtBACEGAkACQAJAAkACQAJAAkAgDUH/AXEOCAABAgMEGgUGGgsgBygCQCASNgIADBkLIAcoAkAgEjYCAAwYCyAHKAJAIBKsNwMADBcLIAcoAkAgEjsBAAwWCyAHKAJAIBI6AAAMFQsgBygCQCASNgIADBQLIAcoAkAgEqw3AwAMEwtBCCAJIAlBCE0bIQkgC0EIciELQfgAIQYLIBMhASAHKQNAIh5CAFIEQCAGQSBxIQgDQCABQQFrIgEgHqdBD3FB8MkAai0AACAIcjoAACAeQg9WIRwgHkIEiCEeIBwNAAsLIAEhDCAHKQNAUA0DIAtBCHFFDQMgBkEEdkGKCGohFkECIQ4MAwsgEyEBIAcpA0AiHkIAUgRAA0AgAUEBayIBIB6nQQdxQTByOgAAIB5CB1YhHSAeQgOIIR4gHQ0ACwsgASEMIAtBCHFFDQIgCSATIAFrIgFBAWogASAJSBshCQwCCyAHKQNAIh5CAFMEQCAHQgAgHn0iHjcDQEEBIQ5BiggMAQsgC0GAEHEEQEEBIQ5BiwgMAQtBjAhBigggC0EBcSIOGwshFiAeIBMQKSEMCyAVIAlBAEhxDQ8gC0H//3txIAsgFRshCwJAIAcpA0AiHkIAUg0AIAkNACATIQxBACEJDAwLIAkgHlAgEyAMa2oiASABIAlIGyEJDAsLAn9B/////wcgCSAJQf////8HTxsiCiIRQQBHIQsCQAJAAkAgBygCQCIBQa8SIAEbIgwiBiINQQNxRQ0AIBFFDQADQCANLQAARQ0CIBFBAWsiEUEARyELIA1BAWoiDUEDcUUNASARDQALCyALRQ0BAkAgDS0AAEUNACARQQRJDQADQCANKAIAIgFBf3MgAUGBgoQIa3FBgIGChHhxDQIgDUEEaiENIBFBBGsiEUEDSw0ACwsgEUUNAQsDQCANIA0tAABFDQIaIA1BAWohDSARQQFrIhENAAsLQQALIgEgBmsgCiABGyIBIAxqIQogCUEATgRAIAghCyABIQkMCwsgCCELIAEhCSAKLQAADQ4MCgsgCQRAIAcoAkAMAgtBACEGIABBICAPQQAgCxAfDAILIAdBADYCDCAHIAcpA0A+AgggByAHQQhqIgY2AkBBfyEJIAYLIQhBACEGAkADQCAIKAIAIgxFDQECQCAHQQRqIAwQSCIKQQBIIgwNACAKIAkgBmtLDQAgCEEEaiEIIAYgCmoiBiAJSQ0BDAILCyAMDQ4LQT0hECAGQQBIDQwgAEEgIA8gBiALEB8gBkUEQEEAIQYMAQtBACEKIAcoAkAhCANAIAgoAgAiDEUNASAHQQRqIgkgDBBIIgwgCmoiCiAGSw0BIAAgCSAMEB0gCEEEaiEIIAYgCksNAAsLIABBICAPIAYgC0GAwABzEB8gDyAGIAYgD0gbIQYMCAsgFSAJQQBIcQ0JQT0hECAAIAcrA0AgDyAJIAsgBhBJIgZBAE4NBwwKCyAHIAcpA0A8ADdBASEJIBkhDCAIIQsMBAsgBi0AASEIIAZBAWohBgwACwALIBIhECAADQcgFEUNAkEBIQYDQCAEIAZBAnRqKAIAIgAEQCADIAZBA3RqIAAgAiAFEEpBASEQIAZBAWoiBkEKRw0BDAkLC0EBIRAgBkEKTw0HA0AgBCAGQQJ0aigCAA0BIAZBAWoiBkEKRw0ACwwHC0EcIRAMBQsgCSAKIAxrIgogCSAKShsiASAOQf////8Hc0oNA0E9IRAgDyABIA5qIgggCCAPSBsiBiAaSg0EIABBICAGIAggCxAfIAAgFiAOEB0gAEEwIAYgCCALQYCABHMQHyAAQTAgASAKQQAQHyAAIAwgChAdIABBICAGIAggC0GAwABzEB8gBygCTCEBDAELCwtBACEQDAILQT0hEAtBqN4AIBA2AgBBfyEQCyAHQdAAaiQAIBALvwIBBX8jAEHQAWsiBCQAIAQgAjYCzAEgBEGgAWoiAkEAQSgQJhogBCAEKALMATYCyAECQEEAIAEgBEHIAWogBEHQAGogAiADEExBAEgEQEF/IQMMAQsgACgCTEEASCEIIAAgACgCACIHQV9xNgIAAn8CQAJAIAAoAjBFBEAgAEHQADYCMCAAQQA2AhwgAEIANwMQIAAoAiwhBSAAIAQ2AiwMAQsgACgCEA0BC0F/IAAQTw0BGgsgACABIARByAFqIARB0ABqIARBoAFqIAMQTAshAiAFBEAgAEEAQQAgACgCJBECABogAEEANgIwIAAgBTYCLCAAQQA2AhwgACgCFCEBIABCADcDECACQX8gARshAgsgACAAKAIAIgAgB0EgcXI2AgBBfyACIABBIHEbIQMgCA0ACyAEQdABaiQAIAMLfgIBfwF+IAC9IgNCNIinQf8PcSICQf8PRwR8IAJFBEAgASAARAAAAAAAAAAAYQR/QQAFIABEAAAAAAAA8EOiIAEQTiEAIAEoAgBBQGoLNgIAIAAPCyABIAJB/gdrNgIAIANC/////////4eAf4NCgICAgICAgPA/hL8FIAALC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEACwIAC/ADAEH8zgBBoQsQFUGUzwBB9wlBAUEAEBRBoM8AQa4JQQFBgH9B/wAQBkG4zwBBpwlBAUGAf0H/ABAGQazPAEGlCUEBQQBB/wEQBkHEzwBBsAhBAkGAgH5B//8BEAZB0M8AQacIQQJBAEH//wMQBkHczwBBvwhBBEGAgICAeEH/////BxAGQejPAEG2CEEEQQBBfxAGQfTPAEGwCkEEQYCAgIB4Qf////8HEAZBgNAAQacKQQRBAEF/EAZBjNAAQc8IQoCAgICAgICAgH9C////////////ABBUQZjQAEHOCEIAQn8QVEGk0ABByAhBBBAPQbDQAEGGC0EIEA9B4C5BzwoQDkG4L0HVDxAOQYAwQQRBtQoQC0HMMEECQdsKEAtBmDFBBEHqChALQYQtQfwJEBNBwDFBAEGQDxAAQegxQQBB9g8QAEGQMkEBQa4PEABBuDJBAkHdCxAAQeAyQQNB/AsQAEGIM0EEQaQMEABBsDNBBUHBDBAAQdgzQQRBmxAQAEGANEEFQbkQEABB6DFBAEGnDRAAQZAyQQFBhg0QAEG4MkECQekNEABB4DJBA0HHDRAAQYgzQQRB7w4QAEGwM0EFQc0OEABBqDRBCEGsDhAAQdA0QQlBig4QAEH4NEEGQecMEABBoDVBB0HgEBAAC2YBA39B2AAQLUHQAGoiAUHg0QA2AgAgAUGM0gA2AgAgABAqIgJBDWoQHCIDQQA2AgggAyACNgIEIAMgAjYCACABIANBDGogACACQQFqECI2AgQgAUG80gA2AgAgAUHc0gBBGBAWAAvYAwIEfwF8IwBBEGsiBCQAIAQgAjYCCCAEQQA2AgRBtNQALQAAQQFxRQRAQQJBjC5BABAFIQJBtNQAQQE6AABBsNQAIAI2AgALAn9BsNQAKAIAIAEoAgRBigkgBEEEaiAEQQhqEAQiCEQAAAAAAADwQWMgCEQAAAAAAAAAAGZxBEAgCKsMAQtBAAshBSAEKAIEIQIgACAFNgIEIABBlNUANgIAIAIEQCACEAELIwBBIGsiAiQAIAAoAgQiBRACIAIgBTYCECADKAIEIAMtAAsiBSAFwEEASCIHGyIFQQRqEC0iBiAFNgIAIAZBBGogAygCACADIAcbIAUQIhogAiAGNgIYIAJBADYCDEG81AAtAABBAXFFBEBBA0GULkEAEAUhA0G81ABBAToAAEG41AAgAzYCAAtBuNQAKAIAIAEoAgRBlAsgAkEMaiACQRBqEAQaIAIoAgwiAwRAIAMQAQsgAkEgaiQAIAAoAgQiABACIAQgADYCCCAEQQA2AgRBrNQALQAAQQFxRQRAQQJB/C1BABAFIQBBrNQAQQE6AABBqNQAIAA2AgALQajUACgCACABKAIEQZcJIARBBGogBEEIahAEGiAEKAIEIgAEQCAAEAELIARBEGokAAscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAQC4sEAQJ/QaAsQbQsQdAsQQBB4CxBAUHjLEEAQeMsQQBBmhJB5SxBAhAYQaAsQQJB6CxBjC1BA0EEEBdBCBAcIgBBADYCBCAAQQU2AgBBCBAcIgFBADYCBCABQQY2AgBBoCxB6QhBhC1BjC1BByAAQYQtQZAtQQggARAKQQgQHCIAQQA2AgQgAEEJNgIAQQgQHCIBQQA2AgQgAUEKNgIAQaAsQY0LQYQtQYwtQQcgAEGELUGQLUEIIAEQCkEIEBwiAEEANgIEIABBCzYCAEEIEBwiAUEANgIEIAFBDDYCAEGgLEHXCEGELUGMLUEHIABBhC1BkC1BCCABEApBCBAcIgBBADYCBCAAQQ02AgBBCBAcIgFBADYCBCABQQ42AgBBoCxBwglBhC1BjC1BByAAQYQtQZAtQQggARAKQQgQHCIAQQA2AgQgAEEPNgIAQaAsQYAIQQdBoC1BvC1BECAAQQBBABAIQQgQHCIAQQA2AgQgAEERNgIAQaAsQYwKQQZB0C1B6C1BEiAAQQBBABAIQQgQHCIAQQA2AgQgAEETNgIAQaAsQZkKQQJB8C1B+C1BFCAAQQBBABAIQQgQHCIAQQA2AgQgAEEVNgIAQaAsQYALQQJB8C1B+C1BFCAAQQBBABAIQQgQHCIAQQA2AgQgAEEWNgIAQaAsQcMIQQJBhC5BjC1BFyAAQQBBABAICwcAIAAoAgQLBQBBswkLFgAgAEUEQEEADwsgAEGszQAQIEEARwsaACAAIAEoAgggBRAeBEAgASACIAMgBBA7Cws3ACAAIAEoAgggBRAeBEAgASACIAMgBBA7DwsgACgCCCIAIAEgAiADIAQgBSAAKAIAKAIUEQkAC6cBACAAIAEoAgggBBAeBEACQCABKAIEIAJHDQAgASgCHEEBRg0AIAEgAzYCHAsPCwJAIAAgASgCACAEEB5FDQACQCACIAEoAhBHBEAgASgCFCACRw0BCyADQQFHDQEgAUEBNgIgDwsgASACNgIUIAEgAzYCICABIAEoAihBAWo2AigCQCABKAIkQQFHDQAgASgCGEECRw0AIAFBAToANgsgAUEENgIsCwuIAgAgACABKAIIIAQQHgRAAkAgASgCBCACRw0AIAEoAhxBAUYNACABIAM2AhwLDwsCQCAAIAEoAgAgBBAeBEACQCACIAEoAhBHBEAgASgCFCACRw0BCyADQQFHDQIgAUEBNgIgDwsgASADNgIgAkAgASgCLEEERg0AIAFBADsBNCAAKAIIIgAgASACIAJBASAEIAAoAgAoAhQRCQAgAS0ANQRAIAFBAzYCLCABLQA0RQ0BDAMLIAFBBDYCLAsgASACNgIUIAEgASgCKEEBajYCKCABKAIkQQFHDQEgASgCGEECRw0BIAFBAToANg8LIAAoAggiACABIAIgAyAEIAAoAgAoAhgRCAALC2kBAn8jAEEQayIDJAAgASAAKAIEIgRBAXVqIQEgACgCACEAIARBAXEEQCABKAIAIABqKAIAIQALIAMgAjYCDCADQZTVADYCCCABIANBCGogABEAACADKAIMIgAEQCAAEAMLIANBEGokAAuEBQEEfyMAQUBqIgQkAAJAIAFBiM8AQQAQHgRAIAJBADYCAEEBIQUMAQsCQCAAIAEgAC0ACEEYcQR/QQEFIAFFDQEgAUH8zAAQICIDRQ0BIAMtAAhBGHFBAEcLEB4hBgsgBgRAQQEhBSACKAIAIgBFDQEgAiAAKAIANgIADAELAkAgAUUNACABQazNABAgIgZFDQEgAigCACIBBEAgAiABKAIANgIACyAGKAIIIgMgACgCCCIBQX9zcUEHcQ0BIANBf3MgAXFB4ABxDQFBASEFIAAoAgwgBigCDEEAEB4NASAAKAIMQfzOAEEAEB4EQCAGKAIMIgBFDQIgAEHgzQAQIEUhBQwCCyAAKAIMIgNFDQBBACEFIANBrM0AECAiAQRAIAAtAAhBAXFFDQICfyAGKAIMIQBBACECAkADQEEAIABFDQIaIABBrM0AECAiA0UNASADKAIIIAEoAghBf3NxDQFBASABKAIMIAMoAgxBABAeDQIaIAEtAAhBAXFFDQEgASgCDCIARQ0BIABBrM0AECAiAQRAIAMoAgwhAAwBCwsgAEGczgAQICIARQ0AIAAgAygCDBA8IQILIAILIQUMAgsgA0GczgAQICIBBEAgAC0ACEEBcUUNAiABIAYoAgwQPCEFDAILIANBzMwAECAiAUUNASAGKAIMIgBFDQEgAEHMzAAQICIARQ0BIARBDGpBAEE0ECYaIARBATYCOCAEQX82AhQgBCABNgIQIAQgADYCCCAAIARBCGogAigCAEEBIAAoAgAoAhwRBgACQCAEKAIgIgBBAUcNACACKAIARQ0AIAIgBCgCGDYCAAsgAEEBRiEFDAELQQAhBQsgBEFAayQAIAULMQAgACABKAIIQQAQHgRAIAEgAiADED0PCyAAKAIIIgAgASACIAMgACgCACgCHBEGAAsYACAAIAEoAghBABAeBEAgASACIAMQPQsLnQEBAn8jAEFAaiIDJAACf0EBIAAgAUEAEB4NABpBACABRQ0AGkEAIAFBzMwAECAiAUUNABogA0EMakEAQTQQJhogA0EBNgI4IANBfzYCFCADIAA2AhAgAyABNgIIIAEgA0EIaiACKAIAQQEgASgCACgCHBEGACADKAIgIgBBAUYEQCACIAMoAhg2AgALIABBAUYLIQQgA0FAayQAIAQLCgAgACABQQAQHgtOAgF/AXwjAEEQayICJAAgAkEANgIMIAEoAgRBlM8AIAJBDGoQCSEDIAIoAgwiAQRAIAEQAQsgACADRAAAAAAAAAAAYjoAOCACQRBqJAALNwEBfyMAQRBrIgIkACACIAEtADg2AgggAEGUzwAgAkEIahAHNgIEIABBlNUANgIAIAJBEGokAAuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECIaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECIaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACC5wBAQJ/IwBBEGsiAiQAQcgAEBwhASAAKAIEIgAQAiACIAA2AgggAUGELSACQQhqEAc2AgQgAUGU1QA2AgAgAUEBNgIcIAFBlNUANgIYIAFBATYCFCABQZTVADYCECABQQE2AgwgAUGU1QA2AgggAUEAOgAgIAFBADYCRCABQoCAgIAwNwI8IAFBADsANyABQQA7ACsgAkEQaiQAIAELigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBSMAQSBrIgAkAAJAIAVC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBUIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAhSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBUIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIBQZH3AEkNACADIQIgBUL///////8/g0KAgICAgIDAAIQiBCEGAkAgAUGB9wBrIghBwABxBEAgAyAIQUBqrYYhBkIAIQIMAQsgCEUNACAGIAitIgeGIAJBwAAgCGutiIQhBiACIAeGIQILIAAgAjcDECAAIAY3AxgCQEGB+AAgAWsiAUHAAHEEQCAEIAFBQGqtiCEDQgAhBAwBCyABRQ0AIARBwAAgAWuthiADIAGtIgKIhCEDIAQgAoghBAsgACADNwMAIAAgBDcDCCAAKQMIQgSGIAApAwAiA0I8iIQhAiAAKQMQIAApAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIABBIGokACAJIAIgBUKAgICAgICAgIB/g4S/OQMAC0ABAn8jAEEQayICJAAgAiABNgIMIAJBlNUANgIIIAJBCGogABEBACEDIAIoAgwiAQRAIAEQAwsgAkEQaiQAIAMLBABCAAsEAEEAC/YCAQh/IwBBIGsiAyQAIAMgACgCHCIENgIQIAAoAhQhBSADIAI2AhwgAyABNgIYIAMgBSAEayIBNgIUIAEgAmohBUECIQcCfwJAAkACQCAAKAI8IANBEGoiAUECIANBDGoQDSIEBH9BqN4AIAQ2AgBBfwVBAAsEQCABIQQMAQsDQCAFIAMoAgwiBkYNAiAGQQBIBEAgASEEDAQLIAEgBiABKAIEIghLIglBA3RqIgQgBiAIQQAgCRtrIgggBCgCAGo2AgAgAUEMQQQgCRtqIgEgASgCACAIazYCACAFIAZrIQUgACgCPCAEIgEgByAJayIHIANBDGoQDSIGBH9BqN4AIAY2AgBBfwVBAAtFDQALCyAFQX9HDQELIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhAgAgwBCyAAQQA2AhwgAEIANwMQIAAgACgCAEEgcjYCAEEAIAdBAkYNABogAiAEKAIEawshCiADQSBqJAAgCgt+AQF/IAAEQCAALAA3QQBIBEAgACgCLBAZCyAALAArQQBIBEAgACgCIBAZCyAAKAIcIgEEQCABEAMgAEEANgIcCyAAKAIUIgEEQCABEAMgAEEANgIUCyAAKAIMIgEEQCABEAMgAEEANgIMCyAAKAIEIgEEQCABEAMLIAAQGQsLJAECfyAAKAIEIgAQKkEBaiIBEC0iAgR/IAIgACABECIFQQALC/AeAw1/AnwBfSMAQUBqIgMkACADQZADEBwiAjYCHCADQoODgICAsoCAgH83AiAgAkH9HUGDAxAiQQA6AIMDIANBHGoiAkGVEUGAESABLQA4GxAaGgJAIAICf0GAEiABKAJEIgJB2gBGDQAaIAJBjgJHBEAgAkG0AUcNAkHGEQwBC0HmEQsQGhoLIANBHGpB7CUQGhoCQAJAAkACQAJAIAEoAjxBAWsOAwABAgMLIANBKGohDSABKAJAIQwjAEGgAWsiBiQAIwBBEGsiBCQAIARBADYCDCAEQgA3AgQgBEE4EBwiAjYCBCAEIAJBOGoiBTYCDCACQQBBOBAmGiAEIAU2AggCfyAGQZQBaiIFQQA2AgggBUIANwIAIAVB1AAQHCICNgIEIAUgAjYCACAFIAJB1ABqIgg2AggCQAJAIAQoAggiByAEKAIEIglGBEAgAkEAQdQAECYaDAELIAcgCWsiCkEDdSIHQYCAgIACTw0BIAdBA3QhCwNAIAJBADYCCCACQgA3AgAgAiAKEBwiBzYCBCACIAc2AgAgAiAHIAtqIg42AgggByAJIAoQIhogAiAONgIEIAJBDGoiAiAIRw0ACwsgBSAINgIEIAUMAQsgAkEANgIIIAJCADcCAEHiCBBSAAshCSAEKAIEIgIEQCAEIAI2AgggAhAZC0EAIQIDQCAJKAIAIAJBDGxqIQcgAiACbCEIAkAgAkUEQEEAIQUDQCAFIAVsIAhqt58iD0QAAAAAAAAcQGUEQCAHKAIAIAVBA3RqIA8gD5qiRAAAAAAAADJAoxA2RAMkJUW5G5I/oiIPOQMAIA8gEKAhEAsgBUEBaiIFQQdHDQALDAELIAi3nyIPRAAAAAAAABxAZQRAIA8gD5qiRAAAAAAAADJAoxA2IQ8gBygCACAPRAMkJUW5G5I/oiIPOQMAIA8gEKAhEAtBASEFA0AgBSAFbCAIarefIg9EAAAAAAAAHEBlBEAgBygCACAFQQN0aiAPIA+aokQAAAAAAAAyQKMQNkQDJCVFuRuSP6IiDzkDACAPRAAAAAAAABBAoiAQoCEQCyAFQQFqIgVBB0cNAAsLIAJBAWoiAkEHRw0ACyAJKAIAIQlBACECA0AgCSACQQxsaigCACEHQQAhBUEAIQgDQCAHIAVBA3QiCmoiCyALKwMAIBCjOQMAIAcgCkEIcmoiCiAKKwMAIBCjOQMAIAVBAmohBSAIQQJqIghBBkcNAAsgByAFQQN0aiIFIAUrAwAgEKM5AwAgAkEBaiICQQdHDQALIARBEGokACAGQQA6AIgBIAZBADoAkwFBeiEFA0AgBSAMbCEHIAUgBUEfdSICcyACa0EMbCEIQXohAgNAAkAgBigClAEgCGooAgAgAiACQR91IgRzIARrQQN0aisDALYiEUMAAAAAXkUNACAGQRxqIgQgBxAvIAYgBEGcFhAlIgQoAgg2AjAgBiAEKQIANwMoIARCADcCACAEQQA2AgggBkFAayAGQShqQaMSEBoiBCgCCDYCACAGIAQpAgA3AzggBEIANwIAIARBADYCCCAGQRBqIgQgAiAMbBAvIAYgBkE4aiAGKAIQIAQgBi0AGyIEwEEASCIJGyAGKAIUIAQgCRsQGyIEKAIINgJQIAYgBCkCADcDSCAEQgA3AgAgBEEANgIIIAYgBkHIAGpBpxIQGiIEKAIINgJgIAYgBCkCADcDWCAEQgA3AgAgBEEANgIIIAZBBGoiBCAREC4gBiAGQdgAaiAGKAIEIAQgBi0ADyIEwEEASCIJGyAGKAIIIAQgCRsQGyIEKAIINgJwIAYgBCkCADcDaCAEQgA3AgAgBEEANgIIIAYgBkHoAGpBmBIQGiIEKAIINgKAASAGIAQpAgA3A3ggBEIANwIAIARBADYCCCAGQYgBaiAGKAJ4IAZB+ABqIAYtAIMBIgTAQQBIIgkbIAYoAnwgBCAJGxAbGiAGLACDAUEASARAIAYoAngQGQsgBiwAc0EASARAIAYoAmgQGQsgBiwAD0EASARAIAYoAgQQGQsgBiwAY0EASARAIAYoAlgQGQsgBiwAU0EASARAIAYoAkgQGQsgBiwAG0EASARAIAYoAhAQGQsgBiwAQ0EASARAIAYoAjgQGQsgBiwAM0EASARAIAYoAigQGQsgBiwAJ0EATg0AIAYoAhwQGQsgAkEBaiICQQdHDQALIAVBAWoiBUEHRw0ACyMAQRBrIgwkAEHOJRAqIQcCfyAGQYgBaiIFLQALQQd2BEAgBSgCBAwBCyAFLQALQf8AcQshCAJ/An8jAEEQayIJJAAgBkH4AGohAiAHIAhqIgRB7////wdNBEACQCAEQQtJBEAgAkIANwIAIAJBADYCCCACIAItAAtBgAFxIARB/wBxcjoACyACIAItAAtB/wBxOgALDAELIARBC08EfyAEQRBqQXBxIgogCkEBayIKIApBC0YbBUEKC0EBaiIKEBwhCyACIAIoAghBgICAgHhxIApB/////wdxcjYCCCACIAIoAghBgICAgHhyNgIIIAIgCzYCACACIAQ2AgQLIAlBEGokACACDAELECcACyIELQALQQd2BEAgBCgCAAwBCyAECyIEQc4lIAcQIyAEIAdqIgQCfyAFLQALQQd2BEAgBSgCAAwBCyAFCyAIECMgBCAIakEBEEAgDEEQaiQAIA0gAkGoKRAaIgIpAgA3AgAgDSACKAIINgIIIAJCADcCACACQQA2AgggBiwAgwFBAEgEQCAGKAJ4EBkLIAYsAJMBQQBIBEAgBigCiAEQGQsgBigClAEiBQRAIAYoApgBIgQgBSICRwRAA0AgBEEMayICKAIAIgcEQCAEQQhrIAc2AgAgBxAZCyACIgQgBUcNAAsgBigClAEhAgsgBiAFNgKYASACEBkLIAZBoAFqJAAgA0EcaiADKAIoIA0gAy0AMyICwEEASCIFGyADKAIsIAIgBRsQGxogAywAM0EATg0DIAMoAigQGQwDCyADQRxqQYEhEBoaDAILIANBHGpB5CsQGhoMAQsgA0EcakHNKxAaGgsCQAJAIAEoAjAgAS0ANyICIALAIgZBAEgbIgRBAWoiBUHw////B0kEQAJAAkAgBUELTwRAIAVBD3JBAWoiBxAcIQIgAyAFNgIsIAMgAjYCKCADIAdBgICAgHhyNgIwDAELIANBADYCMCADQgA3AyggAyAFOgAzIANBKGohAiAERQ0BCyACIAFBLGoiBSgCACAFIAZBAEgbIAQQMgsgAiAEakEKOwAAIANBHGogAygCKCADQShqIAMtADMiAsBBAEgiBRsgAygCLCACIAUbEBsaIAMsADNBAEgEQCADKAIoEBkLIAEoAiQgAS0AKyICIALAIgZBAEgbIgRBAmoiBUHw////B08NAQJAAkAgBUELTwRAIAVBD3JBAWoiBxAcIQIgAyAFNgIsIAMgAjYCKCADIAdBgICAgHhyNgIwDAELIANBADYCMCADQgA3AyggAyAFOgAzIANBKGohAiAERQ0BCyACIAFBIGoiBSgCACAFIAZBAEgbIAQQMgsgAiAEaiICQQA6AAIgAkH9FDsAACADQRxqIAMoAiggA0EoaiADLQAzIgLAQQBIIgUbIAMoAiwgAiAFGxAbGiADLAAzQQBIBEAgAygCKBAZC0GA0wAoAgAiBBAqIgJB8P///wdPDQICQAJAIAJBC08EQCACQQ9yQQFqIgYQHCEFIAMgBkGAgICAeHI2AhggAyAFNgIQIAMgAjYCFAwBCyADIAI6ABsgA0EQaiEFIAJFDQELIAUgBCACEDILIAIgBWpBADoAACADQShqIAFBsZYCIANBEGoQUyADKAIsIQIgA0EANgIsIAMoAighBQJAIAEoAhQiBEUEQCABIAI2AhQgASAFNgIQDAELIAQQAyADKAIsIQQgASACNgIUIAEgBTYCECAERQ0AIAQQAyADQQA2AiwLIAMsABtBAEgEQCADKAIQEBkLAkAgAywAJ0EATgRAIAMgAygCJDYCCCADIAMpAhw3AwAMAQsgAygCHCEGIAMoAiAhBSMAQRBrIgQkAAJAAkACQCAFQQtJBEAgAyECIAMgAy0AC0GAAXEgBUH/AHFyOgALIAMgAy0AC0H/AHE6AAsMAQsgBUHv////B0sNASAEQQhqIAMgBUELTwR/IAVBEGpBcHEiAiACQQFrIgIgAkELRhsFQQoLQQFqEDAgBCgCDBogAyAEKAIIIgI2AgAgAyADKAIIQYCAgIB4cSAEKAIMQf////8HcXI2AgggAyADKAIIQYCAgIB4cjYCCCADIAU2AgQLIAIgBiAFQQFqECMgBEEQaiQADAELECcACwsgA0EoaiABQbCWAiADEFMgAygCLCECIANBADYCLCADKAIoIQUCQCABKAIMIgRFBEAgASACNgIMIAEgBTYCCAwBCyAEEAMgAygCLCEEIAEgAjYCDCABIAU2AgggBEUNACAEEAMgA0EANgIsCyADLAALQQBIBEAgAygCABAZCyADQQA2AihBxNQALQAAQQFxRQRAQQFB6C5BABAFIQJBxNQAQQE6AABBwNQAIAI2AgALAn9BwNQAKAIAIAEoAgRB6QkgA0EoakEAEAQiEEQAAAAAAADwQWMgEEQAAAAAAAAAAGZxBEAgEKsMAQtBAAshAiADKAIoIgUEQCAFEAELIAEoAhwiBQRAIAUQAwsgASACNgIcIAFBlNUANgIYIAIQAiADIAI2AiggASgCFCICEAIgAyACNgIwIANBADYCPEHM1AAtAABBAXFFBEBBA0HsLkEAEAUhAkHM1ABBAToAAEHI1AAgAjYCAAtByNQAKAIAIAEoAgRB8AggA0E8aiADQShqEAQaIAMoAjwiAgRAIAIQAQsgASgCHCICEAIgAyACNgIoIAEoAgwiAhACIAMgAjYCMCADQQA2AjxBzNQALQAAQQFxRQRAQQNB7C5BABAFIQJBzNQAQQE6AABByNQAIAI2AgALQcjUACgCACABKAIEQfAIIANBPGogA0EoahAEGiADKAI8IgIEQCACEAELIAEoAhwiAhACIAMgAjYCKCADQQA2AjxBrNQALQAAQQFxRQRAQQJB/C1BABAFIQJBrNQAQQE6AABBqNQAIAI2AgALQajUACgCACABKAIEQc8JIANBPGogA0EoahAEGiADKAI8IgIEQCACEAELIAAgASgCHCIBNgIEIABBlNUANgIAIAEQAiADLAAnQQBIBEAgAygCHBAZCyADQUBrJAAPCxA3AAsQNwALEDcAC9gCAQJ/IwBBEGsiASQAIAAoAhQiAhACIAEgAjYCCCABQQA2AgRBrNQALQAAQQFxRQRAQQJB/C1BABAFIQJBrNQAQQE6AABBqNQAIAI2AgALQajUACgCACAAKAIEQf0IIAFBBGogAUEIahAEGiABKAIEIgIEQCACEAELIAAoAgwiAhACIAEgAjYCCCABQQA2AgRBrNQALQAAQQFxRQRAQQJB/C1BABAFIQJBrNQAQQE6AABBqNQAIAI2AgALQajUACgCACAAKAIEQf0IIAFBBGogAUEIahAEGiABKAIEIgIEQCACEAELIAAoAhwiAhACIAEgAjYCCCABQQA2AgRBrNQALQAAQQFxRQRAQQJB/C1BABAFIQJBrNQAQQE6AABBqNQAIAI2AgALQajUACgCACAAKAIEQdsJIAFBBGogAUEIahAEGiABKAIEIgAEQCAAEAELIAFBEGokAAs1AQF/IAEgACgCBCICQQF1aiEBIAAoAgAhACABIAJBAXEEfyABKAIAIABqKAIABSAACxEDAAsvAAJ/IAAsACtBAEgEQCAAQQA2AiQgACgCIAwBCyAAQQA6ACsgAEEgagtBADoAAAsFAEGgLAs9AQF/IAEgACgCBCIGQQF1aiEBIAAoAgAhACABIAIgAyAEIAUgBkEBcQR/IAEoAgAgAGooAgAFIAALEQ0AC7wJAgR/AXwjAEEQayIIJAAgASEJIAAoAkQhBiMAQYACayIFJAACQAJAIAZBjgJGDQAgBkHaAEYNACADIQEgBCEDDAELIAQhAQsgBUHEAGoiBiAJECEgBSAGQdsSECUiBigCCDYCWCAFIAYpAgA3A1AgBkIANwIAIAZBADYCCCAFIAVB0ABqQfEUEBoiBigCCDYCaCAFIAYpAgA3A2AgBkIANwIAIAZBADYCCCAFQThqIgYgAhAhIAUgBUHgAGogBSgCOCAGIAUtAEMiBsBBAEgiBxsgBSgCPCAGIAcbEBsiBigCCDYCeCAFIAYpAgA3A3AgBkIANwIAIAZBADYCCCAFIAVB8ABqQbYSEBoiBigCCDYCiAEgBSAGKQIANwOAASAGQgA3AgAgBkEANgIIIAVBLGoiBiABIAmgECEgBSAFQYABaiAFKAIsIAYgBS0ANyIGwEEASCIHGyAFKAIwIAYgBxsQGyIGKAIINgKYASAFIAYpAgA3A5ABIAZCADcCACAGQQA2AgggBSAFQZABakHxFBAaIgYoAgg2AqgBIAUgBikCADcDoAEgBkIANwIAIAZBADYCCCAFQSBqIgYgAyACoBAhIAUgBUGgAWogBSgCICAGIAUtACsiBsBBAEgiBxsgBSgCJCAGIAcbEBsiBigCCDYCuAEgBSAGKQIANwOwASAGQgA3AgAgBkEANgIIIAUgBUGwAWpByhMQGiIGKAIINgLIASAFIAYpAgA3A8ABIAZCADcCACAGQQA2AgggBUEUaiIGIAEQISAFIAVBwAFqIAUoAhQgBiAFLQAfIgbAQQBIIgcbIAUoAhggBiAHGxAbIgYoAgg2AtgBIAUgBikCADcD0AEgBkIANwIAIAZBADYCCCAFIAVB0AFqQagTEBoiBigCCDYC6AEgBSAGKQIANwPgASAGQgA3AgAgBkEANgIIIAVBCGoiBiADECEgBSAFQeABaiAFKAIIIAYgBS0AEyIGwEEASCIHGyAFKAIMIAYgBxsQGyIGKAIINgL4ASAFIAYpAgA3A/ABIAZCADcCACAGQQA2AgggCCAFQfABakHTHBAaIgYpAgA3AgQgCCAGKAIINgIMIAZCADcCACAGQQA2AgggBSwA+wFBAEgEQCAFKALwARAZCyAFLAATQQBIBEAgBSgCCBAZCyAFLADrAUEASARAIAUoAuABEBkLIAUsANsBQQBIBEAgBSgC0AEQGQsgBSwAH0EASARAIAUoAhQQGQsgBSwAywFBAEgEQCAFKALAARAZCyAFLAC7AUEASARAIAUoArABEBkLIAUsACtBAEgEQCAFKAIgEBkLIAUsAKsBQQBIBEAgBSgCoAEQGQsgBSwAmwFBAEgEQCAFKAKQARAZCyAFLAA3QQBIBEAgBSgCLBAZCyAFLACLAUEASARAIAUoAoABEBkLIAUsAHtBAEgEQCAFKAJwEBkLIAUsAENBAEgEQCAFKAI4EBkLIAUsAGtBAEgEQCAFKAJgEBkLIAUsAFtBAEgEQCAFKAJQEBkLIAUsAE9BAEgEQCAFKAJEEBkLIAVBgAJqJAAgACwAK0EASARAIAAoAiAQGQsgACAIKQIENwIgIAAgCCgCDDYCKCAIQRBqJAALPwEBfyABIAAoAgQiB0EBdWohASAAKAIAIQAgASACIAMgBCAFIAYgB0EBcQR/IAEoAgAgAGooAgAFIAALEQ4AC88bAgd/AXwjAEFAaiIJJAAgCSAFOQMgIAkgBDkDGCAJIAM5AxAgCSACOQMIIAkgATkDACMAQRBrIgYkACAGIAk2AgxBiNMAQbMrIAlBABBNGiAGQRBqJAAjAEGABGsiBiQAIAlBNGoiC0EAOgAAIAtBADoACwJAIAFEAAAAAAAAAABkRQ0AIAZBADoA8AMgBkEAOgD7AyAGQQA6AOQDIAZBADoA7wMgBkKAgICAhICAgMAANwPYAyAGQoCAgICEgICAQDcD0AMgBkKAgICAjICAgMAANwPIAyAGQoCAgICMgICAQDcDwAMgBkKAgICEhICAwMAANwO4AyAGQoCAgISEgIDAQDcDsAMgBkKAgICEjICAwMAANwOoAyAGQoCAgISMgIDAQDcDoAMgBkKAgICGDDcDmAMgBkKAgICGBDcDkAMgBkKAgICAgICA4MAANwOIAyAGQoCAgICAgIDgQDcDgAMgBkKAgICIjICA0EA3A/gCIAZCgICAiIyAgNDAADcD8AIgBkKAgICIhICA0MAANwPoAiAGQoCAgIiEgIDQQDcD4AIgBkKAgICFjICAgEE3A9gCIAZCgICAhYyAgIDBADcD0AIgBkKAgICFhICAgMEANwPIAiAGQoCAgIWEgICAQTcDwAIgBkKAgICJBDcDuAIgBkKAgICJDDcDsAIgBkKAgICAgICAkMEANwOoAiAGQoCAgICAgICQQTcDoAJEAAAAAAAAAEAgBKMhBCABRJqZmZmZmem/okQAAAAAAADwP6AhDQNAIAZBsAFqIgggBxAvIAYgCEHECxAlIggoAgg2AsgBIAYgCCkCADcDwAEgCEIANwIAIAhBADYCCCAGIAZBwAFqQcMWEBoiCCgCCDYC2AEgBiAIKQIANwPQASAIQgA3AgAgCEEANgIIIAZBoAFqIgggBkGgAmogB0EDdGoiCioCABAuIAYgBkHQAWogBigCoAEgCCAGLQCrASIIwEEASCIMGyAGKAKkASAIIAwbEBsiCCgCCDYC6AEgBiAIKQIANwPgASAIQgA3AgAgCEEANgIIIAYgBkHgAWpByBwQGiIIKAIINgL4ASAGIAgpAgA3A/ABIAhCADcCACAIQQA2AgggBkGQAWoiCCAKKgIEEC4gBiAGQfABaiAGKAKQASAIIAYtAJsBIgjAQQBIIgobIAYoApQBIAggChsQGyIIKAIINgKIAiAGIAgpAgA3A4ACIAhCADcCACAIQQA2AgggBiAGQYACakGXEhAaIggoAgg2ApgCIAYgCCkCADcDkAIgCEIANwIAIAhBADYCCCAGQeQDaiAGKAKQAiAGQZACaiAGLQCbAiIIwEEASCIKGyAGKAKUAiAIIAobEBsaIAYsAJsCQQBIBEAgBigCkAIQGQsgBiwAiwJBAEgEQCAGKAKAAhAZCyAGLACbAUEASARAIAYoApABEBkLIAYsAPsBQQBIBEAgBigC8AEQGQsgBiwA6wFBAEgEQCAGKALgARAZCyAGLACrAUEASARAIAYoAqABEBkLIAYsANsBQQBIBEAgBigC0AEQGQsgBiwAywFBAEgEQCAGKALAARAZCyAGLAC7AUEASARAIAYoArABEBkLIAZB0AFqIgggBxAvIAYgCEGmCxAlIggoAgg2AugBIAYgCCkCADcD4AEgCEIANwIAIAhBADYCCCAGIAZB4AFqQcscEBoiCCgCCDYC+AEgBiAIKQIANwPwASAIQgA3AgAgCEEANgIIIAZBwAFqIghDAAAAQEMAAEBAQwAAgD8gB0ETSxsgB0EMa0EISRsQLiAGIAZB8AFqIAYoAsABIAggBi0AywEiCMBBAEgiChsgBigCxAEgCCAKGxAbIggoAgg2AogCIAYgCCkCADcDgAIgCEIANwIAIAhBADYCCCAGIAZBgAJqQeYWEBoiCCgCCDYCmAIgBiAIKQIANwOQAiAIQgA3AgAgCEEANgIIIAZB8ANqIAYoApACIAZBkAJqIAYtAJsCIgjAQQBIIgobIAYoApQCIAggChsQGxogBiwAmwJBAEgEQCAGKAKQAhAZCyAGLACLAkEASARAIAYoAoACEBkLIAYsAMsBQQBIBEAgBigCwAEQGQsgBiwA+wFBAEgEQCAGKALwARAZCyAGLADrAUEASARAIAYoAuABEBkLIAYsANsBQQBIBEAgBigC0AEQGQsgB0EBaiIHQRhHDQALIAZBNGoiByAEECEgBiAHQakWECUiBygCCDYCSCAGIAcpAgA3A0AgB0IANwIAIAdBADYCCCAGIAZBQGtBpRIQGiIHKAIINgJYIAYgBykCADcDUCAHQgA3AgAgB0EANgIIIAZBKGoiB0QAAAAAAAAAQCAFoxAhIAYgBkHQAGogBigCKCAHIAYtADMiB8BBAEgiCBsgBigCLCAHIAgbEBsiBygCCDYCaCAGIAcpAgA3A2AgB0IANwIAIAdBADYCCCAGIAZB4ABqQaEdEBoiBygCCDYCeCAGIAcpAgA3A3AgB0IANwIAIAdBADYCCCAGIAZB8ABqIAYoAuQDIAZB5ANqIAYtAO8DIgfAQQBIIggbIAYoAugDIAcgCBsQGyIHKAIINgKIASAGIAcpAgA3A4ABIAdCADcCACAHQQA2AgggBiAGQYABakHJHRAaIgcoAgg2ApgBIAYgBykCADcDkAEgB0IANwIAIAdBADYCCCAGIAZBkAFqIAYoAvADIAZB8ANqIAYtAPsDIgfAQQBIIggbIAYoAvQDIAcgCBsQGyIHKAIINgKoASAGIAcpAgA3A6ABIAdCADcCACAHQQA2AgggBiAGQaABakHnGhAaIgcoAgg2ArgBIAYgBykCADcDsAEgB0IANwIAIAdBADYCCCAGQRxqIgcgDRAhIAYgBkGwAWogBigCHCAHIAYtACciB8BBAEgiCBsgBigCICAHIAgbEBsiBygCCDYCyAEgBiAHKQIANwPAASAHQgA3AgAgB0EANgIIIAYgBkHAAWpBlxUQGiIHKAIINgLYASAGIAcpAgA3A9ABIAdCADcCACAHQQA2AgggBkEQaiIHIAFEMzMzMzMz47+iRAAAAAAAAPA/oBAhIAYgBkHQAWogBigCECAHIAYtABsiB8BBAEgiCBsgBigCFCAHIAgbEBsiBygCCDYC6AEgBiAHKQIANwPgASAHQgA3AgAgB0EANgIIIAYgBkHgAWpB6RYQGiIHKAIINgL4ASAGIAcpAgA3A/ABIAdCADcCACAHQQA2AgggBkEEaiIHIAEQISAGIAZB8AFqIAYoAgQgByAGLQAPIgfAQQBIIggbIAYoAgggByAIGxAbIgcoAgg2AogCIAYgBykCADcDgAIgB0IANwIAIAdBADYCCCAGIAZBgAJqQZodEBoiBygCCDYCmAIgBiAHKQIANwOQAiAHQgA3AgAgB0EANgIIIAsgBigCkAIgBkGQAmogBi0AmwIiB8BBAEgiCBsgBigClAIgByAIGxAbGiAGLACbAkEASARAIAYoApACEBkLIAYsAIsCQQBIBEAgBigCgAIQGQsgBiwAD0EASARAIAYoAgQQGQsgBiwA+wFBAEgEQCAGKALwARAZCyAGLADrAUEASARAIAYoAuABEBkLIAYsABtBAEgEQCAGKAIQEBkLIAYsANsBQQBIBEAgBigC0AEQGQsgBiwAywFBAEgEQCAGKALAARAZCyAGLAAnQQBIBEAgBigCHBAZCyAGLAC7AUEASARAIAYoArABEBkLIAYsAKsBQQBIBEAgBigCoAEQGQsgBiwAmwFBAEgEQCAGKAKQARAZCyAGLACLAUEASARAIAYoAoABEBkLIAYsAHtBAEgEQCAGKAJwEBkLIAYsAGtBAEgEQCAGKAJgEBkLIAYsADNBAEgEQCAGKAIoEBkLIAYsAFtBAEgEQCAGKAJQEBkLIAYsAEtBAEgEQCAGKAJAEBkLIAYsAD9BAEgEQCAGKAI0EBkLIAYsAO8DQQBIBEAgBigC5AMQGQsgBiwA+wNBAE4NACAGKALwAxAZCwJAIANEAAAAAAAAAABkRQ0AIAZB5ANqIgcgA0TNzMzMzMzcP6JEmpmZmZmZuT+gECEgBiAHQZAZECUiBygCCDYC+AMgBiAHKQIANwPwAyAHQgA3AgAgB0EANgIIIAYgBkHwA2pBoCkQGiIHKAIINgKoAiAGIAcpAgA3A6ACIAdCADcCACAHQQA2AgggCyAGKAKgAiAGQaACaiAGLQCrAiIHwEEASCIIGyAGKAKkAiAHIAgbEBsaIAYsAKsCQQBIBEAgBigCoAIQGQsgBiwA+wNBAEgEQCAGKALwAxAZCyAGLADvA0EATg0AIAYoAuQDEBkLAkAgAkQAAAAAAAAAAGRFDQAgBkHkA2oiByACRLgehetRuL4/ohAhIAYgB0GBFRAlIgcoAgg2AvgDIAYgBykCADcD8AMgB0IANwIAIAdBADYCCCAGIAZB8ANqQZQsEBoiBygCCDYCqAIgBiAHKQIANwOgAiAHQgA3AgAgB0EANgIIIAsgBigCoAIgBkGgAmogBi0AqwIiB8BBAEgiCxsgBigCpAIgByALGxAbGiAGLACrAkEASARAIAYoAqACEBkLIAYsAPsDQQBIBEAgBigC8AMQGQsgBiwA7wNBAE4NACAGKALkAxAZCyAGQYAEaiQAIAAsADdBAEgEQCAAKAIsEBkLIAAgCSkCNDcCLCAAIAkoAjw2AjQgCUFAayQAC2ACAX8BfCMAQRBrIgIkACACQQA2AgwgASgCBEHczwAgAkEMahAJIQMgAigCDCIBBEAgARABCyAAAn8gA5lEAAAAAAAA4EFjBEAgA6oMAQtBgICAgHgLNgJEIAJBEGokAAs3AQF/IwBBEGsiAiQAIAIgASgCRDYCCCAAQdzPACACQQhqEAc2AgQgAEGU1QA2AgAgAkEQaiQAC2ACAX8BfCMAQRBrIgIkACACQQA2AgwgASgCBEHczwAgAkEMahAJIQMgAigCDCIBBEAgARABCyAAAn8gA5lEAAAAAAAA4EFjBEAgA6oMAQtBgICAgHgLNgJAIAJBEGokAAs3AQF/IwBBEGsiAiQAIAIgASgCQDYCCCAAQdzPACACQQhqEAc2AgQgAEGU1QA2AgAgAkEQaiQAC2ACAX8BfCMAQRBrIgIkACACQQA2AgwgASgCBEHczwAgAkEMahAJIQMgAigCDCIBBEAgARABCyAAAn8gA5lEAAAAAAAA4EFjBEAgA6oMAQtBgICAgHgLNgI8IAJBEGokAAsiAQF+IAEgAq0gA61CIIaEIAQgABEMACIFQiCIpyQBIAWnCzcBAX8jAEEQayICJAAgAiABKAI8NgIIIABB3M8AIAJBCGoQBzYCBCAAQZTVADYCACACQRBqJAALC61KFgBBgAgLlCVzZXRCZWF1dHkALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweAB1bnNpZ25lZCBzaG9ydAB1bnNpZ25lZCBpbnQAaW5pdABmbG9hdAB1aW50NjRfdABibHVyUmFkaXVzAHZlY3RvcgBtaXJyb3IAYXR0YWNoU2hhZGVyAGRlbGV0ZVNoYWRlcgBjcmVhdGVTaGFkZXIAY29tcGlsZVNoYWRlcgB1bnNpZ25lZCBjaGFyAHN0ZDo6ZXhjZXB0aW9uAHJvdGF0aW9uAG5hbgBsaW5rUHJvZ3JhbQBkZWxldGVQcm9ncmFtAGNyZWF0ZVByb2dyYW0AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0V2F0ZXJNYXJrAHN0b3BXYXRlck1hcmsAdW5zaWduZWQgbG9uZwBzdGQ6OndzdHJpbmcAYmFzaWNfc3RyaW5nAHN0ZDo6c3RyaW5nAHN0ZDo6dTE2c3RyaW5nAHN0ZDo6dTMyc3RyaW5nAGluZgAlZgBjbG9zZQBkb3VibGUAdmJNb2RlAHNoYWRlclNvdXJjZQB2b2lkAHNhbXBsZUNvbG9yICs9IHRleHR1cmUoZnJhbWUsIGJsdXJDb29yZGluYXRlc1sATkFOAElORgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDY0X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgB2ZWMyIGMgPSB2X3RleENvb3JkOwB2ZWMyIGMgPSB2ZWMyKDEuMCAtIHZfdGV4Q29vcmQueCwgdl90ZXhDb29yZC55KTsAYyA9IHZlYzIoMS4wIC0gYy54LCAxLjAgLSBjLnkpOwBjID0gdmVjMihjLnksIDEuMCAtIGMueCk7AGMgPSB2ZWMyKDEuMCAtIGMueSwgYy54KTsAQWxsSW4xAC4ALjAsAC4wKSpvKSoAKG51bGwpACkqby55KTsgICAgdmVjMiBjb29yZDIgPSB2ZWMyKGZsb2F0KAAgICAgYyA9IHZlYzIodl90ZXhDb29yZC54LCAxLjAgLSB2X3RleENvb3JkLnkpOyAgICB2ZWMyIGNvb3JkMSA9IHZlYzIoZmxvYXQoACksIChjLnkgLWNvb3JkMS55KSAvIG8ueSAvIGZsb2F0KAApKm8ueSk7ICAgIGlmIChjLnggPiBjb29yZDEueCAmJiBjLnggPCBjb29yZDIueCAmJiBjLnkgPiBjb29yZDEueSAmJiBjLnkgPCBjb29yZDIueSkgeyAgICAgIHZlYzQgd2F0ZXJDb2xvciA9IHRleHR1cmUod2F0ZXJNYXJrLCB2ZWMyKChjLnggLSBjb29yZDEueCkgIC8gby54IC8gZmxvYXQoACkgKiBvLngsIGZsb2F0KABvdXRDb2xvci5yZ2IgKz0gdmVjMygAKTsgICAgICAgdmVjMyBzbW9vdGhDb2xvciA9IG91dENvbG9yLnJnYiArIChvdXRDb2xvci5yZ2ItdmVjMyhoaWdoUGFzcykpKmFscGhhKjAuMTsgICAgICAgc21vb3RoQ29sb3IgPSBjbGFtcChwb3coc21vb3RoQ29sb3IsIHZlYzMoAGcrPUcoYyx2ZWMyKAAgICAgICB2ZWMyIG9mZnNldCA9IHZlYzIoAF0gPSB2X3RleENvb3JkLnh5ICsgb2Zmc2V0ICogdmVjMigAOyAAKSksIHZlYzMoMC4wKSwgdmVjMygxLjApKTsgICAgICB2ZWMzIHNjcmVlbiA9IHZlYzMoMS4wKSAtICh2ZWMzKDEuMCktc21vb3RoQ29sb3IpICogKHZlYzMoMS4wKS1vdXRDb2xvci5yZ2IpOyAgICAgICB2ZWMzIGxpZ2h0ZW4gPSBtYXgoc21vb3RoQ29sb3IsIG91dENvbG9yLnJnYik7ICAgICAgIHZlYzMgYmVhdXR5Q29sb3IgPSBtaXgobWl4KG91dENvbG9yLnJnYiwgc2NyZWVuLCBhbHBoYSksIGxpZ2h0ZW4sIGFscGhhKTsgICAgICBvdXRDb2xvci5yZ2IgPSBtaXgob3V0Q29sb3IucmdiLCBiZWF1dHlDb2xvciwgAAogICAgICBjb25zdCBtYXQzIHNhdHVyYXRlTWF0cml4ID0gbWF0MygxLjExMDIsLTAuMDU5OCwtMC4wNjEsLTAuMDc3NCwxLjA4MjYsLTAuMTE4NiwtMC4wMjI4LC0wLjAyMjgsMS4xNzcyKTsKICAgICAgdmVjMyB3YXJtQ29sb3IgPSBvdXRDb2xvci5yZ2IgKiBzYXR1cmF0ZU1hdHJpeDsKICAgICAgb3V0Q29sb3IucmdiID0gbWl4KG91dENvbG9yLnJnYiwgd2FybUNvbG9yLCAAICAgICAgc2FtcGxlQ29sb3IgPSBzYW1wbGVDb2xvciAvIDYyLjA7ICAgICAgIGZsb2F0IGhpZ2hQYXNzID0gb3V0Q29sb3IuZyAtIHNhbXBsZUNvbG9yICsgMC41OyAgICAgICBjb25zdCBoaWdocCB2ZWMzIFcgPSB2ZWMzKDAuMjk5LDAuNTg3LDAuMTE0KTsgICAgICBmbG9hdCBsdW1pbmFuY2UgPSBkb3Qob3V0Q29sb3IucmdiLCBXKTsgICAgICAgZmxvYXQgYWxwaGEgPSBwb3cobHVtaW5hbmNlLCAAXSkuZyAqIAApKSk7ICAgICAgb3V0Q29sb3IgPSBtaXgob3V0Q29sb3Isd2F0ZXJDb2xvciwgIHdhdGVyQ29sb3IuYSk7ICAgIH0gICAgACk7ICAgIAApOyAgICAgIHZlYzIgYmx1ckNvb3JkaW5hdGVzWzI0XTsgICAgICAAICAgICAgZmxvYXQgc2FtcGxlQ29sb3IgPSBvdXRDb2xvci5nICogMjIuMDsgICAgICAgACN2ZXJzaW9uIDMwMCBlcwogICAgcHJlY2lzaW9uIGhpZ2hwIGZsb2F0OwogICAgdW5pZm9ybSBzYW1wbGVyMkQgZnJhbWU7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCBtYXNrOwogICAgdW5pZm9ybSBzYW1wbGVyMkQgYmc7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCB3YXRlck1hcms7CiAgICB1bmlmb3JtIHNhbXBsZXIyRCBsYXN0TWFzazsKICAgIHVuaWZvcm0gbWF0NCB1X29mZnNldE1hdHJpeDsKICAgIGluIHZlYzIgdl90ZXhDb29yZDsKICAgIG91dCB2ZWM0IG91dENvbG9yOwogICAgdmVjNCBHKHZlYzIgYyx2ZWMyIHMpewogICAgICByZXR1cm4gdGV4dHVyZShmcmFtZSx0ZXh0dXJlKG1hc2ssYytzKS5hPjAuMz9jOmMrcyk7CiAgICB9CiAgICB2b2lkIG1haW4oKSB7CiAgICAgIAAKICAgICAgdmVjMiBvZmZzZXRNYXNrVVYgPSAodV9vZmZzZXRNYXRyaXggKiB2ZWM0KGMsIDAsIDEpKS54eTsKICAgICAgZmxvYXQgaXNJbnNpZGVYID0gKG9mZnNldE1hc2tVVi54ID49IDAuMCkgJiYgKG9mZnNldE1hc2tVVi54IDw9IDEuMCkgPyAxLjAgOiAwLjA7CiAgICAgIGZsb2F0IGlzSW5zaWRlWSA9IChvZmZzZXRNYXNrVVYueSA+PSAwLjApICYmIChvZmZzZXRNYXNrVVYueSA8PSAxLjApID8gMS4wIDogMC4wOwogICAgICBmbG9hdCBpc0luc2lkZSA9IGlzSW5zaWRlWCAqIGlzSW5zaWRlWTsKICAgICAgZmxvYXQgbWFza2VkQWxwaGEgPSB0ZXh0dXJlKG1hc2ssIG9mZnNldE1hc2tVVikuYSAqIGlzSW5zaWRlOwogICAgICBtYXNrZWRBbHBoYSA9IG1hc2tlZEFscGhhPDAuNT8yLjAqbWFza2VkQWxwaGEqbWFza2VkQWxwaGE6MS4wLTIuMCooMS4wLW1hc2tlZEFscGhhKSooMS4wLW1hc2tlZEFscGhhKTsKICAgICAgc3JjX2NvbG9yID0gdGV4dHVyZShmcmFtZSwgb2Zmc2V0TWFza1VWICwgaXNJbnNpZGUpOwogICAgICBvdXRDb2xvciA9IG1peCh0ZXh0dXJlKGJnLCBjKSwgc3JjX2NvbG9yLCBtYXNrZWRBbHBoYSk7CiAgICAACiAgICB2ZWM0IGcgPSB2ZWM0KDAuMCk7CiAgICAACiAgICAgIGMueSA9IDEuMCAtIGMueTsKICAgICAgdmVjNCBzcmNfY29sb3IgPSB0ZXh0dXJlKGZyYW1lLCBjKTsKICAgICAgZmxvYXQgYSA9IHRleHR1cmUobWFzaywgYykuYTsKICAgICAgYSA9IGE8MC41PzIuMCphKmE6MS4wLTIuMCooMS4wLWEpKigxLjAtYSk7CiAgICAgIC8vIGZsb2F0IGEyID0gdGV4dHVyZShsYXN0TWFzaywgYykuYTsKICAgICAgLy8gYTIgPSBhMjwwLjU/Mi4wKmEyKmEyOjEuMC0yLjAqKDEuMC1hMikqKDEuMC1hMik7CiAgICAgIC8vIGZsb2F0IGRlbHRhID0gYSAtIGEyOwogICAgICAvLyBpZiAoZGVsdGEgPCAwLjI1ICYmIGRlbHRhID4gLTAuMjUpCiAgICAgIC8vIHsKICAgICAgLy8gICAgIGEgPSBhICsgMC41KmRlbHRhOwogICAgICAvLyB9CiAgICAgIAogICAgICB2ZWMyIG8gPSAxLjAgLyB2ZWMyKHRleHR1cmVTaXplKGZyYW1lLCAwKSk7CiAgICAACiAgICAgIG91dENvbG9yID0gZzsKICAAI3ZlcnNpb24gMzAwIGVzCmluIHZlYzIgYV9wb3NpdGlvbjsKaW4gdmVjMiBhX3RleENvb3JkOwoKdW5pZm9ybSBtYXQ0IHVfdGV4dHVyZU1hdHJpeDsKCm91dCB2ZWMyIHZfdGV4Q29vcmQ7CnZvaWQgbWFpbigpIHsKICBnbF9Qb3NpdGlvbiA9IHZlYzQoYV9wb3NpdGlvbi54LCBhX3Bvc2l0aW9uLnksIDAsIDEpOwogIHZfdGV4Q29vcmQgPSh1X3RleHR1cmVNYXRyaXggKiB2ZWM0KGFfdGV4Q29vcmQsIDAsIDEpKS54eTsKfQoAc2V0QmVhdXR5ICVmICVmICVmICVmICVmCgBvdXRDb2xvciA9IHNyY19jb2xvcjsKAG91dENvbG9yID0gbWl4KHZlYzQoMC4wLDEuMCwwLjAsMS4wKSxzcmNfY29sb3IsYSk7CgA2QWxsSW4xAEAoAAAYFgAAUDZBbGxJbjEAAAAAxCgAACgWAAAAAAAAIBYAAFBLNkFsbEluMQAAAMQoAABEFgAAAQAAACAWAABpaQB2AHZpADQWAACEFgAATjEwZW1zY3JpcHRlbjN2YWxFAABAKAAAcBYAAGlpaQB2aWlpAEGgLQskfCcAADQWAAAwKAAAMCgAADAoAAAwKAAAMCgAAHZpaWRkZGRkAEHQLQvICHwnAAA0FgAAMCgAADAoAAAwKAAAMCgAAHZpaWRkZGQAfCcAADQWAAB2aWkAfCcAAIQWAACEFgAANBYAAIQWAADcJwAAfCcAAIQWAABgFwAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAEAoAAAgFwAAhBYAAHwnAACEFgAAhBYAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAABAKAAAeBcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAABAKAAAwBcAAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAAQCgAAAgYAABOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAAEAoAABUGAAATjEwZW1zY3JpcHRlbjExbWVtb3J5X3Zp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")||(F=k,k=s.locateFile?s.locateFile(F,A):A+F);var L=function(e){for(;e.length>0;)e.shift()(s)};function H(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){C[this.ptr+4>>2]=e},this.get_type=function(){return C[this.ptr+4>>2]},this.set_destructor=function(e){C[this.ptr+8>>2]=e},this.get_destructor=function(){return C[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,p[this.ptr+12|0]=e},this.get_caught=function(){return 0!=p[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,p[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=p[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){C[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return C[this.ptr+16>>2]},this.get_exception_ptr=function(){if(It(this.get_type()))return C[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}s.noExitRuntime;var G,X,Y,W=function(e){for(var t="",r=e;E[r];)t+=G[E[r++]];return t},V={},z={},K={},Z=function(e){throw new X(e)},J=function(e){throw new Y(e)},q=function(e,t,r){function n(t){var n=r(t);n.length!==e.length&&J("Mismatched type converter count");for(var o=0;o<e.length;++o)$(e[o],n[o])}e.forEach(function(e){K[e]=t});var o=new Array(t.length),i=[],a=0;t.forEach(function(e,t){z.hasOwnProperty(e)?o[t]=z[e]:(i.push(e),V.hasOwnProperty(e)||(V[e]=[]),V[e].push(function(){o[t]=z[e],++a===i.length&&n(o)}))}),0===i.length&&n(o)};function $(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.name;if(e||Z('type "'.concat(n,'" must have a positive integer typeid pointer')),z.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Z("Cannot register type '".concat(n,"' twice"))}if(z[e]=t,delete K[e],V.hasOwnProperty(e)){var o=V[e];delete V[e],o.forEach(function(e){return e()})}}(e,t,r)}var ee,te=function(e){Z(e.$$.ptrType.registeredClass.name+" instance already deleted")},re=!1,ne=function(e){},oe=function(e){e.count.value-=1,0===e.count.value&&function(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}(e)},ie=function(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var n=ie(e,t,r.baseClass);return null===n?null:r.downcast(n)},ae={},se=function(){return Object.keys(de).length},ce=function(){var e=[];for(var t in de)de.hasOwnProperty(t)&&e.push(de[t]);return e},Ae=[],ue=function(){for(;Ae.length;){var e=Ae.pop();e.$$.deleteScheduled=!1,e.delete()}},le=function(e){ee=e,Ae.length&&ee&&ee(ue)},de={},ge=function(e,t){return t=function(e,t){for(void 0===t&&Z("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),de[t]},fe=function(e,t){return t.ptrType&&t.ptr||J("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&J("Both smartPtrType and smartPtr must be specified"),t.count={value:1},pe(Object.create(e,{$$:{value:t}}))};function he(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=ge(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?fe(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):fe(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=ae[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var c=ie(t,this.registeredClass,i.registeredClass);return null===c?o.call(this):this.isSmartPointer?fe(i.registeredClass.instancePrototype,{ptrType:i,ptr:c,smartPtrType:this,smartPtr:e}):fe(i.registeredClass.instancePrototype,{ptrType:i,ptr:c})}var pe=function(e){return"undefined"==typeof FinalizationRegistry?(pe=function(e){return e},e):(re=new FinalizationRegistry(function(e){oe(e.$$)}),ne=function(e){return re.unregister(e)},(pe=function(e){var t=e.$$;if(!!t.smartPtr){var r={$$:t};re.register(e,r,e)}return e})(e))};function Ee(){}var me=function(e,t){return Object.defineProperty(t,"name",{value:e})},ye=function(e,t,r){if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Z("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}};function Ie(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}var ve=function(e,t,r){for(;t!==r;)t.upcast||Z("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e};function we(e,t){if(null===t)return this.isReference&&Z("null is not a valid ".concat(this.name)),0;t.$$||Z('Cannot pass "'.concat(ze(t),'" as a ').concat(this.name)),t.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return ve(t.$$.ptr,r,this.registeredClass)}function Ce(e,t){var r;if(null===t)return this.isReference&&Z("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||Z('Cannot pass "'.concat(ze(t),'" as a ').concat(this.name)),t.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&Z("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var n=t.$$.ptrType.registeredClass;if(r=ve(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Z("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Z("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,Ge.toHandle(function(){return o.delete()})),null!==e&&e.push(this.rawDestructor,r)}break;default:Z("Unsupporting sharing policy")}return r}function _e(e,t){if(null===t)return this.isReference&&Z("null is not a valid ".concat(this.name)),0;t.$$||Z('Cannot pass "'.concat(ze(t),'" as a ').concat(this.name)),t.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&Z("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return ve(t.$$.ptr,r,this.registeredClass)}function be(e){return this.fromWireType(C[e>>2])}function Be(e,t,r,n,o,i,a,s,c,A,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=A,this.rawDestructor=u,o||void 0!==t.baseClass?this.toWireType=Ce:n?(this.toWireType=we,this.destructorFunction=null):(this.toWireType=_e,this.destructorFunction=null)}var De,Te,Oe=[],Qe=function(e){var t=Oe[e];return t||(e>=Oe.length&&(Oe.length=e+1),Oe[e]=t=De.get(e)),t},Pe=function(e,t,r){return e.includes("j")?function(e,t,r){var n=s["dynCall_"+e];return r&&r.length?n.apply(null,[t].concat(r)):n.call(null,t)}(e,t,r):Qe(t).apply(null,r)},Me=function(e,t){var r,n,o,i=(e=W(e)).includes("j")?(r=e,n=t,o=[],function(){return o.length=0,Object.assign(o,arguments),Pe(r,n,o)}):Qe(t);return"function"!=typeof i&&Z("unknown function pointer with signature ".concat(e,": ").concat(t)),i},Re=function(e){var t=mt(e),r=W(t);return yt(t),r},Se=function(e,t){var r=[],n={};throw t.forEach(function e(t){n[t]||z[t]||(K[t]?K[t].forEach(e):(r.push(t),n[t]=!0))}),new Te("".concat(e,": ")+r.map(Re).join([", "]))},ke=function(e,t){for(var r=[],n=0;n<e;n++)r.push(C[t+4*n>>2]);return r},Fe=function(e){for(;e.length;){var t=e.pop();e.pop()(t)}};function xe(e,t,r,n,o,i){var a=t.length;a<2&&Z("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,c=!1,A=1;A<t.length;++A)if(null!==t[A]&&void 0===t[A].destructorFunction){c=!0;break}var u="void"!==t[0].name,l=a-2,d=new Array(l),g=[],f=[];return me(e,function(){var r;arguments.length!==l&&Z("function ".concat(e," called with ").concat(arguments.length," arguments, expected ").concat(l)),f.length=0,g.length=s?2:1,g[0]=o,s&&(r=t[1].toWireType(f,this),g[1]=r);for(var i=0;i<l;++i)d[i]=t[i+2].toWireType(f,arguments[i]),g.push(d[i]);return function(e){if(c)Fe(f);else for(var n=s?1:2;n<t.length;n++){var o=1===n?r:d[n-2];null!==t[n].destructorFunction&&t[n].destructorFunction(o)}if(u)return t[0].fromWireType(e)}(n.apply(null,g))})}var Ne=function(e,t,r){return e instanceof Object||Z("".concat(r,' with invalid "this": ').concat(e)),e instanceof t.registeredClass.constructor||Z("".concat(r,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||Z("cannot call emscripten binding method ".concat(r," on deleted object")),ve(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)};function Ue(){this.allocated=[void 0],this.freelist=[]}var je=new Ue,Le=function(e){e>=je.reserved&&0===--je.get(e).refcount&&je.free(e)},He=function(){for(var e=0,t=je.reserved;t<je.allocated.length;++t)void 0!==je.allocated[t]&&++e;return e},Ge={toValue:function(e){return e||Z("Cannot use deleted val. handle = "+e),je.get(e).value},toHandle:function(e){switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return je.allocate({refcount:1,value:e})}}};function Xe(e){return this.fromWireType(v[e>>2])}var Ye,We,Ve,ze=function(e){if(null===e)return"null";var t=I(e);return"object"===t||"array"===t||"function"===t?e.toString():""+e},Ke=function(e,t){switch(t){case 4:return function(e){return this.fromWireType(_[e>>2])};case 8:return function(e){return this.fromWireType(b[e>>3])};default:throw new TypeError("invalid float width (".concat(t,"): ").concat(e))}},Ze=function(e,t,r){switch(t){case 1:return r?function(e){return p[e|0]}:function(e){return E[e|0]};case 2:return r?function(e){return m[e>>1]}:function(e){return y[e>>1]};case 4:return r?function(e){return v[e>>2]}:function(e){return C[e>>2]};default:throw new TypeError("invalid integer width (".concat(t,"): ").concat(e))}},Je="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,qe=function(e,t,r){for(var n=t+r,o=t;e[o]&&!(o>=n);)++o;if(o-t>16&&e.buffer&&Je)return Je.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&e[t++])<65536)i+=String.fromCharCode(a);else{var A=a-65536;i+=String.fromCharCode(55296|A>>10,56320|1023&A)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i},$e=function(e,t){return e?qe(E,e,t):""},et="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,tt=function(e,t){for(var r=e,n=r>>1,o=n+t/2;!(n>=o)&&y[n];)++n;if((r=n<<1)-e>32&&et)return et.decode(E.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var s=m[e+2*a>>1];if(0==s)break;i+=String.fromCharCode(s)}return i},rt=function(e,t,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);m[t>>1]=a,t+=2}return m[t>>1]=0,t-n},nt=function(e){return 2*e.length},ot=function(e,t){for(var r=0,n="";!(r>=t/4);){var o=v[e+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},it=function(e,t,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i);if(v[t>>2]=a,(t+=4)+4>o)break}return v[t>>2]=0,t-n},at=function(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t},st=function(e,t){var r=z[e];return void 0===r&&Z(t+" has unknown type "+Re(e)),r},ct=function(e,t,r){var n=[],o=e.toWireType(n,r);return n.length&&(C[t>>2]=Ge.toHandle(n)),o},At={},ut=[],lt=Reflect.construct,dt=[null,[],[]],gt=function(e,t){var r=dt[e];0===t||10===t?((1===e?g:f)(qe(r,0)),r.length=0):r.push(t)};!function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);G=e}(),X=s.BindingError=function(e){function t(e){var r;return o(this,t),(r=n(this,t,[e])).name="BindingError",r}return u(t,e),a(t)}(w(Error)),Y=s.InternalError=function(e){function t(e){var r;return o(this,t),(r=n(this,t,[e])).name="InternalError",r}return u(t,e),a(t)}(w(Error)),Object.assign(Ee.prototype,{isAliasOf:function(e){if(!(this instanceof Ee))return!1;if(!(e instanceof Ee))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o},clone:function(){if(this.$$.ptr||te(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=pe(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete:function(){this.$$.ptr||te(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Z("Object already scheduled for deletion"),ne(this),oe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted:function(){return!this.$$.ptr},deleteLater:function(){return this.$$.ptr||te(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Z("Object already scheduled for deletion"),Ae.push(this),1===Ae.length&&ee&&ee(ue),this.$$.deleteScheduled=!0,this}}),s.getInheritedInstanceCount=se,s.getLiveInheritedInstances=ce,s.flushPendingDeletes=ue,s.setDelayFunction=le,Object.assign(Be.prototype,{getPointee:function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor:function(e){this.rawDestructor&&this.rawDestructor(e)},argPackAdvance:8,readValueFromPointer:be,deleteObject:function(e){null!==e&&e.delete()},fromWireType:he}),Te=s.UnboundTypeError=(Ye=Error,(Ve=me(We="UnboundTypeError",function(e){this.name=We,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))})).prototype=Object.create(Ye.prototype),Ve.prototype.constructor=Ve,Ve.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},Ve),Object.assign(Ue.prototype,{get:function(e){return this.allocated[e]},has:function(e){return void 0!==this.allocated[e]},allocate:function(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free:function(e){this.allocated[e]=void 0,this.freelist.push(e)}}),je.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),je.reserved=je.allocated.length,s.count_emval_handles=He;var ft,ht={w:function(e,t,r){throw new H(e).init(t,r),e},q:function(e,t,r,n,o){},u:function(e,t,r,n){$(e,{name:t=W(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},y:function(e,t,r,n,o,i,a,c,A,u,l,d,g){l=W(l),i=Me(o,i),c&&(c=Me(a,c)),u&&(u=Me(A,u)),g=Me(d,g);var f=function(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}(l);!function(e,t,r){s.hasOwnProperty(e)?(Z("Cannot register public name '".concat(e,"' twice")),ye(s,e,e),s.hasOwnProperty(r)&&Z("Cannot register multiple overloads of a function with the same number of arguments (".concat(r,")!")),s[e].overloadTable[r]=t):s[e]=t}(f,function(){Se("Cannot construct ".concat(l," due to unbound types"),[n])}),q([e,t,r],n?[n]:[],function(t){var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Ee.prototype;var a=me(l,function(){if(Object.getPrototypeOf(this)!==A)throw new X("Use 'new' to construct "+l);if(void 0===d.constructor_body)throw new X(l+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new X("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 e.apply(this,arguments)}),A=Object.create(o,{constructor:{value:a}});a.prototype=A;var d=new Ie(l,a,A,g,r,i,c,u);d.baseClass&&(void 0===d.baseClass.__derivedClasses&&(d.baseClass.__derivedClasses=[]),d.baseClass.__derivedClasses.push(d));var h=new Be(l,d,!0,!1,!1),p=new Be(l+"*",d,!1,!1,!1),E=new Be(l+" const*",d,!1,!0,!1);return ae[e]={pointerType:p,constPointerType:E},function(e,t,r){s.hasOwnProperty(e)||J("Replacing nonexistant public symbol"),void 0!==s[e].overloadTable&&void 0!==r||(s[e]=t,s[e].argCount=r)}(f,a),[h,p,E]})},x:function(e,t,r,n,o,i){var a=ke(t,r);o=Me(n,o),q([],[e],function(e){e=e[0];var r="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new X("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=function(){Se("Cannot construct ".concat(e.name," due to unbound types"),a)},q([],a,function(n){return n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=xe(r,n,null,o,i),[]}),[]})},i:function(e,t,r,n,o,i,a,s,c){var A,u,l=ke(r,n);t=W(t),u=(A=(A=t).trim()).indexOf("("),t=-1!==u?A.substr(0,u):A,i=Me(o,i),q([],[e],function(e){e=e[0];var n="".concat(e.name,".").concat(t);function o(){Se("Cannot call ".concat(n," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,A=c[t];return void 0===A||void 0===A.overloadTable&&A.className!==e.name&&A.argCount===r-2?(o.argCount=r-2,o.className=e.name,c[t]=o):(ye(c,t,n),c[t].overloadTable[r-2]=o),q([],l,function(o){var s=xe(n,o,e,i,a);return void 0===c[t].overloadTable?(s.argCount=r-2,c[t]=s):c[t].overloadTable[r-2]=s,[]}),[]})},k:function(e,t,r,n,o,i,a,s,c,A){t=W(t),o=Me(n,o),q([],[e],function(e){e=e[0];var n="".concat(e.name,".").concat(t),u={get:function(){Se("Cannot access ".concat(n," due to unbound types"),[r,a])},enumerable:!0,configurable:!0};return u.set=c?function(){return Se("Cannot access ".concat(n," due to unbound types"),[r,a])}:function(e){return Z(n+" is a read-only property")},Object.defineProperty(e.registeredClass.instancePrototype,t,u),q([],c?[r,a]:[r],function(r){var a=r[0],u={get:function(){var t=Ne(this,e,n+" getter");return a.fromWireType(o(i,t))},enumerable:!0};if(c){c=Me(s,c);var l=r[1];u.set=function(t){var r=Ne(this,e,n+" setter"),o=[];c(A,r,l.toWireType(o,t)),Fe(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,u),[]}),[]})},t:function(e,t){$(e,{name:t=W(t),fromWireType:function(e){var t=Ge.toValue(e);return Le(e),t},toWireType:function(e,t){return Ge.toHandle(t)},argPackAdvance:8,readValueFromPointer:Xe,destructorFunction:null})},p:function(e,t,r){$(e,{name:t=W(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Ke(t,r),destructorFunction:null})},g:function(e,t,r,n,o){t=W(t);var i=function(e){return e};if(0===n){var a=32-8*r;i=function(e){return e<<a>>>a}}var s=t.includes("unsigned");$(e,{name:t,fromWireType:i,toWireType:s?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Ze(t,r,0!==n),destructorFunction:null})},a:function(e,t,r){var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=C[e>>2],r=C[e+4>>2];return new n(p.buffer,r,t)}$(e,{name:r=W(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},o:function(e,t){var r="std::string"===(t=W(t));$(e,{name:t,fromWireType:function(e){var t,n=C[e>>2],o=e+4;if(r)for(var i=o,a=0;a<=n;++a){var s=o+a;if(a==n||0==E[s]){var c=$e(i,s-i);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),i=s+1}}else{var A=new Array(n);for(a=0;a<n;++a)A[a]=String.fromCharCode(E[o+a]);t=A.join("")}return yt(e),t},toWireType:function(e,t){var n;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Z("Cannot pass non-string to std::string"),n=r&&o?function(e){for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t}(t):t.length;var i=Et(4+n+1),a=i+4;if(C[i>>2]=n,r&&o)(function(e,t,r,n){if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}t[r]=0})(t,E,a,n+1);else if(o)for(var s=0;s<n;++s){var c=t.charCodeAt(s);c>255&&(yt(a),Z("String has UTF-16 code units that do not fit in 8 bits")),E[a+s]=c}else for(s=0;s<n;++s)E[a+s]=t[s];return null!==e&&e.push(yt,i),i},argPackAdvance:8,readValueFromPointer:be,destructorFunction:function(e){yt(e)}})},l:function(e,t,r){var n,o,i,a,s;r=W(r),2===t?(n=tt,o=rt,a=nt,i=function(){return y},s=1):4===t&&(n=ot,o=it,a=at,i=function(){return C},s=2),$(e,{name:r,fromWireType:function(e){for(var r,o=C[e>>2],a=i(),c=e+4,A=0;A<=o;++A){var u=e+4+A*t;if(A==o||0==a[u>>s]){var l=n(c,u-c);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),c=u+t}}return yt(e),r},toWireType:function(e,n){"string"!=typeof n&&Z("Cannot pass non-string to C++ string type ".concat(r));var i=a(n),c=Et(4+i+t);return C[c>>2]=i>>s,o(n,c+4,i+t),null!==e&&e.push(yt,c),c},argPackAdvance:8,readValueFromPointer:Xe,destructorFunction:function(e){yt(e)}})},v:function(e,t){$(e,{isVoid:!0,name:t=W(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},j:function(e,t,r){return e=Ge.toValue(e),t=st(t,"emval::as"),ct(t,r,e)},e:function(e,t,r,n,o){var i,a;return(e=ut[e])(t=Ge.toValue(t),t[r=void 0===(a=At[i=r])?W(i):a],n,o)},d:Le,f:function(e,t,r){var n=function(e,t){for(var r=new Array(e),n=0;n<e;++n)r[n]=st(C[t+4*n>>2],"parameter "+n);return r}(e,t),o=n.shift();e--;var i,a,s=new Array(e),c="methodCaller<(".concat(n.map(function(e){return e.name}).join(", "),") => ").concat(o.name,">");return i=me(c,function(t,i,a,c){for(var A=0,u=0;u<e;++u)s[u]=n[u].readValueFromPointer(c+A),A+=n[u].argPackAdvance;var l=1===r?lt(i,s):i.apply(t,s);for(u=0;u<e;++u)n[u].deleteObject&&n[u].deleteObject(s[u]);return ct(o,a,l)}),a=ut.length,ut.push(i),a},c:function(e){e>4&&(je.get(e).refcount+=1)},b:function(e){var t=Ge.toValue(e);Fe(t),Le(e)},h:function(e,t){var r=(e=st(e,"_emval_take_value")).readValueFromPointer(t);return Ge.toHandle(r)},m:function(){S("")},s:function(e,t,r){return E.copyWithin(e,t,t+r)},r:function(e){E.length,S("OOM")},n:function(e,t,r,n){for(var o=0,i=0;i<r;i++){var a=C[t>>2],s=C[t+4>>2];t+=8;for(var c=0;c<s;c++)gt(e,E[a+c]);o+=s}return C[n>>2]=o,0}},pt=function(){var e={a:ht};function t(e,t){var r,n;return pt=e.exports,d=pt.z,r=d.buffer,s.HEAP8=p=new Int8Array(r),s.HEAP16=m=new Int16Array(r),s.HEAPU8=E=new Uint8Array(r),s.HEAPU16=y=new Uint16Array(r),s.HEAP32=v=new Int32Array(r),s.HEAPU32=C=new Uint32Array(r),s.HEAPF32=_=new Float32Array(r),s.HEAPF64=b=new Float64Array(r),De=pt.C,n=pt.A,T.unshift(n),function(){if(M--,s.monitorRunDependencies&&s.monitorRunDependencies(M),0==M&&R){var e=R;R=null,e()}}(),pt}if(M++,s.monitorRunDependencies&&s.monitorRunDependencies(M),s.instantiateWasm)try{return s.instantiateWasm(e,t)}catch(e){f("Module.instantiateWasm callback failed with error: ".concat(e)),r(e)}return j(0,k,e,function(e){t(e.instance)}).catch(r),{}}(),Et=function(e){return(Et=pt.B)(e)},mt=function(e){return(mt=pt.D)(e)},yt=function(e){return(yt=pt.E)(e)},It=function(e){return(It=pt.F)(e)};function vt(){function e(){ft||(ft=!0,s.calledRun=!0,B||(L(T),t(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),function(){if(s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)P(s.postRun.shift());L(O)}()))}M>0||(!function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)Q(s.preRun.shift());L(D)}(),M>0||(s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1),e()},1)):e()))}if(s.dynCall_jiji=function(e,t,r,n,o){return(s.dynCall_jiji=pt.G)(e,t,r,n,o)},s._vertexShaderSource=10624,R=function e(){ft||vt(),ft||(R=e)},s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return vt(),i.ready}}(),X=G,Y=function(){return a(function e(t,r){var n=this;o(this,e),S(this,"canvas"),S(this,"locateFile"),S(this,"_glName"),S(this,"_solutionWasm"),S(this,"ctx"),S(this,"fileDownloader"),S(this,"startTime"),S(this,"lastTimestamp"),S(this,"pl",{onResults:function(e){return n.onResults(e.get(0).glName)}}),this.locateFile=function(e){return"".concat(t,"/").concat(e).replace(/([^:]\/)\/+/g,"$1")},this.fileDownloader=r},[{key:"bindTexture",value:function(){var e;null==(e=this.ctx)||e.activeTexture(this.ctx.TEXTURE0),this.bindTexture2d(this._glName)}},{key:"initialize",value:(t=r(d().m(function e(){var t,r,n,o;return d().w(function(e){for(;;)switch(e.n){case 0:return this._solutionWasm=new this.SolutionWasm,(t=new this.StringList).push_back("segmentation_mask"),r=this.PacketListener.implement(this.pl),this._solutionWasm.attachMultiListener(t,r),t.delete(),n=this._solutionWasm,e.n=1,this.fileDownloader.download(this.locateFile("selfie_segmentation.binarypb"),{type:"arraybuffer"});case 1:return o=e.v,n.loadGraph.call(n,o),e.a(2,this)}},e,this)})),function(){return t.apply(this,arguments)})},{key:"setCanvas",value:function(e){this.canvas=e,this.createContext(e,!0,!0,{}),this._glName=this.createTexture()}},{key:"fetchResponse",value:function(e){return this.fileDownloader.downloadWithFetch(e,"fetch-response")}},{key:"loadWasm",value:function(e,t){return this.fileDownloader.loadWasm(e,t)}},{key:"changeModel",value:(e=r(d().m(function e(){var t,r,n,o=arguments;return d().w(function(e){for(;;)switch(e.n){case 0:if("string"!=typeof(t=o.length>0&&void 0!==o[0]?o[0]:"selfie_segmentation_landscape.tflite")){e.n=2;break}return e.n=1,this.fileDownloader.download(this.locateFile(t),{type:"arraybuffer"});case 1:n=e.v,e.n=3;break;case 2:n=t;case 3:t=n,this._solutionWasm.overrideFile("third_party/mediapipe/modules/selfie_segmentation/selfie_segmentation_landscape.tflite",t),(r=new this.GraphOptionChangeRequestList).push_back({calculatorIndex:1,calculatorName:"",calculatorType:"GlScalerCalculator",fieldName:"flip_horizontal",valueBoolean:!1,valueNumber:0,valueString:""}),r.push_back({calculatorIndex:0,calculatorType:"ConstantSidePacketCalculator",calculatorName:"ConstantSidePacketCalculatorModelSelection",fieldName:"int_value",valueBoolean:!1,valueNumber:1,valueString:""}),r.push_back({calculatorIndex:0,calculatorType:"InferenceCalculator",calculatorName:"",fieldName:"use_cpu_inference",valueBoolean:!1,valueNumber:0,valueString:""}),this._solutionWasm.changeOptions(r),this.startTime=Date.now();case 4:return e.a(2)}},e,this)})),function(){return e.apply(this,arguments)})},{key:"send",value:function(e,t){var r=new this.PacketDataList,n=Date.now()-this.startTime;this.lastTimestamp&&this.lastTimestamp>=n?this.lastTimestamp++:this.lastTimestamp=n,r.pushTexture2d({stream:"input_frames_gpu",timestamp:this.lastTimestamp,glName:this._glName,width:e,height:t}),this._solutionWasm.send(r),r.delete()}},{key:"close",value:function(){var e,t,r;null==(e=this.canvas)||delete e.getContext,delete this.readyPromiseResolve,delete this.readyPromiseReject,this.pl.onResults=null,delete this.onResults,null==(t=this.deleteTexture)||t.call(this,this._glName),null==(r=this._solutionWasm)||r.delete();for(var n=0,o=Object.keys(this);n<o.length;n++){delete this[o[n]]}}}]);var e,t}(),W="undefined"==typeof navigator?"":navigator.userAgent,V=function(e){return new RegExp(e,"i").test(W)},z=function(e){if(V(e)){var t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=W.match(t);if(r&&r[1])return r[1]}return""},K=function(e){if(V(e)){var t=new RegExp("".concat(e,"\\/(\\d+)")),r=W.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},Z=/AppleWebKit\/([\d.]+)/i.exec(W);Z&&parseFloat(Z[1]);var J=V("iPad"),q="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&V("Macintosh"),$=V("iPhone")&&!J,ee=V("iPod"),te=$||J||ee||q,re=V("Android");!function(){if(re){var e=W.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){var t=e[1]&&parseFloat(e[1]),r=e[2]&&parseFloat(e[2]);if(t&&r)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}}();re&&V("webkit");var ne=V("Firefox"),oe=z("Firefox");K("Firefox");var ie=V("Edge"),ae=z("Edge"),se=V("Edg"),ce=z("Edg");K("Edg");var Ae=V("SogouMobileBrowser"),ue=z("SogouMobileBrowser"),le=V("MetaSr\\s"),de=z("MetaSr\\s"),ge=V("TBS"),fe=z("TBS"),he=V("XWEB"),pe=z("XWEB");V("MSIE\\s8\\.0");var Ee=V("MSIE\\/\\d+");!function(){if(Ee){var e=/MSIE\s(\d+)\.\d/.exec(W),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(W)&&/rv:11.0/.test(W)&&(t=11),t}}();var me=V("(micromessenger|webbrowser)"),ye=z("MicroMessenger"),Ie=!ge&&V("MQQBrowser")&&V("COVC"),ve=!ge&&V("MQQBrowser")&&!V("COVC"),we=ve||Ie?z("MQQBrowser"):"",Ce=!ge&&V(" QQBrowser"),_e=z(" QQBrowser"),be=!ge&&V("QQBrowserLite"),Be=z("QQBrowserLite"),De=!ge&&V("MQBHD"),Te=z("MQBHD");V("Windows"),!te&&V("MAC OS X"),!re&&V("Linux"),V("CrOS"),V("MicroMessenger"),V("UCBrowser"),V("Electron");var Oe=V("MiuiBrowser"),Qe=z("MiuiBrowser"),Pe=V("HuaweiBrowser");V("Huawei")||V("HUAWEI"),V("Honor")||V("HONOR");var Me=z("HuaweiBrowser"),Re=V("SamsungBrowser"),Se=z("SamsungBrowser"),ke=V("HeyTapBrowser"),Fe=z("HeyTapBrowser"),xe=V("VivoBrowser"),Ne=z("VivoBrowser");V("OpenHarmony"),z("OpenHarmony");var Ue=V("Chrome"),je=!ie&&!le&&!Ae&&!ge&&!he&&!se&&!Ce&&!Oe&&!Pe&&!Re&&!ke&&!xe&&Ue;V("HeadlessChrome");var Le=K("Chrome"),He=z("Chrome"),Ge=!Ue&&!ve&&!Ie&&!be&&!De&&V("Safari"),Xe=z("Version"),Ye=function(){if(q)return Xe;if(te){var e=W.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){var t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""}();Number(Ye.split(".")[0]),Number(Ye.split(".")[0]),V("CriOS"),function(){var e=new Map([[ne,["Firefox",oe]],[se,["Edg",ce]],[je,["Chrome",He]],[Ge,["Safari",Xe]],[ge,["TBS",fe]],[he,["XWEB",pe]],[me&&$,["WeChat",ye]],[Ce,["QQ(Win)",_e]],[ve,["QQ(Mobile)",we]],[Ie,["QQ(Mobile X5)",we]],[be,["QQ(Mac)",Be]],[De,["QQ(iPad)",Te]],[Oe,["MI",Qe]],[Pe,["HW",Me]],[Re,["Samsung",Se]],[ke,["OPPO",Fe]],[xe,["VIVO",Ne]],[ie,["EDGE",ae]],[Ae,["SogouMobile",ue]],[le,["Sogou",de]]]),t="unknown",r="unknown";if(e.has(!0)){var n=h(e.get(!0),2);t=n[0],r=n[1]}}();var We,Ve,ze="undefined"!=typeof self?self:{};function Ke(){throw Error("Invalid UTF8")}function Ze(e,t){return t=String.fromCharCode.apply(null,t),null==e?t:e+t}var Je,qe,$e,et,tt,rt,nt,ot="undefined"!=typeof TextDecoder,it="undefined"!=typeof TextEncoder;function at(e){if(it)e=(Je||(Je=new TextEncoder)).encode(e);else{for(var t=0,r=new Uint8Array(3*e.length),n=0;n<e.length;n++){var o=e.charCodeAt(n);if(o<128)r[t++]=o;else{if(o<2048)r[t++]=o>>6|192;else{if(o>=55296&&o<=57343){if(o<=56319&&n<e.length){var i=e.charCodeAt(++n);if(i>=56320&&i<=57343){o=1024*(o-55296)+i-56320+65536,r[t++]=o>>18|240,r[t++]=o>>12&63|128,r[t++]=o>>6&63|128,r[t++]=63&o|128;continue}n--}o=65533}r[t++]=o>>12|224,r[t++]=o>>6&63|128}r[t++]=63&o|128}}e=t===r.length?r:r.subarray(0,t)}return e}e:{for(et=["CLOSURE_FLAGS"],tt=ze,rt=0;rt<et.length;rt++)if(null==(tt=tt[et[rt]])){$e=null;break e}$e=tt}var st=$e&&$e[610401301];qe=null!=st&&st;var ct=ze.navigator;function At(e){return!!qe&&!!nt&&nt.brands.some(function(t){var r=t.brand;return r&&-1!=r.indexOf(e)})}function ut(e){var t;return(t=ze.navigator)&&(t=t.userAgent)||(t=""),-1!=t.indexOf(e)}function lt(){return!!qe&&!!nt&&nt.brands.length>0}function dt(){return lt()?At("Chromium"):(ut("Chrome")||ut("CriOS"))&&!(!lt()&&ut("Edge"))||ut("Silk")}function gt(e){return gt[" "](e),e}nt=ct&&ct.userAgentData||null,gt[" "]=function(){};var ft=!lt()&&(ut("Trident")||ut("MSIE"));!ut("Android")||dt(),dt(),ut("Safari")&&(dt()||!lt()&&ut("Coast")||!lt()&&ut("Opera")||!lt()&&ut("Edge")||(lt()?At("Microsoft Edge"):ut("Edg/"))||lt()&&At("Opera"));var ht={},pt=null;function Et(){if(!pt){pt={};for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"],r=0;r<5;r++){var n=e.concat(t[r].split(""));ht[r]=n;for(var o=0;o<n.length;o++){var i=n[o];void 0===pt[i]&&(pt[i]=o)}}}}var mt="undefined"!=typeof Uint8Array,yt=!ft&&"function"==typeof btoa;function It(e){if(!yt){var t;void 0===t&&(t=0),Et(),t=ht[t];for(var r=Array(Math.floor(e.length/3)),n=t[64]||"",o=0,i=0;o<e.length-2;o+=3){var a=e[o],s=e[o+1],c=e[o+2],A=t[a>>2];a=t[(3&a)<<4|s>>4],s=t[(15&s)<<2|c>>6],c=t[63&c],r[i++]=A+a+s+c}switch(A=0,c=n,e.length-o){case 2:c=t[(15&(A=e[o+1]))<<2]||n;case 1:e=e[o],r[i]=t[e>>2]+t[(3&e)<<4|A>>4]+c+n}return r.join("")}for(t="",r=0,n=e.length-10240;r<n;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var vt=/[-_.]/g,wt={"-":"+",_:"/",".":"="};function Ct(e){return wt[e]||""}function _t(e){if(!yt)return function(e){var t=e.length,r=3*t/4;r%3?r=Math.floor(r):-1!="=.".indexOf(e[t-1])&&(r=-1!="=.".indexOf(e[t-2])?r-2:r-1);var n=new Uint8Array(r),o=0;return function(e,t){function r(t){for(;n<e.length;){var r=e.charAt(n++),o=pt[r];if(null!=o)return o;if(!/^[\s\xa0]*$/.test(r))throw Error("Unknown base64 encoding at char: "+r)}return t}Et();for(var n=0;;){var o=r(-1),i=r(0),a=r(64),s=r(64);if(64===s&&-1===o)break;t(o<<2|i>>4),64!=a&&(t(i<<4&240|a>>2),64!=s&&t(a<<6&192|s))}}(e,function(e){n[o++]=e}),o!==r?n.subarray(0,o):n}(e);vt.test(e)&&(e=e.replace(vt,Ct)),e=atob(e);for(var t=new Uint8Array(e.length),r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function bt(e){return mt&&null!=e&&e instanceof Uint8Array}var Bt={};function Dt(){return Ot||(Ot=new Pt(null,Bt))}function Tt(e){Mt(Bt);var t=e.g;return null==(t=null==t||bt(t)?t:"string"==typeof t?_t(t):null)?t:e.g=t}var Ot,Qt,Pt=function(){return a(function e(t,r){if(o(this,e),Mt(r),this.g=t,null!=t&&0===t.length)throw Error("ByteString should be constructed with non-empty values")},[{key:"h",value:function(){return new Uint8Array(Tt(this)||0)}}])}();function Mt(e){if(e!==Bt)throw Error("illegal external caller")}function Rt(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function St(e){return Rt(e=Error(e),"warning"),e}function kt(e){if(null!=e){var t=null!=Qt?Qt:Qt={},r=t[e]||0;r>=5||(t[e]=r+1,Rt(e=Error(),"incident"),n=e,ze.setTimeout(function(){throw n},0))}var n}var Ft="function"==typeof Symbol&&"symbol"==I(Symbol());function xt(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return"function"==typeof Symbol&&"symbol"==I(Symbol())?r&&Symbol.for&&e?Symbol.for(e):null!=e?Symbol(e):Symbol():t}var Nt,Ut=xt("jas",void 0,!0),jt=xt(void 0,"0di"),Lt=xt(void 0,"1oa"),Ht=xt(void 0,Symbol()),Gt=xt(void 0,"0actk"),Xt=xt(void 0,"8utk"),Yt=Ft?Ut:"Ea",Wt={Ea:{value:0,configurable:!0,writable:!0,enumerable:!1}},Vt=Object.defineProperties;function zt(e,t){Ft||Yt in e||Vt(e,Wt),e[Yt]|=t}function Kt(e,t){Ft||Yt in e||Vt(e,Wt),e[Yt]=t}function Zt(e){return zt(e,34),e}function Jt(e,t){Kt(t,-15615&e)}function qt(e,t){Kt(t,-15581&e|34)}function $t(){return"function"==typeof BigInt}function er(e){return Array.prototype.slice.call(e)}var tr={};function rr(e){return null!==e&&"object"==I(e)&&!Array.isArray(e)&&e.constructor===Object}function nr(e,t){if(null!=e)if("string"==typeof e)e=e?new Pt(e,Bt):Dt();else if(e.constructor!==Pt)if(bt(e))e=e.length?new Pt(new Uint8Array(e),Bt):Dt();else{if(!t)throw Error();e=void 0}return e}var or=[];function ir(e){if(2&e)throw Error()}Kt(or,55),Nt=Object.freeze(or);var ar=function(){return a(function e(t,r,n){o(this,e),this.g=t,this.h=r,this.l=n},[{key:"next",value:function(){var e=this.g.next();return e.done||(e.value=this.h.call(this.l,e.value)),e}},{key:Symbol.iterator,value:function(){return this}}])}();function sr(e){return Ht?e[Ht]:void 0}var cr=Object.freeze({});function Ar(e){return e.Na=!0,e}var ur=Ar(function(e){return"number"==typeof e}),lr=Ar(function(e){return"string"==typeof e}),dr=Ar(function(e){return"boolean"==typeof e}),gr="function"==typeof ze.BigInt&&"bigint"==typeof ze.BigInt(0);function fr(e){var t=e;if(lr(t)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(t))throw Error(String(t))}else if(ur(t)&&!Number.isSafeInteger(t))throw Error(String(t));return gr?BigInt(e):e=dr(e)?e?"1":"0":lr(e)?e.trim()||"0":String(e)}var hr=Ar(function(e){return gr?e>=Er&&e<=yr:"-"===e[0]?Ir(e,pr):Ir(e,mr)}),pr=Number.MIN_SAFE_INTEGER.toString(),Er=gr?BigInt(Number.MIN_SAFE_INTEGER):void 0,mr=Number.MAX_SAFE_INTEGER.toString(),yr=gr?BigInt(Number.MAX_SAFE_INTEGER):void 0;function Ir(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(var r=0;r<e.length;r++){var n=e[r],o=t[r];if(n>o)return!1;if(n<o)return!0}}var vr,wr="function"==typeof Uint8Array.prototype.slice,Cr=0,_r=0;function br(e){var t=e>>>0;Cr=t,_r=(e-t)/4294967296>>>0}function Br(e){if(e<0){br(-e);var t=h(Sr(Cr,_r),2),r=t[0],n=t[1];Cr=r>>>0,_r=n>>>0}else br(e)}function Dr(e){var t=vr||(vr=new DataView(new ArrayBuffer(8)));t.setFloat32(0,+e,!0),_r=0,Cr=t.getUint32(0,!0)}function Tr(e,t){var r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Qr(e,t)}function Or(e,t){var r=2147483648&t;return r&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0)),"number"==typeof(e=Tr(e,t))?r?-e:e:r?"-"+e:e}function Qr(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else $t()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+Pr(r)+Pr(e));return r}function Pr(e){return e=String(e),"0000000".slice(e.length)+e}function Mr(){var e=Cr,t=_r;if(2147483648&t)if($t())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{var r=h(Sr(e,t),2);e="-"+Qr(r[0],r[1])}else e=Qr(e,t);return e}function Rr(e){if(e.length<16)Br(Number(e));else if($t())e=BigInt(e),Cr=Number(e&BigInt(4294967295))>>>0,_r=Number(e>>BigInt(32)&BigInt(4294967295));else{var t=+("-"===e[0]);_r=Cr=0;for(var r=e.length,n=t,o=(r-t)%6+t;o<=r;n=o,o+=6){var i=Number(e.slice(n,o));_r*=1e6,(Cr=1e6*Cr+i)>=4294967296&&(_r+=Math.trunc(Cr/4294967296),_r>>>=0,Cr>>>=0)}if(t){var a=h(Sr(Cr,_r),2),s=a[0],c=a[1];Cr=s,_r=c}}}function Sr(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var kr="function"==typeof BigInt?BigInt.asIntN:void 0,Fr="function"==typeof BigInt?BigInt.asUintN:void 0,xr=Number.isSafeInteger,Nr=Number.isFinite,Ur=Math.trunc,jr=fr(0);function Lr(e){return null==e||"number"==typeof e?e:"NaN"===e||"Infinity"===e||"-Infinity"===e?Number(e):void 0}function Hr(e){return null==e||"boolean"==typeof e?e:"number"==typeof e?!!e:void 0}var Gr=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Xr(e){switch(I(e)){case"bigint":return!0;case"number":return Nr(e);case"string":return Gr.test(e);default:return!1}}function Yr(e){if(null==e)return e;if("string"==typeof e&&e)e=+e;else if("number"!=typeof e)return;return Nr(e)?0|e:void 0}function Wr(e){if(null==e)return e;if("string"==typeof e&&e)e=+e;else if("number"!=typeof e)return;return Nr(e)?e>>>0:void 0}function Vr(e){if("-"===e[0])return!1;var t=e.length;return t<20||20===t&&Number(e.substring(0,6))<184467}function zr(e){var t=e.length;return"-"===e[0]?t<20||20===t&&Number(e.substring(0,7))>-922337:t<19||19===t&&Number(e.substring(0,6))<922337}function Kr(e){return zr(e)?e:(Rr(e),Mr())}function Zr(e){return e=Ur(e),xr(e)||(Br(e),e=Or(Cr,_r)),e}function Jr(e){var t=Ur(Number(e));return xr(t)?String(t):(-1!==(t=e.indexOf("."))&&(e=e.substring(0,t)),Kr(e))}function qr(e){var t=Ur(Number(e));return xr(t)?fr(t):(-1!==(t=e.indexOf("."))&&(e=e.substring(0,t)),$t()?fr(kr(64,BigInt(e))):fr(Kr(e)))}function $r(e){if(xr(e))e=fr(Zr(e));else{if(e=Ur(e),xr(e))e=String(e);else{var t=String(e);zr(t)?e=t:(Br(e),e=Mr())}e=fr(e)}return e}function en(e){return null==e?e:"bigint"==typeof e?(hr(e)?e=Number(e):(e=kr(64,e),e=hr(e)?Number(e):String(e)),e):Xr(e)?"number"==typeof e?Zr(e):Jr(e):void 0}function tn(e){if("string"!=typeof e)throw Error();return e}function rn(e){if(null!=e&&"string"!=typeof e)throw Error();return e}function nn(e){return null==e||"string"==typeof e?e:void 0}function on(e,t,r,n){if(null!=e&&"object"==I(e)&&e.W===tr)return e;if(!Array.isArray(e))return r?2&n?((e=t[jt])||(Zt((e=new t).u),e=t[jt]=e),t=e):t=new t:t=void 0,t;var o=r=0|e[Yt];return 0===o&&(o|=32&n),(o|=2&n)!==r&&Kt(e,o),new t(e)}function an(e,t,r){if(t)e:{if(!Xr(t=e))throw St("int64");switch(I(t)){case"string":t=qr(t);break e;case"bigint":t=fr(kr(64,t));break e;default:t=$r(t)}}else e=I(t=e),t=null==t?t:"bigint"===e?fr(kr(64,t)):Xr(t)?"string"===e?qr(t):$r(t):void 0;return null==(e=t)?r?jr:void 0:e}function sn(e){return e}var cn={},An=function(){try{return gt(new(function(e){function t(){return o(this,t),n(this,t)}return u(t,e),a(t)}(w(Map)))),!1}catch(e){return!0}}(),un=function(){return a(function e(){o(this,e),this.g=new Map},[{key:"get",value:function(e){return this.g.get(e)}},{key:"set",value:function(e,t){return this.g.set(e,t),this.size=this.g.size,this}},{key:"delete",value:function(e){return e=this.g.delete(e),this.size=this.g.size,e}},{key:"clear",value:function(){this.g.clear(),this.size=this.g.size}},{key:"has",value:function(e){return this.g.has(e)}},{key:"entries",value:function(){return this.g.entries()}},{key:"keys",value:function(){return this.g.keys()}},{key:"values",value:function(){return this.g.values()}},{key:"forEach",value:function(e,t){return this.g.forEach(e,t)}},{key:Symbol.iterator,value:function(){return this.entries()}}])}();function ln(e){return e}function dn(e){if(2&e.M)throw Error("Cannot mutate an immutable Map")}var gn,fn,hn,pn,En=function(e){function t(e,r){var i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ln,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:ln;o(this,t),i=n(this,t);var c=0|e[Yt];Kt(e,c|=64),i.M=c,i.I=r,i.S=a,i.X=i.I?mn:s;for(var A=0;A<e.length;A++){var u=e[A],l=a(u[0],!1,!0),d=u[1];r?void 0===d&&(d=null):d=s(u[1],!1,!0,void 0,void 0,c),p(t,"set",i)([l,d])}return i}return u(t,e),a(t,[{key:"La",value:function(){var e=_n;if(0!==this.size)return Array.from(p(t,"entries",this)([]),function(t){return t[0]=e(t[0]),t[1]=e(t[1]),t})}},{key:"da",value:function(){for(var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:yn,n=[],o=p(t,"entries",this)([]);!(e=o.next()).done;)(e=e.value)[0]=r(e[0]),e[1]=r(e[1]),n.push(e);return n}},{key:"clear",value:function(){dn(this),p(t,"clear",this)([])}},{key:"delete",value:function(e){return dn(this),p(t,"delete",this)([this.S(e,!0,!1)])}},{key:"entries",value:function(){if(this.I){var e=p(t,"keys",this)([]);e=new ar(e,In,this)}else e=p(t,"entries",this)([]);return e}},{key:"values",value:function(){if(this.I){var e=p(t,"keys",this)([]);e=new ar(e,En.prototype.get,this)}else e=p(t,"values",this)([]);return e}},{key:"forEach",value:function(e,r){this.I?p(t,"forEach",this)([function(t,n,o){e.call(r,o.get(n),n,o)}]):p(t,"forEach",this)([e,r])}},{key:"set",value:function(e,r){return dn(this),null==(e=this.S(e,!0,!1))?this:null==r?(p(t,"delete",this)([e]),this):p(t,"set",this)([e,this.X(r,!0,!0,this.I,!1,this.M)])}},{key:"Ja",value:function(e){var r=this.S(e[0],!1,!0);e=e[1],e=this.I?void 0===e?null:e:this.X(e,!1,!0,void 0,!1,this.M),p(t,"set",this)([r,e])}},{key:"has",value:function(e){return p(t,"has",this)([this.S(e,!1,!1)])}},{key:"get",value:function(e){e=this.S(e,!1,!1);var r=p(t,"get",this)([e]);if(void 0!==r){var n=this.I;return n?((n=this.X(r,!1,!0,n,this.pa,this.M))!==r&&p(t,"set",this)([e,n]),n):r}}},{key:Symbol.iterator,value:function(){return this.entries()}}])}(An?(Object.setPrototypeOf(un.prototype,Map.prototype),Object.defineProperties(un.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),un):function(e){function t(){return o(this,t),n(this,t)}return u(t,e),a(t)}(w(Map)));function mn(e,t,r,n,o,i){return e=on(e,n,r,i),o&&(e=Pn(e)),e}function yn(e){return e}function In(e){return[e,this.get(e)]}function vn(){return gn||(gn=new En(Zt([]),void 0,void 0,void 0,cn))}function wn(e,t,r,n,o){if(null!=e){if(Array.isArray(e)){var i=0|e[Yt];return 0===e.length&&1&i?void 0:o&&2&i?e:Cn(e,t,r,void 0!==n,o)}return t(e,n)}}function Cn(e,t,r,n,o){for(var i=n||r?0|e[Yt]:0,a=n?!!(32&i):void 0,s=0,c=(n=er(e)).length,A=0;A<c;A++){var u=n[A];if(A===c-1&&rr(u)){var l=t,d=r,g=a,f=o,h=void 0;for(var p in u){var E=wn(u[p],l,d,g,f);null!=E&&((null!=h?h:h={})[p]=E)}u=h}else u=wn(n[A],t,r,a,o);n[A]=u,null!=u&&(s=A+1)}return s<c&&(n.length=s),r&&((e=sr(e))&&(n[Ht]=er(e)),r(i,n)),n}function _n(e){return wn(e,bn,void 0,void 0,!1)}function bn(e){switch(I(e)){case"number":return Number.isFinite(e)?e:""+e;case"bigint":return hr(e)?Number(e):""+e;case"boolean":return e?1:0;case"object":if(bt(e))return bt(e)&&kt(Xt),It(e);if(e.W===tr)return Bn(e);if(e instanceof Pt){var t=e.g;return null==t?"":"string"==typeof t?t:e.g=It(t)}return e instanceof En?e.La():void 0}return e}function Bn(e){var t=e.u;e=Cn(t,bn,void 0,void 0,!1);var r=0|t[Yt];if((t=e.length)&&!(512&r)){var n=e[t-1],o=!1;rr(n)?(t--,o=!0):n=void 0;var i=t-(r=512&r?0:-1),a=(null!=fn?fn:sn)(i,r,e,n);if(n&&(e[t]=void 0),i<a&&n){for(var s in i=!0,n){var c=+s;c<=a?(e[o=c+r]=n[s],t=Math.max(o+1,t),o=!1,delete n[s]):i=!1}i&&(n=void 0)}for(i=t-1;t>0;i=t-1)if(null==(s=e[i]))t--,o=!0;else{if(!((i-=r)>=a))break;(null!=n?n:n={})[i]=s,t--,o=!0}o&&(e.length=t),n&&e.push(n)}return e}function Dn(e,t,r){return e=Tn(e,t[0],t[1],r?1:2),t!==hn&&r&&zt(e,8192),e}function Tn(e,t,r,n){if(null==e){var o=96;r?(e=[r],o|=512):e=[],t&&(o=-16760833&o|(1023&t)<<14)}else{if(!Array.isArray(e))throw Error("narr");if(8192&(o=0|e[Yt])||!(64&o)||2&o||kt(Gt),1024&o)throw Error("farr");if(64&o)return e;if(1===n||2===n||(o|=64),r&&(o|=512,r!==e[0]))throw Error("mid");e:{var i=(r=e).length;if(i){var a=i-1;if(rr(n=r[a])){if((a-=t=512&(o|=256)?0:-1)>=1024)throw Error("pvtlmt");for(var s in n)(i=+s)<a&&(r[i+t]=n[s],delete n[s]);o=-16760833&o|(1023&a)<<14;break e}}if(t){if((s=Math.max(t,i-(512&o?0:-1)))>1024)throw Error("spvt");o=-16760833&o|(1023&s)<<14}}}return Kt(e,o),e}function On(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:qt;if(null!=e){if(mt&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var n=0|e[Yt];return 2&n?e:(t&&(t=0===n||!!(32&n)&&!(64&n||!(16&n))),t?(Kt(e,34|n),4&n&&Object.freeze(e),e):Cn(e,On,4&n?qt:r,!0,!0))}return e.W===tr?e=2&(n=0|(r=e.u)[Yt])?e:new e.constructor(Qn(r,n,!0)):e instanceof En&&!(2&e.M)&&(r=Zt(e.da(On)),e=new En(r,e.I,e.S,e.X)),e}}function Qn(e,t,r){var n=r||2&t?qt:Jt,o=!!(32&t);return zt(e=function(e,t,r){var n=er(e),o=n.length,i=256&t?n[o-1]:void 0;for(o+=i?-1:0,t=512&t?1:0;t<o;t++)n[t]=r(n[t]);if(i)for(var a in t=n[t]={},i)t[a]=r(i[a]);return(e=sr(e))&&(n[Ht]=er(e)),n}(e,t,function(e){return On(e,o,n)}),32|(r?2:0)),e}function Pn(e){var t=e.u,r=0|t[Yt];return 2&r?new e.constructor(Qn(t,r,!1)):e}function Mn(e,t){return Rn(e=e.u,0|e[Yt],t)}function Rn(e,t,r){if(-1===r)return null;var n=r+(512&t?0:-1),o=e.length-1;return n>=o&&256&t?e[o][r]:n<=o?e[n]:void 0}function Sn(e,t,r){var n=e.u,o=0|n[Yt];return ir(o),kn(n,o,t,r),e}function kn(e,t,r,n){var o=512&t?0:-1,i=r+o,a=e.length-1;return i>=a&&256&t?(e[a][r]=n,t):i<=a?(e[i]=n,t):(void 0!==n&&(r>=(a=t>>14&1023||536870912)?null!=n&&(e[a+o]=function(e,t,r){return(t=y(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({},r,n),Kt(e,t|=256)):e[i]=n),t)}function Fn(e,t){var r=0|(e=e.u)[Yt],n=Rn(e,r,t),o=Lr(n);return null!=o&&o!==n&&kn(e,r,t,o),o}function xn(e){var t=0|(e=e.u)[Yt],r=Rn(e,t,1),n=nr(r,!0);return null!=n&&n!==r&&kn(e,t,1,n),n}function Nn(){return void 0===cr?2:4}function Un(e,t,r,n,o){var i=e.u,a=2&(e=0|i[Yt])?1:n;o=!!o;var s=0|(n=jn(i,e,t))[Yt];if(!(4&s)){4&s&&(n=er(n),s=no(s,e),e=kn(i,e,t,n));for(var c=0,A=0;c<n.length;c++){var u=r(n[c]);null!=u&&(n[A++]=u)}A<c&&(n.length=A),r=-2049&(s=Ln(s,e))|20,Kt(n,s=r&=-4097),2&s&&Object.freeze(n)}return 1===a||4===a&&32&s?Hn(s)||(o=s,(s|=2)!==o&&Kt(n,s),Object.freeze(n)):(2===a&&Hn(s)&&(Kt(n=er(n),s=oo(s=no(s,e),e,o)),e=kn(i,e,t,n)),Hn(s)||(t=s,(s=oo(s,e,o))!==t&&Kt(n,s))),n}function jn(e,t,r){return e=Rn(e,t,r),Array.isArray(e)?e:Nt}function Ln(e,t){return 0===e&&(e=no(e,t)),1|e}function Hn(e){return!!(2&e)&&!!(4&e)||!!(1024&e)}function Gn(e){e=er(e);for(var t=0;t<e.length;t++){var r=e[t]=er(e[t]);Array.isArray(r[1])&&(r[1]=Zt(r[1]))}return e}function Xn(e,t,r,n){var o=0|(e=e.u)[Yt];ir(o),kn(e,o,t,("0"===n?0===Number(r):r===n)?void 0:r)}function Yn(e,t,r,n){ir(t);var o=jn(e,t,r),i=o!==Nt;if(64&t||!(8192&t)||!i){var a=i?0|o[Yt]:0,s=a;(!i||2&s||Hn(s)||4&s&&!(32&s))&&(o=er(o),s=no(s,t),t=kn(e,t,r,o)),s=-13&Ln(s,t),(s=oo(n?-17&s:16|s,t,!0))!==a&&Kt(o,s)}return o}function Wn(e,t){var r=ds;return Kn(Vn(e=e.u),e,0|e[Yt],r)===t?t:-1}function Vn(e){var t;if(Ft)return null!=(t=e[Lt])?t:e[Lt]=new Map;if(Lt in e)return e[Lt];var r=new Map;return Object.defineProperty(e,Lt,{value:r}),r}function zn(e,t,r,n){var o=Vn(e),i=Kn(o,e,t,r);return i!==n&&(i&&(t=kn(e,t,i)),o.set(r,n)),t}function Kn(e,t,r,n){var o=e.get(n);if(null!=o)return o;o=0;for(var i=0;i<n.length;i++){var a=n[i];null!=Rn(t,r,a)&&(0!==o&&(r=kn(t,r,o)),o=a)}return e.set(n,o),o}function Zn(e,t,r){var n,o=0|e[Yt],i=Rn(e,o,r);if(null!=i&&i.W===tr)return(t=Pn(i))!==i&&kn(e,o,r,t),t.u;if(Array.isArray(i)){var a=0|i[Yt];n=2&a?Dn(Qn(i,a,!1),t,!0):64&a?i:Dn(n,t,!0)}else n=Dn(void 0,t,!0);return n!==i&&kn(e,o,r,n),n}function Jn(e,t,r){var n=0|(e=e.u)[Yt],o=Rn(e,n,r);return(t=on(o,t,!1,n))!==o&&null!=t&&kn(e,n,r,t),t}function qn(e,t,r){if(null==(t=Jn(e,t,r)))return t;var n=0|(e=e.u)[Yt];if(!(2&n)){var o=Pn(t);o!==t&&kn(e,n,r,t=o)}return t}function $n(e,t,r,n,o,i,a){var s=!!(2&t),c=s?1:o;i=!!i,a&&(a=!s);var A=0|(o=jn(e=e.u,t,n))[Yt];if(!(s=!!(4&A))){var u=o,l=t,d=!!(2&(A=Ln(A,t)));d&&(l|=2);for(var g=!d,f=!0,h=0,p=0;h<u.length;h++){var E=on(u[h],r,!1,l);if(E instanceof r){if(!d){var m=!!(2&E.u[Yt]);g&&(g=!m),f&&(f=m)}u[p++]=E}}p<h&&(u.length=p),A|=4,A=f?16|A:-17&A,Kt(u,A=g?8|A:-9&A),d&&Object.freeze(u)}if(a&&!(8&A||!o.length&&(1===c||4===c&&32&A))){for(Hn(A)&&(o=er(o),A=no(A,t),t=kn(e,t,n,o)),r=o,a=A,u=0;u<r.length;u++)(A=r[u])!==(l=Pn(A))&&(r[u]=l);a|=8,Kt(r,a=r.length?-17&a:16|a),A=a}return 1===c||4===c&&32&A?Hn(A)||(t=A,(A|=!o.length||16&A&&(!s||32&A)?2:1024)!==t&&Kt(o,A),Object.freeze(o)):(2===c&&Hn(A)&&(Kt(o=er(o),A=oo(A=no(A,t),t,i)),t=kn(e,t,n,o)),Hn(A)||(n=A,(A=oo(A,t,i))!==n&&Kt(o,A))),o}function eo(e,t,r){var n=0|e.u[Yt];return $n(e,n,t,r,Nn(),!1,!(2&n))}function to(e,t,r,n){return null==n&&(n=void 0),Sn(e,r,n)}function ro(e,t,r,n){null==n&&(n=void 0);e:{var o=0|(e=e.u)[Yt];if(ir(o),null==n){var i=Vn(e);if(Kn(i,e,o,r)!==t)break e;i.set(r,0)}else o=zn(e,o,r,t);kn(e,o,t,n)}}function no(e,t){return-1025&(2&t?2|e:-3&e)|32}function oo(e,t,r){return 32&t&&r||(e&=-33),e}function io(e,t,r){ir(0|e.u[Yt]),Un(e,t,nn,2,!0).push(tn(r))}function ao(e,t,r,n){var o=0|e.u[Yt];ir(o),e=$n(e,o,r,t,2,!0),n=null!=n?n:new r,e.push(n),e[Yt]=2&n.u[Yt]?-9&e[Yt]:-17&e[Yt]}function so(e,t){return Yr(Mn(e,t))}function co(e,t){return nn(Mn(e,t))}function Ao(e,t){var r;return null!=(r=Fn(e,t))?r:0}function uo(e,t,r){if(null!=r&&"boolean"!=typeof r)throw e=I(r),Error("Expected boolean but got ".concat("object"!=e?e:r?Array.isArray(r)?"array":e:"null",": ").concat(r));Sn(e,t,r)}function lo(e,t,r){if(null!=r){if("number"!=typeof r)throw St("int32");if(!Nr(r))throw St("int32");r|=0}Sn(e,t,r)}function go(e,t,r){if(null!=r&&"number"!=typeof r)throw Error("Value of float/double field must be a number, found ".concat(I(r),": ").concat(r));Sn(e,t,r)}function fo(e,t,r){var n=e.u,o=0|n[Yt];if(ir(o),null==r)kn(n,o,t);else{var i=e=0|r[Yt],a=Hn(e),s=a||Object.isFrozen(r);for(a||(e=0),s||(r=er(r),i=0,e=oo(e=no(e,o),o,!0),s=!1),e|=21,a=0;a<r.length;a++){var c=r[a],A=tn(c);Object.is(c,A)||(s&&(r=er(r),i=0,e=oo(e=no(e,o),o,!0),s=!1),r[a]=A)}e!==i&&(s&&(r=er(r),e=oo(e=no(e,o),o,!0)),Kt(r,e)),kn(n,o,t,r)}}function ho(e,t){return Error("Invalid wire type: ".concat(e," (at position ").concat(t,")"))}function po(){return Error("Failed to read varint, encoding is invalid.")}function Eo(e,t){return Error("Tried to read past the end of the data ".concat(t," > ").concat(e))}function mo(e){if("string"==typeof e)return{buffer:_t(e),O:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),O:!1};if(e.constructor===Uint8Array)return{buffer:e,O:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),O:!1};if(e.constructor===Pt)return{buffer:Tt(e)||new Uint8Array(0),O:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),O:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function yo(e,t){var r,n=0,o=0,i=0,a=e.h,s=e.g;do{n|=(127&(r=a[s++]))<<i,i+=7}while(i<32&&128&r);for(i>32&&(o|=(127&r)>>4),i=3;i<32&&128&r;i+=7)o|=(127&(r=a[s++]))<<i;if(Do(e,s),r<128)return t(n>>>0,o>>>0);throw po()}function Io(e){for(var t=0,r=e.g,n=r+10,o=e.h;r<n;){var i=o[r++];if(t|=i,!(128&i))return Do(e,r),!!(127&t)}throw po()}function vo(e){var t=e.h,r=e.g,n=t[r++],o=127&n;if(128&n&&(o|=(127&(n=t[r++]))<<7,128&n&&(o|=(127&(n=t[r++]))<<14,128&n&&(o|=(127&(n=t[r++]))<<21,128&n&&(o|=(n=t[r++])<<28,128&n&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw po();return Do(e,r),o}function wo(e){return vo(e)>>>0}function Co(e){var t=e.h,r=e.g,n=t[r],o=t[r+1],i=t[r+2];return t=t[r+3],Do(e,e.g+4),(n|o<<8|i<<16|t<<24)>>>0}function _o(e){var t=Co(e);e=2*(t>>31)+1;var r=t>>>23&255;return t&=8388607,255==r?t?NaN:e*(1/0):0==r?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function bo(e){return vo(e)}function Bo(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).aa,n=void 0!==r&&r;e.aa=n,t&&(t=mo(t),e.h=t.buffer,e.m=t.O,e.j=0,e.l=e.h.length,e.g=e.j)}function Do(e,t){if(e.g=t,t>e.l)throw Eo(e.l,t)}function To(e,t){if(t<0)throw Error("Tried to read a negative byte length: ".concat(t));var r=e.g,n=r+t;if(n>e.l)throw Eo(t,e.l-r);return e.g=n,r}function Oo(e,t){if(0==t)return Dt();var r=To(e,t);return e.aa&&e.m?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):wr?e.slice(r,t):new Uint8Array(e.subarray(r,t))),0==r.length?Dt():new Pt(r,Bt)}En.prototype.toJSON=void 0;var Qo=[];function Po(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var r=wo(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5))throw ho(r,e.l);if(t<1)throw Error("Invalid field number: ".concat(t," (at position ").concat(e.l,")"));return e.m=t,e.h=r,!0}function Mo(e){switch(e.h){case 0:0!=e.h?Mo(e):Io(e.g);break;case 1:Do(e=e.g,e.g+8);break;case 2:if(2!=e.h)Mo(e);else{var t=wo(e.g);Do(e=e.g,e.g+t)}break;case 5:Do(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!Po(e))throw Error("Unmatched start-group tag: stream EOF");if(4==e.h){if(e.m!=t)throw Error("Unmatched end-group tag");break}Mo(e)}break;default:throw ho(e.h,e.l)}}function Ro(e,t,r){var n=e.g.l,o=wo(e.g),i=e.g.g+o,a=i-n;if(a<=0&&(e.g.l=i,r(t,e,void 0,void 0,void 0),a=i-e.g.g),a)throw Error("Message parsing ended unexpectedly. Expected to read ".concat(o," bytes, instead read ").concat(o-a," bytes, either the data ended unexpectedly or the message misreported its own length"));return e.g.g=i,e.g.l=n,t}function So(e){var t=wo(e.g),r=To(e=e.g,t);if(e=e.h,ot){var n,o=e;(n=Ve)||(n=Ve=new TextDecoder("utf-8",{fatal:!0})),t=r+t,o=0===r&&t===o.length?o:o.subarray(r,t);try{var i=n.decode(o)}catch(e){if(void 0===We){try{n.decode(new Uint8Array([128]))}catch(e){}try{n.decode(new Uint8Array([97])),We=!0}catch(e){We=!1}}throw!We&&(Ve=void 0),e}}else{t=(i=r)+t,r=[];for(var a,s=null;i<t;){var c=e[i++];c<128?r.push(c):c<224?i>=t?Ke():(a=e[i++],c<194||128!=(192&a)?(i--,Ke()):r.push((31&c)<<6|63&a)):c<240?i>=t-1?Ke():128!=(192&(a=e[i++]))||224===c&&a<160||237===c&&a>=160||128!=(192&(n=e[i++]))?(i--,Ke()):r.push((15&c)<<12|(63&a)<<6|63&n):c<=244?i>=t-2?Ke():128!=(192&(a=e[i++]))||a-144+(c<<28)>>30||128!=(192&(n=e[i++]))||128!=(192&(o=e[i++]))?(i--,Ke()):(c=(7&c)<<18|(63&a)<<12|(63&n)<<6|63&o,c-=65536,r.push(55296+(c>>10&1023),56320+(1023&c))):Ke(),r.length>=8192&&(s=Ze(s,r),r.length=0)}i=Ze(s,r)}return i}function ko(e){var t=wo(e.g);return Oo(e.g,t)}function Fo(e,t,r){var n=wo(e.g);for(n=e.g.g+n;e.g.g<n;)r.push(t(e.g))}var xo=[];function No(e,t,r){t.g?t.m(e,t.g,t.h,r):t.m(e,t.h,r)}var Uo=function(){return a(function e(t,r){o(this,e),this.u=Tn(t,r)},[{key:"toJSON",value:function(){try{var e=Bn(this)}finally{fn=void 0}return e}},{key:"l",value:function(){var e=sc;return e.g?e.l(this,e.g,e.h):e.l(this,e.h,e.defaultValue)}},{key:"clone",value:function(){var e=this.u;return new this.constructor(Qn(e,0|e[Yt],!1))}},{key:"O",value:function(){return!!(2&this.u[Yt])}}])}();function jo(e){return e?/^\d+$/.test(e)?(Rr(e),new Ho(Cr,_r)):null:Lo||(Lo=new Ho(0,0))}Uo.prototype.W=tr,Uo.prototype.toString=function(){return this.u.toString()};var Lo,Ho=a(function e(t,r){o(this,e),this.h=t>>>0,this.g=r>>>0});function Go(e){return e?/^-?\d+$/.test(e)?(Rr(e),new Yo(Cr,_r)):null:Xo||(Xo=new Yo(0,0))}var Xo,Yo=a(function e(t,r){o(this,e),this.h=t>>>0,this.g=r>>>0});function Wo(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function Vo(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function zo(e,t){if(t>=0)Vo(e,t);else{for(var r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Ko(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function Zo(e,t){0!==t.length&&(e.l.push(t),e.h+=t.length)}function Jo(e,t,r){Vo(e.g,8*t+r)}function qo(e,t){return Jo(e,t,2),t=e.g.end(),Zo(e,t),t.push(e.h),t}function $o(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function ei(e,t,r){Jo(e,t,2),Vo(e.g,r.length),Zo(e,e.g.end()),Zo(e,r)}function ti(e,t,r,n){null!=r&&(t=qo(e,t),n(r,e),$o(e,t))}function ri(){var e=a(function e(){throw o(this,e),Error()});return Object.setPrototypeOf(e,e.prototype),e}var ni=ri(),oi=ri(),ii=ri(),ai=ri(),si=ri(),ci=ri(),Ai=ri(),ui=ri(),li=ri(),di=a(function e(t,r,n){o(this,e),this.g=t,this.h=r,t=ni,this.l=!!t&&n===t||!1});function gi(e,t){return new di(e,t,ni)}function fi(e,t,r,n,o){ti(e,r,bi(t,n),o)}var hi,pi,Ei=gi(function(e,t,r,n,o){return 2===e.h&&(Ro(e,Zn(t,n,r),o),!0)},fi),mi=gi(function(e,t,r,n,o){return 2===e.h&&(Ro(e,Zn(t,n,r),o),!0)},fi),yi=Symbol(),Ii=Symbol(),vi=Symbol(),wi=Symbol();function Ci(e,t,r,n){var o=n[e];if(o)return o;(o={}).Ma=n,o.T=function(e){switch(I(e)){case"boolean":return hn||(hn=[0,void 0,!0]);case"number":return e>0?void 0:0===e?pn||(pn=[0,void 0]):[-e,void 0];case"string":return[0,e];case"object":return e}}(n[0]);var i=n[1],a=1;i&&i.constructor===Object&&(o.ga=i,"function"==typeof(i=n[++a])&&(o.la=!0,null!=hi||(hi=i),null!=pi||(pi=n[a+1]),i=n[a+=2]));for(var s={};i&&Array.isArray(i)&&i.length&&"number"==typeof i[0]&&i[0]>0;){for(var c=0;c<i.length;c++)s[i[c]]=i;i=n[++a]}for(c=1;void 0!==i;){var A=void 0;"number"==typeof i&&(c+=i,i=n[++a]);var u=void 0;if(i instanceof di?A=i:(A=Ei,a--),null==A?void 0:A.l){i=n[++a],u=n;var l=a;"function"==typeof i&&(i=i(),u[l]=i),u=i}for(l=c+1,"number"==typeof(i=n[++a])&&i<0&&(l-=i,i=n[++a]);c<l;c++){var d=s[c];u?r(o,c,A,u,d):t(o,c,A,d)}}return n[e]=o}function _i(e){return Array.isArray(e)?e[0]instanceof di?e:[mi,e]:[e,void 0]}function bi(e,t){return e instanceof Uo?e.u:Array.isArray(e)?Dn(e,t,!1):void 0}function Bi(e,t,r,n){var o=r.g;e[t]=n?function(e,t,r){return o(e,t,r,n)}:o}function Di(e,t,r,n,o){var i,a,s=r.g;e[t]=function(e,t,r){return s(e,t,r,a||(a=Ci(Ii,Bi,Di,n).T),i||(i=Ti(n)),o)}}function Ti(e){var t=e[vi];if(null!=t)return t;var r=Ci(Ii,Bi,Di,e);return t=r.la?function(e,t){return hi(e,t,r)}:function(e,t){for(var n=0|e[Yt];Po(t)&&4!=t.h;){var o=t.m,i=r[o];if(null==i){var a=r.ga;a&&(a=a[o])&&null!=(a=Oi(a))&&(i=r[o]=a)}null!=i&&i(t,e,o)||(o=(i=t).l,Mo(i),i.fa?i=void 0:(a=i.g.g-o,i.g.g=o,i=Oo(i.g,a)),o=e,i&&((a=o[Ht])?a.push(i):o[Ht]=[i]))}return 8192&n&&Zt(e),!0},e[vi]=t}function Oi(e){var t=(e=_i(e))[0].g;if(e=e[1]){var r=Ti(e),n=Ci(Ii,Bi,Di,e).T;return function(e,o,i){return t(e,o,i,n,r)}}return t}function Qi(e,t,r){e[t]=r.h}function Pi(e,t,r,n){var o,i,a=r.h;e[t]=function(e,t,r){return a(e,t,r,i||(i=Ci(yi,Qi,Pi,n).T),o||(o=Mi(n)))}}function Mi(e){var t=e[wi];if(!t){var r=Ci(yi,Qi,Pi,e);t=function(e,t){return Ri(e,t,r)},e[wi]=t}return t}function Ri(e,t,r){!function(e,t,r){for(var n=512&t?0:-1,o=e.length,i=o+((t=64&t?256&t:!!o&&rr(e[o-1]))?-1:0),a=0;a<i;a++)r(a-n,e[a]);if(t)for(var s in e=e[o-1])!isNaN(s)&&r(+s,e[s])}(e,e[Yt]|(r.T[1]?512:0),function(e,n){if(null!=n){var o=function(e,t){var r=e[t];if(r)return r;if((r=e.ga)&&(r=r[t])){var n=(r=_i(r))[0].h;if(r=r[1]){var o=Mi(r),i=Ci(yi,Qi,Pi,r).T;r=e.la?pi(i,o):function(e,t,r){return n(e,t,r,i,o)}}else r=n;return e[t]=r}}(r,e);o&&o(t,n,e)}}),(e=sr(e))&&function(e,t){Zo(e,e.g.end());for(var r=0;r<t.length;r++)Zo(e,Tt(t[r])||new Uint8Array(0))}(t,e)}function Si(e,t){if(Array.isArray(t)){var r=0|t[Yt];if(4&r)return t;for(var n=0,o=0;n<t.length;n++){var i=e(t[n]);null!=i&&(t[o++]=i)}return o<n&&(t.length=o),Kt(t,-6145&r|5),2&r&&Object.freeze(t),t}}function ki(e,t,r){return new di(e,t,r)}function Fi(e,t,r){return new di(e,t,r)}function xi(e,t,r){kn(e,0|e[Yt],t,r)}var Ni=gi(function(e,t,r,n,o){return 2===e.h&&(e=Ro(e,Dn([void 0,void 0],n,!0),o),ir(n=0|t[Yt]),(o=Rn(t,n,r))instanceof En?2&o.M?((o=o.da()).push(e),kn(t,n,r,o)):o.Ja(e):Array.isArray(o)?(2&o[Yt]&&kn(t,n,r,o=Gn(o)),o.push(e)):kn(t,n,r,[e]),!0)},function(e,t,r,n,o){if(t instanceof En)t.forEach(function(t,i){ti(e,r,Dn([i,t],n,!1),o)});else if(Array.isArray(t))for(var i=0;i<t.length;i++){var a=t[i];Array.isArray(a)&&ti(e,r,Dn(a,n,!1),o)}});function Ui(e,t,r){if(null!=(t=function(e){if(null==e)return e;var t=I(e);if("bigint"===t)return String(kr(64,e));if(Xr(e)){if("string"===t)return Jr(e);if("number"===t)return Zr(e)}}(t))&&("string"==typeof t&&Go(t),null!=t))switch(Jo(e,r,0),I(t)){case"number":e=e.g,Br(t),Wo(e,Cr,_r);break;case"bigint":r=BigInt.asUintN(64,t),r=new Yo(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),Wo(e.g,r.h,r.g);break;default:r=Go(t),Wo(e.g,r.h,r.g)}}function ji(e,t,r){null!=(t=Yr(t))&&null!=t&&(Jo(e,r,0),zo(e.g,t))}function Li(e,t,r){null!=(t=Hr(t))&&(Jo(e,r,0),e.g.g.push(t?1:0))}function Hi(e,t,r){null!=(t=nn(t))&&ei(e,r,at(t))}function Gi(e,t,r,n,o){ti(e,r,bi(t,n),o)}function Xi(e,t,r){null==t||"string"==typeof t||t instanceof Pt||(bt(t)?bt(t)&&kt(Xt):t=void 0),null!=t&&ei(e,r,mo(t).buffer)}function Yi(e,t,r){return(5===e.h||2===e.h)&&(t=Yn(t,0|t[Yt],r,!1),2==e.h?Fo(e,_o,t):t.push(_o(e.g)),!0)}var Wi=ki(function(e,t,r){if(1!==e.h)return!1;var n=e.g;e=Co(n);var o=Co(n);n=2*(o>>31)+1;var i=o>>>20&2047;return e=4294967296*(1048575&o)+e,xi(t,r,2047==i?e?NaN:n*(1/0):0==i?5e-324*n*e:n*Math.pow(2,i-1075)*(e+4503599627370496)),!0},function(e,t,r){null!=(t=Lr(t))&&(Jo(e,r,1),e=e.g,(r=vr||(vr=new DataView(new ArrayBuffer(8)))).setFloat64(0,+t,!0),Cr=r.getUint32(0,!0),_r=r.getUint32(4,!0),Ko(e,Cr),Ko(e,_r))},ri()),Vi=ki(function(e,t,r){return 5===e.h&&(xi(t,r,_o(e.g)),!0)},function(e,t,r){null!=(t=Lr(t))&&(Jo(e,r,5),e=e.g,Dr(t),Ko(e,Cr))},Ai),zi=Fi(Yi,function(e,t,r){if(null!=(t=Si(Lr,t)))for(var n=0;n<t.length;n++){var o=e,i=r,a=t[n];null!=a&&(Jo(o,i,5),o=o.g,Dr(a),Ko(o,Cr))}},Ai),Ki=Fi(Yi,function(e,t,r){if(null!=(t=Si(Lr,t))&&t.length){Jo(e,r,2),Vo(e.g,4*t.length);for(var n=0;n<t.length;n++)r=e.g,Dr(t[n]),Ko(r,Cr)}},Ai),Zi=ki(function(e,t,r){return 0===e.h&&(xi(t,r,yo(e.g,Or)),!0)},Ui,ci),Ji=ki(function(e,t,r){return 0===e.h&&(xi(t,r,0===(e=yo(e.g,Or))?void 0:e),!0)},Ui,ci),qi=ki(function(e,t,r){return 0===e.h&&(xi(t,r,yo(e.g,Tr)),!0)},function(e,t,r){if(null!=(t=function(e){if(null==e)return e;var t=I(e);if("bigint"===t)return String(Fr(64,e));if(Xr(e)){if("string"===t)return t=Ur(Number(e)),xr(t)&&t>=0?e=String(t):(-1!==(t=e.indexOf("."))&&(e=e.substring(0,t)),Vr(e)||(Rr(e),e=Qr(Cr,_r))),e;if("number"===t)return(e=Ur(e))>=0&&xr(e)?e:function(e){if(e<0){Br(e);var t=Qr(Cr,_r);return e=Number(t),xr(e)?e:t}return Vr(t=String(e))?t:(Br(e),Tr(Cr,_r))}(e)}}(t))&&("string"==typeof t&&jo(t),null!=t))switch(Jo(e,r,0),I(t)){case"number":e=e.g,Br(t),Wo(e,Cr,_r);break;case"bigint":r=BigInt.asUintN(64,t),r=new Ho(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),Wo(e.g,r.h,r.g);break;default:r=jo(t),Wo(e.g,r.h,r.g)}},ri()),$i=ki(function(e,t,r){return 0===e.h&&(xi(t,r,vo(e.g)),!0)},ji,ai),ea=Fi(function(e,t,r){return(0===e.h||2===e.h)&&(t=Yn(t,0|t[Yt],r,!1),2==e.h?Fo(e,vo,t):t.push(vo(e.g)),!0)},function(e,t,r){if(null!=(t=Si(Yr,t))&&t.length){r=qo(e,r);for(var n=0;n<t.length;n++)zo(e.g,t[n]);$o(e,r)}},ai),ta=ki(function(e,t,r){return 0===e.h&&(xi(t,r,0===(e=vo(e.g))?void 0:e),!0)},ji,ai),ra=ki(function(e,t,r){return 0===e.h&&(xi(t,r,Io(e.g)),!0)},Li,oi),na=ki(function(e,t,r){return 0===e.h&&(xi(t,r,!1===(e=Io(e.g))?void 0:e),!0)},Li,oi),oa=Fi(function(e,t,r){return 2===e.h&&(e=So(e),Yn(t,0|t[Yt],r,!1).push(e),!0)},function(e,t,r){if(null!=(t=Si(nn,t)))for(var n=0;n<t.length;n++){var o=e,i=r,a=t[n];null!=a&&ei(o,i,at(a))}},ii),ia=ki(function(e,t,r){return 2===e.h&&(xi(t,r,""===(e=So(e))?void 0:e),!0)},Hi,ii),aa=ki(function(e,t,r){return 2===e.h&&(xi(t,r,So(e)),!0)},Hi,ii),sa=function(e,t){return new di(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:ni)}(function(e,t,r,n,o){return 2===e.h&&(n=Dn(void 0,n,!0),Yn(t,0|t[Yt],r,!0).push(n),Ro(e,n,o),!0)},function(e,t,r,n,o){if(Array.isArray(t))for(var i=0;i<t.length;i++)Gi(e,t[i],r,n,o)}),ca=gi(function(e,t,r,n,o,i){return 2===e.h&&(zn(t,0|t[Yt],i,r),Ro(e,t=Zn(t,n,r),o),!0)},Gi),Aa=ki(function(e,t,r){return 2===e.h&&(xi(t,r,ko(e)),!0)},Xi,ui),ua=Fi(function(e,t,r){return(0===e.h||2===e.h)&&(t=Yn(t,0|t[Yt],r,!1),2==e.h?Fo(e,wo,t):t.push(wo(e.g)),!0)},function(e,t,r){if(null!=(t=Si(Wr,t)))for(var n=0;n<t.length;n++){var o=e,i=r,a=t[n];null!=a&&(Jo(o,i,0),Vo(o.g,a))}},si),la=ki(function(e,t,r){return 0===e.h&&(xi(t,r,0===(e=wo(e.g))?void 0:e),!0)},function(e,t,r){null!=(t=Wr(t))&&null!=t&&(Jo(e,r,0),Vo(e.g,t))},si),da=ki(function(e,t,r){return 0===e.h&&(xi(t,r,vo(e.g)),!0)},function(e,t,r){null!=(t=Yr(t))&&(t=parseInt(t,10),Jo(e,r,0),zo(e.g,t))},li),ga=function(){return a(function e(t,r){o(this,e),this.h=t,this.g=r,this.l=qn,this.m=to,this.defaultValue=void 0},[{key:"register",value:function(){gt(this)}}])}();function fa(e,t){return new ga(e,t)}function ha(e,t){return function(r,n){if(xo.length){var i=xo.pop();i.o(n),Bo(i.g,r,n),r=i}else r=new(function(){return a(function e(t,r){if(o(this,e),Qo.length){var n=Qo.pop();Bo(n,t,r),t=n}else t=new(function(){return a(function e(t,r){o(this,e),this.h=null,this.m=!1,this.g=this.l=this.j=0,Bo(this,t,r)},[{key:"clear",value:function(){this.h=null,this.m=!1,this.g=this.l=this.j=0,this.aa=!1}}])}())(t,r);this.g=t,this.l=this.g.g,this.h=this.m=-1,this.o(r)},[{key:"o",value:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).fa,t=void 0!==e&&e;this.fa=t}}])}())(r,n);try{var s=new e,c=s.u;Ti(t)(c,r);var A=s}finally{r.g.clear(),r.m=-1,r.h=-1,xo.length<100&&xo.push(r)}return A}}function pa(e){return function(){var t=new(a(function e(){o(this,e),this.l=[],this.h=0,this.g=new(function(){return a(function e(){o(this,e),this.g=[]},[{key:"length",value:function(){return this.g.length}},{key:"end",value:function(){var e=this.g;return this.g=[],e}}])}())}));Ri(this.u,t,Ci(yi,Qi,Pi,e)),Zo(t,t.g.end());for(var r=new Uint8Array(t.h),n=t.l,i=n.length,s=0,c=0;c<i;c++){var A=n[c];r.set(A,s),s+=A.length}return t.l=[r],r}}var Ea,ma=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),ya=[0,ia,ki(function(e,t,r){return 2===e.h&&(xi(t,r,(e=ko(e))===Dt()?void 0:e),!0)},function(e,t,r){if(null!=t){if(t instanceof Uo){var n=t.Oa;return void(n&&(t=n(t),null!=t&&ei(e,r,mo(t).buffer)))}if(Array.isArray(t))return}Xi(e,t,r)},ui)],Ia=globalThis.trustedTypes;function va(e){void 0===Ea&&(Ea=function(){var e=null;if(!Ia)return e;try{var t=function(e){return e};e=Ia.createPolicy("goog#html",{createHTML:t,createScript:t,createScriptURL:t})}catch(e){}return e}());var t=Ea;return new(function(){return a(function e(t){o(this,e),this.g=t},[{key:"toString",value:function(){return this.g+""}}])}())(t?t.createScriptURL(e):e)}function wa(e){if(0==(arguments.length<=1?0:arguments.length-1))return va(e[0]);for(var t=e[0],r=0;r<(arguments.length<=1?0:arguments.length-1);r++)t+=encodeURIComponent(r+1<1||arguments.length<=r+1?void 0:arguments[r+1])+e[r+1];return va(t)}var Ca=[0,$i,da,ra,-1,ea,da,-1],_a=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),ba=[0,ra,aa,ra,da,-1,Fi(function(e,t,r){return(0===e.h||2===e.h)&&(t=Yn(t,0|t[Yt],r,!1),2==e.h?Fo(e,bo,t):t.push(vo(e.g)),!0)},function(e,t,r){if(null!=(t=Si(Yr,t))&&t.length){r=qo(e,r);for(var n=0;n<t.length;n++)zo(e.g,t[n]);$o(e,r)}},li),aa,-1,[0,ra,-1],da,ra,-1],Ba=[0,aa,-2],Da=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Ta=[0],Oa=[0,$i,ra,1,ra,-3],Qa=function(e){function t(e){return o(this,t),n(this,t,[e,2])}return u(t,e),a(t)}(Uo),Pa={};Pa[336783863]=[0,aa,ra,-1,$i,[0,[1,2,3,4,5,6,7,8,9],ca,Ta,ca,ba,ca,Ba,ca,Oa,ca,Ca,ca,[0,aa,-2],ca,[0,aa,da],ca,[0,da,aa,-1],ca,[0,da,-1]],[0,aa],ra,[0,[1,3],[2,4],ca,[0,ea],-1,ca,[0,oa],-1,sa,[0,aa,-1]],aa];var Ma=[0,Ji,-1,na,-3,Ji,ea,ia,ta,Ji,-1,na,ta,na,-2,ia];function Ra(e,t){Xn(e,2,rn(t),"")}function Sa(e,t){io(e,3,t)}function ka(e,t){io(e,4,t)}var Fa=function(e){function t(e){return o(this,t),n(this,t,[e,500])}return u(t,e),a(t,[{key:"o",value:function(e){return to(this,0,7,e)}}])}(Uo),xa=[-1,{}],Na=[0,aa,1,xa],Ua=[0,aa,oa,xa];function ja(e,t){ao(e,1,Fa,t)}function La(e,t){io(e,10,t)}function Ha(e,t){io(e,15,t)}var Ga=function(e){function t(e){return o(this,t),n(this,t,[e,500])}return u(t,e),a(t,[{key:"o",value:function(e){return to(this,0,1001,e)}}])}(Uo),Xa=[-500,sa,[-500,ia,-1,oa,-3,[-2,Pa,ra],sa,ya,ta,-1,Na,Ua,sa,[0,ia,na],ia,Ma,ta,oa,987,oa],4,sa,[-500,aa,-1,[-1,{}],998,aa],sa,[-500,aa,oa,-1,[-2,{},ra],997,oa,-1],ta,sa,[-500,aa,oa,xa,998,oa],oa,ta,Na,Ua,sa,[0,ia,-1,xa],oa,-2,Ma,ia,-1,na,[0,na,la],978,xa,sa,ya];Ga.prototype.g=pa(Xa);var Ya=ha(Ga,Xa),Wa=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Va=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"g",value:function(){return eo(this,Wa,1)}}])}(Uo),za=[0,sa,[0,$i,Vi,aa,-1]],Ka=ha(Va,za),Za=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Ja=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),qa=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"h",value:function(){return qn(this,Za,2)}},{key:"g",value:function(){return eo(this,Ja,5)}}])}(Uo),$a=ha(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),[0,oa,ea,Ki,[0,da,[0,$i,-3],[0,Vi,-3],[0,$i,-1,[0,sa,[0,$i,-2]]],sa,[0,Vi,-1,aa,Vi]],aa,-1,Zi,sa,[0,$i,Vi],oa,Zi]),es=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),ts=ha(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),[0,sa,[0,Vi,-4]]),rs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),ns=ha(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),[0,sa,[0,Vi,-4]]),os=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),is=[0,$i,-1,Ki,da],as=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo);as.prototype.g=pa([0,Vi,-4,Zi]);var ss=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),cs=ha(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),[0,sa,[0,1,$i,aa,za],Zi]),As=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),us=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"ma",value:function(){var e=xn(this);return null==e?Dt():e}}])}(Uo),ls=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),ds=[1,2],gs=ha(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),[0,sa,[0,ds,ca,[0,Ki],ca,[0,Aa],$i,aa],Zi]),fs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),hs=[0,aa,$i,Vi,oa,-1],ps=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Es=[0,ra,-1],ms=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),ys=[1,2,3,4,5],Is=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"g",value:function(){return null!=xn(this)}},{key:"h",value:function(){return null!=co(this,2)}}])}(Uo),vs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"g",value:function(){var e;return null!=(e=Hr(Mn(this,2)))&&e}}])}(Uo),ws=[0,Aa,aa,[0,$i,Zi,-1],[0,qi,Zi]],Cs=[0,ws,ra,[0,ys,ca,Oa,ca,ba,ca,Ca,ca,Ta,ca,Ba],da],_s=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),bs=[0,Cs,Vi,-1,$i],Bs=fa(502141897,_s);Pa[502141897]=bs;var Ds=ha(function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),[0,[0,da,-1,zi,ua],is]),Ts=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Os=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Qs=[0,Cs,Vi,[0,Cs],ra],Ps=[0,Cs,bs,Qs,Vi,[0,[0,ws]]],Ms=fa(508968150,Os);Pa[508968150]=Ps,Pa[508968149]=Qs;var Rs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Ss=fa(513916220,Rs);Pa[513916220]=[0,Cs,Ps,$i];var ks=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"h",value:function(){return qn(this,fs,2)}},{key:"g",value:function(){Sn(this,2)}}])}(Uo),Fs=[0,Cs,hs];Pa[478825465]=Fs;var xs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Ns=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Us=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),js=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Ls=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Hs=[0,Cs,[0,Cs],Fs,-1],Gs=[0,Cs,Vi,$i],Xs=[0,Cs,Vi],Ys=[0,Cs,Gs,Xs,Vi],Ws=fa(479097054,Ls);Pa[479097054]=[0,Cs,Ys,Hs],Pa[463370452]=Hs,Pa[464864288]=Gs;var Vs=fa(462713202,js);Pa[462713202]=Ys,Pa[474472470]=Xs;var zs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Ks=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Zs=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Js=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),qs=[0,Cs,Vi,-1,$i],$s=[0,Cs,Vi,ra];Js.prototype.g=pa([0,Cs,Xs,[0,Cs],bs,Qs,qs,$s]);var ec=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),tc=fa(456383383,ec);Pa[456383383]=[0,Cs,hs];var rc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),nc=fa(476348187,rc);Pa[476348187]=[0,Cs,Es];var oc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),ic=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),ac=[0,da,-1],sc=fa(458105876,function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t,[{key:"g",value:function(){var e=this.u,t=0|e[Yt],r=2&t;return e=function(e,t,r){var n=ic,o=2&t,i=!1;if(null==r){if(o)return vn();r=[]}else if(r.constructor===En){if(!(2&r.M)||o)return r;r=r.da()}else Array.isArray(r)?i=!!(2&r[Yt]):r=[];if(o){if(!r.length)return vn();i||(i=!0,Zt(r))}else i&&(i=!1,r=Gn(r));return i||(64&r[Yt]?r[Yt]&=-33:32&t&&zt(r,32)),kn(e,t,2,n=new En(r,n,an,void 0)),n}(e,t,Rn(e,t,2)),!r&&ic&&(e.pa=!0),e}}])}(Uo));Pa[458105876]=[0,ac,Ni,[!0,Zi,[0,aa,-1,oa]]];var cc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Ac=fa(458105758,cc);Pa[458105758]=[0,Cs,aa,ac];var uc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),lc=fa(443442058,uc);Pa[443442058]=[0,Cs,aa,$i,Vi,oa,-1,ra,Vi],Pa[514774813]=qs;var dc,gc=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),fc=fa(516587230,gc);function hc(e,t){return t=t?t.clone():new fs,void 0!==e.displayNamesLocale?Sn(t,1,rn(e.displayNamesLocale)):void 0===e.displayNamesLocale&&Sn(t,1),void 0!==e.maxResults?lo(t,2,e.maxResults):"maxResults"in e&&Sn(t,2),void 0!==e.scoreThreshold?go(t,3,e.scoreThreshold):"scoreThreshold"in e&&Sn(t,3),void 0!==e.categoryAllowlist?fo(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&Sn(t,4),void 0!==e.categoryDenylist?fo(t,5,e.categoryDenylist):"categoryDenylist"in e&&Sn(t,5),t}function pc(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return{categories:e.map(function(e){var t,r,n,o,i,a,s;return{index:null!=(r=null!=(t=so(e,1))?t:0)?r:-1,score:null!=(n=Ao(e,2))?n:0,categoryName:null!=(i=null!=(o=co(e,3))?o:"")?i:"",displayName:null!=(s=null!=(a=co(e,4))?a:"")?s:""}}),headIndex:t,headName:r}}function Ec(e){for(var t,r,n,o,i,a,c,A,u,l,d,g,f,h=Un(e,3,Lr,Nn()),p=Un(e,2,Yr,Nn()),E=Un(e,1,nn,Nn()),m=Un(e,9,nn,Nn()),y={categories:[],keypoints:[]},I=0;I<h.length;I++)y.categories.push({score:h[I],index:null!=(t=p[I])?t:-1,categoryName:null!=(r=E[I])?r:"",displayName:null!=(n=m[I])?n:""});if((h=null==(o=qn(e,qa,4))?void 0:o.h())&&(y.boundingBox={originX:null!=(i=so(h,1))?i:0,originY:null!=(a=so(h,2))?a:0,width:null!=(c=so(h,3))?c:0,height:null!=(A=so(h,4))?A:0,angle:0}),null==(u=qn(e,qa,4))?void 0:u.g().length){var v,w=s(qn(e,qa,4).g());try{for(w.s();!(v=w.n()).done;){var C=v.value;y.keypoints.push({x:null!=(l=Fn(C,1))?l:0,y:null!=(d=Fn(C,2))?d:0,score:null!=(g=Fn(C,4))?g:0,label:null!=(f=co(C,3))?f:""})}}catch(e){w.e(e)}finally{w.f()}}return y}function mc(e){var t,r,n,o,i,a=[],c=s(eo(e,rs,1));try{for(c.s();!(i=c.n()).done;){var A=i.value;a.push({x:null!=(t=Ao(A,1))?t:0,y:null!=(r=Ao(A,2))?r:0,z:null!=(n=Ao(A,3))?n:0,visibility:null!=(o=Ao(A,4))?o:0})}}catch(e){c.e(e)}finally{c.f()}return a}function yc(e){var t,r,n,o,i,a=[],c=s(eo(e,es,1));try{for(c.s();!(i=c.n()).done;){var A=i.value;a.push({x:null!=(t=Ao(A,1))?t:0,y:null!=(r=Ao(A,2))?r:0,z:null!=(n=Ao(A,3))?n:0,visibility:null!=(o=Ao(A,4))?o:0})}}catch(e){c.e(e)}finally{c.f()}return a}function Ic(e){return Array.from(e,function(e){return e>127?e-256:e})}function vc(e,t){if(e.length!==t.length)throw Error("Cannot compute cosine similarity between embeddings of different sizes (".concat(e.length," vs. ").concat(t.length,")."));for(var r=0,n=0,o=0,i=0;i<e.length;i++)r+=e[i]*t[i],n+=e[i]*e[i],o+=t[i]*t[i];if(n<=0||o<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(n*o)}Pa[516587230]=[0,Cs,qs,$s,Vi],Pa[518928384]=$s;var wc=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);function Cc(){return _c.apply(this,arguments)}function _c(){return(_c=r(d().m(function e(){return d().w(function(e){for(;;)switch(e.n){case 0:if(void 0!==dc){e.n=4;break}return e.p=1,e.n=2,WebAssembly.instantiate(wc);case 2:dc=!0,e.n=4;break;case 3:e.p=3,e.v,dc=!1;case 4:return e.a(2,dc)}},e,null,[[1,3]])}))).apply(this,arguments)}function bc(e){return Bc.apply(this,arguments)}function Bc(){return Bc=r(d().m(function e(t){var r,n,o,i=arguments;return d().w(function(e){for(;;)switch(e.n){case 0:return r=i.length>1&&void 0!==i[1]?i[1]:wa(C||(C=E([""]))),e.n=1,Cc();case 1:if(!e.v){e.n=2;break}o="wasm_internal",e.n=3;break;case 2:o="wasm_nosimd_internal";case 3:return n=o,e.a(2,{wasmLoaderPath:"".concat(r,"/").concat(t,"_").concat(n,".js"),wasmBinaryPath:"".concat(r,"/").concat(t,"_").concat(n,".wasm")})}},e)})),Bc.apply(this,arguments)}var Dc=a(function e(){o(this,e)});function Tc(){var e=navigator;return!("undefined"==typeof OffscreenCanvas||function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:navigator;return(e=e.userAgent).includes("Safari")&&!e.includes("Chrome")}(e)&&!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}function Oc(e){return Qc.apply(this,arguments)}function Qc(){return(Qc=r(d().m(function e(t){var r;return d().w(function(e){for(;;)switch(e.n){case 0:if("function"==typeof importScripts){e.n=1;break}return r=document.createElement("script"),e.a(2,(r.src=t.toString(),r.crossOrigin="anonymous",new Promise(function(e,t){r.addEventListener("load",function(){e()},!1),r.addEventListener("error",function(e){t(e)},!1),document.body.appendChild(r)})));case 1:importScripts(t.toString());case 2:return e.a(2)}},e)}))).apply(this,arguments)}function Pc(e){return void 0!==e.videoWidth?[e.videoWidth,e.videoHeight]:void 0!==e.naturalWidth?[e.naturalWidth,e.naturalHeight]:void 0!==e.displayWidth?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function Mc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function Rc(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);var n=h(Pc(t),2),o=n[0],i=n[1];return!e.l||o===e.i.canvas.width&&i===e.i.canvas.height||(e.i.canvas.width=o,e.i.canvas.height=i),[o,i]}function Sc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");for(var n=new Uint32Array(t.length),o=0;o<t.length;o++)n[o]=e.i.stringToNewUTF8(t[o]);t=e.i._malloc(4*n.length),e.i.HEAPU32.set(n,t>>2),r(t);var i,a=s(n);try{for(a.s();!(i=a.n()).done;){var c=i.value;e.i._free(c)}}catch(e){a.e(e)}finally{a.f()}e.i._free(t)}function kc(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function Fc(e,t,r){var n=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=function(e,t,o){t?(r(n,o),n=[]):n.push(e)}}function xc(e,t,r,n){return Nc.apply(this,arguments)}function Nc(){return Nc=r(d().m(function e(t,n,o,i){return d().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,function(){var e=r(d().m(function e(t,r,n,o,i){var a;return d().w(function(e){for(;;)switch(e.n){case 0:if(!r){e.n=1;break}return e.n=1,Oc(r);case 1:if(self.ModuleFactory){e.n=2;break}throw Error("ModuleFactory not set.");case 2:if(!(a=n)){e.n=4;break}return e.n=3,Oc(n);case 3:a=!self.ModuleFactory;case 4:if(!a){e.n=5;break}throw Error("ModuleFactory not set.");case 5:return self.Module&&i&&((r=self.Module).locateFile=i.locateFile,i.mainScriptUrlOrBlob&&(r.mainScriptUrlOrBlob=i.mainScriptUrlOrBlob)),e.n=6,self.ModuleFactory(self.Module||i);case 6:return i=e.v,self.ModuleFactory=self.Module=void 0,e.a(2,new t(i,o))}},e)}));return function(t,r,n,o,i){return e.apply(this,arguments)}}()(t,o.wasmLoaderPath,o.assetLoaderPath,n,{locateFile:function(e){return e.endsWith(".wasm")?o.wasmBinaryPath.toString():o.assetBinaryPath&&e.endsWith(".data")?o.assetBinaryPath.toString():e}});case 1:return t=e.v,e.n=2,t.o(i);case 2:return e.a(2,t)}},e)})),Nc.apply(this,arguments)}function Uc(e,t){var r=qn(e.baseOptions,Is,1)||new Is;"string"==typeof t?(Sn(r,2,rn(t)),Sn(r,1)):t instanceof Uint8Array&&(Sn(r,1,nr(t,!1)),Sn(r,2)),to(e.baseOptions,0,1,r)}function jc(e){try{var t=e.G.length;if(1===t)throw Error(e.G[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.G.map(function(e){return e.message}).join(", "))}finally{e.G=[]}}function Lc(e,t){e.B=Math.max(e.B,t)}function Hc(e,t){e.A=new Fa,Ra(e.A,"PassThroughCalculator"),Sa(e.A,"free_memory"),ka(e.A,"free_memory_unused_out"),La(t,"free_memory"),ja(t,e.A)}function Gc(e,t){Sa(e.A,t),ka(e.A,t+"_unused_out")}function Xc(e){e.g.addBoolToStream(!0,"free_memory",e.B)}Dc.forVisionTasks=function(e){return bc("vision",e)},Dc.forTextTasks=function(e){return bc("text",e)},Dc.forGenAiExperimentalTasks=function(e){return bc("genai_experimental",e)},Dc.forGenAiTasks=function(e){return bc("genai",e)},Dc.forAudioTasks=function(e){return bc("audio",e)},Dc.isSimdSupported=function(){return Cc()};var Yc=function(){return a(function e(t){o(this,e),this.g=t,this.G=[],this.B=0,this.g.setAutoRenderToScreen(!1)},[{key:"l",value:function(e){var t,n,o,i,a,s,c,A=this;if(!(arguments.length>1&&void 0!==arguments[1])||arguments[1]){var u=e.baseOptions||{};if((null==(t=e.baseOptions)?void 0:t.modelAssetBuffer)&&(null==(n=e.baseOptions)?void 0:n.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((null==(o=qn(this.baseOptions,Is,1))?void 0:o.g())||(null==(i=qn(this.baseOptions,Is,1))?void 0:i.h())||(null==(a=e.baseOptions)?void 0:a.modelAssetBuffer)||(null==(s=e.baseOptions)?void 0:s.modelAssetPath)))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(e,t){var r=qn(e.baseOptions,ms,3);if(!r){var n=r=new ms,o=new Da;ro(n,4,ys,o)}"delegate"in t&&("GPU"===t.delegate?(t=r,n=new _a,ro(t,2,ys,n)):(t=r,n=new Da,ro(t,4,ys,n))),to(e.baseOptions,0,3,r)}(this,u),u.modelAssetPath)return fetch(u.modelAssetPath.toString()).then(function(e){if(e.ok)return e.arrayBuffer();throw Error("Failed to fetch model: ".concat(u.modelAssetPath," (").concat(e.status,")"))}).then(function(e){try{A.g.i.FS_unlink("/model.dat")}catch(e){}A.g.i.FS_createDataFile("/","model.dat",new Uint8Array(e),!0,!1,!1),Uc(A,"/model.dat"),A.m(),A.J()});if(u.modelAssetBuffer instanceof Uint8Array)Uc(this,u.modelAssetBuffer);else if(u.modelAssetBuffer)return(c=r(d().m(function e(t){var r,n,o,i,a,s,c,A;return d().w(function(e){for(;;)switch(e.n){case 0:r=[],n=0;case 1:return e.n=2,t.read();case 2:if(o=e.v,i=o.done,a=o.value,!i){e.n=3;break}return e.a(3,5);case 3:r.push(a),n+=a.length;case 4:e.n=1;break;case 5:if(0!==r.length){e.n=6;break}return e.a(2,new Uint8Array(0));case 6:if(1!==r.length){e.n=7;break}return e.a(2,r[0]);case 7:for(t=new Uint8Array(n),n=0,s=0,c=r;s<c.length;s++)A=c[s],t.set(A,n),n+=A.length;return e.a(2,t)}},e)})),function(e){return c.apply(this,arguments)})(u.modelAssetBuffer).then(function(e){Uc(A,e),A.m(),A.J()})}return this.m(),this.J(),Promise.resolve()}},{key:"J",value:function(){}},{key:"ca",value:function(){var e;if(this.g.ca(function(t){e=Ya(t)}),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}},{key:"setGraph",value:function(e,t){var r=this;this.g.attachErrorListener(function(e,t){r.G.push(Error(t))}),this.g.Ha(),this.g.setGraph(e,t),this.A=void 0,jc(this)}},{key:"finishProcessing",value:function(){this.g.finishProcessing(),jc(this)}},{key:"close",value:function(){this.A=void 0,this.g.closeGraph()}}])}();function Wc(e,t){if(!e)throw Error("Unable to obtain required WebGL resource: ".concat(t));return e}Yc.prototype.close=Yc.prototype.close;var Vc=function(){return a(function e(t,r,n,i){o(this,e),this.g=t,this.h=r,this.m=n,this.l=i},[{key:"bind",value:function(){this.g.bindVertexArray(this.h)}},{key:"close",value:function(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}}])}();function zc(e,t,r){var n=e.g;if(r=Wc(n.createShader(r),"Failed to create WebGL shader"),n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS))throw Error("Could not compile WebGL shader: ".concat(n.getShaderInfoLog(r)));return n.attachShader(e.h,r),r}function Kc(e,t){var r=e.g,n=Wc(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(n);var o=Wc(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,o),r.enableVertexAttribArray(e.P),r.vertexAttribPointer(e.P,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);var i=Wc(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,i),r.enableVertexAttribArray(e.J),r.vertexAttribPointer(e.J,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new Vc(r,n,o,i)}function Zc(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function Jc(e,t,r,n){return Zc(e,t),e.h||(e.m(),e.C()),r?(e.s||(e.s=Kc(e,!0)),r=e.s):(e.v||(e.v=Kc(e,!1)),r=e.v),t.useProgram(e.h),r.bind(),e.l(),e=n(),r.g.bindVertexArray(null),e}function qc(e,t,r){return Zc(e,t),e=Wc(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,null!=r?r:t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,null!=r?r:t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function $c(e,t,r){Zc(e,t),e.A||(e.A=Wc(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.A),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function eA(e){var t;null==(t=e.g)||t.bindFramebuffer(e.g.FRAMEBUFFER,null)}var tA,rA=function(){return a(function e(){o(this,e)},[{key:"G",value:function(){return"\n precision mediump float;\n varying vec2 vTex;\n uniform sampler2D inputTexture;\n void main() {\n gl_FragColor = texture2D(inputTexture, vTex);\n }\n "}},{key:"m",value:function(){var e=this.g;if(this.h=Wc(e.createProgram(),"Failed to create WebGL program"),this.Z=zc(this,"\n attribute vec2 aVertex;\n attribute vec2 aTex;\n varying vec2 vTex;\n void main(void) {\n gl_Position = vec4(aVertex, 0.0, 1.0);\n vTex = aTex;\n }",e.VERTEX_SHADER),this.Y=zc(this,this.G(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error("Error during program linking: ".concat(e.getProgramInfoLog(this.h)));this.P=e.getAttribLocation(this.h,"aVertex"),this.J=e.getAttribLocation(this.h,"aTex")}},{key:"C",value:function(){}},{key:"l",value:function(){}},{key:"close",value:function(){if(this.h){var e=this.g;e.deleteProgram(this.h),e.deleteShader(this.Z),e.deleteShader(this.Y)}this.A&&this.g.deleteFramebuffer(this.A),this.v&&this.v.close(),this.s&&this.s.close()}}])}(),nA=function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t,[{key:"G",value:function(){return"\n precision mediump float;\n uniform sampler2D backgroundTexture;\n uniform sampler2D maskTexture;\n uniform sampler2D colorMappingTexture;\n varying vec2 vTex;\n void main() {\n vec4 backgroundColor = texture2D(backgroundTexture, vTex);\n float category = texture2D(maskTexture, vTex).r;\n vec4 categoryColor = texture2D(colorMappingTexture, vec2(category, 0.0));\n gl_FragColor = mix(backgroundColor, categoryColor, categoryColor.a);\n }\n "}},{key:"C",value:function(){var e=this.g;e.activeTexture(e.TEXTURE1),this.B=qc(this,e,e.LINEAR),e.activeTexture(e.TEXTURE2),this.j=qc(this,e,e.NEAREST)}},{key:"m",value:function(){p(t,"m",this)([]);var e=this.g;this.L=Wc(e.getUniformLocation(this.h,"backgroundTexture"),"Uniform location"),this.U=Wc(e.getUniformLocation(this.h,"colorMappingTexture"),"Uniform location"),this.K=Wc(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}},{key:"l",value:function(){p(t,"l",this)([]);var e=this.g;e.uniform1i(this.K,0),e.uniform1i(this.L,1),e.uniform1i(this.U,2)}},{key:"close",value:function(){this.B&&this.g.deleteTexture(this.B),this.j&&this.g.deleteTexture(this.j),p(t,"close",this)([])}}])}(rA),oA=function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t,[{key:"G",value:function(){return"\n precision mediump float;\n uniform sampler2D maskTexture;\n uniform sampler2D defaultTexture;\n uniform sampler2D overlayTexture;\n varying vec2 vTex;\n void main() {\n float confidence = texture2D(maskTexture, vTex).r;\n vec4 defaultColor = texture2D(defaultTexture, vTex);\n vec4 overlayColor = texture2D(overlayTexture, vTex);\n // Apply the alpha from the overlay and merge in the default color\n overlayColor = mix(defaultColor, overlayColor, overlayColor.a);\n gl_FragColor = mix(defaultColor, overlayColor, confidence);\n }\n "}},{key:"C",value:function(){var e=this.g;e.activeTexture(e.TEXTURE1),this.j=qc(this,e),e.activeTexture(e.TEXTURE2),this.B=qc(this,e)}},{key:"m",value:function(){p(t,"m",this)([]);var e=this.g;this.K=Wc(e.getUniformLocation(this.h,"defaultTexture"),"Uniform location"),this.L=Wc(e.getUniformLocation(this.h,"overlayTexture"),"Uniform location"),this.H=Wc(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}},{key:"l",value:function(){p(t,"l",this)([]);var e=this.g;e.uniform1i(this.H,0),e.uniform1i(this.K,1),e.uniform1i(this.L,2)}},{key:"close",value:function(){this.j&&this.g.deleteTexture(this.j),this.B&&this.g.deleteTexture(this.B),p(t,"close",this)([])}}])}(rA);function iA(e,t){switch(t){case 0:return e.g.find(function(e){return e instanceof Uint8Array});case 1:return e.g.find(function(e){return e instanceof Float32Array});case 2:return e.g.find(function(e){return"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture});default:throw Error("Type is not supported: ".concat(t))}}function aA(e){var t=iA(e,1);if(!t){if(t=iA(e,0))t=new Float32Array(t).map(function(e){return e/255});else{t=new Float32Array(e.width*e.height);var r=cA(e),n=uA(e);if($c(n,r,sA(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){n=new Float32Array(e.width*e.height*4),r.readPixels(0,0,e.width,e.height,r.RGBA,r.FLOAT,n);for(var o=0,i=0;o<t.length;++o,i+=4)t[o]=n[i]}else r.readPixels(0,0,e.width,e.height,r.RED,r.FLOAT,t)}e.g.push(t)}return t}function sA(e){var t=iA(e,2);if(!t){var r=cA(e);t=lA(e);var n=aA(e),o=AA(e);r.texImage2D(r.TEXTURE_2D,0,o,e.width,e.height,0,r.RED,r.FLOAT,n),dA(e)}return t}function cA(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Wc(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function AA(e){if(e=cA(e),!tA)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))tA=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");tA=e.R16F}return tA}function uA(e){return e.l||(e.l=new rA),e.l}function lA(e){var t=cA(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);var r=iA(e,2);return r||(r=qc(uA(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function dA(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var gA=function(){return a(function e(t,r,n,i,a,s,c){o(this,e),this.g=t,this.m=r,this.j=n,this.canvas=i,this.l=a,this.width=s,this.height=c,this.j&&0===--fA&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")},[{key:"Da",value:function(){return!!iA(this,0)}},{key:"ja",value:function(){return!!iA(this,1)}},{key:"R",value:function(){return!!iA(this,2)}},{key:"ia",value:function(){return(e=iA(this,0))||(e=aA(this),e=new Uint8Array(e.map(function(e){return 255*e})),this.g.push(e)),e;var e}},{key:"ha",value:function(){return aA(this)}},{key:"N",value:function(){return sA(this)}},{key:"clone",value:function(){var e,t=this,r=[],n=s(this.g);try{var o=function(){var n,o=e.value;if(o instanceof Uint8Array)n=new Uint8Array(o);else if(o instanceof Float32Array)n=new Float32Array(o);else{if(!(o instanceof WebGLTexture))throw Error("Type is not supported: ".concat(o));var i=cA(t),a=uA(t);i.activeTexture(i.TEXTURE1),n=qc(a,i,t.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,n);var s=AA(t);i.texImage2D(i.TEXTURE_2D,0,s,t.width,t.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),$c(a,i,n),Jc(a,i,!1,function(){lA(t),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),dA(t)}),eA(a),dA(t)}r.push(n)};for(n.s();!(e=n.n()).done;)o()}catch(e){n.e(e)}finally{n.f()}return new gA(r,this.m,this.R(),this.canvas,this.l,this.width,this.height)}},{key:"close",value:function(){this.j&&cA(this).deleteTexture(iA(this,2)),fA=-1}}])}();gA.prototype.close=gA.prototype.close,gA.prototype.clone=gA.prototype.clone,gA.prototype.getAsWebGLTexture=gA.prototype.N,gA.prototype.getAsFloat32Array=gA.prototype.ha,gA.prototype.getAsUint8Array=gA.prototype.ia,gA.prototype.hasWebGLTexture=gA.prototype.R,gA.prototype.hasFloat32Array=gA.prototype.ja,gA.prototype.hasUint8Array=gA.prototype.Da;var fA=250,hA={color:"white",lineWidth:4,radius:6};function pA(e){return P(M(P({},hA),{fillColor:(e=e||{}).color}),e)}function EA(e,t){return e instanceof Function?e(t):e}function mA(e,t,r){return Math.max(Math.min(t,r),Math.min(Math.max(t,r),e))}function yA(e){if(!e.l)throw Error("CPU rendering requested but CanvasRenderingContext2D not provided.");return e.l}function IA(e){if(!e.j)throw Error("GPU rendering requested but WebGL2RenderingContext not provided.");return e.j}function vA(e,t,r){var n;if(t.R())r(t.N());else{var o=t.ja()?t.ha():t.ia();e.m=null!=(n=e.m)?n:new rA;var i=IA(e);r((e=new gA([o],t.m,!1,i.canvas,e.m,t.width,t.height)).N()),e.close()}}function wA(e,t,r,n){var o,i=((o=e).g||(o.g=new nA),o.g),a=IA(e),c=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r;Jc(i,a,!0,function(){!function(e,t,r,n){var o=e.g;if(o.activeTexture(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,t),o.activeTexture(o.TEXTURE1),o.bindTexture(o.TEXTURE_2D,e.B),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,r),e.H&&function(e,t){if(e!==t)return!1;e=e.entries(),t=t.entries();var r,n=s(e);try{for(n.s();!(r=n.n()).done;){var o=h(r.value,2),i=o[0],a=o[1];e=i;var c=a,A=t.next();if(A.done)return!1;var u=h(A.value,2),l=u[0];if(A=u[1],e!==l||c[0]!==A[0]||c[1]!==A[1]||c[2]!==A[2]||c[3]!==A[3])return!1}}catch(e){n.e(e)}finally{n.f()}return!!t.next().done}(e.H,n))o.activeTexture(o.TEXTURE2),o.bindTexture(o.TEXTURE_2D,e.j);else{e.H=n;var i=Array(1024).fill(0);n.forEach(function(e,t){if(4!==e.length)throw Error("Color at index ".concat(t," is not a four-channel value."));i[4*t]=e[0],i[4*t+1]=e[1],i[4*t+2]=e[2],i[4*t+3]=e[3]}),o.activeTexture(o.TEXTURE2),o.bindTexture(o.TEXTURE_2D,e.j),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,256,1,0,o.RGBA,o.UNSIGNED_BYTE,new Uint8Array(i))}}(i,t,c,n),a.clearColor(0,0,0,0),a.clear(a.COLOR_BUFFER_BIT),a.drawArrays(a.TRIANGLE_FAN,0,4);var e=i.g;e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,null)})}function CA(e,t,r,n){var o,i=IA(e),a=((o=e).h||(o.h=new oA),o.h),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r,c=Array.isArray(n)?new ImageData(new Uint8ClampedArray(n),1,1):n;Jc(a,i,!0,function(){var e=a.g;e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,a.j),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,s),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,a.B),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,c),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),i.bindTexture(i.TEXTURE_2D,null),(e=a.g).activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,null),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,null)})}var _A=function(){return a(function e(t,r){o(this,e),"undefined"!=typeof CanvasRenderingContext2D&&t instanceof CanvasRenderingContext2D||t instanceof OffscreenCanvasRenderingContext2D?(this.l=t,this.j=r):this.j=t},[{key:"wa",value:function(e,t){if(e){var r=yA(this);t=pA(t),r.save();var n,o=r.canvas,i=0,a=s(e);try{for(a.s();!(n=a.n()).done;){var c=n.value;r.fillStyle=EA(t.fillColor,{index:i,from:c}),r.strokeStyle=EA(t.color,{index:i,from:c}),r.lineWidth=EA(t.lineWidth,{index:i,from:c}),(e=new Path2D).arc(c.x*o.width,c.y*o.height,EA(t.radius,{index:i,from:c}),0,2*Math.PI),r.fill(e),r.stroke(e),++i}}catch(e){a.e(e)}finally{a.f()}r.restore()}}},{key:"va",value:function(e,t,r){if(e&&t){var n=yA(this);r=pA(r),n.save();var o,i=n.canvas,a=0,c=s(t);try{for(c.s();!(o=c.n()).done;){var A=o.value;n.beginPath(),t=e[A.start];var u=e[A.end];t&&u&&(n.strokeStyle=EA(r.color,{index:a,from:t,to:u}),n.lineWidth=EA(r.lineWidth,{index:a,from:t,to:u}),n.moveTo(t.x*i.width,t.y*i.height),n.lineTo(u.x*i.width,u.y*i.height)),++a,n.stroke()}}catch(e){c.e(e)}finally{c.f()}n.restore()}}},{key:"sa",value:function(e,t){var r=yA(this);t=pA(t),r.save(),r.beginPath(),r.lineWidth=EA(t.lineWidth,{}),r.strokeStyle=EA(t.color,{}),r.fillStyle=EA(t.fillColor,{}),r.moveTo(e.originX,e.originY),r.lineTo(e.originX+e.width,e.originY),r.lineTo(e.originX+e.width,e.originY+e.height),r.lineTo(e.originX,e.originY+e.height),r.lineTo(e.originX,e.originY),r.stroke(),r.fill(),r.restore()}},{key:"ta",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0,0,255];this.l?function(e,t,r,n){var o=IA(e);vA(e,t,function(t){wA(e,t,r,n),(t=yA(e)).drawImage(o.canvas,0,0,t.canvas.width,t.canvas.height)})}(this,e,r,t):wA(this,e.N(),r,t)}},{key:"ua",value:function(e,t,r){this.l?function(e,t,r,n){var o=IA(e);vA(e,t,function(t){CA(e,t,r,n),(t=yA(e)).drawImage(o.canvas,0,0,t.canvas.width,t.canvas.height)})}(this,e,t,r):CA(this,e.N(),t,r)}},{key:"close",value:function(){var e,t,r;null==(e=this.g)||e.close(),this.g=void 0,null==(t=this.h)||t.close(),this.h=void 0,null==(r=this.m)||r.close(),this.m=void 0}}])}();function bA(e,t){switch(t){case 0:return e.g.find(function(e){return e instanceof ImageData});case 1:return e.g.find(function(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap});case 2:return e.g.find(function(e){return"undefined"!=typeof WebGLTexture&&e instanceof WebGLTexture});default:throw Error("Type is not supported: ".concat(t))}}function BA(e){var t=bA(e,0);if(!t){t=TA(e);var r=OA(e),n=new Uint8Array(e.width*e.height*4);$c(r,t,DA(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,n),eA(r),t=new ImageData(new Uint8ClampedArray(n.buffer),e.width,e.height),e.g.push(t)}return t}function DA(e){var t=bA(e,2);if(!t){var r=TA(e);t=QA(e);var n=bA(e,1)||BA(e);r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,n),PA(e)}return t}function TA(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Wc(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function OA(e){return e.l||(e.l=new rA),e.l}function QA(e){var t=TA(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);var r=bA(e,2);return r||(r=qc(OA(e),t),e.g.push(r),e.m=!0),t.bindTexture(t.TEXTURE_2D,r),r}function PA(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function MA(e){var t=TA(e);return Jc(OA(e),t,!0,function(){return function(e,t){var r=e.canvas;if(r.width===e.width&&r.height===e.height)return t();var n=r.width,o=r.height;return r.width=e.width,r.height=e.height,e=t(),r.width=n,r.height=o,e}(e,function(){if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()})})}_A.prototype.close=_A.prototype.close,_A.prototype.drawConfidenceMask=_A.prototype.ua,_A.prototype.drawCategoryMask=_A.prototype.ta,_A.prototype.drawBoundingBox=_A.prototype.sa,_A.prototype.drawConnectors=_A.prototype.va,_A.prototype.drawLandmarks=_A.prototype.wa,_A.lerp=function(e,t,r,n,o){return mA(n*(1-(e-t)/(r-t))+o*(1-(r-e)/(r-t)),n,o)},_A.clamp=mA;var RA=function(){return a(function e(t,r,n,i,a,s,c){o(this,e),this.g=t,this.j=r,this.m=n,this.canvas=i,this.l=a,this.width=s,this.height=c,(this.j||this.m)&&0===--SA&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")},[{key:"Ca",value:function(){return!!bA(this,0)}},{key:"ka",value:function(){return!!bA(this,1)}},{key:"R",value:function(){return!!bA(this,2)}},{key:"Aa",value:function(){return BA(this)}},{key:"za",value:function(){var e=bA(this,1);return e||(DA(this),QA(this),e=MA(this),PA(this),this.g.push(e),this.j=!0),e}},{key:"N",value:function(){return DA(this)}},{key:"clone",value:function(){var e,t=this,r=[],n=s(this.g);try{var o=function(){var n,o=e.value;if(o instanceof ImageData)n=new ImageData(o.data,t.width,t.height);else if(o instanceof WebGLTexture){var i=TA(t),a=OA(t);i.activeTexture(i.TEXTURE1),n=qc(a,i),i.bindTexture(i.TEXTURE_2D,n),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,t.width,t.height,0,i.RGBA,i.UNSIGNED_BYTE,null),i.bindTexture(i.TEXTURE_2D,null),$c(a,i,n),Jc(a,i,!1,function(){QA(t),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),PA(t)}),eA(a),PA(t)}else{if(!(o instanceof ImageBitmap))throw Error("Type is not supported: ".concat(o));DA(t),QA(t),n=MA(t),PA(t)}r.push(n)};for(n.s();!(e=n.n()).done;)o()}catch(e){n.e(e)}finally{n.f()}return new RA(r,this.ka(),this.R(),this.canvas,this.l,this.width,this.height)}},{key:"close",value:function(){this.j&&bA(this,1).close(),this.m&&TA(this).deleteTexture(bA(this,2)),SA=-1}}])}();RA.prototype.close=RA.prototype.close,RA.prototype.clone=RA.prototype.clone,RA.prototype.getAsWebGLTexture=RA.prototype.N,RA.prototype.getAsImageBitmap=RA.prototype.za,RA.prototype.getAsImageData=RA.prototype.Aa,RA.prototype.hasWebGLTexture=RA.prototype.R,RA.prototype.hasImageBitmap=RA.prototype.ka,RA.prototype.hasImageData=RA.prototype.Ca;var SA=250;function kA(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.map(function(e){var t=h(e,2);return{start:t[0],end:t[1]}})}var FA,xA=function(e){return function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t,[{key:"Ha",value:function(){this.i._registerModelResourcesGraphService()}}])}(e)}((FA=function(){return a(function e(t,r){o(this,e),this.l=!0,this.i=t,this.g=null,this.h=0,this.m="function"==typeof this.i._addIntToInputStream,void 0!==r?this.i.canvas=r:Tc()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))},[{key:"initializeGraph",value:(e=r(d().m(function e(t){var r;return d().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,fetch(t);case 1:return e.n=2,e.v.arrayBuffer();case 2:r=e.v,t=!(t.endsWith(".pbtxt")||t.endsWith(".textproto")),this.setGraph(new Uint8Array(r),t);case 3:return e.a(2)}},e,this)})),function(t){return e.apply(this,arguments)})},{key:"setGraphFromString",value:function(e){this.setGraph((new TextEncoder).encode(e),!1)}},{key:"setGraph",value:function(e,t){var r=e.length,n=this.i._malloc(r);this.i.HEAPU8.set(e,n),t?this.i._changeBinaryGraph(r,n):this.i._changeTextGraph(r,n),this.i._free(n)}},{key:"configureAudio",value:function(e,t,r,n,o){var i=this;this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),Mc(this,n||"input_audio",function(n){Mc(i,o=o||"audio_header",function(o){i.i._configureAudio(n,o,e,null!=t?t:0,r)})})}},{key:"setAutoResizeCanvas",value:function(e){this.l=e}},{key:"setAutoRenderToScreen",value:function(e){this.i._setAutoRenderToScreen(e)}},{key:"setGpuBufferVerticalFlip",value:function(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}},{key:"ca",value:function(e){var t=this;kc(this,"__graph_config__",function(t){e(t)}),Mc(this,"__graph_config__",function(e){t.i._getGraphConfig(e,void 0)}),delete this.i.simpleListeners.__graph_config__}},{key:"attachErrorListener",value:function(e){this.i.errorListener=e}},{key:"attachEmptyPacketListener",value:function(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}},{key:"addAudioToStream",value:function(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}},{key:"addAudioToStreamWithShape",value:function(e,t,r,n,o){var i=this,a=4*e.length;this.h!==a&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(a),this.h=a),this.i.HEAPF32.set(e,this.g/4),Mc(this,n,function(e){i.i._addAudioToInputStream(i.g,t,r,e,o)})}},{key:"addGpuBufferToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){var o=h(Rc(n,e,t),2),i=o[0],a=o[1];n.i._addBoundTextureToStream(t,i,a,r)})}},{key:"addBoolToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){n.i._addBoolToInputStream(e,t,r)})}},{key:"addDoubleToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){n.i._addDoubleToInputStream(e,t,r)})}},{key:"addFloatToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){n.i._addFloatToInputStream(e,t,r)})}},{key:"addIntToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){n.i._addIntToInputStream(e,t,r)})}},{key:"addUintToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){n.i._addUintToInputStream(e,t,r)})}},{key:"addStringToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){Mc(n,e,function(e){n.i._addStringToInputStream(e,t,r)})})}},{key:"addStringRecordToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){Sc(n,Object.keys(e),function(o){Sc(n,Object.values(e),function(i){n.i._addFlatHashMapToInputStream(o,i,Object.keys(e).length,t,r)})})})}},{key:"addProtoToStream",value:function(e,t,r,n){var o=this;Mc(this,r,function(r){Mc(o,t,function(t){var i=o.i._malloc(e.length);o.i.HEAPU8.set(e,i),o.i._addProtoToInputStream(i,e.length,t,r,n),o.i._free(i)})})}},{key:"addEmptyPacketToStream",value:function(e,t){var r=this;Mc(this,e,function(e){r.i._addEmptyPacketToInputStream(e,t)})}},{key:"addBoolVectorToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){var o=n.i._allocateBoolVector(e.length);if(!o)throw Error("Unable to allocate new bool vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addBoolVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addBoolVectorToInputStream(o,t,r)})}},{key:"addDoubleVectorToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){var o=n.i._allocateDoubleVector(e.length);if(!o)throw Error("Unable to allocate new double vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addDoubleVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addDoubleVectorToInputStream(o,t,r)})}},{key:"addFloatVectorToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){var o=n.i._allocateFloatVector(e.length);if(!o)throw Error("Unable to allocate new float vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addFloatVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addFloatVectorToInputStream(o,t,r)})}},{key:"addIntVectorToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){var o=n.i._allocateIntVector(e.length);if(!o)throw Error("Unable to allocate new int vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addIntVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addIntVectorToInputStream(o,t,r)})}},{key:"addUintVectorToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){var o=n.i._allocateUintVector(e.length);if(!o)throw Error("Unable to allocate new unsigned int vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;n.i._addUintVectorEntry(o,c)}}catch(e){a.e(e)}finally{a.f()}n.i._addUintVectorToInputStream(o,t,r)})}},{key:"addStringVectorToStream",value:function(e,t,r){var n=this;Mc(this,t,function(t){var o=n.i._allocateStringVector(e.length);if(!o)throw Error("Unable to allocate new string vector on heap.");var i,a=s(e);try{for(a.s();!(i=a.n()).done;){var c=i.value;Mc(n,c,function(e){n.i._addStringVectorEntry(o,e)})}}catch(e){a.e(e)}finally{a.f()}n.i._addStringVectorToInputStream(o,t,r)})}},{key:"addBoolToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){r.i._addBoolToInputSidePacket(e,t)})}},{key:"addDoubleToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){r.i._addDoubleToInputSidePacket(e,t)})}},{key:"addFloatToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){r.i._addFloatToInputSidePacket(e,t)})}},{key:"addIntToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){r.i._addIntToInputSidePacket(e,t)})}},{key:"addUintToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){r.i._addUintToInputSidePacket(e,t)})}},{key:"addStringToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){Mc(r,e,function(e){r.i._addStringToInputSidePacket(e,t)})})}},{key:"addProtoToInputSidePacket",value:function(e,t,r){var n=this;Mc(this,r,function(r){Mc(n,t,function(t){var o=n.i._malloc(e.length);n.i.HEAPU8.set(e,o),n.i._addProtoToInputSidePacket(o,e.length,t,r),n.i._free(o)})})}},{key:"addBoolVectorToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){var n=r.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addBoolVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addBoolVectorToInputSidePacket(n,t)})}},{key:"addDoubleVectorToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){var n=r.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addDoubleVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addDoubleVectorToInputSidePacket(n,t)})}},{key:"addFloatVectorToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){var n=r.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addFloatVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addFloatVectorToInputSidePacket(n,t)})}},{key:"addIntVectorToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){var n=r.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addIntVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addIntVectorToInputSidePacket(n,t)})}},{key:"addUintVectorToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){var n=r.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;r.i._addUintVectorEntry(n,a)}}catch(e){i.e(e)}finally{i.f()}r.i._addUintVectorToInputSidePacket(n,t)})}},{key:"addStringVectorToInputSidePacket",value:function(e,t){var r=this;Mc(this,t,function(t){var n=r.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");var o,i=s(e);try{for(i.s();!(o=i.n()).done;){var a=o.value;Mc(r,a,function(e){r.i._addStringVectorEntry(n,e)})}}catch(e){i.e(e)}finally{i.f()}r.i._addStringVectorToInputSidePacket(n,t)})}},{key:"attachBoolListener",value:function(e,t){var r=this;kc(this,e,t),Mc(this,e,function(e){r.i._attachBoolListener(e)})}},{key:"attachBoolVectorListener",value:function(e,t){var r=this;Fc(this,e,t),Mc(this,e,function(e){r.i._attachBoolVectorListener(e)})}},{key:"attachIntListener",value:function(e,t){var r=this;kc(this,e,t),Mc(this,e,function(e){r.i._attachIntListener(e)})}},{key:"attachIntVectorListener",value:function(e,t){var r=this;Fc(this,e,t),Mc(this,e,function(e){r.i._attachIntVectorListener(e)})}},{key:"attachUintListener",value:function(e,t){var r=this;kc(this,e,t),Mc(this,e,function(e){r.i._attachUintListener(e)})}},{key:"attachUintVectorListener",value:function(e,t){var r=this;Fc(this,e,t),Mc(this,e,function(e){r.i._attachUintVectorListener(e)})}},{key:"attachDoubleListener",value:function(e,t){var r=this;kc(this,e,t),Mc(this,e,function(e){r.i._attachDoubleListener(e)})}},{key:"attachDoubleVectorListener",value:function(e,t){var r=this;Fc(this,e,t),Mc(this,e,function(e){r.i._attachDoubleVectorListener(e)})}},{key:"attachFloatListener",value:function(e,t){var r=this;kc(this,e,t),Mc(this,e,function(e){r.i._attachFloatListener(e)})}},{key:"attachFloatVectorListener",value:function(e,t){var r=this;Fc(this,e,t),Mc(this,e,function(e){r.i._attachFloatVectorListener(e)})}},{key:"attachStringListener",value:function(e,t){var r=this;kc(this,e,t),Mc(this,e,function(e){r.i._attachStringListener(e)})}},{key:"attachStringVectorListener",value:function(e,t){var r=this;Fc(this,e,t),Mc(this,e,function(e){r.i._attachStringVectorListener(e)})}},{key:"attachProtoListener",value:function(e,t,r){var n=this;kc(this,e,t),Mc(this,e,function(e){n.i._attachProtoListener(e,r||!1)})}},{key:"attachProtoVectorListener",value:function(e,t,r){var n=this;Fc(this,e,t),Mc(this,e,function(e){n.i._attachProtoVectorListener(e,r||!1)})}},{key:"attachAudioListener",value:function(e,t,r){var n=this;this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),kc(this,e,function(e,r){e=new Float32Array(e.buffer,e.byteOffset,e.length/4),t(e,r)}),Mc(this,e,function(e){n.i._attachAudioListener(e,r||!1)})}},{key:"finishProcessing",value:function(){this.i._waitUntilIdle()}},{key:"closeGraph",value:function(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}}]);var e}(),function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t,[{key:"ea",get:function(){return this.i}},{key:"oa",value:function(e,t,r){var n=this;Mc(this,t,function(t){var o=h(Rc(n,e,t),2),i=o[0],a=o[1];n.ea._addBoundTextureAsImageToStream(t,i,a,r)})}},{key:"V",value:function(e,t){var r=this;kc(this,e,t),Mc(this,e,function(e){r.ea._attachImageListener(e)})}},{key:"ba",value:function(e,t){var r=this;Fc(this,e,t),Mc(this,e,function(e){r.ea._attachImageVectorListener(e)})}}])}(FA))),NA=function(e){function t(){return o(this,t),n(this,t,arguments)}return u(t,e),a(t)}(xA);function UA(e,t,r){return jA.apply(this,arguments)}function jA(){return jA=r(d().m(function e(t,n,o){var i;return d().w(function(e){for(;;)if(0===e.n)return e.a(2,function(){var e=r(d().m(function e(t,r,n,o){return d().w(function(e){for(;;)if(0===e.n)return e.a(2,xc(t,r,n,o))},e)}));return function(t,r,n,o){return e.apply(this,arguments)}}()(t,null!=(i=o.canvas)?i:Tc()?void 0:document.createElement("canvas"),n,o))},e)})),jA.apply(this,arguments)}function LA(e,t,r,n){if(e.U){var o=new as;if(null==r?void 0:r.regionOfInterest){if(!e.na)throw Error("This task doesn't support region-of-interest.");var i=r.regionOfInterest;if(i.left>=i.right||i.top>=i.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(i.left<0||i.top<0||i.right>1||i.bottom>1)throw Error("Expected RectF values to be in [0,1].");go(o,1,(i.left+i.right)/2),go(o,2,(i.top+i.bottom)/2),go(o,4,i.right-i.left),go(o,3,i.bottom-i.top)}else go(o,1,.5),go(o,2,.5),go(o,4,1),go(o,3,1);if(null==r?void 0:r.rotationDegrees){if((null==r?void 0:r.rotationDegrees)%90!=0)throw Error("Expected rotation to be a multiple of 90°.");if(go(o,5,-Math.PI*r.rotationDegrees/180),(null==r?void 0:r.rotationDegrees)%180!=0){var a=h(Pc(t),2),s=a[0],c=a[1];r=Ao(o,3)*c/s,i=Ao(o,4)*s/c,go(o,4,r),go(o,3,i)}}e.g.addProtoToStream(o.g(),"mediapipe.NormalizedRect",e.U,n)}e.g.oa(t,e.Z,null!=n?n:performance.now()),e.finishProcessing()}function HA(e,t,r){var n;if(null==(n=e.baseOptions)?void 0:n.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");LA(e,t,r,e.B+1)}function GA(e,t,r,n){var o;if(!(null==(o=e.baseOptions)?void 0:o.g()))throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");LA(e,t,r,n)}function XA(e,t,r,n){var o=t.data,i=t.width,a=i*(t=t.height);if((o instanceof Uint8Array||o instanceof Float32Array)&&o.length!==a)throw Error("Unsupported channel count: "+o.length/a);return e=new gA([o],r,!1,e.g.i.canvas,e.P,i,t),n?e.clone():e}var YA=function(e){function t(e,r,i,a){var s;return o(this,t),(s=n(this,t,[e])).g=e,s.Z=r,s.U=i,s.na=a,s.P=new rA,s}return u(t,e),a(t,[{key:"l",value:function(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if("runningMode"in e&&uo(this.baseOptions,2,!!e.runningMode&&"IMAGE"!==e.runningMode),void 0!==e.canvas&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return p(t,"l",this)([e,r])}},{key:"close",value:function(){this.P.close(),p(t,"close",this)([])}}])}(Yc);YA.prototype.close=YA.prototype.close;var WA=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"image_in","norm_rect_in",!1])).j={detections:[]},to(e=i.h=new _s,0,1,r=new vs),go(i.h,2,.5),go(i.h,3,.3),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){var t,r;return"minDetectionConfidence"in e&&go(this.h,2,null!=(t=e.minDetectionConfidence)?t:.5),"minSuppressionThreshold"in e&&go(this.h,3,null!=(r=e.minSuppressionThreshold)?r:.3),this.l(e)}},{key:"D",value:function(e,t){return this.j={detections:[]},HA(this,e,t),this.j}},{key:"F",value:function(e,t,r){return this.j={detections:[]},GA(this,e,r,t),this.j}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"norm_rect_in"),Ha(t,"detections");var r=new Qa;No(r,Bs,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"NORM_RECT:norm_rect_in"),ka(n,"DETECTIONS:detections"),n.o(r),ja(t,n),this.g.attachProtoVectorListener("detections",function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=$a(i),e.j.detections.push(Ec(t))}}catch(e){o.e(e)}finally{o.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("detections",function(t){Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);WA.prototype.detectForVideo=WA.prototype.F,WA.prototype.detect=WA.prototype.D,WA.prototype.setOptions=WA.prototype.o,WA.createFromModelPath=function(){var e=r(d().m(function e(t,r){return d().w(function(e){for(;;)if(0===e.n)return e.a(2,UA(WA,t,{baseOptions:{modelAssetPath:r}}))},e)}));return function(t,r){return e.apply(this,arguments)}}(),WA.createFromModelBuffer=function(e,t){return UA(WA,e,{baseOptions:{modelAssetBuffer:t}})},WA.createFromOptions=function(e,t){return UA(WA,e,t)};var VA=kA([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),zA=kA([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),KA=kA([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),ZA=kA([474,475],[475,476],[476,477],[477,474]),JA=kA([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),qA=kA([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),$A=kA([469,470],[470,471],[471,472],[472,469]),eu=kA([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),tu=[].concat(m(VA),m(zA),m(KA),m(JA),m(qA),m(eu)),ru=kA([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function nu(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var ou=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"image_in","norm_rect",!1])).j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},i.outputFacialTransformationMatrixes=i.outputFaceBlendshapes=!1,to(e=i.h=new Os,0,1,r=new vs),i.v=new Ts,to(i.h,0,3,i.v),i.s=new _s,to(i.h,0,2,i.s),lo(i.s,4,1),go(i.s,2,.5),go(i.v,2,.5),go(i.h,4,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){var t,r,n,o;return"numFaces"in e&&lo(this.s,4,null!=(t=e.numFaces)?t:1),"minFaceDetectionConfidence"in e&&go(this.s,2,null!=(r=e.minFaceDetectionConfidence)?r:.5),"minTrackingConfidence"in e&&go(this.h,4,null!=(n=e.minTrackingConfidence)?n:.5),"minFacePresenceConfidence"in e&&go(this.v,2,null!=(o=e.minFacePresenceConfidence)?o:.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}},{key:"D",value:function(e,t){return nu(this),HA(this,e,t),this.j}},{key:"F",value:function(e,t,r){return nu(this),GA(this,e,r,t),this.j}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"norm_rect"),Ha(t,"face_landmarks");var r=new Qa;No(r,Ms,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"NORM_RECT:norm_rect"),ka(n,"NORM_LANDMARKS:face_landmarks"),n.o(r),ja(t,n),this.g.attachProtoVectorListener("face_landmarks",function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=ns(i),e.j.faceLandmarks.push(mc(t))}}catch(e){o.e(e)}finally{o.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("face_landmarks",function(t){Lc(e,t)}),this.outputFaceBlendshapes&&(Ha(t,"blendshapes"),ka(n,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",function(t,r){var n;if(e.outputFaceBlendshapes){var o,i=s(t);try{for(i.s();!(o=i.n()).done;){var a=o.value;t=Ka(a),e.j.faceBlendshapes.push(pc(null!=(n=t.g())?n:[]))}}catch(e){i.e(e)}finally{i.f()}}Lc(e,r)}),this.g.attachEmptyPacketListener("blendshapes",function(t){Lc(e,t)})),this.outputFacialTransformationMatrixes&&(Ha(t,"face_geometry"),ka(n,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",function(t,r){var n,o,i,a,c;if(e.outputFacialTransformationMatrixes){var A,u=s(t);try{for(u.s();!(A=u.n()).done;){var l=A.value;(t=qn(Ds(l),os,2))&&e.j.facialTransformationMatrixes.push({rows:null!=(o=null!=(n=so(t,1))?n:0)?o:0,columns:null!=(a=null!=(i=so(t,2))?i:0)?a:0,data:null!=(c=Un(t,3,Lr,Nn()).slice())?c:[]})}}catch(e){u.e(e)}finally{u.f()}}Lc(e,r)}),this.g.attachEmptyPacketListener("face_geometry",function(t){Lc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);ou.prototype.detectForVideo=ou.prototype.F,ou.prototype.detect=ou.prototype.D,ou.prototype.setOptions=ou.prototype.o,ou.createFromModelPath=function(e,t){return UA(ou,e,{baseOptions:{modelAssetPath:t}})},ou.createFromModelBuffer=function(e,t){return UA(ou,e,{baseOptions:{modelAssetBuffer:t}})},ou.createFromOptions=function(e,t){return UA(ou,e,t)},ou.FACE_LANDMARKS_LIPS=VA,ou.FACE_LANDMARKS_LEFT_EYE=zA,ou.FACE_LANDMARKS_LEFT_EYEBROW=KA,ou.FACE_LANDMARKS_LEFT_IRIS=ZA,ou.FACE_LANDMARKS_RIGHT_EYE=JA,ou.FACE_LANDMARKS_RIGHT_EYEBROW=qA,ou.FACE_LANDMARKS_RIGHT_IRIS=$A,ou.FACE_LANDMARKS_FACE_OVAL=eu,ou.FACE_LANDMARKS_CONTOURS=tu,ou.FACE_LANDMARKS_TESSELATION=ru;var iu=function(e){function t(e,r){var i;return o(this,t),to(e=(i=n(this,t,[new NA(e,r),"image_in","norm_rect",!0])).j=new Rs,0,1,r=new vs),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.j,vs,1)},set:function(e){to(this.j,0,1,e)}},{key:"o",value:function(e){return p(t,"l",this)([e])}},{key:"Ka",value:function(e,t,r){var n="function"!=typeof t?t:{};if(this.h="function"==typeof t?t:r,HA(this,e,null!=n?n:{}),!this.h)return this.s}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"norm_rect"),Ha(t,"stylized_image");var r=new Qa;No(r,Ss,this.j);var n=new Fa;Ra(n,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"NORM_RECT:norm_rect"),ka(n,"STYLIZED_IMAGE:stylized_image"),n.o(r),ja(t,n),this.g.V("stylized_image",function(t,r){var n=!e.h,o=t.data,i=t.width,a=i*(t=t.height);if(o instanceof Uint8Array)if(o.length===3*a){for(var s=new Uint8ClampedArray(4*a),c=0;c<a;++c)s[4*c]=o[3*c],s[4*c+1]=o[3*c+1],s[4*c+2]=o[3*c+2],s[4*c+3]=255;o=new ImageData(s,i,t)}else{if(o.length!==4*a)throw Error("Unsupported channel count: "+o.length/a);o=new ImageData(new Uint8ClampedArray(o.buffer,o.byteOffset,o.length),i,t)}else if(!(o instanceof WebGLTexture))throw Error("Unsupported format: ".concat(o.constructor.name));i=new RA([o],!1,!1,e.g.i.canvas,e.P,i,t),e.s=n=n?i.clone():i,e.h&&e.h(n),Lc(e,r)}),this.g.attachEmptyPacketListener("stylized_image",function(t){e.s=null,e.h&&e.h(null),Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);iu.prototype.stylize=iu.prototype.Ka,iu.prototype.setOptions=iu.prototype.o,iu.createFromModelPath=function(e,t){return UA(iu,e,{baseOptions:{modelAssetPath:t}})},iu.createFromModelBuffer=function(e,t){return UA(iu,e,{baseOptions:{modelAssetBuffer:t}})},iu.createFromOptions=function(e,t){return UA(iu,e,t)};var au=kA([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function su(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function cu(e){return 0===e.gestures.length?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function Au(e){var t,r,n,o,i,a,c,A=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],u=[],l=s(e);try{for(l.s();!(c=l.n()).done;){var d=c.value,g=Ka(d);e=[];var f,h=s(g.g());try{for(h.s();!(f=h.n()).done;){var p=f.value;g=A&&null!=so(p,1)?null!=(t=so(p,1))?t:0:-1,e.push({score:null!=(r=Ao(p,2))?r:0,index:g,categoryName:null!=(o=null!=(n=co(p,3))?n:"")?o:"",displayName:null!=(a=null!=(i=co(p,4))?i:"")?a:""})}}catch(e){h.e(e)}finally{h.f()}u.push(e)}}catch(e){l.e(e)}finally{l.f()}return u}var uu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"image_in","norm_rect",!1])).gestures=[],i.landmarks=[],i.worldLandmarks=[],i.handedness=[],to(e=i.j=new Ls,0,1,r=new vs),i.s=new js,to(i.j,0,2,i.s),i.C=new Us,to(i.s,0,3,i.C),i.v=new Ns,to(i.s,0,2,i.v),i.h=new xs,to(i.j,0,3,i.h),go(i.v,2,.5),go(i.s,4,.5),go(i.C,2,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.j,vs,1)},set:function(e){to(this.j,0,1,e)}},{key:"o",value:function(e){var t,r,n,o,i,a,s,c;if(lo(this.v,3,null!=(t=e.numHands)?t:1),"minHandDetectionConfidence"in e&&go(this.v,2,null!=(r=e.minHandDetectionConfidence)?r:.5),"minTrackingConfidence"in e&&go(this.s,4,null!=(n=e.minTrackingConfidence)?n:.5),"minHandPresenceConfidence"in e&&go(this.C,2,null!=(o=e.minHandPresenceConfidence)?o:.5),e.cannedGesturesClassifierOptions){var A=new ks,u=A,l=hc(e.cannedGesturesClassifierOptions,null==(i=qn(this.h,ks,3))?void 0:i.h());to(u,0,2,l),to(this.h,0,3,A)}else void 0===e.cannedGesturesClassifierOptions&&(null==(a=qn(this.h,ks,3))||a.g());return e.customGesturesClassifierOptions?(to(u=A=new ks,0,2,l=hc(e.customGesturesClassifierOptions,null==(s=qn(this.h,ks,4))?void 0:s.h())),to(this.h,0,4,A)):void 0===e.customGesturesClassifierOptions&&(null==(c=qn(this.h,ks,4))||c.g()),this.l(e)}},{key:"Fa",value:function(e,t){return su(this),HA(this,e,t),cu(this)}},{key:"Ga",value:function(e,t,r){return su(this),GA(this,e,r,t),cu(this)}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"norm_rect"),Ha(t,"hand_gestures"),Ha(t,"hand_landmarks"),Ha(t,"world_hand_landmarks"),Ha(t,"handedness");var r=new Qa;No(r,Ws,this.j);var n=new Fa;Ra(n,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"NORM_RECT:norm_rect"),ka(n,"HAND_GESTURES:hand_gestures"),ka(n,"LANDMARKS:hand_landmarks"),ka(n,"WORLD_LANDMARKS:world_hand_landmarks"),ka(n,"HANDEDNESS:handedness"),n.o(r),ja(t,n),this.g.attachProtoVectorListener("hand_landmarks",function(t,r){var n,o,i,a,c,A=s(t);try{for(A.s();!(c=A.n()).done;){var u=c.value;t=ns(u);var l,d=[],g=s(eo(t,rs,1));try{for(g.s();!(l=g.n()).done;){var f=l.value;d.push({x:null!=(n=Ao(f,1))?n:0,y:null!=(o=Ao(f,2))?o:0,z:null!=(i=Ao(f,3))?i:0,visibility:null!=(a=Ao(f,4))?a:0})}}catch(e){g.e(e)}finally{g.f()}e.landmarks.push(d)}}catch(e){A.e(e)}finally{A.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("hand_landmarks",function(t){Lc(e,t)}),this.g.attachProtoVectorListener("world_hand_landmarks",function(t,r){var n,o,i,a,c,A=s(t);try{for(A.s();!(c=A.n()).done;){var u=c.value;t=ts(u);var l,d=[],g=s(eo(t,es,1));try{for(g.s();!(l=g.n()).done;){var f=l.value;d.push({x:null!=(n=Ao(f,1))?n:0,y:null!=(o=Ao(f,2))?o:0,z:null!=(i=Ao(f,3))?i:0,visibility:null!=(a=Ao(f,4))?a:0})}}catch(e){g.e(e)}finally{g.f()}e.worldLandmarks.push(d)}}catch(e){A.e(e)}finally{A.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("world_hand_landmarks",function(t){Lc(e,t)}),this.g.attachProtoVectorListener("hand_gestures",function(t,r){var n;(n=e.gestures).push.apply(n,m(Au(t,!1))),Lc(e,r)}),this.g.attachEmptyPacketListener("hand_gestures",function(t){Lc(e,t)}),this.g.attachProtoVectorListener("handedness",function(t,r){var n;(n=e.handedness).push.apply(n,m(Au(t))),Lc(e,r)}),this.g.attachEmptyPacketListener("handedness",function(t){Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);function lu(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}uu.prototype.recognizeForVideo=uu.prototype.Ga,uu.prototype.recognize=uu.prototype.Fa,uu.prototype.setOptions=uu.prototype.o,uu.createFromModelPath=function(e,t){return UA(uu,e,{baseOptions:{modelAssetPath:t}})},uu.createFromModelBuffer=function(e,t){return UA(uu,e,{baseOptions:{modelAssetBuffer:t}})},uu.createFromOptions=function(e,t){return UA(uu,e,t)},uu.HAND_CONNECTIONS=au;var du=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"image_in","norm_rect",!1])).landmarks=[],i.worldLandmarks=[],i.handedness=[],to(e=i.h=new js,0,1,r=new vs),i.s=new Us,to(i.h,0,3,i.s),i.j=new Ns,to(i.h,0,2,i.j),lo(i.j,3,1),go(i.j,2,.5),go(i.s,2,.5),go(i.h,4,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){var t,r,n,o;return"numHands"in e&&lo(this.j,3,null!=(t=e.numHands)?t:1),"minHandDetectionConfidence"in e&&go(this.j,2,null!=(r=e.minHandDetectionConfidence)?r:.5),"minTrackingConfidence"in e&&go(this.h,4,null!=(n=e.minTrackingConfidence)?n:.5),"minHandPresenceConfidence"in e&&go(this.s,2,null!=(o=e.minHandPresenceConfidence)?o:.5),this.l(e)}},{key:"D",value:function(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],HA(this,e,t),lu(this)}},{key:"F",value:function(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],GA(this,e,r,t),lu(this)}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"norm_rect"),Ha(t,"hand_landmarks"),Ha(t,"world_hand_landmarks"),Ha(t,"handedness");var r=new Qa;No(r,Vs,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"NORM_RECT:norm_rect"),ka(n,"LANDMARKS:hand_landmarks"),ka(n,"WORLD_LANDMARKS:world_hand_landmarks"),ka(n,"HANDEDNESS:handedness"),n.o(r),ja(t,n),this.g.attachProtoVectorListener("hand_landmarks",function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=ns(i),e.landmarks.push(mc(t))}}catch(e){o.e(e)}finally{o.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("hand_landmarks",function(t){Lc(e,t)}),this.g.attachProtoVectorListener("world_hand_landmarks",function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=ts(i),e.worldLandmarks.push(yc(t))}}catch(e){o.e(e)}finally{o.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("world_hand_landmarks",function(t){Lc(e,t)}),this.g.attachProtoVectorListener("handedness",function(t,r){var n,o,i,a,c,A,u,l,d=e.handedness,g=d.push,f=[],h=s(t);try{for(h.s();!(l=h.n()).done;){var p=l.value;t=Ka(p);var E,m=[],y=s(t.g());try{for(y.s();!(E=y.n()).done;){var I=E.value;m.push({score:null!=(n=Ao(I,2))?n:0,index:null!=(i=null!=(o=so(I,1))?o:0)?i:-1,categoryName:null!=(c=null!=(a=co(I,3))?a:"")?c:"",displayName:null!=(u=null!=(A=co(I,4))?A:"")?u:""})}}catch(e){y.e(e)}finally{y.f()}f.push(m)}}catch(e){h.e(e)}finally{h.f()}g.call.apply(g,[d].concat(f)),Lc(e,r)}),this.g.attachEmptyPacketListener("handedness",function(t){Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);du.prototype.detectForVideo=du.prototype.F,du.prototype.detect=du.prototype.D,du.prototype.setOptions=du.prototype.o,du.createFromModelPath=function(e,t){return UA(du,e,{baseOptions:{modelAssetPath:t}})},du.createFromModelBuffer=function(e,t){return UA(du,e,{baseOptions:{modelAssetBuffer:t}})},du.createFromOptions=function(e,t){return UA(du,e,t)},du.HAND_CONNECTIONS=au;var gu=kA([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function fu(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function hu(e){try{if(!e.C)return e.h;e.C(e.h)}finally{Xc(e)}}function pu(e,t){e=ns(e),t.push(mc(e))}var Eu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"input_frames_image",null,!1])).h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},i.outputPoseSegmentationMasks=i.outputFaceBlendshapes=!1,to(e=i.j=new Js,0,1,r=new vs),i.K=new Us,to(i.j,0,2,i.K),i.Y=new zs,to(i.j,0,3,i.Y),i.s=new _s,to(i.j,0,4,i.s),i.H=new Ts,to(i.j,0,5,i.H),i.v=new Ks,to(i.j,0,6,i.v),i.L=new Zs,to(i.j,0,7,i.L),go(i.s,2,.5),go(i.s,3,.3),go(i.H,2,.5),go(i.v,2,.5),go(i.v,3,.3),go(i.L,2,.5),go(i.K,2,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.j,vs,1)},set:function(e){to(this.j,0,1,e)}},{key:"o",value:function(e){var t,r,n,o,i,a,s;return"minFaceDetectionConfidence"in e&&go(this.s,2,null!=(t=e.minFaceDetectionConfidence)?t:.5),"minFaceSuppressionThreshold"in e&&go(this.s,3,null!=(r=e.minFaceSuppressionThreshold)?r:.3),"minFacePresenceConfidence"in e&&go(this.H,2,null!=(n=e.minFacePresenceConfidence)?n:.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&go(this.v,2,null!=(o=e.minPoseDetectionConfidence)?o:.5),"minPoseSuppressionThreshold"in e&&go(this.v,3,null!=(i=e.minPoseSuppressionThreshold)?i:.3),"minPosePresenceConfidence"in e&&go(this.L,2,null!=(a=e.minPosePresenceConfidence)?a:.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&go(this.K,2,null!=(s=e.minHandLandmarksConfidence)?s:.5),this.l(e)}},{key:"D",value:function(e,t,r){var n="function"!=typeof t?t:{};return this.C="function"==typeof t?t:r,fu(this),HA(this,e,n),hu(this)}},{key:"F",value:function(e,t,r,n){var o="function"!=typeof r?r:{};return this.C="function"==typeof r?r:n,fu(this),GA(this,e,o,t),hu(this)}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"input_frames_image"),Ha(t,"pose_landmarks"),Ha(t,"pose_world_landmarks"),Ha(t,"face_landmarks"),Ha(t,"left_hand_landmarks"),Ha(t,"left_hand_world_landmarks"),Ha(t,"right_hand_landmarks"),Ha(t,"right_hand_world_landmarks");var r=new Qa,n=new ma;Xn(n,1,rn("type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),""),function(e,t){if(null!=t)if(Array.isArray(t))Sn(e,2,Cn(t,bn,void 0,void 0,!1));else{if(!("string"==typeof t||t instanceof Pt||bt(t)))throw Error("invalid value in Any.value field: "+t+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");Xn(e,2,nr(t,!1),Dt())}}(n,this.j.g());var o=new Fa;Ra(o,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),ao(o,8,ma,n),Sa(o,"IMAGE:input_frames_image"),ka(o,"POSE_LANDMARKS:pose_landmarks"),ka(o,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),ka(o,"FACE_LANDMARKS:face_landmarks"),ka(o,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),ka(o,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),ka(o,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),ka(o,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),o.o(r),ja(t,o),Hc(this,t),this.g.attachProtoListener("pose_landmarks",function(t,r){pu(t,e.h.poseLandmarks),Lc(e,r)}),this.g.attachEmptyPacketListener("pose_landmarks",function(t){Lc(e,t)}),this.g.attachProtoListener("pose_world_landmarks",function(t,r){var n=e.h.poseWorldLandmarks;t=ts(t),n.push(yc(t)),Lc(e,r)}),this.g.attachEmptyPacketListener("pose_world_landmarks",function(t){Lc(e,t)}),this.outputPoseSegmentationMasks&&(ka(o,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),Gc(this,"pose_segmentation_mask"),this.g.V("pose_segmentation_mask",function(t,r){e.h.poseSegmentationMasks=[XA(e,t,!0,!e.C)],Lc(e,r)}),this.g.attachEmptyPacketListener("pose_segmentation_mask",function(t){e.h.poseSegmentationMasks=[],Lc(e,t)})),this.g.attachProtoListener("face_landmarks",function(t,r){pu(t,e.h.faceLandmarks),Lc(e,r)}),this.g.attachEmptyPacketListener("face_landmarks",function(t){Lc(e,t)}),this.outputFaceBlendshapes&&(Ha(t,"extra_blendshapes"),ka(o,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",function(t,r){var n,o=e.h.faceBlendshapes;e.outputFaceBlendshapes&&(t=Ka(t),o.push(pc(null!=(n=t.g())?n:[]))),Lc(e,r)}),this.g.attachEmptyPacketListener("extra_blendshapes",function(t){Lc(e,t)})),this.g.attachProtoListener("left_hand_landmarks",function(t,r){pu(t,e.h.leftHandLandmarks),Lc(e,r)}),this.g.attachEmptyPacketListener("left_hand_landmarks",function(t){Lc(e,t)}),this.g.attachProtoListener("left_hand_world_landmarks",function(t,r){var n=e.h.leftHandWorldLandmarks;t=ts(t),n.push(yc(t)),Lc(e,r)}),this.g.attachEmptyPacketListener("left_hand_world_landmarks",function(t){Lc(e,t)}),this.g.attachProtoListener("right_hand_landmarks",function(t,r){pu(t,e.h.rightHandLandmarks),Lc(e,r)}),this.g.attachEmptyPacketListener("right_hand_landmarks",function(t){Lc(e,t)}),this.g.attachProtoListener("right_hand_world_landmarks",function(t,r){var n=e.h.rightHandWorldLandmarks;t=ts(t),n.push(yc(t)),Lc(e,r)}),this.g.attachEmptyPacketListener("right_hand_world_landmarks",function(t){Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);Eu.prototype.detectForVideo=Eu.prototype.F,Eu.prototype.detect=Eu.prototype.D,Eu.prototype.setOptions=Eu.prototype.o,Eu.createFromModelPath=function(e,t){return UA(Eu,e,{baseOptions:{modelAssetPath:t}})},Eu.createFromModelBuffer=function(e,t){return UA(Eu,e,{baseOptions:{modelAssetBuffer:t}})},Eu.createFromOptions=function(e,t){return UA(Eu,e,t)},Eu.HAND_CONNECTIONS=au,Eu.POSE_CONNECTIONS=gu,Eu.FACE_LANDMARKS_LIPS=VA,Eu.FACE_LANDMARKS_LEFT_EYE=zA,Eu.FACE_LANDMARKS_LEFT_EYEBROW=KA,Eu.FACE_LANDMARKS_LEFT_IRIS=ZA,Eu.FACE_LANDMARKS_RIGHT_EYE=JA,Eu.FACE_LANDMARKS_RIGHT_EYEBROW=qA,Eu.FACE_LANDMARKS_RIGHT_IRIS=$A,Eu.FACE_LANDMARKS_FACE_OVAL=eu,Eu.FACE_LANDMARKS_CONTOURS=tu,Eu.FACE_LANDMARKS_TESSELATION=ru;var mu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"input_image","norm_rect",!0])).j={classifications:[]},to(e=i.h=new ec,0,1,r=new vs),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){return to(this.h,0,2,hc(e,qn(this.h,fs,2))),this.l(e)}},{key:"qa",value:function(e,t){return this.j={classifications:[]},HA(this,e,t),this.j}},{key:"ra",value:function(e,t,r){return this.j={classifications:[]},GA(this,e,r,t),this.j}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"input_image"),La(t,"norm_rect"),Ha(t,"classifications");var r=new Qa;No(r,tc,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),Sa(n,"IMAGE:input_image"),Sa(n,"NORM_RECT:norm_rect"),ka(n,"CLASSIFICATIONS:classifications"),n.o(r),ja(t,n),this.g.attachProtoListener("classifications",function(t,r){var n,o,i;e.j=(n=cs(t),i={classifications:eo(n,ss,1).map(function(e){var t,r,n,o;return pc(null!=(r=null==(t=qn(e,Va,4))?void 0:t.g())?r:[],null!=(n=so(e,2))?n:0,null!=(o=co(e,3))?o:"")})},null!=en(Mn(n,2))&&(i.timestampMs=null!=(o=en(Mn(n,2)))?o:0),i),Lc(e,r)}),this.g.attachEmptyPacketListener("classifications",function(t){Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);mu.prototype.classifyForVideo=mu.prototype.ra,mu.prototype.classify=mu.prototype.qa,mu.prototype.setOptions=mu.prototype.o,mu.createFromModelPath=function(e,t){return UA(mu,e,{baseOptions:{modelAssetPath:t}})},mu.createFromModelBuffer=function(e,t){return UA(mu,e,{baseOptions:{modelAssetBuffer:t}})},mu.createFromOptions=function(e,t){return UA(mu,e,t)};var yu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"image_in","norm_rect",!0])).h=new rc,i.embeddings={embeddings:[]},to(e=i.h,0,1,r=new vs),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){var t=this.h,r=qn(this.h,ps,2);return r=r?r.clone():new ps,void 0!==e.l2Normalize?uo(r,1,e.l2Normalize):"l2Normalize"in e&&Sn(r,1),void 0!==e.quantize?uo(r,2,e.quantize):"quantize"in e&&Sn(r,2),to(t,0,2,r),this.l(e)}},{key:"xa",value:function(e,t){return HA(this,e,t),this.embeddings}},{key:"ya",value:function(e,t,r){return GA(this,e,r,t),this.embeddings}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"norm_rect"),Ha(t,"embeddings_out");var r=new Qa;No(r,nc,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"NORM_RECT:norm_rect"),ka(n,"EMBEDDINGS:embeddings_out"),n.o(r),ja(t,n),this.g.attachProtoListener("embeddings_out",function(t,r){var n,o;t=gs(t),e.embeddings={embeddings:eo(n=t,ls,1).map(function(e){var t,r,n,o,i,a,s,c={headIndex:null!=(r=null!=(t=so(e,3))?t:0)?r:-1,headName:null!=(o=null!=(n=co(e,4))?n:"")?o:""};if(void 0!==Jn(e,As,Wn(e,1)))e=Un(e=qn(e,As,Wn(e,1)),1,Lr,Nn()),c.floatEmbedding=e.slice();else{var A=new Uint8Array(0);c.quantizedEmbedding=null!=(s=null==(a=null==(i=qn(e,us,Wn(e,2)))?void 0:i.ma())?void 0:a.h())?s:A}return c}),timestampMs:null!=(o=en(Mn(n,2)))?o:0},Lc(e,r)}),this.g.attachEmptyPacketListener("embeddings_out",function(t){Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);yu.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=vc(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=vc(Ic(e.quantizedEmbedding),Ic(t.quantizedEmbedding))}return e},yu.prototype.embedForVideo=yu.prototype.ya,yu.prototype.embed=yu.prototype.xa,yu.prototype.setOptions=yu.prototype.o,yu.createFromModelPath=function(e,t){return UA(yu,e,{baseOptions:{modelAssetPath:t}})},yu.createFromModelBuffer=function(e,t){return UA(yu,e,{baseOptions:{modelAssetBuffer:t}})},yu.createFromOptions=function(e,t){return UA(yu,e,t)};var Iu=function(){return a(function e(t,r,n){o(this,e),this.confidenceMasks=t,this.categoryMask=r,this.qualityScores=n},[{key:"close",value:function(){var e,t;null==(e=this.confidenceMasks)||e.forEach(function(e){e.close()}),null==(t=this.categoryMask)||t.close()}}])}();function vu(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function wu(e){try{var t=new Iu(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Xc(e)}}Iu.prototype.close=Iu.prototype.close;var Cu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"image_in","norm_rect",!1])).s=[],i.outputCategoryMask=!1,i.outputConfidenceMasks=!0,i.h=new cc,i.v=new oc,to(i.h,0,3,i.v),to(e=i.h,0,1,r=new vs),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){var r,n;return void 0!==e.displayNamesLocale?Sn(this.h,2,rn(e.displayNamesLocale)):"displayNamesLocale"in e&&Sn(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=null!=(r=e.outputCategoryMask)&&r),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=null==(n=e.outputConfidenceMasks)||n),p(t,"l",this)([e])}},{key:"J",value:function(){!function(e){var t,r,n,o=eo(e.ca(),Fa,1).filter(function(e){var t;return(null!=(t=co(e,1))?t:"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")});if(e.s=[],o.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");1===o.length&&(null!=(n=null==(r=null==(t=qn(o[0],Qa,7))?void 0:t.l())?void 0:r.g())?n:new Map).forEach(function(t,r){var n;e.s[Number(r)]=null!=(n=co(t,1))?n:""})}(this)}},{key:"segment",value:function(e,t,r){var n="function"!=typeof t?t:{};return this.j="function"==typeof t?t:r,vu(this),HA(this,e,n),wu(this)}},{key:"Ia",value:function(e,t,r,n){var o="function"!=typeof r?r:{};return this.j="function"==typeof r?r:n,vu(this),GA(this,e,o,t),wu(this)}},{key:"Ba",value:function(){return this.s}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"norm_rect");var r=new Qa;No(r,Ac,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"NORM_RECT:norm_rect"),n.o(r),ja(t,n),Hc(this,t),this.outputConfidenceMasks&&(Ha(t,"confidence_masks"),ka(n,"CONFIDENCE_MASKS:confidence_masks"),Gc(this,"confidence_masks"),this.g.ba("confidence_masks",function(t,r){e.confidenceMasks=t.map(function(t){return XA(e,t,!0,!e.j)}),Lc(e,r)}),this.g.attachEmptyPacketListener("confidence_masks",function(t){e.confidenceMasks=[],Lc(e,t)})),this.outputCategoryMask&&(Ha(t,"category_mask"),ka(n,"CATEGORY_MASK:category_mask"),Gc(this,"category_mask"),this.g.V("category_mask",function(t,r){e.categoryMask=XA(e,t,!1,!e.j),Lc(e,r)}),this.g.attachEmptyPacketListener("category_mask",function(t){e.categoryMask=void 0,Lc(e,t)})),Ha(t,"quality_scores"),ka(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",function(t,r){e.qualityScores=t,Lc(e,r)}),this.g.attachEmptyPacketListener("quality_scores",function(t){e.categoryMask=void 0,Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);Cu.prototype.getLabels=Cu.prototype.Ba,Cu.prototype.segmentForVideo=Cu.prototype.Ia,Cu.prototype.segment=Cu.prototype.segment,Cu.prototype.setOptions=Cu.prototype.o,Cu.createFromModelPath=function(e,t){return UA(Cu,e,{baseOptions:{modelAssetPath:t}})},Cu.createFromModelBuffer=function(e,t){return UA(Cu,e,{baseOptions:{modelAssetBuffer:t}})},Cu.createFromOptions=function(e,t){return UA(Cu,e,t)};var _u=function(){return a(function e(t,r,n){o(this,e),this.confidenceMasks=t,this.categoryMask=r,this.qualityScores=n},[{key:"close",value:function(){var e,t;null==(e=this.confidenceMasks)||e.forEach(function(e){e.close()}),null==(t=this.categoryMask)||t.close()}}])}();_u.prototype.close=_u.prototype.close;var bu=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Bu=[0,$i,-2],Du=[0,Wi,-3,ra,Wi,-1],Tu=[0,Du],Ou=[0,Du,$i,-1],Qu=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Pu=[0,Wi,-1,ra],Mu=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Ru=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo),Su=[1,2,3,4,5,6,7,8,9,10,14,15],ku=function(e){function t(e){return o(this,t),n(this,t,[e])}return u(t,e),a(t)}(Uo);ku.prototype.g=pa([0,sa,[0,Su,ca,Du,ca,[0,Du,Bu],ca,Tu,ca,[0,Tu,Bu],ca,Pu,ca,[0,Wi,-3,ra,da],ca,[0,Wi,-3,ra],ca,[0,aa,Wi,-2,ra,$i,ra,-1,2,Wi,Bu],ca,Ou,ca,[0,Ou,Bu],Wi,Bu,aa,ca,[0,Wi,-3,ra,Bu,-1],ca,[0,sa,Pu]],aa,[0,aa,$i,-1,ra]]);var Fu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"image_in","norm_rect_in",!1])).outputCategoryMask=!1,i.outputConfidenceMasks=!0,i.h=new cc,i.s=new oc,to(i.h,0,3,i.s),to(e=i.h,0,1,r=new vs),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){var r,n;return"outputCategoryMask"in e&&(this.outputCategoryMask=null!=(r=e.outputCategoryMask)&&r),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=null==(n=e.outputConfidenceMasks)||n),p(t,"l",this)([e])}},{key:"segment",value:function(e,t,r,n){var o="function"!=typeof r?r:{};this.j="function"==typeof r?r:n,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.B+1,n=new ku;var i=new Ru,a=new bu;if(lo(a,1,255),to(i,0,12,a),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var c=new Qu;uo(c,3,!0),go(c,1,t.keypoint.x),go(c,2,t.keypoint.y),ro(i,5,Su,c)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");var A,u=s((a=new Mu,t.scribble));try{for(u.s();!(A=u.n()).done;)c=A.value,uo(t=new Qu,3,!0),go(t,1,c.x),go(t,2,c.y),ao(a,1,Qu,t)}catch(e){u.e(e)}finally{u.f()}ro(i,15,Su,a)}ao(n,1,Ru,i),this.g.addProtoToStream(n.g(),"drishti.RenderData","roi_in",r),HA(this,e,o);e:{try{var l=new _u(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var d=l;break e}this.j(l)}finally{Xc(this)}d=void 0}return d}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"roi_in"),La(t,"norm_rect_in");var r=new Qa;No(r,Ac,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"ROI:roi_in"),Sa(n,"NORM_RECT:norm_rect_in"),n.o(r),ja(t,n),Hc(this,t),this.outputConfidenceMasks&&(Ha(t,"confidence_masks"),ka(n,"CONFIDENCE_MASKS:confidence_masks"),Gc(this,"confidence_masks"),this.g.ba("confidence_masks",function(t,r){e.confidenceMasks=t.map(function(t){return XA(e,t,!0,!e.j)}),Lc(e,r)}),this.g.attachEmptyPacketListener("confidence_masks",function(t){e.confidenceMasks=[],Lc(e,t)})),this.outputCategoryMask&&(Ha(t,"category_mask"),ka(n,"CATEGORY_MASK:category_mask"),Gc(this,"category_mask"),this.g.V("category_mask",function(t,r){e.categoryMask=XA(e,t,!1,!e.j),Lc(e,r)}),this.g.attachEmptyPacketListener("category_mask",function(t){e.categoryMask=void 0,Lc(e,t)})),Ha(t,"quality_scores"),ka(n,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",function(t,r){e.qualityScores=t,Lc(e,r)}),this.g.attachEmptyPacketListener("quality_scores",function(t){e.categoryMask=void 0,Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);Fu.prototype.segment=Fu.prototype.segment,Fu.prototype.setOptions=Fu.prototype.o,Fu.createFromModelPath=function(e,t){return UA(Fu,e,{baseOptions:{modelAssetPath:t}})},Fu.createFromModelBuffer=function(e,t){return UA(Fu,e,{baseOptions:{modelAssetBuffer:t}})},Fu.createFromOptions=function(e,t){return UA(Fu,e,t)};var xu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"input_frame_gpu","norm_rect",!1])).j={detections:[]},to(e=i.h=new uc,0,1,r=new vs),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){return void 0!==e.displayNamesLocale?Sn(this.h,2,rn(e.displayNamesLocale)):"displayNamesLocale"in e&&Sn(this.h,2),void 0!==e.maxResults?lo(this.h,3,e.maxResults):"maxResults"in e&&Sn(this.h,3),void 0!==e.scoreThreshold?go(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&Sn(this.h,4),void 0!==e.categoryAllowlist?fo(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&Sn(this.h,5),void 0!==e.categoryDenylist?fo(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&Sn(this.h,6),this.l(e)}},{key:"D",value:function(e,t){return this.j={detections:[]},HA(this,e,t),this.j}},{key:"F",value:function(e,t,r){return this.j={detections:[]},GA(this,e,r,t),this.j}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"input_frame_gpu"),La(t,"norm_rect"),Ha(t,"detections");var r=new Qa;No(r,lc,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.ObjectDetectorGraph"),Sa(n,"IMAGE:input_frame_gpu"),Sa(n,"NORM_RECT:norm_rect"),ka(n,"DETECTIONS:detections"),n.o(r),ja(t,n),this.g.attachProtoVectorListener("detections",function(t,r){var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=$a(i),e.j.detections.push(Ec(t))}}catch(e){o.e(e)}finally{o.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("detections",function(t){Lc(e,t)}),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);xu.prototype.detectForVideo=xu.prototype.F,xu.prototype.detect=xu.prototype.D,xu.prototype.setOptions=xu.prototype.o,xu.createFromModelPath=function(){var e=r(d().m(function e(t,r){return d().w(function(e){for(;;)if(0===e.n)return e.a(2,UA(xu,t,{baseOptions:{modelAssetPath:r}}))},e)}));return function(t,r){return e.apply(this,arguments)}}(),xu.createFromModelBuffer=function(e,t){return UA(xu,e,{baseOptions:{modelAssetBuffer:t}})},xu.createFromOptions=function(e,t){return UA(xu,e,t)};var Nu=function(){return a(function e(t,r,n){o(this,e),this.landmarks=t,this.worldLandmarks=r,this.segmentationMasks=n},[{key:"close",value:function(){var e;null==(e=this.segmentationMasks)||e.forEach(function(e){e.close()})}}])}();function Uu(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function ju(e){try{var t=new Nu(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.s)return t;e.s(t)}finally{Xc(e)}}Nu.prototype.close=Nu.prototype.close;var Lu=function(e){function t(e,r){var i;return o(this,t),(i=n(this,t,[new NA(e,r),"image_in","norm_rect",!1])).landmarks=[],i.worldLandmarks=[],i.outputSegmentationMasks=!1,to(e=i.h=new gc,0,1,r=new vs),i.v=new Zs,to(i.h,0,3,i.v),i.j=new Ks,to(i.h,0,2,i.j),lo(i.j,4,1),go(i.j,2,.5),go(i.v,2,.5),go(i.h,4,.5),i}return u(t,e),a(t,[{key:"baseOptions",get:function(){return qn(this.h,vs,1)},set:function(e){to(this.h,0,1,e)}},{key:"o",value:function(e){var t,r,n,o,i;return"numPoses"in e&&lo(this.j,4,null!=(t=e.numPoses)?t:1),"minPoseDetectionConfidence"in e&&go(this.j,2,null!=(r=e.minPoseDetectionConfidence)?r:.5),"minTrackingConfidence"in e&&go(this.h,4,null!=(n=e.minTrackingConfidence)?n:.5),"minPosePresenceConfidence"in e&&go(this.v,2,null!=(o=e.minPosePresenceConfidence)?o:.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=null!=(i=e.outputSegmentationMasks)&&i),this.l(e)}},{key:"D",value:function(e,t,r){var n="function"!=typeof t?t:{};return this.s="function"==typeof t?t:r,Uu(this),HA(this,e,n),ju(this)}},{key:"F",value:function(e,t,r,n){var o="function"!=typeof r?r:{};return this.s="function"==typeof r?r:n,Uu(this),GA(this,e,o,t),ju(this)}},{key:"m",value:function(){var e=this,t=new Ga;La(t,"image_in"),La(t,"norm_rect"),Ha(t,"normalized_landmarks"),Ha(t,"world_landmarks"),Ha(t,"segmentation_masks");var r=new Qa;No(r,fc,this.h);var n=new Fa;Ra(n,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),Sa(n,"IMAGE:image_in"),Sa(n,"NORM_RECT:norm_rect"),ka(n,"NORM_LANDMARKS:normalized_landmarks"),ka(n,"WORLD_LANDMARKS:world_landmarks"),n.o(r),ja(t,n),Hc(this,t),this.g.attachProtoVectorListener("normalized_landmarks",function(t,r){e.landmarks=[];var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=ns(i),e.landmarks.push(mc(t))}}catch(e){o.e(e)}finally{o.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("normalized_landmarks",function(t){e.landmarks=[],Lc(e,t)}),this.g.attachProtoVectorListener("world_landmarks",function(t,r){e.worldLandmarks=[];var n,o=s(t);try{for(o.s();!(n=o.n()).done;){var i=n.value;t=ts(i),e.worldLandmarks.push(yc(t))}}catch(e){o.e(e)}finally{o.f()}Lc(e,r)}),this.g.attachEmptyPacketListener("world_landmarks",function(t){e.worldLandmarks=[],Lc(e,t)}),this.outputSegmentationMasks&&(ka(n,"SEGMENTATION_MASK:segmentation_masks"),Gc(this,"segmentation_masks"),this.g.ba("segmentation_masks",function(t,r){e.segmentationMasks=t.map(function(t){return XA(e,t,!0,!e.s)}),Lc(e,r)}),this.g.attachEmptyPacketListener("segmentation_masks",function(t){e.segmentationMasks=[],Lc(e,t)})),t=t.g(),this.setGraph(new Uint8Array(t),!0)}}])}(YA);Lu.prototype.detectForVideo=Lu.prototype.F,Lu.prototype.detect=Lu.prototype.D,Lu.prototype.setOptions=Lu.prototype.o,Lu.createFromModelPath=function(e,t){return UA(Lu,e,{baseOptions:{modelAssetPath:t}})},Lu.createFromModelBuffer=function(e,t){return UA(Lu,e,{baseOptions:{modelAssetBuffer:t}})},Lu.createFromOptions=function(e,t){return UA(Lu,e,t)},Lu.POSE_CONNECTIONS=gu;var Hu=1e-6,Gu="undefined"!=typeof Float32Array?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var Xu={};function Yu(){var e=new Gu(16);return Gu!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0),e[0]=1,e[5]=1,e[10]=1,e[15]=1,e}function Wu(e){var t=new Gu(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Vu(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function zu(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h){var p=new Gu(16);return p[0]=e,p[1]=t,p[2]=r,p[3]=n,p[4]=o,p[5]=i,p[6]=a,p[7]=s,p[8]=c,p[9]=A,p[10]=u,p[11]=l,p[12]=d,p[13]=g,p[14]=f,p[15]=h,p}function Ku(e,t,r,n,o,i,a,s,c,A,u,l,d,g,f,h,p){return e[0]=t,e[1]=r,e[2]=n,e[3]=o,e[4]=i,e[5]=a,e[6]=s,e[7]=c,e[8]=A,e[9]=u,e[10]=l,e[11]=d,e[12]=g,e[13]=f,e[14]=h,e[15]=p,e}function Zu(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Ju(e,t){if(e===t){var r=t[1],n=t[2],o=t[3],i=t[6],a=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=i,e[11]=t[14],e[12]=o,e[13]=a,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function qu(e,t){var r=t[0],n=t[1],o=t[2],i=t[3],a=t[4],s=t[5],c=t[6],A=t[7],u=t[8],l=t[9],d=t[10],g=t[11],f=t[12],h=t[13],p=t[14],E=t[15],m=r*s-n*a,y=r*c-o*a,I=r*A-i*a,v=n*c-o*s,w=n*A-i*s,C=o*A-i*c,_=u*h-l*f,b=u*p-d*f,B=u*E-g*f,D=l*p-d*h,T=l*E-g*h,O=d*E-g*p,Q=m*O-y*T+I*D+v*B-w*b+C*_;return Q?(Q=1/Q,e[0]=(s*O-c*T+A*D)*Q,e[1]=(o*T-n*O-i*D)*Q,e[2]=(h*C-p*w+E*v)*Q,e[3]=(d*w-l*C-g*v)*Q,e[4]=(c*B-a*O-A*b)*Q,e[5]=(r*O-o*B+i*b)*Q,e[6]=(p*I-f*C-E*y)*Q,e[7]=(u*C-d*I+g*y)*Q,e[8]=(a*T-s*B+A*_)*Q,e[9]=(n*B-r*T-i*_)*Q,e[10]=(f*w-h*I+E*m)*Q,e[11]=(l*I-u*w-g*m)*Q,e[12]=(s*b-a*D-c*_)*Q,e[13]=(r*D-n*b+o*_)*Q,e[14]=(h*y-f*v-p*m)*Q,e[15]=(u*v-l*y+d*m)*Q,e):null}function $u(e,t){var r=t[0],n=t[1],o=t[2],i=t[3],a=t[4],s=t[5],c=t[6],A=t[7],u=t[8],l=t[9],d=t[10],g=t[11],f=t[12],h=t[13],p=t[14],E=t[15];return e[0]=s*(d*E-g*p)-l*(c*E-A*p)+h*(c*g-A*d),e[1]=-(n*(d*E-g*p)-l*(o*E-i*p)+h*(o*g-i*d)),e[2]=n*(c*E-A*p)-s*(o*E-i*p)+h*(o*A-i*c),e[3]=-(n*(c*g-A*d)-s*(o*g-i*d)+l*(o*A-i*c)),e[4]=-(a*(d*E-g*p)-u*(c*E-A*p)+f*(c*g-A*d)),e[5]=r*(d*E-g*p)-u*(o*E-i*p)+f*(o*g-i*d),e[6]=-(r*(c*E-A*p)-a*(o*E-i*p)+f*(o*A-i*c)),e[7]=r*(c*g-A*d)-a*(o*g-i*d)+u*(o*A-i*c),e[8]=a*(l*E-g*h)-u*(s*E-A*h)+f*(s*g-A*l),e[9]=-(r*(l*E-g*h)-u*(n*E-i*h)+f*(n*g-i*l)),e[10]=r*(s*E-A*h)-a*(n*E-i*h)+f*(n*A-i*s),e[11]=-(r*(s*g-A*l)-a*(n*g-i*l)+u*(n*A-i*s)),e[12]=-(a*(l*p-d*h)-u*(s*p-c*h)+f*(s*d-c*l)),e[13]=r*(l*p-d*h)-u*(n*p-o*h)+f*(n*d-o*l),e[14]=-(r*(s*p-c*h)-a*(n*p-o*h)+f*(n*c-o*s)),e[15]=r*(s*d-c*l)-a*(n*d-o*l)+u*(n*c-o*s),e}function el(e){var t=e[0],r=e[1],n=e[2],o=e[3],i=e[4],a=e[5],s=e[6],c=e[7],A=e[8],u=e[9],l=e[10],d=e[11],g=e[12],f=e[13],h=e[14],p=e[15];return(t*a-r*i)*(l*p-d*h)-(t*s-n*i)*(u*p-d*f)+(t*c-o*i)*(u*h-l*f)+(r*s-n*a)*(A*p-d*g)-(r*c-o*a)*(A*h-l*g)+(n*c-o*s)*(A*f-u*g)}function tl(e,t,r){var n=t[0],o=t[1],i=t[2],a=t[3],s=t[4],c=t[5],A=t[6],u=t[7],l=t[8],d=t[9],g=t[10],f=t[11],h=t[12],p=t[13],E=t[14],m=t[15],y=r[0],I=r[1],v=r[2],w=r[3];return e[0]=y*n+I*s+v*l+w*h,e[1]=y*o+I*c+v*d+w*p,e[2]=y*i+I*A+v*g+w*E,e[3]=y*a+I*u+v*f+w*m,y=r[4],I=r[5],v=r[6],w=r[7],e[4]=y*n+I*s+v*l+w*h,e[5]=y*o+I*c+v*d+w*p,e[6]=y*i+I*A+v*g+w*E,e[7]=y*a+I*u+v*f+w*m,y=r[8],I=r[9],v=r[10],w=r[11],e[8]=y*n+I*s+v*l+w*h,e[9]=y*o+I*c+v*d+w*p,e[10]=y*i+I*A+v*g+w*E,e[11]=y*a+I*u+v*f+w*m,y=r[12],I=r[13],v=r[14],w=r[15],e[12]=y*n+I*s+v*l+w*h,e[13]=y*o+I*c+v*d+w*p,e[14]=y*i+I*A+v*g+w*E,e[15]=y*a+I*u+v*f+w*m,e}function rl(e,t,r){var n,o,i,a,s,c,A,u,l,d,g,f,h=r[0],p=r[1],E=r[2];return t===e?(e[12]=t[0]*h+t[4]*p+t[8]*E+t[12],e[13]=t[1]*h+t[5]*p+t[9]*E+t[13],e[14]=t[2]*h+t[6]*p+t[10]*E+t[14],e[15]=t[3]*h+t[7]*p+t[11]*E+t[15]):(n=t[0],o=t[1],i=t[2],a=t[3],s=t[4],c=t[5],A=t[6],u=t[7],l=t[8],d=t[9],g=t[10],f=t[11],e[0]=n,e[1]=o,e[2]=i,e[3]=a,e[4]=s,e[5]=c,e[6]=A,e[7]=u,e[8]=l,e[9]=d,e[10]=g,e[11]=f,e[12]=n*h+s*p+l*E+t[12],e[13]=o*h+c*p+d*E+t[13],e[14]=i*h+A*p+g*E+t[14],e[15]=a*h+u*p+f*E+t[15]),e}function nl(e,t,r){var n=r[0],o=r[1],i=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*o,e[5]=t[5]*o,e[6]=t[6]*o,e[7]=t[7]*o,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ol(e,t,r,n){var o,i,a,s,c,A,u,l,d,g,f,h,p,E,m,y,I,v,w,C,_,b,B,D,T=n[0],O=n[1],Q=n[2],P=Math.hypot(T,O,Q);return P<Hu?null:(T*=P=1/P,O*=P,Q*=P,o=Math.sin(r),a=1-(i=Math.cos(r)),s=t[0],c=t[1],A=t[2],u=t[3],l=t[4],d=t[5],g=t[6],f=t[7],h=t[8],p=t[9],E=t[10],m=t[11],y=T*T*a+i,I=O*T*a+Q*o,v=Q*T*a-O*o,w=T*O*a-Q*o,C=O*O*a+i,_=Q*O*a+T*o,b=T*Q*a+O*o,B=O*Q*a-T*o,D=Q*Q*a+i,e[0]=s*y+l*I+h*v,e[1]=c*y+d*I+p*v,e[2]=A*y+g*I+E*v,e[3]=u*y+f*I+m*v,e[4]=s*w+l*C+h*_,e[5]=c*w+d*C+p*_,e[6]=A*w+g*C+E*_,e[7]=u*w+f*C+m*_,e[8]=s*b+l*B+h*D,e[9]=c*b+d*B+p*D,e[10]=A*b+g*B+E*D,e[11]=u*b+f*B+m*D,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function il(e,t,r){var n=Math.sin(r),o=Math.cos(r),i=t[4],a=t[5],s=t[6],c=t[7],A=t[8],u=t[9],l=t[10],d=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*o+A*n,e[5]=a*o+u*n,e[6]=s*o+l*n,e[7]=c*o+d*n,e[8]=A*o-i*n,e[9]=u*o-a*n,e[10]=l*o-s*n,e[11]=d*o-c*n,e}function al(e,t,r){var n=Math.sin(r),o=Math.cos(r),i=t[0],a=t[1],s=t[2],c=t[3],A=t[8],u=t[9],l=t[10],d=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*o-A*n,e[1]=a*o-u*n,e[2]=s*o-l*n,e[3]=c*o-d*n,e[8]=i*n+A*o,e[9]=a*n+u*o,e[10]=s*n+l*o,e[11]=c*n+d*o,e}function sl(e,t,r){var n=Math.sin(r),o=Math.cos(r),i=t[0],a=t[1],s=t[2],c=t[3],A=t[4],u=t[5],l=t[6],d=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*o+A*n,e[1]=a*o+u*n,e[2]=s*o+l*n,e[3]=c*o+d*n,e[4]=A*o-i*n,e[5]=u*o-a*n,e[6]=l*o-s*n,e[7]=d*o-c*n,e}function cl(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}function Al(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ul(e,t,r){var n,o,i,a=r[0],s=r[1],c=r[2],A=Math.hypot(a,s,c);return A<Hu?null:(a*=A=1/A,s*=A,c*=A,n=Math.sin(t),i=1-(o=Math.cos(t)),e[0]=a*a*i+o,e[1]=s*a*i+c*n,e[2]=c*a*i-s*n,e[3]=0,e[4]=a*s*i-c*n,e[5]=s*s*i+o,e[6]=c*s*i+a*n,e[7]=0,e[8]=a*c*i+s*n,e[9]=s*c*i-a*n,e[10]=c*c*i+o,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}function ll(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function dl(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function gl(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function fl(e,t,r){var n=t[0],o=t[1],i=t[2],a=t[3],s=n+n,c=o+o,A=i+i,u=n*s,l=n*c,d=n*A,g=o*c,f=o*A,h=i*A,p=a*s,E=a*c,m=a*A;return e[0]=1-(g+h),e[1]=l+m,e[2]=d-E,e[3]=0,e[4]=l-m,e[5]=1-(u+h),e[6]=f+p,e[7]=0,e[8]=d+E,e[9]=f-p,e[10]=1-(u+g),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function hl(e,t){var r=new Gu(3),n=-t[0],o=-t[1],i=-t[2],a=t[3],s=t[4],c=t[5],A=t[6],u=t[7],l=n*n+o*o+i*i+a*a;return l>0?(r[0]=2*(s*a+u*n+c*i-A*o)/l,r[1]=2*(c*a+u*o+A*n-s*i)/l,r[2]=2*(A*a+u*i+s*o-c*n)/l):(r[0]=2*(s*a+u*n+c*i-A*o),r[1]=2*(c*a+u*o+A*n-s*i),r[2]=2*(A*a+u*i+s*o-c*n)),fl(e,t,r),e}function pl(e,t){return e[0]=t[12],e[1]=t[13],e[2]=t[14],e}function El(e,t){var r=t[0],n=t[1],o=t[2],i=t[4],a=t[5],s=t[6],c=t[8],A=t[9],u=t[10];return e[0]=Math.hypot(r,n,o),e[1]=Math.hypot(i,a,s),e[2]=Math.hypot(c,A,u),e}function ml(e,t){var r=new Gu(3);El(r,t);var n=1/r[0],o=1/r[1],i=1/r[2],a=t[0]*n,s=t[1]*o,c=t[2]*i,A=t[4]*n,u=t[5]*o,l=t[6]*i,d=t[8]*n,g=t[9]*o,f=t[10]*i,h=a+u+f,p=0;return h>0?(p=2*Math.sqrt(h+1),e[3]=.25*p,e[0]=(l-g)/p,e[1]=(d-c)/p,e[2]=(s-A)/p):a>u&&a>f?(p=2*Math.sqrt(1+a-u-f),e[3]=(l-g)/p,e[0]=.25*p,e[1]=(s+A)/p,e[2]=(d+c)/p):u>f?(p=2*Math.sqrt(1+u-a-f),e[3]=(d-c)/p,e[0]=(s+A)/p,e[1]=.25*p,e[2]=(l+g)/p):(p=2*Math.sqrt(1+f-a-u),e[3]=(s-A)/p,e[0]=(d+c)/p,e[1]=(l+g)/p,e[2]=.25*p),e}function yl(e,t,r,n){var o=t[0],i=t[1],a=t[2],s=t[3],c=o+o,A=i+i,u=a+a,l=o*c,d=o*A,g=o*u,f=i*A,h=i*u,p=a*u,E=s*c,m=s*A,y=s*u,I=n[0],v=n[1],w=n[2];return e[0]=(1-(f+p))*I,e[1]=(d+y)*I,e[2]=(g-m)*I,e[3]=0,e[4]=(d-y)*v,e[5]=(1-(l+p))*v,e[6]=(h+E)*v,e[7]=0,e[8]=(g+m)*w,e[9]=(h-E)*w,e[10]=(1-(l+f))*w,e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}function Il(e,t,r,n,o){var i=t[0],a=t[1],s=t[2],c=t[3],A=i+i,u=a+a,l=s+s,d=i*A,g=i*u,f=i*l,h=a*u,p=a*l,E=s*l,m=c*A,y=c*u,I=c*l,v=n[0],w=n[1],C=n[2],_=o[0],b=o[1],B=o[2],D=(1-(h+E))*v,T=(g+I)*v,O=(f-y)*v,Q=(g-I)*w,P=(1-(d+E))*w,M=(p+m)*w,R=(f+y)*C,S=(p-m)*C,k=(1-(d+h))*C;return e[0]=D,e[1]=T,e[2]=O,e[3]=0,e[4]=Q,e[5]=P,e[6]=M,e[7]=0,e[8]=R,e[9]=S,e[10]=k,e[11]=0,e[12]=r[0]+_-(D*_+Q*b+R*B),e[13]=r[1]+b-(T*_+P*b+S*B),e[14]=r[2]+B-(O*_+M*b+k*B),e[15]=1,e}function vl(e,t){var r=t[0],n=t[1],o=t[2],i=t[3],a=r+r,s=n+n,c=o+o,A=r*a,u=n*a,l=n*s,d=o*a,g=o*s,f=o*c,h=i*a,p=i*s,E=i*c;return e[0]=1-l-f,e[1]=u+E,e[2]=d-p,e[3]=0,e[4]=u-E,e[5]=1-A-f,e[6]=g+h,e[7]=0,e[8]=d+p,e[9]=g-h,e[10]=1-A-l,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function wl(e,t,r,n,o,i,a){var s=1/(r-t),c=1/(o-n),A=1/(i-a);return e[0]=2*i*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=2*i*c,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(o+n)*c,e[10]=(a+i)*A,e[11]=-1,e[12]=0,e[13]=0,e[14]=a*i*2*A,e[15]=0,e}function Cl(e,t,r,n,o){var i,a=1/Math.tan(t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=o&&o!==1/0?(i=1/(n-o),e[10]=(o+n)*i,e[14]=2*o*n*i):(e[10]=-1,e[14]=-2*n),e}!function(e,t){for(var r in t)_(e,r,{get:t[r],enumerable:!0})}(Xu,{add:function(){return Sl},adjoint:function(){return $u},clone:function(){return Wu},copy:function(){return Vu},create:function(){return Yu},determinant:function(){return el},equals:function(){return Ul},exactEquals:function(){return Nl},frob:function(){return Rl},fromQuat:function(){return vl},fromQuat2:function(){return hl},fromRotation:function(){return ul},fromRotationTranslation:function(){return fl},fromRotationTranslationScale:function(){return yl},fromRotationTranslationScaleOrigin:function(){return Il},fromScaling:function(){return Al},fromTranslation:function(){return cl},fromValues:function(){return zu},fromXRotation:function(){return ll},fromYRotation:function(){return dl},fromZRotation:function(){return gl},frustum:function(){return wl},getRotation:function(){return ml},getScaling:function(){return El},getTranslation:function(){return pl},identity:function(){return Zu},invert:function(){return qu},lookAt:function(){return Ql},mul:function(){return jl},multiply:function(){return tl},multiplyScalar:function(){return Fl},multiplyScalarAndAdd:function(){return xl},ortho:function(){return Tl},orthoNO:function(){return Dl},orthoZO:function(){return Ol},perspective:function(){return _l},perspectiveFromFieldOfView:function(){return Bl},perspectiveNO:function(){return Cl},perspectiveZO:function(){return bl},rotate:function(){return ol},rotateX:function(){return il},rotateY:function(){return al},rotateZ:function(){return sl},scale:function(){return nl},set:function(){return Ku},str:function(){return Ml},sub:function(){return Ll},subtract:function(){return kl},targetTo:function(){return Pl},translate:function(){return rl},transpose:function(){return Ju}});var _l=Cl;function bl(e,t,r,n,o){var i,a=1/Math.tan(t/2);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,null!=o&&o!==1/0?(i=1/(n-o),e[10]=o*i,e[14]=o*n*i):(e[10]=-1,e[14]=-n),e}function Bl(e,t,r,n){var o=Math.tan(t.upDegrees*Math.PI/180),i=Math.tan(t.downDegrees*Math.PI/180),a=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),c=2/(a+s),A=2/(o+i);return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=A,e[6]=0,e[7]=0,e[8]=-(a-s)*c*.5,e[9]=(o-i)*A*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}function Dl(e,t,r,n,o,i,a){var s=1/(t-r),c=1/(n-o),A=1/(i-a);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*A,e[11]=0,e[12]=(t+r)*s,e[13]=(o+n)*c,e[14]=(a+i)*A,e[15]=1,e}var Tl=Dl;function Ol(e,t,r,n,o,i,a){var s=1/(t-r),c=1/(n-o),A=1/(i-a);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=A,e[11]=0,e[12]=(t+r)*s,e[13]=(o+n)*c,e[14]=i*A,e[15]=1,e}function Ql(e,t,r,n){var o,i,a,s,c,A,u,l,d,g,f=t[0],h=t[1],p=t[2],E=n[0],m=n[1],y=n[2],I=r[0],v=r[1],w=r[2];return Math.abs(f-I)<Hu&&Math.abs(h-v)<Hu&&Math.abs(p-w)<Hu?Zu(e):(u=f-I,l=h-v,d=p-w,o=m*(d*=g=1/Math.hypot(u,l,d))-y*(l*=g),i=y*(u*=g)-E*d,a=E*l-m*u,(g=Math.hypot(o,i,a))?(o*=g=1/g,i*=g,a*=g):(o=0,i=0,a=0),s=l*a-d*i,c=d*o-u*a,A=u*i-l*o,(g=Math.hypot(s,c,A))?(s*=g=1/g,c*=g,A*=g):(s=0,c=0,A=0),e[0]=o,e[1]=s,e[2]=u,e[3]=0,e[4]=i,e[5]=c,e[6]=l,e[7]=0,e[8]=a,e[9]=A,e[10]=d,e[11]=0,e[12]=-(o*f+i*h+a*p),e[13]=-(s*f+c*h+A*p),e[14]=-(u*f+l*h+d*p),e[15]=1,e)}function Pl(e,t,r,n){var o=t[0],i=t[1],a=t[2],s=n[0],c=n[1],A=n[2],u=o-r[0],l=i-r[1],d=a-r[2],g=u*u+l*l+d*d;g>0&&(u*=g=1/Math.sqrt(g),l*=g,d*=g);var f=c*d-A*l,h=A*u-s*d,p=s*l-c*u;return(g=f*f+h*h+p*p)>0&&(f*=g=1/Math.sqrt(g),h*=g,p*=g),e[0]=f,e[1]=h,e[2]=p,e[3]=0,e[4]=l*p-d*h,e[5]=d*f-u*p,e[6]=u*h-l*f,e[7]=0,e[8]=u,e[9]=l,e[10]=d,e[11]=0,e[12]=o,e[13]=i,e[14]=a,e[15]=1,e}function Ml(e){return"mat4("+e[0]+", "+e[1]+", "+e[2]+", "+e[3]+", "+e[4]+", "+e[5]+", "+e[6]+", "+e[7]+", "+e[8]+", "+e[9]+", "+e[10]+", "+e[11]+", "+e[12]+", "+e[13]+", "+e[14]+", "+e[15]+")"}function Rl(e){return Math.hypot(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])}function Sl(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e[2]=t[2]+r[2],e[3]=t[3]+r[3],e[4]=t[4]+r[4],e[5]=t[5]+r[5],e[6]=t[6]+r[6],e[7]=t[7]+r[7],e[8]=t[8]+r[8],e[9]=t[9]+r[9],e[10]=t[10]+r[10],e[11]=t[11]+r[11],e[12]=t[12]+r[12],e[13]=t[13]+r[13],e[14]=t[14]+r[14],e[15]=t[15]+r[15],e}function kl(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e[2]=t[2]-r[2],e[3]=t[3]-r[3],e[4]=t[4]-r[4],e[5]=t[5]-r[5],e[6]=t[6]-r[6],e[7]=t[7]-r[7],e[8]=t[8]-r[8],e[9]=t[9]-r[9],e[10]=t[10]-r[10],e[11]=t[11]-r[11],e[12]=t[12]-r[12],e[13]=t[13]-r[13],e[14]=t[14]-r[14],e[15]=t[15]-r[15],e}function Fl(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*r,e[5]=t[5]*r,e[6]=t[6]*r,e[7]=t[7]*r,e[8]=t[8]*r,e[9]=t[9]*r,e[10]=t[10]*r,e[11]=t[11]*r,e[12]=t[12]*r,e[13]=t[13]*r,e[14]=t[14]*r,e[15]=t[15]*r,e}function xl(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e[2]=t[2]+r[2]*n,e[3]=t[3]+r[3]*n,e[4]=t[4]+r[4]*n,e[5]=t[5]+r[5]*n,e[6]=t[6]+r[6]*n,e[7]=t[7]+r[7]*n,e[8]=t[8]+r[8]*n,e[9]=t[9]+r[9]*n,e[10]=t[10]+r[10]*n,e[11]=t[11]+r[11]*n,e[12]=t[12]+r[12]*n,e[13]=t[13]+r[13]*n,e[14]=t[14]+r[14]*n,e[15]=t[15]+r[15]*n,e}function Nl(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]}function Ul(e,t){var r=e[0],n=e[1],o=e[2],i=e[3],a=e[4],s=e[5],c=e[6],A=e[7],u=e[8],l=e[9],d=e[10],g=e[11],f=e[12],h=e[13],p=e[14],E=e[15],m=t[0],y=t[1],I=t[2],v=t[3],w=t[4],C=t[5],_=t[6],b=t[7],B=t[8],D=t[9],T=t[10],O=t[11],Q=t[12],P=t[13],M=t[14],R=t[15];return Math.abs(r-m)<=Hu*Math.max(1,Math.abs(r),Math.abs(m))&&Math.abs(n-y)<=Hu*Math.max(1,Math.abs(n),Math.abs(y))&&Math.abs(o-I)<=Hu*Math.max(1,Math.abs(o),Math.abs(I))&&Math.abs(i-v)<=Hu*Math.max(1,Math.abs(i),Math.abs(v))&&Math.abs(a-w)<=Hu*Math.max(1,Math.abs(a),Math.abs(w))&&Math.abs(s-C)<=Hu*Math.max(1,Math.abs(s),Math.abs(C))&&Math.abs(c-_)<=Hu*Math.max(1,Math.abs(c),Math.abs(_))&&Math.abs(A-b)<=Hu*Math.max(1,Math.abs(A),Math.abs(b))&&Math.abs(u-B)<=Hu*Math.max(1,Math.abs(u),Math.abs(B))&&Math.abs(l-D)<=Hu*Math.max(1,Math.abs(l),Math.abs(D))&&Math.abs(d-T)<=Hu*Math.max(1,Math.abs(d),Math.abs(T))&&Math.abs(g-O)<=Hu*Math.max(1,Math.abs(g),Math.abs(O))&&Math.abs(f-Q)<=Hu*Math.max(1,Math.abs(f),Math.abs(Q))&&Math.abs(h-P)<=Hu*Math.max(1,Math.abs(h),Math.abs(P))&&Math.abs(p-M)<=Hu*Math.max(1,Math.abs(p),Math.abs(M))&&Math.abs(E-R)<=Hu*Math.max(1,Math.abs(E),Math.abs(R))}var jl=tl,Ll=kl,Hl={},Gl=Uint8Array,Xl=Uint16Array,Yl=Int32Array,Wl=new Gl([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Vl=new Gl([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),zl=new Gl([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Kl=function(e,t){for(var r=new Xl(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];var o=new Yl(r[30]);for(n=1;n<30;++n)for(var i=r[n];i<r[n+1];++i)o[i]=i-r[n]<<5|n;return{b:r,r:o}},Zl=Kl(Wl,2),Jl=Zl.b,ql=Zl.r;Jl[28]=258,ql[258]=28;var $l,ed=Kl(Vl,0).b,td=new Xl(32768);for(od=0;od<32768;++od)$l=(61680&($l=(52428&($l=(43690&od)>>1|(21845&od)<<1))>>2|(13107&$l)<<2))>>4|(3855&$l)<<4,td[od]=((65280&$l)>>8|(255&$l)<<8)>>1;var rd=function(e,t,r){for(var n=e.length,o=0,i=new Xl(t);o<n;++o)e[o]&&++i[e[o]-1];var a,s=new Xl(t);for(o=1;o<t;++o)s[o]=s[o-1]+i[o-1]<<1;if(r){a=new Xl(1<<t);var c=15-t;for(o=0;o<n;++o)if(e[o])for(var A=o<<4|e[o],u=t-e[o],l=s[e[o]-1]++<<u,d=l|(1<<u)-1;l<=d;++l)a[td[l]>>c]=A}else for(a=new Xl(n),o=0;o<n;++o)e[o]&&(a[o]=td[s[e[o]-1]++]>>15-e[o]);return a},nd=new Gl(288);for(od=0;od<144;++od)nd[od]=8;for(od=144;od<256;++od)nd[od]=9;for(od=256;od<280;++od)nd[od]=7;for(od=280;od<288;++od)nd[od]=8;var od,id=new Gl(32);for(od=0;od<32;++od)id[od]=5;var ad=rd(nd,9,1),sd=rd(id,5,1),cd=function(e){for(var t=e[0],r=1;r<e.length;++r)e[r]>t&&(t=e[r]);return t},Ad=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<<8)>>(7&t)&r},ud=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<<16)>>(7&t)},ld=function(e){return(e+7)/8|0},dd=function(e,t,r){return(null==t||t<0)&&(t=0),(null==r||r>e.length)&&(r=e.length),new Gl(e.subarray(t,r))},gd=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],fd=function(e,t,r){var n=new Error(t||gd[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,fd),!r)throw n;return n},hd=function(e,t,r,n){var o=e.length,i=n?n.length:0;if(!o||t.f&&!t.l)return r||new Gl(0);var a=!r,s=a||2!=t.i,c=t.i;a&&(r=new Gl(3*o));var A=function(e){var t=r.length;if(e>t){var n=new Gl(Math.max(2*t,e));n.set(r),r=n}},u=t.f||0,l=t.p||0,d=t.b||0,g=t.l,f=t.d,h=t.m,p=t.n,E=8*o;do{if(!g){u=Ad(e,l,1);var m=Ad(e,l+1,3);if(l+=3,!m){var y=e[(Q=ld(l)+4)-4]|e[Q-3]<<8,I=Q+y;if(I>o){c&&fd(0);break}s&&A(d+y),r.set(e.subarray(Q,I),d),t.b=d+=y,t.p=l=8*I,t.f=u;continue}if(1==m)g=ad,f=sd,h=9,p=5;else if(2==m){var v=Ad(e,l,31)+257,w=Ad(e,l+10,15)+4,C=v+Ad(e,l+5,31)+1;l+=14;for(var _=new Gl(C),b=new Gl(19),B=0;B<w;++B)b[zl[B]]=Ad(e,l+3*B,7);l+=3*w;var D=cd(b),T=(1<<D)-1,O=rd(b,D,1);for(B=0;B<C;){var Q,P=O[Ad(e,l,T)];if(l+=15&P,(Q=P>>4)<16)_[B++]=Q;else{var M=0,R=0;for(16==Q?(R=3+Ad(e,l,3),l+=2,M=_[B-1]):17==Q?(R=3+Ad(e,l,7),l+=3):18==Q&&(R=11+Ad(e,l,127),l+=7);R--;)_[B++]=M}}var S=_.subarray(0,v),k=_.subarray(v);h=cd(S),p=cd(k),g=rd(S,h,1),f=rd(k,p,1)}else fd(1);if(l>E){c&&fd(0);break}}s&&A(d+131072);for(var F=(1<<h)-1,x=(1<<p)-1,N=l;;N=l){var U=(M=g[ud(e,l)&F])>>4;if((l+=15&M)>E){c&&fd(0);break}if(M||fd(2),U<256)r[d++]=U;else{if(256==U){N=l,g=null;break}var j=U-254;if(U>264){var L=Wl[B=U-257];j=Ad(e,l,(1<<L)-1)+Jl[B],l+=L}var H=f[ud(e,l)&x],G=H>>4;H||fd(3),l+=15&H;k=ed[G];if(G>3){L=Vl[G];k+=ud(e,l)&(1<<L)-1,l+=L}if(l>E){c&&fd(0);break}s&&A(d+131072);var X=d+j;if(d<k){var Y=i-k,W=Math.min(k,X);for(Y+d<0&&fd(3);d<W;++d)r[d]=n[Y+d]}for(;d<X;++d)r[d]=r[d-k]}}t.l=g,t.p=N,t.b=d,t.f=u,g&&(u=1,t.m=h,t.d=f,t.n=p)}while(!u);return d!=r.length&&a?dd(r,0,d):r.subarray(0,d)},pd=new Gl(0),Ed=function(e,t,r){for(var n=e(),o=e.toString(),i=o.slice(o.indexOf("[")+1,o.lastIndexOf("]")).replace(/\s+/g,"").split(","),a=0;a<n.length;++a){var s=n[a],c=i[a];if("function"==typeof s){t+=";"+c+"=";var A=s.toString();if(s.prototype)if(-1!=A.indexOf("[native code]")){var u=A.indexOf(" ",8)+1;t+=A.slice(u,A.indexOf("(",u))}else for(var l in t+=A,s.prototype)t+=";"+c+".prototype."+l+"="+s.prototype[l].toString();else t+=A}else r[c]=s}return t},md=[],yd=function(e,t,r,n){if(!md[r]){for(var o="",i={},a=e.length-1,s=0;s<a;++s)o=Ed(e[s],o,i);md[r]={c:Ed(e[a],o,i),e:i}}var c=function(e,t){var r={};for(var n in e)r[n]=e[n];for(var n in t)r[n]=t[n];return r}({},md[r].e);return function(e,t,r,n,o){var i=new Worker(Hl[t]||(Hl[t]=URL.createObjectURL(new Blob([e+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return i.onmessage=function(e){var t=e.data,r=t.$e$;if(r){var n=new Error(r[0]);n.code=r[1],n.stack=r[2],o(n,null)}else o(null,t)},i.postMessage(r,n),i}(md[r].c+";onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage="+t.toString()+"}",r,c,function(e){var t=[];for(var r in e)e[r].buffer&&t.push((e[r]=new e[r].constructor(e[r])).buffer);return t}(c),n)},Id=function(){return[Gl,Xl,Yl,Wl,Vl,zl,Jl,ed,ad,sd,td,gd,rd,cd,Ad,ud,ld,dd,fd,hd,Bd,wd,Cd]},vd=function(){return[_d,bd]},wd=function(e){return postMessage(e,[e.buffer])},Cd=function(e){return e&&{out:e.size&&new Gl(e.size),dictionary:e.dictionary}},_d=function(e){31==e[0]&&139==e[1]&&8==e[2]||fd(6,"invalid gzip data");var t=e[3],r=10;4&t&&(r+=2+(e[10]|e[11]<<8));for(var n=(t>>3&1)+(t>>4&1);n>0;n-=!e[r++]);return r+(2&t)},bd=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0};function Bd(e,t){return hd(e,{i:2},t&&t.out,t&&t.dictionary)}function Dd(e,t,r){return r||(r=t,t={}),"function"!=typeof r&&fd(7),function(e,t,r,n,o,i){var a=yd(r,n,o,function(e,t){a.terminate(),i(e,t)});return a.postMessage([e,t],t.consume?[e.buffer]:[]),function(){a.terminate()}}(e,t,[Id,vd,function(){return[Td]}],function(e){return wd(Td(e.data[0],e.data[1]))},3,r)}function Td(e,t){var r=_d(e);return r+8>e.length&&fd(6,"invalid gzip data"),hd(e.subarray(r,-8),{i:2},t&&t.out||new Gl(bd(e)),t&&t.dictionary)}var Od="undefined"!=typeof TextDecoder&&new TextDecoder;try{Od.decode(pd,{stream:!0})}catch(e){}var Qd=570703,Pd=0,Md=function(){function e(t){o(this,e),this.core=t,S(this,"seq"),S(this,"_core"),S(this,"log"),S(this,"preLoadPromise"),S(this,"startResolve"),S(this,"startReject"),S(this,"mediaPipeSolutions"),S(this,"assetsPath"),S(this,"currentType"),S(this,"onAbort"),S(this,"isAborted",!1),S(this,"faceDetector"),Pd+=1,this.seq=Pd,this._core=t,this.log=t.log.createChild({id:"".concat(this.getAlias()).concat(Pd)}),this.log.info("created"),t.assetsPath&&(this.preLoadPromise=this.preload(t.assetsPath))}return a(e,[{key:"preload",value:(A=r(d().m(function e(t){var r,n,o,i,a,s=this;return d().w(function(e){for(;;)switch(e.n){case 0:if(e.p=0,this._core.room.videoManager.Wasm){e.n=2;break}return e.n=1,X();case 1:this._core.room.videoManager.Wasm=e.v;case 2:return this.assetsPath="".concat(t,"/selfie_segmentation/"),(r=new Y(this.assetsPath,this._core.fileDownloader)).onAbort=function(e){var t;s.core.kvStatManager.addEnum({key:Qd,value:s.getKVTypeValue(!1,s.isAborted,"ABORT_IN_INFERENCE")}),s.isAborted=!0,s.log.error("mediaPipeSolutions abort",e),s.core.clearStarted(s,s.getGroup()),s.stop(),null==(t=s.onAbort)||t.call(s,e)},r.print=this.log.info.bind(this.log),r.printErr=this.log.warn.bind(this.log),e.n=3,(this.core.rtcDectection.isSIMDSupported()?j:H)(r);case 3:return this.mediaPipeSolutions=e.v,e.n=4,this.mediaPipeSolutions.initialize();case 4:return e.n=5,this._core.room.videoManager.initVirtualBackground(this.mediaPipeSolutions,this.initFaceDetector.bind(this,t),Xu);case 5:e.n=7;break;case 6:throw e.p=6,a=e.v,n=this._core.errorModule,o=n.RtcError,i=n.ErrorCode,new o({code:i.INVALID_OPERATION,message:"VirtualBackground preload error, please check your assetsPath. detail: ".concat(a)});case 7:return e.a(2)}},e,this,[[0,6]])})),function(e){return A.apply(this,arguments)})},{key:"isWasmFile",value:function(e){return e.byteLength>=4&&0===e[0]&&97===e[1]&&115===e[2]&&109===e[3]}},{key:"loadAndDecompressGz",value:(c=r(d().m(function e(t){var r,n,o=this;return d().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,fetch(t);case 1:if((r=e.v).ok){e.n=2;break}throw Error("Failed to fetch ".concat(t,": ").concat(r.status," ").concat(r.statusText));case 2:return e.n=3,r.arrayBuffer();case 3:return n=e.v,e.a(2,new Promise(function(e,t){Dd(new Uint8Array(n),function(r,n){r&&t(r),o.isWasmFile(n)?e(new Blob([n],{type:"application/wasm"})):t(new Error("Decompressed data is not a valid WASM file"))})}))}},e)})),function(e){return c.apply(this,arguments)})},{key:"initFaceDetector",value:(s=r(d().m(function e(t){var r,n,o,i,a,s,c,A;return d().w(function(e){for(;;)switch(e.n){case 0:if(e.p=0,this.faceDetector){e.n=8;break}return r=function(e){return"".concat(t,"/").concat(e).replace(/([^:]\/)\/+/g,"$1")},e.n=1,Dc.isSimdSupported();case 1:if(!e.v){e.n=2;break}c="vision_wasm_internal",e.n=3;break;case 2:c="vision_wasm_nosimd_internal";case 3:return n=r("/face_detection/".concat(c)),o="".concat(n,".gz"),e.n=4,this.loadAndDecompressGz(o);case 4:if(i=e.v){e.n=5;break}return e.a(2);case 5:return a=URL.createObjectURL(i),e.n=6,Dc.forVisionTasks("");case 6:return(s=e.v).wasmBinaryPath=a,s.wasmLoaderPath="".concat(n,".js"),e.n=7,WA.createFromOptions(s,{baseOptions:{modelAssetPath:r("/face_detection/blaze_face_short_range.tflite"),delegate:"GPU"},runningMode:"VIDEO"});case 7:this.faceDetector=e.v;case 8:return e.a(2,this.faceDetector);case 9:e.p=9,A=e.v,this.log.error("Init FaceDetetor",A);case 10:return e.a(2)}},e,this,[[0,9]])})),function(e){return s.apply(this,arguments)})},{key:"getName",value:function(){return e.Name}},{key:"getAlias",value:function(){return"vb"}},{key:"getValidateRule",value:function(e){switch(e){case"start":return t=this._core,{name:"VirtualBackgroundOptions",type:"object",required:!0,allowEmpty:!1,properties:M(P({},x),{type:{required:!1,type:"string",values:["image","blur"]},src:{required:!1,type:"string"},blurLevel:{required:!1,type:"number",min:1,max:10},onAbort:{required:!1}}),validate:function(e,r,n,o){var i,a=t.errorModule,s=a.RtcError,c=a.ErrorCode,A=a.ErrorCodeDictionary;if(e){var u=e.type,l=e.src,d=e.onAbort;if("image"===u&&!l)throw new s({code:c.INVALID_PARAMETER,extraCode:A.INVALID_PARAMETER_REQUIRED,fnName:n,messageParams:{key:"src"}});if(d&&!t.utils.isFunction(d))throw new s({code:c.INVALID_PARAMETER,extraCode:A.INVALID_PARAMETER_TYPE,fnName:n,messageParams:{key:"onAbort",value:I(d),rule:{type:"Function"}}});if(!(null==(i=t.room.videoManager.cameraTrack)?void 0:i.mediaTrack))throw new s({code:c.INVALID_OPERATION,extraCode:A.INVALID_OPERATION_NEED_VIDEO,fnName:n})}}};case"update":return function(e){return{name:"UpdateVirtualBackgroundOptions",type:"object",required:!0,allowEmpty:!1,properties:{type:{required:!0,type:"string",values:["image","blur"]},src:{required:!1,type:"string"},blurLevel:{required:!1,type:"number",min:1,max:10}},validate:function(t,r,n,o){if(t){var i=e.errorModule,a=i.RtcError,s=i.ErrorCode,c=i.ErrorCodeDictionary,A=t.type,u=t.src;if("image"===A&&!u)throw new a({code:s.INVALID_PARAMETER,extraCode:c.INVALID_PARAMETER_REQUIRED,fnName:n,messageParams:{key:"src"}})}}}}(this._core);case"stop":return this._core,{name:"StopVirtualBackgroundOptions",required:!1}}var t}},{key:"getGroup",value:function(){return"vb"}},{key:"getKVTypeValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"NONE",n=0;switch(this.currentType){case"blur":n|=0;break;case"image":n|=1;break;case"green":n|=2}switch(e&&(n|=256),t&&(n|=512),r){case"ABORT_IN_INFERENCE":n|=4096;break;case"ABORT_IN_VIDEO_MANAGER":n|=8192;break;case"OTHER":n|=61440}return n}},{key:"start",value:(i=r(d().m(function e(t){var r,n,o,i,a,s,c,A,u,l,g=this;return d().w(function(e){for(;;)switch(e.n){case 0:return r=t.type,n=void 0===r?"blur":r,o=t.src,i=t.blurLevel,a=void 0===i?3:i,s=t.onAbort,this.currentType=n,this.onAbort=s,e.n=1,k({sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,core:this._core});case 1:if(e.v.auth){e.n=2;break}throw c=this._core.errorModule,A=c.RtcError,u=c.ErrorCodeDictionary,l=this._core.utils.isOverseaSdkAppId(t.sdkAppId)?"https://trtc.io/document/56025":"https://cloud.tencent.com/document/product/647/85386",new A({code:u.NEED_TO_BUY,messageParams:{value:"Virtual Background",url:l}});case 2:return this.preLoadPromise||(this.preLoadPromise=this.preload(this._core.assetsPath)),e.n=3,this.preLoadPromise;case 3:return e.a(2,this.core.room.videoManager.setVirtualBackground({type:n,imageUrl:o,blurLevel:a,enableFaceCentering:t.enableFaceCentering,onAbort:function(e){var t;g.core.kvStatManager.addEnum({key:Qd,value:g.getKVTypeValue(!0,g.isAborted,"ABORT_IN_VIDEO_MANAGER")}),g.isAborted=!0,g.core.clearStarted(g,g.getGroup()),g.stop(),delete g.preLoadPromise,null==(t=g.onAbort)||t.call(g,e)}}).then(function(){g.core.kvStatManager.addEnum({key:Qd,value:g.getKVTypeValue(!1,g.isAborted,"NONE")})}).catch(function(){g.core.kvStatManager.addEnum({key:Qd,value:g.getKVTypeValue(!0,g.isAborted,"OTHER")})}))}},e,this)})),function(e){return i.apply(this,arguments)})},{key:"update",value:(n=r(d().m(function e(t){var r,n,o=this;return d().w(function(e){for(;;)if(0===e.n)return r=t.type,n=t.src,r!==this.currentType&&(this.currentType=r),e.a(2,this.core.room.videoManager.setVirtualBackground({type:r,imageUrl:n,blurLevel:t.blurLevel,enableFaceCentering:t.enableFaceCentering}).then(function(){o.core.kvStatManager.addEnum({key:Qd,value:o.getKVTypeValue(!1,!1,"NONE")})}).catch(function(){o.core.kvStatManager.addEnum({key:Qd,value:o.getKVTypeValue(!0,!1,"OTHER")})}))},e,this)})),function(e){return n.apply(this,arguments)})},{key:"stop",value:(t=r(d().m(function e(){return d().w(function(e){for(;;)if(0===e.n)return e.a(2,this.core.room.videoManager.setVirtualBackground())},e,this)})),function(){return t.apply(this,arguments)})}],[{key:"isSupported",value:function(){if(Le<90)return!1;var e=document.createElement("canvas").getContext("webgl2");return!!(e&&e instanceof WebGL2RenderingContext)}}]);var t,n,i,s,c,A}();return S(Md,"Name","VirtualBackground"),Md});