{"version":3,"file":"vadWorker.js","mappings":"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","sources":["webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/buffer/index.js","webpack:///./node_modules/denque/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/publicPath","webpack:///./node_modules/@actual-chat/webrtc-vad/webrtc-vad.js","webpack:///./src/_constants.ts","webpack:///./src/logging-init.ts","webpack:///./src/logging.ts","webpack:///./node_modules/heap-js/dist/heap-js.es5.js","webpack:///./src/timerQueue.ts","webpack:///./src/timeout.ts","webpack:///./src/promises.ts","webpack:///./src/math.ts","webpack:///./src/rpc.ts","webpack:///./src/versioning.ts","webpack:///../dotnet/UI.Blazor.App/Components/AudioRecorder/workers/audio-vad-contract.ts","webpack:///./node_modules/onnxruntime-web/dist/esm/ort.wasm.min.js","webpack:///../dotnet/UI.Blazor.App/Components/AudioRecorder/workers/audio-vad.ts","webpack:///./node_modules/@actual-chat/resampler/resampler.js","webpack:///../dotnet/UI.Blazor.App/Components/AudioRecorder/audio-ring-buffer.ts","webpack:///../dotnet/UI.Blazor.App/Components/AudioRecorder/workers/resampler-loader.ts","webpack:///../dotnet/UI.Blazor.App/Components/AudioRecorder/workers/audio-vad-worker.ts"],"sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","'use strict';\n\n/**\n * Custom implementation of a double ended queue.\n */\nfunction Denque(array, options) {\n var options = options || {};\n this._capacity = options.capacity;\n\n this._head = 0;\n this._tail = 0;\n\n if (Array.isArray(array)) {\n this._fromArray(array);\n } else {\n this._capacityMask = 0x3;\n this._list = new Array(4);\n }\n}\n\n/**\n * --------------\n * PUBLIC API\n * -------------\n */\n\n/**\n * Returns the item at the specified index from the list.\n * 0 is the first element, 1 is the second, and so on...\n * Elements at negative values are that many from the end: -1 is one before the end\n * (the last element), -2 is two before the end (one before last), etc.\n * @param index\n * @returns {*}\n */\nDenque.prototype.peekAt = function peekAt(index) {\n var i = index;\n // expect a number or return undefined\n if ((i !== (i | 0))) {\n return void 0;\n }\n var len = this.size();\n if (i >= len || i < -len) return undefined;\n if (i < 0) i += len;\n i = (this._head + i) & this._capacityMask;\n return this._list[i];\n};\n\n/**\n * Alias for peekAt()\n * @param i\n * @returns {*}\n */\nDenque.prototype.get = function get(i) {\n return this.peekAt(i);\n};\n\n/**\n * Returns the first item in the list without removing it.\n * @returns {*}\n */\nDenque.prototype.peek = function peek() {\n if (this._head === this._tail) return undefined;\n return this._list[this._head];\n};\n\n/**\n * Alias for peek()\n * @returns {*}\n */\nDenque.prototype.peekFront = function peekFront() {\n return this.peek();\n};\n\n/**\n * Returns the item that is at the back of the queue without removing it.\n * Uses peekAt(-1)\n */\nDenque.prototype.peekBack = function peekBack() {\n return this.peekAt(-1);\n};\n\n/**\n * Returns the current length of the queue\n * @return {Number}\n */\nObject.defineProperty(Denque.prototype, 'length', {\n get: function length() {\n return this.size();\n }\n});\n\n/**\n * Return the number of items on the list, or 0 if empty.\n * @returns {number}\n */\nDenque.prototype.size = function size() {\n if (this._head === this._tail) return 0;\n if (this._head < this._tail) return this._tail - this._head;\n else return this._capacityMask + 1 - (this._head - this._tail);\n};\n\n/**\n * Add an item at the beginning of the list.\n * @param item\n */\nDenque.prototype.unshift = function unshift(item) {\n if (arguments.length === 0) return this.size();\n var len = this._list.length;\n this._head = (this._head - 1 + len) & this._capacityMask;\n this._list[this._head] = item;\n if (this._tail === this._head) this._growArray();\n if (this._capacity && this.size() > this._capacity) this.pop();\n if (this._head < this._tail) return this._tail - this._head;\n else return this._capacityMask + 1 - (this._head - this._tail);\n};\n\n/**\n * Remove and return the first item on the list,\n * Returns undefined if the list is empty.\n * @returns {*}\n */\nDenque.prototype.shift = function shift() {\n var head = this._head;\n if (head === this._tail) return undefined;\n var item = this._list[head];\n this._list[head] = undefined;\n this._head = (head + 1) & this._capacityMask;\n if (head < 2 && this._tail > 10000 && this._tail <= this._list.length >>> 2) this._shrinkArray();\n return item;\n};\n\n/**\n * Add an item to the bottom of the list.\n * @param item\n */\nDenque.prototype.push = function push(item) {\n if (arguments.length === 0) return this.size();\n var tail = this._tail;\n this._list[tail] = item;\n this._tail = (tail + 1) & this._capacityMask;\n if (this._tail === this._head) {\n this._growArray();\n }\n if (this._capacity && this.size() > this._capacity) {\n this.shift();\n }\n if (this._head < this._tail) return this._tail - this._head;\n else return this._capacityMask + 1 - (this._head - this._tail);\n};\n\n/**\n * Remove and return the last item on the list.\n * Returns undefined if the list is empty.\n * @returns {*}\n */\nDenque.prototype.pop = function pop() {\n var tail = this._tail;\n if (tail === this._head) return undefined;\n var len = this._list.length;\n this._tail = (tail - 1 + len) & this._capacityMask;\n var item = this._list[this._tail];\n this._list[this._tail] = undefined;\n if (this._head < 2 && tail > 10000 && tail <= len >>> 2) this._shrinkArray();\n return item;\n};\n\n/**\n * Remove and return the item at the specified index from the list.\n * Returns undefined if the list is empty.\n * @param index\n * @returns {*}\n */\nDenque.prototype.removeOne = function removeOne(index) {\n var i = index;\n // expect a number or return undefined\n if ((i !== (i | 0))) {\n return void 0;\n }\n if (this._head === this._tail) return void 0;\n var size = this.size();\n var len = this._list.length;\n if (i >= size || i < -size) return void 0;\n if (i < 0) i += size;\n i = (this._head + i) & this._capacityMask;\n var item = this._list[i];\n var k;\n if (index < size / 2) {\n for (k = index; k > 0; k--) {\n this._list[i] = this._list[i = (i - 1 + len) & this._capacityMask];\n }\n this._list[i] = void 0;\n this._head = (this._head + 1 + len) & this._capacityMask;\n } else {\n for (k = size - 1 - index; k > 0; k--) {\n this._list[i] = this._list[i = (i + 1 + len) & this._capacityMask];\n }\n this._list[i] = void 0;\n this._tail = (this._tail - 1 + len) & this._capacityMask;\n }\n return item;\n};\n\n/**\n * Remove number of items from the specified index from the list.\n * Returns array of removed items.\n * Returns undefined if the list is empty.\n * @param index\n * @param count\n * @returns {array}\n */\nDenque.prototype.remove = function remove(index, count) {\n var i = index;\n var removed;\n var del_count = count;\n // expect a number or return undefined\n if ((i !== (i | 0))) {\n return void 0;\n }\n if (this._head === this._tail) return void 0;\n var size = this.size();\n var len = this._list.length;\n if (i >= size || i < -size || count < 1) return void 0;\n if (i < 0) i += size;\n if (count === 1 || !count) {\n removed = new Array(1);\n removed[0] = this.removeOne(i);\n return removed;\n }\n if (i === 0 && i + count >= size) {\n removed = this.toArray();\n this.clear();\n return removed;\n }\n if (i + count > size) count = size - i;\n var k;\n removed = new Array(count);\n for (k = 0; k < count; k++) {\n removed[k] = this._list[(this._head + i + k) & this._capacityMask];\n }\n i = (this._head + i) & this._capacityMask;\n if (index + count === size) {\n this._tail = (this._tail - count + len) & this._capacityMask;\n for (k = count; k > 0; k--) {\n this._list[i = (i + 1 + len) & this._capacityMask] = void 0;\n }\n return removed;\n }\n if (index === 0) {\n this._head = (this._head + count + len) & this._capacityMask;\n for (k = count - 1; k > 0; k--) {\n this._list[i = (i + 1 + len) & this._capacityMask] = void 0;\n }\n return removed;\n }\n if (i < size / 2) {\n this._head = (this._head + index + count + len) & this._capacityMask;\n for (k = index; k > 0; k--) {\n this.unshift(this._list[i = (i - 1 + len) & this._capacityMask]);\n }\n i = (this._head - 1 + len) & this._capacityMask;\n while (del_count > 0) {\n this._list[i = (i - 1 + len) & this._capacityMask] = void 0;\n del_count--;\n }\n if (index < 0) this._tail = i;\n } else {\n this._tail = i;\n i = (i + count + len) & this._capacityMask;\n for (k = size - (count + index); k > 0; k--) {\n this.push(this._list[i++]);\n }\n i = this._tail;\n while (del_count > 0) {\n this._list[i = (i + 1 + len) & this._capacityMask] = void 0;\n del_count--;\n }\n }\n if (this._head < 2 && this._tail > 10000 && this._tail <= len >>> 2) this._shrinkArray();\n return removed;\n};\n\n/**\n * Native splice implementation.\n * Remove number of items from the specified index from the list and/or add new elements.\n * Returns array of removed items or empty array if count == 0.\n * Returns undefined if the list is empty.\n *\n * @param index\n * @param count\n * @param {...*} [elements]\n * @returns {array}\n */\nDenque.prototype.splice = function splice(index, count) {\n var i = index;\n // expect a number or return undefined\n if ((i !== (i | 0))) {\n return void 0;\n }\n var size = this.size();\n if (i < 0) i += size;\n if (i > size) return void 0;\n if (arguments.length > 2) {\n var k;\n var temp;\n var removed;\n var arg_len = arguments.length;\n var len = this._list.length;\n var arguments_index = 2;\n if (!size || i < size / 2) {\n temp = new Array(i);\n for (k = 0; k < i; k++) {\n temp[k] = this._list[(this._head + k) & this._capacityMask];\n }\n if (count === 0) {\n removed = [];\n if (i > 0) {\n this._head = (this._head + i + len) & this._capacityMask;\n }\n } else {\n removed = this.remove(i, count);\n this._head = (this._head + i + len) & this._capacityMask;\n }\n while (arg_len > arguments_index) {\n this.unshift(arguments[--arg_len]);\n }\n for (k = i; k > 0; k--) {\n this.unshift(temp[k - 1]);\n }\n } else {\n temp = new Array(size - (i + count));\n var leng = temp.length;\n for (k = 0; k < leng; k++) {\n temp[k] = this._list[(this._head + i + count + k) & this._capacityMask];\n }\n if (count === 0) {\n removed = [];\n if (i != size) {\n this._tail = (this._head + i + len) & this._capacityMask;\n }\n } else {\n removed = this.remove(i, count);\n this._tail = (this._tail - leng + len) & this._capacityMask;\n }\n while (arguments_index < arg_len) {\n this.push(arguments[arguments_index++]);\n }\n for (k = 0; k < leng; k++) {\n this.push(temp[k]);\n }\n }\n return removed;\n } else {\n return this.remove(i, count);\n }\n};\n\n/**\n * Soft clear - does not reset capacity.\n */\nDenque.prototype.clear = function clear() {\n this._list = new Array(this._list.length);\n this._head = 0;\n this._tail = 0;\n};\n\n/**\n * Returns true or false whether the list is empty.\n * @returns {boolean}\n */\nDenque.prototype.isEmpty = function isEmpty() {\n return this._head === this._tail;\n};\n\n/**\n * Returns an array of all queue items.\n * @returns {Array}\n */\nDenque.prototype.toArray = function toArray() {\n return this._copyArray(false);\n};\n\n/**\n * -------------\n * INTERNALS\n * -------------\n */\n\n/**\n * Fills the queue with items from an array\n * For use in the constructor\n * @param array\n * @private\n */\nDenque.prototype._fromArray = function _fromArray(array) {\n var length = array.length;\n var capacity = this._nextPowerOf2(length);\n\n this._list = new Array(capacity);\n this._capacityMask = capacity - 1;\n this._tail = length;\n\n for (var i = 0; i < length; i++) this._list[i] = array[i];\n};\n\n/**\n *\n * @param fullCopy\n * @param size Initialize the array with a specific size. Will default to the current list size\n * @returns {Array}\n * @private\n */\nDenque.prototype._copyArray = function _copyArray(fullCopy, size) {\n var src = this._list;\n var capacity = src.length;\n var length = this.length;\n size = size | length;\n\n // No prealloc requested and the buffer is contiguous\n if (size == length && this._head < this._tail) {\n // Simply do a fast slice copy\n return this._list.slice(this._head, this._tail);\n }\n\n var dest = new Array(size);\n\n var k = 0;\n var i;\n if (fullCopy || this._head > this._tail) {\n for (i = this._head; i < capacity; i++) dest[k++] = src[i];\n for (i = 0; i < this._tail; i++) dest[k++] = src[i];\n } else {\n for (i = this._head; i < this._tail; i++) dest[k++] = src[i];\n }\n\n return dest;\n}\n\n/**\n * Grows the internal list array.\n * @private\n */\nDenque.prototype._growArray = function _growArray() {\n if (this._head != 0) {\n // double array size and copy existing data, head to end, then beginning to tail.\n var newList = this._copyArray(true, this._list.length << 1);\n\n this._tail = this._list.length;\n this._head = 0;\n\n this._list = newList;\n } else {\n this._tail = this._list.length;\n this._list.length <<= 1;\n }\n\n this._capacityMask = (this._capacityMask << 1) | 1;\n};\n\n/**\n * Shrinks the internal list array.\n * @private\n */\nDenque.prototype._shrinkArray = function _shrinkArray() {\n this._list.length >>>= 1;\n this._capacityMask >>>= 1;\n};\n\n/**\n * Find the next power of 2, at least 4\n * @private\n * @param {number} num \n * @returns {number}\n */\nDenque.prototype._nextPowerOf2 = function _nextPowerOf2(num) {\n var log2 = Math.log(num) / Math.log(2);\n var nextPow2 = 1 << (log2 + 1);\n\n return Math.max(nextPow2, 4);\n}\n\nmodule.exports = Denque;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"/dist/\";","\nvar WebRtcVadModule = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n \n return (\nfunction(WebRtcVadModule = {}) {\n\nvar g;g||(g=typeof WebRtcVadModule !== 'undefined' ? WebRtcVadModule : {});var aa,ba;g.ready=new Promise(function(b,a){aa=b;ba=a});var ca=Object.assign({},g),da=\"object\"==typeof window,ea=\"function\"==typeof importScripts,p=\"\",fa,ha;\nif(da||ea)ea?p=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(p=document.currentScript.src),_scriptDir&&(p=_scriptDir),0!==p.indexOf(\"blob:\")?p=p.substr(0,p.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):p=\"\",ea&&(ha=b=>{var a=new XMLHttpRequest;a.open(\"GET\",b,!1);a.responseType=\"arraybuffer\";a.send(null);return new Uint8Array(a.response)}),fa=(b,a,c)=>{var d=new XMLHttpRequest;d.open(\"GET\",b,!0);d.responseType=\"arraybuffer\";d.onload=()=>{200==d.status||0==d.status&&d.response?\na(d.response):c()};d.onerror=c;d.send(null)};var ia=g.print||console.log.bind(console),v=g.printErr||console.warn.bind(console);Object.assign(g,ca);ca=null;var w;g.wasmBinary&&(w=g.wasmBinary);var noExitRuntime=g.noExitRuntime||!0;\"object\"!=typeof WebAssembly&&x(\"no native wasm support detected\");var ja,ka=!1,la,z,A,ma,B,C,na,oa,pa,qa,ra,sa=[],ta=[],ua=[];function va(){var b=g.preRun.shift();sa.unshift(b)}var D=0,wa=null,E=null;\nfunction x(b){if(g.onAbort)g.onAbort(b);b=\"Aborted(\"+b+\")\";v(b);ka=!0;b=new WebAssembly.RuntimeError(b+\". Build with -sASSERTIONS for more info.\");ba(b);throw b;}function ya(b){return b.startsWith(\"data:application/octet-stream;base64,\")}var F;F=\"webrtc-vad.wasm\";if(!ya(F)){var za=F;F=g.locateFile?g.locateFile(za,p):p+za}function Aa(b){try{if(b==F&&w)return new Uint8Array(w);if(ha)return ha(b);throw\"both async and sync fetching of the wasm failed\";}catch(a){x(a)}}\nfunction Ba(b){if(!w&&(da||ea)){if(\"function\"==typeof fetch&&!b.startsWith(\"file://\"))return fetch(b,{credentials:\"same-origin\"}).then(function(a){if(!a.ok)throw\"failed to load wasm binary file at '\"+b+\"'\";return a.arrayBuffer()}).catch(function(){return Aa(b)});if(fa)return new Promise(function(a,c){fa(b,function(d){a(new Uint8Array(d))},c)})}return Promise.resolve().then(function(){return Aa(b)})}\nfunction Ca(b,a,c){return Ba(b).then(function(d){return WebAssembly.instantiate(d,a)}).then(function(d){return d}).then(c,function(d){v(\"failed to asynchronously prepare wasm: \"+d);x(d)})}\nfunction Da(b,a){var c=F;return w||\"function\"!=typeof WebAssembly.instantiateStreaming||ya(c)||c.startsWith(\"file://\")||\"function\"!=typeof fetch?Ca(c,b,a):fetch(c,{credentials:\"same-origin\"}).then(function(d){return WebAssembly.instantiateStreaming(d,b).then(a,function(e){v(\"wasm streaming compile failed: \"+e);v(\"falling back to ArrayBuffer instantiation\");return Ca(c,b,a)})})}function Ea(b){for(;0=d);)++c;if(16e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d}\nfunction H(b){if(null===b)return\"null\";var a=typeof b;return\"object\"===a||\"array\"===a||\"function\"===a?b.toString():\"\"+b}var Ga=void 0;function J(b){for(var a=\"\";z[b];)a+=Ga[z[b++]];return a}var K={},L={},Ha={};function Ia(b){if(void 0===b)return\"_unknown\";b=b.replace(/[^a-zA-Z0-9_]/g,\"$\");var a=b.charCodeAt(0);return 48<=a&&57>=a?\"_\"+b:b}function Ja(b,a){b=Ia(b);return{[b]:function(){return a.apply(this,arguments)}}[b]}\nfunction Ka(b){var a=Error,c=Ja(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+\"\\n\"+d.replace(/^Error(:[^\\n]*)?\\n/,\"\"))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+\": \"+this.message};return c}var M=void 0;function N(b){throw new M(b);}var La=void 0;function Ma(b){throw new La(b);}\nfunction O(b,a,c){function d(f){f=c(f);f.length!==b.length&&Ma(\"Mismatched type converter count\");for(var l=0;l{L.hasOwnProperty(f)?e[l]=L[f]:(h.push(f),K.hasOwnProperty(f)||(K[f]=[]),K[f].push(()=>{e[l]=L[f];++k;k===h.length&&d(e)}))});0===h.length&&d(e)}\nfunction P(b,a,c={}){if(!(\"argPackAdvance\"in a))throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");var d=a.name;b||N('type \"'+d+'\" must have a positive integer typeid pointer');if(L.hasOwnProperty(b)){if(c.fa)return;N(\"Cannot register type '\"+d+\"' twice\")}L[b]=a;delete Ha[b];K.hasOwnProperty(b)&&(a=K[b],delete K[b],a.forEach(e=>e()))}\nfunction Na(b,a,c){switch(a){case 0:return c?function(d){return la[d]}:function(d){return z[d]};case 1:return c?function(d){return A[d>>1]}:function(d){return ma[d>>1]};case 2:return c?function(d){return B[d>>2]}:function(d){return C[d>>2]};case 3:return c?function(d){return oa[d>>3]}:function(d){return pa[d>>3]};default:throw new TypeError(\"Unknown integer type: \"+b);}}\nfunction Oa(b){switch(b){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(\"Unknown type size: \"+b);}}function Pa(b){N(b.A.D.B.name+\" instance already deleted\")}var Qa=!1;function Ra(){}function Sa(b){--b.count.value;0===b.count.value&&(b.F?b.G.M(b.F):b.D.B.M(b.C))}function Ta(b,a,c){if(a===c)return b;if(void 0===c.H)return null;b=Ta(b,a,c.H);return null===b?null:c.ca(b)}var Ua={},R=[];function Va(){for(;R.length;){var b=R.pop();b.A.N=!1;b[\"delete\"]()}}\nvar S=void 0,T={};function Wa(b,a){for(void 0===a&&N(\"ptr should not be undefined\");b.H;)a=b.R(a),b=b.H;return T[a]}function Xa(b,a){a.D&&a.C||Ma(\"makeClassHandle requires ptr and ptrType\");!!a.G!==!!a.F&&Ma(\"Both smartPtrType and smartPtr must be specified\");a.count={value:1};return U(Object.create(b,{A:{value:a}}))}\nfunction U(b){if(\"undefined\"===typeof FinalizationRegistry)return U=a=>a,b;Qa=new FinalizationRegistry(a=>{Sa(a.A)});U=a=>{var c=a.A;c.F&&Qa.register(a,{A:c},a);return a};Ra=a=>{Qa.unregister(a)};return U(b)}function V(){}\nfunction Ya(b,a,c){if(void 0===b[a].J){var d=b[a];b[a]=function(){b[a].J.hasOwnProperty(arguments.length)||N(\"Function '\"+c+\"' called with an invalid number of arguments (\"+arguments.length+\") - expects one of (\"+b[a].J+\")!\");return b[a].J[arguments.length].apply(this,arguments)};b[a].J=[];b[a].J[d.S]=d}}\nfunction Za(b,a){g.hasOwnProperty(b)?(N(\"Cannot register public name '\"+b+\"' twice\"),Ya(g,b,b),g.hasOwnProperty(void 0)&&N(\"Cannot register multiple overloads of a function with the same number of arguments (undefined)!\"),g[b].J[void 0]=a):g[b]=a}function $a(b,a,c,d,e,h,k,f){this.name=b;this.constructor=a;this.O=c;this.M=d;this.H=e;this.da=h;this.R=k;this.ca=f;this.ha=[]}\nfunction ab(b,a,c){for(;a!==c;)a.R||N(\"Expected null or instance of \"+c.name+\", got an instance of \"+a.name),b=a.R(b),a=a.H;return b}function bb(b,a){if(null===a)return this.V&&N(\"null is not a valid \"+this.name),0;a.A||N('Cannot pass \"'+H(a)+'\" as a '+this.name);a.A.C||N(\"Cannot pass deleted object as a pointer of type \"+this.name);return ab(a.A.C,a.A.D.B,this.B)}\nfunction cb(b,a){if(null===a){this.V&&N(\"null is not a valid \"+this.name);if(this.U){var c=this.ia();null!==b&&b.push(this.M,c);return c}return 0}a.A||N('Cannot pass \"'+H(a)+'\" as a '+this.name);a.A.C||N(\"Cannot pass deleted object as a pointer of type \"+this.name);!this.T&&a.A.D.T&&N(\"Cannot convert argument of type \"+(a.A.G?a.A.G.name:a.A.D.name)+\" to parameter type \"+this.name);c=ab(a.A.C,a.A.D.B,this.B);if(this.U)switch(void 0===a.A.F&&N(\"Passing raw pointer to smart pointer is illegal\"),this.la){case 0:a.A.G===\nthis?c=a.A.F:N(\"Cannot convert argument of type \"+(a.A.G?a.A.G.name:a.A.D.name)+\" to parameter type \"+this.name);break;case 1:c=a.A.F;break;case 2:if(a.A.G===this)c=a.A.F;else{var d=a.clone();c=this.ja(c,db(function(){d[\"delete\"]()}));null!==b&&b.push(this.M,c)}break;default:N(\"Unsupporting sharing policy\")}return c}\nfunction eb(b,a){if(null===a)return this.V&&N(\"null is not a valid \"+this.name),0;a.A||N('Cannot pass \"'+H(a)+'\" as a '+this.name);a.A.C||N(\"Cannot pass deleted object as a pointer of type \"+this.name);a.A.D.T&&N(\"Cannot convert argument of type \"+a.A.D.name+\" to parameter type \"+this.name);return ab(a.A.C,a.A.D.B,this.B)}function fb(b){return this.fromWireType(B[b>>2])}\nfunction W(b,a,c,d){this.name=b;this.B=a;this.V=c;this.T=d;this.U=!1;this.M=this.ja=this.ia=this.Z=this.la=this.ga=void 0;void 0!==a.H?this.toWireType=cb:(this.toWireType=d?bb:eb,this.I=null)}function gb(b,a){g.hasOwnProperty(b)||Ma(\"Replacing nonexistant public symbol\");g[b]=a;g[b].S=void 0}var jb=[];function X(b,a){b=J(b);var c=jb[a];c||(a>=jb.length&&(jb.length=a+1),jb[a]=c=ra.get(a));\"function\"!=typeof c&&N(\"unknown function pointer with signature \"+b+\": \"+a);return c}var kb=void 0;\nfunction lb(b){b=mb(b);var a=J(b);Y(b);return a}function nb(b,a){function c(h){e[h]||L[h]||(Ha[h]?Ha[h].forEach(c):(d.push(h),e[h]=!0))}var d=[],e={};a.forEach(c);throw new kb(b+\": \"+d.map(lb).join([\", \"]));}function ob(b,a){for(var c=[],d=0;d>2]);return c}\nfunction pb(b,a,c,d,e){var h=a.length;2>h&&N(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var k=null!==a[1]&&null!==c,f=!1;for(c=1;c{switch(b){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:return Z.$({ka:1,value:b})}};\nfunction qb(b,a){switch(a){case 2:return function(c){return this.fromWireType(na[c>>2])};case 3:return function(c){return this.fromWireType(qa[c>>3])};default:throw new TypeError(\"Unknown float type: \"+b);}}var rb=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0;function sb(b,a){var c=b>>1;for(var d=c+a/2;!(c>=d)&&ma[c];)++c;c<<=1;if(32=a/2);++d){var e=A[b+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c}\nfunction tb(b,a,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var d=a;c=c<2*b.length?c/2:b.length;for(var e=0;e>1]=b.charCodeAt(e),a+=2;A[a>>1]=0;return a-d}function ub(b){return 2*b.length}function vb(b,a){for(var c=0,d=\"\";!(c>=a/4);){var e=B[b+4*c>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d}\nfunction wb(b,a,c){void 0===c&&(c=2147483647);if(4>c)return 0;var d=a;c=d+c-4;for(var e=0;e=h){var k=b.charCodeAt(++e);h=65536+((h&1023)<<10)|k&1023}B[a>>2]=h;a+=4;if(a+4>c)break}B[a>>2]=0;return a-d}function xb(b){for(var a=0,c=0;c=d&&++c;a+=4}return a}for(var yb=[null,[],[]],zb=Array(256),Ab=0;256>Ab;++Ab)zb[Ab]=String.fromCharCode(Ab);Ga=zb;M=g.BindingError=Ka(\"BindingError\");\nLa=g.InternalError=Ka(\"InternalError\");V.prototype.isAliasOf=function(b){if(!(this instanceof V&&b instanceof V))return!1;var a=this.A.D.B,c=this.A.C,d=b.A.D.B;for(b=b.A.C;a.H;)c=a.R(c),a=a.H;for(;d.H;)b=d.R(b),d=d.H;return a===d&&c===b};\nV.prototype.clone=function(){this.A.C||Pa(this);if(this.A.P)return this.A.count.value+=1,this;var b=U,a=Object,c=a.create,d=Object.getPrototypeOf(this),e=this.A;b=b(c.call(a,d,{A:{value:{count:e.count,N:e.N,P:e.P,C:e.C,D:e.D,F:e.F,G:e.G}}}));b.A.count.value+=1;b.A.N=!1;return b};V.prototype[\"delete\"]=function(){this.A.C||Pa(this);this.A.N&&!this.A.P&&N(\"Object already scheduled for deletion\");Ra(this);Sa(this.A);this.A.P||(this.A.F=void 0,this.A.C=void 0)};V.prototype.isDeleted=function(){return!this.A.C};\nV.prototype.deleteLater=function(){this.A.C||Pa(this);this.A.N&&!this.A.P&&N(\"Object already scheduled for deletion\");R.push(this);1===R.length&&S&&S(Va);this.A.N=!0;return this};g.getInheritedInstanceCount=function(){return Object.keys(T).length};g.getLiveInheritedInstances=function(){var b=[],a;for(a in T)T.hasOwnProperty(a)&&b.push(T[a]);return b};g.flushPendingDeletes=Va;g.setDelayFunction=function(b){S=b;R.length&&S&&S(Va)};W.prototype.ea=function(b){this.Z&&(b=this.Z(b));return b};\nW.prototype.Y=function(b){this.M&&this.M(b)};W.prototype.argPackAdvance=8;W.prototype.readValueFromPointer=fb;W.prototype.deleteObject=function(b){if(null!==b)b[\"delete\"]()};\nW.prototype.fromWireType=function(b){function a(){return this.U?Xa(this.B.O,{D:this.ga,C:c,G:this,F:b}):Xa(this.B.O,{D:this,C:b})}var c=this.ea(b);if(!c)return this.Y(b),null;var d=Wa(this.B,c);if(void 0!==d){if(0===d.A.count.value)return d.A.C=c,d.A.F=b,d.clone();d=d.clone();this.Y(b);return d}d=this.B.da(c);d=Ua[d];if(!d)return a.call(this);d=this.T?d.ba:d.pointerType;var e=Ta(c,this.B,d.B);return null===e?a.call(this):this.U?Xa(d.B.O,{D:d,C:e,G:this,F:b}):Xa(d.B.O,{D:d,C:e})};\nkb=g.UnboundTypeError=Ka(\"UnboundTypeError\");Z.K.push({value:void 0},{value:null},{value:!0},{value:!1});Z.X=Z.K.length;g.count_emval_handles=function(){for(var b=0,a=Z.X;ae)throw new TypeError('Passing a number \"'+H(f)+'\" from JS side to C/C++ side to an argument of type \"'+\na+'\", which is outside the valid range ['+d+\", \"+e+\"]!\");return f},argPackAdvance:8,readValueFromPointer:Na(a,c,!h),I:null})},m:function(b,a,c,d,e){var h=Oa(c);a=J(a);P(b,{name:a,fromWireType:function(k){return!!k},toWireType:function(k,f){return f?d:e},argPackAdvance:8,readValueFromPointer:function(k){if(1===c)var f=la;else if(2===c)f=A;else if(4===c)f=B;else throw new TypeError(\"Unknown boolean type size: \"+a);return this.fromWireType(f[k>>h])},I:null})},k:function(b,a,c,d,e,h,k,f,l,m,n,t,r){n=\nJ(n);h=X(e,h);f&&(f=X(k,f));m&&(m=X(l,m));r=X(t,r);var u=Ia(n);Za(u,function(){nb(\"Cannot construct \"+n+\" due to unbound types\",[d])});O([b,a,c],d?[d]:[],function(q){q=q[0];if(d){var y=q.B;var I=y.O}else I=V.prototype;q=Ja(u,function(){if(Object.getPrototypeOf(this)!==xa)throw new M(\"Use 'new' to construct \"+n);if(void 0===Q.L)throw new M(n+\" has no accessible constructor\");var hb=Q.L[arguments.length];if(void 0===hb)throw new M(\"Tried to invoke ctor of \"+n+\" with invalid number of parameters (\"+\narguments.length+\") - expected (\"+Object.keys(Q.L).toString()+\") parameters instead!\");return hb.apply(this,arguments)});var xa=Object.create(I,{constructor:{value:q}});q.prototype=xa;var Q=new $a(n,q,xa,r,y,h,f,m);y=new W(n,Q,!0,!1);I=new W(n+\"*\",Q,!1,!1);var ib=new W(n+\" const*\",Q,!1,!0);Ua[b]={pointerType:I,ba:ib};gb(u,q);return[y,I,ib]})},j:function(b,a,c,d,e,h){0{nb(\"Cannot construct \"+f.name+\" due to unbound types\",k)};O([],k,function(m){m.splice(1,0,null);f.B.L[a-1]=pb(l,m,null,e,h);return[]});return[]})},d:function(b,a,c,d,e,h,k,f){var l=ob(c,d);a=J(a);h=X(e,h);O([],[b],function(m){function n(){nb(\"Cannot call \"+t+\" due to unbound types\",\nl)}m=m[0];var t=m.name+\".\"+a;a.startsWith(\"@@\")&&(a=Symbol[a.substring(2)]);f&&m.B.ha.push(a);var r=m.B.O,u=r[a];void 0===u||void 0===u.J&&u.className!==m.name&&u.S===c-2?(n.S=c-2,n.className=m.name,r[a]=n):(Ya(r,a,t),r[a].J[c-2]=n);O([],l,function(q){q=pb(t,q,m,h,k);void 0===r[a].J?(q.S=c-2,r[a]=q):r[a].J[c-2]=q;return[]});return[]})},l:function(b,a){a=J(a);P(b,{name:a,fromWireType:function(c){c||N(\"Cannot use deleted val. handle = \"+c);var d=Z.get(c).value;c>=Z.X&&0===--Z.get(c).ka&&Z.aa(c);return d},\ntoWireType:function(c,d){return db(d)},argPackAdvance:8,readValueFromPointer:fb,I:null})},h:function(b,a,c){c=Oa(c);a=J(a);P(b,{name:a,fromWireType:function(d){return d},toWireType:function(d,e){return e},argPackAdvance:8,readValueFromPointer:qb(a,c),I:null})},b:function(b,a,c,d,e){a=J(a);-1===e&&(e=4294967295);e=Oa(c);var h=f=>f;if(0===d){var k=32-8*c;h=f=>f<>>k}c=a.includes(\"unsigned\")?function(f,l){return l>>>0}:function(f,l){return l};P(b,{name:a,fromWireType:h,toWireType:c,argPackAdvance:8,\nreadValueFromPointer:Na(a,e,0!==d),I:null})},a:function(b,a,c){function d(h){h>>=2;var k=C;return new e(k.buffer,k[h+1],k[h])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][a];c=J(c);P(b,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{fa:!0})},f:function(b,a){a=J(a);var c=\"std::string\"===a;P(b,{name:a,fromWireType:function(d){var e=C[d>>2],h=d+4;if(c)for(var k=h,f=0;f<=e;++f){var l=h+f;if(f==e||0==\nz[l]){k=k?G(z,k,l-k):\"\";if(void 0===m)var m=k;else m+=String.fromCharCode(0),m+=k;k=l+1}}else{m=Array(e);for(f=0;f=l?f++:2047>=l?f+=2:55296<=\nl&&57343>=l?(f+=4,++h):f+=3}else f=e.length;h=f;f=Bb(4+h+1);l=f+4;C[f>>2]=h;if(c&&k){if(k=l,l=h+1,h=z,0=n){var t=e.charCodeAt(++m);n=65536+((n&1023)<<10)|t&1023}if(127>=n){if(k>=l)break;h[k++]=n}else{if(2047>=n){if(k+1>=l)break;h[k++]=192|n>>6}else{if(65535>=n){if(k+2>=l)break;h[k++]=224|n>>12}else{if(k+3>=l)break;h[k++]=240|n>>18;h[k++]=128|n>>12&63}h[k++]=128|n>>6&63}h[k++]=128|n&63}}h[k]=0}}else if(k)for(k=0;kma;var f=1}else 4===a&&(d=vb,e=wb,h=xb,k=()=>C,f=2);P(b,{name:c,fromWireType:function(l){for(var m=C[l>>2],n=k(),t,r=l+4,u=0;u<=m;++u){var q=l+4+u*a;if(u==m||0==n[q>>f])r=d(r,q-r),void 0===t?t=r:(t+=String.fromCharCode(0),\nt+=r),r=q+a}Y(l);return t},toWireType:function(l,m){\"string\"!=typeof m&&N(\"Cannot pass non-string to C++ string type \"+c);var n=h(m),t=Bb(4+n+a);C[t>>2]=n>>f;e(m,t+4,n+a);null!==l&&l.push(Y,t);return t},argPackAdvance:8,readValueFromPointer:fb,I:function(l){Y(l)}})},n:function(b,a){a=J(a);P(b,{ma:!0,name:a,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},g:function(){x(\"\")},s:function(b,a,c){z.copyWithin(b,a,a+c)},o:function(){x(\"OOM\")},r:function(){return 52},p:function(){return 70},\nq:function(b,a,c,d){for(var e=0,h=0;h>2],f=C[a+4>>2];a+=8;for(var l=0;l>2]=e;return 0}};\n(function(){function b(c){c=c.exports;g.asm=c;ja=g.asm.t;var d=ja.buffer;g.HEAP8=la=new Int8Array(d);g.HEAP16=A=new Int16Array(d);g.HEAP32=B=new Int32Array(d);g.HEAPU8=z=new Uint8Array(d);g.HEAPU16=ma=new Uint16Array(d);g.HEAPU32=C=new Uint32Array(d);g.HEAPF32=na=new Float32Array(d);g.HEAPF64=qa=new Float64Array(d);g.HEAP64=oa=new BigInt64Array(d);g.HEAPU64=pa=new BigUint64Array(d);ra=g.asm.z;ta.unshift(g.asm.u);D--;g.monitorRunDependencies&&g.monitorRunDependencies(D);0==D&&(null!==wa&&(clearInterval(wa),\nwa=null),E&&(d=E,E=null,d()));return c}var a={a:Cb};D++;g.monitorRunDependencies&&g.monitorRunDependencies(D);if(g.instantiateWasm)try{return g.instantiateWasm(a,b)}catch(c){v(\"Module.instantiateWasm callback failed with error: \"+c),ba(c)}Da(a,function(c){b(c.instance)}).catch(ba);return{}})();function Y(){return(Y=g.asm.v).apply(null,arguments)}function Bb(){return(Bb=g.asm.w).apply(null,arguments)}var mb=g.___getTypeName=function(){return(mb=g.___getTypeName=g.asm.x).apply(null,arguments)};\ng.__embind_initialize_bindings=function(){return(g.__embind_initialize_bindings=g.asm.y).apply(null,arguments)};g.___start_em_js=4528;g.___stop_em_js=6092;var Db;E=function Eb(){Db||Fb();Db||(E=Eb)};\nfunction Fb(){function b(){if(!Db&&(Db=!0,g.calledRun=!0,!ka)){Ea(ta);aa(g);if(g.onRuntimeInitialized)g.onRuntimeInitialized();if(g.postRun)for(\"function\"==typeof g.postRun&&(g.postRun=[g.postRun]);g.postRun.length;){var a=g.postRun.shift();ua.unshift(a)}Ea(ua)}}if(!(01, but not too high to avoid queued stream overlap\n // In seconds:\n INTER_STREAM_DELAY: 0.1, // Must be >0\n MAX_CONNECT_DURATION: 5, // Max duration of \"connecting\" state of SignalR connection inside ensureConnected\n MAX_QUICK_CONNECT_DURATION: 0.5, // Same as above, but when quickReconnect = true\n STREAM_ERROR_DELAY: 1,\n CONNECT_ERROR_DELAY: 1,\n DEBUG: { // Debug switches\n RANDOM_DISCONNECT_PERIOD_MS: 0, // Random disconnect period, 5000 is a good one\n }\n}\n\nexport const AUDIO_VAD = {\n // All durations below are in seconds\n MIN_SPEECH: 0.5, // When the speech is detected, it will always send at this much at least\n MAX_SPEECH: 60 * 2, // Max speech duration - if it takes longer, VAD will generate a hard split anyway\n MIN_SPEECH_TO_CANCEL_PAUSE: 0.15, // Min. speech duration required to cancel non-materialized pause\n MIN_PAUSE: 0.2, // Min pause duration that triggers split\n MAX_PAUSE: 2.7, // Max pause duration that triggers split\n MAX_CONV_PAUSE: 0.65, // Max pause duration that triggers pause in \"conversation\" mode\n CONV_DURATION: 30, // A period from conversationSignal to the moment VAD assumes the conversation ended\n PAUSE_VARIES_FROM: 10, // Pause starts to vary from (MAX_PAUSE or MAX_CONV_PAUSE) to MIN_PAUSE at this speech duration\n PAUSE_VARY_POWER: Math.sqrt(2), // The power used in max_pause = lerp(MAX_PAUSE, MIN_PAUSE, pow(alpha, THIS_VALUE))\n SKIP_FIRST_RECORDING_MS: 300, // Microphone stream begins with some noise that triggers WebRTC VAD\n SKIP_SEQUENTIAL_CALLS_MS: 5, // Skip batch calls to VAD when duration between calls is less than 5ms - VAD works with 30ms and 32 ms chunks\n // All durations below are in samples (16KHz = 16 samples per ms)\n NN_VAD_CONTEXT_SAMPLES: 64, // 4ms, the length of NN VAD buffer \"prefix\" copied from the end of prev. buffer\n};\n","// Should be the same as logging.LogLevel, but local to this module\nexport enum LogLevel {\n Debug = 1,\n Info,\n Warn,\n Error,\n None = 1000,\n}\n\nexport type LogScope =\n 'default'\n // Library\n | 'AsyncProcessor'\n | 'BrowserInfo'\n | 'BrowserInit'\n | 'BubbleHost'\n | 'Connectivity'\n | 'Gestures'\n | 'event-handling'\n | 'InertialScroll'\n | 'NoSleep'\n | 'History'\n | 'Interactive'\n | 'Kvas'\n | 'KvasBackend'\n | 'MenuHost'\n | 'ModalHost'\n | 'OnDeviceAwake'\n | 'promises'\n | 'Rpc'\n | 'ScreenSize'\n | 'ServiceWorker'\n | 'SessionTokens'\n | 'TimerQueue'\n | 'UndoStack'\n | 'Versioning'\n | 'VirtualList'\n // XxxUI\n | 'DebugUI'\n | 'DeviceAwakeUI'\n | 'FocusUI'\n | 'InteractiveUI'\n | 'KeepAwakeUI'\n | 'LanguageUI'\n | 'NotificationUI'\n | 'TuneUI'\n | 'UserActivityUI'\n | 'VibrationUI'\n | 'Share'\n // Audio\n | 'AudioContextRef'\n | 'AudioContextSource'\n | 'AudioInfo'\n // Audio playback\n | 'AudioPlayer'\n | 'FallbackPlayback'\n | 'OpusDecoder'\n | 'OpusDecoderWorker'\n | 'FeederNode'\n | 'FeederProcessor'\n | 'SoundsPlayer'\n // Audio recording\n | 'AudioRecorder'\n | 'AudioStreamer'\n | 'OpusMediaRecorder'\n | 'AudioVadWorker'\n | 'AudioVadWorkletProcessor'\n | 'OpusEncoderWorkletProcessor'\n | 'OpusEncoderWorker'\n | 'WarmUpAudioWorkletProcessor'\n | 'WebRtcAec' // Unused\n // Isolated components\n | 'Attachments'\n | 'ChatMessageEditor'\n | 'CodeBlockMarkupView'\n | 'CopyTrigger'\n | 'FontSizes'\n | 'Landing'\n | 'LandingLeftMenu'\n | 'MarkupEditor'\n | 'MessageEditor'\n | 'SearchPanel'\n | 'SideNav'\n | 'SelectionHost'\n | 'TextBox'\n | 'Theme'\n | 'TooltipHost'\n | 'UserInterface'\n | 'VisualMediaViewer'\n | 'WebAuth';\n\nconst GlobalThisKey = 'logLevels';\nconst StorageKey = 'logLevels';\nconst DateStorageKey = `${StorageKey}.date`;\nconst MaxStorageAge = 86_400_000 * 3; // 3 days\n\nconst app = globalThis?.['App'] as unknown;\nconst isWorkerOrWorklet = !app;\n\nexport function initLogging(Log: unknown): void {\n Log['defaultMinLevel'] = LogLevel.Info;\n const minLevels = Log['minLevels'] as Map;\n\n let wasRestored = false;\n if (globalThis && !isWorkerOrWorklet) {\n globalThis[GlobalThisKey] = new LogLevelController(minLevels);\n wasRestored = restore(minLevels);\n }\n if (wasRestored) {\n console.log(`Logging: logLevels are restored`);\n }\n else {\n if (!isWorkerOrWorklet)\n console.log(`Logging: logLevels are reset`);\n reset(minLevels);\n }\n}\n\nclass LogLevelController {\n constructor (private minLevels: Map)\n { }\n\n public override(scope: LogScope, newLevel: LogLevel): void {\n this.minLevels.set(scope, newLevel);\n persist(this.minLevels);\n }\n\n public reset(isProduction?: boolean) {\n reset(this.minLevels, isProduction);\n persist(this.minLevels);\n }\n\n public clear(defaultLevel?: LogLevel) {\n this.minLevels.clear();\n if (defaultLevel !== undefined)\n this.minLevels['default'] = defaultLevel;\n persist(this.minLevels);\n }\n}\n\nconst sessionStorage = globalThis?.sessionStorage;\n\nfunction restore(minLevels: Map): boolean {\n if (!sessionStorage)\n return false;\n\n const dateJson = sessionStorage.getItem(DateStorageKey);\n if (!dateJson)\n return false;\n if (Date.now() - JSON.parse(dateJson) > MaxStorageAge)\n return false;\n\n const readJson = sessionStorage.getItem(StorageKey);\n if (!readJson)\n return false;\n\n const readMinLevels = new Map(JSON.parse(readJson) as [string, LogLevel][]);\n if (!(typeof readMinLevels.size === 'number'))\n return false;\n\n minLevels.clear();\n readMinLevels.forEach((value, key) => minLevels.set(key, value));\n return true;\n}\n\nfunction persist(minLevels: Map): boolean {\n if (!sessionStorage)\n return false;\n\n sessionStorage.setItem(DateStorageKey, JSON.stringify(Date.now()));\n sessionStorage.setItem(StorageKey, JSON.stringify(Array.from(minLevels.entries())));\n return true;\n}\n\nfunction reset(minLevels: Map, isProduction?: boolean): void {\n minLevels.clear();\n // enabled debug logging temporarily - do not add chatty log scopes!! - 14.11.2023 AK\n\n // isProduction ??= app?.['environment'] == 'Production';\n // if (isProduction)\n // return;\n\n // Bumping down levels of in-dev scopes\n // minLevels.set('Versioning', LogLevel.Debug);\n // minLevels.set('Gestures', LogLevel.Debug);\n // minLevels.set('event-handling', LogLevel.Debug);\n // minLevels.set('Rpc', LogLevel.Debug);\n // minLevels.set('AsyncProcessor', LogLevel.Debug);\n // minLevels.set('promises', LogLevel.Debug);\n minLevels.set('Interactive', LogLevel.Debug);\n minLevels.set('OnDeviceAwake', LogLevel.Debug);\n minLevels.set('AudioContextRef', LogLevel.Debug);\n minLevels.set('AudioContextSource', LogLevel.Debug);\n minLevels.set('AudioPlayer', LogLevel.Debug);\n // minLevels.set('FallbackPlayback', LogLevel.Debug);\n // minLevels.set('OpusDecoder', LogLevel.Debug);\n // minLevels.set('OpusDecoderWorker', LogLevel.Debug);\n // minLevels.set('FeederProcessor', LogLevel.Debug);\n minLevels.set('AudioRecorder', LogLevel.Debug);\n // minLevels.set('AudioStreamer', LogLevel.Debug);\n minLevels.set('OpusMediaRecorder', LogLevel.Debug);\n // minLevels.set('AudioVadWorker', LogLevel.Debug);\n // minLevels.set('AudioVadWorkletProcessor', LogLevel.Debug);\n // minLevels.set('OpusEncoderWorker', LogLevel.Debug);\n // minLevels.set('OpusEncoderWorkletProcessor', LogLevel.Debug);\n // minLevels.set('InertialScroll', LogLevel.Debug);\n minLevels.set('VirtualList', LogLevel.Debug);\n // minLevels.set('Landing', LogLevel.Debug);\n // minLevels.set('LandingLeftMenu', LogLevel.Debug);\n // minLevels.set('SideNav', LogLevel.Debug);\n\n // XxxUI\n // minLevels.set('FocusUI', LogLevel.Debug);\n // minLevels.set('KeepAwakeUI', LogLevel.Debug);\n // minLevels.set('NoSleep', LogLevel.Debug);\n // minLevels.set('NotificationUI', LogLevel.Debug);\n // minLevels.set('TuneUI', LogLevel.Debug);\n // minLevels.set('SoundsPlayer', LogLevel.Debug);\n\n // Isolated components\n // minLevels.set('History', LogLevel.Debug);\n // minLevels.set('MenuHost', LogLevel.Debug);\n // minLevels.set('MarkupEditor', LogLevel.Debug);\n // minLevels.set('ChatMessageEditor', LogLevel.Debug);\n\n // minLevels.clear(); // To quickly discard any tweaks :)\n persist(minLevels);\n}\n","import { initLogging, LogLevel, LogScope } from 'logging-init';\nimport 'logging-init';\n\nexport { LogLevel } from './logging-init';\nexport type { LogScope } from './logging-init';\n\nexport interface LogRef {\n target : unknown;\n id : number;\n}\n\ninterface SetItem {\n ref : LogRef;\n touchedAt : number;\n}\n\nclass LogRefSet {\n items : SetItem[];\n capacity : number;\n idSeed : number;\n\n constructor(capacity : number) {\n this.idSeed = 0;\n this.capacity = capacity;\n this.items = [];\n }\n\n public ref(data: object) : LogRef {\n const itemIndex = this.items.findIndex(el => el.ref.target === data);\n if (itemIndex >= 0) {\n const existentItem = this.items[itemIndex];\n existentItem.touchedAt = Date.now();\n return existentItem.ref;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const id = data['__logRefId'] as number ?? this.idSeed++;\n const newRef = { target: data, id: id };\n data['__logRefId'] = id;\n if (this.items.length >= this.capacity)\n this.removeOldest();\n const newItem = { ref : newRef, touchedAt : Date.now() };\n this.items.push(newItem);\n return newRef;\n }\n }\n\n private removeOldest() {\n let indexToEliminate = 0;\n let itemToEliminate = this.items[0];\n for (let i = 1; i < this.items.length; i++) {\n const item = this.items[i];\n if (item.touchedAt < itemToEliminate.touchedAt) {\n itemToEliminate = item;\n indexToEliminate = i;\n }\n }\n this.items.splice(indexToEliminate, 1);\n // clear log ref target to prevent memory leaks\n // and keep string representation of the target for tracing\n const ref = itemToEliminate.ref;\n ref.target = ref.target.toString();\n }\n}\n\nexport class Log {\n private static isInitialized = false;\n private static logRefs : LogRefSet = new LogRefSet(10);\n public static readonly minLevels: Map = new Map();\n public static defaultMinLevel = LogLevel.Info;\n public log: (...data: unknown[]) => void;\n public trace: (...data: unknown[]) => void;\n\n constructor(\n public readonly scope: LogScope,\n public readonly level: LogLevel,\n ) {\n const prefix = `[${scope}]`;\n switch (level) {\n case LogLevel.Debug:\n this.log = (...data: unknown[]) => console.debug(prefix, ...data);\n break;\n case LogLevel.Info:\n this.log = (...data: unknown[]) => console.log(prefix, ...data);\n break;\n case LogLevel.Warn:\n this.log = (...data: unknown[]) => console.warn(prefix, ...data);\n break;\n case LogLevel.Error:\n this.log = (...data: unknown[]) => console.error(prefix, ...data);\n break;\n case LogLevel.None:\n throw new Error('LogLevel.None cannot be used here');\n }\n this.trace = (...data: unknown[]) => console.trace(prefix, ...data);\n }\n\n public static loggerFactory = (scope: LogScope, level: LogLevel) => new Log(scope, level);\n\n public static get(scope: LogScope) {\n if (!this.isInitialized) {\n this.isInitialized = true;\n initLogging(this);\n }\n\n const minLevels = this.minLevels;\n const minLevel = minLevels.get(scope)\n ?? minLevels.get('default')\n ?? this.defaultMinLevel;\n\n const getLogger = (level: LogLevel) => level >= minLevel ? this.loggerFactory(scope, level) : null;\n\n return {\n logScope: scope,\n debugLog: getLogger(LogLevel.Debug),\n infoLog: getLogger(LogLevel.Info),\n warnLog: getLogger(LogLevel.Warn),\n errorLog: getLogger(LogLevel.Error),\n };\n }\n\n public static ref(data: object) : object {\n if (!data)\n return data;\n return this.logRefs.ref(data);\n }\n\n public assert(predicate?: boolean, ...data: unknown[]): void {\n if (!predicate)\n this.log(data);\n }\n}\n","var __generator = (undefined && undefined.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (undefined && undefined.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar toInt = function (n) { return ~~n; };\n/**\n * Heap\n * @type {Class}\n */\nvar Heap = /** @class */ (function () {\n /**\n * Heap instance constructor.\n * @param {Function} compare Optional comparison function, defaults to Heap.minComparator\n */\n function Heap(compare) {\n if (compare === void 0) { compare = Heap.minComparator; }\n var _this = this;\n this.compare = compare;\n this.heapArray = [];\n this._limit = 0;\n /**\n * Alias of add\n */\n this.offer = this.add;\n /**\n * Alias of peek\n */\n this.element = this.peek;\n /**\n * Alias of pop\n */\n this.poll = this.pop;\n /**\n * Returns the inverse to the comparison function.\n * @return {Function}\n */\n this._invertedCompare = function (a, b) {\n return -1 * _this.compare(a, b);\n };\n }\n /*\n Static methods\n */\n /**\n * Gets children indices for given index.\n * @param {Number} idx Parent index\n * @return {Array(Number)} Array of children indices\n */\n Heap.getChildrenIndexOf = function (idx) {\n return [idx * 2 + 1, idx * 2 + 2];\n };\n /**\n * Gets parent index for given index.\n * @param {Number} idx Children index\n * @return {Number | undefined} Parent index, -1 if idx is 0\n */\n Heap.getParentIndexOf = function (idx) {\n if (idx <= 0) {\n return -1;\n }\n var whichChildren = idx % 2 ? 1 : 2;\n return Math.floor((idx - whichChildren) / 2);\n };\n /**\n * Gets sibling index for given index.\n * @param {Number} idx Children index\n * @return {Number | undefined} Sibling index, -1 if idx is 0\n */\n Heap.getSiblingIndexOf = function (idx) {\n if (idx <= 0) {\n return -1;\n }\n var whichChildren = idx % 2 ? 1 : -1;\n return idx + whichChildren;\n };\n /**\n * Min heap comparison function, default.\n * @param {any} a First element\n * @param {any} b Second element\n * @return {Number} 0 if they're equal, positive if `a` goes up, negative if `b` goes up\n */\n Heap.minComparator = function (a, b) {\n if (a > b) {\n return 1;\n }\n else if (a < b) {\n return -1;\n }\n else {\n return 0;\n }\n };\n /**\n * Max heap comparison function.\n * @param {any} a First element\n * @param {any} b Second element\n * @return {Number} 0 if they're equal, positive if `a` goes up, negative if `b` goes up\n */\n Heap.maxComparator = function (a, b) {\n if (b > a) {\n return 1;\n }\n else if (b < a) {\n return -1;\n }\n else {\n return 0;\n }\n };\n /**\n * Min number heap comparison function, default.\n * @param {Number} a First element\n * @param {Number} b Second element\n * @return {Number} 0 if they're equal, positive if `a` goes up, negative if `b` goes up\n */\n Heap.minComparatorNumber = function (a, b) {\n return a - b;\n };\n /**\n * Max number heap comparison function.\n * @param {Number} a First element\n * @param {Number} b Second element\n * @return {Number} 0 if they're equal, positive if `a` goes up, negative if `b` goes up\n */\n Heap.maxComparatorNumber = function (a, b) {\n return b - a;\n };\n /**\n * Default equality function.\n * @param {any} a First element\n * @param {any} b Second element\n * @return {Boolean} True if equal, false otherwise\n */\n Heap.defaultIsEqual = function (a, b) {\n return a === b;\n };\n /**\n * Prints a heap.\n * @param {Heap} heap Heap to be printed\n * @returns {String}\n */\n Heap.print = function (heap) {\n function deep(i) {\n var pi = Heap.getParentIndexOf(i);\n return Math.floor(Math.log2(pi + 1));\n }\n function repeat(str, times) {\n var out = '';\n for (; times > 0; --times) {\n out += str;\n }\n return out;\n }\n var node = 0;\n var lines = [];\n var maxLines = deep(heap.length - 1) + 2;\n var maxLength = 0;\n while (node < heap.length) {\n var i = deep(node) + 1;\n if (node === 0) {\n i = 0;\n }\n // Text representation\n var nodeText = String(heap.get(node));\n if (nodeText.length > maxLength) {\n maxLength = nodeText.length;\n }\n // Add to line\n lines[i] = lines[i] || [];\n lines[i].push(nodeText);\n node += 1;\n }\n return lines\n .map(function (line, i) {\n var times = Math.pow(2, maxLines - i) - 1;\n return (repeat(' ', Math.floor(times / 2) * maxLength) +\n line\n .map(function (el) {\n // centered\n var half = (maxLength - el.length) / 2;\n return repeat(' ', Math.ceil(half)) + el + repeat(' ', Math.floor(half));\n })\n .join(repeat(' ', times * maxLength)));\n })\n .join('\\n');\n };\n /*\n Python style\n */\n /**\n * Converts an array into an array-heap, in place\n * @param {Array} arr Array to be modified\n * @param {Function} compare Optional compare function\n * @return {Heap} For convenience, it returns a Heap instance\n */\n Heap.heapify = function (arr, compare) {\n var heap = new Heap(compare);\n heap.heapArray = arr;\n heap.init();\n return heap;\n };\n /**\n * Extract the peek of an array-heap\n * @param {Array} heapArr Array to be modified, should be a heap\n * @param {Function} compare Optional compare function\n * @return {any} Returns the extracted peek\n */\n Heap.heappop = function (heapArr, compare) {\n var heap = new Heap(compare);\n heap.heapArray = heapArr;\n return heap.pop();\n };\n /**\n * Pushes a item into an array-heap\n * @param {Array} heapArr Array to be modified, should be a heap\n * @param {any} item Item to push\n * @param {Function} compare Optional compare function\n */\n Heap.heappush = function (heapArr, item, compare) {\n var heap = new Heap(compare);\n heap.heapArray = heapArr;\n heap.push(item);\n };\n /**\n * Push followed by pop, faster\n * @param {Array} heapArr Array to be modified, should be a heap\n * @param {any} item Item to push\n * @param {Function} compare Optional compare function\n * @return {any} Returns the extracted peek\n */\n Heap.heappushpop = function (heapArr, item, compare) {\n var heap = new Heap(compare);\n heap.heapArray = heapArr;\n return heap.pushpop(item);\n };\n /**\n * Replace peek with item\n * @param {Array} heapArr Array to be modified, should be a heap\n * @param {any} item Item as replacement\n * @param {Function} compare Optional compare function\n * @return {any} Returns the extracted peek\n */\n Heap.heapreplace = function (heapArr, item, compare) {\n var heap = new Heap(compare);\n heap.heapArray = heapArr;\n return heap.replace(item);\n };\n /**\n * Return the `n` most valuable elements of a heap-like Array\n * @param {Array} heapArr Array, should be an array-heap\n * @param {number} n Max number of elements\n * @param {Function} compare Optional compare function\n * @return {any} Elements\n */\n Heap.heaptop = function (heapArr, n, compare) {\n if (n === void 0) { n = 1; }\n var heap = new Heap(compare);\n heap.heapArray = heapArr;\n return heap.top(n);\n };\n /**\n * Return the `n` least valuable elements of a heap-like Array\n * @param {Array} heapArr Array, should be an array-heap\n * @param {number} n Max number of elements\n * @param {Function} compare Optional compare function\n * @return {any} Elements\n */\n Heap.heapbottom = function (heapArr, n, compare) {\n if (n === void 0) { n = 1; }\n var heap = new Heap(compare);\n heap.heapArray = heapArr;\n return heap.bottom(n);\n };\n /**\n * Return the `n` most valuable elements of an iterable\n * @param {number} n Max number of elements\n * @param {Iterable} Iterable Iterable list of elements\n * @param {Function} compare Optional compare function\n * @return {any} Elements\n */\n Heap.nlargest = function (n, iterable, compare) {\n var heap = new Heap(compare);\n heap.heapArray = __spreadArray([], __read(iterable), false);\n heap.init();\n return heap.top(n);\n };\n /**\n * Return the `n` least valuable elements of an iterable\n * @param {number} n Max number of elements\n * @param {Iterable} Iterable Iterable list of elements\n * @param {Function} compare Optional compare function\n * @return {any} Elements\n */\n Heap.nsmallest = function (n, iterable, compare) {\n var heap = new Heap(compare);\n heap.heapArray = __spreadArray([], __read(iterable), false);\n heap.init();\n return heap.bottom(n);\n };\n /*\n Instance methods\n */\n /**\n * Adds an element to the heap. Aliases: `offer`.\n * Same as: push(element)\n * @param {any} element Element to be added\n * @return {Boolean} true\n */\n Heap.prototype.add = function (element) {\n this._sortNodeUp(this.heapArray.push(element) - 1);\n this._applyLimit();\n return true;\n };\n /**\n * Adds an array of elements to the heap.\n * Similar as: push(element, element, ...).\n * @param {Array} elements Elements to be added\n * @return {Boolean} true\n */\n Heap.prototype.addAll = function (elements) {\n var _a;\n var i = this.length;\n (_a = this.heapArray).push.apply(_a, __spreadArray([], __read(elements), false));\n for (var l = this.length; i < l; ++i) {\n this._sortNodeUp(i);\n }\n this._applyLimit();\n return true;\n };\n /**\n * Return the bottom (lowest value) N elements of the heap.\n *\n * @param {Number} n Number of elements.\n * @return {Array} Array of length <= N.\n */\n Heap.prototype.bottom = function (n) {\n if (n === void 0) { n = 1; }\n if (this.heapArray.length === 0 || n <= 0) {\n // Nothing to do\n return [];\n }\n else if (this.heapArray.length === 1) {\n // Just the peek\n return [this.heapArray[0]];\n }\n else if (n >= this.heapArray.length) {\n // The whole heap\n return __spreadArray([], __read(this.heapArray), false);\n }\n else {\n // Some elements\n var result = this._bottomN_push(~~n);\n return result;\n }\n };\n /**\n * Check if the heap is sorted, useful for testing purposes.\n * @return {Undefined | Element} Returns an element if something wrong is found, otherwise it's undefined\n */\n Heap.prototype.check = function () {\n var _this = this;\n return this.heapArray.find(function (el, j) { return !!_this.getChildrenOf(j).find(function (ch) { return _this.compare(el, ch) > 0; }); });\n };\n /**\n * Remove all of the elements from this heap.\n */\n Heap.prototype.clear = function () {\n this.heapArray = [];\n };\n /**\n * Clone this heap\n * @return {Heap}\n */\n Heap.prototype.clone = function () {\n var cloned = new Heap(this.comparator());\n cloned.heapArray = this.toArray();\n cloned._limit = this._limit;\n return cloned;\n };\n /**\n * Returns the comparison function.\n * @return {Function}\n */\n Heap.prototype.comparator = function () {\n return this.compare;\n };\n /**\n * Returns true if this queue contains the specified element.\n * @param {any} o Element to be found\n * @param {Function} fn Optional comparison function, receives (element, needle)\n * @return {Boolean}\n */\n Heap.prototype.contains = function (o, fn) {\n if (fn === void 0) { fn = Heap.defaultIsEqual; }\n return this.heapArray.findIndex(function (el) { return fn(el, o); }) >= 0;\n };\n /**\n * Initialise a heap, sorting nodes\n * @param {Array} array Optional initial state array\n */\n Heap.prototype.init = function (array) {\n if (array) {\n this.heapArray = __spreadArray([], __read(array), false);\n }\n for (var i = Math.floor(this.heapArray.length); i >= 0; --i) {\n this._sortNodeDown(i);\n }\n this._applyLimit();\n };\n /**\n * Test if the heap has no elements.\n * @return {Boolean} True if no elements on the heap\n */\n Heap.prototype.isEmpty = function () {\n return this.length === 0;\n };\n /**\n * Get the leafs of the tree (no children nodes)\n */\n Heap.prototype.leafs = function () {\n if (this.heapArray.length === 0) {\n return [];\n }\n var pi = Heap.getParentIndexOf(this.heapArray.length - 1);\n return this.heapArray.slice(pi + 1);\n };\n Object.defineProperty(Heap.prototype, \"length\", {\n /**\n * Length of the heap.\n * @return {Number}\n */\n get: function () {\n return this.heapArray.length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Heap.prototype, \"limit\", {\n /**\n * Get length limit of the heap.\n * @return {Number}\n */\n get: function () {\n return this._limit;\n },\n /**\n * Set length limit of the heap.\n * @return {Number}\n */\n set: function (_l) {\n this._limit = ~~_l;\n this._applyLimit();\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Top node. Aliases: `element`.\n * Same as: `top(1)[0]`\n * @return {any} Top node\n */\n Heap.prototype.peek = function () {\n return this.heapArray[0];\n };\n /**\n * Extract the top node (root). Aliases: `poll`.\n * @return {any} Extracted top node, undefined if empty\n */\n Heap.prototype.pop = function () {\n var last = this.heapArray.pop();\n if (this.length > 0 && last !== undefined) {\n return this.replace(last);\n }\n return last;\n };\n /**\n * Pushes element(s) to the heap.\n * @param {...any} elements Elements to insert\n * @return {Boolean} True if elements are present\n */\n Heap.prototype.push = function () {\n var elements = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n elements[_i] = arguments[_i];\n }\n if (elements.length < 1) {\n return false;\n }\n else if (elements.length === 1) {\n return this.add(elements[0]);\n }\n else {\n return this.addAll(elements);\n }\n };\n /**\n * Same as push & pop in sequence, but faster\n * @param {any} element Element to insert\n * @return {any} Extracted top node\n */\n Heap.prototype.pushpop = function (element) {\n var _a;\n if (this.compare(this.heapArray[0], element) < 0) {\n _a = __read([this.heapArray[0], element], 2), element = _a[0], this.heapArray[0] = _a[1];\n this._sortNodeDown(0);\n }\n return element;\n };\n /**\n * Remove an element from the heap.\n * @param {any} o Element to be found\n * @param {Function} fn Optional function to compare\n * @return {Boolean} True if the heap was modified\n */\n Heap.prototype.remove = function (o, fn) {\n if (fn === void 0) { fn = Heap.defaultIsEqual; }\n if (this.length > 0) {\n if (o === undefined) {\n this.pop();\n return true;\n }\n else {\n var idx = this.heapArray.findIndex(function (el) { return fn(el, o); });\n if (idx >= 0) {\n if (idx === 0) {\n this.pop();\n }\n else if (idx === this.length - 1) {\n this.heapArray.pop();\n }\n else {\n this.heapArray.splice(idx, 1, this.heapArray.pop());\n this._sortNodeUp(idx);\n this._sortNodeDown(idx);\n }\n return true;\n }\n }\n }\n return false;\n };\n /**\n * Pop the current peek value, and add the new item.\n * @param {any} element Element to replace peek\n * @return {any} Old peek\n */\n Heap.prototype.replace = function (element) {\n var peek = this.heapArray[0];\n this.heapArray[0] = element;\n this._sortNodeDown(0);\n return peek;\n };\n /**\n * Size of the heap\n * @return {Number}\n */\n Heap.prototype.size = function () {\n return this.length;\n };\n /**\n * Return the top (highest value) N elements of the heap.\n *\n * @param {Number} n Number of elements.\n * @return {Array} Array of length <= N.\n */\n Heap.prototype.top = function (n) {\n if (n === void 0) { n = 1; }\n if (this.heapArray.length === 0 || n <= 0) {\n // Nothing to do\n return [];\n }\n else if (this.heapArray.length === 1 || n === 1) {\n // Just the peek\n return [this.heapArray[0]];\n }\n else if (n >= this.heapArray.length) {\n // The whole peek\n return __spreadArray([], __read(this.heapArray), false);\n }\n else {\n // Some elements\n var result = this._topN_push(~~n);\n return result;\n }\n };\n /**\n * Clone the heap's internal array\n * @return {Array}\n */\n Heap.prototype.toArray = function () {\n return __spreadArray([], __read(this.heapArray), false);\n };\n /**\n * String output, call to Array.prototype.toString()\n * @return {String}\n */\n Heap.prototype.toString = function () {\n return this.heapArray.toString();\n };\n /**\n * Get the element at the given index.\n * @param {Number} i Index to get\n * @return {any} Element at that index\n */\n Heap.prototype.get = function (i) {\n return this.heapArray[i];\n };\n /**\n * Get the elements of these node's children\n * @param {Number} idx Node index\n * @return {Array(any)} Children elements\n */\n Heap.prototype.getChildrenOf = function (idx) {\n var _this = this;\n return Heap.getChildrenIndexOf(idx)\n .map(function (i) { return _this.heapArray[i]; })\n .filter(function (e) { return e !== undefined; });\n };\n /**\n * Get the element of this node's parent\n * @param {Number} idx Node index\n * @return {any} Parent element\n */\n Heap.prototype.getParentOf = function (idx) {\n var pi = Heap.getParentIndexOf(idx);\n return this.heapArray[pi];\n };\n /**\n * Iterator interface\n */\n Heap.prototype[Symbol.iterator] = function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.length) return [3 /*break*/, 2];\n return [4 /*yield*/, this.pop()];\n case 1:\n _a.sent();\n return [3 /*break*/, 0];\n case 2: return [2 /*return*/];\n }\n });\n };\n /**\n * Returns an iterator. To comply with Java interface.\n */\n Heap.prototype.iterator = function () {\n return this.toArray();\n };\n /**\n * Limit heap size if needed\n */\n Heap.prototype._applyLimit = function () {\n if (this._limit && this._limit < this.heapArray.length) {\n var rm = this.heapArray.length - this._limit;\n // It's much faster than splice\n while (rm) {\n this.heapArray.pop();\n --rm;\n }\n }\n };\n /**\n * Return the bottom (lowest value) N elements of the heap, without corner cases, unsorted\n *\n * @param {Number} n Number of elements.\n * @return {Array} Array of length <= N.\n */\n Heap.prototype._bottomN_push = function (n) {\n // Use an inverted heap\n var bottomHeap = new Heap(this.compare);\n bottomHeap.limit = n;\n bottomHeap.heapArray = this.heapArray.slice(-n);\n bottomHeap.init();\n var startAt = this.heapArray.length - 1 - n;\n var parentStartAt = Heap.getParentIndexOf(startAt);\n var indices = [];\n for (var i = startAt; i > parentStartAt; --i) {\n indices.push(i);\n }\n var arr = this.heapArray;\n while (indices.length) {\n var i = indices.shift();\n if (this.compare(arr[i], bottomHeap.peek()) > 0) {\n bottomHeap.replace(arr[i]);\n if (i % 2) {\n indices.push(Heap.getParentIndexOf(i));\n }\n }\n }\n return bottomHeap.toArray();\n };\n /**\n * Move a node to a new index, switching places\n * @param {Number} j First node index\n * @param {Number} k Another node index\n */\n Heap.prototype._moveNode = function (j, k) {\n var _a;\n _a = __read([this.heapArray[k], this.heapArray[j]], 2), this.heapArray[j] = _a[0], this.heapArray[k] = _a[1];\n };\n /**\n * Move a node down the tree (to the leaves) to find a place where the heap is sorted.\n * @param {Number} i Index of the node\n */\n Heap.prototype._sortNodeDown = function (i) {\n var _this = this;\n var moveIt = i < this.heapArray.length - 1;\n var self = this.heapArray[i];\n var getPotentialParent = function (best, j) {\n if (_this.heapArray.length > j && _this.compare(_this.heapArray[j], _this.heapArray[best]) < 0) {\n best = j;\n }\n return best;\n };\n while (moveIt) {\n var childrenIdx = Heap.getChildrenIndexOf(i);\n var bestChildIndex = childrenIdx.reduce(getPotentialParent, childrenIdx[0]);\n var bestChild = this.heapArray[bestChildIndex];\n if (typeof bestChild !== 'undefined' && this.compare(self, bestChild) > 0) {\n this._moveNode(i, bestChildIndex);\n i = bestChildIndex;\n }\n else {\n moveIt = false;\n }\n }\n };\n /**\n * Move a node up the tree (to the root) to find a place where the heap is sorted.\n * @param {Number} i Index of the node\n */\n Heap.prototype._sortNodeUp = function (i) {\n var moveIt = i > 0;\n while (moveIt) {\n var pi = Heap.getParentIndexOf(i);\n if (pi >= 0 && this.compare(this.heapArray[pi], this.heapArray[i]) > 0) {\n this._moveNode(i, pi);\n i = pi;\n }\n else {\n moveIt = false;\n }\n }\n };\n /**\n * Return the top (highest value) N elements of the heap, without corner cases, unsorted\n * Implementation: push.\n *\n * @param {Number} n Number of elements.\n * @return {Array} Array of length <= N.\n */\n Heap.prototype._topN_push = function (n) {\n // Use an inverted heap\n var topHeap = new Heap(this._invertedCompare);\n topHeap.limit = n;\n var indices = [0];\n var arr = this.heapArray;\n while (indices.length) {\n var i = indices.shift();\n if (i < arr.length) {\n if (topHeap.length < n) {\n topHeap.push(arr[i]);\n indices.push.apply(indices, __spreadArray([], __read(Heap.getChildrenIndexOf(i)), false));\n }\n else if (this.compare(arr[i], topHeap.peek()) < 0) {\n topHeap.replace(arr[i]);\n indices.push.apply(indices, __spreadArray([], __read(Heap.getChildrenIndexOf(i)), false));\n }\n }\n }\n return topHeap.toArray();\n };\n /**\n * Return the top (highest value) N elements of the heap, without corner cases, unsorted\n * Implementation: init + push.\n *\n * @param {Number} n Number of elements.\n * @return {Array} Array of length <= N.\n */\n Heap.prototype._topN_fill = function (n) {\n // Use an inverted heap\n var heapArray = this.heapArray;\n var topHeap = new Heap(this._invertedCompare);\n topHeap.limit = n;\n topHeap.heapArray = heapArray.slice(0, n);\n topHeap.init();\n var branch = Heap.getParentIndexOf(n - 1) + 1;\n var indices = [];\n for (var i = branch; i < n; ++i) {\n indices.push.apply(indices, __spreadArray([], __read(Heap.getChildrenIndexOf(i).filter(function (l) { return l < heapArray.length; })), false));\n }\n if ((n - 1) % 2) {\n indices.push(n);\n }\n while (indices.length) {\n var i = indices.shift();\n if (i < heapArray.length) {\n if (this.compare(heapArray[i], topHeap.peek()) < 0) {\n topHeap.replace(heapArray[i]);\n indices.push.apply(indices, __spreadArray([], __read(Heap.getChildrenIndexOf(i)), false));\n }\n }\n }\n return topHeap.toArray();\n };\n /**\n * Return the top (highest value) N elements of the heap, without corner cases, unsorted\n * Implementation: heap.\n *\n * @param {Number} n Number of elements.\n * @return {Array} Array of length <= N.\n */\n Heap.prototype._topN_heap = function (n) {\n var topHeap = this.clone();\n var result = [];\n for (var i = 0; i < n; ++i) {\n result.push(topHeap.pop());\n }\n return result;\n };\n /**\n * Return index of the top element\n * @param list\n */\n Heap.prototype._topIdxOf = function (list) {\n if (!list.length) {\n return -1;\n }\n var idx = 0;\n var top = list[idx];\n for (var i = 1; i < list.length; ++i) {\n var comp = this.compare(list[i], top);\n if (comp < 0) {\n idx = i;\n top = list[i];\n }\n }\n return idx;\n };\n /**\n * Return the top element\n * @param list\n */\n Heap.prototype._topOf = function () {\n var list = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n list[_i] = arguments[_i];\n }\n var heap = new Heap(this.compare);\n heap.init(list);\n return heap.peek();\n };\n return Heap;\n}());\n\nexport { Heap, Heap as default, toInt };\n","import Heap from 'heap-js';\nimport { Log } from 'logging';\n\nconst { errorLog } = Log.get('TimerQueue');\n\nexport class TimerQueueTimer {\n constructor(\n public readonly handle: number,\n public callback: () => unknown,\n public readonly time: number) {\n }\n\n public clear() {\n this.callback = null;\n }\n}\n\nlet nextHandle = 1;\n\nexport class TimerQueue {\n private readonly map = new Map();\n private readonly heap = new Heap((a: TimerQueueTimer, b: TimerQueueTimer) => b.time - a.time);\n\n public enqueue(delayMs: number, callback: () => unknown): TimerQueueTimer {\n const handle = nextHandle++;\n if (handle & 15) {\n // We want to make sure expired timers trigger even if triggerExpired()\n // somehow isn't invoked explicitly.\n this.triggerExpired();\n }\n\n const now = Date.now();\n const timer = new TimerQueueTimer(handle, callback, now + delayMs);\n this.map.set(timer.handle, timer);\n this.heap.add(timer);\n return timer;\n }\n\n public get(handle: number): TimerQueueTimer | undefined {\n return this.map.get(handle);\n }\n\n public readonly triggerExpired = (): void => {\n const now = Date.now();\n for (;;) {\n const timer = this.heap.peek();\n if (!timer || timer.time > now)\n break;\n this.heap.pop();\n this.map.delete(timer.handle);\n if (!timer.callback)\n continue\n\n try {\n timer.callback();\n }\n catch (e) {\n errorLog?.log('Callback failed:', e);\n }\n }\n }\n\n // setTimeout / clearTimeout\n\n public readonly setTimeout = (callback: () => unknown, delayMs: number): number => {\n return this.enqueue(delayMs, callback).handle;\n }\n\n public readonly clearTimeout = (handle: number): void => {\n this.get(handle)?.clear();\n }\n}\n\nconst setTimeoutImpl = globalThis['setTimeout'] as (callback: () => unknown, delayMs: number) => number;\nconst clearTimeoutImpl = globalThis['clearTimeout'] as (handle: number) => void;\n\nexport const timerQueue = !setTimeoutImpl ? new TimerQueue() : null;\nexport const setTimeout = timerQueue ? timerQueue.setTimeout : setTimeoutImpl;\nexport const clearTimeout = timerQueue ? timerQueue.clearTimeout : clearTimeoutImpl;\n","// nextTick & nextTickAsync are quite similar to polyfill of\n// [setImmediate](https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate),\n// which we don't use because it relies on setTimeout, which is throttled in background tabs.\nimport { Disposable } from 'disposable';\nimport { setTimeout, clearTimeout } from 'timerQueue';\n\nlet nextTickImpl: (callback: () => unknown) => void = null;\n\nif (globalThis['MessageChannel']) {\n const nextTickCallbacks = new Array<() => unknown>();\n const nextTickChannel = new MessageChannel();\n nextTickChannel.port1.onmessage = () => {\n const callback = nextTickCallbacks.shift();\n callback();\n };\n\n nextTickImpl = (callback: () => unknown) => {\n nextTickCallbacks.push(callback);\n nextTickChannel.port2.postMessage(null);\n }\n}\nelse {\n // MessageChannel is unavailable in AudioWorklets, so we use setTimeout-based version here,\n // which implies ~ 8-9ms delay in average.\n nextTickImpl = (callback: () => unknown) => setTimeout(callback, 0);\n}\n\nexport const nextTick = nextTickImpl;\nexport const nextTickAsync = () => new Promise(resolve => nextTick(resolve));\n\n// Timeout: a nicer wrapper around setTimeout\n\nexport class Timeout implements Disposable {\n protected handle: number | null = null;\n\n static start(isPrecise: boolean, timeoutMs: number, callback: () => unknown): Timeout {\n return isPrecise\n ? new PreciseTimeout(timeoutMs, callback)\n : new Timeout(timeoutMs, callback);\n }\n\n static startRegular(timeoutMs: number, callback: () => unknown): Timeout {\n return new Timeout(timeoutMs, callback);\n }\n\n static startPrecise(timeoutMs: number, callback: () => unknown): PreciseTimeout {\n return new PreciseTimeout(timeoutMs, callback);\n }\n\n constructor(timeoutMs?: number, callback?: () => unknown, handle?: number) {\n if (handle) {\n this.handle = handle;\n return;\n }\n\n this.handle = setTimeout(callback, timeoutMs) as unknown as number;\n return;\n }\n\n public dispose(): void {\n this.clear();\n }\n\n public clear(): void {\n if (this.handle) {\n clearTimeout(this.handle)\n this.handle = null;\n }\n }\n}\n\n// Precise timeout (5-16ms?) based on requestAnimationFrame\n\nconst disablePreciseTimeout = false;\n\nexport class PreciseTimeout extends Timeout {\n constructor(timeoutMs: number, callback: () => unknown,) {\n if (disablePreciseTimeout) {\n super(timeoutMs, callback);\n return;\n }\n\n // Precise timeout handling\n const endsAt = Date.now() + timeoutMs;\n const loop = () => {\n if (Date.now() >= endsAt)\n callback();\n else\n this.handle = requestAnimationFrame(loop);\n };\n super(undefined, undefined, requestAnimationFrame(loop));\n }\n\n public clear(): void {\n if (disablePreciseTimeout)\n return super.clear();\n\n if (this.handle) {\n cancelAnimationFrame(this.handle);\n this.handle = null;\n }\n }\n}\n","import { Log } from 'logging';\nimport { PreciseTimeout, Timeout } from 'timeout';\nimport { Disposable } from 'disposable';\n\nconst { logScope, debugLog, warnLog, errorLog } = Log.get('promises');\n\nexport class TimedOut {\n public static readonly instance: TimedOut = new TimedOut();\n}\n\nexport function isPromise(obj: PromiseLike | S): obj is PromiseLike {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj['then'] === 'function';\n}\n\nexport class PromiseSource implements Promise {\n public resolve: (T) => void;\n public reject: (any) => void;\n\n private readonly _promise: Promise;\n private _isCompleted = false;\n\n constructor(resolve?: ((value: T) => void), reject?: ((reason?: unknown) => void)) {\n this._promise = new Promise((resolve1, reject1) => {\n this.resolve = (value: T) => {\n if (this._isCompleted)\n return;\n\n this._isCompleted = true;\n resolve1(value);\n if (resolve)\n resolve(value);\n };\n this.reject = (reason: unknown) => {\n if (this._isCompleted)\n return;\n\n this._isCompleted = true;\n reject1(reason);\n if (reject)\n reject(reason);\n };\n })\n this[Symbol.toStringTag] = this._promise[Symbol.toStringTag];\n }\n\n public isCompleted(): boolean {\n return this._isCompleted;\n }\n\n // PromiseLike implementation\n\n readonly [Symbol.toStringTag]: string;\n\n then(\n onfulfilled?: ((value: T) => (PromiseLike | TResult1)) | undefined | null,\n onrejected?: ((reason: any) => (PromiseLike | TResult2)) | undefined | null\n ): Promise {\n return this._promise.then(onfulfilled, onrejected);\n }\n\n catch(\n onrejected?: ((reason: any) => (PromiseLike | TResult)) | undefined | null\n ): Promise {\n return this._promise.catch(onrejected);\n }\n\n finally(onfinally?: (() => void) | undefined | null): Promise {\n return this._promise.finally(onfinally);\n }\n}\n\nexport class PromiseSourceWithTimeout extends PromiseSource {\n private _timeout: Timeout = null;\n\n constructor(resolve?: ((value: T) => void), reject?: ((reason?: unknown) => void)) {\n super((value: T) => {\n this.clearTimeout();\n if (resolve)\n resolve(value);\n }, (reason: unknown) => {\n this.clearTimeout();\n if (reject)\n reject(reason);\n });\n }\n\n public hasTimeout(): boolean {\n return this._timeout != null;\n }\n\n public setTimeout(timeoutMs: number | null, callback?: () => unknown): void {\n if (this._timeout) {\n this._timeout.clear();\n this._timeout = null;\n }\n if (timeoutMs == null || this.isCompleted())\n return;\n\n this._timeout = new Timeout(timeoutMs, () => {\n this._timeout = null;\n if (callback != null)\n callback();\n else {\n const error = new Error('The promise has timed out.');\n this.reject(error);\n }\n })\n }\n\n public setPreciseTimeout(timeoutMs: number | null, callback?: () => unknown): void {\n if (this._timeout) {\n this._timeout.clear();\n this._timeout = null;\n }\n if (timeoutMs == null || this.isCompleted())\n return;\n\n this._timeout = new PreciseTimeout(timeoutMs, () => {\n this._timeout = null;\n if (callback != null)\n callback();\n else {\n const error = new Error('The promise has timed out.');\n this.reject(error);\n }\n })\n }\n\n public clearTimeout(): void {\n if (this._timeout == null)\n return;\n\n this._timeout.clear();\n this._timeout = null;\n }\n}\n\n// Cancellation\n\nexport type Cancelled = symbol;\nexport const cancelled : Cancelled = Symbol('Cancelled');\nexport class OperationCancelledError extends Error {\n constructor(message?: string) {\n super(message ?? 'The operation is cancelled.');\n }\n}\n\nexport async function waitAsync(promise: PromiseLike, cancel?: Promise): Promise {\n if (cancel === undefined)\n return await promise;\n\n const result = await Promise.race([promise, cancel]);\n if (result === cancelled)\n throw new OperationCancelledError();\n return await promise;\n}\n\n// Async versions of setTimeout\n\nexport function delayAsync(delayMs: number): PromiseSourceWithTimeout {\n const promise = new PromiseSourceWithTimeout();\n promise.setTimeout(delayMs, () => promise.resolve(undefined))\n return promise;\n}\n\nexport function delayAsyncWith(delayMs: number, value: T): PromiseSourceWithTimeout {\n const promise = new PromiseSourceWithTimeout();\n promise.setTimeout(delayMs, () => { promise.resolve(value) });\n return promise;\n}\n\nexport function preciseDelayAsync(delayMs: number): PromiseSourceWithTimeout {\n const promise = new PromiseSourceWithTimeout();\n promise.setPreciseTimeout(delayMs, () => promise.resolve(undefined))\n return promise;\n}\n\nexport function flexibleDelayAsync(getNextTimeout: () => number): PromiseSourceWithTimeout {\n // eslint-disable-next-line no-constant-condition\n const promise = new PromiseSourceWithTimeout();\n const timeoutHandler = () => {\n const timeout = getNextTimeout();\n if (timeout <= 0)\n promise.resolve(undefined);\n else\n promise.setTimeout(timeout, timeoutHandler);\n };\n promise.setTimeout(getNextTimeout(), timeoutHandler);\n return promise;\n}\n\n// Throttle & debounce\n\nexport interface ResettableFunc unknown> {\n (...args: Parameters): void;\n reset(): void;\n}\n\nclass Call unknown> {\n constructor(\n readonly func: (...args: Parameters) => ReturnType,\n readonly self: unknown,\n readonly parameters: Parameters\n ) { }\n\n public invoke(): unknown {\n return this.func.apply(this.self, this.parameters);\n }\n\n public invokeSilently(): unknown {\n try {\n return this.invoke();\n }\n catch (error) {\n errorLog?.log(`Call.invokeSafely: unhandled error:`, error)\n }\n }\n}\n\nexport type ThrottleMode = 'default' | 'skip' | 'delayHead';\n\nexport function throttle unknown>(\n func: (...args: Parameters) => ReturnType,\n intervalMs: number,\n mode: ThrottleMode = 'default',\n name : string | undefined = undefined\n): ResettableFunc {\n let lastCall: Call | null = null;\n let nextFireTime = 0;\n let timeoutHandle: ReturnType | null = null;\n\n const reset = () => {\n if (timeoutHandle !== null)\n clearTimeout(timeoutHandle);\n timeoutHandle = lastCall = null;\n nextFireTime = 0;\n }\n\n const fire = () => {\n if (timeoutHandle !== null)\n clearTimeout(timeoutHandle);\n\n if (lastCall !== null) {\n if (name)\n debugLog?.log(`throttle '${name}': fire`);\n const call = lastCall;\n lastCall = null;\n nextFireTime = Date.now() + intervalMs;\n timeoutHandle = setTimeout(fire, intervalMs);\n call?.invokeSilently(); // This must be done at last\n }\n else {\n if (name)\n debugLog?.log(`throttle '${name}': delay ended`);\n timeoutHandle = null;\n nextFireTime = 0;\n }\n };\n\n const result: ResettableFunc = function(...callArgs: Parameters): void {\n const call = new Call(func, this, callArgs);\n const fireDelay = nextFireTime - Date.now();\n if (timeoutHandle !== null && fireDelay <= 0) {\n // Our delayed \"fire\" is ready to fire but not fired yet,\n // so we \"flush\" it here.\n fire();\n }\n\n if (timeoutHandle === null) {\n // lastCall is null here\n nextFireTime = Date.now() + intervalMs;\n timeoutHandle = setTimeout(fire, intervalMs);\n if (mode === 'delayHead') {\n if (name)\n debugLog?.log(`throttle '${name}': delaying head call`);\n lastCall = call;\n } else { // skip or default mode\n if (name)\n debugLog?.log(`throttle '${name}': fire (head call)`);\n call?.invokeSilently();\n }\n } else {\n // timeoutHandle !== null, so all we need to do here is to update lastCall\n if (name)\n debugLog?.log(`throttle '${name}': throttling, remaining delay = ${fireDelay}ms`);\n if (mode !== 'skip') // i.e. delayHead\n lastCall = call;\n }\n }\n result.reset = reset;\n return result;\n}\n\nexport function debounce unknown>(\n func: (...args: Parameters) => ReturnType,\n intervalMs: number,\n name : string | undefined = undefined\n): ResettableFunc {\n let lastCall: Call | null = null;\n let nextFireTime = 0;\n let timeoutHandle: ReturnType | null = null;\n\n const reset = () => {\n // we should not clear timeout there because it leads to clear\\set timeout useless cycle\n timeoutHandle = lastCall = null;\n nextFireTime = 0;\n }\n\n const fire = () => {\n if (timeoutHandle !== null)\n clearTimeout(timeoutHandle);\n timeoutHandle = null;\n\n const fireDelay = nextFireTime - Date.now();\n if (fireDelay <= 0) {\n nextFireTime = 0;\n if (lastCall !== null) {\n if (name)\n debugLog?.log(`debounce '${name}': fire`);\n const call = lastCall;\n lastCall = null;\n call?.invokeSilently(); // This must be done at last\n }\n }\n else {\n // debounce has already been called yet another time, but we have triggered on previous call timeout\n // so let's schedule a new timer\n timeoutHandle = setTimeout(fire, fireDelay);\n }\n };\n\n const result: ResettableFunc = function(...callArgs: Parameters): void {\n const call = new Call(func, this, callArgs);\n\n nextFireTime = Date.now() + intervalMs;\n lastCall = call;\n\n if (timeoutHandle === null)\n timeoutHandle = setTimeout(fire, intervalMs);\n if (name)\n debugLog?.log(`debounce '${name}': debouncing`);\n };\n result.reset = reset;\n return result;\n}\n\n// Serialize\n\nexport function serialize PromiseLike | TResult, TResult>(\n func: (...args: Parameters) => PromiseLike | TResult,\n limit: number | null = null\n): (...sArgs: Parameters) => Promise {\n let lastCall: Promise = Promise.resolve(null as TResult);\n let queueSize = 0;\n\n return function(...callArgs: Parameters): Promise {\n if (limit != null && queueSize >= limit)\n return lastCall;\n\n queueSize++;\n const prevCall = lastCall;\n return lastCall = (async () => {\n try {\n await prevCall;\n return (await func.apply(this, callArgs)) as TResult;\n }\n finally {\n queueSize--;\n }\n })();\n }\n}\n\n// Retry & catchErrors\n\ntype RetryDelaySeq = (tryIndex: number) => number;\nconst defaultRetryDelays: RetryDelaySeq = () => 50;\n\nexport async function retryForever(\n fn: (tryIndex: number, lastError: unknown) => PromiseLike | TResult,\n retryDelays?: RetryDelaySeq,\n) : Promise {\n retryDelays ??= defaultRetryDelays;\n let lastError: unknown = undefined;\n for (let tryIndex = 0;;) {\n try {\n return await fn(tryIndex, lastError);\n }\n catch (e) {\n lastError = e;\n }\n ++tryIndex;\n warnLog?.log(`retry(${tryIndex}): error:`, lastError);\n await delayAsync(retryDelays(tryIndex));\n }\n}\n\nexport async function retry(\n tryCount: number,\n fn: (tryIndex: number, lastError: unknown) => PromiseLike | TResult,\n retryDelays?: RetryDelaySeq,\n) : Promise {\n retryDelays ??= defaultRetryDelays;\n let lastError: unknown = undefined;\n for (let tryIndex = 0;;) {\n if (tryIndex >= tryCount)\n throw lastError;\n\n try {\n return await fn(tryIndex, lastError);\n }\n catch (e) {\n lastError = e;\n }\n ++tryIndex;\n warnLog?.log(`retry(${tryIndex}/${tryCount}): error:`, lastError);\n await delayAsync(retryDelays(tryIndex));\n }\n}\n\nexport async function catchErrors(\n fn: () => PromiseLike | TResult,\n onError?: (e: unknown) => TResult,\n) : Promise {\n try {\n return await fn();\n }\n catch (e) {\n return onError ? onError(e) : undefined;\n }\n}\n\nexport class AsyncLockReleaser implements Disposable {\n private readonly _whenReleased: PromiseSource;\n constructor(public readonly asyncLock: AsyncLock) {\n if (asyncLock.releaser != null)\n throw new Error(`${logScope}.AsyncLockReleaser cannot be created while the lock is held.`);\n\n asyncLock.releaser = this;\n this._whenReleased = new PromiseSource(\n () => {\n if (asyncLock.releaser != this)\n throw new Error(`${logScope}.AsyncLockReleaser is associated with another releaser.`);\n\n asyncLock.releaser = null;\n return;\n },\n () => `${logScope}.AsyncLockReleaser.released cannot be rejected.`);\n }\n\n public whenReleased(): Promise {\n return this._whenReleased;\n }\n\n dispose(): void {\n this._whenReleased.resolve(undefined);\n }\n}\n\nexport class AsyncLock {\n public releaser: AsyncLockReleaser = null;\n\n public async lock(): Promise {\n if (this.releaser != null)\n await this.releaser.whenReleased();\n return new AsyncLockReleaser(this);\n }\n}\n\nexport class ResolvedPromise {\n public static readonly Void = new PromiseSource();\n public static readonly True = new PromiseSource();\n public static readonly False = new PromiseSource();\n}\nResolvedPromise.Void.resolve(undefined);\nResolvedPromise.True.resolve(true);\nResolvedPromise.False.resolve(false);\n\n// Self-test - we don't want to run it in workers & worklets\nconst mustRunSelfTest = debugLog != null && globalThis['focus'];\nif (mustRunSelfTest) {\n const testLog = errorLog;\n if (!testLog)\n throw new Error('testLog == null');\n void (async () => {\n const c = new PromiseSource();\n const p = waitAsync(delayAsync(1000), c);\n c.resolve(cancelled);\n try {\n await p;\n throw new Error('Failed!');\n }\n catch (e) {\n if (!(e instanceof OperationCancelledError))\n throw e;\n }\n })();\n}\n","import Denque from 'denque';\n\nexport class Vector2D {\n public static readonly zero = new Vector2D(0, 0);\n public static readonly unitX = new Vector2D(1, 0);\n public static readonly unitY = new Vector2D(0, 1);\n\n constructor(public x: number, public y: number) { }\n\n public add(other: Vector2D): Vector2D {\n return new Vector2D(this.x + other.x, this.y + other.y);\n }\n\n public sub(other: Vector2D): Vector2D {\n return new Vector2D(this.x - other.x, this.y - other.y);\n }\n\n public mul(multiplier: number): Vector2D {\n return new Vector2D(this.x * multiplier, this.y * multiplier);\n }\n\n public dotProduct(other: Vector2D): number {\n return this.x * other.x + this.y * other.y;\n }\n\n public get length(): number {\n return Math.sqrt(this.squareLength);\n }\n\n public get squareLength(): number {\n return this.x * this.x + this.y * this.y;\n }\n\n public isHorizontal(minRatio = 1) {\n return Math.abs(this.x) > minRatio * Math.abs(this.y);\n }\n\n public isVertical(minRatio = 1) {\n return Math.abs(this.y) > minRatio * Math.abs(this.x);\n }\n}\n\nexport function clamp(n: number, min: number, max: number) {\n return Math.max(min, Math.min(max, n));\n}\n\nexport function lerp(x: number, y: number, alpha: number) {\n return x + alpha*(y - x);\n}\n\nexport interface RunningCounter {\n readonly sampleCount: number;\n readonly value: number;\n\n reset(): void;\n appendSample(value: number): void;\n}\n\nexport class RunningAverage implements RunningCounter {\n private _sampleCount = 0;\n private _sum = 0;\n\n constructor(private readonly defaultValue: number)\n { }\n\n public get sampleCount(): number {\n return this._sampleCount;\n }\n\n public get value(): number {\n return this._sampleCount <= 0\n ? this.defaultValue\n : this._sum / this.sampleCount;\n }\n\n public reset(): void {\n this._sampleCount = 0;\n this._sum = 0;\n }\n\n public appendSample(value: number): void {\n this._sum += value;\n this._sampleCount++;\n }\n\n public removeSample(value: number): void {\n if (this._sampleCount <= 0)\n return;\n\n this._sum -= value;\n this._sampleCount--;\n }\n}\n\nexport class RunningUnitMedian implements RunningCounter {\n private readonly _halfBucketSize: number;\n private readonly _buckets: Int32Array;\n private _sampleCount = 0;\n private _value: number | null = null;\n\n constructor(\n bucketCount = 100,\n private readonly defaultValue = 0.5\n ) {\n this._buckets = new Int32Array(bucketCount).fill(0);\n this._halfBucketSize = 0.5 / bucketCount;\n }\n\n public get sampleCount(): number {\n return this._sampleCount;\n }\n\n public get value(): number {\n if (this._value !== null)\n return this._value;\n\n if (this._sampleCount <= 0)\n return this._value = this.defaultValue; // No samples\n\n const halfSampleCount = this._sampleCount / 2;\n let runningCount = 0;\n for (let i = 0; i < this._buckets.length; i++) {\n runningCount += this._buckets[i];\n if (runningCount >= halfSampleCount) {\n // Ideally we should distribute the weight here\n return this._value = (2*i + 1) * this._halfBucketSize;\n }\n }\n\n // We shouldn't land here, but just in case:\n return this._value = (2*this._buckets.length - 1) * this._halfBucketSize;\n }\n\n public reset(): void {\n this._buckets.fill(0);\n this._sampleCount = 0;\n this._value = null;\n }\n\n public appendSample(value: number): void {\n value = clamp(value, 0, 1);\n this._buckets[Math.floor(value * this._buckets.length)]++;\n this._sampleCount++;\n this._value = null;\n }\n}\n\nexport class RunningMA implements RunningCounter {\n private readonly _samples = new Denque();\n private readonly _average: RunningAverage;\n\n constructor(\n private readonly windowSize: number,\n defaultValue: number,\n ) {\n this._average = new RunningAverage(defaultValue);\n }\n\n public get sampleCount(): number {\n return this._average.sampleCount;\n }\n\n public get value(): number {\n return this._average.value;\n }\n\n public reset(): void {\n this._samples.clear();\n this._average.reset();\n }\n\n public appendSample(value: number): void {\n const samples = this._samples;\n const average = this._average;\n samples.push(value);\n average.appendSample(value);\n if (average.sampleCount > this.windowSize)\n average.removeSample(samples.shift())\n }\n}\n\nexport class RunningEMA implements RunningCounter {\n private _sampleCount = 0;\n private _average: RunningAverage;\n private _value: number | null = null;\n\n constructor(\n defaultValue: number,\n private readonly minSampleCount: number, // Uses RunningMA unless sampleCount > minSampleCount\n private readonly smoothingFactor: number = null,\n ) {\n if (smoothingFactor === null)\n this.smoothingFactor = 2 / (minSampleCount + 1);\n this._average = new RunningAverage(defaultValue);\n }\n\n public get sampleCount(): number {\n return this._sampleCount;\n }\n\n public get value(): number {\n return this._value ?? this._average.value;\n }\n\n public reset(): void {\n this._sampleCount = 0;\n this._average.reset();\n this._value = null;\n }\n\n public appendSample(value: number): void {\n this._sampleCount++;\n const last = this._value;\n if (last === null) {\n this._average.appendSample(value);\n if (this._sampleCount >= this.minSampleCount)\n this._value = this._average.value;\n } else {\n this._value = last + this.smoothingFactor * (value - last);\n }\n }\n}\n\nexport class RunningMax implements RunningCounter {\n private readonly defaultValue: number;\n private readonly _samples = new Array();\n private max: number;\n\n constructor(\n private readonly windowSize: number,\n defaultValue: number,\n ) {\n this.defaultValue = defaultValue;\n this.max = defaultValue;\n }\n\n public get sampleCount(): number {\n return this._samples.length;\n }\n\n public get value(): number {\n return this.max;\n }\n\n public get samples(): number[] {\n return this._samples;\n }\n\n public reset(): void {\n this._samples.length = 0;\n this.max = this.defaultValue;\n }\n\n public appendSample(value: number): void {\n if (value > this.max)\n this.max = value;\n this._samples.push(value);\n\n if (this._samples.length > this.windowSize)\n this._samples.shift();\n }\n}\n\nconst BESSEL_I0_ITER = 50;\n\nexport function KaiserBesselDerivedWindow(windowSize: number, alpha: number): Float32Array {\n const window = new Float32Array(windowSize);\n const alpha2 = (alpha * Math.PI / windowSize) * (alpha * Math.PI / windowSize);\n\n let sum = 0.0;\n for (let i = 0; i < windowSize; i++) {\n const tmp = i * (windowSize - i) * alpha2;\n let bessel = 1.0;\n for (let j = BESSEL_I0_ITER; j > 0; j--)\n bessel = bessel * tmp / (j * j) + 1;\n sum += bessel;\n window[i] = sum;\n }\n sum++;\n for (let i = 0; i < windowSize; i++)\n window[i] = Math.sqrt(window[i] / sum);\n\n return window;\n}\n\nexport function approximateGain(monoPcm: Float32Array, stride = 5): number {\n let sum = 0;\n // every 5th sample as usually it's enough to assess speech gain\n for (let i = 0; i < monoPcm.length; i+=stride) {\n const e = monoPcm[i];\n sum += e * e;\n }\n return Math.sqrt(sum / Math.floor(monoPcm.length / stride));\n}\n\nexport function translate(number: number, [inMin, inMax]: Array, [outMin, outMax]: Array) {\n const result = (number - inMin) / (inMax - inMin) * (outMax - outMin) + outMin;\n if (isNaN(result))\n return outMin;\n\n return result;\n}\n\nexport function average(array: Array | Float32Array): number {\n let sum = 0;\n for (let i = 0; i < array.length; i++)\n sum += array[i];\n return sum / array.length;\n}\n","import { delayAsync, PromiseSourceWithTimeout, ResolvedPromise } from 'promises';\nimport { Disposable } from 'disposable';\nimport { Log } from 'logging';\n\nconst { debugLog, warnLog, errorLog } = Log.get('Rpc');\n\nexport type RpcNoWait = symbol;\nexport const rpcNoWait : RpcNoWait = Symbol('RpcNoWait');\n\nexport interface RpcTimeout {\n type: 'rpc-timeout',\n timeoutMs: number;\n}\n\nexport class RpcCall {\n public readonly timeoutMs?: number;\n\n constructor(\n public id: number,\n public readonly method: string,\n public readonly args: unknown[],\n timeoutMs?: number,\n public readonly noWait: boolean = false,\n ) {\n this.timeoutMs = timeoutMs ?? null;\n if (args?.length > 0) {\n const lastArg = args[args.length - 1];\n if (lastArg == rpcNoWait) {\n args.pop();\n this.noWait = true;\n }\n else if (lastArg['type'] && lastArg['type'] === 'rpc-timeout') {\n args.pop();\n const rpcTimeout = lastArg as RpcTimeout;\n this.timeoutMs = rpcTimeout.timeoutMs;\n }\n }\n }\n}\n\nexport class RpcResult {\n public static value(id: number, value: unknown): RpcResult {\n return new RpcResult(id, value, undefined);\n }\n\n public static error(id: number, error: unknown): RpcResult {\n return new RpcResult(id, undefined, error);\n }\n\n constructor(\n public readonly id: number,\n public readonly value: unknown,\n public readonly error: unknown,\n ) { }\n}\n\nlet nextRpcPromiseId = 1;\nconst rpcPromisesInProgress = new Map>();\n\nexport class RpcPromise extends PromiseSourceWithTimeout {\n public readonly id: number;\n public static Void = new RpcPromise('Void' as unknown as number);\n\n constructor(id?: number) {\n super();\n this.id = id ?? nextRpcPromiseId++;\n const oldResolve = this.resolve;\n const oldReject = this.reject;\n this.resolve = (value: T) => {\n debugLog?.log(`RpcPromise.resolve[#${this.id}] =`, value)\n this.unregister();\n oldResolve(value);\n };\n this.reject = (reason: unknown) => {\n debugLog?.log(`RpcPromise.reject[#${this.id}] =`, reason)\n this.unregister();\n oldReject(reason);\n };\n rpcPromisesInProgress.set(this.id, this);\n // debugLog?.log(`RpcPromise.ctor[#${this.id}]`);\n }\n\n public static get(id: number): RpcPromise | null {\n return rpcPromisesInProgress.get(id) as RpcPromise ?? null;\n }\n\n public unregister(): boolean {\n return rpcPromisesInProgress.delete(this.id);\n }\n}\n\nRpcPromise.Void.resolve(undefined);\n\nexport function completeRpc(result: RpcResult): void {\n const promise = RpcPromise.get(result.id);\n if (promise == null) {\n // eslint-disable-next-line no-debugger\n warnLog?.log(`completeRpc: RpcPromise #${result.id} is not found`);\n return;\n }\n try {\n if (result.error !== undefined)\n promise.reject(result.error);\n else\n promise.resolve(result.value);\n }\n catch (error) {\n promise.reject(error);\n }\n}\n\nexport function isTransferable(x: unknown): x is Transferable {\n if (x instanceof ArrayBuffer)\n return true;\n if (x instanceof MessagePort)\n return true;\n // we don' use those objects yet\n // if (x instanceof ReadableStream)\n // return true;\n // if (x instanceof WritableStream)\n // return true;\n // if (x instanceof TransformStream)\n // return true;\n return false;\n}\n\nfunction getTransferables(args: unknown[]): Transferable[] | undefined {\n let result: Transferable[] | undefined = undefined;\n for (let i = args.length - 1; i >= 0; i--) {\n const value = args[i];\n if (!isTransferable(value)) {\n if (result !== undefined)\n // transferable parameters should be placed one after another\n break;\n continue;\n }\n\n if (!result)\n result = new Array(value);\n else\n result.push(value);\n }\n return result;\n}\n\nexport function rpcServer(\n name: string,\n messagePort: MessagePort | Worker,\n serverImpl: object,\n onUnhandledMessage?: (event: MessageEvent) => Promise,\n onDispose?: () => void,\n) : Disposable {\n if (!serverImpl)\n throw new Error(`${name}: serverImpl == null!`);\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onUnhandledMessage ??= (event: MessageEvent): Promise => {\n throw new Error(`${name}: unhandled message.`);\n }\n\n const onMessage = async (event: MessageEvent): Promise => {\n const rpcCall = event.data;\n if (!rpcCall?.id) {\n await onUnhandledMessage(event);\n return;\n }\n debugLog?.log(`-> ${name}.onMessage[#${rpcCall.id}]:`, rpcCall)\n let value: unknown = undefined;\n let error: unknown = undefined;\n try {\n // eslint-disable-next-line @typescript-eslint/ban-types\n const method = serverImpl[rpcCall.method] as Function;\n if (!method) {\n await onUnhandledMessage(event);\n return;\n }\n value = await method.apply(serverImpl, rpcCall.args);\n }\n catch (e) {\n error = e;\n }\n const result = new RpcResult(rpcCall.id, value, error);\n debugLog?.log(`<- ${name}.onMessage[#${rpcCall.id}]:`, result)\n if (!rpcCall.noWait)\n messagePort.postMessage(result);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const onMessageError = (event: MessageEvent): Promise => {\n throw new Error(`${name}: couldn't deserialize the message.`);\n }\n\n let isDisposed = false;\n const oldOnMessage = messagePort.onmessage;\n const oldOnMessageError = messagePort.onmessageerror;\n messagePort.onmessage = onMessage;\n messagePort.onmessageerror = onMessageError;\n\n return {\n dispose() {\n if (!isDisposed) {\n isDisposed = true;\n messagePort.onmessage = oldOnMessage;\n messagePort.onmessageerror = oldOnMessageError;\n if (onDispose)\n onDispose();\n }\n }\n }\n}\n\nconst DefaultRpcClientTimeoutMs = 5_000;\n\nexport function rpcClient(\n name: string,\n messagePort: MessagePort | Worker,\n timeoutMs = DefaultRpcClientTimeoutMs,\n onDispose?: () => void,\n) : TService & Disposable {\n const onMessage = (event: MessageEvent): void => {\n if (isDisposed)\n return;\n\n const result = event.data;\n if (result['method']) {\n errorLog?.log(`${name}: got an RpcCall message:`, result);\n throw new Error(`${name}: got an RpcCall message.`);\n }\n if (result.id)\n void completeRpc(result);\n }\n\n const onMessageError = (event: MessageEvent): void => {\n if (isDisposed)\n return;\n\n errorLog?.log(`${name}.onMessageError:`, event);\n }\n\n const proxyMethodCache = new Map RpcPromise)>();\n\n function getProxyMethod(method: string): ((...args: unknown[]) => RpcPromise) {\n let result = proxyMethodCache.get(method);\n if (!result) {\n result = (...args: unknown[]): RpcPromise => {\n if (isDisposed)\n throw new Error(`${name}.call: already disposed.`);\n\n const rpcCall = new RpcCall(nextRpcPromiseId++, method, args, timeoutMs);\n const rpcPromise = rpcCall.noWait ? RpcPromise.Void : new RpcPromise(rpcCall.id);\n if (rpcCall.timeoutMs && !rpcCall.noWait)\n rpcPromise.setTimeout(rpcCall.timeoutMs);\n\n const transferables = getTransferables(args);\n debugLog?.log(`${name}.call:`, rpcCall, ', transfer:', transferables);\n messagePort.postMessage(rpcCall, transferables);\n return rpcPromise;\n }\n proxyMethodCache.set(method, result);\n }\n\n return result;\n }\n\n const proxyTarget: Disposable = {\n dispose(): void {\n if (!isDisposed) {\n isDisposed = true;\n messagePort.onmessage = oldOnMessage;\n messagePort.onmessageerror = oldOnMessageError;\n if (onDispose)\n onDispose();\n }\n }\n }\n const proxy = new Proxy(proxyTarget as (TService & Disposable), {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n get(target: TService, p: string | symbol, receiver: unknown): unknown {\n const ownValue = target[p] as unknown;\n if (ownValue || typeof(p) !== 'string')\n return ownValue;\n return getProxyMethod(p);\n }\n })\n\n let isDisposed = false;\n const oldOnMessage = messagePort.onmessage;\n const oldOnMessageError = messagePort.onmessageerror;\n messagePort.onmessage = onMessage;\n messagePort.onmessageerror = onMessageError;\n\n return proxy;\n}\n\nexport function rpcClientServer(\n name: string,\n messagePort: MessagePort | Worker,\n serverImpl: object,\n timeoutMs?: number,\n onUnhandledMessage?: (event: MessageEvent) => Promise,\n) : TClient & Disposable {\n if (!serverImpl)\n throw new Error(`${name}: serverImpl == null!`);\n\n const oldOnMessage = messagePort.onmessage;\n const oldOnMessageError = messagePort.onmessageerror;\n\n const onDispose = () => {\n server.dispose();\n messagePort.onmessage = oldOnMessage;\n messagePort.onmessageerror = oldOnMessageError;\n }\n\n const client = rpcClient(name, messagePort, timeoutMs, onDispose);\n const clientOnMessage = messagePort.onmessage; // rpcClient(...) call sets it\n const server = rpcServer(name, messagePort, serverImpl, onUnhandledMessage);\n const serverOnMessage = messagePort.onmessage; // rpcServer(...) call sets it\n\n messagePort.onmessage = async (event: MessageEvent): Promise => {\n const data = event.data;\n if (data['method']) // RpcCall message, we process it via serverOnMessage\n await serverOnMessage.call(messagePort, event);\n else // RpcResult message, we process it via clientOnMessage\n await clientOnMessage.call(messagePort, event);\n }\n return client;\n}\n\n// This function is used only in tests below\nasync function whenNextMessage(messagePort: MessagePort | Worker, timeoutMs?: number) : Promise> {\n const result = new PromiseSourceWithTimeout>();\n if (timeoutMs)\n result.setTimeout(timeoutMs);\n\n const oldOnMessage = messagePort.onmessage;\n messagePort.onmessage = (event: MessageEvent) => result.resolve(event);\n try {\n return await result;\n }\n finally {\n messagePort.onmessage = oldOnMessage;\n }\n}\n\n\n// Self-test - we don't want to run it in workers & worklets\nconst mustRunSelfTest = debugLog != null && globalThis['focus'];\nif (mustRunSelfTest) {\n const testLog = errorLog;\n if (!testLog)\n throw new Error('testLog == null');\n void (async () => {\n // Basic test\n\n let rpcPromise = new RpcPromise();\n testLog.assert(!rpcPromise.isCompleted());\n void completeRpc(RpcResult.value(rpcPromise.id, 'x'));\n testLog.assert(rpcPromise.isCompleted());\n testLog.assert('x' == await rpcPromise);\n\n rpcPromise = new RpcPromise();\n testLog.assert(!rpcPromise.isCompleted());\n void completeRpc(RpcResult.error(rpcPromise.id, 'Error'));\n testLog.assert(rpcPromise.isCompleted());\n try {\n await rpcPromise;\n testLog?.log('rpcPromise.Error is undefined.');\n }\n catch (error) {\n testLog.assert(error == 'Error', 'error != \"Error\"');\n }\n\n // RpcServer & rpcClient test\n\n interface TestService {\n mul(x: number, y: number): Promise;\n ping(reply: string, port: MessagePort, noWait?: RpcNoWait): Promise;\n }\n\n class TestServer implements TestService {\n mul(x: number, y: number): Promise {\n if (x === 1 || y === 1)\n throw '1';\n return Promise.resolve(x * y);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async ping(reply: string, port: MessagePort, noWait?: RpcNoWait): Promise {\n await delayAsync(500);\n port.postMessage(reply);\n return ResolvedPromise.Void;\n }\n }\n\n const channel = new MessageChannel();\n const client = rpcClient(`client`, channel.port1, 300);\n const server = rpcServer(`server`, channel.port2, new TestServer());\n\n // Normal call\n testLog.assert(await client.mul(3, 4) == 12);\n\n // Normal call w/ transferable\n const pingChannel = new MessageChannel();\n await client.ping('Pong', pingChannel.port2, rpcNoWait);\n const sideResult = (await whenNextMessage(pingChannel.port1, 1000)).data;\n debugLog?.log('Side channel result:', sideResult);\n testLog.assert(sideResult === 'Pong');\n\n // Error call\n try {\n await client.mul(1, 5);\n testLog.assert(false);\n }\n catch (e) {\n testLog.assert(e === '1');\n }\n\n // Post-dispose call\n client.dispose();\n try {\n await client.mul(3, 5);\n testLog.assert(false);\n }\n catch (e) {\n testLog.assert(!!e);\n }\n })();\n}\n","import { Log } from 'logging';\n\nconst { debugLog, warnLog } = Log.get('Versioning');\n\ninterface ImportMap {\n imports: Record;\n integrity: Record;\n}\n\nexport class Versioning {\n private static _assetMap: Map = null;\n\n public static get assetMap(): Map {\n if (this._assetMap)\n return this._assetMap;\n\n this.init();\n return this._assetMap;\n }\n\n public static init(assetMap: Map = null) {\n if (this._assetMap) {\n warnLog?.log('init: skipped (already initialized)');\n return;\n }\n\n if (assetMap === null) {\n const origin = document.location.origin;\n const stripOrigin = (s: string) => s.startsWith(origin) ? s.slice(origin.length) : s;\n\n const processAsset = (key: string, value: string) => {\n const assetMatch = value.match(/\\.(?[a-z0-9]{10})\\.(js|wasm)$/);\n if (!assetMatch)\n return;\n\n const assetPath = stripOrigin(value);\n const simpleKey = assetPath.replace(assetMatch.groups['hash']+'.', '');\n assetMap.set(simpleKey, assetPath);\n if (!simpleKey.startsWith('/')) assetMap.set('/' + simpleKey, assetPath);\n };\n\n assetMap = new Map();\n for (const e of document.head.children) {\n if (e.localName !== 'link')\n continue;\n\n const href = e['href'] as string;\n processAsset(href, href);\n }\n const importMapInnerHtml = document.head.querySelector('script[type=\"importmap\"]')?.innerHTML;\n if (importMapInnerHtml) {\n const importMap = JSON.parse(importMapInnerHtml) as ImportMap;\n for (const [key, value] of Object.entries(importMap.imports).filter(([k]) => k.startsWith('/dist/')))\n processAsset(key, value);\n }\n }\n this._assetMap = assetMap;\n debugLog?.log('init: artifact versions:', assetMap);\n }\n\n public static mapPath(path: string): string {\n const versionedPath = this.assetMap.get(path);\n if (versionedPath) {\n debugLog?.log(`mapPath: '${path}' -> '${versionedPath}'`);\n return versionedPath;\n }\n else {\n warnLog?.log(`mapPath: '${path}' - no version found`);\n return path;\n }\n }\n}\n\nglobalThis['Versioning'] = Versioning;\n","export type VoiceActivityKind = 'start' | 'end';\n\nexport interface VoiceActivityChange {\n kind: VoiceActivityKind;\n offset: number;\n duration?: number;\n speechProb: number;\n}\n\nexport interface VoiceActivityDetector {\n lastActivityEvent: VoiceActivityChange;\n\n init(): Promise;\n reset(): void;\n conversationSignal(): void;\n appendChunk(monoPcm: Float32Array): Promise ;\n}\n\nexport const NO_VOICE_ACTIVITY: VoiceActivityChange = {\n kind: 'end',\n offset: 0,\n speechProb: 0\n};\n","/*!\n * ONNX Runtime Web v1.18.0\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar tr=Object.defineProperty;var Aa=Object.getOwnPropertyDescriptor;var Sa=Object.getOwnPropertyNames;var Ma=Object.prototype.hasOwnProperty;var H=(r,t)=>()=>(r&&(t=r(r=0)),t);var rt=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),gt=(r,t)=>{for(var n in t)tr(r,n,{get:t[n],enumerable:!0})},Ca=(r,t,n,f)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of Sa(t))!Ma.call(r,i)&&i!==n&&tr(r,i,{get:()=>t[i],enumerable:!(f=Aa(t,i))||f.enumerable});return r};var nt=r=>Ca(tr({},\"__esModule\",{value:!0}),r);var Rt,Ve,yt,Pa,Dt,Ut=H(()=>{\"use strict\";Rt=new Map,Ve=[],yt=(r,t,n)=>{if(t&&typeof t.init==\"function\"&&typeof t.createInferenceSessionHandler==\"function\"){let f=Rt.get(r);if(f===void 0)Rt.set(r,{backend:t,priority:n});else{if(f.priority>n)return;if(f.priority===n&&f.backend!==t)throw new Error(`cannot register backend \"${r}\" using priority ${n}`)}if(n>=0){let i=Ve.indexOf(r);i!==-1&&Ve.splice(i,1);for(let m=0;m{let t=Rt.get(r);if(!t)return\"backend not found.\";if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(r)),await t.initPromise,t.initialized=!0,t.backend}catch(f){return n||(t.error=`${f}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},Dt=async r=>{let t=r.executionProviders||[],n=t.map(h=>typeof h==\"string\"?h:h.name),f=n.length===0?Ve:n,i,m=[],c=new Set;for(let h of f){let g=await Pa(h);typeof g==\"string\"?m.push({name:h,err:g}):(i||(i=g),i===g&&c.add(h))}if(!i)throw new Error(`no available backend found. ERR: ${m.map(h=>`[${h.name}] ${h.err}`).join(\", \")}`);for(let{name:h,err:g}of m)n.includes(h)&&console.warn(`removing requested execution provider \"${h}\" from session options because it is not available: ${g}`);let s=t.filter(h=>c.has(typeof h==\"string\"?h:h.name));return[i,new Proxy(r,{get:(h,g)=>g===\"executionProviders\"?s:Reflect.get(h,g)})]}});var Zr=H(()=>{\"use strict\";Ut()});var Qr,Kr=H(()=>{\"use strict\";Qr=\"1.18.0\"});var en,_e,rr=H(()=>{\"use strict\";Kr();en=\"warning\",_e={wasm:{},webgl:{},webgpu:{},versions:{common:Qr},set logLevel(r){if(r!==void 0){if(typeof r!=\"string\"||[\"verbose\",\"info\",\"warning\",\"error\",\"fatal\"].indexOf(r)===-1)throw new Error(`Unsupported logging level: ${r}`);en=r}},get logLevel(){return en}};Object.defineProperty(_e,\"logLevel\",{enumerable:!0})});var j,tn=H(()=>{\"use strict\";rr();j=_e});var rn,nn,an=H(()=>{\"use strict\";rn=(r,t)=>{let n=typeof document<\"u\"?document.createElement(\"canvas\"):new OffscreenCanvas(1,1);n.width=r.dims[3],n.height=r.dims[2];let f=n.getContext(\"2d\");if(f!=null){let i,m;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(i=r.dims[2],m=r.dims[3]):(i=r.dims[3],m=r.dims[2]);let c=t?.format!==void 0?t.format:\"RGB\",s=t?.norm,h,g;s===void 0||s.mean===void 0?h=[255,255,255,255]:typeof s.mean==\"number\"?h=[s.mean,s.mean,s.mean,s.mean]:(h=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(h[3]=s.mean[3])),s===void 0||s.bias===void 0?g=[0,0,0,0]:typeof s.bias==\"number\"?g=[s.bias,s.bias,s.bias,s.bias]:(g=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(g[3]=s.bias[3]));let _=m*i,v=0,O=_,M=_*2,P=-1;c===\"RGBA\"?(v=0,O=_,M=_*2,P=_*3):c===\"RGB\"?(v=0,O=_,M=_*2):c===\"RBG\"&&(v=0,M=_,O=_*2);for(let U=0;U{let n=typeof document<\"u\"?document.createElement(\"canvas\").getContext(\"2d\"):new OffscreenCanvas(1,1).getContext(\"2d\"),f;if(n!=null){let i,m,c;t?.tensorLayout!==void 0&&t.tensorLayout===\"NHWC\"?(i=r.dims[2],m=r.dims[1],c=r.dims[3]):(i=r.dims[3],m=r.dims[2],c=r.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:\"RGB\",h=t?.norm,g,_;h===void 0||h.mean===void 0?g=[255,255,255,255]:typeof h.mean==\"number\"?g=[h.mean,h.mean,h.mean,h.mean]:(g=[h.mean[0],h.mean[1],h.mean[2],255],h.mean[3]!==void 0&&(g[3]=h.mean[3])),h===void 0||h.bias===void 0?_=[0,0,0,0]:typeof h.bias==\"number\"?_=[h.bias,h.bias,h.bias,h.bias]:(_=[h.bias[0],h.bias[1],h.bias[2],0],h.bias[3]!==void 0&&(_[3]=h.bias[3]));let v=m*i;if(t!==void 0&&(t.format!==void 0&&c===4&&t.format!==\"RGBA\"||c===3&&t.format!==\"RGB\"&&t.format!==\"BGR\"))throw new Error(\"Tensor format doesn't match input tensor dims\");let O=4,M=0,P=1,U=2,D=3,C=0,F=v,W=v*2,Z=-1;s===\"RGBA\"?(C=0,F=v,W=v*2,Z=v*3):s===\"RGB\"?(C=0,F=v,W=v*2):s===\"RBG\"&&(C=0,W=v,F=v*2),f=n.createImageData(i,m);for(let te=0;te{\"use strict\";Ft();nr=(r,t)=>{if(r===void 0)throw new Error(\"Image buffer must be defined\");if(t.height===void 0||t.width===void 0)throw new Error(\"Image height and width must be defined\");if(t.tensorLayout===\"NHWC\")throw new Error(\"NHWC Tensor layout is not supported yet\");let{height:n,width:f}=t,i=t.norm??{mean:255,bias:0},m,c;typeof i.mean==\"number\"?m=[i.mean,i.mean,i.mean,i.mean]:m=[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],typeof i.bias==\"number\"?c=[i.bias,i.bias,i.bias,i.bias]:c=[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let s=t.format!==void 0?t.format:\"RGBA\",h=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:\"RGB\",g=n*f,_=h===\"RGBA\"?new Float32Array(g*4):new Float32Array(g*3),v=4,O=0,M=1,P=2,U=3,D=0,C=g,F=g*2,W=-1;s===\"RGB\"&&(v=3,O=0,M=1,P=2,U=-1),h===\"RGBA\"?W=g*3:h===\"RBG\"?(D=0,F=g,C=g*2):h===\"BGR\"&&(F=0,C=g,D=g*2);for(let te=0;te{let n=typeof HTMLImageElement<\"u\"&&r instanceof HTMLImageElement,f=typeof ImageData<\"u\"&&r instanceof ImageData,i=typeof ImageBitmap<\"u\"&&r instanceof ImageBitmap,m=typeof r==\"string\",c,s=t??{},h=()=>{if(typeof document<\"u\")return document.createElement(\"canvas\");if(typeof OffscreenCanvas<\"u\")return new OffscreenCanvas(1,1);throw new Error(\"Canvas is not supported\")},g=_=>_ instanceof HTMLCanvasElement||_ instanceof OffscreenCanvas?_.getContext(\"2d\"):null;if(n){let _=h();_.width=r.width,_.height=r.height;let v=g(_);if(v!=null){let O=r.height,M=r.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(O=t.resizedHeight,M=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw new Error(\"Image input config format must be RGBA for HTMLImageElement\");s.tensorFormat=\"RGBA\",s.height=O,s.width=M}else s.tensorFormat=\"RGBA\",s.height=O,s.width=M;v.drawImage(r,0,0),c=v.getImageData(0,0,M,O).data}else throw new Error(\"Can not access image data\")}else if(f){let _,v;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(_=t.resizedHeight,v=t.resizedWidth):(_=r.height,v=r.width),t!==void 0&&(s=t),s.format=\"RGBA\",s.height=_,s.width=v,t!==void 0){let O=h();O.width=v,O.height=_;let M=g(O);if(M!=null)M.putImageData(r,0,0),c=M.getImageData(0,0,v,_).data;else throw new Error(\"Can not access image data\")}else c=r.data}else if(i){if(t===void 0)throw new Error(\"Please provide image config with format for Imagebitmap\");let _=h();_.width=r.width,_.height=r.height;let v=g(_);if(v!=null){let O=r.height,M=r.width;return v.drawImage(r,0,0,M,O),c=v.getImageData(0,0,M,O).data,s.height=O,s.width=M,nr(c,s)}else throw new Error(\"Can not access image data\")}else{if(m)return new Promise((_,v)=>{let O=h(),M=g(O);if(!r||!M)return v();let P=new Image;P.crossOrigin=\"Anonymous\",P.src=r,P.onload=()=>{O.width=P.width,O.height=P.height,M.drawImage(P,0,0,O.width,O.height);let U=M.getImageData(0,0,O.width,O.height);s.height=O.height,s.width=O.width,_(nr(U.data,s))}});throw new Error(\"Input data provided is not supported - aborted tensor creation\")}if(c!==void 0)return nr(c,s);throw new Error(\"Input data provided is not supported - aborted tensor creation\")},sn=(r,t)=>{let{width:n,height:f,download:i,dispose:m}=t,c=[1,f,n,4];return new ye({location:\"texture\",type:\"float32\",texture:r,dims:c,download:i,dispose:m})},un=(r,t)=>{let{dataType:n,dims:f,download:i,dispose:m}=t;return new ye({location:\"gpu-buffer\",type:n??\"float32\",gpuBuffer:r,dims:f,download:i,dispose:m})},fn=(r,t,n)=>new ye({location:\"cpu-pinned\",type:r,data:t,dims:n??[t.length]})});var Xe,wt,cn,dn,pn=H(()=>{\"use strict\";Xe=new Map([[\"float32\",Float32Array],[\"uint8\",Uint8Array],[\"int8\",Int8Array],[\"uint16\",Uint16Array],[\"int16\",Int16Array],[\"int32\",Int32Array],[\"bool\",Uint8Array],[\"float64\",Float64Array],[\"uint32\",Uint32Array]]),wt=new Map([[Float32Array,\"float32\"],[Uint8Array,\"uint8\"],[Int8Array,\"int8\"],[Uint16Array,\"uint16\"],[Int16Array,\"int16\"],[Int32Array,\"int32\"],[Float64Array,\"float64\"],[Uint32Array,\"uint32\"]]),cn=!1,dn=()=>{if(!cn){cn=!0;let r=typeof BigInt64Array<\"u\"&&BigInt64Array.from,t=typeof BigUint64Array<\"u\"&&BigUint64Array.from,n=typeof Float16Array<\"u\"&&Float16Array.from;r&&(Xe.set(\"int64\",BigInt64Array),wt.set(BigInt64Array,\"int64\")),t&&(Xe.set(\"uint64\",BigUint64Array),wt.set(BigUint64Array,\"uint64\")),n?(Xe.set(\"float16\",Float16Array),wt.set(Float16Array,\"float16\")):Xe.set(\"float16\",Uint16Array)}}});var mn,hn,gn=H(()=>{\"use strict\";Ft();mn=r=>{let t=1;for(let n=0;n{switch(r.location){case\"cpu\":return new ye(r.type,r.data,t);case\"cpu-pinned\":return new ye({location:\"cpu-pinned\",data:r.data,type:r.type,dims:t});case\"texture\":return new ye({location:\"texture\",texture:r.texture,type:r.type,dims:t});case\"gpu-buffer\":return new ye({location:\"gpu-buffer\",gpuBuffer:r.gpuBuffer,type:r.type,dims:t});default:throw new Error(`tensorReshape: tensor location ${r.location} is not supported`)}}});var ye,Ft=H(()=>{\"use strict\";an();ln();pn();gn();ye=class{constructor(t,n,f){dn();let i,m;if(typeof t==\"object\"&&\"location\"in t)switch(this.dataLocation=t.location,i=t.type,m=t.dims,t.location){case\"cpu-pinned\":{let s=Xe.get(i);if(!s)throw new TypeError(`unsupported type \"${i}\" to create tensor from pinned buffer`);if(!(t.data instanceof s))throw new TypeError(`buffer should be of type ${s.name}`);this.cpuData=t.data;break}case\"texture\":{if(i!==\"float32\")throw new TypeError(`unsupported type \"${i}\" to create tensor from texture`);this.gpuTextureData=t.texture,this.downloader=t.download,this.disposer=t.dispose;break}case\"gpu-buffer\":{if(i!==\"float32\"&&i!==\"float16\"&&i!==\"int32\"&&i!==\"int64\"&&i!==\"uint32\"&&i!==\"uint8\"&&i!==\"bool\")throw new TypeError(`unsupported type \"${i}\" to create tensor from gpu buffer`);this.gpuBufferData=t.gpuBuffer,this.downloader=t.download,this.disposer=t.dispose;break}default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let s,h;if(typeof t==\"string\")if(i=t,h=f,t===\"string\"){if(!Array.isArray(n))throw new TypeError(\"A string tensor's data must be a string array.\");s=n}else{let g=Xe.get(t);if(g===void 0)throw new TypeError(`Unsupported tensor type: ${t}.`);if(Array.isArray(n)){if(t===\"float16\"&&g===Uint16Array)throw new TypeError(\"Creating a float16 tensor from number array is not supported. Please use Uint16Array as data.\");t===\"uint64\"||t===\"int64\"?s=g.from(n,BigInt):s=g.from(n)}else if(n instanceof g)s=n;else throw new TypeError(`A ${i} tensor's data must be type of ${g}`)}else if(h=n,Array.isArray(t)){if(t.length===0)throw new TypeError(\"Tensor type cannot be inferred from an empty array.\");let g=typeof t[0];if(g===\"string\")i=\"string\",s=t;else if(g===\"boolean\")i=\"bool\",s=Uint8Array.from(t);else throw new TypeError(`Invalid element type of data array: ${g}.`)}else{let g=wt.get(t.constructor);if(g===void 0)throw new TypeError(`Unsupported type for tensor data: ${t.constructor}.`);i=g,s=t}if(h===void 0)h=[s.length];else if(!Array.isArray(h))throw new TypeError(\"A tensor's dims must be a number array\");m=h,this.cpuData=s,this.dataLocation=\"cpu\"}let c=mn(m);if(this.cpuData&&c!==this.cpuData.length)throw new Error(`Tensor's size(${c}) does not match data length(${this.cpuData.length}).`);this.type=i,this.dims=m,this.size=c}static async fromImage(t,n){return on(t,n)}static fromTexture(t,n){return sn(t,n)}static fromGpuBuffer(t,n){return un(t,n)}static fromPinnedBuffer(t,n,f){return fn(t,n,f)}toDataURL(t){return rn(this,t)}toImageData(t){return nn(this,t)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error(\"The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.\");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error(\"The data is not stored as a WebGL texture.\");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error(\"The data is not stored as a WebGPU buffer.\");return this.gpuBufferData}async getData(t){switch(this.ensureValid(),this.dataLocation){case\"cpu\":case\"cpu-pinned\":return this.data;case\"texture\":case\"gpu-buffer\":{if(!this.downloader)throw new Error(\"The current tensor is not created with a specified data downloader.\");if(this.isDownloading)throw new Error(\"The current tensor is being downloaded.\");try{this.isDownloading=!0;let n=await this.downloader();return this.downloader=void 0,this.dataLocation=\"cpu\",this.cpuData=n,t&&this.disposer&&(this.disposer(),this.disposer=void 0),n}finally{this.isDownloading=!1}}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error(\"The current tensor is being downloaded.\");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation=\"none\"}ensureValid(){if(this.dataLocation===\"none\")throw new Error(\"The tensor is disposed.\")}reshape(t){if(this.ensureValid(),this.downloader||this.disposer)throw new Error(\"Cannot reshape a tensor that owns GPU resource.\");return hn(this,t)}}});var me,It=H(()=>{\"use strict\";Ft();me=ye});var yn,wn,Je,Ze,ar=H(()=>{\"use strict\";rr();yn=(r,t)=>{(typeof _e.trace>\"u\"?!_e.wasm.trace:!_e.trace)||console.timeStamp(`${r}::ORT::${t}`)},wn=(r,t)=>{let n=new Error().stack?.split(/\\r\\n|\\r|\\n/g)||[],f=!1;for(let i=0;i{(typeof _e.trace>\"u\"?!_e.wasm.trace:!_e.trace)||wn(\"BEGIN\",r)},Ze=r=>{(typeof _e.trace>\"u\"?!_e.wasm.trace:!_e.trace)||wn(\"END\",r)}});var Bt,bn=H(()=>{\"use strict\";Ut();It();ar();Bt=class r{constructor(t){this.handler=t}async run(t,n,f){Je();let i={},m={};if(typeof t!=\"object\"||t===null||t instanceof me||Array.isArray(t))throw new TypeError(\"'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.\");let c=!0;if(typeof n==\"object\"){if(n===null)throw new TypeError(\"Unexpected argument[1]: cannot be null.\");if(n instanceof me)throw new TypeError(\"'fetches' cannot be a Tensor\");if(Array.isArray(n)){if(n.length===0)throw new TypeError(\"'fetches' cannot be an empty array.\");c=!1;for(let g of n){if(typeof g!=\"string\")throw new TypeError(\"'fetches' must be a string array or an object.\");if(this.outputNames.indexOf(g)===-1)throw new RangeError(`'fetches' contains invalid output name: ${g}.`);i[g]=null}if(typeof f==\"object\"&&f!==null)m=f;else if(typeof f<\"u\")throw new TypeError(\"'options' must be an object.\")}else{let g=!1,_=Object.getOwnPropertyNames(n);for(let v of this.outputNames)if(_.indexOf(v)!==-1){let O=n[v];(O===null||O instanceof me)&&(g=!0,c=!1,i[v]=O)}if(g){if(typeof f==\"object\"&&f!==null)m=f;else if(typeof f<\"u\")throw new TypeError(\"'options' must be an object.\")}else m=n}}else if(typeof n<\"u\")throw new TypeError(\"Unexpected argument[1]: must be 'fetches' or 'options'.\");for(let g of this.inputNames)if(typeof t[g]>\"u\")throw new Error(`input '${g}' is missing in 'feeds'.`);if(c)for(let g of this.outputNames)i[g]=null;let s=await this.handler.run(t,i,m),h={};for(let g in s)if(Object.hasOwnProperty.call(s,g)){let _=s[g];_ instanceof me?h[g]=_:h[g]=new me(_.type,_.data,_.dims)}return Ze(),h}async release(){return this.handler.dispose()}static async create(t,n,f,i){Je();let m,c={};if(typeof t==\"string\"){if(m=t,typeof n==\"object\"&&n!==null)c=n;else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof Uint8Array){if(m=t,typeof n==\"object\"&&n!==null)c=n;else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<\"u\"&&t instanceof SharedArrayBuffer){let _=t,v=0,O=t.byteLength;if(typeof n==\"object\"&&n!==null)c=n;else if(typeof n==\"number\"){if(v=n,!Number.isSafeInteger(v))throw new RangeError(\"'byteOffset' must be an integer.\");if(v<0||v>=_.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${_.byteLength}).`);if(O=t.byteLength-v,typeof f==\"number\"){if(O=f,!Number.isSafeInteger(O))throw new RangeError(\"'byteLength' must be an integer.\");if(O<=0||v+O>_.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${_.byteLength-v}].`);if(typeof i==\"object\"&&i!==null)c=i;else if(typeof i<\"u\")throw new TypeError(\"'options' must be an object.\")}else if(typeof f<\"u\")throw new TypeError(\"'byteLength' must be a number.\")}else if(typeof n<\"u\")throw new TypeError(\"'options' must be an object.\");m=new Uint8Array(_,v,O)}else throw new TypeError(\"Unexpected argument[0]: must be 'path' or 'buffer'.\");let[s,h]=await Dt(c),g=await s.createInferenceSessionHandler(m,h);return Ze(),new r(g)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}});var xa,vn=H(()=>{\"use strict\";bn();xa=Bt});var On=H(()=>{\"use strict\"});var En=H(()=>{\"use strict\"});var _n=H(()=>{\"use strict\"});var Tn=H(()=>{\"use strict\"});var Ra,Lt,An=H(()=>{\"use strict\";Ut();It();Ra=\"Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.\",Lt=class r{constructor(t,n,f){this.handler=t,this.hasOptimizerModel=n,this.hasEvalModel=f}get trainingInputNames(){return this.handler.inputNames}get trainingOutputNames(){return this.handler.outputNames}get evalInputNames(){if(this.hasEvalModel)return this.handler.evalInputNames;throw new Error(\"This training session has no evalModel loaded.\")}get evalOutputNames(){if(this.hasEvalModel)return this.handler.evalOutputNames;throw new Error(\"This training session has no evalModel loaded.\")}static async create(t,n){let f=t.evalModel||\"\",i=t.optimizerModel||\"\",m=n||{},[c,s]=await Dt(m);if(c.createTrainingSessionHandler){let h=await c.createTrainingSessionHandler(t.checkpointState,t.trainModel,f,i,s);return new r(h,!!t.optimizerModel,!!t.evalModel)}else throw new Error(Ra)}typeNarrowingForRunStep(t,n,f,i,m){let c={},s={};if(typeof f!=\"object\"||f===null||f instanceof me||Array.isArray(f))throw new TypeError(\"'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.\");let h=!0;if(typeof i==\"object\"){if(i===null)throw new TypeError(\"Unexpected argument[1]: cannot be null.\");if(i instanceof me)throw new TypeError(\"'fetches' cannot be a Tensor\");if(Array.isArray(i)){if(i.length===0)throw new TypeError(\"'fetches' cannot be an empty array.\");h=!1;for(let g of i){if(typeof g!=\"string\")throw new TypeError(\"'fetches' must be a string array or an object.\");if(n.indexOf(g)===-1)throw new RangeError(`'fetches' contains invalid output name: ${g}.`);c[g]=null}if(typeof m==\"object\"&&m!==null)s=m;else if(typeof m<\"u\")throw new TypeError(\"'options' must be an object.\")}else{let g=!1,_=Object.getOwnPropertyNames(i);for(let v of n)if(_.indexOf(v)!==-1){let O=i[v];(O===null||O instanceof me)&&(g=!0,h=!1,c[v]=O)}if(g){if(typeof m==\"object\"&&m!==null)s=m;else if(typeof m<\"u\")throw new TypeError(\"'options' must be an object.\")}else s=i}}else if(typeof i<\"u\")throw new TypeError(\"Unexpected argument[1]: must be 'fetches' or 'options'.\");for(let g of t)if(typeof f[g]>\"u\")throw new Error(`input '${g}' is missing in 'feeds'.`);if(h)for(let g of n)c[g]=null;return[c,s]}convertHandlerReturnTypeToMapOfTensors(t){let n={};for(let f in t)if(Object.hasOwnProperty.call(t,f)){let i=t[f];i instanceof me?n[f]=i:n[f]=new me(i.type,i.data,i.dims)}return n}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(t,n,f){let[i,m]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,t,n,f),c=await this.handler.runTrainStep(t,i,m);return this.convertHandlerReturnTypeToMapOfTensors(c)}async runOptimizerStep(t){if(this.hasOptimizerModel)await this.handler.runOptimizerStep(t||{});else throw new Error(\"This TrainingSession has no OptimizerModel loaded.\")}async runEvalStep(t,n,f){if(this.hasEvalModel){let[i,m]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,t,n,f),c=await this.handler.runEvalStep(t,i,m);return this.convertHandlerReturnTypeToMapOfTensors(c)}else throw new Error(\"This TrainingSession has no EvalModel loaded.\")}async getParametersSize(t=!0){return this.handler.getParametersSize(t)}async loadParametersBuffer(t,n=!0){let f=await this.getParametersSize(n);if(t.length!==4*f)throw new Error(\"Size of the buffer passed into loadParametersBuffer must match the number of parameters in the model. Please use getParametersSize method to check.\");return this.handler.loadParametersBuffer(t,n)}async getContiguousParameters(t=!0){return this.handler.getContiguousParameters(t)}async release(){return this.handler.dispose()}}});var Da,Sn=H(()=>{\"use strict\";An();Da=Lt});var or={};gt(or,{InferenceSession:()=>xa,TRACE:()=>yn,TRACE_FUNC_BEGIN:()=>Je,TRACE_FUNC_END:()=>Ze,Tensor:()=>me,TrainingSession:()=>Da,env:()=>j,registerBackend:()=>yt});var Qe=H(()=>{\"use strict\";Zr();tn();vn();It();On();En();ar();_n();Tn();Sn()});var ir={};gt(ir,{createReadStream:()=>Cn,readFile:()=>Ua,readFileSync:()=>Fa});var Ua,Fa,Cn,sr=H(()=>{Ua=void 0,Fa=void 0,Cn=void 0});var ur={};gt(ur,{join:()=>Ia});var Ia,fr=H(()=>{Ia=void 0});var Rn=rt((xn,lr)=>{\"use strict\";var Pn=(()=>{var r=typeof document<\"u\"?document.currentScript?.src:void 0;return typeof __filename<\"u\"&&(r||=__filename),function(t={}){var n=t,f,i,m=new Promise((a,l)=>{f=a,i=l}),c=Object.assign({},n),s=\"./this.program\",h=typeof window==\"object\",g=typeof importScripts==\"function\",_=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",v=\"\",O,M,P;if(_){var U=(sr(),nt(ir)),D=(fr(),nt(ur));v=g?D.dirname(v)+\"/\":__dirname+\"/\",O=(a,l)=>(a=ge(a)?new URL(a):D.normalize(a),U.readFileSync(a,l?void 0:\"utf8\")),P=a=>(a=O(a,!0),a.buffer||(a=new Uint8Array(a)),a),M=(a,l,d,b=!0)=>{a=ge(a)?new URL(a):D.normalize(a),U.readFile(a,b?void 0:\"utf8\",(A,R)=>{A?d(A):l(b?R.buffer:R)})},!n.thisProgram&&1{var l=new XMLHttpRequest;return l.open(\"GET\",a,!1),l.send(null),l.responseText},g&&(P=a=>{var l=new XMLHttpRequest;return l.open(\"GET\",a,!1),l.responseType=\"arraybuffer\",l.send(null),new Uint8Array(l.response)}),M=(a,l,d)=>{var b=new XMLHttpRequest;b.open(\"GET\",a,!0),b.responseType=\"arraybuffer\",b.onload=()=>{b.status==200||b.status==0&&b.response?l(b.response):d()},b.onerror=d,b.send(null)});var C=console.log.bind(console),F=console.error.bind(console);Object.assign(n,c),c=null;var W,Z=!1,te,re,x,Q,Le;function he(){var a=W.buffer;n.HEAP8=te=new Int8Array(a),n.HEAP16=new Int16Array(a),n.HEAPU8=re=new Uint8Array(a),n.HEAPU16=new Uint16Array(a),n.HEAP32=x=new Int32Array(a),n.HEAPU32=Q=new Uint32Array(a),n.HEAPF32=new Float32Array(a),n.HEAPF64=Le=new Float64Array(a)}var $e=[],se=[],K=[],Ae=0,we=null,L=null;function ce(a){throw a=\"Aborted(\"+a+\")\",F(a),Z=!0,a=new WebAssembly.RuntimeError(a+\". Build with -sASSERTIONS for more info.\"),i(a),a}var ke=a=>a.startsWith(\"data:application/octet-stream;base64,\"),ge=a=>a.startsWith(\"file://\"),Oe;if(Oe=\"ort-wasm.wasm\",!ke(Oe)){var ue=Oe;Oe=n.locateFile?n.locateFile(ue,v):v+ue}function ne(a){if(P)return P(a);throw\"both async and sync fetching of the wasm failed\"}function ut(a){if(h||g){if(typeof fetch==\"function\"&&!ge(a))return fetch(a,{credentials:\"same-origin\"}).then(l=>{if(!l.ok)throw`failed to load wasm binary file at '${a}'`;return l.arrayBuffer()}).catch(()=>ne(a));if(M)return new Promise((l,d)=>{M(a,b=>l(new Uint8Array(b)),d)})}return Promise.resolve().then(()=>ne(a))}function Se(a,l,d){return ut(a).then(b=>WebAssembly.instantiate(b,l)).then(d,b=>{F(`failed to asynchronously prepare wasm: ${b}`),ce(b)})}function Ne(a,l){var d=Oe;return typeof WebAssembly.instantiateStreaming!=\"function\"||ke(d)||ge(d)||_||typeof fetch!=\"function\"?Se(d,a,l):fetch(d,{credentials:\"same-origin\"}).then(b=>WebAssembly.instantiateStreaming(b,a).then(l,function(A){return F(`wasm streaming compile failed: ${A}`),F(\"falling back to ArrayBuffer instantiation\"),Se(d,a,l)}))}var Me,Re={798088:(a,l,d,b)=>{if(typeof n>\"u\"||!n.ya)return 1;if(a=de(a>>>0),a.startsWith(\"./\")&&(a=a.substring(2)),a=n.ya.get(a),!a)return 2;if(l>>>=0,d>>>=0,l+d>a.byteLength)return 3;try{return re.set(a.subarray(l,l+d),b>>>0>>>0),0}catch{return 4}}};class Ce{constructor(l){this.wa=l-24}}var be=0,Ge=0,oe=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,ie=(a,l,d)=>{l>>>=0;var b=l+d;for(d=l;a[d]&&!(d>=b);)++d;if(16A?b+=String.fromCharCode(A):(A-=65536,b+=String.fromCharCode(55296|A>>10,56320|A&1023))}}else b+=String.fromCharCode(A)}return b},de=(a,l)=>(a>>>=0)?ie(re,a,l):\"\",Pe=a=>{for(var l=0,d=0;d=b?l++:2047>=b?l+=2:55296<=b&&57343>=b?(l+=4,++d):l+=3}return l},xe=(a,l,d,b)=>{if(d>>>=0,!(0=N){var ae=a.charCodeAt(++R);N=65536+((N&1023)<<10)|ae&1023}if(127>=N){if(d>=b)break;l[d++>>>0]=N}else{if(2047>=N){if(d+1>=b)break;l[d++>>>0]=192|N>>6}else{if(65535>=N){if(d+2>=b)break;l[d++>>>0]=224|N>>12}else{if(d+3>=b)break;l[d++>>>0]=240|N>>18,l[d++>>>0]=128|N>>12&63}l[d++>>>0]=128|N>>6&63}l[d++>>>0]=128|N&63}}return l[d>>>0]=0,d-A},We=a=>a%4===0&&(a%100!==0||a%400===0),ft=[0,31,60,91,121,152,182,213,244,274,305,335],Et=[0,31,59,90,120,151,181,212,243,273,304,334],De=[],et={},je=()=>{if(!ze){var a={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:s||\"./this.program\"},l;for(l in et)et[l]===void 0?delete a[l]:a[l]=et[l];var d=[];for(l in a)d.push(`${l}=${a[l]}`);ze=d}return ze},ze,_t=[null,[],[]],Ie=[31,29,31,30,31,30,31,31,30,31,30,31],Tt=[31,28,31,30,31,30,31,31,30,31,30,31];function z(a){var l=Array(Pe(a)+1);return xe(a,l,0,l.length),l}function lt(a,l,d,b){function A(y,$,Y){for(y=typeof y==\"number\"?y.toString():y||\"\";y.length<$;)y=Y[0]+y;return y}function R(y,$){return A(y,$,\"0\")}function N(y,$){function Y(ht){return 0>ht?-1:0Ue-y.getDate())$-=Ue-y.getDate()+1,y.setDate(1),11>Y?y.setMonth(Y+1):(y.setMonth(0),y.setFullYear(y.getFullYear()+1));else{y.setDate(y.getDate()+$);break}}return Y=new Date(y.getFullYear()+1,0,4),$=ae(new Date(y.getFullYear(),0,4)),Y=ae(Y),0>=N($,y)?0>=N(Y,y)?y.getFullYear()+1:y.getFullYear():y.getFullYear()-1}a>>>=0,l>>>=0,d>>>=0,b>>>=0;var fe=Q[b+40>>>2>>>0];b={Ba:x[b>>>2>>>0],Aa:x[b+4>>>2>>>0],ua:x[b+8>>>2>>>0],xa:x[b+12>>>2>>>0],va:x[b+16>>>2>>>0],ta:x[b+20>>>2>>>0],na:x[b+24>>>2>>>0],sa:x[b+28>>>2>>>0],Da:x[b+32>>>2>>>0],za:x[b+36>>>2>>>0],Ca:fe?de(fe):\"\"},d=de(d),fe={\"%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 le in fe)d=d.replace(new RegExp(le,\"g\"),fe[le]);var mt=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),He=\"January February March April May June July August September October November December\".split(\" \");fe={\"%a\":y=>mt[y.na].substring(0,3),\"%A\":y=>mt[y.na],\"%b\":y=>He[y.va].substring(0,3),\"%B\":y=>He[y.va],\"%C\":y=>R((y.ta+1900)/100|0,2),\"%d\":y=>R(y.xa,2),\"%e\":y=>A(y.xa,2,\" \"),\"%g\":y=>Ee(y).toString().substring(2),\"%G\":Ee,\"%H\":y=>R(y.ua,2),\"%I\":y=>(y=y.ua,y==0?y=12:12{for(var $=0,Y=0;Y<=y.va-1;$+=(We(y.ta+1900)?Ie:Tt)[Y++]);return R(y.xa+$,3)},\"%m\":y=>R(y.va+1,2),\"%M\":y=>R(y.Aa,2),\"%n\":()=>`\n`,\"%p\":y=>0<=y.ua&&12>y.ua?\"AM\":\"PM\",\"%S\":y=>R(y.Ba,2),\"%t\":()=>\"\t\",\"%u\":y=>y.na||7,\"%U\":y=>R(Math.floor((y.sa+7-y.na)/7),2),\"%V\":y=>{var $=Math.floor((y.sa+7-(y.na+6)%7)/7);if(2>=(y.na+371-y.sa-2)%7&&$++,$)$==53&&(Y=(y.na+371-y.sa)%7,Y==4||Y==3&&We(y.ta)||($=1));else{$=52;var Y=(y.na+7-y.sa-1)%7;(Y==4||Y==5&&We(y.ta%400-1))&&$++}return R($,2)},\"%w\":y=>y.na,\"%W\":y=>R(Math.floor((y.sa+7-(y.na+6)%7)/7),2),\"%y\":y=>(y.ta+1900).toString().substring(2),\"%Y\":y=>y.ta+1900,\"%z\":y=>{y=y.za;var $=0<=y;return y=Math.abs(y)/60,($?\"+\":\"-\")+(\"0000\"+(y/60*100+y%60)).slice(-4)},\"%Z\":y=>y.Ca,\"%%\":()=>\"%\"},d=d.replace(/%%/g,\"\\0\\0\");for(le in fe)d.includes(le)&&(d=d.replace(new RegExp(le,\"g\"),fe[le](b)));return d=d.replace(/\\0\\0/g,\"%\"),le=z(d),le.length>l?0:(te.set(le,a>>>0),le.length-1)}var ct={a:function(a,l,d){a>>>=0;var b=new Ce(a);throw Q[b.wa+16>>>2>>>0]=0,Q[b.wa+4>>>2>>>0]=l>>>0,Q[b.wa+8>>>2>>>0]=d>>>0,be=a,Ge++,be},e:function(){return 0},H:function(){},x:function(){},z:function(){},J:function(){return 0},F:function(){},A:function(){},E:function(){},g:function(){},y:function(){},v:function(){},G:function(){},w:function(){},k:()=>1,I:function(a,l,d){return l>>>=0,re.copyWithin(a>>>0>>>0,l>>>0,l+(d>>>0)>>>0)},n:function(a,l,d){a=l+2097152>>>0<4194305-!!a?(a>>>0)+4294967296*l:NaN,d>>>=0,a=new Date(1e3*a),x[d>>>2>>>0]=a.getUTCSeconds(),x[d+4>>>2>>>0]=a.getUTCMinutes(),x[d+8>>>2>>>0]=a.getUTCHours(),x[d+12>>>2>>>0]=a.getUTCDate(),x[d+16>>>2>>>0]=a.getUTCMonth(),x[d+20>>>2>>>0]=a.getUTCFullYear()-1900,x[d+24>>>2>>>0]=a.getUTCDay(),x[d+28>>>2>>>0]=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},o:function(a,l,d){a=l+2097152>>>0<4194305-!!a?(a>>>0)+4294967296*l:NaN,d>>>=0,a=new Date(1e3*a),x[d>>>2>>>0]=a.getSeconds(),x[d+4>>>2>>>0]=a.getMinutes(),x[d+8>>>2>>>0]=a.getHours(),x[d+12>>>2>>>0]=a.getDate(),x[d+16>>>2>>>0]=a.getMonth(),x[d+20>>>2>>>0]=a.getFullYear()-1900,x[d+24>>>2>>>0]=a.getDay(),x[d+28>>>2>>>0]=(We(a.getFullYear())?ft:Et)[a.getMonth()]+a.getDate()-1|0,x[d+36>>>2>>>0]=-(60*a.getTimezoneOffset()),l=new Date(a.getFullYear(),6,1).getTimezoneOffset();var b=new Date(a.getFullYear(),0,1).getTimezoneOffset();x[d+32>>>2>>>0]=(l!=b&&a.getTimezoneOffset()==Math.min(b,l))|0},p:function(a){a>>>=0;var l=new Date(x[a+20>>>2>>>0]+1900,x[a+16>>>2>>>0],x[a+12>>>2>>>0],x[a+8>>>2>>>0],x[a+4>>>2>>>0],x[a>>>2>>>0],0),d=x[a+32>>>2>>>0],b=l.getTimezoneOffset(),A=new Date(l.getFullYear(),6,1).getTimezoneOffset(),R=new Date(l.getFullYear(),0,1).getTimezoneOffset(),N=Math.min(R,A);return 0>d?x[a+32>>>2>>>0]=+(A!=R&&N==b):0>>2>>>0]=l.getDay(),x[a+28>>>2>>>0]=(We(l.getFullYear())?ft:Et)[l.getMonth()]+l.getDate()-1|0,x[a>>>2>>>0]=l.getSeconds(),x[a+4>>>2>>>0]=l.getMinutes(),x[a+8>>>2>>>0]=l.getHours(),x[a+12>>>2>>>0]=l.getDate(),x[a+16>>>2>>>0]=l.getMonth(),x[a+20>>>2>>>0]=l.getYear(),a=l.getTime(),a=isNaN(a)?-1:a/1e3,dt((Me=a,1<=+Math.abs(Me)?0>>0:~~+Math.ceil((Me-+(~~Me>>>0))/4294967296)>>>0:0)),a>>>0},l:function(){return-52},m:function(){},t:function(a,l,d,b){d>>>=0,b>>>=0;var A=new Date().getFullYear(),R=new Date(A,0,1),N=new Date(A,6,1);A=R.getTimezoneOffset();var ae=N.getTimezoneOffset();Q[a>>>0>>>2>>>0]=60*Math.max(A,ae),x[l>>>0>>>2>>>0]=+(A!=ae),a=Ee=>Ee.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:\"short\"}).split(\" \")[1],R=a(R),N=a(N),ae{ce(\"\")},B:function(a,l,d){a>>>=0,l>>>=0,d>>>=0,De.length=0;for(var b;b=re[l++>>>0];){var A=b!=105;A&=b!=112,d+=A&&d%8?4:0,De.push(b==112?Q[d>>>2>>>0]:b==105?x[d>>>2>>>0]:Le[d>>>3>>>0]),d+=A?8:4}return Re[a](...De)},h:()=>Date.now(),u:function(){return 4294901760},b:()=>performance.now(),s:function(a){a>>>=0;var l=re.length;if(4294901760=d;d*=2){var b=l*(1+.2/d);b=Math.min(b,a+100663296);var A=Math;b=Math.max(a,b);e:{A=(A.min.call(A,4294901760,b+(65536-b%65536)%65536)-W.buffer.byteLength+65535)/65536;try{W.grow(A),he();var R=1;break e}catch{}R=void 0}if(R)return!0}return!1},C:function(a,l){a>>>=0,l>>>=0;var d=0;return je().forEach((b,A)=>{var R=l+d;for(A=Q[a+4*A>>>2>>>0]=R,R=0;R>>0]=b.charCodeAt(R);te[A>>>0]=0,d+=b.length+1}),0},D:function(a,l){a>>>=0,l>>>=0;var d=je();Q[a>>>2>>>0]=d.length;var b=0;return d.forEach(A=>b+=A.length+1),Q[l>>>2>>>0]=b,0},f:()=>52,j:function(){return 52},q:function(){return 70},i:function(a,l,d,b){l>>>=0,d>>>=0,b>>>=0;for(var A=0,R=0;R>>2>>>0],ae=Q[l+4>>>2>>>0];l+=8;for(var Ee=0;Ee>>0],le=_t[a];fe===0||fe===10?((a===1?C:F)(ie(le,0)),le.length=0):le.push(fe)}A+=ae}return Q[b>>>2>>>0]=A,0},r:lt,c:function(a,l,d,b){return lt(a>>>0,l>>>0,d>>>0,b>>>0)}},k=function(){function a(d){return k=d.exports,k=St(),W=k.K,he(),se.unshift(k.L),Ae--,Ae==0&&(we!==null&&(clearInterval(we),we=null),L&&(d=L,L=null,d())),k}var l={a:ct};if(Ae++,n.instantiateWasm)try{return n.instantiateWasm(l,a)}catch(d){F(`Module.instantiateWasm callback failed with error: ${d}`),i(d)}return Ne(l,function(d){a(d.instance)}).catch(i),{}}();n._OrtInit=(a,l)=>(n._OrtInit=k.M)(a,l),n._OrtGetLastError=(a,l)=>(n._OrtGetLastError=k.N)(a,l),n._OrtCreateSessionOptions=(a,l,d,b,A,R,N,ae,Ee,fe)=>(n._OrtCreateSessionOptions=k.O)(a,l,d,b,A,R,N,ae,Ee,fe),n._OrtAppendExecutionProvider=(a,l)=>(n._OrtAppendExecutionProvider=k.P)(a,l),n._OrtAddFreeDimensionOverride=(a,l,d)=>(n._OrtAddFreeDimensionOverride=k.Q)(a,l,d),n._OrtAddSessionConfigEntry=(a,l,d)=>(n._OrtAddSessionConfigEntry=k.R)(a,l,d),n._OrtReleaseSessionOptions=a=>(n._OrtReleaseSessionOptions=k.S)(a),n._OrtCreateSession=(a,l,d)=>(n._OrtCreateSession=k.T)(a,l,d),n._OrtReleaseSession=a=>(n._OrtReleaseSession=k.U)(a),n._OrtGetInputOutputCount=(a,l,d)=>(n._OrtGetInputOutputCount=k.V)(a,l,d),n._OrtGetInputName=(a,l)=>(n._OrtGetInputName=k.W)(a,l),n._OrtGetOutputName=(a,l)=>(n._OrtGetOutputName=k.X)(a,l),n._OrtFree=a=>(n._OrtFree=k.Y)(a),n._OrtCreateTensor=(a,l,d,b,A,R)=>(n._OrtCreateTensor=k.Z)(a,l,d,b,A,R),n._OrtGetTensorData=(a,l,d,b,A)=>(n._OrtGetTensorData=k._)(a,l,d,b,A),n._OrtReleaseTensor=a=>(n._OrtReleaseTensor=k.$)(a),n._OrtCreateRunOptions=(a,l,d,b)=>(n._OrtCreateRunOptions=k.aa)(a,l,d,b),n._OrtAddRunConfigEntry=(a,l,d)=>(n._OrtAddRunConfigEntry=k.ba)(a,l,d),n._OrtReleaseRunOptions=a=>(n._OrtReleaseRunOptions=k.ca)(a),n._OrtCreateBinding=a=>(n._OrtCreateBinding=k.da)(a),n._OrtBindInput=(a,l,d)=>(n._OrtBindInput=k.ea)(a,l,d),n._OrtBindOutput=(a,l,d,b)=>(n._OrtBindOutput=k.fa)(a,l,d,b),n._OrtClearBoundOutputs=a=>(n._OrtClearBoundOutputs=k.ga)(a),n._OrtReleaseBinding=a=>(n._OrtReleaseBinding=k.ha)(a),n._OrtRunWithBinding=(a,l,d,b,A)=>(n._OrtRunWithBinding=k.ia)(a,l,d,b,A),n._OrtRun=(a,l,d,b,A,R,N,ae)=>(n._OrtRun=k.ja)(a,l,d,b,A,R,N,ae),n._OrtEndProfiling=a=>(n._OrtEndProfiling=k.ka)(a),n._malloc=a=>(n._malloc=k.la)(a),n._free=a=>(n._free=k.ma)(a);var dt=a=>(dt=k.oa)(a),At=a=>(At=k.pa)(a),I=a=>(I=k.qa)(a),Ye=()=>(Ye=k.ra)();function St(){var a=k;a=Object.assign({},a);var l=d=>b=>d(b)>>>0;return a.la=l(a.la),a.qa=l(a.qa),a.ra=(d=>()=>d()>>>0)(a.ra),a}n.stackSave=()=>Ye(),n.stackRestore=a=>At(a),n.stackAlloc=a=>I(a),n.UTF8ToString=de,n.stringToUTF8=(a,l,d)=>xe(a,re,l,d),n.lengthBytesUTF8=Pe;var Be;L=function a(){Be||pt(),Be||(L=a)};function pt(){if(!(0Pn)});var Dn=rt(()=>{});var Un=rt(()=>{});var Fn={};gt(Fn,{cpus:()=>Ba});var Ba,In=H(()=>{Ba=void 0});var kn=rt((Ln,cr)=>{\"use strict\";var Bn=(()=>{var r=typeof document<\"u\"?document.currentScript?.src:void 0;return typeof __filename<\"u\"&&(r||=__filename),function(t={}){function n(){return K.buffer!=ce.buffer&&ne(),ce}function f(){return K.buffer!=ce.buffer&&ne(),ke}function i(){return K.buffer!=ce.buffer&&ne(),ge}function m(){return K.buffer!=ce.buffer&&ne(),Oe}function c(){return K.buffer!=ce.buffer&&ne(),ue}var s=t,h,g,_=new Promise((e,o)=>{h=e,g=o}),v=Object.assign({},s),O=\"./this.program\",M=(e,o)=>{throw o},P=typeof window==\"object\",U=typeof importScripts==\"function\",D=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",C=s.ENVIRONMENT_IS_PTHREAD||!1,F=\"\";function W(e){return s.locateFile?s.locateFile(e,F):F+e}var Z,te,re;if(D){var x=(sr(),nt(ir)),Q=(fr(),nt(ur));F=U?Q.dirname(F)+\"/\":__dirname+\"/\",Z=(e,o)=>(e=de(e)?new URL(e):Q.normalize(e),x.readFileSync(e,o?void 0:\"utf8\")),re=e=>(e=Z(e,!0),e.buffer||(e=new Uint8Array(e)),e),te=(e,o,u,p=!0)=>{e=de(e)?new URL(e):Q.normalize(e),x.readFile(e,p?void 0:\"utf8\",(T,E)=>{T?u(T):o(p?E.buffer:E)})},!s.thisProgram&&1{throw process.exitCode=e,o},global.Worker=Dn().Worker}else(P||U)&&(U?F=self.location.href:typeof document<\"u\"&&document.currentScript&&(F=document.currentScript.src),typeof r<\"u\"&&r&&(F=r),F.startsWith(\"blob:\")?F=\"\":F=F.substr(0,F.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1),D||(Z=e=>{var o=new XMLHttpRequest;return o.open(\"GET\",e,!1),o.send(null),o.responseText},U&&(re=e=>{var o=new XMLHttpRequest;return o.open(\"GET\",e,!1),o.responseType=\"arraybuffer\",o.send(null),new Uint8Array(o.response)}),te=(e,o,u)=>{var p=new XMLHttpRequest;p.open(\"GET\",e,!0),p.responseType=\"arraybuffer\",p.onload=()=>{p.status==200||p.status==0&&p.response?o(p.response):u()},p.onerror=u,p.send(null)}));D&&typeof performance>\"u\"&&(global.performance=Un().performance);var Le=console.log.bind(console),he=console.error.bind(console);D&&(Le=(...e)=>x.writeSync(1,e.join(\" \")+`\n`),he=(...e)=>x.writeSync(2,e.join(\" \")+`\n`));var $e=Le,se=he;Object.assign(s,v),v=null;var K,Ae,we=!1,L,ce,ke,ge,Oe,ue;function ne(){var e=K.buffer;s.HEAP8=ce=new Int8Array(e),s.HEAP16=new Int16Array(e),s.HEAPU8=ke=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAP32=ge=new Int32Array(e),s.HEAPU32=Oe=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=ue=new Float64Array(e)}var ut=16777216;if(C)K=s.wasmMemory;else if(s.wasmMemory)K=s.wasmMemory;else if(K=new WebAssembly.Memory({initial:ut/65536,maximum:65536,shared:!0}),!(K.buffer instanceof SharedArrayBuffer))throw se(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),D&&se(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)\"),Error(\"bad memory\");ne(),ut=K.buffer.byteLength;var Se=[],Ne=[],Me=[],Re=0,Ce=null,be=null;function Ge(){if(Re--,Re==0&&(Ce!==null&&(clearInterval(Ce),Ce=null),be)){var e=be;be=null,e()}}function oe(e){throw e=\"Aborted(\"+e+\")\",se(e),we=!0,L=1,e=new WebAssembly.RuntimeError(e+\". Build with -sASSERTIONS for more info.\"),g(e),e}var ie=e=>e.startsWith(\"data:application/octet-stream;base64,\"),de=e=>e.startsWith(\"file://\"),Pe;Pe=\"ort-wasm-threaded.wasm\",ie(Pe)||(Pe=W(Pe));function xe(e){if(re)return re(e);throw\"both async and sync fetching of the wasm failed\"}function We(e){if(P||U){if(typeof fetch==\"function\"&&!de(e))return fetch(e,{credentials:\"same-origin\"}).then(o=>{if(!o.ok)throw`failed to load wasm binary file at '${e}'`;return o.arrayBuffer()}).catch(()=>xe(e));if(te)return new Promise((o,u)=>{te(e,p=>o(new Uint8Array(p)),u)})}return Promise.resolve().then(()=>xe(e))}function ft(e,o,u){return We(e).then(p=>WebAssembly.instantiate(p,o)).then(u,p=>{se(`failed to asynchronously prepare wasm: ${p}`),oe(p)})}function Et(e,o){var u=Pe;return typeof WebAssembly.instantiateStreaming!=\"function\"||ie(u)||de(u)||D||typeof fetch!=\"function\"?ft(u,e,o):fetch(u,{credentials:\"same-origin\"}).then(p=>WebAssembly.instantiateStreaming(p,e).then(o,function(T){return se(`wasm streaming compile failed: ${T}`),se(\"falling back to ArrayBuffer instantiation\"),ft(u,e,o)}))}var De,et={799444:(e,o,u,p)=>{if(typeof s>\"u\"||!s.bb)return 1;if(e=ae(e>>>0),e.startsWith(\"./\")&&(e=e.substring(2)),e=s.bb.get(e),!e)return 2;if(o>>>=0,u>>>=0,p>>>=0,o+u>e.byteLength)return 3;try{return f().set(e.subarray(o,o+u),p>>>0),0}catch{return 4}}};function je(e){this.name=\"ExitStatus\",this.message=`Program terminated with exit(${e})`,this.status=e}var ze=e=>{e.terminate(),e.onmessage=()=>{}},_t=e=>{I.Oa.length==0&&(dt(),I.Xa(I.Oa[0]));var o=I.Oa.pop();if(!o)return 6;I.Pa.push(o),I.La[e.Na]=o,o.Na=e.Na;var u={cmd:\"run\",start_routine:e.gb,arg:e.cb,pthread_ptr:e.Na};return D&&o.unref(),o.postMessage(u,e.mb),0},Ie=0,Tt=e=>{var o=er();return e=e(),Pt(o),e},z=(e,o,...u)=>Tt(()=>{for(var p=u.length,T=Kt(8*p),E=T>>>3,S=0;S>>0]=X}return Gr(e,0,p,T,o)});function lt(e){if(C)return z(0,1,e);L=e,0{if(L=e,C)throw St(e),\"unwind\";lt(e)};function k(){for(var e=s.numThreads;e--;)dt();Se.unshift(()=>{Re++,At(()=>Ge())})}function dt(){var e=W(\"ort-wasm-threaded.worker.js\");e=new Worker(e),I.Oa.push(e)}function At(e){C?e():Promise.all(I.Oa.map(I.Xa)).then(e)}var I={Oa:[],Pa:[],ab:[],La:{},Va(){C?(I.receiveObjectTransfer=I.fb,I.threadInitTLS=I.$a,I.setExitStatus=I.Za):k()},Za:e=>L=e,pb:[\"$terminateWorker\"],hb:()=>{for(var e of I.Pa)ze(e);for(e of I.Oa)ze(e);I.Oa=[],I.Pa=[],I.La=[]},Ya:e=>{var o=e.Na;delete I.La[o],I.Oa.push(e),I.Pa.splice(I.Pa.indexOf(e),1),e.Na=0,Zt(o)},fb(){},$a(){I.ab.forEach(e=>e())},Xa:e=>new Promise(o=>{e.onmessage=E=>{E=E.data;var S=E.cmd;if(E.targetThread&&E.targetThread!=Ct()){var X=I.La[E.targetThread];X?X.postMessage(E,E.transferList):se(`Internal error! Worker sent a message \"${S}\" to target pthread ${E.targetThread}, but that thread no longer exists!`)}else S===\"checkMailbox\"?Mt():S===\"spawnThread\"?_t(E):S===\"cleanupThread\"?I.Ya(I.La[E.thread]):S===\"killThread\"?(E=E.thread,S=I.La[E],delete I.La[E],ze(S),Zt(E),I.Pa.splice(I.Pa.indexOf(S),1),S.Na=0):S===\"cancelThread\"?I.La[E.thread].postMessage({cmd:\"cancel\"}):S===\"loaded\"?(e.loaded=!0,D&&!e.Na&&e.unref(),o(e)):S===\"alert\"?alert(`Thread ${E.threadId}: ${E.text}`):E.target===\"setimmediate\"?e.postMessage(E):S===\"callHandler\"?s[E.handler](...E.args):S&&se(`worker sent an unknown command ${S}`)},e.onerror=E=>{throw se(`worker sent an error! ${E.filename}:${E.lineno}: ${E.message}`),E},D&&(e.on(\"message\",E=>e.onmessage({data:E})),e.on(\"error\",E=>e.onerror(E)));var u=[],p=[\"onExit\"],T;for(T of p)s.hasOwnProperty(T)&&u.push(T);e.postMessage({cmd:\"load\",handlers:u,urlOrBlob:s.mainScriptUrlOrBlob||r,wasmMemory:K,wasmModule:Ae})})};s.PThread=I;var Ye=e=>{for(;0{var e=Ct(),o=m()[e+52>>>2>>>0];e=m()[e+56>>>2>>>0],Yr(o,o-e),Pt(o)};function St(e){if(C)return z(1,0,e);ct(e)}var Be=[],pt;s.invokeEntryPoint=(e,o)=>{Ie=0;var u=Be[e];u||(e>=Be.length&&(Be.length=e+1),Be[e]=u=pt.get(e)),e=u(o),0>>2>>>0]=0,m()[this.Ua+4>>>2>>>0]=o,m()[this.Ua+8>>>2>>>0]=u}}var l=0,d=0;function b(e,o,u,p){return C?z(2,1,e,o,u,p):A(e,o,u,p)}function A(e,o,u,p){if(e>>>=0,o>>>=0,u>>>=0,p>>>=0,typeof SharedArrayBuffer>\"u\")return se(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var T=[];return C&&T.length===0?b(e,o,u,p):(e={gb:u,Na:e,cb:p,mb:T},C?(e.ob=\"spawnThread\",postMessage(e,T),0):_t(e))}var R=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,N=(e,o,u)=>{o>>>=0;var p=o+u;for(u=o;e[u]&&!(u>=p);)++u;if(16T?p+=String.fromCharCode(T):(T-=65536,p+=String.fromCharCode(55296|T>>10,56320|T&1023))}}else p+=String.fromCharCode(T)}return p},ae=(e,o)=>(e>>>=0)?N(f(),e,o):\"\";function Ee(e,o,u){return C?z(3,1,e,o,u):0}function fe(e,o){if(C)return z(4,1,e,o)}var le=e=>{for(var o=0,u=0;u=p?o++:2047>=p?o+=2:55296<=p&&57343>=p?(o+=4,++u):o+=3}return o},mt=(e,o,u,p)=>{if(u>>>=0,!(0=S){var X=e.charCodeAt(++E);S=65536+((S&1023)<<10)|X&1023}if(127>=S){if(u>=p)break;o[u++>>>0]=S}else{if(2047>=S){if(u+1>=p)break;o[u++>>>0]=192|S>>6}else{if(65535>=S){if(u+2>=p)break;o[u++>>>0]=224|S>>12}else{if(u+3>=p)break;o[u++>>>0]=240|S>>18,o[u++>>>0]=128|S>>12&63}o[u++>>>0]=128|S>>6&63}o[u++>>>0]=128|S&63}}return o[u>>>0]=0,u-T},He=(e,o,u)=>mt(e,f(),o,u);function y(e,o){if(C)return z(5,1,e,o)}function $(e,o,u){if(C)return z(6,1,e,o,u)}function Y(e,o,u){return C?z(7,1,e,o,u):0}function Ue(e,o){if(C)return z(8,1,e,o)}function ht(e,o,u){if(C)return z(9,1,e,o,u)}function Er(e,o,u,p){if(C)return z(10,1,e,o,u,p)}function _r(e,o,u,p){if(C)return z(11,1,e,o,u,p)}function Tr(e,o,u,p){if(C)return z(12,1,e,o,u,p)}function Ar(e){if(C)return z(13,1,e)}function Sr(e,o){if(C)return z(14,1,e,o)}function Mr(e,o,u){if(C)return z(15,1,e,o,u)}function Yt(e){e>>>=0,typeof Atomics.nb==\"function\"&&(Atomics.nb(i(),e>>>2,e).value.then(Mt),e+=128,Atomics.store(i(),e>>>2,1))}s.__emscripten_thread_mailbox_await=Yt;var Mt=()=>{var e=Ct();if(e&&(Yt(e),e=jr,!we))try{if(e(),!(0e%4===0&&(e%100!==0||e%400===0),Cr=[0,31,60,91,121,152,182,213,244,274,305,335],Pr=[0,31,59,90,120,151,181,212,243,273,304,334];function xr(e,o,u,p,T,E,S,X){return C?z(16,1,e,o,u,p,T,E,S,X):-52}function Rr(e,o,u,p,T,E,S){if(C)return z(17,1,e,o,u,p,T,E,S)}var Vt=[],Xt={},Dr=()=>{if(!Jt){var e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:O||\"./this.program\"},o;for(o in Xt)Xt[o]===void 0?delete e[o]:e[o]=Xt[o];var u=[];for(o in e)u.push(`${o}=${e[o]}`);Jt=u}return Jt},Jt;function Ur(e,o){if(C)return z(18,1,e,o);e>>>=0,o>>>=0;var u=0;return Dr().forEach((p,T)=>{var E=o+u;for(T=m()[e+4*T>>>2>>>0]=E,E=0;E>>0]=p.charCodeAt(E);n()[T>>>0]=0,u+=p.length+1}),0}function Fr(e,o){if(C)return z(19,1,e,o);e>>>=0,o>>>=0;var u=Dr();m()[e>>>2>>>0]=u.length;var p=0;return u.forEach(T=>p+=T.length+1),m()[o>>>2>>>0]=p,0}function Ir(e){return C?z(20,1,e):52}function Br(e,o,u,p){return C?z(21,1,e,o,u,p):52}function Lr(e,o,u,p,T){return C?z(22,1,e,o,u,p,T):70}var ba=[null,[],[]];function kr(e,o,u,p){if(C)return z(23,1,e,o,u,p);o>>>=0,u>>>=0,p>>>=0;for(var T=0,E=0;E>>2>>>0],X=m()[o+4>>>2>>>0];o+=8;for(var Fe=0;Fe>>0],ve=ba[e];pe===0||pe===10?((e===1?$e:se)(N(ve,0)),ve.length=0):ve.push(pe)}T+=X}return m()[p>>>2>>>0]=T,0}var Nr=[31,29,31,30,31,30,31,31,30,31,30,31],Wr=[31,28,31,30,31,30,31,31,30,31,30,31];function va(e){var o=Array(le(e)+1);return mt(e,o,0,o.length),o}var Oa=(e,o)=>{n().set(e,o>>>0)};function Hr(e,o,u,p){function T(w,G,J){for(w=typeof w==\"number\"?w.toString():w||\"\";w.lengthJr?-1:0qe-w.getDate())G-=qe-w.getDate()+1,w.setDate(1),11>J?w.setMonth(J+1):(w.setMonth(0),w.setFullYear(w.getFullYear()+1));else{w.setDate(w.getDate()+G);break}}return J=new Date(w.getFullYear()+1,0,4),G=X(new Date(w.getFullYear(),0,4)),J=X(J),0>=S(G,w)?0>=S(J,w)?w.getFullYear()+1:w.getFullYear():w.getFullYear()-1}e>>>=0,o>>>=0,u>>>=0,p>>>=0;var pe=m()[p+40>>>2>>>0];p={kb:i()[p>>>2>>>0],jb:i()[p+4>>>2>>>0],Sa:i()[p+8>>>2>>>0],Wa:i()[p+12>>>2>>>0],Ta:i()[p+16>>>2>>>0],Ra:i()[p+20>>>2>>>0],Ma:i()[p+24>>>2>>>0],Qa:i()[p+28>>>2>>>0],qb:i()[p+32>>>2>>>0],ib:i()[p+36>>>2>>>0],lb:pe?ae(pe):\"\"},u=ae(u),pe={\"%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 ve in pe)u=u.replace(new RegExp(ve,\"g\"),pe[ve]);var Vr=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),Xr=\"January February March April May June July August September October November December\".split(\" \");pe={\"%a\":w=>Vr[w.Ma].substring(0,3),\"%A\":w=>Vr[w.Ma],\"%b\":w=>Xr[w.Ta].substring(0,3),\"%B\":w=>Xr[w.Ta],\"%C\":w=>E((w.Ra+1900)/100|0,2),\"%d\":w=>E(w.Wa,2),\"%e\":w=>T(w.Wa,2,\" \"),\"%g\":w=>Fe(w).toString().substring(2),\"%G\":Fe,\"%H\":w=>E(w.Sa,2),\"%I\":w=>(w=w.Sa,w==0?w=12:12{for(var G=0,J=0;J<=w.Ta-1;G+=(tt(w.Ra+1900)?Nr:Wr)[J++]);return E(w.Wa+G,3)},\"%m\":w=>E(w.Ta+1,2),\"%M\":w=>E(w.jb,2),\"%n\":()=>`\n`,\"%p\":w=>0<=w.Sa&&12>w.Sa?\"AM\":\"PM\",\"%S\":w=>E(w.kb,2),\"%t\":()=>\"\t\",\"%u\":w=>w.Ma||7,\"%U\":w=>E(Math.floor((w.Qa+7-w.Ma)/7),2),\"%V\":w=>{var G=Math.floor((w.Qa+7-(w.Ma+6)%7)/7);if(2>=(w.Ma+371-w.Qa-2)%7&&G++,G)G==53&&(J=(w.Ma+371-w.Qa)%7,J==4||J==3&&tt(w.Ra)||(G=1));else{G=52;var J=(w.Ma+7-w.Qa-1)%7;(J==4||J==5&&tt(w.Ra%400-1))&&G++}return E(G,2)},\"%w\":w=>w.Ma,\"%W\":w=>E(Math.floor((w.Qa+7-(w.Ma+6)%7)/7),2),\"%y\":w=>(w.Ra+1900).toString().substring(2),\"%Y\":w=>w.Ra+1900,\"%z\":w=>{w=w.ib;var G=0<=w;return w=Math.abs(w)/60,(G?\"+\":\"-\")+(\"0000\"+(w/60*100+w%60)).slice(-4)},\"%Z\":w=>w.lb,\"%%\":()=>\"%\"},u=u.replace(/%%/g,\"\\0\\0\");for(ve in pe)u.includes(ve)&&(u=u.replace(new RegExp(ve,\"g\"),pe[ve](p)));return u=u.replace(/\\0\\0/g,\"%\"),ve=va(u),ve.length>o?0:(Oa(ve,e),ve.length-1)}I.Va();var Ea=[lt,St,b,Ee,fe,y,$,Y,Ue,ht,Er,_r,Tr,Ar,Sr,Mr,xr,Rr,Ur,Fr,Ir,Br,Lr,kr],_a={b:function(e,o,u){throw e>>>=0,new a(e).Va(o>>>0,u>>>0),l=e,d++,l},L:function(e){$r(e>>>0,!U,1,!P,131072,!1),I.$a()},j:function(e){e>>>=0,C?postMessage({cmd:\"cleanupThread\",thread:e}):I.Ya(I.La[e])},H:A,h:Ee,S:fe,D:y,F:$,T:Y,Q:Ue,J:ht,P:Er,n:_r,E:Tr,B:Ar,R:Sr,C:Mr,p:()=>1,z:function(e,o){e>>>=0,e==o>>>0?setTimeout(Mt):C?postMessage({targetThread:e,cmd:\"checkMailbox\"}):(e=I.La[e])&&e.postMessage({cmd:\"checkMailbox\"})},I:function(e,o,u,p,T){o>>>=0,u>>>=0,qt.length=p,T=T>>>0>>>3;for(var E=0;E>>0];return e=o?et[o]:Ea[e],I.eb=u,u=e(...qt),I.eb=0,u},K:Yt,o:function(e){D&&I.La[e>>>0].ref()},s:function(e,o,u){e=o+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*o:NaN,u>>>=0,e=new Date(1e3*e),i()[u>>>2>>>0]=e.getUTCSeconds(),i()[u+4>>>2>>>0]=e.getUTCMinutes(),i()[u+8>>>2>>>0]=e.getUTCHours(),i()[u+12>>>2>>>0]=e.getUTCDate(),i()[u+16>>>2>>>0]=e.getUTCMonth(),i()[u+20>>>2>>>0]=e.getUTCFullYear()-1900,i()[u+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,i()[u+28>>>2>>>0]=e},t:function(e,o,u){e=o+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*o:NaN,u>>>=0,e=new Date(1e3*e),i()[u>>>2>>>0]=e.getSeconds(),i()[u+4>>>2>>>0]=e.getMinutes(),i()[u+8>>>2>>>0]=e.getHours(),i()[u+12>>>2>>>0]=e.getDate(),i()[u+16>>>2>>>0]=e.getMonth(),i()[u+20>>>2>>>0]=e.getFullYear()-1900,i()[u+24>>>2>>>0]=e.getDay(),o=(tt(e.getFullYear())?Cr:Pr)[e.getMonth()]+e.getDate()-1|0,i()[u+28>>>2>>>0]=o,i()[u+36>>>2>>>0]=-(60*e.getTimezoneOffset()),o=new Date(e.getFullYear(),6,1).getTimezoneOffset();var p=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=(o!=p&&e.getTimezoneOffset()==Math.min(p,o))|0,i()[u+32>>>2>>>0]=e},u:function(e){e>>>=0;var o=new Date(i()[e+20>>>2>>>0]+1900,i()[e+16>>>2>>>0],i()[e+12>>>2>>>0],i()[e+8>>>2>>>0],i()[e+4>>>2>>>0],i()[e>>>2>>>0],0),u=i()[e+32>>>2>>>0],p=o.getTimezoneOffset(),T=new Date(o.getFullYear(),6,1).getTimezoneOffset(),E=new Date(o.getFullYear(),0,1).getTimezoneOffset(),S=Math.min(E,T);return 0>u?i()[e+32>>>2>>>0]=+(T!=E&&S==p):0>>2>>>0]=o.getDay(),u=(tt(o.getFullYear())?Cr:Pr)[o.getMonth()]+o.getDate()-1|0,i()[e+28>>>2>>>0]=u,i()[e>>>2>>>0]=o.getSeconds(),i()[e+4>>>2>>>0]=o.getMinutes(),i()[e+8>>>2>>>0]=o.getHours(),i()[e+12>>>2>>>0]=o.getDate(),i()[e+16>>>2>>>0]=o.getMonth(),i()[e+20>>>2>>>0]=o.getYear(),e=o.getTime(),e=isNaN(e)?-1:e/1e3,zr((De=e,1<=+Math.abs(De)?0>>0:~~+Math.ceil((De-+(~~De>>>0))/4294967296)>>>0:0)),e>>>0},q:xr,r:Rr,y:function(e,o,u,p){e>>>=0,o>>>=0,u>>>=0,p>>>=0;var T=new Date().getFullYear(),E=new Date(T,0,1),S=new Date(T,6,1);T=E.getTimezoneOffset();var X=S.getTimezoneOffset(),Fe=Math.max(T,X);m()[e>>>2>>>0]=60*Fe,i()[o>>>2>>>0]=+(T!=X),e=pe=>pe.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:\"short\"}).split(\" \")[1],E=e(E),S=e(S),X{oe(\"\")},O:function(e,o,u){e>>>=0,o>>>=0,u>>>=0,Vt.length=0;for(var p;p=f()[o++>>>0];){var T=p!=105;T&=p!=112,u+=T&&u%8?4:0,Vt.push(p==112?m()[u>>>2>>>0]:p==105?i()[u>>>2>>>0]:c()[u>>>3>>>0]),u+=T?8:4}return et[e](...Vt)},k:()=>{},i:()=>Date.now(),U:()=>{throw Ie+=1,\"unwind\"},A:function(){return 4294901760},e:()=>performance.timeOrigin+performance.now(),f:()=>D?(In(),nt(Fn)).cpus().length:navigator.hardwareConcurrency,x:function(e){e>>>=0;var o=f().length;if(e<=o||4294901760=u;u*=2){var p=o*(1+.2/u);p=Math.min(p,e+100663296);var T=Math;p=Math.max(e,p);e:{T=(T.min.call(T,4294901760,p+(65536-p%65536)%65536)-K.buffer.byteLength+65535)/65536;try{K.grow(T),ne();var E=1;break e}catch{}E=void 0}if(E)return!0}return!1},M:Ur,N:Fr,G:ct,g:Ir,m:Br,v:Lr,l:kr,a:K||s.wasmMemory,w:Hr,d:function(e,o,u,p){return Hr(e>>>0,o>>>0,u>>>0,p>>>0)}},B=function(){function e(u,p){return B=u.exports,B=Ta(),I.ab.push(B.ya),pt=B.za,Ne.unshift(B.V),Ae=p,Ge(),B}var o={a:_a};if(Re++,s.instantiateWasm)try{return s.instantiateWasm(o,e)}catch(u){se(`Module.instantiateWasm callback failed with error: ${u}`),g(u)}return Et(o,function(u){e(u.instance,u.module)}).catch(g),{}}();s._OrtInit=(e,o)=>(s._OrtInit=B.W)(e,o),s._OrtGetLastError=(e,o)=>(s._OrtGetLastError=B.X)(e,o),s._OrtCreateSessionOptions=(e,o,u,p,T,E,S,X,Fe,pe)=>(s._OrtCreateSessionOptions=B.Y)(e,o,u,p,T,E,S,X,Fe,pe),s._OrtAppendExecutionProvider=(e,o)=>(s._OrtAppendExecutionProvider=B.Z)(e,o),s._OrtAddFreeDimensionOverride=(e,o,u)=>(s._OrtAddFreeDimensionOverride=B._)(e,o,u),s._OrtAddSessionConfigEntry=(e,o,u)=>(s._OrtAddSessionConfigEntry=B.$)(e,o,u),s._OrtReleaseSessionOptions=e=>(s._OrtReleaseSessionOptions=B.aa)(e),s._OrtCreateSession=(e,o,u)=>(s._OrtCreateSession=B.ba)(e,o,u),s._OrtReleaseSession=e=>(s._OrtReleaseSession=B.ca)(e),s._OrtGetInputOutputCount=(e,o,u)=>(s._OrtGetInputOutputCount=B.da)(e,o,u),s._OrtGetInputName=(e,o)=>(s._OrtGetInputName=B.ea)(e,o),s._OrtGetOutputName=(e,o)=>(s._OrtGetOutputName=B.fa)(e,o),s._OrtFree=e=>(s._OrtFree=B.ga)(e),s._OrtCreateTensor=(e,o,u,p,T,E)=>(s._OrtCreateTensor=B.ha)(e,o,u,p,T,E),s._OrtGetTensorData=(e,o,u,p,T)=>(s._OrtGetTensorData=B.ia)(e,o,u,p,T),s._OrtReleaseTensor=e=>(s._OrtReleaseTensor=B.ja)(e),s._OrtCreateRunOptions=(e,o,u,p)=>(s._OrtCreateRunOptions=B.ka)(e,o,u,p),s._OrtAddRunConfigEntry=(e,o,u)=>(s._OrtAddRunConfigEntry=B.la)(e,o,u),s._OrtReleaseRunOptions=e=>(s._OrtReleaseRunOptions=B.ma)(e),s._OrtCreateBinding=e=>(s._OrtCreateBinding=B.na)(e),s._OrtBindInput=(e,o,u)=>(s._OrtBindInput=B.oa)(e,o,u),s._OrtBindOutput=(e,o,u,p)=>(s._OrtBindOutput=B.pa)(e,o,u,p),s._OrtClearBoundOutputs=e=>(s._OrtClearBoundOutputs=B.qa)(e),s._OrtReleaseBinding=e=>(s._OrtReleaseBinding=B.ra)(e),s._OrtRunWithBinding=(e,o,u,p,T)=>(s._OrtRunWithBinding=B.sa)(e,o,u,p,T),s._OrtRun=(e,o,u,p,T,E,S,X)=>(s._OrtRun=B.ta)(e,o,u,p,T,E,S,X),s._OrtEndProfiling=e=>(s._OrtEndProfiling=B.ua)(e);var Ct=s._pthread_self=()=>(Ct=s._pthread_self=B.va)();s._malloc=e=>(s._malloc=B.wa)(e),s._free=e=>(s._free=B.xa)(e),s.__emscripten_tls_init=()=>(s.__emscripten_tls_init=B.ya)();var $r=s.__emscripten_thread_init=(e,o,u,p,T,E)=>($r=s.__emscripten_thread_init=B.Aa)(e,o,u,p,T,E);s.__emscripten_thread_crashed=()=>(s.__emscripten_thread_crashed=B.Ba)();var Gr=(e,o,u,p,T)=>(Gr=B.Ca)(e,o,u,p,T),Zt=e=>(Zt=B.Da)(e),Qt=s.__emscripten_thread_exit=e=>(Qt=s.__emscripten_thread_exit=B.Ea)(e),jr=()=>(jr=B.Fa)(),zr=e=>(zr=B.Ga)(e),Yr=(e,o)=>(Yr=B.Ha)(e,o),Pt=e=>(Pt=B.Ia)(e),Kt=e=>(Kt=B.Ja)(e),er=()=>(er=B.Ka)();function Ta(){var e=B;e=Object.assign({},e);var o=p=>()=>p()>>>0,u=p=>T=>p(T)>>>0;return e.va=o(e.va),e.wa=u(e.wa),e.emscripten_main_runtime_thread_id=o(e.emscripten_main_runtime_thread_id),e.Ja=u(e.Ja),e.Ka=o(e.Ka),e}s.wasmMemory=K,s.stackSave=()=>er(),s.stackRestore=e=>Pt(e),s.stackAlloc=e=>Kt(e),s.keepRuntimeAlive=()=>0Bn)});var Nn=rt((Zo,La)=>{La.exports='\"use strict\";var Module={},ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\"),parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",e=>onmessage({data:e}));var fs=require(\"fs\"),vm=require(\"vm\");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,\"utf8\"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(...e){var a=e.join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,a+`\\n`);return}console.error(a)}function threadAlert(...e){var a=e.join(\" \");postMessage({cmd:\"alert\",text:a,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,a)=>{var r=Module.wasmModule;Module.wasmModule=null;var t=new WebAssembly.Instance(r,e);return a(t)},self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd===\"load\"){let r=[];self.onmessage=t=>r.push(t),self.startWorker=t=>{Module=t,postMessage({cmd:\"loaded\"});for(let s of r)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const t of e.data.handlers)Module[t]=(...s)=>{postMessage({cmd:\"callHandler\",handler:t,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob==\"string\")importScripts(e.data.urlOrBlob);else{var a=URL.createObjectURL(e.data.urlOrBlob);importScripts(a),URL.revokeObjectURL(a)}ortWasmThreaded(Module)}else if(e.data.cmd===\"run\"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(r){if(r!=\"unwind\")throw r}}else e.data.cmd===\"cancel\"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target===\"setimmediate\"||(e.data.cmd===\"checkMailbox\"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(r){throw Module.__emscripten_thread_crashed?.(),r}}self.onmessage=handleMessage;\\n'});var Hn,ka,dr,pr,kt,Wn,Na,Wa,Ha,$n,ee,at=H(()=>{\"use strict\";Hn=Rn();ka=kn(),pr=!1,kt=!1,Wn=!1,Na=r=>{if(r===1)return!1;if(typeof SharedArrayBuffer>\"u\")return typeof self<\"u\"&&!self.crossOriginIsolated&&console.warn(\"env.wasm.numThreads is set to \"+r+\", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.\"),!1;typeof process<\"u\"&&process.versions&&process.versions.node&&console.warn(\"env.wasm.numThreads is set to \"+r+\", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.\");try{return typeof MessageChannel<\"u\"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},Wa=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Ha=(r,t)=>r?t?\"ort-wasm-simd-threaded.wasm\":\"ort-wasm-simd.wasm\":t?\"ort-wasm-threaded.wasm\":\"ort-wasm.wasm\",$n=async r=>{if(pr)return Promise.resolve();if(kt)throw new Error(\"multiple calls to 'initializeWebAssembly()' detected.\");if(Wn)throw new Error(\"previous call to 'initializeWebAssembly()' failed.\");kt=!0;let t=r.initTimeout,n=r.numThreads,f=r.simd,i=Na(n),m=f&&Wa(),c=r.wasmPaths,s=typeof c==\"string\"?c:void 0,h=Ha(m,i),g=typeof c==\"object\"?c[h]:void 0,_=!1,v=[];if(t>0&&v.push(new Promise(O=>{setTimeout(()=>{_=!0,O()},t)})),v.push(new Promise((O,M)=>{let P=i?ka:Hn,U={locateFile:(D,C)=>i&&D.endsWith(\".worker.js\")&&typeof Blob<\"u\"?URL.createObjectURL(new Blob([Nn()],{type:\"text/javascript\"})):D.endsWith(\".wasm\")?g||(s??C)+h:C+D};if(i)if(U.numThreads=n,typeof Blob>\"u\")U.mainScriptUrlOrBlob=(void 0)(__dirname,\"ort-wasm-threaded.js\");else{let D=`var ortWasmThreaded=${P.toString()};`;U.mainScriptUrlOrBlob=new Blob([D],{type:\"text/javascript\"})}P(U).then(D=>{kt=!1,pr=!0,dr=D,O()},D=>{kt=!1,Wn=!0,M(D)})})),await Promise.race(v),_)throw new Error(`WebAssembly backend initializing failed due to timeout: ${t}ms`)},ee=()=>{if(pr&&dr)return dr;throw new Error(\"WebAssembly is not initialized yet.\")}});var q,bt,V,Nt=H(()=>{\"use strict\";at();q=(r,t)=>{let n=ee(),f=n.lengthBytesUTF8(r)+1,i=n._malloc(f);return n.stringToUTF8(r,i,f),t.push(i),i},bt=(r,t,n,f)=>{if(typeof r==\"object\"&&r!==null){if(n.has(r))throw new Error(\"Circular reference in options\");n.add(r)}Object.entries(r).forEach(([i,m])=>{let c=t?t+i:i;if(typeof m==\"object\")bt(m,c+\".\",n,f);else if(typeof m==\"string\"||typeof m==\"number\")f(c,m.toString());else if(typeof m==\"boolean\")f(c,m?\"1\":\"0\");else throw new Error(`Can't handle extra config type: ${typeof m}`)})},V=r=>{let t=ee(),n=t.stackSave();try{let f=t.stackAlloc(8);t._OrtGetLastError(f,f+4);let i=t.HEAP32[f/4],m=t.HEAPU32[f/4+1],c=m?t.UTF8ToString(m):\"\";throw new Error(`${r} ERROR_CODE: ${i}, ERROR_MESSAGE: ${c}`)}finally{t.stackRestore(n)}}});var Gn,jn=H(()=>{\"use strict\";at();Nt();Gn=r=>{let t=ee(),n=0,f=[],i=r||{};try{if(r?.logSeverityLevel===void 0)i.logSeverityLevel=2;else if(typeof r.logSeverityLevel!=\"number\"||!Number.isInteger(r.logSeverityLevel)||r.logSeverityLevel<0||r.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${r.logSeverityLevel}`);if(r?.logVerbosityLevel===void 0)i.logVerbosityLevel=0;else if(typeof r.logVerbosityLevel!=\"number\"||!Number.isInteger(r.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${r.logVerbosityLevel}`);r?.terminate===void 0&&(i.terminate=!1);let m=0;return r?.tag!==void 0&&(m=q(r.tag,f)),n=t._OrtCreateRunOptions(i.logSeverityLevel,i.logVerbosityLevel,!!i.terminate,m),n===0&&V(\"Can't create run options.\"),r?.extra!==void 0&&bt(r.extra,\"\",new WeakSet,(c,s)=>{let h=q(c,f),g=q(s,f);t._OrtAddRunConfigEntry(n,h,g)!==0&&V(`Can't set a run config entry: ${c} - ${s}.`)}),[n,f]}catch(m){throw n!==0&&t._OrtReleaseRunOptions(n),f.forEach(c=>t._free(c)),m}}});var $a,Ga,ja,za,zn,Yn=H(()=>{\"use strict\";at();Nt();$a=r=>{switch(r){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${r}`)}},Ga=r=>{switch(r){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${r}`)}},ja=r=>{r.extra||(r.extra={}),r.extra.session||(r.extra.session={});let t=r.extra.session;t.use_ort_model_bytes_directly||(t.use_ort_model_bytes_directly=\"1\"),r.executionProviders&&r.executionProviders.some(n=>(typeof n==\"string\"?n:n.name)===\"webgpu\")&&(r.enableMemPattern=!1)},za=(r,t,n)=>{for(let f of t){let i=typeof f==\"string\"?f:f.name;switch(i){case\"webnn\":if(i=\"WEBNN\",typeof f!=\"string\"){let c=f;if(c?.deviceType){let s=q(\"deviceType\",n),h=q(c.deviceType,n);ee()._OrtAddSessionConfigEntry(r,s,h)!==0&&V(`Can't set a session config entry: 'deviceType' - ${c.deviceType}.`)}if(c?.numThreads){let s=c.numThreads;(typeof s!=\"number\"||!Number.isInteger(s)||s<0)&&(s=0);let h=q(\"numThreads\",n),g=q(s.toString(),n);ee()._OrtAddSessionConfigEntry(r,h,g)!==0&&V(`Can't set a session config entry: 'numThreads' - ${c.numThreads}.`)}if(c?.powerPreference){let s=q(\"powerPreference\",n),h=q(c.powerPreference,n);ee()._OrtAddSessionConfigEntry(r,s,h)!==0&&V(`Can't set a session config entry: 'powerPreference' - ${c.powerPreference}.`)}}break;case\"webgpu\":if(i=\"JS\",typeof f!=\"string\"){let c=f;if(c?.preferredLayout){if(c.preferredLayout!==\"NCHW\"&&c.preferredLayout!==\"NHWC\")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${c.preferredLayout}`);let s=q(\"preferredLayout\",n),h=q(c.preferredLayout,n);ee()._OrtAddSessionConfigEntry(r,s,h)!==0&&V(`Can't set a session config entry: 'preferredLayout' - ${c.preferredLayout}.`)}}break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported execution provider: ${i}`)}let m=q(i,n);ee()._OrtAppendExecutionProvider(r,m)!==0&&V(`Can't append execution provider: ${i}.`)}},zn=r=>{let t=ee(),n=0,f=[],i=r||{};ja(i);try{let m=$a(i.graphOptimizationLevel??\"all\"),c=Ga(i.executionMode??\"sequential\"),s=typeof i.logId==\"string\"?q(i.logId,f):0,h=i.logSeverityLevel??2;if(!Number.isInteger(h)||h<0||h>4)throw new Error(`log serverity level is not valid: ${h}`);let g=i.logVerbosityLevel??0;if(!Number.isInteger(g)||g<0||g>4)throw new Error(`log verbosity level is not valid: ${g}`);let _=typeof i.optimizedModelFilePath==\"string\"?q(i.optimizedModelFilePath,f):0;if(n=t._OrtCreateSessionOptions(m,!!i.enableCpuMemArena,!!i.enableMemPattern,c,!!i.enableProfiling,0,s,h,g,_),n===0&&V(\"Can't create session options.\"),i.executionProviders&&za(n,i.executionProviders,f),i.enableGraphCapture!==void 0){if(typeof i.enableGraphCapture!=\"boolean\")throw new Error(`enableGraphCapture must be a boolean value: ${i.enableGraphCapture}`);let v=q(\"enableGraphCapture\",f),O=q(i.enableGraphCapture.toString(),f);t._OrtAddSessionConfigEntry(n,v,O)!==0&&V(`Can't set a session config entry: 'enableGraphCapture' - ${i.enableGraphCapture}.`)}if(i.freeDimensionOverrides)for(let[v,O]of Object.entries(i.freeDimensionOverrides)){if(typeof v!=\"string\")throw new Error(`free dimension override name must be a string: ${v}`);if(typeof O!=\"number\"||!Number.isInteger(O)||O<0)throw new Error(`free dimension override value must be a non-negative integer: ${O}`);let M=q(v,f);t._OrtAddFreeDimensionOverride(n,M,O)!==0&&V(`Can't set a free dimension override: ${v} - ${O}.`)}return i.extra!==void 0&&bt(i.extra,\"\",new WeakSet,(v,O)=>{let M=q(v,f),P=q(O,f);t._OrtAddSessionConfigEntry(n,M,P)!==0&&V(`Can't set a session config entry: ${v} - ${O}.`)}),[n,f]}catch(m){throw n!==0&&t._OrtReleaseSessionOptions(n),f.forEach(c=>t._free(c)),m}}});var mr,qn,hr,Vn,Xn,Wt,Jn,gr=H(()=>{\"use strict\";mr=r=>{switch(r){case\"int8\":return 3;case\"uint8\":return 2;case\"bool\":return 9;case\"int16\":return 5;case\"uint16\":return 4;case\"int32\":return 6;case\"uint32\":return 12;case\"float16\":return 10;case\"float32\":return 1;case\"float64\":return 11;case\"string\":return 8;case\"int64\":return 7;case\"uint64\":return 13;default:throw new Error(`unsupported data type: ${r}`)}},qn=r=>{switch(r){case 3:return\"int8\";case 2:return\"uint8\";case 9:return\"bool\";case 5:return\"int16\";case 4:return\"uint16\";case 6:return\"int32\";case 12:return\"uint32\";case 10:return\"float16\";case 1:return\"float32\";case 11:return\"float64\";case 8:return\"string\";case 7:return\"int64\";case 13:return\"uint64\";default:throw new Error(`unsupported data type: ${r}`)}},hr=r=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][r],Vn=r=>{switch(r){case\"float16\":return typeof Float16Array<\"u\"&&Float16Array.from?Float16Array:Uint16Array;case\"float32\":return Float32Array;case\"uint8\":return Uint8Array;case\"int8\":return Int8Array;case\"uint16\":return Uint16Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"bool\":return Uint8Array;case\"float64\":return Float64Array;case\"uint32\":return Uint32Array;case\"int64\":return BigInt64Array;case\"uint64\":return BigUint64Array;default:throw new Error(`unsupported type: ${r}`)}},Xn=r=>{switch(r){case\"verbose\":return 0;case\"info\":return 1;case\"warning\":return 2;case\"error\":return 3;case\"fatal\":return 4;default:throw new Error(`unsupported logging level: ${r}`)}},Wt=r=>r===\"float32\"||r===\"float16\"||r===\"int32\"||r===\"int64\"||r===\"uint32\"||r===\"uint8\"||r===\"bool\",Jn=r=>{switch(r){case\"none\":return 0;case\"cpu\":return 1;case\"cpu-pinned\":return 2;case\"texture\":return 3;case\"gpu-buffer\":return 4;default:throw new Error(`unsupported data location: ${r}`)}}});var vt,yr=H(()=>{\"use strict\";vt=async r=>{if(typeof r==\"string\")if(typeof process<\"u\"&&process.versions&&process.versions.node)try{return new Uint8Array(await(void 0)(r))}catch(t){if(t.code===\"ERR_FS_FILE_TOO_LARGE\"){let n=(void 0)(r),f=[];for await(let i of n)f.push(i);return new Uint8Array(Buffer.concat(f))}throw t}else{let t=await fetch(r);if(!t.ok)throw new Error(`failed to load external data file: ${r}`);let n=t.headers.get(\"Content-Length\"),f=n?parseInt(n,10):0;if(f<1073741824)return new Uint8Array(await t.arrayBuffer());{if(!t.body)throw new Error(`failed to load external data file: ${r}, no response body.`);let i=t.body.getReader(),m;try{m=new ArrayBuffer(f)}catch(s){if(s instanceof RangeError){let h=Math.ceil(f/65536);m=new WebAssembly.Memory({initial:h,maximum:h}).buffer}else throw s}let c=0;for(;;){let{done:s,value:h}=await i.read();if(s)break;let g=h.byteLength;new Uint8Array(m,c,g).set(h),c+=g}return new Uint8Array(m,0,f)}}else return r instanceof Blob?new Uint8Array(await r.arrayBuffer()):r instanceof Uint8Array?r:new Uint8Array(r)}});var Ya,Qn,Kn,ot,qa,wr,ea,ta,Zn,ra,na,aa,oa=H(()=>{\"use strict\";jn();Yn();gr();at();Nt();yr();Ya=(r,t)=>{ee()._OrtInit(r,t)!==0&&V(\"Can't initialize onnxruntime.\")},Qn=async r=>{Ya(r.wasm.numThreads,Xn(r.logLevel))},Kn=async(r,t)=>{},ot=new Map,qa=r=>{let t=ee(),n=t.stackSave();try{let f=t.stackAlloc(8);return t._OrtGetInputOutputCount(r,f,f+4)!==0&&V(\"Can't get session input/output count.\"),[t.HEAP32[f/4],t.HEAP32[f/4+1]]}finally{t.stackRestore(n)}},wr=r=>{let t=ee(),n=t._malloc(r.byteLength);if(n===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${r.byteLength}.`);return t.HEAPU8.set(r,n),[n,r.byteLength]},ea=async(r,t)=>{let n,f,i=ee();Array.isArray(r)?[n,f]=r:r.buffer===i.HEAPU8.buffer?[n,f]=[r.byteOffset,r.byteLength]:[n,f]=wr(r);let m=0,c=0,s=0,h=[],g=[],_=[];try{if([c,h]=zn(t),t?.externalData&&i.mountExternalData){let F=[];for(let W of t.externalData){let Z=typeof W==\"string\"?W:W.path;F.push(vt(typeof W==\"string\"?W:W.data).then(te=>{i.mountExternalData(Z,te)}))}await Promise.all(F)}m=await i._OrtCreateSession(n,f,c),m===0&&V(\"Can't create a session.\");let[v,O]=qa(m),M=!!t?.enableGraphCapture,P=[],U=[],D=[];for(let F=0;Fi._OrtFree(O)),_.forEach(O=>i._OrtFree(O)),s!==0&&i._OrtReleaseBinding(s),m!==0&&i._OrtReleaseSession(m),v}finally{i._free(n),c!==0&&i._OrtReleaseSessionOptions(c),h.forEach(v=>i._free(v)),i.unmountExternalData?.()}},ta=r=>{let t=ee(),n=ot.get(r);if(!n)throw new Error(`cannot release session. invalid session id: ${r}`);let[f,i,m,c,s]=n;c&&(s&&t._OrtClearBoundOutputs(c.handle),t._OrtReleaseBinding(c.handle)),t.jsepOnReleaseSession?.(r),i.forEach(h=>t._OrtFree(h)),m.forEach(h=>t._OrtFree(h)),t._OrtReleaseSession(f),ot.delete(r)},Zn=(r,t,n,f,i,m=!1)=>{if(!r){t.push(0);return}let c=ee(),s=r[0],h=r[1],g=r[3],_,v;if(s===\"string\"&&g===\"gpu-buffer\")throw new Error(\"String tensor is not supported on GPU.\");if(m&&g!==\"gpu-buffer\")throw new Error(`External buffer must be provided for input/output index ${i} when enableGraphCapture is true.`);if(g===\"gpu-buffer\"){let P=r[2].gpuBuffer,U=hr(mr(s));v=h.reduce((C,F)=>C*F,1)*U;let D=c.jsepRegisterBuffer;if(!D)throw new Error('Tensor location \"gpu-buffer\" is not supported without using WebGPU.');_=D(f,i,P,v)}else{let P=r[2];if(Array.isArray(P)){v=4*P.length,_=c._malloc(v),n.push(_);let U=_/4;for(let D=0;Dc.HEAP32[P++]=D);let U=c._OrtCreateTensor(mr(s),_,v,M,h.length,Jn(g));U===0&&V(`Can't create tensor for input/output. session=${f}, index=${i}.`),t.push(U)}finally{c.stackRestore(O)}},ra=async(r,t,n,f,i,m)=>{let c=ee(),s=ot.get(r);if(!s)throw new Error(`cannot run inference. invalid session id: ${r}`);let h=s[0],g=s[1],_=s[2],v=s[3],O=s[4],M=s[5],P=t.length,U=f.length,D=0,C=[],F=[],W=[],Z=[],te=c.stackSave(),re=c.stackAlloc(P*4),x=c.stackAlloc(P*4),Q=c.stackAlloc(U*4),Le=c.stackAlloc(U*4);try{[D,C]=Gn(m);for(let L=0;Loe*ie,1);ue=qn(Ne);let Ge=v?.outputPreferredLocations[f[L]];if(ue===\"string\"){if(Ge===\"gpu-buffer\")throw new Error(\"String tensor is not supported on GPU.\");let oe=[],ie=ne/4;for(let de=0;de0){let oe=c.jsepGetBuffer;if(!oe)throw new Error('preferredLocation \"gpu-buffer\" is not supported without using WebGPU.');let ie=oe(ne),de=hr(Ne);if(de===void 0||!Wt(ue))throw new Error(`Unsupported data type: ${ue}`);Oe=!0,we.push([ue,Ce,{gpuBuffer:ie,download:c.jsepCreateDownloader(ie,be*de,ue),dispose:()=>{c._OrtReleaseTensor(ce)}},\"gpu-buffer\"])}else{let oe=Vn(ue),ie=new oe(be);new Uint8Array(ie.buffer,ie.byteOffset,ie.byteLength).set(c.HEAPU8.subarray(ne,ne+ie.byteLength)),we.push([ue,Ce,ie,\"cpu\"])}}finally{c.stackRestore(ke),ue===\"string\"&&ne&&c._free(ne),Oe||c._OrtReleaseTensor(ce)}}return v&&!O&&(c._OrtClearBoundOutputs(v.handle),ot.set(r,[h,g,_,v,O,!1])),we}finally{c.stackRestore(te),F.forEach(he=>c._OrtReleaseTensor(he)),W.forEach(he=>c._OrtReleaseTensor(he)),Z.forEach(he=>c._free(he)),D!==0&&c._OrtReleaseRunOptions(D),C.forEach(he=>c._free(he))}},na=r=>{let t=ee(),n=ot.get(r);if(!n)throw new Error(\"invalid session id\");let f=n[0],i=t._OrtEndProfiling(f);i===0&&V(\"Can't get an profile file name.\"),t._OrtFree(i)},aa=r=>{let t=[];for(let n of r){let f=n[2];!Array.isArray(f)&&\"buffer\"in f&&t.push(f.buffer)}return t}});var ia=rt((yi,Xa)=>{Xa.exports='/*!\\n * ONNX Runtime Web v1.18.0\\n * Copyright (c) Microsoft Corporation. All rights reserved.\\n * Licensed under the MIT License.\\n */\\n\"use strict\";(()=>{var vt=Object.defineProperty;var qr=Object.getOwnPropertyDescriptor;var Vr=Object.getOwnPropertyNames;var Jr=Object.prototype.hasOwnProperty;var _t=(i,c)=>()=>(i&&(c=i(i=0)),c);var Ke=(i,c)=>()=>(c||i((c={exports:{}}).exports,c),c.exports),Et=(i,c)=>{for(var a in c)vt(i,a,{get:c[a],enumerable:!0})},Xr=(i,c,a,h)=>{if(c&&typeof c==\"object\"||typeof c==\"function\")for(let f of Vr(c))!Jr.call(i,f)&&f!==a&&vt(i,f,{get:()=>c[f],enumerable:!(h=qr(c,f))||h.enumerable});return i};var et=i=>Xr(vt({},\"__esModule\",{value:!0}),i);var St={};Et(St,{createReadStream:()=>lr,readFile:()=>Qr,readFileSync:()=>Zr});var Qr,Zr,lr,At=_t(()=>{Qr=void 0,Zr=void 0,lr=void 0});var Tt={};Et(Tt,{join:()=>Kr});var Kr,Mt=_t(()=>{Kr=void 0});var pr=Ke((dr,Ct)=>{\"use strict\";var cr=(()=>{var i=typeof document<\"u\"?document.currentScript?.src:void 0;return typeof __filename<\"u\"&&(i||=__filename),function(c={}){var a=c,h,f,w=new Promise((t,o)=>{h=t,f=o}),g=Object.assign({},a),s=\"./this.program\",S=typeof window==\"object\",x=typeof importScripts==\"function\",H=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",A=\"\",I,V,R;if(H){var B=(At(),et(St)),D=(Mt(),et(Tt));A=x?D.dirname(A)+\"/\":__dirname+\"/\",I=(t,o)=>(t=ce(t)?new URL(t):D.normalize(t),B.readFileSync(t,o?void 0:\"utf8\")),R=t=>(t=I(t,!0),t.buffer||(t=new Uint8Array(t)),t),V=(t,o,u,m=!0)=>{t=ce(t)?new URL(t):D.normalize(t),B.readFile(t,m?void 0:\"utf8\",(O,E)=>{O?u(O):o(m?E.buffer:E)})},!a.thisProgram&&1{var o=new XMLHttpRequest;return o.open(\"GET\",t,!1),o.send(null),o.responseText},x&&(R=t=>{var o=new XMLHttpRequest;return o.open(\"GET\",t,!1),o.responseType=\"arraybuffer\",o.send(null),new Uint8Array(o.response)}),V=(t,o,u)=>{var m=new XMLHttpRequest;m.open(\"GET\",t,!0),m.responseType=\"arraybuffer\",m.onload=()=>{m.status==200||m.status==0&&m.response?o(m.response):u()},m.onerror=u,m.send(null)});var T=console.log.bind(console),L=console.error.bind(console);Object.assign(a,g),g=null;var W,de=!1,pe,Z,_,J,Pe;function le(){var t=W.buffer;a.HEAP8=pe=new Int8Array(t),a.HEAP16=new Int16Array(t),a.HEAPU8=Z=new Uint8Array(t),a.HEAPU16=new Uint16Array(t),a.HEAP32=_=new Int32Array(t),a.HEAPU32=J=new Uint32Array(t),a.HEAPF32=new Float32Array(t),a.HEAPF64=Pe=new Float64Array(t)}var Ie=[],ne=[],X=[],we=0,me=null,F=null;function ie(t){throw t=\"Aborted(\"+t+\")\",L(t),de=!0,t=new WebAssembly.RuntimeError(t+\". Build with -sASSERTIONS for more info.\"),f(t),t}var xe=t=>t.startsWith(\"data:application/octet-stream;base64,\"),ce=t=>t.startsWith(\"file://\"),be;if(be=\"ort-wasm.wasm\",!xe(be)){var ae=be;be=a.locateFile?a.locateFile(ae,A):A+ae}function K(t){if(R)return R(t);throw\"both async and sync fetching of the wasm failed\"}function je(t){if(S||x){if(typeof fetch==\"function\"&&!ce(t))return fetch(t,{credentials:\"same-origin\"}).then(o=>{if(!o.ok)throw`failed to load wasm binary file at \\'${t}\\'`;return o.arrayBuffer()}).catch(()=>K(t));if(V)return new Promise((o,u)=>{V(t,m=>o(new Uint8Array(m)),u)})}return Promise.resolve().then(()=>K(t))}function Oe(t,o,u){return je(t).then(m=>WebAssembly.instantiate(m,o)).then(u,m=>{L(`failed to asynchronously prepare wasm: ${m}`),ie(m)})}function Ue(t,o){var u=be;return typeof WebAssembly.instantiateStreaming!=\"function\"||xe(u)||ce(u)||H||typeof fetch!=\"function\"?Oe(u,t,o):fetch(u,{credentials:\"same-origin\"}).then(m=>WebAssembly.instantiateStreaming(m,t).then(o,function(O){return L(`wasm streaming compile failed: ${O}`),L(\"falling back to ArrayBuffer instantiation\"),Oe(u,t,o)}))}var ve,Ae={798088:(t,o,u,m)=>{if(typeof a>\"u\"||!a.ya)return 1;if(t=ue(t>>>0),t.startsWith(\"./\")&&(t=t.substring(2)),t=a.ya.get(t),!t)return 2;if(o>>>=0,u>>>=0,o+u>t.byteLength)return 3;try{return Z.set(t.subarray(o,o+u),m>>>0>>>0),0}catch{return 4}}};class _e{constructor(o){this.wa=o-24}}var ge=0,Be=0,te=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,re=(t,o,u)=>{o>>>=0;var m=o+u;for(u=o;t[u]&&!(u>=m);)++u;if(16O?m+=String.fromCharCode(O):(O-=65536,m+=String.fromCharCode(55296|O>>10,56320|O&1023))}}else m+=String.fromCharCode(O)}return m},ue=(t,o)=>(t>>>=0)?re(Z,t,o):\"\",Ee=t=>{for(var o=0,u=0;u=m?o++:2047>=m?o+=2:55296<=m&&57343>=m?(o+=4,++u):o+=3}return o},Se=(t,o,u,m)=>{if(u>>>=0,!(0=U){var ee=t.charCodeAt(++E);U=65536+((U&1023)<<10)|ee&1023}if(127>=U){if(u>=m)break;o[u++>>>0]=U}else{if(2047>=U){if(u+1>=m)break;o[u++>>>0]=192|U>>6}else{if(65535>=U){if(u+2>=m)break;o[u++>>>0]=224|U>>12}else{if(u+3>=m)break;o[u++>>>0]=240|U>>18,o[u++>>>0]=128|U>>12&63}o[u++>>>0]=128|U>>6&63}o[u++>>>0]=128|U&63}}return o[u>>>0]=0,u-O},Le=t=>t%4===0&&(t%100!==0||t%400===0),ze=[0,31,60,91,121,152,182,213,244,274,305,335],rt=[0,31,59,90,120,151,181,212,243,273,304,334],Te=[],Ge={},ke=()=>{if(!We){var t={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:s||\"./this.program\"},o;for(o in Ge)Ge[o]===void 0?delete t[o]:t[o]=Ge[o];var u=[];for(o in t)u.push(`${o}=${t[o]}`);We=u}return We},We,nt=[null,[],[]],De=[31,29,31,30,31,30,31,31,30,31,30,31],at=[31,28,31,30,31,30,31,31,30,31,30,31];function G(t){var o=Array(Ee(t)+1);return Se(t,o,0,o.length),o}function qe(t,o,u,m){function O(d,k,$){for(d=typeof d==\"number\"?d.toString():d||\"\";d.lengthZe?-1:0Me-d.getDate())k-=Me-d.getDate()+1,d.setDate(1),11>$?d.setMonth($+1):(d.setMonth(0),d.setFullYear(d.getFullYear()+1));else{d.setDate(d.getDate()+k);break}}return $=new Date(d.getFullYear()+1,0,4),k=ee(new Date(d.getFullYear(),0,4)),$=ee($),0>=U(k,d)?0>=U($,d)?d.getFullYear()+1:d.getFullYear():d.getFullYear()-1}t>>>=0,o>>>=0,u>>>=0,m>>>=0;var oe=J[m+40>>>2>>>0];m={Ba:_[m>>>2>>>0],Aa:_[m+4>>>2>>>0],ua:_[m+8>>>2>>>0],xa:_[m+12>>>2>>>0],va:_[m+16>>>2>>>0],ta:_[m+20>>>2>>>0],na:_[m+24>>>2>>>0],sa:_[m+28>>>2>>>0],Da:_[m+32>>>2>>>0],za:_[m+36>>>2>>>0],Ca:oe?ue(oe):\"\"},u=ue(u),oe={\"%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 se in oe)u=u.replace(new RegExp(se,\"g\"),oe[se]);var Qe=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),Re=\"January February March April May June July August September October November December\".split(\" \");oe={\"%a\":d=>Qe[d.na].substring(0,3),\"%A\":d=>Qe[d.na],\"%b\":d=>Re[d.va].substring(0,3),\"%B\":d=>Re[d.va],\"%C\":d=>E((d.ta+1900)/100|0,2),\"%d\":d=>E(d.xa,2),\"%e\":d=>O(d.xa,2,\" \"),\"%g\":d=>ye(d).toString().substring(2),\"%G\":ye,\"%H\":d=>E(d.ua,2),\"%I\":d=>(d=d.ua,d==0?d=12:12{for(var k=0,$=0;$<=d.va-1;k+=(Le(d.ta+1900)?De:at)[$++]);return E(d.xa+k,3)},\"%m\":d=>E(d.va+1,2),\"%M\":d=>E(d.Aa,2),\"%n\":()=>`\\n`,\"%p\":d=>0<=d.ua&&12>d.ua?\"AM\":\"PM\",\"%S\":d=>E(d.Ba,2),\"%t\":()=>\"\t\",\"%u\":d=>d.na||7,\"%U\":d=>E(Math.floor((d.sa+7-d.na)/7),2),\"%V\":d=>{var k=Math.floor((d.sa+7-(d.na+6)%7)/7);if(2>=(d.na+371-d.sa-2)%7&&k++,k)k==53&&($=(d.na+371-d.sa)%7,$==4||$==3&&Le(d.ta)||(k=1));else{k=52;var $=(d.na+7-d.sa-1)%7;($==4||$==5&&Le(d.ta%400-1))&&k++}return E(k,2)},\"%w\":d=>d.na,\"%W\":d=>E(Math.floor((d.sa+7-(d.na+6)%7)/7),2),\"%y\":d=>(d.ta+1900).toString().substring(2),\"%Y\":d=>d.ta+1900,\"%z\":d=>{d=d.za;var k=0<=d;return d=Math.abs(d)/60,(k?\"+\":\"-\")+(\"0000\"+(d/60*100+d%60)).slice(-4)},\"%Z\":d=>d.Ca,\"%%\":()=>\"%\"},u=u.replace(/%%/g,\"\\\\0\\\\0\");for(se in oe)u.includes(se)&&(u=u.replace(new RegExp(se,\"g\"),oe[se](m)));return u=u.replace(/\\\\0\\\\0/g,\"%\"),se=G(u),se.length>o?0:(pe.set(se,t>>>0),se.length-1)}var Ve={a:function(t,o,u){t>>>=0;var m=new _e(t);throw J[m.wa+16>>>2>>>0]=0,J[m.wa+4>>>2>>>0]=o>>>0,J[m.wa+8>>>2>>>0]=u>>>0,ge=t,Be++,ge},e:function(){return 0},H:function(){},x:function(){},z:function(){},J:function(){return 0},F:function(){},A:function(){},E:function(){},g:function(){},y:function(){},v:function(){},G:function(){},w:function(){},k:()=>1,I:function(t,o,u){return o>>>=0,Z.copyWithin(t>>>0>>>0,o>>>0,o+(u>>>0)>>>0)},n:function(t,o,u){t=o+2097152>>>0<4194305-!!t?(t>>>0)+4294967296*o:NaN,u>>>=0,t=new Date(1e3*t),_[u>>>2>>>0]=t.getUTCSeconds(),_[u+4>>>2>>>0]=t.getUTCMinutes(),_[u+8>>>2>>>0]=t.getUTCHours(),_[u+12>>>2>>>0]=t.getUTCDate(),_[u+16>>>2>>>0]=t.getUTCMonth(),_[u+20>>>2>>>0]=t.getUTCFullYear()-1900,_[u+24>>>2>>>0]=t.getUTCDay(),_[u+28>>>2>>>0]=(t.getTime()-Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0))/864e5|0},o:function(t,o,u){t=o+2097152>>>0<4194305-!!t?(t>>>0)+4294967296*o:NaN,u>>>=0,t=new Date(1e3*t),_[u>>>2>>>0]=t.getSeconds(),_[u+4>>>2>>>0]=t.getMinutes(),_[u+8>>>2>>>0]=t.getHours(),_[u+12>>>2>>>0]=t.getDate(),_[u+16>>>2>>>0]=t.getMonth(),_[u+20>>>2>>>0]=t.getFullYear()-1900,_[u+24>>>2>>>0]=t.getDay(),_[u+28>>>2>>>0]=(Le(t.getFullYear())?ze:rt)[t.getMonth()]+t.getDate()-1|0,_[u+36>>>2>>>0]=-(60*t.getTimezoneOffset()),o=new Date(t.getFullYear(),6,1).getTimezoneOffset();var m=new Date(t.getFullYear(),0,1).getTimezoneOffset();_[u+32>>>2>>>0]=(o!=m&&t.getTimezoneOffset()==Math.min(m,o))|0},p:function(t){t>>>=0;var o=new Date(_[t+20>>>2>>>0]+1900,_[t+16>>>2>>>0],_[t+12>>>2>>>0],_[t+8>>>2>>>0],_[t+4>>>2>>>0],_[t>>>2>>>0],0),u=_[t+32>>>2>>>0],m=o.getTimezoneOffset(),O=new Date(o.getFullYear(),6,1).getTimezoneOffset(),E=new Date(o.getFullYear(),0,1).getTimezoneOffset(),U=Math.min(E,O);return 0>u?_[t+32>>>2>>>0]=+(O!=E&&U==m):0>>2>>>0]=o.getDay(),_[t+28>>>2>>>0]=(Le(o.getFullYear())?ze:rt)[o.getMonth()]+o.getDate()-1|0,_[t>>>2>>>0]=o.getSeconds(),_[t+4>>>2>>>0]=o.getMinutes(),_[t+8>>>2>>>0]=o.getHours(),_[t+12>>>2>>>0]=o.getDate(),_[t+16>>>2>>>0]=o.getMonth(),_[t+20>>>2>>>0]=o.getYear(),t=o.getTime(),t=isNaN(t)?-1:t/1e3,Je((ve=t,1<=+Math.abs(ve)?0>>0:~~+Math.ceil((ve-+(~~ve>>>0))/4294967296)>>>0:0)),t>>>0},l:function(){return-52},m:function(){},t:function(t,o,u,m){u>>>=0,m>>>=0;var O=new Date().getFullYear(),E=new Date(O,0,1),U=new Date(O,6,1);O=E.getTimezoneOffset();var ee=U.getTimezoneOffset();J[t>>>0>>>2>>>0]=60*Math.max(O,ee),_[o>>>0>>>2>>>0]=+(O!=ee),t=ye=>ye.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:\"short\"}).split(\" \")[1],E=t(E),U=t(U),ee{ie(\"\")},B:function(t,o,u){t>>>=0,o>>>=0,u>>>=0,Te.length=0;for(var m;m=Z[o++>>>0];){var O=m!=105;O&=m!=112,u+=O&&u%8?4:0,Te.push(m==112?J[u>>>2>>>0]:m==105?_[u>>>2>>>0]:Pe[u>>>3>>>0]),u+=O?8:4}return Ae[t](...Te)},h:()=>Date.now(),u:function(){return 4294901760},b:()=>performance.now(),s:function(t){t>>>=0;var o=Z.length;if(4294901760=u;u*=2){var m=o*(1+.2/u);m=Math.min(m,t+100663296);var O=Math;m=Math.max(t,m);e:{O=(O.min.call(O,4294901760,m+(65536-m%65536)%65536)-W.buffer.byteLength+65535)/65536;try{W.grow(O),le();var E=1;break e}catch{}E=void 0}if(E)return!0}return!1},C:function(t,o){t>>>=0,o>>>=0;var u=0;return ke().forEach((m,O)=>{var E=o+u;for(O=J[t+4*O>>>2>>>0]=E,E=0;E>>0]=m.charCodeAt(E);pe[O>>>0]=0,u+=m.length+1}),0},D:function(t,o){t>>>=0,o>>>=0;var u=ke();J[t>>>2>>>0]=u.length;var m=0;return u.forEach(O=>m+=O.length+1),J[o>>>2>>>0]=m,0},f:()=>52,j:function(){return 52},q:function(){return 70},i:function(t,o,u,m){o>>>=0,u>>>=0,m>>>=0;for(var O=0,E=0;E>>2>>>0],ee=J[o+4>>>2>>>0];o+=8;for(var ye=0;ye>>0],se=nt[t];oe===0||oe===10?((t===1?T:L)(re(se,0)),se.length=0):se.push(oe)}O+=ee}return J[m>>>2>>>0]=O,0},r:qe,c:function(t,o,u,m){return qe(t>>>0,o>>>0,u>>>0,m>>>0)}},P=function(){function t(u){return P=u.exports,P=st(),W=P.K,le(),ne.unshift(P.L),we--,we==0&&(me!==null&&(clearInterval(me),me=null),F&&(u=F,F=null,u())),P}var o={a:Ve};if(we++,a.instantiateWasm)try{return a.instantiateWasm(o,t)}catch(u){L(`Module.instantiateWasm callback failed with error: ${u}`),f(u)}return Ue(o,function(u){t(u.instance)}).catch(f),{}}();a._OrtInit=(t,o)=>(a._OrtInit=P.M)(t,o),a._OrtGetLastError=(t,o)=>(a._OrtGetLastError=P.N)(t,o),a._OrtCreateSessionOptions=(t,o,u,m,O,E,U,ee,ye,oe)=>(a._OrtCreateSessionOptions=P.O)(t,o,u,m,O,E,U,ee,ye,oe),a._OrtAppendExecutionProvider=(t,o)=>(a._OrtAppendExecutionProvider=P.P)(t,o),a._OrtAddFreeDimensionOverride=(t,o,u)=>(a._OrtAddFreeDimensionOverride=P.Q)(t,o,u),a._OrtAddSessionConfigEntry=(t,o,u)=>(a._OrtAddSessionConfigEntry=P.R)(t,o,u),a._OrtReleaseSessionOptions=t=>(a._OrtReleaseSessionOptions=P.S)(t),a._OrtCreateSession=(t,o,u)=>(a._OrtCreateSession=P.T)(t,o,u),a._OrtReleaseSession=t=>(a._OrtReleaseSession=P.U)(t),a._OrtGetInputOutputCount=(t,o,u)=>(a._OrtGetInputOutputCount=P.V)(t,o,u),a._OrtGetInputName=(t,o)=>(a._OrtGetInputName=P.W)(t,o),a._OrtGetOutputName=(t,o)=>(a._OrtGetOutputName=P.X)(t,o),a._OrtFree=t=>(a._OrtFree=P.Y)(t),a._OrtCreateTensor=(t,o,u,m,O,E)=>(a._OrtCreateTensor=P.Z)(t,o,u,m,O,E),a._OrtGetTensorData=(t,o,u,m,O)=>(a._OrtGetTensorData=P._)(t,o,u,m,O),a._OrtReleaseTensor=t=>(a._OrtReleaseTensor=P.$)(t),a._OrtCreateRunOptions=(t,o,u,m)=>(a._OrtCreateRunOptions=P.aa)(t,o,u,m),a._OrtAddRunConfigEntry=(t,o,u)=>(a._OrtAddRunConfigEntry=P.ba)(t,o,u),a._OrtReleaseRunOptions=t=>(a._OrtReleaseRunOptions=P.ca)(t),a._OrtCreateBinding=t=>(a._OrtCreateBinding=P.da)(t),a._OrtBindInput=(t,o,u)=>(a._OrtBindInput=P.ea)(t,o,u),a._OrtBindOutput=(t,o,u,m)=>(a._OrtBindOutput=P.fa)(t,o,u,m),a._OrtClearBoundOutputs=t=>(a._OrtClearBoundOutputs=P.ga)(t),a._OrtReleaseBinding=t=>(a._OrtReleaseBinding=P.ha)(t),a._OrtRunWithBinding=(t,o,u,m,O)=>(a._OrtRunWithBinding=P.ia)(t,o,u,m,O),a._OrtRun=(t,o,u,m,O,E,U,ee)=>(a._OrtRun=P.ja)(t,o,u,m,O,E,U,ee),a._OrtEndProfiling=t=>(a._OrtEndProfiling=P.ka)(t),a._malloc=t=>(a._malloc=P.la)(t),a._free=t=>(a._free=P.ma)(t);var Je=t=>(Je=P.oa)(t),ot=t=>(ot=P.pa)(t),M=t=>(M=P.qa)(t),Ne=()=>(Ne=P.ra)();function st(){var t=P;t=Object.assign({},t);var o=u=>m=>u(m)>>>0;return t.la=o(t.la),t.qa=o(t.qa),t.ra=(u=>()=>u()>>>0)(t.ra),t}a.stackSave=()=>Ne(),a.stackRestore=t=>ot(t),a.stackAlloc=t=>M(t),a.UTF8ToString=ue,a.stringToUTF8=(t,o,u)=>Se(t,Z,o,u),a.lengthBytesUTF8=Ee;var Fe;F=function t(){Fe||Xe(),Fe||(F=t)};function Xe(){if(!(0cr)});var mr=Ke(()=>{});var gr=Ke(()=>{});var hr={};Et(hr,{cpus:()=>en});var en,br=_t(()=>{en=void 0});var Or=Ke((wr,Dt)=>{\"use strict\";var yr=(()=>{var i=typeof document<\"u\"?document.currentScript?.src:void 0;return typeof __filename<\"u\"&&(i||=__filename),function(c={}){function a(){return X.buffer!=ie.buffer&&K(),ie}function h(){return X.buffer!=ie.buffer&&K(),xe}function f(){return X.buffer!=ie.buffer&&K(),ce}function w(){return X.buffer!=ie.buffer&&K(),be}function g(){return X.buffer!=ie.buffer&&K(),ae}var s=c,S,x,H=new Promise((e,r)=>{S=e,x=r}),A=Object.assign({},s),I=\"./this.program\",V=(e,r)=>{throw r},R=typeof window==\"object\",B=typeof importScripts==\"function\",D=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\",T=s.ENVIRONMENT_IS_PTHREAD||!1,L=\"\";function W(e){return s.locateFile?s.locateFile(e,L):L+e}var de,pe,Z;if(D){var _=(At(),et(St)),J=(Mt(),et(Tt));L=B?J.dirname(L)+\"/\":__dirname+\"/\",de=(e,r)=>(e=ue(e)?new URL(e):J.normalize(e),_.readFileSync(e,r?void 0:\"utf8\")),Z=e=>(e=de(e,!0),e.buffer||(e=new Uint8Array(e)),e),pe=(e,r,n,l=!0)=>{e=ue(e)?new URL(e):J.normalize(e),_.readFile(e,l?void 0:\"utf8\",(y,b)=>{y?n(y):r(l?b.buffer:b)})},!s.thisProgram&&1{throw process.exitCode=e,r},global.Worker=mr().Worker}else(R||B)&&(B?L=self.location.href:typeof document<\"u\"&&document.currentScript&&(L=document.currentScript.src),typeof i<\"u\"&&i&&(L=i),L.startsWith(\"blob:\")?L=\"\":L=L.substr(0,L.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1),D||(de=e=>{var r=new XMLHttpRequest;return r.open(\"GET\",e,!1),r.send(null),r.responseText},B&&(Z=e=>{var r=new XMLHttpRequest;return r.open(\"GET\",e,!1),r.responseType=\"arraybuffer\",r.send(null),new Uint8Array(r.response)}),pe=(e,r,n)=>{var l=new XMLHttpRequest;l.open(\"GET\",e,!0),l.responseType=\"arraybuffer\",l.onload=()=>{l.status==200||l.status==0&&l.response?r(l.response):n()},l.onerror=n,l.send(null)}));D&&typeof performance>\"u\"&&(global.performance=gr().performance);var Pe=console.log.bind(console),le=console.error.bind(console);D&&(Pe=(...e)=>_.writeSync(1,e.join(\" \")+`\\n`),le=(...e)=>_.writeSync(2,e.join(\" \")+`\\n`));var Ie=Pe,ne=le;Object.assign(s,A),A=null;var X,we,me=!1,F,ie,xe,ce,be,ae;function K(){var e=X.buffer;s.HEAP8=ie=new Int8Array(e),s.HEAP16=new Int16Array(e),s.HEAPU8=xe=new Uint8Array(e),s.HEAPU16=new Uint16Array(e),s.HEAP32=ce=new Int32Array(e),s.HEAPU32=be=new Uint32Array(e),s.HEAPF32=new Float32Array(e),s.HEAPF64=ae=new Float64Array(e)}var je=16777216;if(T)X=s.wasmMemory;else if(s.wasmMemory)X=s.wasmMemory;else if(X=new WebAssembly.Memory({initial:je/65536,maximum:65536,shared:!0}),!(X.buffer instanceof SharedArrayBuffer))throw ne(\"requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag\"),D&&ne(\"(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)\"),Error(\"bad memory\");K(),je=X.buffer.byteLength;var Oe=[],Ue=[],ve=[],Ae=0,_e=null,ge=null;function Be(){if(Ae--,Ae==0&&(_e!==null&&(clearInterval(_e),_e=null),ge)){var e=ge;ge=null,e()}}function te(e){throw e=\"Aborted(\"+e+\")\",ne(e),me=!0,F=1,e=new WebAssembly.RuntimeError(e+\". Build with -sASSERTIONS for more info.\"),x(e),e}var re=e=>e.startsWith(\"data:application/octet-stream;base64,\"),ue=e=>e.startsWith(\"file://\"),Ee;Ee=\"ort-wasm-threaded.wasm\",re(Ee)||(Ee=W(Ee));function Se(e){if(Z)return Z(e);throw\"both async and sync fetching of the wasm failed\"}function Le(e){if(R||B){if(typeof fetch==\"function\"&&!ue(e))return fetch(e,{credentials:\"same-origin\"}).then(r=>{if(!r.ok)throw`failed to load wasm binary file at \\'${e}\\'`;return r.arrayBuffer()}).catch(()=>Se(e));if(pe)return new Promise((r,n)=>{pe(e,l=>r(new Uint8Array(l)),n)})}return Promise.resolve().then(()=>Se(e))}function ze(e,r,n){return Le(e).then(l=>WebAssembly.instantiate(l,r)).then(n,l=>{ne(`failed to asynchronously prepare wasm: ${l}`),te(l)})}function rt(e,r){var n=Ee;return typeof WebAssembly.instantiateStreaming!=\"function\"||re(n)||ue(n)||D||typeof fetch!=\"function\"?ze(n,e,r):fetch(n,{credentials:\"same-origin\"}).then(l=>WebAssembly.instantiateStreaming(l,e).then(r,function(y){return ne(`wasm streaming compile failed: ${y}`),ne(\"falling back to ArrayBuffer instantiation\"),ze(n,e,r)}))}var Te,Ge={799444:(e,r,n,l)=>{if(typeof s>\"u\"||!s.bb)return 1;if(e=ee(e>>>0),e.startsWith(\"./\")&&(e=e.substring(2)),e=s.bb.get(e),!e)return 2;if(r>>>=0,n>>>=0,l>>>=0,r+n>e.byteLength)return 3;try{return h().set(e.subarray(r,r+n),l>>>0),0}catch{return 4}}};function ke(e){this.name=\"ExitStatus\",this.message=`Program terminated with exit(${e})`,this.status=e}var We=e=>{e.terminate(),e.onmessage=()=>{}},nt=e=>{M.Oa.length==0&&(Je(),M.Xa(M.Oa[0]));var r=M.Oa.pop();if(!r)return 6;M.Pa.push(r),M.La[e.Na]=r,r.Na=e.Na;var n={cmd:\"run\",start_routine:e.gb,arg:e.cb,pthread_ptr:e.Na};return D&&r.unref(),r.postMessage(n,e.mb),0},De=0,at=e=>{var r=Ot();return e=e(),ft(r),e},G=(e,r,...n)=>at(()=>{for(var l=n.length,y=wt(8*l),b=y>>>3,v=0;v>>0]=z}return rr(e,0,l,y,r)});function qe(e){if(T)return G(0,1,e);F=e,0{if(F=e,T)throw st(e),\"unwind\";qe(e)};function P(){for(var e=s.numThreads;e--;)Je();Oe.unshift(()=>{Ae++,ot(()=>Be())})}function Je(){var e=W(\"ort-wasm-threaded.worker.js\");e=new Worker(e),M.Oa.push(e)}function ot(e){T?e():Promise.all(M.Oa.map(M.Xa)).then(e)}var M={Oa:[],Pa:[],ab:[],La:{},Va(){T?(M.receiveObjectTransfer=M.fb,M.threadInitTLS=M.$a,M.setExitStatus=M.Za):P()},Za:e=>F=e,pb:[\"$terminateWorker\"],hb:()=>{for(var e of M.Pa)We(e);for(e of M.Oa)We(e);M.Oa=[],M.Pa=[],M.La=[]},Ya:e=>{var r=e.Na;delete M.La[r],M.Oa.push(e),M.Pa.splice(M.Pa.indexOf(e),1),e.Na=0,bt(r)},fb(){},$a(){M.ab.forEach(e=>e())},Xa:e=>new Promise(r=>{e.onmessage=b=>{b=b.data;var v=b.cmd;if(b.targetThread&&b.targetThread!=ut()){var z=M.La[b.targetThread];z?z.postMessage(b,b.transferList):ne(`Internal error! Worker sent a message \"${v}\" to target pthread ${b.targetThread}, but that thread no longer exists!`)}else v===\"checkMailbox\"?it():v===\"spawnThread\"?nt(b):v===\"cleanupThread\"?M.Ya(M.La[b.thread]):v===\"killThread\"?(b=b.thread,v=M.La[b],delete M.La[b],We(v),bt(b),M.Pa.splice(M.Pa.indexOf(v),1),v.Na=0):v===\"cancelThread\"?M.La[b.thread].postMessage({cmd:\"cancel\"}):v===\"loaded\"?(e.loaded=!0,D&&!e.Na&&e.unref(),r(e)):v===\"alert\"?alert(`Thread ${b.threadId}: ${b.text}`):b.target===\"setimmediate\"?e.postMessage(b):v===\"callHandler\"?s[b.handler](...b.args):v&&ne(`worker sent an unknown command ${v}`)},e.onerror=b=>{throw ne(`worker sent an error! ${b.filename}:${b.lineno}: ${b.message}`),b},D&&(e.on(\"message\",b=>e.onmessage({data:b})),e.on(\"error\",b=>e.onerror(b)));var n=[],l=[\"onExit\"],y;for(y of l)s.hasOwnProperty(y)&&n.push(y);e.postMessage({cmd:\"load\",handlers:n,urlOrBlob:s.mainScriptUrlOrBlob||i,wasmMemory:X,wasmModule:we})})};s.PThread=M;var Ne=e=>{for(;0{var e=ut(),r=w()[e+52>>>2>>>0];e=w()[e+56>>>2>>>0],or(r,r-e),ft(r)};function st(e){if(T)return G(1,0,e);Ve(e)}var Fe=[],Xe;s.invokeEntryPoint=(e,r)=>{De=0;var n=Fe[e];n||(e>=Fe.length&&(Fe.length=e+1),Fe[e]=n=Xe.get(e)),e=n(r),0>>2>>>0]=0,w()[this.Ua+4>>>2>>>0]=r,w()[this.Ua+8>>>2>>>0]=n}}var o=0,u=0;function m(e,r,n,l){return T?G(2,1,e,r,n,l):O(e,r,n,l)}function O(e,r,n,l){if(e>>>=0,r>>>=0,n>>>=0,l>>>=0,typeof SharedArrayBuffer>\"u\")return ne(\"Current environment does not support SharedArrayBuffer, pthreads are not available!\"),6;var y=[];return T&&y.length===0?m(e,r,n,l):(e={gb:n,Na:e,cb:l,mb:y},T?(e.ob=\"spawnThread\",postMessage(e,y),0):nt(e))}var E=typeof TextDecoder<\"u\"?new TextDecoder(\"utf8\"):void 0,U=(e,r,n)=>{r>>>=0;var l=r+n;for(n=r;e[n]&&!(n>=l);)++n;if(16y?l+=String.fromCharCode(y):(y-=65536,l+=String.fromCharCode(55296|y>>10,56320|y&1023))}}else l+=String.fromCharCode(y)}return l},ee=(e,r)=>(e>>>=0)?U(h(),e,r):\"\";function ye(e,r,n){return T?G(3,1,e,r,n):0}function oe(e,r){if(T)return G(4,1,e,r)}var se=e=>{for(var r=0,n=0;n=l?r++:2047>=l?r+=2:55296<=l&&57343>=l?(r+=4,++n):r+=3}return r},Qe=(e,r,n,l)=>{if(n>>>=0,!(0=v){var z=e.charCodeAt(++b);v=65536+((v&1023)<<10)|z&1023}if(127>=v){if(n>=l)break;r[n++>>>0]=v}else{if(2047>=v){if(n+1>=l)break;r[n++>>>0]=192|v>>6}else{if(65535>=v){if(n+2>=l)break;r[n++>>>0]=224|v>>12}else{if(n+3>=l)break;r[n++>>>0]=240|v>>18,r[n++>>>0]=128|v>>12&63}r[n++>>>0]=128|v>>6&63}r[n++>>>0]=128|v&63}}return r[n>>>0]=0,n-y},Re=(e,r,n)=>Qe(e,h(),r,n);function d(e,r){if(T)return G(5,1,e,r)}function k(e,r,n){if(T)return G(6,1,e,r,n)}function $(e,r,n){return T?G(7,1,e,r,n):0}function Me(e,r){if(T)return G(8,1,e,r)}function Ze(e,r,n){if(T)return G(9,1,e,r,n)}function Rt(e,r,n,l){if(T)return G(10,1,e,r,n,l)}function It(e,r,n,l){if(T)return G(11,1,e,r,n,l)}function Bt(e,r,n,l){if(T)return G(12,1,e,r,n,l)}function kt(e){if(T)return G(13,1,e)}function Wt(e,r){if(T)return G(14,1,e,r)}function Nt(e,r,n){if(T)return G(15,1,e,r,n)}function dt(e){e>>>=0,typeof Atomics.nb==\"function\"&&(Atomics.nb(f(),e>>>2,e).value.then(it),e+=128,Atomics.store(f(),e>>>2,1))}s.__emscripten_thread_mailbox_await=dt;var it=()=>{var e=ut();if(e&&(dt(e),e=nr,!me))try{if(e(),!(0e%4===0&&(e%100!==0||e%400===0),Ht=[0,31,60,91,121,152,182,213,244,274,305,335],Gt=[0,31,59,90,120,151,181,212,243,273,304,334];function $t(e,r,n,l,y,b,v,z){return T?G(16,1,e,r,n,l,y,b,v,z):-52}function Yt(e,r,n,l,y,b,v){if(T)return G(17,1,e,r,n,l,y,b,v)}var mt=[],gt={},jt=()=>{if(!ht){var e={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(typeof navigator==\"object\"&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:I||\"./this.program\"},r;for(r in gt)gt[r]===void 0?delete e[r]:e[r]=gt[r];var n=[];for(r in e)n.push(`${r}=${e[r]}`);ht=n}return ht},ht;function zt(e,r){if(T)return G(18,1,e,r);e>>>=0,r>>>=0;var n=0;return jt().forEach((l,y)=>{var b=r+n;for(y=w()[e+4*y>>>2>>>0]=b,b=0;b>>0]=l.charCodeAt(b);a()[y>>>0]=0,n+=l.length+1}),0}function qt(e,r){if(T)return G(19,1,e,r);e>>>=0,r>>>=0;var n=jt();w()[e>>>2>>>0]=n.length;var l=0;return n.forEach(y=>l+=y.length+1),w()[r>>>2>>>0]=l,0}function Vt(e){return T?G(20,1,e):52}function Jt(e,r,n,l){return T?G(21,1,e,r,n,l):52}function Xt(e,r,n,l,y){return T?G(22,1,e,r,n,l,y):70}var Hr=[null,[],[]];function Qt(e,r,n,l){if(T)return G(23,1,e,r,n,l);r>>>=0,n>>>=0,l>>>=0;for(var y=0,b=0;b>>2>>>0],z=w()[r+4>>>2>>>0];r+=8;for(var Ce=0;Ce>>0],he=Hr[e];fe===0||fe===10?((e===1?Ie:ne)(U(he,0)),he.length=0):he.push(fe)}y+=z}return w()[l>>>2>>>0]=y,0}var Zt=[31,29,31,30,31,30,31,31,30,31,30,31],Kt=[31,28,31,30,31,30,31,31,30,31,30,31];function Gr(e){var r=Array(se(e)+1);return Qe(e,r,0,r.length),r}var $r=(e,r)=>{a().set(e,r>>>0)};function er(e,r,n,l){function y(p,N,q){for(p=typeof p==\"number\"?p.toString():p||\"\";p.lengthfr?-1:0He-p.getDate())N-=He-p.getDate()+1,p.setDate(1),11>q?p.setMonth(q+1):(p.setMonth(0),p.setFullYear(p.getFullYear()+1));else{p.setDate(p.getDate()+N);break}}return q=new Date(p.getFullYear()+1,0,4),N=z(new Date(p.getFullYear(),0,4)),q=z(q),0>=v(N,p)?0>=v(q,p)?p.getFullYear()+1:p.getFullYear():p.getFullYear()-1}e>>>=0,r>>>=0,n>>>=0,l>>>=0;var fe=w()[l+40>>>2>>>0];l={kb:f()[l>>>2>>>0],jb:f()[l+4>>>2>>>0],Sa:f()[l+8>>>2>>>0],Wa:f()[l+12>>>2>>>0],Ta:f()[l+16>>>2>>>0],Ra:f()[l+20>>>2>>>0],Ma:f()[l+24>>>2>>>0],Qa:f()[l+28>>>2>>>0],qb:f()[l+32>>>2>>>0],ib:f()[l+36>>>2>>>0],lb:fe?ee(fe):\"\"},n=ee(n),fe={\"%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 he in fe)n=n.replace(new RegExp(he,\"g\"),fe[he]);var ir=\"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"),ur=\"January February March April May June July August September October November December\".split(\" \");fe={\"%a\":p=>ir[p.Ma].substring(0,3),\"%A\":p=>ir[p.Ma],\"%b\":p=>ur[p.Ta].substring(0,3),\"%B\":p=>ur[p.Ta],\"%C\":p=>b((p.Ra+1900)/100|0,2),\"%d\":p=>b(p.Wa,2),\"%e\":p=>y(p.Wa,2,\" \"),\"%g\":p=>Ce(p).toString().substring(2),\"%G\":Ce,\"%H\":p=>b(p.Sa,2),\"%I\":p=>(p=p.Sa,p==0?p=12:12{for(var N=0,q=0;q<=p.Ta-1;N+=($e(p.Ra+1900)?Zt:Kt)[q++]);return b(p.Wa+N,3)},\"%m\":p=>b(p.Ta+1,2),\"%M\":p=>b(p.jb,2),\"%n\":()=>`\\n`,\"%p\":p=>0<=p.Sa&&12>p.Sa?\"AM\":\"PM\",\"%S\":p=>b(p.kb,2),\"%t\":()=>\"\t\",\"%u\":p=>p.Ma||7,\"%U\":p=>b(Math.floor((p.Qa+7-p.Ma)/7),2),\"%V\":p=>{var N=Math.floor((p.Qa+7-(p.Ma+6)%7)/7);if(2>=(p.Ma+371-p.Qa-2)%7&&N++,N)N==53&&(q=(p.Ma+371-p.Qa)%7,q==4||q==3&&$e(p.Ra)||(N=1));else{N=52;var q=(p.Ma+7-p.Qa-1)%7;(q==4||q==5&&$e(p.Ra%400-1))&&N++}return b(N,2)},\"%w\":p=>p.Ma,\"%W\":p=>b(Math.floor((p.Qa+7-(p.Ma+6)%7)/7),2),\"%y\":p=>(p.Ra+1900).toString().substring(2),\"%Y\":p=>p.Ra+1900,\"%z\":p=>{p=p.ib;var N=0<=p;return p=Math.abs(p)/60,(N?\"+\":\"-\")+(\"0000\"+(p/60*100+p%60)).slice(-4)},\"%Z\":p=>p.lb,\"%%\":()=>\"%\"},n=n.replace(/%%/g,\"\\\\0\\\\0\");for(he in fe)n.includes(he)&&(n=n.replace(new RegExp(he,\"g\"),fe[he](l)));return n=n.replace(/\\\\0\\\\0/g,\"%\"),he=Gr(n),he.length>r?0:($r(he,e),he.length-1)}M.Va();var Yr=[qe,st,m,ye,oe,d,k,$,Me,Ze,Rt,It,Bt,kt,Wt,Nt,$t,Yt,zt,qt,Vt,Jt,Xt,Qt],jr={b:function(e,r,n){throw e>>>=0,new t(e).Va(r>>>0,n>>>0),o=e,u++,o},L:function(e){tr(e>>>0,!B,1,!R,131072,!1),M.$a()},j:function(e){e>>>=0,T?postMessage({cmd:\"cleanupThread\",thread:e}):M.Ya(M.La[e])},H:O,h:ye,S:oe,D:d,F:k,T:$,Q:Me,J:Ze,P:Rt,n:It,E:Bt,B:kt,R:Wt,C:Nt,p:()=>1,z:function(e,r){e>>>=0,e==r>>>0?setTimeout(it):T?postMessage({targetThread:e,cmd:\"checkMailbox\"}):(e=M.La[e])&&e.postMessage({cmd:\"checkMailbox\"})},I:function(e,r,n,l,y){r>>>=0,n>>>=0,pt.length=l,y=y>>>0>>>3;for(var b=0;b>>0];return e=r?Ge[r]:Yr[e],M.eb=n,n=e(...pt),M.eb=0,n},K:dt,o:function(e){D&&M.La[e>>>0].ref()},s:function(e,r,n){e=r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,n>>>=0,e=new Date(1e3*e),f()[n>>>2>>>0]=e.getUTCSeconds(),f()[n+4>>>2>>>0]=e.getUTCMinutes(),f()[n+8>>>2>>>0]=e.getUTCHours(),f()[n+12>>>2>>>0]=e.getUTCDate(),f()[n+16>>>2>>>0]=e.getUTCMonth(),f()[n+20>>>2>>>0]=e.getUTCFullYear()-1900,f()[n+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,f()[n+28>>>2>>>0]=e},t:function(e,r,n){e=r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,n>>>=0,e=new Date(1e3*e),f()[n>>>2>>>0]=e.getSeconds(),f()[n+4>>>2>>>0]=e.getMinutes(),f()[n+8>>>2>>>0]=e.getHours(),f()[n+12>>>2>>>0]=e.getDate(),f()[n+16>>>2>>>0]=e.getMonth(),f()[n+20>>>2>>>0]=e.getFullYear()-1900,f()[n+24>>>2>>>0]=e.getDay(),r=($e(e.getFullYear())?Ht:Gt)[e.getMonth()]+e.getDate()-1|0,f()[n+28>>>2>>>0]=r,f()[n+36>>>2>>>0]=-(60*e.getTimezoneOffset()),r=new Date(e.getFullYear(),6,1).getTimezoneOffset();var l=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=(r!=l&&e.getTimezoneOffset()==Math.min(l,r))|0,f()[n+32>>>2>>>0]=e},u:function(e){e>>>=0;var r=new Date(f()[e+20>>>2>>>0]+1900,f()[e+16>>>2>>>0],f()[e+12>>>2>>>0],f()[e+8>>>2>>>0],f()[e+4>>>2>>>0],f()[e>>>2>>>0],0),n=f()[e+32>>>2>>>0],l=r.getTimezoneOffset(),y=new Date(r.getFullYear(),6,1).getTimezoneOffset(),b=new Date(r.getFullYear(),0,1).getTimezoneOffset(),v=Math.min(b,y);return 0>n?f()[e+32>>>2>>>0]=+(y!=b&&v==l):0>>2>>>0]=r.getDay(),n=($e(r.getFullYear())?Ht:Gt)[r.getMonth()]+r.getDate()-1|0,f()[e+28>>>2>>>0]=n,f()[e>>>2>>>0]=r.getSeconds(),f()[e+4>>>2>>>0]=r.getMinutes(),f()[e+8>>>2>>>0]=r.getHours(),f()[e+12>>>2>>>0]=r.getDate(),f()[e+16>>>2>>>0]=r.getMonth(),f()[e+20>>>2>>>0]=r.getYear(),e=r.getTime(),e=isNaN(e)?-1:e/1e3,ar((Te=e,1<=+Math.abs(Te)?0>>0:~~+Math.ceil((Te-+(~~Te>>>0))/4294967296)>>>0:0)),e>>>0},q:$t,r:Yt,y:function(e,r,n,l){e>>>=0,r>>>=0,n>>>=0,l>>>=0;var y=new Date().getFullYear(),b=new Date(y,0,1),v=new Date(y,6,1);y=b.getTimezoneOffset();var z=v.getTimezoneOffset(),Ce=Math.max(y,z);w()[e>>>2>>>0]=60*Ce,f()[r>>>2>>>0]=+(y!=z),e=fe=>fe.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:\"short\"}).split(\" \")[1],b=e(b),v=e(v),z{te(\"\")},O:function(e,r,n){e>>>=0,r>>>=0,n>>>=0,mt.length=0;for(var l;l=h()[r++>>>0];){var y=l!=105;y&=l!=112,n+=y&&n%8?4:0,mt.push(l==112?w()[n>>>2>>>0]:l==105?f()[n>>>2>>>0]:g()[n>>>3>>>0]),n+=y?8:4}return Ge[e](...mt)},k:()=>{},i:()=>Date.now(),U:()=>{throw De+=1,\"unwind\"},A:function(){return 4294901760},e:()=>performance.timeOrigin+performance.now(),f:()=>D?(br(),et(hr)).cpus().length:navigator.hardwareConcurrency,x:function(e){e>>>=0;var r=h().length;if(e<=r||4294901760=n;n*=2){var l=r*(1+.2/n);l=Math.min(l,e+100663296);var y=Math;l=Math.max(e,l);e:{y=(y.min.call(y,4294901760,l+(65536-l%65536)%65536)-X.buffer.byteLength+65535)/65536;try{X.grow(y),K();var b=1;break e}catch{}b=void 0}if(b)return!0}return!1},M:zt,N:qt,G:Ve,g:Vt,m:Jt,v:Xt,l:Qt,a:X||s.wasmMemory,w:er,d:function(e,r,n,l){return er(e>>>0,r>>>0,n>>>0,l>>>0)}},C=function(){function e(n,l){return C=n.exports,C=zr(),M.ab.push(C.ya),Xe=C.za,Ue.unshift(C.V),we=l,Be(),C}var r={a:jr};if(Ae++,s.instantiateWasm)try{return s.instantiateWasm(r,e)}catch(n){ne(`Module.instantiateWasm callback failed with error: ${n}`),x(n)}return rt(r,function(n){e(n.instance,n.module)}).catch(x),{}}();s._OrtInit=(e,r)=>(s._OrtInit=C.W)(e,r),s._OrtGetLastError=(e,r)=>(s._OrtGetLastError=C.X)(e,r),s._OrtCreateSessionOptions=(e,r,n,l,y,b,v,z,Ce,fe)=>(s._OrtCreateSessionOptions=C.Y)(e,r,n,l,y,b,v,z,Ce,fe),s._OrtAppendExecutionProvider=(e,r)=>(s._OrtAppendExecutionProvider=C.Z)(e,r),s._OrtAddFreeDimensionOverride=(e,r,n)=>(s._OrtAddFreeDimensionOverride=C._)(e,r,n),s._OrtAddSessionConfigEntry=(e,r,n)=>(s._OrtAddSessionConfigEntry=C.$)(e,r,n),s._OrtReleaseSessionOptions=e=>(s._OrtReleaseSessionOptions=C.aa)(e),s._OrtCreateSession=(e,r,n)=>(s._OrtCreateSession=C.ba)(e,r,n),s._OrtReleaseSession=e=>(s._OrtReleaseSession=C.ca)(e),s._OrtGetInputOutputCount=(e,r,n)=>(s._OrtGetInputOutputCount=C.da)(e,r,n),s._OrtGetInputName=(e,r)=>(s._OrtGetInputName=C.ea)(e,r),s._OrtGetOutputName=(e,r)=>(s._OrtGetOutputName=C.fa)(e,r),s._OrtFree=e=>(s._OrtFree=C.ga)(e),s._OrtCreateTensor=(e,r,n,l,y,b)=>(s._OrtCreateTensor=C.ha)(e,r,n,l,y,b),s._OrtGetTensorData=(e,r,n,l,y)=>(s._OrtGetTensorData=C.ia)(e,r,n,l,y),s._OrtReleaseTensor=e=>(s._OrtReleaseTensor=C.ja)(e),s._OrtCreateRunOptions=(e,r,n,l)=>(s._OrtCreateRunOptions=C.ka)(e,r,n,l),s._OrtAddRunConfigEntry=(e,r,n)=>(s._OrtAddRunConfigEntry=C.la)(e,r,n),s._OrtReleaseRunOptions=e=>(s._OrtReleaseRunOptions=C.ma)(e),s._OrtCreateBinding=e=>(s._OrtCreateBinding=C.na)(e),s._OrtBindInput=(e,r,n)=>(s._OrtBindInput=C.oa)(e,r,n),s._OrtBindOutput=(e,r,n,l)=>(s._OrtBindOutput=C.pa)(e,r,n,l),s._OrtClearBoundOutputs=e=>(s._OrtClearBoundOutputs=C.qa)(e),s._OrtReleaseBinding=e=>(s._OrtReleaseBinding=C.ra)(e),s._OrtRunWithBinding=(e,r,n,l,y)=>(s._OrtRunWithBinding=C.sa)(e,r,n,l,y),s._OrtRun=(e,r,n,l,y,b,v,z)=>(s._OrtRun=C.ta)(e,r,n,l,y,b,v,z),s._OrtEndProfiling=e=>(s._OrtEndProfiling=C.ua)(e);var ut=s._pthread_self=()=>(ut=s._pthread_self=C.va)();s._malloc=e=>(s._malloc=C.wa)(e),s._free=e=>(s._free=C.xa)(e),s.__emscripten_tls_init=()=>(s.__emscripten_tls_init=C.ya)();var tr=s.__emscripten_thread_init=(e,r,n,l,y,b)=>(tr=s.__emscripten_thread_init=C.Aa)(e,r,n,l,y,b);s.__emscripten_thread_crashed=()=>(s.__emscripten_thread_crashed=C.Ba)();var rr=(e,r,n,l,y)=>(rr=C.Ca)(e,r,n,l,y),bt=e=>(bt=C.Da)(e),yt=s.__emscripten_thread_exit=e=>(yt=s.__emscripten_thread_exit=C.Ea)(e),nr=()=>(nr=C.Fa)(),ar=e=>(ar=C.Ga)(e),or=(e,r)=>(or=C.Ha)(e,r),ft=e=>(ft=C.Ia)(e),wt=e=>(wt=C.Ja)(e),Ot=()=>(Ot=C.Ka)();function zr(){var e=C;e=Object.assign({},e);var r=l=>()=>l()>>>0,n=l=>y=>l(y)>>>0;return e.va=r(e.va),e.wa=n(e.wa),e.emscripten_main_runtime_thread_id=r(e.emscripten_main_runtime_thread_id),e.Ja=n(e.Ja),e.Ka=r(e.Ka),e}s.wasmMemory=X,s.stackSave=()=>Ot(),s.stackRestore=e=>ft(e),s.stackAlloc=e=>wt(e),s.keepRuntimeAlive=()=>0yr)});var vr=Ke((yn,tn)=>{tn.exports=\\'\"use strict\";var Module={},ENVIRONMENT_IS_NODE=typeof process==\"object\"&&typeof process.versions==\"object\"&&typeof process.versions.node==\"string\";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require(\"worker_threads\"),parentPort=nodeWorkerThreads.parentPort;parentPort.on(\"message\",e=>onmessage({data:e}));var fs=require(\"fs\"),vm=require(\"vm\");Object.assign(global,{self:global,require,Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:e=>vm.runInThisContext(fs.readFileSync(e,\"utf8\"),{filename:e}),postMessage:e=>parentPort.postMessage(e),performance:global.performance||{now:Date.now}})}var initializedJS=!1;function threadPrintErr(...e){var a=e.join(\" \");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,a+`\\\\n`);return}console.error(a)}function threadAlert(...e){var a=e.join(\" \");postMessage({cmd:\"alert\",text:a,threadId:Module._pthread_self()})}var err=threadPrintErr;self.alert=threadAlert,Module.instantiateWasm=(e,a)=>{var r=Module.wasmModule;Module.wasmModule=null;var t=new WebAssembly.Instance(r,e);return a(t)},self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd===\"load\"){let r=[];self.onmessage=t=>r.push(t),self.startWorker=t=>{Module=t,postMessage({cmd:\"loaded\"});for(let s of r)handleMessage(s);self.onmessage=handleMessage},Module.wasmModule=e.data.wasmModule;for(const t of e.data.handlers)Module[t]=(...s)=>{postMessage({cmd:\"callHandler\",handler:t,args:s})};if(Module.wasmMemory=e.data.wasmMemory,Module.buffer=Module.wasmMemory.buffer,Module.ENVIRONMENT_IS_PTHREAD=!0,typeof e.data.urlOrBlob==\"string\")importScripts(e.data.urlOrBlob);else{var a=URL.createObjectURL(e.data.urlOrBlob);importScripts(a),URL.revokeObjectURL(a)}ortWasmThreaded(Module)}else if(e.data.cmd===\"run\"){Module.__emscripten_thread_init(e.data.pthread_ptr,0,0,1),Module.__emscripten_thread_mailbox_await(e.data.pthread_ptr),Module.establishStackSpace(),Module.PThread.receiveObjectTransfer(e.data),Module.PThread.threadInitTLS(),initializedJS||(initializedJS=!0);try{Module.invokeEntryPoint(e.data.start_routine,e.data.arg)}catch(r){if(r!=\"unwind\")throw r}}else e.data.cmd===\"cancel\"?Module._pthread_self()&&Module.__emscripten_thread_exit(-1):e.data.target===\"setimmediate\"||(e.data.cmd===\"checkMailbox\"?initializedJS&&Module.checkMailbox():e.data.cmd&&(err(`worker.js received unknown command ${e.data.cmd}`),err(e.data)))}catch(r){throw Module.__emscripten_thread_crashed?.(),r}}self.onmessage=handleMessage;\\\\n\\'});var Er;Er=pr();var rn=Or(),Ft,Pt=!1,ct=!1,_r=!1,nn=i=>{if(i===1)return!1;if(typeof SharedArrayBuffer>\"u\")return typeof self<\"u\"&&!self.crossOriginIsolated&&console.warn(\"env.wasm.numThreads is set to \"+i+\", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info.\"),!1;typeof process<\"u\"&&process.versions&&process.versions.node&&console.warn(\"env.wasm.numThreads is set to \"+i+\", however, currently onnxruntime-web does not support multi-threads in Node.js. Please consider using onnxruntime-node for performance critical scenarios.\");try{return typeof MessageChannel<\"u\"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},an=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},on=(i,c)=>i?c?\"ort-wasm-simd-threaded.wasm\":\"ort-wasm-simd.wasm\":c?\"ort-wasm-threaded.wasm\":\"ort-wasm.wasm\",Sr=async i=>{if(Pt)return Promise.resolve();if(ct)throw new Error(\"multiple calls to \\'initializeWebAssembly()\\' detected.\");if(_r)throw new Error(\"previous call to \\'initializeWebAssembly()\\' failed.\");ct=!0;let c=i.initTimeout,a=i.numThreads,h=i.simd,f=nn(a),w=h&&an(),g=i.wasmPaths,s=typeof g==\"string\"?g:void 0,S=on(w,f),x=typeof g==\"object\"?g[S]:void 0,H=!1,A=[];if(c>0&&A.push(new Promise(I=>{setTimeout(()=>{H=!0,I()},c)})),A.push(new Promise((I,V)=>{let R=f?rn:Er,B={locateFile:(D,T)=>f&&D.endsWith(\".worker.js\")&&typeof Blob<\"u\"?URL.createObjectURL(new Blob([vr()],{type:\"text/javascript\"})):D.endsWith(\".wasm\")?x||(s??T)+S:T+D};if(f)if(B.numThreads=a,typeof Blob>\"u\")B.mainScriptUrlOrBlob=(void 0)(__dirname,\"ort-wasm-threaded.js\");else{let D=`var ortWasmThreaded=${R.toString()};`;B.mainScriptUrlOrBlob=new Blob([D],{type:\"text/javascript\"})}R(B).then(D=>{ct=!1,Pt=!0,Ft=D,I()},D=>{ct=!1,_r=!0,V(D)})})),await Promise.race(A),H)throw new Error(`WebAssembly backend initializing failed due to timeout: ${c}ms`)},Q=()=>{if(Pt&&Ft)return Ft;throw new Error(\"WebAssembly is not initialized yet.\")};var Y=(i,c)=>{let a=Q(),h=a.lengthBytesUTF8(i)+1,f=a._malloc(h);return a.stringToUTF8(i,f,h),c.push(f),f},tt=(i,c,a,h)=>{if(typeof i==\"object\"&&i!==null){if(a.has(i))throw new Error(\"Circular reference in options\");a.add(i)}Object.entries(i).forEach(([f,w])=>{let g=c?c+f:f;if(typeof w==\"object\")tt(w,g+\".\",a,h);else if(typeof w==\"string\"||typeof w==\"number\")h(g,w.toString());else if(typeof w==\"boolean\")h(g,w?\"1\":\"0\");else throw new Error(`Can\\'t handle extra config type: ${typeof w}`)})},j=i=>{let c=Q(),a=c.stackSave();try{let h=c.stackAlloc(8);c._OrtGetLastError(h,h+4);let f=c.HEAP32[h/4],w=c.HEAPU32[h/4+1],g=w?c.UTF8ToString(w):\"\";throw new Error(`${i} ERROR_CODE: ${f}, ERROR_MESSAGE: ${g}`)}finally{c.stackRestore(a)}};var Ar=i=>{let c=Q(),a=0,h=[],f=i||{};try{if(i?.logSeverityLevel===void 0)f.logSeverityLevel=2;else if(typeof i.logSeverityLevel!=\"number\"||!Number.isInteger(i.logSeverityLevel)||i.logSeverityLevel<0||i.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${i.logSeverityLevel}`);if(i?.logVerbosityLevel===void 0)f.logVerbosityLevel=0;else if(typeof i.logVerbosityLevel!=\"number\"||!Number.isInteger(i.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${i.logVerbosityLevel}`);i?.terminate===void 0&&(f.terminate=!1);let w=0;return i?.tag!==void 0&&(w=Y(i.tag,h)),a=c._OrtCreateRunOptions(f.logSeverityLevel,f.logVerbosityLevel,!!f.terminate,w),a===0&&j(\"Can\\'t create run options.\"),i?.extra!==void 0&&tt(i.extra,\"\",new WeakSet,(g,s)=>{let S=Y(g,h),x=Y(s,h);c._OrtAddRunConfigEntry(a,S,x)!==0&&j(`Can\\'t set a run config entry: ${g} - ${s}.`)}),[a,h]}catch(w){throw a!==0&&c._OrtReleaseRunOptions(a),h.forEach(g=>c._free(g)),w}};var sn=i=>{switch(i){case\"disabled\":return 0;case\"basic\":return 1;case\"extended\":return 2;case\"all\":return 99;default:throw new Error(`unsupported graph optimization level: ${i}`)}},un=i=>{switch(i){case\"sequential\":return 0;case\"parallel\":return 1;default:throw new Error(`unsupported execution mode: ${i}`)}},fn=i=>{i.extra||(i.extra={}),i.extra.session||(i.extra.session={});let c=i.extra.session;c.use_ort_model_bytes_directly||(c.use_ort_model_bytes_directly=\"1\"),i.executionProviders&&i.executionProviders.some(a=>(typeof a==\"string\"?a:a.name)===\"webgpu\")&&(i.enableMemPattern=!1)},ln=(i,c,a)=>{for(let h of c){let f=typeof h==\"string\"?h:h.name;switch(f){case\"webnn\":if(f=\"WEBNN\",typeof h!=\"string\"){let g=h;if(g?.deviceType){let s=Y(\"deviceType\",a),S=Y(g.deviceType,a);Q()._OrtAddSessionConfigEntry(i,s,S)!==0&&j(`Can\\'t set a session config entry: \\'deviceType\\' - ${g.deviceType}.`)}if(g?.numThreads){let s=g.numThreads;(typeof s!=\"number\"||!Number.isInteger(s)||s<0)&&(s=0);let S=Y(\"numThreads\",a),x=Y(s.toString(),a);Q()._OrtAddSessionConfigEntry(i,S,x)!==0&&j(`Can\\'t set a session config entry: \\'numThreads\\' - ${g.numThreads}.`)}if(g?.powerPreference){let s=Y(\"powerPreference\",a),S=Y(g.powerPreference,a);Q()._OrtAddSessionConfigEntry(i,s,S)!==0&&j(`Can\\'t set a session config entry: \\'powerPreference\\' - ${g.powerPreference}.`)}}break;case\"webgpu\":if(f=\"JS\",typeof h!=\"string\"){let g=h;if(g?.preferredLayout){if(g.preferredLayout!==\"NCHW\"&&g.preferredLayout!==\"NHWC\")throw new Error(`preferredLayout must be either \\'NCHW\\' or \\'NHWC\\': ${g.preferredLayout}`);let s=Y(\"preferredLayout\",a),S=Y(g.preferredLayout,a);Q()._OrtAddSessionConfigEntry(i,s,S)!==0&&j(`Can\\'t set a session config entry: \\'preferredLayout\\' - ${g.preferredLayout}.`)}}break;case\"wasm\":case\"cpu\":continue;default:throw new Error(`not supported execution provider: ${f}`)}let w=Y(f,a);Q()._OrtAppendExecutionProvider(i,w)!==0&&j(`Can\\'t append execution provider: ${f}.`)}},Tr=i=>{let c=Q(),a=0,h=[],f=i||{};fn(f);try{let w=sn(f.graphOptimizationLevel??\"all\"),g=un(f.executionMode??\"sequential\"),s=typeof f.logId==\"string\"?Y(f.logId,h):0,S=f.logSeverityLevel??2;if(!Number.isInteger(S)||S<0||S>4)throw new Error(`log serverity level is not valid: ${S}`);let x=f.logVerbosityLevel??0;if(!Number.isInteger(x)||x<0||x>4)throw new Error(`log verbosity level is not valid: ${x}`);let H=typeof f.optimizedModelFilePath==\"string\"?Y(f.optimizedModelFilePath,h):0;if(a=c._OrtCreateSessionOptions(w,!!f.enableCpuMemArena,!!f.enableMemPattern,g,!!f.enableProfiling,0,s,S,x,H),a===0&&j(\"Can\\'t create session options.\"),f.executionProviders&&ln(a,f.executionProviders,h),f.enableGraphCapture!==void 0){if(typeof f.enableGraphCapture!=\"boolean\")throw new Error(`enableGraphCapture must be a boolean value: ${f.enableGraphCapture}`);let A=Y(\"enableGraphCapture\",h),I=Y(f.enableGraphCapture.toString(),h);c._OrtAddSessionConfigEntry(a,A,I)!==0&&j(`Can\\'t set a session config entry: \\'enableGraphCapture\\' - ${f.enableGraphCapture}.`)}if(f.freeDimensionOverrides)for(let[A,I]of Object.entries(f.freeDimensionOverrides)){if(typeof A!=\"string\")throw new Error(`free dimension override name must be a string: ${A}`);if(typeof I!=\"number\"||!Number.isInteger(I)||I<0)throw new Error(`free dimension override value must be a non-negative integer: ${I}`);let V=Y(A,h);c._OrtAddFreeDimensionOverride(a,V,I)!==0&&j(`Can\\'t set a free dimension override: ${A} - ${I}.`)}return f.extra!==void 0&&tt(f.extra,\"\",new WeakSet,(A,I)=>{let V=Y(A,h),R=Y(I,h);c._OrtAddSessionConfigEntry(a,V,R)!==0&&j(`Can\\'t set a session config entry: ${A} - ${I}.`)}),[a,h]}catch(w){throw a!==0&&c._OrtReleaseSessionOptions(a),h.forEach(g=>c._free(g)),w}};var xt=i=>{switch(i){case\"int8\":return 3;case\"uint8\":return 2;case\"bool\":return 9;case\"int16\":return 5;case\"uint16\":return 4;case\"int32\":return 6;case\"uint32\":return 12;case\"float16\":return 10;case\"float32\":return 1;case\"float64\":return 11;case\"string\":return 8;case\"int64\":return 7;case\"uint64\":return 13;default:throw new Error(`unsupported data type: ${i}`)}},Mr=i=>{switch(i){case 3:return\"int8\";case 2:return\"uint8\";case 9:return\"bool\";case 5:return\"int16\";case 4:return\"uint16\";case 6:return\"int32\";case 12:return\"uint32\";case 10:return\"float16\";case 1:return\"float32\";case 11:return\"float64\";case 8:return\"string\";case 7:return\"int64\";case 13:return\"uint64\";default:throw new Error(`unsupported data type: ${i}`)}},Ut=i=>[void 0,4,1,1,2,2,4,8,void 0,1,2,8,4,8,void 0,void 0,void 0][i],Cr=i=>{switch(i){case\"float16\":return typeof Float16Array<\"u\"&&Float16Array.from?Float16Array:Uint16Array;case\"float32\":return Float32Array;case\"uint8\":return Uint8Array;case\"int8\":return Int8Array;case\"uint16\":return Uint16Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"bool\":return Uint8Array;case\"float64\":return Float64Array;case\"uint32\":return Uint32Array;case\"int64\":return BigInt64Array;case\"uint64\":return BigUint64Array;default:throw new Error(`unsupported type: ${i}`)}},Dr=i=>{switch(i){case\"verbose\":return 0;case\"info\":return 1;case\"warning\":return 2;case\"error\":return 3;case\"fatal\":return 4;default:throw new Error(`unsupported logging level: ${i}`)}},Fr=i=>i===\"float32\"||i===\"float16\"||i===\"int32\"||i===\"int64\"||i===\"uint32\"||i===\"uint8\"||i===\"bool\",Pr=i=>{switch(i){case\"none\":return 0;case\"cpu\":return 1;case\"cpu-pinned\":return 2;case\"texture\":return 3;case\"gpu-buffer\":return 4;default:throw new Error(`unsupported data location: ${i}`)}};var xr=async i=>{if(typeof i==\"string\")if(typeof process<\"u\"&&process.versions&&process.versions.node)try{return new Uint8Array(await(void 0)(i))}catch(c){if(c.code===\"ERR_FS_FILE_TOO_LARGE\"){let a=(void 0)(i),h=[];for await(let f of a)h.push(f);return new Uint8Array(Buffer.concat(h))}throw c}else{let c=await fetch(i);if(!c.ok)throw new Error(`failed to load external data file: ${i}`);let a=c.headers.get(\"Content-Length\"),h=a?parseInt(a,10):0;if(h<1073741824)return new Uint8Array(await c.arrayBuffer());{if(!c.body)throw new Error(`failed to load external data file: ${i}, no response body.`);let f=c.body.getReader(),w;try{w=new ArrayBuffer(h)}catch(s){if(s instanceof RangeError){let S=Math.ceil(h/65536);w=new WebAssembly.Memory({initial:S,maximum:S}).buffer}else throw s}let g=0;for(;;){let{done:s,value:S}=await f.read();if(s)break;let x=S.byteLength;new Uint8Array(w,g,x).set(S),g+=x}return new Uint8Array(w,0,h)}}else return i instanceof Blob?new Uint8Array(await i.arrayBuffer()):i instanceof Uint8Array?i:new Uint8Array(i)};var cn=(i,c)=>{Q()._OrtInit(i,c)!==0&&j(\"Can\\'t initialize onnxruntime.\")},Lr=async i=>{cn(i.wasm.numThreads,Dr(i.logLevel))},Rr=async(i,c)=>{},Ye=new Map,dn=i=>{let c=Q(),a=c.stackSave();try{let h=c.stackAlloc(8);return c._OrtGetInputOutputCount(i,h,h+4)!==0&&j(\"Can\\'t get session input/output count.\"),[c.HEAP32[h/4],c.HEAP32[h/4+1]]}finally{c.stackRestore(a)}},Lt=i=>{let c=Q(),a=c._malloc(i.byteLength);if(a===0)throw new Error(`Can\\'t create a session. failed to allocate a buffer of size ${i.byteLength}.`);return c.HEAPU8.set(i,a),[a,i.byteLength]},Ir=async(i,c)=>{let a,h,f=Q();Array.isArray(i)?[a,h]=i:i.buffer===f.HEAPU8.buffer?[a,h]=[i.byteOffset,i.byteLength]:[a,h]=Lt(i);let w=0,g=0,s=0,S=[],x=[],H=[];try{if([g,S]=Tr(c),c?.externalData&&f.mountExternalData){let L=[];for(let W of c.externalData){let de=typeof W==\"string\"?W:W.path;L.push(xr(typeof W==\"string\"?W:W.data).then(pe=>{f.mountExternalData(de,pe)}))}await Promise.all(L)}w=await f._OrtCreateSession(a,h,g),w===0&&j(\"Can\\'t create a session.\");let[A,I]=dn(w),V=!!c?.enableGraphCapture,R=[],B=[],D=[];for(let L=0;Lf._OrtFree(I)),H.forEach(I=>f._OrtFree(I)),s!==0&&f._OrtReleaseBinding(s),w!==0&&f._OrtReleaseSession(w),A}finally{f._free(a),g!==0&&f._OrtReleaseSessionOptions(g),S.forEach(A=>f._free(A)),f.unmountExternalData?.()}},Br=i=>{let c=Q(),a=Ye.get(i);if(!a)throw new Error(`cannot release session. invalid session id: ${i}`);let[h,f,w,g,s]=a;g&&(s&&c._OrtClearBoundOutputs(g.handle),c._OrtReleaseBinding(g.handle)),c.jsepOnReleaseSession?.(i),f.forEach(S=>c._OrtFree(S)),w.forEach(S=>c._OrtFree(S)),c._OrtReleaseSession(h),Ye.delete(i)},Ur=(i,c,a,h,f,w=!1)=>{if(!i){c.push(0);return}let g=Q(),s=i[0],S=i[1],x=i[3],H,A;if(s===\"string\"&&x===\"gpu-buffer\")throw new Error(\"String tensor is not supported on GPU.\");if(w&&x!==\"gpu-buffer\")throw new Error(`External buffer must be provided for input/output index ${f} when enableGraphCapture is true.`);if(x===\"gpu-buffer\"){let R=i[2].gpuBuffer,B=Ut(xt(s));A=S.reduce((T,L)=>T*L,1)*B;let D=g.jsepRegisterBuffer;if(!D)throw new Error(\\'Tensor location \"gpu-buffer\" is not supported without using WebGPU.\\');H=D(h,f,R,A)}else{let R=i[2];if(Array.isArray(R)){A=4*R.length,H=g._malloc(A),a.push(H);let B=H/4;for(let D=0;Dg.HEAP32[R++]=D);let B=g._OrtCreateTensor(xt(s),H,A,V,S.length,Pr(x));B===0&&j(`Can\\'t create tensor for input/output. session=${h}, index=${f}.`),c.push(B)}finally{g.stackRestore(I)}},kr=async(i,c,a,h,f,w)=>{let g=Q(),s=Ye.get(i);if(!s)throw new Error(`cannot run inference. invalid session id: ${i}`);let S=s[0],x=s[1],H=s[2],A=s[3],I=s[4],V=s[5],R=c.length,B=h.length,D=0,T=[],L=[],W=[],de=[],pe=g.stackSave(),Z=g.stackAlloc(R*4),_=g.stackAlloc(R*4),J=g.stackAlloc(B*4),Pe=g.stackAlloc(B*4);try{[D,T]=Ar(w);for(let F=0;Fte*re,1);ae=Mr(Ue);let Be=A?.outputPreferredLocations[h[F]];if(ae===\"string\"){if(Be===\"gpu-buffer\")throw new Error(\"String tensor is not supported on GPU.\");let te=[],re=K/4;for(let ue=0;ue0){let te=g.jsepGetBuffer;if(!te)throw new Error(\\'preferredLocation \"gpu-buffer\" is not supported without using WebGPU.\\');let re=te(K),ue=Ut(Ue);if(ue===void 0||!Fr(ae))throw new Error(`Unsupported data type: ${ae}`);be=!0,me.push([ae,_e,{gpuBuffer:re,download:g.jsepCreateDownloader(re,ge*ue,ae),dispose:()=>{g._OrtReleaseTensor(ie)}},\"gpu-buffer\"])}else{let te=Cr(ae),re=new te(ge);new Uint8Array(re.buffer,re.byteOffset,re.byteLength).set(g.HEAPU8.subarray(K,K+re.byteLength)),me.push([ae,_e,re,\"cpu\"])}}finally{g.stackRestore(xe),ae===\"string\"&&K&&g._free(K),be||g._OrtReleaseTensor(ie)}}return A&&!I&&(g._OrtClearBoundOutputs(A.handle),Ye.set(i,[S,x,H,A,I,!1])),me}finally{g.stackRestore(pe),L.forEach(le=>g._OrtReleaseTensor(le)),W.forEach(le=>g._OrtReleaseTensor(le)),de.forEach(le=>g._free(le)),D!==0&&g._OrtReleaseRunOptions(D),T.forEach(le=>g._free(le))}},Wr=i=>{let c=Q(),a=Ye.get(i);if(!a)throw new Error(\"invalid session id\");let h=a[0],f=c._OrtEndProfiling(h);f===0&&j(\"Can\\'t get an profile file name.\"),c._OrtFree(f)},Nr=i=>{let c=[];for(let a of i){let h=a[2];!Array.isArray(h)&&\"buffer\"in h&&c.push(h.buffer)}return c};self.onmessage=i=>{let{type:c,in:a}=i.data;try{switch(c){case\"init-wasm\":Sr(a.wasm).then(()=>{Lr(a).then(()=>{postMessage({type:c})},h=>{postMessage({type:c,err:h})})},h=>{postMessage({type:c,err:h})});break;case\"init-ep\":{let{epName:h,env:f}=a;Rr(f,h).then(()=>{postMessage({type:c})},w=>{postMessage({type:c,err:w})});break}case\"copy-from\":{let{buffer:h}=a,f=Lt(h);postMessage({type:c,out:f});break}case\"create\":{let{model:h,options:f}=a;Ir(h,f).then(w=>{postMessage({type:c,out:w})},w=>{postMessage({type:c,err:w})});break}case\"release\":Br(a),postMessage({type:c});break;case\"run\":{let{sessionId:h,inputIndices:f,inputs:w,outputIndices:g,options:s}=a;kr(h,f,w,g,new Array(g.length).fill(null),s).then(S=>{S.some(x=>x[3]!==\"cpu\")?postMessage({type:c,err:\"Proxy does not support non-cpu tensor location.\"}):postMessage({type:c,out:S},Nr([...w,...S]))},S=>{postMessage({type:c,err:S})});break}case\"end-profiling\":Wr(a),postMessage({type:c});break;default:}}catch(h){postMessage({type:c,err:h})}};})();\\n'});var Ke,Te,Ot,$t,Gt,br,vr,it,st,Ja,Ht,sa,ua,fa,la,ca,da,pa,Or=H(()=>{\"use strict\";Qe();oa();at();Ke=()=>!!j.wasm.proxy&&typeof document<\"u\",Ot=!1,$t=!1,Gt=!1,vr=new Map,it=(r,t)=>{let n=vr.get(r);n?n.push(t):vr.set(r,[t])},st=()=>{if(Ot||!$t||Gt||!Te)throw new Error(\"worker not ready\")},Ja=r=>{switch(r.data.type){case\"init-wasm\":Ot=!1,r.data.err?(Gt=!0,br[1](r.data.err)):($t=!0,br[0]());break;case\"init-ep\":case\"copy-from\":case\"create\":case\"release\":case\"run\":case\"end-profiling\":{let t=vr.get(r.data.type);r.data.err?t.shift()[1](r.data.err):t.shift()[0](r.data.out);break}default:}},Ht=typeof document<\"u\"?document?.currentScript?.src:void 0,sa=async()=>{if(!$t){if(Ot)throw new Error(\"multiple calls to 'initWasm()' detected.\");if(Gt)throw new Error(\"previous call to 'initWasm()' failed.\");if(Ot=!0,Ke())return j.wasm.wasmPaths===void 0&&Ht&&Ht.indexOf(\"blob:\")!==0&&(j.wasm.wasmPaths=Ht.substr(0,+Ht.lastIndexOf(\"/\")+1)),new Promise((r,t)=>{Te?.terminate();let n=URL.createObjectURL(new Blob([ia()],{type:\"text/javascript\"}));Te=new Worker(n,{name:\"ort-wasm-proxy-worker\"}),Te.onerror=i=>t(i),Te.onmessage=Ja,URL.revokeObjectURL(n),br=[r,t];let f={type:\"init-wasm\",in:j};Te.postMessage(f)});try{await $n(j.wasm),await Qn(j),$t=!0}catch(r){throw Gt=!0,r}finally{Ot=!1}}},ua=async r=>{if(Ke())return st(),new Promise((t,n)=>{it(\"init-ep\",[t,n]);let f={type:\"init-ep\",in:{epName:r,env:j}};Te.postMessage(f)});await Kn(j,r)},fa=async r=>Ke()?(st(),new Promise((t,n)=>{it(\"copy-from\",[t,n]);let f={type:\"copy-from\",in:{buffer:r}};Te.postMessage(f,[r.buffer])})):wr(r),la=async(r,t)=>{if(Ke()){if(t?.preferredOutputLocation)throw new Error('session option \"preferredOutputLocation\" is not supported for proxy.');return st(),new Promise((n,f)=>{it(\"create\",[n,f]);let i={type:\"create\",in:{model:r,options:{...t}}},m=[];r instanceof Uint8Array&&m.push(r.buffer),Te.postMessage(i,m)})}else return ea(r,t)},ca=async r=>{if(Ke())return st(),new Promise((t,n)=>{it(\"release\",[t,n]);let f={type:\"release\",in:r};Te.postMessage(f)});ta(r)},da=async(r,t,n,f,i,m)=>{if(Ke()){if(n.some(c=>c[3]!==\"cpu\"))throw new Error(\"input tensor on GPU is not supported for proxy.\");if(i.some(c=>c))throw new Error(\"pre-allocated output tensor is not supported for proxy.\");return st(),new Promise((c,s)=>{it(\"run\",[c,s]);let h=n,g={type:\"run\",in:{sessionId:r,inputIndices:t,inputs:h,outputIndices:f,options:m}};Te.postMessage(g,aa(h))})}else return ra(r,t,n,f,i,m)},pa=async r=>{if(Ke())return st(),new Promise((t,n)=>{it(\"end-profiling\",[t,n]);let f={type:\"end-profiling\",in:r};Te.postMessage(f)});na(r)}});var ma,Za,jt,ha=H(()=>{\"use strict\";Qe();Or();gr();yr();ma=(r,t)=>{switch(r.location){case\"cpu\":return[r.type,r.dims,r.data,\"cpu\"];case\"gpu-buffer\":return[r.type,r.dims,{gpuBuffer:r.gpuBuffer},\"gpu-buffer\"];default:throw new Error(`invalid data location: ${r.location} for ${t()}`)}},Za=r=>{switch(r[3]){case\"cpu\":return new me(r[0],r[2],r[1]);case\"gpu-buffer\":{let t=r[0];if(!Wt(t))throw new Error(`not supported data type: ${t} for deserializing GPU tensor`);let{gpuBuffer:n,download:f,dispose:i}=r[2];return me.fromGpuBuffer(n,{dataType:t,dims:r[1],download:f,dispose:i})}default:throw new Error(`invalid data location: ${r[3]}`)}},jt=class{async fetchModelAndCopyToWasmMemory(t){return fa(await vt(t))}async loadModel(t,n){Je();let f;typeof t==\"string\"?typeof process<\"u\"&&process.versions&&process.versions.node?f=await vt(t):f=await this.fetchModelAndCopyToWasmMemory(t):f=t,[this.sessionId,this.inputNames,this.outputNames]=await la(f,n),Ze()}async dispose(){return ca(this.sessionId)}async run(t,n,f){Je();let i=[],m=[];Object.entries(t).forEach(O=>{let M=O[0],P=O[1],U=this.inputNames.indexOf(M);if(U===-1)throw new Error(`invalid input '${M}'`);i.push(P),m.push(U)});let c=[],s=[];Object.entries(n).forEach(O=>{let M=O[0],P=O[1],U=this.outputNames.indexOf(M);if(U===-1)throw new Error(`invalid output '${M}'`);c.push(P),s.push(U)});let h=i.map((O,M)=>ma(O,()=>`input \"${this.inputNames[m[M]]}\"`)),g=c.map((O,M)=>O?ma(O,()=>`output \"${this.outputNames[s[M]]}\"`):null),_=await da(this.sessionId,m,h,s,g,f),v={};for(let O=0;O<_.length;O++)v[this.outputNames[s[O]]]=c[O]??Za(_[O]);return Ze(),v}startProfiling(){}endProfiling(){pa(this.sessionId)}}});var Qa,zt,ga=H(()=>{\"use strict\";Qe();Or();ha();Qa=()=>{if((typeof j.wasm.initTimeout!=\"number\"||j.wasm.initTimeout<0)&&(j.wasm.initTimeout=0),typeof j.wasm.simd!=\"boolean\"&&(j.wasm.simd=!0),typeof j.wasm.proxy!=\"boolean\"&&(j.wasm.proxy=!1),typeof j.wasm.trace!=\"boolean\"&&(j.wasm.trace=!1),typeof j.wasm.numThreads!=\"number\"||!Number.isInteger(j.wasm.numThreads)||j.wasm.numThreads<=0){(typeof self<\"u\"&&!self.crossOriginIsolated||typeof process<\"u\"&&process.versions&&process.versions.node)&&(j.wasm.numThreads=1);let r=typeof navigator>\"u\"?(void 0)().length:navigator.hardwareConcurrency;j.wasm.numThreads=Math.min(4,Math.ceil((r||1)/2))}},zt=class{async init(t){Qa(),await sa(),await ua(t)}async createInferenceSessionHandler(t,n){let f=new jt;return await f.loadModel(t,n),Promise.resolve(f)}}});var ya={};gt(ya,{wasmBackend:()=>Ka});var Ka,wa=H(()=>{\"use strict\";ga();Ka=new zt});Qe();Qe();Qe();var Mn=\"1.18.0\";var Ni=or;{let r=(wa(),nt(ya)).wasmBackend;yt(\"cpu\",r,10),yt(\"wasm\",r,10)}Object.defineProperty(j.versions,\"web\",{value:Mn,enumerable:!0});export{xa as InferenceSession,yn as TRACE,Je as TRACE_FUNC_BEGIN,Ze as TRACE_FUNC_END,me as Tensor,Da as TrainingSession,Ni as default,j as env,yt as registerBackend};\n//# sourceMappingURL=ort.wasm.min.js.map\n","import { AUDIO_REC as AR, AUDIO_VAD as AV } from '_constants';\nimport { clamp, lerp, RunningUnitMedian, RunningEMA, approximateGain } from 'math';\nimport { ResolvedPromise } from 'promises';\n// @ts-ignore - it works, but fails validation\nimport * as ort from 'onnxruntime-web/wasm';\nimport { WebRtcVad } from '@actual-chat/webrtc-vad';\nimport { VoiceActivityChange, VoiceActivityDetector, NO_VOICE_ACTIVITY } from './audio-vad-contract';\nimport { Log } from 'logging';\nimport { Versioning } from 'versioning';\n\nconst { debugLog } = Log.get('AudioVadWorker');\n\nexport abstract class VoiceActivityDetectorBase implements VoiceActivityDetector {\n protected readonly probEMA = new RunningEMA(0.5, 5); // 32ms*5 ~ 150ms\n protected readonly longProbEMA = new RunningEMA(0.5, 64); // 32ms*64 ~ 2s\n protected readonly probMedian = new RunningUnitMedian();\n protected readonly minSpeechSamples: number;\n protected readonly maxSpeechSamples: number;\n protected readonly maxPauseCancelSamples: number;\n // private readonly results = new Array();\n\n protected sampleCount = 0;\n protected pauseOffset?: number = null;\n protected pauseCancelSamples: number = 0;\n protected lastConversationSignalAtSample: number | null = null;\n protected whenTalkingProbMedian: RunningUnitMedian | null = null;\n protected maxPauseSamples: number;\n\n protected constructor(\n protected isNeural: boolean,\n protected sampleRate: number,\n public lastActivityEvent: VoiceActivityChange = NO_VOICE_ACTIVITY,\n ) {\n this.minSpeechSamples = sampleRate * AV.MIN_SPEECH;\n this.maxSpeechSamples = sampleRate * AV.MAX_SPEECH;\n this.maxPauseSamples = sampleRate * AV.MAX_PAUSE;\n this.maxPauseCancelSamples = sampleRate * AV.MIN_SPEECH_TO_CANCEL_PAUSE;\n }\n\n public abstract init(): Promise;\n\n public reset(): void {\n this.lastActivityEvent = NO_VOICE_ACTIVITY;\n this.sampleCount = 0;\n this.pauseOffset = null;\n this.pauseCancelSamples = 0;\n this.lastConversationSignalAtSample = null;\n this.resetInternal && this.resetInternal();\n }\n\n public async appendChunk(monoPcm: Float32Array): Promise {\n const currentOffset = this.sampleCount;\n this.sampleCount += monoPcm.length;\n let currentEvent = this.lastActivityEvent;\n const gain = approximateGain(monoPcm);\n if (gain < AR.MIN_RECORDING_GAIN && currentEvent.kind === 'end')\n return gain; // do not try to check VAD at low gain input\n\n const prob = await this.appendChunkInternal(monoPcm);\n //debugLog?.log('appendChunk:', prob, gain);\n if (prob === null)\n return gain; // no voice activity probability yet\n\n // this.results.push(prob);\n this.probEMA.appendSample(prob);\n this.longProbEMA.appendSample(prob);\n const probEma = this.probEMA.value;\n const longProbEma = this.longProbEMA.value;\n const probMedian = this.probMedian.value;\n const speechProbTrigger = 0.67 * probMedian;\n const pauseProbTrigger = 0.15 * probMedian;\n\n if (currentEvent.kind === 'end'\n && probEma >= longProbEma\n && (probEma >= speechProbTrigger)\n ) {\n // speech start detected\n const offset = Math.max(0, currentOffset - monoPcm.length);\n const duration = offset - currentEvent.offset;\n currentEvent = { kind: 'start', offset, speechProb: probEma, duration };\n this.whenTalkingProbMedian = new RunningUnitMedian();\n this.maxPauseSamples = this.sampleRate * AV.MAX_PAUSE;\n }\n else if (currentEvent.kind === 'start' && probEma < longProbEma && probEma < pauseProbTrigger) {\n // pause start detected\n this.pauseCancelSamples = 0;\n if (this.pauseOffset === null)\n this.pauseOffset = currentOffset;\n this.whenTalkingProbMedian = null;\n }\n\n if (currentEvent.kind === 'start') {\n const currentSpeechSamples = currentOffset - currentEvent.offset;\n\n if (this.pauseOffset !== null) {\n // we detected pause earlier - should we \"materialize\" it?\n if (probEma >= speechProbTrigger) {\n // and it's speech now\n this.pauseCancelSamples += monoPcm.length;\n if (this.pauseCancelSamples >= this.maxPauseCancelSamples) {\n // which continues for\n this.pauseOffset = null;\n this.pauseCancelSamples = 0;\n }\n } else if (probEma < pauseProbTrigger) {\n // it's still a pause\n const currentSilenceSamples = currentOffset - this.pauseOffset;\n if (currentSilenceSamples > this.maxPauseSamples && currentSpeechSamples > this.minSpeechSamples) {\n // \"materializing\" the pause\n const offset = this.pauseOffset + monoPcm.length;\n const duration = offset - currentEvent.offset;\n currentEvent = { kind: 'end', offset, speechProb: probEma, duration };\n this.pauseOffset = null;\n }\n }\n }\n else if (this.whenTalkingProbMedian !== null) {\n // adjust speech boundary triggers if current period was speech with high probabilities\n const offset = currentOffset + monoPcm.length;\n const duration = offset - currentEvent.offset;\n const durationS = duration / this.sampleRate;\n const speechRatio = this.whenTalkingProbMedian.sampleCount / duration;\n if (speechRatio > 0.5 && durationS > 2)\n this.probMedian.appendSample(probEma);\n }\n\n if (currentEvent.kind === 'start' && currentSpeechSamples > this.maxSpeechSamples) {\n // break long speech regardless of speech probability\n const offset = this.pauseOffset ?? currentOffset;\n const duration = offset - currentEvent.offset;\n currentEvent = { kind: 'end', offset: currentOffset, speechProb: probEma, duration };\n this.pauseOffset = null;\n }\n\n if (this.whenTalkingProbMedian !== null && prob > 0.25)\n this.whenTalkingProbMedian.appendSample(prob);\n\n // adjust max pause for long speech - break more aggressively, but keep longer pauses for monologue\n const isConversation = this.lastConversationSignalAtSample !== null\n && (this.sampleCount - this.lastConversationSignalAtSample) <= this.sampleRate * AV.CONV_DURATION;\n const maxPause = isConversation ? AV.MAX_CONV_PAUSE : AV.MAX_PAUSE;\n const maxPauseVariesFromSamples = this.sampleRate * AV.PAUSE_VARIES_FROM;\n let maxPauseAlpha =\n (currentSpeechSamples - maxPauseVariesFromSamples) /\n (this.maxSpeechSamples - maxPauseVariesFromSamples); // Always > 0\n maxPauseAlpha = clamp(maxPauseAlpha, 0, 1);\n maxPauseAlpha = Math.pow(maxPauseAlpha, AV.PAUSE_VARY_POWER);\n const silenceThreshold = lerp(maxPause, AV.MIN_PAUSE, maxPauseAlpha);\n this.maxPauseSamples = Math.floor(this.sampleRate * silenceThreshold);\n }\n\n if (this.lastActivityEvent == currentEvent || this.lastActivityEvent.kind == currentEvent.kind)\n return gain;\n\n this.lastActivityEvent = currentEvent;\n // uncomment for debugging\n // console.log(movingAverages.lastAverage, longMovingAverages.lastAverage, speechBoundaries.median, [...this.results], gain);\n // this.results.length = 0;\n return adjustChangeEventsToSeconds(currentEvent, this.sampleRate);\n }\n\n public conversationSignal(): void {\n this.lastConversationSignalAtSample = this.sampleCount;\n }\n\n protected resetInternal?(): void;\n protected abstract appendChunkInternal(monoPcm: Float32Array): Promise;\n}\n\n// WebRtcVoiceActivityDetector\n\nenum VadActivity {\n Silence = 0,\n Voice = 1,\n Error = -1,\n}\n\nexport class WebRtcVoiceActivityDetector extends VoiceActivityDetectorBase {\n private lastSkippedAt: number = 0;\n\n constructor(private baseVad: WebRtcVad) {\n super(false, AR.SAMPLE_RATE);\n }\n\n public override init(): Promise {\n return ResolvedPromise.Void;\n }\n\n protected override appendChunkInternal(monoPcm: Float32Array): Promise {\n if (monoPcm.length !== AR.SAMPLES_PER_WINDOW_30)\n throw new Error(`appendChunk() accepts ${AR.SAMPLES_PER_WINDOW_30} sample audio windows only.`);\n\n // Emscripten interop requires Uint8Array or ArrayBuffer, so we need to pass Float32Array as Uint8Array\n const activity = this.baseVad.detect(new Uint8Array(monoPcm.buffer, 0, monoPcm.length * 4));\n const now = Date.now();\n if (activity > 0 && (this.sampleCount / AR.SAMPLES_PER_MS < AV.SKIP_FIRST_RECORDING_MS || now - this.lastSkippedAt < 5)) {\n this.lastSkippedAt = now;\n return null; // Skip triggering on microphone noise at the beginning of the first microphone stream\n }\n\n if (activity == VadActivity.Error)\n throw new Error(`Error calling WebRtc VAD`);\n\n // Our base class logic has been developed for float speech probability about 0.75 and higher,\n // so let's adjust 1|0 to tested range to reuse existing heuristics\n return Promise.resolve(Number(0.8 * activity));\n }\n\n protected override resetInternal() {\n this.baseVad.reset();\n }\n}\n\n// NNVoiceActivityDetector\n\nexport class NeuralVoiceActivityDetector extends VoiceActivityDetectorBase {\n private readonly modelUri: URL;\n\n private readonly context: Float32Array;\n private readonly buffer: Float32Array;\n private session: ort.InferenceSession = null;\n private state: ort.Tensor;\n\n constructor(modelUri: URL, lastActivityEvent: VoiceActivityChange) {\n super(true, AR.SAMPLE_RATE, lastActivityEvent);\n\n this.modelUri = modelUri;\n this.context = new Float32Array(AV.NN_VAD_CONTEXT_SAMPLES).fill(0);\n this.buffer = new Float32Array(AR.SAMPLES_PER_WINDOW_32 + AV.NN_VAD_CONTEXT_SAMPLES).fill(0);\n this.resetInternal();\n\n // Multithreading requires Cross Origin Isolation, so we don't use it here. See:\n // - https://web.dev/articles/cross-origin-isolation-guide\n // ort.env.wasm.numThreads = 4;\n const ortWasmSimdPath = Versioning.mapPath('/dist/wasm/ort-wasm-simd.wasm');\n ort.env.wasm.numThreads = 1;\n ort.env.wasm.simd = true;\n ort.env.wasm.wasmPaths = {\n 'ort-wasm-simd.wasm': ortWasmSimdPath,\n }\n }\n\n public async init(): Promise {\n let session = this.session;\n if (session === null) {\n session = await ort.InferenceSession.create(this.modelUri.toString(), {\n enableCpuMemArena: false,\n executionMode: 'parallel',\n graphOptimizationLevel: 'basic',\n executionProviders: ['wasm']\n });\n }\n this.session = session;\n }\n\n protected async appendChunkInternal(monoPcm: Float32Array): Promise {\n const { state, buffer, context } = this;\n if (this.session == null) {\n // skip processing until initialized\n return null;\n }\n\n if (monoPcm.length !== AR.SAMPLES_PER_WINDOW_32) {\n throw new Error(`appendChunk() accepts ${AR.SAMPLES_PER_WINDOW_32} sample audio windows only, but found ${monoPcm.length}.`);\n }\n\n buffer.set(context);\n buffer.set(monoPcm, context.length);\n const tensor = new ort.Tensor(buffer, [1, buffer.length]);\n const srArray = new BigInt64Array(1).fill(BigInt(16000));\n const sr = new ort.Tensor(srArray);\n const feeds = { input: tensor, state: state, sr: sr };\n const result = await this.session.run(feeds);\n const { output, stateN } = result;\n this.state = stateN;\n this.context.set(monoPcm.slice(-context.length));\n return output.data[0] as number;\n }\n\n protected resetInternal(): void {\n this.state = new ort.Tensor(new Float32Array(2 * 128), [2, 1, 128]);\n }\n}\n\n// Helpers\n\nfunction adjustChangeEventsToSeconds(event: VoiceActivityChange, sampleRate: number): VoiceActivityChange {\n return {\n kind: event.kind,\n offset: event.offset / sampleRate,\n speechProb: event.speechProb,\n duration: event.duration === null ? null : event.duration / sampleRate\n };\n}\n","\nvar resampler = (() => {\n var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;\n \n return (\nfunction(moduleArg = {}) {\n var moduleRtn;\n\nvar n=moduleArg,aa,ba,ca=new Promise((a,b)=>{aa=a;ba=b}),da=Object.assign({},n),u=\"\",ea,fa;u=self.location.href;_scriptName&&(u=_scriptName);u.startsWith(\"blob:\")?u=\"\":u=u.substr(0,u.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1);fa=a=>{var b=new XMLHttpRequest;b.open(\"GET\",a,!1);b.responseType=\"arraybuffer\";b.send(null);return new Uint8Array(b.response)};ea=async a=>{a=await fetch(a,{credentials:\"same-origin\"});if(a.ok)return a.arrayBuffer();throw Error(a.status+\" : \"+a.url);};\nvar ha=console.log.bind(console),v=console.error.bind(console);Object.assign(n,da);da=null;var w,ia=!1,ja,x,A,B,C,E,ka,la,ma,na;function oa(){var a=w.buffer;ja=new Int8Array(a);A=new Int16Array(a);x=new Uint8Array(a);B=new Uint16Array(a);C=new Int32Array(a);E=new Uint32Array(a);ka=new Float32Array(a);na=new Float64Array(a);la=new BigInt64Array(a);ma=new BigUint64Array(a)}var pa=[],qa=[],ra=[],F=0,H=null;\nfunction sa(a){a=\"Aborted(\"+a+\")\";v(a);ia=!0;a=new WebAssembly.RuntimeError(a+\". Build with -sASSERTIONS for more info.\");ba(a);throw a;}var ta=a=>a.startsWith(\"data:application/octet-stream;base64,\"),ua;async function wa(a){try{var b=await ea(a);return new Uint8Array(b)}catch{}if(fa)a=fa(a);else throw\"both async and sync fetching of the wasm failed\";return a}\nasync function xa(a,b){try{var c=await wa(a);return await WebAssembly.instantiate(c,b)}catch(d){v(`failed to asynchronously prepare wasm: ${d}`),sa(d)}}async function ya(a){var b=ua;if(\"function\"==typeof WebAssembly.instantiateStreaming&&!ta(b)&&\"function\"==typeof fetch)try{var c=fetch(b,{credentials:\"same-origin\"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){v(`wasm streaming compile failed: ${d}`),v(\"falling back to ArrayBuffer instantiation\")}return xa(b,a)}\nclass za{name=\"ExitStatus\";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}\nvar I=a=>{if(null===a)return\"null\";var b=typeof a;return\"object\"===b||\"array\"===b||\"function\"===b?a.toString():\"\"+a},Aa,J=a=>{for(var b=\"\";x[a];)b+=Aa[x[a++]];return b},L={},M={},N={},O,P,R=(a,b,c)=>{function d(g){g=c(g);if(g.length!==a.length)throw new P(\"Mismatched type converter count\");for(var k=0;kN[g]=b);var e=Array(b.length),f=[],h=0;b.forEach((g,k)=>{M.hasOwnProperty(g)?e[k]=M[g]:(f.push(g),L.hasOwnProperty(g)||(L[g]=[]),L[g].push(()=>{e[k]=M[g];++h;\nh===f.length&&d(e)}))});0===f.length&&d(e)};function Ba(a,b,c={}){var d=b.name;if(!a)throw new O(`type \"${d}\" must have a positive integer typeid pointer`);if(M.hasOwnProperty(a)){if(c.ja)return;throw new O(`Cannot register type '${d}' twice`);}M[a]=b;delete N[a];L.hasOwnProperty(a)&&(b=L[a],delete L[a],b.forEach(e=>e()))}function Q(a,b,c={}){return Ba(a,b,c)}\nvar Ca=(a,b,c)=>{switch(b){case 1:return c?d=>ja[d]:d=>x[d];case 2:return c?d=>A[d>>1]:d=>B[d>>1];case 4:return c?d=>C[d>>2]:d=>E[d>>2];case 8:return c?d=>la[d>>3]:d=>ma[d>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},Da=a=>{throw new O(a.I.L.J.name+\" instance already deleted\");},Ea=!1,Fa=()=>{},Ga=(a,b,c)=>{if(b===c)return a;if(void 0===c.N)return null;a=Ga(a,b,c.N);return null===a?null:c.ga(a)},Ha={},Ia={},Ja=(a,b)=>{if(void 0===b)throw new O(\"ptr should not be undefined\");\nfor(;a.N;)b=a.Z(b),a=a.N;return Ia[b]},Ka=(a,b)=>{if(!b.L||!b.K)throw new P(\"makeClassHandle requires ptr and ptrType\");if(!!b.O!==!!b.M)throw new P(\"Both smartPtrType and smartPtr must be specified\");b.count={value:1};return S(Object.create(a,{I:{value:b,writable:!0}}))},S=a=>{if(\"undefined\"===typeof FinalizationRegistry)return S=b=>b,a;Ea=new FinalizationRegistry(b=>{b=b.I;--b.count.value;0===b.count.value&&(b.M?b.O.U(b.M):b.L.J.U(b.K))});S=b=>{var c=b.I;c.M&&Ea.register(b,{I:c},b);return b};Fa=\nb=>{Ea.unregister(b)};return S(a)},La=[];function Ma(){}\nvar Na=(a,b)=>Object.defineProperty(b,\"name\",{value:a}),Oa=(a,b,c)=>{if(void 0===a[b].S){var d=a[b];a[b]=function(...e){if(!a[b].S.hasOwnProperty(e.length))throw new O(`Function '${c}' called with an invalid number of arguments (${e.length}) - expects one of (${a[b].S})!`);return a[b].S[e.length].apply(this,e)};a[b].S=[];a[b].S[d.W]=d}},Pa=(a,b)=>{if(n.hasOwnProperty(a))throw new O(`Cannot register public name '${a}' twice`);n[a]=b;n[a].W=void 0},Qa=a=>{a=a.replace(/[^a-zA-Z0-9_]/g,\"$\");var b=a.charCodeAt(0);\nreturn 48<=b&&57>=b?`_${a}`:a};function Ra(a,b,c,d,e,f,h,g){this.name=a;this.constructor=b;this.T=c;this.U=d;this.N=e;this.ha=f;this.Z=h;this.ga=g;this.la=[]}var Sa=(a,b,c)=>{for(;b!==c;){if(!b.Z)throw new O(`Expected null or instance of ${c.name}, got an instance of ${b.name}`);a=b.Z(a);b=b.N}return a};\nfunction Ta(a,b){if(null===b){if(this.ba)throw new O(`null is not a valid ${this.name}`);return 0}if(!b.I)throw new O(`Cannot pass \"${I(b)}\" as a ${this.name}`);if(!b.I.K)throw new O(`Cannot pass deleted object as a pointer of type ${this.name}`);return Sa(b.I.K,b.I.L.J,this.J)}\nfunction Ua(a,b){if(null===b){if(this.ba)throw new O(`null is not a valid ${this.name}`);if(this.aa){var c=this.ma();null!==a&&a.push(this.U,c);return c}return 0}if(!b||!b.I)throw new O(`Cannot pass \"${I(b)}\" as a ${this.name}`);if(!b.I.K)throw new O(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.$&&b.I.L.$)throw new O(`Cannot convert argument of type ${b.I.O?b.I.O.name:b.I.L.name} to parameter type ${this.name}`);c=Sa(b.I.K,b.I.L.J,this.J);if(this.aa){if(void 0===b.I.M)throw new O(\"Passing raw pointer to smart pointer is illegal\");\nswitch(this.oa){case 0:if(b.I.O===this)c=b.I.M;else throw new O(`Cannot convert argument of type ${b.I.O?b.I.O.name:b.I.L.name} to parameter type ${this.name}`);break;case 1:c=b.I.M;break;case 2:if(b.I.O===this)c=b.I.M;else{var d=b.clone();c=this.na(c,T(()=>d[\"delete\"]()));null!==a&&a.push(this.U,c)}break;default:throw new O(\"Unsupporting sharing policy\");}}return c}\nfunction Va(a,b){if(null===b){if(this.ba)throw new O(`null is not a valid ${this.name}`);return 0}if(!b.I)throw new O(`Cannot pass \"${I(b)}\" as a ${this.name}`);if(!b.I.K)throw new O(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.I.L.$)throw new O(`Cannot convert argument of type ${b.I.L.name} to parameter type ${this.name}`);return Sa(b.I.K,b.I.L.J,this.J)}function Wa(a){return this.fromWireType(E[a>>2])}\nfunction Xa(a,b,c,d,e,f,h,g,k,l,m){this.name=a;this.J=b;this.ba=c;this.$=d;this.aa=e;this.ka=f;this.oa=h;this.ea=g;this.ma=k;this.na=l;this.U=m;e||void 0!==b.N?this.toWireType=Ua:(this.toWireType=d?Ta:Va,this.R=null)}\nvar Ya=(a,b)=>{if(!n.hasOwnProperty(a))throw new P(\"Replacing nonexistent public symbol\");n[a]=b;n[a].W=void 0},Za,U=(a,b)=>{a=J(a);var c=Za.get(b);if(\"function\"!=typeof c)throw new O(`unknown function pointer with signature ${a}: ${b}`);return c},$a,cb=a=>{a=ab(a);var b=J(a);V(a);return b},W=(a,b)=>{function c(f){e[f]||M[f]||(N[f]?N[f].forEach(c):(d.push(f),e[f]=!0))}var d=[],e={};b.forEach(c);throw new $a(`${a}: `+d.map(cb).join([\", \"]));},db=(a,b)=>{for(var c=[],d=0;d>2]);\nreturn c},eb=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function fb(a){for(var b=1;bf)throw new O(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");var h=null!==b[1]&&null!==c,g=fb(b),k=\"void\"!==b[0].name,l=f-2,m=Array(l),p=[],q=[];return Na(a,function(...y){q.length=0;p.length=h?2:1;p[0]=e;if(h){var r=b[1].toWireType(q,this);p[1]=r}for(var t=0;t{a=a.trim();const b=a.indexOf(\"(\");return-1!==b?a.substr(0,b):a},ib=(a,b,c)=>{if(!(a instanceof Object))throw new O(`${c} with invalid \"this\": ${a}`);if(!(a instanceof b.J.constructor))throw new O(`${c} incompatible with \"this\" of type ${a.constructor.name}`);if(!a.I.K)throw new O(`cannot call emscripten binding method ${c} on deleted object`);return Sa(a.I.K,a.I.L.J,b.J)},jb=[],X=[],kb=a=>{9{if(!a)throw new O(\"Cannot use deleted val. handle = \"+a);\nreturn X[a]},T=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=jb.pop()||X.length;X[b]=a;X[b+1]=1;return b}},mb={name:\"emscripten::val\",fromWireType:a=>{var b=lb(a);kb(a);return b},toWireType:(a,b)=>T(b),P:8,readValueFromPointer:Wa,R:null},nb=(a,b)=>{switch(b){case 4:return function(c){return this.fromWireType(ka[c>>2])};case 8:return function(c){return this.fromWireType(na[c>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);\n}},ob=\"undefined\"!=typeof TextDecoder?new TextDecoder:void 0,pb=(a,b=0,c=NaN)=>{var d=b+c;for(c=b;a[c]&&!(c>=d);)++c;if(16e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},\nqb=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf-16le\"):void 0,rb=(a,b)=>{var c=a>>1;for(var d=c+b/2;!(c>=d)&&B[c];)++c;c<<=1;if(32=b/2);++d){var e=A[a+2*d>>1];if(0==e)break;c+=String.fromCharCode(e)}return c},sb=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e>1]=a.charCodeAt(e),b+=2;A[b>>1]=0;return b-d},tb=a=>2*a.length,ub=(a,b)=>{for(var c=0,d=\"\";!(c>=b/4);){var e=C[a+4*\nc>>2];if(0==e)break;++c;65536<=e?(e-=65536,d+=String.fromCharCode(55296|e>>10,56320|e&1023)):d+=String.fromCharCode(e)}return d},vb=(a,b,c)=>{c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e=f){var h=a.charCodeAt(++e);f=65536+((f&1023)<<10)|h&1023}C[b>>2]=f;b+=4;if(b+4>c)break}C[b>>2]=0;return b-d},wb=a=>{for(var b=0,c=0;c=d&&++c;b+=4}return b},xb=[],yb={},zb=()=>{function a(b){b.$$$embind_global$$$=\nb;var c=\"object\"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if(\"object\"==typeof globalThis)return globalThis;if(\"object\"==typeof $$$embind_global$$$)return $$$embind_global$$$;\"object\"==typeof global&&a(global)?$$$embind_global$$$=global:\"object\"==typeof self&&a(self)&&($$$embind_global$$$=self);if(\"object\"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error(\"unable to get global object.\");},Ab=a=>{var b=xb.length;xb.push(a);return b},\nBb=(a,b)=>{for(var c=Array(a),d=0;d>2],h=M[f];if(void 0===h)throw a=`${\"parameter \"+d} has unknown type ${cb(f)}`,new O(a);c[e]=h}return c},Cb=Reflect.construct,Y={},Db=a=>{if(!ia)try{a()}catch(b){if(!(b instanceof za||\"unwind\"==b))throw b;}},Eb=[null,[],[]],Fb=Array(256),Gb=0;256>Gb;++Gb)Fb[Gb]=String.fromCharCode(Gb);Aa=Fb;O=n.BindingError=class extends Error{constructor(a){super(a);this.name=\"BindingError\"}};\nP=n.InternalError=class extends Error{constructor(a){super(a);this.name=\"InternalError\"}};\nObject.assign(Ma.prototype,{isAliasOf:function(a){if(!(this instanceof Ma&&a instanceof Ma))return!1;var b=this.I.L.J,c=this.I.K;a.I=a.I;var d=a.I.L.J;for(a=a.I.K;b.N;)c=b.Z(c),b=b.N;for(;d.N;)a=d.Z(a),d=d.N;return b===d&&c===a},clone:function(){this.I.K||Da(this);if(this.I.Y)return this.I.count.value+=1,this;var a=S,b=Object,c=b.create,d=Object.getPrototypeOf(this),e=this.I;a=a(c.call(b,d,{I:{value:{count:e.count,X:e.X,Y:e.Y,K:e.K,L:e.L,M:e.M,O:e.O}}}));a.I.count.value+=1;a.I.X=!1;return a},[\"delete\"](){this.I.K||\nDa(this);if(this.I.X&&!this.I.Y)throw new O(\"Object already scheduled for deletion\");Fa(this);var a=this.I;--a.count.value;0===a.count.value&&(a.M?a.O.U(a.M):a.L.J.U(a.K));this.I.Y||(this.I.M=void 0,this.I.K=void 0)},isDeleted:function(){return!this.I.K},deleteLater:function(){this.I.K||Da(this);if(this.I.X&&!this.I.Y)throw new O(\"Object already scheduled for deletion\");La.push(this);this.I.X=!0;return this}});\nObject.assign(Xa.prototype,{ia(a){this.ea&&(a=this.ea(a));return a},da(a){this.U?.(a)},P:8,readValueFromPointer:Wa,fromWireType:function(a){function b(){return this.aa?Ka(this.J.T,{L:this.ka,K:c,O:this,M:a}):Ka(this.J.T,{L:this,K:a})}var c=this.ia(a);if(!c)return this.da(a),null;var d=Ja(this.J,c);if(void 0!==d){if(0===d.I.count.value)return d.I.K=c,d.I.M=a,d.clone();d=d.clone();this.da(a);return d}d=this.J.ha(c);d=Ha[d];if(!d)return b.call(this);d=this.$?d.fa:d.pointerType;var e=Ga(c,this.J,d.J);\nreturn null===e?b.call(this):this.aa?Ka(d.J.T,{L:d,K:e,O:this,M:a}):Ka(d.J.T,{L:d,K:e})}});$a=n.UnboundTypeError=((a,b)=>{var c=Na(b,function(d){this.name=b;this.message=d;d=Error(d).stack;void 0!==d&&(this.stack=this.toString()+\"\\n\"+d.replace(/^Error(:[^\\n]*)?\\n/,\"\"))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c})(Error,\"UnboundTypeError\");\nX.push(0,1,void 0,1,null,1,!0,1,!1,1);n.count_emval_handles=()=>X.length/2-5-jb.length;\nvar Jb={x:()=>sa(\"\"),g:(a,b,c)=>{b=J(b);Q(a,{name:b,fromWireType:d=>d,toWireType:function(d,e){if(\"bigint\"!=typeof e&&\"number\"!=typeof e)throw new TypeError(`Cannot convert \"${I(e)}\" to ${this.name}`);\"number\"==typeof e&&(e=BigInt(e));return e},P:8,readValueFromPointer:Ca(b,c,-1==b.indexOf(\"u\")),R:null})},A:(a,b,c,d)=>{b=J(b);Q(a,{name:b,fromWireType:function(e){return!!e},toWireType:function(e,f){return f?c:d},P:8,readValueFromPointer:function(e){return this.fromWireType(x[e])},R:null})},v:(a,b,\nc,d,e,f,h,g,k,l,m,p,q)=>{m=J(m);f=U(e,f);g&&=U(h,g);l&&=U(k,l);q=U(p,q);var y=Qa(m);Pa(y,function(){W(`Cannot construct ${m} due to unbound types`,[d])});R([a,b,c],d?[d]:[],r=>{r=r[0];if(d){var t=r.J;var D=t.T}else D=Ma.prototype;r=Na(m,function(...va){if(Object.getPrototypeOf(this)!==K)throw new O(\"Use 'new' to construct \"+m);if(void 0===z.V)throw new O(m+\" has no accessible constructor\");var bb=z.V[va.length];if(void 0===bb)throw new O(`Tried to invoke ctor of ${m} with invalid number of parameters (${va.length}) - expected (${Object.keys(z.V).toString()}) parameters instead!`);\nreturn bb.apply(this,va)});var K=Object.create(D,{constructor:{value:r}});r.prototype=K;var z=new Ra(m,r,K,q,t,f,g,l);if(z.N){var G;(G=z.N).ca??(G.ca=[]);z.N.ca.push(z)}t=new Xa(m,z,!0,!1,!1);G=new Xa(m+\"*\",z,!1,!1,!1);D=new Xa(m+\" const*\",z,!1,!0,!1);Ha[a]={pointerType:G,fa:D};Ya(y,r);return[t,G,D]})},n:(a,b,c,d,e,f)=>{var h=db(b,c);e=U(d,e);R([],[a],g=>{g=g[0];var k=`constructor ${g.name}`;void 0===g.J.V&&(g.J.V=[]);if(void 0!==g.J.V[b-1])throw new O(`Cannot register multiple constructors with identical number of parameters (${b-\n1}) for class '${g.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);g.J.V[b-1]=()=>{W(`Cannot construct ${g.name} due to unbound types`,h)};R([],h,l=>{l.splice(1,0,null);g.J.V[b-1]=gb(k,l,null,e,f);return[]});return[]})},e:(a,b,c,d,e,f,h,g)=>{var k=db(c,d);b=J(b);b=hb(b);f=U(e,f);R([],[a],l=>{function m(){W(`Cannot call ${p} due to unbound types`,k)}l=l[0];var p=`${l.name}.${b}`;b.startsWith(\"@@\")&&(b=Symbol[b.substring(2)]);g&&l.J.la.push(b);\nvar q=l.J.T,y=q[b];void 0===y||void 0===y.S&&y.className!==l.name&&y.W===c-2?(m.W=c-2,m.className=l.name,q[b]=m):(Oa(q,b,p),q[b].S[c-2]=m);R([],k,r=>{r=gb(p,r,l,f,h);void 0===q[b].S?(r.W=c-2,q[b]=r):q[b].S[c-2]=r;return[]});return[]})},d:(a,b,c,d,e,f,h,g,k,l)=>{b=J(b);e=U(d,e);R([],[a],m=>{m=m[0];var p=`${m.name}.${b}`,q={get(){W(`Cannot access ${p} due to unbound types`,[c,h])},enumerable:!0,configurable:!0};q.set=k?()=>W(`Cannot access ${p} due to unbound types`,[c,h]):()=>{throw new O(p+\" is a read-only property\");\n};Object.defineProperty(m.J.T,b,q);R([],k?[c,h]:[c],y=>{var r=y[0],t={get(){var K=ib(this,m,p+\" getter\");return r.fromWireType(e(f,K))},enumerable:!0};if(k){k=U(g,k);var D=y[1];t.set=function(K){var z=ib(this,m,p+\" setter\"),G=[];k(l,z,D.toWireType(G,K));eb(G)}}Object.defineProperty(m.J.T,b,t);return[]});return[]})},y:a=>Q(a,mb),f:(a,b,c)=>{b=J(b);Q(a,{name:b,fromWireType:d=>d,toWireType:(d,e)=>e,P:8,readValueFromPointer:nb(b,c),R:null})},b:(a,b,c,d,e)=>{b=J(b);-1===e&&(e=4294967295);e=g=>g;if(0===\nd){var f=32-8*c;e=g=>g<>>f}var h=b.includes(\"unsigned\")?function(g,k){return k>>>0}:function(g,k){return k};Q(a,{name:b,fromWireType:e,toWireType:h,P:8,readValueFromPointer:Ca(b,c,0!==d),R:null})},a:(a,b,c)=>{function d(f){return new e(ja.buffer,E[f+4>>2],E[f>>2])}var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=J(c);Q(a,{name:c,fromWireType:d,P:8,readValueFromPointer:d},{ja:!0})},z:(a,b)=>{b=J(b);Q(a,{name:b,\nfromWireType:function(c){for(var d=E[c>>2],e=c+4,f,h=e,g=0;g<=d;++g){var k=e+g;if(g==d||0==x[k])h=h?pb(x,h,k-h):\"\",void 0===f?f=h:(f+=String.fromCharCode(0),f+=h),h=k+1}V(c);return f},toWireType:function(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e,f=\"string\"==typeof d;if(!(f||d instanceof Uint8Array||d instanceof Uint8ClampedArray||d instanceof Int8Array))throw new O(\"Cannot pass non-string to std::string\");var h;if(f)for(e=h=0;e=g?h++:2047>=\ng?h+=2:55296<=g&&57343>=g?(h+=4,++e):h+=3}else h=d.length;e=h;h=Hb(4+e+1);g=h+4;E[h>>2]=e;if(f){if(f=g,g=e+1,e=x,0=l){var m=d.charCodeAt(++k);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(f>=g)break;e[f++]=l}else{if(2047>=l){if(f+1>=g)break;e[f++]=192|l>>6}else{if(65535>=l){if(f+2>=g)break;e[f++]=224|l>>12}else{if(f+3>=g)break;e[f++]=240|l>>18;e[f++]=128|l>>12&63}e[f++]=128|l>>6&63}e[f++]=128|l&63}}e[f]=0}}else if(f)for(f=\n0;f{c=J(c);if(2===b){var d=rb;var e=sb;var f=tb;var h=g=>B[g>>1]}else 4===b&&(d=ub,e=vb,f=wb,h=g=>E[g>>2]);Q(a,{name:c,fromWireType:g=>{for(var k=E[g>>2],l,m=g+4,p=0;p<=k;++p){var q=g+4+p*b;if(p==k||0==h(q))m=d(m,q-m),void 0===l?l=m:(l+=String.fromCharCode(0),l+=m),\nm=q+b}V(g);return l},toWireType:(g,k)=>{if(\"string\"!=typeof k)throw new O(`Cannot pass non-string to C++ string type ${c}`);var l=f(k),m=Hb(4+l+b);E[m>>2]=l/b;e(k,m+4,l+b);null!==g&&g.push(V,m);return m},P:8,readValueFromPointer:Wa,R(g){V(g)}})},j:(a,b)=>{b=J(b);Q(a,{pa:!0,name:b,P:0,fromWireType:()=>{},toWireType:()=>{}})},w:(a,b,c)=>x.copyWithin(a,b,b+c),p:()=>{},m:(a,b,c,d)=>{a=xb[a];b=lb(b);return a(null,b,c,d)},h:kb,i:a=>{if(0===a)return T(zb());var b=yb[a];a=void 0===b?J(a):b;return T(zb()[a])},\nl:(a,b,c)=>{var d=Bb(a,b),e=d.shift();a--;var f=Array(a);b=`methodCaller<(${d.map(h=>h.name).join(\", \")}) => ${e.name}>`;return Ab(Na(b,(h,g,k,l)=>{for(var m=0,p=0;p>2]=T(h));return g}))},k:a=>{var b=lb(a);eb(b);kb(a)},q:(a,b)=>{Y[a]&&(clearTimeout(Y[a].id),delete Y[a]);if(!b)return 0;var c=setTimeout(()=>{delete Y[a];Db(()=>Ib(a,performance.now()))},b);Y[a]={id:c,qa:b};return 0},\nr:a=>{var b=x.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(2147483648,65536*Math.ceil(Math.max(a,d)/65536))-w.buffer.byteLength+65535)/65536|0;try{w.grow(d);oa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1},u:()=>52,s:function(){return 70},t:(a,b,c,d)=>{for(var e=0,f=0;f>2],g=E[b+4>>2];b+=8;for(var k=0;k>2]=e;return 0},o:a=>{throw new za(a);}},Z;(async function(){F++;var a={a:Jb};ua??=ta(\"resampler.wasm\")?\"resampler.wasm\":n.locateFile?n.locateFile(\"resampler.wasm\",u):u+\"resampler.wasm\";try{var b=await ya(a);Z=b.instance.exports;w=Z.B;oa();Za=Z.G;qa.unshift(Z.C);F--;0==F&&H&&(a=H,H=null,a());return b}catch(c){ba(c)}})();var ab=a=>(ab=Z.D)(a),V=a=>(V=Z.E)(a),Hb=a=>(Hb=Z.F)(a),Ib=(a,b)=>(Ib=Z.H)(a,b),Kb;H=function Lb(){Kb||Mb();Kb||(H=Lb)};\nfunction Mb(){if(!(0 this.bufferSize / 2) {\n throw new Error(`multiChannelData should not contain frames more than half of the bufferSize, length of multichannelData=${sourceLength}, bufferSize=${this.bufferSize}.`);\n }\n\n const writeIndex = this.writeIndex;\n const endWriteIndex = (writeIndex + sourceLength) % this.bufferSize;\n if (endWriteIndex < writeIndex && endWriteIndex > this.readIndex) {\n throw new Error(`Buffer can't be overwritten.`);\n }\n\n for (let channel = 0; channel < this.channelCount; channel++) {\n if (endWriteIndex >= writeIndex) {\n this.channelBuffers[channel].set(multiChannelData[channel], writeIndex);\n }\n else {\n const firstPartEnd = sourceLength - endWriteIndex;\n const firstPart = multiChannelData[channel].subarray(0, firstPartEnd);\n const secondPart = multiChannelData[channel].subarray(firstPartEnd);\n this.channelBuffers[channel].set(firstPart, writeIndex);\n this.channelBuffers[channel].set(secondPart, 0);\n }\n }\n this.writeIndex = endWriteIndex;\n this._samplesAvailable += sourceLength;\n }\n\n public pull(multiChannelData: Float32Array[]): boolean {\n if (multiChannelData == null) {\n throw new Error(`multiChannelData is null or undefined.`);\n }\n if (multiChannelData.length == 0) {\n throw new Error(`multiChannelData is empty.`);\n }\n const destinationLength = multiChannelData[0].length;\n if (destinationLength > this.bufferSize / 2) {\n throw new Error(`multiChannelData should not have length longer than half of the bufferSize, length of multichannelData=${destinationLength}, bufferSize=${this.bufferSize}.`);\n }\n if (this._samplesAvailable === 0) {\n return false;\n }\n if (this._samplesAvailable < destinationLength) {\n return false;\n }\n\n const readIndex = this.readIndex;\n const endReadIndex = (readIndex + destinationLength) % this.bufferSize;\n\n for (let channel = 0; channel < this.channelCount; channel++) {\n if (endReadIndex >= readIndex) {\n multiChannelData[channel].set(this.channelBuffers[channel].subarray(readIndex, endReadIndex));\n }\n else {\n const firstPartEnd = destinationLength - endReadIndex;\n const firstPart = this.channelBuffers[channel].subarray(readIndex);\n const secondPart = this.channelBuffers[channel].subarray(0, endReadIndex);\n multiChannelData[channel].set(firstPart, 0);\n multiChannelData[channel].set(secondPart, firstPartEnd);\n }\n }\n\n this.readIndex = endReadIndex;\n this._samplesAvailable -= destinationLength;\n\n return true;\n }\n\n public reset(): void {\n this.readIndex = 0;\n this.writeIndex = 0;\n this._samplesAvailable = 0;\n for (let channel = 0; channel < this.channelCount; channel++) {\n this.channelBuffers[channel].fill(0);\n }\n }\n}\n","import resamplerModuleFactory, { ResamplerModule, Resampler } from '@actual-chat/resampler';\nimport ResamplerWasm from '@actual-chat/resampler/resampler.wasm';\nimport { Versioning } from 'versioning';\nimport { retry } from 'promises';\nimport { AudioRingBuffer } from '../audio-ring-buffer';\n\nexport class ResamplerWrapper implements Resampler {\n private ringBuffer: AudioRingBuffer = new AudioRingBuffer(8192, 1);\n constructor(private resampler: Resampler)\n { }\n\n resample(buffer: BufferSource, output?: Float32Array): Float32Array {\n const ringBuffer = this.ringBuffer;\n const expectedSamples = Math.floor(this.outSampleRate * buffer.byteLength / 4 / this.inSampleRate);\n const result = this.resampler.resample(buffer);\n\n this.ringBuffer.push([result]);\n if (this.ringBuffer.samplesAvailable >= expectedSamples) {\n if (output && output.length === expectedSamples) {\n ringBuffer.pull([output]);\n return output;\n }\n const resampled = new Float32Array(expectedSamples);\n ringBuffer.pull([resampled]);\n return resampled;\n }\n return new Float32Array(0);\n }\n reset(): void {\n this.resampler.reset();\n }\n delete(): void {\n this.resampler.delete();\n }\n\n get inSampleRate(): number {\n return this.resampler.inSampleRate;\n }\n\n get outSampleRate(): number {\n return this.resampler.outSampleRate;\n }\n}\n\nexport class ResamplerLoader {\n private static resamplerModule: ResamplerModule = null;\n private resampler: ResamplerWrapper = null;\n\n public whenResamplerReady: Promise = null;\n public load(): Promise {\n if (ResamplerLoader.resamplerModule) {\n return Promise.resolve();\n }\n if (this.whenResamplerReady) {\n return this.whenResamplerReady;\n }\n this.whenResamplerReady = (async () => {\n ResamplerLoader.resamplerModule ??= await retry(3, () => resamplerModuleFactory(getResamplerEmscriptenLoaderOptions()));\n })();\n return this.whenResamplerReady;\n }\n\n public async getResampler(fromSampleRate: number, toSampleRate: number): Promise {\n if (!ResamplerLoader.resamplerModule) {\n await this.load();\n }\n\n if (this.resampler && this.resampler.inSampleRate === fromSampleRate && this.resampler.outSampleRate === toSampleRate)\n return this.resampler;\n\n if (this.resampler)\n this.resampler.delete();\n return this.createResampler(fromSampleRate, toSampleRate);\n }\n\n private createResampler(fromSampleRate: number, toSampleRate: number): ResamplerWrapper {\n // @ts-ignore\n const resampler = new ResamplerLoader.resamplerModule.Resampler(fromSampleRate, toSampleRate);\n this.resampler = new ResamplerWrapper(resampler);\n return this.resampler;\n }\n}\n\n\nfunction getResamplerEmscriptenLoaderOptions(): EmscriptenLoaderOptions {\n return {\n locateFile: (filename: string) => {\n const codecWasmPath = Versioning.mapPath(ResamplerWasm);\n if (filename.slice(-4) === 'wasm')\n return codecWasmPath;\n\n // Allow secondary resources like the .wasm payload to be loaded by the emscripten code.\n // emscripten 1.37.25 loads memory initializers as data: URI\n else if (filename.slice(0, 5) === 'data:')\n return filename;\n else throw new Error(`Emscripten module tried to load an unknown file: \"${filename}\"`);\n },\n };\n}\n","import webRtcVadModule, { WebRtcVadModule } from '@actual-chat/webrtc-vad';\nimport WebRtcVadWasm from '@actual-chat/webrtc-vad/webrtc-vad.wasm';\n\nimport { AUDIO_REC as AR } from '_constants';\nimport Denque from 'denque';\nimport { delayAsync, PromiseSource, retry } from 'promises';\nimport { Disposable } from 'disposable';\nimport { RunningEMA } from 'math';\nimport { rpcClientServer, RpcNoWait, rpcNoWait, RpcTimeout } from 'rpc';\nimport { Versioning } from 'versioning';\nimport { AudioDiagnosticsState } from \"../audio-recorder\";\nimport { NO_VOICE_ACTIVITY, VoiceActivityChange, VoiceActivityDetector } from './audio-vad-contract';\nimport { AudioVadWorker } from './audio-vad-worker-contract';\nimport { AudioVadWorklet } from '../worklets/audio-vad-worklet-contract';\nimport { NeuralVoiceActivityDetector, WebRtcVoiceActivityDetector } from './audio-vad';\nimport { OpusEncoderWorker } from './opus-encoder-worker-contract';\nimport { RecorderStateServer } from \"../opus-media-recorder-contracts\";\nimport OnnxModel from './vad.onnx';\nimport { Log } from 'logging';\nimport { ResamplerLoader } from './resampler-loader';\n\nconst { logScope, debugLog, infoLog, warnLog, errorLog } = Log.get('AudioVadWorker');\n\nconst worker = globalThis as unknown as Worker;\nconst queue = new Denque();\n\nlet vadWorklet: AudioVadWorklet & Disposable = null;\nlet encoderWorker: OpusEncoderWorker & Disposable = null;\nlet isActive = false;\nlet isProcessing = false;\nlet audioPowerEma = new RunningEMA(0, 10);\nlet lastVadEventProcessedAt = 0;\n\nclass VadLoader {\n private static webRtcVadModule: WebRtcVadModule = null;\n\n public static neuralVadLoadDelaySource = new PromiseSource();\n public useNeuralVad = false;\n public whenWebRtcVadReady: Promise = null;\n public whenNeuralVadReady: Promise = null;\n public webRtcVad: WebRtcVoiceActivityDetector | null = null;\n public neuralVad: NeuralVoiceActivityDetector | null = null;\n public isInitialized = false;\n\n public static cancelNeuralVadLoadDelay(): void {\n VadLoader.neuralVadLoadDelaySource?.resolve(undefined)\n VadLoader.neuralVadLoadDelaySource = null;\n }\n\n public get vad(): VoiceActivityDetector {\n return this.neuralVad ?? this.webRtcVad;\n }\n\n public get windowSizeMs(): 30 | 32 {\n return this.neuralVad !== null ? 32 : 30;\n }\n\n public load(useNeuralVad: boolean = true): Promise {\n if (this.whenWebRtcVadReady === null) {\n this.useNeuralVad = useNeuralVad;\n this.whenWebRtcVadReady = (async () => {\n VadLoader.webRtcVadModule ??= await retry(3, () => webRtcVadModule(getWebRTCVadEmscriptenLoaderOptions()));\n const baseVad = new VadLoader.webRtcVadModule.WebRtcVad(AR.SAMPLE_RATE, 0);\n const webRtcVad = new WebRtcVoiceActivityDetector(baseVad);\n await webRtcVad.init();\n this.webRtcVad = webRtcVad;\n })();\n this.whenNeuralVadReady ??= (async () => {\n if (!this.useNeuralVad) {\n this.neuralVad = null;\n return;\n }\n\n await VadLoader.neuralVadLoadDelaySource;\n infoLog?.log(`VadSwitcher.init: loading neural VAD...`);\n await this.whenWebRtcVadReady;\n const lastActivityEvent: VoiceActivityChange = this.webRtcVad.lastActivityEvent ?? NO_VOICE_ACTIVITY;\n const nnVad = new NeuralVoiceActivityDetector(OnnxModel as unknown as URL, lastActivityEvent);\n await nnVad.init();\n queue.clear();\n await vadWorklet.start(vads.windowSizeMs);\n queue.clear();\n this.neuralVad = nnVad;\n })();\n return this.whenWebRtcVadReady;\n }\n\n // Non-first init(...)\n return (async (): Promise => {\n await this.whenReady();\n // It's safe to skip .init() on what's not loaded yet\n await this.webRtcVad?.init();\n await this.neuralVad?.init();\n })();\n }\n\n public async whenReady(): Promise {\n return this.whenWebRtcVadReady;\n }\n\n public async whenFullyReady(forceLoad = true): Promise {\n if (forceLoad)\n VadLoader.cancelNeuralVadLoadDelay();\n return this.useNeuralVad ? this.whenNeuralVadReady : this.whenWebRtcVadReady;\n }\n}\nconst vads = new VadLoader();\ndelayAsync(2000).then(_ => VadLoader.cancelNeuralVadLoadDelay());\n\nconst resamplerLoader = new ResamplerLoader();\n// if (DeviceInfo.isFirefox)\n// void resamplerLoader.load();\n\nconst serverImpl: AudioVadWorker = {\n create: async (artifactVersions: Map, canUseNNVad: boolean, _timeout?: RpcTimeout): Promise => {\n infoLog?.log(`create`, canUseNNVad, _timeout);\n Versioning.init(artifactVersions);\n queue.clear();\n void vads.load(canUseNNVad && isSimdSupported());\n },\n\n init: async (workletPort: MessagePort, encoderWorkerPort: MessagePort): Promise => {\n await vads.whenReady();\n if (vads.webRtcVad === null) {\n errorLog?.log(`init: no WebRTC VAD`);\n return;\n }\n\n vadWorklet = rpcClientServer(`${logScope}.vadWorklet`, workletPort, serverImpl);\n encoderWorker = rpcClientServer(`${logScope}.encoderWorker`, encoderWorkerPort, serverImpl);\n await vadWorklet.start(vads.windowSizeMs);\n if (vads.neuralVad === null) {\n // Change vadWorklet window size when neural VAD gets loaded\n vads.whenNeuralVadReady.then(async () => {\n // Load may fail\n if (vads.neuralVad !== null) {\n queue.clear();\n await vadWorklet.start(vads.windowSizeMs);\n queue.clear();\n }\n })\n }\n isActive = true;\n },\n\n reset: async (): Promise => {\n if (!isActive)\n return;\n\n vads.webRtcVad?.reset();\n vads.neuralVad?.reset();\n void stateServer.onVoiceStateChanged(false, rpcNoWait);\n queue.clear();\n },\n\n conversationSignal: async (_noWait?: RpcNoWait): Promise => {\n if (!isActive)\n return;\n\n vads.webRtcVad?.conversationSignal();\n vads.neuralVad?.conversationSignal();\n },\n\n runDiagnostics: async (diagnosticsState: AudioDiagnosticsState): Promise => {\n const vad = vads.neuralVad ?? vads.webRtcVad;\n diagnosticsState.isVadActive = isActive;\n diagnosticsState.lastVadEvent = vad.lastActivityEvent;\n diagnosticsState.lastVadFrameProcessedAt = lastVadEventProcessedAt;\n\n warnLog?.log('runDiagnostics: ', diagnosticsState);\n return diagnosticsState;\n },\n\n onFrame: async (buffer: ArrayBuffer, _noWait?: RpcNoWait): Promise => {\n if (!isActive)\n return;\n\n if (buffer && buffer.byteLength !== 0) {\n queue.push(buffer);\n void processQueue();\n }\n }\n};\nconst stateServer = rpcClientServer(`${logScope}.stateServer`, worker, serverImpl);\n\nasync function processQueue(): Promise {\n if (isProcessing)\n return;\n\n const vad = vads.vad;\n const expectedWindowSizeSamples = vads.windowSizeMs * AR.SAMPLES_PER_MS;\n const expectedWindowSizeBytes = expectedWindowSizeSamples * 4;\n try {\n isProcessing = true;\n while (!queue.isEmpty()) {\n const samplesBuffer = queue.shift();\n let vadEvent: VoiceActivityChange | number = 0;\n\n if (samplesBuffer.byteLength === expectedWindowSizeBytes) {\n const samples = new Float32Array(samplesBuffer, 0, expectedWindowSizeSamples);\n vadEvent = await vad.appendChunk(samples);\n }\n else {\n // Needs resampling\n const expectedSampleRate = AR.SAMPLE_RATE;\n const actualSampleRate = Math.floor(samplesBuffer.byteLength / 4 / vads.windowSizeMs * 1000 / 100) * 100;\n const resampler = await resamplerLoader.getResampler(actualSampleRate, expectedSampleRate);\n const samples = resampler.resample(samplesBuffer, new Float32Array(samplesBuffer, 0, expectedWindowSizeSamples));\n if (samples.length != 0)\n vadEvent = await vad.appendChunk(samples);\n }\n lastVadEventProcessedAt = Date.now();\n\n void vadWorklet.releaseBuffer(samplesBuffer, rpcNoWait);\n // debugLog?.log(`processQueue: vadEvent:`, vadEvent, ', hasNNVad:', hasNNVad);\n if (typeof vadEvent === 'number') {\n audioPowerEma.appendSample(vadEvent);\n // debugLog?.log(`processQueue: lastAverage:`, audioPowerAverage.value);\n void stateServer.onAudioPowerChange(audioPowerEma.value, rpcNoWait);\n }\n else {\n if (vadEvent.kind === \"start\") {\n if (vads.useNeuralVad && !vads.neuralVad)\n VadLoader.cancelNeuralVadLoadDelay();\n }\n void encoderWorker.onVoiceActivityChange(vadEvent, rpcNoWait);\n void stateServer.onVoiceStateChanged(vadEvent.kind === 'start', rpcNoWait);\n }\n }\n }\n catch (error) {\n errorLog?.log(`processQueue: unhandled error:`, error);\n }\n finally {\n isProcessing = false;\n }\n}\n\n// Helpers\n\nfunction getWebRTCVadEmscriptenLoaderOptions(): EmscriptenLoaderOptions {\n return {\n locateFile: (filename: string) => {\n const codecWasmPath = Versioning.mapPath(WebRtcVadWasm);\n if (filename.slice(-4) === 'wasm')\n return codecWasmPath;\n // /// #if DEBUG\n // else if (filename.slice(-3) === 'map')\n // return WebRtcVadWasmMap;\n // /// #endif\n // Allow secondary resources like the .wasm payload to be loaded by the emscripten code.\n // emscripten 1.37.25 loads memory initializers as data: URI\n else if (filename.slice(0, 5) === 'data:')\n return filename;\n else throw new Error(`Emscripten module tried to load an unknown file: \"${filename}\"`);\n },\n };\n}\n\nconst isSimdSupported = (): boolean => {\n // Uncomment the next line to test WebRTC VAD fallback\n // return false;\n try {\n // Test for WebAssembly SIMD capability (for both browsers and Node.js)\n // This typed array is a WebAssembly program containing SIMD instructions.\n\n // The binary data is generated from the following code by wat2wasm:\n //\n // (module\n // (type $t0 (func))\n // (func $f0 (type $t0)\n // (drop\n // (i32x4.dot_i16x8_s\n // (i8x16.splat\n // (i32.const 0))\n // (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)))))\n\n return WebAssembly.validate(new Uint8Array([\n 0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 30, 1, 28, 0, 65, 0,\n 253, 15, 253, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 253, 186, 1, 26, 11\n ]));\n } catch (e) {\n return false;\n }\n};\n"],"names":["exports","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","i","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","value","string","encoding","isEncoding","actual","write","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","buffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","read","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","Math","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","TYPED_ARRAY_SUPPORT","proto","foo","e","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","alloc","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","abs","INVALID_BASE64_RE","Infinity","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","Denque","options","_capacity","capacity","_head","_tail","_fromArray","_capacityMask","_list","peekAt","index","peek","peekFront","peekBack","unshift","item","_growArray","pop","shift","head","_shrinkArray","tail","removeOne","k","remove","count","removed","del_count","toArray","clear","splice","temp","arg_len","arguments_index","leng","isEmpty","_copyArray","_nextPowerOf2","fullCopy","dest","newList","nextPow2","log","module","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","NaN","rt","isNaN","LN2","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","__esModule","definition","key","o","g","globalThis","Function","window","prop","hasOwnProperty","p","_scriptDir","WebRtcVadModule","document","currentScript","aa","ba","ready","Promise","fa","ha","ca","assign","da","ea","importScripts","self","location","href","XMLHttpRequest","open","responseType","send","response","onload","status","onerror","w","ia","print","bind","v","printErr","warn","wasmBinary","noExitRuntime","WebAssembly","la","z","A","ma","B","C","na","oa","pa","qa","ra","ka","sa","ta","ua","va","preRun","F","D","wa","onAbort","RuntimeError","ya","startsWith","za","locateFile","Aa","Ca","fetch","credentials","then","ok","arrayBuffer","catch","resolve","Ba","instantiate","Ea","Fa","TextDecoder","G","decode","h","H","Ga","J","K","L","Ha","Ia","Ja","Ka","create","M","N","La","Ma","O","f","l","P","forEach","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","R","Va","S","T","Xa","U","FinalizationRegistry","unregister","register","V","Ya","$a","ab","bb","cb","clone","ja","db","eb","fb","fromWireType","W","Z","ga","toWireType","I","jb","X","kb","lb","mb","Y","nb","map","ob","pb","t","r","u","q","$","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","BindingError","InternalError","isAliasOf","getPrototypeOf","isDeleted","deleteLater","getInheritedInstanceCount","keys","getLiveInheritedInstances","flushPendingDeletes","setDelayFunction","argPackAdvance","readValueFromPointer","deleteObject","Wa","pointerType","UnboundTypeError","count_emval_handles","Cb","Za","xa","Q","hb","ib","gb","substring","className","Int8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Uint8ClampedArray","Bb","asm","HEAP8","HEAP16","HEAP32","HEAPU8","HEAPU16","HEAPU32","HEAPF32","HEAPF64","HEAP64","HEAPU64","monitorRunDependencies","clearInterval","instantiateWasm","instantiateStreaming","Da","instance","Db","___getTypeName","Fb","calledRun","onRuntimeInitialized","postRun","setStatus","setTimeout","__embind_initialize_bindings","___start_em_js","___stop_em_js","Eb","preInit","REC_SAMPLES_PER_MS","AUDIO_REC","SAMPLE_RATE","SAMPLES_PER_MS","SAMPLES_PER_WINDOW_32","SAMPLES_PER_WINDOW_30","SAMPLES_PER_RECORDING_IN_PROGRESS_CALL","SAMPLE_DURATION","MIN_RECORDING_GAIN","MIN_MICROPHONE_GAIN","AUDIO_VAD","round","ENC_BIT_RATE","MIN_SPEECH","MAX_SPEECH","MIN_SPEECH_TO_CANCEL_PAUSE","MIN_PAUSE","MAX_PAUSE","MAX_CONV_PAUSE","CONV_DURATION","PAUSE_VARIES_FROM","PAUSE_VARY_POWER","sqrt","SKIP_FIRST_RECORDING_MS","SKIP_SEQUENTIAL_CALLS_MS","NN_VAD_CONTEXT_SAMPLES","LogLevel","StorageKey","DateStorageKey","MaxStorageAge","isWorkerOrWorklet","initLogging","Log","Info","minLevels","wasRestored","LogLevelController","sessionStorage","dateJson","getItem","Date","now","JSON","parse","readJson","readMinLevels","Map","restore","override","scope","newLevel","persist","reset","isProduction","defaultLevel","setItem","stringify","entries","Debug","level","prefix","debug","Warn","None","trace","isInitialized","minLevel","defaultMinLevel","getLogger","loggerFactory","logScope","debugLog","infoLog","warnLog","errorLog","ref","logRefs","assert","predicate","idSeed","items","itemIndex","findIndex","el","existentItem","touchedAt","id","newRef","removeOldest","newItem","indexToEliminate","itemToEliminate","__generator","thisArg","body","_","label","sent","trys","ops","next","verb","iterator","op","done","step","__read","ar","__spreadArray","to","pack","Heap","minComparator","_this","heapArray","_limit","offer","add","element","poll","_invertedCompare","getChildrenIndexOf","idx","getParentIndexOf","whichChildren","getSiblingIndexOf","maxComparator","minComparatorNumber","maxComparatorNumber","defaultIsEqual","heap","deep","pi","log2","repeat","times","node","lines","maxLines","maxLength","nodeText","line","half","ceil","heapify","init","heappop","heapArr","heappush","heappushpop","pushpop","heapreplace","heaptop","top","heapbottom","bottom","nlargest","iterable","nsmallest","_sortNodeUp","_applyLimit","addAll","elements","_a","_bottomN_push","check","find","getChildrenOf","ch","cloned","comparator","contains","_sortNodeDown","leafs","_l","_i","_topN_push","filter","getParentOf","rm","bottomHeap","startAt","parentStartAt","indices","_moveNode","moveIt","getPotentialParent","best","childrenIdx","bestChildIndex","reduce","bestChild","topHeap","_topN_fill","_topN_heap","result","_topIdxOf","_topOf","TimerQueueTimer","handle","callback","time","nextHandle","setTimeoutImpl","clearTimeoutImpl","timerQueue","triggerExpired","timer","delete","delayMs","enqueue","clearTimeout","nextTickImpl","nextTickCallbacks","nextTickChannel","MessageChannel","port1","onmessage","port2","postMessage","Timeout","isPrecise","timeoutMs","PreciseTimeout","startRegular","startPrecise","dispose","endsAt","loop","requestAnimationFrame","cancelAnimationFrame","TimedOut","PromiseSource","reject","_isCompleted","_promise","resolve1","reject1","reason","toStringTag","isCompleted","onfulfilled","onrejected","onfinally","finally","PromiseSourceWithTimeout","_timeout","hasTimeout","setPreciseTimeout","cancelled","OperationCancelledError","delayAsync","promise","defaultRetryDelays","async","retry","tryCount","retryDelays","lastError","tryIndex","ResolvedPromise","Void","True","False","cancel","race","waitAsync","Vector2D","other","multiplier","dotProduct","squareLength","isHorizontal","minRatio","isVertical","clamp","zero","unitX","unitY","RunningAverage","defaultValue","_sampleCount","_sum","sampleCount","appendSample","removeSample","RunningUnitMedian","bucketCount","_value","_buckets","_halfBucketSize","halfSampleCount","runningCount","RunningEMA","minSampleCount","smoothingFactor","_average","rpcNoWait","RpcCall","method","args","noWait","lastArg","rpcTimeout","RpcResult","nextRpcPromiseId","rpcPromisesInProgress","RpcPromise","oldResolve","oldReject","completeRpc","rpcServer","messagePort","serverImpl","onUnhandledMessage","onDispose","event","isDisposed","oldOnMessage","oldOnMessageError","onmessageerror","rpcCall","DefaultRpcClientTimeoutMs","rpcClient","proxyMethodCache","getProxyMethod","rpcPromise","transferables","MessagePort","getTransferables","proxy","Proxy","receiver","ownValue","rpcClientServer","client","server","clientOnMessage","serverOnMessage","testLog","channel","ping","reply","port","pingChannel","sideResult","whenNextMessage","Versioning","assetMap","_assetMap","origin","stripOrigin","processAsset","assetMatch","match","assetPath","simpleKey","groups","children","localName","importMapInnerHtml","querySelector","innerHTML","importMap","imports","mapPath","path","versionedPath","NO_VOICE_ACTIVITY","kind","speechProb","Rt","Ve","yt","Dt","Qr","en","_e","rn","nn","nr","on","sn","un","Xe","wt","cn","dn","mn","hn","ye","me","yn","wn","Je","Ze","Bt","Lt","tr","getOwnPropertyDescriptor","getOwnPropertyNames","gt","nt","Ut","createInferenceSessionHandler","backend","priority","initialized","aborted","initPromise","executionProviders","Set","err","has","Reflect","Zr","Kr","rr","wasm","webgl","webgpu","versions","common","logLevel","tn","an","createElement","OffscreenCanvas","width","dims","height","getContext","tensorLayout","format","norm","mean","bias","fillStyle","fillRect","toDataURL","createImageData","te","ln","Ft","tensorFormat","HTMLImageElement","ImageData","ImageBitmap","HTMLCanvasElement","resizedHeight","resizedWidth","drawImage","getImageData","Image","crossOrigin","putImageData","download","texture","dataType","gpuBuffer","pn","Float16Array","gn","isSafeInteger","dataLocation","cpuData","gpuTextureData","downloader","disposer","gpuBufferData","fromImage","fromTexture","fromGpuBuffer","fromPinnedBuffer","toImageData","ensureValid","getData","isDownloading","reshape","It","timeStamp","bn","handler","run","outputNames","inputNames","release","startProfiling","endProfiling","vn","On","En","_n","Tn","An","hasOptimizerModel","hasEvalModel","trainingInputNames","trainingOutputNames","evalInputNames","evalOutputNames","evalModel","optimizerModel","createTrainingSessionHandler","checkpointState","trainModel","typeNarrowingForRunStep","convertHandlerReturnTypeToMapOfTensors","lazyResetGrad","runTrainStep","runOptimizerStep","runEvalStep","getParametersSize","loadParametersBuffer","getContiguousParameters","Sn","or","InferenceSession","TRACE","TRACE_FUNC_BEGIN","TRACE_FUNC_END","Tensor","TrainingSession","env","registerBackend","Qe","ir","createReadStream","Cn","readFile","readFileSync","sr","ur","fr","Rn","xn","lr","Pn","__filename","process","dirname","__dirname","ge","URL","normalize","thisProgram","argv","responseText","re","Le","he","$e","se","Ae","we","ce","Oe","ke","ue","ne","Se","ut","Me","Re","de","Ce","ze","oe","ie","Pe","xe","We","ft","Et","De","et","je","USER","LOGNAME","PATH","PWD","HOME","LANG","navigator","languages","_t","Ie","Tt","lt","ht","Ue","getFullYear","getMonth","getDate","ae","getDay","Ee","getTime","setDate","setMonth","setFullYear","fe","le","RegExp","mt","He","ct","getUTCSeconds","getUTCMinutes","getUTCHours","getUTCDate","getUTCMonth","getUTCFullYear","getUTCDay","UTC","getSeconds","getMinutes","getHours","getTimezoneOffset","setTime","getYear","dt","toLocaleTimeString","hour12","timeZoneName","performance","grow","St","Ne","_OrtInit","_OrtGetLastError","_OrtCreateSessionOptions","_OrtAppendExecutionProvider","_OrtAddFreeDimensionOverride","_OrtAddSessionConfigEntry","_OrtReleaseSessionOptions","_OrtCreateSession","_OrtReleaseSession","_OrtGetInputOutputCount","_OrtGetInputName","_OrtGetOutputName","_OrtFree","_OrtCreateTensor","_OrtGetTensorData","_OrtReleaseTensor","_OrtCreateRunOptions","_OrtAddRunConfigEntry","_OrtReleaseRunOptions","_OrtCreateBinding","_OrtBindInput","_OrtBindOutput","_OrtClearBoundOutputs","_OrtReleaseBinding","_OrtRunWithBinding","_OrtRun","_OrtEndProfiling","_malloc","_free","Be","At","Ye","pt","stackSave","stackRestore","stackAlloc","UTF8ToString","stringToUTF8","lengthBytesUTF8","define","amd","Dn","Un","Fn","cpus","Hn","dr","pr","kt","Wn","$n","ee","bt","Gn","zn","mr","qn","hr","Vn","Xn","Wt","Jn","vt","Qn","Kn","ot","wr","Zn","Ke","Te","Ot","$t","Gt","br","vr","it","st","Ht","jt","zt","In","kn","Ln","cr","Bn","ENVIRONMENT_IS_PTHREAD","exitCode","global","Worker","writeSync","wasmMemory","Memory","initial","maximum","shared","be","Ge","terminate","cmd","start_routine","pthread_ptr","unref","er","Pt","Kt","Gr","onExit","numThreads","all","receiveObjectTransfer","threadInitTLS","setExitStatus","Zt","targetThread","Ct","transferList","Mt","thread","loaded","alert","threadId","text","filename","lineno","handlers","urlOrBlob","mainScriptUrlOrBlob","wasmModule","PThread","establishStackSpace","Yr","invokeEntryPoint","Qt","Er","_r","Tr","Ar","Sr","Mr","Yt","Atomics","store","__emscripten_thread_mailbox_await","jr","checkMailbox","qt","tt","Cr","Pr","xr","Rr","Jt","Vt","Xt","Dr","Ur","Fr","Ir","Br","Lr","kr","Fe","pe","ve","Nr","Wr","Hr","Jr","qe","Vr","Xr","$r","zr","timeOrigin","hardwareConcurrency","emscripten_main_runtime_thread_id","_pthread_self","__emscripten_tls_init","__emscripten_thread_init","__emscripten_thread_crashed","xt","__emscripten_thread_exit","qr","startWorker","keepRuntimeAlive","ExitStatus","Nn","Zo","at","crossOriginIsolated","validate","initTimeout","simd","wasmPaths","endsWith","Blob","createObjectURL","Nt","jn","logSeverityLevel","logVerbosityLevel","tag","extra","WeakSet","Yn","session","use_ort_model_bytes_directly","some","enableMemPattern","deviceType","powerPreference","preferredLayout","graphOptimizationLevel","executionMode","logId","optimizedModelFilePath","enableCpuMemArena","enableProfiling","enableGraphCapture","freeDimensionOverrides","gr","yr","headers","getReader","externalData","mountExternalData","unmountExternalData","jsepOnReleaseSession","jsepRegisterBuffer","jsepOnRunStart","outputPreferredLocations","jsepGetBuffer","jsepCreateDownloader","yi","Or","revokeObjectURL","in","epName","preferredOutputLocation","model","sessionId","inputIndices","inputs","outputIndices","fetchModelAndCopyToWasmMemory","loadModel","wasmBackend","VoiceActivityDetectorBase","isNeural","sampleRate","lastActivityEvent","probEMA","longProbEMA","probMedian","pauseOffset","pauseCancelSamples","lastConversationSignalAtSample","whenTalkingProbMedian","minSpeechSamples","maxSpeechSamples","maxPauseSamples","maxPauseCancelSamples","resetInternal","appendChunk","monoPcm","currentOffset","currentEvent","gain","stride","sum","approximateGain","prob","appendChunkInternal","probEma","longProbEma","speechProbTrigger","pauseProbTrigger","duration","currentSpeechSamples","durationS","maxPause","maxPauseVariesFromSamples","maxPauseAlpha","silenceThreshold","conversationSignal","VadActivity","WebRtcVoiceActivityDetector","baseVad","lastSkippedAt","activity","detect","NeuralVoiceActivityDetector","modelUri","context","ortWasmSimdPath","state","tensor","srArray","feeds","stateN","_scriptName","resampler","moduleArg","url","$$$embind_global$$$","construct","Gb","Jb","Hb","Ib","Kb","Mb","Lb","AudioRingBuffer","bufferSize","channelCount","readIndex","writeIndex","_samplesAvailable","channelBuffers","samplesAvailable","multiChannelData","sourceLength","endWriteIndex","firstPartEnd","firstPart","secondPart","pull","destinationLength","endReadIndex","ResamplerWrapper","ringBuffer","resample","expectedSamples","outSampleRate","inSampleRate","resampled","ResamplerLoader","whenResamplerReady","load","resamplerModule","codecWasmPath","getResampler","fromSampleRate","toSampleRate","createResampler","Resampler","worker","queue","vadWorklet","encoderWorker","isActive","isProcessing","audioPowerEma","lastVadEventProcessedAt","VadLoader","useNeuralVad","whenWebRtcVadReady","whenNeuralVadReady","webRtcVad","neuralVad","cancelNeuralVadLoadDelay","neuralVadLoadDelaySource","vad","windowSizeMs","webRtcVadModule","WebRtcVad","nnVad","vads","whenReady","whenFullyReady","forceLoad","resamplerLoader","artifactVersions","canUseNNVad","isSimdSupported","workletPort","encoderWorkerPort","stateServer","onVoiceStateChanged","_noWait","runDiagnostics","diagnosticsState","isVadActive","lastVadEvent","lastVadFrameProcessedAt","onFrame","expectedWindowSizeSamples","expectedWindowSizeBytes","samplesBuffer","vadEvent","samples","expectedSampleRate","actualSampleRate","releaseBuffer","onAudioPowerChange","onVoiceActivityChange","processQueue"],"sourceRoot":""}