{"version":3,"file":"static/js/31270.927857dc.js","mappings":"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","sources":["../node_modules/msgpack-lite/lib/browser.js","../node_modules/msgpack-lite/lib/buffer-global.js","../node_modules/msgpack-lite/lib/buffer-lite.js","../node_modules/msgpack-lite/lib/bufferish-array.js","../node_modules/msgpack-lite/lib/bufferish-buffer.js","../node_modules/msgpack-lite/lib/bufferish-proto.js","../node_modules/msgpack-lite/lib/bufferish-uint8array.js","../node_modules/msgpack-lite/lib/bufferish.js","../node_modules/msgpack-lite/lib/codec-base.js","../node_modules/msgpack-lite/lib/codec.js","../node_modules/msgpack-lite/lib/decode-buffer.js","../node_modules/msgpack-lite/lib/decode.js","../node_modules/msgpack-lite/lib/decoder.js","../node_modules/msgpack-lite/lib/encode-buffer.js","../node_modules/msgpack-lite/lib/encode.js","../node_modules/msgpack-lite/lib/encoder.js","../node_modules/msgpack-lite/lib/ext-buffer.js","../node_modules/msgpack-lite/lib/ext-packer.js","../node_modules/msgpack-lite/lib/ext-unpacker.js","../node_modules/msgpack-lite/lib/ext.js","../node_modules/msgpack-lite/lib/flex-buffer.js","../node_modules/msgpack-lite/lib/read-core.js","../node_modules/msgpack-lite/lib/read-format.js","../node_modules/msgpack-lite/lib/read-token.js","../node_modules/msgpack-lite/lib/write-core.js","../node_modules/msgpack-lite/lib/write-token.js","../node_modules/msgpack-lite/lib/write-type.js","../node_modules/msgpack-lite/lib/write-uint8.js"],"sourcesContent":["// browser.js\nexports.encode = require(\"./encode\").encode;\nexports.decode = require(\"./decode\").decode;\nexports.Encoder = require(\"./encoder\").Encoder;\nexports.Decoder = require(\"./decoder\").Decoder;\nexports.createCodec = require(\"./ext\").createCodec;\nexports.codec = require(\"./codec\").codec;","/* globals Buffer */\nmodule.exports = c(\"undefined\" !== typeof Buffer && Buffer) || c(this.Buffer) || c(\"undefined\" !== typeof window && window.Buffer) || this.Buffer;\n\nfunction c(B) {\n return B && B.isBuffer && B;\n}","// buffer-lite.js\nvar MAXBUFLEN = 8192;\nexports.copy = copy;\nexports.toString = toString;\nexports.write = write;\n/**\n * Buffer.prototype.write()\n *\n * @param string {String}\n * @param [offset] {Number}\n * @returns {Number}\n */\n\nfunction write(string, offset) {\n var buffer = this;\n var index = offset || (offset |= 0);\n var length = string.length;\n var chr = 0;\n var i = 0;\n\n while (i < length) {\n chr = string.charCodeAt(i++);\n\n if (chr < 128) {\n buffer[index++] = chr;\n } else if (chr < 0x800) {\n // 2 bytes\n buffer[index++] = 0xC0 | chr >>> 6;\n buffer[index++] = 0x80 | chr & 0x3F;\n } else if (chr < 0xD800 || chr > 0xDFFF) {\n // 3 bytes\n buffer[index++] = 0xE0 | chr >>> 12;\n buffer[index++] = 0x80 | chr >>> 6 & 0x3F;\n buffer[index++] = 0x80 | chr & 0x3F;\n } else {\n // 4 bytes - surrogate pair\n chr = (chr - 0xD800 << 10 | string.charCodeAt(i++) - 0xDC00) + 0x10000;\n buffer[index++] = 0xF0 | chr >>> 18;\n buffer[index++] = 0x80 | chr >>> 12 & 0x3F;\n buffer[index++] = 0x80 | chr >>> 6 & 0x3F;\n buffer[index++] = 0x80 | chr & 0x3F;\n }\n }\n\n return index - offset;\n}\n/**\n * Buffer.prototype.toString()\n *\n * @param [encoding] {String} ignored\n * @param [start] {Number}\n * @param [end] {Number}\n * @returns {String}\n */\n\n\nfunction toString(encoding, start, end) {\n var buffer = this;\n var index = start | 0;\n if (!end) end = buffer.length;\n var string = '';\n var chr = 0;\n\n while (index < end) {\n chr = buffer[index++];\n\n if (chr < 128) {\n string += String.fromCharCode(chr);\n continue;\n }\n\n if ((chr & 0xE0) === 0xC0) {\n // 2 bytes\n chr = (chr & 0x1F) << 6 | buffer[index++] & 0x3F;\n } else if ((chr & 0xF0) === 0xE0) {\n // 3 bytes\n chr = (chr & 0x0F) << 12 | (buffer[index++] & 0x3F) << 6 | buffer[index++] & 0x3F;\n } else if ((chr & 0xF8) === 0xF0) {\n // 4 bytes\n chr = (chr & 0x07) << 18 | (buffer[index++] & 0x3F) << 12 | (buffer[index++] & 0x3F) << 6 | buffer[index++] & 0x3F;\n }\n\n if (chr >= 0x010000) {\n // A surrogate pair\n chr -= 0x010000;\n string += String.fromCharCode((chr >>> 10) + 0xD800, (chr & 0x3FF) + 0xDC00);\n } else {\n string += String.fromCharCode(chr);\n }\n }\n\n return string;\n}\n/**\n * Buffer.prototype.copy()\n *\n * @param target {Buffer}\n * @param [targetStart] {Number}\n * @param [start] {Number}\n * @param [end] {Number}\n * @returns {number}\n */\n\n\nfunction copy(target, targetStart, start, end) {\n var i;\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (!targetStart) targetStart = 0;\n var len = end - start;\n\n if (target === this && start < targetStart && targetStart < end) {\n // descending\n for (i = len - 1; i >= 0; i--) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n // ascending\n for (i = 0; i < len; i++) {\n target[i + targetStart] = this[i + start];\n }\n }\n\n return len;\n}","// bufferish-array.js\nvar Bufferish = require(\"./bufferish\");\n\nvar exports = module.exports = alloc(0);\nexports.alloc = alloc;\nexports.concat = Bufferish.concat;\nexports.from = from;\n/**\n * @param size {Number}\n * @returns {Buffer|Uint8Array|Array}\n */\n\nfunction alloc(size) {\n return new Array(size);\n}\n/**\n * @param value {Array|ArrayBuffer|Buffer|String}\n * @returns {Array}\n */\n\n\nfunction from(value) {\n if (!Bufferish.isBuffer(value) && Bufferish.isView(value)) {\n // TypedArray to Uint8Array\n value = Bufferish.Uint8Array.from(value);\n } else if (Bufferish.isArrayBuffer(value)) {\n // ArrayBuffer to Uint8Array\n value = new Uint8Array(value);\n } else if (typeof value === \"string\") {\n // String to Array\n return Bufferish.from.call(exports, value);\n } else if (typeof value === \"number\") {\n throw new TypeError('\"value\" argument must not be a number');\n } // Array-like to Array\n\n\n return Array.prototype.slice.call(value);\n}","// bufferish-buffer.js\nvar Bufferish = require(\"./bufferish\");\n\nvar Buffer = Bufferish.global;\nvar exports = module.exports = Bufferish.hasBuffer ? alloc(0) : [];\nexports.alloc = Bufferish.hasBuffer && Buffer.alloc || alloc;\nexports.concat = Bufferish.concat;\nexports.from = from;\n/**\n * @param size {Number}\n * @returns {Buffer|Uint8Array|Array}\n */\n\nfunction alloc(size) {\n return new Buffer(size);\n}\n/**\n * @param value {Array|ArrayBuffer|Buffer|String}\n * @returns {Buffer}\n */\n\n\nfunction from(value) {\n if (!Bufferish.isBuffer(value) && Bufferish.isView(value)) {\n // TypedArray to Uint8Array\n value = Bufferish.Uint8Array.from(value);\n } else if (Bufferish.isArrayBuffer(value)) {\n // ArrayBuffer to Uint8Array\n value = new Uint8Array(value);\n } else if (typeof value === \"string\") {\n // String to Buffer\n return Bufferish.from.call(exports, value);\n } else if (typeof value === \"number\") {\n throw new TypeError('\"value\" argument must not be a number');\n } // Array-like to Buffer\n\n\n if (Buffer.from && Buffer.from.length !== 1) {\n return Buffer.from(value); // node v6+\n } else {\n return new Buffer(value); // node v4\n }\n}","// bufferish-proto.js\n\n/* jshint eqnull:true */\nvar BufferLite = require(\"./buffer-lite\");\n\nexports.copy = copy;\nexports.slice = slice;\nexports.toString = toString;\nexports.write = gen(\"write\");\n\nvar Bufferish = require(\"./bufferish\");\n\nvar Buffer = Bufferish.global;\nvar isBufferShim = Bufferish.hasBuffer && \"TYPED_ARRAY_SUPPORT\" in Buffer;\nvar brokenTypedArray = isBufferShim && !Buffer.TYPED_ARRAY_SUPPORT;\n/**\n * @param target {Buffer|Uint8Array|Array}\n * @param [targetStart] {Number}\n * @param [start] {Number}\n * @param [end] {Number}\n * @returns {Buffer|Uint8Array|Array}\n */\n\nfunction copy(target, targetStart, start, end) {\n var thisIsBuffer = Bufferish.isBuffer(this);\n var targetIsBuffer = Bufferish.isBuffer(target);\n\n if (thisIsBuffer && targetIsBuffer) {\n // Buffer to Buffer\n return this.copy(target, targetStart, start, end);\n } else if (!brokenTypedArray && !thisIsBuffer && !targetIsBuffer && Bufferish.isView(this) && Bufferish.isView(target)) {\n // Uint8Array to Uint8Array (except for minor some browsers)\n var buffer = start || end != null ? slice.call(this, start, end) : this;\n target.set(buffer, targetStart);\n return buffer.length;\n } else {\n // other cases\n return BufferLite.copy.call(this, target, targetStart, start, end);\n }\n}\n/**\n * @param [start] {Number}\n * @param [end] {Number}\n * @returns {Buffer|Uint8Array|Array}\n */\n\n\nfunction slice(start, end) {\n // for Buffer, Uint8Array (except for minor some browsers) and Array\n var f = this.slice || !brokenTypedArray && this.subarray;\n if (f) return f.call(this, start, end); // Uint8Array (for minor some browsers)\n\n var target = Bufferish.alloc.call(this, end - start);\n copy.call(this, target, 0, start, end);\n return target;\n}\n/**\n * Buffer.prototype.toString()\n *\n * @param [encoding] {String} ignored\n * @param [start] {Number}\n * @param [end] {Number}\n * @returns {String}\n */\n\n\nfunction toString(encoding, start, end) {\n var f = !isBufferShim && Bufferish.isBuffer(this) ? this.toString : BufferLite.toString;\n return f.apply(this, arguments);\n}\n/**\n * @private\n */\n\n\nfunction gen(method) {\n return wrap;\n\n function wrap() {\n var f = this[method] || BufferLite[method];\n return f.apply(this, arguments);\n }\n}","// bufferish-uint8array.js\nvar Bufferish = require(\"./bufferish\");\n\nvar exports = module.exports = Bufferish.hasArrayBuffer ? alloc(0) : [];\nexports.alloc = alloc;\nexports.concat = Bufferish.concat;\nexports.from = from;\n/**\n * @param size {Number}\n * @returns {Buffer|Uint8Array|Array}\n */\n\nfunction alloc(size) {\n return new Uint8Array(size);\n}\n/**\n * @param value {Array|ArrayBuffer|Buffer|String}\n * @returns {Uint8Array}\n */\n\n\nfunction from(value) {\n if (Bufferish.isView(value)) {\n // TypedArray to ArrayBuffer\n var byteOffset = value.byteOffset;\n var byteLength = value.byteLength;\n value = value.buffer;\n\n if (value.byteLength !== byteLength) {\n if (value.slice) {\n value = value.slice(byteOffset, byteOffset + byteLength);\n } else {\n // Android 4.1 does not have ArrayBuffer.prototype.slice\n value = new Uint8Array(value);\n\n if (value.byteLength !== byteLength) {\n // TypedArray to ArrayBuffer to Uint8Array to Array\n value = Array.prototype.slice.call(value, byteOffset, byteOffset + byteLength);\n }\n }\n }\n } else if (typeof value === \"string\") {\n // String to Uint8Array\n return Bufferish.from.call(exports, value);\n } else if (typeof value === \"number\") {\n throw new TypeError('\"value\" argument must not be a number');\n }\n\n return new Uint8Array(value);\n}","// bufferish.js\nvar Buffer = exports.global = require(\"./buffer-global\");\n\nvar hasBuffer = exports.hasBuffer = Buffer && !!Buffer.isBuffer;\nvar hasArrayBuffer = exports.hasArrayBuffer = \"undefined\" !== typeof ArrayBuffer;\n\nvar isArray = exports.isArray = require(\"isarray\");\n\nexports.isArrayBuffer = hasArrayBuffer ? isArrayBuffer : _false;\nvar isBuffer = exports.isBuffer = hasBuffer ? Buffer.isBuffer : _false;\nvar isView = exports.isView = hasArrayBuffer ? ArrayBuffer.isView || _is(\"ArrayBuffer\", \"buffer\") : _false;\nexports.alloc = alloc;\nexports.concat = concat;\nexports.from = from;\n\nvar BufferArray = exports.Array = require(\"./bufferish-array\");\n\nvar BufferBuffer = exports.Buffer = require(\"./bufferish-buffer\");\n\nvar BufferUint8Array = exports.Uint8Array = require(\"./bufferish-uint8array\");\n\nvar BufferProto = exports.prototype = require(\"./bufferish-proto\");\n/**\n * @param value {Array|ArrayBuffer|Buffer|String}\n * @returns {Buffer|Uint8Array|Array}\n */\n\n\nfunction from(value) {\n if (typeof value === \"string\") {\n return fromString.call(this, value);\n } else {\n return auto(this).from(value);\n }\n}\n/**\n * @param size {Number}\n * @returns {Buffer|Uint8Array|Array}\n */\n\n\nfunction alloc(size) {\n return auto(this).alloc(size);\n}\n/**\n * @param list {Array} array of (Buffer|Uint8Array|Array)s\n * @param [length]\n * @returns {Buffer|Uint8Array|Array}\n */\n\n\nfunction concat(list, length) {\n if (!length) {\n length = 0;\n Array.prototype.forEach.call(list, dryrun);\n }\n\n var ref = this !== exports && this || list[0];\n var result = alloc.call(ref, length);\n var offset = 0;\n Array.prototype.forEach.call(list, append);\n return result;\n\n function dryrun(buffer) {\n length += buffer.length;\n }\n\n function append(buffer) {\n offset += BufferProto.copy.call(buffer, result, offset);\n }\n}\n\nvar _isArrayBuffer = _is(\"ArrayBuffer\");\n\nfunction isArrayBuffer(value) {\n return value instanceof ArrayBuffer || _isArrayBuffer(value);\n}\n/**\n * @private\n */\n\n\nfunction fromString(value) {\n var expected = value.length * 3;\n var that = alloc.call(this, expected);\n var actual = BufferProto.write.call(that, value);\n\n if (expected !== actual) {\n that = BufferProto.slice.call(that, 0, actual);\n }\n\n return that;\n}\n\nfunction auto(that) {\n return isBuffer(that) ? BufferBuffer : isView(that) ? BufferUint8Array : isArray(that) ? BufferArray : hasBuffer ? BufferBuffer : hasArrayBuffer ? BufferUint8Array : BufferArray;\n}\n\nfunction _false() {\n return false;\n}\n\nfunction _is(name, key) {\n /* jshint eqnull:true */\n name = \"[object \" + name + \"]\";\n return function (value) {\n return value != null && {}.toString.call(key ? value[key] : value) === name;\n };\n}","// codec-base.js\nvar IS_ARRAY = require(\"isarray\");\n\nexports.createCodec = createCodec;\nexports.install = install;\nexports.filter = filter;\n\nvar Bufferish = require(\"./bufferish\");\n\nfunction Codec(options) {\n if (!(this instanceof Codec)) return new Codec(options);\n this.options = options;\n this.init();\n}\n\nCodec.prototype.init = function () {\n var options = this.options;\n\n if (options && options.uint8array) {\n this.bufferish = Bufferish.Uint8Array;\n }\n\n return this;\n};\n\nfunction install(props) {\n for (var key in props) {\n Codec.prototype[key] = add(Codec.prototype[key], props[key]);\n }\n}\n\nfunction add(a, b) {\n return a && b ? ab : a || b;\n\n function ab() {\n a.apply(this, arguments);\n return b.apply(this, arguments);\n }\n}\n\nfunction join(filters) {\n filters = filters.slice();\n return function (value) {\n return filters.reduce(iterator, value);\n };\n\n function iterator(value, filter) {\n return filter(value);\n }\n}\n\nfunction filter(filter) {\n return IS_ARRAY(filter) ? join(filter) : filter;\n} // @public\n// msgpack.createCodec()\n\n\nfunction createCodec(options) {\n return new Codec(options);\n} // default shared codec\n\n\nexports.preset = createCodec({\n preset: true\n});","// codec.js\n// load both interfaces\nrequire(\"./read-core\");\n\nrequire(\"./write-core\"); // @public\n// msgpack.codec.preset\n\n\nexports.codec = {\n preset: require(\"./codec-base\").preset\n};","// decode-buffer.js\nexports.DecodeBuffer = DecodeBuffer;\n\nvar preset = require(\"./read-core\").preset;\n\nvar FlexDecoder = require(\"./flex-buffer\").FlexDecoder;\n\nFlexDecoder.mixin(DecodeBuffer.prototype);\n\nfunction DecodeBuffer(options) {\n if (!(this instanceof DecodeBuffer)) return new DecodeBuffer(options);\n\n if (options) {\n this.options = options;\n\n if (options.codec) {\n var codec = this.codec = options.codec;\n if (codec.bufferish) this.bufferish = codec.bufferish;\n }\n }\n}\n\nDecodeBuffer.prototype.codec = preset;\n\nDecodeBuffer.prototype.fetch = function () {\n return this.codec.decode(this);\n};","// decode.js\nexports.decode = decode;\n\nvar DecodeBuffer = require(\"./decode-buffer\").DecodeBuffer;\n\nfunction decode(input, options) {\n var decoder = new DecodeBuffer(options);\n decoder.write(input);\n return decoder.read();\n}","// decoder.js\nexports.Decoder = Decoder;\n\nvar EventLite = require(\"event-lite\");\n\nvar DecodeBuffer = require(\"./decode-buffer\").DecodeBuffer;\n\nfunction Decoder(options) {\n if (!(this instanceof Decoder)) return new Decoder(options);\n DecodeBuffer.call(this, options);\n}\n\nDecoder.prototype = new DecodeBuffer();\nEventLite.mixin(Decoder.prototype);\n\nDecoder.prototype.decode = function (chunk) {\n if (arguments.length) this.write(chunk);\n this.flush();\n};\n\nDecoder.prototype.push = function (chunk) {\n this.emit(\"data\", chunk);\n};\n\nDecoder.prototype.end = function (chunk) {\n this.decode(chunk);\n this.emit(\"end\");\n};","// encode-buffer.js\nexports.EncodeBuffer = EncodeBuffer;\n\nvar preset = require(\"./write-core\").preset;\n\nvar FlexEncoder = require(\"./flex-buffer\").FlexEncoder;\n\nFlexEncoder.mixin(EncodeBuffer.prototype);\n\nfunction EncodeBuffer(options) {\n if (!(this instanceof EncodeBuffer)) return new EncodeBuffer(options);\n\n if (options) {\n this.options = options;\n\n if (options.codec) {\n var codec = this.codec = options.codec;\n if (codec.bufferish) this.bufferish = codec.bufferish;\n }\n }\n}\n\nEncodeBuffer.prototype.codec = preset;\n\nEncodeBuffer.prototype.write = function (input) {\n this.codec.encode(this, input);\n};","// encode.js\nexports.encode = encode;\n\nvar EncodeBuffer = require(\"./encode-buffer\").EncodeBuffer;\n\nfunction encode(input, options) {\n var encoder = new EncodeBuffer(options);\n encoder.write(input);\n return encoder.read();\n}","// encoder.js\nexports.Encoder = Encoder;\n\nvar EventLite = require(\"event-lite\");\n\nvar EncodeBuffer = require(\"./encode-buffer\").EncodeBuffer;\n\nfunction Encoder(options) {\n if (!(this instanceof Encoder)) return new Encoder(options);\n EncodeBuffer.call(this, options);\n}\n\nEncoder.prototype = new EncodeBuffer();\nEventLite.mixin(Encoder.prototype);\n\nEncoder.prototype.encode = function (chunk) {\n this.write(chunk);\n this.emit(\"data\", this.read());\n};\n\nEncoder.prototype.end = function (chunk) {\n if (arguments.length) this.encode(chunk);\n this.flush();\n this.emit(\"end\");\n};","// ext-buffer.js\nexports.ExtBuffer = ExtBuffer;\n\nvar Bufferish = require(\"./bufferish\");\n\nfunction ExtBuffer(buffer, type) {\n if (!(this instanceof ExtBuffer)) return new ExtBuffer(buffer, type);\n this.buffer = Bufferish.from(buffer);\n this.type = type;\n}","// ext-packer.js\nexports.setExtPackers = setExtPackers;\n\nvar Bufferish = require(\"./bufferish\");\n\nvar Buffer = Bufferish.global;\nvar packTypedArray = Bufferish.Uint8Array.from;\n\nvar _encode;\n\nvar ERROR_COLUMNS = {\n name: 1,\n message: 1,\n stack: 1,\n columnNumber: 1,\n fileName: 1,\n lineNumber: 1\n};\n\nfunction setExtPackers(codec) {\n codec.addExtPacker(0x0E, Error, [packError, encode]);\n codec.addExtPacker(0x01, EvalError, [packError, encode]);\n codec.addExtPacker(0x02, RangeError, [packError, encode]);\n codec.addExtPacker(0x03, ReferenceError, [packError, encode]);\n codec.addExtPacker(0x04, SyntaxError, [packError, encode]);\n codec.addExtPacker(0x05, TypeError, [packError, encode]);\n codec.addExtPacker(0x06, URIError, [packError, encode]);\n codec.addExtPacker(0x0A, RegExp, [packRegExp, encode]);\n codec.addExtPacker(0x0B, Boolean, [packValueOf, encode]);\n codec.addExtPacker(0x0C, String, [packValueOf, encode]);\n codec.addExtPacker(0x0D, Date, [Number, encode]);\n codec.addExtPacker(0x0F, Number, [packValueOf, encode]);\n\n if (\"undefined\" !== typeof Uint8Array) {\n codec.addExtPacker(0x11, Int8Array, packTypedArray);\n codec.addExtPacker(0x12, Uint8Array, packTypedArray);\n codec.addExtPacker(0x13, Int16Array, packTypedArray);\n codec.addExtPacker(0x14, Uint16Array, packTypedArray);\n codec.addExtPacker(0x15, Int32Array, packTypedArray);\n codec.addExtPacker(0x16, Uint32Array, packTypedArray);\n codec.addExtPacker(0x17, Float32Array, packTypedArray); // PhantomJS/1.9.7 doesn't have Float64Array\n\n if (\"undefined\" !== typeof Float64Array) {\n codec.addExtPacker(0x18, Float64Array, packTypedArray);\n } // IE10 doesn't have Uint8ClampedArray\n\n\n if (\"undefined\" !== typeof Uint8ClampedArray) {\n codec.addExtPacker(0x19, Uint8ClampedArray, packTypedArray);\n }\n\n codec.addExtPacker(0x1A, ArrayBuffer, packTypedArray);\n codec.addExtPacker(0x1D, DataView, packTypedArray);\n }\n\n if (Bufferish.hasBuffer) {\n codec.addExtPacker(0x1B, Buffer, Bufferish.from);\n }\n}\n\nfunction encode(input) {\n if (!_encode) _encode = require(\"./encode\").encode; // lazy load\n\n return _encode(input);\n}\n\nfunction packValueOf(value) {\n return value.valueOf();\n}\n\nfunction packRegExp(value) {\n value = RegExp.prototype.toString.call(value).split(\"/\");\n value.shift();\n var out = [value.pop()];\n out.unshift(value.join(\"/\"));\n return out;\n}\n\nfunction packError(value) {\n var out = {};\n\n for (var key in ERROR_COLUMNS) {\n out[key] = value[key];\n }\n\n return out;\n}","// ext-unpacker.js\nexports.setExtUnpackers = setExtUnpackers;\n\nvar Bufferish = require(\"./bufferish\");\n\nvar Buffer = Bufferish.global;\n\nvar _decode;\n\nvar ERROR_COLUMNS = {\n name: 1,\n message: 1,\n stack: 1,\n columnNumber: 1,\n fileName: 1,\n lineNumber: 1\n};\n\nfunction setExtUnpackers(codec) {\n codec.addExtUnpacker(0x0E, [decode, unpackError(Error)]);\n codec.addExtUnpacker(0x01, [decode, unpackError(EvalError)]);\n codec.addExtUnpacker(0x02, [decode, unpackError(RangeError)]);\n codec.addExtUnpacker(0x03, [decode, unpackError(ReferenceError)]);\n codec.addExtUnpacker(0x04, [decode, unpackError(SyntaxError)]);\n codec.addExtUnpacker(0x05, [decode, unpackError(TypeError)]);\n codec.addExtUnpacker(0x06, [decode, unpackError(URIError)]);\n codec.addExtUnpacker(0x0A, [decode, unpackRegExp]);\n codec.addExtUnpacker(0x0B, [decode, unpackClass(Boolean)]);\n codec.addExtUnpacker(0x0C, [decode, unpackClass(String)]);\n codec.addExtUnpacker(0x0D, [decode, unpackClass(Date)]);\n codec.addExtUnpacker(0x0F, [decode, unpackClass(Number)]);\n\n if (\"undefined\" !== typeof Uint8Array) {\n codec.addExtUnpacker(0x11, unpackClass(Int8Array));\n codec.addExtUnpacker(0x12, unpackClass(Uint8Array));\n codec.addExtUnpacker(0x13, [unpackArrayBuffer, unpackClass(Int16Array)]);\n codec.addExtUnpacker(0x14, [unpackArrayBuffer, unpackClass(Uint16Array)]);\n codec.addExtUnpacker(0x15, [unpackArrayBuffer, unpackClass(Int32Array)]);\n codec.addExtUnpacker(0x16, [unpackArrayBuffer, unpackClass(Uint32Array)]);\n codec.addExtUnpacker(0x17, [unpackArrayBuffer, unpackClass(Float32Array)]); // PhantomJS/1.9.7 doesn't have Float64Array\n\n if (\"undefined\" !== typeof Float64Array) {\n codec.addExtUnpacker(0x18, [unpackArrayBuffer, unpackClass(Float64Array)]);\n } // IE10 doesn't have Uint8ClampedArray\n\n\n if (\"undefined\" !== typeof Uint8ClampedArray) {\n codec.addExtUnpacker(0x19, unpackClass(Uint8ClampedArray));\n }\n\n codec.addExtUnpacker(0x1A, unpackArrayBuffer);\n codec.addExtUnpacker(0x1D, [unpackArrayBuffer, unpackClass(DataView)]);\n }\n\n if (Bufferish.hasBuffer) {\n codec.addExtUnpacker(0x1B, unpackClass(Buffer));\n }\n}\n\nfunction decode(input) {\n if (!_decode) _decode = require(\"./decode\").decode; // lazy load\n\n return _decode(input);\n}\n\nfunction unpackRegExp(value) {\n return RegExp.apply(null, value);\n}\n\nfunction unpackError(Class) {\n return function (value) {\n var out = new Class();\n\n for (var key in ERROR_COLUMNS) {\n out[key] = value[key];\n }\n\n return out;\n };\n}\n\nfunction unpackClass(Class) {\n return function (value) {\n return new Class(value);\n };\n}\n\nfunction unpackArrayBuffer(value) {\n return new Uint8Array(value).buffer;\n}","// ext.js\n// load both interfaces\nrequire(\"./read-core\");\n\nrequire(\"./write-core\");\n\nexports.createCodec = require(\"./codec-base\").createCodec;","// flex-buffer.js\nexports.FlexDecoder = FlexDecoder;\nexports.FlexEncoder = FlexEncoder;\n\nvar Bufferish = require(\"./bufferish\");\n\nvar MIN_BUFFER_SIZE = 2048;\nvar MAX_BUFFER_SIZE = 65536;\nvar BUFFER_SHORTAGE = \"BUFFER_SHORTAGE\";\n\nfunction FlexDecoder() {\n if (!(this instanceof FlexDecoder)) return new FlexDecoder();\n}\n\nfunction FlexEncoder() {\n if (!(this instanceof FlexEncoder)) return new FlexEncoder();\n}\n\nFlexDecoder.mixin = mixinFactory(getDecoderMethods());\nFlexDecoder.mixin(FlexDecoder.prototype);\nFlexEncoder.mixin = mixinFactory(getEncoderMethods());\nFlexEncoder.mixin(FlexEncoder.prototype);\n\nfunction getDecoderMethods() {\n return {\n bufferish: Bufferish,\n write: write,\n fetch: fetch,\n flush: flush,\n push: push,\n pull: pull,\n read: read,\n reserve: reserve,\n offset: 0\n };\n\n function write(chunk) {\n var prev = this.offset ? Bufferish.prototype.slice.call(this.buffer, this.offset) : this.buffer;\n this.buffer = prev ? chunk ? this.bufferish.concat([prev, chunk]) : prev : chunk;\n this.offset = 0;\n }\n\n function flush() {\n while (this.offset < this.buffer.length) {\n var start = this.offset;\n var value;\n\n try {\n value = this.fetch();\n } catch (e) {\n if (e && e.message != BUFFER_SHORTAGE) throw e; // rollback\n\n this.offset = start;\n break;\n }\n\n this.push(value);\n }\n }\n\n function reserve(length) {\n var start = this.offset;\n var end = start + length;\n if (end > this.buffer.length) throw new Error(BUFFER_SHORTAGE);\n this.offset = end;\n return start;\n }\n}\n\nfunction getEncoderMethods() {\n return {\n bufferish: Bufferish,\n write: write,\n fetch: fetch,\n flush: flush,\n push: push,\n pull: pull,\n read: read,\n reserve: reserve,\n send: send,\n maxBufferSize: MAX_BUFFER_SIZE,\n minBufferSize: MIN_BUFFER_SIZE,\n offset: 0,\n start: 0\n };\n\n function fetch() {\n var start = this.start;\n\n if (start < this.offset) {\n var end = this.start = this.offset;\n return Bufferish.prototype.slice.call(this.buffer, start, end);\n }\n }\n\n function flush() {\n while (this.start < this.offset) {\n var value = this.fetch();\n if (value) this.push(value);\n }\n }\n\n function pull() {\n var buffers = this.buffers || (this.buffers = []);\n var chunk = buffers.length > 1 ? this.bufferish.concat(buffers) : buffers[0];\n buffers.length = 0; // buffer exhausted\n\n return chunk;\n }\n\n function reserve(length) {\n var req = length | 0;\n\n if (this.buffer) {\n var size = this.buffer.length;\n var start = this.offset | 0;\n var end = start + req; // is it long enough?\n\n if (end < size) {\n this.offset = end;\n return start;\n } // flush current buffer\n\n\n this.flush(); // resize it to 2x current length\n\n length = Math.max(length, Math.min(size * 2, this.maxBufferSize));\n } // minimum buffer size\n\n\n length = Math.max(length, this.minBufferSize); // allocate new buffer\n\n this.buffer = this.bufferish.alloc(length);\n this.start = 0;\n this.offset = req;\n return 0;\n }\n\n function send(buffer) {\n var length = buffer.length;\n\n if (length > this.minBufferSize) {\n this.flush();\n this.push(buffer);\n } else {\n var offset = this.reserve(length);\n Bufferish.prototype.copy.call(buffer, this.buffer, offset);\n }\n }\n} // common methods\n\n\nfunction write() {\n throw new Error(\"method not implemented: write()\");\n}\n\nfunction fetch() {\n throw new Error(\"method not implemented: fetch()\");\n}\n\nfunction read() {\n var length = this.buffers && this.buffers.length; // fetch the first result\n\n if (!length) return this.fetch(); // flush current buffer\n\n this.flush(); // read from the results\n\n return this.pull();\n}\n\nfunction push(chunk) {\n var buffers = this.buffers || (this.buffers = []);\n buffers.push(chunk);\n}\n\nfunction pull() {\n var buffers = this.buffers || (this.buffers = []);\n return buffers.shift();\n}\n\nfunction mixinFactory(source) {\n return mixin;\n\n function mixin(target) {\n for (var key in source) {\n target[key] = source[key];\n }\n\n return target;\n }\n}","// read-core.js\nvar ExtBuffer = require(\"./ext-buffer\").ExtBuffer;\n\nvar ExtUnpacker = require(\"./ext-unpacker\");\n\nvar readUint8 = require(\"./read-format\").readUint8;\n\nvar ReadToken = require(\"./read-token\");\n\nvar CodecBase = require(\"./codec-base\");\n\nCodecBase.install({\n addExtUnpacker: addExtUnpacker,\n getExtUnpacker: getExtUnpacker,\n init: init\n});\nexports.preset = init.call(CodecBase.preset);\n\nfunction getDecoder(options) {\n var readToken = ReadToken.getReadToken(options);\n return decode;\n\n function decode(decoder) {\n var type = readUint8(decoder);\n var func = readToken[type];\n if (!func) throw new Error(\"Invalid type: \" + (type ? \"0x\" + type.toString(16) : type));\n return func(decoder);\n }\n}\n\nfunction init() {\n var options = this.options;\n this.decode = getDecoder(options);\n\n if (options && options.preset) {\n ExtUnpacker.setExtUnpackers(this);\n }\n\n return this;\n}\n\nfunction addExtUnpacker(etype, unpacker) {\n var unpackers = this.extUnpackers || (this.extUnpackers = []);\n unpackers[etype] = CodecBase.filter(unpacker);\n}\n\nfunction getExtUnpacker(type) {\n var unpackers = this.extUnpackers || (this.extUnpackers = []);\n return unpackers[type] || extUnpacker;\n\n function extUnpacker(buffer) {\n return new ExtBuffer(buffer, type);\n }\n}","// read-format.js\nvar ieee754 = require(\"ieee754\");\n\nvar Int64Buffer = require(\"int64-buffer\");\n\nvar Uint64BE = Int64Buffer.Uint64BE;\nvar Int64BE = Int64Buffer.Int64BE;\nexports.getReadFormat = getReadFormat;\nexports.readUint8 = uint8;\n\nvar Bufferish = require(\"./bufferish\");\n\nvar BufferProto = require(\"./bufferish-proto\");\n\nvar HAS_MAP = \"undefined\" !== typeof Map;\nvar NO_ASSERT = true;\n\nfunction getReadFormat(options) {\n var binarraybuffer = Bufferish.hasArrayBuffer && options && options.binarraybuffer;\n var int64 = options && options.int64;\n var usemap = HAS_MAP && options && options.usemap;\n var readFormat = {\n map: usemap ? map_to_map : map_to_obj,\n array: array,\n str: str,\n bin: binarraybuffer ? bin_arraybuffer : bin_buffer,\n ext: ext,\n uint8: uint8,\n uint16: uint16,\n uint32: uint32,\n uint64: read(8, int64 ? readUInt64BE_int64 : readUInt64BE),\n int8: int8,\n int16: int16,\n int32: int32,\n int64: read(8, int64 ? readInt64BE_int64 : readInt64BE),\n float32: read(4, readFloatBE),\n float64: read(8, readDoubleBE)\n };\n return readFormat;\n}\n\nfunction map_to_obj(decoder, len) {\n var value = {};\n var i;\n var k = new Array(len);\n var v = new Array(len);\n var decode = decoder.codec.decode;\n\n for (i = 0; i < len; i++) {\n k[i] = decode(decoder);\n v[i] = decode(decoder);\n }\n\n for (i = 0; i < len; i++) {\n value[k[i]] = v[i];\n }\n\n return value;\n}\n\nfunction map_to_map(decoder, len) {\n var value = new Map();\n var i;\n var k = new Array(len);\n var v = new Array(len);\n var decode = decoder.codec.decode;\n\n for (i = 0; i < len; i++) {\n k[i] = decode(decoder);\n v[i] = decode(decoder);\n }\n\n for (i = 0; i < len; i++) {\n value.set(k[i], v[i]);\n }\n\n return value;\n}\n\nfunction array(decoder, len) {\n var value = new Array(len);\n var decode = decoder.codec.decode;\n\n for (var i = 0; i < len; i++) {\n value[i] = decode(decoder);\n }\n\n return value;\n}\n\nfunction str(decoder, len) {\n var start = decoder.reserve(len);\n var end = start + len;\n return BufferProto.toString.call(decoder.buffer, \"utf-8\", start, end);\n}\n\nfunction bin_buffer(decoder, len) {\n var start = decoder.reserve(len);\n var end = start + len;\n var buf = BufferProto.slice.call(decoder.buffer, start, end);\n return Bufferish.from(buf);\n}\n\nfunction bin_arraybuffer(decoder, len) {\n var start = decoder.reserve(len);\n var end = start + len;\n var buf = BufferProto.slice.call(decoder.buffer, start, end);\n return Bufferish.Uint8Array.from(buf).buffer;\n}\n\nfunction ext(decoder, len) {\n var start = decoder.reserve(len + 1);\n var type = decoder.buffer[start++];\n var end = start + len;\n var unpack = decoder.codec.getExtUnpacker(type);\n if (!unpack) throw new Error(\"Invalid ext type: \" + (type ? \"0x\" + type.toString(16) : type));\n var buf = BufferProto.slice.call(decoder.buffer, start, end);\n return unpack(buf);\n}\n\nfunction uint8(decoder) {\n var start = decoder.reserve(1);\n return decoder.buffer[start];\n}\n\nfunction int8(decoder) {\n var start = decoder.reserve(1);\n var value = decoder.buffer[start];\n return value & 0x80 ? value - 0x100 : value;\n}\n\nfunction uint16(decoder) {\n var start = decoder.reserve(2);\n var buffer = decoder.buffer;\n return buffer[start++] << 8 | buffer[start];\n}\n\nfunction int16(decoder) {\n var start = decoder.reserve(2);\n var buffer = decoder.buffer;\n var value = buffer[start++] << 8 | buffer[start];\n return value & 0x8000 ? value - 0x10000 : value;\n}\n\nfunction uint32(decoder) {\n var start = decoder.reserve(4);\n var buffer = decoder.buffer;\n return buffer[start++] * 16777216 + (buffer[start++] << 16) + (buffer[start++] << 8) + buffer[start];\n}\n\nfunction int32(decoder) {\n var start = decoder.reserve(4);\n var buffer = decoder.buffer;\n return buffer[start++] << 24 | buffer[start++] << 16 | buffer[start++] << 8 | buffer[start];\n}\n\nfunction read(len, method) {\n return function (decoder) {\n var start = decoder.reserve(len);\n return method.call(decoder.buffer, start, NO_ASSERT);\n };\n}\n\nfunction readUInt64BE(start) {\n return new Uint64BE(this, start).toNumber();\n}\n\nfunction readInt64BE(start) {\n return new Int64BE(this, start).toNumber();\n}\n\nfunction readUInt64BE_int64(start) {\n return new Uint64BE(this, start);\n}\n\nfunction readInt64BE_int64(start) {\n return new Int64BE(this, start);\n}\n\nfunction readFloatBE(start) {\n return ieee754.read(this, start, false, 23, 4);\n}\n\nfunction readDoubleBE(start) {\n return ieee754.read(this, start, false, 52, 8);\n}","// read-token.js\nvar ReadFormat = require(\"./read-format\");\n\nexports.getReadToken = getReadToken;\n\nfunction getReadToken(options) {\n var format = ReadFormat.getReadFormat(options);\n\n if (options && options.useraw) {\n return init_useraw(format);\n } else {\n return init_token(format);\n }\n}\n\nfunction init_token(format) {\n var i;\n var token = new Array(256); // positive fixint -- 0x00 - 0x7f\n\n for (i = 0x00; i <= 0x7f; i++) {\n token[i] = constant(i);\n } // fixmap -- 0x80 - 0x8f\n\n\n for (i = 0x80; i <= 0x8f; i++) {\n token[i] = fix(i - 0x80, format.map);\n } // fixarray -- 0x90 - 0x9f\n\n\n for (i = 0x90; i <= 0x9f; i++) {\n token[i] = fix(i - 0x90, format.array);\n } // fixstr -- 0xa0 - 0xbf\n\n\n for (i = 0xa0; i <= 0xbf; i++) {\n token[i] = fix(i - 0xa0, format.str);\n } // nil -- 0xc0\n\n\n token[0xc0] = constant(null); // (never used) -- 0xc1\n\n token[0xc1] = null; // false -- 0xc2\n // true -- 0xc3\n\n token[0xc2] = constant(false);\n token[0xc3] = constant(true); // bin 8 -- 0xc4\n // bin 16 -- 0xc5\n // bin 32 -- 0xc6\n\n token[0xc4] = flex(format.uint8, format.bin);\n token[0xc5] = flex(format.uint16, format.bin);\n token[0xc6] = flex(format.uint32, format.bin); // ext 8 -- 0xc7\n // ext 16 -- 0xc8\n // ext 32 -- 0xc9\n\n token[0xc7] = flex(format.uint8, format.ext);\n token[0xc8] = flex(format.uint16, format.ext);\n token[0xc9] = flex(format.uint32, format.ext); // float 32 -- 0xca\n // float 64 -- 0xcb\n\n token[0xca] = format.float32;\n token[0xcb] = format.float64; // uint 8 -- 0xcc\n // uint 16 -- 0xcd\n // uint 32 -- 0xce\n // uint 64 -- 0xcf\n\n token[0xcc] = format.uint8;\n token[0xcd] = format.uint16;\n token[0xce] = format.uint32;\n token[0xcf] = format.uint64; // int 8 -- 0xd0\n // int 16 -- 0xd1\n // int 32 -- 0xd2\n // int 64 -- 0xd3\n\n token[0xd0] = format.int8;\n token[0xd1] = format.int16;\n token[0xd2] = format.int32;\n token[0xd3] = format.int64; // fixext 1 -- 0xd4\n // fixext 2 -- 0xd5\n // fixext 4 -- 0xd6\n // fixext 8 -- 0xd7\n // fixext 16 -- 0xd8\n\n token[0xd4] = fix(1, format.ext);\n token[0xd5] = fix(2, format.ext);\n token[0xd6] = fix(4, format.ext);\n token[0xd7] = fix(8, format.ext);\n token[0xd8] = fix(16, format.ext); // str 8 -- 0xd9\n // str 16 -- 0xda\n // str 32 -- 0xdb\n\n token[0xd9] = flex(format.uint8, format.str);\n token[0xda] = flex(format.uint16, format.str);\n token[0xdb] = flex(format.uint32, format.str); // array 16 -- 0xdc\n // array 32 -- 0xdd\n\n token[0xdc] = flex(format.uint16, format.array);\n token[0xdd] = flex(format.uint32, format.array); // map 16 -- 0xde\n // map 32 -- 0xdf\n\n token[0xde] = flex(format.uint16, format.map);\n token[0xdf] = flex(format.uint32, format.map); // negative fixint -- 0xe0 - 0xff\n\n for (i = 0xe0; i <= 0xff; i++) {\n token[i] = constant(i - 0x100);\n }\n\n return token;\n}\n\nfunction init_useraw(format) {\n var i;\n var token = init_token(format).slice(); // raw 8 -- 0xd9\n // raw 16 -- 0xda\n // raw 32 -- 0xdb\n\n token[0xd9] = token[0xc4];\n token[0xda] = token[0xc5];\n token[0xdb] = token[0xc6]; // fixraw -- 0xa0 - 0xbf\n\n for (i = 0xa0; i <= 0xbf; i++) {\n token[i] = fix(i - 0xa0, format.bin);\n }\n\n return token;\n}\n\nfunction constant(value) {\n return function () {\n return value;\n };\n}\n\nfunction flex(lenFunc, decodeFunc) {\n return function (decoder) {\n var len = lenFunc(decoder);\n return decodeFunc(decoder, len);\n };\n}\n\nfunction fix(len, method) {\n return function (decoder) {\n return method(decoder, len);\n };\n}","// write-core.js\nvar ExtBuffer = require(\"./ext-buffer\").ExtBuffer;\n\nvar ExtPacker = require(\"./ext-packer\");\n\nvar WriteType = require(\"./write-type\");\n\nvar CodecBase = require(\"./codec-base\");\n\nCodecBase.install({\n addExtPacker: addExtPacker,\n getExtPacker: getExtPacker,\n init: init\n});\nexports.preset = init.call(CodecBase.preset);\n\nfunction getEncoder(options) {\n var writeType = WriteType.getWriteType(options);\n return encode;\n\n function encode(encoder, value) {\n var func = writeType[typeof value];\n if (!func) throw new Error(\"Unsupported type \\\"\" + typeof value + \"\\\": \" + value);\n func(encoder, value);\n }\n}\n\nfunction init() {\n var options = this.options;\n this.encode = getEncoder(options);\n\n if (options && options.preset) {\n ExtPacker.setExtPackers(this);\n }\n\n return this;\n}\n\nfunction addExtPacker(etype, Class, packer) {\n packer = CodecBase.filter(packer);\n var name = Class.name;\n\n if (name && name !== \"Object\") {\n var packers = this.extPackers || (this.extPackers = {});\n packers[name] = extPacker;\n } else {\n // fallback for IE\n var list = this.extEncoderList || (this.extEncoderList = []);\n list.unshift([Class, extPacker]);\n }\n\n function extPacker(value) {\n if (packer) value = packer(value);\n return new ExtBuffer(value, etype);\n }\n}\n\nfunction getExtPacker(value) {\n var packers = this.extPackers || (this.extPackers = {});\n var c = value.constructor;\n var e = c && c.name && packers[c.name];\n if (e) return e; // fallback for IE\n\n var list = this.extEncoderList || (this.extEncoderList = []);\n var len = list.length;\n\n for (var i = 0; i < len; i++) {\n var pair = list[i];\n if (c === pair[0]) return pair[1];\n }\n}","// write-token.js\nvar ieee754 = require(\"ieee754\");\n\nvar Int64Buffer = require(\"int64-buffer\");\n\nvar Uint64BE = Int64Buffer.Uint64BE;\nvar Int64BE = Int64Buffer.Int64BE;\n\nvar uint8 = require(\"./write-uint8\").uint8;\n\nvar Bufferish = require(\"./bufferish\");\n\nvar Buffer = Bufferish.global;\nvar IS_BUFFER_SHIM = Bufferish.hasBuffer && \"TYPED_ARRAY_SUPPORT\" in Buffer;\nvar NO_TYPED_ARRAY = IS_BUFFER_SHIM && !Buffer.TYPED_ARRAY_SUPPORT;\nvar Buffer_prototype = Bufferish.hasBuffer && Buffer.prototype || {};\nexports.getWriteToken = getWriteToken;\n\nfunction getWriteToken(options) {\n if (options && options.uint8array) {\n return init_uint8array();\n } else if (NO_TYPED_ARRAY || Bufferish.hasBuffer && options && options.safe) {\n return init_safe();\n } else {\n return init_token();\n }\n}\n\nfunction init_uint8array() {\n var token = init_token(); // float 32 -- 0xca\n // float 64 -- 0xcb\n\n token[0xca] = writeN(0xca, 4, writeFloatBE);\n token[0xcb] = writeN(0xcb, 8, writeDoubleBE);\n return token;\n} // Node.js and browsers with TypedArray\n\n\nfunction init_token() {\n // (immediate values)\n // positive fixint -- 0x00 - 0x7f\n // nil -- 0xc0\n // false -- 0xc2\n // true -- 0xc3\n // negative fixint -- 0xe0 - 0xff\n var token = uint8.slice(); // bin 8 -- 0xc4\n // bin 16 -- 0xc5\n // bin 32 -- 0xc6\n\n token[0xc4] = write1(0xc4);\n token[0xc5] = write2(0xc5);\n token[0xc6] = write4(0xc6); // ext 8 -- 0xc7\n // ext 16 -- 0xc8\n // ext 32 -- 0xc9\n\n token[0xc7] = write1(0xc7);\n token[0xc8] = write2(0xc8);\n token[0xc9] = write4(0xc9); // float 32 -- 0xca\n // float 64 -- 0xcb\n\n token[0xca] = writeN(0xca, 4, Buffer_prototype.writeFloatBE || writeFloatBE, true);\n token[0xcb] = writeN(0xcb, 8, Buffer_prototype.writeDoubleBE || writeDoubleBE, true); // uint 8 -- 0xcc\n // uint 16 -- 0xcd\n // uint 32 -- 0xce\n // uint 64 -- 0xcf\n\n token[0xcc] = write1(0xcc);\n token[0xcd] = write2(0xcd);\n token[0xce] = write4(0xce);\n token[0xcf] = writeN(0xcf, 8, writeUInt64BE); // int 8 -- 0xd0\n // int 16 -- 0xd1\n // int 32 -- 0xd2\n // int 64 -- 0xd3\n\n token[0xd0] = write1(0xd0);\n token[0xd1] = write2(0xd1);\n token[0xd2] = write4(0xd2);\n token[0xd3] = writeN(0xd3, 8, writeInt64BE); // str 8 -- 0xd9\n // str 16 -- 0xda\n // str 32 -- 0xdb\n\n token[0xd9] = write1(0xd9);\n token[0xda] = write2(0xda);\n token[0xdb] = write4(0xdb); // array 16 -- 0xdc\n // array 32 -- 0xdd\n\n token[0xdc] = write2(0xdc);\n token[0xdd] = write4(0xdd); // map 16 -- 0xde\n // map 32 -- 0xdf\n\n token[0xde] = write2(0xde);\n token[0xdf] = write4(0xdf);\n return token;\n} // safe mode: for old browsers and who needs asserts\n\n\nfunction init_safe() {\n // (immediate values)\n // positive fixint -- 0x00 - 0x7f\n // nil -- 0xc0\n // false -- 0xc2\n // true -- 0xc3\n // negative fixint -- 0xe0 - 0xff\n var token = uint8.slice(); // bin 8 -- 0xc4\n // bin 16 -- 0xc5\n // bin 32 -- 0xc6\n\n token[0xc4] = writeN(0xc4, 1, Buffer.prototype.writeUInt8);\n token[0xc5] = writeN(0xc5, 2, Buffer.prototype.writeUInt16BE);\n token[0xc6] = writeN(0xc6, 4, Buffer.prototype.writeUInt32BE); // ext 8 -- 0xc7\n // ext 16 -- 0xc8\n // ext 32 -- 0xc9\n\n token[0xc7] = writeN(0xc7, 1, Buffer.prototype.writeUInt8);\n token[0xc8] = writeN(0xc8, 2, Buffer.prototype.writeUInt16BE);\n token[0xc9] = writeN(0xc9, 4, Buffer.prototype.writeUInt32BE); // float 32 -- 0xca\n // float 64 -- 0xcb\n\n token[0xca] = writeN(0xca, 4, Buffer.prototype.writeFloatBE);\n token[0xcb] = writeN(0xcb, 8, Buffer.prototype.writeDoubleBE); // uint 8 -- 0xcc\n // uint 16 -- 0xcd\n // uint 32 -- 0xce\n // uint 64 -- 0xcf\n\n token[0xcc] = writeN(0xcc, 1, Buffer.prototype.writeUInt8);\n token[0xcd] = writeN(0xcd, 2, Buffer.prototype.writeUInt16BE);\n token[0xce] = writeN(0xce, 4, Buffer.prototype.writeUInt32BE);\n token[0xcf] = writeN(0xcf, 8, writeUInt64BE); // int 8 -- 0xd0\n // int 16 -- 0xd1\n // int 32 -- 0xd2\n // int 64 -- 0xd3\n\n token[0xd0] = writeN(0xd0, 1, Buffer.prototype.writeInt8);\n token[0xd1] = writeN(0xd1, 2, Buffer.prototype.writeInt16BE);\n token[0xd2] = writeN(0xd2, 4, Buffer.prototype.writeInt32BE);\n token[0xd3] = writeN(0xd3, 8, writeInt64BE); // str 8 -- 0xd9\n // str 16 -- 0xda\n // str 32 -- 0xdb\n\n token[0xd9] = writeN(0xd9, 1, Buffer.prototype.writeUInt8);\n token[0xda] = writeN(0xda, 2, Buffer.prototype.writeUInt16BE);\n token[0xdb] = writeN(0xdb, 4, Buffer.prototype.writeUInt32BE); // array 16 -- 0xdc\n // array 32 -- 0xdd\n\n token[0xdc] = writeN(0xdc, 2, Buffer.prototype.writeUInt16BE);\n token[0xdd] = writeN(0xdd, 4, Buffer.prototype.writeUInt32BE); // map 16 -- 0xde\n // map 32 -- 0xdf\n\n token[0xde] = writeN(0xde, 2, Buffer.prototype.writeUInt16BE);\n token[0xdf] = writeN(0xdf, 4, Buffer.prototype.writeUInt32BE);\n return token;\n}\n\nfunction write1(type) {\n return function (encoder, value) {\n var offset = encoder.reserve(2);\n var buffer = encoder.buffer;\n buffer[offset++] = type;\n buffer[offset] = value;\n };\n}\n\nfunction write2(type) {\n return function (encoder, value) {\n var offset = encoder.reserve(3);\n var buffer = encoder.buffer;\n buffer[offset++] = type;\n buffer[offset++] = value >>> 8;\n buffer[offset] = value;\n };\n}\n\nfunction write4(type) {\n return function (encoder, value) {\n var offset = encoder.reserve(5);\n var buffer = encoder.buffer;\n buffer[offset++] = type;\n buffer[offset++] = value >>> 24;\n buffer[offset++] = value >>> 16;\n buffer[offset++] = value >>> 8;\n buffer[offset] = value;\n };\n}\n\nfunction writeN(type, len, method, noAssert) {\n return function (encoder, value) {\n var offset = encoder.reserve(len + 1);\n encoder.buffer[offset++] = type;\n method.call(encoder.buffer, value, offset, noAssert);\n };\n}\n\nfunction writeUInt64BE(value, offset) {\n new Uint64BE(this, offset, value);\n}\n\nfunction writeInt64BE(value, offset) {\n new Int64BE(this, offset, value);\n}\n\nfunction writeFloatBE(value, offset) {\n ieee754.write(this, value, offset, false, 23, 4);\n}\n\nfunction writeDoubleBE(value, offset) {\n ieee754.write(this, value, offset, false, 52, 8);\n}","// write-type.js\nvar IS_ARRAY = require(\"isarray\");\n\nvar Int64Buffer = require(\"int64-buffer\");\n\nvar Uint64BE = Int64Buffer.Uint64BE;\nvar Int64BE = Int64Buffer.Int64BE;\n\nvar Bufferish = require(\"./bufferish\");\n\nvar BufferProto = require(\"./bufferish-proto\");\n\nvar WriteToken = require(\"./write-token\");\n\nvar uint8 = require(\"./write-uint8\").uint8;\n\nvar ExtBuffer = require(\"./ext-buffer\").ExtBuffer;\n\nvar HAS_UINT8ARRAY = \"undefined\" !== typeof Uint8Array;\nvar HAS_MAP = \"undefined\" !== typeof Map;\nvar extmap = [];\nextmap[1] = 0xd4;\nextmap[2] = 0xd5;\nextmap[4] = 0xd6;\nextmap[8] = 0xd7;\nextmap[16] = 0xd8;\nexports.getWriteType = getWriteType;\n\nfunction getWriteType(options) {\n var token = WriteToken.getWriteToken(options);\n var useraw = options && options.useraw;\n var binarraybuffer = HAS_UINT8ARRAY && options && options.binarraybuffer;\n var isBuffer = binarraybuffer ? Bufferish.isArrayBuffer : Bufferish.isBuffer;\n var bin = binarraybuffer ? bin_arraybuffer : bin_buffer;\n var usemap = HAS_MAP && options && options.usemap;\n var map = usemap ? map_to_map : obj_to_map;\n var writeType = {\n \"boolean\": bool,\n \"function\": nil,\n \"number\": number,\n \"object\": useraw ? object_raw : object,\n \"string\": _string(useraw ? raw_head_size : str_head_size),\n \"symbol\": nil,\n \"undefined\": nil\n };\n return writeType; // false -- 0xc2\n // true -- 0xc3\n\n function bool(encoder, value) {\n var type = value ? 0xc3 : 0xc2;\n token[type](encoder, value);\n }\n\n function number(encoder, value) {\n var ivalue = value | 0;\n var type;\n\n if (value !== ivalue) {\n // float 64 -- 0xcb\n type = 0xcb;\n token[type](encoder, value);\n return;\n } else if (-0x20 <= ivalue && ivalue <= 0x7F) {\n // positive fixint -- 0x00 - 0x7f\n // negative fixint -- 0xe0 - 0xff\n type = ivalue & 0xFF;\n } else if (0 <= ivalue) {\n // uint 8 -- 0xcc\n // uint 16 -- 0xcd\n // uint 32 -- 0xce\n type = ivalue <= 0xFF ? 0xcc : ivalue <= 0xFFFF ? 0xcd : 0xce;\n } else {\n // int 8 -- 0xd0\n // int 16 -- 0xd1\n // int 32 -- 0xd2\n type = -0x80 <= ivalue ? 0xd0 : -0x8000 <= ivalue ? 0xd1 : 0xd2;\n }\n\n token[type](encoder, ivalue);\n } // uint 64 -- 0xcf\n\n\n function uint64(encoder, value) {\n var type = 0xcf;\n token[type](encoder, value.toArray());\n } // int 64 -- 0xd3\n\n\n function int64(encoder, value) {\n var type = 0xd3;\n token[type](encoder, value.toArray());\n } // str 8 -- 0xd9\n // str 16 -- 0xda\n // str 32 -- 0xdb\n // fixstr -- 0xa0 - 0xbf\n\n\n function str_head_size(length) {\n return length < 32 ? 1 : length <= 0xFF ? 2 : length <= 0xFFFF ? 3 : 5;\n } // raw 16 -- 0xda\n // raw 32 -- 0xdb\n // fixraw -- 0xa0 - 0xbf\n\n\n function raw_head_size(length) {\n return length < 32 ? 1 : length <= 0xFFFF ? 3 : 5;\n }\n\n function _string(head_size) {\n return string;\n\n function string(encoder, value) {\n // prepare buffer\n var length = value.length;\n var maxsize = 5 + length * 3;\n encoder.offset = encoder.reserve(maxsize);\n var buffer = encoder.buffer; // expected header size\n\n var expected = head_size(length); // expected start point\n\n var start = encoder.offset + expected; // write string\n\n length = BufferProto.write.call(buffer, value, start); // actual header size\n\n var actual = head_size(length); // move content when needed\n\n if (expected !== actual) {\n var targetStart = start + actual - expected;\n var end = start + length;\n BufferProto.copy.call(buffer, buffer, targetStart, start, end);\n } // write header\n\n\n var type = actual === 1 ? 0xa0 + length : actual <= 3 ? 0xd7 + actual : 0xdb;\n token[type](encoder, length); // move cursor\n\n encoder.offset += length;\n }\n }\n\n function object(encoder, value) {\n // null\n if (value === null) return nil(encoder, value); // Buffer\n\n if (isBuffer(value)) return bin(encoder, value); // Array\n\n if (IS_ARRAY(value)) return array(encoder, value); // int64-buffer objects\n\n if (Uint64BE.isUint64BE(value)) return uint64(encoder, value);\n if (Int64BE.isInt64BE(value)) return int64(encoder, value); // ext formats\n\n var packer = encoder.codec.getExtPacker(value);\n if (packer) value = packer(value);\n if (value instanceof ExtBuffer) return ext(encoder, value); // plain old Objects or Map\n\n map(encoder, value);\n }\n\n function object_raw(encoder, value) {\n // Buffer\n if (isBuffer(value)) return raw(encoder, value); // others\n\n object(encoder, value);\n } // nil -- 0xc0\n\n\n function nil(encoder, value) {\n var type = 0xc0;\n token[type](encoder, value);\n } // fixarray -- 0x90 - 0x9f\n // array 16 -- 0xdc\n // array 32 -- 0xdd\n\n\n function array(encoder, value) {\n var length = value.length;\n var type = length < 16 ? 0x90 + length : length <= 0xFFFF ? 0xdc : 0xdd;\n token[type](encoder, length);\n var encode = encoder.codec.encode;\n\n for (var i = 0; i < length; i++) {\n encode(encoder, value[i]);\n }\n } // bin 8 -- 0xc4\n // bin 16 -- 0xc5\n // bin 32 -- 0xc6\n\n\n function bin_buffer(encoder, value) {\n var length = value.length;\n var type = length < 0xFF ? 0xc4 : length <= 0xFFFF ? 0xc5 : 0xc6;\n token[type](encoder, length);\n encoder.send(value);\n }\n\n function bin_arraybuffer(encoder, value) {\n bin_buffer(encoder, new Uint8Array(value));\n } // fixext 1 -- 0xd4\n // fixext 2 -- 0xd5\n // fixext 4 -- 0xd6\n // fixext 8 -- 0xd7\n // fixext 16 -- 0xd8\n // ext 8 -- 0xc7\n // ext 16 -- 0xc8\n // ext 32 -- 0xc9\n\n\n function ext(encoder, value) {\n var buffer = value.buffer;\n var length = buffer.length;\n var type = extmap[length] || (length < 0xFF ? 0xc7 : length <= 0xFFFF ? 0xc8 : 0xc9);\n token[type](encoder, length);\n uint8[value.type](encoder);\n encoder.send(buffer);\n } // fixmap -- 0x80 - 0x8f\n // map 16 -- 0xde\n // map 32 -- 0xdf\n\n\n function obj_to_map(encoder, value) {\n var keys = Object.keys(value);\n var length = keys.length;\n var type = length < 16 ? 0x80 + length : length <= 0xFFFF ? 0xde : 0xdf;\n token[type](encoder, length);\n var encode = encoder.codec.encode;\n keys.forEach(function (key) {\n encode(encoder, key);\n encode(encoder, value[key]);\n });\n } // fixmap -- 0x80 - 0x8f\n // map 16 -- 0xde\n // map 32 -- 0xdf\n\n\n function map_to_map(encoder, value) {\n if (!(value instanceof Map)) return obj_to_map(encoder, value);\n var length = value.size;\n var type = length < 16 ? 0x80 + length : length <= 0xFFFF ? 0xde : 0xdf;\n token[type](encoder, length);\n var encode = encoder.codec.encode;\n value.forEach(function (val, key, m) {\n encode(encoder, key);\n encode(encoder, val);\n });\n } // raw 16 -- 0xda\n // raw 32 -- 0xdb\n // fixraw -- 0xa0 - 0xbf\n\n\n function raw(encoder, value) {\n var length = value.length;\n var type = length < 32 ? 0xa0 + length : length <= 0xFFFF ? 0xda : 0xdb;\n token[type](encoder, length);\n encoder.send(value);\n }\n}","// write-unit8.js\nvar constant = exports.uint8 = new Array(256);\n\nfor (var i = 0x00; i <= 0xFF; i++) {\n constant[i] = write0(i);\n}\n\nfunction write0(type) {\n return function (encoder) {\n var offset = encoder.reserve(1);\n encoder.buffer[offset] = type;\n };\n}"],"names":["exports","encode","decode","c","B","isBuffer","module","Buffer","this","window","copy","target","targetStart","start","end","i","length","len","toString","encoding","buffer","index","string","chr","String","fromCharCode","write","offset","charCodeAt","Bufferish","alloc","size","Array","concat","from","value","isView","Uint8Array","isArrayBuffer","call","TypeError","prototype","slice","global","hasBuffer","method","BufferLite","isBufferShim","apply","arguments","brokenTypedArray","TYPED_ARRAY_SUPPORT","thisIsBuffer","targetIsBuffer","set","f","subarray","hasArrayBuffer","byteOffset","byteLength","ArrayBuffer","isArray","_isArrayBuffer","_false","_is","list","forEach","ref","result","BufferProto","fromString","auto","BufferArray","BufferBuffer","BufferUint8Array","expected","that","actual","name","key","IS_ARRAY","createCodec","install","props","Codec","add","filter","filters","reduce","iterator","join","options","init","a","b","uint8array","bufferish","preset","DecodeBuffer","codec","mixin","fetch","input","decoder","read","EventLite","Decoder","chunk","flush","push","emit","EncodeBuffer","encoder","Encoder","ExtBuffer","type","setExtPackers","addExtPacker","Error","packError","EvalError","RangeError","ReferenceError","SyntaxError","URIError","RegExp","packRegExp","Boolean","packValueOf","Date","Number","Int8Array","packTypedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","Uint8ClampedArray","DataView","_encode","ERROR_COLUMNS","message","stack","columnNumber","fileName","lineNumber","valueOf","split","shift","out","pop","unshift","setExtUnpackers","addExtUnpacker","unpackError","unpackRegExp","unpackClass","unpackArrayBuffer","_decode","Class","FlexDecoder","FlexEncoder","BUFFER_SHORTAGE","buffers","pull","mixinFactory","source","prev","e","reserve","req","Math","max","min","maxBufferSize","minBufferSize","send","ExtUnpacker","readUint8","ReadToken","CodecBase","readToken","getReadToken","func","getDecoder","etype","unpacker","extUnpackers","getExtUnpacker","ieee754","Int64Buffer","Uint64BE","Int64BE","getReadFormat","binarraybuffer","int64","map","HAS_MAP","usemap","map_to_map","map_to_obj","array","str","bin","bin_arraybuffer","bin_buffer","ext","uint8","uint16","uint32","uint64","readUInt64BE_int64","readUInt64BE","int8","int16","int32","readInt64BE_int64","readInt64BE","float32","readFloatBE","float64","readDoubleBE","Map","NO_ASSERT","k","v","buf","unpack","toNumber","ReadFormat","init_token","format","token","constant","fix","flex","lenFunc","decodeFunc","useraw","init_useraw","ExtPacker","WriteType","writeType","getWriteType","getEncoder","packer","extPackers","extPacker","extEncoderList","getExtPacker","packers","constructor","pair","NO_TYPED_ARRAY","Buffer_prototype","write1","write2","write4","writeN","writeFloatBE","writeDoubleBE","writeUInt64BE","writeInt64BE","noAssert","getWriteToken","init_uint8array","safe","writeUInt8","writeUInt16BE","writeUInt32BE","writeInt8","writeInt16BE","writeInt32BE","init_safe","WriteToken","HAS_UINT8ARRAY","extmap","obj_to_map","val","m","nil","ivalue","raw","object","head_size","maxsize","_string","isUint64BE","toArray","isInt64BE","keys","Object","write0"],"sourceRoot":""}