{"version":3,"sources":["../node_modules/buffer/node_modules/isarray/index.js","../node_modules/cipher-base/index.js","../node_modules/buffer/index.js"],"names":["toString","module","exports","Array","isArray","arr","call","Buffer","require","Transform","StringDecoder","CipherBase","hashMode","this","_finalOrDigest","final","_final","__final","_decoder","_encoding","inherits","prototype","update","data","inputEnc","outputEnc","from","outData","_update","_toString","setAutoPadding","getAuthTag","Error","setAuthTag","setAAD","_transform","_","next","err","push","e","_flush","done","alloc","value","enc","fin","out","write","end","base64","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","that","length","RangeError","Uint8Array","__proto__","arg","encodingOrOffset","allocUnsafe","TypeError","ArrayBuffer","array","byteOffset","byteLength","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","slice","fromString","obj","isBuffer","len","checked","copy","buffer","val","type","fromObject","assertSize","size","i","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","m","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","lastIndexOf","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","c","hi","lo","utf16leToBytes","fromByteArray","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","INSPECT_MAX_BYTES","global","foo","subarray","typedArraySupport","poolSize","_augment","Symbol","species","Object","defineProperty","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","equals","inspect","max","match","join","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","_arr","ret","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst"],"mappings":"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","file":"static/js/main~7274e1de.cdee812d.chunk.js","sourcesContent":["var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\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\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object 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 * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\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 if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\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(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, 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 interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, 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(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\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(null, 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(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.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 that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().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)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var 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 (!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 var 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 var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\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 (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var 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 case undefined:\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) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var 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 coersion 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// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var 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 var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var 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 var length = this.length | 0\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.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 var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\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 var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var 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 (isNaN(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 (Buffer.TYPED_ARRAY_SUPPORT &&\n 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 var indexSize = 1\n var arrLength = arr.length\n var 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 var i\n if (dir) {\n var 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 var found = true\n for (var 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 var 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 // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(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 latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, 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 // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var 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 var 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 return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(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 var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var 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\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var 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 var res = ''\n var 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 var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; 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 var 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 var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\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 = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\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 var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\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 = function readUInt32BE (offset, noAssert) {\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.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var 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 var i = byteLength\n var mul = 1\n var 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 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 if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\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 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.readFloatLE = function readFloatLE (offset, noAssert) {\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 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 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 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 = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var 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 = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var 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 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var 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 var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var 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 (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\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 if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\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 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 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 (!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('sourceStart out of bounds')\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 var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\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 (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\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 } else if (typeof val === 'number') {\n val = val & 255\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 var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).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 stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var 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 var byteArray = []\n for (var 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 var c, hi, lo\n var byteArray = []\n for (var 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 for (var 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\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n"],"sourceRoot":""}