You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
243 KiB
1 lines
243 KiB
{"version":3,"file":"string_decoder-BO00msnV.chunk.mjs","sources":["../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.cjs","../node_modules/string_decoder/node_modules/safe-buffer/index.js","../node_modules/string_decoder/lib/string_decoder.js"],"sourcesContent":["var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });\n\nvar buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n\nieee754.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? (nBytes - 1) : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1);\n e >>= (-nBits);\n nBits += mLen;\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = (nBytes * 8) - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0);\n var i = isLE ? 0 : (nBytes - 1);\n var d = isLE ? 1 : -1;\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;\n\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m;\n eLen += mLen;\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nexports.Blob = buffer.Blob;\nexports.BlobOptions = buffer.BlobOptions;\nexports.Buffer = buffer.Buffer;\nexports.File = buffer.File;\nexports.FileOptions = buffer.FileOptions;\nexports.INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nexports.SlowBuffer = buffer.SlowBuffer;\nexports.TranscodeEncoding = buffer.TranscodeEncoding;\nexports.atob = buffer.atob;\nexports.btoa = buffer.btoa;\nexports.constants = buffer.constants;\nexports.default = Buffer;\nexports.isAscii = buffer.isAscii;\nexports.isUtf8 = buffer.isUtf8;\nexports.kMaxLength = buffer.kMaxLength;\nexports.kStringMaxLength = buffer.kStringMaxLength;\nexports.resolveObjectURL = buffer.resolveObjectURL;\nexports.transcode = buffer.transcode;\n//# sourceMappingURL=index.cjs.map\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}"],"names":["buffer","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","i","len","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","ieee754","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","d","s","value","c","rt","exports","base64","ieee754$1","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","GlobalUint8Array","GlobalArrayBuffer","GlobalSharedArrayBuffer","typedArraySupport","proto","createBuffer","length","buf","arg","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","b","fromObject","assertSize","size","alloc","fill","encoding","checked","string","actual","fromArrayLike","array","arrayView","copy","byteOffset","obj","numberIsNaN","a","x","y","list","pos","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","str","max","target","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","val","dir","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","first","last","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","errors","E","sym","getMessage","Base","name","range","input","msg","received","addNumericalSeparator","checkBounds","type","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","require$$0","copyProps","key","module","SafeBuffer","isEncoding","_normalizeEncoding","enc","retried","normalizeEncoding","nenc","string_decoder","StringDecoder","nb","utf16Text","utf16End","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","r","utf8End","utf8Text","utf8CheckByte","byte","utf8CheckIncomplete","self","utf8CheckExtraBytes","p","total"],"mappings":"AAAA,IAAIA,GAAS,CAAA,EAETC,GAAW,CAAA,EAEfA,GAAS,WAAaC,GACtBD,GAAS,YAAcE,GACvBF,GAAS,cAAgBG,GAOzB,QALIC,GAAS,CAAA,EACTC,GAAY,CAAA,EACZC,GAAM,OAAO,WAAe,IAAc,WAAa,MAEvDC,GAAO,mEACFC,GAAI,EAAGC,GAAMF,GAAK,OAAQC,GAAIC,GAAK,EAAED,GAC5CJ,GAAOI,EAAC,EAAID,GAAKC,EAAC,EAClBH,GAAUE,GAAK,WAAWC,EAAC,CAAC,EAAIA,GAKlCH,GAAU,EAAiB,EAAI,GAC/BA,GAAU,EAAiB,EAAI,GAE/B,SAASK,GAASC,EAAK,CACrB,IAAIF,EAAME,EAAI,OAEd,GAAIF,EAAM,EAAI,EACZ,MAAM,IAAI,MAAM,gDAAgD,EAKlE,IAAIG,EAAWD,EAAI,QAAQ,GAAG,EAC1BC,IAAa,KAAIA,EAAWH,GAEhC,IAAII,EAAkBD,IAAaH,EAC/B,EACA,EAAKG,EAAW,EAEpB,MAAO,CAACA,EAAUC,CAAe,CACnC,CAGA,SAASZ,GAAYU,EAAK,CACxB,IAAIG,EAAOJ,GAAQC,CAAG,EAClBC,EAAWE,EAAK,CAAC,EACjBD,EAAkBC,EAAK,CAAC,EAC5B,OAASF,EAAWC,GAAmB,EAAI,EAAKA,CAClD,CAEA,SAASE,GAAaJ,EAAKC,EAAUC,EAAiB,CACpD,OAASD,EAAWC,GAAmB,EAAI,EAAKA,CAClD,CAEA,SAASX,GAAaS,EAAK,CACzB,IAAIK,EACAF,EAAOJ,GAAQC,CAAG,EAClBC,EAAWE,EAAK,CAAC,EACjBD,EAAkBC,EAAK,CAAC,EAExBG,EAAM,IAAIX,GAAIS,GAAYJ,EAAKC,EAAUC,CAAe,CAAC,EAEzDK,EAAU,EAGVT,EAAMI,EAAkB,EACxBD,EAAW,EACXA,EAEAJ,EACJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBQ,EACGX,GAAUM,EAAI,WAAWH,CAAC,CAAC,GAAK,GAChCH,GAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,GACpCH,GAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,EACrCH,GAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,EACjCS,EAAIC,GAAS,EAAKF,GAAO,GAAM,IAC/BC,EAAIC,GAAS,EAAKF,GAAO,EAAK,IAC9BC,EAAIC,GAAS,EAAIF,EAAM,IAGzB,OAAIH,IAAoB,IACtBG,EACGX,GAAUM,EAAI,WAAWH,CAAC,CAAC,GAAK,EAChCH,GAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,EACvCS,EAAIC,GAAS,EAAIF,EAAM,KAGrBH,IAAoB,IACtBG,EACGX,GAAUM,EAAI,WAAWH,CAAC,CAAC,GAAK,GAChCH,GAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,EACpCH,GAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,EACvCS,EAAIC,GAAS,EAAKF,GAAO,EAAK,IAC9BC,EAAIC,GAAS,EAAIF,EAAM,KAGlBC,CACT,CAEA,SAASE,GAAiBC,EAAK,CAC7B,OAAOhB,GAAOgB,GAAO,GAAK,EAAI,EAC5BhB,GAAOgB,GAAO,GAAK,EAAI,EACvBhB,GAAOgB,GAAO,EAAI,EAAI,EACtBhB,GAAOgB,EAAM,EAAI,CACrB,CAEA,SAASC,GAAaC,EAAOC,EAAOC,EAAK,CAGvC,QAFIR,EACAS,EAAS,CAAA,EACJjB,EAAIe,EAAOf,EAAIgB,EAAKhB,GAAK,EAChCQ,GACIM,EAAMd,CAAC,GAAK,GAAM,WAClBc,EAAMd,EAAI,CAAC,GAAK,EAAK,QACtBc,EAAMd,EAAI,CAAC,EAAI,KAClBiB,EAAO,KAAKN,GAAgBH,CAAG,CAAC,EAElC,OAAOS,EAAO,KAAK,EAAE,CACvB,CAEA,SAAStB,GAAemB,EAAO,CAQ7B,QAPIN,EACAP,EAAMa,EAAM,OACZI,EAAajB,EAAM,EACnBkB,EAAQ,CAAA,EACRC,EAAiB,MAGZpB,EAAI,EAAGqB,EAAOpB,EAAMiB,EAAYlB,EAAIqB,EAAMrB,GAAKoB,EACtDD,EAAM,KAAKN,GAAYC,EAAOd,EAAIA,EAAIoB,EAAkBC,EAAOA,EAAQrB,EAAIoB,CAAe,CAAC,EAI7F,OAAIF,IAAe,GACjBV,EAAMM,EAAMb,EAAM,CAAC,EACnBkB,EAAM,KACJvB,GAAOY,GAAO,CAAC,EACfZ,GAAQY,GAAO,EAAK,EAAI,EACxB,IACN,GACaU,IAAe,IACxBV,GAAOM,EAAMb,EAAM,CAAC,GAAK,GAAKa,EAAMb,EAAM,CAAC,EAC3CkB,EAAM,KACJvB,GAAOY,GAAO,EAAE,EAChBZ,GAAQY,GAAO,EAAK,EAAI,EACxBZ,GAAQY,GAAO,EAAK,EAAI,EACxB,GACN,GAGSW,EAAM,KAAK,EAAE,CACtB,CAEA,IAAIG,GAAU,CAAA,EAIdA,GAAQ,KAAO,SAAU/B,EAAQgC,EAAQC,EAAMC,EAAMC,EAAQ,CAC3D,IAAIC,EAAGC,EACHC,EAAQH,EAAS,EAAKD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,EAAQ,GACRhC,EAAIwB,EAAQE,EAAS,EAAK,EAC1BO,GAAIT,EAAO,GAAK,EAChBU,EAAI3C,EAAOgC,EAASvB,CAAC,EAOzB,IALAA,GAAKiC,GAELN,EAAIO,GAAM,GAAM,CAACF,GAAU,EAC3BE,IAAO,CAACF,EACRA,GAASH,EACFG,EAAQ,EAAGL,EAAKA,EAAI,IAAOpC,EAAOgC,EAASvB,CAAC,EAAGA,GAAKiC,GAAGD,GAAS,EAAG,CAK1E,IAHAJ,EAAID,GAAM,GAAM,CAACK,GAAU,EAC3BL,IAAO,CAACK,EACRA,GAASP,EACFO,EAAQ,EAAGJ,EAAKA,EAAI,IAAOrC,EAAOgC,EAASvB,CAAC,EAAGA,GAAKiC,GAAGD,GAAS,EAAG,CAE1E,GAAIL,IAAM,EACRA,EAAI,EAAII,MACH,CAAA,GAAIJ,IAAMG,EACf,OAAOF,EAAI,KAAQM,EAAI,GAAK,GAAK,MAEjCN,EAAIA,EAAI,KAAK,IAAI,EAAGH,CAAI,EACxBE,EAAIA,EAAII,CAAAA,CAEV,OAAQG,EAAI,GAAK,GAAKN,EAAI,KAAK,IAAI,EAAGD,EAAIF,CAAI,CAChD,EAEAH,GAAQ,MAAQ,SAAU/B,EAAQ4C,EAAOZ,EAAQC,EAAMC,EAAMC,EAAQ,CACnE,IAAIC,EAAGC,EAAGQ,EACNP,EAAQH,EAAS,EAAKD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBO,GAAMZ,IAAS,GAAK,KAAK,IAAI,EAAG,GAAG,EAAI,KAAK,IAAI,EAAG,GAAG,EAAI,EAC1DzB,EAAIwB,EAAO,EAAKE,EAAS,EACzBO,GAAIT,EAAO,EAAI,GACfU,GAAIC,EAAQ,GAAMA,IAAU,GAAK,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQ,KAAK,IAAIA,CAAK,EAElB,MAAMA,CAAK,GAAKA,IAAU,KAC5BP,EAAI,MAAMO,CAAK,EAAI,EAAI,EACvBR,EAAIG,IAEJH,EAAI,KAAK,MAAM,KAAK,IAAIQ,CAAK,EAAI,KAAK,GAAG,EACrCA,GAASC,EAAI,KAAK,IAAI,EAAG,CAACT,CAAC,GAAK,IAClCA,IACAS,GAAK,GAEHT,EAAII,GAAS,EACfI,GAASE,GAAKD,EAEdD,GAASE,GAAK,KAAK,IAAI,EAAG,EAAIN,CAAK,EAEjCI,EAAQC,GAAK,IACfT,IACAS,GAAK,GAGHT,EAAII,GAASD,GACfF,EAAI,EACJD,EAAIG,GACKH,EAAII,GAAS,GACtBH,GAAMO,EAAQC,EAAK,GAAK,KAAK,IAAI,EAAGX,CAAI,EACxCE,EAAIA,EAAII,IAERH,EAAIO,EAAQ,KAAK,IAAI,EAAGJ,EAAQ,CAAC,EAAI,KAAK,IAAI,EAAGN,CAAI,EACrDE,EAAI,IAIDF,GAAQ,EAAGlC,EAAOgC,EAASvB,CAAC,EAAI4B,EAAI,IAAM5B,GAAKiC,GAAGL,GAAK,IAAKH,GAAQ,EAAG,CAI9E,IAFAE,EAAKA,GAAKF,EAAQG,EAClBC,GAAQJ,EACDI,EAAO,EAAGtC,EAAOgC,EAASvB,CAAC,EAAI2B,EAAI,IAAM3B,GAAKiC,GAAGN,GAAK,IAAKE,GAAQ,EAAG,CAE7EtC,EAAOgC,EAASvB,EAAIiC,EAAC,GAAKC,GAAI,GAChC,GASC,SAAUI,EAAS,CAEnB,MAAMC,EAAS/C,GACTgD,EAAYlB,GACZmB,EACH,OAAO,QAAW,YAAc,OAAO,OAAO,KAAW,WACtD,OAAO,IAAO,4BAA4B,EAC1C,KAENH,EAAQ,OAASI,EACjBJ,EAAQ,WAAaK,EACrBL,EAAQ,kBAAoB,GAE5B,MAAMM,EAAe,WACrBN,EAAQ,WAAaM,EACrB,KAAM,CAAE,WAAYC,EAAkB,YAAaC,EAAmB,kBAAmBC,CAAuB,EAAK,WAgBrHL,EAAO,oBAAsBM,EAAiB,EAE1C,CAACN,EAAO,qBAAuB,OAAO,QAAY,KAClD,OAAO,QAAQ,OAAU,YAC3B,QAAQ,MACN,+IAEL,EAGC,SAASM,GAAqB,CAE5B,GAAI,CACF,MAAMvC,EAAM,IAAIoC,EAAiB,CAAC,EAC5BI,EAAQ,CAAE,IAAK,UAAY,CAAE,MAAO,GAAG,CAAC,EAC9C,OAAA,OAAO,eAAeA,EAAOJ,EAAiB,SAAS,EACvD,OAAO,eAAepC,EAAKwC,CAAK,EACzBxC,EAAI,QAAU,EACvB,MAAY,CACV,MAAO,EACT,CACF,CAEA,OAAO,eAAeiC,EAAO,UAAW,SAAU,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,GAAKA,EAAO,SAAS,IAAI,EACzB,OAAO,KAAK,MACd,CACH,CAAE,EAED,OAAO,eAAeA,EAAO,UAAW,SAAU,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,GAAKA,EAAO,SAAS,IAAI,EACzB,OAAO,KAAK,UACd,CACH,CAAE,EAED,SAASQ,EAAcC,EAAQ,CAC7B,GAAIA,EAASP,EACX,MAAM,IAAI,WAAW,cAAgBO,EAAS,gCAAgC,EAGhF,MAAMC,EAAM,IAAIP,EAAiBM,CAAM,EACvC,OAAA,OAAO,eAAeC,EAAKV,EAAO,SAAS,EACpCU,CACT,CAYA,SAASV,EAAQW,EAAKC,EAAkBH,EAAQ,CAE9C,GAAI,OAAOE,GAAQ,SAAU,CAC3B,GAAI,OAAOC,GAAqB,SAC9B,MAAM,IAAI,UACR,oEACT,EAEK,OAAOC,GAAYF,CAAG,CACxB,CACA,OAAOG,EAAKH,EAAKC,EAAkBH,CAAM,CAC3C,CAEAT,EAAO,SAAW,KAElB,SAASc,EAAMrB,EAAOmB,EAAkBH,EAAQ,CAC9C,GAAI,OAAOhB,GAAU,SACnB,OAAOsB,GAAWtB,EAAOmB,CAAgB,EAG3C,GAAIR,EAAkB,OAAOX,CAAK,EAChC,OAAOuB,EAAcvB,CAAK,EAG5B,GAAIA,GAAS,KACX,MAAM,IAAI,UACR,kHAC0C,OAAOA,CACxD,EAQG,GALIwB,GAAWxB,EAAOW,CAAiB,GAClCX,GAASwB,GAAWxB,EAAM,OAAQW,CAAiB,GAIpD,OAAOC,EAA4B,MAClCY,GAAWxB,EAAOY,CAAuB,GACzCZ,GAASwB,GAAWxB,EAAM,OAAQY,CAAuB,GAC5D,OAAOa,EAAgBzB,EAAOmB,EAAkBH,CAAM,EAGxD,GAAI,OAAOhB,GAAU,SACnB,MAAM,IAAI,UACR,uEACP,EAGG,MAAM0B,EAAU1B,EAAM,SAAWA,EAAM,QAAO,EAC9C,GAAI0B,GAAW,MAAQA,IAAY1B,EACjC,OAAOO,EAAO,KAAKmB,EAASP,EAAkBH,CAAM,EAGtD,MAAMW,EAAIC,EAAW5B,CAAK,EAC1B,GAAI2B,EAAG,OAAOA,EAEd,GAAI,OAAO,OAAW,KAAe,OAAO,aAAe,MACvD,OAAO3B,EAAM,OAAO,WAAW,GAAM,WACvC,OAAOO,EAAO,KAAKP,EAAM,OAAO,WAAW,EAAE,QAAQ,EAAGmB,EAAkBH,CAAM,EAGlF,MAAM,IAAI,UACR,kHAC0C,OAAOhB,CACtD,CACC,CAUAO,EAAO,KAAO,SAAUP,EAAOmB,EAAkBH,EAAQ,CACvD,OAAOK,EAAKrB,EAAOmB,EAAkBH,CAAM,CAC7C,EAIA,OAAO,eAAeT,EAAO,UAAWG,EAAiB,SAAS,EAClE,OAAO,eAAeH,EAAQG,CAAgB,EAE9C,SAASmB,GAAYC,EAAM,CACzB,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAI,UAAU,wCAAwC,EACvD,GAAIA,EAAO,EAChB,MAAM,IAAI,WAAW,cAAgBA,EAAO,gCAAgC,CAEhF,CAEA,SAASC,EAAOD,EAAME,EAAMC,EAAU,CAEpC,OADAJ,GAAWC,CAAI,EACXA,GAAQ,EACHf,EAAae,CAAI,EAEtBE,IAAS,OAIJ,OAAOC,GAAa,SACvBlB,EAAae,CAAI,EAAE,KAAKE,EAAMC,CAAQ,EACtClB,EAAae,CAAI,EAAE,KAAKE,CAAI,EAE3BjB,EAAae,CAAI,CAC1B,CAMAvB,EAAO,MAAQ,SAAUuB,EAAME,EAAMC,EAAU,CAC7C,OAAOF,EAAMD,EAAME,EAAMC,CAAQ,CACnC,EAEA,SAASb,GAAaU,EAAM,CAC1B,OAAAD,GAAWC,CAAI,EACRf,EAAae,EAAO,EAAI,EAAII,EAAQJ,CAAI,EAAI,CAAC,CACtD,CAKAvB,EAAO,YAAc,SAAUuB,EAAM,CACnC,OAAOV,GAAYU,CAAI,CACzB,EAIAvB,EAAO,gBAAkB,SAAUuB,EAAM,CACvC,OAAOV,GAAYU,CAAI,CACzB,EAEA,SAASR,GAAYa,EAAQF,EAAU,CAKrC,IAJI,OAAOA,GAAa,UAAYA,IAAa,MAC/CA,EAAW,QAGT,CAAC1B,EAAO,WAAW0B,CAAQ,EAC7B,MAAM,IAAI,UAAU,qBAAuBA,CAAQ,EAGrD,MAAMjB,EAAS1D,EAAW6E,EAAQF,CAAQ,EAAI,EAC9C,IAAIhB,EAAMF,EAAaC,CAAM,EAE7B,MAAMoB,EAASnB,EAAI,MAAMkB,EAAQF,CAAQ,EAEzC,OAAIG,IAAWpB,IAIbC,EAAMA,EAAI,MAAM,EAAGmB,CAAM,GAGpBnB,CACT,CAEA,SAASoB,GAAeC,EAAO,CAC7B,MAAMtB,EAASsB,EAAM,OAAS,EAAI,EAAIJ,EAAQI,EAAM,MAAM,EAAI,EACxDrB,EAAMF,EAAaC,CAAM,EAC/B,QAASnD,EAAI,EAAGA,EAAImD,EAAQnD,GAAK,EAC/BoD,EAAIpD,CAAC,EAAIyE,EAAMzE,CAAC,EAAI,IAEtB,OAAOoD,CACT,CAEA,SAASM,EAAegB,EAAW,CACjC,GAAIf,GAAWe,EAAW7B,CAAgB,EAAG,CAC3C,MAAM8B,EAAO,IAAI9B,EAAiB6B,CAAS,EAC3C,OAAOd,EAAgBe,EAAK,OAAQA,EAAK,WAAYA,EAAK,UAAU,CACtE,CACA,OAAOH,GAAcE,CAAS,CAChC,CAEA,SAASd,EAAiBa,EAAOG,EAAYzB,EAAQ,CACnD,GAAIyB,EAAa,GAAKH,EAAM,WAAaG,EACvC,MAAM,IAAI,WAAW,sCAAsC,EAG7D,GAAIH,EAAM,WAAaG,GAAczB,GAAU,GAC7C,MAAM,IAAI,WAAW,sCAAsC,EAG7D,IAAIC,EACJ,OAAIwB,IAAe,QAAazB,IAAW,OACzCC,EAAM,IAAIP,EAAiB4B,CAAK,EACvBtB,IAAW,OACpBC,EAAM,IAAIP,EAAiB4B,EAAOG,CAAU,EAE5CxB,EAAM,IAAIP,EAAiB4B,EAAOG,EAAYzB,CAAM,EAItD,OAAO,eAAeC,EAAKV,EAAO,SAAS,EAEpCU,CACT,CAEA,SAASW,EAAYc,EAAK,CACxB,GAAInC,EAAO,SAASmC,CAAG,EAAG,CACxB,MAAM5E,EAAMoE,EAAQQ,EAAI,MAAM,EAAI,EAC5BzB,EAAMF,EAAajD,CAAG,EAE5B,OAAImD,EAAI,SAAW,GAInByB,EAAI,KAAKzB,EAAK,EAAG,EAAGnD,CAAG,EAChBmD,CACT,CAEA,GAAIyB,EAAI,SAAW,OACjB,OAAI,OAAOA,EAAI,QAAW,UAAYC,GAAYD,EAAI,MAAM,EACnD3B,EAAa,CAAC,EAEhBsB,GAAcK,CAAG,EAG1B,GAAIA,EAAI,OAAS,UAAY,MAAM,QAAQA,EAAI,IAAI,EACjD,OAAOL,GAAcK,EAAI,IAAI,CAEjC,CAEA,SAASR,EAASlB,EAAQ,CAGxB,GAAIA,GAAUP,EACZ,MAAM,IAAI,WAAW,0DACaA,EAAa,SAAS,EAAE,EAAI,QAAQ,EAExE,OAAOO,EAAS,CAClB,CAEA,SAASR,EAAYQ,EAAQ,CAC3B,MAAI,CAACA,GAAUA,IACbA,EAAS,GAEJT,EAAO,MAAM,CAACS,CAAM,CAC7B,CAEAT,EAAO,SAAW,SAAmBoB,EAAG,CACtC,OAAOA,GAAK,MAAQA,EAAE,YAAc,IAClCA,IAAMpB,EAAO,SACjB,EAEAA,EAAO,QAAU,SAAkBqC,EAAGjB,EAAG,CAGvC,GAFIH,GAAWoB,EAAGlC,CAAgB,IAAGkC,EAAIrC,EAAO,KAAKqC,EAAGA,EAAE,OAAQA,EAAE,UAAU,GAC1EpB,GAAWG,EAAGjB,CAAgB,IAAGiB,EAAIpB,EAAO,KAAKoB,EAAGA,EAAE,OAAQA,EAAE,UAAU,GAC1E,CAACpB,EAAO,SAASqC,CAAC,GAAK,CAACrC,EAAO,SAASoB,CAAC,EAC3C,MAAM,IAAI,UACR,uEACP,EAGG,GAAIiB,IAAMjB,EAAG,MAAO,GAEpB,IAAIkB,EAAID,EAAE,OACNE,EAAInB,EAAE,OAEV,QAAS9D,EAAI,EAAGC,EAAM,KAAK,IAAI+E,EAAGC,CAAC,EAAGjF,EAAIC,EAAK,EAAED,EAC/C,GAAI+E,EAAE/E,CAAC,IAAM8D,EAAE9D,CAAC,EAAG,CACjBgF,EAAID,EAAE/E,CAAC,EACPiF,EAAInB,EAAE9D,CAAC,EACP,KACF,CAGF,OAAIgF,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAEAtC,EAAO,WAAa,SAAqB0B,EAAU,CACjD,OAAQ,OAAOA,CAAQ,EAAE,YAAW,EAAE,CACpC,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,GACT,QACE,MAAO,EACd,CACC,EAEA1B,EAAO,OAAS,SAAiBwC,EAAM/B,EAAQ,CAC7C,GAAI,CAAC,MAAM,QAAQ+B,CAAI,EACrB,MAAM,IAAI,UAAU,6CAA6C,EAGnE,GAAIA,EAAK,SAAW,EAClB,OAAOxC,EAAO,MAAM,CAAC,EAGvB,IAAI1C,EACJ,GAAImD,IAAW,OAEb,IADAA,EAAS,EACJnD,EAAI,EAAGA,EAAIkF,EAAK,OAAQ,EAAElF,EAC7BmD,GAAU+B,EAAKlF,CAAC,EAAE,OAItB,MAAMT,EAASmD,EAAO,YAAYS,CAAM,EACxC,IAAIgC,EAAM,EACV,IAAKnF,EAAI,EAAGA,EAAIkF,EAAK,OAAQ,EAAElF,EAAG,CAChC,IAAIoD,EAAM8B,EAAKlF,CAAC,EAChB,GAAI2D,GAAWP,EAAKP,CAAgB,EAC9BsC,EAAM/B,EAAI,OAAS7D,EAAO,QACvBmD,EAAO,SAASU,CAAG,IAAGA,EAAMV,EAAO,KAAKU,CAAG,GAChDA,EAAI,KAAK7D,EAAQ4F,CAAG,GAEpBtC,EAAiB,UAAU,IAAI,KAC7BtD,EACA6D,EACA+B,CACX,UAEiBzC,EAAO,SAASU,CAAG,EAG7BA,EAAI,KAAK7D,EAAQ4F,CAAG,MAFpB,OAAM,IAAI,UAAU,6CAA6C,EAInEA,GAAO/B,EAAI,MACb,CACA,OAAO7D,CACT,EAEA,SAASE,EAAY6E,EAAQF,EAAU,CACrC,GAAI1B,EAAO,SAAS4B,CAAM,EACxB,OAAOA,EAAO,OAEhB,GAAIxB,EAAkB,OAAOwB,CAAM,GAAKX,GAAWW,EAAQxB,CAAiB,EAC1E,OAAOwB,EAAO,WAEhB,GAAI,OAAOA,GAAW,SACpB,MAAM,IAAI,UACR,2FACmB,OAAOA,CACjC,EAGG,MAAMrE,EAAMqE,EAAO,OACbc,EAAa,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,GAC5D,GAAI,CAACA,GAAanF,IAAQ,EAAG,MAAO,GAGpC,IAAIoF,EAAc,GAClB,OACE,OAAQjB,EAAQ,CACd,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOnE,EACT,IAAK,OACL,IAAK,QACH,OAAOqF,GAAYhB,CAAM,EAAE,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOrE,EAAM,EACf,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOsF,EAAcjB,CAAM,EAAE,OAC/B,QACE,GAAIe,EACF,OAAOD,EAAY,GAAKE,GAAYhB,CAAM,EAAE,OAE9CF,GAAY,GAAKA,GAAU,YAAW,EACtCiB,EAAc,EACvB,CAEC,CACA3C,EAAO,WAAajD,EAEpB,SAAS+F,EAAcpB,EAAUrD,EAAOC,EAAK,CAC3C,IAAIqE,EAAc,GA8BlB,IArBItE,IAAU,QAAaA,EAAQ,KACjCA,EAAQ,GAINA,EAAQ,KAAK,UAIbC,IAAQ,QAAaA,EAAM,KAAK,UAClCA,EAAM,KAAK,QAGTA,GAAO,KAKXA,KAAS,EACTD,KAAW,EAEPC,GAAOD,GACT,MAAO,GAKT,IAFKqD,IAAUA,EAAW,UAGxB,OAAQA,EAAQ,CACd,IAAK,MACH,OAAOqB,GAAS,KAAM1E,EAAOC,CAAG,EAElC,IAAK,OACL,IAAK,QACH,OAAO0E,GAAU,KAAM3E,EAAOC,CAAG,EAEnC,IAAK,QACH,OAAO2E,GAAW,KAAM5E,EAAOC,CAAG,EAEpC,IAAK,SACL,IAAK,SACH,OAAO4E,GAAY,KAAM7E,EAAOC,CAAG,EAErC,IAAK,SACH,OAAO6E,GAAY,KAAM9E,EAAOC,CAAG,EAErC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO8E,GAAa,KAAM/E,EAAOC,CAAG,EAEtC,QACE,GAAIqE,EAAa,MAAM,IAAI,UAAU,qBAAuBjB,CAAQ,EACpEA,GAAYA,EAAW,IAAI,YAAW,EACtCiB,EAAc,EACvB,CAEC,CAQA3C,EAAO,UAAU,UAAY,GAE7B,SAASqD,EAAMjC,EAAGkC,EAAGpE,EAAG,CACtB,MAAM5B,EAAI8D,EAAEkC,CAAC,EACblC,EAAEkC,CAAC,EAAIlC,EAAElC,CAAC,EACVkC,EAAElC,CAAC,EAAI5B,CACT,CAEA0C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMzC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+F,EAAK,KAAM/F,EAAGA,EAAI,CAAC,EAErB,OAAO,IACT,EAEA0C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMzC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+F,EAAK,KAAM/F,EAAGA,EAAI,CAAC,EACnB+F,EAAK,KAAM/F,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACT,EAEA0C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMzC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+F,EAAK,KAAM/F,EAAGA,EAAI,CAAC,EACnB+F,EAAK,KAAM/F,EAAI,EAAGA,EAAI,CAAC,EACvB+F,EAAK,KAAM/F,EAAI,EAAGA,EAAI,CAAC,EACvB+F,EAAK,KAAM/F,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACT,EAEA0C,EAAO,UAAU,SAAW,UAAqB,CAC/C,MAAMS,EAAS,KAAK,OACpB,OAAIA,IAAW,EAAU,GACrB,UAAU,SAAW,EAAUuC,GAAU,KAAM,EAAGvC,CAAM,EACrDqC,EAAa,MAAM,KAAM,SAAS,CAC3C,EAEA9C,EAAO,UAAU,eAAiBA,EAAO,UAAU,SAEnDA,EAAO,UAAU,OAAS,SAAiBoB,EAAG,CAC5C,GAAI,CAACpB,EAAO,SAASoB,CAAC,EAAG,MAAM,IAAI,UAAU,2BAA2B,EACxE,OAAI,OAASA,EAAU,GAChBpB,EAAO,QAAQ,KAAMoB,CAAC,IAAM,CACrC,EAEApB,EAAO,UAAU,QAAU,UAAoB,CAC7C,IAAIuD,EAAM,GACV,MAAMC,EAAM5D,EAAQ,kBACpB,OAAA2D,EAAM,KAAK,SAAS,MAAO,EAAGC,CAAG,EAAE,QAAQ,UAAW,KAAK,EAAE,KAAI,EAC7D,KAAK,OAASA,IAAKD,GAAO,SACvB,WAAaA,EAAM,GAC5B,EACIxD,IACFC,EAAO,UAAUD,CAAmB,EAAIC,EAAO,UAAU,SAG3DA,EAAO,UAAU,QAAU,SAAkByD,EAAQpF,EAAOC,EAAKoF,EAAWC,EAAS,CAInF,GAHI1C,GAAWwC,EAAQtD,CAAgB,IACrCsD,EAASzD,EAAO,KAAKyD,EAAQA,EAAO,OAAQA,EAAO,UAAU,GAE3D,CAACzD,EAAO,SAASyD,CAAM,EACzB,MAAM,IAAI,UACR,iFACoB,OAAOA,CAClC,EAgBG,GAbIpF,IAAU,SACZA,EAAQ,GAENC,IAAQ,SACVA,EAAMmF,EAASA,EAAO,OAAS,GAE7BC,IAAc,SAChBA,EAAY,GAEVC,IAAY,SACdA,EAAU,KAAK,QAGbtF,EAAQ,GAAKC,EAAMmF,EAAO,QAAUC,EAAY,GAAKC,EAAU,KAAK,OACtE,MAAM,IAAI,WAAW,oBAAoB,EAG3C,GAAID,GAAaC,GAAWtF,GAASC,EACnC,MAAO,GAET,GAAIoF,GAAaC,EACf,MAAO,GAET,GAAItF,GAASC,EACX,MAAO,GAQT,GALAD,KAAW,EACXC,KAAS,EACToF,KAAe,EACfC,KAAa,EAET,OAASF,EAAQ,MAAO,GAE5B,IAAInB,EAAIqB,EAAUD,EACdnB,EAAIjE,EAAMD,EACd,MAAMd,EAAM,KAAK,IAAI+E,EAAGC,CAAC,EAEnBqB,EAAW,KAAK,MAAMF,EAAWC,CAAO,EACxCE,EAAaJ,EAAO,MAAMpF,EAAOC,CAAG,EAE1C,QAAShB,EAAI,EAAGA,EAAIC,EAAK,EAAED,EACzB,GAAIsG,EAAStG,CAAC,IAAMuG,EAAWvG,CAAC,EAAG,CACjCgF,EAAIsB,EAAStG,CAAC,EACdiF,EAAIsB,EAAWvG,CAAC,EAChB,KACF,CAGF,OAAIgF,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAWA,SAASwB,EAAsBjH,EAAQkH,EAAK7B,EAAYR,EAAUsC,EAAK,CAErE,GAAInH,EAAO,SAAW,EAAG,MAAO,GAmBhC,GAhBI,OAAOqF,GAAe,UACxBR,EAAWQ,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,EAAa,cACtBA,EAAa,aAEfA,EAAa,CAACA,EACVE,GAAYF,CAAU,IAExBA,EAAa8B,EAAM,EAAKnH,EAAO,OAAS,GAItCqF,EAAa,IAAGA,EAAarF,EAAO,OAASqF,GAC7CA,GAAcrF,EAAO,OAAQ,CAC/B,GAAImH,EAAK,MAAO,GACX9B,EAAarF,EAAO,OAAS,CACpC,SAAWqF,EAAa,EACtB,GAAI8B,EAAK9B,EAAa,MACjB,OAAO,GASd,GALI,OAAO6B,GAAQ,WACjBA,EAAM/D,EAAO,KAAK+D,EAAKrC,CAAQ,GAI7B1B,EAAO,SAAS+D,CAAG,EAErB,OAAIA,EAAI,SAAW,EACV,GAEFE,EAAapH,EAAQkH,EAAK7B,EAAYR,EAAUsC,CAAG,EACrD,GAAI,OAAOD,GAAQ,SAExB,OADAA,EAAMA,EAAM,IACR,OAAO5D,EAAiB,UAAU,SAAY,WAC5C6D,EACK7D,EAAiB,UAAU,QAAQ,KAAKtD,EAAQkH,EAAK7B,CAAU,EAE/D/B,EAAiB,UAAU,YAAY,KAAKtD,EAAQkH,EAAK7B,CAAU,EAGvE+B,EAAapH,EAAQ,CAACkH,CAAG,EAAG7B,EAAYR,EAAUsC,CAAG,EAG9D,MAAM,IAAI,UAAU,sCAAsC,CAC5D,CAEA,SAASC,EAAclG,EAAKgG,EAAK7B,EAAYR,EAAUsC,EAAK,CAC1D,IAAIE,EAAY,EACZC,EAAYpG,EAAI,OAChBqG,EAAYL,EAAI,OAEpB,GAAIrC,IAAa,SACfA,EAAW,OAAOA,CAAQ,EAAE,YAAW,EACnCA,IAAa,QAAUA,IAAa,SACpCA,IAAa,WAAaA,IAAa,YAAY,CACrD,GAAI3D,EAAI,OAAS,GAAKgG,EAAI,OAAS,EACjC,MAAO,GAETG,EAAY,EACZC,GAAa,EACbC,GAAa,EACblC,GAAc,CAChB,CAGF,SAASmC,EAAM3D,EAAKpD,EAAG,CACrB,OAAI4G,IAAc,EACTxD,EAAIpD,CAAC,EAELoD,EAAI,aAAapD,EAAI4G,CAAS,CAEzC,CAEA,IAAI5G,EACJ,GAAI0G,EAAK,CACP,IAAIM,EAAa,GACjB,IAAKhH,EAAI4E,EAAY5E,EAAI6G,EAAW7G,IAClC,GAAI+G,EAAKtG,EAAKT,CAAC,IAAM+G,EAAKN,EAAKO,IAAe,GAAK,EAAIhH,EAAIgH,CAAU,GAEnE,GADIA,IAAe,KAAIA,EAAahH,GAChCA,EAAIgH,EAAa,IAAMF,EAAW,OAAOE,EAAaJ,OAEtDI,IAAe,KAAIhH,GAAKA,EAAIgH,GAChCA,EAAa,EAGnB,KAEE,KADIpC,EAAakC,EAAYD,IAAWjC,EAAaiC,EAAYC,GAC5D9G,EAAI4E,EAAY5E,GAAK,EAAGA,IAAK,CAChC,IAAIiH,EAAQ,GACZ,QAASC,EAAI,EAAGA,EAAIJ,EAAWI,IAC7B,GAAIH,EAAKtG,EAAKT,EAAIkH,CAAC,IAAMH,EAAKN,EAAKS,CAAC,EAAG,CACrCD,EAAQ,GACR,KACF,CAEF,GAAIA,EAAO,OAAOjH,CACpB,CAGF,MAAO,EACT,CAEA0C,EAAO,UAAU,SAAW,SAAmB+D,EAAK7B,EAAYR,EAAU,CACxE,OAAO,KAAK,QAAQqC,EAAK7B,EAAYR,CAAQ,IAAM,EACrD,EAEA1B,EAAO,UAAU,QAAU,SAAkB+D,EAAK7B,EAAYR,EAAU,CACtE,OAAOoC,EAAqB,KAAMC,EAAK7B,EAAYR,EAAU,EAAI,CACnE,EAEA1B,EAAO,UAAU,YAAc,SAAsB+D,EAAK7B,EAAYR,EAAU,CAC9E,OAAOoC,EAAqB,KAAMC,EAAK7B,EAAYR,EAAU,EAAK,CACpE,EAEA,SAAS+C,EAAU/D,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CAC9C5B,EAAS,OAAOA,CAAM,GAAK,EAC3B,MAAM6F,EAAYhE,EAAI,OAAS7B,EAC1B4B,GAGHA,EAAS,OAAOA,CAAM,EAClBA,EAASiE,IACXjE,EAASiE,IAJXjE,EAASiE,EAQX,MAAMC,EAAS/C,EAAO,OAElBnB,EAASkE,EAAS,IACpBlE,EAASkE,EAAS,GAEpB,IAAIrH,EACJ,IAAKA,EAAI,EAAGA,EAAImD,EAAQ,EAAEnD,EAAG,CAC3B,MAAMsH,EAAS,SAAShD,EAAO,OAAOtE,EAAI,EAAG,CAAC,EAAG,EAAE,EACnD,GAAI8E,GAAYwC,CAAM,EAAG,OAAOtH,EAChCoD,EAAI7B,EAASvB,CAAC,EAAIsH,CACpB,CACA,OAAOtH,CACT,CAEA,SAASuH,EAAWnE,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CAC/C,OAAOqE,GAAWlC,GAAYhB,EAAQlB,EAAI,OAAS7B,CAAM,EAAG6B,EAAK7B,EAAQ4B,CAAM,CACjF,CAEA,SAASsE,EAAYrE,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CAChD,OAAOqE,GAAWE,GAAapD,CAAM,EAAGlB,EAAK7B,EAAQ4B,CAAM,CAC7D,CAEA,SAASwE,GAAavE,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CACjD,OAAOqE,GAAWjC,EAAcjB,CAAM,EAAGlB,EAAK7B,EAAQ4B,CAAM,CAC9D,CAEA,SAASyE,GAAWxE,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CAC/C,OAAOqE,GAAWK,EAAevD,EAAQlB,EAAI,OAAS7B,CAAM,EAAG6B,EAAK7B,EAAQ4B,CAAM,CACpF,CAEAT,EAAO,UAAU,MAAQ,SAAgB4B,EAAQ/C,EAAQ4B,EAAQiB,EAAU,CAEzE,GAAI7C,IAAW,OACb6C,EAAW,OACXjB,EAAS,KAAK,OACd5B,EAAS,UAEA4B,IAAW,QAAa,OAAO5B,GAAW,SACnD6C,EAAW7C,EACX4B,EAAS,KAAK,OACd5B,EAAS,UAEA,SAASA,CAAM,EACxBA,EAASA,IAAW,EAChB,SAAS4B,CAAM,GACjBA,EAASA,IAAW,EAChBiB,IAAa,SAAWA,EAAW,UAEvCA,EAAWjB,EACXA,EAAS,YAGX,OAAM,IAAI,MACR,yEACP,EAGG,MAAMiE,EAAY,KAAK,OAAS7F,EAGhC,IAFI4B,IAAW,QAAaA,EAASiE,KAAWjE,EAASiE,GAEpD9C,EAAO,OAAS,IAAMnB,EAAS,GAAK5B,EAAS,IAAOA,EAAS,KAAK,OACrE,MAAM,IAAI,WAAW,wCAAwC,EAG1D6C,IAAUA,EAAW,QAE1B,IAAIiB,EAAc,GAClB,OACE,OAAQjB,EAAQ,CACd,IAAK,MACH,OAAO+C,EAAS,KAAM7C,EAAQ/C,EAAQ4B,CAAM,EAE9C,IAAK,OACL,IAAK,QACH,OAAOoE,EAAU,KAAMjD,EAAQ/C,EAAQ4B,CAAM,EAE/C,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOsE,EAAW,KAAMnD,EAAQ/C,EAAQ4B,CAAM,EAEhD,IAAK,SAEH,OAAOwE,GAAY,KAAMrD,EAAQ/C,EAAQ4B,CAAM,EAEjD,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOyE,GAAU,KAAMtD,EAAQ/C,EAAQ4B,CAAM,EAE/C,QACE,GAAIkC,EAAa,MAAM,IAAI,UAAU,qBAAuBjB,CAAQ,EACpEA,GAAY,GAAKA,GAAU,YAAW,EACtCiB,EAAc,EACvB,CAEC,EAEA3C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAO,CACL,KAAM,SACN,KAAM,MAAM,UAAU,MAAM,KAAK,KAAK,MAAQ,KAAM,CAAC,CAC1D,CACC,EAEA,SAASmD,GAAazC,EAAKrC,EAAOC,EAAK,CACrC,OAAID,IAAU,GAAKC,IAAQoC,EAAI,OACtBb,EAAO,cAAca,CAAG,EAExBb,EAAO,cAAca,EAAI,MAAMrC,EAAOC,CAAG,CAAC,CAErD,CAEA,SAAS0E,GAAWtC,EAAKrC,EAAOC,EAAK,CACnCA,EAAM,KAAK,IAAIoC,EAAI,OAAQpC,CAAG,EAC9B,MAAM8G,EAAM,CAAA,EAEZ,IAAI9H,EAAIe,EACR,KAAOf,EAAIgB,GAAK,CACd,MAAM+G,EAAY3E,EAAIpD,CAAC,EACvB,IAAIgI,EAAY,KACZC,EAAoBF,EAAY,IAChC,EACCA,EAAY,IACT,EACCA,EAAY,IACT,EACA,EAEZ,GAAI/H,EAAIiI,GAAoBjH,EAAK,CAC/B,IAAIkH,EAAYC,EAAWC,EAAYC,EAEvC,OAAQJ,EAAgB,CACtB,IAAK,GACCF,EAAY,MACdC,EAAYD,GAEd,MACF,IAAK,GACHG,EAAa9E,EAAIpD,EAAI,CAAC,GACjBkI,EAAa,OAAU,MAC1BG,GAAiBN,EAAY,KAAS,EAAOG,EAAa,GACtDG,EAAgB,MAClBL,EAAYK,IAGhB,MACF,IAAK,GACHH,EAAa9E,EAAIpD,EAAI,CAAC,EACtBmI,EAAY/E,EAAIpD,EAAI,CAAC,GAChBkI,EAAa,OAAU,MAASC,EAAY,OAAU,MACzDE,GAAiBN,EAAY,KAAQ,IAAOG,EAAa,KAAS,EAAOC,EAAY,GACjFE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,IAGhB,MACF,IAAK,GACHH,EAAa9E,EAAIpD,EAAI,CAAC,EACtBmI,EAAY/E,EAAIpD,EAAI,CAAC,EACrBoI,EAAahF,EAAIpD,EAAI,CAAC,GACjBkI,EAAa,OAAU,MAASC,EAAY,OAAU,MAASC,EAAa,OAAU,MACzFC,GAAiBN,EAAY,KAAQ,IAAQG,EAAa,KAAS,IAAOC,EAAY,KAAS,EAAOC,EAAa,GAC/GC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,GAG3B,CACK,CAEIL,IAAc,MAGhBA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbF,EAAI,KAAKE,IAAc,GAAK,KAAQ,KAAM,EAC1CA,EAAY,MAASA,EAAY,MAGnCF,EAAI,KAAKE,CAAS,EAClBhI,GAAKiI,CACP,CAEA,OAAOK,GAAsBR,CAAG,CAClC,CAKA,MAAMS,GAAuB,KAE7B,SAASD,GAAuBE,EAAY,CAC1C,MAAMvI,EAAMuI,EAAW,OACvB,GAAIvI,GAAOsI,GACT,OAAO,OAAO,aAAa,MAAM,OAAQC,CAAU,EAIrD,IAAIV,EAAM,GACN9H,EAAI,EACR,KAAOA,EAAIC,GACT6H,GAAO,OAAO,aAAa,MACzB,OACAU,EAAW,MAAMxI,EAAGA,GAAKuI,EAAoB,CACpD,EAEG,OAAOT,CACT,CAEA,SAASnC,GAAYvC,EAAKrC,EAAOC,EAAK,CACpC,IAAIyH,EAAM,GACVzH,EAAM,KAAK,IAAIoC,EAAI,OAAQpC,CAAG,EAE9B,QAAShB,EAAIe,EAAOf,EAAIgB,EAAK,EAAEhB,EAC7ByI,GAAO,OAAO,aAAarF,EAAIpD,CAAC,EAAI,GAAI,EAE1C,OAAOyI,CACT,CAEA,SAAS7C,GAAaxC,EAAKrC,EAAOC,EAAK,CACrC,IAAIyH,EAAM,GACVzH,EAAM,KAAK,IAAIoC,EAAI,OAAQpC,CAAG,EAE9B,QAAShB,EAAIe,EAAOf,EAAIgB,EAAK,EAAEhB,EAC7ByI,GAAO,OAAO,aAAarF,EAAIpD,CAAC,CAAC,EAEnC,OAAOyI,CACT,CAEA,SAAShD,GAAUrC,EAAKrC,EAAOC,EAAK,CAClC,MAAMf,EAAMmD,EAAI,QAEZ,CAACrC,GAASA,EAAQ,KAAGA,EAAQ,IAC7B,CAACC,GAAOA,EAAM,GAAKA,EAAMf,KAAKe,EAAMf,GAExC,IAAIyI,EAAM,GACV,QAAS1I,EAAIe,EAAOf,EAAIgB,EAAK,EAAEhB,EAC7B0I,GAAOC,GAAoBvF,EAAIpD,CAAC,CAAC,EAEnC,OAAO0I,CACT,CAEA,SAAS5C,GAAc1C,EAAKrC,EAAOC,EAAK,CACtC,MAAM4H,EAAQxF,EAAI,MAAMrC,EAAOC,CAAG,EAClC,IAAI8G,EAAM,GAEV,QAAS9H,EAAI,EAAGA,EAAI4I,EAAM,OAAS,EAAG5I,GAAK,EACzC8H,GAAO,OAAO,aAAac,EAAM5I,CAAC,EAAK4I,EAAM5I,EAAI,CAAC,EAAI,GAAI,EAE5D,OAAO8H,CACT,CAEApF,EAAO,UAAU,MAAQ,SAAgB3B,EAAOC,EAAK,CACnD,MAAMf,EAAM,KAAK,OACjBc,EAAQ,CAAC,CAACA,EACVC,EAAMA,IAAQ,OAAYf,EAAM,CAAC,CAACe,EAE9BD,EAAQ,GACVA,GAASd,EACLc,EAAQ,IAAGA,EAAQ,IACdA,EAAQd,IACjBc,EAAQd,GAGNe,EAAM,GACRA,GAAOf,EACHe,EAAM,IAAGA,EAAM,IACVA,EAAMf,IACfe,EAAMf,GAGJe,EAAMD,IAAOC,EAAMD,GAEvB,MAAM8H,EAAS,KAAK,SAAS9H,EAAOC,CAAG,EAEvC,OAAA,OAAO,eAAe6H,EAAQnG,EAAO,SAAS,EAEvCmG,CACT,EAKA,SAASC,EAAavH,EAAQwH,EAAK5F,EAAQ,CACzC,GAAK5B,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI,WAAW,oBAAoB,EAC/E,GAAIA,EAASwH,EAAM5F,EAAQ,MAAM,IAAI,WAAW,uCAAuC,CACzF,CAEAT,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBnB,EAAQ9B,EAAYuJ,EAAU,CAC/EzH,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACvBuJ,GAAUF,EAAYvH,EAAQ9B,EAAY,KAAK,MAAM,EAE1D,IAAIgH,EAAM,KAAKlF,CAAM,EACjB0H,EAAM,EACNjJ,EAAI,EACR,KAAO,EAAEA,EAAIP,IAAewJ,GAAO,MACjCxC,GAAO,KAAKlF,EAASvB,CAAC,EAAIiJ,EAG5B,OAAOxC,CACT,EAEA/D,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBnB,EAAQ9B,EAAYuJ,EAAU,CAC/EzH,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACvBuJ,GACHF,EAAYvH,EAAQ9B,EAAY,KAAK,MAAM,EAG7C,IAAIgH,EAAM,KAAKlF,EAAS,EAAE9B,CAAU,EAChCwJ,EAAM,EACV,KAAOxJ,EAAa,IAAMwJ,GAAO,MAC/BxC,GAAO,KAAKlF,EAAS,EAAE9B,CAAU,EAAIwJ,EAGvC,OAAOxC,CACT,EAEA/D,EAAO,UAAU,UACjBA,EAAO,UAAU,UAAY,SAAoBnB,EAAQyH,EAAU,CACjE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1C,KAAKA,CAAM,CACpB,EAEAmB,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1C,KAAKA,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,CAC7C,EAEAmB,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EACzC,KAAKA,CAAM,GAAK,EAAK,KAAKA,EAAS,CAAC,CAC9C,EAEAmB,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,GAExC,KAAKA,CAAM,EACf,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,IACpB,KAAKA,EAAS,CAAC,EAAI,QAC1B,EAEAmB,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,EAAI,UACnB,KAAKA,EAAS,CAAC,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,EACrB,KAAKA,EAAS,CAAC,EACnB,EAEAmB,EAAO,UAAU,gBAAkBwG,GAAmB,SAA0B3H,EAAQ,CACtFA,EAASA,IAAW,EACpB4H,GAAe5H,EAAQ,QAAQ,EAC/B,MAAM6H,EAAQ,KAAK7H,CAAM,EACnB8H,EAAO,KAAK9H,EAAS,CAAC,GACxB6H,IAAU,QAAaC,IAAS,SAClCC,GAAY/H,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMgI,EAAKH,EACT,KAAK,EAAE7H,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GAElBiI,EAAK,KAAK,EAAEjI,CAAM,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB8H,EAAO,GAAK,GAEd,OAAO,OAAOE,CAAE,GAAK,OAAOC,CAAE,GAAK,OAAO,EAAE,EAC9C,CAAC,EAED9G,EAAO,UAAU,gBAAkBwG,GAAmB,SAA0B3H,EAAQ,CACtFA,EAASA,IAAW,EACpB4H,GAAe5H,EAAQ,QAAQ,EAC/B,MAAM6H,EAAQ,KAAK7H,CAAM,EACnB8H,EAAO,KAAK9H,EAAS,CAAC,GACxB6H,IAAU,QAAaC,IAAS,SAClCC,GAAY/H,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMiI,EAAKJ,EAAQ,GAAK,GACtB,KAAK,EAAE7H,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAETgI,EAAK,KAAK,EAAEhI,CAAM,EAAI,GAAK,GAC/B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB8H,EAEF,OAAQ,OAAOG,CAAE,GAAK,OAAO,EAAE,GAAK,OAAOD,CAAE,CAC/C,CAAC,EAED7G,EAAO,UAAU,UAAY,SAAoBnB,EAAQ9B,EAAYuJ,EAAU,CAC7EzH,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACvBuJ,GAAUF,EAAYvH,EAAQ9B,EAAY,KAAK,MAAM,EAE1D,IAAIgH,EAAM,KAAKlF,CAAM,EACjB0H,EAAM,EACNjJ,EAAI,EACR,KAAO,EAAEA,EAAIP,IAAewJ,GAAO,MACjCxC,GAAO,KAAKlF,EAASvB,CAAC,EAAIiJ,EAE5B,OAAAA,GAAO,IAEHxC,GAAOwC,IAAKxC,GAAO,KAAK,IAAI,EAAG,EAAIhH,CAAU,GAE1CgH,CACT,EAEA/D,EAAO,UAAU,UAAY,SAAoBnB,EAAQ9B,EAAYuJ,EAAU,CAC7EzH,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACvBuJ,GAAUF,EAAYvH,EAAQ9B,EAAY,KAAK,MAAM,EAE1D,IAAIO,EAAIP,EACJwJ,EAAM,EACNxC,EAAM,KAAKlF,EAAS,EAAEvB,CAAC,EAC3B,KAAOA,EAAI,IAAMiJ,GAAO,MACtBxC,GAAO,KAAKlF,EAAS,EAAEvB,CAAC,EAAIiJ,EAE9B,OAAAA,GAAO,IAEHxC,GAAOwC,IAAKxC,GAAO,KAAK,IAAI,EAAG,EAAIhH,CAAU,GAE1CgH,CACT,EAEA/D,EAAO,UAAU,SAAW,SAAmBnB,EAAQyH,EAAU,CAG/D,OAFAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC3C,KAAKA,CAAM,EAAI,KACZ,IAAO,KAAKA,CAAM,EAAI,GAAK,GADA,KAAKA,CAAM,CAEjD,EAEAmB,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrEzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EACjD,MAAMkF,EAAM,KAAKlF,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,EAChD,OAAQkF,EAAM,MAAUA,EAAM,WAAaA,CAC7C,EAEA/D,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrEzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EACjD,MAAMkF,EAAM,KAAKlF,EAAS,CAAC,EAAK,KAAKA,CAAM,GAAK,EAChD,OAAQkF,EAAM,MAAUA,EAAM,WAAaA,CAC7C,EAEA/D,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,EAChB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACzB,EAEAmB,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,CACpB,EAEAmB,EAAO,UAAU,eAAiBwG,GAAmB,SAAyB3H,EAAQ,CACpFA,EAASA,IAAW,EACpB4H,GAAe5H,EAAQ,QAAQ,EAC/B,MAAM6H,EAAQ,KAAK7H,CAAM,EACnB8H,EAAO,KAAK9H,EAAS,CAAC,GACxB6H,IAAU,QAAaC,IAAS,SAClCC,GAAY/H,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMkF,EAAM,KAAKlF,EAAS,CAAC,EACzB,KAAKA,EAAS,CAAC,EAAI,GAAK,EACxB,KAAKA,EAAS,CAAC,EAAI,GAAK,IACvB8H,GAAQ,IAEX,OAAQ,OAAO5C,CAAG,GAAK,OAAO,EAAE,GAC9B,OAAO2C,EACP,KAAK,EAAE7H,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EAAE,CAC5B,CAAC,EAEDmB,EAAO,UAAU,eAAiBwG,GAAmB,SAAyB3H,EAAQ,CACpFA,EAASA,IAAW,EACpB4H,GAAe5H,EAAQ,QAAQ,EAC/B,MAAM6H,EAAQ,KAAK7H,CAAM,EACnB8H,EAAO,KAAK9H,EAAS,CAAC,GACxB6H,IAAU,QAAaC,IAAS,SAClCC,GAAY/H,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMkF,GAAO2C,GAAS,IACpB,KAAK,EAAE7H,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAEf,OAAQ,OAAOkF,CAAG,GAAK,OAAO,EAAE,GAC9B,OAAO,KAAK,EAAElF,CAAM,EAAI,GAAK,GAC7B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB8H,CAAI,CACR,CAAC,EAED3G,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1CiB,EAAU,KAAK,KAAMjB,EAAQ,GAAM,GAAI,CAAC,CACjD,EAEAmB,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1CiB,EAAU,KAAK,KAAMjB,EAAQ,GAAO,GAAI,CAAC,CAClD,EAEAmB,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1CiB,EAAU,KAAK,KAAMjB,EAAQ,GAAM,GAAI,CAAC,CACjD,EAEAmB,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1CiB,EAAU,KAAK,KAAMjB,EAAQ,GAAO,GAAI,CAAC,CAClD,EAEA,SAASkI,EAAUrG,EAAKjB,EAAOZ,EAAQwH,EAAK7C,EAAKwD,EAAK,CACpD,GAAI,CAAChH,EAAO,SAASU,CAAG,EAAG,MAAM,IAAI,UAAU,6CAA6C,EAC5F,GAAIjB,EAAQ+D,GAAO/D,EAAQuH,EAAK,MAAM,IAAI,WAAW,mCAAmC,EACxF,GAAInI,EAASwH,EAAM3F,EAAI,OAAQ,MAAM,IAAI,WAAW,oBAAoB,CAC1E,CAEAV,EAAO,UAAU,YACjBA,EAAO,UAAU,YAAc,SAAsBP,EAAOZ,EAAQ9B,EAAYuJ,EAAU,CAIxF,GAHA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACxB,CAACuJ,EAAU,CACb,MAAMW,EAAW,KAAK,IAAI,EAAG,EAAIlK,CAAU,EAAI,EAC/CgK,EAAS,KAAMtH,EAAOZ,EAAQ9B,EAAYkK,EAAU,CAAC,CACvD,CAEA,IAAIV,EAAM,EACNjJ,EAAI,EAER,IADA,KAAKuB,CAAM,EAAIY,EAAQ,IAChB,EAAEnC,EAAIP,IAAewJ,GAAO,MACjC,KAAK1H,EAASvB,CAAC,EAAKmC,EAAQ8G,EAAO,IAGrC,OAAO1H,EAAS9B,CAClB,EAEAiD,EAAO,UAAU,YACjBA,EAAO,UAAU,YAAc,SAAsBP,EAAOZ,EAAQ9B,EAAYuJ,EAAU,CAIxF,GAHA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACxB,CAACuJ,EAAU,CACb,MAAMW,EAAW,KAAK,IAAI,EAAG,EAAIlK,CAAU,EAAI,EAC/CgK,EAAS,KAAMtH,EAAOZ,EAAQ9B,EAAYkK,EAAU,CAAC,CACvD,CAEA,IAAI3J,EAAIP,EAAa,EACjBwJ,EAAM,EAEV,IADA,KAAK1H,EAASvB,CAAC,EAAImC,EAAQ,IACpB,EAAEnC,GAAK,IAAMiJ,GAAO,MACzB,KAAK1H,EAASvB,CAAC,EAAKmC,EAAQ8G,EAAO,IAGrC,OAAO1H,EAAS9B,CAClB,EAEAiD,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBP,EAAOZ,EAAQyH,EAAU,CAC1E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,IAAM,CAAC,EACvD,KAAKA,CAAM,EAAKY,EAAQ,IACjBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAKY,EAAQ,IACxB,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EACvBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAKY,IAAU,EAC1B,KAAKZ,EAAS,CAAC,EAAKY,EAAQ,IACrBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EAC9B,KAAKZ,CAAM,EAAKY,EAAQ,IACjBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,CAAM,EAAKY,IAAU,GAC1B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EAC9B,KAAKZ,EAAS,CAAC,EAAKY,EAAQ,IACrBZ,EAAS,CAClB,EAEA,SAASqI,GAAgBxG,EAAKjB,EAAOZ,EAAQmI,EAAKxD,EAAK,CACrD2D,GAAW1H,EAAOuH,EAAKxD,EAAK9C,EAAK7B,EAAQ,CAAC,EAE1C,IAAIgI,EAAK,OAAOpH,EAAQ,OAAO,UAAU,CAAC,EAC1CiB,EAAI7B,GAAQ,EAAIgI,EAChBA,EAAKA,GAAM,EACXnG,EAAI7B,GAAQ,EAAIgI,EAChBA,EAAKA,GAAM,EACXnG,EAAI7B,GAAQ,EAAIgI,EAChBA,EAAKA,GAAM,EACXnG,EAAI7B,GAAQ,EAAIgI,EAChB,IAAIC,EAAK,OAAOrH,GAAS,OAAO,EAAE,EAAI,OAAO,UAAU,CAAC,EACxD,OAAAiB,EAAI7B,GAAQ,EAAIiI,EAChBA,EAAKA,GAAM,EACXpG,EAAI7B,GAAQ,EAAIiI,EAChBA,EAAKA,GAAM,EACXpG,EAAI7B,GAAQ,EAAIiI,EAChBA,EAAKA,GAAM,EACXpG,EAAI7B,GAAQ,EAAIiI,EACTjI,CACT,CAEA,SAASuI,GAAgB1G,EAAKjB,EAAOZ,EAAQmI,EAAKxD,EAAK,CACrD2D,GAAW1H,EAAOuH,EAAKxD,EAAK9C,EAAK7B,EAAQ,CAAC,EAE1C,IAAIgI,EAAK,OAAOpH,EAAQ,OAAO,UAAU,CAAC,EAC1CiB,EAAI7B,EAAS,CAAC,EAAIgI,EAClBA,EAAKA,GAAM,EACXnG,EAAI7B,EAAS,CAAC,EAAIgI,EAClBA,EAAKA,GAAM,EACXnG,EAAI7B,EAAS,CAAC,EAAIgI,EAClBA,EAAKA,GAAM,EACXnG,EAAI7B,EAAS,CAAC,EAAIgI,EAClB,IAAIC,EAAK,OAAOrH,GAAS,OAAO,EAAE,EAAI,OAAO,UAAU,CAAC,EACxD,OAAAiB,EAAI7B,EAAS,CAAC,EAAIiI,EAClBA,EAAKA,GAAM,EACXpG,EAAI7B,EAAS,CAAC,EAAIiI,EAClBA,EAAKA,GAAM,EACXpG,EAAI7B,EAAS,CAAC,EAAIiI,EAClBA,EAAKA,GAAM,EACXpG,EAAI7B,CAAM,EAAIiI,EACPjI,EAAS,CAClB,CAEAmB,EAAO,UAAU,iBAAmBwG,GAAmB,SAA2B/G,EAAOZ,EAAS,EAAG,CACnG,OAAOqI,GAAe,KAAMzH,EAAOZ,EAAQ,OAAO,CAAC,EAAG,OAAO,oBAAoB,CAAC,CACpF,CAAC,EAEDmB,EAAO,UAAU,iBAAmBwG,GAAmB,SAA2B/G,EAAOZ,EAAS,EAAG,CACnG,OAAOuI,GAAe,KAAM3H,EAAOZ,EAAQ,OAAO,CAAC,EAAG,OAAO,oBAAoB,CAAC,CACpF,CAAC,EAEDmB,EAAO,UAAU,WAAa,SAAqBP,EAAOZ,EAAQ9B,EAAYuJ,EAAU,CAGtF,GAFA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EAChB,CAACyH,EAAU,CACb,MAAMe,EAAQ,KAAK,IAAI,EAAI,EAAItK,EAAc,CAAC,EAE9CgK,EAAS,KAAMtH,EAAOZ,EAAQ9B,EAAYsK,EAAQ,EAAG,CAACA,CAAK,CAC7D,CAEA,IAAI/J,EAAI,EACJiJ,EAAM,EACNe,EAAM,EAEV,IADA,KAAKzI,CAAM,EAAIY,EAAQ,IAChB,EAAEnC,EAAIP,IAAewJ,GAAO,MAC7B9G,EAAQ,GAAK6H,IAAQ,GAAK,KAAKzI,EAASvB,EAAI,CAAC,IAAM,IACrDgK,EAAM,GAER,KAAKzI,EAASvB,CAAC,GAAMmC,EAAQ8G,GAAQ,GAAKe,EAAM,IAGlD,OAAOzI,EAAS9B,CAClB,EAEAiD,EAAO,UAAU,WAAa,SAAqBP,EAAOZ,EAAQ9B,EAAYuJ,EAAU,CAGtF,GAFA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EAChB,CAACyH,EAAU,CACb,MAAMe,EAAQ,KAAK,IAAI,EAAI,EAAItK,EAAc,CAAC,EAE9CgK,EAAS,KAAMtH,EAAOZ,EAAQ9B,EAAYsK,EAAQ,EAAG,CAACA,CAAK,CAC7D,CAEA,IAAI/J,EAAIP,EAAa,EACjBwJ,EAAM,EACNe,EAAM,EAEV,IADA,KAAKzI,EAASvB,CAAC,EAAImC,EAAQ,IACpB,EAAEnC,GAAK,IAAMiJ,GAAO,MACrB9G,EAAQ,GAAK6H,IAAQ,GAAK,KAAKzI,EAASvB,EAAI,CAAC,IAAM,IACrDgK,EAAM,GAER,KAAKzI,EAASvB,CAAC,GAAMmC,EAAQ8G,GAAQ,GAAKe,EAAM,IAGlD,OAAOzI,EAAS9B,CAClB,EAEAiD,EAAO,UAAU,UAAY,SAAoBP,EAAOZ,EAAQyH,EAAU,CACxE,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,IAAM,IAAK,EACvDY,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC,KAAKZ,CAAM,EAAKY,EAAQ,IACjBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAKY,EAAQ,IACxB,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EACvBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAKY,IAAU,EAC1B,KAAKZ,EAAS,CAAC,EAAKY,EAAQ,IACrBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,WAAY,WAAW,EACvE,KAAKA,CAAM,EAAKY,EAAQ,IACxB,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GACvBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,WAAY,WAAW,EACnEY,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,KAAKZ,CAAM,EAAKY,IAAU,GAC1B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EAC9B,KAAKZ,EAAS,CAAC,EAAKY,EAAQ,IACrBZ,EAAS,CAClB,EAEAmB,EAAO,UAAU,gBAAkBwG,GAAmB,SAA0B/G,EAAOZ,EAAS,EAAG,CACjG,OAAOqI,GAAe,KAAMzH,EAAOZ,EAAQ,CAAC,OAAO,oBAAoB,EAAG,OAAO,oBAAoB,CAAC,CACxG,CAAC,EAEDmB,EAAO,UAAU,gBAAkBwG,GAAmB,SAA0B/G,EAAOZ,EAAS,EAAG,CACjG,OAAOuI,GAAe,KAAM3H,EAAOZ,EAAQ,CAAC,OAAO,oBAAoB,EAAG,OAAO,oBAAoB,CAAC,CACxG,CAAC,EAED,SAAS0I,GAAc7G,EAAKjB,EAAOZ,EAAQwH,EAAK7C,EAAKwD,EAAK,CACxD,GAAInI,EAASwH,EAAM3F,EAAI,OAAQ,MAAM,IAAI,WAAW,oBAAoB,EACxE,GAAI7B,EAAS,EAAG,MAAM,IAAI,WAAW,oBAAoB,CAC3D,CAEA,SAAS2I,GAAY9G,EAAKjB,EAAOZ,EAAQ4I,EAAcnB,EAAU,CAC/D,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GACHiB,GAAa7G,EAAKjB,EAAOZ,EAAQ,CAAC,EAEpCiB,EAAU,MAAMY,EAAKjB,EAAOZ,EAAQ4I,EAAc,GAAI,CAAC,EAChD5I,EAAS,CAClB,CAEAmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAOkB,GAAW,KAAM/H,EAAOZ,EAAQ,GAAMyH,CAAQ,CACvD,EAEAtG,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAOkB,GAAW,KAAM/H,EAAOZ,EAAQ,GAAOyH,CAAQ,CACxD,EAEA,SAASoB,GAAahH,EAAKjB,EAAOZ,EAAQ4I,EAAcnB,EAAU,CAChE,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GACHiB,GAAa7G,EAAKjB,EAAOZ,EAAQ,CAAC,EAEpCiB,EAAU,MAAMY,EAAKjB,EAAOZ,EAAQ4I,EAAc,GAAI,CAAC,EAChD5I,EAAS,CAClB,CAEAmB,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAOoB,GAAY,KAAMjI,EAAOZ,EAAQ,GAAMyH,CAAQ,CACxD,EAEAtG,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAOoB,GAAY,KAAMjI,EAAOZ,EAAQ,GAAOyH,CAAQ,CACzD,EAGAtG,EAAO,UAAU,KAAO,SAAeyD,EAAQkE,EAAatJ,EAAOC,EAAK,CACtE,GAAI,CAAC0B,EAAO,SAASyD,CAAM,EAAG,MAAM,IAAI,UAAU,6BAA6B,EAS/E,GARKpF,IAAOA,EAAQ,GAChB,CAACC,GAAOA,IAAQ,IAAGA,EAAM,KAAK,QAC9BqJ,GAAelE,EAAO,SAAQkE,EAAclE,EAAO,QAClDkE,IAAaA,EAAc,GAC5BrJ,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,GACRoF,EAAO,SAAW,GAAK,KAAK,SAAW,EAAG,MAAO,GAGrD,GAAIkE,EAAc,EAChB,MAAM,IAAI,WAAW,2BAA2B,EAElD,GAAItJ,EAAQ,GAAKA,GAAS,KAAK,OAAQ,MAAM,IAAI,WAAW,oBAAoB,EAChF,GAAIC,EAAM,EAAG,MAAM,IAAI,WAAW,yBAAyB,EAGvDA,EAAM,KAAK,SAAQA,EAAM,KAAK,QAC9BmF,EAAO,OAASkE,EAAcrJ,EAAMD,IACtCC,EAAMmF,EAAO,OAASkE,EAActJ,GAGtC,MAAMd,EAAMe,EAAMD,EAElB,OAAI,OAASoF,GAAU,OAAOtD,EAAiB,UAAU,YAAe,WAEtE,KAAK,WAAWwH,EAAatJ,EAAOC,CAAG,EAEvC6B,EAAiB,UAAU,IAAI,KAC7BsD,EACA,KAAK,SAASpF,EAAOC,CAAG,EACxBqJ,CACP,EAGUpK,CACT,EAMAyC,EAAO,UAAU,KAAO,SAAe+D,EAAK1F,EAAOC,EAAKoD,EAAU,CAEhE,GAAI,OAAOqC,GAAQ,SAAU,CAS3B,GARI,OAAO1F,GAAU,UACnBqD,EAAWrD,EACXA,EAAQ,EACRC,EAAM,KAAK,QACF,OAAOA,GAAQ,WACxBoD,EAAWpD,EACXA,EAAM,KAAK,QAEToD,IAAa,QAAa,OAAOA,GAAa,SAChD,MAAM,IAAI,UAAU,2BAA2B,EAEjD,GAAI,OAAOA,GAAa,UAAY,CAAC1B,EAAO,WAAW0B,CAAQ,EAC7D,MAAM,IAAI,UAAU,qBAAuBA,CAAQ,EAErD,GAAIqC,EAAI,SAAW,EAAG,CACpB,MAAM1G,EAAO0G,EAAI,WAAW,CAAC,GACxBrC,IAAa,QAAUrE,EAAO,KAC/BqE,IAAa,YAEfqC,EAAM1G,EAEV,CACF,MAAW,OAAO0G,GAAQ,SACxBA,EAAMA,EAAM,IACH,OAAOA,GAAQ,YACxBA,EAAM,OAAOA,CAAG,GAIlB,GAAI1F,EAAQ,GAAK,KAAK,OAASA,GAAS,KAAK,OAASC,EACpD,MAAM,IAAI,WAAW,oBAAoB,EAG3C,GAAIA,GAAOD,EACT,OAAO,KAGTA,EAAQA,IAAU,EAClBC,EAAMA,IAAQ,OAAY,KAAK,OAASA,IAAQ,EAE3CyF,IAAKA,EAAM,GAEhB,IAAIzG,EACJ,GAAI,OAAOyG,GAAQ,SACjB,IAAKzG,EAAIe,EAAOf,EAAIgB,EAAK,EAAEhB,EACzB,KAAKA,CAAC,EAAIyG,MAEP,CACL,MAAMmC,EAAQlG,EAAO,SAAS+D,CAAG,EAC7BA,EACA/D,EAAO,KAAK+D,EAAKrC,CAAQ,EACvBnE,EAAM2I,EAAM,OAClB,GAAI3I,IAAQ,EACV,MAAM,IAAI,UAAU,cAAgBwG,EAClC,mCAAmC,EAEvC,IAAKzG,EAAI,EAAGA,EAAIgB,EAAMD,EAAO,EAAEf,EAC7B,KAAKA,EAAIe,CAAK,EAAI6H,EAAM5I,EAAIC,CAAG,CAEnC,CAEA,OAAO,IACT,EAMA,MAAMqK,GAAS,CAAA,EACf,SAASC,GAAGC,EAAKC,EAAYC,EAAM,CACjCJ,GAAOE,CAAG,EAAI,cAAwBE,CAAK,CACzC,aAAe,CACb,MAAK,EAEL,OAAO,eAAe,KAAM,UAAW,CACrC,MAAOD,EAAW,MAAM,KAAM,SAAS,EACvC,SAAU,GACV,aAAc,EACvB,CAAQ,EAGD,KAAK,KAAO,GAAG,KAAK,IAAI,KAAKD,CAAG,IAGhC,KAAK,MAEL,OAAO,KAAK,IACd,CAEA,IAAI,MAAQ,CACV,OAAOA,CACT,CAEA,IAAI,KAAMrI,EAAO,CACf,OAAO,eAAe,KAAM,OAAQ,CAClC,aAAc,GACd,WAAY,GACZ,MAAAA,EACA,SAAU,EACnB,CAAQ,CACH,CAEA,UAAY,CACV,MAAO,GAAG,KAAK,IAAI,KAAKqI,CAAG,MAAM,KAAK,OAAO,EAC/C,CACL,CACC,CAEAD,GAAE,2BACA,SAAUI,EAAM,CACd,OAAIA,EACK,GAAGA,CAAI,+BAGT,gDACT,EAAG,UAAU,EACfJ,GAAE,uBACA,SAAUI,EAAMpG,EAAQ,CACtB,MAAO,QAAQoG,CAAI,oDAAoD,OAAOpG,CAAM,EACtF,EAAG,SAAS,EACdgG,GAAE,mBACA,SAAUtE,EAAK2E,EAAOC,EAAO,CAC3B,IAAIC,EAAM,iBAAiB7E,CAAG,qBAC1B8E,EAAWF,EACf,OAAI,OAAO,UAAUA,CAAK,GAAK,KAAK,IAAIA,CAAK,EAAI,GAAK,GACpDE,EAAWC,GAAsB,OAAOH,CAAK,CAAC,EACrC,OAAOA,GAAU,WAC1BE,EAAW,OAAOF,CAAK,GACnBA,EAAQ,OAAO,CAAC,GAAK,OAAO,EAAE,GAAKA,EAAQ,EAAE,OAAO,CAAC,GAAK,OAAO,EAAE,MACrEE,EAAWC,GAAsBD,CAAQ,GAE3CA,GAAY,KAEdD,GAAO,eAAeF,CAAK,cAAcG,CAAQ,GAC1CD,CACT,EAAG,UAAU,EAEf,SAASE,GAAuBvE,EAAK,CACnC,IAAIqB,EAAM,GACN9H,EAAIyG,EAAI,OACZ,MAAM1F,EAAQ0F,EAAI,CAAC,IAAM,IAAM,EAAI,EACnC,KAAOzG,GAAKe,EAAQ,EAAGf,GAAK,EAC1B8H,EAAM,IAAIrB,EAAI,MAAMzG,EAAI,EAAGA,CAAC,CAAC,GAAG8H,CAAG,GAErC,MAAO,GAAGrB,EAAI,MAAM,EAAGzG,CAAC,CAAC,GAAG8H,CAAG,EACjC,CAKA,SAASmD,GAAa7H,EAAK7B,EAAQ9B,EAAY,CAC7C0J,GAAe5H,EAAQ,QAAQ,GAC3B6B,EAAI7B,CAAM,IAAM,QAAa6B,EAAI7B,EAAS9B,CAAU,IAAM,SAC5D6J,GAAY/H,EAAQ6B,EAAI,QAAU3D,EAAa,EAAE,CAErD,CAEA,SAASoK,GAAY1H,EAAOuH,EAAKxD,EAAK9C,EAAK7B,EAAQ9B,EAAY,CAC7D,GAAI0C,EAAQ+D,GAAO/D,EAAQuH,EAAK,CAC9B,MAAM1D,EAAI,OAAO0D,GAAQ,SAAW,IAAM,GAC1C,IAAIkB,EAEF,MAAIlB,IAAQ,GAAKA,IAAQ,OAAO,CAAC,EAC/BkB,EAAQ,OAAO5E,CAAC,WAAWA,CAAC,QAAQvG,EAAa,GAAK,CAAC,GAAGuG,CAAC,GAE3D4E,EAAQ,SAAS5E,CAAC,QAAQvG,EAAa,GAAK,EAAI,CAAC,GAAGuG,CAAC,iBACzCvG,EAAa,GAAK,EAAI,CAAC,GAAGuG,CAAC,GAKrC,IAAIsE,GAAO,iBAAiB,QAASM,EAAOzI,CAAK,CACzD,CACA8I,GAAY7H,EAAK7B,EAAQ9B,CAAU,CACrC,CAEA,SAAS0J,GAAgBhH,EAAOwI,EAAM,CACpC,GAAI,OAAOxI,GAAU,SACnB,MAAM,IAAImI,GAAO,qBAAqBK,EAAM,SAAUxI,CAAK,CAE/D,CAEA,SAASmH,GAAanH,EAAOgB,EAAQ+H,EAAM,CACzC,MAAI,KAAK,MAAM/I,CAAK,IAAMA,GACxBgH,GAAehH,EAAO+I,CAAI,EACpB,IAAIZ,GAAO,iBAAyB,SAAU,aAAcnI,CAAK,GAGrEgB,EAAS,EACL,IAAImH,GAAO,yBAGb,IAAIA,GAAO,iBAAyB,SACR,eAA6BnH,CAAM,GACnChB,CAAK,CACzC,CAKA,MAAMgJ,GAAoB,oBAE1B,SAASC,GAAanF,EAAK,CAMzB,GAJAA,EAAMA,EAAI,MAAM,GAAG,EAAE,CAAC,EAEtBA,EAAMA,EAAI,KAAI,EAAG,QAAQkF,GAAmB,EAAE,EAE1ClF,EAAI,OAAS,EAAG,MAAO,GAE3B,KAAOA,EAAI,OAAS,IAAM,GACxBA,EAAMA,EAAM,IAEd,OAAOA,CACT,CAEA,SAASX,GAAahB,EAAQ+G,EAAO,CACnCA,EAAQA,GAAS,IACjB,IAAIrD,EACJ,MAAM7E,EAASmB,EAAO,OACtB,IAAIgH,EAAgB,KACpB,MAAM1C,EAAQ,CAAA,EAEd,QAAS5I,EAAI,EAAGA,EAAImD,EAAQ,EAAEnD,EAAG,CAI/B,GAHAgI,EAAY1D,EAAO,WAAWtE,CAAC,EAG3BgI,EAAY,OAAUA,EAAY,MAAQ,CAE5C,GAAI,CAACsD,EAAe,CAElB,GAAItD,EAAY,MAAQ,EAEjBqD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD,QACF,SAAW5I,EAAI,IAAMmD,EAAQ,EAEtBkI,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD,QACF,CAGA0C,EAAgBtD,EAEhB,QACF,CAGA,GAAIA,EAAY,MAAQ,EACjBqD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD0C,EAAgBtD,EAChB,QACF,CAGAA,GAAasD,EAAgB,OAAU,GAAKtD,EAAY,OAAU,KACpE,MAAWsD,IAEJD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAMpD,GAHA0C,EAAgB,KAGZtD,EAAY,IAAM,CACpB,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KAAKZ,CAAS,CACtB,SAAWA,EAAY,KAAO,CAC5B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,EAAM,IACnBA,EAAY,GAAO,GAC5B,CACK,SAAWA,EAAY,MAAS,CAC9B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,GAC5B,CACK,SAAWA,EAAY,QAAU,CAC/B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,GAC5B,CACK,KACE,OAAM,IAAI,MAAM,oBAAoB,CAExC,CAEA,OAAOY,CACT,CAEA,SAASlB,GAAczB,EAAK,CAC1B,MAAMsF,EAAY,CAAA,EAClB,QAASvL,EAAI,EAAGA,EAAIiG,EAAI,OAAQ,EAAEjG,EAEhCuL,EAAU,KAAKtF,EAAI,WAAWjG,CAAC,EAAI,GAAI,EAEzC,OAAOuL,CACT,CAEA,SAAS1D,EAAgB5B,EAAKoF,EAAO,CACnC,IAAIjJ,EAAGoH,EAAID,EACX,MAAMgC,EAAY,CAAA,EAClB,QAASvL,EAAI,EAAGA,EAAIiG,EAAI,QACjB,GAAAoF,GAAS,GAAK,GADW,EAAErL,EAGhCoC,EAAI6D,EAAI,WAAWjG,CAAC,EACpBwJ,EAAKpH,GAAK,EACVmH,EAAKnH,EAAI,IACTmJ,EAAU,KAAKhC,CAAE,EACjBgC,EAAU,KAAK/B,CAAE,EAGnB,OAAO+B,CACT,CAEA,SAAShG,EAAeU,EAAK,CAC3B,OAAO1D,EAAO,YAAY6I,GAAYnF,CAAG,CAAC,CAC5C,CAEA,SAASuB,GAAYgE,EAAKC,EAAKlK,EAAQ4B,EAAQ,CAC7C,IAAInD,EACJ,IAAKA,EAAI,EAAGA,EAAImD,GACT,EAAAnD,EAAIuB,GAAUkK,EAAI,QAAYzL,GAAKwL,EAAI,QADtB,EAAExL,EAExByL,EAAIzL,EAAIuB,CAAM,EAAIiK,EAAIxL,CAAC,EAEzB,OAAOA,CACT,CAKA,SAAS2D,GAAYkB,EAAKqG,EAAM,CAC9B,OAAOrG,aAAeqG,GACnBrG,GAAO,MAAQA,EAAI,aAAe,MAAQA,EAAI,YAAY,MAAQ,MACjEA,EAAI,YAAY,OAASqG,EAAK,IACpC,CACA,SAASpG,GAAaD,EAAK,CAEzB,OAAOA,IAAQA,CACjB,CAIA,MAAM8D,IAAuB,UAAY,CACvC,MAAM+C,EAAW,mBACXC,EAAQ,IAAI,MAAM,GAAG,EAC3B,QAAS3L,EAAI,EAAGA,EAAI,GAAI,EAAEA,EAAG,CAC3B,MAAM4L,EAAM5L,EAAI,GAChB,QAASkH,EAAI,EAAGA,EAAI,GAAI,EAAEA,EACxByE,EAAMC,EAAM1E,CAAC,EAAIwE,EAAS1L,CAAC,EAAI0L,EAASxE,CAAC,CAE7C,CACA,OAAOyE,CACT,GAAC,EAGD,SAASzC,GAAoB2C,EAAI,CAC/B,OAAO,OAAO,OAAW,IAAcC,GAAyBD,CAClE,CAEA,SAASC,IAA0B,CACjC,MAAM,IAAI,MAAM,sBAAsB,CACxC,CACD,GAAGvM,EAAM,EAEJ,MAACmD,GAASnD,GAAO,gEC5yEtB,OAAO,iBAAiB+C,EAAS,CAAE,WAAY,CAAE,MAAO,IAAQ,CAAC,OAAO,WAAW,EAAG,CAAE,MAAO,QAAQ,CAAE,CAAE,EAE3G,IAAI/C,EAAS,CAAA,EAETC,EAAW,CAAA,EAEfA,EAAS,WAAaC,EACtBD,EAAS,YAAcE,GACvBF,EAAS,cAAgBG,GAOzB,QALIC,EAAS,CAAA,EACTC,EAAY,CAAA,EACZC,EAAM,OAAO,WAAe,IAAc,WAAa,MAEvDC,EAAO,mEACFC,EAAI,EAAGC,EAAMF,EAAK,OAAQC,EAAIC,EAAK,EAAED,EAC5CJ,EAAOI,CAAC,EAAID,EAAKC,CAAC,EAClBH,EAAUE,EAAK,WAAWC,CAAC,CAAC,EAAIA,EAKlCH,EAAU,EAAiB,EAAI,GAC/BA,EAAU,EAAiB,EAAI,GAE/B,SAASK,EAASC,EAAK,CACrB,IAAIF,EAAME,EAAI,OAEd,GAAIF,EAAM,EAAI,EACZ,MAAM,IAAI,MAAM,gDAAgD,EAKlE,IAAIG,EAAWD,EAAI,QAAQ,GAAG,EAC1BC,IAAa,KAAIA,EAAWH,GAEhC,IAAII,EAAkBD,IAAaH,EAC/B,EACA,EAAKG,EAAW,EAEpB,MAAO,CAACA,EAAUC,CAAe,CACnC,CAGA,SAASZ,EAAYU,EAAK,CACxB,IAAIG,EAAOJ,EAAQC,CAAG,EAClBC,EAAWE,EAAK,CAAC,EACjBD,EAAkBC,EAAK,CAAC,EAC5B,OAASF,EAAWC,GAAmB,EAAI,EAAKA,CAClD,CAEA,SAASE,EAAaJ,EAAKC,EAAUC,EAAiB,CACpD,OAASD,EAAWC,GAAmB,EAAI,EAAKA,CAClD,CAEA,SAASX,GAAaS,EAAK,CACzB,IAAIK,EACAF,EAAOJ,EAAQC,CAAG,EAClBC,EAAWE,EAAK,CAAC,EACjBD,EAAkBC,EAAK,CAAC,EAExBG,EAAM,IAAIX,EAAIS,EAAYJ,EAAKC,EAAUC,CAAe,CAAC,EAEzDK,EAAU,EAGVT,EAAMI,EAAkB,EACxBD,EAAW,EACXA,EAEAJ,EACJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBQ,EACGX,EAAUM,EAAI,WAAWH,CAAC,CAAC,GAAK,GAChCH,EAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,GACpCH,EAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,EACrCH,EAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,EACjCS,EAAIC,GAAS,EAAKF,GAAO,GAAM,IAC/BC,EAAIC,GAAS,EAAKF,GAAO,EAAK,IAC9BC,EAAIC,GAAS,EAAIF,EAAM,IAGzB,OAAIH,IAAoB,IACtBG,EACGX,EAAUM,EAAI,WAAWH,CAAC,CAAC,GAAK,EAChCH,EAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,EACvCS,EAAIC,GAAS,EAAIF,EAAM,KAGrBH,IAAoB,IACtBG,EACGX,EAAUM,EAAI,WAAWH,CAAC,CAAC,GAAK,GAChCH,EAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,EACpCH,EAAUM,EAAI,WAAWH,EAAI,CAAC,CAAC,GAAK,EACvCS,EAAIC,GAAS,EAAKF,GAAO,EAAK,IAC9BC,EAAIC,GAAS,EAAIF,EAAM,KAGlBC,CACT,CAEA,SAASE,EAAiBC,EAAK,CAC7B,OAAOhB,EAAOgB,GAAO,GAAK,EAAI,EAC5BhB,EAAOgB,GAAO,GAAK,EAAI,EACvBhB,EAAOgB,GAAO,EAAI,EAAI,EACtBhB,EAAOgB,EAAM,EAAI,CACrB,CAEA,SAASC,GAAaC,EAAOC,EAAOC,EAAK,CAGvC,QAFIR,EACAS,EAAS,CAAA,EACJjB,EAAIe,EAAOf,EAAIgB,EAAKhB,GAAK,EAChCQ,GACIM,EAAMd,CAAC,GAAK,GAAM,WAClBc,EAAMd,EAAI,CAAC,GAAK,EAAK,QACtBc,EAAMd,EAAI,CAAC,EAAI,KAClBiB,EAAO,KAAKN,EAAgBH,CAAG,CAAC,EAElC,OAAOS,EAAO,KAAK,EAAE,CACvB,CAEA,SAAStB,GAAemB,EAAO,CAQ7B,QAPIN,EACAP,EAAMa,EAAM,OACZI,EAAajB,EAAM,EACnBkB,EAAQ,CAAA,EACRC,EAAiB,MAGZpB,EAAI,EAAGqB,EAAOpB,EAAMiB,EAAYlB,EAAIqB,EAAMrB,GAAKoB,EACtDD,EAAM,KAAKN,GAAYC,EAAOd,EAAIA,EAAIoB,EAAkBC,EAAOA,EAAQrB,EAAIoB,CAAe,CAAC,EAI7F,OAAIF,IAAe,GACjBV,EAAMM,EAAMb,EAAM,CAAC,EACnBkB,EAAM,KACJvB,EAAOY,GAAO,CAAC,EACfZ,EAAQY,GAAO,EAAK,EAAI,EACxB,OAEOU,IAAe,IACxBV,GAAOM,EAAMb,EAAM,CAAC,GAAK,GAAKa,EAAMb,EAAM,CAAC,EAC3CkB,EAAM,KACJvB,EAAOY,GAAO,EAAE,EAChBZ,EAAQY,GAAO,EAAK,EAAI,EACxBZ,EAAQY,GAAO,EAAK,EAAI,EACxB,MAIGW,EAAM,KAAK,EAAE,CACtB,CAEA,IAAIG,GAAU,CAAA,EAIdA,GAAQ,KAAO,SAAU/B,EAAQgC,EAAQC,EAAMC,EAAMC,EAAQ,CAC3D,IAAIC,EAAGC,EACHC,EAAQH,EAAS,EAAKD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,EAAQ,GACRhC,EAAIwB,EAAQE,EAAS,EAAK,EAC1BO,GAAIT,EAAO,GAAK,EAChBU,GAAI3C,EAAOgC,EAASvB,CAAC,EAOzB,IALAA,GAAKiC,GAELN,EAAIO,IAAM,GAAM,CAACF,GAAU,EAC3BE,KAAO,CAACF,EACRA,GAASH,EACFG,EAAQ,EAAGL,EAAKA,EAAI,IAAOpC,EAAOgC,EAASvB,CAAC,EAAGA,GAAKiC,GAAGD,GAAS,EAAG,CAK1E,IAHAJ,EAAID,GAAM,GAAM,CAACK,GAAU,EAC3BL,IAAO,CAACK,EACRA,GAASP,EACFO,EAAQ,EAAGJ,EAAKA,EAAI,IAAOrC,EAAOgC,EAASvB,CAAC,EAAGA,GAAKiC,GAAGD,GAAS,EAAG,CAE1E,GAAIL,IAAM,EACRA,EAAI,EAAII,MACH,CAAA,GAAIJ,IAAMG,EACf,OAAOF,EAAI,KAAQM,GAAI,GAAK,GAAK,MAEjCN,EAAIA,EAAI,KAAK,IAAI,EAAGH,CAAI,EACxBE,EAAIA,EAAII,EAEV,OAAQG,GAAI,GAAK,GAAKN,EAAI,KAAK,IAAI,EAAGD,EAAIF,CAAI,CAChD,EAEAH,GAAQ,MAAQ,SAAU/B,EAAQ4C,EAAOZ,EAAQC,EAAMC,EAAMC,EAAQ,CACnE,IAAIC,EAAGC,EAAGQ,EACNP,EAAQH,EAAS,EAAKD,EAAO,EAC7BK,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBO,GAAMZ,IAAS,GAAK,KAAK,IAAI,EAAG,GAAG,EAAI,KAAK,IAAI,EAAG,GAAG,EAAI,EAC1DzB,GAAIwB,EAAO,EAAKE,EAAS,EACzBO,GAAIT,EAAO,EAAI,GACfU,GAAIC,EAAQ,GAAMA,IAAU,GAAK,EAAIA,EAAQ,EAAK,EAAI,EAmC1D,IAjCAA,EAAQ,KAAK,IAAIA,CAAK,EAElB,MAAMA,CAAK,GAAKA,IAAU,KAC5BP,EAAI,MAAMO,CAAK,EAAI,EAAI,EACvBR,EAAIG,IAEJH,EAAI,KAAK,MAAM,KAAK,IAAIQ,CAAK,EAAI,KAAK,GAAG,EACrCA,GAASC,EAAI,KAAK,IAAI,EAAG,CAACT,CAAC,GAAK,IAClCA,IACAS,GAAK,GAEHT,EAAII,GAAS,EACfI,GAASE,GAAKD,EAEdD,GAASE,GAAK,KAAK,IAAI,EAAG,EAAIN,CAAK,EAEjCI,EAAQC,GAAK,IACfT,IACAS,GAAK,GAGHT,EAAII,GAASD,GACfF,EAAI,EACJD,EAAIG,GACKH,EAAII,GAAS,GACtBH,GAAMO,EAAQC,EAAK,GAAK,KAAK,IAAI,EAAGX,CAAI,EACxCE,EAAIA,EAAII,IAERH,EAAIO,EAAQ,KAAK,IAAI,EAAGJ,EAAQ,CAAC,EAAI,KAAK,IAAI,EAAGN,CAAI,EACrDE,EAAI,IAIDF,GAAQ,EAAGlC,EAAOgC,EAASvB,EAAC,EAAI4B,EAAI,IAAM5B,IAAKiC,GAAGL,GAAK,IAAKH,GAAQ,EAAG,CAI9E,IAFAE,EAAKA,GAAKF,EAAQG,EAClBC,GAAQJ,EACDI,EAAO,EAAGtC,EAAOgC,EAASvB,EAAC,EAAI2B,EAAI,IAAM3B,IAAKiC,GAAGN,GAAK,IAAKE,GAAQ,EAAG,CAE7EtC,EAAOgC,EAASvB,GAAIiC,EAAC,GAAKC,GAAI,GAChC,GASC,SAAUI,EAAS,CAEnB,MAAMC,EAAS/C,EACTgD,EAAYlB,GACZmB,EACH,OAAO,QAAW,YAAc,OAAO,OAAO,KAAW,WACtD,OAAO,IAAO,4BAA4B,EAC1C,KAENH,EAAQ,OAASI,EACjBJ,EAAQ,WAAaK,GACrBL,EAAQ,kBAAoB,GAE5B,MAAMM,EAAe,WACrBN,EAAQ,WAAaM,EACrB,KAAM,CAAE,WAAYC,EAAkB,YAAaC,EAAmB,kBAAmBC,CAAuB,EAAK,WAgBrHL,EAAO,oBAAsBM,EAAiB,EAE1C,CAACN,EAAO,qBAAuB,OAAO,QAAY,KAClD,OAAO,QAAQ,OAAU,YAC3B,QAAQ,MACN,iJAKJ,SAASM,GAAqB,CAE5B,GAAI,CACF,MAAMvC,EAAM,IAAIoC,EAAiB,CAAC,EAC5BI,EAAQ,CAAE,IAAK,UAAY,CAAE,MAAO,GAAE,CAAE,EAC9C,OAAA,OAAO,eAAeA,EAAOJ,EAAiB,SAAS,EACvD,OAAO,eAAepC,EAAKwC,CAAK,EACzBxC,EAAI,QAAU,EAC1B,MAAe,CACV,MAAO,EACZ,CACA,CAEC,OAAO,eAAeiC,EAAO,UAAW,SAAU,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,GAAKA,EAAO,SAAS,IAAI,EACzB,OAAO,KAAK,MACjB,CACA,CAAE,EAED,OAAO,eAAeA,EAAO,UAAW,SAAU,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,GAAKA,EAAO,SAAS,IAAI,EACzB,OAAO,KAAK,UACjB,CACA,CAAE,EAED,SAASQ,EAAcC,EAAQ,CAC7B,GAAIA,EAASP,EACX,MAAM,IAAI,WAAW,cAAgBO,EAAS,gCAAgC,EAGhF,MAAMC,EAAM,IAAIP,EAAiBM,CAAM,EACvC,OAAA,OAAO,eAAeC,EAAKV,EAAO,SAAS,EACpCU,CACV,CAYC,SAASV,EAAQW,EAAKC,EAAkBH,EAAQ,CAE9C,GAAI,OAAOE,GAAQ,SAAU,CAC3B,GAAI,OAAOC,GAAqB,SAC9B,MAAM,IAAI,UACR,oEACT,EAEK,OAAOC,GAAYF,CAAG,CAC3B,CACG,OAAOG,EAAKH,EAAKC,EAAkBH,CAAM,CAC5C,CAECT,EAAO,SAAW,KAElB,SAASc,EAAMrB,EAAOmB,EAAkBH,EAAQ,CAC9C,GAAI,OAAOhB,GAAU,SACnB,OAAOsB,GAAWtB,EAAOmB,CAAgB,EAG3C,GAAIR,EAAkB,OAAOX,CAAK,EAChC,OAAOuB,GAAcvB,CAAK,EAG5B,GAAIA,GAAS,KACX,MAAM,IAAI,UACR,kHAC0C,OAAOA,CACxD,EAQG,GALIwB,GAAWxB,EAAOW,CAAiB,GAClCX,GAASwB,GAAWxB,EAAM,OAAQW,CAAiB,GAIpD,OAAOC,EAA4B,MAClCY,GAAWxB,EAAOY,CAAuB,GACzCZ,GAASwB,GAAWxB,EAAM,OAAQY,CAAuB,GAC5D,OAAOa,GAAgBzB,EAAOmB,EAAkBH,CAAM,EAGxD,GAAI,OAAOhB,GAAU,SACnB,MAAM,IAAI,UACR,uEACP,EAGG,MAAM0B,EAAU1B,EAAM,SAAWA,EAAM,QAAO,EAC9C,GAAI0B,GAAW,MAAQA,IAAY1B,EACjC,OAAOO,EAAO,KAAKmB,EAASP,EAAkBH,CAAM,EAGtD,MAAMW,EAAIC,GAAW5B,CAAK,EAC1B,GAAI2B,EAAG,OAAOA,EAEd,GAAI,OAAO,OAAW,KAAe,OAAO,aAAe,MACvD,OAAO3B,EAAM,OAAO,WAAW,GAAM,WACvC,OAAOO,EAAO,KAAKP,EAAM,OAAO,WAAW,EAAE,QAAQ,EAAGmB,EAAkBH,CAAM,EAGlF,MAAM,IAAI,UACR,kHAC0C,OAAOhB,CACtD,CACA,CAUCO,EAAO,KAAO,SAAUP,EAAOmB,EAAkBH,EAAQ,CACvD,OAAOK,EAAKrB,EAAOmB,EAAkBH,CAAM,CAC9C,EAIC,OAAO,eAAeT,EAAO,UAAWG,EAAiB,SAAS,EAClE,OAAO,eAAeH,EAAQG,CAAgB,EAE9C,SAASmB,GAAYC,EAAM,CACzB,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAI,UAAU,wCAAwC,EACvD,GAAIA,EAAO,EAChB,MAAM,IAAI,WAAW,cAAgBA,EAAO,gCAAgC,CAEjF,CAEC,SAASC,GAAOD,EAAME,EAAMC,EAAU,CAEpC,OADAJ,GAAWC,CAAI,EACXA,GAAQ,EACHf,EAAae,CAAI,EAEtBE,IAAS,OAIJ,OAAOC,GAAa,SACvBlB,EAAae,CAAI,EAAE,KAAKE,EAAMC,CAAQ,EACtClB,EAAae,CAAI,EAAE,KAAKE,CAAI,EAE3BjB,EAAae,CAAI,CAC3B,CAMCvB,EAAO,MAAQ,SAAUuB,EAAME,EAAMC,EAAU,CAC7C,OAAOF,GAAMD,EAAME,EAAMC,CAAQ,CACpC,EAEC,SAASb,GAAaU,EAAM,CAC1B,OAAAD,GAAWC,CAAI,EACRf,EAAae,EAAO,EAAI,EAAII,GAAQJ,CAAI,EAAI,CAAC,CACvD,CAKCvB,EAAO,YAAc,SAAUuB,EAAM,CACnC,OAAOV,GAAYU,CAAI,CAC1B,EAICvB,EAAO,gBAAkB,SAAUuB,EAAM,CACvC,OAAOV,GAAYU,CAAI,CAC1B,EAEC,SAASR,GAAYa,EAAQF,EAAU,CAKrC,IAJI,OAAOA,GAAa,UAAYA,IAAa,MAC/CA,EAAW,QAGT,CAAC1B,EAAO,WAAW0B,CAAQ,EAC7B,MAAM,IAAI,UAAU,qBAAuBA,CAAQ,EAGrD,MAAMjB,EAAS1D,EAAW6E,EAAQF,CAAQ,EAAI,EAC9C,IAAIhB,EAAMF,EAAaC,CAAM,EAE7B,MAAMoB,EAASnB,EAAI,MAAMkB,EAAQF,CAAQ,EAEzC,OAAIG,IAAWpB,IAIbC,EAAMA,EAAI,MAAM,EAAGmB,CAAM,GAGpBnB,CACV,CAEC,SAASoB,GAAeC,EAAO,CAC7B,MAAMtB,EAASsB,EAAM,OAAS,EAAI,EAAIJ,GAAQI,EAAM,MAAM,EAAI,EACxDrB,EAAMF,EAAaC,CAAM,EAC/B,QAASnD,EAAI,EAAGA,EAAImD,EAAQnD,GAAK,EAC/BoD,EAAIpD,CAAC,EAAIyE,EAAMzE,CAAC,EAAI,IAEtB,OAAOoD,CACV,CAEC,SAASM,GAAegB,EAAW,CACjC,GAAIf,GAAWe,EAAW7B,CAAgB,EAAG,CAC3C,MAAM8B,EAAO,IAAI9B,EAAiB6B,CAAS,EAC3C,OAAOd,GAAgBe,EAAK,OAAQA,EAAK,WAAYA,EAAK,UAAU,CACzE,CACG,OAAOH,GAAcE,CAAS,CACjC,CAEC,SAASd,GAAiBa,EAAOG,EAAYzB,EAAQ,CACnD,GAAIyB,EAAa,GAAKH,EAAM,WAAaG,EACvC,MAAM,IAAI,WAAW,sCAAsC,EAG7D,GAAIH,EAAM,WAAaG,GAAczB,GAAU,GAC7C,MAAM,IAAI,WAAW,sCAAsC,EAG7D,IAAIC,EACJ,OAAIwB,IAAe,QAAazB,IAAW,OACzCC,EAAM,IAAIP,EAAiB4B,CAAK,EACvBtB,IAAW,OACpBC,EAAM,IAAIP,EAAiB4B,EAAOG,CAAU,EAE5CxB,EAAM,IAAIP,EAAiB4B,EAAOG,EAAYzB,CAAM,EAItD,OAAO,eAAeC,EAAKV,EAAO,SAAS,EAEpCU,CACV,CAEC,SAASW,GAAYc,EAAK,CACxB,GAAInC,EAAO,SAASmC,CAAG,EAAG,CACxB,MAAM5E,EAAMoE,GAAQQ,EAAI,MAAM,EAAI,EAC5BzB,EAAMF,EAAajD,CAAG,EAE5B,OAAImD,EAAI,SAAW,GAInByB,EAAI,KAAKzB,EAAK,EAAG,EAAGnD,CAAG,EAChBmD,CACZ,CAEG,GAAIyB,EAAI,SAAW,OACjB,OAAI,OAAOA,EAAI,QAAW,UAAYC,GAAYD,EAAI,MAAM,EACnD3B,EAAa,CAAC,EAEhBsB,GAAcK,CAAG,EAG1B,GAAIA,EAAI,OAAS,UAAY,MAAM,QAAQA,EAAI,IAAI,EACjD,OAAOL,GAAcK,EAAI,IAAI,CAElC,CAEC,SAASR,GAASlB,EAAQ,CAGxB,GAAIA,GAAUP,EACZ,MAAM,IAAI,WAAW,0DACaA,EAAa,SAAS,EAAE,EAAI,QAAQ,EAExE,OAAOO,EAAS,CACnB,CAEC,SAASR,GAAYQ,EAAQ,CAC3B,MAAI,CAACA,GAAUA,IACbA,EAAS,GAEJT,EAAO,MAAM,CAACS,CAAM,CAC9B,CAECT,EAAO,SAAW,SAAmBoB,EAAG,CACtC,OAAOA,GAAK,MAAQA,EAAE,YAAc,IAClCA,IAAMpB,EAAO,SAClB,EAECA,EAAO,QAAU,SAAkBqC,EAAGjB,EAAG,CAGvC,GAFIH,GAAWoB,EAAGlC,CAAgB,IAAGkC,EAAIrC,EAAO,KAAKqC,EAAGA,EAAE,OAAQA,EAAE,UAAU,GAC1EpB,GAAWG,EAAGjB,CAAgB,IAAGiB,EAAIpB,EAAO,KAAKoB,EAAGA,EAAE,OAAQA,EAAE,UAAU,GAC1E,CAACpB,EAAO,SAASqC,CAAC,GAAK,CAACrC,EAAO,SAASoB,CAAC,EAC3C,MAAM,IAAI,UACR,uEACP,EAGG,GAAIiB,IAAMjB,EAAG,MAAO,GAEpB,IAAIkB,EAAID,EAAE,OACNE,EAAInB,EAAE,OAEV,QAAS9D,EAAI,EAAGC,EAAM,KAAK,IAAI+E,EAAGC,CAAC,EAAGjF,EAAIC,EAAK,EAAED,EAC/C,GAAI+E,EAAE/E,CAAC,IAAM8D,EAAE9D,CAAC,EAAG,CACjBgF,EAAID,EAAE/E,CAAC,EACPiF,EAAInB,EAAE9D,CAAC,EACP,KACP,CAGG,OAAIgF,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACV,EAECtC,EAAO,WAAa,SAAqB0B,EAAU,CACjD,OAAQ,OAAOA,CAAQ,EAAE,YAAW,EAAE,CACpC,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,GACT,QACE,MAAO,EACd,CACA,EAEC1B,EAAO,OAAS,SAAiBwC,EAAM/B,EAAQ,CAC7C,GAAI,CAAC,MAAM,QAAQ+B,CAAI,EACrB,MAAM,IAAI,UAAU,6CAA6C,EAGnE,GAAIA,EAAK,SAAW,EAClB,OAAOxC,EAAO,MAAM,CAAC,EAGvB,IAAI1C,EACJ,GAAImD,IAAW,OAEb,IADAA,EAAS,EACJnD,EAAI,EAAGA,EAAIkF,EAAK,OAAQ,EAAElF,EAC7BmD,GAAU+B,EAAKlF,CAAC,EAAE,OAItB,MAAMT,EAASmD,EAAO,YAAYS,CAAM,EACxC,IAAIgC,EAAM,EACV,IAAKnF,EAAI,EAAGA,EAAIkF,EAAK,OAAQ,EAAElF,EAAG,CAChC,IAAIoD,EAAM8B,EAAKlF,CAAC,EAChB,GAAI2D,GAAWP,EAAKP,CAAgB,EAC9BsC,EAAM/B,EAAI,OAAS7D,EAAO,QACvBmD,EAAO,SAASU,CAAG,IAAGA,EAAMV,EAAO,KAAKU,CAAG,GAChDA,EAAI,KAAK7D,EAAQ4F,CAAG,GAEpBtC,EAAiB,UAAU,IAAI,KAC7BtD,EACA6D,EACA+B,WAGMzC,EAAO,SAASU,CAAG,EAG7BA,EAAI,KAAK7D,EAAQ4F,CAAG,MAFpB,OAAM,IAAI,UAAU,6CAA6C,EAInEA,GAAO/B,EAAI,MAChB,CACG,OAAO7D,CACV,EAEC,SAASE,EAAY6E,EAAQF,EAAU,CACrC,GAAI1B,EAAO,SAAS4B,CAAM,EACxB,OAAOA,EAAO,OAEhB,GAAIxB,EAAkB,OAAOwB,CAAM,GAAKX,GAAWW,EAAQxB,CAAiB,EAC1E,OAAOwB,EAAO,WAEhB,GAAI,OAAOA,GAAW,SACpB,MAAM,IAAI,UACR,2FACmB,OAAOA,CACjC,EAGG,MAAMrE,EAAMqE,EAAO,OACbc,EAAa,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,GAC5D,GAAI,CAACA,GAAanF,IAAQ,EAAG,MAAO,GAGpC,IAAIoF,EAAc,GAClB,OACE,OAAQjB,EAAQ,CACd,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOnE,EACT,IAAK,OACL,IAAK,QACH,OAAOqF,EAAYhB,CAAM,EAAE,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOrE,EAAM,EACf,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOsF,EAAcjB,CAAM,EAAE,OAC/B,QACE,GAAIe,EACF,OAAOD,EAAY,GAAKE,EAAYhB,CAAM,EAAE,OAE9CF,GAAY,GAAKA,GAAU,YAAW,EACtCiB,EAAc,EACvB,CAEA,CACC3C,EAAO,WAAajD,EAEpB,SAAS+F,EAAcpB,EAAUrD,EAAOC,EAAK,CAC3C,IAAIqE,EAAc,GA8BlB,IArBItE,IAAU,QAAaA,EAAQ,KACjCA,EAAQ,GAINA,EAAQ,KAAK,UAIbC,IAAQ,QAAaA,EAAM,KAAK,UAClCA,EAAM,KAAK,QAGTA,GAAO,KAKXA,KAAS,EACTD,KAAW,EAEPC,GAAOD,GACT,MAAO,GAKT,IAFKqD,IAAUA,EAAW,UAGxB,OAAQA,EAAQ,CACd,IAAK,MACH,OAAOqB,GAAS,KAAM1E,EAAOC,CAAG,EAElC,IAAK,OACL,IAAK,QACH,OAAO0E,GAAU,KAAM3E,EAAOC,CAAG,EAEnC,IAAK,QACH,OAAO2E,GAAW,KAAM5E,EAAOC,CAAG,EAEpC,IAAK,SACL,IAAK,SACH,OAAO4E,GAAY,KAAM7E,EAAOC,CAAG,EAErC,IAAK,SACH,OAAO6E,GAAY,KAAM9E,EAAOC,CAAG,EAErC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO8E,GAAa,KAAM/E,EAAOC,CAAG,EAEtC,QACE,GAAIqE,EAAa,MAAM,IAAI,UAAU,qBAAuBjB,CAAQ,EACpEA,GAAYA,EAAW,IAAI,YAAW,EACtCiB,EAAc,EACvB,CAEA,CAQC3C,EAAO,UAAU,UAAY,GAE7B,SAASqD,GAAMjC,EAAGkC,EAAGpE,EAAG,CACtB,MAAM5B,EAAI8D,EAAEkC,CAAC,EACblC,EAAEkC,CAAC,EAAIlC,EAAElC,CAAC,EACVkC,EAAElC,CAAC,EAAI5B,CACV,CAEC0C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMzC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+F,GAAK,KAAM/F,EAAGA,EAAI,CAAC,EAErB,OAAO,IACV,EAEC0C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMzC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+F,GAAK,KAAM/F,EAAGA,EAAI,CAAC,EACnB+F,GAAK,KAAM/F,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACV,EAEC0C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAMzC,EAAM,KAAK,OACjB,GAAIA,EAAM,IAAM,EACd,MAAM,IAAI,WAAW,2CAA2C,EAElE,QAASD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B+F,GAAK,KAAM/F,EAAGA,EAAI,CAAC,EACnB+F,GAAK,KAAM/F,EAAI,EAAGA,EAAI,CAAC,EACvB+F,GAAK,KAAM/F,EAAI,EAAGA,EAAI,CAAC,EACvB+F,GAAK,KAAM/F,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACV,EAEC0C,EAAO,UAAU,SAAW,UAAqB,CAC/C,MAAMS,EAAS,KAAK,OACpB,OAAIA,IAAW,EAAU,GACrB,UAAU,SAAW,EAAUuC,GAAU,KAAM,EAAGvC,CAAM,EACrDqC,EAAa,MAAM,KAAM,SAAS,CAC5C,EAEC9C,EAAO,UAAU,eAAiBA,EAAO,UAAU,SAEnDA,EAAO,UAAU,OAAS,SAAiBoB,EAAG,CAC5C,GAAI,CAACpB,EAAO,SAASoB,CAAC,EAAG,MAAM,IAAI,UAAU,2BAA2B,EACxE,OAAI,OAASA,EAAU,GAChBpB,EAAO,QAAQ,KAAMoB,CAAC,IAAM,CACtC,EAECpB,EAAO,UAAU,QAAU,UAAoB,CAC7C,IAAIuD,EAAM,GACV,MAAMC,EAAM5D,EAAQ,kBACpB,OAAA2D,EAAM,KAAK,SAAS,MAAO,EAAGC,CAAG,EAAE,QAAQ,UAAW,KAAK,EAAE,KAAI,EAC7D,KAAK,OAASA,IAAKD,GAAO,SACvB,WAAaA,EAAM,GAC7B,EACKxD,IACFC,EAAO,UAAUD,CAAmB,EAAIC,EAAO,UAAU,SAG3DA,EAAO,UAAU,QAAU,SAAkByD,EAAQpF,EAAOC,EAAKoF,EAAWC,EAAS,CAInF,GAHI1C,GAAWwC,EAAQtD,CAAgB,IACrCsD,EAASzD,EAAO,KAAKyD,EAAQA,EAAO,OAAQA,EAAO,UAAU,GAE3D,CAACzD,EAAO,SAASyD,CAAM,EACzB,MAAM,IAAI,UACR,iFACoB,OAAOA,CAClC,EAgBG,GAbIpF,IAAU,SACZA,EAAQ,GAENC,IAAQ,SACVA,EAAMmF,EAASA,EAAO,OAAS,GAE7BC,IAAc,SAChBA,EAAY,GAEVC,IAAY,SACdA,EAAU,KAAK,QAGbtF,EAAQ,GAAKC,EAAMmF,EAAO,QAAUC,EAAY,GAAKC,EAAU,KAAK,OACtE,MAAM,IAAI,WAAW,oBAAoB,EAG3C,GAAID,GAAaC,GAAWtF,GAASC,EACnC,MAAO,GAET,GAAIoF,GAAaC,EACf,MAAO,GAET,GAAItF,GAASC,EACX,MAAO,GAQT,GALAD,KAAW,EACXC,KAAS,EACToF,KAAe,EACfC,KAAa,EAET,OAASF,EAAQ,MAAO,GAE5B,IAAInB,EAAIqB,EAAUD,EACdnB,EAAIjE,EAAMD,EACd,MAAMd,EAAM,KAAK,IAAI+E,EAAGC,CAAC,EAEnBqB,EAAW,KAAK,MAAMF,EAAWC,CAAO,EACxCE,EAAaJ,EAAO,MAAMpF,EAAOC,CAAG,EAE1C,QAAShB,EAAI,EAAGA,EAAIC,EAAK,EAAED,EACzB,GAAIsG,EAAStG,CAAC,IAAMuG,EAAWvG,CAAC,EAAG,CACjCgF,EAAIsB,EAAStG,CAAC,EACdiF,EAAIsB,EAAWvG,CAAC,EAChB,KACP,CAGG,OAAIgF,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACV,EAWC,SAASwB,GAAsBjH,EAAQkH,EAAK7B,EAAYR,EAAUsC,EAAK,CAErE,GAAInH,EAAO,SAAW,EAAG,MAAO,GAmBhC,GAhBI,OAAOqF,GAAe,UACxBR,EAAWQ,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,EAAa,cACtBA,EAAa,aAEfA,EAAa,CAACA,EACVE,GAAYF,CAAU,IAExBA,EAAa8B,EAAM,EAAKnH,EAAO,OAAS,GAItCqF,EAAa,IAAGA,EAAarF,EAAO,OAASqF,GAC7CA,GAAcrF,EAAO,OAAQ,CAC/B,GAAImH,EAAK,MAAO,GACX9B,EAAarF,EAAO,OAAS,CACvC,SAAcqF,EAAa,EACtB,GAAI8B,EAAK9B,EAAa,MACjB,OAAO,GASd,GALI,OAAO6B,GAAQ,WACjBA,EAAM/D,EAAO,KAAK+D,EAAKrC,CAAQ,GAI7B1B,EAAO,SAAS+D,CAAG,EAErB,OAAIA,EAAI,SAAW,EACV,GAEFE,GAAapH,EAAQkH,EAAK7B,EAAYR,EAAUsC,CAAG,EACrD,GAAI,OAAOD,GAAQ,SAExB,OADAA,EAAMA,EAAM,IACR,OAAO5D,EAAiB,UAAU,SAAY,WAC5C6D,EACK7D,EAAiB,UAAU,QAAQ,KAAKtD,EAAQkH,EAAK7B,CAAU,EAE/D/B,EAAiB,UAAU,YAAY,KAAKtD,EAAQkH,EAAK7B,CAAU,EAGvE+B,GAAapH,EAAQ,CAACkH,CAAG,EAAG7B,EAAYR,EAAUsC,CAAG,EAG9D,MAAM,IAAI,UAAU,sCAAsC,CAC7D,CAEC,SAASC,GAAclG,EAAKgG,EAAK7B,EAAYR,EAAUsC,EAAK,CAC1D,IAAIE,EAAY,EACZC,EAAYpG,EAAI,OAChBqG,EAAYL,EAAI,OAEpB,GAAIrC,IAAa,SACfA,EAAW,OAAOA,CAAQ,EAAE,YAAW,EACnCA,IAAa,QAAUA,IAAa,SACpCA,IAAa,WAAaA,IAAa,YAAY,CACrD,GAAI3D,EAAI,OAAS,GAAKgG,EAAI,OAAS,EACjC,MAAO,GAETG,EAAY,EACZC,GAAa,EACbC,GAAa,EACblC,GAAc,CACrB,CAGG,SAASmC,EAAM3D,EAAKpD,EAAG,CACrB,OAAI4G,IAAc,EACTxD,EAAIpD,CAAC,EAELoD,EAAI,aAAapD,EAAI4G,CAAS,CAE5C,CAEG,IAAI5G,EACJ,GAAI0G,EAAK,CACP,IAAIM,EAAa,GACjB,IAAKhH,EAAI4E,EAAY5E,EAAI6G,EAAW7G,IAClC,GAAI+G,EAAKtG,EAAKT,CAAC,IAAM+G,EAAKN,EAAKO,IAAe,GAAK,EAAIhH,EAAIgH,CAAU,GAEnE,GADIA,IAAe,KAAIA,EAAahH,GAChCA,EAAIgH,EAAa,IAAMF,EAAW,OAAOE,EAAaJ,OAEtDI,IAAe,KAAIhH,GAAKA,EAAIgH,GAChCA,EAAa,EAGtB,KAEK,KADIpC,EAAakC,EAAYD,IAAWjC,EAAaiC,EAAYC,GAC5D9G,EAAI4E,EAAY5E,GAAK,EAAGA,IAAK,CAChC,IAAIiH,EAAQ,GACZ,QAASC,EAAI,EAAGA,EAAIJ,EAAWI,IAC7B,GAAIH,EAAKtG,EAAKT,EAAIkH,CAAC,IAAMH,EAAKN,EAAKS,CAAC,EAAG,CACrCD,EAAQ,GACR,KACX,CAEO,GAAIA,EAAO,OAAOjH,CACzB,CAGG,MAAO,EACV,CAEC0C,EAAO,UAAU,SAAW,SAAmB+D,EAAK7B,EAAYR,EAAU,CACxE,OAAO,KAAK,QAAQqC,EAAK7B,EAAYR,CAAQ,IAAM,EACtD,EAEC1B,EAAO,UAAU,QAAU,SAAkB+D,EAAK7B,EAAYR,EAAU,CACtE,OAAOoC,GAAqB,KAAMC,EAAK7B,EAAYR,EAAU,EAAI,CACpE,EAEC1B,EAAO,UAAU,YAAc,SAAsB+D,EAAK7B,EAAYR,EAAU,CAC9E,OAAOoC,GAAqB,KAAMC,EAAK7B,EAAYR,EAAU,EAAK,CACrE,EAEC,SAAS+C,GAAU/D,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CAC9C5B,EAAS,OAAOA,CAAM,GAAK,EAC3B,MAAM6F,EAAYhE,EAAI,OAAS7B,EAC1B4B,GAGHA,EAAS,OAAOA,CAAM,EAClBA,EAASiE,IACXjE,EAASiE,IAJXjE,EAASiE,EAQX,MAAMC,EAAS/C,EAAO,OAElBnB,EAASkE,EAAS,IACpBlE,EAASkE,EAAS,GAEpB,IAAIrH,EACJ,IAAKA,EAAI,EAAGA,EAAImD,EAAQ,EAAEnD,EAAG,CAC3B,MAAMsH,EAAS,SAAShD,EAAO,OAAOtE,EAAI,EAAG,CAAC,EAAG,EAAE,EACnD,GAAI8E,GAAYwC,CAAM,EAAG,OAAOtH,EAChCoD,EAAI7B,EAASvB,CAAC,EAAIsH,CACvB,CACG,OAAOtH,CACV,CAEC,SAASuH,GAAWnE,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CAC/C,OAAOqE,GAAWlC,EAAYhB,EAAQlB,EAAI,OAAS7B,CAAM,EAAG6B,EAAK7B,EAAQ4B,CAAM,CAClF,CAEC,SAASsE,GAAYrE,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CAChD,OAAOqE,GAAWE,EAAapD,CAAM,EAAGlB,EAAK7B,EAAQ4B,CAAM,CAC9D,CAEC,SAASwE,GAAavE,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CACjD,OAAOqE,GAAWjC,EAAcjB,CAAM,EAAGlB,EAAK7B,EAAQ4B,CAAM,CAC/D,CAEC,SAASyE,GAAWxE,EAAKkB,EAAQ/C,EAAQ4B,EAAQ,CAC/C,OAAOqE,GAAWK,EAAevD,EAAQlB,EAAI,OAAS7B,CAAM,EAAG6B,EAAK7B,EAAQ4B,CAAM,CACrF,CAECT,EAAO,UAAU,MAAQ,SAAgB4B,EAAQ/C,EAAQ4B,EAAQiB,EAAU,CAEzE,GAAI7C,IAAW,OACb6C,EAAW,OACXjB,EAAS,KAAK,OACd5B,EAAS,UAEA4B,IAAW,QAAa,OAAO5B,GAAW,SACnD6C,EAAW7C,EACX4B,EAAS,KAAK,OACd5B,EAAS,UAEA,SAASA,CAAM,EACxBA,EAASA,IAAW,EAChB,SAAS4B,CAAM,GACjBA,EAASA,IAAW,EAChBiB,IAAa,SAAWA,EAAW,UAEvCA,EAAWjB,EACXA,EAAS,YAGX,OAAM,IAAI,MACR,yEACP,EAGG,MAAMiE,EAAY,KAAK,OAAS7F,EAGhC,IAFI4B,IAAW,QAAaA,EAASiE,KAAWjE,EAASiE,GAEpD9C,EAAO,OAAS,IAAMnB,EAAS,GAAK5B,EAAS,IAAOA,EAAS,KAAK,OACrE,MAAM,IAAI,WAAW,wCAAwC,EAG1D6C,IAAUA,EAAW,QAE1B,IAAIiB,EAAc,GAClB,OACE,OAAQjB,EAAQ,CACd,IAAK,MACH,OAAO+C,GAAS,KAAM7C,EAAQ/C,EAAQ4B,CAAM,EAE9C,IAAK,OACL,IAAK,QACH,OAAOoE,GAAU,KAAMjD,EAAQ/C,EAAQ4B,CAAM,EAE/C,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOsE,GAAW,KAAMnD,EAAQ/C,EAAQ4B,CAAM,EAEhD,IAAK,SAEH,OAAOwE,GAAY,KAAMrD,EAAQ/C,EAAQ4B,CAAM,EAEjD,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOyE,GAAU,KAAMtD,EAAQ/C,EAAQ4B,CAAM,EAE/C,QACE,GAAIkC,EAAa,MAAM,IAAI,UAAU,qBAAuBjB,CAAQ,EACpEA,GAAY,GAAKA,GAAU,YAAW,EACtCiB,EAAc,EACvB,CAEA,EAEC3C,EAAO,UAAU,OAAS,UAAmB,CAC3C,MAAO,CACL,KAAM,SACN,KAAM,MAAM,UAAU,MAAM,KAAK,KAAK,MAAQ,KAAM,CAAC,CAC1D,CACA,EAEC,SAASmD,GAAazC,EAAKrC,EAAOC,EAAK,CACrC,OAAID,IAAU,GAAKC,IAAQoC,EAAI,OACtBb,EAAO,cAAca,CAAG,EAExBb,EAAO,cAAca,EAAI,MAAMrC,EAAOC,CAAG,CAAC,CAEtD,CAEC,SAAS0E,GAAWtC,EAAKrC,EAAOC,EAAK,CACnCA,EAAM,KAAK,IAAIoC,EAAI,OAAQpC,CAAG,EAC9B,MAAM8G,EAAM,CAAA,EAEZ,IAAI9H,EAAIe,EACR,KAAOf,EAAIgB,GAAK,CACd,MAAM+G,EAAY3E,EAAIpD,CAAC,EACvB,IAAIgI,EAAY,KACZC,EAAoBF,EAAY,IAChC,EACCA,EAAY,IACT,EACCA,EAAY,IACT,EACA,EAEZ,GAAI/H,EAAIiI,GAAoBjH,EAAK,CAC/B,IAAIkH,EAAYC,EAAWC,EAAYC,EAEvC,OAAQJ,EAAgB,CACtB,IAAK,GACCF,EAAY,MACdC,EAAYD,GAEd,MACF,IAAK,GACHG,EAAa9E,EAAIpD,EAAI,CAAC,GACjBkI,EAAa,OAAU,MAC1BG,GAAiBN,EAAY,KAAS,EAAOG,EAAa,GACtDG,EAAgB,MAClBL,EAAYK,IAGhB,MACF,IAAK,GACHH,EAAa9E,EAAIpD,EAAI,CAAC,EACtBmI,EAAY/E,EAAIpD,EAAI,CAAC,GAChBkI,EAAa,OAAU,MAASC,EAAY,OAAU,MACzDE,GAAiBN,EAAY,KAAQ,IAAOG,EAAa,KAAS,EAAOC,EAAY,GACjFE,EAAgB,OAAUA,EAAgB,OAAUA,EAAgB,SACtEL,EAAYK,IAGhB,MACF,IAAK,GACHH,EAAa9E,EAAIpD,EAAI,CAAC,EACtBmI,EAAY/E,EAAIpD,EAAI,CAAC,EACrBoI,EAAahF,EAAIpD,EAAI,CAAC,GACjBkI,EAAa,OAAU,MAASC,EAAY,OAAU,MAASC,EAAa,OAAU,MACzFC,GAAiBN,EAAY,KAAQ,IAAQG,EAAa,KAAS,IAAOC,EAAY,KAAS,EAAOC,EAAa,GAC/GC,EAAgB,OAAUA,EAAgB,UAC5CL,EAAYK,GAG3B,CACA,CAESL,IAAc,MAGhBA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbF,EAAI,KAAKE,IAAc,GAAK,KAAQ,KAAM,EAC1CA,EAAY,MAASA,EAAY,MAGnCF,EAAI,KAAKE,CAAS,EAClBhI,GAAKiI,CACV,CAEG,OAAOK,GAAsBR,CAAG,CACnC,CAKC,MAAMS,GAAuB,KAE7B,SAASD,GAAuBE,EAAY,CAC1C,MAAMvI,EAAMuI,EAAW,OACvB,GAAIvI,GAAOsI,GACT,OAAO,OAAO,aAAa,MAAM,OAAQC,CAAU,EAIrD,IAAIV,EAAM,GACN9H,EAAI,EACR,KAAOA,EAAIC,GACT6H,GAAO,OAAO,aAAa,MACzB,OACAU,EAAW,MAAMxI,EAAGA,GAAKuI,EAAoB,GAGjD,OAAOT,CACV,CAEC,SAASnC,GAAYvC,EAAKrC,EAAOC,EAAK,CACpC,IAAIyH,EAAM,GACVzH,EAAM,KAAK,IAAIoC,EAAI,OAAQpC,CAAG,EAE9B,QAAShB,EAAIe,EAAOf,EAAIgB,EAAK,EAAEhB,EAC7ByI,GAAO,OAAO,aAAarF,EAAIpD,CAAC,EAAI,GAAI,EAE1C,OAAOyI,CACV,CAEC,SAAS7C,GAAaxC,EAAKrC,EAAOC,EAAK,CACrC,IAAIyH,EAAM,GACVzH,EAAM,KAAK,IAAIoC,EAAI,OAAQpC,CAAG,EAE9B,QAAShB,EAAIe,EAAOf,EAAIgB,EAAK,EAAEhB,EAC7ByI,GAAO,OAAO,aAAarF,EAAIpD,CAAC,CAAC,EAEnC,OAAOyI,CACV,CAEC,SAAShD,GAAUrC,EAAKrC,EAAOC,EAAK,CAClC,MAAMf,EAAMmD,EAAI,QAEZ,CAACrC,GAASA,EAAQ,KAAGA,EAAQ,IAC7B,CAACC,GAAOA,EAAM,GAAKA,EAAMf,KAAKe,EAAMf,GAExC,IAAIyI,EAAM,GACV,QAAS1I,EAAIe,EAAOf,EAAIgB,EAAK,EAAEhB,EAC7B0I,GAAOC,GAAoBvF,EAAIpD,CAAC,CAAC,EAEnC,OAAO0I,CACV,CAEC,SAAS5C,GAAc1C,EAAKrC,EAAOC,EAAK,CACtC,MAAM4H,EAAQxF,EAAI,MAAMrC,EAAOC,CAAG,EAClC,IAAI8G,EAAM,GAEV,QAAS9H,EAAI,EAAGA,EAAI4I,EAAM,OAAS,EAAG5I,GAAK,EACzC8H,GAAO,OAAO,aAAac,EAAM5I,CAAC,EAAK4I,EAAM5I,EAAI,CAAC,EAAI,GAAI,EAE5D,OAAO8H,CACV,CAECpF,EAAO,UAAU,MAAQ,SAAgB3B,EAAOC,EAAK,CACnD,MAAMf,EAAM,KAAK,OACjBc,EAAQ,CAAC,CAACA,EACVC,EAAMA,IAAQ,OAAYf,EAAM,CAAC,CAACe,EAE9BD,EAAQ,GACVA,GAASd,EACLc,EAAQ,IAAGA,EAAQ,IACdA,EAAQd,IACjBc,EAAQd,GAGNe,EAAM,GACRA,GAAOf,EACHe,EAAM,IAAGA,EAAM,IACVA,EAAMf,IACfe,EAAMf,GAGJe,EAAMD,IAAOC,EAAMD,GAEvB,MAAM8H,EAAS,KAAK,SAAS9H,EAAOC,CAAG,EAEvC,OAAA,OAAO,eAAe6H,EAAQnG,EAAO,SAAS,EAEvCmG,CACV,EAKC,SAASC,EAAavH,EAAQwH,EAAK5F,EAAQ,CACzC,GAAK5B,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI,WAAW,oBAAoB,EAC/E,GAAIA,EAASwH,EAAM5F,EAAQ,MAAM,IAAI,WAAW,uCAAuC,CAC1F,CAECT,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBnB,EAAQ9B,EAAYuJ,EAAU,CAC/EzH,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACvBuJ,GAAUF,EAAYvH,EAAQ9B,EAAY,KAAK,MAAM,EAE1D,IAAIgH,EAAM,KAAKlF,CAAM,EACjB0H,EAAM,EACNjJ,EAAI,EACR,KAAO,EAAEA,EAAIP,IAAewJ,GAAO,MACjCxC,GAAO,KAAKlF,EAASvB,CAAC,EAAIiJ,EAG5B,OAAOxC,CACV,EAEC/D,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBnB,EAAQ9B,EAAYuJ,EAAU,CAC/EzH,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACvBuJ,GACHF,EAAYvH,EAAQ9B,EAAY,KAAK,MAAM,EAG7C,IAAIgH,EAAM,KAAKlF,EAAS,EAAE9B,CAAU,EAChCwJ,EAAM,EACV,KAAOxJ,EAAa,IAAMwJ,GAAO,MAC/BxC,GAAO,KAAKlF,EAAS,EAAE9B,CAAU,EAAIwJ,EAGvC,OAAOxC,CACV,EAEC/D,EAAO,UAAU,UACjBA,EAAO,UAAU,UAAY,SAAoBnB,EAAQyH,EAAU,CACjE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1C,KAAKA,CAAM,CACrB,EAECmB,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1C,KAAKA,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,CAC9C,EAECmB,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EACzC,KAAKA,CAAM,GAAK,EAAK,KAAKA,EAAS,CAAC,CAC/C,EAECmB,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,GAExC,KAAKA,CAAM,EACf,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,IACpB,KAAKA,EAAS,CAAC,EAAI,QAC3B,EAECmB,EAAO,UAAU,aACjBA,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,EAAI,UACnB,KAAKA,EAAS,CAAC,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,EACrB,KAAKA,EAAS,CAAC,EACpB,EAECmB,EAAO,UAAU,gBAAkBwG,GAAmB,SAA0B3H,EAAQ,CACtFA,EAASA,IAAW,EACpB4H,EAAe5H,EAAQ,QAAQ,EAC/B,MAAM6H,EAAQ,KAAK7H,CAAM,EACnB8H,EAAO,KAAK9H,EAAS,CAAC,GACxB6H,IAAU,QAAaC,IAAS,SAClCC,EAAY/H,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMgI,EAAKH,EACT,KAAK,EAAE7H,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GAElBiI,EAAK,KAAK,EAAEjI,CAAM,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB8H,EAAO,GAAK,GAEd,OAAO,OAAOE,CAAE,GAAK,OAAOC,CAAE,GAAK,OAAO,EAAE,EAC/C,CAAE,EAED9G,EAAO,UAAU,gBAAkBwG,GAAmB,SAA0B3H,EAAQ,CACtFA,EAASA,IAAW,EACpB4H,EAAe5H,EAAQ,QAAQ,EAC/B,MAAM6H,EAAQ,KAAK7H,CAAM,EACnB8H,EAAO,KAAK9H,EAAS,CAAC,GACxB6H,IAAU,QAAaC,IAAS,SAClCC,EAAY/H,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMiI,EAAKJ,EAAQ,GAAK,GACtB,KAAK,EAAE7H,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAETgI,EAAK,KAAK,EAAEhI,CAAM,EAAI,GAAK,GAC/B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB8H,EAEF,OAAQ,OAAOG,CAAE,GAAK,OAAO,EAAE,GAAK,OAAOD,CAAE,CAChD,CAAE,EAED7G,EAAO,UAAU,UAAY,SAAoBnB,EAAQ9B,EAAYuJ,EAAU,CAC7EzH,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACvBuJ,GAAUF,EAAYvH,EAAQ9B,EAAY,KAAK,MAAM,EAE1D,IAAIgH,EAAM,KAAKlF,CAAM,EACjB0H,EAAM,EACNjJ,EAAI,EACR,KAAO,EAAEA,EAAIP,IAAewJ,GAAO,MACjCxC,GAAO,KAAKlF,EAASvB,CAAC,EAAIiJ,EAE5B,OAAAA,GAAO,IAEHxC,GAAOwC,IAAKxC,GAAO,KAAK,IAAI,EAAG,EAAIhH,CAAU,GAE1CgH,CACV,EAEC/D,EAAO,UAAU,UAAY,SAAoBnB,EAAQ9B,EAAYuJ,EAAU,CAC7EzH,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACvBuJ,GAAUF,EAAYvH,EAAQ9B,EAAY,KAAK,MAAM,EAE1D,IAAIO,EAAIP,EACJwJ,EAAM,EACNxC,EAAM,KAAKlF,EAAS,EAAEvB,CAAC,EAC3B,KAAOA,EAAI,IAAMiJ,GAAO,MACtBxC,GAAO,KAAKlF,EAAS,EAAEvB,CAAC,EAAIiJ,EAE9B,OAAAA,GAAO,IAEHxC,GAAOwC,IAAKxC,GAAO,KAAK,IAAI,EAAG,EAAIhH,CAAU,GAE1CgH,CACV,EAEC/D,EAAO,UAAU,SAAW,SAAmBnB,EAAQyH,EAAU,CAG/D,OAFAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC3C,KAAKA,CAAM,EAAI,KACZ,IAAO,KAAKA,CAAM,EAAI,GAAK,GADA,KAAKA,CAAM,CAElD,EAECmB,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrEzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EACjD,MAAMkF,EAAM,KAAKlF,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,EAChD,OAAQkF,EAAM,MAAUA,EAAM,WAAaA,CAC9C,EAEC/D,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrEzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EACjD,MAAMkF,EAAM,KAAKlF,EAAS,CAAC,EAAK,KAAKA,CAAM,GAAK,EAChD,OAAQkF,EAAM,MAAUA,EAAM,WAAaA,CAC9C,EAEC/D,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,EAChB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EAC1B,EAECmB,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAEzC,KAAKA,CAAM,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,CACrB,EAECmB,EAAO,UAAU,eAAiBwG,GAAmB,SAAyB3H,EAAQ,CACpFA,EAASA,IAAW,EACpB4H,EAAe5H,EAAQ,QAAQ,EAC/B,MAAM6H,EAAQ,KAAK7H,CAAM,EACnB8H,EAAO,KAAK9H,EAAS,CAAC,GACxB6H,IAAU,QAAaC,IAAS,SAClCC,EAAY/H,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMkF,EAAM,KAAKlF,EAAS,CAAC,EACzB,KAAKA,EAAS,CAAC,EAAI,GAAK,EACxB,KAAKA,EAAS,CAAC,EAAI,GAAK,IACvB8H,GAAQ,IAEX,OAAQ,OAAO5C,CAAG,GAAK,OAAO,EAAE,GAC9B,OAAO2C,EACP,KAAK,EAAE7H,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EAAE,CAC7B,CAAE,EAEDmB,EAAO,UAAU,eAAiBwG,GAAmB,SAAyB3H,EAAQ,CACpFA,EAASA,IAAW,EACpB4H,EAAe5H,EAAQ,QAAQ,EAC/B,MAAM6H,EAAQ,KAAK7H,CAAM,EACnB8H,EAAO,KAAK9H,EAAS,CAAC,GACxB6H,IAAU,QAAaC,IAAS,SAClCC,EAAY/H,EAAQ,KAAK,OAAS,CAAC,EAGrC,MAAMkF,GAAO2C,GAAS,IACpB,KAAK,EAAE7H,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAEf,OAAQ,OAAOkF,CAAG,GAAK,OAAO,EAAE,GAC9B,OAAO,KAAK,EAAElF,CAAM,EAAI,GAAK,GAC7B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB8H,CAAI,CACT,CAAE,EAED3G,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1CiB,EAAU,KAAK,KAAMjB,EAAQ,GAAM,GAAI,CAAC,CAClD,EAECmB,EAAO,UAAU,YAAc,SAAsBnB,EAAQyH,EAAU,CACrE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1CiB,EAAU,KAAK,KAAMjB,EAAQ,GAAO,GAAI,CAAC,CACnD,EAECmB,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1CiB,EAAU,KAAK,KAAMjB,EAAQ,GAAM,GAAI,CAAC,CAClD,EAECmB,EAAO,UAAU,aAAe,SAAuBnB,EAAQyH,EAAU,CACvE,OAAAzH,EAASA,IAAW,EACfyH,GAAUF,EAAYvH,EAAQ,EAAG,KAAK,MAAM,EAC1CiB,EAAU,KAAK,KAAMjB,EAAQ,GAAO,GAAI,CAAC,CACnD,EAEC,SAASkI,EAAUrG,EAAKjB,EAAOZ,EAAQwH,EAAK7C,EAAKwD,EAAK,CACpD,GAAI,CAAChH,EAAO,SAASU,CAAG,EAAG,MAAM,IAAI,UAAU,6CAA6C,EAC5F,GAAIjB,EAAQ+D,GAAO/D,EAAQuH,EAAK,MAAM,IAAI,WAAW,mCAAmC,EACxF,GAAInI,EAASwH,EAAM3F,EAAI,OAAQ,MAAM,IAAI,WAAW,oBAAoB,CAC3E,CAECV,EAAO,UAAU,YACjBA,EAAO,UAAU,YAAc,SAAsBP,EAAOZ,EAAQ9B,EAAYuJ,EAAU,CAIxF,GAHA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACxB,CAACuJ,EAAU,CACb,MAAMW,EAAW,KAAK,IAAI,EAAG,EAAIlK,CAAU,EAAI,EAC/CgK,EAAS,KAAMtH,EAAOZ,EAAQ9B,EAAYkK,EAAU,CAAC,CAC1D,CAEG,IAAIV,EAAM,EACNjJ,EAAI,EAER,IADA,KAAKuB,CAAM,EAAIY,EAAQ,IAChB,EAAEnC,EAAIP,IAAewJ,GAAO,MACjC,KAAK1H,EAASvB,CAAC,EAAKmC,EAAQ8G,EAAO,IAGrC,OAAO1H,EAAS9B,CACnB,EAECiD,EAAO,UAAU,YACjBA,EAAO,UAAU,YAAc,SAAsBP,EAAOZ,EAAQ9B,EAAYuJ,EAAU,CAIxF,GAHA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACpB9B,EAAaA,IAAe,EACxB,CAACuJ,EAAU,CACb,MAAMW,EAAW,KAAK,IAAI,EAAG,EAAIlK,CAAU,EAAI,EAC/CgK,EAAS,KAAMtH,EAAOZ,EAAQ9B,EAAYkK,EAAU,CAAC,CAC1D,CAEG,IAAI3J,EAAIP,EAAa,EACjBwJ,EAAM,EAEV,IADA,KAAK1H,EAASvB,CAAC,EAAImC,EAAQ,IACpB,EAAEnC,GAAK,IAAMiJ,GAAO,MACzB,KAAK1H,EAASvB,CAAC,EAAKmC,EAAQ8G,EAAO,IAGrC,OAAO1H,EAAS9B,CACnB,EAECiD,EAAO,UAAU,WACjBA,EAAO,UAAU,WAAa,SAAqBP,EAAOZ,EAAQyH,EAAU,CAC1E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,IAAM,CAAC,EACvD,KAAKA,CAAM,EAAKY,EAAQ,IACjBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAKY,EAAQ,IACxB,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EACvBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAKY,IAAU,EAC1B,KAAKZ,EAAS,CAAC,EAAKY,EAAQ,IACrBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EAC9B,KAAKZ,CAAM,EAAKY,EAAQ,IACjBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,cACjBA,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,CAAM,EAAKY,IAAU,GAC1B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EAC9B,KAAKZ,EAAS,CAAC,EAAKY,EAAQ,IACrBZ,EAAS,CACnB,EAEC,SAASqI,GAAgBxG,EAAKjB,EAAOZ,EAAQmI,EAAKxD,EAAK,CACrD2D,EAAW1H,EAAOuH,EAAKxD,EAAK9C,EAAK7B,EAAQ,CAAC,EAE1C,IAAIgI,EAAK,OAAOpH,EAAQ,OAAO,UAAU,CAAC,EAC1CiB,EAAI7B,GAAQ,EAAIgI,EAChBA,EAAKA,GAAM,EACXnG,EAAI7B,GAAQ,EAAIgI,EAChBA,EAAKA,GAAM,EACXnG,EAAI7B,GAAQ,EAAIgI,EAChBA,EAAKA,GAAM,EACXnG,EAAI7B,GAAQ,EAAIgI,EAChB,IAAIC,EAAK,OAAOrH,GAAS,OAAO,EAAE,EAAI,OAAO,UAAU,CAAC,EACxD,OAAAiB,EAAI7B,GAAQ,EAAIiI,EAChBA,EAAKA,GAAM,EACXpG,EAAI7B,GAAQ,EAAIiI,EAChBA,EAAKA,GAAM,EACXpG,EAAI7B,GAAQ,EAAIiI,EAChBA,EAAKA,GAAM,EACXpG,EAAI7B,GAAQ,EAAIiI,EACTjI,CACV,CAEC,SAASuI,GAAgB1G,EAAKjB,EAAOZ,EAAQmI,EAAKxD,EAAK,CACrD2D,EAAW1H,EAAOuH,EAAKxD,EAAK9C,EAAK7B,EAAQ,CAAC,EAE1C,IAAIgI,EAAK,OAAOpH,EAAQ,OAAO,UAAU,CAAC,EAC1CiB,EAAI7B,EAAS,CAAC,EAAIgI,EAClBA,EAAKA,GAAM,EACXnG,EAAI7B,EAAS,CAAC,EAAIgI,EAClBA,EAAKA,GAAM,EACXnG,EAAI7B,EAAS,CAAC,EAAIgI,EAClBA,EAAKA,GAAM,EACXnG,EAAI7B,EAAS,CAAC,EAAIgI,EAClB,IAAIC,EAAK,OAAOrH,GAAS,OAAO,EAAE,EAAI,OAAO,UAAU,CAAC,EACxD,OAAAiB,EAAI7B,EAAS,CAAC,EAAIiI,EAClBA,EAAKA,GAAM,EACXpG,EAAI7B,EAAS,CAAC,EAAIiI,EAClBA,EAAKA,GAAM,EACXpG,EAAI7B,EAAS,CAAC,EAAIiI,EAClBA,EAAKA,GAAM,EACXpG,EAAI7B,CAAM,EAAIiI,EACPjI,EAAS,CACnB,CAECmB,EAAO,UAAU,iBAAmBwG,GAAmB,SAA2B/G,EAAOZ,EAAS,EAAG,CACnG,OAAOqI,GAAe,KAAMzH,EAAOZ,EAAQ,OAAO,CAAC,EAAG,OAAO,oBAAoB,CAAC,CACrF,CAAE,EAEDmB,EAAO,UAAU,iBAAmBwG,GAAmB,SAA2B/G,EAAOZ,EAAS,EAAG,CACnG,OAAOuI,GAAe,KAAM3H,EAAOZ,EAAQ,OAAO,CAAC,EAAG,OAAO,oBAAoB,CAAC,CACrF,CAAE,EAEDmB,EAAO,UAAU,WAAa,SAAqBP,EAAOZ,EAAQ9B,EAAYuJ,EAAU,CAGtF,GAFA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EAChB,CAACyH,EAAU,CACb,MAAMe,EAAQ,KAAK,IAAI,EAAI,EAAItK,EAAc,CAAC,EAE9CgK,EAAS,KAAMtH,EAAOZ,EAAQ9B,EAAYsK,EAAQ,EAAG,CAACA,CAAK,CAChE,CAEG,IAAI/J,EAAI,EACJiJ,EAAM,EACNe,EAAM,EAEV,IADA,KAAKzI,CAAM,EAAIY,EAAQ,IAChB,EAAEnC,EAAIP,IAAewJ,GAAO,MAC7B9G,EAAQ,GAAK6H,IAAQ,GAAK,KAAKzI,EAASvB,EAAI,CAAC,IAAM,IACrDgK,EAAM,GAER,KAAKzI,EAASvB,CAAC,GAAMmC,EAAQ8G,GAAQ,GAAKe,EAAM,IAGlD,OAAOzI,EAAS9B,CACnB,EAECiD,EAAO,UAAU,WAAa,SAAqBP,EAAOZ,EAAQ9B,EAAYuJ,EAAU,CAGtF,GAFA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EAChB,CAACyH,EAAU,CACb,MAAMe,EAAQ,KAAK,IAAI,EAAI,EAAItK,EAAc,CAAC,EAE9CgK,EAAS,KAAMtH,EAAOZ,EAAQ9B,EAAYsK,EAAQ,EAAG,CAACA,CAAK,CAChE,CAEG,IAAI/J,EAAIP,EAAa,EACjBwJ,EAAM,EACNe,EAAM,EAEV,IADA,KAAKzI,EAASvB,CAAC,EAAImC,EAAQ,IACpB,EAAEnC,GAAK,IAAMiJ,GAAO,MACrB9G,EAAQ,GAAK6H,IAAQ,GAAK,KAAKzI,EAASvB,EAAI,CAAC,IAAM,IACrDgK,EAAM,GAER,KAAKzI,EAASvB,CAAC,GAAMmC,EAAQ8G,GAAQ,GAAKe,EAAM,IAGlD,OAAOzI,EAAS9B,CACnB,EAECiD,EAAO,UAAU,UAAY,SAAoBP,EAAOZ,EAAQyH,EAAU,CACxE,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,IAAM,IAAK,EACvDY,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC,KAAKZ,CAAM,EAAKY,EAAQ,IACjBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAKY,EAAQ,IACxB,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EACvBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAKY,IAAU,EAC1B,KAAKZ,EAAS,CAAC,EAAKY,EAAQ,IACrBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,WAAY,WAAW,EACvE,KAAKA,CAAM,EAAKY,EAAQ,IACxB,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GACvBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GAAUS,EAAS,KAAMtH,EAAOZ,EAAQ,EAAG,WAAY,WAAW,EACnEY,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,KAAKZ,CAAM,EAAKY,IAAU,GAC1B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,GAC9B,KAAKZ,EAAS,CAAC,EAAKY,IAAU,EAC9B,KAAKZ,EAAS,CAAC,EAAKY,EAAQ,IACrBZ,EAAS,CACnB,EAECmB,EAAO,UAAU,gBAAkBwG,GAAmB,SAA0B/G,EAAOZ,EAAS,EAAG,CACjG,OAAOqI,GAAe,KAAMzH,EAAOZ,EAAQ,CAAC,OAAO,oBAAoB,EAAG,OAAO,oBAAoB,CAAC,CACzG,CAAE,EAEDmB,EAAO,UAAU,gBAAkBwG,GAAmB,SAA0B/G,EAAOZ,EAAS,EAAG,CACjG,OAAOuI,GAAe,KAAM3H,EAAOZ,EAAQ,CAAC,OAAO,oBAAoB,EAAG,OAAO,oBAAoB,CAAC,CACzG,CAAE,EAED,SAAS0I,GAAc7G,EAAKjB,EAAOZ,EAAQwH,EAAK7C,EAAKwD,EAAK,CACxD,GAAInI,EAASwH,EAAM3F,EAAI,OAAQ,MAAM,IAAI,WAAW,oBAAoB,EACxE,GAAI7B,EAAS,EAAG,MAAM,IAAI,WAAW,oBAAoB,CAC5D,CAEC,SAAS2I,GAAY9G,EAAKjB,EAAOZ,EAAQ4I,EAAcnB,EAAU,CAC/D,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GACHiB,GAAa7G,EAAKjB,EAAOZ,EAAQ,CAAC,EAEpCiB,EAAU,MAAMY,EAAKjB,EAAOZ,EAAQ4I,EAAc,GAAI,CAAC,EAChD5I,EAAS,CACnB,CAECmB,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAOkB,GAAW,KAAM/H,EAAOZ,EAAQ,GAAMyH,CAAQ,CACxD,EAECtG,EAAO,UAAU,aAAe,SAAuBP,EAAOZ,EAAQyH,EAAU,CAC9E,OAAOkB,GAAW,KAAM/H,EAAOZ,EAAQ,GAAOyH,CAAQ,CACzD,EAEC,SAASoB,GAAahH,EAAKjB,EAAOZ,EAAQ4I,EAAcnB,EAAU,CAChE,OAAA7G,EAAQ,CAACA,EACTZ,EAASA,IAAW,EACfyH,GACHiB,GAAa7G,EAAKjB,EAAOZ,EAAQ,CAAC,EAEpCiB,EAAU,MAAMY,EAAKjB,EAAOZ,EAAQ4I,EAAc,GAAI,CAAC,EAChD5I,EAAS,CACnB,CAECmB,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAOoB,GAAY,KAAMjI,EAAOZ,EAAQ,GAAMyH,CAAQ,CACzD,EAECtG,EAAO,UAAU,cAAgB,SAAwBP,EAAOZ,EAAQyH,EAAU,CAChF,OAAOoB,GAAY,KAAMjI,EAAOZ,EAAQ,GAAOyH,CAAQ,CAC1D,EAGCtG,EAAO,UAAU,KAAO,SAAeyD,EAAQkE,EAAatJ,EAAOC,EAAK,CACtE,GAAI,CAAC0B,EAAO,SAASyD,CAAM,EAAG,MAAM,IAAI,UAAU,6BAA6B,EAS/E,GARKpF,IAAOA,EAAQ,GAChB,CAACC,GAAOA,IAAQ,IAAGA,EAAM,KAAK,QAC9BqJ,GAAelE,EAAO,SAAQkE,EAAclE,EAAO,QAClDkE,IAAaA,EAAc,GAC5BrJ,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,GACRoF,EAAO,SAAW,GAAK,KAAK,SAAW,EAAG,MAAO,GAGrD,GAAIkE,EAAc,EAChB,MAAM,IAAI,WAAW,2BAA2B,EAElD,GAAItJ,EAAQ,GAAKA,GAAS,KAAK,OAAQ,MAAM,IAAI,WAAW,oBAAoB,EAChF,GAAIC,EAAM,EAAG,MAAM,IAAI,WAAW,yBAAyB,EAGvDA,EAAM,KAAK,SAAQA,EAAM,KAAK,QAC9BmF,EAAO,OAASkE,EAAcrJ,EAAMD,IACtCC,EAAMmF,EAAO,OAASkE,EAActJ,GAGtC,MAAMd,EAAMe,EAAMD,EAElB,OAAI,OAASoF,GAAU,OAAOtD,EAAiB,UAAU,YAAe,WAEtE,KAAK,WAAWwH,EAAatJ,EAAOC,CAAG,EAEvC6B,EAAiB,UAAU,IAAI,KAC7BsD,EACA,KAAK,SAASpF,EAAOC,CAAG,EACxBqJ,GAIGpK,CACV,EAMCyC,EAAO,UAAU,KAAO,SAAe+D,EAAK1F,EAAOC,EAAKoD,EAAU,CAEhE,GAAI,OAAOqC,GAAQ,SAAU,CAS3B,GARI,OAAO1F,GAAU,UACnBqD,EAAWrD,EACXA,EAAQ,EACRC,EAAM,KAAK,QACF,OAAOA,GAAQ,WACxBoD,EAAWpD,EACXA,EAAM,KAAK,QAEToD,IAAa,QAAa,OAAOA,GAAa,SAChD,MAAM,IAAI,UAAU,2BAA2B,EAEjD,GAAI,OAAOA,GAAa,UAAY,CAAC1B,EAAO,WAAW0B,CAAQ,EAC7D,MAAM,IAAI,UAAU,qBAAuBA,CAAQ,EAErD,GAAIqC,EAAI,SAAW,EAAG,CACpB,MAAM1G,EAAO0G,EAAI,WAAW,CAAC,GACxBrC,IAAa,QAAUrE,EAAO,KAC/BqE,IAAa,YAEfqC,EAAM1G,EAEf,CACA,MAAc,OAAO0G,GAAQ,SACxBA,EAAMA,EAAM,IACH,OAAOA,GAAQ,YACxBA,EAAM,OAAOA,CAAG,GAIlB,GAAI1F,EAAQ,GAAK,KAAK,OAASA,GAAS,KAAK,OAASC,EACpD,MAAM,IAAI,WAAW,oBAAoB,EAG3C,GAAIA,GAAOD,EACT,OAAO,KAGTA,EAAQA,IAAU,EAClBC,EAAMA,IAAQ,OAAY,KAAK,OAASA,IAAQ,EAE3CyF,IAAKA,EAAM,GAEhB,IAAIzG,EACJ,GAAI,OAAOyG,GAAQ,SACjB,IAAKzG,EAAIe,EAAOf,EAAIgB,EAAK,EAAEhB,EACzB,KAAKA,CAAC,EAAIyG,MAEP,CACL,MAAMmC,EAAQlG,EAAO,SAAS+D,CAAG,EAC7BA,EACA/D,EAAO,KAAK+D,EAAKrC,CAAQ,EACvBnE,EAAM2I,EAAM,OAClB,GAAI3I,IAAQ,EACV,MAAM,IAAI,UAAU,cAAgBwG,EAClC,mCAAmC,EAEvC,IAAKzG,EAAI,EAAGA,EAAIgB,EAAMD,EAAO,EAAEf,EAC7B,KAAKA,EAAIe,CAAK,EAAI6H,EAAM5I,EAAIC,CAAG,CAEtC,CAEG,OAAO,IACV,EAMC,MAAMqK,GAAS,CAAA,EACf,SAASC,EAAGC,EAAKC,EAAYC,EAAM,CACjCJ,GAAOE,CAAG,EAAI,cAAwBE,CAAK,CACzC,aAAe,CACb,MAAK,EAEL,OAAO,eAAe,KAAM,UAAW,CACrC,MAAOD,EAAW,MAAM,KAAM,SAAS,EACvC,SAAU,GACV,aAAc,EACvB,CAAQ,EAGD,KAAK,KAAO,GAAG,KAAK,IAAI,KAAKD,CAAG,IAGhC,KAAK,MAEL,OAAO,KAAK,IACnB,CAEK,IAAI,MAAQ,CACV,OAAOA,CACd,CAEK,IAAI,KAAMrI,EAAO,CACf,OAAO,eAAe,KAAM,OAAQ,CAClC,aAAc,GACd,WAAY,GACZ,MAAAA,EACA,SAAU,EACnB,CAAQ,CACR,CAEK,UAAY,CACV,MAAO,GAAG,KAAK,IAAI,KAAKqI,CAAG,MAAM,KAAK,OAAO,EACpD,EAEA,CAECD,EAAE,2BACA,SAAUI,EAAM,CACd,OAAIA,EACK,GAAGA,CAAI,+BAGT,gDACZ,EAAM,UAAU,EACfJ,EAAE,uBACA,SAAUI,EAAMpG,EAAQ,CACtB,MAAO,QAAQoG,CAAI,oDAAoD,OAAOpG,CAAM,EACzF,EAAM,SAAS,EACdgG,EAAE,mBACA,SAAUtE,EAAK2E,EAAOC,EAAO,CAC3B,IAAIC,EAAM,iBAAiB7E,CAAG,qBAC1B8E,EAAWF,EACf,OAAI,OAAO,UAAUA,CAAK,GAAK,KAAK,IAAIA,CAAK,EAAI,GAAK,GACpDE,EAAWC,EAAsB,OAAOH,CAAK,CAAC,EACrC,OAAOA,GAAU,WAC1BE,EAAW,OAAOF,CAAK,GACnBA,EAAQ,OAAO,CAAC,GAAK,OAAO,EAAE,GAAKA,EAAQ,EAAE,OAAO,CAAC,GAAK,OAAO,EAAE,MACrEE,EAAWC,EAAsBD,CAAQ,GAE3CA,GAAY,KAEdD,GAAO,eAAeF,CAAK,cAAcG,CAAQ,GAC1CD,CACZ,EAAM,UAAU,EAEf,SAASE,EAAuBvE,EAAK,CACnC,IAAIqB,EAAM,GACN,EAAIrB,EAAI,OACZ,MAAM1F,EAAQ0F,EAAI,CAAC,IAAM,IAAM,EAAI,EACnC,KAAO,GAAK1F,EAAQ,EAAG,GAAK,EAC1B+G,EAAM,IAAIrB,EAAI,MAAM,EAAI,EAAG,CAAC,CAAC,GAAGqB,CAAG,GAErC,MAAO,GAAGrB,EAAI,MAAM,EAAG,CAAC,CAAC,GAAGqB,CAAG,EAClC,CAKC,SAASmD,EAAa7H,EAAK7B,EAAQ9B,EAAY,CAC7C0J,EAAe5H,EAAQ,QAAQ,GAC3B6B,EAAI7B,CAAM,IAAM,QAAa6B,EAAI7B,EAAS9B,CAAU,IAAM,SAC5D6J,EAAY/H,EAAQ6B,EAAI,QAAU3D,EAAa,EAAE,CAEtD,CAEC,SAASoK,EAAY1H,EAAOuH,EAAKxD,EAAK9C,EAAK7B,EAAQ9B,EAAY,CAC7D,GAAI0C,EAAQ+D,GAAO/D,EAAQuH,EAAK,CAC9B,MAAM1D,EAAI,OAAO0D,GAAQ,SAAW,IAAM,GAC1C,IAAIkB,EAEF,MAAIlB,IAAQ,GAAKA,IAAQ,OAAO,CAAC,EAC/BkB,EAAQ,OAAO5E,CAAC,WAAWA,CAAC,QAAQvG,EAAa,GAAK,CAAC,GAAGuG,CAAC,GAE3D4E,EAAQ,SAAS5E,CAAC,QAAQvG,EAAa,GAAK,EAAI,CAAC,GAAGuG,CAAC,iBACzCvG,EAAa,GAAK,EAAI,CAAC,GAAGuG,CAAC,GAKrC,IAAIsE,GAAO,iBAAiB,QAASM,EAAOzI,CAAK,CAC5D,CACG8I,EAAY7H,EAAK7B,EAAQ9B,CAAU,CACtC,CAEC,SAAS0J,EAAgBhH,EAAOwI,EAAM,CACpC,GAAI,OAAOxI,GAAU,SACnB,MAAM,IAAImI,GAAO,qBAAqBK,EAAM,SAAUxI,CAAK,CAEhE,CAEC,SAASmH,EAAanH,EAAOgB,EAAQ+H,EAAM,CACzC,MAAI,KAAK,MAAM/I,CAAK,IAAMA,GACxBgH,EAAehH,EAAO+I,CAAI,EACpB,IAAIZ,GAAO,iBAAyB,SAAU,aAAcnI,CAAK,GAGrEgB,EAAS,EACL,IAAImH,GAAO,yBAGb,IAAIA,GAAO,iBAAyB,SACR,eAA6BnH,CAAM,GACnChB,CAAK,CAC1C,CAKC,MAAMgJ,EAAoB,oBAE1B,SAASC,EAAanF,EAAK,CAMzB,GAJAA,EAAMA,EAAI,MAAM,GAAG,EAAE,CAAC,EAEtBA,EAAMA,EAAI,KAAI,EAAG,QAAQkF,EAAmB,EAAE,EAE1ClF,EAAI,OAAS,EAAG,MAAO,GAE3B,KAAOA,EAAI,OAAS,IAAM,GACxBA,EAAMA,EAAM,IAEd,OAAOA,CACV,CAEC,SAASX,EAAahB,EAAQ+G,EAAO,CACnCA,EAAQA,GAAS,IACjB,IAAIrD,EACJ,MAAM7E,EAASmB,EAAO,OACtB,IAAIgH,EAAgB,KACpB,MAAM1C,EAAQ,CAAA,EAEd,QAAS5I,EAAI,EAAGA,EAAImD,EAAQ,EAAEnD,EAAG,CAI/B,GAHAgI,EAAY1D,EAAO,WAAWtE,CAAC,EAG3BgI,EAAY,OAAUA,EAAY,MAAQ,CAE5C,GAAI,CAACsD,EAAe,CAElB,GAAItD,EAAY,MAAQ,EAEjBqD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD,QACX,SAAoB5I,EAAI,IAAMmD,EAAQ,EAEtBkI,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD,QACX,CAGS0C,EAAgBtD,EAEhB,QACT,CAGO,GAAIA,EAAY,MAAQ,EACjBqD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAClD0C,EAAgBtD,EAChB,QACT,CAGOA,GAAasD,EAAgB,OAAU,GAAKtD,EAAY,OAAU,KACzE,MAAgBsD,IAEJD,GAAS,GAAK,IAAIzC,EAAM,KAAK,IAAM,IAAM,GAAI,EAMpD,GAHA0C,EAAgB,KAGZtD,EAAY,IAAM,CACpB,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KAAKZ,CAAS,CAC3B,SAAgBA,EAAY,KAAO,CAC5B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,EAAM,IACnBA,EAAY,GAAO,IAE5B,SAAgBA,EAAY,MAAS,CAC9B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,IAE5B,SAAgBA,EAAY,QAAU,CAC/B,IAAKqD,GAAS,GAAK,EAAG,MACtBzC,EAAM,KACJZ,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,IAE5B,KACO,OAAM,IAAI,MAAM,oBAAoB,CAE3C,CAEG,OAAOY,CACV,CAEC,SAASlB,EAAczB,EAAK,CAC1B,MAAMsF,EAAY,CAAA,EAClB,QAAS,EAAI,EAAG,EAAItF,EAAI,OAAQ,EAAE,EAEhCsF,EAAU,KAAKtF,EAAI,WAAW,CAAC,EAAI,GAAI,EAEzC,OAAOsF,CACV,CAEC,SAAS1D,EAAgB5B,EAAKoF,EAAO,CACnC,IAAIjJ,EAAGoH,EAAID,EACX,MAAMgC,EAAY,CAAA,EAClB,QAASvL,EAAI,EAAGA,EAAIiG,EAAI,QACjB,GAAAoF,GAAS,GAAK,GADW,EAAErL,EAGhCoC,EAAI6D,EAAI,WAAWjG,CAAC,EACpBwJ,EAAKpH,GAAK,EACVmH,EAAKnH,EAAI,IACTmJ,EAAU,KAAKhC,CAAE,EACjBgC,EAAU,KAAK/B,CAAE,EAGnB,OAAO+B,CACV,CAEC,SAAShG,EAAeU,EAAK,CAC3B,OAAO1D,EAAO,YAAY6I,EAAYnF,CAAG,CAAC,CAC7C,CAEC,SAASuB,GAAYgE,EAAKC,EAAKlK,EAAQ4B,EAAQ,CAC7C,IAAInD,EACJ,IAAKA,EAAI,EAAGA,EAAImD,GACT,EAAAnD,EAAIuB,GAAUkK,EAAI,QAAYzL,GAAKwL,EAAI,QADtB,EAAExL,EAExByL,EAAIzL,EAAIuB,CAAM,EAAIiK,EAAIxL,CAAC,EAEzB,OAAOA,CACV,CAKC,SAAS2D,GAAYkB,EAAKqG,EAAM,CAC9B,OAAOrG,aAAeqG,GACnBrG,GAAO,MAAQA,EAAI,aAAe,MAAQA,EAAI,YAAY,MAAQ,MACjEA,EAAI,YAAY,OAASqG,EAAK,IACrC,CACC,SAASpG,GAAaD,EAAK,CAEzB,OAAOA,IAAQA,CAClB,CAIC,MAAM8D,IAAuB,UAAY,CACvC,MAAM+C,EAAW,mBACXC,EAAQ,IAAI,MAAM,GAAG,EAC3B,QAAS,EAAI,EAAG,EAAI,GAAI,EAAE,EAAG,CAC3B,MAAMC,EAAM,EAAI,GAChB,QAAS1E,EAAI,EAAGA,EAAI,GAAI,EAAEA,EACxByE,EAAMC,EAAM1E,CAAC,EAAIwE,EAAS,CAAC,EAAIA,EAASxE,CAAC,CAEhD,CACG,OAAOyE,CACV,GAAE,EAGD,SAASzC,GAAoB2C,EAAI,CAC/B,OAAO,OAAO,OAAW,IAAcC,GAAyBD,CACnE,CAEC,SAASC,IAA0B,CACjC,MAAM,IAAI,MAAM,sBAAsB,CACzC,CACA,GAAGvM,CAAM,EAET,MAAMmD,EAASnD,EAAO,OAEtB+C,EAAA,KAAe/C,EAAO,KACtB+C,EAAA,YAAsB/C,EAAO,YAC7B+C,EAAA,OAAiB/C,EAAO,OACxB+C,EAAA,KAAe/C,EAAO,KACtB+C,EAAA,YAAsB/C,EAAO,YAC7B+C,EAAA,kBAA4B/C,EAAO,kBACnC+C,EAAA,WAAqB/C,EAAO,WAC5B+C,EAAA,kBAA4B/C,EAAO,kBACnC+C,EAAA,KAAe/C,EAAO,KACtB+C,EAAA,KAAe/C,EAAO,KACtB+C,EAAA,UAAoB/C,EAAO,UAC3B+C,EAAA,QAAkBI,EAClBJ,EAAA,QAAkB/C,EAAO,QACzB+C,EAAA,OAAiB/C,EAAO,OACxB+C,EAAA,WAAqB/C,EAAO,WAC5B+C,EAAA,iBAA2B/C,EAAO,iBAClC+C,EAAA,iBAA2B/C,EAAO,iBAClC+C,EAAA,UAAoB/C,EAAO,+FCp0E3B,IAAIA,EAASwM,GAAA,EACTrJ,EAASnD,EAAO,OAGpB,SAASyM,EAAWR,EAAKC,EAAK,CAC5B,QAASQ,KAAOT,EACdC,EAAIQ,CAAG,EAAIT,EAAIS,CAAG,CAEtB,CACIvJ,EAAO,MAAQA,EAAO,OAASA,EAAO,aAAeA,EAAO,gBAC9DwJ,EAAA,QAAiB3M,GAGjByM,EAAUzM,EAAQ+C,CAAO,EACzBA,EAAA,OAAiB6J,GAGnB,SAASA,EAAY9I,EAAKC,EAAkBH,EAAQ,CAClD,OAAOT,EAAOW,EAAKC,EAAkBH,CAAM,CAC7C,CAGA6I,EAAUtJ,EAAQyJ,CAAU,EAE5BA,EAAW,KAAO,SAAU9I,EAAKC,EAAkBH,EAAQ,CACzD,GAAI,OAAOE,GAAQ,SACjB,MAAM,IAAI,UAAU,+BAA+B,EAErD,OAAOX,EAAOW,EAAKC,EAAkBH,CAAM,CAC7C,EAEAgJ,EAAW,MAAQ,SAAUlI,EAAME,EAAMC,EAAU,CACjD,GAAI,OAAOH,GAAS,SAClB,MAAM,IAAI,UAAU,2BAA2B,EAEjD,IAAIb,EAAMV,EAAOuB,CAAI,EACrB,OAAIE,IAAS,OACP,OAAOC,GAAa,SACtBhB,EAAI,KAAKe,EAAMC,CAAQ,EAEvBhB,EAAI,KAAKe,CAAI,EAGff,EAAI,KAAK,CAAC,EAELA,CACT,EAEA+I,EAAW,YAAc,SAAUlI,EAAM,CACvC,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAI,UAAU,2BAA2B,EAEjD,OAAOvB,EAAOuB,CAAI,CACpB,EAEAkI,EAAW,gBAAkB,SAAUlI,EAAM,CAC3C,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAI,UAAU,2BAA2B,EAEjD,OAAO1E,EAAO,WAAW0E,CAAI,CAC/B,yECpCA,IAAIvB,EAASqJ,GAAA,EAAuB,OAGhCK,EAAa1J,EAAO,YAAc,SAAU0B,EAAU,CAExD,OADAA,EAAW,GAAKA,EACRA,GAAYA,EAAS,YAAW,EAAE,CACxC,IAAK,MAAM,IAAK,OAAO,IAAK,QAAQ,IAAK,QAAQ,IAAK,SAAS,IAAK,SAAS,IAAK,OAAO,IAAK,QAAQ,IAAK,UAAU,IAAK,WAAW,IAAK,MACxI,MAAO,GACT,QACE,MAAO,EACb,CACA,EAEA,SAASiI,EAAmBC,EAAK,CAC/B,GAAI,CAACA,EAAK,MAAO,OAEjB,QADIC,IAEF,OAAQD,EAAG,CACT,IAAK,OACL,IAAK,QACH,MAAO,OACT,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,UACT,IAAK,SACL,IAAK,SACH,MAAO,SACT,IAAK,SACL,IAAK,QACL,IAAK,MACH,OAAOA,EACT,QACE,GAAIC,EAAS,OACbD,GAAO,GAAKA,GAAK,YAAW,EAC5BC,EAAU,EAClB,CAEA,CAIA,SAASC,EAAkBF,EAAK,CAC9B,IAAIG,EAAOJ,EAAmBC,CAAG,EACjC,GAAI,OAAOG,GAAS,WAAa/J,EAAO,aAAe0J,GAAc,CAACA,EAAWE,CAAG,GAAI,MAAM,IAAI,MAAM,qBAAuBA,CAAG,EAClI,OAAOG,GAAQH,CACjB,CAKAI,GAAA,cAAwBC,EACxB,SAASA,EAAcvI,EAAU,CAC/B,KAAK,SAAWoI,EAAkBpI,CAAQ,EAC1C,IAAIwI,EACJ,OAAQ,KAAK,SAAQ,CACnB,IAAK,UACH,KAAK,KAAOC,EACZ,KAAK,IAAMC,GACXF,EAAK,EACL,MACF,IAAK,OACH,KAAK,SAAWG,EAChBH,EAAK,EACL,MACF,IAAK,SACH,KAAK,KAAOI,EACZ,KAAK,IAAMC,GACXL,EAAK,EACL,MACF,QACE,KAAK,MAAQM,GACb,KAAK,IAAMC,GACX,MACN,CACE,KAAK,SAAW,EAChB,KAAK,UAAY,EACjB,KAAK,SAAWzK,EAAO,YAAYkK,CAAE,CACvC,CAEAD,EAAc,UAAU,MAAQ,SAAUvJ,EAAK,CAC7C,GAAIA,EAAI,SAAW,EAAG,MAAO,GAC7B,IAAIgK,EACApN,EACJ,GAAI,KAAK,SAAU,CAEjB,GADAoN,EAAI,KAAK,SAAShK,CAAG,EACjBgK,IAAM,OAAW,MAAO,GAC5BpN,EAAI,KAAK,SACT,KAAK,SAAW,CACpB,MACIA,EAAI,EAEN,OAAIA,EAAIoD,EAAI,OAAegK,EAAIA,EAAI,KAAK,KAAKhK,EAAKpD,CAAC,EAAI,KAAK,KAAKoD,EAAKpD,CAAC,EAChEoN,GAAK,EACd,EAEAT,EAAc,UAAU,IAAMU,EAG9BV,EAAc,UAAU,KAAOW,EAG/BX,EAAc,UAAU,SAAW,SAAUvJ,EAAK,CAChD,GAAI,KAAK,UAAYA,EAAI,OACvB,OAAAA,EAAI,KAAK,KAAK,SAAU,KAAK,UAAY,KAAK,SAAU,EAAG,KAAK,QAAQ,EACjE,KAAK,SAAS,SAAS,KAAK,SAAU,EAAG,KAAK,SAAS,EAEhEA,EAAI,KAAK,KAAK,SAAU,KAAK,UAAY,KAAK,SAAU,EAAGA,EAAI,MAAM,EACrE,KAAK,UAAYA,EAAI,MACvB,EAIA,SAASmK,EAAcC,EAAM,CAC3B,OAAIA,GAAQ,IAAa,EAAWA,GAAQ,IAAM,EAAa,EAAWA,GAAQ,IAAM,GAAa,EAAWA,GAAQ,IAAM,GAAa,EACpIA,GAAQ,IAAM,EAAO,GAAK,EACnC,CAKA,SAASC,EAAoBC,EAAMtK,EAAKpD,EAAG,CACzC,IAAIkH,EAAI9D,EAAI,OAAS,EACrB,GAAI8D,EAAIlH,EAAG,MAAO,GAClB,IAAI4M,EAAKW,EAAcnK,EAAI8D,CAAC,CAAC,EAC7B,OAAI0F,GAAM,GACJA,EAAK,IAAGc,EAAK,SAAWd,EAAK,GAC1BA,GAEL,EAAE1F,EAAIlH,GAAK4M,IAAO,GAAW,GACjCA,EAAKW,EAAcnK,EAAI8D,CAAC,CAAC,EACrB0F,GAAM,GACJA,EAAK,IAAGc,EAAK,SAAWd,EAAK,GAC1BA,GAEL,EAAE1F,EAAIlH,GAAK4M,IAAO,GAAW,GACjCA,EAAKW,EAAcnK,EAAI8D,CAAC,CAAC,EACrB0F,GAAM,GACJA,EAAK,IACHA,IAAO,EAAGA,EAAK,EAAOc,EAAK,SAAWd,EAAK,GAE1CA,GAEF,GACT,CAUA,SAASe,EAAoBD,EAAMtK,EAAKwK,EAAG,CACzC,IAAKxK,EAAI,CAAC,EAAI,OAAU,IACtB,OAAAsK,EAAK,SAAW,EACT,IAET,GAAIA,EAAK,SAAW,GAAKtK,EAAI,OAAS,EAAG,CACvC,IAAKA,EAAI,CAAC,EAAI,OAAU,IACtB,OAAAsK,EAAK,SAAW,EACT,IAET,GAAIA,EAAK,SAAW,GAAKtK,EAAI,OAAS,IAC/BA,EAAI,CAAC,EAAI,OAAU,IACtB,OAAAsK,EAAK,SAAW,EACT,GAGf,CACA,CAGA,SAASX,EAAa3J,EAAK,CACzB,IAAIwK,EAAI,KAAK,UAAY,KAAK,SAC1BR,EAAIO,EAAoB,KAAMvK,CAAM,EACxC,GAAIgK,IAAM,OAAW,OAAOA,EAC5B,GAAI,KAAK,UAAYhK,EAAI,OACvB,OAAAA,EAAI,KAAK,KAAK,SAAUwK,EAAG,EAAG,KAAK,QAAQ,EACpC,KAAK,SAAS,SAAS,KAAK,SAAU,EAAG,KAAK,SAAS,EAEhExK,EAAI,KAAK,KAAK,SAAUwK,EAAG,EAAGxK,EAAI,MAAM,EACxC,KAAK,UAAYA,EAAI,MACvB,CAKA,SAASkK,EAASlK,EAAKpD,EAAG,CACxB,IAAI6N,EAAQJ,EAAoB,KAAMrK,EAAKpD,CAAC,EAC5C,GAAI,CAAC,KAAK,SAAU,OAAOoD,EAAI,SAAS,OAAQpD,CAAC,EACjD,KAAK,UAAY6N,EACjB,IAAI7M,EAAMoC,EAAI,QAAUyK,EAAQ,KAAK,UACrC,OAAAzK,EAAI,KAAK,KAAK,SAAU,EAAGpC,CAAG,EACvBoC,EAAI,SAAS,OAAQpD,EAAGgB,CAAG,CACpC,CAIA,SAASqM,EAAQjK,EAAK,CACpB,IAAIgK,EAAIhK,GAAOA,EAAI,OAAS,KAAK,MAAMA,CAAG,EAAI,GAC9C,OAAI,KAAK,SAAiBgK,EAAI,IACvBA,CACT,CAMA,SAASP,EAAUzJ,EAAKpD,EAAG,CACzB,IAAKoD,EAAI,OAASpD,GAAK,IAAM,EAAG,CAC9B,IAAIoN,EAAIhK,EAAI,SAAS,UAAWpD,CAAC,EACjC,GAAIoN,EAAG,CACL,IAAIhL,EAAIgL,EAAE,WAAWA,EAAE,OAAS,CAAC,EACjC,GAAIhL,GAAK,OAAUA,GAAK,MACtB,OAAA,KAAK,SAAW,EAChB,KAAK,UAAY,EACjB,KAAK,SAAS,CAAC,EAAIgB,EAAIA,EAAI,OAAS,CAAC,EACrC,KAAK,SAAS,CAAC,EAAIA,EAAIA,EAAI,OAAS,CAAC,EAC9BgK,EAAE,MAAM,EAAG,EAAE,CAE5B,CACI,OAAOA,CACX,CACE,OAAA,KAAK,SAAW,EAChB,KAAK,UAAY,EACjB,KAAK,SAAS,CAAC,EAAIhK,EAAIA,EAAI,OAAS,CAAC,EAC9BA,EAAI,SAAS,UAAWpD,EAAGoD,EAAI,OAAS,CAAC,CAClD,CAIA,SAAS0J,GAAS1J,EAAK,CACrB,IAAIgK,EAAIhK,GAAOA,EAAI,OAAS,KAAK,MAAMA,CAAG,EAAI,GAC9C,GAAI,KAAK,SAAU,CACjB,IAAIpC,EAAM,KAAK,UAAY,KAAK,SAChC,OAAOoM,EAAI,KAAK,SAAS,SAAS,UAAW,EAAGpM,CAAG,CACvD,CACE,OAAOoM,CACT,CAEA,SAASJ,EAAW5J,EAAKpD,EAAG,CAC1B,IAAIgG,GAAK5C,EAAI,OAASpD,GAAK,EAC3B,OAAIgG,IAAM,EAAU5C,EAAI,SAAS,SAAUpD,CAAC,GAC5C,KAAK,SAAW,EAAIgG,EACpB,KAAK,UAAY,EACbA,IAAM,EACR,KAAK,SAAS,CAAC,EAAI5C,EAAIA,EAAI,OAAS,CAAC,GAErC,KAAK,SAAS,CAAC,EAAIA,EAAIA,EAAI,OAAS,CAAC,EACrC,KAAK,SAAS,CAAC,EAAIA,EAAIA,EAAI,OAAS,CAAC,GAEhCA,EAAI,SAAS,SAAUpD,EAAGoD,EAAI,OAAS4C,CAAC,EACjD,CAEA,SAASiH,GAAU7J,EAAK,CACtB,IAAIgK,EAAIhK,GAAOA,EAAI,OAAS,KAAK,MAAMA,CAAG,EAAI,GAC9C,OAAI,KAAK,SAAiBgK,EAAI,KAAK,SAAS,SAAS,SAAU,EAAG,EAAI,KAAK,QAAQ,EAC5EA,CACT,CAGA,SAASF,GAAY9J,EAAK,CACxB,OAAOA,EAAI,SAAS,KAAK,QAAQ,CACnC,CAEA,SAAS+J,GAAU/J,EAAK,CACtB,OAAOA,GAAOA,EAAI,OAAS,KAAK,MAAMA,CAAG,EAAI,EAC/C","x_google_ignoreList":[0,1,2,3]} |