@slicemachine/manager 0.1.1-dev-plugins.4 → 0.1.1-dev-plugins.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.cjs +65 -0
  2. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.cjs.map +1 -0
  3. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.js +65 -0
  4. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.js.map +1 -0
  5. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.cjs +40 -0
  6. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.cjs.map +1 -0
  7. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.js +40 -0
  8. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.js.map +1 -0
  9. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs +801 -0
  10. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs.map +1 -0
  11. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js +801 -0
  12. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js.map +1 -0
  13. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.cjs +351 -0
  14. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.cjs.map +1 -0
  15. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.js +351 -0
  16. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.js.map +1 -0
  17. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.cjs +11 -0
  18. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.cjs.map +1 -0
  19. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.js +11 -0
  20. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.js.map +1 -0
  21. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.cjs +62 -0
  22. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.cjs.map +1 -0
  23. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.js +62 -0
  24. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.js.map +1 -0
  25. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.cjs +14 -0
  26. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.cjs.map +1 -0
  27. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.js +14 -0
  28. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.js.map +1 -0
  29. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.cjs +13 -0
  30. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.cjs.map +1 -0
  31. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.js +13 -0
  32. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.js.map +1 -0
  33. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.cjs +91 -0
  34. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.cjs.map +1 -0
  35. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.js +91 -0
  36. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.js.map +1 -0
  37. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.cjs +31 -0
  38. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.cjs.map +1 -0
  39. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.js +31 -0
  40. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.js.map +1 -0
  41. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.cjs +7 -0
  42. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.cjs.map +1 -0
  43. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.js +7 -0
  44. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.js.map +1 -0
  45. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.cjs +23 -0
  46. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.cjs.map +1 -0
  47. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.js +23 -0
  48. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.js.map +1 -0
  49. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.cjs +132 -0
  50. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.cjs.map +1 -0
  51. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.js +132 -0
  52. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.js.map +1 -0
  53. package/dist/__node_modules/r19/dist/client/createRPCClient.cjs +29 -11
  54. package/dist/__node_modules/r19/dist/client/createRPCClient.cjs.map +1 -1
  55. package/dist/__node_modules/r19/dist/client/createRPCClient.js +29 -11
  56. package/dist/__node_modules/r19/dist/client/createRPCClient.js.map +1 -1
  57. package/dist/__node_modules/r19/dist/createRPCMiddleware.cjs +5 -4
  58. package/dist/__node_modules/r19/dist/createRPCMiddleware.cjs.map +1 -1
  59. package/dist/__node_modules/r19/dist/createRPCMiddleware.js +6 -5
  60. package/dist/__node_modules/r19/dist/createRPCMiddleware.js.map +1 -1
  61. package/dist/__node_modules/r19/dist/handleRPCRequest.cjs +39 -110
  62. package/dist/__node_modules/r19/dist/handleRPCRequest.cjs.map +1 -1
  63. package/dist/__node_modules/r19/dist/handleRPCRequest.js +39 -110
  64. package/dist/__node_modules/r19/dist/handleRPCRequest.js.map +1 -1
  65. package/dist/__node_modules/r19/dist/lib/replaceLeaves.cjs +28 -0
  66. package/dist/__node_modules/r19/dist/lib/replaceLeaves.cjs.map +1 -0
  67. package/dist/__node_modules/r19/dist/lib/replaceLeaves.js +28 -0
  68. package/dist/__node_modules/r19/dist/lib/replaceLeaves.js.map +1 -0
  69. package/dist/managers/createSliceMachineManagerMiddleware.cjs +0 -4
  70. package/dist/managers/createSliceMachineManagerMiddleware.cjs.map +1 -1
  71. package/dist/managers/createSliceMachineManagerMiddleware.js +0 -4
  72. package/dist/managers/createSliceMachineManagerMiddleware.js.map +1 -1
  73. package/dist/managers/screenshots/ScreenshotsManager.cjs +33 -16
  74. package/dist/managers/screenshots/ScreenshotsManager.cjs.map +1 -1
  75. package/dist/managers/screenshots/ScreenshotsManager.d.ts +2 -4
  76. package/dist/managers/screenshots/ScreenshotsManager.js +34 -17
  77. package/dist/managers/screenshots/ScreenshotsManager.js.map +1 -1
  78. package/dist/test/createSliceMachineManagerMSWHandler.cjs +3 -10
  79. package/dist/test/createSliceMachineManagerMSWHandler.cjs.map +1 -1
  80. package/dist/test/createSliceMachineManagerMSWHandler.js +3 -10
  81. package/dist/test/createSliceMachineManagerMSWHandler.js.map +1 -1
  82. package/package.json +4 -4
  83. package/src/client/index.ts +1 -1
  84. package/src/managers/screenshots/ScreenshotsManager.ts +65 -18
  85. package/src/test/createSliceMachineManagerMSWHandler.ts +2 -14
  86. package/dist/__node_modules/busboy/lib/index.cjs +0 -51
  87. package/dist/__node_modules/busboy/lib/index.cjs.map +0 -1
  88. package/dist/__node_modules/busboy/lib/index.js +0 -52
  89. package/dist/__node_modules/busboy/lib/index.js.map +0 -1
  90. package/dist/__node_modules/busboy/lib/types/multipart.cjs +0 -1046
  91. package/dist/__node_modules/busboy/lib/types/multipart.cjs.map +0 -1
  92. package/dist/__node_modules/busboy/lib/types/multipart.js +0 -1047
  93. package/dist/__node_modules/busboy/lib/types/multipart.js.map +0 -1
  94. package/dist/__node_modules/busboy/lib/types/urlencoded.cjs +0 -545
  95. package/dist/__node_modules/busboy/lib/types/urlencoded.cjs.map +0 -1
  96. package/dist/__node_modules/busboy/lib/types/urlencoded.js +0 -546
  97. package/dist/__node_modules/busboy/lib/types/urlencoded.js.map +0 -1
  98. package/dist/__node_modules/busboy/lib/utils.cjs +0 -1681
  99. package/dist/__node_modules/busboy/lib/utils.cjs.map +0 -1
  100. package/dist/__node_modules/busboy/lib/utils.js +0 -1682
  101. package/dist/__node_modules/busboy/lib/utils.js.map +0 -1
  102. package/dist/__node_modules/devalue/src/constants.cjs +0 -15
  103. package/dist/__node_modules/devalue/src/constants.cjs.map +0 -1
  104. package/dist/__node_modules/devalue/src/constants.js +0 -15
  105. package/dist/__node_modules/devalue/src/constants.js.map +0 -1
  106. package/dist/__node_modules/devalue/src/parse.cjs +0 -95
  107. package/dist/__node_modules/devalue/src/parse.cjs.map +0 -1
  108. package/dist/__node_modules/devalue/src/parse.js +0 -95
  109. package/dist/__node_modules/devalue/src/parse.js.map +0 -1
  110. package/dist/__node_modules/devalue/src/stringify.cjs +0 -140
  111. package/dist/__node_modules/devalue/src/stringify.cjs.map +0 -1
  112. package/dist/__node_modules/devalue/src/stringify.js +0 -140
  113. package/dist/__node_modules/devalue/src/stringify.js.map +0 -1
  114. package/dist/__node_modules/devalue/src/uneval.cjs +0 -4
  115. package/dist/__node_modules/devalue/src/uneval.cjs.map +0 -1
  116. package/dist/__node_modules/devalue/src/uneval.js +0 -3
  117. package/dist/__node_modules/devalue/src/uneval.js.map +0 -1
  118. package/dist/__node_modules/devalue/src/utils.cjs +0 -68
  119. package/dist/__node_modules/devalue/src/utils.cjs.map +0 -1
  120. package/dist/__node_modules/devalue/src/utils.js +0 -68
  121. package/dist/__node_modules/devalue/src/utils.js.map +0 -1
  122. package/dist/__node_modules/formdata-node/lib/browser.cjs +0 -16
  123. package/dist/__node_modules/formdata-node/lib/browser.cjs.map +0 -1
  124. package/dist/__node_modules/formdata-node/lib/browser.js +0 -16
  125. package/dist/__node_modules/formdata-node/lib/browser.js.map +0 -1
  126. package/dist/__node_modules/r19/dist/constants.cjs +0 -5
  127. package/dist/__node_modules/r19/dist/constants.cjs.map +0 -1
  128. package/dist/__node_modules/r19/dist/constants.js +0 -5
  129. package/dist/__node_modules/r19/dist/constants.js.map +0 -1
  130. package/dist/__node_modules/r19/dist/lib/encodeFormData.cjs +0 -46
  131. package/dist/__node_modules/r19/dist/lib/encodeFormData.cjs.map +0 -1
  132. package/dist/__node_modules/r19/dist/lib/encodeFormData.js +0 -46
  133. package/dist/__node_modules/r19/dist/lib/encodeFormData.js.map +0 -1
  134. package/dist/__node_modules/r19/dist/lib/flattenObject.cjs +0 -43
  135. package/dist/__node_modules/r19/dist/lib/flattenObject.cjs.map +0 -1
  136. package/dist/__node_modules/r19/dist/lib/flattenObject.js +0 -43
  137. package/dist/__node_modules/r19/dist/lib/flattenObject.js.map +0 -1
  138. package/dist/__node_modules/r19/dist/lib/formDataToObject.client.cjs +0 -19
  139. package/dist/__node_modules/r19/dist/lib/formDataToObject.client.cjs.map +0 -1
  140. package/dist/__node_modules/r19/dist/lib/formDataToObject.client.js +0 -19
  141. package/dist/__node_modules/r19/dist/lib/formDataToObject.client.js.map +0 -1
  142. package/dist/__node_modules/r19/dist/lib/objectToFormData.client.cjs +0 -20
  143. package/dist/__node_modules/r19/dist/lib/objectToFormData.client.cjs.map +0 -1
  144. package/dist/__node_modules/r19/dist/lib/objectToFormData.client.js +0 -20
  145. package/dist/__node_modules/r19/dist/lib/objectToFormData.client.js.map +0 -1
  146. package/dist/__node_modules/r19/dist/lib/objectToFormData.server.cjs +0 -22
  147. package/dist/__node_modules/r19/dist/lib/objectToFormData.server.cjs.map +0 -1
  148. package/dist/__node_modules/r19/dist/lib/objectToFormData.server.js +0 -22
  149. package/dist/__node_modules/r19/dist/lib/objectToFormData.server.js.map +0 -1
  150. package/dist/__node_modules/r19/dist/lib/unflattenObject.cjs +0 -20
  151. package/dist/__node_modules/r19/dist/lib/unflattenObject.cjs.map +0 -1
  152. package/dist/__node_modules/r19/dist/lib/unflattenObject.js +0 -20
  153. package/dist/__node_modules/r19/dist/lib/unflattenObject.js.map +0 -1
  154. package/dist/__node_modules/streamsearch/lib/sbmh.cjs +0 -393
  155. package/dist/__node_modules/streamsearch/lib/sbmh.cjs.map +0 -1
  156. package/dist/__node_modules/streamsearch/lib/sbmh.js +0 -394
  157. package/dist/__node_modules/streamsearch/lib/sbmh.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Decoder.js","sources":["../../../../../../../node_modules/@msgpack/msgpack/dist.es5+esm/Decoder.mjs"],"sourcesContent":["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 \".concat(view.byteLength - pos, \" of \").concat(view.byteLength, \" byte(s) found at buffer[\").concat(posToShow, \"]\"));\n };\n /**\n * @throws {@link DecodeError}\n * @throws {@link 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 \".concat(prettyByte(headByte), \" at \").concat(totalPos, \" (\").concat(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: \".concat(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 /* State.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 /* State.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 /* State.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 /* State.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: \".concat(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 (\".concat(size, \") > maxMapLengthLength (\").concat(this.maxMapLength, \")\"));\n }\n this.stack.push({\n type: 1 /* State.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 (\".concat(size, \") > maxArrayLength (\").concat(this.maxArrayLength, \")\"));\n }\n this.stack.push({\n type: 0 /* State.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 (\".concat(byteLength, \") > maxStrLength (\").concat(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 /* State.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 (\".concat(byteLength, \") > maxBinLength (\").concat(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 (\".concat(size, \") > maxExtLength (\").concat(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"],"names":["this","v","Decoder"],"mappings":";;;;;;;AAAA,IAAI,YAAaA,cAAQA,WAAK,aAAc,SAAU,SAAS,YAAY,GAAG,WAAW;AACrF,WAAS,MAAM,OAAO;AAAE,WAAO,iBAAiB,IAAI,QAAQ,IAAI,EAAE,SAAU,SAAS;AAAE,cAAQ,KAAK;AAAA,IAAE,CAAE;AAAA,EAAI;AAC5G,SAAO,KAAK,MAAM,IAAI,UAAU,SAAU,SAAS,QAAQ;AACvD,aAAS,UAAU,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,KAAK,KAAK,CAAC;AAAA,MAAE,SAAU,GAAP;AAAY,eAAO,CAAC;AAAA;IAAM;AAC3F,aAAS,SAAS,OAAO;AAAE,UAAI;AAAE,aAAK,UAAU,OAAO,EAAE,KAAK,CAAC;AAAA,MAAI,SAAQ,GAAP;AAAY,eAAO,CAAC;AAAA;IAAM;AAC9F,aAAS,KAAK,QAAQ;AAAE,aAAO,OAAO,QAAQ,OAAO,KAAK,IAAI,MAAM,OAAO,KAAK,EAAE,KAAK,WAAW,QAAQ;AAAA,IAAI;AAC9G,UAAM,YAAY,UAAU,MAAM,SAAS,cAAc,CAAE,CAAA,GAAG,KAAI,CAAE;AAAA,EAC5E,CAAK;AACL;AACA,IAAI,cAAeA,cAAQA,WAAK,eAAgB,SAAU,SAAS,MAAM;AACrE,MAAI,IAAI,EAAE,OAAO,GAAG,MAAM,WAAW;AAAE,QAAI,EAAE,CAAC,IAAI;AAAG,YAAM,EAAE,CAAC;AAAG,WAAO,EAAE,CAAC;AAAA,EAAI,GAAE,MAAM,CAAE,GAAE,KAAK,CAAA,EAAI,GAAE,GAAG,GAAG,GAAG;AAC/G,SAAO,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,KAAK,CAAC,GAAG,UAAU,KAAK,CAAC,EAAG,GAAE,OAAO,WAAW,eAAe,EAAE,OAAO,QAAQ,IAAI,WAAW;AAAE,WAAO;AAAA,EAAO,IAAG;AACvJ,WAAS,KAAK,GAAG;AAAE,WAAO,SAAU,GAAG;AAAE,aAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AAAA,IAAI;AAAA,EAAG;AAClE,WAAS,KAAK,IAAI;AACd,QAAI;AAAG,YAAM,IAAI,UAAU,iCAAiC;AAC5D,WAAO;AAAG,UAAI;AACV,YAAI,IAAI,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,OAAO,IAAI,EAAE,QAAQ,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG;AAAM,iBAAO;AAC3J,YAAI,IAAI,GAAG;AAAG,eAAK,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK;AACtC,gBAAQ,GAAG,CAAC,GAAC;AAAA,UACT,KAAK;AAAA,UAAG,KAAK;AAAG,gBAAI;AAAI;AAAA,UACxB,KAAK;AAAG,cAAE;AAAS,mBAAO,EAAE,OAAO,GAAG,CAAC,GAAG,MAAM,MAAK;AAAA,UACrD,KAAK;AAAG,cAAE;AAAS,gBAAI,GAAG,CAAC;AAAG,iBAAK,CAAC,CAAC;AAAG;AAAA,UACxC,KAAK;AAAG,iBAAK,EAAE,IAAI;AAAO,cAAE,KAAK,IAAG;AAAI;AAAA,UACxC;AACI,gBAAI,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI;AAAE,kBAAI;AAAG;AAAA,YAAW;AAC5G,gBAAI,GAAG,CAAC,MAAM,MAAM,CAAC,KAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,IAAK;AAAE,gBAAE,QAAQ,GAAG,CAAC;AAAG;AAAA,YAAQ;AACtF,gBAAI,GAAG,CAAC,MAAM,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG;AAAE,gBAAE,QAAQ,EAAE,CAAC;AAAG,kBAAI;AAAI;AAAA,YAAQ;AACrE,gBAAI,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG;AAAE,gBAAE,QAAQ,EAAE,CAAC;AAAG,gBAAE,IAAI,KAAK,EAAE;AAAG;AAAA,YAAQ;AACnE,gBAAI,EAAE,CAAC;AAAG,gBAAE,IAAI,IAAG;AACnB,cAAE,KAAK,IAAK;AAAE;AAAA,QACrB;AACD,aAAK,KAAK,KAAK,SAAS,CAAC;AAAA,MAC5B,SAAQ,GAAP;AAAY,aAAK,CAAC,GAAG,CAAC;AAAG,YAAI;AAAA,MAAE,UAAW;AAAE,YAAI,IAAI;AAAA,MAAI;AAC1D,QAAI,GAAG,CAAC,IAAI;AAAG,YAAM,GAAG,CAAC;AAAG,WAAO,EAAE,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,MAAM;EAC7E;AACL;AACA,IAAI,gBAAiBA,cAAQA,WAAK,iBAAkB,SAAU,GAAG;AAC7D,MAAI,CAAC,OAAO;AAAe,UAAM,IAAI,UAAU,sCAAsC;AACrF,MAAI,IAAI,EAAE,OAAO,aAAa,GAAG;AACjC,SAAO,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,aAAa,aAAa,SAAS,CAAC,IAAI,EAAE,OAAO,QAAQ,EAAC,GAAI,IAAI,CAAE,GAAE,KAAK,MAAM,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,GAAG,EAAE,OAAO,aAAa,IAAI,WAAY;AAAE,WAAO;AAAA,EAAK,GAAI;AAC9M,WAAS,KAAK,GAAG;AAAE,MAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAU,GAAG;AAAE,aAAO,IAAI,QAAQ,SAAU,SAAS,QAAQ;AAAE,YAAI,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,SAAS,QAAQ,EAAE,MAAM,EAAE,KAAK;AAAA,MAAE,CAAE;AAAA,IAAI;AAAA,EAAG;AAChK,WAAS,OAAO,SAAS,QAAQ,GAAG,GAAG;AAAE,YAAQ,QAAQ,CAAC,EAAE,KAAK,SAASC,IAAG;AAAE,cAAQ,EAAE,OAAOA,IAAG,MAAM,EAAC,CAAE;AAAA,IAAE,GAAI,MAAM;AAAA,EAAI;AAChI;AACA,IAAI,UAAWD,cAAQA,WAAK,WAAY,SAAU,GAAG;AAAE,SAAO,gBAAgB,WAAW,KAAK,IAAI,GAAG,QAAQ,IAAI,QAAQ,CAAC;AAAI;AAC9H,IAAI,mBAAoBA,cAAQA,WAAK,oBAAqB,SAAU,SAAS,YAAY,WAAW;AAChG,MAAI,CAAC,OAAO;AAAe,UAAM,IAAI,UAAU,sCAAsC;AACrF,MAAI,IAAI,UAAU,MAAM,SAAS,cAAc,CAAA,CAAE,GAAG,GAAG,IAAI;AAC3D,SAAO,IAAI,CAAA,GAAI,KAAK,MAAM,GAAG,KAAK,OAAO,GAAG,KAAK,QAAQ,GAAG,EAAE,OAAO,aAAa,IAAI,WAAY;AAAE,WAAO;AAAA,EAAO,GAAE;AACpH,WAAS,KAAK,GAAG;AAAE,QAAI,EAAE,CAAC;AAAG,QAAE,CAAC,IAAI,SAAU,GAAG;AAAE,eAAO,IAAI,QAAQ,SAAU,GAAG,GAAG;AAAE,YAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,GAAG,CAAC;AAAA,QAAE,CAAE;AAAA,MAAI;AAAA,EAAG;AAC1I,WAAS,OAAO,GAAG,GAAG;AAAE,QAAI;AAAE,WAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAAA,IAAE,SAAU,GAAP;AAAY,aAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;AAAA;EAAM;AAClF,WAAS,KAAK,GAAG;AAAE,MAAE,iBAAiB,UAAU,QAAQ,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,SAAS,MAAM,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;AAAA,EAAI;AACxH,WAAS,QAAQ,OAAO;AAAE,WAAO,QAAQ,KAAK;AAAA,EAAI;AAClD,WAAS,OAAO,OAAO;AAAE,WAAO,SAAS,KAAK;AAAA,EAAI;AAClD,WAAS,OAAO,GAAG,GAAG;AAAE,QAAI,EAAE,CAAC,GAAG,EAAE,MAAK,GAAI,EAAE;AAAQ,aAAO,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAAA,EAAI;AACtF;AAQA,IAAI,oBAAoB,SAAU,KAAK;AACnC,MAAI,UAAU,OAAO;AACrB,SAAO,YAAY,YAAY,YAAY;AAC/C;AACA,IAAI,qBAAqB;AACzB,IAAI,aAAa,IAAI,SAAS,IAAI,YAAY,CAAC,CAAC;AAChD,IAAI,cAAc,IAAI,WAAW,WAAW,MAAM;AAGxC,IAAC,gCAAiC,WAAY;AACpD,MAAI;AAGA,eAAW,QAAQ,CAAC;AAAA,EACvB,SACM,GAAP;AACI,WAAO,EAAE;AAAA,EACZ;AACD,QAAM,IAAI,MAAM,eAAe;AACnC,EAAK;AACL,IAAI,YAAY,IAAI,8BAA8B,mBAAmB;AACrE,IAAI,yBAAyB,IAAI;AAC9B,IAAC,UAAyB,WAAY;AACrC,WAASE,SAAQ,gBAAgB,SAAS,cAAc,cAAc,gBAAgB,cAAc,cAAc,YAAY;AAC1H,QAAI,mBAAmB,QAAQ;AAAE,uBAAiB,eAAe;AAAA,IAAe;AAChF,QAAI,YAAY,QAAQ;AAAE,gBAAU;AAAA,IAAY;AAChD,QAAI,iBAAiB,QAAQ;AAAE,qBAAe;AAAA,IAAa;AAC3D,QAAI,iBAAiB,QAAQ;AAAE,qBAAe;AAAA,IAAa;AAC3D,QAAI,mBAAmB,QAAQ;AAAE,uBAAiB;AAAA,IAAa;AAC/D,QAAI,iBAAiB,QAAQ;AAAE,qBAAe;AAAA,IAAa;AAC3D,QAAI,iBAAiB,QAAQ;AAAE,qBAAe;AAAA,IAAa;AAC3D,QAAI,eAAe,QAAQ;AAAE,mBAAa;AAAA,IAAyB;AACnE,SAAK,iBAAiB;AACtB,SAAK,UAAU;AACf,SAAK,eAAe;AACpB,SAAK,eAAe;AACpB,SAAK,iBAAiB;AACtB,SAAK,eAAe;AACpB,SAAK,eAAe;AACpB,SAAK,aAAa;AAClB,SAAK,WAAW;AAChB,SAAK,MAAM;AACX,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK,WAAW;AAChB,SAAK,QAAQ;EAChB;AACD,EAAAA,SAAQ,UAAU,oBAAoB,WAAY;AAC9C,SAAK,WAAW;AAChB,SAAK,WAAW;AAChB,SAAK,MAAM,SAAS;AAAA,EAE5B;AACI,EAAAA,SAAQ,UAAU,YAAY,SAAU,QAAQ;AAC5C,SAAK,QAAQ,iBAAiB,MAAM;AACpC,SAAK,OAAO,eAAe,KAAK,KAAK;AACrC,SAAK,MAAM;AAAA,EACnB;AACI,EAAAA,SAAQ,UAAU,eAAe,SAAU,QAAQ;AAC/C,QAAI,KAAK,aAAa,sBAAsB,CAAC,KAAK,aAAa,CAAC,GAAG;AAC/D,WAAK,UAAU,MAAM;AAAA,IACxB,OACI;AACD,UAAI,gBAAgB,KAAK,MAAM,SAAS,KAAK,GAAG;AAChD,UAAI,UAAU,iBAAiB,MAAM;AAErC,UAAI,YAAY,IAAI,WAAW,cAAc,SAAS,QAAQ,MAAM;AACpE,gBAAU,IAAI,aAAa;AAC3B,gBAAU,IAAI,SAAS,cAAc,MAAM;AAC3C,WAAK,UAAU,SAAS;AAAA,IAC3B;AAAA,EACT;AACI,EAAAA,SAAQ,UAAU,eAAe,SAAU,MAAM;AAC7C,WAAO,KAAK,KAAK,aAAa,KAAK,OAAO;AAAA,EAClD;AACI,EAAAA,SAAQ,UAAU,uBAAuB,SAAU,WAAW;AAC1D,QAAI,KAAK,MAAM,OAAO,GAAG,MAAM,MAAM,GAAG;AACxC,WAAO,IAAI,WAAW,SAAS,OAAO,KAAK,aAAa,KAAK,MAAM,EAAE,OAAO,KAAK,YAAY,2BAA2B,EAAE,OAAO,WAAW,GAAG,CAAC;AAAA,EACxJ;AAKI,EAAAA,SAAQ,UAAU,SAAS,SAAU,QAAQ;AACzC,SAAK,kBAAiB;AACtB,SAAK,UAAU,MAAM;AACrB,QAAI,SAAS,KAAK;AAClB,QAAI,KAAK,aAAa,CAAC,GAAG;AACtB,YAAM,KAAK,qBAAqB,KAAK,GAAG;AAAA,IAC3C;AACD,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,cAAc,SAAU,QAAQ;AAC9C,WAAO,YAAY,MAAM,SAAU,IAAI;AACnC,cAAQ,GAAG,OAAK;AAAA,QACZ,KAAK;AACD,eAAK,kBAAiB;AACtB,eAAK,UAAU,MAAM;AACrB,aAAG,QAAQ;AAAA,QACf,KAAK;AACD,cAAI,CAAC,KAAK,aAAa,CAAC;AAAG,mBAAO,CAAC,GAAa,CAAC;AACjD,iBAAO,CAAC,GAAa,KAAK,aAAc,CAAA;AAAA,QAC5C,KAAK;AACD,aAAG,KAAI;AACP,iBAAO,CAAC,GAAa,CAAC;AAAA,QAC1B,KAAK;AAAG,iBAAO;AAAA,YAAC;AAAA;AAAA;MACnB;AAAA,IACb,CAAS;AAAA,EACT;AACI,EAAAA,SAAQ,UAAU,cAAc,SAAU,QAAQ;AAC9C,QAAI,UAAU;AACd,QAAI,KAAK;AACT,WAAO,UAAU,MAAM,QAAQ,QAAQ,WAAY;AAC/C,UAAI,SAAS,QAAQ,QAAQ,OAAO,IAAI,UAAU,KAAK;AACvD,aAAO,YAAY,MAAM,SAAU,IAAI;AACnC,gBAAQ,GAAG,OAAK;AAAA,UACZ,KAAK;AACD,sBAAU;AACV,eAAG,QAAQ;AAAA,UACf,KAAK;AACD,eAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AAC1B,uBAAW,cAAc,MAAM;AAC/B,eAAG,QAAQ;AAAA,UACf,KAAK;AAAG,mBAAO,CAAC,GAAa,SAAS,KAAM,CAAA;AAAA,UAC5C,KAAK;AACD,gBAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,WAAW;AAAO,qBAAO,CAAC,GAAa,CAAC;AACvE,qBAAS,WAAW;AACpB,gBAAI,SAAS;AACT,oBAAM,KAAK,qBAAqB,KAAK,QAAQ;AAAA,YAChD;AACD,iBAAK,aAAa,MAAM;AACxB,gBAAI;AACA,uBAAS,KAAK;AACd,wBAAU;AAAA,YACb,SACM,GAAP;AACI,kBAAI,EAAE,aAAa,gCAAgC;AAC/C,sBAAM;AAAA,cACT;AAAA,YAEJ;AACD,iBAAK,YAAY,KAAK;AACtB,eAAG,QAAQ;AAAA,UACf,KAAK;AAAG,mBAAO,CAAC,GAAa,CAAC;AAAA,UAC9B,KAAK;AAAG,mBAAO,CAAC,GAAa,EAAE;AAAA,UAC/B,KAAK;AACD,oBAAQ,GAAG;AACX,kBAAM,EAAE,OAAO;AACf,mBAAO,CAAC,GAAa,EAAE;AAAA,UAC3B,KAAK;AACD,eAAG,KAAK,KAAK,CAAC,GAAC,EAAI,IAAI,EAAE,CAAC;AAC1B,gBAAI,EAAE,cAAc,CAAC,WAAW,SAAS,KAAK,SAAS;AAAU,qBAAO,CAAC,GAAa,CAAC;AACvF,mBAAO,CAAC,GAAa,GAAG,KAAK,QAAQ,CAAC;AAAA,UAC1C,KAAK;AACD,eAAG,KAAI;AACP,eAAG,QAAQ;AAAA,UACf,KAAK;AAAG,mBAAO,CAAC,GAAa,EAAE;AAAA,UAC/B,KAAK;AACD,gBAAI;AAAK,oBAAM,IAAI;AACnB,mBAAO;AAAA,cAAC;AAAA;AAAA,YAAC;AAAA,UACb,KAAK;AAAI,mBAAO;AAAA,cAAC;AAAA;AAAA;UACjB,KAAK;AACD,gBAAI,SAAS;AACT,kBAAI,KAAK,aAAa,CAAC,GAAG;AACtB,sBAAM,KAAK,qBAAqB,KAAK,QAAQ;AAAA,cAChD;AACD,qBAAO,CAAC,GAAc,MAAM;AAAA,YAC/B;AACD,iBAAK,MAAM,WAAW,GAAG,UAAU,MAAM,GAAG,KAAK,WAAW,GAAG;AAC/D,kBAAM,IAAI,WAAW,gCAAgC,OAAO,WAAW,QAAQ,GAAG,MAAM,EAAE,OAAO,UAAU,IAAI,EAAE,OAAO,KAAK,yBAAyB,CAAC;AAAA,QAC9J;AAAA,MACjB,CAAa;AAAA,IACb,CAAS;AAAA,EACT;AACI,EAAAA,SAAQ,UAAU,oBAAoB,SAAU,QAAQ;AACpD,WAAO,KAAK,iBAAiB,QAAQ,IAAI;AAAA,EACjD;AACI,EAAAA,SAAQ,UAAU,eAAe,SAAU,QAAQ;AAC/C,WAAO,KAAK,iBAAiB,QAAQ,KAAK;AAAA,EAClD;AACI,EAAAA,SAAQ,UAAU,mBAAmB,SAAU,QAAQ,SAAS;AAC5D,WAAO,iBAAiB,MAAM,WAAW,SAAS,qBAAqB;AACnE,UAAI,uBAAuB,gBAAgB,UAAU,YAAY,QAAQ,KAAK;AAC9E,UAAI,KAAK;AACT,aAAO,YAAY,MAAM,SAAU,IAAI;AACnC,gBAAQ,GAAG,OAAK;AAAA,UACZ,KAAK;AACD,oCAAwB;AACxB,6BAAiB;AACjB,eAAG,QAAQ;AAAA,UACf,KAAK;AACD,eAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AAC5B,uBAAW,cAAc,MAAM;AAC/B,eAAG,QAAQ;AAAA,UACf,KAAK;AAAG,mBAAO,CAAC,GAAa,QAAQ,SAAS,KAAM,CAAA,CAAC;AAAA,UACrD,KAAK;AACD,gBAAI,EAAE,aAAa,GAAG,QAAQ,CAAC,WAAW;AAAO,qBAAO,CAAC,GAAa,EAAE;AACxE,qBAAS,WAAW;AACpB,gBAAI,WAAW,mBAAmB,GAAG;AACjC,oBAAM,KAAK,qBAAqB,KAAK,QAAQ;AAAA,YAChD;AACD,iBAAK,aAAa,MAAM;AACxB,gBAAI,uBAAuB;AACvB,+BAAiB,KAAK;AACtB,sCAAwB;AACxB,mBAAK,SAAQ;AAAA,YAChB;AACD,eAAG,QAAQ;AAAA,UACf,KAAK;AACD,eAAG,KAAK,KAAK,CAAC,GAAG,GAAC,EAAI,EAAE,CAAC;AACzB,eAAG,QAAQ;AAAA,UACf,KAAK;AAED,mBAAO,CAAC,GAAa,QAAQ,KAAK,aAAY,CAAE,CAAC;AAAA,UACrD,KAAK;AAAG,mBAAO,CAAC,GAAa,GAAG,KAAM,CAAA;AAAA,UACtC,KAAK;AACD,eAAG,KAAI;AACP,gBAAI,EAAE,mBAAmB,GAAG;AACxB,qBAAO,CAAC,GAAa,CAAC;AAAA,YACzB;AACD,mBAAO,CAAC,GAAa,CAAC;AAAA,UAC1B,KAAK;AAAG,mBAAO,CAAC,GAAa,EAAE;AAAA,UAC/B,KAAK;AACD,kBAAM,GAAG;AACT,gBAAI,EAAE,eAAe,gCAAgC;AACjD,oBAAM;AAAA,YACT;AACD,mBAAO,CAAC,GAAa,EAAE;AAAA,UAC3B,KAAK;AACD,iBAAK,YAAY,KAAK;AACtB,eAAG,QAAQ;AAAA,UACf,KAAK;AAAI,mBAAO,CAAC,GAAa,CAAC;AAAA,UAC/B,KAAK;AAAI,mBAAO,CAAC,GAAa,EAAE;AAAA,UAChC,KAAK;AACD,oBAAQ,GAAG;AACX,kBAAM,EAAE,OAAO;AACf,mBAAO,CAAC,GAAa,EAAE;AAAA,UAC3B,KAAK;AACD,eAAG,KAAK,KAAK,CAAC,IAAE,EAAI,IAAI,EAAE,CAAC;AAC3B,gBAAI,EAAE,cAAc,CAAC,WAAW,SAAS,KAAK,SAAS;AAAU,qBAAO,CAAC,GAAa,EAAE;AACxF,mBAAO,CAAC,GAAa,QAAQ,GAAG,KAAK,QAAQ,CAAC,CAAC;AAAA,UACnD,KAAK;AACD,eAAG,KAAI;AACP,eAAG,QAAQ;AAAA,UACf,KAAK;AAAI,mBAAO,CAAC,GAAa,EAAE;AAAA,UAChC,KAAK;AACD,gBAAI;AAAK,oBAAM,IAAI;AACnB,mBAAO;AAAA,cAAC;AAAA;AAAA,YAAC;AAAA,UACb,KAAK;AAAI,mBAAO;AAAA,cAAC;AAAA;AAAA;UACjB,KAAK;AAAI,mBAAO;AAAA,cAAC;AAAA;AAAA;QACpB;AAAA,MACjB,CAAa;AAAA,IACb,CAAS;AAAA,EACT;AACI,EAAAA,SAAQ,UAAU,eAAe,WAAY;AACzC;AAAQ,aAAO,MAAM;AACjB,YAAI,WAAW,KAAK;AACpB,YAAI,SAAS;AACb,YAAI,YAAY,KAAM;AAElB,mBAAS,WAAW;AAAA,QACvB,WACQ,WAAW,KAAM;AACtB,cAAI,WAAW,KAAM;AAEjB,qBAAS;AAAA,UACZ,WACQ,WAAW,KAAM;AAEtB,gBAAI,OAAO,WAAW;AACtB,gBAAI,SAAS,GAAG;AACZ,mBAAK,aAAa,IAAI;AACtB,mBAAK,SAAQ;AACb,uBAAS;AAAA,YACZ,OACI;AACD,uBAAS,CAAA;AAAA,YACZ;AAAA,UACJ,WACQ,WAAW,KAAM;AAEtB,gBAAI,OAAO,WAAW;AACtB,gBAAI,SAAS,GAAG;AACZ,mBAAK,eAAe,IAAI;AACxB,mBAAK,SAAQ;AACb,uBAAS;AAAA,YACZ,OACI;AACD,uBAAS,CAAA;AAAA,YACZ;AAAA,UACJ,OACI;AAED,gBAAI,aAAa,WAAW;AAC5B,qBAAS,KAAK,iBAAiB,YAAY,CAAC;AAAA,UAC/C;AAAA,QACJ,WACQ,aAAa,KAAM;AAExB,mBAAS;AAAA,QACZ,WACQ,aAAa,KAAM;AAExB,mBAAS;AAAA,QACZ,WACQ,aAAa,KAAM;AAExB,mBAAS;AAAA,QACZ,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK;QACjB,WACQ,aAAa,KAAM;AAExB,cAAI,aAAa,KAAK;AACtB,mBAAS,KAAK,iBAAiB,YAAY,CAAC;AAAA,QAC/C,WACQ,aAAa,KAAM;AAExB,cAAI,aAAa,KAAK;AACtB,mBAAS,KAAK,iBAAiB,YAAY,CAAC;AAAA,QAC/C,WACQ,aAAa,KAAM;AAExB,cAAI,aAAa,KAAK;AACtB,mBAAS,KAAK,iBAAiB,YAAY,CAAC;AAAA,QAC/C,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,cAAI,SAAS,GAAG;AACZ,iBAAK,eAAe,IAAI;AACxB,iBAAK,SAAQ;AACb,qBAAS;AAAA,UACZ,OACI;AACD,qBAAS,CAAA;AAAA,UACZ;AAAA,QACJ,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,cAAI,SAAS,GAAG;AACZ,iBAAK,eAAe,IAAI;AACxB,iBAAK,SAAQ;AACb,qBAAS;AAAA,UACZ,OACI;AACD,qBAAS,CAAA;AAAA,UACZ;AAAA,QACJ,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,cAAI,SAAS,GAAG;AACZ,iBAAK,aAAa,IAAI;AACtB,iBAAK,SAAQ;AACb,qBAAS;AAAA,UACZ,OACI;AACD,qBAAS,CAAA;AAAA,UACZ;AAAA,QACJ,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,cAAI,SAAS,GAAG;AACZ,iBAAK,aAAa,IAAI;AACtB,iBAAK,SAAQ;AACb,qBAAS;AAAA,UACZ,OACI;AACD,qBAAS,CAAA;AAAA,UACZ;AAAA,QACJ,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,mBAAS,KAAK,aAAa,MAAM,CAAC;AAAA,QACrC,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,mBAAS,KAAK,aAAa,MAAM,CAAC;AAAA,QACrC,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,mBAAS,KAAK,aAAa,MAAM,CAAC;AAAA,QACrC,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK,gBAAgB,GAAG,CAAC;AAAA,QACrC,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK,gBAAgB,GAAG,CAAC;AAAA,QACrC,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK,gBAAgB,GAAG,CAAC;AAAA,QACrC,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK,gBAAgB,GAAG,CAAC;AAAA,QACrC,WACQ,aAAa,KAAM;AAExB,mBAAS,KAAK,gBAAgB,IAAI,CAAC;AAAA,QACtC,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,mBAAS,KAAK,gBAAgB,MAAM,CAAC;AAAA,QACxC,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,mBAAS,KAAK,gBAAgB,MAAM,CAAC;AAAA,QACxC,WACQ,aAAa,KAAM;AAExB,cAAI,OAAO,KAAK;AAChB,mBAAS,KAAK,gBAAgB,MAAM,CAAC;AAAA,QACxC,OACI;AACD,gBAAM,IAAI,YAAY,2BAA2B,OAAO,WAAW,QAAQ,CAAC,CAAC;AAAA,QAChF;AACD,aAAK,SAAQ;AACb,YAAI,QAAQ,KAAK;AACjB,eAAO,MAAM,SAAS,GAAG;AAErB,cAAI,QAAQ,MAAM,MAAM,SAAS,CAAC;AAClC,cAAI,MAAM,SAAS,GAAqB;AACpC,kBAAM,MAAM,MAAM,QAAQ,IAAI;AAC9B,kBAAM;AACN,gBAAI,MAAM,aAAa,MAAM,MAAM;AAC/B,oBAAM,IAAG;AACT,uBAAS,MAAM;AAAA,YAClB,OACI;AACD,uBAAS;AAAA,YACZ;AAAA,UACJ,WACQ,MAAM,SAAS,GAAuB;AAC3C,gBAAI,CAAC,kBAAkB,MAAM,GAAG;AAC5B,oBAAM,IAAI,YAAY,kDAAkD,OAAO,MAAM;AAAA,YACxF;AACD,gBAAI,WAAW,aAAa;AACxB,oBAAM,IAAI,YAAY,kCAAkC;AAAA,YAC3D;AACD,kBAAM,MAAM;AACZ,kBAAM,OAAO;AACb,qBAAS;AAAA,UACZ,OACI;AAED,kBAAM,IAAI,MAAM,GAAG,IAAI;AACvB,kBAAM;AACN,gBAAI,MAAM,cAAc,MAAM,MAAM;AAChC,oBAAM,IAAG;AACT,uBAAS,MAAM;AAAA,YAClB,OACI;AACD,oBAAM,MAAM;AACZ,oBAAM,OAAO;AACb,uBAAS;AAAA,YACZ;AAAA,UACJ;AAAA,QACJ;AACD,eAAO;AAAA,MACV;AAAA,EACT;AACI,EAAAA,SAAQ,UAAU,eAAe,WAAY;AACzC,QAAI,KAAK,aAAa,oBAAoB;AACtC,WAAK,WAAW,KAAK;IAExB;AACD,WAAO,KAAK;AAAA,EACpB;AACI,EAAAA,SAAQ,UAAU,WAAW,WAAY;AACrC,SAAK,WAAW;AAAA,EACxB;AACI,EAAAA,SAAQ,UAAU,gBAAgB,WAAY;AAC1C,QAAI,WAAW,KAAK;AACpB,YAAQ,UAAQ;AAAA,MACZ,KAAK;AACD,eAAO,KAAK;MAChB,KAAK;AACD,eAAO,KAAK;MAChB,SAAS;AACL,YAAI,WAAW,KAAM;AACjB,iBAAO,WAAW;AAAA,QACrB,OACI;AACD,gBAAM,IAAI,YAAY,iCAAiC,OAAO,WAAW,QAAQ,CAAC,CAAC;AAAA,QACtF;AAAA,MACJ;AAAA,IACJ;AAAA,EACT;AACI,EAAAA,SAAQ,UAAU,eAAe,SAAU,MAAM;AAC7C,QAAI,OAAO,KAAK,cAAc;AAC1B,YAAM,IAAI,YAAY,oCAAoC,OAAO,MAAM,0BAA0B,EAAE,OAAO,KAAK,cAAc,GAAG,CAAC;AAAA,IACpI;AACD,SAAK,MAAM,KAAK;AAAA,MACZ,MAAM;AAAA,MACN;AAAA,MACA,KAAK;AAAA,MACL,WAAW;AAAA,MACX,KAAK,CAAE;AAAA,IACnB,CAAS;AAAA,EACT;AACI,EAAAA,SAAQ,UAAU,iBAAiB,SAAU,MAAM;AAC/C,QAAI,OAAO,KAAK,gBAAgB;AAC5B,YAAM,IAAI,YAAY,sCAAsC,OAAO,MAAM,sBAAsB,EAAE,OAAO,KAAK,gBAAgB,GAAG,CAAC;AAAA,IACpI;AACD,SAAK,MAAM,KAAK;AAAA,MACZ,MAAM;AAAA,MACN;AAAA,MACA,OAAO,IAAI,MAAM,IAAI;AAAA,MACrB,UAAU;AAAA,IACtB,CAAS;AAAA,EACT;AACI,EAAAA,SAAQ,UAAU,mBAAmB,SAAU,YAAY,cAAc;AACrE,QAAI;AACJ,QAAI,aAAa,KAAK,cAAc;AAChC,YAAM,IAAI,YAAY,2CAA2C,OAAO,YAAY,oBAAoB,EAAE,OAAO,KAAK,cAAc,GAAG,CAAC;AAAA,IAC3I;AACD,QAAI,KAAK,MAAM,aAAa,KAAK,MAAM,eAAe,YAAY;AAC9D,YAAM;AAAA,IACT;AACD,QAAI,SAAS,KAAK,MAAM;AACxB,QAAI;AACJ,QAAI,KAAK,cAAe,OAAM,KAAK,KAAK,gBAAgB,QAAQ,OAAO,SAAS,SAAS,GAAG,YAAY,UAAU,IAAI;AAClH,eAAS,KAAK,WAAW,OAAO,KAAK,OAAO,QAAQ,UAAU;AAAA,IACjE,WACQ,aAAa,wBAAwB;AAC1C,eAAS,aAAa,KAAK,OAAO,QAAQ,UAAU;AAAA,IACvD,OACI;AACD,eAAS,aAAa,KAAK,OAAO,QAAQ,UAAU;AAAA,IACvD;AACD,SAAK,OAAO,eAAe;AAC3B,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,gBAAgB,WAAY;AAC1C,QAAI,KAAK,MAAM,SAAS,GAAG;AACvB,UAAI,QAAQ,KAAK,MAAM,KAAK,MAAM,SAAS,CAAC;AAC5C,aAAO,MAAM,SAAS;AAAA,IACzB;AACD,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,eAAe,SAAU,YAAY,YAAY;AAC/D,QAAI,aAAa,KAAK,cAAc;AAChC,YAAM,IAAI,YAAY,oCAAoC,OAAO,YAAY,oBAAoB,EAAE,OAAO,KAAK,cAAc,GAAG,CAAC;AAAA,IACpI;AACD,QAAI,CAAC,KAAK,aAAa,aAAa,UAAU,GAAG;AAC7C,YAAM;AAAA,IACT;AACD,QAAI,SAAS,KAAK,MAAM;AACxB,QAAI,SAAS,KAAK,MAAM,SAAS,QAAQ,SAAS,UAAU;AAC5D,SAAK,OAAO,aAAa;AACzB,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,kBAAkB,SAAU,MAAM,YAAY;AAC5D,QAAI,OAAO,KAAK,cAAc;AAC1B,YAAM,IAAI,YAAY,oCAAoC,OAAO,MAAM,oBAAoB,EAAE,OAAO,KAAK,cAAc,GAAG,CAAC;AAAA,IAC9H;AACD,QAAI,UAAU,KAAK,KAAK,QAAQ,KAAK,MAAM,UAAU;AACrD,QAAI,OAAO,KAAK;AAAA,MAAa;AAAA,MAAM,aAAa;AAAA;AAAA;AAChD,WAAO,KAAK,eAAe,OAAO,MAAM,SAAS,KAAK,OAAO;AAAA,EACrE;AACI,EAAAA,SAAQ,UAAU,SAAS,WAAY;AACnC,WAAO,KAAK,KAAK,SAAS,KAAK,GAAG;AAAA,EAC1C;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,WAAO,KAAK,KAAK,UAAU,KAAK,GAAG;AAAA,EAC3C;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,WAAO,KAAK,KAAK,UAAU,KAAK,GAAG;AAAA,EAC3C;AACI,EAAAA,SAAQ,UAAU,SAAS,WAAY;AACnC,QAAI,QAAQ,KAAK,KAAK,SAAS,KAAK,GAAG;AACvC,SAAK;AACL,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,SAAS,WAAY;AACnC,QAAI,QAAQ,KAAK,KAAK,QAAQ,KAAK,GAAG;AACtC,SAAK;AACL,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,QAAI,QAAQ,KAAK,KAAK,UAAU,KAAK,GAAG;AACxC,SAAK,OAAO;AACZ,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,QAAI,QAAQ,KAAK,KAAK,SAAS,KAAK,GAAG;AACvC,SAAK,OAAO;AACZ,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,QAAI,QAAQ,KAAK,KAAK,UAAU,KAAK,GAAG;AACxC,SAAK,OAAO;AACZ,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,QAAI,QAAQ,KAAK,KAAK,SAAS,KAAK,GAAG;AACvC,SAAK,OAAO;AACZ,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,QAAI,QAAQ,UAAU,KAAK,MAAM,KAAK,GAAG;AACzC,SAAK,OAAO;AACZ,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,QAAI,QAAQ,SAAS,KAAK,MAAM,KAAK,GAAG;AACxC,SAAK,OAAO;AACZ,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,QAAI,QAAQ,KAAK,KAAK,WAAW,KAAK,GAAG;AACzC,SAAK,OAAO;AACZ,WAAO;AAAA,EACf;AACI,EAAAA,SAAQ,UAAU,UAAU,WAAY;AACpC,QAAI,QAAQ,KAAK,KAAK,WAAW,KAAK,GAAG;AACzC,SAAK,OAAO;AACZ,WAAO;AAAA,EACf;AACI,SAAOA;AACX,EAAG;"}
