{"version":3,"file":"js/287-7e29dfd1c6dfcda784f0.js","mappings":"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","sources":["webpack://app/./node_modules/ieee754/index.js","webpack://app/./node_modules/base64-js/index.js","webpack://app/./node_modules/buffer/index.js"],"sourcesContent":["/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.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\nexports.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","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.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","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n"],"names":["exports","read","buffer","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","i","d","s","NaN","Infinity","Math","pow","write","value","c","rt","abs","isNaN","floor","log","LN2","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","arr","Arr","_byteLength","curByte","len","revLookup","charCodeAt","fromByteArray","uint8","length","extraBytes","parts","maxChunkLength","len2","push","encodeChunk","lookup","join","Uint8Array","Array","code","Error","indexOf","start","end","num","output","base64","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","alloc","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","RangeError","buf","Object","setPrototypeOf","prototype","arg","encodingOrOffset","TypeError","allocUnsafe","from","string","encoding","isEncoding","actual","slice","fromString","ArrayBuffer","isView","arrayView","isInstance","copy","fromArrayBuffer","byteOffset","fromArrayLike","fromArrayView","SharedArrayBuffer","valueOf","b","obj","isBuffer","checked","undefined","numberIsNaN","type","isArray","data","fromObject","toPrimitive","assertSize","size","array","toString","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","this","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","bidirectionalIndexOf","val","dir","arrayIndexOf","call","lastIndexOf","indexSize","arrLength","valLength","String","readUInt16BE","foundIndex","found","j","hexWrite","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","asciiToBytes","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","min","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","kMaxLength","TYPED_ARRAY_SUPPORT","proto","foo","typedArraySupport","console","error","defineProperty","enumerable","get","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","set","swap16","swap32","swap64","toLocaleString","equals","inspect","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","out","hexSliceLookupTable","bytes","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","BigInt","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","super","writable","configurable","name","stack","message","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_INVALID_ARG_TYPE","ERR_BUFFER_OUT_OF_BOUNDS","input","msg","received","isInteger","INVALID_BASE64_RE","leadSurrogate","split","base64clean","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined"],"sourceRoot":""}