diff --git a/bower.json b/bower.json index 84c38fb8..4bc3b384 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "openpgp", - "version": "3.0.2", + "version": "3.0.3", "license": "LGPL-3.0+", "homepage": "https://openpgpjs.org/", "authors": [ diff --git a/dist/openpgp.js b/dist/openpgp.js index 86f8630a..2badbb83 100644 --- a/dist/openpgp.js +++ b/dist/openpgp.js @@ -16143,7 +16143,7 @@ module.exports={ ], "_resolved": "github:openpgpjs/elliptic#e187e706e11fa51bcd20e46e5119054be4e2a4a6", "_spec": "elliptic@github:openpgpjs/elliptic", - "_where": "/Users/bbutler/Projects/openpgpjs", + "_where": "/Users/sunny/Desktop/Protonmail/openpgpjs", "author": { "name": "Fedor Indutny", "email": "fedor@indutny.com" @@ -16194,7 +16194,7 @@ module.exports={ "name": "elliptic", "repository": { "type": "git", - "url": "git@github.com:indutny/elliptic" + "url": "git+ssh://git@github.com/indutny/elliptic.git" }, "scripts": { "jscs": "jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js", @@ -27747,7 +27747,7 @@ exports.default = { * @memberof module:config * @property {String} versionstring A version string to be included in armored messages */ - versionstring: "OpenPGP.js v3.0.2", + versionstring: "OpenPGP.js v3.0.3", /** * @memberof module:config * @property {String} commentstring A comment string to be included in armored messages @@ -31164,10 +31164,9 @@ var one = new _bn2.default(1); // GPG4Browsers - An OpenPGP implementation in ja // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -// -// A Digital signature algorithm implementation /** + * @fileoverview A Digital signature algorithm implementation * @requires bn.js * @requires crypto/hash * @requires crypto/random @@ -31390,10 +31389,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -// -// ElGamal implementation /** + * @fileoverview ElGamal implementation * @requires bn.js * @requires crypto/random * @module crypto/public_key/elgamal @@ -31676,20 +31674,23 @@ var webCrypto = _util2.default.getWebCrypto(); // OpenPGP.js - An OpenPGP implem var nodeCrypto = _util2.default.getNodeCrypto(); -var nodeCurves = {}; var webCurves = { 'p256': 'P-256', 'p384': 'P-384', 'p521': 'P-521' }; -if (nodeCrypto) { - var knownCurves = nodeCrypto.getCurves(); - nodeCurves.secp256k1 = knownCurves.includes('secp256k1') ? 'secp256k1' : undefined; - nodeCurves.p256 = knownCurves.includes('prime256v1') ? 'prime256v1' : undefined; - nodeCurves.p384 = knownCurves.includes('secp384r1') ? 'secp384r1' : undefined; - nodeCurves.p521 = knownCurves.includes('secp521r1') ? 'secp521r1' : undefined; - // TODO add more here -} +var knownCurves = nodeCrypto ? nodeCrypto.getCurves() : []; +var nodeCurves = nodeCrypto ? { + secp256k1: knownCurves.includes('secp256k1') ? 'secp256k1' : undefined, + p256: knownCurves.includes('prime256v1') ? 'prime256v1' : undefined, + p384: knownCurves.includes('secp384r1') ? 'secp384r1' : undefined, + p521: knownCurves.includes('secp521r1') ? 'secp521r1' : undefined, + ed25519: knownCurves.includes('ED25519') ? 'ED25519' : undefined, + curve25519: knownCurves.includes('X25519') ? 'X25519' : undefined, + brainpoolP256r1: knownCurves.includes('brainpoolP256r1') ? 'brainpoolP256r1' : undefined, + brainpoolP384r1: knownCurves.includes('brainpoolP384r1') ? 'brainpoolP384r1' : undefined, + brainpoolP512r1: knownCurves.includes('brainpoolP512r1') ? 'brainpoolP512r1' : undefined +} : {}; var curves = { p256: { @@ -31730,22 +31731,35 @@ var curves = { oid: [0x06, 0x09, 0x2B, 0x06, 0x01, 0x04, 0x01, 0xDA, 0x47, 0x0F, 0x01], keyType: _enums2.default.publicKey.eddsa, hash: _enums2.default.hash.sha512, - payloadSize: 32 + node: false // nodeCurves.ed25519 TODO }, curve25519: { oid: [0x06, 0x08, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x97, 0x55, 0x01, 0x05, 0x01], keyType: _enums2.default.publicKey.ecdsa, hash: _enums2.default.hash.sha256, - cipher: _enums2.default.symmetric.aes128 + cipher: _enums2.default.symmetric.aes128, + node: false // nodeCurves.curve25519 TODO }, - brainpoolP256r1: { // TODO 1.3.36.3.3.2.8.1.1.7 - oid: [0x06, 0x07, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x07] + brainpoolP256r1: { + oid: [0x06, 0x07, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x07], + keyType: _enums2.default.publicKey.ecdsa, + hash: _enums2.default.hash.sha256, + cipher: _enums2.default.symmetric.aes128, + node: false // nodeCurves.brainpoolP256r1 TODO }, - brainpoolP384r1: { // TODO 1.3.36.3.3.2.8.1.1.11 - oid: [0x06, 0x07, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0B] + brainpoolP384r1: { + oid: [0x06, 0x07, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0B], + keyType: _enums2.default.publicKey.ecdsa, + hash: _enums2.default.hash.sha384, + cipher: _enums2.default.symmetric.aes192, + node: false // nodeCurves.brainpoolP384r1 TODO }, - brainpoolP512r1: { // TODO 1.3.36.3.3.2.8.1.1.13 - oid: [0x06, 0x07, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0D] + brainpoolP512r1: { + oid: [0x06, 0x07, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0D], + keyType: _enums2.default.publicKey.ecdsa, + hash: _enums2.default.hash.sha512, + cipher: _enums2.default.symmetric.aes256, + node: false // nodeCurves.brainpoolP512r1 TODO } }; @@ -33305,10 +33319,9 @@ function promisifyIE11Op(keyObj, err) { // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -// -// RSA implementation /** + * @fileoverview RSA implementation * @requires bn.js * @requires crypto/public_key/prime * @requires crypto/random @@ -34725,6 +34738,7 @@ Object.defineProperty(exports, "__esModule", { exports.default = { /** Maps curve names under various standards to one + * @see {@link https://wiki.gnupg.org/ECC|ECC - GnuPG wiki} * @enum {String} * @readonly */ @@ -34754,13 +34768,14 @@ exports.default = { "2b81040023": "p521", "2B81040023": "p521", - /** SECP256k1 Curve */ + /** SECG SECP256k1 Curve */ "secp256k1": "secp256k1", "1.3.132.0.10": "secp256k1", "2b8104000a": "secp256k1", "2B8104000A": "secp256k1", - /** Ed25519 Curve */ + /** Ed25519 */ + "ED25519": "ed25519", "ed25519": "ed25519", "Ed25519": "ed25519", "1.3.6.1.4.1.11591.15.1": "ed25519", @@ -34768,12 +34783,31 @@ exports.default = { "2B06010401DA470F01": "ed25519", /** Curve25519 */ + "X25519": "curve25519", "cv25519": "curve25519", "curve25519": "curve25519", "Curve25519": "curve25519", "1.3.6.1.4.1.3029.1.5.1": "curve25519", "2b060104019755010501": "curve25519", - "2B060104019755010501": "curve25519" + "2B060104019755010501": "curve25519", + + /** BrainpoolP256r1 Curve */ + "brainpoolP256r1": "brainpoolP256r1", + "1.3.36.3.3.2.8.1.1.7": "brainpoolP256r1", + "2b2403030208010107": "brainpoolP256r1", + "2B2403030208010107": "brainpoolP256r1", + + /** BrainpoolP384r1 Curve */ + "brainpoolP384r1": "brainpoolP384r1", + "1.3.36.3.3.2.8.1.1.11": "brainpoolP384r1", + "2b240303020801010b": "brainpoolP384r1", + "2B240303020801010B": "brainpoolP384r1", + + /** BrainpoolP512r1 Curve */ + "brainpoolP512r1": "brainpoolP512r1", + "1.3.36.3.3.2.8.1.1.13": "brainpoolP512r1", + "2b240303020801010d": "brainpoolP512r1", + "2B240303020801010D": "brainpoolP512r1" }, /** A string to key specifier type @@ -35559,73 +35593,73 @@ var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); * @param {Function} checkFn optional, signature only merged if true */ var mergeSignatures = function () { - var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(source, dest, attr, checkFn) { - return _regenerator2.default.wrap(function _callee17$(_context17) { + var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(source, dest, attr, checkFn) { + return _regenerator2.default.wrap(function _callee18$(_context18) { while (1) { - switch (_context17.prev = _context17.next) { + switch (_context18.prev = _context18.next) { case 0: source = source[attr]; if (!source) { - _context17.next = 8; + _context18.next = 8; break; } if (dest[attr].length) { - _context17.next = 6; + _context18.next = 6; break; } dest[attr] = source; - _context17.next = 8; + _context18.next = 8; break; case 6: - _context17.next = 8; + _context18.next = 8; return _promise2.default.all(source.map(function () { - var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(sourceSig) { - return _regenerator2.default.wrap(function _callee16$(_context16) { + var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(sourceSig) { + return _regenerator2.default.wrap(function _callee17$(_context17) { while (1) { - switch (_context16.prev = _context16.next) { + switch (_context17.prev = _context17.next) { case 0: - _context16.t1 = !sourceSig.isExpired(); + _context17.t1 = !sourceSig.isExpired(); - if (!_context16.t1) { - _context16.next = 8; + if (!_context17.t1) { + _context17.next = 8; break; } - _context16.t2 = !checkFn; + _context17.t2 = !checkFn; - if (_context16.t2) { - _context16.next = 7; + if (_context17.t2) { + _context17.next = 7; break; } - _context16.next = 6; + _context17.next = 6; return checkFn(sourceSig); case 6: - _context16.t2 = _context16.sent; + _context17.t2 = _context17.sent; case 7: - _context16.t1 = _context16.t2; + _context17.t1 = _context17.t2; case 8: - _context16.t0 = _context16.t1; + _context17.t0 = _context17.t1; - if (!_context16.t0) { - _context16.next = 11; + if (!_context17.t0) { + _context17.next = 11; break; } - _context16.t0 = !dest[attr].some(function (destSig) { + _context17.t0 = !dest[attr].some(function (destSig) { return _util2.default.equalsUint8Array(destSig.signature, sourceSig.signature); }); case 11: - if (!_context16.t0) { - _context16.next = 13; + if (!_context17.t0) { + _context17.next = 13; break; } @@ -35633,27 +35667,27 @@ var mergeSignatures = function () { case 13: case 'end': - return _context16.stop(); + return _context17.stop(); } } - }, _callee16, this); + }, _callee17, this); })); - return function (_x29) { - return _ref18.apply(this, arguments); + return function (_x31) { + return _ref19.apply(this, arguments); }; }())); case 8: case 'end': - return _context17.stop(); + return _context18.stop(); } } - }, _callee17, this); + }, _callee18, this); })); - return function mergeSignatures(_x25, _x26, _x27, _x28) { - return _ref17.apply(this, arguments); + return function mergeSignatures(_x27, _x28, _x29, _x30) { + return _ref18.apply(this, arguments); }; }(); @@ -35676,11 +35710,11 @@ var mergeSignatures = function () { * @static */ var reformat = exports.reformat = function () { - var _ref42 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee39(options) { + var _ref43 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee40(options) { var secretKeyPacket, secretSubkeyPacket, isDecrypted, packetlist, i; - return _regenerator2.default.wrap(function _callee39$(_context39) { + return _regenerator2.default.wrap(function _callee40$(_context40) { while (1) { - switch (_context39.prev = _context39.next) { + switch (_context40.prev = _context40.next) { case 0: secretKeyPacket = void 0; secretSubkeyPacket = void 0; @@ -35689,33 +35723,33 @@ var reformat = exports.reformat = function () { // RSA Encrypt-Only and RSA Sign-Only are deprecated and SHOULD NOT be generated if (!(options.keyType !== _enums2.default.publicKey.rsa_encrypt_sign)) { - _context39.next = 5; + _context40.next = 5; break; } throw new Error('Only RSA Encrypt or Sign supported'); case 5: - _context39.prev = 5; + _context40.prev = 5; isDecrypted = options.privateKey.getKeyPackets().every(function (keyPacket) { return keyPacket.isDecrypted; }); if (isDecrypted) { - _context39.next = 10; + _context40.next = 10; break; } - _context39.next = 10; + _context40.next = 10; return options.privateKey.decrypt(); case 10: - _context39.next = 15; + _context40.next = 15; break; case 12: - _context39.prev = 12; - _context39.t0 = _context39['catch'](5); + _context40.prev = 12; + _context40.t0 = _context40['catch'](5); throw new Error('Key not decrypted'); case 15: @@ -35740,50 +35774,50 @@ var reformat = exports.reformat = function () { } if (secretKeyPacket) { - _context39.next = 21; + _context40.next = 21; break; } throw new Error('Key does not contain a secret key packet'); case 21: - return _context39.abrupt('return', wrapKeyObject(secretKeyPacket, secretSubkeyPacket, options)); + return _context40.abrupt('return', wrapKeyObject(secretKeyPacket, secretSubkeyPacket, options)); case 22: case 'end': - return _context39.stop(); + return _context40.stop(); } } - }, _callee39, this, [[5, 12]]); + }, _callee40, this, [[5, 12]]); })); - return function reformat(_x65) { - return _ref42.apply(this, arguments); + return function reformat(_x67) { + return _ref43.apply(this, arguments); }; }(); var wrapKeyObject = function () { - var _ref43 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee41(secretKeyPacket, secretSubkeyPacket, options) { + var _ref44 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee42(secretKeyPacket, secretSubkeyPacket, options) { var packetlist, dataToSign, subkeySignaturePacket; - return _regenerator2.default.wrap(function _callee41$(_context41) { + return _regenerator2.default.wrap(function _callee42$(_context42) { while (1) { - switch (_context41.prev = _context41.next) { + switch (_context42.prev = _context42.next) { case 0: if (!options.passphrase) { - _context41.next = 6; + _context42.next = 6; break; } - _context41.next = 3; + _context42.next = 3; return secretKeyPacket.encrypt(options.passphrase); case 3: if (!secretSubkeyPacket) { - _context41.next = 6; + _context42.next = 6; break; } - _context41.next = 6; + _context42.next = 6; return secretSubkeyPacket.encrypt(options.passphrase); case 6: @@ -35792,13 +35826,13 @@ var wrapKeyObject = function () { packetlist.push(secretKeyPacket); - _context41.next = 10; + _context42.next = 10; return _promise2.default.all(options.userIds.map(function () { - var _ref44 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee40(userId, index) { + var _ref45 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee41(userId, index) { var userIdPacket, dataToSign, signaturePacket; - return _regenerator2.default.wrap(function _callee40$(_context40) { + return _regenerator2.default.wrap(function _callee41$(_context41) { while (1) { - switch (_context40.prev = _context40.next) { + switch (_context41.prev = _context41.next) { case 0: userIdPacket = new _packet2.default.Userid(); @@ -35812,11 +35846,11 @@ var wrapKeyObject = function () { signaturePacket.signatureType = _enums2.default.signature.cert_generic; signaturePacket.publicKeyAlgorithm = options.keyType; - _context40.next = 10; + _context41.next = 10; return getPreferredHashAlgo(secretKeyPacket); case 10: - signaturePacket.hashAlgorithm = _context40.sent; + signaturePacket.hashAlgorithm = _context41.sent; signaturePacket.keyFlags = [_enums2.default.keyFlags.certify_keys | _enums2.default.keyFlags.sign_data]; signaturePacket.preferredSymmetricAlgorithms = []; @@ -35845,27 +35879,27 @@ var wrapKeyObject = function () { signaturePacket.keyExpirationTime = options.keyExpirationTime; signaturePacket.keyNeverExpires = false; } - _context40.next = 30; + _context41.next = 30; return signaturePacket.sign(secretKeyPacket, dataToSign); case 30: - return _context40.abrupt('return', { userIdPacket: userIdPacket, signaturePacket: signaturePacket }); + return _context41.abrupt('return', { userIdPacket: userIdPacket, signaturePacket: signaturePacket }); case 31: case 'end': - return _context40.stop(); + return _context41.stop(); } } - }, _callee40, this); + }, _callee41, this); })); - return function (_x69, _x70) { - return _ref44.apply(this, arguments); + return function (_x71, _x72) { + return _ref45.apply(this, arguments); }; }())).then(function (list) { - list.forEach(function (_ref45) { - var userIdPacket = _ref45.userIdPacket, - signaturePacket = _ref45.signaturePacket; + list.forEach(function (_ref46) { + var userIdPacket = _ref46.userIdPacket, + signaturePacket = _ref46.signaturePacket; packetlist.push(userIdPacket); packetlist.push(signaturePacket); @@ -35874,7 +35908,7 @@ var wrapKeyObject = function () { case 10: if (!secretSubkeyPacket) { - _context41.next = 26; + _context42.next = 26; break; } @@ -35886,18 +35920,18 @@ var wrapKeyObject = function () { subkeySignaturePacket.signatureType = _enums2.default.signature.subkey_binding; subkeySignaturePacket.publicKeyAlgorithm = options.keyType; - _context41.next = 19; + _context42.next = 19; return getPreferredHashAlgo(secretSubkeyPacket); case 19: - subkeySignaturePacket.hashAlgorithm = _context41.sent; + subkeySignaturePacket.hashAlgorithm = _context42.sent; subkeySignaturePacket.keyFlags = [_enums2.default.keyFlags.encrypt_communication | _enums2.default.keyFlags.encrypt_storage]; if (options.keyExpirationTime > 0) { subkeySignaturePacket.keyExpirationTime = options.keyExpirationTime; subkeySignaturePacket.keyNeverExpires = false; } - _context41.next = 24; + _context42.next = 24; return subkeySignaturePacket.sign(secretKeyPacket, dataToSign); case 24: @@ -35914,18 +35948,18 @@ var wrapKeyObject = function () { } } - return _context41.abrupt('return', new Key(packetlist)); + return _context42.abrupt('return', new Key(packetlist)); case 28: case 'end': - return _context41.stop(); + return _context42.stop(); } } - }, _callee41, this); + }, _callee42, this); })); - return function wrapKeyObject(_x66, _x67, _x68) { - return _ref43.apply(this, arguments); + return function wrapKeyObject(_x68, _x69, _x70) { + return _ref44.apply(this, arguments); }; }(); @@ -35947,96 +35981,96 @@ var wrapKeyObject = function () { var isDataRevoked = function () { - var _ref46 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee43(primaryKey, dataToVerify, revocations, signature, key) { + var _ref47 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee44(primaryKey, dataToVerify, revocations, signature, key) { var date = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : new Date(); var normDate, revocationKeyIds; - return _regenerator2.default.wrap(function _callee43$(_context43) { + return _regenerator2.default.wrap(function _callee44$(_context44) { while (1) { - switch (_context43.prev = _context43.next) { + switch (_context44.prev = _context44.next) { case 0: key = key || primaryKey; normDate = _util2.default.normalizeDate(date); revocationKeyIds = []; - _context43.next = 5; + _context44.next = 5; return _promise2.default.all(revocations.map(function () { - var _ref47 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee42(revocationSignature) { - return _regenerator2.default.wrap(function _callee42$(_context42) { + var _ref48 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee43(revocationSignature) { + return _regenerator2.default.wrap(function _callee43$(_context43) { while (1) { - switch (_context42.prev = _context42.next) { + switch (_context43.prev = _context43.next) { case 0: - _context42.t0 = !(_config2.default.revocations_expire && revocationSignature.isExpired(normDate)); + _context43.t0 = !(_config2.default.revocations_expire && revocationSignature.isExpired(normDate)); - if (!_context42.t0) { - _context42.next = 8; + if (!_context43.t0) { + _context43.next = 8; break; } - _context42.t1 = revocationSignature.verified; + _context43.t1 = revocationSignature.verified; - if (_context42.t1) { - _context42.next = 7; + if (_context43.t1) { + _context43.next = 7; break; } - _context42.next = 6; + _context43.next = 6; return revocationSignature.verify(key, dataToVerify); case 6: - _context42.t1 = _context42.sent; + _context43.t1 = _context43.sent; case 7: - _context42.t0 = _context42.t1; + _context43.t0 = _context43.t1; case 8: - if (!_context42.t0) { - _context42.next = 11; + if (!_context43.t0) { + _context43.next = 11; break; } // TODO get an identifier of the revoked object instead revocationKeyIds.push(revocationSignature.issuerKeyId); - return _context42.abrupt('return', true); + return _context43.abrupt('return', true); case 11: - return _context42.abrupt('return', false); + return _context43.abrupt('return', false); case 12: case 'end': - return _context42.stop(); + return _context43.stop(); } } - }, _callee42, this); + }, _callee43, this); })); - return function (_x77) { - return _ref47.apply(this, arguments); + return function (_x79) { + return _ref48.apply(this, arguments); }; }())); case 5: if (!signature) { - _context43.next = 8; + _context44.next = 8; break; } signature.revoked = revocationKeyIds.some(function (keyId) { return keyId.equals(signature.issuerKeyId); }) ? true : signature.revoked; - return _context43.abrupt('return', signature.revoked); + return _context44.abrupt('return', signature.revoked); case 8: - return _context43.abrupt('return', revocationKeyIds.length > 0); + return _context44.abrupt('return', revocationKeyIds.length > 0); case 9: case 'end': - return _context43.stop(); + return _context44.stop(); } } - }, _callee43, this); + }, _callee44, this); })); - return function isDataRevoked(_x71, _x72, _x73, _x74, _x75) { - return _ref46.apply(this, arguments); + return function isDataRevoked(_x73, _x74, _x75, _x76, _x77) { + return _ref47.apply(this, arguments); }; }(); @@ -36047,26 +36081,26 @@ var isDataRevoked = function () { * @async */ var getPreferredHashAlgo = exports.getPreferredHashAlgo = function () { - var _ref48 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee44(key) { + var _ref49 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee45(key) { var hash_algo, pref_algo, primaryUser, _primaryUser$selfCert; - return _regenerator2.default.wrap(function _callee44$(_context44) { + return _regenerator2.default.wrap(function _callee45$(_context45) { while (1) { - switch (_context44.prev = _context44.next) { + switch (_context45.prev = _context45.next) { case 0: hash_algo = _config2.default.prefer_hash_algorithm; pref_algo = hash_algo; if (!(key instanceof Key)) { - _context44.next = 8; + _context45.next = 8; break; } - _context44.next = 5; + _context45.next = 5; return key.getPrimaryUser(); case 5: - primaryUser = _context44.sent; + primaryUser = _context45.sent; if (primaryUser && primaryUser.selfCertification.preferredHashAlgorithms) { _primaryUser$selfCert = (0, _slicedToArray3.default)(primaryUser.selfCertification.preferredHashAlgorithms, 1); @@ -36090,18 +36124,18 @@ var getPreferredHashAlgo = exports.getPreferredHashAlgo = function () { pref_algo = _crypto2.default.publicKey.elliptic.getPreferredHashAlgo(key.params[0]); } } - return _context44.abrupt('return', _crypto2.default.hash.getHashByteLength(hash_algo) <= _crypto2.default.hash.getHashByteLength(pref_algo) ? pref_algo : hash_algo); + return _context45.abrupt('return', _crypto2.default.hash.getHashByteLength(hash_algo) <= _crypto2.default.hash.getHashByteLength(pref_algo) ? pref_algo : hash_algo); case 10: case 'end': - return _context44.stop(); + return _context45.stop(); } } - }, _callee44, this); + }, _callee45, this); })); - return function getPreferredHashAlgo(_x79) { - return _ref48.apply(this, arguments); + return function getPreferredHashAlgo(_x81) { + return _ref49.apply(this, arguments); }; }(); @@ -36114,33 +36148,33 @@ var getPreferredHashAlgo = exports.getPreferredHashAlgo = function () { var getPreferredSymAlgo = exports.getPreferredSymAlgo = function () { - var _ref49 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee46(keys) { + var _ref50 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee47(keys) { var prioMap, prefAlgo, algo; - return _regenerator2.default.wrap(function _callee46$(_context46) { + return _regenerator2.default.wrap(function _callee47$(_context47) { while (1) { - switch (_context46.prev = _context46.next) { + switch (_context47.prev = _context47.next) { case 0: prioMap = {}; - _context46.next = 3; + _context47.next = 3; return _promise2.default.all(keys.map(function () { - var _ref50 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee45(key) { + var _ref51 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee46(key) { var primaryUser; - return _regenerator2.default.wrap(function _callee45$(_context45) { + return _regenerator2.default.wrap(function _callee46$(_context46) { while (1) { - switch (_context45.prev = _context45.next) { + switch (_context46.prev = _context46.next) { case 0: - _context45.next = 2; + _context46.next = 2; return key.getPrimaryUser(); case 2: - primaryUser = _context45.sent; + primaryUser = _context46.sent; if (!(!primaryUser || !primaryUser.selfCertification.preferredSymmetricAlgorithms)) { - _context45.next = 5; + _context46.next = 5; break; } - return _context45.abrupt('return', _config2.default.encryption_cipher); + return _context46.abrupt('return', _config2.default.encryption_cipher); case 5: primaryUser.selfCertification.preferredSymmetricAlgorithms.forEach(function (algo, index) { @@ -36151,14 +36185,14 @@ var getPreferredSymAlgo = exports.getPreferredSymAlgo = function () { case 6: case 'end': - return _context45.stop(); + return _context46.stop(); } } - }, _callee45, this); + }, _callee46, this); })); - return function (_x81) { - return _ref50.apply(this, arguments); + return function (_x83) { + return _ref51.apply(this, arguments); }; }())); @@ -36175,18 +36209,18 @@ var getPreferredSymAlgo = exports.getPreferredSymAlgo = function () { } } catch (e) {} } - return _context46.abrupt('return', prefAlgo.algo); + return _context47.abrupt('return', prefAlgo.algo); case 6: case 'end': - return _context46.stop(); + return _context47.stop(); } } - }, _callee46, this); + }, _callee47, this); })); - return function getPreferredSymAlgo(_x80) { - return _ref49.apply(this, arguments); + return function getPreferredSymAlgo(_x82) { + return _ref50.apply(this, arguments); }; }(); @@ -36972,7 +37006,7 @@ Key.prototype.verifyPrimaryKey = function () { * @async */ Key.prototype.getExpirationTime = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9() { - var primaryUser; + var validUsers, highest, i, selfCert, current; return _regenerator2.default.wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { @@ -36986,27 +37020,46 @@ Key.prototype.getExpirationTime = (0, _asyncToGenerator3.default)( /*#__PURE__*/ case 2: if (!(this.primaryKey.version === 4)) { - _context9.next = 9; + _context9.next = 18; break; } _context9.next = 5; - return this.getPrimaryUser(); + return this.getValidUsers(null, true); case 5: - primaryUser = _context9.sent; + validUsers = _context9.sent; + highest = null; + i = 0; - if (primaryUser) { - _context9.next = 8; + case 8: + if (!(i < validUsers.length)) { + _context9.next = 17; break; } - return _context9.abrupt('return', null); + selfCert = validUsers[i].selfCertification; + current = Math.min(+getExpirationTime(this.primaryKey, selfCert), +selfCert.getExpirationTime()); - case 8: - return _context9.abrupt('return', getExpirationTime(this.primaryKey, primaryUser.selfCertification)); + if (!(current === Infinity)) { + _context9.next = 13; + break; + } - case 9: + return _context9.abrupt('return', Infinity); + + case 13: + highest = current > highest ? current : highest; + + case 14: + i++; + _context9.next = 8; + break; + + case 17: + return _context9.abrupt('return', _util2.default.normalizeDate(highest)); + + case 18: case 'end': return _context9.stop(); } @@ -37019,138 +37072,41 @@ Key.prototype.getExpirationTime = (0, _asyncToGenerator3.default)( /*#__PURE__*/ * - if multiple primary users exist, returns the one with the latest self signature * - otherwise, returns the user with the latest self signature * @param {Date} date use the given date for verification instead of the current time - * @returns {Promise<{user: Array, - * selfCertification: Array}>} The primary user and the self signature + * @returns {Promise<{user: module:key.User, + * selfCertification: module:packet.Signature}>} The primary user and the self signature * @async */ Key.prototype.getPrimaryUser = function () { var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10() { var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); - var primaryKey, primaryUsers, lastCreated, lastPrimaryUserID, i, user, dataToVerify, j, cert; + var validUsers; return _regenerator2.default.wrap(function _callee10$(_context10) { while (1) { switch (_context10.prev = _context10.next) { case 0: - primaryKey = this.primaryKey; - primaryUsers = []; - lastCreated = null; - lastPrimaryUserID = null; - // TODO replace when Promise.forEach is implemented + _context10.next = 2; + return this.getValidUsers(date); - i = 0; + case 2: + validUsers = _context10.sent; + + if (validUsers.length) { + _context10.next = 5; + break; + } + + return _context10.abrupt('return', null); case 5: - if (!(i < this.users.length)) { - _context10.next = 40; - break; - } - - user = this.users[i]; - - if (user.userId) { - _context10.next = 9; - break; - } - - return _context10.abrupt('return'); - - case 9: - dataToVerify = { userid: user.userId, key: primaryKey }; - j = 0; - - case 11: - if (!(j < user.selfCertifications.length)) { - _context10.next = 37; - break; - } - - cert = user.selfCertifications[j]; - // skip if certificate is not the most recent - - if (!(cert.isPrimaryUserID && cert.isPrimaryUserID < lastPrimaryUserID || !lastPrimaryUserID && cert.created < lastCreated)) { - _context10.next = 15; - break; - } - - return _context10.abrupt('continue', 34); - - case 15: - _context10.t0 = cert.verified; - - if (_context10.t0) { - _context10.next = 20; - break; - } - - _context10.next = 19; - return cert.verify(primaryKey, dataToVerify); - - case 19: - _context10.t0 = _context10.sent; - - case 20: - if (_context10.t0) { - _context10.next = 22; - break; - } - - return _context10.abrupt('continue', 34); - - case 22: - _context10.t1 = cert.revoked; - - if (_context10.t1) { - _context10.next = 27; - break; - } - - _context10.next = 26; - return user.isRevoked(primaryKey, cert, null, date); - - case 26: - _context10.t1 = _context10.sent; - - case 27: - if (!_context10.t1) { - _context10.next = 29; - break; - } - - return _context10.abrupt('continue', 34); - - case 29: - if (!cert.isExpired(date)) { - _context10.next = 31; - break; - } - - return _context10.abrupt('continue', 34); - - case 31: - lastPrimaryUserID = cert.isPrimaryUserID; - lastCreated = cert.created; - primaryUsers.push({ index: i, user: user, selfCertification: cert }); - - case 34: - j++; - _context10.next = 11; - break; - - case 37: - i++; - _context10.next = 5; - break; - - case 40: // sort by primary user flag and signature creation time - primaryUsers = primaryUsers.sort(function (a, b) { + validUsers = validUsers.sort(function (a, b) { var A = a.selfCertification; var B = b.selfCertification; return A.isPrimaryUserID - B.isPrimaryUserID || A.created - B.created; }); - return _context10.abrupt('return', primaryUsers.pop()); + return _context10.abrupt('return', validUsers.pop()); - case 42: + case 7: case 'end': return _context10.stop(); } @@ -37163,6 +37119,148 @@ Key.prototype.getPrimaryUser = function () { }; }(); +/** + * Returns an array containing all valid users for a key + * @param {Date} date use the given date for verification instead of the current time + * @param {bool} include users with expired certifications + * @returns {Promise>} The valid user array + * @async + */ +Key.prototype.getValidUsers = function () { + var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11() { + var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); + var allowExpired = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var primaryKey, validUsers, lastCreated, lastPrimaryUserID, i, user, dataToVerify, j, cert; + return _regenerator2.default.wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + primaryKey = this.primaryKey; + validUsers = []; + lastCreated = null; + lastPrimaryUserID = null; + // TODO replace when Promise.forEach is implemented + + i = 0; + + case 5: + if (!(i < this.users.length)) { + _context11.next = 40; + break; + } + + user = this.users[i]; + + if (user.userId) { + _context11.next = 9; + break; + } + + return _context11.abrupt('return'); + + case 9: + dataToVerify = { userid: user.userId, key: primaryKey }; + j = 0; + + case 11: + if (!(j < user.selfCertifications.length)) { + _context11.next = 37; + break; + } + + cert = user.selfCertifications[j]; + // skip if certificate is not the most recent + + if (!(cert.isPrimaryUserID && cert.isPrimaryUserID < lastPrimaryUserID || !lastPrimaryUserID && cert.created < lastCreated)) { + _context11.next = 15; + break; + } + + return _context11.abrupt('continue', 34); + + case 15: + _context11.t0 = cert.verified; + + if (_context11.t0) { + _context11.next = 20; + break; + } + + _context11.next = 19; + return cert.verify(primaryKey, dataToVerify); + + case 19: + _context11.t0 = _context11.sent; + + case 20: + if (_context11.t0) { + _context11.next = 22; + break; + } + + return _context11.abrupt('continue', 34); + + case 22: + _context11.t1 = cert.revoked; + + if (_context11.t1) { + _context11.next = 27; + break; + } + + _context11.next = 26; + return user.isRevoked(primaryKey, cert, null, date); + + case 26: + _context11.t1 = _context11.sent; + + case 27: + if (!_context11.t1) { + _context11.next = 29; + break; + } + + return _context11.abrupt('continue', 34); + + case 29: + if (!(!allowExpired && cert.isExpired(date))) { + _context11.next = 31; + break; + } + + return _context11.abrupt('continue', 34); + + case 31: + lastPrimaryUserID = cert.isPrimaryUserID; + lastCreated = cert.created; + validUsers.push({ index: i, user: user, selfCertification: cert }); + + case 34: + j++; + _context11.next = 11; + break; + + case 37: + i++; + _context11.next = 5; + break; + + case 40: + return _context11.abrupt('return', validUsers); + + case 41: + case 'end': + return _context11.stop(); + } + } + }, _callee11, this); + })); + + return function () { + return _ref12.apply(this, arguments); + }; +}(); /** * Update key with new components from specified key with same key ID: * users, subkeys, certificates are merged into the destination key, @@ -37173,30 +37271,30 @@ Key.prototype.getPrimaryUser = function () { * @param {module:key.Key} key Source key to merge */ Key.prototype.update = function () { - var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(key) { + var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(key) { var that, equal; - return _regenerator2.default.wrap(function _callee15$(_context15) { + return _regenerator2.default.wrap(function _callee16$(_context16) { while (1) { - switch (_context15.prev = _context15.next) { + switch (_context16.prev = _context16.next) { case 0: that = this; - _context15.next = 3; + _context16.next = 3; return key.verifyPrimaryKey(); case 3: - _context15.t0 = _context15.sent; - _context15.t1 = _enums2.default.keyStatus.invalid; + _context16.t0 = _context16.sent; + _context16.t1 = _enums2.default.keyStatus.invalid; - if (!(_context15.t0 === _context15.t1)) { - _context15.next = 7; + if (!(_context16.t0 === _context16.t1)) { + _context16.next = 7; break; } - return _context15.abrupt('return'); + return _context16.abrupt('return'); case 7: if (!(this.primaryKey.getFingerprint() !== key.primaryKey.getFingerprint())) { - _context15.next = 9; + _context16.next = 9; break; } @@ -37204,7 +37302,7 @@ Key.prototype.update = function () { case 9: if (!(this.isPublic() && key.isPrivate())) { - _context15.next = 14; + _context16.next = 14; break; } @@ -37216,7 +37314,7 @@ Key.prototype.update = function () { }); if (equal) { - _context15.next = 13; + _context16.next = 13; break; } @@ -37226,38 +37324,38 @@ Key.prototype.update = function () { this.primaryKey = key.primaryKey; case 14: - _context15.next = 16; + _context16.next = 16; return mergeSignatures(key, this, 'revocationSignatures', function (srcRevSig) { return isDataRevoked(that.primaryKey, that, [srcRevSig], null, key.primaryKey); }); case 16: - _context15.next = 18; + _context16.next = 18; return mergeSignatures(key, this, 'directSignatures'); case 18: - _context15.next = 20; + _context16.next = 20; return _promise2.default.all(key.users.map(function () { - var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(srcUser) { + var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(srcUser) { var found; - return _regenerator2.default.wrap(function _callee12$(_context12) { + return _regenerator2.default.wrap(function _callee13$(_context13) { while (1) { - switch (_context12.prev = _context12.next) { + switch (_context13.prev = _context13.next) { case 0: found = false; - _context12.next = 3; + _context13.next = 3; return _promise2.default.all(that.users.map(function () { - var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(dstUser) { - return _regenerator2.default.wrap(function _callee11$(_context11) { + var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(dstUser) { + return _regenerator2.default.wrap(function _callee12$(_context12) { while (1) { - switch (_context11.prev = _context11.next) { + switch (_context12.prev = _context12.next) { case 0: if (!(srcUser.userId && srcUser.userId.userid === dstUser.userId.userid || srcUser.userAttribute && srcUser.userAttribute.equals(dstUser.userAttribute))) { - _context11.next = 4; + _context12.next = 4; break; } - _context11.next = 3; + _context12.next = 3; return dstUser.update(srcUser, that.primaryKey); case 3: @@ -37265,14 +37363,14 @@ Key.prototype.update = function () { case 4: case 'end': - return _context11.stop(); + return _context12.stop(); } } - }, _callee11, this); + }, _callee12, this); })); - return function (_x22) { - return _ref14.apply(this, arguments); + return function (_x24) { + return _ref15.apply(this, arguments); }; }())); @@ -37283,40 +37381,40 @@ Key.prototype.update = function () { case 4: case 'end': - return _context12.stop(); + return _context13.stop(); } } - }, _callee12, this); + }, _callee13, this); })); - return function (_x21) { - return _ref13.apply(this, arguments); + return function (_x23) { + return _ref14.apply(this, arguments); }; }())); case 20: - _context15.next = 22; + _context16.next = 22; return _promise2.default.all(key.subKeys.map(function () { - var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(srcSubKey) { + var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(srcSubKey) { var found; - return _regenerator2.default.wrap(function _callee14$(_context14) { + return _regenerator2.default.wrap(function _callee15$(_context15) { while (1) { - switch (_context14.prev = _context14.next) { + switch (_context15.prev = _context15.next) { case 0: found = false; - _context14.next = 3; + _context15.next = 3; return _promise2.default.all(that.subKeys.map(function () { - var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(dstSubKey) { - return _regenerator2.default.wrap(function _callee13$(_context13) { + var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(dstSubKey) { + return _regenerator2.default.wrap(function _callee14$(_context14) { while (1) { - switch (_context13.prev = _context13.next) { + switch (_context14.prev = _context14.next) { case 0: if (!(srcSubKey.subKey.getFingerprint() === dstSubKey.subKey.getFingerprint())) { - _context13.next = 4; + _context14.next = 4; break; } - _context13.next = 3; + _context14.next = 3; return dstSubKey.update(srcSubKey, that.primaryKey); case 3: @@ -37324,14 +37422,14 @@ Key.prototype.update = function () { case 4: case 'end': - return _context13.stop(); + return _context14.stop(); } } - }, _callee13, this); + }, _callee14, this); })); - return function (_x24) { - return _ref16.apply(this, arguments); + return function (_x26) { + return _ref17.apply(this, arguments); }; }())); @@ -37342,27 +37440,27 @@ Key.prototype.update = function () { case 4: case 'end': - return _context14.stop(); + return _context15.stop(); } } - }, _callee14, this); + }, _callee15, this); })); - return function (_x23) { - return _ref15.apply(this, arguments); + return function (_x25) { + return _ref16.apply(this, arguments); }; }())); case 22: case 'end': - return _context15.stop(); + return _context16.stop(); } } - }, _callee15, this); + }, _callee16, this); })); - return function (_x20) { - return _ref12.apply(this, arguments); + return function (_x22) { + return _ref13.apply(this, arguments); }; }();Key.prototype.revoke = function () {}; @@ -37373,59 +37471,59 @@ Key.prototype.update = function () { * @async */ Key.prototype.signPrimaryUser = function () { - var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(privateKeys) { - var _ref20, index, user, userSign, key; + var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(privateKeys) { + var _ref21, index, user, userSign, key; - return _regenerator2.default.wrap(function _callee18$(_context18) { + return _regenerator2.default.wrap(function _callee19$(_context19) { while (1) { - switch (_context18.prev = _context18.next) { + switch (_context19.prev = _context19.next) { case 0: - _context18.next = 2; + _context19.next = 2; return this.getPrimaryUser(); case 2: - _context18.t0 = _context18.sent; + _context19.t0 = _context19.sent; - if (_context18.t0) { - _context18.next = 5; + if (_context19.t0) { + _context19.next = 5; break; } - _context18.t0 = {}; + _context19.t0 = {}; case 5: - _ref20 = _context18.t0; - index = _ref20.index; - user = _ref20.user; + _ref21 = _context19.t0; + index = _ref21.index; + user = _ref21.user; if (user) { - _context18.next = 10; + _context19.next = 10; break; } throw new Error('Could not find primary user'); case 10: - _context18.next = 12; + _context19.next = 12; return user.sign(this.primaryKey, privateKeys); case 12: - userSign = _context18.sent; + userSign = _context19.sent; key = new Key(this.toPacketlist()); key.users[index] = userSign; - return _context18.abrupt('return', key); + return _context19.abrupt('return', key); case 16: case 'end': - return _context18.stop(); + return _context19.stop(); } } - }, _callee18, this); + }, _callee19, this); })); - return function (_x30) { - return _ref19.apply(this, arguments); + return function (_x32) { + return _ref20.apply(this, arguments); }; }(); @@ -37436,33 +37534,33 @@ Key.prototype.signPrimaryUser = function () { * @async */ Key.prototype.signAllUsers = function () { - var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(privateKeys) { + var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(privateKeys) { var that, key; - return _regenerator2.default.wrap(function _callee19$(_context19) { + return _regenerator2.default.wrap(function _callee20$(_context20) { while (1) { - switch (_context19.prev = _context19.next) { + switch (_context20.prev = _context20.next) { case 0: that = this; key = new Key(this.toPacketlist()); - _context19.next = 4; + _context20.next = 4; return _promise2.default.all(this.users.map(function (user) { return user.sign(that.primaryKey, privateKeys); })); case 4: - key.users = _context19.sent; - return _context19.abrupt('return', key); + key.users = _context20.sent; + return _context20.abrupt('return', key); case 6: case 'end': - return _context19.stop(); + return _context20.stop(); } } - }, _callee19, this); + }, _callee20, this); })); - return function (_x31) { - return _ref21.apply(this, arguments); + return function (_x33) { + return _ref22.apply(this, arguments); }; }(); @@ -37476,33 +37574,33 @@ Key.prototype.signAllUsers = function () { * @async */ Key.prototype.verifyPrimaryUser = function () { - var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(keys) { - var primaryKey, _ref23, user, results; + var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(keys) { + var primaryKey, _ref24, user, results; - return _regenerator2.default.wrap(function _callee20$(_context20) { + return _regenerator2.default.wrap(function _callee21$(_context21) { while (1) { - switch (_context20.prev = _context20.next) { + switch (_context21.prev = _context21.next) { case 0: primaryKey = this.primaryKey; - _context20.next = 3; + _context21.next = 3; return this.getPrimaryUser(); case 3: - _context20.t0 = _context20.sent; + _context21.t0 = _context21.sent; - if (_context20.t0) { - _context20.next = 6; + if (_context21.t0) { + _context21.next = 6; break; } - _context20.t0 = {}; + _context21.t0 = {}; case 6: - _ref23 = _context20.t0; - user = _ref23.user; + _ref24 = _context21.t0; + user = _ref24.user; if (user) { - _context20.next = 10; + _context21.next = 10; break; } @@ -37510,47 +37608,47 @@ Key.prototype.verifyPrimaryUser = function () { case 10: if (!keys) { - _context20.next = 16; + _context21.next = 16; break; } - _context20.next = 13; + _context21.next = 13; return user.verifyAllCertifications(primaryKey, keys); case 13: - _context20.t1 = _context20.sent; - _context20.next = 24; + _context21.t1 = _context21.sent; + _context21.next = 24; break; case 16: - _context20.t2 = primaryKey.keyid; - _context20.next = 19; + _context21.t2 = primaryKey.keyid; + _context21.next = 19; return user.verify(primaryKey); case 19: - _context20.t3 = _context20.sent; - _context20.t4 = _enums2.default.keyStatus.valid; - _context20.t5 = _context20.t3 === _context20.t4; - _context20.t6 = { - keyid: _context20.t2, - valid: _context20.t5 + _context21.t3 = _context21.sent; + _context21.t4 = _enums2.default.keyStatus.valid; + _context21.t5 = _context21.t3 === _context21.t4; + _context21.t6 = { + keyid: _context21.t2, + valid: _context21.t5 }; - _context20.t1 = [_context20.t6]; + _context21.t1 = [_context21.t6]; case 24: - results = _context20.t1; - return _context20.abrupt('return', results); + results = _context21.t1; + return _context21.abrupt('return', results); case 26: case 'end': - return _context20.stop(); + return _context21.stop(); } } - }, _callee20, this); + }, _callee21, this); })); - return function (_x32) { - return _ref22.apply(this, arguments); + return function (_x34) { + return _ref23.apply(this, arguments); }; }(); @@ -37565,52 +37663,52 @@ Key.prototype.verifyPrimaryUser = function () { * @async */ Key.prototype.verifyAllUsers = function () { - var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(keys) { + var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(keys) { var results, primaryKey; - return _regenerator2.default.wrap(function _callee22$(_context22) { + return _regenerator2.default.wrap(function _callee23$(_context23) { while (1) { - switch (_context22.prev = _context22.next) { + switch (_context23.prev = _context23.next) { case 0: results = []; primaryKey = this.primaryKey; - _context22.next = 4; + _context23.next = 4; return _promise2.default.all(this.users.map(function () { - var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(user) { + var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(user) { var signatures; - return _regenerator2.default.wrap(function _callee21$(_context21) { + return _regenerator2.default.wrap(function _callee22$(_context22) { while (1) { - switch (_context21.prev = _context21.next) { + switch (_context22.prev = _context22.next) { case 0: if (!keys) { - _context21.next = 6; + _context22.next = 6; break; } - _context21.next = 3; + _context22.next = 3; return user.verifyAllCertifications(primaryKey, keys); case 3: - _context21.t0 = _context21.sent; - _context21.next = 14; + _context22.t0 = _context22.sent; + _context22.next = 14; break; case 6: - _context21.t1 = primaryKey.keyid; - _context21.next = 9; + _context22.t1 = primaryKey.keyid; + _context22.next = 9; return user.verify(primaryKey); case 9: - _context21.t2 = _context21.sent; - _context21.t3 = _enums2.default.keyStatus.valid; - _context21.t4 = _context21.t2 === _context21.t3; - _context21.t5 = { - keyid: _context21.t1, - valid: _context21.t4 + _context22.t2 = _context22.sent; + _context22.t3 = _enums2.default.keyStatus.valid; + _context22.t4 = _context22.t2 === _context22.t3; + _context22.t5 = { + keyid: _context22.t1, + valid: _context22.t4 }; - _context21.t0 = [_context21.t5]; + _context22.t0 = [_context22.t5]; case 14: - signatures = _context21.t0; + signatures = _context22.t0; signatures.forEach(function (signature) { results.push({ @@ -37622,30 +37720,30 @@ Key.prototype.verifyAllUsers = function () { case 16: case 'end': - return _context21.stop(); + return _context22.stop(); } } - }, _callee21, this); + }, _callee22, this); })); - return function (_x34) { - return _ref25.apply(this, arguments); + return function (_x36) { + return _ref26.apply(this, arguments); }; }())); case 4: - return _context22.abrupt('return', results); + return _context23.abrupt('return', results); case 5: case 'end': - return _context22.stop(); + return _context23.stop(); } } - }, _callee22, this); + }, _callee23, this); })); - return function (_x33) { - return _ref24.apply(this, arguments); + return function (_x35) { + return _ref25.apply(this, arguments); }; }(); @@ -37686,24 +37784,24 @@ User.prototype.toPacketlist = function () { * @async */ User.prototype.sign = function () { - var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24(primaryKey, privateKeys) { + var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(primaryKey, privateKeys) { var dataToSign, user; - return _regenerator2.default.wrap(function _callee24$(_context24) { + return _regenerator2.default.wrap(function _callee25$(_context25) { while (1) { - switch (_context24.prev = _context24.next) { + switch (_context25.prev = _context25.next) { case 0: dataToSign = { userid: this.userId || this.userAttribute, key: primaryKey }; user = new User(dataToSign.userid); - _context24.next = 4; + _context25.next = 4; return _promise2.default.all(privateKeys.map(function () { - var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(privateKey) { + var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24(privateKey) { var signingKeyPacket, signaturePacket; - return _regenerator2.default.wrap(function _callee23$(_context23) { + return _regenerator2.default.wrap(function _callee24$(_context24) { while (1) { - switch (_context23.prev = _context23.next) { + switch (_context24.prev = _context24.next) { case 0: if (!privateKey.isPublic()) { - _context23.next = 2; + _context24.next = 2; break; } @@ -37711,21 +37809,21 @@ User.prototype.sign = function () { case 2: if (!(privateKey.primaryKey.getFingerprint() === primaryKey.getFingerprint())) { - _context23.next = 4; + _context24.next = 4; break; } throw new Error('Not implemented for self signing'); case 4: - _context23.next = 6; + _context24.next = 6; return privateKey.getSigningKeyPacket(); case 6: - signingKeyPacket = _context23.sent; + signingKeyPacket = _context24.sent; if (signingKeyPacket) { - _context23.next = 9; + _context24.next = 9; break; } @@ -37733,7 +37831,7 @@ User.prototype.sign = function () { case 9: if (signingKeyPacket.isDecrypted) { - _context23.next = 11; + _context24.next = 11; break; } @@ -37746,47 +37844,47 @@ User.prototype.sign = function () { signaturePacket.signatureType = _enums2.default.write(_enums2.default.signature, _enums2.default.signature.cert_generic); signaturePacket.keyFlags = [_enums2.default.keyFlags.certify_keys | _enums2.default.keyFlags.sign_data]; signaturePacket.publicKeyAlgorithm = signingKeyPacket.algorithm; - _context23.next = 17; + _context24.next = 17; return getPreferredHashAlgo(privateKey); case 17: - signaturePacket.hashAlgorithm = _context23.sent; + signaturePacket.hashAlgorithm = _context24.sent; signaturePacket.signingKeyId = signingKeyPacket.getKeyId(); signaturePacket.sign(signingKeyPacket, dataToSign); - return _context23.abrupt('return', signaturePacket); + return _context24.abrupt('return', signaturePacket); case 21: case 'end': - return _context23.stop(); + return _context24.stop(); } } - }, _callee23, this); + }, _callee24, this); })); - return function (_x37) { - return _ref27.apply(this, arguments); + return function (_x39) { + return _ref28.apply(this, arguments); }; }())); case 4: - user.otherCertifications = _context24.sent; - _context24.next = 7; + user.otherCertifications = _context25.sent; + _context25.next = 7; return user.update(this, primaryKey); case 7: - return _context24.abrupt('return', user); + return _context25.abrupt('return', user); case 8: case 'end': - return _context24.stop(); + return _context25.stop(); } } - }, _callee24, this); + }, _callee25, this); })); - return function (_x35, _x36) { - return _ref26.apply(this, arguments); + return function (_x37, _x38) { + return _ref27.apply(this, arguments); }; }(); @@ -37804,27 +37902,27 @@ User.prototype.sign = function () { * @async */ User.prototype.isRevoked = function () { - var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(primaryKey, certificate, key) { + var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(primaryKey, certificate, key) { var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); - return _regenerator2.default.wrap(function _callee25$(_context25) { + return _regenerator2.default.wrap(function _callee26$(_context26) { while (1) { - switch (_context25.prev = _context25.next) { + switch (_context26.prev = _context26.next) { case 0: - return _context25.abrupt('return', isDataRevoked(primaryKey, { + return _context26.abrupt('return', isDataRevoked(primaryKey, { key: primaryKey, userid: this.userId || this.userAttribute }, this.revocationSignatures, certificate, key, date)); case 1: case 'end': - return _context25.stop(); + return _context26.stop(); } } - }, _callee25, this); + }, _callee26, this); })); - return function (_x38, _x39, _x40) { - return _ref28.apply(this, arguments); + return function (_x40, _x41, _x42) { + return _ref29.apply(this, arguments); }; }(); @@ -37839,122 +37937,122 @@ User.prototype.isRevoked = function () { * @async */ User.prototype.verifyCertificate = function () { - var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(primaryKey, certificate, keys) { + var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee28(primaryKey, certificate, keys) { var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); var that, keyid, dataToVerify, results; - return _regenerator2.default.wrap(function _callee27$(_context27) { + return _regenerator2.default.wrap(function _callee28$(_context28) { while (1) { - switch (_context27.prev = _context27.next) { + switch (_context28.prev = _context28.next) { case 0: that = this; keyid = certificate.issuerKeyId; dataToVerify = { userid: this.userId || this.userAttribute, key: primaryKey }; - _context27.next = 5; + _context28.next = 5; return _promise2.default.all(keys.map(function () { - var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(key) { + var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(key) { var keyPacket; - return _regenerator2.default.wrap(function _callee26$(_context26) { + return _regenerator2.default.wrap(function _callee27$(_context27) { while (1) { - switch (_context26.prev = _context26.next) { + switch (_context27.prev = _context27.next) { case 0: if (key.getKeyIds().some(function (id) { return id.equals(keyid); })) { - _context26.next = 2; + _context27.next = 2; break; } - return _context26.abrupt('return'); + return _context27.abrupt('return'); case 2: - _context26.next = 4; + _context27.next = 4; return key.getSigningKeyPacket(keyid, date); case 4: - keyPacket = _context26.sent; - _context26.t0 = certificate.revoked; + keyPacket = _context27.sent; + _context27.t0 = certificate.revoked; - if (_context26.t0) { - _context26.next = 10; + if (_context27.t0) { + _context27.next = 10; break; } - _context26.next = 9; + _context27.next = 9; return that.isRevoked(primaryKey, certificate, keyPacket); case 9: - _context26.t0 = _context26.sent; + _context27.t0 = _context27.sent; case 10: - if (!_context26.t0) { - _context26.next = 12; + if (!_context27.t0) { + _context27.next = 12; break; } - return _context26.abrupt('return', _enums2.default.keyStatus.revoked); + return _context27.abrupt('return', _enums2.default.keyStatus.revoked); case 12: - _context26.t1 = certificate.verified; + _context27.t1 = certificate.verified; - if (_context26.t1) { - _context26.next = 17; + if (_context27.t1) { + _context27.next = 17; break; } - _context26.next = 16; + _context27.next = 16; return certificate.verify(keyPacket, dataToVerify); case 16: - _context26.t1 = _context26.sent; + _context27.t1 = _context27.sent; case 17: - if (_context26.t1) { - _context26.next = 19; + if (_context27.t1) { + _context27.next = 19; break; } - return _context26.abrupt('return', _enums2.default.keyStatus.invalid); + return _context27.abrupt('return', _enums2.default.keyStatus.invalid); case 19: if (!certificate.isExpired()) { - _context26.next = 21; + _context27.next = 21; break; } - return _context26.abrupt('return', _enums2.default.keyStatus.expired); + return _context27.abrupt('return', _enums2.default.keyStatus.expired); case 21: - return _context26.abrupt('return', _enums2.default.keyStatus.valid); + return _context27.abrupt('return', _enums2.default.keyStatus.valid); case 22: case 'end': - return _context26.stop(); + return _context27.stop(); } } - }, _callee26, this); + }, _callee27, this); })); - return function (_x46) { - return _ref30.apply(this, arguments); + return function (_x48) { + return _ref31.apply(this, arguments); }; }())); case 5: - results = _context27.sent; - return _context27.abrupt('return', results.find(function (result) { + results = _context28.sent; + return _context28.abrupt('return', results.find(function (result) { return result !== undefined; })); case 7: case 'end': - return _context27.stop(); + return _context28.stop(); } } - }, _callee27, this); + }, _callee28, this); })); - return function (_x42, _x43, _x44) { - return _ref29.apply(this, arguments); + return function (_x44, _x45, _x46) { + return _ref30.apply(this, arguments); }; }(); @@ -37968,54 +38066,54 @@ User.prototype.verifyCertificate = function () { * @async */ User.prototype.verifyAllCertifications = function () { - var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee29(primaryKey, keys) { + var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee30(primaryKey, keys) { var that, certifications; - return _regenerator2.default.wrap(function _callee29$(_context29) { + return _regenerator2.default.wrap(function _callee30$(_context30) { while (1) { - switch (_context29.prev = _context29.next) { + switch (_context30.prev = _context30.next) { case 0: that = this; certifications = this.selfCertifications.concat(this.otherCertifications); - return _context29.abrupt('return', _promise2.default.all(certifications.map(function () { - var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee28(certification) { + return _context30.abrupt('return', _promise2.default.all(certifications.map(function () { + var _ref33 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee29(certification) { var status; - return _regenerator2.default.wrap(function _callee28$(_context28) { + return _regenerator2.default.wrap(function _callee29$(_context29) { while (1) { - switch (_context28.prev = _context28.next) { + switch (_context29.prev = _context29.next) { case 0: - _context28.next = 2; + _context29.next = 2; return that.verifyCertificate(primaryKey, certification, keys); case 2: - status = _context28.sent; - return _context28.abrupt('return', { + status = _context29.sent; + return _context29.abrupt('return', { keyid: certification.issuerKeyId, valid: status === undefined ? null : status === _enums2.default.keyStatus.valid }); case 4: case 'end': - return _context28.stop(); + return _context29.stop(); } } - }, _callee28, this); + }, _callee29, this); })); - return function (_x49) { - return _ref32.apply(this, arguments); + return function (_x51) { + return _ref33.apply(this, arguments); }; }()))); case 3: case 'end': - return _context29.stop(); + return _context30.stop(); } } - }, _callee29, this); + }, _callee30, this); })); - return function (_x47, _x48) { - return _ref31.apply(this, arguments); + return function (_x49, _x50) { + return _ref32.apply(this, arguments); }; }(); @@ -38028,116 +38126,116 @@ User.prototype.verifyAllCertifications = function () { * @async */ User.prototype.verify = function () { - var _ref33 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee31(primaryKey) { + var _ref34 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee32(primaryKey) { var that, dataToVerify, results; - return _regenerator2.default.wrap(function _callee31$(_context31) { + return _regenerator2.default.wrap(function _callee32$(_context32) { while (1) { - switch (_context31.prev = _context31.next) { + switch (_context32.prev = _context32.next) { case 0: if (this.selfCertifications.length) { - _context31.next = 2; + _context32.next = 2; break; } - return _context31.abrupt('return', _enums2.default.keyStatus.no_self_cert); + return _context32.abrupt('return', _enums2.default.keyStatus.no_self_cert); case 2: that = this; dataToVerify = { userid: this.userId || this.userAttribute, key: primaryKey }; // TODO replace when Promise.some or Promise.any are implemented - _context31.t0 = [_enums2.default.keyStatus.invalid]; - _context31.next = 7; + _context32.t0 = [_enums2.default.keyStatus.invalid]; + _context32.next = 7; return _promise2.default.all(this.selfCertifications.map(function () { - var _ref34 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee30(selfCertification) { - return _regenerator2.default.wrap(function _callee30$(_context30) { + var _ref35 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee31(selfCertification) { + return _regenerator2.default.wrap(function _callee31$(_context31) { while (1) { - switch (_context30.prev = _context30.next) { + switch (_context31.prev = _context31.next) { case 0: - _context30.t0 = selfCertification.revoked; + _context31.t0 = selfCertification.revoked; - if (_context30.t0) { - _context30.next = 5; + if (_context31.t0) { + _context31.next = 5; break; } - _context30.next = 4; + _context31.next = 4; return that.isRevoked(primaryKey, selfCertification); case 4: - _context30.t0 = _context30.sent; + _context31.t0 = _context31.sent; case 5: - if (!_context30.t0) { - _context30.next = 7; + if (!_context31.t0) { + _context31.next = 7; break; } - return _context30.abrupt('return', _enums2.default.keyStatus.revoked); + return _context31.abrupt('return', _enums2.default.keyStatus.revoked); case 7: - _context30.t1 = selfCertification.verified; + _context31.t1 = selfCertification.verified; - if (_context30.t1) { - _context30.next = 12; + if (_context31.t1) { + _context31.next = 12; break; } - _context30.next = 11; + _context31.next = 11; return selfCertification.verify(primaryKey, dataToVerify); case 11: - _context30.t1 = _context30.sent; + _context31.t1 = _context31.sent; case 12: - if (_context30.t1) { - _context30.next = 14; + if (_context31.t1) { + _context31.next = 14; break; } - return _context30.abrupt('return', _enums2.default.keyStatus.invalid); + return _context31.abrupt('return', _enums2.default.keyStatus.invalid); case 14: if (!selfCertification.isExpired()) { - _context30.next = 16; + _context31.next = 16; break; } - return _context30.abrupt('return', _enums2.default.keyStatus.expired); + return _context31.abrupt('return', _enums2.default.keyStatus.expired); case 16: - return _context30.abrupt('return', _enums2.default.keyStatus.valid); + return _context31.abrupt('return', _enums2.default.keyStatus.valid); case 17: case 'end': - return _context30.stop(); + return _context31.stop(); } } - }, _callee30, this); + }, _callee31, this); })); - return function (_x51) { - return _ref34.apply(this, arguments); + return function (_x53) { + return _ref35.apply(this, arguments); }; }())); case 7: - _context31.t1 = _context31.sent; - results = _context31.t0.concat.call(_context31.t0, _context31.t1); - return _context31.abrupt('return', results.some(function (status) { + _context32.t1 = _context32.sent; + results = _context32.t0.concat.call(_context32.t0, _context32.t1); + return _context32.abrupt('return', results.some(function (status) { return status === _enums2.default.keyStatus.valid; }) ? _enums2.default.keyStatus.valid : results.pop()); case 10: case 'end': - return _context31.stop(); + return _context32.stop(); } } - }, _callee31, this); + }, _callee32, this); })); - return function (_x50) { - return _ref33.apply(this, arguments); + return function (_x52) { + return _ref34.apply(this, arguments); }; }(); @@ -38148,57 +38246,57 @@ User.prototype.verify = function () { * module:packet.SecretSubkey} primaryKey primary key used for validation */ User.prototype.update = function () { - var _ref35 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee33(user, primaryKey) { + var _ref36 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee34(user, primaryKey) { var dataToVerify; - return _regenerator2.default.wrap(function _callee33$(_context33) { + return _regenerator2.default.wrap(function _callee34$(_context34) { while (1) { - switch (_context33.prev = _context33.next) { + switch (_context34.prev = _context34.next) { case 0: dataToVerify = { userid: this.userId || this.userAttribute, key: primaryKey }; // self signatures - _context33.next = 3; + _context34.next = 3; return mergeSignatures(user, this, 'selfCertifications', function () { - var _ref36 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee32(srcSelfSig) { - return _regenerator2.default.wrap(function _callee32$(_context32) { + var _ref37 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee33(srcSelfSig) { + return _regenerator2.default.wrap(function _callee33$(_context33) { while (1) { - switch (_context32.prev = _context32.next) { + switch (_context33.prev = _context33.next) { case 0: - return _context32.abrupt('return', srcSelfSig.verified || srcSelfSig.verify(primaryKey, dataToVerify)); + return _context33.abrupt('return', srcSelfSig.verified || srcSelfSig.verify(primaryKey, dataToVerify)); case 1: case 'end': - return _context32.stop(); + return _context33.stop(); } } - }, _callee32, this); + }, _callee33, this); })); - return function (_x54) { - return _ref36.apply(this, arguments); + return function (_x56) { + return _ref37.apply(this, arguments); }; }()); case 3: - _context33.next = 5; + _context34.next = 5; return mergeSignatures(user, this, 'otherCertifications'); case 5: - _context33.next = 7; + _context34.next = 7; return mergeSignatures(user, this, 'revocationSignatures', function (srcRevSig) { return isDataRevoked(primaryKey, dataToVerify, [srcRevSig]); }); case 7: case 'end': - return _context33.stop(); + return _context34.stop(); } } - }, _callee33, this); + }, _callee34, this); })); - return function (_x52, _x53) { - return _ref35.apply(this, arguments); + return function (_x54, _x55) { + return _ref36.apply(this, arguments); }; }(); @@ -38241,27 +38339,27 @@ SubKey.prototype.toPacketlist = function () { * @async */ SubKey.prototype.isRevoked = function () { - var _ref37 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee34(primaryKey, signature, key) { + var _ref38 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee35(primaryKey, signature, key) { var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); - return _regenerator2.default.wrap(function _callee34$(_context34) { + return _regenerator2.default.wrap(function _callee35$(_context35) { while (1) { - switch (_context34.prev = _context34.next) { + switch (_context35.prev = _context35.next) { case 0: - return _context34.abrupt('return', isDataRevoked(primaryKey, { + return _context35.abrupt('return', isDataRevoked(primaryKey, { key: primaryKey, bind: this.subKey }, this.revocationSignatures, signature, key, date)); case 1: case 'end': - return _context34.stop(); + return _context35.stop(); } } - }, _callee34, this); + }, _callee35, this); })); - return function (_x55, _x56, _x57) { - return _ref37.apply(this, arguments); + return function (_x57, _x58, _x59) { + return _ref38.apply(this, arguments); }; }(); @@ -38275,118 +38373,118 @@ SubKey.prototype.isRevoked = function () { * @async */ SubKey.prototype.verify = function () { - var _ref38 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee36(primaryKey) { + var _ref39 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee37(primaryKey) { var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date(); var that, dataToVerify, results; - return _regenerator2.default.wrap(function _callee36$(_context36) { + return _regenerator2.default.wrap(function _callee37$(_context37) { while (1) { - switch (_context36.prev = _context36.next) { + switch (_context37.prev = _context37.next) { case 0: that = this; dataToVerify = { key: primaryKey, bind: this.subKey }; // check for V3 expiration time if (!(this.subKey.version === 3 && isDataExpired(this.subKey, null, date))) { - _context36.next = 4; + _context37.next = 4; break; } - return _context36.abrupt('return', _enums2.default.keyStatus.expired); + return _context37.abrupt('return', _enums2.default.keyStatus.expired); case 4: - _context36.t0 = [_enums2.default.keyStatus.invalid]; - _context36.next = 7; + _context37.t0 = [_enums2.default.keyStatus.invalid]; + _context37.next = 7; return _promise2.default.all(this.bindingSignatures.map(function () { - var _ref39 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee35(bindingSignature) { - return _regenerator2.default.wrap(function _callee35$(_context35) { + var _ref40 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee36(bindingSignature) { + return _regenerator2.default.wrap(function _callee36$(_context36) { while (1) { - switch (_context35.prev = _context35.next) { + switch (_context36.prev = _context36.next) { case 0: - _context35.t0 = bindingSignature.verified; + _context36.t0 = bindingSignature.verified; - if (_context35.t0) { - _context35.next = 5; + if (_context36.t0) { + _context36.next = 5; break; } - _context35.next = 4; + _context36.next = 4; return bindingSignature.verify(primaryKey, dataToVerify); case 4: - _context35.t0 = _context35.sent; + _context36.t0 = _context36.sent; case 5: - if (_context35.t0) { - _context35.next = 7; + if (_context36.t0) { + _context36.next = 7; break; } - return _context35.abrupt('return', _enums2.default.keyStatus.invalid); + return _context36.abrupt('return', _enums2.default.keyStatus.invalid); case 7: - _context35.t1 = bindingSignature.revoked; + _context36.t1 = bindingSignature.revoked; - if (_context35.t1) { - _context35.next = 12; + if (_context36.t1) { + _context36.next = 12; break; } - _context35.next = 11; + _context36.next = 11; return that.isRevoked(primaryKey, bindingSignature, null, date); case 11: - _context35.t1 = _context35.sent; + _context36.t1 = _context36.sent; case 12: - if (!_context35.t1) { - _context35.next = 14; + if (!_context36.t1) { + _context36.next = 14; break; } - return _context35.abrupt('return', _enums2.default.keyStatus.revoked); + return _context36.abrupt('return', _enums2.default.keyStatus.revoked); case 14: if (!bindingSignature.isExpired(date)) { - _context35.next = 16; + _context36.next = 16; break; } - return _context35.abrupt('return', _enums2.default.keyStatus.expired); + return _context36.abrupt('return', _enums2.default.keyStatus.expired); case 16: - return _context35.abrupt('return', _enums2.default.keyStatus.valid); + return _context36.abrupt('return', _enums2.default.keyStatus.valid); case 17: case 'end': - return _context35.stop(); + return _context36.stop(); } } - }, _callee35, this); + }, _callee36, this); })); - return function (_x61) { - return _ref39.apply(this, arguments); + return function (_x63) { + return _ref40.apply(this, arguments); }; }() // found a binding signature that passed all checks )); case 7: - _context36.t1 = _context36.sent; - results = _context36.t0.concat.call(_context36.t0, _context36.t1); - return _context36.abrupt('return', results.some(function (status) { + _context37.t1 = _context37.sent; + results = _context37.t0.concat.call(_context37.t0, _context37.t1); + return _context37.abrupt('return', results.some(function (status) { return status === _enums2.default.keyStatus.valid; }) ? _enums2.default.keyStatus.valid : results.pop()); case 10: case 'end': - return _context36.stop(); + return _context37.stop(); } } - }, _callee36, this); + }, _callee37, this); })); - return function (_x59) { - return _ref38.apply(this, arguments); + return function (_x61) { + return _ref39.apply(this, arguments); }; }(); @@ -38395,17 +38493,15 @@ SubKey.prototype.verify = function () { * @returns {Date} */ SubKey.prototype.getExpirationTime = function () { - var highest = void 0; + var highest = null; for (var i = 0; i < this.bindingSignatures.length; i++) { - var current = getExpirationTime(this.subKey, this.bindingSignatures[i]); - if (current === null) { - return null; - } - if (!highest || current > highest) { - highest = current; + var current = Math.min(+getExpirationTime(this.subKey, this.bindingSignatures[i]), +this.bindingSignatures[i].getExpirationTime()); + if (current === Infinity) { + return Infinity; } + highest = current > highest ? current : highest; } - return highest; + return _util2.default.normalizeDate(highest); }; /** @@ -38415,29 +38511,29 @@ SubKey.prototype.getExpirationTime = function () { module:packet.SecretSubkey} primaryKey primary key used for validation */ SubKey.prototype.update = function () { - var _ref40 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee38(subKey, primaryKey) { + var _ref41 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee39(subKey, primaryKey) { var that, dataToVerify; - return _regenerator2.default.wrap(function _callee38$(_context38) { + return _regenerator2.default.wrap(function _callee39$(_context39) { while (1) { - switch (_context38.prev = _context38.next) { + switch (_context39.prev = _context39.next) { case 0: - _context38.next = 2; + _context39.next = 2; return subKey.verify(primaryKey); case 2: - _context38.t0 = _context38.sent; - _context38.t1 = _enums2.default.keyStatus.invalid; + _context39.t0 = _context39.sent; + _context39.t1 = _enums2.default.keyStatus.invalid; - if (!(_context38.t0 === _context38.t1)) { - _context38.next = 6; + if (!(_context39.t0 === _context39.t1)) { + _context39.next = 6; break; } - return _context38.abrupt('return'); + return _context39.abrupt('return'); case 6: if (!(this.subKey.getFingerprint() !== subKey.subKey.getFingerprint())) { - _context38.next = 8; + _context39.next = 8; break; } @@ -38451,94 +38547,94 @@ SubKey.prototype.update = function () { // update missing binding signatures that = this; dataToVerify = { key: primaryKey, bind: that.subKey }; - _context38.next = 13; + _context39.next = 13; return mergeSignatures(subKey, this, 'bindingSignatures', function () { - var _ref41 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee37(srcBindSig) { + var _ref42 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee38(srcBindSig) { var i; - return _regenerator2.default.wrap(function _callee37$(_context37) { + return _regenerator2.default.wrap(function _callee38$(_context38) { while (1) { - switch (_context37.prev = _context37.next) { + switch (_context38.prev = _context38.next) { case 0: - _context37.t0 = srcBindSig.verified; + _context38.t0 = srcBindSig.verified; - if (_context37.t0) { - _context37.next = 5; + if (_context38.t0) { + _context38.next = 5; break; } - _context37.next = 4; + _context38.next = 4; return srcBindSig.verify(primaryKey, dataToVerify); case 4: - _context37.t0 = _context37.sent; + _context38.t0 = _context38.sent; case 5: - if (_context37.t0) { - _context37.next = 7; + if (_context38.t0) { + _context38.next = 7; break; } - return _context37.abrupt('return', false); + return _context38.abrupt('return', false); case 7: i = 0; case 8: if (!(i < that.bindingSignatures.length)) { - _context37.next = 16; + _context38.next = 16; break; } if (!that.bindingSignatures[i].issuerKeyId.equals(srcBindSig.issuerKeyId)) { - _context37.next = 13; + _context38.next = 13; break; } if (!(srcBindSig.created < that.bindingSignatures[i].created)) { - _context37.next = 13; + _context38.next = 13; break; } that.bindingSignatures[i] = srcBindSig; - return _context37.abrupt('return', false); + return _context38.abrupt('return', false); case 13: i++; - _context37.next = 8; + _context38.next = 8; break; case 16: - return _context37.abrupt('return', true); + return _context38.abrupt('return', true); case 17: case 'end': - return _context37.stop(); + return _context38.stop(); } } - }, _callee37, this); + }, _callee38, this); })); - return function (_x64) { - return _ref41.apply(this, arguments); + return function (_x66) { + return _ref42.apply(this, arguments); }; }()); case 13: - _context38.next = 15; + _context39.next = 15; return mergeSignatures(subKey, this, 'revocationSignatures', function (srcRevSig) { return isDataRevoked(primaryKey, dataToVerify, [srcRevSig]); }); case 15: case 'end': - return _context38.stop(); + return _context39.stop(); } } - }, _callee38, this); + }, _callee39, this); })); - return function (_x62, _x63) { - return _ref40.apply(this, arguments); + return function (_x64, _x65) { + return _ref41.apply(this, arguments); }; }(); @@ -40722,7 +40818,9 @@ function destroyWorker() { * @param {Array} userIds array of user IDs e.g. [{ name:'Phil Zimmermann', email:'phil@openpgp.org' }] * @param {String} passphrase (optional) The passphrase used to encrypt the resulting private key * @param {Number} numBits (optional) number of bits for RSA keys: 2048 or 4096. - * @param {String} curve (optional) elliptic curve for ECC keys: curve25519, p256, p384, p521, or secp256k1 + * @param {String} curve (optional) elliptic curve for ECC keys: + * curve25519, p256, p384, p521, secp256k1, + * brainpoolP256r1, brainpoolP384r1, or brainpoolP512r1. * @param {Boolean} unlocked (optional) If the returned secret part of the generated key is unlocked * @param {Number} keyExpirationTime (optional) The number of seconds after the key creation time that the key expires * @returns {Promise} The generated key object in the form: @@ -44714,7 +44812,7 @@ Signature.prototype.read_sub_packet = function (bytes) { // fingerprint) this.revocationKeyClass = bytes[mypos++]; this.revocationKeyAlgorithm = bytes[mypos++]; - this.revocationKeyFingerprint = bytes.subarray(mypos, 20); + this.revocationKeyFingerprint = bytes.subarray(mypos, mypos + 20); break; case 16: @@ -44954,12 +45052,20 @@ Signature.prototype.isExpired = function () { var normDate = _util2.default.normalizeDate(date); if (normDate !== null) { - var expirationTime = !this.signatureNeverExpires ? this.created.getTime() + this.signatureExpirationTime * 1000 : Infinity; + var expirationTime = this.getExpirationTime(); return !(this.created <= normDate && normDate < expirationTime); } return false; }; +/** + * Returns the expiration time of the signature or Infinity if signature does not expire + * @returns {Date} expiration time + */ +Signature.prototype.getExpirationTime = function () { + return !this.signatureNeverExpires ? new Date(this.created.getTime() + this.signatureExpirationTime * 1000) : Infinity; +}; + /** * Fix custom types after cloning */ diff --git a/dist/openpgp.min.js b/dist/openpgp.min.js index 801465a8..44d3dc32 100644 --- a/dist/openpgp.min.js +++ b/dist/openpgp.min.js @@ -1,2 +1,2 @@ -/*! OpenPGP.js v3.0.2 - 2018-03-16 - this is LGPL licensed code, see LICENSE/our website https://openpgpjs.org/ for more information. */ -!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).openpgp=e()}}(function(){return function e(t,r,n){function i(s,o){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var f=new Error("Cannot find module '"+s+"'");throw f.code="MODULE_NOT_FOUND",f}var c=r[s]={exports:{}};t[s][0].call(c.exports,function(e){var r=t[s][1][e];return i(r||e)},c,c.exports,e,t,r,n)}return r[s].exports}for(var a="function"==typeof require&&require,s=0;s>>7);return a^=99}r||function(){e=[],t=[];var n,i,a=1;for(n=0;n<255;n++)e[n]=a,i=128&a,a<<=1,a&=255,128===i&&(a^=27),a^=e[n],t[e[n]]=n;e[255]=e[0],t[0]=0,r=!0}(),i=[],a=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var f=0;f<256;f++){var c=u(f);i[f]=c,a[c]=f,s[0][f]=n(2,c)<<24|c<<16|c<<8|n(3,c),o[0][c]=n(14,f)<<24|n(9,f)<<16|n(13,f)<<8|n(11,f);for(var d=1;d<4;d++)s[d][f]=s[d-1][f]>>>8|s[d-1][f]<<24,o[d][c]=o[d-1][c]>>>8|o[d-1][c]<<24}}var f=function(e,t){u();var r=new Uint32Array(t);r.set(i,512),r.set(a,768);for(var n=0;n<4;n++)r.set(s[n],4096+1024*n>>2),r.set(o[n],8192+1024*n>>2);var f=function(e,t,r){"use asm";var n=0,i=0,a=0,s=0,o=0,u=0,f=0,c=0,d=0,l=0,h=0,p=0,y=0,b=0,m=0,g=0,v=0,_=0,w=0,k=0,A=0;var x=new e.Uint32Array(r),S=new e.Uint8Array(r);function E(e,t,r,o,u,f,c,d){e=e|0;t=t|0;r=r|0;o=o|0;u=u|0;f=f|0;c=c|0;d=d|0;var l=0,h=0,p=0,y=0,b=0,m=0,g=0,v=0;l=r|0x400,h=r|0x800,p=r|0xc00;u=u^x[(e|0)>>2],f=f^x[(e|4)>>2],c=c^x[(e|8)>>2],d=d^x[(e|12)>>2];for(v=16;(v|0)<=o<<4;v=v+16|0){y=x[(r|u>>22&1020)>>2]^x[(l|f>>14&1020)>>2]^x[(h|c>>6&1020)>>2]^x[(p|d<<2&1020)>>2]^x[(e|v|0)>>2],b=x[(r|f>>22&1020)>>2]^x[(l|c>>14&1020)>>2]^x[(h|d>>6&1020)>>2]^x[(p|u<<2&1020)>>2]^x[(e|v|4)>>2],m=x[(r|c>>22&1020)>>2]^x[(l|d>>14&1020)>>2]^x[(h|u>>6&1020)>>2]^x[(p|f<<2&1020)>>2]^x[(e|v|8)>>2],g=x[(r|d>>22&1020)>>2]^x[(l|u>>14&1020)>>2]^x[(h|f>>6&1020)>>2]^x[(p|c<<2&1020)>>2]^x[(e|v|12)>>2];u=y,f=b,c=m,d=g}n=x[(t|u>>22&1020)>>2]<<24^x[(t|f>>14&1020)>>2]<<16^x[(t|c>>6&1020)>>2]<<8^x[(t|d<<2&1020)>>2]^x[(e|v|0)>>2],i=x[(t|f>>22&1020)>>2]<<24^x[(t|c>>14&1020)>>2]<<16^x[(t|d>>6&1020)>>2]<<8^x[(t|u<<2&1020)>>2]^x[(e|v|4)>>2],a=x[(t|c>>22&1020)>>2]<<24^x[(t|d>>14&1020)>>2]<<16^x[(t|u>>6&1020)>>2]<<8^x[(t|f<<2&1020)>>2]^x[(e|v|8)>>2],s=x[(t|d>>22&1020)>>2]<<24^x[(t|u>>14&1020)>>2]<<16^x[(t|f>>6&1020)>>2]<<8^x[(t|c<<2&1020)>>2]^x[(e|v|12)>>2]}function M(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;E(0x0000,0x0800,0x1000,A,e,t,r,n)}function j(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0;E(0x0400,0x0c00,0x2000,A,e,n,r,t);a=i,i=s,s=a}function P(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,A,o^e,u^t,f^r,c^d);o=n,u=i,f=a,c=s}function C(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;var l=0;E(0x0400,0x0c00,0x2000,A,e,d,r,t);l=i,i=s,s=l;n=n^o,i=i^u,a=a^f,s=s^c;o=e,u=t,f=r,c=d}function B(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,A,o,u,f,c);o=n=n^e,u=i=i^t,f=a=a^r,c=s=s^d}function U(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,A,o,u,f,c);n=n^e,i=i^t,a=a^r,s=s^d;o=e,u=t,f=r,c=d}function K(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,A,o,u,f,c);o=n,u=i,f=a,c=s;n=n^e,i=i^t,a=a^r,s=s^d}function I(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;E(0x0000,0x0800,0x1000,A,d,l,h,p);p=~g&p|g&p+1;h=~m&h|m&h+((p|0)==0);l=~b&l|b&l+((h|0)==0);d=~y&d|y&d+((l|0)==0);n=n^e;i=i^t;a=a^r;s=s^o}function T(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var i=0,a=0,s=0,d=0,l=0,h=0,p=0,y=0,b=0,m=0;e=e^o,t=t^u,r=r^f,n=n^c;i=v|0,a=_|0,s=w|0,d=k|0;for(;(b|0)<128;b=b+1|0){if(i>>>31){l=l^e,h=h^t,p=p^r,y=y^n}i=i<<1|a>>>31,a=a<<1|s>>>31,s=s<<1|d>>>31,d=d<<1;m=n&1;n=n>>>1|r<<31,r=r>>>1|t<<31,t=t>>>1|e<<31,e=e>>>1;if(m)e=e^0xe1000000}o=l,u=h,f=p,c=y}function O(e){e=e|0;A=e}function R(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;n=e,i=t,a=r,s=o}function D(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;o=e,u=t,f=r,c=n}function z(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;d=e,l=t,h=r,p=n}function L(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;y=e,b=t,m=r,g=n}function F(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;p=~g&p|g&n,h=~m&h|m&r,l=~b&l|b&t,d=~y&d|y&e}function N(e){e=e|0;if(e&15)return-1;S[e|0]=n>>>24,S[e|1]=n>>>16&255,S[e|2]=n>>>8&255,S[e|3]=n&255,S[e|4]=i>>>24,S[e|5]=i>>>16&255,S[e|6]=i>>>8&255,S[e|7]=i&255,S[e|8]=a>>>24,S[e|9]=a>>>16&255,S[e|10]=a>>>8&255,S[e|11]=a&255,S[e|12]=s>>>24,S[e|13]=s>>>16&255,S[e|14]=s>>>8&255,S[e|15]=s&255;return 16}function q(e){e=e|0;if(e&15)return-1;S[e|0]=o>>>24,S[e|1]=o>>>16&255,S[e|2]=o>>>8&255,S[e|3]=o&255,S[e|4]=u>>>24,S[e|5]=u>>>16&255,S[e|6]=u>>>8&255,S[e|7]=u&255,S[e|8]=f>>>24,S[e|9]=f>>>16&255,S[e|10]=f>>>8&255,S[e|11]=f&255,S[e|12]=c>>>24,S[e|13]=c>>>16&255,S[e|14]=c>>>8&255,S[e|15]=c&255;return 16}function G(){M(0,0,0,0);v=n,_=i,w=a,k=s}function H(e,t,r){e=e|0;t=t|0;r=r|0;var o=0;if(t&15)return-1;while((r|0)>=16){V[e&7](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);S[t|0]=n>>>24,S[t|1]=n>>>16&255,S[t|2]=n>>>8&255,S[t|3]=n&255,S[t|4]=i>>>24,S[t|5]=i>>>16&255,S[t|6]=i>>>8&255,S[t|7]=i&255,S[t|8]=a>>>24,S[t|9]=a>>>16&255,S[t|10]=a>>>8&255,S[t|11]=a&255,S[t|12]=s>>>24,S[t|13]=s>>>16&255,S[t|14]=s>>>8&255,S[t|15]=s&255;o=o+16|0,t=t+16|0,r=r-16|0}return o|0}function Z(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if(t&15)return-1;while((r|0)>=16){W[e&1](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);n=n+16|0,t=t+16|0,r=r-16|0}return n|0}var V=[M,j,P,C,B,U,K,I];var W=[P,T];return{set_rounds:O,set_state:R,set_iv:D,set_nonce:z,set_mask:L,set_counter:F,get_state:N,get_iv:q,gcm_init:G,cipher:H,mac:Z}}({Uint8Array:Uint8Array,Uint32Array:Uint32Array},e,t);return f.set_key=function(e,t,n,a,s,u,c,d,l){var h=r.subarray(0,60),p=r.subarray(256,316);h.set([t,n,a,s,u,c,d,l]);for(var y=e,b=1;y<4*e+28;y++){var m=h[y-1];(y%e==0||8===e&&y%e==4)&&(m=i[m>>>24]<<24^i[m>>>16&255]<<16^i[m>>>8&255]<<8^i[255&m]),y%e==0&&(m=m<<8^m>>>24^b<<24,b=b<<1^(128&b?27:0)),h[y]=h[y-e]^m}for(var g=0;g=y-4?m:o[0][i[m>>>24]]^o[1][i[m>>>16&255]]^o[2][i[m>>>8&255]]^o[3][i[255&m]];f.set_rounds(e+5)},f};return f.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},f.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},f.MAC={CBC:0,GCM:1},f.HEAP_DATA=16384,f}()},{}],2:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES=void 0;var n=u(e("babel-runtime/helpers/classCallCheck")),i=u(e("babel-runtime/helpers/createClass")),a=e("./aes.asm"),s=e("../utils"),o=e("../errors");function u(e){return e&&e.__esModule?e:{default:e}}r.AES=function(){function e(t,r,i,o,u){(0,n.default)(this,e),this.nonce=null,this.counter=0,this.counterSize=0,this.heap=(0,s._heap_init)(Uint8Array,o).subarray(a.AES_asm.HEAP_DATA),this.asm=u||(0,a.AES_asm)(null,this.heap.buffer),this.mode=null,this.key=null,this.AES_reset(t,r,i)}return(0,i.default)(e,[{key:"AES_set_key",value:function(e){if(void 0!==e){if(!(0,s.is_bytes)(e))throw new TypeError("unexpected key type");var t=e.length;if(16!==t&&24!==t&&32!==t)throw new o.IllegalArgumentError("illegal key size");var r=new DataView(e.buffer,e.byteOffset,e.byteLength);this.asm.set_key(t>>2,r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12),t>16?r.getUint32(16):0,t>16?r.getUint32(20):0,t>24?r.getUint32(24):0,t>24?r.getUint32(28):0),this.key=e}else if(!this.key)throw new Error("key is required")}},{key:"AES_CTR_set_options",value:function(e,t,r){if(void 0!==r){if(r<8||r>48)throw new o.IllegalArgumentError("illegal counter size");this.counterSize=r;var n=Math.pow(2,r)-1;this.asm.set_mask(0,0,n/4294967296|0,0|n)}else this.counterSize=r=48,this.asm.set_mask(0,0,65535,4294967295);if(void 0===e)throw new Error("nonce is required");if(!(0,s.is_bytes)(e))throw new TypeError("unexpected nonce type");var i=e.length;if(!i||i>16)throw new o.IllegalArgumentError("illegal nonce size");this.nonce=e;var a=new DataView(new ArrayBuffer(16));if(new Uint8Array(a.buffer).set(e),this.asm.set_nonce(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12)),void 0!==t){if(!(0,s.is_number)(t))throw new TypeError("unexpected counter type");if(t<0||t>=Math.pow(2,r))throw new o.IllegalArgumentError("illegal counter value");this.counter=t,this.asm.set_counter(0,0,t/4294967296|0,0|t)}else this.counter=0}},{key:"AES_set_iv",value:function(e){if(void 0!==e){if(!(0,s.is_bytes)(e))throw new TypeError("unexpected iv type");if(16!==e.length)throw new o.IllegalArgumentError("illegal iv size");var t=new DataView(e.buffer,e.byteOffset,e.byteLength);this.iv=e,this.asm.set_iv(t.getUint32(0),t.getUint32(4),t.getUint32(8),t.getUint32(12))}else this.iv=null,this.asm.set_iv(0,0,0,0)}},{key:"AES_set_padding",value:function(e){this.padding=void 0===e||!!e}},{key:"AES_reset",value:function(e,t,r){return this.result=null,this.pos=0,this.len=0,this.AES_set_key(e),this.AES_set_iv(t),this.AES_set_padding(r),this}},{key:"AES_Encrypt_process",value:function(e){if(!(0,s.is_bytes)(e))throw new TypeError("data isn't of expected type");for(var t=this.asm,r=this.heap,n=a.AES_asm.ENC[this.mode],i=a.AES_asm.HEAP_DATA,o=this.pos,u=this.len,f=0,c=e.length||0,d=0,l=0,h=new Uint8Array(u+c&-16);c>0;)u+=l=(0,s._heap_write)(r,o+u,e,f,c),f+=l,c-=l,(l=t.cipher(n,i+o,u))&&h.set(r.subarray(o,o+l),d),d+=l,l0;)u+=p=(0,s._heap_write)(r,o+u,e,f,c),f+=p,c-=p,(p=t.cipher(n,i+o,u-(c?0:h)))&&y.set(r.subarray(o,o+p),d),d+=p,p0){if(c%16){if(this.hasOwnProperty("padding"))throw new o.IllegalArgumentError("data length must be a multiple of the block size");c+=16-c%16}if(n.cipher(s,u+f,c),this.hasOwnProperty("padding")&&this.padding){var l=i[f+d-1];if(l<1||l>16||l>d)throw new o.SecurityError("bad padding");for(var h=0,p=l;p>1;p--)h|=l^i[f+d-p];if(h)throw new o.SecurityError("bad padding");d-=l}}var y=new Uint8Array(r+d);return r>0&&y.set(t),d>0&&y.set(i.subarray(f,f+d),r),this.result=y,this.pos=0,this.len=0,this}}]),e}()},{"../errors":10,"../utils":15,"./aes.asm":1,"babel-runtime/helpers/classCallCheck":29,"babel-runtime/helpers/createClass":30}],3:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CFB_Decrypt=r.AES_CFB_Encrypt=r.AES_CFB=void 0;var n=f(e("babel-runtime/core-js/object/get-prototype-of")),i=f(e("babel-runtime/helpers/classCallCheck")),a=f(e("babel-runtime/helpers/createClass")),s=f(e("babel-runtime/helpers/possibleConstructorReturn")),o=f(e("babel-runtime/helpers/inherits")),u=e("../aes");function f(e){return e&&e.__esModule?e:{default:e}}var c=r.AES_CFB=function(e){function t(e,r,a,o){(0,i.default)(this,t);var u=(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,r,!0,a,o));return delete u.padding,u.mode="CFB",u.BLOCK_SIZE=16,u}return(0,o.default)(t,e),(0,a.default)(t,[{key:"encrypt",value:function(e){return this.AES_Encrypt_finish(e)}},{key:"decrypt",value:function(e){return this.AES_Decrypt_finish(e)}}]),t}(u.AES);r.AES_CFB_Encrypt=function(e){function t(e,r,a,o){return(0,i.default)(this,t),(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,r,a,o))}return(0,o.default)(t,e),(0,a.default)(t,[{key:"reset",value:function(e,t,r){return this.AES_reset(e,t,r)}},{key:"process",value:function(e){return this.AES_Encrypt_process(e)}},{key:"finish",value:function(e){return this.AES_Encrypt_finish(e)}}]),t}(c),r.AES_CFB_Decrypt=function(e){function t(e,r,a,o){return(0,i.default)(this,t),(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,r,a,o))}return(0,o.default)(t,e),(0,a.default)(t,[{key:"reset",value:function(e,t,r){return this.AES_reset(e,t,r)}},{key:"process",value:function(e){return this.AES_Decrypt_process(e)}},{key:"finish",value:function(e){return this.AES_Decrypt_finish(e)}}]),t}(c)},{"../aes":2,"babel-runtime/core-js/object/get-prototype-of":23,"babel-runtime/helpers/classCallCheck":29,"babel-runtime/helpers/createClass":30,"babel-runtime/helpers/inherits":31,"babel-runtime/helpers/possibleConstructorReturn":32}],4:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CFB_Decrypt=r.AES_CFB_Encrypt=r.AES_CFB=void 0;var n=e("../exports"),i=e("./cfb");i.AES_CFB.encrypt=function(e,t,r){if(void 0===e)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");return new i.AES_CFB(t,r,n._AES_heap_instance,n._AES_asm_instance).encrypt(e).result},i.AES_CFB.decrypt=function(e,t,r){if(void 0===e)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");return new i.AES_CFB(t,r,n._AES_heap_instance,n._AES_asm_instance).decrypt(e).result},r.AES_CFB=i.AES_CFB,r.AES_CFB_Encrypt=i.AES_CFB_Encrypt,r.AES_CFB_Decrypt=i.AES_CFB_Decrypt},{"../exports":7,"./cfb":3}],5:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_ECB_Decrypt=r.AES_ECB_Encrypt=r.AES_ECB=void 0;var n=f(e("babel-runtime/core-js/object/get-prototype-of")),i=f(e("babel-runtime/helpers/classCallCheck")),a=f(e("babel-runtime/helpers/createClass")),s=f(e("babel-runtime/helpers/possibleConstructorReturn")),o=f(e("babel-runtime/helpers/inherits")),u=e("../aes");function f(e){return e&&e.__esModule?e:{default:e}}var c=r.AES_ECB=function(e){function t(e,r,a){(0,i.default)(this,t);var o=(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,void 0,!1,r,a));return o.mode="ECB",o.BLOCK_SIZE=16,o}return(0,o.default)(t,e),(0,a.default)(t,[{key:"encrypt",value:function(e){return this.AES_Encrypt_finish(e)}},{key:"decrypt",value:function(e){return this.AES_Decrypt_finish(e)}}]),t}(u.AES);r.AES_ECB_Encrypt=function(e){function t(e,r,a){return(0,i.default)(this,t),(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,r,a))}return(0,o.default)(t,e),(0,a.default)(t,[{key:"reset",value:function(e){return this.AES_reset(e,null,!0)}},{key:"process",value:function(e){return this.AES_Encrypt_process(e)}},{key:"finish",value:function(e){return this.AES_Encrypt_finish(e)}}]),t}(c),r.AES_ECB_Decrypt=function(e){function t(e,r,a){return(0,i.default)(this,t),(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,r,a))}return(0,o.default)(t,e),(0,a.default)(t,[{key:"reset",value:function(e){return this.AES_reset(e,null,!0)}},{key:"process",value:function(e){return this.AES_Decrypt_process(e)}},{key:"finish",value:function(e){return this.AES_Decrypt_finish(e)}}]),t}(c)},{"../aes":2,"babel-runtime/core-js/object/get-prototype-of":23,"babel-runtime/helpers/classCallCheck":29,"babel-runtime/helpers/createClass":30,"babel-runtime/helpers/inherits":31,"babel-runtime/helpers/possibleConstructorReturn":32}],6:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_ECB_Decrypt=r.AES_ECB_Encrypt=r.AES_ECB=void 0;var n=e("../exports"),i=e("./ecb");i.AES_ECB.encrypt=function(e,t){if(void 0===e)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");return new i.AES_ECB(t,n._AES_heap_instance,n._AES_asm_instance).encrypt(e).result},i.AES_ECB.decrypt=function(e,t){if(void 0===e)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");return new i.AES_ECB(t,n._AES_heap_instance,n._AES_asm_instance).decrypt(e).result},r.AES_ECB=i.AES_ECB,r.AES_ECB_Encrypt=i.AES_ECB_Encrypt,r.AES_ECB_Decrypt=i.AES_ECB_Decrypt},{"../exports":7,"./ecb":5}],7:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r._AES_asm_instance=r._AES_heap_instance=void 0;var n=e("./aes.asm"),i=r._AES_heap_instance=new Uint8Array(1048576);r._AES_asm_instance=(0,n.AES_asm)(null,i.buffer)},{"./aes.asm":1}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_GCM_Decrypt=r.AES_GCM_Encrypt=r.AES_GCM=void 0;var n=e("../exports"),i=e("./gcm");i.AES_GCM.encrypt=function(e,t,r,a,s){if(void 0===e)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");if(void 0===r)throw new SyntaxError("nonce required");return new i.AES_GCM(t,r,a,s,n._AES_heap_instance,n._AES_asm_instance).encrypt(e).result},i.AES_GCM.decrypt=function(e,t,r,a,s){if(void 0===e)throw new SyntaxError("data required");if(void 0===t)throw new SyntaxError("key required");if(void 0===r)throw new SyntaxError("nonce required");return new i.AES_GCM(t,r,a,s,n._AES_heap_instance,n._AES_asm_instance).decrypt(e).result},r.AES_GCM=i.AES_GCM,r.AES_GCM_Encrypt=i.AES_GCM_Encrypt,r.AES_GCM_Decrypt=i.AES_GCM_Decrypt},{"../exports":7,"./gcm":9}],9:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_GCM_Decrypt=r.AES_GCM_Encrypt=r.AES_GCM=void 0;var n=l(e("babel-runtime/core-js/object/get-prototype-of")),i=l(e("babel-runtime/helpers/classCallCheck")),a=l(e("babel-runtime/helpers/createClass")),s=l(e("babel-runtime/helpers/possibleConstructorReturn")),o=l(e("babel-runtime/helpers/inherits")),u=e("../../errors"),f=e("../../utils"),c=e("../aes"),d=e("../aes.asm");function l(e){return e&&e.__esModule?e:{default:e}}var h=r.AES_GCM=function(e){function t(e,r,a,o,u,f){(0,i.default)(this,t);var c=(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,void 0,!1,u,f));return c.nonce=null,c.adata=null,c.iv=null,c.counter=1,c.tagSize=16,c.mode="GCM",c.BLOCK_SIZE=16,c.reset(e,o,r,a),c}return(0,o.default)(t,e),(0,a.default)(t,[{key:"reset",value:function(e,t,r,n){return this.AES_GCM_reset(e,t,r,n)}},{key:"encrypt",value:function(e){return this.AES_GCM_encrypt(e)}},{key:"decrypt",value:function(e){return this.AES_GCM_decrypt(e)}},{key:"AES_GCM_Encrypt_process",value:function(e){if(!(0,f.is_bytes)(e))throw new TypeError("data isn't of expected type");var t=0,r=e.length||0,n=this.asm,i=this.heap,a=this.counter,s=this.pos,o=this.len,u=0,c=o+r&-16,l=0;if((a-1<<4)+o+r>68719476704)throw new RangeError("counter overflow");for(var h=new Uint8Array(c);r>0;)o+=l=(0,f._heap_write)(i,s+o,e,t,r),t+=l,r-=l,l=n.cipher(d.AES_asm.ENC.CTR,d.AES_asm.HEAP_DATA+s,o),(l=n.mac(d.AES_asm.MAC.GCM,d.AES_asm.HEAP_DATA+s,l))&&h.set(i.subarray(s,s+l),u),a+=l>>>4,u+=l,l>>29,t[4]=f>>>21,t[5]=f>>>13&255,t[6]=f>>>5&255,t[7]=f<<3&255,t[8]=t[9]=t[10]=0,t[11]=c>>>29,t[12]=c>>>21&255,t[13]=c>>>13&255,t[14]=c>>>5&255,t[15]=c<<3&255,e.mac(d.AES_asm.MAC.GCM,d.AES_asm.HEAP_DATA,16),e.get_iv(d.AES_asm.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(d.AES_asm.ENC.CTR,d.AES_asm.HEAP_DATA,16),o.set(t.subarray(0,n),s),this.result=o,this.counter=1,this.pos=0,this.len=0,this}},{key:"AES_GCM_Decrypt_process",value:function(e){if(!(0,f.is_bytes)(e))throw new TypeError("data isn't of expected type");var t=0,r=e.length||0,n=this.asm,i=this.heap,a=this.counter,s=this.tagSize,o=this.pos,u=this.len,c=0,l=u+r>s?u+r-s&-16:0,h=u+r-l,p=0;if((a-1<<4)+u+r>68719476704)throw new RangeError("counter overflow");for(var y=new Uint8Array(l);r>h;)u+=p=(0,f._heap_write)(i,o+u,e,t,r-h),t+=p,r-=p,p=n.mac(d.AES_asm.MAC.GCM,d.AES_asm.HEAP_DATA+o,p),(p=n.cipher(d.AES_asm.DEC.CTR,d.AES_asm.HEAP_DATA+o,p))&&y.set(i.subarray(o,o+p),c),a+=p>>>4,c+=p,o=0,u=0;return r>0&&(u+=(0,f._heap_write)(i,0,e,t,r)),this.result=y,this.counter=a,this.pos=o,this.len=u,this}},{key:"AES_GCM_Decrypt_finish",value:function(){var e=this.asm,t=this.heap,r=this.tagSize,n=this.adata,i=this.counter,a=this.pos,s=this.len,o=s-r;if(s>>29,t[4]=h>>>21,t[5]=h>>>13&255,t[6]=h>>>5&255,t[7]=h<<3&255,t[8]=t[9]=t[10]=0,t[11]=p>>>29,t[12]=p>>>21&255,t[13]=p>>>13&255,t[14]=p>>>5&255,t[15]=p<<3&255,e.mac(d.AES_asm.MAC.GCM,d.AES_asm.HEAP_DATA,16),e.get_iv(d.AES_asm.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(d.AES_asm.ENC.CTR,d.AES_asm.HEAP_DATA,16);var y=0;for(l=0;l16)throw new u.IllegalArgumentError("illegal tagSize value");this.tagSize=t}else this.tagSize=16;if(void 0===r)throw new Error("nonce is required");if(!(0,f.is_bytes)(r))throw new TypeError("unexpected nonce type");this.nonce=r;var c=r.length||0,l=new Uint8Array(16);12!==c?(this._gcm_mac_process(r),o[0]=o[1]=o[2]=o[3]=o[4]=o[5]=o[6]=o[7]=o[8]=o[9]=o[10]=0,o[11]=c>>>29,o[12]=c>>>21&255,o[13]=c>>>13&255,o[14]=c>>>5&255,o[15]=c<<3&255,s.mac(d.AES_asm.MAC.GCM,d.AES_asm.HEAP_DATA,16),s.get_iv(d.AES_asm.HEAP_DATA),s.set_iv(),l.set(o.subarray(0,16))):(l.set(r),l[15]=1);var h=new DataView(l.buffer);if(this.gamma0=h.getUint32(12),s.set_nonce(h.getUint32(0),h.getUint32(4),h.getUint32(8),0),s.set_mask(0,0,0,4294967295),void 0!==n&&null!==n){if(!(0,f.is_bytes)(n))throw new TypeError("unexpected adata type");if(n.length>68719476704)throw new u.IllegalArgumentError("illegal adata length");n.length?(this.adata=n,this._gcm_mac_process(n)):this.adata=null}else this.adata=null;if(void 0!==i){if(!(0,f.is_number)(i))throw new TypeError("counter must be a number");if(i<1||i>4294967295)throw new RangeError("counter must be a positive 32-bit integer");this.counter=i,s.set_counter(0,0,0,this.gamma0+i|0)}else this.counter=1,s.set_counter(0,0,0,this.gamma0+1|0);if(void 0!==a){if(!(0,f.is_number)(a))throw new TypeError("iv must be a number");this.iv=a,this.AES_set_iv(a)}return this}},{key:"_gcm_mac_process",value:function(e){for(var t=this.heap,r=this.asm,n=0,i=e.length||0,a=0;i>0;){for(n+=a=(0,f._heap_write)(t,0,e,n,i),i-=a;15&a;)t[a++]=0;r.mac(d.AES_asm.MAC.GCM,d.AES_asm.HEAP_DATA,a)}}}]),t}(c.AES);r.AES_GCM_Encrypt=function(e){function t(e,r,a,o,u,f){return(0,i.default)(this,t),(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,r,a,o,u,f))}return(0,o.default)(t,e),(0,a.default)(t,[{key:"process",value:function(e){return this.AES_GCM_Encrypt_process(e)}},{key:"finish",value:function(){return this.AES_GCM_Encrypt_finish()}}]),t}(h),r.AES_GCM_Decrypt=function(e){function t(e,r,a,o,u,f){return(0,i.default)(this,t),(0,s.default)(this,(t.__proto__||(0,n.default)(t)).call(this,e,r,a,o,u,f))}return(0,o.default)(t,e),(0,a.default)(t,[{key:"process",value:function(e){return this.AES_GCM_Decrypt_process(e)}},{key:"finish",value:function(){return this.AES_GCM_Decrypt_finish()}}]),t}(h)},{"../../errors":10,"../../utils":15,"../aes":2,"../aes.asm":1,"babel-runtime/core-js/object/get-prototype-of":23,"babel-runtime/helpers/classCallCheck":29,"babel-runtime/helpers/createClass":30,"babel-runtime/helpers/inherits":31,"babel-runtime/helpers/possibleConstructorReturn":32}],10:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=e("babel-runtime/core-js/object/create"),a=(n=i)&&n.__esModule?n:{default:n};function s(){var e=Error.apply(this,arguments);this.message=e.message,this.stack=e.stack}function o(){var e=Error.apply(this,arguments);this.message=e.message,this.stack=e.stack}function u(){var e=Error.apply(this,arguments);this.message=e.message,this.stack=e.stack}r.IllegalStateError=s,r.IllegalArgumentError=o,r.SecurityError=u,s.prototype=(0,a.default)(Error.prototype,{name:{value:"IllegalStateError"}}),o.prototype=(0,a.default)(Error.prototype,{name:{value:"IllegalArgumentError"}}),u.prototype=(0,a.default)(Error.prototype,{name:{value:"SecurityError"}})},{"babel-runtime/core-js/object/create":20}],11:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.hash_reset=function(){return this.result=null,this.pos=0,this.len=0,this.asm.reset(),this},r.hash_process=function(e){if(null!==this.result)throw new i.IllegalStateError("state must be reset before processing new data");(0,n.is_string)(e)&&(e=(0,n.string_to_bytes)(e));(0,n.is_buffer)(e)&&(e=new Uint8Array(e));if(!(0,n.is_bytes)(e))throw new TypeError("data isn't of expected type");var t=this.asm,r=this.heap,a=this.pos,s=this.len,o=0,u=e.length,f=0;for(;u>0;)f=(0,n._heap_write)(r,a+s,e,o,u),s+=f,o+=f,u-=f,f=t.process(a,s),a+=f,(s-=f)||(a=0);return this.pos=a,this.len=s,this},r.hash_finish=function(){if(null!==this.result)throw new i.IllegalStateError("state must be reset before processing new data");return this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this};var n=e("../utils"),i=e("../errors")},{"../errors":10,"../utils":15}],12:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.SHA256=void 0;var n=e("./sha256"),i=e("../../utils");function a(e){if(void 0===e)throw new SyntaxError("data required");return(0,n.get_sha256_instance)().reset().process(e).finish().result}var s=r.SHA256=n.sha256_constructor;s.bytes=a,s.hex=function(e){var t=a(e);return(0,i.bytes_to_hex)(t)},s.base64=function(e){var t=a(e);return(0,i.bytes_to_base64)(t)}},{"../../utils":15,"./sha256":14}],13:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.sha256_asm=function(e,t,r){"use asm";var n=0,i=0,a=0,s=0,o=0,u=0,f=0,c=0,d=0,l=0,h=0,p=0,y=0,b=0,m=0,g=0,v=0,_=0,w=0,k=0,A=0,x=0,S=0,E=0,M=0,j=0,P=new e.Uint8Array(r);function C(e,t,r,d,l,h,p,y,b,m,g,v,_,w,k,A){e=e|0;t=t|0;r=r|0;d=d|0;l=l|0;h=h|0;p=p|0;y=y|0;b=b|0;m=m|0;g=g|0;v=v|0;_=_|0;w=w|0;k=k|0;A=A|0;var x=0,S=0,E=0,M=0,j=0,P=0,C=0,B=0;x=n;S=i;E=a;M=s;j=o;P=u;C=f;B=c;B=e+B+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(C^j&(P^C))+0x428a2f98|0;M=M+B|0;B=B+(x&S^E&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;C=t+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(P^M&(j^P))+0x71374491|0;E=E+C|0;C=C+(B&x^S&(B^x))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;P=r+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(j^E&(M^j))+0xb5c0fbcf|0;S=S+P|0;P=P+(C&B^x&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;j=d+j+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(M^S&(E^M))+0xe9b5dba5|0;x=x+j|0;j=j+(P&C^B&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;M=l+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(S^E))+0x3956c25b|0;B=B+M|0;M=M+(j&P^C&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;E=h+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(x^S))+0x59f111f1|0;C=C+E|0;E=E+(M&j^P&(M^j))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(x^C&(B^x))+0x923f82a4|0;P=P+S|0;S=S+(E&M^j&(E^M))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=y+x+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(B^P&(C^B))+0xab1c5ed5|0;j=j+x|0;x=x+(S&E^M&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;B=b+B+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(C^j&(P^C))+0xd807aa98|0;M=M+B|0;B=B+(x&S^E&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;C=m+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(P^M&(j^P))+0x12835b01|0;E=E+C|0;C=C+(B&x^S&(B^x))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;P=g+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(j^E&(M^j))+0x243185be|0;S=S+P|0;P=P+(C&B^x&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;j=v+j+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(M^S&(E^M))+0x550c7dc3|0;x=x+j|0;j=j+(P&C^B&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;M=_+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(S^E))+0x72be5d74|0;B=B+M|0;M=M+(j&P^C&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;E=w+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(x^S))+0x80deb1fe|0;C=C+E|0;E=E+(M&j^P&(M^j))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(x^C&(B^x))+0x9bdc06a7|0;P=P+S|0;S=S+(E&M^j&(E^M))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=A+x+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(B^P&(C^B))+0xc19bf174|0;j=j+x|0;x=x+(S&E^M&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;B=e+B+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(C^j&(P^C))+0xe49b69c1|0;M=M+B|0;B=B+(x&S^E&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;C=t+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(P^M&(j^P))+0xefbe4786|0;E=E+C|0;C=C+(B&x^S&(B^x))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+v|0;P=r+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(j^E&(M^j))+0x0fc19dc6|0;S=S+P|0;P=P+(C&B^x&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;j=d+j+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(M^S&(E^M))+0x240ca1cc|0;x=x+j|0;j=j+(P&C^B&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;l=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+l+w|0;M=l+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(S^E))+0x2de92c6f|0;B=B+M|0;M=M+(j&P^C&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(x^S))+0x4a7484aa|0;C=C+E|0;E=E+(M&j^P&(M^j))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+A|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(x^C&(B^x))+0x5cb0a9dc|0;P=P+S|0;S=S+(E&M^j&(E^M))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+y+e|0;x=y+x+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(B^P&(C^B))+0x76f988da|0;j=j+x|0;x=x+(S&E^M&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;B=b+B+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(C^j&(P^C))+0x983e5152|0;M=M+B|0;B=B+(x&S^E&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;m=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+m+r|0;C=m+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(P^M&(j^P))+0xa831c66d|0;E=E+C|0;C=C+(B&x^S&(B^x))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;g=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+g+d|0;P=g+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(j^E&(M^j))+0xb00327c8|0;S=S+P|0;P=P+(C&B^x&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+v+l|0;j=v+j+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(M^S&(E^M))+0xbf597fc7|0;x=x+j|0;j=j+(P&C^B&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;_=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+_+h|0;M=_+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(S^E))+0xc6e00bf3|0;B=B+M|0;M=M+(j&P^C&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+w+p|0;E=w+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(x^S))+0xd5a79147|0;C=C+E|0;E=E+(M&j^P&(M^j))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+y|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(x^C&(B^x))+0x06ca6351|0;P=P+S|0;S=S+(E&M^j&(E^M))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+A+b|0;x=A+x+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(B^P&(C^B))+0x14292967|0;j=j+x|0;x=x+(S&E^M&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;B=e+B+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(C^j&(P^C))+0x27b70a85|0;M=M+B|0;B=B+(x&S^E&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;C=t+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(P^M&(j^P))+0x2e1b2138|0;E=E+C|0;C=C+(B&x^S&(B^x))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+v|0;P=r+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(j^E&(M^j))+0x4d2c6dfc|0;S=S+P|0;P=P+(C&B^x&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;j=d+j+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(M^S&(E^M))+0x53380d13|0;x=x+j|0;j=j+(P&C^B&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;l=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+l+w|0;M=l+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(S^E))+0x650a7354|0;B=B+M|0;M=M+(j&P^C&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(x^S))+0x766a0abb|0;C=C+E|0;E=E+(M&j^P&(M^j))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+A|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(x^C&(B^x))+0x81c2c92e|0;P=P+S|0;S=S+(E&M^j&(E^M))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+y+e|0;x=y+x+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(B^P&(C^B))+0x92722c85|0;j=j+x|0;x=x+(S&E^M&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;B=b+B+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(C^j&(P^C))+0xa2bfe8a1|0;M=M+B|0;B=B+(x&S^E&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;m=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+m+r|0;C=m+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(P^M&(j^P))+0xa81a664b|0;E=E+C|0;C=C+(B&x^S&(B^x))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;g=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+g+d|0;P=g+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(j^E&(M^j))+0xc24b8b70|0;S=S+P|0;P=P+(C&B^x&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+v+l|0;j=v+j+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(M^S&(E^M))+0xc76c51a3|0;x=x+j|0;j=j+(P&C^B&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;_=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+_+h|0;M=_+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(S^E))+0xd192e819|0;B=B+M|0;M=M+(j&P^C&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+w+p|0;E=w+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(x^S))+0xd6990624|0;C=C+E|0;E=E+(M&j^P&(M^j))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+y|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(x^C&(B^x))+0xf40e3585|0;P=P+S|0;S=S+(E&M^j&(E^M))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+A+b|0;x=A+x+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(B^P&(C^B))+0x106aa070|0;j=j+x|0;x=x+(S&E^M&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;e=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(k>>>17^k>>>19^k>>>10^k<<15^k<<13)+e+m|0;B=e+B+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(C^j&(P^C))+0x19a4c116|0;M=M+B|0;B=B+(x&S^E&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+t+g|0;C=t+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(P^M&(j^P))+0x1e376c08|0;E=E+C|0;C=C+(B&x^S&(B^x))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+v|0;P=r+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(j^E&(M^j))+0x2748774c|0;S=S+P|0;P=P+(C&B^x&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;j=d+j+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(M^S&(E^M))+0x34b0bcb5|0;x=x+j|0;j=j+(P&C^B&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;l=(h>>>7^h>>>18^h>>>3^h<<25^h<<14)+(r>>>17^r>>>19^r>>>10^r<<15^r<<13)+l+w|0;M=l+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(S^E))+0x391c0cb3|0;B=B+M|0;M=M+(j&P^C&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(x^S))+0x4ed8aa4a|0;C=C+E|0;E=E+(M&j^P&(M^j))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;p=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+A|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(x^C&(B^x))+0x5b9cca4f|0;P=P+S|0;S=S+(E&M^j&(E^M))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;y=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+y+e|0;x=y+x+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(B^P&(C^B))+0x682e6ff3|0;j=j+x|0;x=x+(S&E^M&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+b+t|0;B=b+B+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(C^j&(P^C))+0x748f82ee|0;M=M+B|0;B=B+(x&S^E&(x^S))+(x>>>2^x>>>13^x>>>22^x<<30^x<<19^x<<10)|0;m=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+m+r|0;C=m+C+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(P^M&(j^P))+0x78a5636f|0;E=E+C|0;C=C+(B&x^S&(B^x))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;g=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+g+d|0;P=g+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(j^E&(M^j))+0x84c87814|0;S=S+P|0;P=P+(C&B^x&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;v=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+v+l|0;j=v+j+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(M^S&(E^M))+0x8cc70208|0;x=x+j|0;j=j+(P&C^B&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;_=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+_+h|0;M=_+M+(x>>>6^x>>>11^x>>>25^x<<26^x<<21^x<<7)+(E^x&(S^E))+0x90befffa|0;B=B+M|0;M=M+(j&P^C&(j^P))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+w+p|0;E=w+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(x^S))+0xa4506ceb|0;C=C+E|0;E=E+(M&j^P&(M^j))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;k=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+y|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(x^C&(B^x))+0xbef9a3f7|0;P=P+S|0;S=S+(E&M^j&(E^M))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+A+b|0;x=A+x+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(B^P&(C^B))+0xc67178f2|0;j=j+x|0;x=x+(S&E^M&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;n=n+x|0;i=i+S|0;a=a+E|0;s=s+M|0;o=o+j|0;u=u+P|0;f=f+C|0;c=c+B|0}function B(e){e=e|0;C(P[e|0]<<24|P[e|1]<<16|P[e|2]<<8|P[e|3],P[e|4]<<24|P[e|5]<<16|P[e|6]<<8|P[e|7],P[e|8]<<24|P[e|9]<<16|P[e|10]<<8|P[e|11],P[e|12]<<24|P[e|13]<<16|P[e|14]<<8|P[e|15],P[e|16]<<24|P[e|17]<<16|P[e|18]<<8|P[e|19],P[e|20]<<24|P[e|21]<<16|P[e|22]<<8|P[e|23],P[e|24]<<24|P[e|25]<<16|P[e|26]<<8|P[e|27],P[e|28]<<24|P[e|29]<<16|P[e|30]<<8|P[e|31],P[e|32]<<24|P[e|33]<<16|P[e|34]<<8|P[e|35],P[e|36]<<24|P[e|37]<<16|P[e|38]<<8|P[e|39],P[e|40]<<24|P[e|41]<<16|P[e|42]<<8|P[e|43],P[e|44]<<24|P[e|45]<<16|P[e|46]<<8|P[e|47],P[e|48]<<24|P[e|49]<<16|P[e|50]<<8|P[e|51],P[e|52]<<24|P[e|53]<<16|P[e|54]<<8|P[e|55],P[e|56]<<24|P[e|57]<<16|P[e|58]<<8|P[e|59],P[e|60]<<24|P[e|61]<<16|P[e|62]<<8|P[e|63])}function U(e){e=e|0;P[e|0]=n>>>24;P[e|1]=n>>>16&255;P[e|2]=n>>>8&255;P[e|3]=n&255;P[e|4]=i>>>24;P[e|5]=i>>>16&255;P[e|6]=i>>>8&255;P[e|7]=i&255;P[e|8]=a>>>24;P[e|9]=a>>>16&255;P[e|10]=a>>>8&255;P[e|11]=a&255;P[e|12]=s>>>24;P[e|13]=s>>>16&255;P[e|14]=s>>>8&255;P[e|15]=s&255;P[e|16]=o>>>24;P[e|17]=o>>>16&255;P[e|18]=o>>>8&255;P[e|19]=o&255;P[e|20]=u>>>24;P[e|21]=u>>>16&255;P[e|22]=u>>>8&255;P[e|23]=u&255;P[e|24]=f>>>24;P[e|25]=f>>>16&255;P[e|26]=f>>>8&255;P[e|27]=f&255;P[e|28]=c>>>24;P[e|29]=c>>>16&255;P[e|30]=c>>>8&255;P[e|31]=c&255}function K(){n=0x6a09e667;i=0xbb67ae85;a=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;u=0x9b05688c;f=0x1f83d9ab;c=0x5be0cd19;d=l=0}function I(e,t,r,h,p,y,b,m,g,v){e=e|0;t=t|0;r=r|0;h=h|0;p=p|0;y=y|0;b=b|0;m=m|0;g=g|0;v=v|0;n=e;i=t;a=r;s=h;o=p;u=y;f=b;c=m;d=g;l=v}function T(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){B(e);e=e+64|0;t=t-64|0;r=r+64|0}d=d+r|0;if(d>>>0>>0)l=l+1|0;return r|0}function O(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,i=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=T(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;d=d+t|0;if(d>>>0>>0)l=l+1|0;P[e|t]=0x80;if((t|0)>=56){for(i=t+1|0;(i|0)<64;i=i+1|0){P[e|i]=0x00}B(e);t=0;P[e|0]=0}for(i=t+1|0;(i|0)<59;i=i+1|0){P[e|i]=0}P[e|56]=l>>>21&255;P[e|57]=l>>>13&255;P[e|58]=l>>>5&255;P[e|59]=l<<3&255|d>>>29;P[e|60]=d>>>21&255;P[e|61]=d>>>13&255;P[e|62]=d>>>5&255;P[e|63]=d<<3&255;B(e);if(~r)U(r);return n|0}function R(){n=h;i=p;a=y;s=b;o=m;u=g;f=v;c=_;d=64;l=0}function D(){n=w;i=k;a=A;s=x;o=S;u=E;f=M;c=j;d=64;l=0}function z(e,t,r,P,B,U,I,T,O,R,D,z,L,F,N,q){e=e|0;t=t|0;r=r|0;P=P|0;B=B|0;U=U|0;I=I|0;T=T|0;O=O|0;R=R|0;D=D|0;z=z|0;L=L|0;F=F|0;N=N|0;q=q|0;K();C(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,P^0x5c5c5c5c,B^0x5c5c5c5c,U^0x5c5c5c5c,I^0x5c5c5c5c,T^0x5c5c5c5c,O^0x5c5c5c5c,R^0x5c5c5c5c,D^0x5c5c5c5c,z^0x5c5c5c5c,L^0x5c5c5c5c,F^0x5c5c5c5c,N^0x5c5c5c5c,q^0x5c5c5c5c);w=n;k=i;A=a;x=s;S=o;E=u;M=f;j=c;K();C(e^0x36363636,t^0x36363636,r^0x36363636,P^0x36363636,B^0x36363636,U^0x36363636,I^0x36363636,T^0x36363636,O^0x36363636,R^0x36363636,D^0x36363636,z^0x36363636,L^0x36363636,F^0x36363636,N^0x36363636,q^0x36363636);h=n;p=i;y=a;b=s;m=o;g=u;v=f;_=c;d=64;l=0}function L(e,t,r){e=e|0;t=t|0;r=r|0;var d=0,l=0,h=0,p=0,y=0,b=0,m=0,g=0,v=0;if(e&63)return-1;if(~r)if(r&31)return-1;v=O(e,t,-1)|0;d=n,l=i,h=a,p=s,y=o,b=u,m=f,g=c;D();C(d,l,h,p,y,b,m,g,0x80000000,0,0,0,0,0,0,768);if(~r)U(r);return v|0}function F(e,t,r,d,l){e=e|0;t=t|0;r=r|0;d=d|0;l=l|0;var h=0,p=0,y=0,b=0,m=0,g=0,v=0,_=0,w=0,k=0,A=0,x=0,S=0,E=0,M=0,j=0;if(e&63)return-1;if(~l)if(l&31)return-1;P[e+t|0]=r>>>24;P[e+t+1|0]=r>>>16&255;P[e+t+2|0]=r>>>8&255;P[e+t+3|0]=r&255;L(e,t+4|0,-1)|0;h=w=n,p=k=i,y=A=a,b=x=s,m=S=o,g=E=u,v=M=f,_=j=c;d=d-1|0;while((d|0)>0){R();C(w,k,A,x,S,E,M,j,0x80000000,0,0,0,0,0,0,768);w=n,k=i,A=a,x=s,S=o,E=u,M=f,j=c;D();C(w,k,A,x,S,E,M,j,0x80000000,0,0,0,0,0,0,768);w=n,k=i,A=a,x=s,S=o,E=u,M=f,j=c;h=h^n;p=p^i;y=y^a;b=b^s;m=m^o;g=g^u;v=v^f;_=_^c;d=d-1|0}n=h;i=p;a=y;s=b;o=m;u=g;f=v;c=_;if(~l)U(l);return 0}return{reset:K,init:I,process:T,finish:O,hmac_reset:R,hmac_init:z,hmac_finish:L,pbkdf2_generate_block:F}}},{}],14:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r._sha256_hash_size=r._sha256_block_size=void 0,r.sha256_constructor=u,r.get_sha256_instance=function(){null===c&&(c=new u({heapSize:1048576}));return c};var n=e("./sha256.asm"),i=e("../hash"),a=e("../../utils"),s=r._sha256_block_size=64,o=r._sha256_hash_size=32;function u(e){e=e||{},this.heap=(0,a._heap_init)(Uint8Array,e.heap),this.asm=e.asm||(0,n.sha256_asm)({Uint8Array:Uint8Array},null,this.heap.buffer),this.BLOCK_SIZE=s,this.HASH_SIZE=o,this.reset()}u.BLOCK_SIZE=s,u.HASH_SIZE=o,u.NAME="sha256";var f=u.prototype;f.reset=i.hash_reset,f.process=i.hash_process,f.finish=i.hash_finish;var c=null},{"../../utils":15,"../hash":11,"./sha256.asm":13}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.string_to_bytes=n,r.hex_to_bytes=function(e){var t=e.length;1&t&&(e="0"+e,t++);for(var r=new Uint8Array(t>>1),n=0;n>1]=parseInt(e.substr(n,2),16);return r},r.base64_to_bytes=function(e){return n(atob(e))},r.bytes_to_string=i,r.bytes_to_hex=function(e){for(var t="",r=0;r>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+=1},r.is_number=function(e){return"number"==typeof e},r.is_string=function(e){return"string"==typeof e},r.is_buffer=function(e){return e instanceof ArrayBuffer},r.is_bytes=function(e){return e instanceof Uint8Array},r.is_typed_array=function(e){return e instanceof Int8Array||e instanceof Uint8Array||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array},r._heap_init=function(e,t,r){var n=t?t.byteLength:r||65536;if(4095&n||n<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return t=t||new e(new ArrayBuffer(n))},r._heap_write=function(e,t,r,n,i){var a=e.length-t,s=a=r)throw new Error("Malformed string, low surrogate expected at position "+i);s=(55296^s)<<10|65536|56320^e.charCodeAt(i)}else if(!t&&s>>>8)throw new Error("Wide characters are not allowed.");!t||s<=127?n[a++]=s:s<=2047?(n[a++]=192|s>>6,n[a++]=128|63&s):s<=65535?(n[a++]=224|s>>12,n[a++]=128|s>>6&63,n[a++]=128|63&s):(n[a++]=240|s>>18,n[a++]=128|s>>12&63,n[a++]=128|s>>6&63,n[a++]=128|63&s)}return n.subarray(0,a)}function i(e,t){t=!!t;for(var r=e.length,n=new Array(r),i=0,a=0;i=192&&s<224&&i+1=224&&s<240&&i+2=240&&s<248&&i+3>10,n[a++]=56320|1023&o)}}var u="";for(i=0;i0?u-4:u;var c=0;for(t=0;t>16&255,o[c++]=n>>8&255,o[c++]=255&n;2===s?(n=i[e.charCodeAt(t)]<<2|i[e.charCodeAt(t+1)]>>4,o[c++]=255&n):1===s&&(n=i[e.charCodeAt(t)]<<10|i[e.charCodeAt(t+1)]<<4|i[e.charCodeAt(t+2)]>>2,o[c++]=n>>8&255,o[c++]=255&n);return o},r.fromByteArray=function(e){for(var t,r=e.length,i=r%3,a="",s=[],o=0,u=r-i;ou?u:o+16383));1===i?(t=e[r-1],a+=n[t>>2],a+=n[t<<4&63],a+="=="):2===i&&(t=(e[r-2]<<8)+e[r-1],a+=n[t>>10],a+=n[t>>4&63],a+=n[t<<2&63],a+="=");return s.push(a),s.join("")};for(var n=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,u=s.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function c(e,t,r){for(var i,a,s=[],o=t;o>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],37:[function(e,t,r){!function(t,r){"use strict";function n(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function a(e,t,r){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var s;"object"==typeof t?t.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{s=e("buffer").Buffer}catch(e){}function o(e,t,r){for(var n=0,i=Math.min(e.length,r),a=t;a=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(e,t,r,n){for(var i=0,a=Math.min(e.length,r),s=t;s=49?o-49+10:o>=17?o-17+10:o}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof 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,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initNumber=function(e,t,r){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):(n(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},a.prototype._initArray=function(e,t,r){if(n("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 i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=s<>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-o&67108863,(o+=24)>=26&&(o-=26,a++);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 r=0;r=t;r-=6)i=o(e,r,r+6),this.words[n]|=i<>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==t&&(i=o(e,t,r+6),this.words[n]|=i<>>26-a&4194303),this.strip()},a.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,s=a%n,o=Math.min(a,a-s)+r,f=0,c=r;c1&&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 f=["","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"],c=[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],d=[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 l(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],s=i*a,o=67108863&s,u=s/67108864|0;r.words[0]=o;for(var f=1;f>>26,d=67108863&u,l=Math.min(f,t.length-1),h=Math.max(0,f-e.length+1);h<=l;h++){var p=f-h|0;c+=(s=(i=0|e.words[p])*(a=0|t.words[h])+d)/67108864|0,d=67108863&s}r.words[f]=0|d,u=0|c}return 0!==u?r.words[f]=0|u:r.length--,r.strip()}a.prototype.toString=function(e,t){var r;if(e=e||10,t=0|t||1,16===e||"hex"===e){r="";for(var i=0,a=0,s=0;s>>24-i&16777215)||s!==this.length-1?f[6-u.length]+u+r:u+r,(i+=2)>=26&&(i-=26,s--)}for(0!==a&&(r=a.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var l=c[e],h=d[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var y=p.modn(h).toString(e);r=(p=p.idivn(h)).isZero()?y+r:f[l-y.length]+y+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"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&&n(!1,"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 n(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,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var s,o,u="le"===t,f=new e(a),c=this.clone();if(u){for(o=0;!c.isZero();o++)s=c.andln(255),c.iushrn(8),f[o]=s;for(;o=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},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;te.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 r=0;re.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,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.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){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.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 r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var a=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==a&&s>26,this.words[s]=67108863&t;if(0===a&&s>>13,h=0|s[1],p=8191&h,y=h>>>13,b=0|s[2],m=8191&b,g=b>>>13,v=0|s[3],_=8191&v,w=v>>>13,k=0|s[4],A=8191&k,x=k>>>13,S=0|s[5],E=8191&S,M=S>>>13,j=0|s[6],P=8191&j,C=j>>>13,B=0|s[7],U=8191&B,K=B>>>13,I=0|s[8],T=8191&I,O=I>>>13,R=0|s[9],D=8191&R,z=R>>>13,L=0|o[0],F=8191&L,N=L>>>13,q=0|o[1],G=8191&q,H=q>>>13,Z=0|o[2],V=8191&Z,W=Z>>>13,Y=0|o[3],J=8191&Y,X=Y>>>13,$=0|o[4],Q=8191&$,ee=$>>>13,te=0|o[5],re=8191&te,ne=te>>>13,ie=0|o[6],ae=8191&ie,se=ie>>>13,oe=0|o[7],ue=8191&oe,fe=oe>>>13,ce=0|o[8],de=8191&ce,le=ce>>>13,he=0|o[9],pe=8191&he,ye=he>>>13;r.negative=e.negative^t.negative,r.length=19;var be=(f+(n=Math.imul(d,F))|0)+((8191&(i=(i=Math.imul(d,N))+Math.imul(l,F)|0))<<13)|0;f=((a=Math.imul(l,N))+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(p,F),i=(i=Math.imul(p,N))+Math.imul(y,F)|0,a=Math.imul(y,N);var me=(f+(n=n+Math.imul(d,G)|0)|0)+((8191&(i=(i=i+Math.imul(d,H)|0)+Math.imul(l,G)|0))<<13)|0;f=((a=a+Math.imul(l,H)|0)+(i>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(m,F),i=(i=Math.imul(m,N))+Math.imul(g,F)|0,a=Math.imul(g,N),n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,H)|0)+Math.imul(y,G)|0,a=a+Math.imul(y,H)|0;var ge=(f+(n=n+Math.imul(d,V)|0)|0)+((8191&(i=(i=i+Math.imul(d,W)|0)+Math.imul(l,V)|0))<<13)|0;f=((a=a+Math.imul(l,W)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(_,F),i=(i=Math.imul(_,N))+Math.imul(w,F)|0,a=Math.imul(w,N),n=n+Math.imul(m,G)|0,i=(i=i+Math.imul(m,H)|0)+Math.imul(g,G)|0,a=a+Math.imul(g,H)|0,n=n+Math.imul(p,V)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(y,V)|0,a=a+Math.imul(y,W)|0;var ve=(f+(n=n+Math.imul(d,J)|0)|0)+((8191&(i=(i=i+Math.imul(d,X)|0)+Math.imul(l,J)|0))<<13)|0;f=((a=a+Math.imul(l,X)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(A,F),i=(i=Math.imul(A,N))+Math.imul(x,F)|0,a=Math.imul(x,N),n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,H)|0)+Math.imul(w,G)|0,a=a+Math.imul(w,H)|0,n=n+Math.imul(m,V)|0,i=(i=i+Math.imul(m,W)|0)+Math.imul(g,V)|0,a=a+Math.imul(g,W)|0,n=n+Math.imul(p,J)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(y,J)|0,a=a+Math.imul(y,X)|0;var _e=(f+(n=n+Math.imul(d,Q)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(l,Q)|0))<<13)|0;f=((a=a+Math.imul(l,ee)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(E,F),i=(i=Math.imul(E,N))+Math.imul(M,F)|0,a=Math.imul(M,N),n=n+Math.imul(A,G)|0,i=(i=i+Math.imul(A,H)|0)+Math.imul(x,G)|0,a=a+Math.imul(x,H)|0,n=n+Math.imul(_,V)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(w,V)|0,a=a+Math.imul(w,W)|0,n=n+Math.imul(m,J)|0,i=(i=i+Math.imul(m,X)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,X)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,ee)|0;var we=(f+(n=n+Math.imul(d,re)|0)|0)+((8191&(i=(i=i+Math.imul(d,ne)|0)+Math.imul(l,re)|0))<<13)|0;f=((a=a+Math.imul(l,ne)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(P,F),i=(i=Math.imul(P,N))+Math.imul(C,F)|0,a=Math.imul(C,N),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,H)|0)+Math.imul(M,G)|0,a=a+Math.imul(M,H)|0,n=n+Math.imul(A,V)|0,i=(i=i+Math.imul(A,W)|0)+Math.imul(x,V)|0,a=a+Math.imul(x,W)|0,n=n+Math.imul(_,J)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(w,J)|0,a=a+Math.imul(w,X)|0,n=n+Math.imul(m,Q)|0,i=(i=i+Math.imul(m,ee)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(y,re)|0,a=a+Math.imul(y,ne)|0;var ke=(f+(n=n+Math.imul(d,ae)|0)|0)+((8191&(i=(i=i+Math.imul(d,se)|0)+Math.imul(l,ae)|0))<<13)|0;f=((a=a+Math.imul(l,se)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(U,F),i=(i=Math.imul(U,N))+Math.imul(K,F)|0,a=Math.imul(K,N),n=n+Math.imul(P,G)|0,i=(i=i+Math.imul(P,H)|0)+Math.imul(C,G)|0,a=a+Math.imul(C,H)|0,n=n+Math.imul(E,V)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(M,V)|0,a=a+Math.imul(M,W)|0,n=n+Math.imul(A,J)|0,i=(i=i+Math.imul(A,X)|0)+Math.imul(x,J)|0,a=a+Math.imul(x,X)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(w,Q)|0,a=a+Math.imul(w,ee)|0,n=n+Math.imul(m,re)|0,i=(i=i+Math.imul(m,ne)|0)+Math.imul(g,re)|0,a=a+Math.imul(g,ne)|0,n=n+Math.imul(p,ae)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(y,ae)|0,a=a+Math.imul(y,se)|0;var Ae=(f+(n=n+Math.imul(d,ue)|0)|0)+((8191&(i=(i=i+Math.imul(d,fe)|0)+Math.imul(l,ue)|0))<<13)|0;f=((a=a+Math.imul(l,fe)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(T,F),i=(i=Math.imul(T,N))+Math.imul(O,F)|0,a=Math.imul(O,N),n=n+Math.imul(U,G)|0,i=(i=i+Math.imul(U,H)|0)+Math.imul(K,G)|0,a=a+Math.imul(K,H)|0,n=n+Math.imul(P,V)|0,i=(i=i+Math.imul(P,W)|0)+Math.imul(C,V)|0,a=a+Math.imul(C,W)|0,n=n+Math.imul(E,J)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(M,J)|0,a=a+Math.imul(M,X)|0,n=n+Math.imul(A,Q)|0,i=(i=i+Math.imul(A,ee)|0)+Math.imul(x,Q)|0,a=a+Math.imul(x,ee)|0,n=n+Math.imul(_,re)|0,i=(i=i+Math.imul(_,ne)|0)+Math.imul(w,re)|0,a=a+Math.imul(w,ne)|0,n=n+Math.imul(m,ae)|0,i=(i=i+Math.imul(m,se)|0)+Math.imul(g,ae)|0,a=a+Math.imul(g,se)|0,n=n+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,fe)|0)+Math.imul(y,ue)|0,a=a+Math.imul(y,fe)|0;var xe=(f+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,le)|0)+Math.imul(l,de)|0))<<13)|0;f=((a=a+Math.imul(l,le)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(D,F),i=(i=Math.imul(D,N))+Math.imul(z,F)|0,a=Math.imul(z,N),n=n+Math.imul(T,G)|0,i=(i=i+Math.imul(T,H)|0)+Math.imul(O,G)|0,a=a+Math.imul(O,H)|0,n=n+Math.imul(U,V)|0,i=(i=i+Math.imul(U,W)|0)+Math.imul(K,V)|0,a=a+Math.imul(K,W)|0,n=n+Math.imul(P,J)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(E,Q)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,ee)|0,n=n+Math.imul(A,re)|0,i=(i=i+Math.imul(A,ne)|0)+Math.imul(x,re)|0,a=a+Math.imul(x,ne)|0,n=n+Math.imul(_,ae)|0,i=(i=i+Math.imul(_,se)|0)+Math.imul(w,ae)|0,a=a+Math.imul(w,se)|0,n=n+Math.imul(m,ue)|0,i=(i=i+Math.imul(m,fe)|0)+Math.imul(g,ue)|0,a=a+Math.imul(g,fe)|0,n=n+Math.imul(p,de)|0,i=(i=i+Math.imul(p,le)|0)+Math.imul(y,de)|0,a=a+Math.imul(y,le)|0;var Se=(f+(n=n+Math.imul(d,pe)|0)|0)+((8191&(i=(i=i+Math.imul(d,ye)|0)+Math.imul(l,pe)|0))<<13)|0;f=((a=a+Math.imul(l,ye)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(D,G),i=(i=Math.imul(D,H))+Math.imul(z,G)|0,a=Math.imul(z,H),n=n+Math.imul(T,V)|0,i=(i=i+Math.imul(T,W)|0)+Math.imul(O,V)|0,a=a+Math.imul(O,W)|0,n=n+Math.imul(U,J)|0,i=(i=i+Math.imul(U,X)|0)+Math.imul(K,J)|0,a=a+Math.imul(K,X)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,ee)|0,n=n+Math.imul(E,re)|0,i=(i=i+Math.imul(E,ne)|0)+Math.imul(M,re)|0,a=a+Math.imul(M,ne)|0,n=n+Math.imul(A,ae)|0,i=(i=i+Math.imul(A,se)|0)+Math.imul(x,ae)|0,a=a+Math.imul(x,se)|0,n=n+Math.imul(_,ue)|0,i=(i=i+Math.imul(_,fe)|0)+Math.imul(w,ue)|0,a=a+Math.imul(w,fe)|0,n=n+Math.imul(m,de)|0,i=(i=i+Math.imul(m,le)|0)+Math.imul(g,de)|0,a=a+Math.imul(g,le)|0;var Ee=(f+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ye)|0)+Math.imul(y,pe)|0))<<13)|0;f=((a=a+Math.imul(y,ye)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,W))+Math.imul(z,V)|0,a=Math.imul(z,W),n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(O,J)|0,a=a+Math.imul(O,X)|0,n=n+Math.imul(U,Q)|0,i=(i=i+Math.imul(U,ee)|0)+Math.imul(K,Q)|0,a=a+Math.imul(K,ee)|0,n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(C,re)|0,a=a+Math.imul(C,ne)|0,n=n+Math.imul(E,ae)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(M,ae)|0,a=a+Math.imul(M,se)|0,n=n+Math.imul(A,ue)|0,i=(i=i+Math.imul(A,fe)|0)+Math.imul(x,ue)|0,a=a+Math.imul(x,fe)|0,n=n+Math.imul(_,de)|0,i=(i=i+Math.imul(_,le)|0)+Math.imul(w,de)|0,a=a+Math.imul(w,le)|0;var Me=(f+(n=n+Math.imul(m,pe)|0)|0)+((8191&(i=(i=i+Math.imul(m,ye)|0)+Math.imul(g,pe)|0))<<13)|0;f=((a=a+Math.imul(g,ye)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(D,J),i=(i=Math.imul(D,X))+Math.imul(z,J)|0,a=Math.imul(z,X),n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(O,Q)|0,a=a+Math.imul(O,ee)|0,n=n+Math.imul(U,re)|0,i=(i=i+Math.imul(U,ne)|0)+Math.imul(K,re)|0,a=a+Math.imul(K,ne)|0,n=n+Math.imul(P,ae)|0,i=(i=i+Math.imul(P,se)|0)+Math.imul(C,ae)|0,a=a+Math.imul(C,se)|0,n=n+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,fe)|0)+Math.imul(M,ue)|0,a=a+Math.imul(M,fe)|0,n=n+Math.imul(A,de)|0,i=(i=i+Math.imul(A,le)|0)+Math.imul(x,de)|0,a=a+Math.imul(x,le)|0;var je=(f+(n=n+Math.imul(_,pe)|0)|0)+((8191&(i=(i=i+Math.imul(_,ye)|0)+Math.imul(w,pe)|0))<<13)|0;f=((a=a+Math.imul(w,ye)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(D,Q),i=(i=Math.imul(D,ee))+Math.imul(z,Q)|0,a=Math.imul(z,ee),n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(O,re)|0,a=a+Math.imul(O,ne)|0,n=n+Math.imul(U,ae)|0,i=(i=i+Math.imul(U,se)|0)+Math.imul(K,ae)|0,a=a+Math.imul(K,se)|0,n=n+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,fe)|0)+Math.imul(C,ue)|0,a=a+Math.imul(C,fe)|0,n=n+Math.imul(E,de)|0,i=(i=i+Math.imul(E,le)|0)+Math.imul(M,de)|0,a=a+Math.imul(M,le)|0;var Pe=(f+(n=n+Math.imul(A,pe)|0)|0)+((8191&(i=(i=i+Math.imul(A,ye)|0)+Math.imul(x,pe)|0))<<13)|0;f=((a=a+Math.imul(x,ye)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(D,re),i=(i=Math.imul(D,ne))+Math.imul(z,re)|0,a=Math.imul(z,ne),n=n+Math.imul(T,ae)|0,i=(i=i+Math.imul(T,se)|0)+Math.imul(O,ae)|0,a=a+Math.imul(O,se)|0,n=n+Math.imul(U,ue)|0,i=(i=i+Math.imul(U,fe)|0)+Math.imul(K,ue)|0,a=a+Math.imul(K,fe)|0,n=n+Math.imul(P,de)|0,i=(i=i+Math.imul(P,le)|0)+Math.imul(C,de)|0,a=a+Math.imul(C,le)|0;var Ce=(f+(n=n+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,ye)|0)+Math.imul(M,pe)|0))<<13)|0;f=((a=a+Math.imul(M,ye)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(D,ae),i=(i=Math.imul(D,se))+Math.imul(z,ae)|0,a=Math.imul(z,se),n=n+Math.imul(T,ue)|0,i=(i=i+Math.imul(T,fe)|0)+Math.imul(O,ue)|0,a=a+Math.imul(O,fe)|0,n=n+Math.imul(U,de)|0,i=(i=i+Math.imul(U,le)|0)+Math.imul(K,de)|0,a=a+Math.imul(K,le)|0;var Be=(f+(n=n+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,ye)|0)+Math.imul(C,pe)|0))<<13)|0;f=((a=a+Math.imul(C,ye)|0)+(i>>>13)|0)+(Be>>>26)|0,Be&=67108863,n=Math.imul(D,ue),i=(i=Math.imul(D,fe))+Math.imul(z,ue)|0,a=Math.imul(z,fe),n=n+Math.imul(T,de)|0,i=(i=i+Math.imul(T,le)|0)+Math.imul(O,de)|0,a=a+Math.imul(O,le)|0;var Ue=(f+(n=n+Math.imul(U,pe)|0)|0)+((8191&(i=(i=i+Math.imul(U,ye)|0)+Math.imul(K,pe)|0))<<13)|0;f=((a=a+Math.imul(K,ye)|0)+(i>>>13)|0)+(Ue>>>26)|0,Ue&=67108863,n=Math.imul(D,de),i=(i=Math.imul(D,le))+Math.imul(z,de)|0,a=Math.imul(z,le);var Ke=(f+(n=n+Math.imul(T,pe)|0)|0)+((8191&(i=(i=i+Math.imul(T,ye)|0)+Math.imul(O,pe)|0))<<13)|0;f=((a=a+Math.imul(O,ye)|0)+(i>>>13)|0)+(Ke>>>26)|0,Ke&=67108863;var Ie=(f+(n=Math.imul(D,pe))|0)+((8191&(i=(i=Math.imul(D,ye))+Math.imul(z,pe)|0))<<13)|0;return f=((a=Math.imul(z,ye))+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,u[0]=be,u[1]=me,u[2]=ge,u[3]=ve,u[4]=_e,u[5]=we,u[6]=ke,u[7]=Ae,u[8]=xe,u[9]=Se,u[10]=Ee,u[11]=Me,u[12]=je,u[13]=Pe,u[14]=Ce,u[15]=Be,u[16]=Ue,u[17]=Ke,u[18]=Ie,0!==f&&(u[19]=f,r.length++),r};function p(e,t,r){return(new y).mulp(e,t,r)}function y(e,t){this.x=e,this.y=t}Math.imul||(h=l),a.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?h(this,e,t):r<63?l(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,s&=67108863}r.words[a]=o,n=s,s=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},y.prototype.makeRBT=function(e){for(var t=new Array(e),r=a.prototype._countBits(e)-1,n=0;n>=1;return n},y.prototype.permute=function(e,t,r,n,i,a){for(var s=0;s>>=1)i++;return 1<>>=13,r[2*s+1]=8191&a,a>>>=13;for(s=2*t;s>=26,t+=i/67108864|0,t+=a>>>26,this.words[r]=67108863&a}return 0!==t&&(this.words[r]=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()),r=0;r>>i}return t}(e);if(0===t.length)return new a(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(t=0;t>>26-r}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<s)for(this.length-=s,f=0;f=0&&(0!==c||f>=i);f--){var d=0|this.words[f];this.words[f]=c<<26-a|d>>>a,c=d&o}return u&&0!==c&&(u.words[u.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},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){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>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(n("number"==typeof e),n(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>26)-(u/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===o)return this.strip();for(n(-1===o),o=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var o,u=n.length-i.length;if("mod"!==t){(o=new a(null)).length=u+1,o.words=new Array(o.length);for(var f=0;f=0;d--){var l=67108864*(0|n.words[i.length+d])+(0|n.words[i.length+d-1]);for(l=Math.min(l/s|0,67108863),n._ishlnsubmul(i,l,d);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,d),n.isZero()||(n.negative^=1);o&&(o.words[d]=l)}return o&&o.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:o||null,mod:n}},a.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(i=o.div.neg()),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(i=o.div.neg()),{div:i,mod:o.mod}):0!=(this.negative&e.negative)?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):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 i,s,o},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},a.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),s=new a(0),o=new a(0),u=new a(1),f=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++f;for(var c=r.clone(),d=t.clone();!t.isZero();){for(var l=0,h=1;0==(t.words[0]&h)&&l<26;++l,h<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(c),s.isub(d)),i.iushrn(1),s.iushrn(1);for(var p=0,y=1;0==(r.words[0]&y)&&p<26;++p,y<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(o.isOdd()||u.isOdd())&&(o.iadd(c),u.isub(d)),o.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(o),s.isub(u)):(r.isub(t),o.isub(i),u.isub(s))}return{a:o,b:u,gcd:r.iushln(f)}},a.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new a(1),o=new a(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var f=0,c=1;0==(t.words[0]&c)&&f<26;++f,c<<=1);if(f>0)for(t.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var d=0,l=1;0==(r.words[0]&l)&&d<26;++d,l<<=1);if(d>0)for(r.iushrn(d);d-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(o)):(r.isub(t),o.isub(s))}return(i=0===t.cmpn(1)?s:o).cmpn(0)<0&&i.iadd(e),i},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.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){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(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 k(e)},a.prototype.toRed=function(e){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return n(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 n(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var b={k256:null,p224:null,p192:null,p25519:null};function m(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 g(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function v(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function k(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else n(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function A(e){k.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)}m.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},m.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):r.strip(),r},m.prototype.split=function(e,t){e.iushrn(this.n,0,t)},m.prototype.imulK=function(e){return e.imul(this.k)},i(g,m),g.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},g.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(b[e])return b[e];var t;if("k256"===e)t=new g;else if("p224"===e)t=new v;else if("p192"===e)t=new _;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return b[e]=t,t},k.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},k.prototype._verify2=function(e,t){n(0==(e.negative|t.negative),"red works only with positives"),n(e.red&&e.red===t.red,"red works only with red numbers")},k.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},k.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},k.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},k.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},k.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},k.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},k.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},k.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},k.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},k.prototype.isqr=function(e){return this.imul(e,e.clone())},k.prototype.sqr=function(e){return this.mul(e,e)},k.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(n(t%2==1),3===t){var r=this.m.add(new a(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var o=new a(1).toRed(this),u=o.redNeg(),f=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,f).cmp(u);)c.redIAdd(u);for(var d=this.pow(c,i),l=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=s;0!==h.cmp(o);){for(var y=h,b=0;0!==y.cmp(o);b++)y=y.redSqr();n(b=0;n--){for(var f=t.words[n],c=u-1;c>=0;c--){var d=f>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==d||0!==s?(s<<=1,s|=d,(4===++o||0===n&&0===c)&&(i=this.mul(i,r[s]),o=0,s=0)):o=0}u=26}return i},k.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},k.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new A(e)},i(A,k),A.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},A.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},A.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},A.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},A.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:39}],38:[function(e,t,r){var n;function i(e){this.rand=e}if(t.exports=function(e){return n||(n=new i(null)),n.generate(e)},t.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;ra)throw new RangeError("Invalid typed array length");var t=new Uint8Array(e);return t.__proto__=o.prototype,t}function o(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return c(e)}return u(e,t,r)}function u(e,t,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return L(e)?function(e,t,r){if(t<0||e.byteLength=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function h(e,t){if(o.isBuffer(e))return e.length;if(F(e)||L(e))return e.byteLength;"string"!=typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return R(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return D(e).length;default:if(n)return R(e).length;t=(""+t).toLowerCase(),n=!0}}function p(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function y(e,t,r,n,i){if(0===e.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),N(r=+r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof t&&(t=o.from(t,n)),o.isBuffer(t))return 0===t.length?-1:b(e,t,r,n,i);if("number"==typeof t)return t&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):b(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,r,n,i){var a,s=1,o=e.length,u=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;s=2,o/=2,u/=2,r/=2}function f(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var c=-1;for(a=r;ao&&(r=o-u),a=r;a>=0;a--){for(var d=!0,l=0;li&&(n=i):n=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var s=0;s>8,i=r%256,a.push(i),a.push(n);return a}(t,e.length-r),e,r,n)}function A(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function x(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:f>223?3:f>191?2:1;if(i+d<=r)switch(d){case 1:f<128&&(c=f);break;case 2:128==(192&(a=e[i+1]))&&(u=(31&f)<<6|63&a)>127&&(c=u);break;case 3:a=e[i+1],s=e[i+2],128==(192&a)&&128==(192&s)&&(u=(15&f)<<12|(63&a)<<6|63&s)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:a=e[i+1],s=e[i+2],o=e[i+3],128==(192&a)&&128==(192&s)&&128==(192&o)&&(u=(15&f)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&u<1114112&&(c=u)}null===c?(c=65533,d=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=d}return function(e){var t=e.length;if(t<=S)return String.fromCharCode.apply(String,e);var r="",n=0;for(;nthis.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return j(this,t,r);case"utf8":case"utf-8":return x(this,t,r);case"ascii":return E(this,t,r);case"latin1":case"binary":return M(this,t,r);case"base64":return A(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",t=r.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},o.prototype.compare=function(e,t,r,n,i){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return-1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var a=i-n,s=r-t,u=Math.min(a,s),f=this.slice(n,i),c=e.slice(t,r),d=0;d>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return m(this,e,t,r);case"utf8":case"utf-8":return g(this,e,t,r);case"ascii":return v(this,e,t,r);case"latin1":case"binary":return _(this,e,t,r);case"base64":return w(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,t,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var S=4096;function E(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",a=t;ar)throw new RangeError("Trying to access beyond buffer length")}function B(e,t,r,n,i,a){if(!o.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function U(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function K(e,t,r,n,a){return t=+t,r>>>=0,a||U(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function I(e,t,r,n,a){return t=+t,r>>>=0,a||U(e,0,r,8),i.write(e,t,r,n,52,8),r+8}o.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||C(e,t,this.length);for(var n=this[e],i=1,a=0;++a>>=0,t>>>=0,r||C(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},o.prototype.readUInt8=function(e,t){return e>>>=0,t||C(e,1,this.length),this[e]},o.prototype.readUInt16LE=function(e,t){return e>>>=0,t||C(e,2,this.length),this[e]|this[e+1]<<8},o.prototype.readUInt16BE=function(e,t){return e>>>=0,t||C(e,2,this.length),this[e]<<8|this[e+1]},o.prototype.readUInt32LE=function(e,t){return e>>>=0,t||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},o.prototype.readUInt32BE=function(e,t){return e>>>=0,t||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},o.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||C(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},o.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||C(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},o.prototype.readInt8=function(e,t){return e>>>=0,t||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},o.prototype.readInt16LE=function(e,t){e>>>=0,t||C(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt16BE=function(e,t){e>>>=0,t||C(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},o.prototype.readInt32LE=function(e,t){return e>>>=0,t||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},o.prototype.readInt32BE=function(e,t){return e>>>=0,t||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},o.prototype.readFloatLE=function(e,t){return e>>>=0,t||C(e,4,this.length),i.read(this,e,!0,23,4)},o.prototype.readFloatBE=function(e,t){return e>>>=0,t||C(e,4,this.length),i.read(this,e,!1,23,4)},o.prototype.readDoubleLE=function(e,t){return e>>>=0,t||C(e,8,this.length),i.read(this,e,!0,52,8)},o.prototype.readDoubleBE=function(e,t){return e>>>=0,t||C(e,8,this.length),i.read(this,e,!1,52,8)},o.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||B(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[t]=255&e;++a>>=0,r>>>=0,n)||B(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+r},o.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,1,255,0),this[t]=255&e,t+1},o.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},o.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,e,t,r,i-1,-i)}var a=0,s=1,o=0;for(this[t]=255&e;++a>0)-o&255;return t+r},o.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,e,t,r,i-1,-i)}var a=r-1,s=1,o=0;for(this[t+a]=255&e;--a>=0&&(s*=256);)e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+r},o.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},o.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},o.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},o.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},o.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||B(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},o.prototype.writeFloatLE=function(e,t,r){return K(this,e,t,!0,r)},o.prototype.writeFloatBE=function(e,t,r){return K(this,e,t,!1,r)},o.prototype.writeDoubleLE=function(e,t,r){return I(this,e,t,!0,r)},o.prototype.writeDoubleBE=function(e,t,r){return I(this,e,t,!1,r)},o.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=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=0;--i)e[i+t]=this[i+r];else if(a<1e3)for(i=0;i>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function D(e){return n.toByteArray(function(e){if((e=e.trim().replace(T,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function z(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function L(e){return e instanceof ArrayBuffer||null!=e&&null!=e.constructor&&"ArrayBuffer"===e.constructor.name&&"number"==typeof e.byteLength}function F(e){return"function"==typeof ArrayBuffer.isView&&ArrayBuffer.isView(e)}function N(e){return e!=e}},{"base64-js":36,ieee754:278}],41:[function(e,t,r){e("../../modules/es6.array.fill"),t.exports=e("../../modules/_core").Array.fill},{"../../modules/_core":164,"../../modules/es6.array.fill":234}],42:[function(e,t,r){e("../../modules/es6.array.find"),t.exports=e("../../modules/_core").Array.find},{"../../modules/_core":164,"../../modules/es6.array.find":235}],43:[function(e,t,r){e("../../modules/es6.string.iterator"),e("../../modules/es6.array.from"),t.exports=e("../../modules/_core").Array.from},{"../../modules/_core":164,"../../modules/es6.array.from":236,"../../modules/es6.string.iterator":240}],44:[function(e,t,r){e("../modules/es6.object.to-string"),e("../modules/es6.string.iterator"),e("../modules/web.dom.iterable"),e("../modules/es6.promise"),e("../modules/es7.promise.finally"),e("../modules/es7.promise.try"),t.exports=e("../modules/_core").Promise},{"../modules/_core":164,"../modules/es6.object.to-string":238,"../modules/es6.promise":239,"../modules/es6.string.iterator":240,"../modules/es7.promise.finally":244,"../modules/es7.promise.try":245,"../modules/web.dom.iterable":248}],45:[function(e,t,r){e("../../modules/es6.string.repeat"),t.exports=e("../../modules/_core").String.repeat},{"../../modules/_core":164,"../../modules/es6.string.repeat":241}],46:[function(e,t,r){e("../../modules/es6.symbol"),e("../../modules/es6.object.to-string"),e("../../modules/es7.symbol.async-iterator"),e("../../modules/es7.symbol.observable"),t.exports=e("../../modules/_core").Symbol},{"../../modules/_core":164,"../../modules/es6.object.to-string":238,"../../modules/es6.symbol":242,"../../modules/es7.symbol.async-iterator":246,"../../modules/es7.symbol.observable":247}],47:[function(e,t,r){e("../../modules/es6.typed.uint8-array"),t.exports=e("../../modules/_core").Uint8Array},{"../../modules/_core":164,"../../modules/es6.typed.uint8-array":243}],48:[function(e,t,r){arguments[4][43][0].apply(r,arguments)},{"../../modules/_core":67,"../../modules/es6.array.from":136,"../../modules/es6.string.iterator":145,dup:43}],49:[function(e,t,r){e("../modules/web.dom.iterable"),e("../modules/es6.string.iterator"),t.exports=e("../modules/core.get-iterator")},{"../modules/core.get-iterator":134,"../modules/es6.string.iterator":145,"../modules/web.dom.iterable":151}],50:[function(e,t,r){e("../modules/web.dom.iterable"),e("../modules/es6.string.iterator"),t.exports=e("../modules/core.is-iterable")},{"../modules/core.is-iterable":135,"../modules/es6.string.iterator":145,"../modules/web.dom.iterable":151}],51:[function(e,t,r){var n=e("../../modules/_core"),i=n.JSON||(n.JSON={stringify:JSON.stringify});t.exports=function(e){return i.stringify.apply(i,arguments)}},{"../../modules/_core":67}],52:[function(e,t,r){e("../../modules/es6.object.create");var n=e("../../modules/_core").Object;t.exports=function(e,t){return n.create(e,t)}},{"../../modules/_core":67,"../../modules/es6.object.create":138}],53:[function(e,t,r){e("../../modules/es6.object.define-property");var n=e("../../modules/_core").Object;t.exports=function(e,t,r){return n.defineProperty(e,t,r)}},{"../../modules/_core":67,"../../modules/es6.object.define-property":139}],54:[function(e,t,r){e("../../modules/es6.object.freeze"),t.exports=e("../../modules/_core").Object.freeze},{"../../modules/_core":67,"../../modules/es6.object.freeze":140}],55:[function(e,t,r){e("../../modules/es6.object.get-prototype-of"),t.exports=e("../../modules/_core").Object.getPrototypeOf},{"../../modules/_core":67,"../../modules/es6.object.get-prototype-of":141}],56:[function(e,t,r){e("../../modules/es6.object.set-prototype-of"),t.exports=e("../../modules/_core").Object.setPrototypeOf},{"../../modules/_core":67,"../../modules/es6.object.set-prototype-of":142}],57:[function(e,t,r){arguments[4][44][0].apply(r,arguments)},{"../modules/_core":67,"../modules/es6.object.to-string":143,"../modules/es6.promise":144,"../modules/es6.string.iterator":145,"../modules/es7.promise.finally":147,"../modules/es7.promise.try":148,"../modules/web.dom.iterable":151,dup:44}],58:[function(e,t,r){arguments[4][46][0].apply(r,arguments)},{"../../modules/_core":67,"../../modules/es6.object.to-string":143,"../../modules/es6.symbol":146,"../../modules/es7.symbol.async-iterator":149,"../../modules/es7.symbol.observable":150,dup:46}],59:[function(e,t,r){e("../../modules/es6.string.iterator"),e("../../modules/web.dom.iterable"),t.exports=e("../../modules/_wks-ext").f("iterator")},{"../../modules/_wks-ext":131,"../../modules/es6.string.iterator":145,"../../modules/web.dom.iterable":151}],60:[function(e,t,r){t.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},{}],61:[function(e,t,r){t.exports=function(){}},{}],62:[function(e,t,r){t.exports=function(e,t,r,n){if(!(e instanceof t)||void 0!==n&&n in e)throw TypeError(r+": incorrect invocation!");return e}},{}],63:[function(e,t,r){var n=e("./_is-object");t.exports=function(e){if(!n(e))throw TypeError(e+" is not an object!");return e}},{"./_is-object":87}],64:[function(e,t,r){var n=e("./_to-iobject"),i=e("./_to-length"),a=e("./_to-absolute-index");t.exports=function(e){return function(t,r,s){var o,u=n(t),f=i(u.length),c=a(s,f);if(e&&r!=r){for(;f>c;)if((o=u[c++])!=o)return!0}else for(;f>c;c++)if((e||c in u)&&u[c]===r)return e||c||0;return!e&&-1}}},{"./_to-absolute-index":123,"./_to-iobject":125,"./_to-length":126}],65:[function(e,t,r){var n=e("./_cof"),i=e("./_wks")("toStringTag"),a="Arguments"==n(function(){return arguments}());t.exports=function(e){var t,r,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?r:a?n(t):"Object"==(s=n(t))&&"function"==typeof t.callee?"Arguments":s}},{"./_cof":66,"./_wks":132}],66:[function(e,t,r){var n={}.toString;t.exports=function(e){return n.call(e).slice(8,-1)}},{}],67:[function(e,t,r){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},{}],68:[function(e,t,r){"use strict";var n=e("./_object-dp"),i=e("./_property-desc");t.exports=function(e,t,r){t in e?n.f(e,t,i(0,r)):e[t]=r}},{"./_object-dp":99,"./_property-desc":112}],69:[function(e,t,r){var n=e("./_a-function");t.exports=function(e,t,r){if(n(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./_a-function":60}],70:[function(e,t,r){t.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},{}],71:[function(e,t,r){t.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":76}],72:[function(e,t,r){var n=e("./_is-object"),i=e("./_global").document,a=n(i)&&n(i.createElement);t.exports=function(e){return a?i.createElement(e):{}}},{"./_global":78,"./_is-object":87}],73:[function(e,t,r){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],74:[function(e,t,r){var n=e("./_object-keys"),i=e("./_object-gops"),a=e("./_object-pie");t.exports=function(e){var t=n(e),r=i.f;if(r)for(var s,o=r(e),u=a.f,f=0;o.length>f;)u.call(e,s=o[f++])&&t.push(s);return t}},{"./_object-gops":104,"./_object-keys":107,"./_object-pie":108}],75:[function(e,t,r){var n=e("./_global"),i=e("./_core"),a=e("./_ctx"),s=e("./_hide"),o=function(e,t,r){var u,f,c,d=e&o.F,l=e&o.G,h=e&o.S,p=e&o.P,y=e&o.B,b=e&o.W,m=l?i:i[t]||(i[t]={}),g=m.prototype,v=l?n:h?n[t]:(n[t]||{}).prototype;for(u in l&&(r=t),r)(f=!d&&v&&void 0!==v[u])&&u in m||(c=f?v[u]:r[u],m[u]=l&&"function"!=typeof v[u]?r[u]:y&&f?a(c,n):b&&v[u]==c?function(e){var t=function(t,r,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,r)}return new e(t,r,n)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(c):p&&"function"==typeof c?a(Function.call,c):c,p&&((m.virtual||(m.virtual={}))[u]=c,e&o.R&&g&&!g[u]&&s(g,u,c)))};o.F=1,o.G=2,o.S=4,o.P=8,o.B=16,o.W=32,o.U=64,o.R=128,t.exports=o},{"./_core":67,"./_ctx":69,"./_global":78,"./_hide":80}],76:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],77:[function(e,t,r){var n=e("./_ctx"),i=e("./_iter-call"),a=e("./_is-array-iter"),s=e("./_an-object"),o=e("./_to-length"),u=e("./core.get-iterator-method"),f={},c={};(r=t.exports=function(e,t,r,d,l){var h,p,y,b,m=l?function(){return e}:u(e),g=n(r,d,t?2:1),v=0;if("function"!=typeof m)throw TypeError(e+" is not iterable!");if(a(m)){for(h=o(e.length);h>v;v++)if((b=t?g(s(p=e[v])[0],p[1]):g(e[v]))===f||b===c)return b}else for(y=m.call(e);!(p=y.next()).done;)if((b=i(y,g,p.value,t))===f||b===c)return b}).BREAK=f,r.RETURN=c},{"./_an-object":63,"./_ctx":69,"./_is-array-iter":85,"./_iter-call":88,"./_to-length":126,"./core.get-iterator-method":133}],78:[function(e,t,r){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},{}],79:[function(e,t,r){var n={}.hasOwnProperty;t.exports=function(e,t){return n.call(e,t)}},{}],80:[function(e,t,r){var n=e("./_object-dp"),i=e("./_property-desc");t.exports=e("./_descriptors")?function(e,t,r){return n.f(e,t,i(1,r))}:function(e,t,r){return e[t]=r,e}},{"./_descriptors":71,"./_object-dp":99,"./_property-desc":112}],81:[function(e,t,r){var n=e("./_global").document;t.exports=n&&n.documentElement},{"./_global":78}],82:[function(e,t,r){t.exports=!e("./_descriptors")&&!e("./_fails")(function(){return 7!=Object.defineProperty(e("./_dom-create")("div"),"a",{get:function(){return 7}}).a})},{"./_descriptors":71,"./_dom-create":72,"./_fails":76}],83:[function(e,t,r){t.exports=function(e,t,r){var n=void 0===r;switch(t.length){case 0:return n?e():e.call(r);case 1:return n?e(t[0]):e.call(r,t[0]);case 2:return n?e(t[0],t[1]):e.call(r,t[0],t[1]);case 3:return n?e(t[0],t[1],t[2]):e.call(r,t[0],t[1],t[2]);case 4:return n?e(t[0],t[1],t[2],t[3]):e.call(r,t[0],t[1],t[2],t[3])}return e.apply(r,t)}},{}],84:[function(e,t,r){var n=e("./_cof");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},{"./_cof":66}],85:[function(e,t,r){var n=e("./_iterators"),i=e("./_wks")("iterator"),a=Array.prototype;t.exports=function(e){return void 0!==e&&(n.Array===e||a[i]===e)}},{"./_iterators":93,"./_wks":132}],86:[function(e,t,r){var n=e("./_cof");t.exports=Array.isArray||function(e){return"Array"==n(e)}},{"./_cof":66}],87:[function(e,t,r){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],88:[function(e,t,r){var n=e("./_an-object");t.exports=function(e,t,r,i){try{return i?t(n(r)[0],r[1]):t(r)}catch(t){var a=e.return;throw void 0!==a&&n(a.call(e)),t}}},{"./_an-object":63}],89:[function(e,t,r){"use strict";var n=e("./_object-create"),i=e("./_property-desc"),a=e("./_set-to-string-tag"),s={};e("./_hide")(s,e("./_wks")("iterator"),function(){return this}),t.exports=function(e,t,r){e.prototype=n(s,{next:i(1,r)}),a(e,t+" Iterator")}},{"./_hide":80,"./_object-create":98,"./_property-desc":112,"./_set-to-string-tag":117,"./_wks":132}],90:[function(e,t,r){"use strict";var n=e("./_library"),i=e("./_export"),a=e("./_redefine"),s=e("./_hide"),o=e("./_has"),u=e("./_iterators"),f=e("./_iter-create"),c=e("./_set-to-string-tag"),d=e("./_object-gpo"),l=e("./_wks")("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(e,t,r,y,b,m,g){f(r,t,y);var v,_,w,k=function(e){if(!h&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new r(this,e)}}return function(){return new r(this,e)}},A=t+" Iterator",x="values"==b,S=!1,E=e.prototype,M=E[l]||E["@@iterator"]||b&&E[b],j=!h&&M||k(b),P=b?x?k("entries"):j:void 0,C="Array"==t&&E.entries||M;if(C&&(w=d(C.call(new e)))!==Object.prototype&&w.next&&(c(w,A,!0),n||o(w,l)||s(w,l,p)),x&&M&&"values"!==M.name&&(S=!0,j=function(){return M.call(this)}),n&&!g||!h&&!S&&E[l]||s(E,l,j),u[t]=j,u[A]=p,b)if(v={values:x?j:k("values"),keys:m?j:k("keys"),entries:P},g)for(_ in v)_ in E||a(E,_,v[_]);else i(i.P+i.F*(h||S),t,v);return v}},{"./_export":75,"./_has":79,"./_hide":80,"./_iter-create":89,"./_iterators":93,"./_library":94,"./_object-gpo":105,"./_redefine":114,"./_set-to-string-tag":117,"./_wks":132}],91:[function(e,t,r){var n=e("./_wks")("iterator"),i=!1;try{var a=[7][n]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch(e){}t.exports=function(e,t){if(!t&&!i)return!1;var r=!1;try{var a=[7],s=a[n]();s.next=function(){return{done:r=!0}},a[n]=function(){return s},e(a)}catch(e){}return r}},{"./_wks":132}],92:[function(e,t,r){t.exports=function(e,t){return{value:t,done:!!e}}},{}],93:[function(e,t,r){t.exports={}},{}],94:[function(e,t,r){t.exports=!0},{}],95:[function(e,t,r){var n=e("./_uid")("meta"),i=e("./_is-object"),a=e("./_has"),s=e("./_object-dp").f,o=0,u=Object.isExtensible||function(){return!0},f=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),c=function(e){s(e,n,{value:{i:"O"+ ++o,w:{}}})},d=t.exports={KEY:n,NEED:!1,fastKey:function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,n)){if(!u(e))return"F";if(!t)return"E";c(e)}return e[n].i},getWeak:function(e,t){if(!a(e,n)){if(!u(e))return!0;if(!t)return!1;c(e)}return e[n].w},onFreeze:function(e){return f&&d.NEED&&u(e)&&!a(e,n)&&c(e),e}}},{"./_fails":76,"./_has":79,"./_is-object":87,"./_object-dp":99,"./_uid":129}],96:[function(e,t,r){var n=e("./_global"),i=e("./_task").set,a=n.MutationObserver||n.WebKitMutationObserver,s=n.process,o=n.Promise,u="process"==e("./_cof")(s);t.exports=function(){var e,t,r,f=function(){var n,i;for(u&&(n=s.domain)&&n.exit();e;){i=e.fn,e=e.next;try{i()}catch(n){throw e?r():t=void 0,n}}t=void 0,n&&n.enter()};if(u)r=function(){s.nextTick(f)};else if(!a||n.navigator&&n.navigator.standalone)if(o&&o.resolve){var c=o.resolve();r=function(){c.then(f)}}else r=function(){i.call(n,f)};else{var d=!0,l=document.createTextNode("");new a(f).observe(l,{characterData:!0}),r=function(){l.data=d=!d}}return function(n){var i={fn:n,next:void 0};t&&(t.next=i),e||(e=i,r()),t=i}}},{"./_cof":66,"./_global":78,"./_task":122}],97:[function(e,t,r){"use strict";var n=e("./_a-function");t.exports.f=function(e){return new function(e){var t,r;this.promise=new e(function(e,n){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=n}),this.resolve=n(t),this.reject=n(r)}(e)}},{"./_a-function":60}],98:[function(e,t,r){var n=e("./_an-object"),i=e("./_object-dps"),a=e("./_enum-bug-keys"),s=e("./_shared-key")("IE_PROTO"),o=function(){},u=function(){var t,r=e("./_dom-create")("iframe"),n=a.length;for(r.style.display="none",e("./_html").appendChild(r),r.src="javascript:",(t=r.contentWindow.document).open(),t.write("