@@ -0,0 +1,351 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const utf8 = require("./utils/utf8.cjs");
4
+ const ExtensionCodec = require("./ExtensionCodec.cjs");
5
+ const int = require("./utils/int.cjs");
6
+ const typedArrays = require("./utils/typedArrays.cjs");
7
+ var DEFAULT_MAX_DEPTH = 100;
8
+ var DEFAULT_INITIAL_BUFFER_SIZE = 2048;
9
+ var Encoder = function() {
10
+ function Encoder2(extensionCodec, context, maxDepth, initialBufferSize, sortKeys, forceFloat32, ignoreUndefined, forceIntegerToFloat) {
11
+ if (extensionCodec === void 0) {
12
+ extensionCodec = ExtensionCodec.ExtensionCodec.defaultCodec;
13
+ }
14
+ if (context === void 0) {
15
+ context = void 0;
16
+ }
17
+ if (maxDepth === void 0) {
18
+ maxDepth = DEFAULT_MAX_DEPTH;
19
+ }
20
+ if (initialBufferSize === void 0) {
21
+ initialBufferSize = DEFAULT_INITIAL_BUFFER_SIZE;
22
+ }
23
+ if (sortKeys === void 0) {
24
+ sortKeys = false;
25
+ }
26
+ if (forceFloat32 === void 0) {
27
+ forceFloat32 = false;
28
+ }
29
+ if (ignoreUndefined === void 0) {
30
+ ignoreUndefined = false;
31
+ }
32
+ if (forceIntegerToFloat === void 0) {
33
+ forceIntegerToFloat = false;
34
+ }
35
+ this.extensionCodec = extensionCodec;
36
+ this.context = context;
37
+ this.maxDepth = maxDepth;
38
+ this.initialBufferSize = initialBufferSize;
39
+ this.sortKeys = sortKeys;
40
+ this.forceFloat32 = forceFloat32;
41
+ this.ignoreUndefined = ignoreUndefined;
42
+ this.forceIntegerToFloat = forceIntegerToFloat;
43
+ this.pos = 0;
44
+ this.view = new DataView(new ArrayBuffer(this.initialBufferSize));
45
+ this.bytes = new Uint8Array(this.view.buffer);
46
+ }
47
+ Encoder2.prototype.reinitializeState = function() {
48
+ this.pos = 0;
49
+ };
50
+ Encoder2.prototype.encodeSharedRef = function(object) {
51
+ this.reinitializeState();
52
+ this.doEncode(object, 1);
53
+ return this.bytes.subarray(0, this.pos);
54
+ };
55
+ Encoder2.prototype.encode = function(object) {
56
+ this.reinitializeState();
57
+ this.doEncode(object, 1);
58
+ return this.bytes.slice(0, this.pos);
59
+ };
60
+ Encoder2.prototype.doEncode = function(object, depth) {
61
+ if (depth > this.maxDepth) {
62
+ throw new Error("Too deep objects in depth ".concat(depth));
63
+ }
64
+ if (object == null) {
65
+ this.encodeNil();
66
+ } else if (typeof object === "boolean") {
67
+ this.encodeBoolean(object);
68
+ } else if (typeof object === "number") {
69
+ this.encodeNumber(object);
70
+ } else if (typeof object === "string") {
71
+ this.encodeString(object);
72
+ } else {
73
+ this.encodeObject(object, depth);
74
+ }
75
+ };
76
+ Encoder2.prototype.ensureBufferSizeToWrite = function(sizeToWrite) {
77
+ var requiredSize = this.pos + sizeToWrite;
78
+ if (this.view.byteLength < requiredSize) {
79
+ this.resizeBuffer(requiredSize * 2);
80
+ }
81
+ };
82
+ Encoder2.prototype.resizeBuffer = function(newSize) {
83
+ var newBuffer = new ArrayBuffer(newSize);
84
+ var newBytes = new Uint8Array(newBuffer);
85
+ var newView = new DataView(newBuffer);
86
+ newBytes.set(this.bytes);
87
+ this.view = newView;
88
+ this.bytes = newBytes;
89
+ };
90
+ Encoder2.prototype.encodeNil = function() {
91
+ this.writeU8(192);
92
+ };
93
+ Encoder2.prototype.encodeBoolean = function(object) {
94
+ if (object === false) {
95
+ this.writeU8(194);
96
+ } else {
97
+ this.writeU8(195);
98
+ }
99
+ };
100
+ Encoder2.prototype.encodeNumber = function(object) {
101
+ if (Number.isSafeInteger(object) && !this.forceIntegerToFloat) {
102
+ if (object >= 0) {
103
+ if (object < 128) {
104
+ this.writeU8(object);
105
+ } else if (object < 256) {
106
+ this.writeU8(204);
107
+ this.writeU8(object);
108
+ } else if (object < 65536) {
109
+ this.writeU8(205);
110
+ this.writeU16(object);
111
+ } else if (object < 4294967296) {
112
+ this.writeU8(206);
113
+ this.writeU32(object);
114
+ } else {
115
+ this.writeU8(207);
116
+ this.writeU64(object);
117
+ }
118
+ } else {
119
+ if (object >= -32) {
120
+ this.writeU8(224 | object + 32);
121
+ } else if (object >= -128) {
122
+ this.writeU8(208);
123
+ this.writeI8(object);
124
+ } else if (object >= -32768) {
125
+ this.writeU8(209);
126
+ this.writeI16(object);
127
+ } else if (object >= -2147483648) {
128
+ this.writeU8(210);
129
+ this.writeI32(object);
130
+ } else {
131
+ this.writeU8(211);
132
+ this.writeI64(object);
133
+ }
134
+ }
135
+ } else {
136
+ if (this.forceFloat32) {
137
+ this.writeU8(202);
138
+ this.writeF32(object);
139
+ } else {
140
+ this.writeU8(203);
141
+ this.writeF64(object);
142
+ }
143
+ }
144
+ };
145
+ Encoder2.prototype.writeStringHeader = function(byteLength) {
146
+ if (byteLength < 32) {
147
+ this.writeU8(160 + byteLength);
148
+ } else if (byteLength < 256) {
149
+ this.writeU8(217);
150
+ this.writeU8(byteLength);
151
+ } else if (byteLength < 65536) {
152
+ this.writeU8(218);
153
+ this.writeU16(byteLength);
154
+ } else if (byteLength < 4294967296) {
155
+ this.writeU8(219);
156
+ this.writeU32(byteLength);
157
+ } else {
158
+ throw new Error("Too long string: ".concat(byteLength, " bytes in UTF-8"));
159
+ }
160
+ };
161
+ Encoder2.prototype.encodeString = function(object) {
162
+ var maxHeaderSize = 1 + 4;
163
+ var strLength = object.length;
164
+ if (strLength > utf8.TEXT_ENCODER_THRESHOLD) {
165
+ var byteLength = utf8.utf8Count(object);
166
+ this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);
167
+ this.writeStringHeader(byteLength);
168
+ utf8.utf8EncodeTE(object, this.bytes, this.pos);
169
+ this.pos += byteLength;
170
+ } else {
171
+ var byteLength = utf8.utf8Count(object);
172
+ this.ensureBufferSizeToWrite(maxHeaderSize + byteLength);
173
+ this.writeStringHeader(byteLength);
174
+ utf8.utf8EncodeJs(object, this.bytes, this.pos);
175
+ this.pos += byteLength;
176
+ }
177
+ };
178
+ Encoder2.prototype.encodeObject = function(object, depth) {
179
+ var ext = this.extensionCodec.tryToEncode(object, this.context);
180
+ if (ext != null) {
181
+ this.encodeExtension(ext);
182
+ } else if (Array.isArray(object)) {
183
+ this.encodeArray(object, depth);
184
+ } else if (ArrayBuffer.isView(object)) {
185
+ this.encodeBinary(object);
186
+ } else if (typeof object === "object") {
187
+ this.encodeMap(object, depth);
188
+ } else {
189
+ throw new Error("Unrecognized object: ".concat(Object.prototype.toString.apply(object)));
190
+ }
191
+ };
192
+ Encoder2.prototype.encodeBinary = function(object) {
193
+ var size = object.byteLength;
194
+ if (size < 256) {
195
+ this.writeU8(196);
196
+ this.writeU8(size);
197
+ } else if (size < 65536) {
198
+ this.writeU8(197);
199
+ this.writeU16(size);
200
+ } else if (size < 4294967296) {
201
+ this.writeU8(198);
202
+ this.writeU32(size);
203
+ } else {
204
+ throw new Error("Too large binary: ".concat(size));
205
+ }
206
+ var bytes = typedArrays.ensureUint8Array(object);
207
+ this.writeU8a(bytes);
208
+ };
209
+ Encoder2.prototype.encodeArray = function(object, depth) {
210
+ var size = object.length;
211
+ if (size < 16) {
212
+ this.writeU8(144 + size);
213
+ } else if (size < 65536) {
214
+ this.writeU8(220);
215
+ this.writeU16(size);
216
+ } else if (size < 4294967296) {
217
+ this.writeU8(221);
218
+ this.writeU32(size);
219
+ } else {
220
+ throw new Error("Too large array: ".concat(size));
221
+ }
222
+ for (var _i = 0, object_1 = object; _i < object_1.length; _i++) {
223
+ var item = object_1[_i];
224
+ this.doEncode(item, depth + 1);
225
+ }
226
+ };
227
+ Encoder2.prototype.countWithoutUndefined = function(object, keys) {
228
+ var count = 0;
229
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
230
+ var key = keys_1[_i];
231
+ if (object[key] !== void 0) {
232
+ count++;
233
+ }
234
+ }
235
+ return count;
236
+ };
237
+ Encoder2.prototype.encodeMap = function(object, depth) {
238
+ var keys = Object.keys(object);
239
+ if (this.sortKeys) {
240
+ keys.sort();
241
+ }
242
+ var size = this.ignoreUndefined ? this.countWithoutUndefined(object, keys) : keys.length;
243
+ if (size < 16) {
244
+ this.writeU8(128 + size);
245
+ } else if (size < 65536) {
246
+ this.writeU8(222);
247
+ this.writeU16(size);
248
+ } else if (size < 4294967296) {
249
+ this.writeU8(223);
250
+ this.writeU32(size);
251
+ } else {
252
+ throw new Error("Too large map object: ".concat(size));
253
+ }
254
+ for (var _i = 0, keys_2 = keys; _i < keys_2.length; _i++) {
255
+ var key = keys_2[_i];
256
+ var value = object[key];
257
+ if (!(this.ignoreUndefined && value === void 0)) {
258
+ this.encodeString(key);
259
+ this.doEncode(value, depth + 1);
260
+ }
261
+ }
262
+ };
263
+ Encoder2.prototype.encodeExtension = function(ext) {
264
+ var size = ext.data.length;
265
+ if (size === 1) {
266
+ this.writeU8(212);
267
+ } else if (size === 2) {
268
+ this.writeU8(213);
269
+ } else if (size === 4) {
270
+ this.writeU8(214);
271
+ } else if (size === 8) {
272
+ this.writeU8(215);
273
+ } else if (size === 16) {
274
+ this.writeU8(216);
275
+ } else if (size < 256) {
276
+ this.writeU8(199);
277
+ this.writeU8(size);
278
+ } else if (size < 65536) {
279
+ this.writeU8(200);
280
+ this.writeU16(size);
281
+ } else if (size < 4294967296) {
282
+ this.writeU8(201);
283
+ this.writeU32(size);
284
+ } else {
285
+ throw new Error("Too large extension object: ".concat(size));
286
+ }
287
+ this.writeI8(ext.type);
288
+ this.writeU8a(ext.data);
289
+ };
290
+ Encoder2.prototype.writeU8 = function(value) {
291
+ this.ensureBufferSizeToWrite(1);
292
+ this.view.setUint8(this.pos, value);
293
+ this.pos++;
294
+ };
295
+ Encoder2.prototype.writeU8a = function(values) {
296
+ var size = values.length;
297
+ this.ensureBufferSizeToWrite(size);
298
+ this.bytes.set(values, this.pos);
299
+ this.pos += size;
300
+ };
301
+ Encoder2.prototype.writeI8 = function(value) {
302
+ this.ensureBufferSizeToWrite(1);
303
+ this.view.setInt8(this.pos, value);
304
+ this.pos++;
305
+ };
306
+ Encoder2.prototype.writeU16 = function(value) {
307
+ this.ensureBufferSizeToWrite(2);
308
+ this.view.setUint16(this.pos, value);
309
+ this.pos += 2;
310
+ };
311
+ Encoder2.prototype.writeI16 = function(value) {
312
+ this.ensureBufferSizeToWrite(2);
313
+ this.view.setInt16(this.pos, value);
314
+ this.pos += 2;
315
+ };
316
+ Encoder2.prototype.writeU32 = function(value) {
317
+ this.ensureBufferSizeToWrite(4);
318
+ this.view.setUint32(this.pos, value);
319
+ this.pos += 4;
320
+ };
321
+ Encoder2.prototype.writeI32 = function(value) {
322
+ this.ensureBufferSizeToWrite(4);
323
+ this.view.setInt32(this.pos, value);
324
+ this.pos += 4;
325
+ };
326
+ Encoder2.prototype.writeF32 = function(value) {
327
+ this.ensureBufferSizeToWrite(4);
328
+ this.view.setFloat32(this.pos, value);
329
+ this.pos += 4;
330
+ };
331
+ Encoder2.prototype.writeF64 = function(value) {
332
+ this.ensureBufferSizeToWrite(8);
333
+ this.view.setFloat64(this.pos, value);
334
+ this.pos += 8;
335
+ };
336
+ Encoder2.prototype.writeU64 = function(value) {
337
+ this.ensureBufferSizeToWrite(8);
338
+ int.setUint64(this.view, this.pos, value);
339
+ this.pos += 8;
340
+ };
341
+ Encoder2.prototype.writeI64 = function(value) {
342
+ this.ensureBufferSizeToWrite(8);
343
+ int.setInt64(this.view, this.pos, value);
344
+ this.pos += 8;
345
+ };
346
+ return Encoder2;
347
+ }();
348
+ exports.DEFAULT_INITIAL_BUFFER_SIZE = DEFAULT_INITIAL_BUFFER_SIZE;
349
+ exports.DEFAULT_MAX_DEPTH = DEFAULT_MAX_DEPTH;
350
+ exports.Encoder = Encoder;
351
+ //# sourceMappingURL=Encoder.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Encoder.cjs","sources":["../../../../../../../node_modules/@msgpack/msgpack/dist.es5+esm/Encoder.mjs"],"sourcesContent":["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.reinitializeState = function () {\n this.pos = 0;\n };\n /**\n * This is almost equivalent to {@link Encoder#encode}, but it returns an reference of the encoder's internal buffer and thus much faster than {@link Encoder#encode}.\n *\n * @returns Encodes the object and returns a shared reference the encoder's internal buffer.\n */\n Encoder.prototype.encodeSharedRef = function (object) {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.bytes.subarray(0, this.pos);\n };\n /**\n * @returns Encodes the object and returns a copy of the encoder's internal buffer.\n */\n Encoder.prototype.encode = function (object) {\n this.reinitializeState();\n this.doEncode(object, 1);\n return this.bytes.slice(0, this.pos);\n };\n Encoder.prototype.doEncode = function (object, depth) {\n if (depth > this.maxDepth) {\n throw new Error(\"Too deep objects in depth \".concat(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: \".concat(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: \".concat(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: \".concat(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: \".concat(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: \".concat(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: \".concat(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"],"names":["Encoder","ExtensionCodec","TEXT_ENCODER_THRESHOLD","utf8Count","utf8EncodeTE","utf8EncodeJs","ensureUint8Array","setUint64","setInt64"],"mappings":"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"}