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

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
@@ -1 +0,0 @@
1
- {"version":3,"file":"multipart.js","sources":["../../../../../../../node_modules/busboy/lib/types/multipart.js"],"sourcesContent":["'use strict';\n\nconst { Readable, Writable } = require('stream');\n\nconst StreamSearch = require('streamsearch');\n\nconst {\n basename,\n convertToUTF8,\n getDecoder,\n parseContentType,\n parseDisposition,\n} = require('../utils.js');\n\nconst BUF_CRLF = Buffer.from('\\r\\n');\nconst BUF_CR = Buffer.from('\\r');\nconst BUF_DASH = Buffer.from('-');\n\nfunction noop() {}\n\nconst MAX_HEADER_PAIRS = 2000; // From node\nconst MAX_HEADER_SIZE = 16 * 1024; // From node (its default value)\n\nconst HPARSER_NAME = 0;\nconst HPARSER_PRE_OWS = 1;\nconst HPARSER_VALUE = 2;\nclass HeaderParser {\n constructor(cb) {\n this.header = Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n this.crlf = 0;\n this.cb = cb;\n }\n\n reset() {\n this.header = Object.create(null);\n this.pairCount = 0;\n this.byteCount = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n this.crlf = 0;\n }\n\n push(chunk, pos, end) {\n let start = pos;\n while (pos < end) {\n switch (this.state) {\n case HPARSER_NAME: {\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (TOKEN[code] !== 1) {\n if (code !== 58/* ':' */)\n return -1;\n this.name += chunk.latin1Slice(start, pos);\n if (this.name.length === 0)\n return -1;\n ++pos;\n done = true;\n this.state = HPARSER_PRE_OWS;\n break;\n }\n }\n if (!done) {\n this.name += chunk.latin1Slice(start, pos);\n break;\n }\n // FALLTHROUGH\n }\n case HPARSER_PRE_OWS: {\n // Skip optional whitespace\n let done = false;\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code !== 32/* ' ' */ && code !== 9/* '\\t' */) {\n start = pos;\n done = true;\n this.state = HPARSER_VALUE;\n break;\n }\n }\n if (!done)\n break;\n // FALLTHROUGH\n }\n case HPARSER_VALUE:\n switch (this.crlf) {\n case 0: // Nothing yet\n for (; pos < end; ++pos) {\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (FIELD_VCHAR[code] !== 1) {\n if (code !== 13/* '\\r' */)\n return -1;\n ++this.crlf;\n break;\n }\n }\n this.value += chunk.latin1Slice(start, pos++);\n break;\n case 1: // Received CR\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10/* '\\n' */)\n return -1;\n ++this.crlf;\n break;\n case 2: { // Received CR LF\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n const code = chunk[pos];\n if (code === 32/* ' ' */ || code === 9/* '\\t' */) {\n // Folded value\n start = pos;\n this.crlf = 0;\n } else {\n if (++this.pairCount < MAX_HEADER_PAIRS) {\n this.name = this.name.toLowerCase();\n if (this.header[this.name] === undefined)\n this.header[this.name] = [this.value];\n else\n this.header[this.name].push(this.value);\n }\n if (code === 13/* '\\r' */) {\n ++this.crlf;\n ++pos;\n } else {\n // Assume start of next header field name\n start = pos;\n this.crlf = 0;\n this.state = HPARSER_NAME;\n this.name = '';\n this.value = '';\n }\n }\n break;\n }\n case 3: { // Received CR LF CR\n if (this.byteCount === MAX_HEADER_SIZE)\n return -1;\n ++this.byteCount;\n if (chunk[pos++] !== 10/* '\\n' */)\n return -1;\n // End of header\n const header = this.header;\n this.reset();\n this.cb(header);\n return pos;\n }\n }\n break;\n }\n }\n\n return pos;\n }\n}\n\nclass FileStream extends Readable {\n constructor(opts, owner) {\n super(opts);\n this.truncated = false;\n this._readcb = null;\n this.once('end', () => {\n // We need to make sure that we call any outstanding _writecb() that is\n // associated with this file so that processing of the rest of the form\n // can continue. This may not happen if the file stream ends right after\n // backpressure kicks in, so we force it here.\n this._read();\n if (--owner._fileEndsLeft === 0 && owner._finalcb) {\n const cb = owner._finalcb;\n owner._finalcb = null;\n // Make sure other 'end' event handlers get a chance to be executed\n // before busboy's 'finish' event is emitted\n process.nextTick(cb);\n }\n });\n }\n _read(n) {\n const cb = this._readcb;\n if (cb) {\n this._readcb = null;\n cb();\n }\n }\n}\n\nconst ignoreData = {\n push: (chunk, pos) => {},\n destroy: () => {},\n};\n\nfunction callAndUnsetCb(self, err) {\n const cb = self._writecb;\n self._writecb = null;\n if (err)\n self.destroy(err);\n else if (cb)\n cb();\n}\n\nfunction nullDecoder(val, hint) {\n return val;\n}\n\nclass Multipart extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.highWaterMark === 'number'\n ? cfg.highWaterMark\n : undefined),\n };\n super(streamOpts);\n\n if (!cfg.conType.params || typeof cfg.conType.params.boundary !== 'string')\n throw new Error('Multipart: Boundary not found');\n\n const boundary = cfg.conType.params.boundary;\n const paramDecoder = (typeof cfg.defParamCharset === 'string'\n && cfg.defParamCharset\n ? getDecoder(cfg.defParamCharset)\n : nullDecoder);\n const defCharset = (cfg.defCharset || 'utf8');\n const preservePath = cfg.preservePath;\n const fileOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.fileHwm === 'number'\n ? cfg.fileHwm\n : undefined),\n };\n\n const limits = cfg.limits;\n const fieldSizeLimit = (limits && typeof limits.fieldSize === 'number'\n ? limits.fieldSize\n : 1 * 1024 * 1024);\n const fileSizeLimit = (limits && typeof limits.fileSize === 'number'\n ? limits.fileSize\n : Infinity);\n const filesLimit = (limits && typeof limits.files === 'number'\n ? limits.files\n : Infinity);\n const fieldsLimit = (limits && typeof limits.fields === 'number'\n ? limits.fields\n : Infinity);\n const partsLimit = (limits && typeof limits.parts === 'number'\n ? limits.parts\n : Infinity);\n\n let parts = -1; // Account for initial boundary\n let fields = 0;\n let files = 0;\n let skipPart = false;\n\n this._fileEndsLeft = 0;\n this._fileStream = undefined;\n this._complete = false;\n let fileSize = 0;\n\n let field;\n let fieldSize = 0;\n let partCharset;\n let partEncoding;\n let partType;\n let partName;\n let partTruncated = false;\n\n let hitFilesLimit = false;\n let hitFieldsLimit = false;\n\n this._hparser = null;\n const hparser = new HeaderParser((header) => {\n this._hparser = null;\n skipPart = false;\n\n partType = 'text/plain';\n partCharset = defCharset;\n partEncoding = '7bit';\n partName = undefined;\n partTruncated = false;\n\n let filename;\n if (!header['content-disposition']) {\n skipPart = true;\n return;\n }\n\n const disp = parseDisposition(header['content-disposition'][0],\n paramDecoder);\n if (!disp || disp.type !== 'form-data') {\n skipPart = true;\n return;\n }\n\n if (disp.params) {\n if (disp.params.name)\n partName = disp.params.name;\n\n if (disp.params['filename*'])\n filename = disp.params['filename*'];\n else if (disp.params.filename)\n filename = disp.params.filename;\n\n if (filename !== undefined && !preservePath)\n filename = basename(filename);\n }\n\n if (header['content-type']) {\n const conType = parseContentType(header['content-type'][0]);\n if (conType) {\n partType = `${conType.type}/${conType.subtype}`;\n if (conType.params && typeof conType.params.charset === 'string')\n partCharset = conType.params.charset.toLowerCase();\n }\n }\n\n if (header['content-transfer-encoding'])\n partEncoding = header['content-transfer-encoding'][0].toLowerCase();\n\n if (partType === 'application/octet-stream' || filename !== undefined) {\n // File\n\n if (files === filesLimit) {\n if (!hitFilesLimit) {\n hitFilesLimit = true;\n this.emit('filesLimit');\n }\n skipPart = true;\n return;\n }\n ++files;\n\n if (this.listenerCount('file') === 0) {\n skipPart = true;\n return;\n }\n\n fileSize = 0;\n this._fileStream = new FileStream(fileOpts, this);\n ++this._fileEndsLeft;\n this.emit(\n 'file',\n partName,\n this._fileStream,\n { filename,\n encoding: partEncoding,\n mimeType: partType }\n );\n } else {\n // Non-file\n\n if (fields === fieldsLimit) {\n if (!hitFieldsLimit) {\n hitFieldsLimit = true;\n this.emit('fieldsLimit');\n }\n skipPart = true;\n return;\n }\n ++fields;\n\n if (this.listenerCount('field') === 0) {\n skipPart = true;\n return;\n }\n\n field = [];\n fieldSize = 0;\n }\n });\n\n let matchPostBoundary = 0;\n const ssCb = (isMatch, data, start, end, isDataSafe) => {\nretrydata:\n while (data) {\n if (this._hparser !== null) {\n const ret = this._hparser.push(data, start, end);\n if (ret === -1) {\n this._hparser = null;\n hparser.reset();\n this.emit('error', new Error('Malformed part header'));\n break;\n }\n start = ret;\n }\n\n if (start === end)\n break;\n\n if (matchPostBoundary !== 0) {\n if (matchPostBoundary === 1) {\n switch (data[start]) {\n case 45: // '-'\n // Try matching '--' after boundary\n matchPostBoundary = 2;\n ++start;\n break;\n case 13: // '\\r'\n // Try matching CR LF before header\n matchPostBoundary = 3;\n ++start;\n break;\n default:\n matchPostBoundary = 0;\n }\n if (start === end)\n return;\n }\n\n if (matchPostBoundary === 2) {\n matchPostBoundary = 0;\n if (data[start] === 45/* '-' */) {\n // End of multipart data\n this._complete = true;\n this._bparser = ignoreData;\n return;\n }\n // We saw something other than '-', so put the dash we consumed\n // \"back\"\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_DASH, 0, 1, false);\n this._writecb = writecb;\n } else if (matchPostBoundary === 3) {\n matchPostBoundary = 0;\n if (data[start] === 10/* '\\n' */) {\n ++start;\n if (parts >= partsLimit)\n break;\n // Prepare the header parser\n this._hparser = hparser;\n if (start === end)\n break;\n // Process the remaining data as a header\n continue retrydata;\n } else {\n // We saw something other than LF, so put the CR we consumed\n // \"back\"\n const writecb = this._writecb;\n this._writecb = noop;\n ssCb(false, BUF_CR, 0, 1, false);\n this._writecb = writecb;\n }\n }\n }\n\n if (!skipPart) {\n if (this._fileStream) {\n let chunk;\n const actualLen = Math.min(end - start, fileSizeLimit - fileSize);\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n\n fileSize += chunk.length;\n if (fileSize === fileSizeLimit) {\n if (chunk.length > 0)\n this._fileStream.push(chunk);\n this._fileStream.emit('limit');\n this._fileStream.truncated = true;\n skipPart = true;\n } else if (!this._fileStream.push(chunk)) {\n if (this._writecb)\n this._fileStream._readcb = this._writecb;\n this._writecb = null;\n }\n } else if (field !== undefined) {\n let chunk;\n const actualLen = Math.min(\n end - start,\n fieldSizeLimit - fieldSize\n );\n if (!isDataSafe) {\n chunk = Buffer.allocUnsafe(actualLen);\n data.copy(chunk, 0, start, start + actualLen);\n } else {\n chunk = data.slice(start, start + actualLen);\n }\n\n fieldSize += actualLen;\n field.push(chunk);\n if (fieldSize === fieldSizeLimit) {\n skipPart = true;\n partTruncated = true;\n }\n }\n }\n\n break;\n }\n\n if (isMatch) {\n matchPostBoundary = 1;\n\n if (this._fileStream) {\n // End the active file stream if the previous part was a file\n this._fileStream.push(null);\n this._fileStream = null;\n } else if (field !== undefined) {\n let data;\n switch (field.length) {\n case 0:\n data = '';\n break;\n case 1:\n data = convertToUTF8(field[0], partCharset, 0);\n break;\n default:\n data = convertToUTF8(\n Buffer.concat(field, fieldSize),\n partCharset,\n 0\n );\n }\n field = undefined;\n fieldSize = 0;\n this.emit(\n 'field',\n partName,\n data,\n { nameTruncated: false,\n valueTruncated: partTruncated,\n encoding: partEncoding,\n mimeType: partType }\n );\n }\n\n if (++parts === partsLimit)\n this.emit('partsLimit');\n }\n };\n this._bparser = new StreamSearch(`\\r\\n--${boundary}`, ssCb);\n\n this._writecb = null;\n this._finalcb = null;\n\n // Just in case there is no preamble\n this.write(BUF_CRLF);\n }\n\n static detect(conType) {\n return (conType.type === 'multipart' && conType.subtype === 'form-data');\n }\n\n _write(chunk, enc, cb) {\n this._writecb = cb;\n this._bparser.push(chunk, 0);\n if (this._writecb)\n callAndUnsetCb(this);\n }\n\n _destroy(err, cb) {\n this._hparser = null;\n this._bparser = ignoreData;\n if (!err)\n err = checkEndState(this);\n const fileStream = this._fileStream;\n if (fileStream) {\n this._fileStream = null;\n fileStream.destroy(err);\n }\n cb(err);\n }\n\n _final(cb) {\n this._bparser.destroy();\n if (!this._complete)\n return cb(new Error('Unexpected end of form'));\n if (this._fileEndsLeft)\n this._finalcb = finalcb.bind(null, this, cb);\n else\n finalcb(this, cb);\n }\n}\n\nfunction finalcb(self, cb, err) {\n if (err)\n return cb(err);\n err = checkEndState(self);\n cb(err);\n}\n\nfunction checkEndState(self) {\n if (self._hparser)\n return new Error('Malformed part header');\n const fileStream = self._fileStream;\n if (fileStream) {\n self._fileStream = null;\n fileStream.destroy(new Error('Unexpected end of file'));\n }\n if (!self._complete)\n return new Error('Unexpected end of form');\n}\n\nconst TOKEN = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,\n 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n];\n\nconst FIELD_VCHAR = [\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n];\n\nmodule.exports = Multipart;\n"],"names":["require$$1","require$$2","data"],"mappings":"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AG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAC/C;AAEA,MAAM,cAAc;AAAA,EAClB;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAC7C;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAAA,EAAG;AAC/C;AAEA,IAAA,YAAiB;"}
@@ -1,545 +0,0 @@
1
- "use strict";
2
- const require$$0 = require("stream");
3
- const utils = require("../utils.cjs");
4
- const { Writable } = require$$0;
5
- const { getDecoder } = utils;
6
- class URLEncoded extends Writable {
7
- constructor(cfg) {
8
- const streamOpts = {
9
- autoDestroy: true,
10
- emitClose: true,
11
- highWaterMark: typeof cfg.highWaterMark === "number" ? cfg.highWaterMark : void 0
12
- };
13
- super(streamOpts);
14
- let charset = cfg.defCharset || "utf8";
15
- if (cfg.conType.params && typeof cfg.conType.params.charset === "string")
16
- charset = cfg.conType.params.charset;
17
- this.charset = charset;
18
- const limits = cfg.limits;
19
- this.fieldSizeLimit = limits && typeof limits.fieldSize === "number" ? limits.fieldSize : 1 * 1024 * 1024;
20
- this.fieldsLimit = limits && typeof limits.fields === "number" ? limits.fields : Infinity;
21
- this.fieldNameSizeLimit = limits && typeof limits.fieldNameSize === "number" ? limits.fieldNameSize : 100;
22
- this._inKey = true;
23
- this._keyTrunc = false;
24
- this._valTrunc = false;
25
- this._bytesKey = 0;
26
- this._bytesVal = 0;
27
- this._fields = 0;
28
- this._key = "";
29
- this._val = "";
30
- this._byte = -2;
31
- this._lastPos = 0;
32
- this._encode = 0;
33
- this._decoder = getDecoder(charset);
34
- }
35
- static detect(conType) {
36
- return conType.type === "application" && conType.subtype === "x-www-form-urlencoded";
37
- }
38
- _write(chunk, enc, cb) {
39
- if (this._fields >= this.fieldsLimit)
40
- return cb();
41
- let i = 0;
42
- const len = chunk.length;
43
- this._lastPos = 0;
44
- if (this._byte !== -2) {
45
- i = readPctEnc(this, chunk, i, len);
46
- if (i === -1)
47
- return cb(new Error("Malformed urlencoded form"));
48
- if (i >= len)
49
- return cb();
50
- if (this._inKey)
51
- ++this._bytesKey;
52
- else
53
- ++this._bytesVal;
54
- }
55
- main:
56
- while (i < len) {
57
- if (this._inKey) {
58
- i = skipKeyBytes(this, chunk, i, len);
59
- while (i < len) {
60
- switch (chunk[i]) {
61
- case 61:
62
- if (this._lastPos < i)
63
- this._key += chunk.latin1Slice(this._lastPos, i);
64
- this._lastPos = ++i;
65
- this._key = this._decoder(this._key, this._encode);
66
- this._encode = 0;
67
- this._inKey = false;
68
- continue main;
69
- case 38:
70
- if (this._lastPos < i)
71
- this._key += chunk.latin1Slice(this._lastPos, i);
72
- this._lastPos = ++i;
73
- this._key = this._decoder(this._key, this._encode);
74
- this._encode = 0;
75
- if (this._bytesKey > 0) {
76
- this.emit(
77
- "field",
78
- this._key,
79
- "",
80
- {
81
- nameTruncated: this._keyTrunc,
82
- valueTruncated: false,
83
- encoding: this.charset,
84
- mimeType: "text/plain"
85
- }
86
- );
87
- }
88
- this._key = "";
89
- this._val = "";
90
- this._keyTrunc = false;
91
- this._valTrunc = false;
92
- this._bytesKey = 0;
93
- this._bytesVal = 0;
94
- if (++this._fields >= this.fieldsLimit) {
95
- this.emit("fieldsLimit");
96
- return cb();
97
- }
98
- continue;
99
- case 43:
100
- if (this._lastPos < i)
101
- this._key += chunk.latin1Slice(this._lastPos, i);
102
- this._key += " ";
103
- this._lastPos = i + 1;
104
- break;
105
- case 37:
106
- if (this._encode === 0)
107
- this._encode = 1;
108
- if (this._lastPos < i)
109
- this._key += chunk.latin1Slice(this._lastPos, i);
110
- this._lastPos = i + 1;
111
- this._byte = -1;
112
- i = readPctEnc(this, chunk, i + 1, len);
113
- if (i === -1)
114
- return cb(new Error("Malformed urlencoded form"));
115
- if (i >= len)
116
- return cb();
117
- ++this._bytesKey;
118
- i = skipKeyBytes(this, chunk, i, len);
119
- continue;
120
- }
121
- ++i;
122
- ++this._bytesKey;
123
- i = skipKeyBytes(this, chunk, i, len);
124
- }
125
- if (this._lastPos < i)
126
- this._key += chunk.latin1Slice(this._lastPos, i);
127
- } else {
128
- i = skipValBytes(this, chunk, i, len);
129
- while (i < len) {
130
- switch (chunk[i]) {
131
- case 38:
132
- if (this._lastPos < i)
133
- this._val += chunk.latin1Slice(this._lastPos, i);
134
- this._lastPos = ++i;
135
- this._inKey = true;
136
- this._val = this._decoder(this._val, this._encode);
137
- this._encode = 0;
138
- if (this._bytesKey > 0 || this._bytesVal > 0) {
139
- this.emit(
140
- "field",
141
- this._key,
142
- this._val,
143
- {
144
- nameTruncated: this._keyTrunc,
145
- valueTruncated: this._valTrunc,
146
- encoding: this.charset,
147
- mimeType: "text/plain"
148
- }
149
- );
150
- }
151
- this._key = "";
152
- this._val = "";
153
- this._keyTrunc = false;
154
- this._valTrunc = false;
155
- this._bytesKey = 0;
156
- this._bytesVal = 0;
157
- if (++this._fields >= this.fieldsLimit) {
158
- this.emit("fieldsLimit");
159
- return cb();
160
- }
161
- continue main;
162
- case 43:
163
- if (this._lastPos < i)
164
- this._val += chunk.latin1Slice(this._lastPos, i);
165
- this._val += " ";
166
- this._lastPos = i + 1;
167
- break;
168
- case 37:
169
- if (this._encode === 0)
170
- this._encode = 1;
171
- if (this._lastPos < i)
172
- this._val += chunk.latin1Slice(this._lastPos, i);
173
- this._lastPos = i + 1;
174
- this._byte = -1;
175
- i = readPctEnc(this, chunk, i + 1, len);
176
- if (i === -1)
177
- return cb(new Error("Malformed urlencoded form"));
178
- if (i >= len)
179
- return cb();
180
- ++this._bytesVal;
181
- i = skipValBytes(this, chunk, i, len);
182
- continue;
183
- }
184
- ++i;
185
- ++this._bytesVal;
186
- i = skipValBytes(this, chunk, i, len);
187
- }
188
- if (this._lastPos < i)
189
- this._val += chunk.latin1Slice(this._lastPos, i);
190
- }
191
- }
192
- cb();
193
- }
194
- _final(cb) {
195
- if (this._byte !== -2)
196
- return cb(new Error("Malformed urlencoded form"));
197
- if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) {
198
- if (this._inKey)
199
- this._key = this._decoder(this._key, this._encode);
200
- else
201
- this._val = this._decoder(this._val, this._encode);
202
- this.emit(
203
- "field",
204
- this._key,
205
- this._val,
206
- {
207
- nameTruncated: this._keyTrunc,
208
- valueTruncated: this._valTrunc,
209
- encoding: this.charset,
210
- mimeType: "text/plain"
211
- }
212
- );
213
- }
214
- cb();
215
- }
216
- }
217
- function readPctEnc(self, chunk, pos, len) {
218
- if (pos >= len)
219
- return len;
220
- if (self._byte === -1) {
221
- const hexUpper = HEX_VALUES[chunk[pos++]];
222
- if (hexUpper === -1)
223
- return -1;
224
- if (hexUpper >= 8)
225
- self._encode = 2;
226
- if (pos < len) {
227
- const hexLower = HEX_VALUES[chunk[pos++]];
228
- if (hexLower === -1)
229
- return -1;
230
- if (self._inKey)
231
- self._key += String.fromCharCode((hexUpper << 4) + hexLower);
232
- else
233
- self._val += String.fromCharCode((hexUpper << 4) + hexLower);
234
- self._byte = -2;
235
- self._lastPos = pos;
236
- } else {
237
- self._byte = hexUpper;
238
- }
239
- } else {
240
- const hexLower = HEX_VALUES[chunk[pos++]];
241
- if (hexLower === -1)
242
- return -1;
243
- if (self._inKey)
244
- self._key += String.fromCharCode((self._byte << 4) + hexLower);
245
- else
246
- self._val += String.fromCharCode((self._byte << 4) + hexLower);
247
- self._byte = -2;
248
- self._lastPos = pos;
249
- }
250
- return pos;
251
- }
252
- function skipKeyBytes(self, chunk, pos, len) {
253
- if (self._bytesKey > self.fieldNameSizeLimit) {
254
- if (!self._keyTrunc) {
255
- if (self._lastPos < pos)
256
- self._key += chunk.latin1Slice(self._lastPos, pos - 1);
257
- }
258
- self._keyTrunc = true;
259
- for (; pos < len; ++pos) {
260
- const code = chunk[pos];
261
- if (code === 61 || code === 38)
262
- break;
263
- ++self._bytesKey;
264
- }
265
- self._lastPos = pos;
266
- }
267
- return pos;
268
- }
269
- function skipValBytes(self, chunk, pos, len) {
270
- if (self._bytesVal > self.fieldSizeLimit) {
271
- if (!self._valTrunc) {
272
- if (self._lastPos < pos)
273
- self._val += chunk.latin1Slice(self._lastPos, pos - 1);
274
- }
275
- self._valTrunc = true;
276
- for (; pos < len; ++pos) {
277
- if (chunk[pos] === 38)
278
- break;
279
- ++self._bytesVal;
280
- }
281
- self._lastPos = pos;
282
- }
283
- return pos;
284
- }
285
- const HEX_VALUES = [
286
- -1,
287
- -1,
288
- -1,
289
- -1,
290
- -1,
291
- -1,
292
- -1,
293
- -1,
294
- -1,
295
- -1,
296
- -1,
297
- -1,
298
- -1,
299
- -1,
300
- -1,
301
- -1,
302
- -1,
303
- -1,
304
- -1,
305
- -1,
306
- -1,
307
- -1,
308
- -1,
309
- -1,
310
- -1,
311
- -1,
312
- -1,
313
- -1,
314
- -1,
315
- -1,
316
- -1,
317
- -1,
318
- -1,
319
- -1,
320
- -1,
321
- -1,
322
- -1,
323
- -1,
324
- -1,
325
- -1,
326
- -1,
327
- -1,
328
- -1,
329
- -1,
330
- -1,
331
- -1,
332
- -1,
333
- -1,
334
- 0,
335
- 1,
336
- 2,
337
- 3,
338
- 4,
339
- 5,
340
- 6,
341
- 7,
342
- 8,
343
- 9,
344
- -1,
345
- -1,
346
- -1,
347
- -1,
348
- -1,
349
- -1,
350
- -1,
351
- 10,
352
- 11,
353
- 12,
354
- 13,
355
- 14,
356
- 15,
357
- -1,
358
- -1,
359
- -1,
360
- -1,
361
- -1,
362
- -1,
363
- -1,
364
- -1,
365
- -1,
366
- -1,
367
- -1,
368
- -1,
369
- -1,
370
- -1,
371
- -1,
372
- -1,
373
- -1,
374
- -1,
375
- -1,
376
- -1,
377
- -1,
378
- -1,
379
- -1,
380
- -1,
381
- -1,
382
- -1,
383
- 10,
384
- 11,
385
- 12,
386
- 13,
387
- 14,
388
- 15,
389
- -1,
390
- -1,
391
- -1,
392
- -1,
393
- -1,
394
- -1,
395
- -1,
396
- -1,
397
- -1,
398
- -1,
399
- -1,
400
- -1,
401
- -1,
402
- -1,
403
- -1,
404
- -1,
405
- -1,
406
- -1,
407
- -1,
408
- -1,
409
- -1,
410
- -1,
411
- -1,
412
- -1,
413
- -1,
414
- -1,
415
- -1,
416
- -1,
417
- -1,
418
- -1,
419
- -1,
420
- -1,
421
- -1,
422
- -1,
423
- -1,
424
- -1,
425
- -1,
426
- -1,
427
- -1,
428
- -1,
429
- -1,
430
- -1,
431
- -1,
432
- -1,
433
- -1,
434
- -1,
435
- -1,
436
- -1,
437
- -1,
438
- -1,
439
- -1,
440
- -1,
441
- -1,
442
- -1,
443
- -1,
444
- -1,
445
- -1,
446
- -1,
447
- -1,
448
- -1,
449
- -1,
450
- -1,
451
- -1,
452
- -1,
453
- -1,
454
- -1,
455
- -1,
456
- -1,
457
- -1,
458
- -1,
459
- -1,
460
- -1,
461
- -1,
462
- -1,
463
- -1,
464
- -1,
465
- -1,
466
- -1,
467
- -1,
468
- -1,
469
- -1,
470
- -1,
471
- -1,
472
- -1,
473
- -1,
474
- -1,
475
- -1,
476
- -1,
477
- -1,
478
- -1,
479
- -1,
480
- -1,
481
- -1,
482
- -1,
483
- -1,
484
- -1,
485
- -1,
486
- -1,
487
- -1,
488
- -1,
489
- -1,
490
- -1,
491
- -1,
492
- -1,
493
- -1,
494
- -1,
495
- -1,
496
- -1,
497
- -1,
498
- -1,
499
- -1,
500
- -1,
501
- -1,
502
- -1,
503
- -1,
504
- -1,
505
- -1,
506
- -1,
507
- -1,
508
- -1,
509
- -1,
510
- -1,
511
- -1,
512
- -1,
513
- -1,
514
- -1,
515
- -1,
516
- -1,
517
- -1,
518
- -1,
519
- -1,
520
- -1,
521
- -1,
522
- -1,
523
- -1,
524
- -1,
525
- -1,
526
- -1,
527
- -1,
528
- -1,
529
- -1,
530
- -1,
531
- -1,
532
- -1,
533
- -1,
534
- -1,
535
- -1,
536
- -1,
537
- -1,
538
- -1,
539
- -1,
540
- -1,
541
- -1
542
- ];
543
- var urlencoded = URLEncoded;
544
- module.exports = urlencoded;
545
- //# sourceMappingURL=urlencoded.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlencoded.cjs","sources":["../../../../../../../node_modules/busboy/lib/types/urlencoded.js"],"sourcesContent":["'use strict';\n\nconst { Writable } = require('stream');\n\nconst { getDecoder } = require('../utils.js');\n\nclass URLEncoded extends Writable {\n constructor(cfg) {\n const streamOpts = {\n autoDestroy: true,\n emitClose: true,\n highWaterMark: (typeof cfg.highWaterMark === 'number'\n ? cfg.highWaterMark\n : undefined),\n };\n super(streamOpts);\n\n let charset = (cfg.defCharset || 'utf8');\n if (cfg.conType.params && typeof cfg.conType.params.charset === 'string')\n charset = cfg.conType.params.charset;\n\n this.charset = charset;\n\n const limits = cfg.limits;\n this.fieldSizeLimit = (limits && typeof limits.fieldSize === 'number'\n ? limits.fieldSize\n : 1 * 1024 * 1024);\n this.fieldsLimit = (limits && typeof limits.fields === 'number'\n ? limits.fields\n : Infinity);\n this.fieldNameSizeLimit = (\n limits && typeof limits.fieldNameSize === 'number'\n ? limits.fieldNameSize\n : 100\n );\n\n this._inKey = true;\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n this._fields = 0;\n this._key = '';\n this._val = '';\n this._byte = -2;\n this._lastPos = 0;\n this._encode = 0;\n this._decoder = getDecoder(charset);\n }\n\n static detect(conType) {\n return (conType.type === 'application'\n && conType.subtype === 'x-www-form-urlencoded');\n }\n\n _write(chunk, enc, cb) {\n if (this._fields >= this.fieldsLimit)\n return cb();\n\n let i = 0;\n const len = chunk.length;\n this._lastPos = 0;\n\n // Check if we last ended mid-percent-encoded byte\n if (this._byte !== -2) {\n i = readPctEnc(this, chunk, i, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n if (this._inKey)\n ++this._bytesKey;\n else\n ++this._bytesVal;\n }\n\nmain:\n while (i < len) {\n if (this._inKey) {\n // Parsing key\n\n i = skipKeyBytes(this, chunk, i, len);\n\n while (i < len) {\n switch (chunk[i]) {\n case 61: // '='\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n this._inKey = false;\n continue main;\n case 38: // '&'\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._key = this._decoder(this._key, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0) {\n this.emit(\n 'field',\n this._key,\n '',\n { nameTruncated: this._keyTrunc,\n valueTruncated: false,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n this._key = '';\n this._val = '';\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit('fieldsLimit');\n return cb();\n }\n continue;\n case 43: // '+'\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._key += ' ';\n this._lastPos = i + 1;\n break;\n case 37: // '%'\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesKey;\n i = skipKeyBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._key += chunk.latin1Slice(this._lastPos, i);\n } else {\n // Parsing value\n\n i = skipValBytes(this, chunk, i, len);\n\n while (i < len) {\n switch (chunk[i]) {\n case 38: // '&'\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = ++i;\n this._inKey = true;\n this._val = this._decoder(this._val, this._encode);\n this._encode = 0;\n if (this._bytesKey > 0 || this._bytesVal > 0) {\n this.emit(\n 'field',\n this._key,\n this._val,\n { nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n this._key = '';\n this._val = '';\n this._keyTrunc = false;\n this._valTrunc = false;\n this._bytesKey = 0;\n this._bytesVal = 0;\n if (++this._fields >= this.fieldsLimit) {\n this.emit('fieldsLimit');\n return cb();\n }\n continue main;\n case 43: // '+'\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._val += ' ';\n this._lastPos = i + 1;\n break;\n case 37: // '%'\n if (this._encode === 0)\n this._encode = 1;\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n this._lastPos = i + 1;\n this._byte = -1;\n i = readPctEnc(this, chunk, i + 1, len);\n if (i === -1)\n return cb(new Error('Malformed urlencoded form'));\n if (i >= len)\n return cb();\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n continue;\n }\n ++i;\n ++this._bytesVal;\n i = skipValBytes(this, chunk, i, len);\n }\n if (this._lastPos < i)\n this._val += chunk.latin1Slice(this._lastPos, i);\n }\n }\n\n cb();\n }\n\n _final(cb) {\n if (this._byte !== -2)\n return cb(new Error('Malformed urlencoded form'));\n if (!this._inKey || this._bytesKey > 0 || this._bytesVal > 0) {\n if (this._inKey)\n this._key = this._decoder(this._key, this._encode);\n else\n this._val = this._decoder(this._val, this._encode);\n this.emit(\n 'field',\n this._key,\n this._val,\n { nameTruncated: this._keyTrunc,\n valueTruncated: this._valTrunc,\n encoding: this.charset,\n mimeType: 'text/plain' }\n );\n }\n cb();\n }\n}\n\nfunction readPctEnc(self, chunk, pos, len) {\n if (pos >= len)\n return len;\n\n if (self._byte === -1) {\n // We saw a '%' but no hex characters yet\n const hexUpper = HEX_VALUES[chunk[pos++]];\n if (hexUpper === -1)\n return -1;\n\n if (hexUpper >= 8)\n self._encode = 2; // Indicate high bits detected\n\n if (pos < len) {\n // Both hex characters are in this chunk\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n\n if (self._inKey)\n self._key += String.fromCharCode((hexUpper << 4) + hexLower);\n else\n self._val += String.fromCharCode((hexUpper << 4) + hexLower);\n\n self._byte = -2;\n self._lastPos = pos;\n } else {\n // Only one hex character was available in this chunk\n self._byte = hexUpper;\n }\n } else {\n // We saw only one hex character so far\n const hexLower = HEX_VALUES[chunk[pos++]];\n if (hexLower === -1)\n return -1;\n\n if (self._inKey)\n self._key += String.fromCharCode((self._byte << 4) + hexLower);\n else\n self._val += String.fromCharCode((self._byte << 4) + hexLower);\n\n self._byte = -2;\n self._lastPos = pos;\n }\n\n return pos;\n}\n\nfunction skipKeyBytes(self, chunk, pos, len) {\n // Skip bytes if we've truncated\n if (self._bytesKey > self.fieldNameSizeLimit) {\n if (!self._keyTrunc) {\n if (self._lastPos < pos)\n self._key += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._keyTrunc = true;\n for (; pos < len; ++pos) {\n const code = chunk[pos];\n if (code === 61/* '=' */ || code === 38/* '&' */)\n break;\n ++self._bytesKey;\n }\n self._lastPos = pos;\n }\n\n return pos;\n}\n\nfunction skipValBytes(self, chunk, pos, len) {\n // Skip bytes if we've truncated\n if (self._bytesVal > self.fieldSizeLimit) {\n if (!self._valTrunc) {\n if (self._lastPos < pos)\n self._val += chunk.latin1Slice(self._lastPos, pos - 1);\n }\n self._valTrunc = true;\n for (; pos < len; ++pos) {\n if (chunk[pos] === 38/* '&' */)\n break;\n ++self._bytesVal;\n }\n self._lastPos = pos;\n }\n\n return pos;\n}\n\n/* eslint-disable no-multi-spaces */\nconst HEX_VALUES = [\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,\n];\n/* eslint-enable no-multi-spaces */\n\nmodule.exports = URLEncoded;\n"],"names":["require$$1"],"mappings":"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A,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC3D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAG;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAC5D;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAC9D;AAGA,IAAA,aAAiB;;"}