!function(funcsArray) { var allFuncs = {}; function getterFunc(index) { if (allFuncs[index]) return allFuncs[index].exports; var newFunc = allFuncs[index] = { i: index, l: false, exports: {} }; funcsArray[index].call(newFunc.exports, newFunc, newFunc.exports, getterFunc); newFunc.l = true; return newFunc.exports; } getterFunc.m = funcsArray; getterFunc.c = allFuncs; getterFunc.d = function(e, t, n) { getterFunc.o(e, t) || Object.defineProperty(e, t, { enumerable: true, get: n }) } getterFunc.r = function(e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: true }) } getterFunc.t = function(e, t) { if (1 & t && (e = getterFunc(e)), 8 & t) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var n = Object.create(null); if (getterFunc.r(n), Object.defineProperty(n, "default", { enumerable: true, value: e }), 2 & t && "string" != typeof e) for (var r in e) getterFunc.d(n, r, function(t) { return e[t] } .bind(null, r)); return n } getterFunc.n = function(e) { var t = e && e.__esModule ? function() { return e.default } : function() { return e } ; return getterFunc.d(t, "a", t), t } getterFunc.o = function(e, t) { return Object.prototype.hasOwnProperty.call(e, t) } getterFunc.p = "/"; getterFunc(getterFunc.s = 228); } ([function(exp, t, getterFunc) { var windowObject = getterFunc(5); var r = getterFunc(14); var o = getterFunc(23); var a = getterFunc(19); var s = getterFunc(34); var c = function e(t, i, c) { var u; var l; var h; var f; var d = t & e.F; var p = t & e.G; var m = t & e.P; var g = t & e.B; var _ = p ? windowObject : t & e.S ? windowObject[i] || (windowObject[i] = {}) : (windowObject[i] || {}).prototype; var v = p ? r : r[i] || (r[i] = {}); var y = v.prototype || (v.prototype = {}); for (u in p && (c = i), c) { h = ((l = !d && _ && void 0 !== _[u]) ? _ : c)[u]; f = g && l ? s(h, windowObject) : m && "function" == typeof h ? s(Function.call, h) : h; _ && a(_, u, h, t & e.U); v[u] != h && o(v, u, f); m && y[u] != h && (y[u] = h); } }; windowObject.core = r; c.F = 1; c.G = 2; c.S = 4; c.P = 8; c.B = 16; c.W = 32; c.U = 64; c.R = 128; exp.exports = c; } , function(e, t) { "function" == typeof Object.create ? e.exports = function(e, t) { e.super_ = t, e.prototype = Object.create(t.prototype, { constructor: { value: e, enumerable: false, writable: true, configurable: true } }) } : e.exports = function(e, t) { e.super_ = t; var i = function() {}; i.prototype = t.prototype, e.prototype = new i, e.prototype.constructor = e } } , function(e, t, i) { var n = i(9) , r = n.Buffer; function o(e, t) { for (var i in e) t[i] = e[i] } function a(e, t, i) { return r(e, t, i) } r.from && r.alloc && r.allocUnsafe && r.allocUnsafeSlow ? e.exports = n : (o(n, t), t.Buffer = a), o(r, a), a.from = function(e, t, i) { if ("number" == typeof e) throw new TypeError("Argument must not be a number"); return r(e, t, i) } , a.alloc = function(e, t, i) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); var n = r(e); return void 0 !== t ? "string" == typeof i ? n.fill(t, i) : n.fill(t) : n.fill(0), n } , a.allocUnsafe = function(e) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); return r(e) } , a.allocUnsafeSlow = function(e) { if ("number" != typeof e) throw new TypeError("Argument must be a number"); return n.SlowBuffer(e) } } , function(exp, t) { exp.exports = function(e) { try { return !!e() } catch (error) { return true } } } , function(exp, t, i) { var n = i(6); exp.exports = function(e) { if (!n(e)) throw TypeError(e + " is not an object!"); return e } } , function(exp, t) { // getWindow i = 5 var _window = exp.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); if(typeof __g == "number") __g = _window; } , function(exp, t) { function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e } )(e) } exp.exports = function(e) { return "object" === i(e) ? null !== e : "function" == typeof e } } , function(e, t, i) { "use strict"; function n(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || false, n.configurable = true, "value"in n && (n.writable = true), Object.defineProperty(e, n.key, n) } } i.r(t); var r = function() { function e() { return function(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, e), e.instance || (e.instance = this), this.changedBlocks = {}, this.worldSeed = null, this.worldSize = 128, this.timeout = null, this.version = 0, this.loadDataIfExists(), e.instance } var t, i, r; return t = e, r = [{ key: "getInstance", value: function() { return void 0 === e.instance && (e.instance = new e), e.instance } }], (i = [{ key: "loadDataIfExists", value: function() { var e = localStorage.getItem("savedGame"); if (e) { var t = JSON.parse(e); this.worldSeed = t.worldSeed, this.changedBlocks = t.changedBlocks, this.worldSize = t.worldSize, this.version = void 0 !== t.version ? t.version : 0 } 0 === this.version && this.clearData() } }, { key: "gameSaved", value: function() { return !!this.worldSeed } }, { key: "updateData", value: function() { var e = JSON.stringify({ worldSeed: this.worldSeed, changedBlocks: this.changedBlocks, worldSize: this.worldSize, version: 1 }); localStorage.setItem("savedGame", e) } }, { key: "clearData", value: function() { this.worldSeed = null, this.changedBlocks = {}, this.updateData() } }, { key: "setWorldSeed", value: function(e) { this.worldSeed = e, this.updateData() } }, { key: "getWorldSeed", value: function() { return this.worldSeed } }, { key: "setWorldSize", value: function(e) { this.worldSize = e, this.updateData() } }, { key: "getWorldSize", value: function() { return this.worldSize } }, { key: "addBlockChange", value: function(e) { var t = this; this.changedBlocks["p" + e.p[0] + "_" + e.p[1] + "_" + e.p[2]] = { a: e.add ? 1 : 0, bt: e.bt }, null === this.timeout && (this.timeout = setTimeout(function() { Date.now(); t.updateData(), t.timeout = null }, 3e3)) } }, { key: "getChangedBlocks", value: function() { var e = []; for (var t in this.changedBlocks) { var i = t.substr(1).split("_").map(function(e) { return parseInt(e) }); e.push({ p: i, add: !!this.changedBlocks[t].a, bt: this.changedBlocks[t].bt }) } return e } }]) && n(t.prototype, i), r && n(t, r), e }(); t.default = r } , function(e, t, i) { var n = i(96)("wks") , r = i(46) , o = i(5).Symbol , a = "function" == typeof o; (e.exports = function(e) { return n[e] || (n[e] = a && o[e] || (a ? o : r)("Symbol." + e)) } ).store = n } , function(e, t, i) { "use strict"; (function(e) { /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ var n = i(398) , r = i(399) , o = i(168); function a() { return c.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823 } function s(e, t) { if (a() < t) throw new RangeError("Invalid typed array length"); return c.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = c.prototype : (null === e && (e = new c(t)), e.length = t), e } function c(e, t, i) { if (!(c.TYPED_ARRAY_SUPPORT || this instanceof c)) return new c(e,t,i); if ("number" == typeof e) { if ("string" == typeof t) throw new Error("If encoding is specified then the first argument must be a string"); return h(this, e) } return u(this, e, t, i) } function u(e, t, i, n) { if ("number" == typeof t) throw new TypeError('"value" argument must not be a number'); return "undefined" != typeof ArrayBuffer && t instanceof ArrayBuffer ? function(e, t, i, n) { if (t.byteLength, i < 0 || t.byteLength < i) throw new RangeError("'offset' is out of bounds"); if (t.byteLength < i + (n || 0)) throw new RangeError("'length' is out of bounds"); t = void 0 === i && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t,i) : new Uint8Array(t,i,n); c.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = c.prototype : e = f(e, t); return e }(e, t, i, n) : "string" == typeof t ? function(e, t, i) { "string" == typeof i && "" !== i || (i = "utf8"); if (!c.isEncoding(i)) throw new TypeError('"encoding" must be a valid string encoding'); var n = 0 | p(t, i) , r = (e = s(e, n)).write(t, i); r !== n && (e = e.slice(0, r)); return e }(e, t, i) : function(e, t) { if (c.isBuffer(t)) { var i = 0 | d(t.length); return 0 === (e = s(e, i)).length ? e : (t.copy(e, 0, 0, i), e) } if (t) { if ("undefined" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || "length"in t) return "number" != typeof t.length || (n = t.length) != n ? s(e, 0) : f(e, t); if ("Buffer" === t.type && o(t.data)) return f(e, t.data) } var n; throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.") }(e, t) } function l(e) { if ("number" != typeof e) throw new TypeError('"size" argument must be a number'); if (e < 0) throw new RangeError('"size" argument must not be negative') } function h(e, t) { if (l(t), e = s(e, t < 0 ? 0 : 0 | d(t)), !c.TYPED_ARRAY_SUPPORT) for (var i = 0; i < t; ++i) e[i] = 0; return e } function f(e, t) { var i = t.length < 0 ? 0 : 0 | d(t.length); e = s(e, i); for (var n = 0; n < i; n += 1) e[n] = 255 & t[n]; return e } function d(e) { if (e >= a()) throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + a().toString(16) + " bytes"); return 0 | e } function p(e, t) { if (c.isBuffer(e)) return e.length; if ("undefined" != typeof ArrayBuffer && "function" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength; "string" != typeof e && (e = "" + e); var i = e.length; if (0 === i) return 0; for (var n = false; ; ) switch (t) { case "ascii": case "latin1": case "binary": return i; case "utf8": case "utf-8": case void 0: return V(e).length; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return 2 * i; case "hex": return i >>> 1; case "base64": return G(e).length; default: if (n) return V(e).length; t = ("" + t).toLowerCase(), n = true } } function m(e, t, i) { var n = e[t]; e[t] = e[i], e[i] = n } function g(e, t, i, n, r) { if (0 === e.length) return -1; if ("string" == typeof i ? (n = i, i = 0) : i > 2147483647 ? i = 2147483647 : i < -2147483648 && (i = -2147483648), i = +i, isNaN(i) && (i = r ? 0 : e.length - 1), i < 0 && (i = e.length + i), i >= e.length) { if (r) return -1; i = e.length - 1 } else if (i < 0) { if (!r) return -1; i = 0 } if ("string" == typeof t && (t = c.from(t, n)), c.isBuffer(t)) return 0 === t.length ? -1 : _(e, t, i, n, r); if ("number" == typeof t) return t &= 255, c.TYPED_ARRAY_SUPPORT && "function" == typeof Uint8Array.prototype.indexOf ? r ? Uint8Array.prototype.indexOf.call(e, t, i) : Uint8Array.prototype.lastIndexOf.call(e, t, i) : _(e, [t], i, n, r); throw new TypeError("val must be string, number or Buffer") } function _(e, t, i, n, r) { var o, a = 1, s = e.length, c = t.length; if (void 0 !== n && ("ucs2" === (n = String(n).toLowerCase()) || "ucs-2" === n || "utf16le" === n || "utf-16le" === n)) { if (e.length < 2 || t.length < 2) return -1; a = 2, s /= 2, c /= 2, i /= 2 } function u(e, t) { return 1 === a ? e[t] : e.readUInt16BE(t * a) } if (r) { var l = -1; for (o = i; o < s; o++) if (u(e, o) === u(t, -1 === l ? 0 : o - l)) { if (-1 === l && (l = o), o - l + 1 === c) return l * a } else -1 !== l && (o -= o - l), l = -1 } else for (i + c > s && (i = s - c), o = i; o >= 0; o--) { for (var h = true, f = 0; f < c; f++) if (u(e, o + f) !== u(t, f)) { h = false; break } if (h) return o } return -1 } function v(e, t, i, n) { i = Number(i) || 0; var r = e.length - i; n ? (n = Number(n)) > r && (n = r) : n = r; var o = t.length; if (o % 2 != 0) throw new TypeError("Invalid hex string"); n > o / 2 && (n = o / 2); for (var a = 0; a < n; ++a) { var s = parseInt(t.substr(2 * a, 2), 16); if (isNaN(s)) return a; e[i + a] = s } return a } function y(e, t, i, n) { return z(V(t, e.length - i), e, i, n) } function b(e, t, i, n) { return z(function(e) { for (var t = [], i = 0; i < e.length; ++i) t.push(255 & e.charCodeAt(i)); return t }(t), e, i, n) } function E(e, t, i, n) { return b(e, t, i, n) } function T(e, t, i, n) { return z(G(t), e, i, n) } function A(e, t, i, n) { return z(function(e, t) { for (var i, n, r, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) i = e.charCodeAt(a), n = i >> 8, r = i % 256, o.push(r), o.push(n); return o }(t, e.length - i), e, i, n) } function x(e, t, i) { return 0 === t && i === e.length ? n.fromByteArray(e) : n.fromByteArray(e.slice(t, i)) } function S(e, t, i) { i = Math.min(e.length, i); for (var n = [], r = t; r < i; ) { var o, a, s, c, u = e[r], l = null, h = u > 239 ? 4 : u > 223 ? 3 : u > 191 ? 2 : 1; if (r + h <= i) switch (h) { case 1: u < 128 && (l = u); break; case 2: 128 == (192 & (o = e[r + 1])) && (c = (31 & u) << 6 | 63 & o) > 127 && (l = c); break; case 3: o = e[r + 1], a = e[r + 2], 128 == (192 & o) && 128 == (192 & a) && (c = (15 & u) << 12 | (63 & o) << 6 | 63 & a) > 2047 && (c < 55296 || c > 57343) && (l = c); break; case 4: o = e[r + 1], a = e[r + 2], s = e[r + 3], 128 == (192 & o) && 128 == (192 & a) && 128 == (192 & s) && (c = (15 & u) << 18 | (63 & o) << 12 | (63 & a) << 6 | 63 & s) > 65535 && c < 1114112 && (l = c) } null === l ? (l = 65533, h = 1) : l > 65535 && (l -= 65536, n.push(l >>> 10 & 1023 | 55296), l = 56320 | 1023 & l), n.push(l), r += h } return function(e) { var t = e.length; if (t <= C) return String.fromCharCode.apply(String, e); var i = "" , n = 0; for (; n < t; ) i += String.fromCharCode.apply(String, e.slice(n, n += C)); return i }(n) } t.Buffer = c, t.SlowBuffer = function(e) { +e != e && (e = 0); return c.alloc(+e) } , t.INSPECT_MAX_BYTES = 50, c.TYPED_ARRAY_SUPPORT = void 0 !== e.TYPED_ARRAY_SUPPORT ? e.TYPED_ARRAY_SUPPORT : function() { try { var e = new Uint8Array(1); return e.__proto__ = { __proto__: Uint8Array.prototype, foo: function() { return 42 } }, 42 === e.foo() && "function" == typeof e.subarray && 0 === e.subarray(1, 1).byteLength } catch (e) { return false } }(), t.kMaxLength = a(), c.poolSize = 8192, c._augment = function(e) { return e.__proto__ = c.prototype, e } , c.from = function(e, t, i) { return u(null, e, t, i) } , c.TYPED_ARRAY_SUPPORT && (c.prototype.__proto__ = Uint8Array.prototype, c.__proto__ = Uint8Array, "undefined" != typeof Symbol && Symbol.species && c[Symbol.species] === c && Object.defineProperty(c, Symbol.species, { value: null, configurable: true })), c.alloc = function(e, t, i) { return function(e, t, i, n) { return l(t), t <= 0 ? s(e, t) : void 0 !== i ? "string" == typeof n ? s(e, t).fill(i, n) : s(e, t).fill(i) : s(e, t) }(null, e, t, i) } , c.allocUnsafe = function(e) { return h(null, e) } , c.allocUnsafeSlow = function(e) { return h(null, e) } , c.isBuffer = function(e) { return !(null == e || !e._isBuffer) } , c.compare = function(e, t) { if (!c.isBuffer(e) || !c.isBuffer(t)) throw new TypeError("Arguments must be Buffers"); if (e === t) return 0; for (var i = e.length, n = t.length, r = 0, o = Math.min(i, n); r < o; ++r) if (e[r] !== t[r]) { i = e[r], n = t[r]; break } return i < n ? -1 : n < i ? 1 : 0 } , c.isEncoding = function(e) { switch (String(e).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "latin1": case "binary": case "base64": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return true; default: return false } } , c.concat = function(e, t) { if (!o(e)) throw new TypeError('"list" argument must be an Array of Buffers'); if (0 === e.length) return c.alloc(0); var i; if (void 0 === t) for (t = 0, i = 0; i < e.length; ++i) t += e[i].length; var n = c.allocUnsafe(t) , r = 0; for (i = 0; i < e.length; ++i) { var a = e[i]; if (!c.isBuffer(a)) throw new TypeError('"list" argument must be an Array of Buffers'); a.copy(n, r), r += a.length } return n } , c.byteLength = p, c.prototype._isBuffer = true, c.prototype.swap16 = function() { var e = this.length; if (e % 2 != 0) throw new RangeError("Buffer size must be a multiple of 16-bits"); for (var t = 0; t < e; t += 2) m(this, t, t + 1); return this } , c.prototype.swap32 = function() { var e = this.length; if (e % 4 != 0) throw new RangeError("Buffer size must be a multiple of 32-bits"); for (var t = 0; t < e; t += 4) m(this, t, t + 3), m(this, t + 1, t + 2); return this } , c.prototype.swap64 = function() { var e = this.length; if (e % 8 != 0) throw new RangeError("Buffer size must be a multiple of 64-bits"); for (var t = 0; t < e; t += 8) m(this, t, t + 7), m(this, t + 1, t + 6), m(this, t + 2, t + 5), m(this, t + 3, t + 4); return this } , c.prototype.toString = function() { var e = 0 | this.length; return 0 === e ? "" : 0 === arguments.length ? S(this, 0, e) : function(e, t, i) { var n = false; if ((void 0 === t || t < 0) && (t = 0), t > this.length) return ""; if ((void 0 === i || i > this.length) && (i = this.length), i <= 0) return ""; if ((i >>>= 0) <= (t >>>= 0)) return ""; for (e || (e = "utf8"); ; ) switch (e) { case "hex": return M(this, t, i); case "utf8": case "utf-8": return S(this, t, i); case "ascii": return P(this, t, i); case "latin1": case "binary": return R(this, t, i); case "base64": return x(this, t, i); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return O(this, t, i); default: if (n) throw new TypeError("Unknown encoding: " + e); e = (e + "").toLowerCase(), n = true } } .apply(this, arguments) } , c.prototype.equals = function(e) { if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); return this === e || 0 === c.compare(this, e) } , c.prototype.inspect = function() { var e = "" , i = t.INSPECT_MAX_BYTES; return this.length > 0 && (e = this.toString("hex", 0, i).match(/.{2}/g).join(" "), this.length > i && (e += " ... ")), "" } , c.prototype.compare = function(e, t, i, n, r) { if (!c.isBuffer(e)) throw new TypeError("Argument must be a Buffer"); if (void 0 === t && (t = 0), void 0 === i && (i = e ? e.length : 0), void 0 === n && (n = 0), void 0 === r && (r = this.length), t < 0 || i > e.length || n < 0 || r > this.length) throw new RangeError("out of range index"); if (n >= r && t >= i) return 0; if (n >= r) return -1; if (t >= i) return 1; if (this === e) return 0; for (var o = (r >>>= 0) - (n >>>= 0), a = (i >>>= 0) - (t >>>= 0), s = Math.min(o, a), u = this.slice(n, r), l = e.slice(t, i), h = 0; h < s; ++h) if (u[h] !== l[h]) { o = u[h], a = l[h]; break } return o < a ? -1 : a < o ? 1 : 0 } , c.prototype.includes = function(e, t, i) { return -1 !== this.indexOf(e, t, i) } , c.prototype.indexOf = function(e, t, i) { return g(this, e, t, i, true) } , c.prototype.lastIndexOf = function(e, t, i) { return g(this, e, t, i, false) } , c.prototype.write = function(e, t, i, n) { if (void 0 === t) n = "utf8", i = this.length, t = 0; else if (void 0 === i && "string" == typeof t) n = t, i = this.length, t = 0; else { if (!isFinite(t)) throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported"); t |= 0, isFinite(i) ? (i |= 0, void 0 === n && (n = "utf8")) : (n = i, i = void 0) } var r = this.length - t; if ((void 0 === i || i > r) && (i = r), e.length > 0 && (i < 0 || t < 0) || t > this.length) throw new RangeError("Attempt to write outside buffer bounds"); n || (n = "utf8"); for (var o = false; ; ) switch (n) { case "hex": return v(this, e, t, i); case "utf8": case "utf-8": return y(this, e, t, i); case "ascii": return b(this, e, t, i); case "latin1": case "binary": return E(this, e, t, i); case "base64": return T(this, e, t, i); case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return A(this, e, t, i); default: if (o) throw new TypeError("Unknown encoding: " + n); n = ("" + n).toLowerCase(), o = true } } , c.prototype.toJSON = function() { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } } ; var C = 4096; function P(e, t, i) { var n = ""; i = Math.min(e.length, i); for (var r = t; r < i; ++r) n += String.fromCharCode(127 & e[r]); return n } function R(e, t, i) { var n = ""; i = Math.min(e.length, i); for (var r = t; r < i; ++r) n += String.fromCharCode(e[r]); return n } function M(e, t, i) { var n = e.length; (!t || t < 0) && (t = 0), (!i || i < 0 || i > n) && (i = n); for (var r = "", o = t; o < i; ++o) r += U(e[o]); return r } function O(e, t, i) { for (var n = e.slice(t, i), r = "", o = 0; o < n.length; o += 2) r += String.fromCharCode(n[o] + 256 * n[o + 1]); return r } function w(e, t, i) { if (e % 1 != 0 || e < 0) throw new RangeError("offset is not uint"); if (e + t > i) throw new RangeError("Trying to access beyond buffer length") } function I(e, t, i, n, r, o) { if (!c.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance'); if (t > r || t < o) throw new RangeError('"value" argument is out of bounds'); if (i + n > e.length) throw new RangeError("Index out of range") } function D(e, t, i, n) { t < 0 && (t = 65535 + t + 1); for (var r = 0, o = Math.min(e.length - i, 2); r < o; ++r) e[i + r] = (t & 255 << 8 * (n ? r : 1 - r)) >>> 8 * (n ? r : 1 - r) } function L(e, t, i, n) { t < 0 && (t = 4294967295 + t + 1); for (var r = 0, o = Math.min(e.length - i, 4); r < o; ++r) e[i + r] = t >>> 8 * (n ? r : 3 - r) & 255 } function F(e, t, i, n, r, o) { if (i + n > e.length) throw new RangeError("Index out of range"); if (i < 0) throw new RangeError("Index out of range") } function B(e, t, i, n, o) { return o || F(e, 0, i, 4), r.write(e, t, i, n, 23, 4), i + 4 } function N(e, t, i, n, o) { return o || F(e, 0, i, 8), r.write(e, t, i, n, 52, 8), i + 8 } c.prototype.slice = function(e, t) { var i, n = this.length; if ((e = ~~e) < 0 ? (e += n) < 0 && (e = 0) : e > n && (e = n), (t = void 0 === t ? n : ~~t) < 0 ? (t += n) < 0 && (t = 0) : t > n && (t = n), t < e && (t = e), c.TYPED_ARRAY_SUPPORT) (i = this.subarray(e, t)).__proto__ = c.prototype; else { var r = t - e; i = new c(r,void 0); for (var o = 0; o < r; ++o) i[o] = this[o + e] } return i } , c.prototype.readUIntLE = function(e, t, i) { e |= 0, t |= 0, i || w(e, t, this.length); for (var n = this[e], r = 1, o = 0; ++o < t && (r *= 256); ) n += this[e + o] * r; return n } , c.prototype.readUIntBE = function(e, t, i) { e |= 0, t |= 0, i || w(e, t, this.length); for (var n = this[e + --t], r = 1; t > 0 && (r *= 256); ) n += this[e + --t] * r; return n } , c.prototype.readUInt8 = function(e, t) { return t || w(e, 1, this.length), this[e] } , c.prototype.readUInt16LE = function(e, t) { return t || w(e, 2, this.length), this[e] | this[e + 1] << 8 } , c.prototype.readUInt16BE = function(e, t) { return t || w(e, 2, this.length), this[e] << 8 | this[e + 1] } , c.prototype.readUInt32LE = function(e, t) { return t || w(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3] } , c.prototype.readUInt32BE = function(e, t) { return t || w(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]) } , c.prototype.readIntLE = function(e, t, i) { e |= 0, t |= 0, i || w(e, t, this.length); for (var n = this[e], r = 1, o = 0; ++o < t && (r *= 256); ) n += this[e + o] * r; return n >= (r *= 128) && (n -= Math.pow(2, 8 * t)), n } , c.prototype.readIntBE = function(e, t, i) { e |= 0, t |= 0, i || w(e, t, this.length); for (var n = t, r = 1, o = this[e + --n]; n > 0 && (r *= 256); ) o += this[e + --n] * r; return o >= (r *= 128) && (o -= Math.pow(2, 8 * t)), o } , c.prototype.readInt8 = function(e, t) { return t || w(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e] } , c.prototype.readInt16LE = function(e, t) { t || w(e, 2, this.length); var i = this[e] | this[e + 1] << 8; return 32768 & i ? 4294901760 | i : i } , c.prototype.readInt16BE = function(e, t) { t || w(e, 2, this.length); var i = this[e + 1] | this[e] << 8; return 32768 & i ? 4294901760 | i : i } , c.prototype.readInt32LE = function(e, t) { return t || w(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24 } , c.prototype.readInt32BE = function(e, t) { return t || w(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3] } , c.prototype.readFloatLE = function(e, t) { return t || w(e, 4, this.length), r.read(this, e, true, 23, 4) } , c.prototype.readFloatBE = function(e, t) { return t || w(e, 4, this.length), r.read(this, e, false, 23, 4) } , c.prototype.readDoubleLE = function(e, t) { return t || w(e, 8, this.length), r.read(this, e, true, 52, 8) } , c.prototype.readDoubleBE = function(e, t) { return t || w(e, 8, this.length), r.read(this, e, false, 52, 8) } , c.prototype.writeUIntLE = function(e, t, i, n) { (e = +e, t |= 0, i |= 0, n) || I(this, e, t, i, Math.pow(2, 8 * i) - 1, 0); var r = 1 , o = 0; for (this[t] = 255 & e; ++o < i && (r *= 256); ) this[t + o] = e / r & 255; return t + i } , c.prototype.writeUIntBE = function(e, t, i, n) { (e = +e, t |= 0, i |= 0, n) || I(this, e, t, i, Math.pow(2, 8 * i) - 1, 0); var r = i - 1 , o = 1; for (this[t + r] = 255 & e; --r >= 0 && (o *= 256); ) this[t + r] = e / o & 255; return t + i } , c.prototype.writeUInt8 = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 1, 255, 0), c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1 } , c.prototype.writeUInt16LE = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 2, 65535, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : D(this, e, t, true), t + 2 } , c.prototype.writeUInt16BE = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 2, 65535, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : D(this, e, t, false), t + 2 } , c.prototype.writeUInt32LE = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 4, 4294967295, 0), c.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : L(this, e, t, true), t + 4 } , c.prototype.writeUInt32BE = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 4, 4294967295, 0), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : L(this, e, t, false), t + 4 } , c.prototype.writeIntLE = function(e, t, i, n) { if (e = +e, t |= 0, !n) { var r = Math.pow(2, 8 * i - 1); I(this, e, t, i, r - 1, -r) } var o = 0 , a = 1 , s = 0; for (this[t] = 255 & e; ++o < i && (a *= 256); ) e < 0 && 0 === s && 0 !== this[t + o - 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255; return t + i } , c.prototype.writeIntBE = function(e, t, i, n) { if (e = +e, t |= 0, !n) { var r = Math.pow(2, 8 * i - 1); I(this, e, t, i, r - 1, -r) } var o = i - 1 , a = 1 , s = 0; for (this[t + o] = 255 & e; --o >= 0 && (a *= 256); ) e < 0 && 0 === s && 0 !== this[t + o + 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255; return t + i } , c.prototype.writeInt8 = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 1, 127, -128), c.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1 } , c.prototype.writeInt16LE = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 2, 32767, -32768), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : D(this, e, t, true), t + 2 } , c.prototype.writeInt16BE = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 2, 32767, -32768), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : D(this, e, t, false), t + 2 } , c.prototype.writeInt32LE = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 4, 2147483647, -2147483648), c.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : L(this, e, t, true), t + 4 } , c.prototype.writeInt32BE = function(e, t, i) { return e = +e, t |= 0, i || I(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), c.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : L(this, e, t, false), t + 4 } , c.prototype.writeFloatLE = function(e, t, i) { return B(this, e, t, true, i) } , c.prototype.writeFloatBE = function(e, t, i) { return B(this, e, t, false, i) } , c.prototype.writeDoubleLE = function(e, t, i) { return N(this, e, t, true, i) } , c.prototype.writeDoubleBE = function(e, t, i) { return N(this, e, t, false, i) } , c.prototype.copy = function(e, t, i, n) { if (i || (i = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < i && (n = i), n === i) return 0; if (0 === e.length || 0 === this.length) return 0; if (t < 0) throw new RangeError("targetStart out of bounds"); if (i < 0 || i >= this.length) throw new RangeError("sourceStart out of bounds"); if (n < 0) throw new RangeError("sourceEnd out of bounds"); n > this.length && (n = this.length), e.length - t < n - i && (n = e.length - t + i); var r, o = n - i; if (this === e && i < t && t < n) for (r = o - 1; r >= 0; --r) e[r + t] = this[r + i]; else if (o < 1e3 || !c.TYPED_ARRAY_SUPPORT) for (r = 0; r < o; ++r) e[r + t] = this[r + i]; else Uint8Array.prototype.set.call(e, this.subarray(i, i + o), t); return o } , c.prototype.fill = function(e, t, i, n) { if ("string" == typeof e) { if ("string" == typeof t ? (n = t, t = 0, i = this.length) : "string" == typeof i && (n = i, i = this.length), 1 === e.length) { var r = e.charCodeAt(0); r < 256 && (e = r) } if (void 0 !== n && "string" != typeof n) throw new TypeError("encoding must be a string"); if ("string" == typeof n && !c.isEncoding(n)) throw new TypeError("Unknown encoding: " + n) } else "number" == typeof e && (e &= 255); if (t < 0 || this.length < t || this.length < i) throw new RangeError("Out of range index"); if (i <= t) return this; var o; if (t >>>= 0, i = void 0 === i ? this.length : i >>> 0, e || (e = 0), "number" == typeof e) for (o = t; o < i; ++o) this[o] = e; else { var a = c.isBuffer(e) ? e : V(new c(e,n).toString()) , s = a.length; for (o = 0; o < i - t; ++o) this[o + t] = a[o % s] } return this } ; var k = /[^+\/0-9A-Za-z-_]/g; function U(e) { return e < 16 ? "0" + e.toString(16) : e.toString(16) } function V(e, t) { var i; t = t || 1 / 0; for (var n = e.length, r = null, o = [], a = 0; a < n; ++a) { if ((i = e.charCodeAt(a)) > 55295 && i < 57344) { if (!r) { if (i > 56319) { (t -= 3) > -1 && o.push(239, 191, 189); continue } if (a + 1 === n) { (t -= 3) > -1 && o.push(239, 191, 189); continue } r = i; continue } if (i < 56320) { (t -= 3) > -1 && o.push(239, 191, 189), r = i; continue } i = 65536 + (r - 55296 << 10 | i - 56320) } else r && (t -= 3) > -1 && o.push(239, 191, 189); if (r = null, i < 128) { if ((t -= 1) < 0) break; o.push(i) } else if (i < 2048) { if ((t -= 2) < 0) break; o.push(i >> 6 | 192, 63 & i | 128) } else if (i < 65536) { if ((t -= 3) < 0) break; o.push(i >> 12 | 224, i >> 6 & 63 | 128, 63 & i | 128) } else { if (!(i < 1114112)) throw new Error("Invalid code point"); if ((t -= 4) < 0) break; o.push(i >> 18 | 240, i >> 12 & 63 | 128, i >> 6 & 63 | 128, 63 & i | 128) } } return o } function G(e) { return n.toByteArray(function(e) { if ((e = function(e) { return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "") }(e).replace(k, "")).length < 2) return ""; for (; e.length % 4 != 0; ) e += "="; return e }(e)) } function z(e, t, i, n) { for (var r = 0; r < n && !(r + i >= t.length || r >= e.length); ++r) t[r + i] = e[r]; return r } } ).call(this, i(15)) } , function(exp, t, i) { var n = i(28); var r = Math.min; exp.exports = function(e) { return e > 0 ? r(n(e), 9007199254740991) : 0 } } , function(e, t, i) { (function(e) { function t(e) { return (t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e } )(e) } !function(e, n) { "use strict"; function r(e, t) { if (!e) throw new Error(t || "Assertion failed") } function o(e, t) { e.super_ = t; var i = function() {}; i.prototype = t.prototype, e.prototype = new i, e.prototype.constructor = e } function a(e, t, i) { if (a.isBN(e)) return e; this.negative = 0, this.words = null, this.length = 0, this.red = null, null !== e && ("le" !== t && "be" !== t || (i = t, t = 10), this._init(e || 0, t || 10, i || "be")) } var s; "object" === t(e) ? e.exports = a : n.BN = a, a.BN = a, a.wordSize = 26; try { s = i(543).Buffer } catch (e) {} function c(e, t, i) { for (var n = 0, r = Math.min(e.length, i), o = t; o < r; o++) { var a = e.charCodeAt(o) - 48; n <<= 4, n |= a >= 49 && a <= 54 ? a - 49 + 10 : a >= 17 && a <= 22 ? a - 17 + 10 : 15 & a } return n } function u(e, t, i, n) { for (var r = 0, o = Math.min(e.length, i), a = t; a < o; a++) { var s = e.charCodeAt(a) - 48; r *= n, r += s >= 49 ? s - 49 + 10 : s >= 17 ? s - 17 + 10 : s } return r } a.isBN = function(e) { return e instanceof a || null !== e && "object" === t(e) && e.constructor.wordSize === a.wordSize && Array.isArray(e.words) } , a.max = function(e, t) { return e.cmp(t) > 0 ? e : t } , a.min = function(e, t) { return e.cmp(t) < 0 ? e : t } , a.prototype._init = function(e, i, n) { if ("number" == typeof e) return this._initNumber(e, i, n); if ("object" === t(e)) return this._initArray(e, i, n); "hex" === i && (i = 16), r(i === (0 | i) && i >= 2 && i <= 36); var o = 0; "-" === (e = e.toString().replace(/\s+/g, ""))[0] && o++, 16 === i ? this._parseHex(e, o) : this._parseBase(e, i, o), "-" === e[0] && (this.negative = 1), this.strip(), "le" === n && this._initArray(this.toArray(), i, n) } , a.prototype._initNumber = function(e, t, i) { e < 0 && (this.negative = 1, e = -e), e < 67108864 ? (this.words = [67108863 & e], this.length = 1) : e < 4503599627370496 ? (this.words = [67108863 & e, e / 67108864 & 67108863], this.length = 2) : (r(e < 9007199254740992), this.words = [67108863 & e, e / 67108864 & 67108863, 1], this.length = 3), "le" === i && this._initArray(this.toArray(), t, i) } , a.prototype._initArray = function(e, t, i) { if (r("number" == typeof e.length), e.length <= 0) return this.words = [0], this.length = 1, this; this.length = Math.ceil(e.length / 3), this.words = new Array(this.length); for (var n = 0; n < this.length; n++) this.words[n] = 0; var o, a, s = 0; if ("be" === i) for (n = e.length - 1, o = 0; n >= 0; n -= 3) a = e[n] | e[n - 1] << 8 | e[n - 2] << 16, this.words[o] |= a << s & 67108863, this.words[o + 1] = a >>> 26 - s & 67108863, (s += 24) >= 26 && (s -= 26, o++); else if ("le" === i) for (n = 0, o = 0; n < e.length; n += 3) a = e[n] | e[n + 1] << 8 | e[n + 2] << 16, this.words[o] |= a << s & 67108863, this.words[o + 1] = a >>> 26 - s & 67108863, (s += 24) >= 26 && (s -= 26, o++); return this.strip() } , a.prototype._parseHex = function(e, t) { this.length = Math.ceil((e.length - t) / 6), this.words = new Array(this.length); for (var i = 0; i < this.length; i++) this.words[i] = 0; var n, r, o = 0; for (i = e.length - 6, n = 0; i >= t; i -= 6) r = c(e, i, i + 6), this.words[n] |= r << o & 67108863, this.words[n + 1] |= r >>> 26 - o & 4194303, (o += 24) >= 26 && (o -= 26, n++); i + 6 !== t && (r = c(e, t, i + 6), this.words[n] |= r << o & 67108863, this.words[n + 1] |= r >>> 26 - o & 4194303), this.strip() } , a.prototype._parseBase = function(e, t, i) { this.words = [0], this.length = 1; for (var n = 0, r = 1; r <= 67108863; r *= t) n++; n--, r = r / t | 0; for (var o = e.length - i, a = o % n, s = Math.min(o, o - a) + i, c = 0, l = i; l < s; l += n) c = u(e, l, l + n, t), this.imuln(r), this.words[0] + c < 67108864 ? this.words[0] += c : this._iaddn(c); if (0 !== a) { var h = 1; for (c = u(e, l, e.length, t), l = 0; l < a; l++) h *= t; this.imuln(h), this.words[0] + c < 67108864 ? this.words[0] += c : this._iaddn(c) } } , a.prototype.copy = function(e) { e.words = new Array(this.length); for (var t = 0; t < this.length; t++) e.words[t] = this.words[t]; e.length = this.length, e.negative = this.negative, e.red = this.red } , a.prototype.clone = function() { var e = new a(null); return this.copy(e), e } , a.prototype._expand = function(e) { for (; this.length < e; ) this.words[this.length++] = 0; return this } , a.prototype.strip = function() { for (; this.length > 1 && 0 === this.words[this.length - 1]; ) this.length--; return this._normSign() } , a.prototype._normSign = function() { return 1 === this.length && 0 === this.words[0] && (this.negative = 0), this } , a.prototype.inspect = function() { return (this.red ? "" } ; var l = ["", "0", "00", "000", "0000", "00000", "000000", "0000000", "00000000", "000000000", "0000000000", "00000000000", "000000000000", "0000000000000", "00000000000000", "000000000000000", "0000000000000000", "00000000000000000", "000000000000000000", "0000000000000000000", "00000000000000000000", "000000000000000000000", "0000000000000000000000", "00000000000000000000000", "000000000000000000000000", "0000000000000000000000000"] , h = [0, 0, 25, 16, 12, 11, 10, 9, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5] , f = [0, 0, 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216, 43046721, 1e7, 19487171, 35831808, 62748517, 7529536, 11390625, 16777216, 24137569, 34012224, 47045881, 64e6, 4084101, 5153632, 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149, 243e5, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176]; function d(e, t, i) { i.negative = t.negative ^ e.negative; var n = e.length + t.length | 0; i.length = n, n = n - 1 | 0; var r = 0 | e.words[0] , o = 0 | t.words[0] , a = r * o , s = 67108863 & a , c = a / 67108864 | 0; i.words[0] = s; for (var u = 1; u < n; u++) { for (var l = c >>> 26, h = 67108863 & c, f = Math.min(u, t.length - 1), d = Math.max(0, u - e.length + 1); d <= f; d++) { var p = u - d | 0; l += (a = (r = 0 | e.words[p]) * (o = 0 | t.words[d]) + h) / 67108864 | 0, h = 67108863 & a } i.words[u] = 0 | h, c = 0 | l } return 0 !== c ? i.words[u] = 0 | c : i.length--, i.strip() } a.prototype.toString = function(e, t) { var i; if (t = 0 | t || 1, 16 === (e = e || 10) || "hex" === e) { i = ""; for (var n = 0, o = 0, a = 0; a < this.length; a++) { var s = this.words[a] , c = (16777215 & (s << n | o)).toString(16); i = 0 !== (o = s >>> 24 - n & 16777215) || a !== this.length - 1 ? l[6 - c.length] + c + i : c + i, (n += 2) >= 26 && (n -= 26, a--) } for (0 !== o && (i = o.toString(16) + i); i.length % t != 0; ) i = "0" + i; return 0 !== this.negative && (i = "-" + i), i } if (e === (0 | e) && e >= 2 && e <= 36) { var u = h[e] , d = f[e]; i = ""; var p = this.clone(); for (p.negative = 0; !p.isZero(); ) { var m = p.modn(d).toString(e); i = (p = p.idivn(d)).isZero() ? m + i : l[u - m.length] + m + i } for (this.isZero() && (i = "0" + i); i.length % t != 0; ) i = "0" + i; return 0 !== this.negative && (i = "-" + i), i } r(false, "Base should be between 2 and 36") } , a.prototype.toNumber = function() { var e = this.words[0]; return 2 === this.length ? e += 67108864 * this.words[1] : 3 === this.length && 1 === this.words[2] ? e += 4503599627370496 + 67108864 * this.words[1] : this.length > 2 && r(false, "Number can only safely store up to 53 bits"), 0 !== this.negative ? -e : e } , a.prototype.toJSON = function() { return this.toString(16) } , a.prototype.toBuffer = function(e, t) { return r(void 0 !== s), this.toArrayLike(s, e, t) } , a.prototype.toArray = function(e, t) { return this.toArrayLike(Array, e, t) } , a.prototype.toArrayLike = function(e, t, i) { var n = this.byteLength() , o = i || Math.max(1, n); r(n <= o, "byte array longer than desired length"), r(o > 0, "Requested array length <= 0"), this.strip(); var a, s, c = "le" === t, u = new e(o), l = this.clone(); if (c) { for (s = 0; !l.isZero(); s++) a = l.andln(255), l.iushrn(8), u[s] = a; for (; s < o; s++) u[s] = 0 } else { for (s = 0; s < o - n; s++) u[s] = 0; for (s = 0; !l.isZero(); s++) a = l.andln(255), l.iushrn(8), u[o - s - 1] = a } return u } , Math.clz32 ? a.prototype._countBits = function(e) { return 32 - Math.clz32(e) } : a.prototype._countBits = function(e) { var t = e , i = 0; return t >= 4096 && (i += 13, t >>>= 13), t >= 64 && (i += 7, t >>>= 7), t >= 8 && (i += 4, t >>>= 4), t >= 2 && (i += 2, t >>>= 2), i + t } , a.prototype._zeroBits = function(e) { if (0 === e) return 26; var t = e , i = 0; return 0 == (8191 & t) && (i += 13, t >>>= 13), 0 == (127 & t) && (i += 7, t >>>= 7), 0 == (15 & t) && (i += 4, t >>>= 4), 0 == (3 & t) && (i += 2, t >>>= 2), 0 == (1 & t) && i++, i } , a.prototype.bitLength = function() { var e = this.words[this.length - 1] , t = this._countBits(e); return 26 * (this.length - 1) + t } , a.prototype.zeroBits = function() { if (this.isZero()) return 0; for (var e = 0, t = 0; t < this.length; t++) { var i = this._zeroBits(this.words[t]); if (e += i, 26 !== i) break } return e } , a.prototype.byteLength = function() { return Math.ceil(this.bitLength() / 8) } , a.prototype.toTwos = function(e) { return 0 !== this.negative ? this.abs().inotn(e).iaddn(1) : this.clone() } , a.prototype.fromTwos = function(e) { return this.testn(e - 1) ? this.notn(e).iaddn(1).ineg() : this.clone() } , a.prototype.isNeg = function() { return 0 !== this.negative } , a.prototype.neg = function() { return this.clone().ineg() } , a.prototype.ineg = function() { return this.isZero() || (this.negative ^= 1), this } , a.prototype.iuor = function(e) { for (; this.length < e.length; ) this.words[this.length++] = 0; for (var t = 0; t < e.length; t++) this.words[t] = this.words[t] | e.words[t]; return this.strip() } , a.prototype.ior = function(e) { return r(0 == (this.negative | e.negative)), this.iuor(e) } , a.prototype.or = function(e) { return this.length > e.length ? this.clone().ior(e) : e.clone().ior(this) } , a.prototype.uor = function(e) { return this.length > e.length ? this.clone().iuor(e) : e.clone().iuor(this) } , a.prototype.iuand = function(e) { var t; t = this.length > e.length ? e : this; for (var i = 0; i < t.length; i++) this.words[i] = this.words[i] & e.words[i]; return this.length = t.length, this.strip() } , a.prototype.iand = function(e) { return r(0 == (this.negative | e.negative)), this.iuand(e) } , a.prototype.and = function(e) { return this.length > e.length ? this.clone().iand(e) : e.clone().iand(this) } , a.prototype.uand = function(e) { return this.length > e.length ? this.clone().iuand(e) : e.clone().iuand(this) } , a.prototype.iuxor = function(e) { var t, i; this.length > e.length ? (t = this, i = e) : (t = e, i = this); for (var n = 0; n < i.length; n++) this.words[n] = t.words[n] ^ i.words[n]; if (this !== t) for (; n < t.length; n++) this.words[n] = t.words[n]; return this.length = t.length, this.strip() } , a.prototype.ixor = function(e) { return r(0 == (this.negative | e.negative)), this.iuxor(e) } , a.prototype.xor = function(e) { return this.length > e.length ? this.clone().ixor(e) : e.clone().ixor(this) } , a.prototype.uxor = function(e) { return this.length > e.length ? this.clone().iuxor(e) : e.clone().iuxor(this) } , a.prototype.inotn = function(e) { r("number" == typeof e && e >= 0); var t = 0 | Math.ceil(e / 26) , i = e % 26; this._expand(t), i > 0 && t--; for (var n = 0; n < t; n++) this.words[n] = 67108863 & ~this.words[n]; return i > 0 && (this.words[n] = ~this.words[n] & 67108863 >> 26 - i), this.strip() } , a.prototype.notn = function(e) { return this.clone().inotn(e) } , a.prototype.setn = function(e, t) { r("number" == typeof e && e >= 0); var i = e / 26 | 0 , n = e % 26; return this._expand(i + 1), this.words[i] = t ? this.words[i] | 1 << n : this.words[i] & ~(1 << n), this.strip() } , a.prototype.iadd = function(e) { var t, i, n; if (0 !== this.negative && 0 === e.negative) return this.negative = 0, t = this.isub(e), this.negative ^= 1, this._normSign(); if (0 === this.negative && 0 !== e.negative) return e.negative = 0, t = this.isub(e), e.negative = 1, t._normSign(); this.length > e.length ? (i = this, n = e) : (i = e, n = this); for (var r = 0, o = 0; o < n.length; o++) t = (0 | i.words[o]) + (0 | n.words[o]) + r, this.words[o] = 67108863 & t, r = t >>> 26; for (; 0 !== r && o < i.length; o++) t = (0 | i.words[o]) + r, this.words[o] = 67108863 & t, r = t >>> 26; if (this.length = i.length, 0 !== r) this.words[this.length] = r, this.length++; else if (i !== this) for (; o < i.length; o++) this.words[o] = i.words[o]; return this } , a.prototype.add = function(e) { var t; return 0 !== e.negative && 0 === this.negative ? (e.negative = 0, t = this.sub(e), e.negative ^= 1, t) : 0 === e.negative && 0 !== this.negative ? (this.negative = 0, t = e.sub(this), this.negative = 1, t) : this.length > e.length ? this.clone().iadd(e) : e.clone().iadd(this) } , a.prototype.isub = function(e) { if (0 !== e.negative) { e.negative = 0; var t = this.iadd(e); return e.negative = 1, t._normSign() } if (0 !== this.negative) return this.negative = 0, this.iadd(e), this.negative = 1, this._normSign(); var i, n, r = this.cmp(e); if (0 === r) return this.negative = 0, this.length = 1, this.words[0] = 0, this; r > 0 ? (i = this, n = e) : (i = e, n = this); for (var o = 0, a = 0; a < n.length; a++) o = (t = (0 | i.words[a]) - (0 | n.words[a]) + o) >> 26, this.words[a] = 67108863 & t; for (; 0 !== o && a < i.length; a++) o = (t = (0 | i.words[a]) + o) >> 26, this.words[a] = 67108863 & t; if (0 === o && a < i.length && i !== this) for (; a < i.length; a++) this.words[a] = i.words[a]; return this.length = Math.max(this.length, a), i !== this && (this.negative = 1), this.strip() } , a.prototype.sub = function(e) { return this.clone().isub(e) } ; var p = function(e, t, i) { var n, r, o, a = e.words, s = t.words, c = i.words, u = 0, l = 0 | a[0], h = 8191 & l, f = l >>> 13, d = 0 | a[1], p = 8191 & d, m = d >>> 13, g = 0 | a[2], _ = 8191 & g, v = g >>> 13, y = 0 | a[3], b = 8191 & y, E = y >>> 13, T = 0 | a[4], A = 8191 & T, x = T >>> 13, S = 0 | a[5], C = 8191 & S, P = S >>> 13, R = 0 | a[6], M = 8191 & R, O = R >>> 13, w = 0 | a[7], I = 8191 & w, D = w >>> 13, L = 0 | a[8], F = 8191 & L, B = L >>> 13, N = 0 | a[9], k = 8191 & N, U = N >>> 13, V = 0 | s[0], G = 8191 & V, z = V >>> 13, j = 0 | s[1], H = 8191 & j, W = j >>> 13, X = 0 | s[2], Y = 8191 & X, K = X >>> 13, Q = 0 | s[3], q = 8191 & Q, Z = Q >>> 13, J = 0 | s[4], $ = 8191 & J, ee = J >>> 13, te = 0 | s[5], ie = 8191 & te, ne = te >>> 13, re = 0 | s[6], oe = 8191 & re, ae = re >>> 13, se = 0 | s[7], ce = 8191 & se, ue = se >>> 13, le = 0 | s[8], he = 8191 & le, fe = le >>> 13, de = 0 | s[9], pe = 8191 & de, me = de >>> 13; i.negative = e.negative ^ t.negative, i.length = 19; var ge = (u + (n = Math.imul(h, G)) | 0) + ((8191 & (r = (r = Math.imul(h, z)) + Math.imul(f, G) | 0)) << 13) | 0; u = ((o = Math.imul(f, z)) + (r >>> 13) | 0) + (ge >>> 26) | 0, ge &= 67108863, n = Math.imul(p, G), r = (r = Math.imul(p, z)) + Math.imul(m, G) | 0, o = Math.imul(m, z); var _e = (u + (n = n + Math.imul(h, H) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, W) | 0) + Math.imul(f, H) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, W) | 0) + (r >>> 13) | 0) + (_e >>> 26) | 0, _e &= 67108863, n = Math.imul(_, G), r = (r = Math.imul(_, z)) + Math.imul(v, G) | 0, o = Math.imul(v, z), n = n + Math.imul(p, H) | 0, r = (r = r + Math.imul(p, W) | 0) + Math.imul(m, H) | 0, o = o + Math.imul(m, W) | 0; var ve = (u + (n = n + Math.imul(h, Y) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, K) | 0) + Math.imul(f, Y) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, K) | 0) + (r >>> 13) | 0) + (ve >>> 26) | 0, ve &= 67108863, n = Math.imul(b, G), r = (r = Math.imul(b, z)) + Math.imul(E, G) | 0, o = Math.imul(E, z), n = n + Math.imul(_, H) | 0, r = (r = r + Math.imul(_, W) | 0) + Math.imul(v, H) | 0, o = o + Math.imul(v, W) | 0, n = n + Math.imul(p, Y) | 0, r = (r = r + Math.imul(p, K) | 0) + Math.imul(m, Y) | 0, o = o + Math.imul(m, K) | 0; var ye = (u + (n = n + Math.imul(h, q) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, Z) | 0) + Math.imul(f, q) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, Z) | 0) + (r >>> 13) | 0) + (ye >>> 26) | 0, ye &= 67108863, n = Math.imul(A, G), r = (r = Math.imul(A, z)) + Math.imul(x, G) | 0, o = Math.imul(x, z), n = n + Math.imul(b, H) | 0, r = (r = r + Math.imul(b, W) | 0) + Math.imul(E, H) | 0, o = o + Math.imul(E, W) | 0, n = n + Math.imul(_, Y) | 0, r = (r = r + Math.imul(_, K) | 0) + Math.imul(v, Y) | 0, o = o + Math.imul(v, K) | 0, n = n + Math.imul(p, q) | 0, r = (r = r + Math.imul(p, Z) | 0) + Math.imul(m, q) | 0, o = o + Math.imul(m, Z) | 0; var be = (u + (n = n + Math.imul(h, $) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, ee) | 0) + Math.imul(f, $) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, ee) | 0) + (r >>> 13) | 0) + (be >>> 26) | 0, be &= 67108863, n = Math.imul(C, G), r = (r = Math.imul(C, z)) + Math.imul(P, G) | 0, o = Math.imul(P, z), n = n + Math.imul(A, H) | 0, r = (r = r + Math.imul(A, W) | 0) + Math.imul(x, H) | 0, o = o + Math.imul(x, W) | 0, n = n + Math.imul(b, Y) | 0, r = (r = r + Math.imul(b, K) | 0) + Math.imul(E, Y) | 0, o = o + Math.imul(E, K) | 0, n = n + Math.imul(_, q) | 0, r = (r = r + Math.imul(_, Z) | 0) + Math.imul(v, q) | 0, o = o + Math.imul(v, Z) | 0, n = n + Math.imul(p, $) | 0, r = (r = r + Math.imul(p, ee) | 0) + Math.imul(m, $) | 0, o = o + Math.imul(m, ee) | 0; var Ee = (u + (n = n + Math.imul(h, ie) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, ne) | 0) + Math.imul(f, ie) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, ne) | 0) + (r >>> 13) | 0) + (Ee >>> 26) | 0, Ee &= 67108863, n = Math.imul(M, G), r = (r = Math.imul(M, z)) + Math.imul(O, G) | 0, o = Math.imul(O, z), n = n + Math.imul(C, H) | 0, r = (r = r + Math.imul(C, W) | 0) + Math.imul(P, H) | 0, o = o + Math.imul(P, W) | 0, n = n + Math.imul(A, Y) | 0, r = (r = r + Math.imul(A, K) | 0) + Math.imul(x, Y) | 0, o = o + Math.imul(x, K) | 0, n = n + Math.imul(b, q) | 0, r = (r = r + Math.imul(b, Z) | 0) + Math.imul(E, q) | 0, o = o + Math.imul(E, Z) | 0, n = n + Math.imul(_, $) | 0, r = (r = r + Math.imul(_, ee) | 0) + Math.imul(v, $) | 0, o = o + Math.imul(v, ee) | 0, n = n + Math.imul(p, ie) | 0, r = (r = r + Math.imul(p, ne) | 0) + Math.imul(m, ie) | 0, o = o + Math.imul(m, ne) | 0; var Te = (u + (n = n + Math.imul(h, oe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, ae) | 0) + Math.imul(f, oe) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, ae) | 0) + (r >>> 13) | 0) + (Te >>> 26) | 0, Te &= 67108863, n = Math.imul(I, G), r = (r = Math.imul(I, z)) + Math.imul(D, G) | 0, o = Math.imul(D, z), n = n + Math.imul(M, H) | 0, r = (r = r + Math.imul(M, W) | 0) + Math.imul(O, H) | 0, o = o + Math.imul(O, W) | 0, n = n + Math.imul(C, Y) | 0, r = (r = r + Math.imul(C, K) | 0) + Math.imul(P, Y) | 0, o = o + Math.imul(P, K) | 0, n = n + Math.imul(A, q) | 0, r = (r = r + Math.imul(A, Z) | 0) + Math.imul(x, q) | 0, o = o + Math.imul(x, Z) | 0, n = n + Math.imul(b, $) | 0, r = (r = r + Math.imul(b, ee) | 0) + Math.imul(E, $) | 0, o = o + Math.imul(E, ee) | 0, n = n + Math.imul(_, ie) | 0, r = (r = r + Math.imul(_, ne) | 0) + Math.imul(v, ie) | 0, o = o + Math.imul(v, ne) | 0, n = n + Math.imul(p, oe) | 0, r = (r = r + Math.imul(p, ae) | 0) + Math.imul(m, oe) | 0, o = o + Math.imul(m, ae) | 0; var Ae = (u + (n = n + Math.imul(h, ce) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, ue) | 0) + Math.imul(f, ce) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, ue) | 0) + (r >>> 13) | 0) + (Ae >>> 26) | 0, Ae &= 67108863, n = Math.imul(F, G), r = (r = Math.imul(F, z)) + Math.imul(B, G) | 0, o = Math.imul(B, z), n = n + Math.imul(I, H) | 0, r = (r = r + Math.imul(I, W) | 0) + Math.imul(D, H) | 0, o = o + Math.imul(D, W) | 0, n = n + Math.imul(M, Y) | 0, r = (r = r + Math.imul(M, K) | 0) + Math.imul(O, Y) | 0, o = o + Math.imul(O, K) | 0, n = n + Math.imul(C, q) | 0, r = (r = r + Math.imul(C, Z) | 0) + Math.imul(P, q) | 0, o = o + Math.imul(P, Z) | 0, n = n + Math.imul(A, $) | 0, r = (r = r + Math.imul(A, ee) | 0) + Math.imul(x, $) | 0, o = o + Math.imul(x, ee) | 0, n = n + Math.imul(b, ie) | 0, r = (r = r + Math.imul(b, ne) | 0) + Math.imul(E, ie) | 0, o = o + Math.imul(E, ne) | 0, n = n + Math.imul(_, oe) | 0, r = (r = r + Math.imul(_, ae) | 0) + Math.imul(v, oe) | 0, o = o + Math.imul(v, ae) | 0, n = n + Math.imul(p, ce) | 0, r = (r = r + Math.imul(p, ue) | 0) + Math.imul(m, ce) | 0, o = o + Math.imul(m, ue) | 0; var xe = (u + (n = n + Math.imul(h, he) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, fe) | 0) + Math.imul(f, he) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, fe) | 0) + (r >>> 13) | 0) + (xe >>> 26) | 0, xe &= 67108863, n = Math.imul(k, G), r = (r = Math.imul(k, z)) + Math.imul(U, G) | 0, o = Math.imul(U, z), n = n + Math.imul(F, H) | 0, r = (r = r + Math.imul(F, W) | 0) + Math.imul(B, H) | 0, o = o + Math.imul(B, W) | 0, n = n + Math.imul(I, Y) | 0, r = (r = r + Math.imul(I, K) | 0) + Math.imul(D, Y) | 0, o = o + Math.imul(D, K) | 0, n = n + Math.imul(M, q) | 0, r = (r = r + Math.imul(M, Z) | 0) + Math.imul(O, q) | 0, o = o + Math.imul(O, Z) | 0, n = n + Math.imul(C, $) | 0, r = (r = r + Math.imul(C, ee) | 0) + Math.imul(P, $) | 0, o = o + Math.imul(P, ee) | 0, n = n + Math.imul(A, ie) | 0, r = (r = r + Math.imul(A, ne) | 0) + Math.imul(x, ie) | 0, o = o + Math.imul(x, ne) | 0, n = n + Math.imul(b, oe) | 0, r = (r = r + Math.imul(b, ae) | 0) + Math.imul(E, oe) | 0, o = o + Math.imul(E, ae) | 0, n = n + Math.imul(_, ce) | 0, r = (r = r + Math.imul(_, ue) | 0) + Math.imul(v, ce) | 0, o = o + Math.imul(v, ue) | 0, n = n + Math.imul(p, he) | 0, r = (r = r + Math.imul(p, fe) | 0) + Math.imul(m, he) | 0, o = o + Math.imul(m, fe) | 0; var Se = (u + (n = n + Math.imul(h, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(h, me) | 0) + Math.imul(f, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(f, me) | 0) + (r >>> 13) | 0) + (Se >>> 26) | 0, Se &= 67108863, n = Math.imul(k, H), r = (r = Math.imul(k, W)) + Math.imul(U, H) | 0, o = Math.imul(U, W), n = n + Math.imul(F, Y) | 0, r = (r = r + Math.imul(F, K) | 0) + Math.imul(B, Y) | 0, o = o + Math.imul(B, K) | 0, n = n + Math.imul(I, q) | 0, r = (r = r + Math.imul(I, Z) | 0) + Math.imul(D, q) | 0, o = o + Math.imul(D, Z) | 0, n = n + Math.imul(M, $) | 0, r = (r = r + Math.imul(M, ee) | 0) + Math.imul(O, $) | 0, o = o + Math.imul(O, ee) | 0, n = n + Math.imul(C, ie) | 0, r = (r = r + Math.imul(C, ne) | 0) + Math.imul(P, ie) | 0, o = o + Math.imul(P, ne) | 0, n = n + Math.imul(A, oe) | 0, r = (r = r + Math.imul(A, ae) | 0) + Math.imul(x, oe) | 0, o = o + Math.imul(x, ae) | 0, n = n + Math.imul(b, ce) | 0, r = (r = r + Math.imul(b, ue) | 0) + Math.imul(E, ce) | 0, o = o + Math.imul(E, ue) | 0, n = n + Math.imul(_, he) | 0, r = (r = r + Math.imul(_, fe) | 0) + Math.imul(v, he) | 0, o = o + Math.imul(v, fe) | 0; var Ce = (u + (n = n + Math.imul(p, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(p, me) | 0) + Math.imul(m, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(m, me) | 0) + (r >>> 13) | 0) + (Ce >>> 26) | 0, Ce &= 67108863, n = Math.imul(k, Y), r = (r = Math.imul(k, K)) + Math.imul(U, Y) | 0, o = Math.imul(U, K), n = n + Math.imul(F, q) | 0, r = (r = r + Math.imul(F, Z) | 0) + Math.imul(B, q) | 0, o = o + Math.imul(B, Z) | 0, n = n + Math.imul(I, $) | 0, r = (r = r + Math.imul(I, ee) | 0) + Math.imul(D, $) | 0, o = o + Math.imul(D, ee) | 0, n = n + Math.imul(M, ie) | 0, r = (r = r + Math.imul(M, ne) | 0) + Math.imul(O, ie) | 0, o = o + Math.imul(O, ne) | 0, n = n + Math.imul(C, oe) | 0, r = (r = r + Math.imul(C, ae) | 0) + Math.imul(P, oe) | 0, o = o + Math.imul(P, ae) | 0, n = n + Math.imul(A, ce) | 0, r = (r = r + Math.imul(A, ue) | 0) + Math.imul(x, ce) | 0, o = o + Math.imul(x, ue) | 0, n = n + Math.imul(b, he) | 0, r = (r = r + Math.imul(b, fe) | 0) + Math.imul(E, he) | 0, o = o + Math.imul(E, fe) | 0; var Pe = (u + (n = n + Math.imul(_, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(_, me) | 0) + Math.imul(v, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(v, me) | 0) + (r >>> 13) | 0) + (Pe >>> 26) | 0, Pe &= 67108863, n = Math.imul(k, q), r = (r = Math.imul(k, Z)) + Math.imul(U, q) | 0, o = Math.imul(U, Z), n = n + Math.imul(F, $) | 0, r = (r = r + Math.imul(F, ee) | 0) + Math.imul(B, $) | 0, o = o + Math.imul(B, ee) | 0, n = n + Math.imul(I, ie) | 0, r = (r = r + Math.imul(I, ne) | 0) + Math.imul(D, ie) | 0, o = o + Math.imul(D, ne) | 0, n = n + Math.imul(M, oe) | 0, r = (r = r + Math.imul(M, ae) | 0) + Math.imul(O, oe) | 0, o = o + Math.imul(O, ae) | 0, n = n + Math.imul(C, ce) | 0, r = (r = r + Math.imul(C, ue) | 0) + Math.imul(P, ce) | 0, o = o + Math.imul(P, ue) | 0, n = n + Math.imul(A, he) | 0, r = (r = r + Math.imul(A, fe) | 0) + Math.imul(x, he) | 0, o = o + Math.imul(x, fe) | 0; var Re = (u + (n = n + Math.imul(b, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(b, me) | 0) + Math.imul(E, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(E, me) | 0) + (r >>> 13) | 0) + (Re >>> 26) | 0, Re &= 67108863, n = Math.imul(k, $), r = (r = Math.imul(k, ee)) + Math.imul(U, $) | 0, o = Math.imul(U, ee), n = n + Math.imul(F, ie) | 0, r = (r = r + Math.imul(F, ne) | 0) + Math.imul(B, ie) | 0, o = o + Math.imul(B, ne) | 0, n = n + Math.imul(I, oe) | 0, r = (r = r + Math.imul(I, ae) | 0) + Math.imul(D, oe) | 0, o = o + Math.imul(D, ae) | 0, n = n + Math.imul(M, ce) | 0, r = (r = r + Math.imul(M, ue) | 0) + Math.imul(O, ce) | 0, o = o + Math.imul(O, ue) | 0, n = n + Math.imul(C, he) | 0, r = (r = r + Math.imul(C, fe) | 0) + Math.imul(P, he) | 0, o = o + Math.imul(P, fe) | 0; var Me = (u + (n = n + Math.imul(A, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(A, me) | 0) + Math.imul(x, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(x, me) | 0) + (r >>> 13) | 0) + (Me >>> 26) | 0, Me &= 67108863, n = Math.imul(k, ie), r = (r = Math.imul(k, ne)) + Math.imul(U, ie) | 0, o = Math.imul(U, ne), n = n + Math.imul(F, oe) | 0, r = (r = r + Math.imul(F, ae) | 0) + Math.imul(B, oe) | 0, o = o + Math.imul(B, ae) | 0, n = n + Math.imul(I, ce) | 0, r = (r = r + Math.imul(I, ue) | 0) + Math.imul(D, ce) | 0, o = o + Math.imul(D, ue) | 0, n = n + Math.imul(M, he) | 0, r = (r = r + Math.imul(M, fe) | 0) + Math.imul(O, he) | 0, o = o + Math.imul(O, fe) | 0; var Oe = (u + (n = n + Math.imul(C, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(C, me) | 0) + Math.imul(P, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(P, me) | 0) + (r >>> 13) | 0) + (Oe >>> 26) | 0, Oe &= 67108863, n = Math.imul(k, oe), r = (r = Math.imul(k, ae)) + Math.imul(U, oe) | 0, o = Math.imul(U, ae), n = n + Math.imul(F, ce) | 0, r = (r = r + Math.imul(F, ue) | 0) + Math.imul(B, ce) | 0, o = o + Math.imul(B, ue) | 0, n = n + Math.imul(I, he) | 0, r = (r = r + Math.imul(I, fe) | 0) + Math.imul(D, he) | 0, o = o + Math.imul(D, fe) | 0; var we = (u + (n = n + Math.imul(M, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(M, me) | 0) + Math.imul(O, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(O, me) | 0) + (r >>> 13) | 0) + (we >>> 26) | 0, we &= 67108863, n = Math.imul(k, ce), r = (r = Math.imul(k, ue)) + Math.imul(U, ce) | 0, o = Math.imul(U, ue), n = n + Math.imul(F, he) | 0, r = (r = r + Math.imul(F, fe) | 0) + Math.imul(B, he) | 0, o = o + Math.imul(B, fe) | 0; var Ie = (u + (n = n + Math.imul(I, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(I, me) | 0) + Math.imul(D, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(D, me) | 0) + (r >>> 13) | 0) + (Ie >>> 26) | 0, Ie &= 67108863, n = Math.imul(k, he), r = (r = Math.imul(k, fe)) + Math.imul(U, he) | 0, o = Math.imul(U, fe); var De = (u + (n = n + Math.imul(F, pe) | 0) | 0) + ((8191 & (r = (r = r + Math.imul(F, me) | 0) + Math.imul(B, pe) | 0)) << 13) | 0; u = ((o = o + Math.imul(B, me) | 0) + (r >>> 13) | 0) + (De >>> 26) | 0, De &= 67108863; var Le = (u + (n = Math.imul(k, pe)) | 0) + ((8191 & (r = (r = Math.imul(k, me)) + Math.imul(U, pe) | 0)) << 13) | 0; return u = ((o = Math.imul(U, me)) + (r >>> 13) | 0) + (Le >>> 26) | 0, Le &= 67108863, c[0] = ge, c[1] = _e, c[2] = ve, c[3] = ye, c[4] = be, c[5] = Ee, c[6] = Te, c[7] = Ae, c[8] = xe, c[9] = Se, c[10] = Ce, c[11] = Pe, c[12] = Re, c[13] = Me, c[14] = Oe, c[15] = we, c[16] = Ie, c[17] = De, c[18] = Le, 0 !== u && (c[19] = u, i.length++), i }; function m(e, t, i) { return (new g).mulp(e, t, i) } function g(e, t) { this.x = e, this.y = t } Math.imul || (p = d), a.prototype.mulTo = function(e, t) { var i = this.length + e.length; return 10 === this.length && 10 === e.length ? p(this, e, t) : i < 63 ? d(this, e, t) : i < 1024 ? function(e, t, i) { i.negative = t.negative ^ e.negative, i.length = e.length + t.length; for (var n = 0, r = 0, o = 0; o < i.length - 1; o++) { var a = r; r = 0; for (var s = 67108863 & n, c = Math.min(o, t.length - 1), u = Math.max(0, o - e.length + 1); u <= c; u++) { var l = o - u , h = (0 | e.words[l]) * (0 | t.words[u]) , f = 67108863 & h; s = 67108863 & (f = f + s | 0), r += (a = (a = a + (h / 67108864 | 0) | 0) + (f >>> 26) | 0) >>> 26, a &= 67108863 } i.words[o] = s, n = a, a = r } return 0 !== n ? i.words[o] = n : i.length--, i.strip() }(this, e, t) : m(this, e, t) } , g.prototype.makeRBT = function(e) { for (var t = new Array(e), i = a.prototype._countBits(e) - 1, n = 0; n < e; n++) t[n] = this.revBin(n, i, e); return t } , g.prototype.revBin = function(e, t, i) { if (0 === e || e === i - 1) return e; for (var n = 0, r = 0; r < t; r++) n |= (1 & e) << t - r - 1, e >>= 1; return n } , g.prototype.permute = function(e, t, i, n, r, o) { for (var a = 0; a < o; a++) n[a] = t[e[a]], r[a] = i[e[a]] } , g.prototype.transform = function(e, t, i, n, r, o) { this.permute(o, e, t, i, n, r); for (var a = 1; a < r; a <<= 1) for (var s = a << 1, c = Math.cos(2 * Math.PI / s), u = Math.sin(2 * Math.PI / s), l = 0; l < r; l += s) for (var h = c, f = u, d = 0; d < a; d++) { var p = i[l + d] , m = n[l + d] , g = i[l + d + a] , _ = n[l + d + a] , v = h * g - f * _; _ = h * _ + f * g, g = v, i[l + d] = p + g, n[l + d] = m + _, i[l + d + a] = p - g, n[l + d + a] = m - _, d !== s && (v = c * h - u * f, f = c * f + u * h, h = v) } } , g.prototype.guessLen13b = function(e, t) { var i = 1 | Math.max(t, e) , n = 1 & i , r = 0; for (i = i / 2 | 0; i; i >>>= 1) r++; return 1 << r + 1 + n } , g.prototype.conjugate = function(e, t, i) { if (!(i <= 1)) for (var n = 0; n < i / 2; n++) { var r = e[n]; e[n] = e[i - n - 1], e[i - n - 1] = r, r = t[n], t[n] = -t[i - n - 1], t[i - n - 1] = -r } } , g.prototype.normalize13b = function(e, t) { for (var i = 0, n = 0; n < t / 2; n++) { var r = 8192 * Math.round(e[2 * n + 1] / t) + Math.round(e[2 * n] / t) + i; e[n] = 67108863 & r, i = r < 67108864 ? 0 : r / 67108864 | 0 } return e } , g.prototype.convert13b = function(e, t, i, n) { for (var o = 0, a = 0; a < t; a++) o += 0 | e[a], i[2 * a] = 8191 & o, o >>>= 13, i[2 * a + 1] = 8191 & o, o >>>= 13; for (a = 2 * t; a < n; ++a) i[a] = 0; r(0 === o), r(0 == (-8192 & o)) } , g.prototype.stub = function(e) { for (var t = new Array(e), i = 0; i < e; i++) t[i] = 0; return t } , g.prototype.mulp = function(e, t, i) { var n = 2 * this.guessLen13b(e.length, t.length) , r = this.makeRBT(n) , o = this.stub(n) , a = new Array(n) , s = new Array(n) , c = new Array(n) , u = new Array(n) , l = new Array(n) , h = new Array(n) , f = i.words; f.length = n, this.convert13b(e.words, e.length, a, n), this.convert13b(t.words, t.length, u, n), this.transform(a, o, s, c, n, r), this.transform(u, o, l, h, n, r); for (var d = 0; d < n; d++) { var p = s[d] * l[d] - c[d] * h[d]; c[d] = s[d] * h[d] + c[d] * l[d], s[d] = p } return this.conjugate(s, c, n), this.transform(s, c, f, o, n, r), this.conjugate(f, o, n), this.normalize13b(f, n), i.negative = e.negative ^ t.negative, i.length = e.length + t.length, i.strip() } , a.prototype.mul = function(e) { var t = new a(null); return t.words = new Array(this.length + e.length), this.mulTo(e, t) } , a.prototype.mulf = function(e) { var t = new a(null); return t.words = new Array(this.length + e.length), m(this, e, t) } , a.prototype.imul = function(e) { return this.clone().mulTo(e, this) } , a.prototype.imuln = function(e) { r("number" == typeof e), r(e < 67108864); for (var t = 0, i = 0; i < this.length; i++) { var n = (0 | this.words[i]) * e , o = (67108863 & n) + (67108863 & t); t >>= 26, t += n / 67108864 | 0, t += o >>> 26, this.words[i] = 67108863 & o } return 0 !== t && (this.words[i] = t, this.length++), this } , a.prototype.muln = function(e) { return this.clone().imuln(e) } , a.prototype.sqr = function() { return this.mul(this) } , a.prototype.isqr = function() { return this.imul(this.clone()) } , a.prototype.pow = function(e) { var t = function(e) { for (var t = new Array(e.bitLength()), i = 0; i < t.length; i++) { var n = i / 26 | 0 , r = i % 26; t[i] = (e.words[n] & 1 << r) >>> r } return t }(e); if (0 === t.length) return new a(1); for (var i = this, n = 0; n < t.length && 0 === t[n]; n++, i = i.sqr()) ; if (++n < t.length) for (var r = i.sqr(); n < t.length; n++, r = r.sqr()) 0 !== t[n] && (i = i.mul(r)); return i } , a.prototype.iushln = function(e) { r("number" == typeof e && e >= 0); var t, i = e % 26, n = (e - i) / 26, o = 67108863 >>> 26 - i << 26 - i; if (0 !== i) { var a = 0; for (t = 0; t < this.length; t++) { var s = this.words[t] & o , c = (0 | this.words[t]) - s << i; this.words[t] = c | a, a = s >>> 26 - i } a && (this.words[t] = a, this.length++) } if (0 !== n) { for (t = this.length - 1; t >= 0; t--) this.words[t + n] = this.words[t]; for (t = 0; t < n; t++) this.words[t] = 0; this.length += n } return this.strip() } , a.prototype.ishln = function(e) { return r(0 === this.negative), this.iushln(e) } , a.prototype.iushrn = function(e, t, i) { var n; r("number" == typeof e && e >= 0), n = t ? (t - t % 26) / 26 : 0; var o = e % 26 , a = Math.min((e - o) / 26, this.length) , s = 67108863 ^ 67108863 >>> o << o , c = i; if (n -= a, n = Math.max(0, n), c) { for (var u = 0; u < a; u++) c.words[u] = this.words[u]; c.length = a } if (0 === a) ; else if (this.length > a) for (this.length -= a, u = 0; u < this.length; u++) this.words[u] = this.words[u + a]; else this.words[0] = 0, this.length = 1; var l = 0; for (u = this.length - 1; u >= 0 && (0 !== l || u >= n); u--) { var h = 0 | this.words[u]; this.words[u] = l << 26 - o | h >>> o, l = h & s } return c && 0 !== l && (c.words[c.length++] = l), 0 === this.length && (this.words[0] = 0, this.length = 1), this.strip() } , a.prototype.ishrn = function(e, t, i) { return r(0 === this.negative), this.iushrn(e, t, i) } , a.prototype.shln = function(e) { return this.clone().ishln(e) } , a.prototype.ushln = function(e) { return this.clone().iushln(e) } , a.prototype.shrn = function(e) { return this.clone().ishrn(e) } , a.prototype.ushrn = function(e) { return this.clone().iushrn(e) } , a.prototype.testn = function(e) { r("number" == typeof e && e >= 0); var t = e % 26 , i = (e - t) / 26 , n = 1 << t; return !(this.length <= i) && !!(this.words[i] & n) } , a.prototype.imaskn = function(e) { r("number" == typeof e && e >= 0); var t = e % 26 , i = (e - t) / 26; if (r(0 === this.negative, "imaskn works only with positive numbers"), this.length <= i) return this; if (0 !== t && i++, this.length = Math.min(i, this.length), 0 !== t) { var n = 67108863 ^ 67108863 >>> t << t; this.words[this.length - 1] &= n } return this.strip() } , a.prototype.maskn = function(e) { return this.clone().imaskn(e) } , a.prototype.iaddn = function(e) { return r("number" == typeof e), r(e < 67108864), e < 0 ? this.isubn(-e) : 0 !== this.negative ? 1 === this.length && (0 | this.words[0]) < e ? (this.words[0] = e - (0 | this.words[0]), this.negative = 0, this) : (this.negative = 0, this.isubn(e), this.negative = 1, this) : this._iaddn(e) } , a.prototype._iaddn = function(e) { this.words[0] += e; for (var t = 0; t < this.length && this.words[t] >= 67108864; t++) this.words[t] -= 67108864, t === this.length - 1 ? this.words[t + 1] = 1 : this.words[t + 1]++; return this.length = Math.max(this.length, t + 1), this } , a.prototype.isubn = function(e) { if (r("number" == typeof e), r(e < 67108864), e < 0) return this.iaddn(-e); if (0 !== this.negative) return this.negative = 0, this.iaddn(e), this.negative = 1, this; if (this.words[0] -= e, 1 === this.length && this.words[0] < 0) this.words[0] = -this.words[0], this.negative = 1; else for (var t = 0; t < this.length && this.words[t] < 0; t++) this.words[t] += 67108864, this.words[t + 1] -= 1; return this.strip() } , a.prototype.addn = function(e) { return this.clone().iaddn(e) } , a.prototype.subn = function(e) { return this.clone().isubn(e) } , a.prototype.iabs = function() { return this.negative = 0, this } , a.prototype.abs = function() { return this.clone().iabs() } , a.prototype._ishlnsubmul = function(e, t, i) { var n, o, a = e.length + i; this._expand(a); var s = 0; for (n = 0; n < e.length; n++) { o = (0 | this.words[n + i]) + s; var c = (0 | e.words[n]) * t; s = ((o -= 67108863 & c) >> 26) - (c / 67108864 | 0), this.words[n + i] = 67108863 & o } for (; n < this.length - i; n++) s = (o = (0 | this.words[n + i]) + s) >> 26, this.words[n + i] = 67108863 & o; if (0 === s) return this.strip(); for (r(-1 === s), s = 0, n = 0; n < this.length; n++) s = (o = -(0 | this.words[n]) + s) >> 26, this.words[n] = 67108863 & o; return this.negative = 1, this.strip() } , a.prototype._wordDiv = function(e, t) { var i = (this.length, e.length) , n = this.clone() , r = e , o = 0 | r.words[r.length - 1]; 0 !== (i = 26 - this._countBits(o)) && (r = r.ushln(i), n.iushln(i), o = 0 | r.words[r.length - 1]); var s, c = n.length - r.length; if ("mod" !== t) { (s = new a(null)).length = c + 1, s.words = new Array(s.length); for (var u = 0; u < s.length; u++) s.words[u] = 0 } var l = n.clone()._ishlnsubmul(r, 1, c); 0 === l.negative && (n = l, s && (s.words[c] = 1)); for (var h = c - 1; h >= 0; h--) { var f = 67108864 * (0 | n.words[r.length + h]) + (0 | n.words[r.length + h - 1]); for (f = Math.min(f / o | 0, 67108863), n._ishlnsubmul(r, f, h); 0 !== n.negative; ) f--, n.negative = 0, n._ishlnsubmul(r, 1, h), n.isZero() || (n.negative ^= 1); s && (s.words[h] = f) } return s && s.strip(), n.strip(), "div" !== t && 0 !== i && n.iushrn(i), { div: s || null, mod: n } } , a.prototype.divmod = function(e, t, i) { return r(!e.isZero()), this.isZero() ? { div: new a(0), mod: new a(0) } : 0 !== this.negative && 0 === e.negative ? (s = this.neg().divmod(e, t), "mod" !== t && (n = s.div.neg()), "div" !== t && (o = s.mod.neg(), i && 0 !== o.negative && o.iadd(e)), { div: n, mod: o }) : 0 === this.negative && 0 !== e.negative ? (s = this.divmod(e.neg(), t), "mod" !== t && (n = s.div.neg()), { div: n, mod: s.mod }) : 0 != (this.negative & e.negative) ? (s = this.neg().divmod(e.neg(), t), "div" !== t && (o = s.mod.neg(), i && 0 !== o.negative && o.isub(e)), { div: s.div, mod: o }) : e.length > this.length || this.cmp(e) < 0 ? { div: new a(0), mod: this } : 1 === e.length ? "div" === t ? { div: this.divn(e.words[0]), mod: null } : "mod" === t ? { div: null, mod: new a(this.modn(e.words[0])) } : { div: this.divn(e.words[0]), mod: new a(this.modn(e.words[0])) } : this._wordDiv(e, t); var n, o, s } , a.prototype.div = function(e) { return this.divmod(e, "div", false).div } , a.prototype.mod = function(e) { return this.divmod(e, "mod", false).mod } , a.prototype.umod = function(e) { return this.divmod(e, "mod", true).mod } , a.prototype.divRound = function(e) { var t = this.divmod(e); if (t.mod.isZero()) return t.div; var i = 0 !== t.div.negative ? t.mod.isub(e) : t.mod , n = e.ushrn(1) , r = e.andln(1) , o = i.cmp(n); return o < 0 || 1 === r && 0 === o ? t.div : 0 !== t.div.negative ? t.div.isubn(1) : t.div.iaddn(1) } , a.prototype.modn = function(e) { r(e <= 67108863); for (var t = (1 << 26) % e, i = 0, n = this.length - 1; n >= 0; n--) i = (t * i + (0 | this.words[n])) % e; return i } , a.prototype.idivn = function(e) { r(e <= 67108863); for (var t = 0, i = this.length - 1; i >= 0; i--) { var n = (0 | this.words[i]) + 67108864 * t; this.words[i] = n / e | 0, t = n % e } return this.strip() } , a.prototype.divn = function(e) { return this.clone().idivn(e) } , a.prototype.egcd = function(e) { r(0 === e.negative), r(!e.isZero()); var t = this , i = e.clone(); t = 0 !== t.negative ? t.umod(e) : t.clone(); for (var n = new a(1), o = new a(0), s = new a(0), c = new a(1), u = 0; t.isEven() && i.isEven(); ) t.iushrn(1), i.iushrn(1), ++u; for (var l = i.clone(), h = t.clone(); !t.isZero(); ) { for (var f = 0, d = 1; 0 == (t.words[0] & d) && f < 26; ++f, d <<= 1) ; if (f > 0) for (t.iushrn(f); f-- > 0; ) (n.isOdd() || o.isOdd()) && (n.iadd(l), o.isub(h)), n.iushrn(1), o.iushrn(1); for (var p = 0, m = 1; 0 == (i.words[0] & m) && p < 26; ++p, m <<= 1) ; if (p > 0) for (i.iushrn(p); p-- > 0; ) (s.isOdd() || c.isOdd()) && (s.iadd(l), c.isub(h)), s.iushrn(1), c.iushrn(1); t.cmp(i) >= 0 ? (t.isub(i), n.isub(s), o.isub(c)) : (i.isub(t), s.isub(n), c.isub(o)) } return { a: s, b: c, gcd: i.iushln(u) } } , a.prototype._invmp = function(e) { r(0 === e.negative), r(!e.isZero()); var t = this , i = e.clone(); t = 0 !== t.negative ? t.umod(e) : t.clone(); for (var n, o = new a(1), s = new a(0), c = i.clone(); t.cmpn(1) > 0 && i.cmpn(1) > 0; ) { for (var u = 0, l = 1; 0 == (t.words[0] & l) && u < 26; ++u, l <<= 1) ; if (u > 0) for (t.iushrn(u); u-- > 0; ) o.isOdd() && o.iadd(c), o.iushrn(1); for (var h = 0, f = 1; 0 == (i.words[0] & f) && h < 26; ++h, f <<= 1) ; if (h > 0) for (i.iushrn(h); h-- > 0; ) s.isOdd() && s.iadd(c), s.iushrn(1); t.cmp(i) >= 0 ? (t.isub(i), o.isub(s)) : (i.isub(t), s.isub(o)) } return (n = 0 === t.cmpn(1) ? o : s).cmpn(0) < 0 && n.iadd(e), n } , a.prototype.gcd = function(e) { if (this.isZero()) return e.abs(); if (e.isZero()) return this.abs(); var t = this.clone() , i = e.clone(); t.negative = 0, i.negative = 0; for (var n = 0; t.isEven() && i.isEven(); n++) t.iushrn(1), i.iushrn(1); for (; ; ) { for (; t.isEven(); ) t.iushrn(1); for (; i.isEven(); ) i.iushrn(1); var r = t.cmp(i); if (r < 0) { var o = t; t = i, i = o } else if (0 === r || 0 === i.cmpn(1)) break; t.isub(i) } return i.iushln(n) } , a.prototype.invm = function(e) { return this.egcd(e).a.umod(e) } , a.prototype.isEven = function() { return 0 == (1 & this.words[0]) } , a.prototype.isOdd = function() { return 1 == (1 & this.words[0]) } , a.prototype.andln = function(e) { return this.words[0] & e } , a.prototype.bincn = function(e) { r("number" == typeof e); var t = e % 26 , i = (e - t) / 26 , n = 1 << t; if (this.length <= i) return this._expand(i + 1), this.words[i] |= n, this; for (var o = n, a = i; 0 !== o && a < this.length; a++) { var s = 0 | this.words[a]; o = (s += o) >>> 26, s &= 67108863, this.words[a] = s } return 0 !== o && (this.words[a] = o, this.length++), this } , a.prototype.isZero = function() { return 1 === this.length && 0 === this.words[0] } , a.prototype.cmpn = function(e) { var t, i = e < 0; if (0 !== this.negative && !i) return -1; if (0 === this.negative && i) return 1; if (this.strip(), this.length > 1) t = 1; else { i && (e = -e), r(e <= 67108863, "Number is too big"); var n = 0 | this.words[0]; t = n === e ? 0 : n < e ? -1 : 1 } return 0 !== this.negative ? 0 | -t : t } , a.prototype.cmp = function(e) { if (0 !== this.negative && 0 === e.negative) return -1; if (0 === this.negative && 0 !== e.negative) return 1; var t = this.ucmp(e); return 0 !== this.negative ? 0 | -t : t } , a.prototype.ucmp = function(e) { if (this.length > e.length) return 1; if (this.length < e.length) return -1; for (var t = 0, i = this.length - 1; i >= 0; i--) { var n = 0 | this.words[i] , r = 0 | e.words[i]; if (n !== r) { n < r ? t = -1 : n > r && (t = 1); break } } return t } , a.prototype.gtn = function(e) { return 1 === this.cmpn(e) } , a.prototype.gt = function(e) { return 1 === this.cmp(e) } , a.prototype.gten = function(e) { return this.cmpn(e) >= 0 } , a.prototype.gte = function(e) { return this.cmp(e) >= 0 } , a.prototype.ltn = function(e) { return -1 === this.cmpn(e) } , a.prototype.lt = function(e) { return -1 === this.cmp(e) } , a.prototype.lten = function(e) { return this.cmpn(e) <= 0 } , a.prototype.lte = function(e) { return this.cmp(e) <= 0 } , a.prototype.eqn = function(e) { return 0 === this.cmpn(e) } , a.prototype.eq = function(e) { return 0 === this.cmp(e) } , a.red = function(e) { return new A(e) } , a.prototype.toRed = function(e) { return r(!this.red, "Already a number in reduction context"), r(0 === this.negative, "red works only with positives"), e.convertTo(this)._forceRed(e) } , a.prototype.fromRed = function() { return r(this.red, "fromRed works only with numbers in reduction context"), this.red.convertFrom(this) } , a.prototype._forceRed = function(e) { return this.red = e, this } , a.prototype.forceRed = function(e) { return r(!this.red, "Already a number in reduction context"), this._forceRed(e) } , a.prototype.redAdd = function(e) { return r(this.red, "redAdd works only with red numbers"), this.red.add(this, e) } , a.prototype.redIAdd = function(e) { return r(this.red, "redIAdd works only with red numbers"), this.red.iadd(this, e) } , a.prototype.redSub = function(e) { return r(this.red, "redSub works only with red numbers"), this.red.sub(this, e) } , a.prototype.redISub = function(e) { return r(this.red, "redISub works only with red numbers"), this.red.isub(this, e) } , a.prototype.redShl = function(e) { return r(this.red, "redShl works only with red numbers"), this.red.shl(this, e) } , a.prototype.redMul = function(e) { return r(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.mul(this, e) } , a.prototype.redIMul = function(e) { return r(this.red, "redMul works only with red numbers"), this.red._verify2(this, e), this.red.imul(this, e) } , a.prototype.redSqr = function() { return r(this.red, "redSqr works only with red numbers"), this.red._verify1(this), this.red.sqr(this) } , a.prototype.redISqr = function() { return r(this.red, "redISqr works only with red numbers"), this.red._verify1(this), this.red.isqr(this) } , a.prototype.redSqrt = function() { return r(this.red, "redSqrt works only with red numbers"), this.red._verify1(this), this.red.sqrt(this) } , a.prototype.redInvm = function() { return r(this.red, "redInvm works only with red numbers"), this.red._verify1(this), this.red.invm(this) } , a.prototype.redNeg = function() { return r(this.red, "redNeg works only with red numbers"), this.red._verify1(this), this.red.neg(this) } , a.prototype.redPow = function(e) { return r(this.red && !e.red, "redPow(normalNum)"), this.red._verify1(this), this.red.pow(this, e) } ; var _ = { k256: null, p224: null, p192: null, p25519: null }; function v(e, t) { this.name = e, this.p = new a(t,16), this.n = this.p.bitLength(), this.k = new a(1).iushln(this.n).isub(this.p), this.tmp = this._tmp() } function y() { v.call(this, "k256", "ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f") } function b() { v.call(this, "p224", "ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001") } function E() { v.call(this, "p192", "ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff") } function T() { v.call(this, "25519", "7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed") } function A(e) { if ("string" == typeof e) { var t = a._prime(e); this.m = t.p, this.prime = t } else r(e.gtn(1), "modulus must be greater than 1"), this.m = e, this.prime = null } function x(e) { A.call(this, e), this.shift = this.m.bitLength(), this.shift % 26 != 0 && (this.shift += 26 - this.shift % 26), this.r = new a(1).iushln(this.shift), this.r2 = this.imod(this.r.sqr()), this.rinv = this.r._invmp(this.m), this.minv = this.rinv.mul(this.r).isubn(1).div(this.m), this.minv = this.minv.umod(this.r), this.minv = this.r.sub(this.minv) } v.prototype._tmp = function() { var e = new a(null); return e.words = new Array(Math.ceil(this.n / 13)), e } , v.prototype.ireduce = function(e) { var t, i = e; do { this.split(i, this.tmp), t = (i = (i = this.imulK(i)).iadd(this.tmp)).bitLength() } while (t > this.n);var n = t < this.n ? -1 : i.ucmp(this.p); return 0 === n ? (i.words[0] = 0, i.length = 1) : n > 0 ? i.isub(this.p) : i.strip(), i } , v.prototype.split = function(e, t) { e.iushrn(this.n, 0, t) } , v.prototype.imulK = function(e) { return e.imul(this.k) } , o(y, v), y.prototype.split = function(e, t) { for (var i = Math.min(e.length, 9), n = 0; n < i; n++) t.words[n] = e.words[n]; if (t.length = i, e.length <= 9) return e.words[0] = 0, void (e.length = 1); var r = e.words[9]; for (t.words[t.length++] = 4194303 & r, n = 10; n < e.length; n++) { var o = 0 | e.words[n]; e.words[n - 10] = (4194303 & o) << 4 | r >>> 22, r = o } r >>>= 22, e.words[n - 10] = r, 0 === r && e.length > 10 ? e.length -= 10 : e.length -= 9 } , y.prototype.imulK = function(e) { e.words[e.length] = 0, e.words[e.length + 1] = 0, e.length += 2; for (var t = 0, i = 0; i < e.length; i++) { var n = 0 | e.words[i]; t += 977 * n, e.words[i] = 67108863 & t, t = 64 * n + (t / 67108864 | 0) } return 0 === e.words[e.length - 1] && (e.length--, 0 === e.words[e.length - 1] && e.length--), e } , o(b, v), o(E, v), o(T, v), T.prototype.imulK = function(e) { for (var t = 0, i = 0; i < e.length; i++) { var n = 19 * (0 | e.words[i]) + t , r = 67108863 & n; n >>>= 26, e.words[i] = r, t = n } return 0 !== t && (e.words[e.length++] = t), e } , a._prime = function(e) { if (_[e]) return _[e]; var t; if ("k256" === e) t = new y; else if ("p224" === e) t = new b; else if ("p192" === e) t = new E; else { if ("p25519" !== e) throw new Error("Unknown prime " + e); t = new T } return _[e] = t, t } , A.prototype._verify1 = function(e) { r(0 === e.negative, "red works only with positives"), r(e.red, "red works only with red numbers") } , A.prototype._verify2 = function(e, t) { r(0 == (e.negative | t.negative), "red works only with positives"), r(e.red && e.red === t.red, "red works only with red numbers") } , A.prototype.imod = function(e) { return this.prime ? this.prime.ireduce(e)._forceRed(this) : e.umod(this.m)._forceRed(this) } , A.prototype.neg = function(e) { return e.isZero() ? e.clone() : this.m.sub(e)._forceRed(this) } , A.prototype.add = function(e, t) { this._verify2(e, t); var i = e.add(t); return i.cmp(this.m) >= 0 && i.isub(this.m), i._forceRed(this) } , A.prototype.iadd = function(e, t) { this._verify2(e, t); var i = e.iadd(t); return i.cmp(this.m) >= 0 && i.isub(this.m), i } , A.prototype.sub = function(e, t) { this._verify2(e, t); var i = e.sub(t); return i.cmpn(0) < 0 && i.iadd(this.m), i._forceRed(this) } , A.prototype.isub = function(e, t) { this._verify2(e, t); var i = e.isub(t); return i.cmpn(0) < 0 && i.iadd(this.m), i } , A.prototype.shl = function(e, t) { return this._verify1(e), this.imod(e.ushln(t)) } , A.prototype.imul = function(e, t) { return this._verify2(e, t), this.imod(e.imul(t)) } , A.prototype.mul = function(e, t) { return this._verify2(e, t), this.imod(e.mul(t)) } , A.prototype.isqr = function(e) { return this.imul(e, e.clone()) } , A.prototype.sqr = function(e) { return this.mul(e, e) } , A.prototype.sqrt = function(e) { if (e.isZero()) return e.clone(); var t = this.m.andln(3); if (r(t % 2 == 1), 3 === t) { var i = this.m.add(new a(1)).iushrn(2); return this.pow(e, i) } for (var n = this.m.subn(1), o = 0; !n.isZero() && 0 === n.andln(1); ) o++, n.iushrn(1); r(!n.isZero()); var s = new a(1).toRed(this) , c = s.redNeg() , u = this.m.subn(1).iushrn(1) , l = this.m.bitLength(); for (l = new a(2 * l * l).toRed(this); 0 !== this.pow(l, u).cmp(c); ) l.redIAdd(c); for (var h = this.pow(l, n), f = this.pow(e, n.addn(1).iushrn(1)), d = this.pow(e, n), p = o; 0 !== d.cmp(s); ) { for (var m = d, g = 0; 0 !== m.cmp(s); g++) m = m.redSqr(); r(g < p); var _ = this.pow(h, new a(1).iushln(p - g - 1)); f = f.redMul(_), h = _.redSqr(), d = d.redMul(h), p = g } return f } , A.prototype.invm = function(e) { var t = e._invmp(this.m); return 0 !== t.negative ? (t.negative = 0, this.imod(t).redNeg()) : this.imod(t) } , A.prototype.pow = function(e, t) { if (t.isZero()) return new a(1).toRed(this); if (0 === t.cmpn(1)) return e.clone(); var i = new Array(16); i[0] = new a(1).toRed(this), i[1] = e; for (var n = 2; n < i.length; n++) i[n] = this.mul(i[n - 1], e); var r = i[0] , o = 0 , s = 0 , c = t.bitLength() % 26; for (0 === c && (c = 26), n = t.length - 1; n >= 0; n--) { for (var u = t.words[n], l = c - 1; l >= 0; l--) { var h = u >> l & 1; r !== i[0] && (r = this.sqr(r)), 0 !== h || 0 !== o ? (o <<= 1, o |= h, (4 === ++s || 0 === n && 0 === l) && (r = this.mul(r, i[o]), s = 0, o = 0)) : s = 0 } c = 26 } return r } , A.prototype.convertTo = function(e) { var t = e.umod(this.m); return t === e ? t.clone() : t } , A.prototype.convertFrom = function(e) { var t = e.clone(); return t.red = null, t } , a.mont = function(e) { return new x(e) } , o(x, A), x.prototype.convertTo = function(e) { return this.imod(e.ushln(this.shift)) } , x.prototype.convertFrom = function(e) { var t = this.imod(e.mul(this.rinv)); return t.red = null, t } , x.prototype.imul = function(e, t) { if (e.isZero() || t.isZero()) return e.words[0] = 0, e.length = 1, e; var i = e.imul(t) , n = i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m) , r = i.isub(n).iushrn(this.shift) , o = r; return r.cmp(this.m) >= 0 ? o = r.isub(this.m) : r.cmpn(0) < 0 && (o = r.iadd(this.m)), o._forceRed(this) } , x.prototype.mul = function(e, t) { if (e.isZero() || t.isZero()) return new a(0)._forceRed(this); var i = e.mul(t) , n = i.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m) , r = i.isub(n).iushrn(this.shift) , o = r; return r.cmp(this.m) >= 0 ? o = r.isub(this.m) : r.cmpn(0) < 0 && (o = r.iadd(this.m)), o._forceRed(this) } , x.prototype.invm = function(e) { return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this) } }(e, this) } ).call(this, i(122)(e)) } , function(e, t, i) { var n = i(4) , r = i(138) , o = i(39) , a = Object.defineProperty; t.f = i(13) ? Object.defineProperty : function(e, t, i) { if (n(e), t = o(t, true), n(i), r) try { return a(e, t, i) } catch (e) {} if ("get"in i || "set"in i) throw TypeError("Accessors not supported!"); return "value"in i && (e[t] = i.value), e } } , function(e, t, i) { e.exports = !i(3)(function() { return 7 != Object.defineProperty({}, "a", { get: function() { return 7 } }).a }) } , function(exp, t) { var i = exp.exports = { version: "2.6.0" }; "number" == typeof __e && (__e = i) } , function(e, t) { function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e } )(e) } var n; n = function() { return this }(); try { n = n || new Function("return this")() } catch (e) { "object" === ("undefined" == typeof window ? "undefined" : i(window)) && (n = window) } e.exports = n } , function(exp, unused_arg, getterFunc) { // vec3Math i = 16 exp.exports = { EPSILON: getterFunc(173), create: getterFunc(174), clone: getterFunc(413), angle: getterFunc(414), fromValues: getterFunc(175), copy: getterFunc(415), set: getterFunc(416), equals: getterFunc(417), exactEquals: getterFunc(418), add: getterFunc(419), subtract: getterFunc(178), sub: getterFunc(420), multiply: getterFunc(179), mul: getterFunc(421), divide: getterFunc(180), div: getterFunc(422), min: getterFunc(423), max: getterFunc(424), floor: getterFunc(425), ceil: getterFunc(426), round: getterFunc(427), scale: getterFunc(428), scaleAndAdd: getterFunc(429), distance: getterFunc(181), dist: getterFunc(430), squaredDistance: getterFunc(182), sqrDist: getterFunc(431), length: getterFunc(183), len: getterFunc(432), squaredLength: getterFunc(184), sqrLen: getterFunc(433), negate: getterFunc(434), inverse: getterFunc(435), normalize: getterFunc(176), dot: getterFunc(177), cross: getterFunc(436), lerp: getterFunc(437), random: getterFunc(438), transformMat4: getterFunc(439), transformMat3: getterFunc(440), transformQuat: getterFunc(441), rotateX: getterFunc(442), rotateY: getterFunc(443), rotateZ: getterFunc(444), forEach: getterFunc(445) } } , function(e, t, getterFunc) { "use strict"; var n = t; n.version = getterFunc(549).version, n.utils = getterFunc(550), n.rand = getterFunc(213), n.curve = getterFunc(91), n.curves = getterFunc(555), n.ec = getterFunc(563), n.eddsa = getterFunc(567) } , function(e, t, i) { "use strict"; (function(e) { function n(t, i, n, r, o, a, s) { try { var c = t[a](s) , u = c.value } catch (e) { return void n(e) } c.done ? i(u) : e.resolve(u).then(r, o) } function r(t) { return function() { var i = this , r = arguments; return new e(function(e, o) { var a = t.apply(i, r); function s(t) { n(a, e, o, s, c, "next", t) } function c(t) { n(a, e, o, s, c, "throw", t) } s(void 0) } ) } } function o(e, t) { for (var i = 0; i < t.length; i++) { var n = t[i]; n.enumerable = n.enumerable || false, n.configurable = true, "value"in n && (n.writable = true), Object.defineProperty(e, n.key, n) } } var a = i(397) , s = function() { function t() { !function(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") }(this, t) } var i, n, s; return i = t, n = null, s = [{ key: "init", value: function() { self.baseUrl = a.backendBaseUrl, self.socket = null } }, { key: "getICECandidates", value: function(i) { return new e(function(e, n) { t.executeXhr("/get-ice-candidates/" + i, "get").then(function(t) { e([JSON.parse(t).v.iceServers]) }) } ) } }, { key: "getNewGame", value: function() { return new e(function(e, i) { t.executeXhr("/game", "get").then(function(i) { var n = JSON.parse(i); e(n), setInterval(function() { t.executeXhr("/game/" + n.code + "/heartbeat", "put").then(function(e) {}) }, 3e4) }) } ) } }, { key: "getGame", value: function(i) { return null == i ? t.getNewGame() : new e(function(e, n) { t.executeXhr("/game/" + i, "get").then(function(t) { e(JSON.parse(t)) }, function(t) { e(null) }) } ) } }, { key: "listenForData", value: function() { var e = r(regeneratorRuntime.mark(function e(t, i) { return regeneratorRuntime.wrap(function(e) { for (; ; ) switch (e.prev = e.next) { case 0: if (null !== self.socket) { e.next = 3; break } return console.log("no socket!"), e.abrupt("return"); case 3: socket.addEventListener("message", function(e) { var t = JSON.parse(e.data) , n = { payload: t.p, meta: t.m, msgEvent: t.o, to: t.m.t, from: t.m.f }; i(n) }); case 4: case "end": return e.stop() } }, e, this) })); return function(t, i) { return e.apply(this, arguments) } }() }, { key: "createSignalingChannel", value: function() { var i = r(regeneratorRuntime.mark(function i(n, o) { return regeneratorRuntime.wrap(function(i) { for (; ; ) switch (i.prev = i.next) { case 0: return i.abrupt("return", new e(function() { var e = r(regeneratorRuntime.mark(function e(i, r) { var a; return regeneratorRuntime.wrap(function(e) { for (; ; ) switch (e.prev = e.next) { case 0: return e.next = 2, t.executeXhr("/create-channel/" + n, "get"); case 2: return e.next = 4, t.getWebSocket(n, o); case 4: a = e.sent, self.socket = a, a.addEventListener("open", function() { i(), setInterval(function() { a.send("ping") }, 800) }); case 7: case "end": return e.stop() } }, e, this) })); return function(t, i) { return e.apply(this, arguments) } }())); case 1: case "end": return i.stop() } }, i, this) })); return function(e, t) { return i.apply(this, arguments) } }() }, { key: "joinSignalingChannel", value: function() { var i = r(regeneratorRuntime.mark(function i(n, o) { return regeneratorRuntime.wrap(function(i) { for (; ; ) switch (i.prev = i.next) { case 0: return i.abrupt("return", new e(function() { var e = r(regeneratorRuntime.mark(function e(i, r) { var a; return regeneratorRuntime.wrap(function(e) { for (; ; ) switch (e.prev = e.next) { case 0: return e.next = 2, t.getWebSocket(n, o); case 2: a = e.sent, self.socket = a, a.addEventListener("open", function() { i(), setInterval(function() { a.send("ping") }, 800) }); case 5: case "end": return e.stop() } }, e, this) })); return function(t, i) { return e.apply(this, arguments) } }())); case 1: case "end": return i.stop() } }, i, this) })); return function(e, t) { return i.apply(this, arguments) } }() }, { key: "sendSignalingTo", value: function() { var e = r(regeneratorRuntime.mark(function e(t, i, n, r) { var o; return regeneratorRuntime.wrap(function(e) { for (; ; ) switch (e.prev = e.next) { case 0: if (null !== self.socket) { e.next = 3; break } return console.log("no socket!"), e.abrupt("return"); case 3: o = { t: "u", m: { f: t + "/" + n, t: i, o: "message" }, p: { signal: JSON.stringify(r) } }, self.socket.send(JSON.stringify(o)); case 5: case "end": return e.stop() } }, e, this) })); return function(t, i, n, r) { return e.apply(this, arguments) } }() }, { key: "getWebSocket", value: function() { var e = r(regeneratorRuntime.mark(function e(i, n) { var r, o, a; return regeneratorRuntime.wrap(function(e) { for (; ; ) switch (e.prev = e.next) { case 0: return e.t0 = JSON, e.next = 3, t.executeXhr("/get-signaling-token/" + i + "/" + n, "get"); case 3: return e.t1 = e.sent, r = e.t0.parse.call(e.t0, e.t1).v, e.t2 = JSON, e.next = 8, t.executeXhr("/get-signaling-host/" + i + "/" + n, "get"); case 8: return e.t3 = e.sent, o = e.t2.parse.call(e.t2, e.t3).v, a = o + "/v2/" + r, e.abrupt("return", new WebSocket(a)); case 12: case "end": return e.stop() } }, e, this) })); return function(t, i) { return e.apply(this, arguments) } }() }, { key: "addPlayerToGame", value: function(i, n) { return new e(function(e, n) { t.executeXhr("/game/" + i, "put").then(function(t) { e(JSON.parse(t)) }) } ) } }, { key: "pathUrl", value: function(e) { return self.baseUrl + e } }, { key: "executeXhr", value: function(i, n) { return new e(function(e, r) { var o = new XMLHttpRequest , a = t.pathUrl(i); o.open(n, a), o.onreadystatechange = function() { 4 !== o.readyState || 404 !== o.status || r() } , o.send(), o.onload = function() { e(o.responseText) } , o.onerror = function(e) { console.log(e), r(e) } } ) } }], n && o(i.prototype, n), s && o(i, s), t }(); t.a = s } ).call(this, i(41)) } , function(e, t, i) { var n = i(5) , r = i(23) , o = i(22) , a = i(46)("src") , s = Function.toString , c = ("" + s).split("toString"); i(14).inspectSource = function(e) { return s.call(e) } , (e.exports = function(e, t, i, s) { var u = "function" == typeof i; u && (o(i, "name") || r(i, "name", t)), e[t] !== i && (u && (o(i, a) || r(i, a, e[t] ? "" + e[t] : c.join(String(t)))), e === n ? e[t] = i : s ? e[t] ? e[t] = i : r(e, t, i) : (delete e[t], r(e, t, i))) } )(Function.prototype, "toString", function() { return "function" == typeof this && this[a] || s.call(this) }) } , function(e, t, i) { var n = i(37); e.exports = function(e) { return Object(n(e)) } } , function(e, t, i) { var n = i(0) , r = i(3) , o = i(37) , a = /"/g , s = function(e, t, i, n) { var r = String(o(e)) , s = "<" + t; return "" !== i && (s += " " + i + '="' + String(n).replace(a, """) + '"'), s + ">" + r + "" }; e.exports = function(e, t) { var i = {}; i[e] = t(s), n(n.P + n.F * r(function() { var t = ""[e]('"'); return t !== t.toLowerCase() || t.split('"').length > 3 }), "String", i) } } , function(e, t) { var i = {}.hasOwnProperty; e.exports = function(e, t) { return i.call(e, t) } } , function(e, t, i) { var n = i(12) , r = i(45); e.exports = i(13) ? function(e, t, i) { return n.f(e, t, r(1, i)) } : function(e, t, i) { return e[t] = i, e } } , function(e, t, i) { var n = i(64) , r = i(37); e.exports = function(e) { return n(r(e)) } } , function(e, t) { function i(e, t) { if (!e) throw new Error(t || "Assertion failed") } e.exports = i, i.equal = function(e, t, i) { if (e != t) throw new Error(i || "Assertion failed: " + e + " != " + t) } } , function(e, t, i) { "use strict"; var n = i(3); e.exports = function(e, t) { return !!e && n(function() { t ? e.call(null, function() {}, 1) : e.call(null) }) } } , function(e, t) { var i, n, r = e.exports = {}; function o() { throw new Error("setTimeout has not been defined") } function a() { throw new Error("clearTimeout has not been defined") } function s(e) { if (i === setTimeout) return setTimeout(e, 0); if ((i === o || !i) && setTimeout) return i = setTimeout, setTimeout(e, 0); try { return i(e, 0) } catch (t) { try { return i.call(null, e, 0) } catch (t) { return i.call(this, e, 0) } } } !function() { try { i = "function" == typeof setTimeout ? setTimeout : o } catch (e) { i = o } try { n = "function" == typeof clearTimeout ? clearTimeout : a } catch (e) { n = a } }(); var c, u = [], l = false, h = -1; function f() { l && c && (l = false, c.length ? u = c.concat(u) : h = -1, u.length && d()) } function d() { if (!l) { var e = s(f); l = true; for (var t = u.length; t; ) { for (c = u, u = []; ++h < t; ) c && c[h].run(); h = -1, t = u.length } c = null, l = false, function(e) { if (n === clearTimeout) return clearTimeout(e); if ((n === a || !n) && clearTimeout) return n = clearTimeout, clearTimeout(e); try { n(e) } catch (t) { try { return n.call(null, e) } catch (t) { return n.call(this, e) } } }(e) } } function p(e, t) { this.fun = e, this.array = t } function m() {} r.nextTick = function(e) { var t = new Array(arguments.length - 1); if (arguments.length > 1) for (var i = 1; i < arguments.length; i++) t[i - 1] = arguments[i]; u.push(new p(e,t)), 1 !== u.length || l || s(d) } , p.prototype.run = function() { this.fun.apply(null, this.array) } , r.title = "browser", r.browser = true, r.env = {}, r.argv = [], r.version = "", r.versions = {}, r.on = m, r.addListener = m, r.once = m, r.off = m, r.removeListener = m, r.removeAllListeners = m, r.emit = m, r.prependListener = m, r.prependOnceListener = m, r.listeners = function(e) { return [] } , r.binding = function(e) { throw new Error("process.binding is not supported") } , r.cwd = function() { return "/" } , r.chdir = function(e) { throw new Error("process.chdir is not supported") } , r.umask = function() { return 0 } } , function(e, t) { var i = Math.ceil , n = Math.floor; e.exports = function(e) { return isNaN(e = +e) ? 0 : (e > 0 ? n : i)(e) } } , function(e, t, i) { var n = i(65) , r = i(45) , o = i(24) , a = i(39) , s = i(22) , c = i(138) , u = Object.getOwnPropertyDescriptor; t.f = i(13) ? u : function(e, t) { if (e = o(e), t = a(t, true), c) try { return u(e, t) } catch (e) {} if (s(e, t)) return r(!n.f.call(e, t), e[t]) } } , function(e, t, i) { var n = i(0) , r = i(14) , o = i(3); e.exports = function(e, t) { var i = (r.Object || {})[e] || Object[e] , a = {}; a[e] = t(i), n(n.S + n.F * o(function() { i(1) }), "Object", a) } } , function(e, t, i) { var n = i(34) , r = i(64) , o = i(20) , a = i(10) , s = i(321); e.exports = function(e, t) { var i = 1 == e , c = 2 == e , u = 3 == e , l = 4 == e , h = 6 == e , f = 5 == e || h , d = t || s; return function(t, s, p) { for (var m, g, _ = o(t), v = r(_), y = n(s, p, 3), b = a(v.length), E = 0, T = i ? d(t, b) : c ? d(t, 0) : void 0; b > E; E++) if ((f || E in v) && (g = y(m = v[E], E, _), e)) if (i) T[E] = g; else if (g) switch (e) { case 3: return true; case 5: return m; case 6: return E; case 2: T.push(m) } else if (l) return false; return h ? -1 : u || l ? l : T } } } , function(e, t, i) { "use strict"; function n(e) { return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e } )(e) } var r = Object.prototype.hasOwnProperty , o = Object.prototype.toString , a = Object.defineProperty , s = Object.getOwnPropertyDescriptor , c = function(e) { return "function" == typeof Array.isArray ? Array.isArray(e) : "[object Array]" === o.call(e) } , u = function(e) { if (!e || "[object Object]" !== o.call(e)) return false; var t, i = r.call(e, "constructor"), n = e.constructor && e.constructor.prototype && r.call(e.constructor.prototype, "isPrototypeOf"); if (e.constructor && !i && !n) return false; for (t in e) ; return void 0 === t || r.call(e, t) } , l = function(e, t) { a && "__proto__" === t.name ? a(e, t.name, { enumerable: true, configurable: true, value: t.newValue, writable: true }) : e[t.name] = t.newValue } , h = function(e, t) { if ("__proto__" === t) { if (!r.call(e, t)) return; if (s) return s(e, t).value } return e[t] }; e.exports = function e() { var t, i, r, o, a, s, f = arguments[0], d = 1, p = arguments.length, m = false; for ("boolean" == typeof f && (m = f, f = arguments[1] || {}, d = 2), (null == f || "object" !== n(f) && "function" != typeof f) && (f = {}); d < p; ++d) if (null != (t = arguments[d])) for (i in t) r = h(f, i), f !== (o = h(t, i)) && (m && o && (u(o) || (a = c(o))) ? (a ? (a = false, s = r && c(r) ? r : []) : s = r && u(r) ? r : {}, l(f, { name: i, newValue: e(m, s, o) })) : void 0 !== o && l(f, { name: i, newValue: o })); return f } } , function(e, t, i) { "use strict"; var n = i(25) , r = i(1); function o(e, t) { return 55296 == (64512 & e.charCodeAt(t)) && (!(t < 0 || t + 1 >= e.length) && 56320 == (64512 & e.charCodeAt(t + 1))) } function a(e) { return (e >>> 24 | e >>> 8 & 65280 | e << 8 & 16711680 | (255 & e) << 24) >>> 0 } function s(e) { return 1 === e.length ? "0" + e : e } function c(e) { return 7 === e.length ? "0" + e : 6 === e.length ? "00" + e : 5 === e.length ? "000" + e : 4 === e.length ? "0000" + e : 3 === e.length ? "00000" + e : 2 === e.length ? "000000" + e : 1 === e.length ? "0000000" + e : e } t.inherits = r, t.toArray = function(e, t) { if (Array.isArray(e)) return e.slice(); if (!e) return []; var i = []; if ("string" == typeof e) if (t) { if ("hex" === t) for ((e = e.replace(/[^a-z0-9]+/gi, "")).length % 2 != 0 && (e = "0" + e), r = 0; r < e.length; r += 2) i.push(parseInt(e[r] + e[r + 1], 16)) } else for (var n = 0, r = 0; r < e.length; r++) { var a = e.charCodeAt(r); a < 128 ? i[n++] = a : a < 2048 ? (i[n++] = a >> 6 | 192, i[n++] = 63 & a | 128) : o(e, r) ? (a = 65536 + ((1023 & a) << 10) + (1023 & e.charCodeAt(++r)), i[n++] = a >> 18 | 240, i[n++] = a >> 12 & 63 | 128, i[n++] = a >> 6 & 63 | 128, i[n++] = 63 & a | 128) : (i[n++] = a >> 12 | 224, i[n++] = a >> 6 & 63 | 128, i[n++] = 63 & a | 128) } else for (r = 0; r < e.length; r++) i[r] = 0 | e[r]; return i } , t.toHex = function(e) { for (var t = "", i = 0; i < e.length; i++) t += s(e[i].toString(16)); return t } , t.htonl = a, t.toHex32 = function(e, t) { for (var i = "", n = 0; n < e.length; n++) { var r = e[n]; "little" === t && (r = a(r)), i += c(r.toString(16)) } return i } , t.zero2 = s, t.zero8 = c, t.join32 = function(e, t, i, r) { var o = i - t; n(o % 4 == 0); for (var a = new Array(o / 4), s = 0, c = t; s < a.length; s++, c += 4) { var u; u = "big" === r ? e[c] << 24 | e[c + 1] << 16 | e[c + 2] << 8 | e[c + 3] : e[c + 3] << 24 | e[c + 2] << 16 | e[c + 1] << 8 | e[c], a[s] = u >>> 0 } return a } , t.split32 = function(e, t) { for (var i = new Array(4 * e.length), n = 0, r = 0; n < e.length; n++, r += 4) { var o = e[n]; "big" === t ? (i[r] = o >>> 24, i[r + 1] = o >>> 16 & 255, i[r + 2] = o >>> 8 & 255, i[r + 3] = 255 & o) : (i[r + 3] = o >>> 24, i[r + 2] = o >>> 16 & 255, i[r + 1] = o >>> 8 & 255, i[r] = 255 & o) } return i } , t.rotr32 = function(e, t) { return e >>> t | e << 32 - t } , t.rotl32 = function(e, t) { return e << t | e >>> 32 - t } , t.sum32 = function(e, t) { return e + t >>> 0 } , t.sum32_3 = function(e, t, i) { return e + t + i >>> 0 } , t.sum32_4 = function(e, t, i, n) { return e + t + i + n >>> 0 } , t.sum32_5 = function(e, t, i, n, r) { return e + t + i + n + r >>> 0 } , t.sum64 = function(e, t, i, n) { var r = e[t] , o = n + e[t + 1] >>> 0 , a = (o < n ? 1 : 0) + i + r; e[t] = a >>> 0, e[t + 1] = o } , t.sum64_hi = function(e, t, i, n) { return (t + n >>> 0 < t ? 1 : 0) + e + i >>> 0 } , t.sum64_lo = function(e, t, i, n) { return t + n >>> 0 } , t.sum64_4_hi = function(e, t, i, n, r, o, a, s) { var c = 0 , u = t; return c += (u = u + n >>> 0) < t ? 1 : 0, c += (u = u + o >>> 0) < o ? 1 : 0, e + i + r + a + (c += (u = u + s >>> 0) < s ? 1 : 0) >>> 0 } , t.sum64_4_lo = function(e, t, i, n, r, o, a, s) { return t + n + o + s >>> 0 } , t.sum64_5_hi = function(e, t, i, n, r, o, a, s, c, u) { var l = 0 , h = t; return l += (h = h + n >>> 0) < t ? 1 : 0, l += (h = h + o >>> 0) < o ? 1 : 0, l += (h = h + s >>> 0) < s ? 1 : 0, e + i + r + a + c + (l += (h = h + u >>> 0) < u ? 1 : 0) >>> 0 } , t.sum64_5_lo = function(e, t, i, n, r, o, a, s, c, u) { return t + n + o + s + u >>> 0 } , t.rotr64_hi = function(e, t, i) { return (t << 32 - i | e >>> i) >>> 0 } , t.rotr64_lo = function(e, t, i) { return (e << 32 - i | t >>> i) >>> 0 } , t.shr64_hi = function(e, t, i) { return e >>> i } , t.shr64_lo = function(e, t, i) { return (e << 32 - i | t >>> i) >>> 0 } } , function(e, t, i) { var n = i(35); e.exports = function(e, t, i) { if (n(e), void 0 === t) return e; switch (i) { case 1: return function(i) { return e.call(t, i) } ; case 2: return function(i, n) { return e.call(t, i, n) } ; case 3: return function(i, n, r) { return e.call(t, i, n, r) } } return function() { return e.apply(t, arguments) } } } , function(e, t) { e.exports = function(e) { if ("function" != typeof e) throw TypeError(e + " is not a function!"); return e } } , function(e, t) { var i = {}.toString; e.exports = function(e) { return i.call(e).slice(8, -1) } } , function(e, t) { e.exports = function(e) { if (null == e) throw TypeError("Can't call method on " + e); return e } } , function(e, t, i) { "use strict"; function n(e) { return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e } )(e) } if (i(13)) { var r = i(47) , o = i(5) , a = i(3) , s = i(0) , c = i(84) , u = i(121) , l = i(34) , h = i(60) , f = i(45) , d = i(23) , p = i(61) , m = i(28) , g = i(10) , _ = i(164) , v = i(49) , y = i(39) , b = i(22) , E = i(66) , T = i(6) , A = i(20) , x = i(113) , S = i(50) , C = i(52) , P = i(51).f , R = i(115) , M = i(46) , O = i(8) , w = i(31) , I = i(74) , D = i(67) , L = i(117) , F = i(57) , B = i(77) , N = i(59) , k = i(116) , U = i(155) , V = i(12) , G = i(29) , z = V.f , j = G.f , H = o.RangeError , W = o.TypeError , X = o.Uint8Array , Y = Array.prototype , K = u.ArrayBuffer , Q = u.DataView , q = w(0) , Z = w(2) , J = w(3) , $ = w(4) , ee = w(5) , te = w(6) , ie = I(true) , ne = I(false) , re = L.values , oe = L.keys , ae = L.entries , se = Y.lastIndexOf , ce = Y.reduce , ue = Y.reduceRight , le = Y.join , he = Y.sort , fe = Y.slice , de = Y.toString , pe = Y.toLocaleString , me = O("iterator") , ge = O("toStringTag") , _e = M("typed_constructor") , ve = M("def_constructor") , ye = c.CONSTR , be = c.TYPED , Ee = c.VIEW , Te = w(1, function(e, t) { return Pe(D(e, e[ve]), t) }) , Ae = a(function() { return 1 === new X(new Uint16Array([1]).buffer)[0] }) , xe = !!X && !!X.prototype.set && a(function() { new X(1).set({}) }) , Se = function(e, t) { var i = m(e); if (i < 0 || i % t) throw H("Wrong offset!"); return i } , Ce = function(e) { if (T(e) && be in e) return e; throw W(e + " is not a typed array!") } , Pe = function(e, t) { if (!(T(e) && _e in e)) throw W("It is not a typed array constructor!"); return new e(t) } , Re = function(e, t) { return Me(D(e, e[ve]), t) } , Me = function(e, t) { for (var i = 0, n = t.length, r = Pe(e, n); n > i; ) r[i] = t[i++]; return r } , Oe = function(e, t, i) { z(e, t, { get: function() { return this._d[i] } }) } , we = function(e) { var t, i, n, r, o, a, s = A(e), c = arguments.length, u = c > 1 ? arguments[1] : void 0, h = void 0 !== u, f = R(s); if (null != f && !x(f)) { for (a = f.call(s), n = [], t = 0; !(o = a.next()).done; t++) n.push(o.value); s = n } for (h && c > 2 && (u = l(u, arguments[2], 2)), t = 0, i = g(s.length), r = Pe(this, i); i > t; t++) r[t] = h ? u(s[t], t) : s[t]; return r } , Ie = function() { for (var e = 0, t = arguments.length, i = Pe(this, t); t > e; ) i[e] = arguments[e++]; return i } , De = !!X && a(function() { pe.call(new X(1)) }) , Le = function() { return pe.apply(De ? fe.call(Ce(this)) : Ce(this), arguments) } , Fe = { copyWithin: function(e, t) { return U.call(Ce(this), e, t, arguments.length > 2 ? arguments[2] : void 0) }, every: function(e) { return $(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0) }, fill: function(e) { return k.apply(Ce(this), arguments) }, filter: function(e) { return Re(this, Z(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0)) }, find: function(e) { return ee(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0) }, findIndex: function(e) { return te(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0) }, forEach: function(e) { q(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0) }, indexOf: function(e) { return ne(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0) }, includes: function(e) { return ie(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0) }, join: function(e) { return le.apply(Ce(this), arguments) }, lastIndexOf: function(e) { return se.apply(Ce(this), arguments) }, map: function(e) { return Te(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0) }, reduce: function(e) { return ce.apply(Ce(this), arguments) }, reduceRight: function(e) { return ue.apply(Ce(this), arguments) }, reverse: function() { for (var e, t = Ce(this).length, i = Math.floor(t / 2), n = 0; n < i; ) e = this[n], this[n++] = this[--t], this[t] = e; return this }, some: function(e) { return J(Ce(this), e, arguments.length > 1 ? arguments[1] : void 0) }, sort: function(e) { return he.call(Ce(this), e) }, subarray: function(e, t) { var i = Ce(this) , n = i.length , r = v(e, n); return new (D(i, i[ve]))(i.buffer,i.byteOffset + r * i.BYTES_PER_ELEMENT,g((void 0 === t ? n : v(t, n)) - r)) } } , Be = function(e, t) { return Re(this, fe.call(Ce(this), e, t)) } , Ne = function(e) { Ce(this); var t = Se(arguments[1], 1) , i = this.length , n = A(e) , r = g(n.length) , o = 0; if (r + t > i) throw H("Wrong length!"); for (; o < r; ) this[t + o] = n[o++] } , ke = { entries: function() { return ae.call(Ce(this)) }, keys: function() { return oe.call(Ce(this)) }, values: function() { return re.call(Ce(this)) } } , Ue = function(e, t) { return T(e) && e[be] && "symbol" != n(t) && t in e && String(+t) == String(t) } , Ve = function(e, t) { return Ue(e, t = y(t, true)) ? f(2, e[t]) : j(e, t) } , Ge = function(e, t, i) { return !(Ue(e, t = y(t, true)) && T(i) && b(i, "value")) || b(i, "get") || b(i, "set") || i.configurable || b(i, "writable") && !i.writable || b(i, "enumerable") && !i.enumerable ? z(e, t, i) : (e[t] = i.value, e) }; ye || (G.f = Ve, V.f = Ge), s(s.S + s.F * !ye, "Object", { getOwnPropertyDescriptor: Ve, defineProperty: Ge }), a(function() { de.call({}) }) && (de = pe = function() { return le.call(this) } ); var ze = p({}, Fe); p(ze, ke), d(ze, me, ke.values), p(ze, { slice: Be, set: Ne, constructor: function() {}, toString: de, toLocaleString: Le }), Oe(ze, "buffer", "b"), Oe(ze, "byteOffset", "o"), Oe(ze, "byteLength", "l"), Oe(ze, "length", "e"), z(ze, ge, { get: function() { return this[be] } }), e.exports = function(e, t, i, n) { var u = e + ((n = !!n) ? "Clamped" : "") + "Array" , l = "get" + e , f = "set" + e , p = o[u] , m = p || {} , v = p && C(p) , y = !p || !c.ABV , b = {} , A = p && p.prototype , x = function(e, i) { z(e, i, { get: function() { return function(e, i) { var n = e._d; return n.v[l](i * t + n.o, Ae) }(this, i) }, set: function(e) { return function(e, i, r) { var o = e._d; n && (r = (r = Math.round(r)) < 0 ? 0 : r > 255 ? 255 : 255 & r), o.v[f](i * t + o.o, r, Ae) }(this, i, e) }, enumerable: true }) }; y ? (p = i(function(e, i, n, r) { h(e, p, u, "_d"); var o, a, s, c, l = 0, f = 0; if (T(i)) { if (!(i instanceof K || "ArrayBuffer" == (c = E(i)) || "SharedArrayBuffer" == c)) return be in i ? Me(p, i) : we.call(p, i); o = i, f = Se(n, t); var m = i.byteLength; if (void 0 === r) { if (m % t) throw H("Wrong length!"); if ((a = m - f) < 0) throw H("Wrong length!") } else if ((a = g(r) * t) + f > m) throw H("Wrong length!"); s = a / t } else s = _(i), o = new K(a = s * t); for (d(e, "_d", { b: o, o: f, l: a, e: s, v: new Q(o) }); l < s; ) x(e, l++) }), A = p.prototype = S(ze), d(A, "constructor", p)) : a(function() { p(1) }) && a(function() { new p(-1) }) && B(function(e) { new p, new p(null), new p(1.5), new p(e) }, true) || (p = i(function(e, i, n, r) { var o; return h(e, p, u), T(i) ? i instanceof K || "ArrayBuffer" == (o = E(i)) || "SharedArrayBuffer" == o ? void 0 !== r ? new m(i,Se(n, t),r) : void 0 !== n ? new m(i,Se(n, t)) : new m(i) : be in i ? Me(p, i) : we.call(p, i) : new m(_(i)) }), q(v !== Function.prototype ? P(m).concat(P(v)) : P(m), function(e) { e in p || d(p, e, m[e]) }), p.prototype = A, r || (A.constructor = p)); var R = A[me] , M = !!R && ("values" == R.name || null == R.name) , O = ke.values; d(p, _e, true), d(A, be, u), d(A, Ee, true), d(A, ve, p), (n ? new p(1)[ge] == u : ge in A) || z(A, ge, { get: function() { return u } }), b[u] = p, s(s.G + s.W + s.F * (p != m), b), s(s.S, u, { BYTES_PER_ELEMENT: t }), s(s.S + s.F * a(function() { m.of.call(p, 1) }), u, { from: we, of: Ie }), "BYTES_PER_ELEMENT"in A || d(A, "BYTES_PER_ELEMENT", t), s(s.P, u, Fe), N(u), s(s.P + s.F * xe, u, { set: Ne }), s(s.P + s.F * !M, u, ke), r || A.toString == de || (A.toString = de), s(s.P + s.F * a(function() { new p(1).slice() }), u, { slice: Be }), s(s.P + s.F * (a(function() { return [1, 2].toLocaleString() != new p([1, 2]).toLocaleString() }) || !a(function() { A.toLocaleString.call([1, 2]) })), u, { toLocaleString: Le }), F[u] = M ? R : O, r || M || d(A, me, O) } } else e.exports = function() {} } , function(e, t, i) { var n = i(6); e.exports = function(e, t) { if (!n(e)) return e; var i, r; if (t && "function" == typeof (i = e.toString) && !n(r = i.call(e))) return r; if ("function" == typeof (i = e.valueOf) && !n(r = i.call(e))) return r; if (!t && "function" == typeof (i = e.toString) && !n(r = i.call(e))) return r; throw TypeError("Can't convert object to primitive value") } } , function(e, t, i) { function n(e) { return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e } )(e) } var r = i(46)("meta") , o = i(6) , a = i(22) , s = i(12).f , c = 0 , u = Object.isExtensible || function() { return true } , l = !i(3)(function() { return u(Object.preventExtensions({})) }) , h = function(e) { s(e, r, { value: { i: "O" + ++c, w: {} } }) } , f = e.exports = { KEY: r, NEED: false, fastKey: function(e, t) { if (!o(e)) return "symbol" == n(e) ? e : ("string" == typeof e ? "S" : "P") + e; if (!a(e, r)) { if (!u(e)) return "F"; if (!t) return "E"; h(e) } return e[r].i }, getWeak: function(e, t) { if (!a(e, r)) { if (!u(e)) return true; if (!t) return false; h(e) } return e[r].w }, onFreeze: function(e) { return l && f.NEED && u(e) && !a(e, r) && h(e), e } } } , function(e, t, i) { e.exports = i(394).Promise } , function(e, t) { function i(e) { return (i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e } )(e) } function n() { this._events = this._events || {}, this._maxListeners = this._maxListeners || void 0 } function r(e) { return "function" == typeof e } function o(e) { return "object" === i(e) && null !== e } function a(e) { return void 0 === e } e.exports = n, n.EventEmitter = n, n.prototype._events = void 0, n.prototype._maxListeners = void 0, n.defaultMaxListeners = 10, n.prototype.setMaxListeners = function(e) { if ("number" != typeof e || e < 0 || isNaN(e)) throw TypeError("n must be a positive number"); return this._maxListeners = e, this } , n.prototype.emit = function(e) { var t, i, n, s, c, u; if (this._events || (this._events = {}), "error" === e && (!this._events.error || o(this._events.error) && !this._events.error.length)) { if ((t = arguments[1])instanceof Error) throw t; var l = new Error('Uncaught, unspecified "error" event. (' + t + ")"); throw l.context = t, l } if (a(i = this._events[e])) return false; if (r(i)) switch (arguments.length) { case 1: i.call(this); break; case 2: i.call(this, arguments[1]); break; case 3: i.call(this, arguments[1], arguments[2]); break; default: s = Array.prototype.slice.call(arguments, 1), i.apply(this, s) } else if (o(i)) for (s = Array.prototype.slice.call(arguments, 1), n = (u = i.slice()).length, c = 0; c < n; c++) u[c].apply(this, s); return true } , n.prototype.addListener = function(e, t) { var i; if (!r(t)) throw TypeError("listener must be a function"); return this._events || (this._events = {}), this._events.newListener && this.emit("newListener", e, r(t.listener) ? t.listener : t), this._events[e] ? o(this._events[e]) ? this._events[e].push(t) : this._events[e] = [this._events[e], t] : this._events[e] = t, o(this._events[e]) && !this._events[e].warned && (i = a(this._maxListeners) ? n.defaultMaxListeners : this._maxListeners) && i > 0 && this._events[e].length > i && (this._events[e].warned = true, console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.", this._events[e].length), "function" == typeof console.trace && console.trace()), this } , n.prototype.on = n.prototype.addListener, n.prototype.once = function(e, t) { if (!r(t)) throw TypeError("listener must be a function"); var i = false; function n() { this.removeListener(e, n), i || (i = true, t.apply(this, arguments)) } return n.listener = t, this.on(e, n), this } , n.prototype.removeListener = function(e, t) { var i, n, a, s; if (!r(t)) throw TypeError("listener must be a function"); if (!this._events || !this._events[e]) return this; if (a = (i = this._events[e]).length, n = -1, i === t || r(i.listener) && i.listener === t) delete this._events[e], this._events.removeListener && this.emit("removeListener", e, t); else if (o(i)) { for (s = a; s-- > 0; ) if (i[s] === t || i[s].listener && i[s].listener === t) { n = s; break } if (n < 0) return this; 1 === i.length ? (i.length = 0, delete this._events[e]) : i.splice(n, 1), this._events.removeListener && this.emit("removeListener", e, t) } return this } , n.prototype.removeAllListeners = function(e) { var t, i; if (!this._events) return this; if (!this._events.removeListener) return 0 === arguments.length ? this._events = {} : this._events[e] && delete this._events[e], this; if (0 === arguments.length) { for (t in this._events) "removeListener" !== t && this.removeAllListeners(t); return this.removeAllListeners("removeListener"), this._events = {}, this } if (r(i = this._events[e])) this.removeListener(e, i); else if (i) for (; i.length; ) this.removeListener(e, i[i.length - 1]); return delete this._events[e], this } , n.prototype.listeners = function(e) { return this._events && this._events[e] ? r(this._events[e]) ? [this._events[e]] : this._events[e].slice() : [] } , n.prototype.listenerCount = function(e) { if (this._events) { var t = this._events[e]; if (r(t)) return 1; if (t) return t.length } return 0 } , n.listenerCount = function(e, t) { return e.listenerCount(t) } } , function(e, t, i) { "use strict"; e.exports = { Timer: function(e, t) { var i = t || "" , n = e || 1 , r = [] , o = [] , a = 0 , s = 0 , c = 0 , u = 0 , l = true; this.start = function() { l && (r.length = o.length = 0, l = false), a = s = performance.now(), c++ } , this.add = function(e) { var t = performance.now(); o.indexOf(e) < 0 && o.push(e); var i = o.indexOf(e); r[i] || (r[i] = 0), r[i] += t - s, s = t } , this.report = function() { if (u += performance.now() - a, c === n) { var e = " total: " + (u / n).toFixed(2) + "ms (avg, " + n + " runs)"; console.log(i + ":", o.map(function(e, t) { return e + ": " + (r[t] / n).toFixed(2) + "ms " }).join(""), n > 1 ? e : ""), l = true, c = 0, u = 0 } } }, removeUnorderedListItem: function(e, t) { var i = e.indexOf(t); if (i < 0) return; i === e.length - 1 ? e.pop() : e[i] = e.pop() } } } , function(e, t, i) { var n = i(2).Buffer , r = i(128).Transform , o = i(124).StringDecoder; function a(e) { r.call(this), this.hashMode = "string" == typeof e, this.hashMode ? this[e] = this._finalOrDigest : this.final = this._finalOrDigest, this._final && (this.__final = this._final, this._final = null), this._decoder = null, this._encoding = null } i(1)(a, r), a.prototype.update = function(e, t, i) { "string" == typeof e && (e = n.from(e, t)); var r = this._update(e); return this.hashMode ? this : (i && (r = this._toString(r, i)), r) } , a.prototype.setAutoPadding = function() {} , a.prototype.getAuthTag = function() { throw new Error("trying to get auth tag in unsupported state") } , a.prototype.setAuthTag = function() { throw new Error("trying to set auth tag in unsupported state") } , a.prototype.setAAD = function() { throw new Error("trying to set aad in unsupported state") } , a.prototype._transform = function(e, t, i) { var n; try { this.hashMode ? this._update(e) : this.push(this._update(e)) } catch (e) { n = e } finally { i(n) } } , a.prototype._flush = function(e) { var t; try { this.push(this.__final()) } catch (e) { t = e } e(t) } , a.prototype._finalOrDigest = function(e) { var t = this.__final() || n.alloc(0); return e && (t = this._toString(t, e, true)), t } , a.prototype._toString = function(e, t, i) { if (this._decoder || (this._decoder = new o(t), this._encoding = t), this._encoding !== t) throw new Error("can't switch encodings"); var n = this._decoder.write(e); return i && (n += this._decoder.end()), n } , e.exports = a } , function(e, t) { e.exports = function(e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t } } } , function(e, t) { var i = 0 , n = Math.random(); e.exports = function(e) { return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + n).toString(36)) } } , function(e, t) { e.exports = false } , function(e, t, i) { var n = i(140) , r = i(99); e.exports = Object.keys || function(e) { return n(e, r) } } , function(e, t, i) { var n = i(28) , r = Math.max , o = Math.min; e.exports = function(e, t) { return (e = n(e)) < 0 ? r(e + t, 0) : o(e, t) } } , function(e, t, i) { var n = i(4) , r = i(141) , o = i(99) , a = i(98)("IE_PROTO") , s = function() {} , c = function() { var e, t = i(95)("iframe"), n = o.length; for (t.style.display = "none", i(101).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write("