{"version":3,"names":["root","factory","self","__WEBPACK_EXTERNAL_MODULE__1__","module","exports","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","UINT32_MAX","setInt64","view","offset","high","Math","floor","low","setUint32","getInt64","getInt32","getUint32","TEXT_ENCODING_AVAILABLE","process","env","TextEncoder","TextDecoder","utf8Count","str","strLength","length","byteLength","pos","charCodeAt","extra","sharedTextEncoder","TEXT_ENCODER_THRESHOLD","utf8EncodeTE","encodeInto","output","outputOffset","subarray","set","encode","utf8DecodeJs","bytes","inputOffset","end","units","result","byte1","push","byte2","byte3","unit","String","fromCharCode","apply","extendStatics","sharedTextDecoder","TEXT_DECODER_THRESHOLD","ExtData","type","data","this","__extends","b","setPrototypeOf","__proto__","Array","p","TypeError","__","constructor","create","DecodeError","_super","message","_this","proto","configurable","name","Error","timestampExtension","object","msec","sec","nsec","nsecInSec","Date","_a","rv","Uint8Array","DataView","buffer","secHigh","secLow","encodeTimeSpecToTimestamp","getTime","decode","timeSpec","byteOffset","nsec30AndSecHigh2","decodeTimestampToTimeSpec","ExtensionCodec","builtInEncoders","builtInDecoders","encoders","decoders","register","index","tryToEncode","context","i","encodeExt","decodeExt","defaultCodec","ensureUint8Array","ArrayBuffer","isView","from","Encoder","extensionCodec","maxDepth","initialBufferSize","sortKeys","forceFloat32","ignoreUndefined","forceIntegerToFloat","getUint8Array","reinitializeState","doEncode","depth","encodeNil","encodeBoolean","encodeNumber","encodeString","encodeObject","ensureBufferSizeToWrite","sizeToWrite","requiredSize","resizeBuffer","newSize","newBuffer","newBytes","newView","writeU8","Number","isSafeInteger","writeU16","writeU32","writeU64","writeI8","writeI16","writeI32","writeI64","writeF32","writeF64","writeStringHeader","utf8EncodeJs","ext","encodeExtension","isArray","encodeArray","encodeBinary","toString","encodeMap","size","writeU8a","_i","object_1","item","countWithoutUndefined","keys","count","keys_1","sort","keys_2","setUint8","values","setInt8","setUint16","setInt16","setInt32","setFloat32","setFloat64","setUint64","prettyByte","byte","abs","padStart","CachedKeyDecoder","maxKeyLength","maxLengthPerKey","hit","miss","caches","canBeCached","find","FIND_CHUNK","records_1","record","recordBytes","j","store","records","random","cachedValue","slicedCopyOfBytes","slice","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","done","then","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","iterator","n","v","op","pop","__asyncValues","asyncIterator","m","__values","settle","__await","__asyncGenerator","q","a","resume","fulfill","shift","EMPTY_VIEW","EMPTY_BYTES","DataViewIndexOutOfBoundsError","getInt8","MORE_DATA","sharedCachedKeyDecoder","Decoder","maxStrLength","maxBinLength","maxArrayLength","maxMapLength","maxExtLength","keyDecoder","totalPos","headByte","stack","setBuffer","bufferView","createDataView","appendBuffer","hasRemaining","remainingData","newData","createExtraByteError","posToShow","RangeError","doDecodeSync","decodeMulti","decodeAsync","stream","stream_1","stream_1_1","e_1","decoded","e_1_1","_b","_c","error","decodeArrayStream","decodeMultiAsync","decodeStream","arguments","isArrayHeaderRequired","arrayItemsLeft","stream_2","stream_2_1","e_2","e_3_1","e_3","readArraySize","complete","DECODE","readHeadByte","pushMapState","pushArrayState","decodeUtf8String","readF32","readF64","readU8","readU16","readU32","readU64","readI8","readI16","readI32","readI64","lookU8","lookU16","lookU32","decodeBinary","decodeExtension","state","array","position","keyType","map","readCount","headerOffset","stateIsMapKey","stringBytes","utf8DecodeTD","headOffset","extType","getUint8","getUint16","getInt16","getFloat32","getFloat64","BinaryMessageFormat","static","lenBuffer","sizePart","input","uint8Array","numBitsToShift","byteRead","numBytes","min","SERIALIZED_PING_MESSAGE","external_signalR_","MessageType","Ping","MessagePackHubProtocol","messagePackOptions","version","transferFormat","TransferFormat","Binary","_errorResult","_voidResult","_nonVoidResult","_encoder","_decoder","parseMessages","logger","val","NullLogger","instance","messages","parse","hubMessages","parsedMessage","_parseMessage","writeMessage","Invocation","_writeInvocation","StreamInvocation","_writeStreamInvocation","StreamItem","_writeStreamItem","Completion","_writeCompletion","write","CancelInvocation","_writeCancelInvocation","properties","messageType","_createInvocationMessage","_readHeaders","_createStreamItemMessage","_createCompletionMessage","_createPingMessage","Close","_createCloseMessage","log","LogLevel","Information","allowReconnect","headers","invocationId","streamIds","target","resultKind","invocationMessage","payload","streamInvocationMessage","streamItemMessage","completionMessage","cancelInvocationMessage","VERSION","require","define","amd"],"sources":["webpack://signalR.protocols.msgpack/webpack/universalModuleDefinition","webpack://signalR.protocols.msgpack/external umd \"signalR\"","webpack://signalR.protocols.msgpack/webpack/bootstrap","webpack://signalR.protocols.msgpack/webpack/runtime/define property getters","webpack://signalR.protocols.msgpack/webpack/runtime/hasOwnProperty shorthand","webpack://signalR.protocols.msgpack/webpack/runtime/make namespace object","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/int.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/DecodeError.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtData.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/timestamp.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/ExtensionCodec.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/typedArrays.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/utils/prettyByte.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/CachedKeyDecoder.mjs","webpack://signalR.protocols.msgpack/node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs","webpack://signalR.protocols.msgpack/src/BinaryMessageFormat.ts","webpack://signalR.protocols.msgpack/src/MessagePackHubProtocol.ts","webpack://signalR.protocols.msgpack/src/Utils.ts","webpack://signalR.protocols.msgpack/src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"signalR\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"signalR\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"msgpack\"] = factory(require(\"signalR\"));\n\telse\n\t\troot[\"signalR\"] = root[\"signalR\"] || {}, root[\"signalR\"][\"protocols\"] = root[\"signalR\"][\"protocols\"] || {}, root[\"signalR\"][\"protocols\"][\"msgpack\"] = factory(root[\"signalR\"]);\n})(self, (__WEBPACK_EXTERNAL_MODULE__1__) => {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Integer Utility\nexport var UINT32_MAX = 4294967295;\n// DataView extension to handle int64 / uint64,\n// where the actual range is 53-bits integer (a.k.a. safe integer)\nexport function setUint64(view, offset, value) {\n var high = value / 4294967296;\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function setInt64(view, offset, value) {\n var high = Math.floor(value / 4294967296);\n var low = value; // high bits are truncated by DataView\n view.setUint32(offset, high);\n view.setUint32(offset + 4, low);\n}\nexport function getInt64(view, offset) {\n var high = view.getInt32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\nexport function getUint64(view, offset) {\n var high = view.getUint32(offset);\n var low = view.getUint32(offset + 4);\n return high * 4294967296 + low;\n}\n//# sourceMappingURL=int.mjs.map","import { UINT32_MAX } from \"./int.mjs\";\nvar TEXT_ENCODING_AVAILABLE = (typeof process === \"undefined\" || process.env[\"TEXT_ENCODING\"] !== \"never\") &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\nexport function utf8Count(str) {\n var strLength = str.length;\n var byteLength = 0;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n }\n else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\nexport function utf8EncodeJs(str, output, outputOffset) {\n var strLength = str.length;\n var offset = outputOffset;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\nvar sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexport var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_ENCODING\"] !== \"force\"\n ? 200\n : 0;\nfunction utf8EncodeTEencode(str, output, outputOffset) {\n output.set(sharedTextEncoder.encode(str), outputOffset);\n}\nfunction utf8EncodeTEencodeInto(str, output, outputOffset) {\n sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));\n}\nexport var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\nvar CHUNK_SIZE = 4096;\nexport function utf8DecodeJs(bytes, inputOffset, byteLength) {\n var offset = inputOffset;\n var end = offset + byteLength;\n var units = [];\n var result = \"\";\n while (offset < end) {\n var byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n }\n else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n var byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n }\n else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n }\n else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n var byte4 = bytes[offset++] & 0x3f;\n var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n }\n else {\n units.push(byte1);\n }\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode.apply(String, units);\n units.length = 0;\n }\n }\n if (units.length > 0) {\n result += String.fromCharCode.apply(String, units);\n }\n return result;\n}\nvar sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexport var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && process.env[\"TEXT_DECODER\"] !== \"force\"\n ? 200\n : 0;\nexport function utf8DecodeTD(bytes, inputOffset, byteLength) {\n var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n return sharedTextDecoder.decode(stringBytes);\n}\n//# sourceMappingURL=utf8.mjs.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar DecodeError = /** @class */ (function (_super) {\n __extends(DecodeError, _super);\n function DecodeError(message) {\n var _this = _super.call(this, message) || this;\n // fix the prototype chain in a cross-platform way\n var proto = Object.create(DecodeError.prototype);\n Object.setPrototypeOf(_this, proto);\n Object.defineProperty(_this, \"name\", {\n configurable: true,\n enumerable: false,\n value: DecodeError.name,\n });\n return _this;\n }\n return DecodeError;\n}(Error));\nexport { DecodeError };\n//# sourceMappingURL=DecodeError.mjs.map","/**\n * ExtData is used to handle Extension Types that are not registered to ExtensionCodec.\n */\nvar ExtData = /** @class */ (function () {\n function ExtData(type, data) {\n this.type = type;\n this.data = data;\n }\n return ExtData;\n}());\nexport { ExtData };\n//# sourceMappingURL=ExtData.mjs.map","// https://github.com/msgpack/msgpack/blob/master/spec.md#timestamp-extension-type\nimport { DecodeError } from \"./DecodeError.mjs\";\nimport { getInt64, setInt64 } from \"./utils/int.mjs\";\nexport var EXT_TIMESTAMP = -1;\nvar TIMESTAMP32_MAX_SEC = 0x100000000 - 1; // 32-bit unsigned int\nvar TIMESTAMP64_MAX_SEC = 0x400000000 - 1; // 34-bit unsigned int\nexport function encodeTimeSpecToTimestamp(_a) {\n var sec = _a.sec, nsec = _a.nsec;\n if (sec >= 0 && nsec >= 0 && sec <= TIMESTAMP64_MAX_SEC) {\n // Here sec >= 0 && nsec >= 0\n if (nsec === 0 && sec <= TIMESTAMP32_MAX_SEC) {\n // timestamp 32 = { sec32 (unsigned) }\n var rv = new Uint8Array(4);\n var view = new DataView(rv.buffer);\n view.setUint32(0, sec);\n return rv;\n }\n else {\n // timestamp 64 = { nsec30 (unsigned), sec34 (unsigned) }\n var secHigh = sec / 0x100000000;\n var secLow = sec & 0xffffffff;\n var rv = new Uint8Array(8);\n var view = new DataView(rv.buffer);\n // nsec30 | secHigh2\n view.setUint32(0, (nsec << 2) | (secHigh & 0x3));\n // secLow32\n view.setUint32(4, secLow);\n return rv;\n }\n }\n else {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var rv = new Uint8Array(12);\n var view = new DataView(rv.buffer);\n view.setUint32(0, nsec);\n setInt64(view, 4, sec);\n return rv;\n }\n}\nexport function encodeDateToTimeSpec(date) {\n var msec = date.getTime();\n var sec = Math.floor(msec / 1e3);\n var nsec = (msec - sec * 1e3) * 1e6;\n // Normalizes { sec, nsec } to ensure nsec is unsigned.\n var nsecInSec = Math.floor(nsec / 1e9);\n return {\n sec: sec + nsecInSec,\n nsec: nsec - nsecInSec * 1e9,\n };\n}\nexport function encodeTimestampExtension(object) {\n if (object instanceof Date) {\n var timeSpec = encodeDateToTimeSpec(object);\n return encodeTimeSpecToTimestamp(timeSpec);\n }\n else {\n return null;\n }\n}\nexport function decodeTimestampToTimeSpec(data) {\n var view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n // data may be 32, 64, or 96 bits\n switch (data.byteLength) {\n case 4: {\n // timestamp 32 = { sec32 }\n var sec = view.getUint32(0);\n var nsec = 0;\n return { sec: sec, nsec: nsec };\n }\n case 8: {\n // timestamp 64 = { nsec30, sec34 }\n var nsec30AndSecHigh2 = view.getUint32(0);\n var secLow32 = view.getUint32(4);\n var sec = (nsec30AndSecHigh2 & 0x3) * 0x100000000 + secLow32;\n var nsec = nsec30AndSecHigh2 >>> 2;\n return { sec: sec, nsec: nsec };\n }\n case 12: {\n // timestamp 96 = { nsec32 (unsigned), sec64 (signed) }\n var sec = getInt64(view, 4);\n var nsec = view.getUint32(0);\n return { sec: sec, nsec: nsec };\n }\n default:\n throw new DecodeError(\"Unrecognized data size for timestamp (expected 4, 8, or 12): \" + data.length);\n }\n}\nexport function decodeTimestampExtension(data) {\n var timeSpec = decodeTimestampToTimeSpec(data);\n return new Date(timeSpec.sec * 1e3 + timeSpec.nsec / 1e6);\n}\nexport var timestampExtension = {\n type: EXT_TIMESTAMP,\n encode: encodeTimestampExtension,\n decode: decodeTimestampExtension,\n};\n//# sourceMappingURL=timestamp.mjs.map","// ExtensionCodec to handle MessagePack extensions\nimport { ExtData } from \"./ExtData.mjs\";\nimport { timestampExtension } from \"./timestamp.mjs\";\nvar ExtensionCodec = /** @class */ (function () {\n function ExtensionCodec() {\n // built-in extensions\n this.builtInEncoders = [];\n this.builtInDecoders = [];\n // custom extensions\n this.encoders = [];\n this.decoders = [];\n this.register(timestampExtension);\n }\n ExtensionCodec.prototype.register = function (_a) {\n var type = _a.type, encode = _a.encode, decode = _a.decode;\n if (type >= 0) {\n // custom extensions\n this.encoders[type] = encode;\n this.decoders[type] = decode;\n }\n else {\n // built-in extensions\n var index = 1 + type;\n this.builtInEncoders[index] = encode;\n this.builtInDecoders[index] = decode;\n }\n };\n ExtensionCodec.prototype.tryToEncode = function (object, context) {\n // built-in extensions\n for (var i = 0; i < this.builtInEncoders.length; i++) {\n var encodeExt = this.builtInEncoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = -1 - i;\n return new ExtData(type, data);\n }\n }\n }\n // custom extensions\n for (var i = 0; i < this.encoders.length; i++) {\n var encodeExt = this.encoders[i];\n if (encodeExt != null) {\n var data = encodeExt(object, context);\n if (data != null) {\n var type = i;\n return new ExtData(type, data);\n }\n }\n }\n if (object instanceof ExtData) {\n // to keep ExtData as is\n return object;\n }\n return null;\n };\n ExtensionCodec.prototype.decode = function (data, type, context) {\n var decodeExt = type < 0 ? this.builtInDecoders[-1 - type] : this.decoders[type];\n if (decodeExt) {\n return decodeExt(data, type, context);\n }\n else {\n // decode() does not fail, returns ExtData instead.\n return new ExtData(type, data);\n }\n };\n ExtensionCodec.defaultCodec = new ExtensionCodec();\n return ExtensionCodec;\n}());\nexport { ExtensionCodec };\n//# sourceMappingURL=ExtensionCodec.mjs.map","export function ensureUint8Array(buffer) {\n if (buffer instanceof Uint8Array) {\n return buffer;\n }\n else if (ArrayBuffer.isView(buffer)) {\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n }\n else if (buffer instanceof ArrayBuffer) {\n return new Uint8Array(buffer);\n }\n else {\n // ArrayLike\n return Uint8Array.from(buffer);\n }\n}\nexport function createDataView(buffer) {\n if (buffer instanceof ArrayBuffer) {\n return new DataView(buffer);\n }\n var bufferView = ensureUint8Array(buffer);\n return new DataView(bufferView.buffer, bufferView.byteOffset, bufferView.byteLength);\n}\n//# sourceMappingURL=typedArrays.mjs.map","import { utf8EncodeJs, utf8Count, TEXT_ENCODER_THRESHOLD, utf8EncodeTE } from \"./utils/utf8.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { setInt64, setUint64 } from \"./utils/int.mjs\";\nimport { ensureUint8Array } from \"./utils/typedArrays.mjs\";\nexport var DEFAULT_MAX_DEPTH = 100;\nexport var DEFAULT_INITIAL_BUFFER_SIZE = 2048;\nvar Encoder = /** @class */ (function () {\n function Encoder(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxDepth === void 0) { maxDepth = DEFAULT_MAX_DEPTH; }\n if (initialBufferSize === void 0) { initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE; }\n if (sortKeys === void 0) { sortKeys = false; }\n if (forceFloat32 === void 0) { forceFloat32 = false; }\n if (ignoreUndefined === void 0) { ignoreUndefined = false; }\n if (forceIntegerToFloat === void 0) { forceIntegerToFloat = false; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxDepth = maxDepth;\n this.initialBufferSize = initialBufferSize;\n this.sortKeys = sortKeys;\n this.forceFloat32 = forceFloat32;\n this.ignoreUndefined = ignoreUndefined;\n this.forceIntegerToFloat = forceIntegerToFloat;\n this.pos = 0;\n this.view = new DataView(new ArrayBuffer(this.initialBufferSize));\n this.bytes = new Uint8Array(this.view.buffer);\n }\n Encoder.prototype.getUint8Array = function () {\n return this.bytes.subarray(0, this.pos);\n };\n Encoder.prototype.reinitializeState = function () {\n this.pos = 0;\n };\n Encoder.prototype.encode = function (object) {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.getUint8Array();\n };\n Encoder.prototype.doEncode = function (object, depth) {\n if (depth > this.maxDepth) {\n throw new Error(\"Too deep objects in depth \" + depth);\n }\n if (object == null) {\n this.encodeNil();\n }\n else if (typeof object === \"boolean\") {\n this.encodeBoolean(object);\n }\n else if (typeof object === \"number\") {\n this.encodeNumber(object);\n }\n else if (typeof object === \"string\") {\n this.encodeString(object);\n }\n else {\n this.encodeObject(object, depth);\n }\n };\n Encoder.prototype.ensureBufferSizeToWrite = function (sizeToWrite) {\n var requiredSize = this.pos + sizeToWrite;\n if (this.view.byteLength < requiredSize) {\n this.resizeBuffer(requiredSize * 2);\n }\n };\n Encoder.prototype.resizeBuffer = function (newSize) {\n var newBuffer = new ArrayBuffer(newSize);\n var newBytes = new Uint8Array(newBuffer);\n var newView = new DataView(newBuffer);\n newBytes.set(this.bytes);\n this.view = newView;\n this.bytes = newBytes;\n };\n Encoder.prototype.encodeNil = function () {\n this.writeU8(0xc0);\n };\n Encoder.prototype.encodeBoolean = function (object) {\n if (object === false) {\n this.writeU8(0xc2);\n }\n else {\n this.writeU8(0xc3);\n }\n };\n Encoder.prototype.encodeNumber = function (object) {\n if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {\n if (object >= 0) {\n if (object < 0x80) {\n // positive fixint\n this.writeU8(object);\n }\n else if (object < 0x100) {\n // uint 8\n this.writeU8(0xcc);\n this.writeU8(object);\n }\n else if (object < 0x10000) {\n // uint 16\n this.writeU8(0xcd);\n this.writeU16(object);\n }\n else if (object < 0x100000000) {\n // uint 32\n this.writeU8(0xce);\n this.writeU32(object);\n }\n else {\n // uint 64\n this.writeU8(0xcf);\n this.writeU64(object);\n }\n }\n else {\n if (object >= -0x20) {\n // negative fixint\n this.writeU8(0xe0 | (object + 0x20));\n }\n else if (object >= -0x80) {\n // int 8\n this.writeU8(0xd0);\n this.writeI8(object);\n }\n else if (object >= -0x8000) {\n // int 16\n this.writeU8(0xd1);\n this.writeI16(object);\n }\n else if (object >= -0x80000000) {\n // int 32\n this.writeU8(0xd2);\n this.writeI32(object);\n }\n else {\n // int 64\n this.writeU8(0xd3);\n this.writeI64(object);\n }\n }\n }\n else {\n // non-integer numbers\n if (this.forceFloat32) {\n // float 32\n this.writeU8(0xca);\n this.writeF32(object);\n }\n else {\n // float 64\n this.writeU8(0xcb);\n this.writeF64(object);\n }\n }\n };\n Encoder.prototype.writeStringHeader = function (byteLength) {\n if (byteLength < 32) {\n // fixstr\n this.writeU8(0xa0 + byteLength);\n }\n else if (byteLength < 0x100) {\n // str 8\n this.writeU8(0xd9);\n this.writeU8(byteLength);\n }\n else if (byteLength < 0x10000) {\n // str 16\n this.writeU8(0xda);\n this.writeU16(byteLength);\n }\n else if (byteLength < 0x100000000) {\n // str 32\n this.writeU8(0xdb);\n this.writeU32(byteLength);\n }\n else {\n throw new Error(\"Too long string: \" + byteLength + \" bytes in UTF-8\");\n }\n };\n Encoder.prototype.encodeString = function (object) {\n var maxHeaderSize = 1 + 4;\n var strLength = object.length;\n if (strLength > TEXT_ENCODER_THRESHOLD) {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeTE(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n else {\n var byteLength = utf8Count(object);\n this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);\n this.writeStringHeader(byteLength);\n utf8EncodeJs(object, this.bytes, this.pos);\n this.pos += byteLength;\n }\n };\n Encoder.prototype.encodeObject = function (object, depth) {\n // try to encode objects with custom codec first of non-primitives\n var ext = this.extensionCodec.tryToEncode(object, this.context);\n if (ext != null) {\n this.encodeExtension(ext);\n }\n else if (Array.isArray(object)) {\n this.encodeArray(object, depth);\n }\n else if (ArrayBuffer.isView(object)) {\n this.encodeBinary(object);\n }\n else if (typeof object === \"object\") {\n this.encodeMap(object, depth);\n }\n else {\n // symbol, function and other special object come here unless extensionCodec handles them.\n throw new Error(\"Unrecognized object: \" + Object.prototype.toString.apply(object));\n }\n };\n Encoder.prototype.encodeBinary = function (object) {\n var size = object.byteLength;\n if (size < 0x100) {\n // bin 8\n this.writeU8(0xc4);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // bin 16\n this.writeU8(0xc5);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // bin 32\n this.writeU8(0xc6);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large binary: \" + size);\n }\n var bytes = ensureUint8Array(object);\n this.writeU8a(bytes);\n };\n Encoder.prototype.encodeArray = function (object, depth) {\n var size = object.length;\n if (size < 16) {\n // fixarray\n this.writeU8(0x90 + size);\n }\n else if (size < 0x10000) {\n // array 16\n this.writeU8(0xdc);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // array 32\n this.writeU8(0xdd);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large array: \" + size);\n }\n for (var _i = 0, object_1 = object; _i < object_1.length; _i++) {\n var item = object_1[_i];\n this.doEncode(item, depth + 1);\n }\n };\n Encoder.prototype.countWithoutUndefined = function (object, keys) {\n var count = 0;\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n if (object[key] !== undefined) {\n count++;\n }\n }\n return count;\n };\n Encoder.prototype.encodeMap = function (object, depth) {\n var keys = Object.keys(object);\n if (this.sortKeys) {\n keys.sort();\n }\n var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;\n if (size < 16) {\n // fixmap\n this.writeU8(0x80 + size);\n }\n else if (size < 0x10000) {\n // map 16\n this.writeU8(0xde);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // map 32\n this.writeU8(0xdf);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large map object: \" + size);\n }\n for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {\n var key = keys_2[_i];\n var value = object[key];\n if (!(this.ignoreUndefined && value === undefined)) {\n this.encodeString(key);\n this.doEncode(value, depth + 1);\n }\n }\n };\n Encoder.prototype.encodeExtension = function (ext) {\n var size = ext.data.length;\n if (size === 1) {\n // fixext 1\n this.writeU8(0xd4);\n }\n else if (size === 2) {\n // fixext 2\n this.writeU8(0xd5);\n }\n else if (size === 4) {\n // fixext 4\n this.writeU8(0xd6);\n }\n else if (size === 8) {\n // fixext 8\n this.writeU8(0xd7);\n }\n else if (size === 16) {\n // fixext 16\n this.writeU8(0xd8);\n }\n else if (size < 0x100) {\n // ext 8\n this.writeU8(0xc7);\n this.writeU8(size);\n }\n else if (size < 0x10000) {\n // ext 16\n this.writeU8(0xc8);\n this.writeU16(size);\n }\n else if (size < 0x100000000) {\n // ext 32\n this.writeU8(0xc9);\n this.writeU32(size);\n }\n else {\n throw new Error(\"Too large extension object: \" + size);\n }\n this.writeI8(ext.type);\n this.writeU8a(ext.data);\n };\n Encoder.prototype.writeU8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setUint8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU8a = function (values) {\n var size = values.length;\n this.ensureBufferSizeToWrite(size);\n this.bytes.set(values, this.pos);\n this.pos += size;\n };\n Encoder.prototype.writeI8 = function (value) {\n this.ensureBufferSizeToWrite(1);\n this.view.setInt8(this.pos, value);\n this.pos++;\n };\n Encoder.prototype.writeU16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setUint16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeI16 = function (value) {\n this.ensureBufferSizeToWrite(2);\n this.view.setInt16(this.pos, value);\n this.pos += 2;\n };\n Encoder.prototype.writeU32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setUint32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeI32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setInt32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF32 = function (value) {\n this.ensureBufferSizeToWrite(4);\n this.view.setFloat32(this.pos, value);\n this.pos += 4;\n };\n Encoder.prototype.writeF64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n this.view.setFloat64(this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeU64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setUint64(this.view, this.pos, value);\n this.pos += 8;\n };\n Encoder.prototype.writeI64 = function (value) {\n this.ensureBufferSizeToWrite(8);\n setInt64(this.view, this.pos, value);\n this.pos += 8;\n };\n return Encoder;\n}());\nexport { Encoder };\n//# sourceMappingURL=Encoder.mjs.map","export function prettyByte(byte) {\n return (byte < 0 ? \"-\" : \"\") + \"0x\" + Math.abs(byte).toString(16).padStart(2, \"0\");\n}\n//# sourceMappingURL=prettyByte.mjs.map","import { utf8DecodeJs } from \"./utils/utf8.mjs\";\nvar DEFAULT_MAX_KEY_LENGTH = 16;\nvar DEFAULT_MAX_LENGTH_PER_KEY = 16;\nvar CachedKeyDecoder = /** @class */ (function () {\n function CachedKeyDecoder(maxKeyLength, maxLengthPerKey) {\n if (maxKeyLength === void 0) { maxKeyLength = DEFAULT_MAX_KEY_LENGTH; }\n if (maxLengthPerKey === void 0) { maxLengthPerKey = DEFAULT_MAX_LENGTH_PER_KEY; }\n this.maxKeyLength = maxKeyLength;\n this.maxLengthPerKey = maxLengthPerKey;\n this.hit = 0;\n this.miss = 0;\n // avoid `new Array(N)`, which makes a sparse array,\n // because a sparse array is typically slower than a non-sparse array.\n this.caches = [];\n for (var i = 0; i < this.maxKeyLength; i++) {\n this.caches.push([]);\n }\n }\n CachedKeyDecoder.prototype.canBeCached = function (byteLength) {\n return byteLength > 0 && byteLength <= this.maxKeyLength;\n };\n CachedKeyDecoder.prototype.find = function (bytes, inputOffset, byteLength) {\n var records = this.caches[byteLength - 1];\n FIND_CHUNK: for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {\n var record = records_1[_i];\n var recordBytes = record.bytes;\n for (var j = 0; j < byteLength; j++) {\n if (recordBytes[j] !== bytes[inputOffset + j]) {\n continue FIND_CHUNK;\n }\n }\n return record.str;\n }\n return null;\n };\n CachedKeyDecoder.prototype.store = function (bytes, value) {\n var records = this.caches[bytes.length - 1];\n var record = { bytes: bytes, str: value };\n if (records.length >= this.maxLengthPerKey) {\n // `records` are full!\n // Set `record` to an arbitrary position.\n records[(Math.random() * records.length) | 0] = record;\n }\n else {\n records.push(record);\n }\n };\n CachedKeyDecoder.prototype.decode = function (bytes, inputOffset, byteLength) {\n var cachedValue = this.find(bytes, inputOffset, byteLength);\n if (cachedValue != null) {\n this.hit++;\n return cachedValue;\n }\n this.miss++;\n var str = utf8DecodeJs(bytes, inputOffset, byteLength);\n // Ensure to copy a slice of bytes because the byte may be NodeJS Buffer and Buffer#slice() returns a reference to its internal ArrayBuffer.\n var slicedCopyOfBytes = Uint8Array.prototype.slice.call(bytes, inputOffset, inputOffset + byteLength);\n this.store(slicedCopyOfBytes, str);\n return str;\n };\n return CachedKeyDecoder;\n}());\nexport { CachedKeyDecoder };\n//# sourceMappingURL=CachedKeyDecoder.mjs.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n};\nvar __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\nvar __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n};\nimport { prettyByte } from \"./utils/prettyByte.mjs\";\nimport { ExtensionCodec } from \"./ExtensionCodec.mjs\";\nimport { getInt64, getUint64, UINT32_MAX } from \"./utils/int.mjs\";\nimport { utf8DecodeJs, TEXT_DECODER_THRESHOLD, utf8DecodeTD } from \"./utils/utf8.mjs\";\nimport { createDataView, ensureUint8Array } from \"./utils/typedArrays.mjs\";\nimport { CachedKeyDecoder } from \"./CachedKeyDecoder.mjs\";\nimport { DecodeError } from \"./DecodeError.mjs\";\nvar isValidMapKeyType = function (key) {\n var keyType = typeof key;\n return keyType === \"string\" || keyType === \"number\";\n};\nvar HEAD_BYTE_REQUIRED = -1;\nvar EMPTY_VIEW = new DataView(new ArrayBuffer(0));\nvar EMPTY_BYTES = new Uint8Array(EMPTY_VIEW.buffer);\n// IE11: Hack to support IE11.\n// IE11: Drop this hack and just use RangeError when IE11 is obsolete.\nexport var DataViewIndexOutOfBoundsError = (function () {\n try {\n // IE11: The spec says it should throw RangeError,\n // IE11: but in IE11 it throws TypeError.\n EMPTY_VIEW.getInt8(0);\n }\n catch (e) {\n return e.constructor;\n }\n throw new Error(\"never reached\");\n})();\nvar MORE_DATA = new DataViewIndexOutOfBoundsError(\"Insufficient data\");\nvar sharedCachedKeyDecoder = new CachedKeyDecoder();\nvar Decoder = /** @class */ (function () {\n function Decoder(extensionCodec, context, maxStrLength, maxBinLength, maxArrayLength, maxMapLength, maxExtLength, keyDecoder) {\n if (extensionCodec === void 0) { extensionCodec = ExtensionCodec.defaultCodec; }\n if (context === void 0) { context = undefined; }\n if (maxStrLength === void 0) { maxStrLength = UINT32_MAX; }\n if (maxBinLength === void 0) { maxBinLength = UINT32_MAX; }\n if (maxArrayLength === void 0) { maxArrayLength = UINT32_MAX; }\n if (maxMapLength === void 0) { maxMapLength = UINT32_MAX; }\n if (maxExtLength === void 0) { maxExtLength = UINT32_MAX; }\n if (keyDecoder === void 0) { keyDecoder = sharedCachedKeyDecoder; }\n this.extensionCodec = extensionCodec;\n this.context = context;\n this.maxStrLength = maxStrLength;\n this.maxBinLength = maxBinLength;\n this.maxArrayLength = maxArrayLength;\n this.maxMapLength = maxMapLength;\n this.maxExtLength = maxExtLength;\n this.keyDecoder = keyDecoder;\n this.totalPos = 0;\n this.pos = 0;\n this.view = EMPTY_VIEW;\n this.bytes = EMPTY_BYTES;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack = [];\n }\n Decoder.prototype.reinitializeState = function () {\n this.totalPos = 0;\n this.headByte = HEAD_BYTE_REQUIRED;\n this.stack.length = 0;\n // view, bytes, and pos will be re-initialized in setBuffer()\n };\n Decoder.prototype.setBuffer = function (buffer) {\n this.bytes = ensureUint8Array(buffer);\n this.view = createDataView(this.bytes);\n this.pos = 0;\n };\n Decoder.prototype.appendBuffer = function (buffer) {\n if (this.headByte === HEAD_BYTE_REQUIRED && !this.hasRemaining(1)) {\n this.setBuffer(buffer);\n }\n else {\n var remainingData = this.bytes.subarray(this.pos);\n var newData = ensureUint8Array(buffer);\n // concat remainingData + newData\n var newBuffer = new Uint8Array(remainingData.length + newData.length);\n newBuffer.set(remainingData);\n newBuffer.set(newData, remainingData.length);\n this.setBuffer(newBuffer);\n }\n };\n Decoder.prototype.hasRemaining = function (size) {\n return this.view.byteLength - this.pos >= size;\n };\n Decoder.prototype.createExtraByteError = function (posToShow) {\n var _a = this, view = _a.view, pos = _a.pos;\n return new RangeError(\"Extra \" + (view.byteLength - pos) + \" of \" + view.byteLength + \" byte(s) found at buffer[\" + posToShow + \"]\");\n };\n /**\n * @throws {DecodeError}\n * @throws {RangeError}\n */\n Decoder.prototype.decode = function (buffer) {\n this.reinitializeState();\n this.setBuffer(buffer);\n var object = this.doDecodeSync();\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.pos);\n }\n return object;\n };\n Decoder.prototype.decodeMulti = function (buffer) {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.reinitializeState();\n this.setBuffer(buffer);\n _a.label = 1;\n case 1:\n if (!this.hasRemaining(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.doDecodeSync()];\n case 2:\n _a.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n Decoder.prototype.decodeAsync = function (stream) {\n var stream_1, stream_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function () {\n var decoded, object, buffer, e_1_1, _b, headByte, pos, totalPos;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n decoded = false;\n _c.label = 1;\n case 1:\n _c.trys.push([1, 6, 7, 12]);\n stream_1 = __asyncValues(stream);\n _c.label = 2;\n case 2: return [4 /*yield*/, stream_1.next()];\n case 3:\n if (!(stream_1_1 = _c.sent(), !stream_1_1.done)) return [3 /*break*/, 5];\n buffer = stream_1_1.value;\n if (decoded) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n try {\n object = this.doDecodeSync();\n decoded = true;\n }\n catch (e) {\n if (!(e instanceof DataViewIndexOutOfBoundsError)) {\n throw e; // rethrow\n }\n // fallthrough\n }\n this.totalPos += this.pos;\n _c.label = 4;\n case 4: return [3 /*break*/, 2];\n case 5: return [3 /*break*/, 12];\n case 6:\n e_1_1 = _c.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 12];\n case 7:\n _c.trys.push([7, , 10, 11]);\n if (!(stream_1_1 && !stream_1_1.done && (_a = stream_1.return))) return [3 /*break*/, 9];\n return [4 /*yield*/, _a.call(stream_1)];\n case 8:\n _c.sent();\n _c.label = 9;\n case 9: return [3 /*break*/, 11];\n case 10:\n if (e_1) throw e_1.error;\n return [7 /*endfinally*/];\n case 11: return [7 /*endfinally*/];\n case 12:\n if (decoded) {\n if (this.hasRemaining(1)) {\n throw this.createExtraByteError(this.totalPos);\n }\n return [2 /*return*/, object];\n }\n _b = this, headByte = _b.headByte, pos = _b.pos, totalPos = _b.totalPos;\n throw new RangeError(\"Insufficient data in parsing \" + prettyByte(headByte) + \" at \" + totalPos + \" (\" + pos + \" in the current buffer)\");\n }\n });\n });\n };\n Decoder.prototype.decodeArrayStream = function (stream) {\n return this.decodeMultiAsync(stream, true);\n };\n Decoder.prototype.decodeStream = function (stream) {\n return this.decodeMultiAsync(stream, false);\n };\n Decoder.prototype.decodeMultiAsync = function (stream, isArray) {\n return __asyncGenerator(this, arguments, function decodeMultiAsync_1() {\n var isArrayHeaderRequired, arrayItemsLeft, stream_2, stream_2_1, buffer, e_2, e_3_1;\n var e_3, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n isArrayHeaderRequired = isArray;\n arrayItemsLeft = -1;\n _b.label = 1;\n case 1:\n _b.trys.push([1, 13, 14, 19]);\n stream_2 = __asyncValues(stream);\n _b.label = 2;\n case 2: return [4 /*yield*/, __await(stream_2.next())];\n case 3:\n if (!(stream_2_1 = _b.sent(), !stream_2_1.done)) return [3 /*break*/, 12];\n buffer = stream_2_1.value;\n if (isArray && arrayItemsLeft === 0) {\n throw this.createExtraByteError(this.totalPos);\n }\n this.appendBuffer(buffer);\n if (isArrayHeaderRequired) {\n arrayItemsLeft = this.readArraySize();\n isArrayHeaderRequired = false;\n this.complete();\n }\n _b.label = 4;\n case 4:\n _b.trys.push([4, 9, , 10]);\n _b.label = 5;\n case 5:\n if (!true) return [3 /*break*/, 8];\n return [4 /*yield*/, __await(this.doDecodeSync())];\n case 6: return [4 /*yield*/, _b.sent()];\n case 7:\n _b.sent();\n if (--arrayItemsLeft === 0) {\n return [3 /*break*/, 8];\n }\n return [3 /*break*/, 5];\n case 8: return [3 /*break*/, 10];\n case 9:\n e_2 = _b.sent();\n if (!(e_2 instanceof DataViewIndexOutOfBoundsError)) {\n throw e_2; // rethrow\n }\n return [3 /*break*/, 10];\n case 10:\n this.totalPos += this.pos;\n _b.label = 11;\n case 11: return [3 /*break*/, 2];\n case 12: return [3 /*break*/, 19];\n case 13:\n e_3_1 = _b.sent();\n e_3 = { error: e_3_1 };\n return [3 /*break*/, 19];\n case 14:\n _b.trys.push([14, , 17, 18]);\n if (!(stream_2_1 && !stream_2_1.done && (_a = stream_2.return))) return [3 /*break*/, 16];\n return [4 /*yield*/, __await(_a.call(stream_2))];\n case 15:\n _b.sent();\n _b.label = 16;\n case 16: return [3 /*break*/, 18];\n case 17:\n if (e_3) throw e_3.error;\n return [7 /*endfinally*/];\n case 18: return [7 /*endfinally*/];\n case 19: return [2 /*return*/];\n }\n });\n });\n };\n Decoder.prototype.doDecodeSync = function () {\n DECODE: while (true) {\n var headByte = this.readHeadByte();\n var object = void 0;\n if (headByte >= 0xe0) {\n // negative fixint (111x xxxx) 0xe0 - 0xff\n object = headByte - 0x100;\n }\n else if (headByte < 0xc0) {\n if (headByte < 0x80) {\n // positive fixint (0xxx xxxx) 0x00 - 0x7f\n object = headByte;\n }\n else if (headByte < 0x90) {\n // fixmap (1000 xxxx) 0x80 - 0x8f\n var size = headByte - 0x80;\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte < 0xa0) {\n // fixarray (1001 xxxx) 0x90 - 0x9f\n var size = headByte - 0x90;\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else {\n // fixstr (101x xxxx) 0xa0 - 0xbf\n var byteLength = headByte - 0xa0;\n object = this.decodeUtf8String(byteLength, 0);\n }\n }\n else if (headByte === 0xc0) {\n // nil\n object = null;\n }\n else if (headByte === 0xc2) {\n // false\n object = false;\n }\n else if (headByte === 0xc3) {\n // true\n object = true;\n }\n else if (headByte === 0xca) {\n // float 32\n object = this.readF32();\n }\n else if (headByte === 0xcb) {\n // float 64\n object = this.readF64();\n }\n else if (headByte === 0xcc) {\n // uint 8\n object = this.readU8();\n }\n else if (headByte === 0xcd) {\n // uint 16\n object = this.readU16();\n }\n else if (headByte === 0xce) {\n // uint 32\n object = this.readU32();\n }\n else if (headByte === 0xcf) {\n // uint 64\n object = this.readU64();\n }\n else if (headByte === 0xd0) {\n // int 8\n object = this.readI8();\n }\n else if (headByte === 0xd1) {\n // int 16\n object = this.readI16();\n }\n else if (headByte === 0xd2) {\n // int 32\n object = this.readI32();\n }\n else if (headByte === 0xd3) {\n // int 64\n object = this.readI64();\n }\n else if (headByte === 0xd9) {\n // str 8\n var byteLength = this.lookU8();\n object = this.decodeUtf8String(byteLength, 1);\n }\n else if (headByte === 0xda) {\n // str 16\n var byteLength = this.lookU16();\n object = this.decodeUtf8String(byteLength, 2);\n }\n else if (headByte === 0xdb) {\n // str 32\n var byteLength = this.lookU32();\n object = this.decodeUtf8String(byteLength, 4);\n }\n else if (headByte === 0xdc) {\n // array 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xdd) {\n // array 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushArrayState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = [];\n }\n }\n else if (headByte === 0xde) {\n // map 16\n var size = this.readU16();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xdf) {\n // map 32\n var size = this.readU32();\n if (size !== 0) {\n this.pushMapState(size);\n this.complete();\n continue DECODE;\n }\n else {\n object = {};\n }\n }\n else if (headByte === 0xc4) {\n // bin 8\n var size = this.lookU8();\n object = this.decodeBinary(size, 1);\n }\n else if (headByte === 0xc5) {\n // bin 16\n var size = this.lookU16();\n object = this.decodeBinary(size, 2);\n }\n else if (headByte === 0xc6) {\n // bin 32\n var size = this.lookU32();\n object = this.decodeBinary(size, 4);\n }\n else if (headByte === 0xd4) {\n // fixext 1\n object = this.decodeExtension(1, 0);\n }\n else if (headByte === 0xd5) {\n // fixext 2\n object = this.decodeExtension(2, 0);\n }\n else if (headByte === 0xd6) {\n // fixext 4\n object = this.decodeExtension(4, 0);\n }\n else if (headByte === 0xd7) {\n // fixext 8\n object = this.decodeExtension(8, 0);\n }\n else if (headByte === 0xd8) {\n // fixext 16\n object = this.decodeExtension(16, 0);\n }\n else if (headByte === 0xc7) {\n // ext 8\n var size = this.lookU8();\n object = this.decodeExtension(size, 1);\n }\n else if (headByte === 0xc8) {\n // ext 16\n var size = this.lookU16();\n object = this.decodeExtension(size, 2);\n }\n else if (headByte === 0xc9) {\n // ext 32\n var size = this.lookU32();\n object = this.decodeExtension(size, 4);\n }\n else {\n throw new DecodeError(\"Unrecognized type byte: \" + prettyByte(headByte));\n }\n this.complete();\n var stack = this.stack;\n while (stack.length > 0) {\n // arrays and maps\n var state = stack[stack.length - 1];\n if (state.type === 0 /* ARRAY */) {\n state.array[state.position] = object;\n state.position++;\n if (state.position === state.size) {\n stack.pop();\n object = state.array;\n }\n else {\n continue DECODE;\n }\n }\n else if (state.type === 1 /* MAP_KEY */) {\n if (!isValidMapKeyType(object)) {\n throw new DecodeError(\"The type of key must be string or number but \" + typeof object);\n }\n if (object === \"__proto__\") {\n throw new DecodeError(\"The key __proto__ is not allowed\");\n }\n state.key = object;\n state.type = 2 /* MAP_VALUE */;\n continue DECODE;\n }\n else {\n // it must be `state.type === State.MAP_VALUE` here\n state.map[state.key] = object;\n state.readCount++;\n if (state.readCount === state.size) {\n stack.pop();\n object = state.map;\n }\n else {\n state.key = null;\n state.type = 1 /* MAP_KEY */;\n continue DECODE;\n }\n }\n }\n return object;\n }\n };\n Decoder.prototype.readHeadByte = function () {\n if (this.headByte === HEAD_BYTE_REQUIRED) {\n this.headByte = this.readU8();\n // console.log(\"headByte\", prettyByte(this.headByte));\n }\n return this.headByte;\n };\n Decoder.prototype.complete = function () {\n this.headByte = HEAD_BYTE_REQUIRED;\n };\n Decoder.prototype.readArraySize = function () {\n var headByte = this.readHeadByte();\n switch (headByte) {\n case 0xdc:\n return this.readU16();\n case 0xdd:\n return this.readU32();\n default: {\n if (headByte < 0xa0) {\n return headByte - 0x90;\n }\n else {\n throw new DecodeError(\"Unrecognized array type byte: \" + prettyByte(headByte));\n }\n }\n }\n };\n Decoder.prototype.pushMapState = function (size) {\n if (size > this.maxMapLength) {\n throw new DecodeError(\"Max length exceeded: map length (\" + size + \") > maxMapLengthLength (\" + this.maxMapLength + \")\");\n }\n this.stack.push({\n type: 1 /* MAP_KEY */,\n size: size,\n key: null,\n readCount: 0,\n map: {},\n });\n };\n Decoder.prototype.pushArrayState = function (size) {\n if (size > this.maxArrayLength) {\n throw new DecodeError(\"Max length exceeded: array length (\" + size + \") > maxArrayLength (\" + this.maxArrayLength + \")\");\n }\n this.stack.push({\n type: 0 /* ARRAY */,\n size: size,\n array: new Array(size),\n position: 0,\n });\n };\n Decoder.prototype.decodeUtf8String = function (byteLength, headerOffset) {\n var _a;\n if (byteLength > this.maxStrLength) {\n throw new DecodeError(\"Max length exceeded: UTF-8 byte length (\" + byteLength + \") > maxStrLength (\" + this.maxStrLength + \")\");\n }\n if (this.bytes.byteLength < this.pos + headerOffset + byteLength) {\n throw MORE_DATA;\n }\n var offset = this.pos + headerOffset;\n var object;\n if (this.stateIsMapKey() && ((_a = this.keyDecoder) === null || _a === void 0 ? void 0 : _a.canBeCached(byteLength))) {\n object = this.keyDecoder.decode(this.bytes, offset, byteLength);\n }\n else if (byteLength > TEXT_DECODER_THRESHOLD) {\n object = utf8DecodeTD(this.bytes, offset, byteLength);\n }\n else {\n object = utf8DecodeJs(this.bytes, offset, byteLength);\n }\n this.pos += headerOffset + byteLength;\n return object;\n };\n Decoder.prototype.stateIsMapKey = function () {\n if (this.stack.length > 0) {\n var state = this.stack[this.stack.length - 1];\n return state.type === 1 /* MAP_KEY */;\n }\n return false;\n };\n Decoder.prototype.decodeBinary = function (byteLength, headOffset) {\n if (byteLength > this.maxBinLength) {\n throw new DecodeError(\"Max length exceeded: bin length (\" + byteLength + \") > maxBinLength (\" + this.maxBinLength + \")\");\n }\n if (!this.hasRemaining(byteLength + headOffset)) {\n throw MORE_DATA;\n }\n var offset = this.pos + headOffset;\n var object = this.bytes.subarray(offset, offset + byteLength);\n this.pos += headOffset + byteLength;\n return object;\n };\n Decoder.prototype.decodeExtension = function (size, headOffset) {\n if (size > this.maxExtLength) {\n throw new DecodeError(\"Max length exceeded: ext length (\" + size + \") > maxExtLength (\" + this.maxExtLength + \")\");\n }\n var extType = this.view.getInt8(this.pos + headOffset);\n var data = this.decodeBinary(size, headOffset + 1 /* extType */);\n return this.extensionCodec.decode(data, extType, this.context);\n };\n Decoder.prototype.lookU8 = function () {\n return this.view.getUint8(this.pos);\n };\n Decoder.prototype.lookU16 = function () {\n return this.view.getUint16(this.pos);\n };\n Decoder.prototype.lookU32 = function () {\n return this.view.getUint32(this.pos);\n };\n Decoder.prototype.readU8 = function () {\n var value = this.view.getUint8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readI8 = function () {\n var value = this.view.getInt8(this.pos);\n this.pos++;\n return value;\n };\n Decoder.prototype.readU16 = function () {\n var value = this.view.getUint16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readI16 = function () {\n var value = this.view.getInt16(this.pos);\n this.pos += 2;\n return value;\n };\n Decoder.prototype.readU32 = function () {\n var value = this.view.getUint32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readI32 = function () {\n var value = this.view.getInt32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readU64 = function () {\n var value = getUint64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readI64 = function () {\n var value = getInt64(this.view, this.pos);\n this.pos += 8;\n return value;\n };\n Decoder.prototype.readF32 = function () {\n var value = this.view.getFloat32(this.pos);\n this.pos += 4;\n return value;\n };\n Decoder.prototype.readF64 = function () {\n var value = this.view.getFloat64(this.pos);\n this.pos += 8;\n return value;\n };\n return Decoder;\n}());\nexport { Decoder };\n//# sourceMappingURL=Decoder.mjs.map","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Not exported from index.\r\n/** @private */\r\nexport class BinaryMessageFormat {\r\n\r\n // The length prefix of binary messages is encoded as VarInt. Read the comment in\r\n // the BinaryMessageParser.TryParseMessage for details.\r\n\r\n public static write(output: Uint8Array): ArrayBuffer {\r\n let size = output.byteLength || output.length;\r\n const lenBuffer = [];\r\n do {\r\n let sizePart = size & 0x7f;\r\n size = size >> 7;\r\n if (size > 0) {\r\n sizePart |= 0x80;\r\n }\r\n lenBuffer.push(sizePart);\r\n }\r\n while (size > 0);\r\n\r\n size = output.byteLength || output.length;\r\n\r\n const buffer = new Uint8Array(lenBuffer.length + size);\r\n buffer.set(lenBuffer, 0);\r\n buffer.set(output, lenBuffer.length);\r\n return buffer.buffer;\r\n }\r\n\r\n public static parse(input: ArrayBuffer): Uint8Array[] {\r\n const result: Uint8Array[] = [];\r\n const uint8Array = new Uint8Array(input);\r\n const maxLengthPrefixSize = 5;\r\n const numBitsToShift = [0, 7, 14, 21, 28 ];\r\n\r\n for (let offset = 0; offset < input.byteLength;) {\r\n let numBytes = 0;\r\n let size = 0;\r\n let byteRead;\r\n do {\r\n byteRead = uint8Array[offset + numBytes];\r\n size = size | ((byteRead & 0x7f) << (numBitsToShift[numBytes]));\r\n numBytes++;\r\n }\r\n while (numBytes < Math.min(maxLengthPrefixSize, input.byteLength - offset) && (byteRead & 0x80) !== 0);\r\n\r\n if ((byteRead & 0x80) !== 0 && numBytes < maxLengthPrefixSize) {\r\n throw new Error(\"Cannot read message size.\");\r\n }\r\n\r\n if (numBytes === maxLengthPrefixSize && byteRead > 7) {\r\n throw new Error(\"Messages bigger than 2GB are not supported.\");\r\n }\r\n\r\n if (uint8Array.byteLength >= (offset + numBytes + size)) {\r\n // IE does not support .slice() so use subarray\r\n result.push(uint8Array.slice\r\n ? uint8Array.slice(offset + numBytes, offset + numBytes + size)\r\n : uint8Array.subarray(offset + numBytes, offset + numBytes + size));\r\n } else {\r\n throw new Error(\"Incomplete message.\");\r\n }\r\n\r\n offset = offset + numBytes + size;\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\nimport { Encoder, Decoder } from \"@msgpack/msgpack\";\r\n\r\nimport { MessagePackOptions } from \"./MessagePackOptions\";\r\n\r\nimport {\r\n CancelInvocationMessage, CompletionMessage, HubMessage, IHubProtocol, ILogger, InvocationMessage,\r\n LogLevel, MessageHeaders, MessageType, NullLogger, StreamInvocationMessage, StreamItemMessage, TransferFormat,\r\n} from \"@microsoft/signalr\";\r\n\r\nimport { BinaryMessageFormat } from \"./BinaryMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n\r\n// TypeDoc's @inheritDoc and @link don't work across modules :(\r\n\r\n// constant encoding of the ping message\r\n// see: https://github.com/aspnet/SignalR/blob/dev/specs/HubProtocol.md#ping-message-encoding-1\r\n// Don't use Uint8Array.from as IE does not support it\r\nconst SERIALIZED_PING_MESSAGE: Uint8Array = new Uint8Array([0x91, MessageType.Ping]);\r\n\r\n/** Implements the MessagePack Hub Protocol */\r\nexport class MessagePackHubProtocol implements IHubProtocol {\r\n /** The name of the protocol. This is used by SignalR to resolve the protocol between the client and server. */\r\n public readonly name: string = \"messagepack\";\r\n /** The version of the protocol. */\r\n public readonly version: number = 1;\r\n /** The TransferFormat of the protocol. */\r\n public readonly transferFormat: TransferFormat = TransferFormat.Binary;\r\n\r\n private readonly _errorResult = 1;\r\n private readonly _voidResult = 2;\r\n private readonly _nonVoidResult = 3;\r\n\r\n private readonly _encoder: Encoder;\r\n private readonly _decoder: Decoder;\r\n\r\n /**\r\n *\r\n * @param messagePackOptions MessagePack options passed to @msgpack/msgpack\r\n */\r\n constructor(messagePackOptions?: MessagePackOptions) {\r\n messagePackOptions = messagePackOptions || {};\r\n this._encoder = new Encoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxDepth,\r\n messagePackOptions.initialBufferSize,\r\n messagePackOptions.sortKeys,\r\n messagePackOptions.forceFloat32,\r\n messagePackOptions.ignoreUndefined,\r\n messagePackOptions.forceIntegerToFloat,\r\n );\r\n\r\n this._decoder = new Decoder(\r\n messagePackOptions.extensionCodec,\r\n messagePackOptions.context,\r\n messagePackOptions.maxStrLength,\r\n messagePackOptions.maxBinLength,\r\n messagePackOptions.maxArrayLength,\r\n messagePackOptions.maxMapLength,\r\n messagePackOptions.maxExtLength,\r\n );\r\n }\r\n\r\n /** Creates an array of HubMessage objects from the specified serialized representation.\r\n *\r\n * @param {ArrayBuffer} input An ArrayBuffer containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n public parseMessages(input: ArrayBuffer, logger: ILogger): HubMessage[] {\r\n // The interface does allow \"string\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (!(isArrayBuffer(input))) {\r\n throw new Error(\"Invalid input for MessagePack hub protocol. Expected an ArrayBuffer.\");\r\n }\r\n\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n\r\n const messages = BinaryMessageFormat.parse(input);\r\n\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = this._parseMessage(message, logger);\r\n // Can be null for an unknown message. Unknown message is logged in parseMessage\r\n if (parsedMessage) {\r\n hubMessages.push(parsedMessage);\r\n }\r\n }\r\n\r\n return hubMessages;\r\n }\r\n\r\n /** Writes the specified HubMessage to an ArrayBuffer and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {ArrayBuffer} An ArrayBuffer containing the serialized representation of the message.\r\n */\r\n public writeMessage(message: HubMessage): ArrayBuffer {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n return this._writeInvocation(message as InvocationMessage);\r\n case MessageType.StreamInvocation:\r\n return this._writeStreamInvocation(message as StreamInvocationMessage);\r\n case MessageType.StreamItem:\r\n return this._writeStreamItem(message as StreamItemMessage);\r\n case MessageType.Completion:\r\n return this._writeCompletion(message as CompletionMessage);\r\n case MessageType.Ping:\r\n return BinaryMessageFormat.write(SERIALIZED_PING_MESSAGE);\r\n case MessageType.CancelInvocation:\r\n return this._writeCancelInvocation(message as CancelInvocationMessage);\r\n default:\r\n throw new Error(\"Invalid message type.\");\r\n }\r\n }\r\n\r\n private _parseMessage(input: Uint8Array, logger: ILogger): HubMessage | null {\r\n if (input.length === 0) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const properties = this._decoder.decode(input) as any;\r\n if (properties.length === 0 || !(properties instanceof Array)) {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n\r\n const messageType = properties[0] as MessageType;\r\n\r\n switch (messageType) {\r\n case MessageType.Invocation:\r\n return this._createInvocationMessage(this._readHeaders(properties), properties);\r\n case MessageType.StreamItem:\r\n return this._createStreamItemMessage(this._readHeaders(properties), properties);\r\n case MessageType.Completion:\r\n return this._createCompletionMessage(this._readHeaders(properties), properties);\r\n case MessageType.Ping:\r\n return this._createPingMessage(properties);\r\n case MessageType.Close:\r\n return this._createCloseMessage(properties);\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + messageType + \"' ignored.\");\r\n return null;\r\n }\r\n }\r\n\r\n private _createCloseMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 2) {\r\n throw new Error(\"Invalid payload for Close message.\");\r\n }\r\n\r\n return {\r\n // Close messages have no headers.\r\n allowReconnect: properties.length >= 3 ? properties[2] : undefined,\r\n error: properties[1],\r\n type: MessageType.Close,\r\n } as HubMessage;\r\n }\r\n\r\n private _createPingMessage(properties: any[]): HubMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 1) {\r\n throw new Error(\"Invalid payload for Ping message.\");\r\n }\r\n\r\n return {\r\n // Ping messages have no headers.\r\n type: MessageType.Ping,\r\n } as HubMessage;\r\n }\r\n\r\n private _createInvocationMessage(headers: MessageHeaders, properties: any[]): InvocationMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 5) {\r\n throw new Error(\"Invalid payload for Invocation message.\");\r\n }\r\n\r\n const invocationId = properties[2] as string;\r\n if (invocationId) {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n invocationId,\r\n streamIds: [],\r\n target: properties[3] as string,\r\n type: MessageType.Invocation,\r\n };\r\n } else {\r\n return {\r\n arguments: properties[4],\r\n headers,\r\n streamIds: [],\r\n target: properties[3],\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n\r\n }\r\n\r\n private _createStreamItemMessage(headers: MessageHeaders, properties: any[]): StreamItemMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n\r\n return {\r\n headers,\r\n invocationId: properties[2],\r\n item: properties[3],\r\n type: MessageType.StreamItem,\r\n } as StreamItemMessage;\r\n }\r\n\r\n private _createCompletionMessage(headers: MessageHeaders, properties: any[]): CompletionMessage {\r\n // check minimum length to allow protocol to add items to the end of objects in future releases\r\n if (properties.length < 4) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n const resultKind = properties[3];\r\n\r\n if (resultKind !== this._voidResult && properties.length < 5) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n\r\n let error: string | undefined;\r\n let result: any;\r\n\r\n switch (resultKind) {\r\n case this._errorResult:\r\n error = properties[4];\r\n break;\r\n case this._nonVoidResult:\r\n result = properties[4];\r\n break;\r\n }\r\n\r\n const completionMessage: CompletionMessage = {\r\n error,\r\n headers,\r\n invocationId: properties[2],\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n\r\n return completionMessage;\r\n }\r\n\r\n private _writeInvocation(invocationMessage: InvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (invocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments, invocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.Invocation, invocationMessage.headers || {}, invocationMessage.invocationId || null,\r\n invocationMessage.target, invocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamInvocation(streamInvocationMessage: StreamInvocationMessage): ArrayBuffer {\r\n let payload: any;\r\n if (streamInvocationMessage.streamIds) {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments, streamInvocationMessage.streamIds]);\r\n } else {\r\n payload = this._encoder.encode([MessageType.StreamInvocation, streamInvocationMessage.headers || {}, streamInvocationMessage.invocationId,\r\n streamInvocationMessage.target, streamInvocationMessage.arguments]);\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeStreamItem(streamItemMessage: StreamItemMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.StreamItem, streamItemMessage.headers || {}, streamItemMessage.invocationId,\r\n streamItemMessage.item]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCompletion(completionMessage: CompletionMessage): ArrayBuffer {\r\n const resultKind = completionMessage.error ? this._errorResult :\r\n (completionMessage.result !== undefined) ? this._nonVoidResult : this._voidResult;\r\n\r\n let payload: any;\r\n switch (resultKind) {\r\n case this._errorResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.error]);\r\n break;\r\n case this._voidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind]);\r\n break;\r\n case this._nonVoidResult:\r\n payload = this._encoder.encode([MessageType.Completion, completionMessage.headers || {}, completionMessage.invocationId, resultKind, completionMessage.result]);\r\n break;\r\n }\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _writeCancelInvocation(cancelInvocationMessage: CancelInvocationMessage): ArrayBuffer {\r\n const payload = this._encoder.encode([MessageType.CancelInvocation, cancelInvocationMessage.headers || {}, cancelInvocationMessage.invocationId]);\r\n\r\n return BinaryMessageFormat.write(payload.slice());\r\n }\r\n\r\n private _readHeaders(properties: any): MessageHeaders {\r\n const headers: MessageHeaders = properties[1] as MessageHeaders;\r\n if (typeof headers !== \"object\") {\r\n throw new Error(\"Invalid headers.\");\r\n }\r\n return headers;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Copied from signalr/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val: any): val is ArrayBuffer {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR Message Pack protocol library. */\r\nexport const VERSION = \"0.0.0-DEV_BUILD\";\r\n\r\nexport { MessagePackHubProtocol } from \"./MessagePackHubProtocol\";\r\n\r\nexport { MessagePackOptions } from \"./MessagePackOptions\";\r\n"],"mappings":"AAAA,IAAAA,EAAAC,EAAAD,EASCE,KATDD,EASCE,G,kBCTDC,EAAAC,QAAAF,C,GCCAG,EAAA,GAGA,SAAAC,EAAAC,GAEA,IAAAC,EAAAH,EAAAE,GACA,QAAAE,IAAAD,EACA,OAAAA,EAAAJ,QAGA,IAAAD,EAAAE,EAAAE,GAAA,CAGAH,QAAA,IAOA,OAHAM,EAAAH,GAAAJ,IAAAC,QAAAE,GAGAH,EAAAC,OACA,CCrBAE,EAAAK,EAAA,CAAAP,EAAAQ,KACA,QAAAC,KAAAD,EACAN,EAAAQ,EAAAF,EAAAC,KAAAP,EAAAQ,EAAAV,EAAAS,IACAE,OAAAC,eAAAZ,EAAAS,EAAA,CAAyCI,YAAA,EAAAC,IAAAN,EAAAC,IAEzC,ECNAP,EAAAQ,EAAA,CAAAK,EAAAC,IAAAL,OAAAM,UAAAC,eAAAC,KAAAJ,EAAAC,GCCAd,EAAAkB,EAAApB,IACA,oBAAAqB,eAAAC,aACAX,OAAAC,eAAAZ,EAAAqB,OAAAC,YAAA,CAAuDC,MAAA,WAEvDZ,OAAAC,eAAAZ,EAAA,cAAgDuB,OAAA,GAAa,E,gFCJtD,IAAAC,EAAA,WASA,SAAAC,EAAAC,EAAAC,EAAAJ,GACP,IAAAK,EAAAC,KAAAC,MAAAP,EAAA,YACAQ,EAAAR,EACAG,EAAAM,UAAAL,EAAAC,GACAF,EAAAM,UAAAL,EAAA,EAAAI,EACA,CACO,SAAAE,EAAAP,EAAAC,GAGP,kBAFAD,EAAAQ,SAAAP,GACAD,EAAAS,UAAAR,EAAA,EAEA,CCnBA,IAAAS,GAAA,oBAAAC,SAAA,UAAAA,QAAAC,IAAA,gBACA,oBAAAC,aACA,oBAAAC,YACO,SAAAC,EAAAC,GAIP,IAHA,IAAAC,EAAAD,EAAAE,OACAC,EAAA,EACAC,EAAA,EACAA,EAAAH,GAAA,CACA,IAAApB,EAAAmB,EAAAK,WAAAD,KACA,kBAAAvB,GAKA,kBAAAA,GAEAsB,GAAA,MAEA,CAEA,GAAAtB,GAAA,OAAAA,GAAA,OAEAuB,EAAAH,EAAA,CACA,IAAAK,EAAAN,EAAAK,WAAAD,GACA,cAAAE,OACAF,EACAvB,IAAA,KAAAA,IAAA,UAAAyB,GAAA,MAEA,CAIAH,GAFA,eAAAtB,GAEA,EAIA,CAEA,MA3BAsB,GA4BA,CACA,OAAAA,CACA,CA2CA,IAAAI,EAAAb,EAAA,IAAAG,iBAAAlC,EACO6C,EAAAd,EAEP,oBAAAC,SAAA,UAAAA,QAAAC,IAAA,cACA,IACA,EAHMd,EAUC2B,GAAAF,aAAA,EAAAA,EAAAG,YAHP,SAAAV,EAAAW,EAAAC,GACAL,EAAAG,WAAAV,EAAAW,EAAAE,SAAAD,GACA,EALA,SAAAZ,EAAAW,EAAAC,GACAD,EAAAG,IAAAP,EAAAQ,OAAAf,GAAAY,EACA,EAMO,SAAAI,EAAAC,EAAAC,EAAAf,GAKP,IAJA,IAAAlB,EAAAiC,EACAC,EAAAlC,EAAAkB,EACAiB,EAAA,GACAC,EAAA,GACApC,EAAAkC,GAAA,CACA,IAAAG,EAAAL,EAAAhC,KACA,WAAAqC,GAEAF,EAAAG,KAAAD,QAEA,aAAAA,GAAA,CAEA,IAAAE,EAAA,GAAAP,EAAAhC,KACAmC,EAAAG,MAAA,GAAAD,IAAA,EAAAE,EACA,MACA,aAAAF,GAAA,CAEAE,EAAA,GAAAP,EAAAhC,KAAA,IACAwC,EAAA,GAAAR,EAAAhC,KACAmC,EAAAG,MAAA,GAAAD,IAAA,GAAAE,GAAA,EAAAC,EACA,MACA,aAAAH,GAAA,CAEA,IAGAI,GAAA,EAAAJ,IAAA,IAHAE,EAAA,GAAAP,EAAAhC,OAGA,IAFAwC,EAAA,GAAAR,EAAAhC,OAEA,EADA,GAAAgC,EAAAhC,KAEAyC,EAAA,QACAA,GAAA,MACAN,EAAAG,KAAAG,IAAA,eACAA,EAAA,WAAAA,GAEAN,EAAAG,KAAAG,EACA,MAEAN,EAAAG,KAAAD,GAEAF,EAAAlB,QAvCA,OAwCAmB,GAAAM,OAAAC,aAAAC,MAAAF,OAAAP,GACAA,EAAAlB,OAAA,EAEA,CAIA,OAHAkB,EAAAlB,OAAA,IACAmB,GAAAM,OAAAC,aAAAC,MAAAF,OAAAP,IAEAC,CACA,CACA,IClJAS,EDkJAC,EAAArC,EAAA,IAAAI,YAAA,KACOkC,EAAAtC,EAEP,oBAAAC,SAAA,UAAAA,QAAAC,IAAA,aACA,IACA,EAHMd,EElJNmD,EACA,SAAAC,EAAAC,GACAC,KAAAF,OACAE,KAAAD,MACA,EDPAE,GACAP,EAAA,SAAAjE,EAAAyE,GAIA,OAHAR,EAAA7D,OAAAsE,gBACA,CAAeC,UAAA,cAAgBC,OAAA,SAAA5E,EAAAyE,GAAsCzE,EAAA2E,UAAAF,CAAA,GACrE,SAAAzE,EAAAyE,GAA8B,QAAAI,KAAAJ,EAAArE,OAAAM,UAAAC,eAAAC,KAAA6D,EAAAI,KAAA7E,EAAA6E,GAAAJ,EAAAI,GAAA,EAC9BZ,EAAAjE,EAAAyE,EACA,EACA,SAAAzE,EAAAyE,GACA,sBAAAA,GAAA,OAAAA,EACA,UAAAK,UAAA,uBAAAhB,OAAAW,GAAA,iCAEA,SAAAM,IAAwBR,KAAAS,YAAAhF,CAAA,CADxBiE,EAAAjE,EAAAyE,GAEAzE,EAAAU,UAAA,OAAA+D,EAAArE,OAAA6E,OAAAR,IAAAM,EAAArE,UAAA+D,EAAA/D,UAAA,IAAAqE,EACA,GAEAG,EAAA,SAAAC,GAEA,SAAAD,EAAAE,GACA,IAAAC,EAAAF,EAAAvE,KAAA2D,KAAAa,IAAAb,KAEAe,EAAAlF,OAAA6E,OAAAC,EAAAxE,WAOA,OANAN,OAAAsE,eAAAW,EAAAC,GACAlF,OAAAC,eAAAgF,EAAA,QACAE,cAAA,EACAjF,YAAA,EACAU,MAAAkE,EAAAM,OAEAH,CACA,CACA,OAbAb,EAAAU,EAAAC,GAaAD,CACA,CAfA,CAeCO,OE6DMC,EAAA,CACPrB,MAzFO,EA0FPnB,OA3CO,SAAAyC,GAEP,IAZAC,EACAC,EACAC,EAEAC,EAOA,OAAAJ,aAAAK,KA7CO,SAAAC,GACP,IA0BA9E,EA1BA0E,EAAAI,EAAAJ,IAAAC,EAAAG,EAAAH,KACA,GAAAD,GAAA,GAAAC,GAAA,GAAAD,GAHA,YAGA,CAEA,OAAAC,GAAAD,GANA,WAMA,CAEA,IAAAK,EAAA,IAAAC,WAAA,GAGA,OAFAhF,EAAA,IAAAiF,SAAAF,EAAAG,SACA5E,UAAA,EAAAoE,GACAK,CACA,CAGA,IAAAI,EAAAT,EAAA,WACAU,EAAA,WAAAV,EAOA,OANAK,EAAA,IAAAC,WAAA,IACAhF,EAAA,IAAAiF,SAAAF,EAAAG,SAEA5E,UAAA,EAAAqE,GAAA,IAAAQ,GAEAnF,EAAAM,UAAA,EAAA8E,GACAL,CAEA,CAOA,OAJAA,EAAA,IAAAC,WAAA,KACAhF,EAAA,IAAAiF,SAAAF,EAAAG,SACA5E,UAAA,EAAAqE,GACQ5E,EAAQC,EAAA,EAAA0E,GAChBK,CAEA,CAeAM,EAbAZ,EAYAD,EAZAc,UACAZ,EAAAvE,KAAAC,MAAAqE,EAAA,KACAE,EAAA,KAAAF,EAAA,IAAAC,GAEAE,EAAAzE,KAAAC,MAAAuE,EAAA,KACA,CACAD,MAAAE,EACAD,OAAA,IAAAC,KASA,IAEA,EAoCAW,OAPO,SAAApC,GACP,IAAAqC,EA7BO,SAAArC,GACP,IAAAnD,EAAA,IAAAiF,SAAA9B,EAAA+B,OAAA/B,EAAAsC,WAAAtC,EAAAhC,YAEA,OAAAgC,EAAAhC,YACA,OAIA,OAAqBuD,IAFrB1E,EAAAS,UAAA,GAEqBkE,KADrB,GAGA,OAEA,IAAAe,EAAA1F,EAAAS,UAAA,GAIA,OAAqBiE,IAFrB,cAAAgB,GADA1F,EAAAS,UAAA,GAGqBkE,KADrBe,IAAA,GAGA,QAIA,OAAqBhB,IAFCnE,EAAQP,EAAA,GAET2E,KADrB3E,EAAAS,UAAA,IAGA,QACA,UAAsBsD,EAAW,gEAAAZ,EAAAjC,QAEjC,CAEAyE,CAAAxC,GACA,WAAA0B,KAAA,IAAAW,EAAAd,IAAAc,EAAAb,KAAA,IACA,GCvFAiB,EAAA,WACA,SAAAA,IAEAxC,KAAAyC,gBAAA,GACAzC,KAAA0C,gBAAA,GAEA1C,KAAA2C,SAAA,GACA3C,KAAA4C,SAAA,GACA5C,KAAA6C,SAAsB1B,EACtB,CAuDA,OAtDAqB,EAAArG,UAAA0G,SAAA,SAAAnB,GACA,IAAA5B,EAAA4B,EAAA5B,KAAAnB,EAAA+C,EAAA/C,OAAAwD,EAAAT,EAAAS,OACA,GAAArC,GAAA,EAEAE,KAAA2C,SAAA7C,GAAAnB,EACAqB,KAAA4C,SAAA9C,GAAAqC,MAEA,CAEA,IAAAW,EAAA,EAAAhD,EACAE,KAAAyC,gBAAAK,GAAAnE,EACAqB,KAAA0C,gBAAAI,GAAAX,CACA,CACA,EACAK,EAAArG,UAAA4G,YAAA,SAAA3B,EAAA4B,GAEA,QAAAC,EAAA,EAAwBA,EAAAjD,KAAAyC,gBAAA3E,OAAiCmF,IAEzD,UADAC,EAAAlD,KAAAyC,gBAAAQ,KAGA,OADAlD,EAAAmD,EAAA9B,EAAA4B,IAGA,WAA+BnD,GAD/B,EAAAoD,EACsClD,GAKtC,IAAAkD,EAAA,EAAwBA,EAAAjD,KAAA2C,SAAA7E,OAA0BmF,IAAA,CAClD,IAAAC,EAEAnD,EADA,UADAmD,EAAAlD,KAAA2C,SAAAM,KAGA,OADAlD,EAAAmD,EAAA9B,EAAA4B,IAGA,WAA+BnD,EAD/BoD,EACsClD,EAGtC,CACA,OAAAqB,aAA8BvB,EAE9BuB,EAEA,IACA,EACAoB,EAAArG,UAAAgG,OAAA,SAAApC,EAAAD,EAAAkD,GACA,IAAAG,EAAArD,EAAA,EAAAE,KAAA0C,iBAAA,EAAA5C,GAAAE,KAAA4C,SAAA9C,GACA,OAAAqD,EACAA,EAAApD,EAAAD,EAAAkD,GAIA,IAAuBnD,EAAOC,EAAAC,EAE9B,EACAyC,EAAAY,aAAA,IAAAZ,EACAA,CACA,CAjEA,GCHO,SAAAa,EAAAvB,GACP,OAAAA,aAAAF,WACAE,EAEAwB,YAAAC,OAAAzB,GACA,IAAAF,WAAAE,WAAAO,WAAAP,EAAA/D,YAEA+D,aAAAwB,YACA,IAAA1B,WAAAE,GAIAF,WAAA4B,KAAA1B,EAEA,CCVO,IAEP2B,EAAA,WACA,SAAAA,EAAAC,EAAAV,EAAAW,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,QACA,IAAAN,IAAyCA,EAAiBlB,EAAAY,mBAC1D,IAAAJ,IAAkCA,OAAAzH,QAClC,IAAAoI,IAAmCA,EAN5B,UAOP,IAAAC,IAA4CA,EANrC,WAOP,IAAAC,IAAmCA,GAAA,QACnC,IAAAC,IAAuCA,GAAA,QACvC,IAAAC,IAA0CA,GAAA,QAC1C,IAAAC,IAA8CA,GAAA,GAC9ChE,KAAA0D,iBACA1D,KAAAgD,UACAhD,KAAA2D,WACA3D,KAAA4D,oBACA5D,KAAA6D,WACA7D,KAAA8D,eACA9D,KAAA+D,kBACA/D,KAAAgE,sBACAhE,KAAAhC,IAAA,EACAgC,KAAApD,KAAA,IAAAiF,SAAA,IAAAyB,YAAAtD,KAAA4D,oBACA5D,KAAAnB,MAAA,IAAA+C,WAAA5B,KAAApD,KAAAkF,OACA,CAwXA,OAvXA2B,EAAAtH,UAAA8H,cAAA,WACA,OAAAjE,KAAAnB,MAAAJ,SAAA,EAAAuB,KAAAhC,IACA,EACAyF,EAAAtH,UAAA+H,kBAAA,WACAlE,KAAAhC,IAAA,CACA,EACAyF,EAAAtH,UAAAwC,OAAA,SAAAyC,GAGA,OAFApB,KAAAkE,oBACAlE,KAAAmE,SAAA/C,EAAA,GACApB,KAAAiE,eACA,EACAR,EAAAtH,UAAAgI,SAAA,SAAA/C,EAAAgD,GACA,GAAAA,EAAApE,KAAA2D,SACA,UAAAzC,MAAA,6BAAAkD,GAEA,MAAAhD,EACApB,KAAAqE,YAEA,kBAAAjD,EACApB,KAAAsE,cAAAlD,GAEA,iBAAAA,EACApB,KAAAuE,aAAAnD,GAEA,iBAAAA,EACApB,KAAAwE,aAAApD,GAGApB,KAAAyE,aAAArD,EAAAgD,EAEA,EACAX,EAAAtH,UAAAuI,wBAAA,SAAAC,GACA,IAAAC,EAAA5E,KAAAhC,IAAA2G,EACA3E,KAAApD,KAAAmB,WAAA6G,GACA5E,KAAA6E,aAAA,EAAAD,EAEA,EACAnB,EAAAtH,UAAA0I,aAAA,SAAAC,GACA,IAAAC,EAAA,IAAAzB,YAAAwB,GACAE,EAAA,IAAApD,WAAAmD,GACAE,EAAA,IAAApD,SAAAkD,GACAC,EAAAtG,IAAAsB,KAAAnB,OACAmB,KAAApD,KAAAqI,EACAjF,KAAAnB,MAAAmG,CACA,EACAvB,EAAAtH,UAAAkI,UAAA,WACArE,KAAAkF,QAAA,IACA,EACAzB,EAAAtH,UAAAmI,cAAA,SAAAlD,IACA,IAAAA,EACApB,KAAAkF,QAAA,KAGAlF,KAAAkF,QAAA,IAEA,EACAzB,EAAAtH,UAAAoI,aAAA,SAAAnD,GACA+D,OAAAC,cAAAhE,KAAApB,KAAAgE,oBACA5C,GAAA,EACAA,EAAA,IAEApB,KAAAkF,QAAA9D,GAEAA,EAAA,KAEApB,KAAAkF,QAAA,KACAlF,KAAAkF,QAAA9D,IAEAA,EAAA,OAEApB,KAAAkF,QAAA,KACAlF,KAAAqF,SAAAjE,IAEAA,EAAA,YAEApB,KAAAkF,QAAA,KACAlF,KAAAsF,SAAAlE,KAIApB,KAAAkF,QAAA,KACAlF,KAAAuF,SAAAnE,IAIAA,IAAA,GAEApB,KAAAkF,QAAA,IAAA9D,EAAA,IAEAA,IAAA,KAEApB,KAAAkF,QAAA,KACAlF,KAAAwF,QAAApE,IAEAA,IAAA,OAEApB,KAAAkF,QAAA,KACAlF,KAAAyF,SAAArE,IAEAA,IAAA,YAEApB,KAAAkF,QAAA,KACAlF,KAAA0F,SAAAtE,KAIApB,KAAAkF,QAAA,KACAlF,KAAA2F,SAAAvE,IAMApB,KAAA8D,cAEA9D,KAAAkF,QAAA,KACAlF,KAAA4F,SAAAxE,KAIApB,KAAAkF,QAAA,KACAlF,KAAA6F,SAAAzE,GAGA,EACAqC,EAAAtH,UAAA2J,kBAAA,SAAA/H,GACA,GAAAA,EAAA,GAEAiC,KAAAkF,QAAA,IAAAnH,QAEA,GAAAA,EAAA,IAEAiC,KAAAkF,QAAA,KACAlF,KAAAkF,QAAAnH,QAEA,GAAAA,EAAA,MAEAiC,KAAAkF,QAAA,KACAlF,KAAAqF,SAAAtH,OAEA,MAAAA,EAAA,YAMA,UAAAmD,MAAA,oBAAAnD,EAAA,mBAJAiC,KAAAkF,QAAA,KACAlF,KAAAsF,SAAAvH,EAIA,CACA,EACA0F,EAAAtH,UAAAqI,aAAA,SAAApD,GAGA,GADAA,EAAAtD,OACwBM,EAAsB,CAC9C,IAAAL,EAA6BJ,EAASyD,GACtCpB,KAAA0E,wBAJA,EAIA3G,GACAiC,KAAA8F,kBAAA/H,GACYM,EAAY+C,EAAApB,KAAAnB,MAAAmB,KAAAhC,KACxBgC,KAAAhC,KAAAD,CACA,MAEAA,EAA6BJ,EAASyD,GACtCpB,KAAA0E,wBAXA,EAWA3G,GACAiC,KAAA8F,kBAAA/H,GNnJO,SAAAH,EAAAW,EAAAC,GAIP,IAHA,IAAAX,EAAAD,EAAAE,OACAjB,EAAA2B,EACAR,EAAA,EACAA,EAAAH,GAAA,CACA,IAAApB,EAAAmB,EAAAK,WAAAD,KACA,kBAAAvB,GAAA,CAKA,kBAAAA,GAEA8B,EAAA1B,KAAAJ,GAAA,aAEA,CAEA,GAAAA,GAAA,OAAAA,GAAA,OAEAuB,EAAAH,EAAA,CACA,IAAAK,EAAAN,EAAAK,WAAAD,GACA,cAAAE,OACAF,EACAvB,IAAA,KAAAA,IAAA,UAAAyB,GAAA,MAEA,CAEA,eAAAzB,IAEA8B,EAAA1B,KAAAJ,GAAA,UACA8B,EAAA1B,KAAAJ,GAAA,WAIA8B,EAAA1B,KAAAJ,GAAA,SACA8B,EAAA1B,KAAAJ,GAAA,UACA8B,EAAA1B,KAAAJ,GAAA,SAEA,CACA8B,EAAA1B,KAAA,GAAAJ,EAAA,GADA,MA9BA8B,EAAA1B,KAAAJ,CAgCA,CACA,CM2GYsJ,CAAY3E,EAAApB,KAAAnB,MAAAmB,KAAAhC,KACxBgC,KAAAhC,KAAAD,CAEA,EACA0F,EAAAtH,UAAAsI,aAAA,SAAArD,EAAAgD,GAEA,IAAA4B,EAAAhG,KAAA0D,eAAAX,YAAA3B,EAAApB,KAAAgD,SACA,SAAAgD,EACAhG,KAAAiG,gBAAAD,QAEA,GAAA3F,MAAA6F,QAAA9E,GACApB,KAAAmG,YAAA/E,EAAAgD,QAEA,GAAAd,YAAAC,OAAAnC,GACApB,KAAAoG,aAAAhF,OAEA,qBAAAA,EAKA,UAAAF,MAAA,wBAAArF,OAAAM,UAAAkK,SAAA5G,MAAA2B,IAJApB,KAAAsG,UAAAlF,EAAAgD,EAKA,CACA,EACAX,EAAAtH,UAAAiK,aAAA,SAAAhF,GACA,IAAAmF,EAAAnF,EAAArD,WACA,GAAAwI,EAAA,IAEAvG,KAAAkF,QAAA,KACAlF,KAAAkF,QAAAqB,QAEA,GAAAA,EAAA,MAEAvG,KAAAkF,QAAA,KACAlF,KAAAqF,SAAAkB,OAEA,MAAAA,EAAA,YAMA,UAAArF,MAAA,qBAAAqF,GAJAvG,KAAAkF,QAAA,KACAlF,KAAAsF,SAAAiB,EAIA,CACA,IAAA1H,EAAoBwE,EAAgBjC,GACpCpB,KAAAwG,SAAA3H,EACA,EACA4E,EAAAtH,UAAAgK,YAAA,SAAA/E,EAAAgD,GACA,IAAAmC,EAAAnF,EAAAtD,OACA,GAAAyI,EAAA,GAEAvG,KAAAkF,QAAA,IAAAqB,QAEA,GAAAA,EAAA,MAEAvG,KAAAkF,QAAA,KACAlF,KAAAqF,SAAAkB,OAEA,MAAAA,EAAA,YAMA,UAAArF,MAAA,oBAAAqF,GAJAvG,KAAAkF,QAAA,KACAlF,KAAAsF,SAAAiB,EAIA,CACA,QAAAE,EAAA,EAAAC,EAAAtF,EAA4CqF,EAAAC,EAAA5I,OAAsB2I,IAAA,CAClE,IAAAE,EAAAD,EAAAD,GACAzG,KAAAmE,SAAAwC,EAAAvC,EAAA,EACA,CACA,EACAX,EAAAtH,UAAAyK,sBAAA,SAAAxF,EAAAyF,GAEA,IADA,IAAAC,EAAA,EACAL,EAAA,EAAAM,EAAAF,EAAwCJ,EAAAM,EAAAjJ,OAAoB2I,SAE5DlL,IAAA6F,EADA2F,EAAAN,KAEAK,IAGA,OAAAA,CACA,EACArD,EAAAtH,UAAAmK,UAAA,SAAAlF,EAAAgD,GACA,IAAAyC,EAAAhL,OAAAgL,KAAAzF,GACApB,KAAA6D,UACAgD,EAAAG,OAEA,IAAAT,EAAAvG,KAAA+D,gBAAA/D,KAAA4G,sBAAAxF,EAAAyF,KAAA/I,OACA,GAAAyI,EAAA,GAEAvG,KAAAkF,QAAA,IAAAqB,QAEA,GAAAA,EAAA,MAEAvG,KAAAkF,QAAA,KACAlF,KAAAqF,SAAAkB,OAEA,MAAAA,EAAA,YAMA,UAAArF,MAAA,yBAAAqF,GAJAvG,KAAAkF,QAAA,KACAlF,KAAAsF,SAAAiB,EAIA,CACA,QAAAE,EAAA,EAAAQ,EAAAJ,EAAwCJ,EAAAQ,EAAAnJ,OAAoB2I,IAAA,CAC5D,IAAA9K,EAAAsL,EAAAR,GACAhK,EAAA2E,EAAAzF,GACAqE,KAAA+D,sBAAAxI,IAAAkB,IACAuD,KAAAwE,aAAA7I,GACAqE,KAAAmE,SAAA1H,EAAA2H,EAAA,GAEA,CACA,EACAX,EAAAtH,UAAA8J,gBAAA,SAAAD,GACA,IAAAO,EAAAP,EAAAjG,KAAAjC,OACA,OAAAyI,EAEAvG,KAAAkF,QAAA,UAEA,OAAAqB,EAEAvG,KAAAkF,QAAA,UAEA,OAAAqB,EAEAvG,KAAAkF,QAAA,UAEA,OAAAqB,EAEAvG,KAAAkF,QAAA,UAEA,QAAAqB,EAEAvG,KAAAkF,QAAA,UAEA,GAAAqB,EAAA,IAEAvG,KAAAkF,QAAA,KACAlF,KAAAkF,QAAAqB,QAEA,GAAAA,EAAA,MAEAvG,KAAAkF,QAAA,KACAlF,KAAAqF,SAAAkB,OAEA,MAAAA,EAAA,YAMA,UAAArF,MAAA,+BAAAqF,GAJAvG,KAAAkF,QAAA,KACAlF,KAAAsF,SAAAiB,EAIA,CACAvG,KAAAwF,QAAAQ,EAAAlG,MACAE,KAAAwG,SAAAR,EAAAjG,KACA,EACA0D,EAAAtH,UAAA+I,QAAA,SAAAzI,GACAuD,KAAA0E,wBAAA,GACA1E,KAAApD,KAAAsK,SAAAlH,KAAAhC,IAAAvB,GACAuD,KAAAhC,KACA,EACAyF,EAAAtH,UAAAqK,SAAA,SAAAW,GACA,IAAAZ,EAAAY,EAAArJ,OACAkC,KAAA0E,wBAAA6B,GACAvG,KAAAnB,MAAAH,IAAAyI,EAAAnH,KAAAhC,KACAgC,KAAAhC,KAAAuI,CACA,EACA9C,EAAAtH,UAAAqJ,QAAA,SAAA/I,GACAuD,KAAA0E,wBAAA,GACA1E,KAAApD,KAAAwK,QAAApH,KAAAhC,IAAAvB,GACAuD,KAAAhC,KACA,EACAyF,EAAAtH,UAAAkJ,SAAA,SAAA5I,GACAuD,KAAA0E,wBAAA,GACA1E,KAAApD,KAAAyK,UAAArH,KAAAhC,IAAAvB,GACAuD,KAAAhC,KAAA,CACA,EACAyF,EAAAtH,UAAAsJ,SAAA,SAAAhJ,GACAuD,KAAA0E,wBAAA,GACA1E,KAAApD,KAAA0K,SAAAtH,KAAAhC,IAAAvB,GACAuD,KAAAhC,KAAA,CACA,EACAyF,EAAAtH,UAAAmJ,SAAA,SAAA7I,GACAuD,KAAA0E,wBAAA,GACA1E,KAAApD,KAAAM,UAAA8C,KAAAhC,IAAAvB,GACAuD,KAAAhC,KAAA,CACA,EACAyF,EAAAtH,UAAAuJ,SAAA,SAAAjJ,GACAuD,KAAA0E,wBAAA,GACA1E,KAAApD,KAAA2K,SAAAvH,KAAAhC,IAAAvB,GACAuD,KAAAhC,KAAA,CACA,EACAyF,EAAAtH,UAAAyJ,SAAA,SAAAnJ,GACAuD,KAAA0E,wBAAA,GACA1E,KAAApD,KAAA4K,WAAAxH,KAAAhC,IAAAvB,GACAuD,KAAAhC,KAAA,CACA,EACAyF,EAAAtH,UAAA0J,SAAA,SAAApJ,GACAuD,KAAA0E,wBAAA,GACA1E,KAAApD,KAAA6K,WAAAzH,KAAAhC,IAAAvB,GACAuD,KAAAhC,KAAA,CACA,EACAyF,EAAAtH,UAAAoJ,SAAA,SAAA9I,GACAuD,KAAA0E,wBAAA,GPtYO,SAAA9H,EAAAC,EAAAJ,GACP,IAAAK,EAAAL,EAAA,WACAQ,EAAAR,EACAG,EAAAM,UAAAL,EAAAC,GACAF,EAAAM,UAAAL,EAAA,EAAAI,EACA,COkYQyK,CAAS1H,KAAApD,KAAAoD,KAAAhC,IAAAvB,GACjBuD,KAAAhC,KAAA,CACA,EACAyF,EAAAtH,UAAAwJ,SAAA,SAAAlJ,GACAuD,KAAA0E,wBAAA,GACQ/H,EAAQqD,KAAApD,KAAAoD,KAAAhC,IAAAvB,GAChBuD,KAAAhC,KAAA,CACA,EACAyF,CACA,CA9YA,GCNO,SAAAkE,EAAAC,GACP,OAAAA,EAAA,eAAA7K,KAAA8K,IAAAD,GAAAvB,SAAA,IAAAyB,SAAA,MACA,CCDA,IAEAC,EAAA,WACA,SAAAA,EAAAC,EAAAC,QACA,IAAAD,IAAuCA,EAJvC,SAKA,IAAAC,IAA0CA,EAJ1C,IAKAjI,KAAAgI,eACAhI,KAAAiI,kBACAjI,KAAAkI,IAAA,EACAlI,KAAAmI,KAAA,EAGAnI,KAAAoI,OAAA,GACA,QAAAnF,EAAA,EAAwBA,EAAAjD,KAAAgI,aAAuB/E,IAC/CjD,KAAAoI,OAAAjJ,KAAA,GAEA,CA2CA,OA1CA4I,EAAA5L,UAAAkM,YAAA,SAAAtK,GACA,OAAAA,EAAA,GAAAA,GAAAiC,KAAAgI,YACA,EACAD,EAAA5L,UAAAmM,KAAA,SAAAzJ,EAAAC,EAAAf,GAEAwK,EAAA,QAAA9B,EAAA,EAAA+B,EADAxI,KAAAoI,OAAArK,EAAA,GAC0D0I,EAAA+B,EAAA1K,OAAuB2I,IAAA,CAGjF,IAFA,IAAAgC,EAAAD,EAAA/B,GACAiC,EAAAD,EAAA5J,MACA8J,EAAA,EAA4BA,EAAA5K,EAAgB4K,IAC5C,GAAAD,EAAAC,KAAA9J,EAAAC,EAAA6J,GACA,SAAAJ,EAGA,OAAAE,EAAA7K,GACA,CACA,WACA,EACAmK,EAAA5L,UAAAyM,MAAA,SAAA/J,EAAApC,GACA,IAAAoM,EAAA7I,KAAAoI,OAAAvJ,EAAAf,OAAA,GACA2K,EAAA,CAAuB5J,QAAAjB,IAAAnB,GACvBoM,EAAA/K,QAAAkC,KAAAiI,gBAGAY,EAAA9L,KAAA+L,SAAAD,EAAA/K,OAAA,GAAA2K,EAGAI,EAAA1J,KAAAsJ,EAEA,EACAV,EAAA5L,UAAAgG,OAAA,SAAAtD,EAAAC,EAAAf,GACA,IAAAgL,EAAA/I,KAAAsI,KAAAzJ,EAAAC,EAAAf,GACA,SAAAgL,EAEA,OADA/I,KAAAkI,MACAa,EAEA/I,KAAAmI,OACA,IAAAvK,EAAkBgB,EAAYC,EAAAC,EAAAf,GAE9BiL,EAAApH,WAAAzF,UAAA8M,MAAA5M,KAAAwC,EAAAC,IAAAf,GAEA,OADAiC,KAAA4I,MAAAI,EAAApL,GACAA,CACA,EACAmK,CACA,CA1DA,GCHAmB,EAA6B,SAAAC,EAAAC,EAAAC,EAAAC,GAE7B,WAAAD,MAAAE,WAAA,SAAAC,EAAAC,GACA,SAAAC,EAAAjN,GAAoC,IAAMkN,EAAAL,EAAAM,KAAAnN,GAA2C,CAAZ,MAAAoN,GAAYJ,EAAAI,EAAA,EACrF,SAAAC,EAAArN,GAAmC,IAAMkN,EAAAL,EAAA,MAAA7M,GAA+C,CAAZ,MAAAoN,GAAYJ,EAAAI,EAAA,EACxF,SAAAF,EAAA1K,GAJA,IAAAxC,EAIgCwC,EAAA8K,KAAAP,EAAAvK,EAAAxC,QAJhCA,EAIgCwC,EAAAxC,MAJJA,aAAA4M,EAAA5M,EAAA,IAAA4M,GAAA,SAAAG,GAA+DA,EAAA/M,EAAA,KAI3DuN,KAAAN,EAAAI,EAAA,CAChCH,GAAAL,IAAA7J,MAAA0J,EAAAC,GAAA,KAAAQ,OACA,GACA,EACAK,EAA+B,SAAAd,EAAAe,GAC/B,IAAwGC,EAAAC,EAAAC,EAAAC,EAAxGC,EAAA,CAAcC,MAAA,EAAAC,KAAA,WAA6B,KAAAJ,EAAA,SAAAA,EAAA,GAA0B,OAAAA,EAAA,IAAcK,KAAA,GAAAC,IAAA,IACnF,OAAAL,EAAA,CAAiBV,KAAAgB,EAAA,GAAAC,MAAAD,EAAA,GAAAE,OAAAF,EAAA,IAAoD,mBAAArO,SAAA+N,EAAA/N,OAAAwO,UAAA,WAAqE,OAAA/K,IAAA,GAAcsK,EACxJ,SAAAM,EAAAI,GAAuB,gBAAAC,GAAsB,OAC7C,SAAAC,GACA,GAAAf,EAAA,UAAA5J,UAAA,mCACA,KAAAgK,OACA,GAAAJ,EAAA,EAAAC,IAAAC,EAAA,EAAAa,EAAA,GAAAd,EAAA,OAAAc,EAAA,GAAAd,EAAA,SAAAC,EAAAD,EAAA,SAAAC,EAAAhO,KAAA+N,GAAA,GAAAA,EAAAR,SAAAS,IAAAhO,KAAA+N,EAAAc,EAAA,KAAAnB,KAAA,OAAAM,EAEA,OADAD,EAAA,EAAAC,IAAAa,EAAA,GAAAA,EAAA,GAAAb,EAAA5N,QACAyO,EAAA,IACA,cAAAb,EAAAa,EAAwC,MACxC,OAAmC,OAAnCX,EAAAC,QAAmC,CAAS/N,MAAAyO,EAAA,GAAAnB,MAAA,GAC5C,OAAAQ,EAAAC,QAAmCJ,EAAAc,EAAA,GAAWA,EAAA,IAAU,SACxD,OAAAA,EAAAX,EAAAI,IAAAQ,MAA0CZ,EAAAG,KAAAS,MAAc,SACxD,QACA,MAAAd,KAAAE,EAAAG,MAAA5M,OAAA,GAAAuM,IAAAvM,OAAA,SAAAoN,EAAA,QAAAA,EAAA,KAA8GX,EAAA,EAAO,SACrH,OAAAW,EAAA,MAAAb,GAAAa,EAAA,GAAAb,EAAA,IAAAa,EAAA,GAAAb,EAAA,KAAiFE,EAAAC,MAAAU,EAAA,GAAiB,MAClG,OAAAA,EAAA,IAAAX,EAAAC,MAAAH,EAAA,IAAyDE,EAAAC,MAAAH,EAAA,GAAgBA,EAAAa,EAAQ,MACjF,GAAAb,GAAAE,EAAAC,MAAAH,EAAA,IAA+CE,EAAAC,MAAAH,EAAA,GAAgBE,EAAAI,IAAAxL,KAAA+L,GAAgB,MAC/Eb,EAAA,IAAAE,EAAAI,IAAAQ,MACAZ,EAAAG,KAAAS,MAAkC,SAElCD,EAAAhB,EAAA7N,KAAA8M,EAAAoB,GACU,MAAAV,GAAYqB,EAAA,GAAArB,GAAaO,EAAA,EAAS,QAAUD,EAAAE,EAAA,EACtD,KAAAa,EAAA,SAAAA,EAAA,GAAoC,OAASzO,MAAAyO,EAAA,GAAAA,EAAA,UAAAnB,MAAA,EAC7C,CAtB6CJ,CAAA,CAAAqB,EAAAC,GAAA,EAuB7C,EACAG,EAAiC,SAAAxP,GACjC,IAAAW,OAAA8O,cAAA,UAAA9K,UAAA,wCACA,IAAA0C,EAAAqI,EAAA1P,EAAAW,OAAA8O,eACA,OAAAC,IAAAjP,KAAAT,MAAA,mBAAA2P,kBAAA3P,KAAAW,OAAAwO,YAAA9H,EAAA,GAA2G2H,EAAA,QAAAA,EAAA,SAAAA,EAAA,UAAA3H,EAAA1G,OAAA8O,eAAA,WAAuF,OAAArL,IAAA,EAAciD,GAChN,SAAA2H,EAAAI,GAAuB/H,EAAA+H,GAAApP,EAAAoP,IAAA,SAAAC,GAA8B,WAAA1B,SAAA,SAAAC,EAAAC,IACrD,SAAAD,EAAAC,EAAAhO,EAAAwP,GAA6C1B,QAAAC,QAAAyB,GAAAjB,MAAA,SAAAiB,GAAsCzB,EAAA,CAAU/M,MAAAwO,EAAAlB,KAAAtO,GAAmB,GAAIgO,EAAA,CADf+B,CAAAhC,EAAAC,GAAAwB,EAAArP,EAAAoP,GAAAC,IAAAlB,KAAAkB,EAAAxO,MAAA,GAAwD,EAE7J,EACAgP,EAA2B,SAAAR,GAA4B,OAAAjL,gBAAAyL,GAAAzL,KAAAiL,IAAAjL,MAAA,IAAAyL,EAAAR,EAAA,EACvDS,EAAoC,SAAAvC,EAAAC,EAAAE,GACpC,IAAA/M,OAAA8O,cAAA,UAAA9K,UAAA,wCACA,IAAA0C,EAAAqH,EAAAhB,EAAA7J,MAAA0J,EAAAC,GAAA,IAAAuC,EAAA,GACA,OAAA1I,EAAA,GAAiB2H,EAAA,QAAAA,EAAA,SAAAA,EAAA,UAAA3H,EAAA1G,OAAA8O,eAAA,WAAuF,OAAArL,IAAA,EAAciD,EACtH,SAAA2H,EAAAI,GAAuBV,EAAAU,KAAA/H,EAAA+H,GAAA,SAAAC,GAAgC,WAAA1B,SAAA,SAAAqC,EAAA1L,GAAqCyL,EAAAxM,KAAA,CAAA6L,EAAAC,EAAAW,EAAA1L,IAAA,GAAA2L,EAAAb,EAAAC,EAAA,GAA2C,GACvI,SAAAY,EAAAb,EAAAC,GAA4B,KAC5B3O,EADkCgO,EAAAU,GAAAC,IACXxO,iBAAAgP,EAAAlC,QAAAC,QAAAlN,EAAAG,MAAAwO,GAAAjB,KAAA8B,EAAArC,GAAA+B,EAAAG,EAAA,MAAArP,EADwC,CAAZ,MAAAuN,GAAY2B,EAAAG,EAAA,MAAA9B,EAAA,CAC/D,IAAAvN,CAD+D,CAE/D,SAAAwP,EAAArP,GAA8BoP,EAAA,OAAApP,EAAA,CAC9B,SAAAgN,EAAAhN,GAA6BoP,EAAA,QAAApP,EAAA,CAC7B,SAAA+O,EAAArB,EAAAc,GAA4Bd,EAAAc,GAAAU,EAAAI,QAAAJ,EAAA7N,QAAA+N,EAAAF,EAAA,MAAAA,EAAA,OAC5B,EAaAK,EAAA,IAAAnK,SAAA,IAAAyB,YAAA,IACA2I,EAAA,IAAArK,WAAAoK,EAAAlK,QAGOoK,EAAA,WACP,IAGAF,EAAAG,QAAA,EAIA,CAFA,MAAAtC,GACA,OAAAA,EAAApJ,WACA,CACA,UAAAS,MAAA,gBACC,CAVM,GAWPkL,EAAA,IAAAF,EAAA,qBACAG,EAAA,IAAiCtE,EACjCuE,EAAA,WACA,SAAAA,EAAA5I,EAAAV,EAAAuJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,QACA,IAAAlJ,IAAyCA,EAAiBlB,EAAAY,mBAC1D,IAAAJ,IAAkCA,OAAAzH,QAClC,IAAAgR,IAAuCA,EAAe7P,QACtD,IAAA8P,IAAuCA,EAAe9P,QACtD,IAAA+P,IAAyCA,EAAiB/P,QAC1D,IAAAgQ,IAAuCA,EAAehQ,QACtD,IAAAiQ,IAAuCA,EAAejQ,QACtD,IAAAkQ,IAAqCA,EAAAP,GACrCrM,KAAA0D,iBACA1D,KAAAgD,UACAhD,KAAAuM,eACAvM,KAAAwM,eACAxM,KAAAyM,iBACAzM,KAAA0M,eACA1M,KAAA2M,eACA3M,KAAA4M,aACA5M,KAAA6M,SAAA,EACA7M,KAAAhC,IAAA,EACAgC,KAAApD,KAAAoP,EACAhM,KAAAnB,MAAAoN,EACAjM,KAAA8M,UAxCA,EAyCA9M,KAAA+M,MAAA,EACA,CA8mBA,OA7mBAT,EAAAnQ,UAAA+H,kBAAA,WACAlE,KAAA6M,SAAA,EACA7M,KAAA8M,UA7CA,EA8CA9M,KAAA+M,MAAAjP,OAAA,CAEA,EACAwO,EAAAnQ,UAAA6Q,UAAA,SAAAlL,GACA9B,KAAAnB,MAAqBwE,EAAgBvB,GACrC9B,KAAApD,KJtGO,SAAAkF,GACP,GAAAA,aAAAwB,YACA,WAAAzB,SAAAC,GAEA,IAAAmL,EAAA5J,EAAAvB,GACA,WAAAD,SAAAoL,EAAAnL,OAAAmL,EAAA5K,WAAA4K,EAAAlP,WACA,CIgGoBmP,CAAclN,KAAAnB,OAClCmB,KAAAhC,IAAA,CACA,EACAsO,EAAAnQ,UAAAgR,aAAA,SAAArL,GACA,IAvDA,IAuDA9B,KAAA8M,UAAA9M,KAAAoN,aAAA,GAGA,CACA,IAAAC,EAAArN,KAAAnB,MAAAJ,SAAAuB,KAAAhC,KACAsP,EAA0BjK,EAAgBvB,GAE1CiD,EAAA,IAAAnD,WAAAyL,EAAAvP,OAAAwP,EAAAxP,QACAiH,EAAArG,IAAA2O,GACAtI,EAAArG,IAAA4O,EAAAD,EAAAvP,QACAkC,KAAAgN,UAAAjI,EACA,MAVA/E,KAAAgN,UAAAlL,EAWA,EACAwK,EAAAnQ,UAAAiR,aAAA,SAAA7G,GACA,OAAAvG,KAAApD,KAAAmB,WAAAiC,KAAAhC,KAAAuI,CACA,EACA+F,EAAAnQ,UAAAoR,qBAAA,SAAAC,GACA,IAAA5Q,EAAAoD,KAAApD,KAAAoB,EAAAgC,KAAAhC,IACA,WAAAyP,WAAA,UAAA7Q,EAAAmB,WAAAC,GAAA,OAAApB,EAAAmB,WAAA,4BAAAyP,EAAA,IACA,EAKAlB,EAAAnQ,UAAAgG,OAAA,SAAAL,GACA9B,KAAAkE,oBACAlE,KAAAgN,UAAAlL,GACA,IAAAV,EAAApB,KAAA0N,eACA,GAAA1N,KAAAoN,aAAA,GACA,MAAApN,KAAAuN,qBAAAvN,KAAAhC,KAEA,OAAAoD,CACA,EACAkL,EAAAnQ,UAAAwR,YAAA,SAAA7L,GACA,OAAAmI,EAAAjK,MAAA,SAAA0B,GACA,OAAAA,EAAA8I,OACA,OACAxK,KAAAkE,oBACAlE,KAAAgN,UAAAlL,GACAJ,EAAA8I,MAAA,EACA,OACA,OAAAxK,KAAAoN,aAAA,GACA,GAAApN,KAAA0N,gBADA,MAEA,OAEA,OADAhM,EAAA+I,OACA,MACA,iBAEA,GACA,EACA6B,EAAAnQ,UAAAyR,YAAA,SAAAC,GACA,IAAAC,EAAAC,EACAC,EAAAtM,EACA,OAAAwH,EAAAlJ,UAAA,qBACA,IAAAiO,EAAA7M,EAAAU,EAAAoM,EAAAC,EAAArB,EAAA9O,EAAA6O,EACA,OAAA5C,EAAAjK,MAAA,SAAAoO,GACA,OAAAA,EAAA5D,OACA,OACAyD,GAAA,EACAG,EAAA5D,MAAA,EACA,OACA4D,EAAA1D,KAAAvL,KAAA,YACA2O,EAAA1C,EAAAyC,GACAO,EAAA5D,MAAA,EACA,gBAAAsD,EAAAlE,QACA,OACA,IAAAmE,EAAAK,EAAA3D,QAAAV,KAAA,YAEA,GADAjI,EAAAiM,EAAAtR,MACAwR,EACA,MAAAjO,KAAAuN,qBAAAvN,KAAA6M,UAEA7M,KAAAmN,aAAArL,GACA,IACAV,EAAApB,KAAA0N,eACAO,GAAA,CAOA,CALA,MAAApE,GACA,KAAAA,aAAAqC,GACA,MAAArC,CAGA,CACA7J,KAAA6M,UAAA7M,KAAAhC,IACAoQ,EAAA5D,MAAA,EACA,mBACA,oBACA,OAGA,OAFA0D,EAAAE,EAAA3D,OACAuD,EAAA,CAAgCK,MAAAH,GAChC,OACA,OAEA,OADAE,EAAA1D,KAAAvL,KAAA,YACA4O,MAAAhE,OAAArI,EAAAoM,EAAAhD,QACA,GAAApJ,EAAArF,KAAAyR,IADA,MAEA,OACAM,EAAA3D,OACA2D,EAAA5D,MAAA,EACA,oBACA,QACA,GAAAwD,EAAA,MAAAA,EAAAK,MACA,UACA,kBACA,QACA,GAAAJ,EAAA,CACA,GAAAjO,KAAAoN,aAAA,GACA,MAAApN,KAAAuN,qBAAAvN,KAAA6M,UAEA,SAAAzL,EACA,CAEA,MADA0L,GAAAqB,EAAAnO,MAAA8M,SAAA9O,EAAAmQ,EAAAnQ,IAAA6O,EAAAsB,EAAAtB,SACA,IAAAY,WAAA,gCAA+E9F,EAAUmF,GAAA,OAAAD,EAAA,KAAA7O,EAAA,2BAEzF,GACA,GACA,EACAsO,EAAAnQ,UAAAmS,kBAAA,SAAAT,GACA,OAAA7N,KAAAuO,iBAAAV,GAAA,EACA,EACAvB,EAAAnQ,UAAAqS,aAAA,SAAAX,GACA,OAAA7N,KAAAuO,iBAAAV,GAAA,EACA,EACAvB,EAAAnQ,UAAAoS,iBAAA,SAAAV,EAAA3H,GACA,OAAAwF,EAAA1L,KAAAyO,WAAA,WACA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA/M,EAAAgN,EAAAC,EACAC,EAAAtN,EACA,OAAAuI,EAAAjK,MAAA,SAAAmO,GACA,OAAAA,EAAA3D,OACA,OACAkE,EAAAxI,EACAyI,GAAA,EACAR,EAAA3D,MAAA,EACA,OACA2D,EAAAzD,KAAAvL,KAAA,cACAyP,EAAAxD,EAAAyC,GACAM,EAAA3D,MAAA,EACA,gBAAAiB,EAAAmD,EAAAhF,SACA,OACA,IAAAiF,EAAAV,EAAA1D,QAAAV,KAAA,aAEA,GADAjI,EAAA+M,EAAApS,MACAyJ,GAAA,IAAAyI,EACA,MAAA3O,KAAAuN,qBAAAvN,KAAA6M,UAEA7M,KAAAmN,aAAArL,GACA4M,IACAC,EAAA3O,KAAAiP,gBACAP,GAAA,EACA1O,KAAAkP,YAEAf,EAAA3D,MAAA,EACA,OACA2D,EAAAzD,KAAAvL,KAAA,WACAgP,EAAA3D,MAAA,EACA,OAEA,SAAAiB,EAAAzL,KAAA0N,iBACA,gBAAAS,EAAA1D,QACA,OAEA,OADA0D,EAAA1D,OACA,KAAAkE,EACA,MAEA,MACA,oBACA,OAEA,MADAG,EAAAX,EAAA1D,kBACAyB,GACA,MAAA4C,EAEA,aACA,QACA9O,KAAA6M,UAAA7M,KAAAhC,IACAmQ,EAAA3D,MAAA,GACA,oBACA,qBACA,QAGA,OAFAuE,EAAAZ,EAAA1D,OACAuE,EAAA,CAAgCX,MAAAU,GAChC,OACA,QAEA,OADAZ,EAAAzD,KAAAvL,KAAA,aACA0P,MAAA9E,OAAArI,EAAAkN,EAAA9D,QACA,GAAAW,EAAA/J,EAAArF,KAAAuS,KADA,OAEA,QACAT,EAAA1D,OACA0D,EAAA3D,MAAA,GACA,qBACA,QACA,GAAAwE,EAAA,MAAAA,EAAAX,MACA,UACA,kBACA,kBAEA,GACA,GACA,EACA/B,EAAAnQ,UAAAuR,aAAA,WACAyB,EAAA,QACA,IAAArC,EAAA9M,KAAAoP,eACAhO,OAAA,EACA,GAAA0L,GAAA,IAEA1L,EAAA0L,EAAA,SAEA,GAAAA,EAAA,IACA,GAAAA,EAAA,IAEA1L,EAAA0L,OAEA,GAAAA,EAAA,KAGA,OADAvG,EAAAuG,EAAA,KACA,CACA9M,KAAAqP,aAAA9I,GACAvG,KAAAkP,WACA,SAAAC,CACA,CAEA/N,EAAA,EAEA,MACA,GAAA0L,EAAA,KAGA,OADAvG,EAAAuG,EAAA,KACA,CACA9M,KAAAsP,eAAA/I,GACAvG,KAAAkP,WACA,SAAAC,CACA,CAEA/N,EAAA,EAEA,KACA,CAEA,IAAArD,EAAA+O,EAAA,IACA1L,EAAApB,KAAAuP,iBAAAxR,EAAA,EACA,MAEA,SAAA+O,EAEA1L,EAAA,UAEA,SAAA0L,EAEA1L,GAAA,OAEA,SAAA0L,EAEA1L,GAAA,OAEA,SAAA0L,EAEA1L,EAAApB,KAAAwP,eAEA,SAAA1C,EAEA1L,EAAApB,KAAAyP,eAEA,SAAA3C,EAEA1L,EAAApB,KAAA0P,cAEA,SAAA5C,EAEA1L,EAAApB,KAAA2P,eAEA,SAAA7C,EAEA1L,EAAApB,KAAA4P,eAEA,SAAA9C,EAEA1L,EAAApB,KAAA6P,eAEA,SAAA/C,EAEA1L,EAAApB,KAAA8P,cAEA,SAAAhD,EAEA1L,EAAApB,KAAA+P,eAEA,SAAAjD,EAEA1L,EAAApB,KAAAgQ,eAEA,SAAAlD,EAEA1L,EAAApB,KAAAiQ,eAEA,SAAAnD,EAEA/O,EAAAiC,KAAAkQ,SACA9O,EAAApB,KAAAuP,iBAAAxR,EAAA,QAEA,SAAA+O,EAEA/O,EAAAiC,KAAAmQ,UACA/O,EAAApB,KAAAuP,iBAAAxR,EAAA,QAEA,SAAA+O,EAEA/O,EAAAiC,KAAAoQ,UACAhP,EAAApB,KAAAuP,iBAAAxR,EAAA,QAEA,SAAA+O,EAAA,CAGA,QADAvG,EAAAvG,KAAA2P,WACA,CACA3P,KAAAsP,eAAA/I,GACAvG,KAAAkP,WACA,SAAAC,CACA,CAEA/N,EAAA,EAEA,MACA,SAAA0L,EAAA,CAGA,QADAvG,EAAAvG,KAAA4P,WACA,CACA5P,KAAAsP,eAAA/I,GACAvG,KAAAkP,WACA,SAAAC,CACA,CAEA/N,EAAA,EAEA,MACA,SAAA0L,EAAA,CAGA,QADAvG,EAAAvG,KAAA2P,WACA,CACA3P,KAAAqP,aAAA9I,GACAvG,KAAAkP,WACA,SAAAC,CACA,CAEA/N,EAAA,EAEA,MACA,SAAA0L,EAAA,CAGA,QADAvG,EAAAvG,KAAA4P,WACA,CACA5P,KAAAqP,aAAA9I,GACAvG,KAAAkP,WACA,SAAAC,CACA,CAEA/N,EAAA,EAEA,MACA,SAAA0L,EAAA,CAEA,IAAAvG,EAAAvG,KAAAkQ,SACA9O,EAAApB,KAAAqQ,aAAA9J,EAAA,EACA,MACA,SAAAuG,EAEAvG,EAAAvG,KAAAmQ,UACA/O,EAAApB,KAAAqQ,aAAA9J,EAAA,QAEA,SAAAuG,EAEAvG,EAAAvG,KAAAoQ,UACAhP,EAAApB,KAAAqQ,aAAA9J,EAAA,QAEA,SAAAuG,EAEA1L,EAAApB,KAAAsQ,gBAAA,UAEA,SAAAxD,EAEA1L,EAAApB,KAAAsQ,gBAAA,UAEA,SAAAxD,EAEA1L,EAAApB,KAAAsQ,gBAAA,UAEA,SAAAxD,EAEA1L,EAAApB,KAAAsQ,gBAAA,UAEA,SAAAxD,EAEA1L,EAAApB,KAAAsQ,gBAAA,WAEA,SAAAxD,EAEAvG,EAAAvG,KAAAkQ,SACA9O,EAAApB,KAAAsQ,gBAAA/J,EAAA,QAEA,SAAAuG,EAEAvG,EAAAvG,KAAAmQ,UACA/O,EAAApB,KAAAsQ,gBAAA/J,EAAA,OAEA,UAAAuG,EAMA,UAA0BnM,EAAW,2BAA8BgH,EAAUmF,IAJ7EvG,EAAAvG,KAAAoQ,UACAhP,EAAApB,KAAAsQ,gBAAA/J,EAAA,EAIA,CACAvG,KAAAkP,WAEA,IADA,IAAAnC,EAAA/M,KAAA+M,MACAA,EAAAjP,OAAA,IAEA,IAAAyS,EAAAxD,IAAAjP,OAAA,GACA,OAAAyS,EAAAzQ,KAAA,CAGA,GAFAyQ,EAAAC,MAAAD,EAAAE,UAAArP,EACAmP,EAAAE,WACAF,EAAAE,WAAAF,EAAAhK,KAKA,SAAA4I,EAJApC,EAAA5B,MACA/J,EAAAmP,EAAAC,KAKA,KACA,QAAAD,EAAAzQ,KAAA,CACA,GAjeA4Q,SACA,WADAA,SAieAtP,IAheA,WAAAsP,EAieA,UAAkC/P,EAAW,uDAAAS,GAE7C,iBAAAA,EACA,UAAkCT,EAAW,oCAE7C4P,EAAA5U,IAAAyF,EACAmP,EAAAzQ,KAAA,EACA,SAAAqP,CACA,CAKA,GAFAoB,EAAAI,IAAAJ,EAAA5U,KAAAyF,EACAmP,EAAAK,YACAL,EAAAK,YAAAL,EAAAhK,KAIA,CACAgK,EAAA5U,IAAA,KACA4U,EAAAzQ,KAAA,EACA,SAAAqP,CACA,CAPApC,EAAA5B,MACA/J,EAAAmP,EAAAI,GAOA,CACA,CACA,OAAAvP,CACA,CA5fA,IACAsP,CA4fA,EACApE,EAAAnQ,UAAAiT,aAAA,WAKA,OA/fA,IA2fApP,KAAA8M,WACA9M,KAAA8M,SAAA9M,KAAA0P,UAGA1P,KAAA8M,QACA,EACAR,EAAAnQ,UAAA+S,SAAA,WACAlP,KAAA8M,UAlgBA,CAmgBA,EACAR,EAAAnQ,UAAA8S,cAAA,WACA,IAAAnC,EAAA9M,KAAAoP,eACA,OAAAtC,GACA,SACA,OAAA9M,KAAA2P,UACA,SACA,OAAA3P,KAAA4P,UACA,QACA,GAAA9C,EAAA,IACA,OAAAA,EAAA,IAGA,UAA8BnM,EAAW,iCAAoCgH,EAAUmF,IAIvF,EACAR,EAAAnQ,UAAAkT,aAAA,SAAA9I,GACA,GAAAA,EAAAvG,KAAA0M,aACA,UAAsB/L,EAAW,oCAAA4F,EAAA,2BAAAvG,KAAA0M,aAAA,KAEjC1M,KAAA+M,MAAA5N,KAAA,CACAW,KAAA,EACAyG,OACA5K,IAAA,KACAiV,UAAA,EACAD,IAAA,IAEA,EACArE,EAAAnQ,UAAAmT,eAAA,SAAA/I,GACA,GAAAA,EAAAvG,KAAAyM,eACA,UAAsB9L,EAAW,sCAAA4F,EAAA,uBAAAvG,KAAAyM,eAAA,KAEjCzM,KAAA+M,MAAA5N,KAAA,CACAW,KAAA,EACAyG,OACAiK,MAAA,IAAAnQ,MAAAkG,GACAkK,SAAA,GAEA,EACAnE,EAAAnQ,UAAAoT,iBAAA,SAAAxR,EAAA8S,GACA,IAAAnP,EACA,GAAA3D,EAAAiC,KAAAuM,aACA,UAAsB5L,EAAW,2CAAA5C,EAAA,qBAAAiC,KAAAuM,aAAA,KAEjC,GAAAvM,KAAAnB,MAAAd,WAAAiC,KAAAhC,IAAA6S,EAAA9S,EACA,MAAAqO,EAEA,IACAhL,EADAvE,EAAAmD,KAAAhC,IAAA6S,EAYA,OATAzP,EADApB,KAAA8Q,kBAAA,QAAApP,EAAA1B,KAAA4M,kBAAA,IAAAlL,OAAA,EAAAA,EAAA2G,YAAAtK,IACAiC,KAAA4M,WAAAzK,OAAAnC,KAAAnB,MAAAhC,EAAAkB,GAEAA,EAA8B6B,ETlevB,SAAAf,EAAAC,EAAAf,GACP,IAAAgT,EAAAlS,EAAAJ,SAAAK,IAAAf,GACA,OAAA4B,EAAAwC,OAAA4O,EACA,CSgeqBC,CAAYhR,KAAAnB,MAAAhC,EAAAkB,GAGZa,EAAYoB,KAAAnB,MAAAhC,EAAAkB,GAEjCiC,KAAAhC,KAAA6S,EAAA9S,EACAqD,CACA,EACAkL,EAAAnQ,UAAA2U,cAAA,WACA,OAAA9Q,KAAA+M,MAAAjP,OAAA,GAEA,IADAkC,KAAA+M,MAAA/M,KAAA+M,MAAAjP,OAAA,GACAgC,IAGA,EACAwM,EAAAnQ,UAAAkU,aAAA,SAAAtS,EAAAkT,GACA,GAAAlT,EAAAiC,KAAAwM,aACA,UAAsB7L,EAAW,oCAAA5C,EAAA,qBAAAiC,KAAAwM,aAAA,KAEjC,IAAAxM,KAAAoN,aAAArP,EAAAkT,GACA,MAAA7E,EAEA,IAAAvP,EAAAmD,KAAAhC,IAAAiT,EACA7P,EAAApB,KAAAnB,MAAAJ,SAAA5B,IAAAkB,GAEA,OADAiC,KAAAhC,KAAAiT,EAAAlT,EACAqD,CACA,EACAkL,EAAAnQ,UAAAmU,gBAAA,SAAA/J,EAAA0K,GACA,GAAA1K,EAAAvG,KAAA2M,aACA,UAAsBhM,EAAW,oCAAA4F,EAAA,qBAAAvG,KAAA2M,aAAA,KAEjC,IAAAuE,EAAAlR,KAAApD,KAAAuP,QAAAnM,KAAAhC,IAAAiT,GACAlR,EAAAC,KAAAqQ,aAAA9J,EAAA0K,EAAA,GACA,OAAAjR,KAAA0D,eAAAvB,OAAApC,EAAAmR,EAAAlR,KAAAgD,QACA,EACAsJ,EAAAnQ,UAAA+T,OAAA,WACA,OAAAlQ,KAAApD,KAAAuU,SAAAnR,KAAAhC,IACA,EACAsO,EAAAnQ,UAAAgU,QAAA,WACA,OAAAnQ,KAAApD,KAAAwU,UAAApR,KAAAhC,IACA,EACAsO,EAAAnQ,UAAAiU,QAAA,WACA,OAAApQ,KAAApD,KAAAS,UAAA2C,KAAAhC,IACA,EACAsO,EAAAnQ,UAAAuT,OAAA,WACA,IAAAjT,EAAAuD,KAAApD,KAAAuU,SAAAnR,KAAAhC,KAEA,OADAgC,KAAAhC,MACAvB,CACA,EACA6P,EAAAnQ,UAAA2T,OAAA,WACA,IAAArT,EAAAuD,KAAApD,KAAAuP,QAAAnM,KAAAhC,KAEA,OADAgC,KAAAhC,MACAvB,CACA,EACA6P,EAAAnQ,UAAAwT,QAAA,WACA,IAAAlT,EAAAuD,KAAApD,KAAAwU,UAAApR,KAAAhC,KAEA,OADAgC,KAAAhC,KAAA,EACAvB,CACA,EACA6P,EAAAnQ,UAAA4T,QAAA,WACA,IAAAtT,EAAAuD,KAAApD,KAAAyU,SAAArR,KAAAhC,KAEA,OADAgC,KAAAhC,KAAA,EACAvB,CACA,EACA6P,EAAAnQ,UAAAyT,QAAA,WACA,IAAAnT,EAAAuD,KAAApD,KAAAS,UAAA2C,KAAAhC,KAEA,OADAgC,KAAAhC,KAAA,EACAvB,CACA,EACA6P,EAAAnQ,UAAA6T,QAAA,WACA,IAAAvT,EAAAuD,KAAApD,KAAAQ,SAAA4C,KAAAhC,KAEA,OADAgC,KAAAhC,KAAA,EACAvB,CACA,EACA6P,EAAAnQ,UAAA0T,QAAA,WACA,IVlrBOjT,EAAAC,EUkrBPJ,GVlrBOG,EUkrBsBoD,KAAApD,KVlrBtBC,EUkrBsBmD,KAAAhC,IV/qB7B,WAFApB,EAAAS,UAAAR,GACAD,EAAAS,UAAAR,EAAA,IUkrBA,OADAmD,KAAAhC,KAAA,EACAvB,CACA,EACA6P,EAAAnQ,UAAA8T,QAAA,WACA,IAAAxT,EAAoBU,EAAQ6C,KAAApD,KAAAoD,KAAAhC,KAE5B,OADAgC,KAAAhC,KAAA,EACAvB,CACA,EACA6P,EAAAnQ,UAAAqT,QAAA,WACA,IAAA/S,EAAAuD,KAAApD,KAAA0U,WAAAtR,KAAAhC,KAEA,OADAgC,KAAAhC,KAAA,EACAvB,CACA,EACA6P,EAAAnQ,UAAAsT,QAAA,WACA,IAAAhT,EAAAuD,KAAApD,KAAA2U,WAAAvR,KAAAhC,KAEA,OADAgC,KAAAhC,KAAA,EACAvB,CACA,EACA6P,CACA,CAvoBA,G,OC/EO,MAAMkF,EAKFC,aAAalT,GAChB,IAAIgI,EAAOhI,EAAOR,YAAcQ,EAAOT,OACvC,MAAM4T,EAAY,GAClB,EAAG,CACC,IAAIC,EAAkB,IAAPpL,EACfA,IAAe,EACXA,EAAO,IACPoL,GAAY,KAEhBD,EAAUvS,KAAKwS,E,OAEZpL,EAAO,GAEdA,EAAOhI,EAAOR,YAAcQ,EAAOT,OAEnC,MAAMgE,EAAS,IAAIF,WAAW8P,EAAU5T,OAASyI,GAGjD,OAFAzE,EAAOpD,IAAIgT,EAAW,GACtB5P,EAAOpD,IAAIH,EAAQmT,EAAU5T,QACtBgE,EAAOA,MAClB,CAEO2P,aAAaG,GAChB,MAAM3S,EAAuB,GACvB4S,EAAa,IAAIjQ,WAAWgQ,GAE5BE,EAAiB,CAAC,EAAG,EAAG,GAAI,GAAI,IAEtC,IAAK,IAAIjV,EAAS,EAAGA,EAAS+U,EAAM7T,YAAa,CAC7C,IAEIgU,EAFAC,EAAW,EACXzL,EAAO,EAEX,GACIwL,EAAWF,EAAWhV,EAASmV,GAC/BzL,IAA2B,IAAXwL,IAAqBD,EAAeE,GACpDA,UAEGA,EAAWjV,KAAKkV,IAZC,EAYwBL,EAAM7T,WAAalB,IAAiC,IAAV,IAAXkV,IAE/E,GAA0B,IAAV,IAAXA,IAA0BC,EAdP,EAepB,MAAM,IAAI9Q,MAAM,6BAGpB,GAlBwB,IAkBpB8Q,GAAoCD,EAAW,EAC/C,MAAM,IAAI7Q,MAAM,+CAGpB,KAAI2Q,EAAW9T,YAAelB,EAASmV,EAAWzL,GAM9C,MAAM,IAAIrF,MAAM,uBAJhBjC,EAAOE,KAAK0S,EAAW5I,MACjB4I,EAAW5I,MAAMpM,EAASmV,EAAUnV,EAASmV,EAAWzL,GACxDsL,EAAWpT,SAAS5B,EAASmV,EAAUnV,EAASmV,EAAWzL,IAKrE1J,EAASA,EAASmV,EAAWzL,C,CAGjC,OAAOtH,CACX,ECjDJ,MAAMiT,EAAsC,IAAItQ,WAAW,CAAC,IAAMuQ,EAAAC,YAAAC,OAG3D,MAAMC,EAmBT7R,YAAY8R,GAjBIvS,KAAAiB,KAAe,cAEfjB,KAAAwS,QAAkB,EAElBxS,KAAAyS,eAAiCN,EAAAO,eAAAC,OAEhC3S,KAAA4S,aAAe,EACf5S,KAAA6S,YAAc,EACd7S,KAAA8S,eAAiB,EAU9BP,EAAqBA,GAAsB,GAC3CvS,KAAK+S,SAAW,IAAItP,EAChB8O,EAAmB7O,eACnB6O,EAAmBvP,QACnBuP,EAAmB5O,SACnB4O,EAAmB3O,kBACnB2O,EAAmB1O,SACnB0O,EAAmBzO,aACnByO,EAAmBxO,gBACnBwO,EAAmBvO,qBAGvBhE,KAAKgT,SAAW,IAAI1G,EAChBiG,EAAmB7O,eACnB6O,EAAmBvP,QACnBuP,EAAmBhG,aACnBgG,EAAmB/F,aACnB+F,EAAmB9F,eACnB8F,EAAmB7F,aACnB6F,EAAmB5F,aAE3B,CAOOsG,cAAcrB,EAAoBsB,GAErC,KCpEsBC,EDoEFvB,ICnEa,oBAAhBtO,eAChB6P,aAAe7P,aAEf6P,EAAI1S,aAAwC,gBAAzB0S,EAAI1S,YAAYQ,MDiEhC,MAAM,IAAIC,MAAM,wECrErB,IAAuBiS,EDwEP,OAAXD,IACAA,EAASf,EAAAiB,WAAAC,UAGb,MAAMC,EAAW9B,EAAA+B,MAA0B3B,GAErC4B,EAAc,GACpB,IAAK,MAAM3S,KAAWyS,EAAU,CAC5B,MAAMG,EAAgBzT,KAAK0T,cAAc7S,EAASqS,GAE9CO,GACAD,EAAYrU,KAAKsU,E,CAIzB,OAAOD,CACX,CAOOG,aAAa9S,GAChB,OAAQA,EAAQf,MACZ,KAAKqS,EAAAC,YAAAwB,WACD,OAAO5T,KAAK6T,iBAAiBhT,GACjC,KAAKsR,EAAAC,YAAA0B,iBACD,OAAO9T,KAAK+T,uBAAuBlT,GACvC,KAAKsR,EAAAC,YAAA4B,WACD,OAAOhU,KAAKiU,iBAAiBpT,GACjC,KAAKsR,EAAAC,YAAA8B,WACD,OAAOlU,KAAKmU,iBAAiBtT,GACjC,KAAKsR,EAAAC,YAAAC,KACD,OAAOb,EAAA4C,MAA0BlC,GACrC,KAAKC,EAAAC,YAAAiC,iBACD,OAAOrU,KAAKsU,uBAAuBzT,GACvC,QACI,MAAM,IAAIK,MAAM,yBAE5B,CAEQwS,cAAc9B,EAAmBsB,GACrC,GAAqB,IAAjBtB,EAAM9T,OACN,MAAM,IAAIoD,MAAM,oBAGpB,MAAMqT,EAAavU,KAAKgT,SAAS7Q,OAAOyP,GACxC,GAA0B,IAAtB2C,EAAWzW,UAAkByW,aAAsBlU,OACnD,MAAM,IAAIa,MAAM,oBAGpB,MAAMsT,EAAcD,EAAW,GAE/B,OAAQC,GACJ,KAAKrC,EAAAC,YAAAwB,WACD,OAAO5T,KAAKyU,yBAAyBzU,KAAK0U,aAAaH,GAAaA,GACxE,KAAKpC,EAAAC,YAAA4B,WACD,OAAOhU,KAAK2U,yBAAyB3U,KAAK0U,aAAaH,GAAaA,GACxE,KAAKpC,EAAAC,YAAA8B,WACD,OAAOlU,KAAK4U,yBAAyB5U,KAAK0U,aAAaH,GAAaA,GACxE,KAAKpC,EAAAC,YAAAC,KACD,OAAOrS,KAAK6U,mBAAmBN,GACnC,KAAKpC,EAAAC,YAAA0C,MACD,OAAO9U,KAAK+U,oBAAoBR,GACpC,QAGI,OADArB,EAAO8B,IAAI7C,EAAA8C,SAAAC,YAAsB,yBAA2BV,EAAc,cACnE,KAEnB,CAEQO,oBAAoBR,GAExB,GAAIA,EAAWzW,OAAS,EACpB,MAAM,IAAIoD,MAAM,sCAGpB,MAAO,CAEHiU,eAAgBZ,EAAWzW,QAAU,EAAIyW,EAAW,QAAKhZ,EACzD8S,MAAOkG,EAAW,GAClBzU,KAAMqS,EAAAC,YAAA0C,MAEd,CAEQD,mBAAmBN,GAEvB,GAAIA,EAAWzW,OAAS,EACpB,MAAM,IAAIoD,MAAM,qCAGpB,MAAO,CAEHpB,KAAMqS,EAAAC,YAAAC,KAEd,CAEQoC,yBAAyBW,EAAyBb,GAEtD,GAAIA,EAAWzW,OAAS,EACpB,MAAM,IAAIoD,MAAM,2CAGpB,MAAMmU,EAAed,EAAW,GAChC,OAAIc,EACO,CACH5G,UAAW8F,EAAW,GACtBa,UACAC,eACAC,UAAW,GACXC,OAAQhB,EAAW,GACnBzU,KAAMqS,EAAAC,YAAAwB,YAGH,CACHnF,UAAW8F,EAAW,GACtBa,UACAE,UAAW,GACXC,OAAQhB,EAAW,GACnBzU,KAAMqS,EAAAC,YAAAwB,WAIlB,CAEQe,yBAAyBS,EAAyBb,GAEtD,GAAIA,EAAWzW,OAAS,EACpB,MAAM,IAAIoD,MAAM,2CAGpB,MAAO,CACHkU,UACAC,aAAcd,EAAW,GACzB5N,KAAM4N,EAAW,GACjBzU,KAAMqS,EAAAC,YAAA4B,WAEd,CAEQY,yBAAyBQ,EAAyBb,GAEtD,GAAIA,EAAWzW,OAAS,EACpB,MAAM,IAAIoD,MAAM,2CAGpB,MAAMsU,EAAajB,EAAW,GAE9B,GAAIiB,IAAexV,KAAK6S,aAAe0B,EAAWzW,OAAS,EACvD,MAAM,IAAIoD,MAAM,2CAGpB,IAAImN,EACApP,EAEJ,OAAQuW,GACJ,KAAKxV,KAAK4S,aACNvE,EAAQkG,EAAW,GACnB,MACJ,KAAKvU,KAAK8S,eACN7T,EAASsV,EAAW,GAY5B,MAR6C,CACzClG,QACA+G,UACAC,aAAcd,EAAW,GACzBtV,SACAa,KAAMqS,EAAAC,YAAA8B,WAId,CAEQL,iBAAiB4B,GACrB,IAAIC,EASJ,OAPIA,EADAD,EAAkBH,UACRtV,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAAwB,WAAwB6B,EAAkBL,SAAW,GAAIK,EAAkBJ,cAAgB,KAC3HI,EAAkBF,OAAQE,EAAkBhH,UAAWgH,EAAkBH,YAE/DtV,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAAwB,WAAwB6B,EAAkBL,SAAW,GAAIK,EAAkBJ,cAAgB,KAC3HI,EAAkBF,OAAQE,EAAkBhH,YAGzC+C,EAAA4C,MAA0BsB,EAAQzM,QAC7C,CAEQ8K,uBAAuB4B,GAC3B,IAAID,EASJ,OAPIA,EADAC,EAAwBL,UACdtV,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAA0B,iBAA8B6B,EAAwBP,SAAW,GAAIO,EAAwBN,aAC7HM,EAAwBJ,OAAQI,EAAwBlH,UAAWkH,EAAwBL,YAEjFtV,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAA0B,iBAA8B6B,EAAwBP,SAAW,GAAIO,EAAwBN,aAC7HM,EAAwBJ,OAAQI,EAAwBlH,YAGrD+C,EAAA4C,MAA0BsB,EAAQzM,QAC7C,CAEQgL,iBAAiB2B,GACrB,MAAMF,EAAU1V,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAA4B,WAAwB4B,EAAkBR,SAAW,GAAIQ,EAAkBP,aACjHO,EAAkBjP,OAElB,OAAO6K,EAAA4C,MAA0BsB,EAAQzM,QAC7C,CAEQkL,iBAAiB0B,GACrB,MAAML,EAAaK,EAAkBxH,MAAQrO,KAAK4S,kBAChBrX,IAA7Bsa,EAAkB5W,OAAwBe,KAAK8S,eAAiB9S,KAAK6S,YAE1E,IAAI6C,EACJ,OAAQF,GACJ,KAAKxV,KAAK4S,aACN8C,EAAU1V,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAA8B,WAAwB2B,EAAkBT,SAAW,GAAIS,EAAkBR,aAAcG,EAAYK,EAAkBxH,QACvJ,MACJ,KAAKrO,KAAK6S,YACN6C,EAAU1V,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAA8B,WAAwB2B,EAAkBT,SAAW,GAAIS,EAAkBR,aAAcG,IACzH,MACJ,KAAKxV,KAAK8S,eACN4C,EAAU1V,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAA8B,WAAwB2B,EAAkBT,SAAW,GAAIS,EAAkBR,aAAcG,EAAYK,EAAkB5W,SAI/J,OAAOuS,EAAA4C,MAA0BsB,EAAQzM,QAC7C,CAEQqL,uBAAuBwB,GAC3B,MAAMJ,EAAU1V,KAAK+S,SAASpU,OAAO,CAACwT,EAAAC,YAAAiC,iBAA8ByB,EAAwBV,SAAW,GAAIU,EAAwBT,eAEnI,OAAO7D,EAAA4C,MAA0BsB,EAAQzM,QAC7C,CAEQyL,aAAaH,GACjB,MAAMa,EAA0Bb,EAAW,GAC3C,GAAuB,iBAAZa,EACP,MAAM,IAAIlU,MAAM,oBAEpB,OAAOkU,CACX,EExTG,MAAMW,EAAU,iB,WpBJvB,iBAAA7a,SAAA,iBAAAD,OACAA,OAAAC,QAAAJ,EAAAkb,QAAA,YACA,mBAAAC,eAAAC,IACAD,OAAA,YAAAnb,GACA,iBAAAI,QACAA,QAAA,QAAAJ,EAAAkb,QAAA,aAEAnb,EAAA,QAAAA,EAAA,YAAyCA,EAAA,kBAAAA,EAAA,sBAAmEA,EAAA,0BAAAC,EAAAD,EAAA"}