msgpackr 1.10.2 → 1.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1006,7 +1006,7 @@
1006
1006
  let length = data.length;
1007
1007
  let value = BigInt(data[0] & 0x80 ? data[0] - 0x100 : data[0]);
1008
1008
  for (let i = 1; i < length; i++) {
1009
- value <<= 8n;
1009
+ value <<= BigInt(8);
1010
1010
  value += BigInt(data[i]);
1011
1011
  }
1012
1012
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"unpack-no-eval.cjs","sources":["../unpack.js"],"sourcesContent":["var decoder\ntry {\n\tdecoder = new TextDecoder()\n} catch(error) {}\nvar src\nvar srcEnd\nvar position = 0\nvar alreadySet\nconst EMPTY_ARRAY = []\nvar strings = EMPTY_ARRAY\nvar stringPosition = 0\nvar currentUnpackr = {}\nvar currentStructures\nvar srcString\nvar srcStringStart = 0\nvar srcStringEnd = 0\nvar bundledStrings\nvar referenceMap\nvar currentExtensions = []\nvar dataView\nvar defaultOptions = {\n\tuseRecords: false,\n\tmapsAsObjects: true\n}\nexport class C1Type {}\nexport const C1 = new C1Type()\nC1.name = 'MessagePack 0xC1'\nvar sequentialMode = false\nvar inlineObjectReadThreshold = 2\nvar readStruct, onLoadedStructures, onSaveState\nvar BlockedFunction // we use search and replace to change the next call to BlockedFunction to avoid CSP issues for\n// no-eval build\ntry {\n\tnew Function('')\n} catch(error) {\n\t// if eval variants are not supported, do not create inline object readers ever\n\tinlineObjectReadThreshold = Infinity\n}\n\nexport class Unpackr {\n\tconstructor(options) {\n\t\tif (options) {\n\t\t\tif (options.useRecords === false && options.mapsAsObjects === undefined)\n\t\t\t\toptions.mapsAsObjects = true\n\t\t\tif (options.sequential && options.trusted !== false) {\n\t\t\t\toptions.trusted = true;\n\t\t\t\tif (!options.structures && options.useRecords != false) {\n\t\t\t\t\toptions.structures = []\n\t\t\t\t\tif (!options.maxSharedStructures)\n\t\t\t\t\t\toptions.maxSharedStructures = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (options.structures)\n\t\t\t\toptions.structures.sharedLength = options.structures.length\n\t\t\telse if (options.getStructures) {\n\t\t\t\t(options.structures = []).uninitialized = true // this is what we use to denote an uninitialized structures\n\t\t\t\toptions.structures.sharedLength = 0\n\t\t\t}\n\t\t\tif (options.int64AsNumber) {\n\t\t\t\toptions.int64AsType = 'number'\n\t\t\t}\n\t\t}\n\t\tObject.assign(this, options)\n\t}\n\tunpack(source, options) {\n\t\tif (src) {\n\t\t\t// re-entrant execution, save the state and restore it after we do this unpack\n\t\t\treturn saveState(() => {\n\t\t\t\tclearSource()\n\t\t\t\treturn this ? this.unpack(source, options) : Unpackr.prototype.unpack.call(defaultOptions, source, options)\n\t\t\t})\n\t\t}\n\t\tif (!source.buffer && source.constructor === ArrayBuffer)\n\t\t\tsource = typeof Buffer !== 'undefined' ? Buffer.from(source) : new Uint8Array(source);\n\t\tif (typeof options === 'object') {\n\t\t\tsrcEnd = options.end || source.length\n\t\t\tposition = options.start || 0\n\t\t} else {\n\t\t\tposition = 0\n\t\t\tsrcEnd = options > -1 ? options : source.length\n\t\t}\n\t\tstringPosition = 0\n\t\tsrcStringEnd = 0\n\t\tsrcString = null\n\t\tstrings = EMPTY_ARRAY\n\t\tbundledStrings = null\n\t\tsrc = source\n\t\t// this provides cached access to the data view for a buffer if it is getting reused, which is a recommend\n\t\t// technique for getting data from a database where it can be copied into an existing buffer instead of creating\n\t\t// new ones\n\t\ttry {\n\t\t\tdataView = source.dataView || (source.dataView = new DataView(source.buffer, source.byteOffset, source.byteLength))\n\t\t} catch(error) {\n\t\t\t// if it doesn't have a buffer, maybe it is the wrong type of object\n\t\t\tsrc = null\n\t\t\tif (source instanceof Uint8Array)\n\t\t\t\tthrow error\n\t\t\tthrow new Error('Source must be a Uint8Array or Buffer but was a ' + ((source && typeof source == 'object') ? source.constructor.name : typeof source))\n\t\t}\n\t\tif (this instanceof Unpackr) {\n\t\t\tcurrentUnpackr = this\n\t\t\tif (this.structures) {\n\t\t\t\tcurrentStructures = this.structures\n\t\t\t\treturn checkedRead(options)\n\t\t\t} else if (!currentStructures || currentStructures.length > 0) {\n\t\t\t\tcurrentStructures = []\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentUnpackr = defaultOptions\n\t\t\tif (!currentStructures || currentStructures.length > 0)\n\t\t\t\tcurrentStructures = []\n\t\t}\n\t\treturn checkedRead(options)\n\t}\n\tunpackMultiple(source, forEach) {\n\t\tlet values, lastPosition = 0\n\t\ttry {\n\t\t\tsequentialMode = true\n\t\t\tlet size = source.length\n\t\t\tlet value = this ? this.unpack(source, size) : defaultUnpackr.unpack(source, size)\n\t\t\tif (forEach) {\n\t\t\t\tif (forEach(value, lastPosition, position) === false) return;\n\t\t\t\twhile(position < size) {\n\t\t\t\t\tlastPosition = position\n\t\t\t\t\tif (forEach(checkedRead(), lastPosition, position) === false) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvalues = [ value ]\n\t\t\t\twhile(position < size) {\n\t\t\t\t\tlastPosition = position\n\t\t\t\t\tvalues.push(checkedRead())\n\t\t\t\t}\n\t\t\t\treturn values\n\t\t\t}\n\t\t} catch(error) {\n\t\t\terror.lastPosition = lastPosition\n\t\t\terror.values = values\n\t\t\tthrow error\n\t\t} finally {\n\t\t\tsequentialMode = false\n\t\t\tclearSource()\n\t\t}\n\t}\n\t_mergeStructures(loadedStructures, existingStructures) {\n\t\tif (onLoadedStructures)\n\t\t\tloadedStructures = onLoadedStructures.call(this, loadedStructures);\n\t\tloadedStructures = loadedStructures || []\n\t\tif (Object.isFrozen(loadedStructures))\n\t\t\tloadedStructures = loadedStructures.map(structure => structure.slice(0))\n\t\tfor (let i = 0, l = loadedStructures.length; i < l; i++) {\n\t\t\tlet structure = loadedStructures[i]\n\t\t\tif (structure) {\n\t\t\t\tstructure.isShared = true\n\t\t\t\tif (i >= 32)\n\t\t\t\t\tstructure.highByte = (i - 32) >> 5\n\t\t\t}\n\t\t}\n\t\tloadedStructures.sharedLength = loadedStructures.length\n\t\tfor (let id in existingStructures || []) {\n\t\t\tif (id >= 0) {\n\t\t\t\tlet structure = loadedStructures[id]\n\t\t\t\tlet existing = existingStructures[id]\n\t\t\t\tif (existing) {\n\t\t\t\t\tif (structure)\n\t\t\t\t\t\t(loadedStructures.restoreStructures || (loadedStructures.restoreStructures = []))[id] = structure\n\t\t\t\t\tloadedStructures[id] = existing\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.structures = loadedStructures\n\t}\n\tdecode(source, options) {\n\t\treturn this.unpack(source, options)\n\t}\n}\nexport function getPosition() {\n\treturn position\n}\nexport function checkedRead(options) {\n\ttry {\n\t\tif (!currentUnpackr.trusted && !sequentialMode) {\n\t\t\tlet sharedLength = currentStructures.sharedLength || 0\n\t\t\tif (sharedLength < currentStructures.length)\n\t\t\t\tcurrentStructures.length = sharedLength\n\t\t}\n\t\tlet result\n\t\tif (currentUnpackr.randomAccessStructure && src[position] < 0x40 && src[position] >= 0x20 && readStruct) {\n\t\t\tresult = readStruct(src, position, srcEnd, currentUnpackr)\n\t\t\tsrc = null // dispose of this so that recursive unpack calls don't save state\n\t\t\tif (!(options && options.lazy) && result)\n\t\t\t\tresult = result.toJSON()\n\t\t\tposition = srcEnd\n\t\t} else\n\t\t\tresult = read()\n\t\tif (bundledStrings) { // bundled strings to skip past\n\t\t\tposition = bundledStrings.postBundlePosition\n\t\t\tbundledStrings = null\n\t\t}\n\t\tif (sequentialMode)\n\t\t\t// we only need to restore the structures if there was an error, but if we completed a read,\n\t\t\t// we can clear this out and keep the structures we read\n\t\t\tcurrentStructures.restoreStructures = null\n\n\t\tif (position == srcEnd) {\n\t\t\t// finished reading this source, cleanup references\n\t\t\tif (currentStructures && currentStructures.restoreStructures)\n\t\t\t\trestoreStructures()\n\t\t\tcurrentStructures = null\n\t\t\tsrc = null\n\t\t\tif (referenceMap)\n\t\t\t\treferenceMap = null\n\t\t} else if (position > srcEnd) {\n\t\t\t// over read\n\t\t\tthrow new Error('Unexpected end of MessagePack data')\n\t\t} else if (!sequentialMode) {\n\t\t\tlet jsonView;\n\t\t\ttry {\n\t\t\t\tjsonView = JSON.stringify(result, (_, value) => typeof value === \"bigint\" ? `${value}n` : value).slice(0, 100)\n\t\t\t} catch(error) {\n\t\t\t\tjsonView = '(JSON view not available ' + error + ')'\n\t\t\t}\n\t\t\tthrow new Error('Data read, but end of buffer not reached ' + jsonView)\n\t\t}\n\t\t// else more to read, but we are reading sequentially, so don't clear source yet\n\t\treturn result\n\t} catch(error) {\n\t\tif (currentStructures && currentStructures.restoreStructures)\n\t\t\trestoreStructures()\n\t\tclearSource()\n\t\tif (error instanceof RangeError || error.message.startsWith('Unexpected end of buffer') || position > srcEnd) {\n\t\t\terror.incomplete = true\n\t\t}\n\t\tthrow error\n\t}\n}\n\nfunction restoreStructures() {\n\tfor (let id in currentStructures.restoreStructures) {\n\t\tcurrentStructures[id] = currentStructures.restoreStructures[id]\n\t}\n\tcurrentStructures.restoreStructures = null\n}\n\nexport function read() {\n\tlet token = src[position++]\n\tif (token < 0xa0) {\n\t\tif (token < 0x80) {\n\t\t\tif (token < 0x40)\n\t\t\t\treturn token\n\t\t\telse {\n\t\t\t\tlet structure = currentStructures[token & 0x3f] ||\n\t\t\t\t\tcurrentUnpackr.getStructures && loadStructures()[token & 0x3f]\n\t\t\t\tif (structure) {\n\t\t\t\t\tif (!structure.read) {\n\t\t\t\t\t\tstructure.read = createStructureReader(structure, token & 0x3f)\n\t\t\t\t\t}\n\t\t\t\t\treturn structure.read()\n\t\t\t\t} else\n\t\t\t\t\treturn token\n\t\t\t}\n\t\t} else if (token < 0x90) {\n\t\t\t// map\n\t\t\ttoken -= 0x80\n\t\t\tif (currentUnpackr.mapsAsObjects) {\n\t\t\t\tlet object = {}\n\t\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\t\tlet key = readKey()\n\t\t\t\t\tif (key === '__proto__')\n\t\t\t\t\t\tkey = '__proto_'\n\t\t\t\t\tobject[key] = read()\n\t\t\t\t}\n\t\t\t\treturn object\n\t\t\t} else {\n\t\t\t\tlet map = new Map()\n\t\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\t\tmap.set(read(), read())\n\t\t\t\t}\n\t\t\t\treturn map\n\t\t\t}\n\t\t} else {\n\t\t\ttoken -= 0x90\n\t\t\tlet array = new Array(token)\n\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\tarray[i] = read()\n\t\t\t}\n\t\t\tif (currentUnpackr.freezeData)\n\t\t\t\treturn Object.freeze(array)\n\t\t\treturn array\n\t\t}\n\t} else if (token < 0xc0) {\n\t\t// fixstr\n\t\tlet length = token - 0xa0\n\t\tif (srcStringEnd >= position) {\n\t\t\treturn srcString.slice(position - srcStringStart, (position += length) - srcStringStart)\n\t\t}\n\t\tif (srcStringEnd == 0 && srcEnd < 140) {\n\t\t\t// for small blocks, avoiding the overhead of the extract call is helpful\n\t\t\tlet string = length < 16 ? shortStringInJS(length) : longStringInJS(length)\n\t\t\tif (string != null)\n\t\t\t\treturn string\n\t\t}\n\t\treturn readFixedString(length)\n\t} else {\n\t\tlet value\n\t\tswitch (token) {\n\t\t\tcase 0xc0: return null\n\t\t\tcase 0xc1:\n\t\t\t\tif (bundledStrings) {\n\t\t\t\t\tvalue = read() // followed by the length of the string in characters (not bytes!)\n\t\t\t\t\tif (value > 0)\n\t\t\t\t\t\treturn bundledStrings[1].slice(bundledStrings.position1, bundledStrings.position1 += value)\n\t\t\t\t\telse\n\t\t\t\t\t\treturn bundledStrings[0].slice(bundledStrings.position0, bundledStrings.position0 -= value)\n\t\t\t\t}\n\t\t\t\treturn C1; // \"never-used\", return special object to denote that\n\t\t\tcase 0xc2: return false\n\t\t\tcase 0xc3: return true\n\t\t\tcase 0xc4:\n\t\t\t\t// bin 8\n\t\t\t\tvalue = src[position++]\n\t\t\t\tif (value === undefined)\n\t\t\t\t\tthrow new Error('Unexpected end of buffer')\n\t\t\t\treturn readBin(value)\n\t\t\tcase 0xc5:\n\t\t\t\t// bin 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn readBin(value)\n\t\t\tcase 0xc6:\n\t\t\t\t// bin 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn readBin(value)\n\t\t\tcase 0xc7:\n\t\t\t\t// ext 8\n\t\t\t\treturn readExt(src[position++])\n\t\t\tcase 0xc8:\n\t\t\t\t// ext 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn readExt(value)\n\t\t\tcase 0xc9:\n\t\t\t\t// ext 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn readExt(value)\n\t\t\tcase 0xca:\n\t\t\t\tvalue = dataView.getFloat32(position)\n\t\t\t\tif (currentUnpackr.useFloat32 > 2) {\n\t\t\t\t\t// this does rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved\n\t\t\t\t\tlet multiplier = mult10[((src[position] & 0x7f) << 1) | (src[position + 1] >> 7)]\n\t\t\t\t\tposition += 4\n\t\t\t\t\treturn ((multiplier * value + (value > 0 ? 0.5 : -0.5)) >> 0) / multiplier\n\t\t\t\t}\n\t\t\t\tposition += 4\n\t\t\t\treturn value\n\t\t\tcase 0xcb:\n\t\t\t\tvalue = dataView.getFloat64(position)\n\t\t\t\tposition += 8\n\t\t\t\treturn value\n\t\t\t// uint handlers\n\t\t\tcase 0xcc:\n\t\t\t\treturn src[position++]\n\t\t\tcase 0xcd:\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn value\n\t\t\tcase 0xce:\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn value\n\t\t\tcase 0xcf:\n\t\t\t\tif (currentUnpackr.int64AsType === 'number') {\n\t\t\t\t\tvalue = dataView.getUint32(position) * 0x100000000\n\t\t\t\t\tvalue += dataView.getUint32(position + 4)\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'string') {\n\t\t\t\t\tvalue = dataView.getBigUint64(position).toString()\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'auto') {\n\t\t\t\t\tvalue = dataView.getBigUint64(position)\n\t\t\t\t\tif (value<=BigInt(2)<<BigInt(52)) value=Number(value)\n\t\t\t\t} else\n\t\t\t\t\tvalue = dataView.getBigUint64(position)\n\t\t\t\tposition += 8\n\t\t\t\treturn value\n\n\t\t\t// int handlers\n\t\t\tcase 0xd0:\n\t\t\t\treturn dataView.getInt8(position++)\n\t\t\tcase 0xd1:\n\t\t\t\tvalue = dataView.getInt16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn value\n\t\t\tcase 0xd2:\n\t\t\t\tvalue = dataView.getInt32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn value\n\t\t\tcase 0xd3:\n\t\t\t\tif (currentUnpackr.int64AsType === 'number') {\n\t\t\t\t\tvalue = dataView.getInt32(position) * 0x100000000\n\t\t\t\t\tvalue += dataView.getUint32(position + 4)\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'string') {\n\t\t\t\t\tvalue = dataView.getBigInt64(position).toString()\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'auto') {\n\t\t\t\t\tvalue = dataView.getBigInt64(position)\n\t\t\t\t\tif (value>=BigInt(-2)<<BigInt(52)&&value<=BigInt(2)<<BigInt(52)) value=Number(value)\n\t\t\t\t} else\n\t\t\t\t\tvalue = dataView.getBigInt64(position)\n\t\t\t\tposition += 8\n\t\t\t\treturn value\n\n\t\t\tcase 0xd4:\n\t\t\t\t// fixext 1\n\t\t\t\tvalue = src[position++]\n\t\t\t\tif (value == 0x72) {\n\t\t\t\t\treturn recordDefinition(src[position++] & 0x3f)\n\t\t\t\t} else {\n\t\t\t\t\tlet extension = currentExtensions[value]\n\t\t\t\t\tif (extension) {\n\t\t\t\t\t\tif (extension.read) {\n\t\t\t\t\t\t\tposition++ // skip filler byte\n\t\t\t\t\t\t\treturn extension.read(read())\n\t\t\t\t\t\t} else if (extension.noBuffer) {\n\t\t\t\t\t\t\tposition++ // skip filler byte\n\t\t\t\t\t\t\treturn extension()\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\treturn extension(src.subarray(position, ++position))\n\t\t\t\t\t} else\n\t\t\t\t\t\tthrow new Error('Unknown extension ' + value)\n\t\t\t\t}\n\t\t\tcase 0xd5:\n\t\t\t\t// fixext 2\n\t\t\t\tvalue = src[position]\n\t\t\t\tif (value == 0x72) {\n\t\t\t\t\tposition++\n\t\t\t\t\treturn recordDefinition(src[position++] & 0x3f, src[position++])\n\t\t\t\t} else\n\t\t\t\t\treturn readExt(2)\n\t\t\tcase 0xd6:\n\t\t\t\t// fixext 4\n\t\t\t\treturn readExt(4)\n\t\t\tcase 0xd7:\n\t\t\t\t// fixext 8\n\t\t\t\treturn readExt(8)\n\t\t\tcase 0xd8:\n\t\t\t\t// fixext 16\n\t\t\t\treturn readExt(16)\n\t\t\tcase 0xd9:\n\t\t\t// str 8\n\t\t\t\tvalue = src[position++]\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart)\n\t\t\t\t}\n\t\t\t\treturn readString8(value)\n\t\t\tcase 0xda:\n\t\t\t// str 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart)\n\t\t\t\t}\n\t\t\t\treturn readString16(value)\n\t\t\tcase 0xdb:\n\t\t\t// str 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart)\n\t\t\t\t}\n\t\t\t\treturn readString32(value)\n\t\t\tcase 0xdc:\n\t\t\t// array 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn readArray(value)\n\t\t\tcase 0xdd:\n\t\t\t// array 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn readArray(value)\n\t\t\tcase 0xde:\n\t\t\t// map 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn readMap(value)\n\t\t\tcase 0xdf:\n\t\t\t// map 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn readMap(value)\n\t\t\tdefault: // negative int\n\t\t\t\tif (token >= 0xe0)\n\t\t\t\t\treturn token - 0x100\n\t\t\t\tif (token === undefined) {\n\t\t\t\t\tlet error = new Error('Unexpected end of MessagePack data')\n\t\t\t\t\terror.incomplete = true\n\t\t\t\t\tthrow error\n\t\t\t\t}\n\t\t\t\tthrow new Error('Unknown MessagePack token ' + token)\n\n\t\t}\n\t}\n}\nconst validName = /^[a-zA-Z_$][a-zA-Z\\d_$]*$/\nfunction createStructureReader(structure, firstId) {\n\tfunction readObject() {\n\t\t// This initial function is quick to instantiate, but runs slower. After several iterations pay the cost to build the faster function\n\t\tif (readObject.count++ > inlineObjectReadThreshold) {\n\t\t\tlet readObject = structure.read = (new Function('r', 'return function(){return ' + (currentUnpackr.freezeData ? 'Object.freeze' : '') +\n\t\t\t\t'({' + structure.map(key => key === '__proto__' ? '__proto_:r()' : validName.test(key) ? key + ':r()' : ('[' + JSON.stringify(key) + ']:r()')).join(',') + '})}'))(read)\n\t\t\tif (structure.highByte === 0)\n\t\t\t\tstructure.read = createSecondByteReader(firstId, structure.read)\n\t\t\treturn readObject() // second byte is already read, if there is one so immediately read object\n\t\t}\n\t\tlet object = {}\n\t\tfor (let i = 0, l = structure.length; i < l; i++) {\n\t\t\tlet key = structure[i]\n\t\t\tif (key === '__proto__')\n\t\t\t\tkey = '__proto_'\n\t\t\tobject[key] = read()\n\t\t}\n\t\tif (currentUnpackr.freezeData)\n\t\t\treturn Object.freeze(object);\n\t\treturn object\n\t}\n\treadObject.count = 0\n\tif (structure.highByte === 0) {\n\t\treturn createSecondByteReader(firstId, readObject)\n\t}\n\treturn readObject\n}\n\nconst createSecondByteReader = (firstId, read0) => {\n\treturn function() {\n\t\tlet highByte = src[position++]\n\t\tif (highByte === 0)\n\t\t\treturn read0()\n\t\tlet id = firstId < 32 ? -(firstId + (highByte << 5)) : firstId + (highByte << 5)\n\t\tlet structure = currentStructures[id] || loadStructures()[id]\n\t\tif (!structure) {\n\t\t\tthrow new Error('Record id is not defined for ' + id)\n\t\t}\n\t\tif (!structure.read)\n\t\t\tstructure.read = createStructureReader(structure, firstId)\n\t\treturn structure.read()\n\t}\n}\n\nexport function loadStructures() {\n\tlet loadedStructures = saveState(() => {\n\t\t// save the state in case getStructures modifies our buffer\n\t\tsrc = null\n\t\treturn currentUnpackr.getStructures()\n\t})\n\treturn currentStructures = currentUnpackr._mergeStructures(loadedStructures, currentStructures)\n}\n\nvar readFixedString = readStringJS\nvar readString8 = readStringJS\nvar readString16 = readStringJS\nvar readString32 = readStringJS\nexport let isNativeAccelerationEnabled = false\n\nexport function setExtractor(extractStrings) {\n\tisNativeAccelerationEnabled = true\n\treadFixedString = readString(1)\n\treadString8 = readString(2)\n\treadString16 = readString(3)\n\treadString32 = readString(5)\n\tfunction readString(headerLength) {\n\t\treturn function readString(length) {\n\t\t\tlet string = strings[stringPosition++]\n\t\t\tif (string == null) {\n\t\t\t\tif (bundledStrings)\n\t\t\t\t\treturn readStringJS(length)\n\t\t\t\tlet byteOffset = src.byteOffset\n\t\t\t\tlet extraction = extractStrings(position - headerLength + byteOffset, srcEnd + byteOffset, src.buffer)\n\t\t\t\tif (typeof extraction == 'string') {\n\t\t\t\t\tstring = extraction\n\t\t\t\t\tstrings = EMPTY_ARRAY\n\t\t\t\t} else {\n\t\t\t\t\tstrings = extraction\n\t\t\t\t\tstringPosition = 1\n\t\t\t\t\tsrcStringEnd = 1 // even if a utf-8 string was decoded, must indicate we are in the midst of extracted strings and can't skip strings\n\t\t\t\t\tstring = strings[0]\n\t\t\t\t\tif (string === undefined)\n\t\t\t\t\t\tthrow new Error('Unexpected end of buffer')\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet srcStringLength = string.length\n\t\t\tif (srcStringLength <= length) {\n\t\t\t\tposition += length\n\t\t\t\treturn string\n\t\t\t}\n\t\t\tsrcString = string\n\t\t\tsrcStringStart = position\n\t\t\tsrcStringEnd = position + srcStringLength\n\t\t\tposition += length\n\t\t\treturn string.slice(0, length) // we know we just want the beginning\n\t\t}\n\t}\n}\nfunction readStringJS(length) {\n\tlet result\n\tif (length < 16) {\n\t\tif (result = shortStringInJS(length))\n\t\t\treturn result\n\t}\n\tif (length > 64 && decoder)\n\t\treturn decoder.decode(src.subarray(position, position += length))\n\tconst end = position + length\n\tconst units = []\n\tresult = ''\n\twhile (position < end) {\n\t\tconst byte1 = src[position++]\n\t\tif ((byte1 & 0x80) === 0) {\n\t\t\t// 1 byte\n\t\t\tunits.push(byte1)\n\t\t} else if ((byte1 & 0xe0) === 0xc0) {\n\t\t\t// 2 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f\n\t\t\tunits.push(((byte1 & 0x1f) << 6) | byte2)\n\t\t} else if ((byte1 & 0xf0) === 0xe0) {\n\t\t\t// 3 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f\n\t\t\tconst byte3 = src[position++] & 0x3f\n\t\t\tunits.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3)\n\t\t} else if ((byte1 & 0xf8) === 0xf0) {\n\t\t\t// 4 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f\n\t\t\tconst byte3 = src[position++] & 0x3f\n\t\t\tconst byte4 = src[position++] & 0x3f\n\t\t\tlet unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4\n\t\t\tif (unit > 0xffff) {\n\t\t\t\tunit -= 0x10000\n\t\t\t\tunits.push(((unit >>> 10) & 0x3ff) | 0xd800)\n\t\t\t\tunit = 0xdc00 | (unit & 0x3ff)\n\t\t\t}\n\t\t\tunits.push(unit)\n\t\t} else {\n\t\t\tunits.push(byte1)\n\t\t}\n\n\t\tif (units.length >= 0x1000) {\n\t\t\tresult += fromCharCode.apply(String, units)\n\t\t\tunits.length = 0\n\t\t}\n\t}\n\n\tif (units.length > 0) {\n\t\tresult += fromCharCode.apply(String, units)\n\t}\n\n\treturn result\n}\nexport function readString(source, start, length) {\n\tlet existingSrc = src;\n\tsrc = source;\n\tposition = start;\n\ttry {\n\t\treturn readStringJS(length);\n\t} finally {\n\t\tsrc = existingSrc;\n\t}\n}\n\nfunction readArray(length) {\n\tlet array = new Array(length)\n\tfor (let i = 0; i < length; i++) {\n\t\tarray[i] = read()\n\t}\n\tif (currentUnpackr.freezeData)\n\t\treturn Object.freeze(array)\n\treturn array\n}\n\nfunction readMap(length) {\n\tif (currentUnpackr.mapsAsObjects) {\n\t\tlet object = {}\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tlet key = readKey()\n\t\t\tif (key === '__proto__')\n\t\t\t\tkey = '__proto_';\n\t\t\tobject[key] = read()\n\t\t}\n\t\treturn object\n\t} else {\n\t\tlet map = new Map()\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tmap.set(read(), read())\n\t\t}\n\t\treturn map\n\t}\n}\n\nvar fromCharCode = String.fromCharCode\nfunction longStringInJS(length) {\n\tlet start = position\n\tlet bytes = new Array(length)\n\tfor (let i = 0; i < length; i++) {\n\t\tconst byte = src[position++];\n\t\tif ((byte & 0x80) > 0) {\n\t\t\t\tposition = start\n\t\t\t\treturn\n\t\t\t}\n\t\t\tbytes[i] = byte\n\t\t}\n\t\treturn fromCharCode.apply(String, bytes)\n}\nfunction shortStringInJS(length) {\n\tif (length < 4) {\n\t\tif (length < 2) {\n\t\t\tif (length === 0)\n\t\t\t\treturn ''\n\t\t\telse {\n\t\t\t\tlet a = src[position++]\n\t\t\t\tif ((a & 0x80) > 1) {\n\t\t\t\t\tposition -= 1\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a)\n\t\t\t}\n\t\t} else {\n\t\t\tlet a = src[position++]\n\t\t\tlet b = src[position++]\n\t\t\tif ((a & 0x80) > 0 || (b & 0x80) > 0) {\n\t\t\t\tposition -= 2\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (length < 3)\n\t\t\t\treturn fromCharCode(a, b)\n\t\t\tlet c = src[position++]\n\t\t\tif ((c & 0x80) > 0) {\n\t\t\t\tposition -= 3\n\t\t\t\treturn\n\t\t\t}\n\t\t\treturn fromCharCode(a, b, c)\n\t\t}\n\t} else {\n\t\tlet a = src[position++]\n\t\tlet b = src[position++]\n\t\tlet c = src[position++]\n\t\tlet d = src[position++]\n\t\tif ((a & 0x80) > 0 || (b & 0x80) > 0 || (c & 0x80) > 0 || (d & 0x80) > 0) {\n\t\t\tposition -= 4\n\t\t\treturn\n\t\t}\n\t\tif (length < 6) {\n\t\t\tif (length === 4)\n\t\t\t\treturn fromCharCode(a, b, c, d)\n\t\t\telse {\n\t\t\t\tlet e = src[position++]\n\t\t\t\tif ((e & 0x80) > 0) {\n\t\t\t\t\tposition -= 5\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a, b, c, d, e)\n\t\t\t}\n\t\t} else if (length < 8) {\n\t\t\tlet e = src[position++]\n\t\t\tlet f = src[position++]\n\t\t\tif ((e & 0x80) > 0 || (f & 0x80) > 0) {\n\t\t\t\tposition -= 6\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (length < 7)\n\t\t\t\treturn fromCharCode(a, b, c, d, e, f)\n\t\t\tlet g = src[position++]\n\t\t\tif ((g & 0x80) > 0) {\n\t\t\t\tposition -= 7\n\t\t\t\treturn\n\t\t\t}\n\t\t\treturn fromCharCode(a, b, c, d, e, f, g)\n\t\t} else {\n\t\t\tlet e = src[position++]\n\t\t\tlet f = src[position++]\n\t\t\tlet g = src[position++]\n\t\t\tlet h = src[position++]\n\t\t\tif ((e & 0x80) > 0 || (f & 0x80) > 0 || (g & 0x80) > 0 || (h & 0x80) > 0) {\n\t\t\t\tposition -= 8\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (length < 10) {\n\t\t\t\tif (length === 8)\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h)\n\t\t\t\telse {\n\t\t\t\t\tlet i = src[position++]\n\t\t\t\t\tif ((i & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 9\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i)\n\t\t\t\t}\n\t\t\t} else if (length < 12) {\n\t\t\t\tlet i = src[position++]\n\t\t\t\tlet j = src[position++]\n\t\t\t\tif ((i & 0x80) > 0 || (j & 0x80) > 0) {\n\t\t\t\t\tposition -= 10\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif (length < 11)\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j)\n\t\t\t\tlet k = src[position++]\n\t\t\t\tif ((k & 0x80) > 0) {\n\t\t\t\t\tposition -= 11\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k)\n\t\t\t} else {\n\t\t\t\tlet i = src[position++]\n\t\t\t\tlet j = src[position++]\n\t\t\t\tlet k = src[position++]\n\t\t\t\tlet l = src[position++]\n\t\t\t\tif ((i & 0x80) > 0 || (j & 0x80) > 0 || (k & 0x80) > 0 || (l & 0x80) > 0) {\n\t\t\t\t\tposition -= 12\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif (length < 14) {\n\t\t\t\t\tif (length === 12)\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l)\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet m = src[position++]\n\t\t\t\t\t\tif ((m & 0x80) > 0) {\n\t\t\t\t\t\t\tposition -= 13\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet m = src[position++]\n\t\t\t\t\tlet n = src[position++]\n\t\t\t\t\tif ((m & 0x80) > 0 || (n & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 14\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tif (length < 15)\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n)\n\t\t\t\t\tlet o = src[position++]\n\t\t\t\t\tif ((o & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 15\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction readOnlyJSString() {\n\tlet token = src[position++]\n\tlet length\n\tif (token < 0xc0) {\n\t\t// fixstr\n\t\tlength = token - 0xa0\n\t} else {\n\t\tswitch(token) {\n\t\t\tcase 0xd9:\n\t\t\t// str 8\n\t\t\t\tlength = src[position++]\n\t\t\t\tbreak\n\t\t\tcase 0xda:\n\t\t\t// str 16\n\t\t\t\tlength = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\tbreak\n\t\t\tcase 0xdb:\n\t\t\t// str 32\n\t\t\t\tlength = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Expected string')\n\t\t}\n\t}\n\treturn readStringJS(length)\n}\n\n\nfunction readBin(length) {\n\treturn currentUnpackr.copyBuffers ?\n\t\t// specifically use the copying slice (not the node one)\n\t\tUint8Array.prototype.slice.call(src, position, position += length) :\n\t\tsrc.subarray(position, position += length)\n}\nfunction readExt(length) {\n\tlet type = src[position++]\n\tif (currentExtensions[type]) {\n\t\tlet end\n\t\treturn currentExtensions[type](src.subarray(position, end = (position += length)), (readPosition) => {\n\t\t\tposition = readPosition;\n\t\t\ttry {\n\t\t\t\treturn read();\n\t\t\t} finally {\n\t\t\t\tposition = end;\n\t\t\t}\n\t\t})\n\t}\n\telse\n\t\tthrow new Error('Unknown extension type ' + type)\n}\n\nvar keyCache = new Array(4096)\nfunction readKey() {\n\tlet length = src[position++]\n\tif (length >= 0xa0 && length < 0xc0) {\n\t\t// fixstr, potentially use key cache\n\t\tlength = length - 0xa0\n\t\tif (srcStringEnd >= position) // if it has been extracted, must use it (and faster anyway)\n\t\t\treturn srcString.slice(position - srcStringStart, (position += length) - srcStringStart)\n\t\telse if (!(srcStringEnd == 0 && srcEnd < 180))\n\t\t\treturn readFixedString(length)\n\t} else { // not cacheable, go back and do a standard read\n\t\tposition--\n\t\treturn asSafeString(read())\n\t}\n\tlet key = ((length << 5) ^ (length > 1 ? dataView.getUint16(position) : length > 0 ? src[position] : 0)) & 0xfff\n\tlet entry = keyCache[key]\n\tlet checkPosition = position\n\tlet end = position + length - 3\n\tlet chunk\n\tlet i = 0\n\tif (entry && entry.bytes == length) {\n\t\twhile (checkPosition < end) {\n\t\t\tchunk = dataView.getUint32(checkPosition)\n\t\t\tif (chunk != entry[i++]) {\n\t\t\t\tcheckPosition = 0x70000000\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcheckPosition += 4\n\t\t}\n\t\tend += 3\n\t\twhile (checkPosition < end) {\n\t\t\tchunk = src[checkPosition++]\n\t\t\tif (chunk != entry[i++]) {\n\t\t\t\tcheckPosition = 0x70000000\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif (checkPosition === end) {\n\t\t\tposition = checkPosition\n\t\t\treturn entry.string\n\t\t}\n\t\tend -= 3\n\t\tcheckPosition = position\n\t}\n\tentry = []\n\tkeyCache[key] = entry\n\tentry.bytes = length\n\twhile (checkPosition < end) {\n\t\tchunk = dataView.getUint32(checkPosition)\n\t\tentry.push(chunk)\n\t\tcheckPosition += 4\n\t}\n\tend += 3\n\twhile (checkPosition < end) {\n\t\tchunk = src[checkPosition++]\n\t\tentry.push(chunk)\n\t}\n\t// for small blocks, avoiding the overhead of the extract call is helpful\n\tlet string = length < 16 ? shortStringInJS(length) : longStringInJS(length)\n\tif (string != null)\n\t\treturn entry.string = string\n\treturn entry.string = readFixedString(length)\n}\n\nfunction asSafeString(property) {\n\t// protect against expensive (DoS) string conversions\n\tif (typeof property === 'string') return property;\n\tif (typeof property === 'number' || typeof property === 'boolean' || typeof property === 'bigint') return property.toString();\n\tif (property == null) return property + '';\n\tthrow new Error('Invalid property type for record', typeof property);\n}\n// the registration of the record definition extension (as \"r\")\nconst recordDefinition = (id, highByte) => {\n\tlet structure = read().map(asSafeString) // ensure that all keys are strings and\n\t// that the array is mutable\n\tlet firstByte = id\n\tif (highByte !== undefined) {\n\t\tid = id < 32 ? -((highByte << 5) + id) : ((highByte << 5) + id)\n\t\tstructure.highByte = highByte\n\t}\n\tlet existingStructure = currentStructures[id]\n\t// If it is a shared structure, we need to restore any changes after reading.\n\t// Also in sequential mode, we may get incomplete reads and thus errors, and we need to restore\n\t// to the state prior to an incomplete read in order to properly resume.\n\tif (existingStructure && (existingStructure.isShared || sequentialMode)) {\n\t\t(currentStructures.restoreStructures || (currentStructures.restoreStructures = []))[id] = existingStructure\n\t}\n\tcurrentStructures[id] = structure\n\tstructure.read = createStructureReader(structure, firstByte)\n\treturn structure.read()\n}\ncurrentExtensions[0] = () => {} // notepack defines extension 0 to mean undefined, so use that as the default here\ncurrentExtensions[0].noBuffer = true\n\ncurrentExtensions[0x42] = (data) => {\n\t// decode bigint\n\tlet length = data.length;\n\tlet value = BigInt(data[0] & 0x80 ? data[0] - 0x100 : data[0]);\n\tfor (let i = 1; i < length; i++) {\n\t\tvalue <<= 8n;\n\t\tvalue += BigInt(data[i]);\n\t}\n\treturn value;\n}\n\nlet errors = { Error, TypeError, ReferenceError };\ncurrentExtensions[0x65] = () => {\n\tlet data = read()\n\treturn (errors[data[0]] || Error)(data[1], { cause: data[2] })\n}\n\ncurrentExtensions[0x69] = (data) => {\n\t// id extension (for structured clones)\n\tif (currentUnpackr.structuredClone === false) throw new Error('Structured clone extension is disabled')\n\tlet id = dataView.getUint32(position - 4)\n\tif (!referenceMap)\n\t\treferenceMap = new Map()\n\tlet token = src[position]\n\tlet target\n\t// TODO: handle Maps, Sets, and other types that can cycle; this is complicated, because you potentially need to read\n\t// ahead past references to record structure definitions\n\tif (token >= 0x90 && token < 0xa0 || token == 0xdc || token == 0xdd)\n\t\ttarget = []\n\telse\n\t\ttarget = {}\n\n\tlet refEntry = { target } // a placeholder object\n\treferenceMap.set(id, refEntry)\n\tlet targetProperties = read() // read the next value as the target object to id\n\tif (refEntry.used) // there is a cycle, so we have to assign properties to original target\n\t\treturn Object.assign(target, targetProperties)\n\trefEntry.target = targetProperties // the placeholder wasn't used, replace with the deserialized one\n\treturn targetProperties // no cycle, can just use the returned read object\n}\n\ncurrentExtensions[0x70] = (data) => {\n\t// pointer extension (for structured clones)\n\tif (currentUnpackr.structuredClone === false) throw new Error('Structured clone extension is disabled')\n\tlet id = dataView.getUint32(position - 4)\n\tlet refEntry = referenceMap.get(id)\n\trefEntry.used = true\n\treturn refEntry.target\n}\n\ncurrentExtensions[0x73] = () => new Set(read())\n\nexport const typedArrays = ['Int8','Uint8','Uint8Clamped','Int16','Uint16','Int32','Uint32','Float32','Float64','BigInt64','BigUint64'].map(type => type + 'Array')\n\nlet glbl = typeof globalThis === 'object' ? globalThis : window;\ncurrentExtensions[0x74] = (data) => {\n\tlet typeCode = data[0]\n\tlet typedArrayName = typedArrays[typeCode]\n\tif (!typedArrayName) {\n\t\tif (typeCode === 16) {\n\t\t\tlet ab = new ArrayBuffer(data.length - 1)\n\t\t\tlet u8 = new Uint8Array(ab)\n\t\t\tu8.set(data.subarray(1))\n\t\t\treturn ab;\n\t\t}\n\t\tthrow new Error('Could not find typed array for code ' + typeCode)\n\t}\n\t// we have to always slice/copy here to get a new ArrayBuffer that is word/byte aligned\n\treturn new glbl[typedArrayName](Uint8Array.prototype.slice.call(data, 1).buffer)\n}\ncurrentExtensions[0x78] = () => {\n\tlet data = read()\n\treturn new RegExp(data[0], data[1])\n}\nconst TEMP_BUNDLE = []\ncurrentExtensions[0x62] = (data) => {\n\tlet dataSize = (data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3]\n\tlet dataPosition = position\n\tposition += dataSize - data.length\n\tbundledStrings = TEMP_BUNDLE\n\tbundledStrings = [readOnlyJSString(), readOnlyJSString()]\n\tbundledStrings.position0 = 0\n\tbundledStrings.position1 = 0\n\tbundledStrings.postBundlePosition = position\n\tposition = dataPosition\n\treturn read()\n}\n\ncurrentExtensions[0xff] = (data) => {\n\t// 32-bit date extension\n\tif (data.length == 4)\n\t\treturn new Date((data[0] * 0x1000000 + (data[1] << 16) + (data[2] << 8) + data[3]) * 1000)\n\telse if (data.length == 8)\n\t\treturn new Date(\n\t\t\t((data[0] << 22) + (data[1] << 14) + (data[2] << 6) + (data[3] >> 2)) / 1000000 +\n\t\t\t((data[3] & 0x3) * 0x100000000 + data[4] * 0x1000000 + (data[5] << 16) + (data[6] << 8) + data[7]) * 1000)\n\telse if (data.length == 12)// TODO: Implement support for negative\n\t\treturn new Date(\n\t\t\t((data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3]) / 1000000 +\n\t\t\t(((data[4] & 0x80) ? -0x1000000000000 : 0) + data[6] * 0x10000000000 + data[7] * 0x100000000 + data[8] * 0x1000000 + (data[9] << 16) + (data[10] << 8) + data[11]) * 1000)\n\telse\n\t\treturn new Date('invalid')\n} // notepack defines extension 0 to mean undefined, so use that as the default here\n// registration of bulk record definition?\n// currentExtensions[0x52] = () =>\n\nfunction saveState(callback) {\n\tif (onSaveState)\n\t\tonSaveState();\n\tlet savedSrcEnd = srcEnd\n\tlet savedPosition = position\n\tlet savedStringPosition = stringPosition\n\tlet savedSrcStringStart = srcStringStart\n\tlet savedSrcStringEnd = srcStringEnd\n\tlet savedSrcString = srcString\n\tlet savedStrings = strings\n\tlet savedReferenceMap = referenceMap\n\tlet savedBundledStrings = bundledStrings\n\n\t// TODO: We may need to revisit this if we do more external calls to user code (since it could be slow)\n\tlet savedSrc = new Uint8Array(src.slice(0, srcEnd)) // we copy the data in case it changes while external data is processed\n\tlet savedStructures = currentStructures\n\tlet savedStructuresContents = currentStructures.slice(0, currentStructures.length)\n\tlet savedPackr = currentUnpackr\n\tlet savedSequentialMode = sequentialMode\n\tlet value = callback()\n\tsrcEnd = savedSrcEnd\n\tposition = savedPosition\n\tstringPosition = savedStringPosition\n\tsrcStringStart = savedSrcStringStart\n\tsrcStringEnd = savedSrcStringEnd\n\tsrcString = savedSrcString\n\tstrings = savedStrings\n\treferenceMap = savedReferenceMap\n\tbundledStrings = savedBundledStrings\n\tsrc = savedSrc\n\tsequentialMode = savedSequentialMode\n\tcurrentStructures = savedStructures\n\tcurrentStructures.splice(0, currentStructures.length, ...savedStructuresContents)\n\tcurrentUnpackr = savedPackr\n\tdataView = new DataView(src.buffer, src.byteOffset, src.byteLength)\n\treturn value\n}\nexport function clearSource() {\n\tsrc = null\n\treferenceMap = null\n\tcurrentStructures = null\n}\n\nexport function addExtension(extension) {\n\tif (extension.unpack)\n\t\tcurrentExtensions[extension.type] = extension.unpack\n\telse\n\t\tcurrentExtensions[extension.type] = extension\n}\n\nexport const mult10 = new Array(147) // this is a table matching binary exponents to the multiplier to determine significant digit rounding\nfor (let i = 0; i < 256; i++) {\n\tmult10[i] = +('1e' + Math.floor(45.15 - i * 0.30103))\n}\nexport const Decoder = Unpackr\nvar defaultUnpackr = new Unpackr({ useRecords: false })\nexport const unpack = defaultUnpackr.unpack\nexport const unpackMultiple = defaultUnpackr.unpackMultiple\nexport const decode = defaultUnpackr.unpack\nexport const FLOAT32_OPTIONS = {\n\tNEVER: 0,\n\tALWAYS: 1,\n\tDECIMAL_ROUND: 3,\n\tDECIMAL_FIT: 4\n}\nlet f32Array = new Float32Array(1)\nlet u8Array = new Uint8Array(f32Array.buffer, 0, 4)\nexport function roundFloat32(float32Number) {\n\tf32Array[0] = float32Number\n\tlet multiplier = mult10[((u8Array[3] & 0x7f) << 1) | (u8Array[2] >> 7)]\n\treturn ((multiplier * float32Number + (float32Number > 0 ? 0.5 : -0.5)) >> 0) / multiplier\n}\nexport function setReadStruct(updatedReadStruct, loadedStructs, saveState) {\n\treadStruct = updatedReadStruct;\n\tonLoadedStructures = loadedStructs;\n\tonSaveState = saveState;\n}\n"],"names":["isNativeAccelerationEnabled"],"mappings":"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"}
1
+ {"version":3,"file":"unpack-no-eval.cjs","sources":["../unpack.js"],"sourcesContent":["var decoder\ntry {\n\tdecoder = new TextDecoder()\n} catch(error) {}\nvar src\nvar srcEnd\nvar position = 0\nvar alreadySet\nconst EMPTY_ARRAY = []\nvar strings = EMPTY_ARRAY\nvar stringPosition = 0\nvar currentUnpackr = {}\nvar currentStructures\nvar srcString\nvar srcStringStart = 0\nvar srcStringEnd = 0\nvar bundledStrings\nvar referenceMap\nvar currentExtensions = []\nvar dataView\nvar defaultOptions = {\n\tuseRecords: false,\n\tmapsAsObjects: true\n}\nexport class C1Type {}\nexport const C1 = new C1Type()\nC1.name = 'MessagePack 0xC1'\nvar sequentialMode = false\nvar inlineObjectReadThreshold = 2\nvar readStruct, onLoadedStructures, onSaveState\nvar BlockedFunction // we use search and replace to change the next call to BlockedFunction to avoid CSP issues for\n// no-eval build\ntry {\n\tnew Function('')\n} catch(error) {\n\t// if eval variants are not supported, do not create inline object readers ever\n\tinlineObjectReadThreshold = Infinity\n}\n\nexport class Unpackr {\n\tconstructor(options) {\n\t\tif (options) {\n\t\t\tif (options.useRecords === false && options.mapsAsObjects === undefined)\n\t\t\t\toptions.mapsAsObjects = true\n\t\t\tif (options.sequential && options.trusted !== false) {\n\t\t\t\toptions.trusted = true;\n\t\t\t\tif (!options.structures && options.useRecords != false) {\n\t\t\t\t\toptions.structures = []\n\t\t\t\t\tif (!options.maxSharedStructures)\n\t\t\t\t\t\toptions.maxSharedStructures = 0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (options.structures)\n\t\t\t\toptions.structures.sharedLength = options.structures.length\n\t\t\telse if (options.getStructures) {\n\t\t\t\t(options.structures = []).uninitialized = true // this is what we use to denote an uninitialized structures\n\t\t\t\toptions.structures.sharedLength = 0\n\t\t\t}\n\t\t\tif (options.int64AsNumber) {\n\t\t\t\toptions.int64AsType = 'number'\n\t\t\t}\n\t\t}\n\t\tObject.assign(this, options)\n\t}\n\tunpack(source, options) {\n\t\tif (src) {\n\t\t\t// re-entrant execution, save the state and restore it after we do this unpack\n\t\t\treturn saveState(() => {\n\t\t\t\tclearSource()\n\t\t\t\treturn this ? this.unpack(source, options) : Unpackr.prototype.unpack.call(defaultOptions, source, options)\n\t\t\t})\n\t\t}\n\t\tif (!source.buffer && source.constructor === ArrayBuffer)\n\t\t\tsource = typeof Buffer !== 'undefined' ? Buffer.from(source) : new Uint8Array(source);\n\t\tif (typeof options === 'object') {\n\t\t\tsrcEnd = options.end || source.length\n\t\t\tposition = options.start || 0\n\t\t} else {\n\t\t\tposition = 0\n\t\t\tsrcEnd = options > -1 ? options : source.length\n\t\t}\n\t\tstringPosition = 0\n\t\tsrcStringEnd = 0\n\t\tsrcString = null\n\t\tstrings = EMPTY_ARRAY\n\t\tbundledStrings = null\n\t\tsrc = source\n\t\t// this provides cached access to the data view for a buffer if it is getting reused, which is a recommend\n\t\t// technique for getting data from a database where it can be copied into an existing buffer instead of creating\n\t\t// new ones\n\t\ttry {\n\t\t\tdataView = source.dataView || (source.dataView = new DataView(source.buffer, source.byteOffset, source.byteLength))\n\t\t} catch(error) {\n\t\t\t// if it doesn't have a buffer, maybe it is the wrong type of object\n\t\t\tsrc = null\n\t\t\tif (source instanceof Uint8Array)\n\t\t\t\tthrow error\n\t\t\tthrow new Error('Source must be a Uint8Array or Buffer but was a ' + ((source && typeof source == 'object') ? source.constructor.name : typeof source))\n\t\t}\n\t\tif (this instanceof Unpackr) {\n\t\t\tcurrentUnpackr = this\n\t\t\tif (this.structures) {\n\t\t\t\tcurrentStructures = this.structures\n\t\t\t\treturn checkedRead(options)\n\t\t\t} else if (!currentStructures || currentStructures.length > 0) {\n\t\t\t\tcurrentStructures = []\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentUnpackr = defaultOptions\n\t\t\tif (!currentStructures || currentStructures.length > 0)\n\t\t\t\tcurrentStructures = []\n\t\t}\n\t\treturn checkedRead(options)\n\t}\n\tunpackMultiple(source, forEach) {\n\t\tlet values, lastPosition = 0\n\t\ttry {\n\t\t\tsequentialMode = true\n\t\t\tlet size = source.length\n\t\t\tlet value = this ? this.unpack(source, size) : defaultUnpackr.unpack(source, size)\n\t\t\tif (forEach) {\n\t\t\t\tif (forEach(value, lastPosition, position) === false) return;\n\t\t\t\twhile(position < size) {\n\t\t\t\t\tlastPosition = position\n\t\t\t\t\tif (forEach(checkedRead(), lastPosition, position) === false) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvalues = [ value ]\n\t\t\t\twhile(position < size) {\n\t\t\t\t\tlastPosition = position\n\t\t\t\t\tvalues.push(checkedRead())\n\t\t\t\t}\n\t\t\t\treturn values\n\t\t\t}\n\t\t} catch(error) {\n\t\t\terror.lastPosition = lastPosition\n\t\t\terror.values = values\n\t\t\tthrow error\n\t\t} finally {\n\t\t\tsequentialMode = false\n\t\t\tclearSource()\n\t\t}\n\t}\n\t_mergeStructures(loadedStructures, existingStructures) {\n\t\tif (onLoadedStructures)\n\t\t\tloadedStructures = onLoadedStructures.call(this, loadedStructures);\n\t\tloadedStructures = loadedStructures || []\n\t\tif (Object.isFrozen(loadedStructures))\n\t\t\tloadedStructures = loadedStructures.map(structure => structure.slice(0))\n\t\tfor (let i = 0, l = loadedStructures.length; i < l; i++) {\n\t\t\tlet structure = loadedStructures[i]\n\t\t\tif (structure) {\n\t\t\t\tstructure.isShared = true\n\t\t\t\tif (i >= 32)\n\t\t\t\t\tstructure.highByte = (i - 32) >> 5\n\t\t\t}\n\t\t}\n\t\tloadedStructures.sharedLength = loadedStructures.length\n\t\tfor (let id in existingStructures || []) {\n\t\t\tif (id >= 0) {\n\t\t\t\tlet structure = loadedStructures[id]\n\t\t\t\tlet existing = existingStructures[id]\n\t\t\t\tif (existing) {\n\t\t\t\t\tif (structure)\n\t\t\t\t\t\t(loadedStructures.restoreStructures || (loadedStructures.restoreStructures = []))[id] = structure\n\t\t\t\t\tloadedStructures[id] = existing\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this.structures = loadedStructures\n\t}\n\tdecode(source, options) {\n\t\treturn this.unpack(source, options)\n\t}\n}\nexport function getPosition() {\n\treturn position\n}\nexport function checkedRead(options) {\n\ttry {\n\t\tif (!currentUnpackr.trusted && !sequentialMode) {\n\t\t\tlet sharedLength = currentStructures.sharedLength || 0\n\t\t\tif (sharedLength < currentStructures.length)\n\t\t\t\tcurrentStructures.length = sharedLength\n\t\t}\n\t\tlet result\n\t\tif (currentUnpackr.randomAccessStructure && src[position] < 0x40 && src[position] >= 0x20 && readStruct) {\n\t\t\tresult = readStruct(src, position, srcEnd, currentUnpackr)\n\t\t\tsrc = null // dispose of this so that recursive unpack calls don't save state\n\t\t\tif (!(options && options.lazy) && result)\n\t\t\t\tresult = result.toJSON()\n\t\t\tposition = srcEnd\n\t\t} else\n\t\t\tresult = read()\n\t\tif (bundledStrings) { // bundled strings to skip past\n\t\t\tposition = bundledStrings.postBundlePosition\n\t\t\tbundledStrings = null\n\t\t}\n\t\tif (sequentialMode)\n\t\t\t// we only need to restore the structures if there was an error, but if we completed a read,\n\t\t\t// we can clear this out and keep the structures we read\n\t\t\tcurrentStructures.restoreStructures = null\n\n\t\tif (position == srcEnd) {\n\t\t\t// finished reading this source, cleanup references\n\t\t\tif (currentStructures && currentStructures.restoreStructures)\n\t\t\t\trestoreStructures()\n\t\t\tcurrentStructures = null\n\t\t\tsrc = null\n\t\t\tif (referenceMap)\n\t\t\t\treferenceMap = null\n\t\t} else if (position > srcEnd) {\n\t\t\t// over read\n\t\t\tthrow new Error('Unexpected end of MessagePack data')\n\t\t} else if (!sequentialMode) {\n\t\t\tlet jsonView;\n\t\t\ttry {\n\t\t\t\tjsonView = JSON.stringify(result, (_, value) => typeof value === \"bigint\" ? `${value}n` : value).slice(0, 100)\n\t\t\t} catch(error) {\n\t\t\t\tjsonView = '(JSON view not available ' + error + ')'\n\t\t\t}\n\t\t\tthrow new Error('Data read, but end of buffer not reached ' + jsonView)\n\t\t}\n\t\t// else more to read, but we are reading sequentially, so don't clear source yet\n\t\treturn result\n\t} catch(error) {\n\t\tif (currentStructures && currentStructures.restoreStructures)\n\t\t\trestoreStructures()\n\t\tclearSource()\n\t\tif (error instanceof RangeError || error.message.startsWith('Unexpected end of buffer') || position > srcEnd) {\n\t\t\terror.incomplete = true\n\t\t}\n\t\tthrow error\n\t}\n}\n\nfunction restoreStructures() {\n\tfor (let id in currentStructures.restoreStructures) {\n\t\tcurrentStructures[id] = currentStructures.restoreStructures[id]\n\t}\n\tcurrentStructures.restoreStructures = null\n}\n\nexport function read() {\n\tlet token = src[position++]\n\tif (token < 0xa0) {\n\t\tif (token < 0x80) {\n\t\t\tif (token < 0x40)\n\t\t\t\treturn token\n\t\t\telse {\n\t\t\t\tlet structure = currentStructures[token & 0x3f] ||\n\t\t\t\t\tcurrentUnpackr.getStructures && loadStructures()[token & 0x3f]\n\t\t\t\tif (structure) {\n\t\t\t\t\tif (!structure.read) {\n\t\t\t\t\t\tstructure.read = createStructureReader(structure, token & 0x3f)\n\t\t\t\t\t}\n\t\t\t\t\treturn structure.read()\n\t\t\t\t} else\n\t\t\t\t\treturn token\n\t\t\t}\n\t\t} else if (token < 0x90) {\n\t\t\t// map\n\t\t\ttoken -= 0x80\n\t\t\tif (currentUnpackr.mapsAsObjects) {\n\t\t\t\tlet object = {}\n\t\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\t\tlet key = readKey()\n\t\t\t\t\tif (key === '__proto__')\n\t\t\t\t\t\tkey = '__proto_'\n\t\t\t\t\tobject[key] = read()\n\t\t\t\t}\n\t\t\t\treturn object\n\t\t\t} else {\n\t\t\t\tlet map = new Map()\n\t\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\t\tmap.set(read(), read())\n\t\t\t\t}\n\t\t\t\treturn map\n\t\t\t}\n\t\t} else {\n\t\t\ttoken -= 0x90\n\t\t\tlet array = new Array(token)\n\t\t\tfor (let i = 0; i < token; i++) {\n\t\t\t\tarray[i] = read()\n\t\t\t}\n\t\t\tif (currentUnpackr.freezeData)\n\t\t\t\treturn Object.freeze(array)\n\t\t\treturn array\n\t\t}\n\t} else if (token < 0xc0) {\n\t\t// fixstr\n\t\tlet length = token - 0xa0\n\t\tif (srcStringEnd >= position) {\n\t\t\treturn srcString.slice(position - srcStringStart, (position += length) - srcStringStart)\n\t\t}\n\t\tif (srcStringEnd == 0 && srcEnd < 140) {\n\t\t\t// for small blocks, avoiding the overhead of the extract call is helpful\n\t\t\tlet string = length < 16 ? shortStringInJS(length) : longStringInJS(length)\n\t\t\tif (string != null)\n\t\t\t\treturn string\n\t\t}\n\t\treturn readFixedString(length)\n\t} else {\n\t\tlet value\n\t\tswitch (token) {\n\t\t\tcase 0xc0: return null\n\t\t\tcase 0xc1:\n\t\t\t\tif (bundledStrings) {\n\t\t\t\t\tvalue = read() // followed by the length of the string in characters (not bytes!)\n\t\t\t\t\tif (value > 0)\n\t\t\t\t\t\treturn bundledStrings[1].slice(bundledStrings.position1, bundledStrings.position1 += value)\n\t\t\t\t\telse\n\t\t\t\t\t\treturn bundledStrings[0].slice(bundledStrings.position0, bundledStrings.position0 -= value)\n\t\t\t\t}\n\t\t\t\treturn C1; // \"never-used\", return special object to denote that\n\t\t\tcase 0xc2: return false\n\t\t\tcase 0xc3: return true\n\t\t\tcase 0xc4:\n\t\t\t\t// bin 8\n\t\t\t\tvalue = src[position++]\n\t\t\t\tif (value === undefined)\n\t\t\t\t\tthrow new Error('Unexpected end of buffer')\n\t\t\t\treturn readBin(value)\n\t\t\tcase 0xc5:\n\t\t\t\t// bin 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn readBin(value)\n\t\t\tcase 0xc6:\n\t\t\t\t// bin 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn readBin(value)\n\t\t\tcase 0xc7:\n\t\t\t\t// ext 8\n\t\t\t\treturn readExt(src[position++])\n\t\t\tcase 0xc8:\n\t\t\t\t// ext 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn readExt(value)\n\t\t\tcase 0xc9:\n\t\t\t\t// ext 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn readExt(value)\n\t\t\tcase 0xca:\n\t\t\t\tvalue = dataView.getFloat32(position)\n\t\t\t\tif (currentUnpackr.useFloat32 > 2) {\n\t\t\t\t\t// this does rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved\n\t\t\t\t\tlet multiplier = mult10[((src[position] & 0x7f) << 1) | (src[position + 1] >> 7)]\n\t\t\t\t\tposition += 4\n\t\t\t\t\treturn ((multiplier * value + (value > 0 ? 0.5 : -0.5)) >> 0) / multiplier\n\t\t\t\t}\n\t\t\t\tposition += 4\n\t\t\t\treturn value\n\t\t\tcase 0xcb:\n\t\t\t\tvalue = dataView.getFloat64(position)\n\t\t\t\tposition += 8\n\t\t\t\treturn value\n\t\t\t// uint handlers\n\t\t\tcase 0xcc:\n\t\t\t\treturn src[position++]\n\t\t\tcase 0xcd:\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn value\n\t\t\tcase 0xce:\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn value\n\t\t\tcase 0xcf:\n\t\t\t\tif (currentUnpackr.int64AsType === 'number') {\n\t\t\t\t\tvalue = dataView.getUint32(position) * 0x100000000\n\t\t\t\t\tvalue += dataView.getUint32(position + 4)\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'string') {\n\t\t\t\t\tvalue = dataView.getBigUint64(position).toString()\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'auto') {\n\t\t\t\t\tvalue = dataView.getBigUint64(position)\n\t\t\t\t\tif (value<=BigInt(2)<<BigInt(52)) value=Number(value)\n\t\t\t\t} else\n\t\t\t\t\tvalue = dataView.getBigUint64(position)\n\t\t\t\tposition += 8\n\t\t\t\treturn value\n\n\t\t\t// int handlers\n\t\t\tcase 0xd0:\n\t\t\t\treturn dataView.getInt8(position++)\n\t\t\tcase 0xd1:\n\t\t\t\tvalue = dataView.getInt16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn value\n\t\t\tcase 0xd2:\n\t\t\t\tvalue = dataView.getInt32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn value\n\t\t\tcase 0xd3:\n\t\t\t\tif (currentUnpackr.int64AsType === 'number') {\n\t\t\t\t\tvalue = dataView.getInt32(position) * 0x100000000\n\t\t\t\t\tvalue += dataView.getUint32(position + 4)\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'string') {\n\t\t\t\t\tvalue = dataView.getBigInt64(position).toString()\n\t\t\t\t} else if (currentUnpackr.int64AsType === 'auto') {\n\t\t\t\t\tvalue = dataView.getBigInt64(position)\n\t\t\t\t\tif (value>=BigInt(-2)<<BigInt(52)&&value<=BigInt(2)<<BigInt(52)) value=Number(value)\n\t\t\t\t} else\n\t\t\t\t\tvalue = dataView.getBigInt64(position)\n\t\t\t\tposition += 8\n\t\t\t\treturn value\n\n\t\t\tcase 0xd4:\n\t\t\t\t// fixext 1\n\t\t\t\tvalue = src[position++]\n\t\t\t\tif (value == 0x72) {\n\t\t\t\t\treturn recordDefinition(src[position++] & 0x3f)\n\t\t\t\t} else {\n\t\t\t\t\tlet extension = currentExtensions[value]\n\t\t\t\t\tif (extension) {\n\t\t\t\t\t\tif (extension.read) {\n\t\t\t\t\t\t\tposition++ // skip filler byte\n\t\t\t\t\t\t\treturn extension.read(read())\n\t\t\t\t\t\t} else if (extension.noBuffer) {\n\t\t\t\t\t\t\tposition++ // skip filler byte\n\t\t\t\t\t\t\treturn extension()\n\t\t\t\t\t\t} else\n\t\t\t\t\t\t\treturn extension(src.subarray(position, ++position))\n\t\t\t\t\t} else\n\t\t\t\t\t\tthrow new Error('Unknown extension ' + value)\n\t\t\t\t}\n\t\t\tcase 0xd5:\n\t\t\t\t// fixext 2\n\t\t\t\tvalue = src[position]\n\t\t\t\tif (value == 0x72) {\n\t\t\t\t\tposition++\n\t\t\t\t\treturn recordDefinition(src[position++] & 0x3f, src[position++])\n\t\t\t\t} else\n\t\t\t\t\treturn readExt(2)\n\t\t\tcase 0xd6:\n\t\t\t\t// fixext 4\n\t\t\t\treturn readExt(4)\n\t\t\tcase 0xd7:\n\t\t\t\t// fixext 8\n\t\t\t\treturn readExt(8)\n\t\t\tcase 0xd8:\n\t\t\t\t// fixext 16\n\t\t\t\treturn readExt(16)\n\t\t\tcase 0xd9:\n\t\t\t// str 8\n\t\t\t\tvalue = src[position++]\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart)\n\t\t\t\t}\n\t\t\t\treturn readString8(value)\n\t\t\tcase 0xda:\n\t\t\t// str 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart)\n\t\t\t\t}\n\t\t\t\treturn readString16(value)\n\t\t\tcase 0xdb:\n\t\t\t// str 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\tif (srcStringEnd >= position) {\n\t\t\t\t\treturn srcString.slice(position - srcStringStart, (position += value) - srcStringStart)\n\t\t\t\t}\n\t\t\t\treturn readString32(value)\n\t\t\tcase 0xdc:\n\t\t\t// array 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn readArray(value)\n\t\t\tcase 0xdd:\n\t\t\t// array 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn readArray(value)\n\t\t\tcase 0xde:\n\t\t\t// map 16\n\t\t\t\tvalue = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\treturn readMap(value)\n\t\t\tcase 0xdf:\n\t\t\t// map 32\n\t\t\t\tvalue = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\treturn readMap(value)\n\t\t\tdefault: // negative int\n\t\t\t\tif (token >= 0xe0)\n\t\t\t\t\treturn token - 0x100\n\t\t\t\tif (token === undefined) {\n\t\t\t\t\tlet error = new Error('Unexpected end of MessagePack data')\n\t\t\t\t\terror.incomplete = true\n\t\t\t\t\tthrow error\n\t\t\t\t}\n\t\t\t\tthrow new Error('Unknown MessagePack token ' + token)\n\n\t\t}\n\t}\n}\nconst validName = /^[a-zA-Z_$][a-zA-Z\\d_$]*$/\nfunction createStructureReader(structure, firstId) {\n\tfunction readObject() {\n\t\t// This initial function is quick to instantiate, but runs slower. After several iterations pay the cost to build the faster function\n\t\tif (readObject.count++ > inlineObjectReadThreshold) {\n\t\t\tlet readObject = structure.read = (new Function('r', 'return function(){return ' + (currentUnpackr.freezeData ? 'Object.freeze' : '') +\n\t\t\t\t'({' + structure.map(key => key === '__proto__' ? '__proto_:r()' : validName.test(key) ? key + ':r()' : ('[' + JSON.stringify(key) + ']:r()')).join(',') + '})}'))(read)\n\t\t\tif (structure.highByte === 0)\n\t\t\t\tstructure.read = createSecondByteReader(firstId, structure.read)\n\t\t\treturn readObject() // second byte is already read, if there is one so immediately read object\n\t\t}\n\t\tlet object = {}\n\t\tfor (let i = 0, l = structure.length; i < l; i++) {\n\t\t\tlet key = structure[i]\n\t\t\tif (key === '__proto__')\n\t\t\t\tkey = '__proto_'\n\t\t\tobject[key] = read()\n\t\t}\n\t\tif (currentUnpackr.freezeData)\n\t\t\treturn Object.freeze(object);\n\t\treturn object\n\t}\n\treadObject.count = 0\n\tif (structure.highByte === 0) {\n\t\treturn createSecondByteReader(firstId, readObject)\n\t}\n\treturn readObject\n}\n\nconst createSecondByteReader = (firstId, read0) => {\n\treturn function() {\n\t\tlet highByte = src[position++]\n\t\tif (highByte === 0)\n\t\t\treturn read0()\n\t\tlet id = firstId < 32 ? -(firstId + (highByte << 5)) : firstId + (highByte << 5)\n\t\tlet structure = currentStructures[id] || loadStructures()[id]\n\t\tif (!structure) {\n\t\t\tthrow new Error('Record id is not defined for ' + id)\n\t\t}\n\t\tif (!structure.read)\n\t\t\tstructure.read = createStructureReader(structure, firstId)\n\t\treturn structure.read()\n\t}\n}\n\nexport function loadStructures() {\n\tlet loadedStructures = saveState(() => {\n\t\t// save the state in case getStructures modifies our buffer\n\t\tsrc = null\n\t\treturn currentUnpackr.getStructures()\n\t})\n\treturn currentStructures = currentUnpackr._mergeStructures(loadedStructures, currentStructures)\n}\n\nvar readFixedString = readStringJS\nvar readString8 = readStringJS\nvar readString16 = readStringJS\nvar readString32 = readStringJS\nexport let isNativeAccelerationEnabled = false\n\nexport function setExtractor(extractStrings) {\n\tisNativeAccelerationEnabled = true\n\treadFixedString = readString(1)\n\treadString8 = readString(2)\n\treadString16 = readString(3)\n\treadString32 = readString(5)\n\tfunction readString(headerLength) {\n\t\treturn function readString(length) {\n\t\t\tlet string = strings[stringPosition++]\n\t\t\tif (string == null) {\n\t\t\t\tif (bundledStrings)\n\t\t\t\t\treturn readStringJS(length)\n\t\t\t\tlet byteOffset = src.byteOffset\n\t\t\t\tlet extraction = extractStrings(position - headerLength + byteOffset, srcEnd + byteOffset, src.buffer)\n\t\t\t\tif (typeof extraction == 'string') {\n\t\t\t\t\tstring = extraction\n\t\t\t\t\tstrings = EMPTY_ARRAY\n\t\t\t\t} else {\n\t\t\t\t\tstrings = extraction\n\t\t\t\t\tstringPosition = 1\n\t\t\t\t\tsrcStringEnd = 1 // even if a utf-8 string was decoded, must indicate we are in the midst of extracted strings and can't skip strings\n\t\t\t\t\tstring = strings[0]\n\t\t\t\t\tif (string === undefined)\n\t\t\t\t\t\tthrow new Error('Unexpected end of buffer')\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet srcStringLength = string.length\n\t\t\tif (srcStringLength <= length) {\n\t\t\t\tposition += length\n\t\t\t\treturn string\n\t\t\t}\n\t\t\tsrcString = string\n\t\t\tsrcStringStart = position\n\t\t\tsrcStringEnd = position + srcStringLength\n\t\t\tposition += length\n\t\t\treturn string.slice(0, length) // we know we just want the beginning\n\t\t}\n\t}\n}\nfunction readStringJS(length) {\n\tlet result\n\tif (length < 16) {\n\t\tif (result = shortStringInJS(length))\n\t\t\treturn result\n\t}\n\tif (length > 64 && decoder)\n\t\treturn decoder.decode(src.subarray(position, position += length))\n\tconst end = position + length\n\tconst units = []\n\tresult = ''\n\twhile (position < end) {\n\t\tconst byte1 = src[position++]\n\t\tif ((byte1 & 0x80) === 0) {\n\t\t\t// 1 byte\n\t\t\tunits.push(byte1)\n\t\t} else if ((byte1 & 0xe0) === 0xc0) {\n\t\t\t// 2 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f\n\t\t\tunits.push(((byte1 & 0x1f) << 6) | byte2)\n\t\t} else if ((byte1 & 0xf0) === 0xe0) {\n\t\t\t// 3 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f\n\t\t\tconst byte3 = src[position++] & 0x3f\n\t\t\tunits.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3)\n\t\t} else if ((byte1 & 0xf8) === 0xf0) {\n\t\t\t// 4 bytes\n\t\t\tconst byte2 = src[position++] & 0x3f\n\t\t\tconst byte3 = src[position++] & 0x3f\n\t\t\tconst byte4 = src[position++] & 0x3f\n\t\t\tlet unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4\n\t\t\tif (unit > 0xffff) {\n\t\t\t\tunit -= 0x10000\n\t\t\t\tunits.push(((unit >>> 10) & 0x3ff) | 0xd800)\n\t\t\t\tunit = 0xdc00 | (unit & 0x3ff)\n\t\t\t}\n\t\t\tunits.push(unit)\n\t\t} else {\n\t\t\tunits.push(byte1)\n\t\t}\n\n\t\tif (units.length >= 0x1000) {\n\t\t\tresult += fromCharCode.apply(String, units)\n\t\t\tunits.length = 0\n\t\t}\n\t}\n\n\tif (units.length > 0) {\n\t\tresult += fromCharCode.apply(String, units)\n\t}\n\n\treturn result\n}\nexport function readString(source, start, length) {\n\tlet existingSrc = src;\n\tsrc = source;\n\tposition = start;\n\ttry {\n\t\treturn readStringJS(length);\n\t} finally {\n\t\tsrc = existingSrc;\n\t}\n}\n\nfunction readArray(length) {\n\tlet array = new Array(length)\n\tfor (let i = 0; i < length; i++) {\n\t\tarray[i] = read()\n\t}\n\tif (currentUnpackr.freezeData)\n\t\treturn Object.freeze(array)\n\treturn array\n}\n\nfunction readMap(length) {\n\tif (currentUnpackr.mapsAsObjects) {\n\t\tlet object = {}\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tlet key = readKey()\n\t\t\tif (key === '__proto__')\n\t\t\t\tkey = '__proto_';\n\t\t\tobject[key] = read()\n\t\t}\n\t\treturn object\n\t} else {\n\t\tlet map = new Map()\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tmap.set(read(), read())\n\t\t}\n\t\treturn map\n\t}\n}\n\nvar fromCharCode = String.fromCharCode\nfunction longStringInJS(length) {\n\tlet start = position\n\tlet bytes = new Array(length)\n\tfor (let i = 0; i < length; i++) {\n\t\tconst byte = src[position++];\n\t\tif ((byte & 0x80) > 0) {\n\t\t\t\tposition = start\n\t\t\t\treturn\n\t\t\t}\n\t\t\tbytes[i] = byte\n\t\t}\n\t\treturn fromCharCode.apply(String, bytes)\n}\nfunction shortStringInJS(length) {\n\tif (length < 4) {\n\t\tif (length < 2) {\n\t\t\tif (length === 0)\n\t\t\t\treturn ''\n\t\t\telse {\n\t\t\t\tlet a = src[position++]\n\t\t\t\tif ((a & 0x80) > 1) {\n\t\t\t\t\tposition -= 1\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a)\n\t\t\t}\n\t\t} else {\n\t\t\tlet a = src[position++]\n\t\t\tlet b = src[position++]\n\t\t\tif ((a & 0x80) > 0 || (b & 0x80) > 0) {\n\t\t\t\tposition -= 2\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (length < 3)\n\t\t\t\treturn fromCharCode(a, b)\n\t\t\tlet c = src[position++]\n\t\t\tif ((c & 0x80) > 0) {\n\t\t\t\tposition -= 3\n\t\t\t\treturn\n\t\t\t}\n\t\t\treturn fromCharCode(a, b, c)\n\t\t}\n\t} else {\n\t\tlet a = src[position++]\n\t\tlet b = src[position++]\n\t\tlet c = src[position++]\n\t\tlet d = src[position++]\n\t\tif ((a & 0x80) > 0 || (b & 0x80) > 0 || (c & 0x80) > 0 || (d & 0x80) > 0) {\n\t\t\tposition -= 4\n\t\t\treturn\n\t\t}\n\t\tif (length < 6) {\n\t\t\tif (length === 4)\n\t\t\t\treturn fromCharCode(a, b, c, d)\n\t\t\telse {\n\t\t\t\tlet e = src[position++]\n\t\t\t\tif ((e & 0x80) > 0) {\n\t\t\t\t\tposition -= 5\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a, b, c, d, e)\n\t\t\t}\n\t\t} else if (length < 8) {\n\t\t\tlet e = src[position++]\n\t\t\tlet f = src[position++]\n\t\t\tif ((e & 0x80) > 0 || (f & 0x80) > 0) {\n\t\t\t\tposition -= 6\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (length < 7)\n\t\t\t\treturn fromCharCode(a, b, c, d, e, f)\n\t\t\tlet g = src[position++]\n\t\t\tif ((g & 0x80) > 0) {\n\t\t\t\tposition -= 7\n\t\t\t\treturn\n\t\t\t}\n\t\t\treturn fromCharCode(a, b, c, d, e, f, g)\n\t\t} else {\n\t\t\tlet e = src[position++]\n\t\t\tlet f = src[position++]\n\t\t\tlet g = src[position++]\n\t\t\tlet h = src[position++]\n\t\t\tif ((e & 0x80) > 0 || (f & 0x80) > 0 || (g & 0x80) > 0 || (h & 0x80) > 0) {\n\t\t\t\tposition -= 8\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (length < 10) {\n\t\t\t\tif (length === 8)\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h)\n\t\t\t\telse {\n\t\t\t\t\tlet i = src[position++]\n\t\t\t\t\tif ((i & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 9\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i)\n\t\t\t\t}\n\t\t\t} else if (length < 12) {\n\t\t\t\tlet i = src[position++]\n\t\t\t\tlet j = src[position++]\n\t\t\t\tif ((i & 0x80) > 0 || (j & 0x80) > 0) {\n\t\t\t\t\tposition -= 10\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif (length < 11)\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j)\n\t\t\t\tlet k = src[position++]\n\t\t\t\tif ((k & 0x80) > 0) {\n\t\t\t\t\tposition -= 11\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k)\n\t\t\t} else {\n\t\t\t\tlet i = src[position++]\n\t\t\t\tlet j = src[position++]\n\t\t\t\tlet k = src[position++]\n\t\t\t\tlet l = src[position++]\n\t\t\t\tif ((i & 0x80) > 0 || (j & 0x80) > 0 || (k & 0x80) > 0 || (l & 0x80) > 0) {\n\t\t\t\t\tposition -= 12\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tif (length < 14) {\n\t\t\t\t\tif (length === 12)\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l)\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet m = src[position++]\n\t\t\t\t\t\tif ((m & 0x80) > 0) {\n\t\t\t\t\t\t\tposition -= 13\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m)\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet m = src[position++]\n\t\t\t\t\tlet n = src[position++]\n\t\t\t\t\tif ((m & 0x80) > 0 || (n & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 14\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tif (length < 15)\n\t\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n)\n\t\t\t\t\tlet o = src[position++]\n\t\t\t\t\tif ((o & 0x80) > 0) {\n\t\t\t\t\t\tposition -= 15\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\treturn fromCharCode(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction readOnlyJSString() {\n\tlet token = src[position++]\n\tlet length\n\tif (token < 0xc0) {\n\t\t// fixstr\n\t\tlength = token - 0xa0\n\t} else {\n\t\tswitch(token) {\n\t\t\tcase 0xd9:\n\t\t\t// str 8\n\t\t\t\tlength = src[position++]\n\t\t\t\tbreak\n\t\t\tcase 0xda:\n\t\t\t// str 16\n\t\t\t\tlength = dataView.getUint16(position)\n\t\t\t\tposition += 2\n\t\t\t\tbreak\n\t\t\tcase 0xdb:\n\t\t\t// str 32\n\t\t\t\tlength = dataView.getUint32(position)\n\t\t\t\tposition += 4\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Expected string')\n\t\t}\n\t}\n\treturn readStringJS(length)\n}\n\n\nfunction readBin(length) {\n\treturn currentUnpackr.copyBuffers ?\n\t\t// specifically use the copying slice (not the node one)\n\t\tUint8Array.prototype.slice.call(src, position, position += length) :\n\t\tsrc.subarray(position, position += length)\n}\nfunction readExt(length) {\n\tlet type = src[position++]\n\tif (currentExtensions[type]) {\n\t\tlet end\n\t\treturn currentExtensions[type](src.subarray(position, end = (position += length)), (readPosition) => {\n\t\t\tposition = readPosition;\n\t\t\ttry {\n\t\t\t\treturn read();\n\t\t\t} finally {\n\t\t\t\tposition = end;\n\t\t\t}\n\t\t})\n\t}\n\telse\n\t\tthrow new Error('Unknown extension type ' + type)\n}\n\nvar keyCache = new Array(4096)\nfunction readKey() {\n\tlet length = src[position++]\n\tif (length >= 0xa0 && length < 0xc0) {\n\t\t// fixstr, potentially use key cache\n\t\tlength = length - 0xa0\n\t\tif (srcStringEnd >= position) // if it has been extracted, must use it (and faster anyway)\n\t\t\treturn srcString.slice(position - srcStringStart, (position += length) - srcStringStart)\n\t\telse if (!(srcStringEnd == 0 && srcEnd < 180))\n\t\t\treturn readFixedString(length)\n\t} else { // not cacheable, go back and do a standard read\n\t\tposition--\n\t\treturn asSafeString(read())\n\t}\n\tlet key = ((length << 5) ^ (length > 1 ? dataView.getUint16(position) : length > 0 ? src[position] : 0)) & 0xfff\n\tlet entry = keyCache[key]\n\tlet checkPosition = position\n\tlet end = position + length - 3\n\tlet chunk\n\tlet i = 0\n\tif (entry && entry.bytes == length) {\n\t\twhile (checkPosition < end) {\n\t\t\tchunk = dataView.getUint32(checkPosition)\n\t\t\tif (chunk != entry[i++]) {\n\t\t\t\tcheckPosition = 0x70000000\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcheckPosition += 4\n\t\t}\n\t\tend += 3\n\t\twhile (checkPosition < end) {\n\t\t\tchunk = src[checkPosition++]\n\t\t\tif (chunk != entry[i++]) {\n\t\t\t\tcheckPosition = 0x70000000\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\tif (checkPosition === end) {\n\t\t\tposition = checkPosition\n\t\t\treturn entry.string\n\t\t}\n\t\tend -= 3\n\t\tcheckPosition = position\n\t}\n\tentry = []\n\tkeyCache[key] = entry\n\tentry.bytes = length\n\twhile (checkPosition < end) {\n\t\tchunk = dataView.getUint32(checkPosition)\n\t\tentry.push(chunk)\n\t\tcheckPosition += 4\n\t}\n\tend += 3\n\twhile (checkPosition < end) {\n\t\tchunk = src[checkPosition++]\n\t\tentry.push(chunk)\n\t}\n\t// for small blocks, avoiding the overhead of the extract call is helpful\n\tlet string = length < 16 ? shortStringInJS(length) : longStringInJS(length)\n\tif (string != null)\n\t\treturn entry.string = string\n\treturn entry.string = readFixedString(length)\n}\n\nfunction asSafeString(property) {\n\t// protect against expensive (DoS) string conversions\n\tif (typeof property === 'string') return property;\n\tif (typeof property === 'number' || typeof property === 'boolean' || typeof property === 'bigint') return property.toString();\n\tif (property == null) return property + '';\n\tthrow new Error('Invalid property type for record', typeof property);\n}\n// the registration of the record definition extension (as \"r\")\nconst recordDefinition = (id, highByte) => {\n\tlet structure = read().map(asSafeString) // ensure that all keys are strings and\n\t// that the array is mutable\n\tlet firstByte = id\n\tif (highByte !== undefined) {\n\t\tid = id < 32 ? -((highByte << 5) + id) : ((highByte << 5) + id)\n\t\tstructure.highByte = highByte\n\t}\n\tlet existingStructure = currentStructures[id]\n\t// If it is a shared structure, we need to restore any changes after reading.\n\t// Also in sequential mode, we may get incomplete reads and thus errors, and we need to restore\n\t// to the state prior to an incomplete read in order to properly resume.\n\tif (existingStructure && (existingStructure.isShared || sequentialMode)) {\n\t\t(currentStructures.restoreStructures || (currentStructures.restoreStructures = []))[id] = existingStructure\n\t}\n\tcurrentStructures[id] = structure\n\tstructure.read = createStructureReader(structure, firstByte)\n\treturn structure.read()\n}\ncurrentExtensions[0] = () => {} // notepack defines extension 0 to mean undefined, so use that as the default here\ncurrentExtensions[0].noBuffer = true\n\ncurrentExtensions[0x42] = (data) => {\n\t// decode bigint\n\tlet length = data.length;\n\tlet value = BigInt(data[0] & 0x80 ? data[0] - 0x100 : data[0]);\n\tfor (let i = 1; i < length; i++) {\n\t\tvalue <<= BigInt(8);\n\t\tvalue += BigInt(data[i]);\n\t}\n\treturn value;\n}\n\nlet errors = { Error, TypeError, ReferenceError };\ncurrentExtensions[0x65] = () => {\n\tlet data = read()\n\treturn (errors[data[0]] || Error)(data[1], { cause: data[2] })\n}\n\ncurrentExtensions[0x69] = (data) => {\n\t// id extension (for structured clones)\n\tif (currentUnpackr.structuredClone === false) throw new Error('Structured clone extension is disabled')\n\tlet id = dataView.getUint32(position - 4)\n\tif (!referenceMap)\n\t\treferenceMap = new Map()\n\tlet token = src[position]\n\tlet target\n\t// TODO: handle Maps, Sets, and other types that can cycle; this is complicated, because you potentially need to read\n\t// ahead past references to record structure definitions\n\tif (token >= 0x90 && token < 0xa0 || token == 0xdc || token == 0xdd)\n\t\ttarget = []\n\telse\n\t\ttarget = {}\n\n\tlet refEntry = { target } // a placeholder object\n\treferenceMap.set(id, refEntry)\n\tlet targetProperties = read() // read the next value as the target object to id\n\tif (refEntry.used) // there is a cycle, so we have to assign properties to original target\n\t\treturn Object.assign(target, targetProperties)\n\trefEntry.target = targetProperties // the placeholder wasn't used, replace with the deserialized one\n\treturn targetProperties // no cycle, can just use the returned read object\n}\n\ncurrentExtensions[0x70] = (data) => {\n\t// pointer extension (for structured clones)\n\tif (currentUnpackr.structuredClone === false) throw new Error('Structured clone extension is disabled')\n\tlet id = dataView.getUint32(position - 4)\n\tlet refEntry = referenceMap.get(id)\n\trefEntry.used = true\n\treturn refEntry.target\n}\n\ncurrentExtensions[0x73] = () => new Set(read())\n\nexport const typedArrays = ['Int8','Uint8','Uint8Clamped','Int16','Uint16','Int32','Uint32','Float32','Float64','BigInt64','BigUint64'].map(type => type + 'Array')\n\nlet glbl = typeof globalThis === 'object' ? globalThis : window;\ncurrentExtensions[0x74] = (data) => {\n\tlet typeCode = data[0]\n\tlet typedArrayName = typedArrays[typeCode]\n\tif (!typedArrayName) {\n\t\tif (typeCode === 16) {\n\t\t\tlet ab = new ArrayBuffer(data.length - 1)\n\t\t\tlet u8 = new Uint8Array(ab)\n\t\t\tu8.set(data.subarray(1))\n\t\t\treturn ab;\n\t\t}\n\t\tthrow new Error('Could not find typed array for code ' + typeCode)\n\t}\n\t// we have to always slice/copy here to get a new ArrayBuffer that is word/byte aligned\n\treturn new glbl[typedArrayName](Uint8Array.prototype.slice.call(data, 1).buffer)\n}\ncurrentExtensions[0x78] = () => {\n\tlet data = read()\n\treturn new RegExp(data[0], data[1])\n}\nconst TEMP_BUNDLE = []\ncurrentExtensions[0x62] = (data) => {\n\tlet dataSize = (data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3]\n\tlet dataPosition = position\n\tposition += dataSize - data.length\n\tbundledStrings = TEMP_BUNDLE\n\tbundledStrings = [readOnlyJSString(), readOnlyJSString()]\n\tbundledStrings.position0 = 0\n\tbundledStrings.position1 = 0\n\tbundledStrings.postBundlePosition = position\n\tposition = dataPosition\n\treturn read()\n}\n\ncurrentExtensions[0xff] = (data) => {\n\t// 32-bit date extension\n\tif (data.length == 4)\n\t\treturn new Date((data[0] * 0x1000000 + (data[1] << 16) + (data[2] << 8) + data[3]) * 1000)\n\telse if (data.length == 8)\n\t\treturn new Date(\n\t\t\t((data[0] << 22) + (data[1] << 14) + (data[2] << 6) + (data[3] >> 2)) / 1000000 +\n\t\t\t((data[3] & 0x3) * 0x100000000 + data[4] * 0x1000000 + (data[5] << 16) + (data[6] << 8) + data[7]) * 1000)\n\telse if (data.length == 12)// TODO: Implement support for negative\n\t\treturn new Date(\n\t\t\t((data[0] << 24) + (data[1] << 16) + (data[2] << 8) + data[3]) / 1000000 +\n\t\t\t(((data[4] & 0x80) ? -0x1000000000000 : 0) + data[6] * 0x10000000000 + data[7] * 0x100000000 + data[8] * 0x1000000 + (data[9] << 16) + (data[10] << 8) + data[11]) * 1000)\n\telse\n\t\treturn new Date('invalid')\n} // notepack defines extension 0 to mean undefined, so use that as the default here\n// registration of bulk record definition?\n// currentExtensions[0x52] = () =>\n\nfunction saveState(callback) {\n\tif (onSaveState)\n\t\tonSaveState();\n\tlet savedSrcEnd = srcEnd\n\tlet savedPosition = position\n\tlet savedStringPosition = stringPosition\n\tlet savedSrcStringStart = srcStringStart\n\tlet savedSrcStringEnd = srcStringEnd\n\tlet savedSrcString = srcString\n\tlet savedStrings = strings\n\tlet savedReferenceMap = referenceMap\n\tlet savedBundledStrings = bundledStrings\n\n\t// TODO: We may need to revisit this if we do more external calls to user code (since it could be slow)\n\tlet savedSrc = new Uint8Array(src.slice(0, srcEnd)) // we copy the data in case it changes while external data is processed\n\tlet savedStructures = currentStructures\n\tlet savedStructuresContents = currentStructures.slice(0, currentStructures.length)\n\tlet savedPackr = currentUnpackr\n\tlet savedSequentialMode = sequentialMode\n\tlet value = callback()\n\tsrcEnd = savedSrcEnd\n\tposition = savedPosition\n\tstringPosition = savedStringPosition\n\tsrcStringStart = savedSrcStringStart\n\tsrcStringEnd = savedSrcStringEnd\n\tsrcString = savedSrcString\n\tstrings = savedStrings\n\treferenceMap = savedReferenceMap\n\tbundledStrings = savedBundledStrings\n\tsrc = savedSrc\n\tsequentialMode = savedSequentialMode\n\tcurrentStructures = savedStructures\n\tcurrentStructures.splice(0, currentStructures.length, ...savedStructuresContents)\n\tcurrentUnpackr = savedPackr\n\tdataView = new DataView(src.buffer, src.byteOffset, src.byteLength)\n\treturn value\n}\nexport function clearSource() {\n\tsrc = null\n\treferenceMap = null\n\tcurrentStructures = null\n}\n\nexport function addExtension(extension) {\n\tif (extension.unpack)\n\t\tcurrentExtensions[extension.type] = extension.unpack\n\telse\n\t\tcurrentExtensions[extension.type] = extension\n}\n\nexport const mult10 = new Array(147) // this is a table matching binary exponents to the multiplier to determine significant digit rounding\nfor (let i = 0; i < 256; i++) {\n\tmult10[i] = +('1e' + Math.floor(45.15 - i * 0.30103))\n}\nexport const Decoder = Unpackr\nvar defaultUnpackr = new Unpackr({ useRecords: false })\nexport const unpack = defaultUnpackr.unpack\nexport const unpackMultiple = defaultUnpackr.unpackMultiple\nexport const decode = defaultUnpackr.unpack\nexport const FLOAT32_OPTIONS = {\n\tNEVER: 0,\n\tALWAYS: 1,\n\tDECIMAL_ROUND: 3,\n\tDECIMAL_FIT: 4\n}\nlet f32Array = new Float32Array(1)\nlet u8Array = new Uint8Array(f32Array.buffer, 0, 4)\nexport function roundFloat32(float32Number) {\n\tf32Array[0] = float32Number\n\tlet multiplier = mult10[((u8Array[3] & 0x7f) << 1) | (u8Array[2] >> 7)]\n\treturn ((multiplier * float32Number + (float32Number > 0 ? 0.5 : -0.5)) >> 0) / multiplier\n}\nexport function setReadStruct(updatedReadStruct, loadedStructs, saveState) {\n\treadStruct = updatedReadStruct;\n\tonLoadedStructures = loadedStructs;\n\tonSaveState = saveState;\n}\n"],"names":["isNativeAccelerationEnabled"],"mappings":";;;;;;CAAA,IAAI,QAAO;CACX,IAAI;CACJ,CAAC,OAAO,GAAG,IAAI,WAAW,GAAE;CAC5B,CAAC,CAAC,MAAM,KAAK,EAAE,EAAE;CACjB,IAAI,IAAG;CACP,IAAI,OAAM;CACV,IAAI,QAAQ,GAAG,EAAC;CAEhB,MAAM,WAAW,GAAG,GAAE;CACtB,IAAI,OAAO,GAAG,YAAW;CACzB,IAAI,cAAc,GAAG,EAAC;CACtB,IAAI,cAAc,GAAG,GAAE;CACvB,IAAI,kBAAiB;CACrB,IAAI,UAAS;CACb,IAAI,cAAc,GAAG,EAAC;CACtB,IAAI,YAAY,GAAG,EAAC;CACpB,IAAI,eAAc;CAClB,IAAI,aAAY;CAChB,IAAI,iBAAiB,GAAG,GAAE;CAC1B,IAAI,SAAQ;CACZ,IAAI,cAAc,GAAG;CACrB,CAAC,UAAU,EAAE,KAAK;CAClB,CAAC,aAAa,EAAE,IAAI;CACpB,EAAC;CACM,MAAM,MAAM,CAAC,EAAE;AACV,OAAC,EAAE,GAAG,IAAI,MAAM,GAAE;CAC9B,EAAE,CAAC,IAAI,GAAG,mBAAkB;CAC5B,IAAI,cAAc,GAAG,MAAK;CAC1B,IAAI,yBAAyB,GAAG,EAAC;CACjC,IAAI,UAAU,EAAE,kBAAkB,EAAE,YAAW;CAC/C,IAAI,gBAAe;CACnB;CACA,IAAI;CACJ,CAAC,IAAI,iBAAS,EAAE,EAAC;CACjB,CAAC,CAAC,MAAM,KAAK,EAAE;CACf;CACA,CAAC,yBAAyB,GAAG,SAAQ;CACrC,CAAC;AACD;CACO,MAAM,OAAO,CAAC;CACrB,CAAC,WAAW,CAAC,OAAO,EAAE;CACtB,EAAE,IAAI,OAAO,EAAE;CACf,GAAG,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;CAC1E,IAAI,OAAO,CAAC,aAAa,GAAG,KAAI;CAChC,GAAG,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;CACxD,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;CAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,KAAK,EAAE;CAC5D,KAAK,OAAO,CAAC,UAAU,GAAG,GAAE;CAC5B,KAAK,IAAI,CAAC,OAAO,CAAC,mBAAmB;CACrC,MAAM,OAAO,CAAC,mBAAmB,GAAG,EAAC;CACrC,KAAK;CACL,IAAI;CACJ,GAAG,IAAI,OAAO,CAAC,UAAU;CACzB,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAM;CAC/D,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE;CACnC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,EAAE,aAAa,GAAG,KAAI;CAClD,IAAI,OAAO,CAAC,UAAU,CAAC,YAAY,GAAG,EAAC;CACvC,IAAI;CACJ,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE;CAC9B,IAAI,OAAO,CAAC,WAAW,GAAG,SAAQ;CAClC,IAAI;CACJ,GAAG;CACH,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAC;CAC9B,EAAE;CACF,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;CACzB,EAAE,IAAI,GAAG,EAAE;CACX;CACA,GAAG,OAAO,SAAS,CAAC,MAAM;CAC1B,IAAI,WAAW,GAAE;CACjB,IAAI,OAAO,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC;CAC/G,IAAI,CAAC;CACL,GAAG;CACH,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW;CAC1D,GAAG,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;CACzF,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;CACnC,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,OAAM;CACxC,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,EAAC;CAChC,GAAG,MAAM;CACT,GAAG,QAAQ,GAAG,EAAC;CACf,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC,OAAM;CAClD,GAAG;CACH,EAAE,cAAc,GAAG,EAAC;CACpB,EAAE,YAAY,GAAG,EAAC;CAClB,EAAE,SAAS,GAAG,KAAI;CAClB,EAAE,OAAO,GAAG,YAAW;CACvB,EAAE,cAAc,GAAG,KAAI;CACvB,EAAE,GAAG,GAAG,OAAM;CACd;CACA;CACA;CACA,EAAE,IAAI;CACN,GAAG,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAC;CACtH,GAAG,CAAC,MAAM,KAAK,EAAE;CACjB;CACA,GAAG,GAAG,GAAG,KAAI;CACb,GAAG,IAAI,MAAM,YAAY,UAAU;CACnC,IAAI,MAAM,KAAK;CACf,GAAG,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,MAAM,CAAC,CAAC;CAC1J,GAAG;CACH,EAAE,IAAI,IAAI,YAAY,OAAO,EAAE;CAC/B,GAAG,cAAc,GAAG,KAAI;CACxB,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;CACxB,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAU;CACvC,IAAI,OAAO,WAAW,CAAC,OAAO,CAAC;CAC/B,IAAI,MAAM,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;CAClE,IAAI,iBAAiB,GAAG,GAAE;CAC1B,IAAI;CACJ,GAAG,MAAM;CACT,GAAG,cAAc,GAAG,eAAc;CAClC,GAAG,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;CACzD,IAAI,iBAAiB,GAAG,GAAE;CAC1B,GAAG;CACH,EAAE,OAAO,WAAW,CAAC,OAAO,CAAC;CAC7B,EAAE;CACF,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE;CACjC,EAAE,IAAI,MAAM,EAAE,YAAY,GAAG,EAAC;CAC9B,EAAE,IAAI;CACN,GAAG,cAAc,GAAG,KAAI;CACxB,GAAG,IAAI,IAAI,GAAG,MAAM,CAAC,OAAM;CAC3B,GAAG,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAC;CACrF,GAAG,IAAI,OAAO,EAAE;CAChB,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,KAAK,EAAE,OAAO;CACjE,IAAI,MAAM,QAAQ,GAAG,IAAI,EAAE;CAC3B,KAAK,YAAY,GAAG,SAAQ;CAC5B,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,KAAK,EAAE;CACnE,MAAM,MAAM;CACZ,MAAM;CACN,KAAK;CACL,IAAI;CACJ,QAAQ;CACR,IAAI,MAAM,GAAG,EAAE,KAAK,GAAE;CACtB,IAAI,MAAM,QAAQ,GAAG,IAAI,EAAE;CAC3B,KAAK,YAAY,GAAG,SAAQ;CAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAC;CAC/B,KAAK;CACL,IAAI,OAAO,MAAM;CACjB,IAAI;CACJ,GAAG,CAAC,MAAM,KAAK,EAAE;CACjB,GAAG,KAAK,CAAC,YAAY,GAAG,aAAY;CACpC,GAAG,KAAK,CAAC,MAAM,GAAG,OAAM;CACxB,GAAG,MAAM,KAAK;CACd,GAAG,SAAS;CACZ,GAAG,cAAc,GAAG,MAAK;CACzB,GAAG,WAAW,GAAE;CAChB,GAAG;CACH,EAAE;CACF,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,kBAAkB,EAAE;CACxD,EAAE,IAAI,kBAAkB;CACxB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;CACtE,EAAE,gBAAgB,GAAG,gBAAgB,IAAI,GAAE;CAC3C,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;CACvC,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC;CAC3E,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;CAC3D,GAAG,IAAI,SAAS,GAAG,gBAAgB,CAAC,CAAC,EAAC;CACtC,GAAG,IAAI,SAAS,EAAE;CAClB,IAAI,SAAS,CAAC,QAAQ,GAAG,KAAI;CAC7B,IAAI,IAAI,CAAC,IAAI,EAAE;CACf,KAAK,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC;CACvC,IAAI;CACJ,GAAG;CACH,EAAE,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC,OAAM;CACzD,EAAE,KAAK,IAAI,EAAE,IAAI,kBAAkB,IAAI,EAAE,EAAE;CAC3C,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;CAChB,IAAI,IAAI,SAAS,GAAG,gBAAgB,CAAC,EAAE,EAAC;CACxC,IAAI,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,EAAC;CACzC,IAAI,IAAI,QAAQ,EAAE;CAClB,KAAK,IAAI,SAAS;CAClB,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,KAAK,gBAAgB,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,UAAS;CACvG,KAAK,gBAAgB,CAAC,EAAE,CAAC,GAAG,SAAQ;CACpC,KAAK;CACL,IAAI;CACJ,GAAG;CACH,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,gBAAgB;CAC3C,EAAE;CACF,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE;CACzB,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACrC,EAAE;CACF,CAAC;CACM,SAAS,WAAW,GAAG;CAC9B,CAAC,OAAO,QAAQ;CAChB,CAAC;CACM,SAAS,WAAW,CAAC,OAAO,EAAE;CACrC,CAAC,IAAI;CACL,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE;CAClD,GAAG,IAAI,YAAY,GAAG,iBAAiB,CAAC,YAAY,IAAI,EAAC;CACzD,GAAG,IAAI,YAAY,GAAG,iBAAiB,CAAC,MAAM;CAC9C,IAAI,iBAAiB,CAAC,MAAM,GAAG,aAAY;CAC3C,GAAG;CACH,EAAE,IAAI,OAAM;CACZ,EAAE,IAAI,cAAc,CAAC,qBAAqB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,UAAU,EAAE;CAC3G,GAAG,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAC;CAC7D,GAAG,GAAG,GAAG,KAAI;CACb,GAAG,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM;CAC3C,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,GAAE;CAC5B,GAAG,QAAQ,GAAG,OAAM;CACpB,GAAG;CACH,GAAG,MAAM,GAAG,IAAI,GAAE;CAClB,EAAE,IAAI,cAAc,EAAE;CACtB,GAAG,QAAQ,GAAG,cAAc,CAAC,mBAAkB;CAC/C,GAAG,cAAc,GAAG,KAAI;CACxB,GAAG;CACH,EAAE,IAAI,cAAc;CACpB;CACA;CACA,GAAG,iBAAiB,CAAC,iBAAiB,GAAG,KAAI;AAC7C;CACA,EAAE,IAAI,QAAQ,IAAI,MAAM,EAAE;CAC1B;CACA,GAAG,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,iBAAiB;CAC/D,IAAI,iBAAiB,GAAE;CACvB,GAAG,iBAAiB,GAAG,KAAI;CAC3B,GAAG,GAAG,GAAG,KAAI;CACb,GAAG,IAAI,YAAY;CACnB,IAAI,YAAY,GAAG,KAAI;CACvB,GAAG,MAAM,IAAI,QAAQ,GAAG,MAAM,EAAE;CAChC;CACA,GAAG,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC;CACxD,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE;CAC9B,GAAG,IAAI,QAAQ,CAAC;CAChB,GAAG,IAAI;CACP,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAC;CAClH,IAAI,CAAC,MAAM,KAAK,EAAE;CAClB,IAAI,QAAQ,GAAG,2BAA2B,GAAG,KAAK,GAAG,IAAG;CACxD,IAAI;CACJ,GAAG,MAAM,IAAI,KAAK,CAAC,2CAA2C,GAAG,QAAQ,CAAC;CAC1E,GAAG;CACH;CACA,EAAE,OAAO,MAAM;CACf,EAAE,CAAC,MAAM,KAAK,EAAE;CAChB,EAAE,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,iBAAiB;CAC9D,GAAG,iBAAiB,GAAE;CACtB,EAAE,WAAW,GAAE;CACf,EAAE,IAAI,KAAK,YAAY,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,IAAI,QAAQ,GAAG,MAAM,EAAE;CAChH,GAAG,KAAK,CAAC,UAAU,GAAG,KAAI;CAC1B,GAAG;CACH,EAAE,MAAM,KAAK;CACb,EAAE;CACF,CAAC;AACD;CACA,SAAS,iBAAiB,GAAG;CAC7B,CAAC,KAAK,IAAI,EAAE,IAAI,iBAAiB,CAAC,iBAAiB,EAAE;CACrD,EAAE,iBAAiB,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,EAAC;CACjE,EAAE;CACF,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAI;CAC3C,CAAC;AACD;CACO,SAAS,IAAI,GAAG;CACvB,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC5B,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE;CACnB,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE;CACpB,GAAG,IAAI,KAAK,GAAG,IAAI;CACnB,IAAI,OAAO,KAAK;CAChB,QAAQ;CACR,IAAI,IAAI,SAAS,GAAG,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC;CACnD,KAAK,cAAc,CAAC,aAAa,IAAI,cAAc,EAAE,CAAC,KAAK,GAAG,IAAI,EAAC;CACnE,IAAI,IAAI,SAAS,EAAE;CACnB,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;CAC1B,MAAM,SAAS,CAAC,IAAI,GAAG,qBAAqB,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,EAAC;CACrE,MAAM;CACN,KAAK,OAAO,SAAS,CAAC,IAAI,EAAE;CAC5B,KAAK;CACL,KAAK,OAAO,KAAK;CACjB,IAAI;CACJ,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE;CAC3B;CACA,GAAG,KAAK,IAAI,KAAI;CAChB,GAAG,IAAI,cAAc,CAAC,aAAa,EAAE;CACrC,IAAI,IAAI,MAAM,GAAG,GAAE;CACnB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;CACpC,KAAK,IAAI,GAAG,GAAG,OAAO,GAAE;CACxB,KAAK,IAAI,GAAG,KAAK,WAAW;CAC5B,MAAM,GAAG,GAAG,WAAU;CACtB,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAE;CACzB,KAAK;CACL,IAAI,OAAO,MAAM;CACjB,IAAI,MAAM;CACV,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAE;CACvB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;CACpC,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAC;CAC5B,KAAK;CACL,IAAI,OAAO,GAAG;CACd,IAAI;CACJ,GAAG,MAAM;CACT,GAAG,KAAK,IAAI,KAAI;CAChB,GAAG,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAC;CAC/B,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;CACnC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAE;CACrB,IAAI;CACJ,GAAG,IAAI,cAAc,CAAC,UAAU;CAChC,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;CAC/B,GAAG,OAAO,KAAK;CACf,GAAG;CACH,EAAE,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE;CAC1B;CACA,EAAE,IAAI,MAAM,GAAG,KAAK,GAAG,KAAI;CAC3B,EAAE,IAAI,YAAY,IAAI,QAAQ,EAAE;CAChC,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC,QAAQ,IAAI,MAAM,IAAI,cAAc,CAAC;CAC3F,GAAG;CACH,EAAE,IAAI,YAAY,IAAI,CAAC,IAAI,MAAM,GAAG,GAAG,EAAE;CACzC;CACA,GAAG,IAAI,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,EAAC;CAC9E,GAAG,IAAI,MAAM,IAAI,IAAI;CACrB,IAAI,OAAO,MAAM;CACjB,GAAG;CACH,EAAE,OAAO,eAAe,CAAC,MAAM,CAAC;CAChC,EAAE,MAAM;CACR,EAAE,IAAI,MAAK;CACX,EAAE,QAAQ,KAAK;CACf,GAAG,KAAK,IAAI,EAAE,OAAO,IAAI;CACzB,GAAG,KAAK,IAAI;CACZ,IAAI,IAAI,cAAc,EAAE;CACxB,KAAK,KAAK,GAAG,IAAI,GAAE;CACnB,KAAK,IAAI,KAAK,GAAG,CAAC;CAClB,MAAM,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,IAAI,KAAK,CAAC;CACjG;CACA,MAAM,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,IAAI,KAAK,CAAC;CACjG,KAAK;CACL,IAAI,OAAO,EAAE,CAAC;CACd,GAAG,KAAK,IAAI,EAAE,OAAO,KAAK;CAC1B,GAAG,KAAK,IAAI,EAAE,OAAO,IAAI;CACzB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,KAAK,KAAK,SAAS;CAC3B,KAAK,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;CAChD,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC;CACzB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC;CACzB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC;CACzB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;CACnC,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC;CACzB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC;CACzB,GAAG,KAAK,IAAI;CACZ,IAAI,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAC;CACzC,IAAI,IAAI,cAAc,CAAC,UAAU,GAAG,CAAC,EAAE;CACvC;CACA,KAAK,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC;CACtF,KAAK,QAAQ,IAAI,EAAC;CAClB,KAAK,OAAO,CAAC,CAAC,UAAU,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU;CAC/E,KAAK;CACL,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,KAAK;CAChB,GAAG,KAAK,IAAI;CACZ,IAAI,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAC;CACzC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,KAAK;CAChB;CACA,GAAG,KAAK,IAAI;CACZ,IAAI,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;CAC1B,GAAG,KAAK,IAAI;CACZ,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,KAAK;CAChB,GAAG,KAAK,IAAI;CACZ,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,KAAK;CAChB,GAAG,KAAK,IAAI;CACZ,IAAI,IAAI,cAAc,CAAC,WAAW,KAAK,QAAQ,EAAE;CACjD,KAAK,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,YAAW;CACvD,KAAK,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAC;CAC9C,KAAK,MAAM,IAAI,cAAc,CAAC,WAAW,KAAK,QAAQ,EAAE;CACxD,KAAK,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAE;CACvD,KAAK,MAAM,IAAI,cAAc,CAAC,WAAW,KAAK,MAAM,EAAE;CACtD,KAAK,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAC;CAC5C,KAAK,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAC;CAC1D,KAAK;CACL,KAAK,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,EAAC;CAC5C,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,KAAK;AAChB;CACA;CACA,GAAG,KAAK,IAAI;CACZ,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;CACvC,GAAG,KAAK,IAAI;CACZ,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAC;CACvC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,KAAK;CAChB,GAAG,KAAK,IAAI;CACZ,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAC;CACvC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,KAAK;CAChB,GAAG,KAAK,IAAI;CACZ,IAAI,IAAI,cAAc,CAAC,WAAW,KAAK,QAAQ,EAAE;CACjD,KAAK,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAW;CACtD,KAAK,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAC;CAC9C,KAAK,MAAM,IAAI,cAAc,CAAC,WAAW,KAAK,QAAQ,EAAE;CACxD,KAAK,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAE;CACtD,KAAK,MAAM,IAAI,cAAc,CAAC,WAAW,KAAK,MAAM,EAAE;CACtD,KAAK,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAC;CAC3C,KAAK,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAC;CACzF,KAAK;CACL,KAAK,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAC;CAC3C,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,KAAK;AAChB;CACA,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;CACvB,KAAK,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;CACpD,KAAK,MAAM;CACX,KAAK,IAAI,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAC;CAC7C,KAAK,IAAI,SAAS,EAAE;CACpB,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE;CAC1B,OAAO,QAAQ,GAAE;CACjB,OAAO,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;CACpC,OAAO,MAAM,IAAI,SAAS,CAAC,QAAQ,EAAE;CACrC,OAAO,QAAQ,GAAE;CACjB,OAAO,OAAO,SAAS,EAAE;CACzB,OAAO;CACP,OAAO,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;CAC3D,MAAM;CACN,MAAM,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC;CACnD,KAAK;CACL,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAC;CACzB,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE;CACvB,KAAK,QAAQ,GAAE;CACf,KAAK,OAAO,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;CACrE,KAAK;CACL,KAAK,OAAO,OAAO,CAAC,CAAC,CAAC;CACtB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC;CACrB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC;CACrB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,OAAO,OAAO,CAAC,EAAE,CAAC;CACtB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,YAAY,IAAI,QAAQ,EAAE;CAClC,KAAK,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC,QAAQ,IAAI,KAAK,IAAI,cAAc,CAAC;CAC5F,KAAK;CACL,IAAI,OAAO,WAAW,CAAC,KAAK,CAAC;CAC7B,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,IAAI,YAAY,IAAI,QAAQ,EAAE;CAClC,KAAK,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC,QAAQ,IAAI,KAAK,IAAI,cAAc,CAAC;CAC5F,KAAK;CACL,IAAI,OAAO,YAAY,CAAC,KAAK,CAAC;CAC9B,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,IAAI,YAAY,IAAI,QAAQ,EAAE;CAClC,KAAK,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC,QAAQ,IAAI,KAAK,IAAI,cAAc,CAAC;CAC5F,KAAK;CACL,IAAI,OAAO,YAAY,CAAC,KAAK,CAAC;CAC9B,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC;CAC3B,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC;CAC3B,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC;CACzB,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACxC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC;CACzB,GAAG;CACH,IAAI,IAAI,KAAK,IAAI,IAAI;CACrB,KAAK,OAAO,KAAK,GAAG,KAAK;CACzB,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;CAC7B,KAAK,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,oCAAoC,EAAC;CAChE,KAAK,KAAK,CAAC,UAAU,GAAG,KAAI;CAC5B,KAAK,MAAM,KAAK;CAChB,KAAK;CACL,IAAI,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,KAAK,CAAC;AACzD;CACA,GAAG;CACH,EAAE;CACF,CAAC;CACD,MAAM,SAAS,GAAG,4BAA2B;CAC7C,SAAS,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE;CACnD,CAAC,SAAS,UAAU,GAAG;CACvB;CACA,EAAE,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,yBAAyB,EAAE;CACtD,GAAG,IAAI,UAAU,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,eAAQ,EAAC,GAAG,EAAE,2BAA2B,IAAI,cAAc,CAAC,UAAU,GAAG,eAAe,GAAG,EAAE,CAAC;CACxI,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAC;CAC5K,GAAG,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC;CAC/B,IAAI,SAAS,CAAC,IAAI,GAAG,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAC;CACpE,GAAG,OAAO,UAAU,EAAE;CACtB,GAAG;CACH,EAAE,IAAI,MAAM,GAAG,GAAE;CACjB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;CACpD,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,EAAC;CACzB,GAAG,IAAI,GAAG,KAAK,WAAW;CAC1B,IAAI,GAAG,GAAG,WAAU;CACpB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAE;CACvB,GAAG;CACH,EAAE,IAAI,cAAc,CAAC,UAAU;CAC/B,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CAChC,EAAE,OAAO,MAAM;CACf,EAAE;CACF,CAAC,UAAU,CAAC,KAAK,GAAG,EAAC;CACrB,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE;CAC/B,EAAE,OAAO,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC;CACpD,EAAE;CACF,CAAC,OAAO,UAAU;CAClB,CAAC;AACD;CACA,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK;CACnD,CAAC,OAAO,WAAW;CACnB,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAChC,EAAE,IAAI,QAAQ,KAAK,CAAC;CACpB,GAAG,OAAO,KAAK,EAAE;CACjB,EAAE,IAAI,EAAE,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,IAAI,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,IAAI,CAAC,EAAC;CAClF,EAAE,IAAI,SAAS,GAAG,iBAAiB,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAC;CAC/D,EAAE,IAAI,CAAC,SAAS,EAAE;CAClB,GAAG,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC;CACxD,GAAG;CACH,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;CACrB,GAAG,SAAS,CAAC,IAAI,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAC;CAC7D,EAAE,OAAO,SAAS,CAAC,IAAI,EAAE;CACzB,EAAE;CACF,EAAC;AACD;CACO,SAAS,cAAc,GAAG;CACjC,CAAC,IAAI,gBAAgB,GAAG,SAAS,CAAC,MAAM;CACxC;CACA,EAAE,GAAG,GAAG,KAAI;CACZ,EAAE,OAAO,cAAc,CAAC,aAAa,EAAE;CACvC,EAAE,EAAC;CACH,CAAC,OAAO,iBAAiB,GAAG,cAAc,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;CAChG,CAAC;AACD;CACA,IAAI,eAAe,GAAG,aAAY;CAClC,IAAI,WAAW,GAAG,aAAY;CAC9B,IAAI,YAAY,GAAG,aAAY;CAC/B,IAAI,YAAY,GAAG,aAAY;AACpBA,oCAA2B,GAAG,MAAK;AAC9C;CACO,SAAS,YAAY,CAAC,cAAc,EAAE;CAC7C,CAACA,mCAA2B,GAAG,KAAI;CACnC,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC,EAAC;CAChC,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC,EAAC;CAC5B,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,EAAC;CAC7B,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,EAAC;CAC7B,CAAC,SAAS,UAAU,CAAC,YAAY,EAAE;CACnC,EAAE,OAAO,SAAS,UAAU,CAAC,MAAM,EAAE;CACrC,GAAG,IAAI,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,EAAC;CACzC,GAAG,IAAI,MAAM,IAAI,IAAI,EAAE;CACvB,IAAI,IAAI,cAAc;CACtB,KAAK,OAAO,YAAY,CAAC,MAAM,CAAC;CAChC,IAAI,IAAI,UAAU,GAAG,GAAG,CAAC,WAAU;CACnC,IAAI,IAAI,UAAU,GAAG,cAAc,CAAC,QAAQ,GAAG,YAAY,GAAG,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,EAAC;CAC1G,IAAI,IAAI,OAAO,UAAU,IAAI,QAAQ,EAAE;CACvC,KAAK,MAAM,GAAG,WAAU;CACxB,KAAK,OAAO,GAAG,YAAW;CAC1B,KAAK,MAAM;CACX,KAAK,OAAO,GAAG,WAAU;CACzB,KAAK,cAAc,GAAG,EAAC;CACvB,KAAK,YAAY,GAAG,EAAC;CACrB,KAAK,MAAM,GAAG,OAAO,CAAC,CAAC,EAAC;CACxB,KAAK,IAAI,MAAM,KAAK,SAAS;CAC7B,MAAM,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC;CACjD,KAAK;CACL,IAAI;CACJ,GAAG,IAAI,eAAe,GAAG,MAAM,CAAC,OAAM;CACtC,GAAG,IAAI,eAAe,IAAI,MAAM,EAAE;CAClC,IAAI,QAAQ,IAAI,OAAM;CACtB,IAAI,OAAO,MAAM;CACjB,IAAI;CACJ,GAAG,SAAS,GAAG,OAAM;CACrB,GAAG,cAAc,GAAG,SAAQ;CAC5B,GAAG,YAAY,GAAG,QAAQ,GAAG,gBAAe;CAC5C,GAAG,QAAQ,IAAI,OAAM;CACrB,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG;CACH,EAAE;CACF,CAAC;CACD,SAAS,YAAY,CAAC,MAAM,EAAE;CAC9B,CAAC,IAAI,OAAM;CACX,CAAC,IAAI,MAAM,GAAG,EAAE,EAAE;CAClB,EAAE,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;CACtC,GAAG,OAAO,MAAM;CAChB,EAAE;CACF,CAAC,IAAI,MAAM,GAAG,EAAE,IAAI,OAAO;CAC3B,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC;CACnE,CAAC,MAAM,GAAG,GAAG,QAAQ,GAAG,OAAM;CAC9B,CAAC,MAAM,KAAK,GAAG,GAAE;CACjB,CAAC,MAAM,GAAG,GAAE;CACZ,CAAC,OAAO,QAAQ,GAAG,GAAG,EAAE;CACxB,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC/B,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,EAAE;CAC5B;CACA,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC;CACpB,GAAG,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,IAAI,EAAE;CACtC;CACA,GAAG,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAI;CACvC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,EAAC;CAC5C,GAAG,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,IAAI,EAAE;CACtC;CACA,GAAG,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAI;CACvC,GAAG,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAI;CACvC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,EAAC;CAC5D,GAAG,MAAM,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,IAAI,EAAE;CACtC;CACA,GAAG,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAI;CACvC,GAAG,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAI;CACvC,GAAG,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAI;CACvC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,MAAK;CAClF,GAAG,IAAI,IAAI,GAAG,MAAM,EAAE;CACtB,IAAI,IAAI,IAAI,QAAO;CACnB,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,IAAI,MAAM,EAAC;CAChD,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,KAAK,EAAC;CAClC,IAAI;CACJ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAC;CACnB,GAAG,MAAM;CACT,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC;CACpB,GAAG;AACH;CACA,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE;CAC9B,GAAG,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAC;CAC9C,GAAG,KAAK,CAAC,MAAM,GAAG,EAAC;CACnB,GAAG;CACH,EAAE;AACF;CACA,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;CACvB,EAAE,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAC;CAC7C,EAAE;AACF;CACA,CAAC,OAAO,MAAM;CACd,CAAC;CACM,SAAS,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CAClD,CAAC,IAAI,WAAW,GAAG,GAAG,CAAC;CACvB,CAAC,GAAG,GAAG,MAAM,CAAC;CACd,CAAC,QAAQ,GAAG,KAAK,CAAC;CAClB,CAAC,IAAI;CACL,EAAE,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;CAC9B,EAAE,SAAS;CACX,EAAE,GAAG,GAAG,WAAW,CAAC;CACpB,EAAE;CACF,CAAC;AACD;CACA,SAAS,SAAS,CAAC,MAAM,EAAE;CAC3B,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAC;CAC9B,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;CAClC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAE;CACnB,EAAE;CACF,CAAC,IAAI,cAAc,CAAC,UAAU;CAC9B,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;CAC7B,CAAC,OAAO,KAAK;CACb,CAAC;AACD;CACA,SAAS,OAAO,CAAC,MAAM,EAAE;CACzB,CAAC,IAAI,cAAc,CAAC,aAAa,EAAE;CACnC,EAAE,IAAI,MAAM,GAAG,GAAE;CACjB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;CACnC,GAAG,IAAI,GAAG,GAAG,OAAO,GAAE;CACtB,GAAG,IAAI,GAAG,KAAK,WAAW;CAC1B,IAAI,GAAG,GAAG,UAAU,CAAC;CACrB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,GAAE;CACvB,GAAG;CACH,EAAE,OAAO,MAAM;CACf,EAAE,MAAM;CACR,EAAE,IAAI,GAAG,GAAG,IAAI,GAAG,GAAE;CACrB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;CACnC,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAC;CAC1B,GAAG;CACH,EAAE,OAAO,GAAG;CACZ,EAAE;CACF,CAAC;AACD;CACA,IAAI,YAAY,GAAG,MAAM,CAAC,aAAY;CACtC,SAAS,cAAc,CAAC,MAAM,EAAE;CAChC,CAAC,IAAI,KAAK,GAAG,SAAQ;CACrB,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAC;CAC9B,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;CAClC,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;CAC/B,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE;CACzB,IAAI,QAAQ,GAAG,MAAK;CACpB,IAAI,MAAM;CACV,IAAI;CACJ,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAI;CAClB,GAAG;CACH,EAAE,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;CAC1C,CAAC;CACD,SAAS,eAAe,CAAC,MAAM,EAAE;CACjC,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;CACjB,EAAE,IAAI,MAAM,GAAG,CAAC,EAAE;CAClB,GAAG,IAAI,MAAM,KAAK,CAAC;CACnB,IAAI,OAAO,EAAE;CACb,QAAQ;CACR,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACxB,KAAK,QAAQ,IAAI,EAAC;CAClB,KAAK,MAAM;CACX,KAAK;CACL,IAAI,OAAO,YAAY,CAAC,CAAC,CAAC;CAC1B,IAAI;CACJ,GAAG,MAAM;CACT,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACzC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,MAAM;CACV,IAAI;CACJ,GAAG,IAAI,MAAM,GAAG,CAAC;CACjB,IAAI,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CAC7B,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACvB,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,MAAM;CACV,IAAI;CACJ,GAAG,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAC/B,GAAG;CACH,EAAE,MAAM;CACR,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CACzB,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CACzB,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CACzB,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CACzB,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CAC5E,GAAG,QAAQ,IAAI,EAAC;CAChB,GAAG,MAAM;CACT,GAAG;CACH,EAAE,IAAI,MAAM,GAAG,CAAC,EAAE;CAClB,GAAG,IAAI,MAAM,KAAK,CAAC;CACnB,IAAI,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACnC,QAAQ;CACR,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACxB,KAAK,QAAQ,IAAI,EAAC;CAClB,KAAK,MAAM;CACX,KAAK;CACL,IAAI,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACtC,IAAI;CACJ,GAAG,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE;CACzB,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACzC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,MAAM;CACV,IAAI;CACJ,GAAG,IAAI,MAAM,GAAG,CAAC;CACjB,IAAI,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACzC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACvB,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,MAAM;CACV,IAAI;CACJ,GAAG,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAC3C,GAAG,MAAM;CACT,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC1B,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CAC7E,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,MAAM;CACV,IAAI;CACJ,GAAG,IAAI,MAAM,GAAG,EAAE,EAAE;CACpB,IAAI,IAAI,MAAM,KAAK,CAAC;CACpB,KAAK,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAChD,SAAS;CACT,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC5B,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACzB,MAAM,QAAQ,IAAI,EAAC;CACnB,MAAM,MAAM;CACZ,MAAM;CACN,KAAK,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACnD,KAAK;CACL,IAAI,MAAM,IAAI,MAAM,GAAG,EAAE,EAAE;CAC3B,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CAC1C,KAAK,QAAQ,IAAI,GAAE;CACnB,KAAK,MAAM;CACX,KAAK;CACL,IAAI,IAAI,MAAM,GAAG,EAAE;CACnB,KAAK,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACtD,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACxB,KAAK,QAAQ,IAAI,GAAE;CACnB,KAAK,MAAM;CACX,KAAK;CACL,IAAI,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACxD,IAAI,MAAM;CACV,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CAC9E,KAAK,QAAQ,IAAI,GAAE;CACnB,KAAK,MAAM;CACX,KAAK;CACL,IAAI,IAAI,MAAM,GAAG,EAAE,EAAE;CACrB,KAAK,IAAI,MAAM,KAAK,EAAE;CACtB,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAC7D,UAAU;CACV,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC7B,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CAC1B,OAAO,QAAQ,IAAI,GAAE;CACrB,OAAO,MAAM;CACb,OAAO;CACP,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAChE,MAAM;CACN,KAAK,MAAM;CACX,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC5B,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC5B,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CAC3C,MAAM,QAAQ,IAAI,GAAE;CACpB,MAAM,MAAM;CACZ,MAAM;CACN,KAAK,IAAI,MAAM,GAAG,EAAE;CACpB,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACnE,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC5B,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE;CACzB,MAAM,QAAQ,IAAI,GAAE;CACpB,MAAM,MAAM;CACZ,MAAM;CACN,KAAK,OAAO,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACrE,KAAK;CACL,IAAI;CACJ,GAAG;CACH,EAAE;CACF,CAAC;AACD;CACA,SAAS,gBAAgB,GAAG;CAC5B,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC5B,CAAC,IAAI,OAAM;CACX,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE;CACnB;CACA,EAAE,MAAM,GAAG,KAAK,GAAG,KAAI;CACvB,EAAE,MAAM;CACR,EAAE,OAAO,KAAK;CACd,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC5B,IAAI,KAAK;CACT,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACzC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,KAAK;CACT,GAAG,KAAK,IAAI;CACZ;CACA,IAAI,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAC;CACzC,IAAI,QAAQ,IAAI,EAAC;CACjB,IAAI,KAAK;CACT,GAAG;CACH,IAAI,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC;CACtC,GAAG;CACH,EAAE;CACF,CAAC,OAAO,YAAY,CAAC,MAAM,CAAC;CAC5B,CAAC;AACD;AACA;CACA,SAAS,OAAO,CAAC,MAAM,EAAE;CACzB,CAAC,OAAO,cAAc,CAAC,WAAW;CAClC;CACA,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC;CACpE,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,IAAI,MAAM,CAAC;CAC5C,CAAC;CACD,SAAS,OAAO,CAAC,MAAM,EAAE;CACzB,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC3B,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;CAC9B,EAAE,IAAI,IAAG;CACT,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,IAAI,QAAQ,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,YAAY,KAAK;CACvG,GAAG,QAAQ,GAAG,YAAY,CAAC;CAC3B,GAAG,IAAI;CACP,IAAI,OAAO,IAAI,EAAE,CAAC;CAClB,IAAI,SAAS;CACb,IAAI,QAAQ,GAAG,GAAG,CAAC;CACnB,IAAI;CACJ,GAAG,CAAC;CACJ,EAAE;CACF;CACA,EAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,IAAI,CAAC;CACnD,CAAC;AACD;CACA,IAAI,QAAQ,GAAG,IAAI,KAAK,CAAC,IAAI,EAAC;CAC9B,SAAS,OAAO,GAAG;CACnB,CAAC,IAAI,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC;CAC7B,CAAC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,GAAG,IAAI,EAAE;CACtC;CACA,EAAE,MAAM,GAAG,MAAM,GAAG,KAAI;CACxB,EAAE,IAAI,YAAY,IAAI,QAAQ;CAC9B,GAAG,OAAO,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC,QAAQ,IAAI,MAAM,IAAI,cAAc,CAAC;CAC3F,OAAO,IAAI,EAAE,YAAY,IAAI,CAAC,IAAI,MAAM,GAAG,GAAG,CAAC;CAC/C,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC;CACjC,EAAE,MAAM;CACR,EAAE,QAAQ,GAAE;CACZ,EAAE,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;CAC7B,EAAE;CACF,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,MAAK;CACjH,CAAC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAC;CAC1B,CAAC,IAAI,aAAa,GAAG,SAAQ;CAC7B,CAAC,IAAI,GAAG,GAAG,QAAQ,GAAG,MAAM,GAAG,EAAC;CAChC,CAAC,IAAI,MAAK;CACV,CAAC,IAAI,CAAC,GAAG,EAAC;CACV,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,EAAE;CACrC,EAAE,OAAO,aAAa,GAAG,GAAG,EAAE;CAC9B,GAAG,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAC;CAC5C,GAAG,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;CAC5B,IAAI,aAAa,GAAG,WAAU;CAC9B,IAAI,KAAK;CACT,IAAI;CACJ,GAAG,aAAa,IAAI,EAAC;CACrB,GAAG;CACH,EAAE,GAAG,IAAI,EAAC;CACV,EAAE,OAAO,aAAa,GAAG,GAAG,EAAE;CAC9B,GAAG,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,EAAC;CAC/B,GAAG,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;CAC5B,IAAI,aAAa,GAAG,WAAU;CAC9B,IAAI,KAAK;CACT,IAAI;CACJ,GAAG;CACH,EAAE,IAAI,aAAa,KAAK,GAAG,EAAE;CAC7B,GAAG,QAAQ,GAAG,cAAa;CAC3B,GAAG,OAAO,KAAK,CAAC,MAAM;CACtB,GAAG;CACH,EAAE,GAAG,IAAI,EAAC;CACV,EAAE,aAAa,GAAG,SAAQ;CAC1B,EAAE;CACF,CAAC,KAAK,GAAG,GAAE;CACX,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAK;CACtB,CAAC,KAAK,CAAC,KAAK,GAAG,OAAM;CACrB,CAAC,OAAO,aAAa,GAAG,GAAG,EAAE;CAC7B,EAAE,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAC;CAC3C,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC;CACnB,EAAE,aAAa,IAAI,EAAC;CACpB,EAAE;CACF,CAAC,GAAG,IAAI,EAAC;CACT,CAAC,OAAO,aAAa,GAAG,GAAG,EAAE;CAC7B,EAAE,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,EAAC;CAC9B,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC;CACnB,EAAE;CACF;CACA,CAAC,IAAI,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,EAAC;CAC5E,CAAC,IAAI,MAAM,IAAI,IAAI;CACnB,EAAE,OAAO,KAAK,CAAC,MAAM,GAAG,MAAM;CAC9B,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;CAC9C,CAAC;AACD;CACA,SAAS,YAAY,CAAC,QAAQ,EAAE;CAChC;CACA,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,OAAO,QAAQ,CAAC;CACnD,CAAC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;CAC/H,CAAC,IAAI,QAAQ,IAAI,IAAI,EAAE,OAAO,QAAQ,GAAG,EAAE,CAAC;CAC5C,CAAC,MAAM,IAAI,KAAK,CAAC,kCAAkC,EAAE,OAAO,QAAQ,CAAC,CAAC;CACtE,CAAC;CACD;CACA,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,QAAQ,KAAK;CAC3C,CAAC,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,YAAY,EAAC;CACzC;CACA,CAAC,IAAI,SAAS,GAAG,GAAE;CACnB,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE;CAC7B,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,EAAC;CACjE,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAQ;CAC/B,EAAE;CACF,CAAC,IAAI,iBAAiB,GAAG,iBAAiB,CAAC,EAAE,EAAC;CAC9C;CACA;CACA;CACA,CAAC,IAAI,iBAAiB,KAAK,iBAAiB,CAAC,QAAQ,IAAI,cAAc,CAAC,EAAE;CAC1E,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,iBAAiB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,kBAAiB;CAC7G,EAAE;CACF,CAAC,iBAAiB,CAAC,EAAE,CAAC,GAAG,UAAS;CAClC,CAAC,SAAS,CAAC,IAAI,GAAG,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAC;CAC7D,CAAC,OAAO,SAAS,CAAC,IAAI,EAAE;CACxB,EAAC;CACD,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,GAAE;CAC/B,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAI;AACpC;CACA,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;CACpC;CACA,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;CAC1B,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;CAClC,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;CACtB,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3B,EAAE;CACF,CAAC,OAAO,KAAK,CAAC;CACd,EAAC;AACD;CACA,IAAI,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;CAClD,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM;CAChC,CAAC,IAAI,IAAI,GAAG,IAAI,GAAE;CAClB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/D,EAAC;AACD;CACA,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;CACpC;CACA,CAAC,IAAI,cAAc,CAAC,eAAe,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC;CACxG,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAC;CAC1C,CAAC,IAAI,CAAC,YAAY;CAClB,EAAE,YAAY,GAAG,IAAI,GAAG,GAAE;CAC1B,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAC;CAC1B,CAAC,IAAI,OAAM;CACX;CACA;CACA,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;CACpE,EAAE,MAAM,GAAG,GAAE;CACb;CACA,EAAE,MAAM,GAAG,GAAE;AACb;CACA,CAAC,IAAI,QAAQ,GAAG,EAAE,MAAM,GAAE;CAC1B,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAC;CAC/B,CAAC,IAAI,gBAAgB,GAAG,IAAI,GAAE;CAC9B,CAAC,IAAI,QAAQ,CAAC,IAAI;CAClB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;CAChD,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAgB;CACnC,CAAC,OAAO,gBAAgB;CACxB,EAAC;AACD;CACA,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;CACpC;CACA,CAAC,IAAI,cAAc,CAAC,eAAe,KAAK,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC;CACxG,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAC;CAC1C,CAAC,IAAI,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,EAAC;CACpC,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAI;CACrB,CAAC,OAAO,QAAQ,CAAC,MAAM;CACvB,EAAC;AACD;CACA,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,EAAC;AAC/C;AACY,OAAC,WAAW,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,OAAO,EAAC;AACnK;CACA,IAAI,IAAI,GAAG,OAAO,UAAU,KAAK,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;CAChE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;CACpC,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAC;CACvB,CAAC,IAAI,cAAc,GAAG,WAAW,CAAC,QAAQ,EAAC;CAC3C,CAAC,IAAI,CAAC,cAAc,EAAE;CACtB,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE;CACvB,GAAG,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC;CAC5C,GAAG,IAAI,EAAE,GAAG,IAAI,UAAU,CAAC,EAAE,EAAC;CAC9B,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC;CAC3B,GAAG,OAAO,EAAE,CAAC;CACb,GAAG;CACH,EAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,QAAQ,CAAC;CACpE,EAAE;CACF;CACA,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;CACjF,EAAC;CACD,iBAAiB,CAAC,IAAI,CAAC,GAAG,MAAM;CAChC,CAAC,IAAI,IAAI,GAAG,IAAI,GAAE;CAClB,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;CACpC,EAAC;CACD,MAAM,WAAW,GAAG,GAAE;CACtB,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;CACpC,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAC;CAC5E,CAAC,IAAI,YAAY,GAAG,SAAQ;CAC5B,CAAC,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAM;CACnC,CAAC,cAAc,GAAG,YAAW;CAC7B,CAAC,cAAc,GAAG,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,EAAC;CAC1D,CAAC,cAAc,CAAC,SAAS,GAAG,EAAC;CAC7B,CAAC,cAAc,CAAC,SAAS,GAAG,EAAC;CAC7B,CAAC,cAAc,CAAC,kBAAkB,GAAG,SAAQ;CAC7C,CAAC,QAAQ,GAAG,aAAY;CACxB,CAAC,OAAO,IAAI,EAAE;CACd,EAAC;AACD;CACA,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK;CACpC;CACA,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;CACrB,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;CAC5F,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;CAC1B,EAAE,OAAO,IAAI,IAAI;CACjB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO;CAClF,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;CAC7G,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;CAC3B,EAAE,OAAO,IAAI,IAAI;CACjB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO;CAC3E,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;CAC7K;CACA,EAAE,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC;CAC5B,EAAC;CACD;CACA;AACA;CACA,SAAS,SAAS,CAAC,QAAQ,EAAE;CAC7B,CAAC,IAAI,WAAW;CAChB,EAAE,WAAW,EAAE,CAAC;CAChB,CAAC,IAAI,WAAW,GAAG,OAAM;CACzB,CAAC,IAAI,aAAa,GAAG,SAAQ;CAC7B,CAAC,IAAI,mBAAmB,GAAG,eAAc;CACzC,CAAC,IAAI,mBAAmB,GAAG,eAAc;CACzC,CAAC,IAAI,iBAAiB,GAAG,aAAY;CACrC,CAAC,IAAI,cAAc,GAAG,UAAS;CAC/B,CAAC,IAAI,YAAY,GAAG,QAAO;CAC3B,CAAC,IAAI,iBAAiB,GAAG,aAAY;CACrC,CAAC,IAAI,mBAAmB,GAAG,eAAc;AACzC;CACA;CACA,CAAC,IAAI,QAAQ,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAC;CACpD,CAAC,IAAI,eAAe,GAAG,kBAAiB;CACxC,CAAC,IAAI,uBAAuB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAC;CACnF,CAAC,IAAI,UAAU,GAAG,eAAc;CAChC,CAAC,IAAI,mBAAmB,GAAG,eAAc;CACzC,CAAC,IAAI,KAAK,GAAG,QAAQ,GAAE;CACvB,CAAC,MAAM,GAAG,YAAW;CACrB,CAAC,QAAQ,GAAG,cAAa;CACzB,CAAC,cAAc,GAAG,oBAAmB;CACrC,CAAC,cAAc,GAAG,oBAAmB;CACrC,CAAC,YAAY,GAAG,kBAAiB;CACjC,CAAC,SAAS,GAAG,eAAc;CAC3B,CAAC,OAAO,GAAG,aAAY;CACvB,CAAC,YAAY,GAAG,kBAAiB;CACjC,CAAC,cAAc,GAAG,oBAAmB;CACrC,CAAC,GAAG,GAAG,SAAQ;CACf,CAAC,cAAc,GAAG,oBAAmB;CACrC,CAAC,iBAAiB,GAAG,gBAAe;CACpC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,MAAM,EAAE,GAAG,uBAAuB,EAAC;CAClF,CAAC,cAAc,GAAG,WAAU;CAC5B,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,EAAC;CACpE,CAAC,OAAO,KAAK;CACb,CAAC;CACM,SAAS,WAAW,GAAG;CAC9B,CAAC,GAAG,GAAG,KAAI;CACX,CAAC,YAAY,GAAG,KAAI;CACpB,CAAC,iBAAiB,GAAG,KAAI;CACzB,CAAC;AACD;CACO,SAAS,YAAY,CAAC,SAAS,EAAE;CACxC,CAAC,IAAI,SAAS,CAAC,MAAM;CACrB,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAM;CACtD;CACA,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,UAAS;CAC/C,CAAC;AACD;AACY,OAAC,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,EAAC;CACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;CAC9B,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,EAAC;CACtD,CAAC;AACW,OAAC,OAAO,GAAG,QAAO;CAC9B,IAAI,cAAc,GAAG,IAAI,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAC;AAC3C,OAAC,MAAM,GAAG,cAAc,CAAC,OAAM;AAC/B,OAAC,cAAc,GAAG,cAAc,CAAC,eAAc;AAC/C,OAAC,MAAM,GAAG,cAAc,CAAC,OAAM;AAC/B,OAAC,eAAe,GAAG;CAC/B,CAAC,KAAK,EAAE,CAAC;CACT,CAAC,MAAM,EAAE,CAAC;CACV,CAAC,aAAa,EAAE,CAAC;CACjB,CAAC,WAAW,EAAE,CAAC;CACf,EAAC;CACD,IAAI,QAAQ,GAAG,IAAI,YAAY,CAAC,CAAC,EAAC;CAClC,IAAI,OAAO,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAC;CAC5C,SAAS,YAAY,CAAC,aAAa,EAAE;CAC5C,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,cAAa;CAC5B,CAAC,IAAI,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC;CACxE,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,aAAa,IAAI,aAAa,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,UAAU;CAC3F,CAAC;CACM,SAAS,aAAa,CAAC,iBAAiB,EAAE,aAAa,EAAE,SAAS,EAAE;CAC3E,CAAC,UAAU,GAAG,iBAAiB,CAAC;CAChC,CAAC,kBAAkB,GAAG,aAAa,CAAC;CACpC,CAAC,WAAW,GAAG,SAAS,CAAC;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/index.d.cts CHANGED
@@ -19,6 +19,7 @@ export interface Options {
19
19
  bundleStrings?: boolean
20
20
  useTimestamp32?: boolean
21
21
  largeBigIntToFloat?: boolean
22
+ largeBigIntToString?: boolean
22
23
  useBigIntExtension?: boolean
23
24
  encodeUndefinedAsNil?: boolean
24
25
  maxSharedStructures?: number
@@ -38,22 +39,23 @@ interface Extension {
38
39
  Class?: Function
39
40
  type?: number
40
41
  pack?(value: any): Buffer | Uint8Array
41
- unpack?(messagePack: Buffer | Uint8Array): any
42
+ unpack?(messagePack: Buffer | Uint8Array): any
42
43
  read?(datum: any): any
43
44
  write?(instance: any): any
44
45
  }
46
+ export type UnpackOptions = { start?: number; end?: number; lazy?: boolean; } | number;
45
47
  export class Unpackr {
46
48
  constructor(options?: Options)
47
- unpack(messagePack: Buffer | Uint8Array): any
48
- decode(messagePack: Buffer | Uint8Array): any
49
+ unpack(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
50
+ decode(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
49
51
  unpackMultiple(messagePack: Buffer | Uint8Array): any[]
50
52
  unpackMultiple(messagePack: Buffer | Uint8Array, forEach: (value: any, start?: number, end?: number) => any): void
51
53
  }
52
54
  export class Decoder extends Unpackr {}
53
- export function unpack(messagePack: Buffer | Uint8Array): any
55
+ export function unpack(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
54
56
  export function unpackMultiple(messagePack: Buffer | Uint8Array): any[]
55
57
  export function unpackMultiple(messagePack: Buffer | Uint8Array, forEach: (value: any, start?: number, end?: number) => any): void
56
- export function decode(messagePack: Buffer | Uint8Array): any
58
+ export function decode(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
57
59
  export function addExtension(extension: Extension): void
58
60
  export function clearSource(): void
59
61
  export function roundFloat32(float32Number: number): number
@@ -61,12 +63,20 @@ export const C1: {}
61
63
  export let isNativeAccelerationEnabled: boolean
62
64
 
63
65
  export class Packr extends Unpackr {
64
- pack(value: any): Buffer
65
- encode(value: any): Buffer
66
+ offset: number;
67
+ position: number;
68
+ pack(value: any, encodeOptions?: number): Buffer
69
+ encode(value: any, encodeOptions?: number): Buffer
70
+ useBuffer(buffer: Buffer | Uint8Array): void;
71
+ clearSharedData(): void;
66
72
  }
67
73
  export class Encoder extends Packr {}
68
- export function pack(value: any): Buffer
69
- export function encode(value: any): Buffer
74
+ export function pack(value: any, encodeOptions?: number): Buffer
75
+ export function encode(value: any, encodeOptions?: number): Buffer
76
+
77
+ export const REUSE_BUFFER_MODE: number;
78
+ export const RESET_BUFFER_MODE: number;
79
+ export const RESERVE_START_SPACE: number;
70
80
 
71
81
  import { Transform, Readable } from 'stream'
72
82
 
package/index.d.ts CHANGED
@@ -19,6 +19,7 @@ export interface Options {
19
19
  bundleStrings?: boolean
20
20
  useTimestamp32?: boolean
21
21
  largeBigIntToFloat?: boolean
22
+ largeBigIntToString?: boolean
22
23
  useBigIntExtension?: boolean
23
24
  encodeUndefinedAsNil?: boolean
24
25
  maxSharedStructures?: number
@@ -38,22 +39,23 @@ interface Extension {
38
39
  Class?: Function
39
40
  type?: number
40
41
  pack?(value: any): Buffer | Uint8Array
41
- unpack?(messagePack: Buffer | Uint8Array): any
42
+ unpack?(messagePack: Buffer | Uint8Array): any
42
43
  read?(datum: any): any
43
44
  write?(instance: any): any
44
45
  }
46
+ export type UnpackOptions = { start?: number; end?: number; lazy?: boolean; } | number;
45
47
  export class Unpackr {
46
48
  constructor(options?: Options)
47
- unpack(messagePack: Buffer | Uint8Array): any
48
- decode(messagePack: Buffer | Uint8Array): any
49
+ unpack(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
50
+ decode(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
49
51
  unpackMultiple(messagePack: Buffer | Uint8Array): any[]
50
52
  unpackMultiple(messagePack: Buffer | Uint8Array, forEach: (value: any, start?: number, end?: number) => any): void
51
53
  }
52
54
  export class Decoder extends Unpackr {}
53
- export function unpack(messagePack: Buffer | Uint8Array): any
55
+ export function unpack(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
54
56
  export function unpackMultiple(messagePack: Buffer | Uint8Array): any[]
55
57
  export function unpackMultiple(messagePack: Buffer | Uint8Array, forEach: (value: any, start?: number, end?: number) => any): void
56
- export function decode(messagePack: Buffer | Uint8Array): any
58
+ export function decode(messagePack: Buffer | Uint8Array, options?: UnpackOptions): any
57
59
  export function addExtension(extension: Extension): void
58
60
  export function clearSource(): void
59
61
  export function roundFloat32(float32Number: number): number
@@ -61,12 +63,20 @@ export const C1: {}
61
63
  export let isNativeAccelerationEnabled: boolean
62
64
 
63
65
  export class Packr extends Unpackr {
64
- pack(value: any): Buffer
65
- encode(value: any): Buffer
66
+ offset: number;
67
+ position: number;
68
+ pack(value: any, encodeOptions?: number): Buffer
69
+ encode(value: any, encodeOptions?: number): Buffer
70
+ useBuffer(buffer: Buffer | Uint8Array): void;
71
+ clearSharedData(): void;
66
72
  }
67
73
  export class Encoder extends Packr {}
68
- export function pack(value: any): Buffer
69
- export function encode(value: any): Buffer
74
+ export function pack(value: any, encodeOptions?: number): Buffer
75
+ export function encode(value: any, encodeOptions?: number): Buffer
76
+
77
+ export const REUSE_BUFFER_MODE: number;
78
+ export const RESET_BUFFER_MODE: number;
79
+ export const RESERVE_START_SPACE: number;
70
80
 
71
81
  import { Transform, Readable } from 'stream'
72
82
 
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Packr, Encoder, addExtension, pack, encode, NEVER, ALWAYS, DECIMAL_ROUND, DECIMAL_FIT, REUSE_BUFFER_MODE } from './pack.js'
1
+ export { Packr, Encoder, addExtension, pack, encode, NEVER, ALWAYS, DECIMAL_ROUND, DECIMAL_FIT, REUSE_BUFFER_MODE, RESET_BUFFER_MODE, RESERVE_START_SPACE } from './pack.js'
2
2
  export { Unpackr, Decoder, C1, unpack, unpackMultiple, decode, FLOAT32_OPTIONS, clearSource, roundFloat32, isNativeAccelerationEnabled } from './unpack.js'
3
3
  export { decodeIter, encodeIter } from './iterators.js'
4
4
  export const useRecords = false