diff --git a/bower.json b/bower.json index 92f5c820..867d8ee3 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "openpgp", - "version": "4.5.5", + "version": "4.6.0", "license": "LGPL-3.0+", "homepage": "https://openpgpjs.org/", "authors": [ diff --git a/dist/compat/openpgp.js b/dist/compat/openpgp.js index 03c61335..2ba17554 100644 --- a/dist/compat/openpgp.js +++ b/dist/compat/openpgp.js @@ -1350,269 +1350,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"babel-runtime/core-js/get-iterator":18,"babel-runtime/core-js/number/is-integer":21,"babel-runtime/core-js/number/is-nan":22,"babel-runtime/core-js/object/assign":23,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/define-property":25,"babel-runtime/core-js/object/get-own-property-descriptor":27,"babel-runtime/core-js/promise":32,"babel-runtime/core-js/symbol":33,"babel-runtime/core-js/symbol/iterator":34,"babel-runtime/helpers/classCallCheck":37,"babel-runtime/helpers/createClass":38,"babel-runtime/helpers/typeof":43}],2:[function(_dereq_,module,exports){ -'use strict'; - -var _classCallCheck2 = _dereq_('babel-runtime/helpers/classCallCheck'); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _createClass2 = _dereq_('babel-runtime/helpers/createClass'); - -var _createClass3 = _interopRequireDefault(_createClass2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ea_lib = _dereq_('email-addresses'); - -exports.parse = function parse(line, startAt) { - if (!line) throw 'Nothing to parse'; - - line = line.trim(); - - var addr = ea_lib({ - input: line, - rfc6532: true, // unicode - partial: false, // return failed parses - simple: false, // simple AST - strict: false, // turn off obs- features in the rfc - rejectTLD: false, // domains require a "." - startAt: startAt || null - }); - - if (!addr) throw 'No results'; - - // console.log("Parsed to: ", require('util').inspect(addr, {depth: 10, colors: true})); - - return addr.addresses.map(map_addresses); -}; - -function map_addresses(adr) { - if (adr.type === 'group') { - return new Group(adr.name, adr.addresses.map(map_addresses)); - } - var comments = void 0; - if (adr.parts.comments) { - comments = adr.parts.comments.map(function (c) { - return c.tokens.trim(); - }).join(' ').trim(); - // if (comments.length) { - // comments = '(' + comments + ')'; - // } - } - var l = adr.local; - if (!adr.name && /:/.test(l)) l = '"' + l + '"'; - return new Address(adr.name, l + '@' + adr.domain, comments); -} - -exports.parseFrom = function (line) { - return exports.parse(line, 'from'); -}; - -exports.parseSender = function (line) { - return exports.parse(line, 'sender'); -}; - -exports.parseReplyTo = function (line) { - return exports.parse(line, 'reply-to'); -}; - -var Group = function () { - function Group(display_name, addresses) { - (0, _classCallCheck3.default)(this, Group); - - this.phrase = display_name; - this.addresses = addresses; - } - - (0, _createClass3.default)(Group, [{ - key: 'format', - value: function format() { - return this.phrase + ":" + this.addresses.map(function (a) { - return a.format(); - }).join(','); - } - }, { - key: 'name', - value: function name() { - var phrase = this.phrase; - - if (!(phrase && phrase.length)) { - phrase = this.comment; - } - - var name = _extract_name(phrase); - return name; - } - }]); - return Group; -}(); - -var Address = function () { - function Address(phrase, address, comment) { - (0, _classCallCheck3.default)(this, Address); - - this.phrase = phrase || ''; - this.address = address || ''; - this.comment = comment || ''; - } - - (0, _createClass3.default)(Address, [{ - key: 'host', - value: function host() { - var match = /.*@(.*)$/.exec(this.address); - if (!match) return null; - return match[1]; - } - }, { - key: 'user', - value: function user() { - var match = /^(.*)@/.exec(this.address); - if (!match) return null; - return match[1]; - } - }, { - key: 'format', - value: function format() { - var phrase = this.phrase; - var email = this.address; - var comment = this.comment; - - var addr = []; - var atext = new RegExp('^[\\-\\w !#$%&\'*+/=?^`{|}~]+$'); - - if (phrase && phrase.length) { - addr.push(atext.test(phrase.trim()) ? phrase : _quote_no_esc(phrase) ? phrase : '"' + phrase + '"'); - - if (email && email.length) { - addr.push("<" + email + ">"); - } - } else if (email && email.length) { - addr.push(email); - } - - if (comment && /\S/.test(comment)) { - comment = comment.replace(/^\s*\(?/, '(').replace(/\)?\s*$/, ')'); - } - - if (comment && comment.length) { - addr.push(comment); - } - - return addr.join(' '); - } - }, { - key: 'name', - value: function name() { - var phrase = this.phrase; - var addr = this.address; - - if (!(phrase && phrase.length)) { - phrase = this.comment; - } - - var name = _extract_name(phrase); - - // first.last@domain address - if (name === '') { - var match = /([^%.@_]+([._][^%.@_]+)+)[@%]/.exec(addr); - if (match) { - name = match[1].replace(/[._]+/g, ' '); - name = _extract_name(name); - } - } - - if (name === '' && /\/g=/i.test(addr)) { - // X400 style address - var _match = /\/g=([^/]*)/i.exec(addr); - var f = _match[1]; - _match = /\/s=([^/]*)/i.exec(addr); - var l = _match[1]; - name = _extract_name(f + " " + l); - } - - return name; - } - }]); - return Address; -}(); - -exports.Address = Address; - -// This is because JS regexps have no equivalent of -// zero-width negative look-behind assertion for: /(? Array#indexOf // true -> Array#includes var toIObject = _dereq_('./_to-iobject'); @@ -9337,7 +9075,7 @@ module.exports = function (IS_INCLUDES) { }; }; -},{"./_to-absolute-index":149,"./_to-iobject":151,"./_to-length":152}],80:[function(_dereq_,module,exports){ +},{"./_to-absolute-index":148,"./_to-iobject":150,"./_to-length":151}],79:[function(_dereq_,module,exports){ // 0 -> Array#forEach // 1 -> Array#map // 2 -> Array#filter @@ -9383,7 +9121,7 @@ module.exports = function (TYPE, $create) { }; }; -},{"./_array-species-create":82,"./_ctx":89,"./_iobject":104,"./_to-length":152,"./_to-object":153}],81:[function(_dereq_,module,exports){ +},{"./_array-species-create":81,"./_ctx":88,"./_iobject":103,"./_to-length":151,"./_to-object":152}],80:[function(_dereq_,module,exports){ var isObject = _dereq_('./_is-object'); var isArray = _dereq_('./_is-array'); var SPECIES = _dereq_('./_wks')('species'); @@ -9401,7 +9139,7 @@ module.exports = function (original) { } return C === undefined ? Array : C; }; -},{"./_is-array":106,"./_is-object":108,"./_wks":159}],82:[function(_dereq_,module,exports){ +},{"./_is-array":105,"./_is-object":107,"./_wks":158}],81:[function(_dereq_,module,exports){ // 9.4.2.3 ArraySpeciesCreate(originalArray, length) var speciesConstructor = _dereq_('./_array-species-constructor'); @@ -9409,7 +9147,7 @@ module.exports = function (original, length) { return new (speciesConstructor(original))(length); }; -},{"./_array-species-constructor":81}],83:[function(_dereq_,module,exports){ +},{"./_array-species-constructor":80}],82:[function(_dereq_,module,exports){ // getting tag from 19.1.3.6 Object.prototype.toString() var cof = _dereq_('./_cof'); var TAG = _dereq_('./_wks')('toStringTag'); @@ -9434,14 +9172,14 @@ module.exports = function (it) { : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; }; -},{"./_cof":84,"./_wks":159}],84:[function(_dereq_,module,exports){ +},{"./_cof":83,"./_wks":158}],83:[function(_dereq_,module,exports){ var toString = {}.toString; module.exports = function (it) { return toString.call(it).slice(8, -1); }; -},{}],85:[function(_dereq_,module,exports){ +},{}],84:[function(_dereq_,module,exports){ 'use strict'; var redefineAll = _dereq_('./_redefine-all'); var getWeak = _dereq_('./_meta').getWeak; @@ -9528,7 +9266,7 @@ module.exports = { ufstore: uncaughtFrozenStore }; -},{"./_an-instance":77,"./_an-object":78,"./_array-methods":80,"./_for-of":97,"./_has":99,"./_is-object":108,"./_meta":116,"./_redefine-all":137,"./_validate-collection":156}],86:[function(_dereq_,module,exports){ +},{"./_an-instance":76,"./_an-object":77,"./_array-methods":79,"./_for-of":96,"./_has":98,"./_is-object":107,"./_meta":115,"./_redefine-all":136,"./_validate-collection":155}],85:[function(_dereq_,module,exports){ 'use strict'; var global = _dereq_('./_global'); var $export = _dereq_('./_export'); @@ -9589,11 +9327,11 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { return C; }; -},{"./_an-instance":77,"./_array-methods":80,"./_descriptors":91,"./_export":95,"./_fails":96,"./_for-of":97,"./_global":98,"./_hide":100,"./_is-object":108,"./_meta":116,"./_object-dp":121,"./_redefine-all":137,"./_set-to-string-tag":143}],87:[function(_dereq_,module,exports){ +},{"./_an-instance":76,"./_array-methods":79,"./_descriptors":90,"./_export":94,"./_fails":95,"./_for-of":96,"./_global":97,"./_hide":99,"./_is-object":107,"./_meta":115,"./_object-dp":120,"./_redefine-all":136,"./_set-to-string-tag":142}],86:[function(_dereq_,module,exports){ var core = module.exports = { version: '2.5.3' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef -},{}],88:[function(_dereq_,module,exports){ +},{}],87:[function(_dereq_,module,exports){ 'use strict'; var $defineProperty = _dereq_('./_object-dp'); var createDesc = _dereq_('./_property-desc'); @@ -9603,7 +9341,7 @@ module.exports = function (object, index, value) { else object[index] = value; }; -},{"./_object-dp":121,"./_property-desc":136}],89:[function(_dereq_,module,exports){ +},{"./_object-dp":120,"./_property-desc":135}],88:[function(_dereq_,module,exports){ // optional / simple context binding var aFunction = _dereq_('./_a-function'); module.exports = function (fn, that, length) { @@ -9625,20 +9363,20 @@ module.exports = function (fn, that, length) { }; }; -},{"./_a-function":75}],90:[function(_dereq_,module,exports){ +},{"./_a-function":74}],89:[function(_dereq_,module,exports){ // 7.2.1 RequireObjectCoercible(argument) module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; -},{}],91:[function(_dereq_,module,exports){ +},{}],90:[function(_dereq_,module,exports){ // Thank's IE8 for his funny defineProperty module.exports = !_dereq_('./_fails')(function () { return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; }); -},{"./_fails":96}],92:[function(_dereq_,module,exports){ +},{"./_fails":95}],91:[function(_dereq_,module,exports){ var isObject = _dereq_('./_is-object'); var document = _dereq_('./_global').document; // typeof document.createElement is 'object' in old IE @@ -9647,13 +9385,13 @@ module.exports = function (it) { return is ? document.createElement(it) : {}; }; -},{"./_global":98,"./_is-object":108}],93:[function(_dereq_,module,exports){ +},{"./_global":97,"./_is-object":107}],92:[function(_dereq_,module,exports){ // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); -},{}],94:[function(_dereq_,module,exports){ +},{}],93:[function(_dereq_,module,exports){ // all enumerable object keys, includes symbols var getKeys = _dereq_('./_object-keys'); var gOPS = _dereq_('./_object-gops'); @@ -9670,7 +9408,7 @@ module.exports = function (it) { } return result; }; -},{"./_object-gops":126,"./_object-keys":129,"./_object-pie":130}],95:[function(_dereq_,module,exports){ +},{"./_object-gops":125,"./_object-keys":128,"./_object-pie":129}],94:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var core = _dereq_('./_core'); var ctx = _dereq_('./_ctx'); @@ -9733,7 +9471,7 @@ $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; -},{"./_core":87,"./_ctx":89,"./_global":98,"./_hide":100}],96:[function(_dereq_,module,exports){ +},{"./_core":86,"./_ctx":88,"./_global":97,"./_hide":99}],95:[function(_dereq_,module,exports){ module.exports = function (exec) { try { return !!exec(); @@ -9742,7 +9480,7 @@ module.exports = function (exec) { } }; -},{}],97:[function(_dereq_,module,exports){ +},{}],96:[function(_dereq_,module,exports){ var ctx = _dereq_('./_ctx'); var call = _dereq_('./_iter-call'); var isArrayIter = _dereq_('./_is-array-iter'); @@ -9769,7 +9507,7 @@ var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) exports.BREAK = BREAK; exports.RETURN = RETURN; -},{"./_an-object":78,"./_ctx":89,"./_is-array-iter":105,"./_iter-call":109,"./_to-length":152,"./core.get-iterator-method":160}],98:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_ctx":88,"./_is-array-iter":104,"./_iter-call":108,"./_to-length":151,"./core.get-iterator-method":159}],97:[function(_dereq_,module,exports){ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self @@ -9777,13 +9515,13 @@ var global = module.exports = typeof window != 'undefined' && window.Math == Mat : Function('return this')(); if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef -},{}],99:[function(_dereq_,module,exports){ +},{}],98:[function(_dereq_,module,exports){ var hasOwnProperty = {}.hasOwnProperty; module.exports = function (it, key) { return hasOwnProperty.call(it, key); }; -},{}],100:[function(_dereq_,module,exports){ +},{}],99:[function(_dereq_,module,exports){ var dP = _dereq_('./_object-dp'); var createDesc = _dereq_('./_property-desc'); module.exports = _dereq_('./_descriptors') ? function (object, key, value) { @@ -9793,16 +9531,16 @@ module.exports = _dereq_('./_descriptors') ? function (object, key, value) { return object; }; -},{"./_descriptors":91,"./_object-dp":121,"./_property-desc":136}],101:[function(_dereq_,module,exports){ +},{"./_descriptors":90,"./_object-dp":120,"./_property-desc":135}],100:[function(_dereq_,module,exports){ var document = _dereq_('./_global').document; module.exports = document && document.documentElement; -},{"./_global":98}],102:[function(_dereq_,module,exports){ +},{"./_global":97}],101:[function(_dereq_,module,exports){ module.exports = !_dereq_('./_descriptors') && !_dereq_('./_fails')(function () { return Object.defineProperty(_dereq_('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7; }); -},{"./_descriptors":91,"./_dom-create":92,"./_fails":96}],103:[function(_dereq_,module,exports){ +},{"./_descriptors":90,"./_dom-create":91,"./_fails":95}],102:[function(_dereq_,module,exports){ // fast apply, http://jsperf.lnkit.com/fast-apply/5 module.exports = function (fn, args, that) { var un = that === undefined; @@ -9820,7 +9558,7 @@ module.exports = function (fn, args, that) { } return fn.apply(that, args); }; -},{}],104:[function(_dereq_,module,exports){ +},{}],103:[function(_dereq_,module,exports){ // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = _dereq_('./_cof'); // eslint-disable-next-line no-prototype-builtins @@ -9828,7 +9566,7 @@ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); }; -},{"./_cof":84}],105:[function(_dereq_,module,exports){ +},{"./_cof":83}],104:[function(_dereq_,module,exports){ // check on default Array iterator var Iterators = _dereq_('./_iterators'); var ITERATOR = _dereq_('./_wks')('iterator'); @@ -9838,14 +9576,14 @@ module.exports = function (it) { return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); }; -},{"./_iterators":114,"./_wks":159}],106:[function(_dereq_,module,exports){ +},{"./_iterators":113,"./_wks":158}],105:[function(_dereq_,module,exports){ // 7.2.2 IsArray(argument) var cof = _dereq_('./_cof'); module.exports = Array.isArray || function isArray(arg) { return cof(arg) == 'Array'; }; -},{"./_cof":84}],107:[function(_dereq_,module,exports){ +},{"./_cof":83}],106:[function(_dereq_,module,exports){ // 20.1.2.3 Number.isInteger(number) var isObject = _dereq_('./_is-object'); var floor = Math.floor; @@ -9853,12 +9591,12 @@ module.exports = function isInteger(it) { return !isObject(it) && isFinite(it) && floor(it) === it; }; -},{"./_is-object":108}],108:[function(_dereq_,module,exports){ +},{"./_is-object":107}],107:[function(_dereq_,module,exports){ module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; }; -},{}],109:[function(_dereq_,module,exports){ +},{}],108:[function(_dereq_,module,exports){ // call something on iterator step with safe closing on error var anObject = _dereq_('./_an-object'); module.exports = function (iterator, fn, value, entries) { @@ -9872,7 +9610,7 @@ module.exports = function (iterator, fn, value, entries) { } }; -},{"./_an-object":78}],110:[function(_dereq_,module,exports){ +},{"./_an-object":77}],109:[function(_dereq_,module,exports){ 'use strict'; var create = _dereq_('./_object-create'); var descriptor = _dereq_('./_property-desc'); @@ -9887,7 +9625,7 @@ module.exports = function (Constructor, NAME, next) { setToStringTag(Constructor, NAME + ' Iterator'); }; -},{"./_hide":100,"./_object-create":120,"./_property-desc":136,"./_set-to-string-tag":143,"./_wks":159}],111:[function(_dereq_,module,exports){ +},{"./_hide":99,"./_object-create":119,"./_property-desc":135,"./_set-to-string-tag":142,"./_wks":158}],110:[function(_dereq_,module,exports){ 'use strict'; var LIBRARY = _dereq_('./_library'); var $export = _dereq_('./_export'); @@ -9959,7 +9697,7 @@ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE return methods; }; -},{"./_export":95,"./_has":99,"./_hide":100,"./_iter-create":110,"./_iterators":114,"./_library":115,"./_object-gpo":127,"./_redefine":138,"./_set-to-string-tag":143,"./_wks":159}],112:[function(_dereq_,module,exports){ +},{"./_export":94,"./_has":98,"./_hide":99,"./_iter-create":109,"./_iterators":113,"./_library":114,"./_object-gpo":126,"./_redefine":137,"./_set-to-string-tag":142,"./_wks":158}],111:[function(_dereq_,module,exports){ var ITERATOR = _dereq_('./_wks')('iterator'); var SAFE_CLOSING = false; @@ -9983,18 +9721,18 @@ module.exports = function (exec, skipClosing) { return safe; }; -},{"./_wks":159}],113:[function(_dereq_,module,exports){ +},{"./_wks":158}],112:[function(_dereq_,module,exports){ module.exports = function (done, value) { return { value: value, done: !!done }; }; -},{}],114:[function(_dereq_,module,exports){ +},{}],113:[function(_dereq_,module,exports){ module.exports = {}; -},{}],115:[function(_dereq_,module,exports){ +},{}],114:[function(_dereq_,module,exports){ module.exports = true; -},{}],116:[function(_dereq_,module,exports){ +},{}],115:[function(_dereq_,module,exports){ var META = _dereq_('./_uid')('meta'); var isObject = _dereq_('./_is-object'); var has = _dereq_('./_has'); @@ -10049,7 +9787,7 @@ var meta = module.exports = { onFreeze: onFreeze }; -},{"./_fails":96,"./_has":99,"./_is-object":108,"./_object-dp":121,"./_uid":155}],117:[function(_dereq_,module,exports){ +},{"./_fails":95,"./_has":98,"./_is-object":107,"./_object-dp":120,"./_uid":154}],116:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var macrotask = _dereq_('./_task').set; var Observer = global.MutationObserver || global.WebKitMutationObserver; @@ -10119,7 +9857,7 @@ module.exports = function () { }; }; -},{"./_cof":84,"./_global":98,"./_task":148}],118:[function(_dereq_,module,exports){ +},{"./_cof":83,"./_global":97,"./_task":147}],117:[function(_dereq_,module,exports){ 'use strict'; // 25.4.1.5 NewPromiseCapability(C) var aFunction = _dereq_('./_a-function'); @@ -10139,7 +9877,7 @@ module.exports.f = function (C) { return new PromiseCapability(C); }; -},{"./_a-function":75}],119:[function(_dereq_,module,exports){ +},{"./_a-function":74}],118:[function(_dereq_,module,exports){ 'use strict'; // 19.1.2.1 Object.assign(target, source, ...) var getKeys = _dereq_('./_object-keys'); @@ -10175,7 +9913,7 @@ module.exports = !$assign || _dereq_('./_fails')(function () { } return T; } : $assign; -},{"./_fails":96,"./_iobject":104,"./_object-gops":126,"./_object-keys":129,"./_object-pie":130,"./_to-object":153}],120:[function(_dereq_,module,exports){ +},{"./_fails":95,"./_iobject":103,"./_object-gops":125,"./_object-keys":128,"./_object-pie":129,"./_to-object":152}],119:[function(_dereq_,module,exports){ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = _dereq_('./_an-object'); var dPs = _dereq_('./_object-dps'); @@ -10218,7 +9956,7 @@ module.exports = Object.create || function create(O, Properties) { return Properties === undefined ? result : dPs(result, Properties); }; -},{"./_an-object":78,"./_dom-create":92,"./_enum-bug-keys":93,"./_html":101,"./_object-dps":122,"./_shared-key":144}],121:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_dom-create":91,"./_enum-bug-keys":92,"./_html":100,"./_object-dps":121,"./_shared-key":143}],120:[function(_dereq_,module,exports){ var anObject = _dereq_('./_an-object'); var IE8_DOM_DEFINE = _dereq_('./_ie8-dom-define'); var toPrimitive = _dereq_('./_to-primitive'); @@ -10236,7 +9974,7 @@ exports.f = _dereq_('./_descriptors') ? Object.defineProperty : function defineP return O; }; -},{"./_an-object":78,"./_descriptors":91,"./_ie8-dom-define":102,"./_to-primitive":154}],122:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_descriptors":90,"./_ie8-dom-define":101,"./_to-primitive":153}],121:[function(_dereq_,module,exports){ var dP = _dereq_('./_object-dp'); var anObject = _dereq_('./_an-object'); var getKeys = _dereq_('./_object-keys'); @@ -10251,7 +9989,7 @@ module.exports = _dereq_('./_descriptors') ? Object.defineProperties : function return O; }; -},{"./_an-object":78,"./_descriptors":91,"./_object-dp":121,"./_object-keys":129}],123:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_descriptors":90,"./_object-dp":120,"./_object-keys":128}],122:[function(_dereq_,module,exports){ var pIE = _dereq_('./_object-pie'); var createDesc = _dereq_('./_property-desc'); var toIObject = _dereq_('./_to-iobject'); @@ -10269,7 +10007,7 @@ exports.f = _dereq_('./_descriptors') ? gOPD : function getOwnPropertyDescriptor if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); }; -},{"./_descriptors":91,"./_has":99,"./_ie8-dom-define":102,"./_object-pie":130,"./_property-desc":136,"./_to-iobject":151,"./_to-primitive":154}],124:[function(_dereq_,module,exports){ +},{"./_descriptors":90,"./_has":98,"./_ie8-dom-define":101,"./_object-pie":129,"./_property-desc":135,"./_to-iobject":150,"./_to-primitive":153}],123:[function(_dereq_,module,exports){ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window var toIObject = _dereq_('./_to-iobject'); var gOPN = _dereq_('./_object-gopn').f; @@ -10290,7 +10028,7 @@ module.exports.f = function getOwnPropertyNames(it) { return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); }; -},{"./_object-gopn":125,"./_to-iobject":151}],125:[function(_dereq_,module,exports){ +},{"./_object-gopn":124,"./_to-iobject":150}],124:[function(_dereq_,module,exports){ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var $keys = _dereq_('./_object-keys-internal'); var hiddenKeys = _dereq_('./_enum-bug-keys').concat('length', 'prototype'); @@ -10299,10 +10037,10 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); }; -},{"./_enum-bug-keys":93,"./_object-keys-internal":128}],126:[function(_dereq_,module,exports){ +},{"./_enum-bug-keys":92,"./_object-keys-internal":127}],125:[function(_dereq_,module,exports){ exports.f = Object.getOwnPropertySymbols; -},{}],127:[function(_dereq_,module,exports){ +},{}],126:[function(_dereq_,module,exports){ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = _dereq_('./_has'); var toObject = _dereq_('./_to-object'); @@ -10317,7 +10055,7 @@ module.exports = Object.getPrototypeOf || function (O) { } return O instanceof Object ? ObjectProto : null; }; -},{"./_has":99,"./_shared-key":144,"./_to-object":153}],128:[function(_dereq_,module,exports){ +},{"./_has":98,"./_shared-key":143,"./_to-object":152}],127:[function(_dereq_,module,exports){ var has = _dereq_('./_has'); var toIObject = _dereq_('./_to-iobject'); var arrayIndexOf = _dereq_('./_array-includes')(false); @@ -10336,7 +10074,7 @@ module.exports = function (object, names) { return result; }; -},{"./_array-includes":79,"./_has":99,"./_shared-key":144,"./_to-iobject":151}],129:[function(_dereq_,module,exports){ +},{"./_array-includes":78,"./_has":98,"./_shared-key":143,"./_to-iobject":150}],128:[function(_dereq_,module,exports){ // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = _dereq_('./_object-keys-internal'); var enumBugKeys = _dereq_('./_enum-bug-keys'); @@ -10345,10 +10083,10 @@ module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); }; -},{"./_enum-bug-keys":93,"./_object-keys-internal":128}],130:[function(_dereq_,module,exports){ +},{"./_enum-bug-keys":92,"./_object-keys-internal":127}],129:[function(_dereq_,module,exports){ exports.f = {}.propertyIsEnumerable; -},{}],131:[function(_dereq_,module,exports){ +},{}],130:[function(_dereq_,module,exports){ // most Object methods by ES6 should accept primitives var $export = _dereq_('./_export'); var core = _dereq_('./_core'); @@ -10360,7 +10098,7 @@ module.exports = function (KEY, exec) { $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); }; -},{"./_core":87,"./_export":95,"./_fails":96}],132:[function(_dereq_,module,exports){ +},{"./_core":86,"./_export":94,"./_fails":95}],131:[function(_dereq_,module,exports){ var getKeys = _dereq_('./_object-keys'); var toIObject = _dereq_('./_to-iobject'); var isEnum = _dereq_('./_object-pie').f; @@ -10378,7 +10116,7 @@ module.exports = function (isEntries) { }; }; -},{"./_object-keys":129,"./_object-pie":130,"./_to-iobject":151}],133:[function(_dereq_,module,exports){ +},{"./_object-keys":128,"./_object-pie":129,"./_to-iobject":150}],132:[function(_dereq_,module,exports){ // all object keys, includes non-enumerable and symbols var gOPN = _dereq_('./_object-gopn'); var gOPS = _dereq_('./_object-gops'); @@ -10390,7 +10128,7 @@ module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { return getSymbols ? keys.concat(getSymbols(it)) : keys; }; -},{"./_an-object":78,"./_global":98,"./_object-gopn":125,"./_object-gops":126}],134:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_global":97,"./_object-gopn":124,"./_object-gops":125}],133:[function(_dereq_,module,exports){ module.exports = function (exec) { try { return { e: false, v: exec() }; @@ -10399,7 +10137,7 @@ module.exports = function (exec) { } }; -},{}],135:[function(_dereq_,module,exports){ +},{}],134:[function(_dereq_,module,exports){ var anObject = _dereq_('./_an-object'); var isObject = _dereq_('./_is-object'); var newPromiseCapability = _dereq_('./_new-promise-capability'); @@ -10413,7 +10151,7 @@ module.exports = function (C, x) { return promiseCapability.promise; }; -},{"./_an-object":78,"./_is-object":108,"./_new-promise-capability":118}],136:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_is-object":107,"./_new-promise-capability":117}],135:[function(_dereq_,module,exports){ module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), @@ -10423,7 +10161,7 @@ module.exports = function (bitmap, value) { }; }; -},{}],137:[function(_dereq_,module,exports){ +},{}],136:[function(_dereq_,module,exports){ var hide = _dereq_('./_hide'); module.exports = function (target, src, safe) { for (var key in src) { @@ -10432,10 +10170,10 @@ module.exports = function (target, src, safe) { } return target; }; -},{"./_hide":100}],138:[function(_dereq_,module,exports){ +},{"./_hide":99}],137:[function(_dereq_,module,exports){ module.exports = _dereq_('./_hide'); -},{"./_hide":100}],139:[function(_dereq_,module,exports){ +},{"./_hide":99}],138:[function(_dereq_,module,exports){ 'use strict'; // https://tc39.github.io/proposal-setmap-offrom/ var $export = _dereq_('./_export'); @@ -10465,7 +10203,7 @@ module.exports = function (COLLECTION) { } }); }; -},{"./_a-function":75,"./_ctx":89,"./_export":95,"./_for-of":97}],140:[function(_dereq_,module,exports){ +},{"./_a-function":74,"./_ctx":88,"./_export":94,"./_for-of":96}],139:[function(_dereq_,module,exports){ 'use strict'; // https://tc39.github.io/proposal-setmap-offrom/ var $export = _dereq_('./_export'); @@ -10479,7 +10217,7 @@ module.exports = function (COLLECTION) { } }); }; -},{"./_export":95}],141:[function(_dereq_,module,exports){ +},{"./_export":94}],140:[function(_dereq_,module,exports){ // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ var isObject = _dereq_('./_is-object'); @@ -10506,7 +10244,7 @@ module.exports = { check: check }; -},{"./_an-object":78,"./_ctx":89,"./_is-object":108,"./_object-gopd":123}],142:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_ctx":88,"./_is-object":107,"./_object-gopd":122}],141:[function(_dereq_,module,exports){ 'use strict'; var global = _dereq_('./_global'); var core = _dereq_('./_core'); @@ -10522,7 +10260,7 @@ module.exports = function (KEY) { }); }; -},{"./_core":87,"./_descriptors":91,"./_global":98,"./_object-dp":121,"./_wks":159}],143:[function(_dereq_,module,exports){ +},{"./_core":86,"./_descriptors":90,"./_global":97,"./_object-dp":120,"./_wks":158}],142:[function(_dereq_,module,exports){ var def = _dereq_('./_object-dp').f; var has = _dereq_('./_has'); var TAG = _dereq_('./_wks')('toStringTag'); @@ -10531,14 +10269,14 @@ module.exports = function (it, tag, stat) { if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); }; -},{"./_has":99,"./_object-dp":121,"./_wks":159}],144:[function(_dereq_,module,exports){ +},{"./_has":98,"./_object-dp":120,"./_wks":158}],143:[function(_dereq_,module,exports){ var shared = _dereq_('./_shared')('keys'); var uid = _dereq_('./_uid'); module.exports = function (key) { return shared[key] || (shared[key] = uid(key)); }; -},{"./_shared":145,"./_uid":155}],145:[function(_dereq_,module,exports){ +},{"./_shared":144,"./_uid":154}],144:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var SHARED = '__core-js_shared__'; var store = global[SHARED] || (global[SHARED] = {}); @@ -10546,7 +10284,7 @@ module.exports = function (key) { return store[key] || (store[key] = {}); }; -},{"./_global":98}],146:[function(_dereq_,module,exports){ +},{"./_global":97}],145:[function(_dereq_,module,exports){ // 7.3.20 SpeciesConstructor(O, defaultConstructor) var anObject = _dereq_('./_an-object'); var aFunction = _dereq_('./_a-function'); @@ -10557,7 +10295,7 @@ module.exports = function (O, D) { return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); }; -},{"./_a-function":75,"./_an-object":78,"./_wks":159}],147:[function(_dereq_,module,exports){ +},{"./_a-function":74,"./_an-object":77,"./_wks":158}],146:[function(_dereq_,module,exports){ var toInteger = _dereq_('./_to-integer'); var defined = _dereq_('./_defined'); // true -> String#at @@ -10576,7 +10314,7 @@ module.exports = function (TO_STRING) { }; }; -},{"./_defined":90,"./_to-integer":150}],148:[function(_dereq_,module,exports){ +},{"./_defined":89,"./_to-integer":149}],147:[function(_dereq_,module,exports){ var ctx = _dereq_('./_ctx'); var invoke = _dereq_('./_invoke'); var html = _dereq_('./_html'); @@ -10662,7 +10400,7 @@ module.exports = { clear: clearTask }; -},{"./_cof":84,"./_ctx":89,"./_dom-create":92,"./_global":98,"./_html":101,"./_invoke":103}],149:[function(_dereq_,module,exports){ +},{"./_cof":83,"./_ctx":88,"./_dom-create":91,"./_global":97,"./_html":100,"./_invoke":102}],148:[function(_dereq_,module,exports){ var toInteger = _dereq_('./_to-integer'); var max = Math.max; var min = Math.min; @@ -10671,7 +10409,7 @@ module.exports = function (index, length) { return index < 0 ? max(index + length, 0) : min(index, length); }; -},{"./_to-integer":150}],150:[function(_dereq_,module,exports){ +},{"./_to-integer":149}],149:[function(_dereq_,module,exports){ // 7.1.4 ToInteger var ceil = Math.ceil; var floor = Math.floor; @@ -10679,7 +10417,7 @@ module.exports = function (it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; -},{}],151:[function(_dereq_,module,exports){ +},{}],150:[function(_dereq_,module,exports){ // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = _dereq_('./_iobject'); var defined = _dereq_('./_defined'); @@ -10687,7 +10425,7 @@ module.exports = function (it) { return IObject(defined(it)); }; -},{"./_defined":90,"./_iobject":104}],152:[function(_dereq_,module,exports){ +},{"./_defined":89,"./_iobject":103}],151:[function(_dereq_,module,exports){ // 7.1.15 ToLength var toInteger = _dereq_('./_to-integer'); var min = Math.min; @@ -10695,14 +10433,14 @@ module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; -},{"./_to-integer":150}],153:[function(_dereq_,module,exports){ +},{"./_to-integer":149}],152:[function(_dereq_,module,exports){ // 7.1.13 ToObject(argument) var defined = _dereq_('./_defined'); module.exports = function (it) { return Object(defined(it)); }; -},{"./_defined":90}],154:[function(_dereq_,module,exports){ +},{"./_defined":89}],153:[function(_dereq_,module,exports){ // 7.1.1 ToPrimitive(input [, PreferredType]) var isObject = _dereq_('./_is-object'); // instead of the ES6 spec version, we didn't implement @@toPrimitive case @@ -10716,21 +10454,21 @@ module.exports = function (it, S) { throw TypeError("Can't convert object to primitive value"); }; -},{"./_is-object":108}],155:[function(_dereq_,module,exports){ +},{"./_is-object":107}],154:[function(_dereq_,module,exports){ var id = 0; var px = Math.random(); module.exports = function (key) { return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; -},{}],156:[function(_dereq_,module,exports){ +},{}],155:[function(_dereq_,module,exports){ var isObject = _dereq_('./_is-object'); module.exports = function (it, TYPE) { if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); return it; }; -},{"./_is-object":108}],157:[function(_dereq_,module,exports){ +},{"./_is-object":107}],156:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var core = _dereq_('./_core'); var LIBRARY = _dereq_('./_library'); @@ -10741,10 +10479,10 @@ module.exports = function (name) { if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); }; -},{"./_core":87,"./_global":98,"./_library":115,"./_object-dp":121,"./_wks-ext":158}],158:[function(_dereq_,module,exports){ +},{"./_core":86,"./_global":97,"./_library":114,"./_object-dp":120,"./_wks-ext":157}],157:[function(_dereq_,module,exports){ exports.f = _dereq_('./_wks'); -},{"./_wks":159}],159:[function(_dereq_,module,exports){ +},{"./_wks":158}],158:[function(_dereq_,module,exports){ var store = _dereq_('./_shared')('wks'); var uid = _dereq_('./_uid'); var Symbol = _dereq_('./_global').Symbol; @@ -10757,7 +10495,7 @@ var $exports = module.exports = function (name) { $exports.store = store; -},{"./_global":98,"./_shared":145,"./_uid":155}],160:[function(_dereq_,module,exports){ +},{"./_global":97,"./_shared":144,"./_uid":154}],159:[function(_dereq_,module,exports){ var classof = _dereq_('./_classof'); var ITERATOR = _dereq_('./_wks')('iterator'); var Iterators = _dereq_('./_iterators'); @@ -10767,7 +10505,7 @@ module.exports = _dereq_('./_core').getIteratorMethod = function (it) { || Iterators[classof(it)]; }; -},{"./_classof":83,"./_core":87,"./_iterators":114,"./_wks":159}],161:[function(_dereq_,module,exports){ +},{"./_classof":82,"./_core":86,"./_iterators":113,"./_wks":158}],160:[function(_dereq_,module,exports){ var anObject = _dereq_('./_an-object'); var get = _dereq_('./core.get-iterator-method'); module.exports = _dereq_('./_core').getIterator = function (it) { @@ -10776,7 +10514,7 @@ module.exports = _dereq_('./_core').getIterator = function (it) { return anObject(iterFn.call(it)); }; -},{"./_an-object":78,"./_core":87,"./core.get-iterator-method":160}],162:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_core":86,"./core.get-iterator-method":159}],161:[function(_dereq_,module,exports){ var classof = _dereq_('./_classof'); var ITERATOR = _dereq_('./_wks')('iterator'); var Iterators = _dereq_('./_iterators'); @@ -10788,7 +10526,7 @@ module.exports = _dereq_('./_core').isIterable = function (it) { || Iterators.hasOwnProperty(classof(O)); }; -},{"./_classof":83,"./_core":87,"./_iterators":114,"./_wks":159}],163:[function(_dereq_,module,exports){ +},{"./_classof":82,"./_core":86,"./_iterators":113,"./_wks":158}],162:[function(_dereq_,module,exports){ 'use strict'; var ctx = _dereq_('./_ctx'); var $export = _dereq_('./_export'); @@ -10827,7 +10565,7 @@ $export($export.S + $export.F * !_dereq_('./_iter-detect')(function (iter) { Arr } }); -},{"./_create-property":88,"./_ctx":89,"./_export":95,"./_is-array-iter":105,"./_iter-call":109,"./_iter-detect":112,"./_to-length":152,"./_to-object":153,"./core.get-iterator-method":160}],164:[function(_dereq_,module,exports){ +},{"./_create-property":87,"./_ctx":88,"./_export":94,"./_is-array-iter":104,"./_iter-call":108,"./_iter-detect":111,"./_to-length":151,"./_to-object":152,"./core.get-iterator-method":159}],163:[function(_dereq_,module,exports){ 'use strict'; var addToUnscopables = _dereq_('./_add-to-unscopables'); var step = _dereq_('./_iter-step'); @@ -10863,13 +10601,13 @@ addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); -},{"./_add-to-unscopables":76,"./_iter-define":111,"./_iter-step":113,"./_iterators":114,"./_to-iobject":151}],165:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":75,"./_iter-define":110,"./_iter-step":112,"./_iterators":113,"./_to-iobject":150}],164:[function(_dereq_,module,exports){ // 20.1.2.3 Number.isInteger(number) var $export = _dereq_('./_export'); $export($export.S, 'Number', { isInteger: _dereq_('./_is-integer') }); -},{"./_export":95,"./_is-integer":107}],166:[function(_dereq_,module,exports){ +},{"./_export":94,"./_is-integer":106}],165:[function(_dereq_,module,exports){ // 20.1.2.4 Number.isNaN(number) var $export = _dereq_('./_export'); @@ -10880,23 +10618,23 @@ $export($export.S, 'Number', { } }); -},{"./_export":95}],167:[function(_dereq_,module,exports){ +},{"./_export":94}],166:[function(_dereq_,module,exports){ // 19.1.3.1 Object.assign(target, source) var $export = _dereq_('./_export'); $export($export.S + $export.F, 'Object', { assign: _dereq_('./_object-assign') }); -},{"./_export":95,"./_object-assign":119}],168:[function(_dereq_,module,exports){ +},{"./_export":94,"./_object-assign":118}],167:[function(_dereq_,module,exports){ var $export = _dereq_('./_export'); // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) $export($export.S, 'Object', { create: _dereq_('./_object-create') }); -},{"./_export":95,"./_object-create":120}],169:[function(_dereq_,module,exports){ +},{"./_export":94,"./_object-create":119}],168:[function(_dereq_,module,exports){ var $export = _dereq_('./_export'); // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) $export($export.S + $export.F * !_dereq_('./_descriptors'), 'Object', { defineProperty: _dereq_('./_object-dp').f }); -},{"./_descriptors":91,"./_export":95,"./_object-dp":121}],170:[function(_dereq_,module,exports){ +},{"./_descriptors":90,"./_export":94,"./_object-dp":120}],169:[function(_dereq_,module,exports){ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) var toIObject = _dereq_('./_to-iobject'); var $getOwnPropertyDescriptor = _dereq_('./_object-gopd').f; @@ -10907,7 +10645,7 @@ _dereq_('./_object-sap')('getOwnPropertyDescriptor', function () { }; }); -},{"./_object-gopd":123,"./_object-sap":131,"./_to-iobject":151}],171:[function(_dereq_,module,exports){ +},{"./_object-gopd":122,"./_object-sap":130,"./_to-iobject":150}],170:[function(_dereq_,module,exports){ // 19.1.2.9 Object.getPrototypeOf(O) var toObject = _dereq_('./_to-object'); var $getPrototypeOf = _dereq_('./_object-gpo'); @@ -10918,14 +10656,14 @@ _dereq_('./_object-sap')('getPrototypeOf', function () { }; }); -},{"./_object-gpo":127,"./_object-sap":131,"./_to-object":153}],172:[function(_dereq_,module,exports){ +},{"./_object-gpo":126,"./_object-sap":130,"./_to-object":152}],171:[function(_dereq_,module,exports){ // 19.1.3.19 Object.setPrototypeOf(O, proto) var $export = _dereq_('./_export'); $export($export.S, 'Object', { setPrototypeOf: _dereq_('./_set-proto').set }); -},{"./_export":95,"./_set-proto":141}],173:[function(_dereq_,module,exports){ +},{"./_export":94,"./_set-proto":140}],172:[function(_dereq_,module,exports){ -},{}],174:[function(_dereq_,module,exports){ +},{}],173:[function(_dereq_,module,exports){ 'use strict'; var LIBRARY = _dereq_('./_library'); var global = _dereq_('./_global'); @@ -11200,7 +10938,7 @@ $export($export.S + $export.F * !(USE_NATIVE && _dereq_('./_iter-detect')(functi } }); -},{"./_a-function":75,"./_an-instance":77,"./_classof":83,"./_core":87,"./_ctx":89,"./_export":95,"./_for-of":97,"./_global":98,"./_is-object":108,"./_iter-detect":112,"./_library":115,"./_microtask":117,"./_new-promise-capability":118,"./_perform":134,"./_promise-resolve":135,"./_redefine-all":137,"./_set-species":142,"./_set-to-string-tag":143,"./_species-constructor":146,"./_task":148,"./_wks":159}],175:[function(_dereq_,module,exports){ +},{"./_a-function":74,"./_an-instance":76,"./_classof":82,"./_core":86,"./_ctx":88,"./_export":94,"./_for-of":96,"./_global":97,"./_is-object":107,"./_iter-detect":111,"./_library":114,"./_microtask":116,"./_new-promise-capability":117,"./_perform":133,"./_promise-resolve":134,"./_redefine-all":136,"./_set-species":141,"./_set-to-string-tag":142,"./_species-constructor":145,"./_task":147,"./_wks":158}],174:[function(_dereq_,module,exports){ 'use strict'; var $at = _dereq_('./_string-at')(true); @@ -11219,7 +10957,7 @@ _dereq_('./_iter-define')(String, 'String', function (iterated) { return { value: point, done: false }; }); -},{"./_iter-define":111,"./_string-at":147}],176:[function(_dereq_,module,exports){ +},{"./_iter-define":110,"./_string-at":146}],175:[function(_dereq_,module,exports){ 'use strict'; // ECMAScript 6 symbols shim var global = _dereq_('./_global'); @@ -11455,7 +11193,7 @@ setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] setToStringTag(global.JSON, 'JSON', true); -},{"./_an-object":78,"./_descriptors":91,"./_enum-keys":94,"./_export":95,"./_fails":96,"./_global":98,"./_has":99,"./_hide":100,"./_is-array":106,"./_is-object":108,"./_library":115,"./_meta":116,"./_object-create":120,"./_object-dp":121,"./_object-gopd":123,"./_object-gopn":125,"./_object-gopn-ext":124,"./_object-gops":126,"./_object-keys":129,"./_object-pie":130,"./_property-desc":136,"./_redefine":138,"./_set-to-string-tag":143,"./_shared":145,"./_to-iobject":151,"./_to-primitive":154,"./_uid":155,"./_wks":159,"./_wks-define":157,"./_wks-ext":158}],177:[function(_dereq_,module,exports){ +},{"./_an-object":77,"./_descriptors":90,"./_enum-keys":93,"./_export":94,"./_fails":95,"./_global":97,"./_has":98,"./_hide":99,"./_is-array":105,"./_is-object":107,"./_library":114,"./_meta":115,"./_object-create":119,"./_object-dp":120,"./_object-gopd":122,"./_object-gopn":124,"./_object-gopn-ext":123,"./_object-gops":125,"./_object-keys":128,"./_object-pie":129,"./_property-desc":135,"./_redefine":137,"./_set-to-string-tag":142,"./_shared":144,"./_to-iobject":150,"./_to-primitive":153,"./_uid":154,"./_wks":158,"./_wks-define":156,"./_wks-ext":157}],176:[function(_dereq_,module,exports){ 'use strict'; var weak = _dereq_('./_collection-weak'); var validate = _dereq_('./_validate-collection'); @@ -11471,7 +11209,7 @@ _dereq_('./_collection')(WEAK_SET, function (get) { } }, weak, false, true); -},{"./_collection":86,"./_collection-weak":85,"./_validate-collection":156}],178:[function(_dereq_,module,exports){ +},{"./_collection":85,"./_collection-weak":84,"./_validate-collection":155}],177:[function(_dereq_,module,exports){ // https://github.com/tc39/proposal-object-values-entries var $export = _dereq_('./_export'); var $entries = _dereq_('./_object-to-array')(true); @@ -11482,7 +11220,7 @@ $export($export.S, 'Object', { } }); -},{"./_export":95,"./_object-to-array":132}],179:[function(_dereq_,module,exports){ +},{"./_export":94,"./_object-to-array":131}],178:[function(_dereq_,module,exports){ // https://github.com/tc39/proposal-object-getownpropertydescriptors var $export = _dereq_('./_export'); var ownKeys = _dereq_('./_own-keys'); @@ -11506,7 +11244,7 @@ $export($export.S, 'Object', { } }); -},{"./_create-property":88,"./_export":95,"./_object-gopd":123,"./_own-keys":133,"./_to-iobject":151}],180:[function(_dereq_,module,exports){ +},{"./_create-property":87,"./_export":94,"./_object-gopd":122,"./_own-keys":132,"./_to-iobject":150}],179:[function(_dereq_,module,exports){ // https://github.com/tc39/proposal-object-values-entries var $export = _dereq_('./_export'); var $values = _dereq_('./_object-to-array')(false); @@ -11517,7 +11255,7 @@ $export($export.S, 'Object', { } }); -},{"./_export":95,"./_object-to-array":132}],181:[function(_dereq_,module,exports){ +},{"./_export":94,"./_object-to-array":131}],180:[function(_dereq_,module,exports){ // https://github.com/tc39/proposal-promise-finally 'use strict'; var $export = _dereq_('./_export'); @@ -11539,7 +11277,7 @@ $export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { ); } }); -},{"./_core":87,"./_export":95,"./_global":98,"./_promise-resolve":135,"./_species-constructor":146}],182:[function(_dereq_,module,exports){ +},{"./_core":86,"./_export":94,"./_global":97,"./_promise-resolve":134,"./_species-constructor":145}],181:[function(_dereq_,module,exports){ 'use strict'; // https://github.com/tc39/proposal-promise-try var $export = _dereq_('./_export'); @@ -11553,21 +11291,21 @@ $export($export.S, 'Promise', { 'try': function (callbackfn) { return promiseCapability.promise; } }); -},{"./_export":95,"./_new-promise-capability":118,"./_perform":134}],183:[function(_dereq_,module,exports){ +},{"./_export":94,"./_new-promise-capability":117,"./_perform":133}],182:[function(_dereq_,module,exports){ _dereq_('./_wks-define')('asyncIterator'); -},{"./_wks-define":157}],184:[function(_dereq_,module,exports){ +},{"./_wks-define":156}],183:[function(_dereq_,module,exports){ _dereq_('./_wks-define')('observable'); -},{"./_wks-define":157}],185:[function(_dereq_,module,exports){ +},{"./_wks-define":156}],184:[function(_dereq_,module,exports){ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from _dereq_('./_set-collection-from')('WeakSet'); -},{"./_set-collection-from":139}],186:[function(_dereq_,module,exports){ +},{"./_set-collection-from":138}],185:[function(_dereq_,module,exports){ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of _dereq_('./_set-collection-of')('WeakSet'); -},{"./_set-collection-of":140}],187:[function(_dereq_,module,exports){ +},{"./_set-collection-of":139}],186:[function(_dereq_,module,exports){ _dereq_('./es6.array.iterator'); var global = _dereq_('./_global'); var hide = _dereq_('./_hide'); @@ -11588,9 +11326,9 @@ for (var i = 0; i < DOMIterables.length; i++) { Iterators[NAME] = Iterators.Array; } -},{"./_global":98,"./_hide":100,"./_iterators":114,"./_wks":159,"./es6.array.iterator":164}],188:[function(_dereq_,module,exports){ -arguments[4][75][0].apply(exports,arguments) -},{"dup":75}],189:[function(_dereq_,module,exports){ +},{"./_global":97,"./_hide":99,"./_iterators":113,"./_wks":158,"./es6.array.iterator":163}],187:[function(_dereq_,module,exports){ +arguments[4][74][0].apply(exports,arguments) +},{"dup":74}],188:[function(_dereq_,module,exports){ // 22.1.3.31 Array.prototype[@@unscopables] var UNSCOPABLES = _dereq_('./_wks')('unscopables'); var ArrayProto = Array.prototype; @@ -11599,11 +11337,11 @@ module.exports = function (key) { ArrayProto[UNSCOPABLES][key] = true; }; -},{"./_hide":213,"./_wks":269}],190:[function(_dereq_,module,exports){ +},{"./_hide":212,"./_wks":268}],189:[function(_dereq_,module,exports){ +arguments[4][76][0].apply(exports,arguments) +},{"dup":76}],190:[function(_dereq_,module,exports){ arguments[4][77][0].apply(exports,arguments) -},{"dup":77}],191:[function(_dereq_,module,exports){ -arguments[4][78][0].apply(exports,arguments) -},{"./_is-object":220,"dup":78}],192:[function(_dereq_,module,exports){ +},{"./_is-object":219,"dup":77}],191:[function(_dereq_,module,exports){ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) 'use strict'; var toObject = _dereq_('./_to-object'); @@ -11631,7 +11369,7 @@ module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* } return O; }; -},{"./_to-absolute-index":256,"./_to-length":260,"./_to-object":261}],193:[function(_dereq_,module,exports){ +},{"./_to-absolute-index":255,"./_to-length":259,"./_to-object":260}],192:[function(_dereq_,module,exports){ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) 'use strict'; var toObject = _dereq_('./_to-object'); @@ -11648,35 +11386,35 @@ module.exports = function fill(value /* , start = 0, end = @length */) { return O; }; -},{"./_to-absolute-index":256,"./_to-length":260,"./_to-object":261}],194:[function(_dereq_,module,exports){ +},{"./_to-absolute-index":255,"./_to-length":259,"./_to-object":260}],193:[function(_dereq_,module,exports){ +arguments[4][78][0].apply(exports,arguments) +},{"./_to-absolute-index":255,"./_to-iobject":258,"./_to-length":259,"dup":78}],194:[function(_dereq_,module,exports){ arguments[4][79][0].apply(exports,arguments) -},{"./_to-absolute-index":256,"./_to-iobject":259,"./_to-length":260,"dup":79}],195:[function(_dereq_,module,exports){ +},{"./_array-species-create":196,"./_ctx":201,"./_iobject":216,"./_to-length":259,"./_to-object":260,"dup":79}],195:[function(_dereq_,module,exports){ arguments[4][80][0].apply(exports,arguments) -},{"./_array-species-create":197,"./_ctx":202,"./_iobject":217,"./_to-length":260,"./_to-object":261,"dup":80}],196:[function(_dereq_,module,exports){ +},{"./_is-array":218,"./_is-object":219,"./_wks":268,"dup":80}],196:[function(_dereq_,module,exports){ arguments[4][81][0].apply(exports,arguments) -},{"./_is-array":219,"./_is-object":220,"./_wks":269,"dup":81}],197:[function(_dereq_,module,exports){ +},{"./_array-species-constructor":195,"dup":81}],197:[function(_dereq_,module,exports){ arguments[4][82][0].apply(exports,arguments) -},{"./_array-species-constructor":196,"dup":82}],198:[function(_dereq_,module,exports){ +},{"./_cof":198,"./_wks":268,"dup":82}],198:[function(_dereq_,module,exports){ arguments[4][83][0].apply(exports,arguments) -},{"./_cof":199,"./_wks":269,"dup":83}],199:[function(_dereq_,module,exports){ -arguments[4][84][0].apply(exports,arguments) -},{"dup":84}],200:[function(_dereq_,module,exports){ +},{"dup":83}],199:[function(_dereq_,module,exports){ +arguments[4][86][0].apply(exports,arguments) +},{"dup":86}],200:[function(_dereq_,module,exports){ arguments[4][87][0].apply(exports,arguments) -},{"dup":87}],201:[function(_dereq_,module,exports){ +},{"./_object-dp":232,"./_property-desc":244,"dup":87}],201:[function(_dereq_,module,exports){ arguments[4][88][0].apply(exports,arguments) -},{"./_object-dp":233,"./_property-desc":245,"dup":88}],202:[function(_dereq_,module,exports){ +},{"./_a-function":187,"dup":88}],202:[function(_dereq_,module,exports){ arguments[4][89][0].apply(exports,arguments) -},{"./_a-function":188,"dup":89}],203:[function(_dereq_,module,exports){ +},{"dup":89}],203:[function(_dereq_,module,exports){ arguments[4][90][0].apply(exports,arguments) -},{"dup":90}],204:[function(_dereq_,module,exports){ +},{"./_fails":208,"dup":90}],204:[function(_dereq_,module,exports){ arguments[4][91][0].apply(exports,arguments) -},{"./_fails":209,"dup":91}],205:[function(_dereq_,module,exports){ +},{"./_global":210,"./_is-object":219,"dup":91}],205:[function(_dereq_,module,exports){ arguments[4][92][0].apply(exports,arguments) -},{"./_global":211,"./_is-object":220,"dup":92}],206:[function(_dereq_,module,exports){ +},{"dup":92}],206:[function(_dereq_,module,exports){ arguments[4][93][0].apply(exports,arguments) -},{"dup":93}],207:[function(_dereq_,module,exports){ -arguments[4][94][0].apply(exports,arguments) -},{"./_object-gops":238,"./_object-keys":241,"./_object-pie":242,"dup":94}],208:[function(_dereq_,module,exports){ +},{"./_object-gops":237,"./_object-keys":240,"./_object-pie":241,"dup":93}],207:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var core = _dereq_('./_core'); var hide = _dereq_('./_hide'); @@ -11721,89 +11459,89 @@ $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; -},{"./_core":200,"./_ctx":202,"./_global":211,"./_hide":213,"./_redefine":247}],209:[function(_dereq_,module,exports){ +},{"./_core":199,"./_ctx":201,"./_global":210,"./_hide":212,"./_redefine":246}],208:[function(_dereq_,module,exports){ +arguments[4][95][0].apply(exports,arguments) +},{"dup":95}],209:[function(_dereq_,module,exports){ arguments[4][96][0].apply(exports,arguments) -},{"dup":96}],210:[function(_dereq_,module,exports){ +},{"./_an-object":190,"./_ctx":201,"./_is-array-iter":217,"./_iter-call":220,"./_to-length":259,"./core.get-iterator-method":269,"dup":96}],210:[function(_dereq_,module,exports){ arguments[4][97][0].apply(exports,arguments) -},{"./_an-object":191,"./_ctx":202,"./_is-array-iter":218,"./_iter-call":221,"./_to-length":260,"./core.get-iterator-method":270,"dup":97}],211:[function(_dereq_,module,exports){ +},{"dup":97}],211:[function(_dereq_,module,exports){ arguments[4][98][0].apply(exports,arguments) },{"dup":98}],212:[function(_dereq_,module,exports){ arguments[4][99][0].apply(exports,arguments) -},{"dup":99}],213:[function(_dereq_,module,exports){ +},{"./_descriptors":203,"./_object-dp":232,"./_property-desc":244,"dup":99}],213:[function(_dereq_,module,exports){ arguments[4][100][0].apply(exports,arguments) -},{"./_descriptors":204,"./_object-dp":233,"./_property-desc":245,"dup":100}],214:[function(_dereq_,module,exports){ +},{"./_global":210,"dup":100}],214:[function(_dereq_,module,exports){ arguments[4][101][0].apply(exports,arguments) -},{"./_global":211,"dup":101}],215:[function(_dereq_,module,exports){ +},{"./_descriptors":203,"./_dom-create":204,"./_fails":208,"dup":101}],215:[function(_dereq_,module,exports){ arguments[4][102][0].apply(exports,arguments) -},{"./_descriptors":204,"./_dom-create":205,"./_fails":209,"dup":102}],216:[function(_dereq_,module,exports){ +},{"dup":102}],216:[function(_dereq_,module,exports){ arguments[4][103][0].apply(exports,arguments) -},{"dup":103}],217:[function(_dereq_,module,exports){ +},{"./_cof":198,"dup":103}],217:[function(_dereq_,module,exports){ arguments[4][104][0].apply(exports,arguments) -},{"./_cof":199,"dup":104}],218:[function(_dereq_,module,exports){ +},{"./_iterators":225,"./_wks":268,"dup":104}],218:[function(_dereq_,module,exports){ arguments[4][105][0].apply(exports,arguments) -},{"./_iterators":226,"./_wks":269,"dup":105}],219:[function(_dereq_,module,exports){ -arguments[4][106][0].apply(exports,arguments) -},{"./_cof":199,"dup":106}],220:[function(_dereq_,module,exports){ +},{"./_cof":198,"dup":105}],219:[function(_dereq_,module,exports){ +arguments[4][107][0].apply(exports,arguments) +},{"dup":107}],220:[function(_dereq_,module,exports){ arguments[4][108][0].apply(exports,arguments) -},{"dup":108}],221:[function(_dereq_,module,exports){ +},{"./_an-object":190,"dup":108}],221:[function(_dereq_,module,exports){ arguments[4][109][0].apply(exports,arguments) -},{"./_an-object":191,"dup":109}],222:[function(_dereq_,module,exports){ +},{"./_hide":212,"./_object-create":231,"./_property-desc":244,"./_set-to-string-tag":248,"./_wks":268,"dup":109}],222:[function(_dereq_,module,exports){ arguments[4][110][0].apply(exports,arguments) -},{"./_hide":213,"./_object-create":232,"./_property-desc":245,"./_set-to-string-tag":249,"./_wks":269,"dup":110}],223:[function(_dereq_,module,exports){ +},{"./_export":207,"./_has":211,"./_hide":212,"./_iter-create":221,"./_iterators":225,"./_library":226,"./_object-gpo":238,"./_redefine":246,"./_set-to-string-tag":248,"./_wks":268,"dup":110}],223:[function(_dereq_,module,exports){ arguments[4][111][0].apply(exports,arguments) -},{"./_export":208,"./_has":212,"./_hide":213,"./_iter-create":222,"./_iterators":226,"./_library":227,"./_object-gpo":239,"./_redefine":247,"./_set-to-string-tag":249,"./_wks":269,"dup":111}],224:[function(_dereq_,module,exports){ +},{"./_wks":268,"dup":111}],224:[function(_dereq_,module,exports){ arguments[4][112][0].apply(exports,arguments) -},{"./_wks":269,"dup":112}],225:[function(_dereq_,module,exports){ +},{"dup":112}],225:[function(_dereq_,module,exports){ arguments[4][113][0].apply(exports,arguments) },{"dup":113}],226:[function(_dereq_,module,exports){ -arguments[4][114][0].apply(exports,arguments) -},{"dup":114}],227:[function(_dereq_,module,exports){ module.exports = false; -},{}],228:[function(_dereq_,module,exports){ +},{}],227:[function(_dereq_,module,exports){ +arguments[4][115][0].apply(exports,arguments) +},{"./_fails":208,"./_has":211,"./_is-object":219,"./_object-dp":232,"./_uid":265,"dup":115}],228:[function(_dereq_,module,exports){ arguments[4][116][0].apply(exports,arguments) -},{"./_fails":209,"./_has":212,"./_is-object":220,"./_object-dp":233,"./_uid":266,"dup":116}],229:[function(_dereq_,module,exports){ +},{"./_cof":198,"./_global":210,"./_task":254,"dup":116}],229:[function(_dereq_,module,exports){ arguments[4][117][0].apply(exports,arguments) -},{"./_cof":199,"./_global":211,"./_task":255,"dup":117}],230:[function(_dereq_,module,exports){ +},{"./_a-function":187,"dup":117}],230:[function(_dereq_,module,exports){ arguments[4][118][0].apply(exports,arguments) -},{"./_a-function":188,"dup":118}],231:[function(_dereq_,module,exports){ +},{"./_fails":208,"./_iobject":216,"./_object-gops":237,"./_object-keys":240,"./_object-pie":241,"./_to-object":260,"dup":118}],231:[function(_dereq_,module,exports){ arguments[4][119][0].apply(exports,arguments) -},{"./_fails":209,"./_iobject":217,"./_object-gops":238,"./_object-keys":241,"./_object-pie":242,"./_to-object":261,"dup":119}],232:[function(_dereq_,module,exports){ +},{"./_an-object":190,"./_dom-create":204,"./_enum-bug-keys":205,"./_html":213,"./_object-dps":233,"./_shared-key":249,"dup":119}],232:[function(_dereq_,module,exports){ arguments[4][120][0].apply(exports,arguments) -},{"./_an-object":191,"./_dom-create":205,"./_enum-bug-keys":206,"./_html":214,"./_object-dps":234,"./_shared-key":250,"dup":120}],233:[function(_dereq_,module,exports){ +},{"./_an-object":190,"./_descriptors":203,"./_ie8-dom-define":214,"./_to-primitive":261,"dup":120}],233:[function(_dereq_,module,exports){ arguments[4][121][0].apply(exports,arguments) -},{"./_an-object":191,"./_descriptors":204,"./_ie8-dom-define":215,"./_to-primitive":262,"dup":121}],234:[function(_dereq_,module,exports){ +},{"./_an-object":190,"./_descriptors":203,"./_object-dp":232,"./_object-keys":240,"dup":121}],234:[function(_dereq_,module,exports){ arguments[4][122][0].apply(exports,arguments) -},{"./_an-object":191,"./_descriptors":204,"./_object-dp":233,"./_object-keys":241,"dup":122}],235:[function(_dereq_,module,exports){ +},{"./_descriptors":203,"./_has":211,"./_ie8-dom-define":214,"./_object-pie":241,"./_property-desc":244,"./_to-iobject":258,"./_to-primitive":261,"dup":122}],235:[function(_dereq_,module,exports){ arguments[4][123][0].apply(exports,arguments) -},{"./_descriptors":204,"./_has":212,"./_ie8-dom-define":215,"./_object-pie":242,"./_property-desc":245,"./_to-iobject":259,"./_to-primitive":262,"dup":123}],236:[function(_dereq_,module,exports){ +},{"./_object-gopn":236,"./_to-iobject":258,"dup":123}],236:[function(_dereq_,module,exports){ arguments[4][124][0].apply(exports,arguments) -},{"./_object-gopn":237,"./_to-iobject":259,"dup":124}],237:[function(_dereq_,module,exports){ +},{"./_enum-bug-keys":205,"./_object-keys-internal":239,"dup":124}],237:[function(_dereq_,module,exports){ arguments[4][125][0].apply(exports,arguments) -},{"./_enum-bug-keys":206,"./_object-keys-internal":240,"dup":125}],238:[function(_dereq_,module,exports){ +},{"dup":125}],238:[function(_dereq_,module,exports){ arguments[4][126][0].apply(exports,arguments) -},{"dup":126}],239:[function(_dereq_,module,exports){ +},{"./_has":211,"./_shared-key":249,"./_to-object":260,"dup":126}],239:[function(_dereq_,module,exports){ arguments[4][127][0].apply(exports,arguments) -},{"./_has":212,"./_shared-key":250,"./_to-object":261,"dup":127}],240:[function(_dereq_,module,exports){ +},{"./_array-includes":193,"./_has":211,"./_shared-key":249,"./_to-iobject":258,"dup":127}],240:[function(_dereq_,module,exports){ arguments[4][128][0].apply(exports,arguments) -},{"./_array-includes":194,"./_has":212,"./_shared-key":250,"./_to-iobject":259,"dup":128}],241:[function(_dereq_,module,exports){ +},{"./_enum-bug-keys":205,"./_object-keys-internal":239,"dup":128}],241:[function(_dereq_,module,exports){ arguments[4][129][0].apply(exports,arguments) -},{"./_enum-bug-keys":206,"./_object-keys-internal":240,"dup":129}],242:[function(_dereq_,module,exports){ -arguments[4][130][0].apply(exports,arguments) -},{"dup":130}],243:[function(_dereq_,module,exports){ +},{"dup":129}],242:[function(_dereq_,module,exports){ +arguments[4][133][0].apply(exports,arguments) +},{"dup":133}],243:[function(_dereq_,module,exports){ arguments[4][134][0].apply(exports,arguments) -},{"dup":134}],244:[function(_dereq_,module,exports){ +},{"./_an-object":190,"./_is-object":219,"./_new-promise-capability":229,"dup":134}],244:[function(_dereq_,module,exports){ arguments[4][135][0].apply(exports,arguments) -},{"./_an-object":191,"./_is-object":220,"./_new-promise-capability":230,"dup":135}],245:[function(_dereq_,module,exports){ -arguments[4][136][0].apply(exports,arguments) -},{"dup":136}],246:[function(_dereq_,module,exports){ +},{"dup":135}],245:[function(_dereq_,module,exports){ var redefine = _dereq_('./_redefine'); module.exports = function (target, src, safe) { for (var key in src) redefine(target, key, src[key], safe); return target; }; -},{"./_redefine":247}],247:[function(_dereq_,module,exports){ +},{"./_redefine":246}],246:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var hide = _dereq_('./_hide'); var has = _dereq_('./_has'); @@ -11836,7 +11574,7 @@ _dereq_('./_core').inspectSource = function (it) { return typeof this == 'function' && this[SRC] || $toString.call(this); }); -},{"./_core":200,"./_global":211,"./_has":212,"./_hide":213,"./_uid":266}],248:[function(_dereq_,module,exports){ +},{"./_core":199,"./_global":210,"./_has":211,"./_hide":212,"./_uid":265}],247:[function(_dereq_,module,exports){ 'use strict'; var global = _dereq_('./_global'); var dP = _dereq_('./_object-dp'); @@ -11851,17 +11589,17 @@ module.exports = function (KEY) { }); }; -},{"./_descriptors":204,"./_global":211,"./_object-dp":233,"./_wks":269}],249:[function(_dereq_,module,exports){ +},{"./_descriptors":203,"./_global":210,"./_object-dp":232,"./_wks":268}],248:[function(_dereq_,module,exports){ +arguments[4][142][0].apply(exports,arguments) +},{"./_has":211,"./_object-dp":232,"./_wks":268,"dup":142}],249:[function(_dereq_,module,exports){ arguments[4][143][0].apply(exports,arguments) -},{"./_has":212,"./_object-dp":233,"./_wks":269,"dup":143}],250:[function(_dereq_,module,exports){ +},{"./_shared":250,"./_uid":265,"dup":143}],250:[function(_dereq_,module,exports){ arguments[4][144][0].apply(exports,arguments) -},{"./_shared":251,"./_uid":266,"dup":144}],251:[function(_dereq_,module,exports){ +},{"./_global":210,"dup":144}],251:[function(_dereq_,module,exports){ arguments[4][145][0].apply(exports,arguments) -},{"./_global":211,"dup":145}],252:[function(_dereq_,module,exports){ +},{"./_a-function":187,"./_an-object":190,"./_wks":268,"dup":145}],252:[function(_dereq_,module,exports){ arguments[4][146][0].apply(exports,arguments) -},{"./_a-function":188,"./_an-object":191,"./_wks":269,"dup":146}],253:[function(_dereq_,module,exports){ -arguments[4][147][0].apply(exports,arguments) -},{"./_defined":203,"./_to-integer":258,"dup":147}],254:[function(_dereq_,module,exports){ +},{"./_defined":202,"./_to-integer":257,"dup":146}],253:[function(_dereq_,module,exports){ 'use strict'; var toInteger = _dereq_('./_to-integer'); var defined = _dereq_('./_defined'); @@ -11875,11 +11613,11 @@ module.exports = function repeat(count) { return res; }; -},{"./_defined":203,"./_to-integer":258}],255:[function(_dereq_,module,exports){ +},{"./_defined":202,"./_to-integer":257}],254:[function(_dereq_,module,exports){ +arguments[4][147][0].apply(exports,arguments) +},{"./_cof":198,"./_ctx":201,"./_dom-create":204,"./_global":210,"./_html":213,"./_invoke":215,"dup":147}],255:[function(_dereq_,module,exports){ arguments[4][148][0].apply(exports,arguments) -},{"./_cof":199,"./_ctx":202,"./_dom-create":205,"./_global":211,"./_html":214,"./_invoke":216,"dup":148}],256:[function(_dereq_,module,exports){ -arguments[4][149][0].apply(exports,arguments) -},{"./_to-integer":258,"dup":149}],257:[function(_dereq_,module,exports){ +},{"./_to-integer":257,"dup":148}],256:[function(_dereq_,module,exports){ // https://tc39.github.io/ecma262/#sec-toindex var toInteger = _dereq_('./_to-integer'); var toLength = _dereq_('./_to-length'); @@ -11891,17 +11629,17 @@ module.exports = function (it) { return length; }; -},{"./_to-integer":258,"./_to-length":260}],258:[function(_dereq_,module,exports){ +},{"./_to-integer":257,"./_to-length":259}],257:[function(_dereq_,module,exports){ +arguments[4][149][0].apply(exports,arguments) +},{"dup":149}],258:[function(_dereq_,module,exports){ arguments[4][150][0].apply(exports,arguments) -},{"dup":150}],259:[function(_dereq_,module,exports){ +},{"./_defined":202,"./_iobject":216,"dup":150}],259:[function(_dereq_,module,exports){ arguments[4][151][0].apply(exports,arguments) -},{"./_defined":203,"./_iobject":217,"dup":151}],260:[function(_dereq_,module,exports){ +},{"./_to-integer":257,"dup":151}],260:[function(_dereq_,module,exports){ arguments[4][152][0].apply(exports,arguments) -},{"./_to-integer":258,"dup":152}],261:[function(_dereq_,module,exports){ +},{"./_defined":202,"dup":152}],261:[function(_dereq_,module,exports){ arguments[4][153][0].apply(exports,arguments) -},{"./_defined":203,"dup":153}],262:[function(_dereq_,module,exports){ -arguments[4][154][0].apply(exports,arguments) -},{"./_is-object":220,"dup":154}],263:[function(_dereq_,module,exports){ +},{"./_is-object":219,"dup":153}],262:[function(_dereq_,module,exports){ 'use strict'; if (_dereq_('./_descriptors')) { var LIBRARY = _dereq_('./_library'); @@ -12383,7 +12121,7 @@ if (_dereq_('./_descriptors')) { }; } else module.exports = function () { /* empty */ }; -},{"./_an-instance":190,"./_array-copy-within":192,"./_array-fill":193,"./_array-includes":194,"./_array-methods":195,"./_classof":198,"./_ctx":202,"./_descriptors":204,"./_export":208,"./_fails":209,"./_global":211,"./_has":212,"./_hide":213,"./_is-array-iter":218,"./_is-object":220,"./_iter-detect":224,"./_iterators":226,"./_library":227,"./_object-create":232,"./_object-dp":233,"./_object-gopd":235,"./_object-gopn":237,"./_object-gpo":239,"./_property-desc":245,"./_redefine-all":246,"./_set-species":248,"./_species-constructor":252,"./_to-absolute-index":256,"./_to-index":257,"./_to-integer":258,"./_to-length":260,"./_to-object":261,"./_to-primitive":262,"./_typed":265,"./_typed-buffer":264,"./_uid":266,"./_wks":269,"./core.get-iterator-method":270,"./es6.array.iterator":274}],264:[function(_dereq_,module,exports){ +},{"./_an-instance":189,"./_array-copy-within":191,"./_array-fill":192,"./_array-includes":193,"./_array-methods":194,"./_classof":197,"./_ctx":201,"./_descriptors":203,"./_export":207,"./_fails":208,"./_global":210,"./_has":211,"./_hide":212,"./_is-array-iter":217,"./_is-object":219,"./_iter-detect":223,"./_iterators":225,"./_library":226,"./_object-create":231,"./_object-dp":232,"./_object-gopd":234,"./_object-gopn":236,"./_object-gpo":238,"./_property-desc":244,"./_redefine-all":245,"./_set-species":247,"./_species-constructor":251,"./_to-absolute-index":255,"./_to-index":256,"./_to-integer":257,"./_to-length":259,"./_to-object":260,"./_to-primitive":261,"./_typed":264,"./_typed-buffer":263,"./_uid":265,"./_wks":268,"./core.get-iterator-method":269,"./es6.array.iterator":273}],263:[function(_dereq_,module,exports){ 'use strict'; var global = _dereq_('./_global'); var DESCRIPTORS = _dereq_('./_descriptors'); @@ -12661,7 +12399,7 @@ hide($DataView[PROTOTYPE], $typed.VIEW, true); exports[ARRAY_BUFFER] = $ArrayBuffer; exports[DATA_VIEW] = $DataView; -},{"./_an-instance":190,"./_array-fill":193,"./_descriptors":204,"./_fails":209,"./_global":211,"./_hide":213,"./_library":227,"./_object-dp":233,"./_object-gopn":237,"./_redefine-all":246,"./_set-to-string-tag":249,"./_to-index":257,"./_to-integer":258,"./_to-length":260,"./_typed":265}],265:[function(_dereq_,module,exports){ +},{"./_an-instance":189,"./_array-fill":192,"./_descriptors":203,"./_fails":208,"./_global":210,"./_hide":212,"./_library":226,"./_object-dp":232,"./_object-gopn":236,"./_redefine-all":245,"./_set-to-string-tag":248,"./_to-index":256,"./_to-integer":257,"./_to-length":259,"./_typed":264}],264:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var hide = _dereq_('./_hide'); var uid = _dereq_('./_uid'); @@ -12691,17 +12429,17 @@ module.exports = { VIEW: VIEW }; -},{"./_global":211,"./_hide":213,"./_uid":266}],266:[function(_dereq_,module,exports){ -arguments[4][155][0].apply(exports,arguments) -},{"dup":155}],267:[function(_dereq_,module,exports){ +},{"./_global":210,"./_hide":212,"./_uid":265}],265:[function(_dereq_,module,exports){ +arguments[4][154][0].apply(exports,arguments) +},{"dup":154}],266:[function(_dereq_,module,exports){ +arguments[4][156][0].apply(exports,arguments) +},{"./_core":199,"./_global":210,"./_library":226,"./_object-dp":232,"./_wks-ext":267,"dup":156}],267:[function(_dereq_,module,exports){ arguments[4][157][0].apply(exports,arguments) -},{"./_core":200,"./_global":211,"./_library":227,"./_object-dp":233,"./_wks-ext":268,"dup":157}],268:[function(_dereq_,module,exports){ +},{"./_wks":268,"dup":157}],268:[function(_dereq_,module,exports){ arguments[4][158][0].apply(exports,arguments) -},{"./_wks":269,"dup":158}],269:[function(_dereq_,module,exports){ +},{"./_global":210,"./_shared":250,"./_uid":265,"dup":158}],269:[function(_dereq_,module,exports){ arguments[4][159][0].apply(exports,arguments) -},{"./_global":211,"./_shared":251,"./_uid":266,"dup":159}],270:[function(_dereq_,module,exports){ -arguments[4][160][0].apply(exports,arguments) -},{"./_classof":198,"./_core":200,"./_iterators":226,"./_wks":269,"dup":160}],271:[function(_dereq_,module,exports){ +},{"./_classof":197,"./_core":199,"./_iterators":225,"./_wks":268,"dup":159}],270:[function(_dereq_,module,exports){ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) var $export = _dereq_('./_export'); @@ -12709,7 +12447,7 @@ $export($export.P, 'Array', { fill: _dereq_('./_array-fill') }); _dereq_('./_add-to-unscopables')('fill'); -},{"./_add-to-unscopables":189,"./_array-fill":193,"./_export":208}],272:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":188,"./_array-fill":192,"./_export":207}],271:[function(_dereq_,module,exports){ 'use strict'; // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) var $export = _dereq_('./_export'); @@ -12725,13 +12463,13 @@ $export($export.P + $export.F * forced, 'Array', { }); _dereq_('./_add-to-unscopables')(KEY); -},{"./_add-to-unscopables":189,"./_array-methods":195,"./_export":208}],273:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":188,"./_array-methods":194,"./_export":207}],272:[function(_dereq_,module,exports){ +arguments[4][162][0].apply(exports,arguments) +},{"./_create-property":200,"./_ctx":201,"./_export":207,"./_is-array-iter":217,"./_iter-call":220,"./_iter-detect":223,"./_to-length":259,"./_to-object":260,"./core.get-iterator-method":269,"dup":162}],273:[function(_dereq_,module,exports){ arguments[4][163][0].apply(exports,arguments) -},{"./_create-property":201,"./_ctx":202,"./_export":208,"./_is-array-iter":218,"./_iter-call":221,"./_iter-detect":224,"./_to-length":260,"./_to-object":261,"./core.get-iterator-method":270,"dup":163}],274:[function(_dereq_,module,exports){ -arguments[4][164][0].apply(exports,arguments) -},{"./_add-to-unscopables":189,"./_iter-define":223,"./_iter-step":225,"./_iterators":226,"./_to-iobject":259,"dup":164}],275:[function(_dereq_,module,exports){ -arguments[4][167][0].apply(exports,arguments) -},{"./_export":208,"./_object-assign":231,"dup":167}],276:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":188,"./_iter-define":222,"./_iter-step":224,"./_iterators":225,"./_to-iobject":258,"dup":163}],274:[function(_dereq_,module,exports){ +arguments[4][166][0].apply(exports,arguments) +},{"./_export":207,"./_object-assign":230,"dup":166}],275:[function(_dereq_,module,exports){ 'use strict'; // 19.1.3.6 Object.prototype.toString() var classof = _dereq_('./_classof'); @@ -12743,11 +12481,11 @@ if (test + '' != '[object z]') { }, true); } -},{"./_classof":198,"./_redefine":247,"./_wks":269}],277:[function(_dereq_,module,exports){ +},{"./_classof":197,"./_redefine":246,"./_wks":268}],276:[function(_dereq_,module,exports){ +arguments[4][173][0].apply(exports,arguments) +},{"./_a-function":187,"./_an-instance":189,"./_classof":197,"./_core":199,"./_ctx":201,"./_export":207,"./_for-of":209,"./_global":210,"./_is-object":219,"./_iter-detect":223,"./_library":226,"./_microtask":228,"./_new-promise-capability":229,"./_perform":242,"./_promise-resolve":243,"./_redefine-all":245,"./_set-species":247,"./_set-to-string-tag":248,"./_species-constructor":251,"./_task":254,"./_wks":268,"dup":173}],277:[function(_dereq_,module,exports){ arguments[4][174][0].apply(exports,arguments) -},{"./_a-function":188,"./_an-instance":190,"./_classof":198,"./_core":200,"./_ctx":202,"./_export":208,"./_for-of":210,"./_global":211,"./_is-object":220,"./_iter-detect":224,"./_library":227,"./_microtask":229,"./_new-promise-capability":230,"./_perform":243,"./_promise-resolve":244,"./_redefine-all":246,"./_set-species":248,"./_set-to-string-tag":249,"./_species-constructor":252,"./_task":255,"./_wks":269,"dup":174}],278:[function(_dereq_,module,exports){ -arguments[4][175][0].apply(exports,arguments) -},{"./_iter-define":223,"./_string-at":253,"dup":175}],279:[function(_dereq_,module,exports){ +},{"./_iter-define":222,"./_string-at":252,"dup":174}],278:[function(_dereq_,module,exports){ var $export = _dereq_('./_export'); $export($export.P, 'String', { @@ -12755,16 +12493,16 @@ $export($export.P, 'String', { repeat: _dereq_('./_string-repeat') }); -},{"./_export":208,"./_string-repeat":254}],280:[function(_dereq_,module,exports){ -arguments[4][176][0].apply(exports,arguments) -},{"./_an-object":191,"./_descriptors":204,"./_enum-keys":207,"./_export":208,"./_fails":209,"./_global":211,"./_has":212,"./_hide":213,"./_is-array":219,"./_is-object":220,"./_library":227,"./_meta":228,"./_object-create":232,"./_object-dp":233,"./_object-gopd":235,"./_object-gopn":237,"./_object-gopn-ext":236,"./_object-gops":238,"./_object-keys":241,"./_object-pie":242,"./_property-desc":245,"./_redefine":247,"./_set-to-string-tag":249,"./_shared":251,"./_to-iobject":259,"./_to-primitive":262,"./_uid":266,"./_wks":269,"./_wks-define":267,"./_wks-ext":268,"dup":176}],281:[function(_dereq_,module,exports){ +},{"./_export":207,"./_string-repeat":253}],279:[function(_dereq_,module,exports){ +arguments[4][175][0].apply(exports,arguments) +},{"./_an-object":190,"./_descriptors":203,"./_enum-keys":206,"./_export":207,"./_fails":208,"./_global":210,"./_has":211,"./_hide":212,"./_is-array":218,"./_is-object":219,"./_library":226,"./_meta":227,"./_object-create":231,"./_object-dp":232,"./_object-gopd":234,"./_object-gopn":236,"./_object-gopn-ext":235,"./_object-gops":237,"./_object-keys":240,"./_object-pie":241,"./_property-desc":244,"./_redefine":246,"./_set-to-string-tag":248,"./_shared":250,"./_to-iobject":258,"./_to-primitive":261,"./_uid":265,"./_wks":268,"./_wks-define":266,"./_wks-ext":267,"dup":175}],280:[function(_dereq_,module,exports){ _dereq_('./_typed-array')('Uint8', 1, function (init) { return function Uint8Array(data, byteOffset, length) { return init(this, data, byteOffset, length); }; }); -},{"./_typed-array":263}],282:[function(_dereq_,module,exports){ +},{"./_typed-array":262}],281:[function(_dereq_,module,exports){ 'use strict'; // https://github.com/tc39/Array.prototype.includes var $export = _dereq_('./_export'); @@ -12778,15 +12516,15 @@ $export($export.P, 'Array', { _dereq_('./_add-to-unscopables')('includes'); -},{"./_add-to-unscopables":189,"./_array-includes":194,"./_export":208}],283:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":188,"./_array-includes":193,"./_export":207}],282:[function(_dereq_,module,exports){ +arguments[4][180][0].apply(exports,arguments) +},{"./_core":199,"./_export":207,"./_global":210,"./_promise-resolve":243,"./_species-constructor":251,"dup":180}],283:[function(_dereq_,module,exports){ arguments[4][181][0].apply(exports,arguments) -},{"./_core":200,"./_export":208,"./_global":211,"./_promise-resolve":244,"./_species-constructor":252,"dup":181}],284:[function(_dereq_,module,exports){ +},{"./_export":207,"./_new-promise-capability":229,"./_perform":242,"dup":181}],284:[function(_dereq_,module,exports){ arguments[4][182][0].apply(exports,arguments) -},{"./_export":208,"./_new-promise-capability":230,"./_perform":243,"dup":182}],285:[function(_dereq_,module,exports){ +},{"./_wks-define":266,"dup":182}],285:[function(_dereq_,module,exports){ arguments[4][183][0].apply(exports,arguments) -},{"./_wks-define":267,"dup":183}],286:[function(_dereq_,module,exports){ -arguments[4][184][0].apply(exports,arguments) -},{"./_wks-define":267,"dup":184}],287:[function(_dereq_,module,exports){ +},{"./_wks-define":266,"dup":183}],286:[function(_dereq_,module,exports){ var $iterators = _dereq_('./es6.array.iterator'); var getKeys = _dereq_('./_object-keys'); var redefine = _dereq_('./_redefine'); @@ -12846,7 +12584,7 @@ for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++ } } -},{"./_global":211,"./_hide":213,"./_iterators":226,"./_object-keys":241,"./_redefine":247,"./_wks":269,"./es6.array.iterator":274}],288:[function(_dereq_,module,exports){ +},{"./_global":210,"./_hide":212,"./_iterators":225,"./_object-keys":240,"./_redefine":246,"./_wks":268,"./es6.array.iterator":273}],287:[function(_dereq_,module,exports){ 'use strict'; var elliptic = exports; @@ -12860,7 +12598,7 @@ elliptic.curves = _dereq_('./elliptic/curves'); elliptic.ec = _dereq_('./elliptic/ec'); elliptic.eddsa = _dereq_('./elliptic/eddsa'); -},{"./elliptic/curve":291,"./elliptic/curves":294,"./elliptic/ec":295,"./elliptic/eddsa":298,"./elliptic/utils":302,"brorand":46}],289:[function(_dereq_,module,exports){ +},{"./elliptic/curve":290,"./elliptic/curves":293,"./elliptic/ec":294,"./elliptic/eddsa":297,"./elliptic/utils":301,"brorand":45}],288:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -13237,7 +12975,7 @@ BasePoint.prototype.dblp = function dblp(k) { return r; }; -},{"../../elliptic":288,"bn.js":45}],290:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"bn.js":44}],289:[function(_dereq_,module,exports){ 'use strict'; var curve = _dereq_('../curve'); @@ -13672,7 +13410,7 @@ Point.prototype.eqXToP = function eqXToP(x) { Point.prototype.toP = Point.prototype.normalize; Point.prototype.mixedAdd = Point.prototype.add; -},{"../../elliptic":288,"../curve":291,"bn.js":45,"inherits":317}],291:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"../curve":290,"bn.js":44,"inherits":316}],290:[function(_dereq_,module,exports){ 'use strict'; var curve = exports; @@ -13682,7 +13420,7 @@ curve.short = _dereq_('./short'); curve.mont = _dereq_('./mont'); curve.edwards = _dereq_('./edwards'); -},{"./base":289,"./edwards":290,"./mont":292,"./short":293}],292:[function(_dereq_,module,exports){ +},{"./base":288,"./edwards":289,"./mont":291,"./short":292}],291:[function(_dereq_,module,exports){ 'use strict'; var curve = _dereq_('../curve'); @@ -13885,7 +13623,7 @@ Point.prototype.getX = function getX() { return this.x.fromRed(); }; -},{"../../elliptic":288,"../curve":291,"bn.js":45,"inherits":317}],293:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"../curve":290,"bn.js":44,"inherits":316}],292:[function(_dereq_,module,exports){ 'use strict'; var curve = _dereq_('../curve'); @@ -14824,7 +14562,7 @@ JPoint.prototype.isInfinity = function isInfinity() { return this.z.cmpn(0) === 0; }; -},{"../../elliptic":288,"../curve":291,"bn.js":45,"inherits":317}],294:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"../curve":290,"bn.js":44,"inherits":316}],293:[function(_dereq_,module,exports){ 'use strict'; var curves = exports; @@ -15095,7 +14833,7 @@ defineCurve('secp256k1', { ] }); -},{"../elliptic":288,"./precomputed/secp256k1":301,"hash.js":304}],295:[function(_dereq_,module,exports){ +},{"../elliptic":287,"./precomputed/secp256k1":300,"hash.js":303}],294:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -15343,7 +15081,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { throw new Error('Unable to find valid recovery factor'); }; -},{"../../elliptic":288,"./key":296,"./signature":297,"bn.js":45,"hmac-drbg":316}],296:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"./key":295,"./signature":296,"bn.js":44,"hmac-drbg":315}],295:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -15467,7 +15205,7 @@ KeyPair.prototype.inspect = function inspect() { ' pub: ' + (this.pub && this.pub.inspect()) + ' >'; }; -},{"../../elliptic":288,"bn.js":45}],297:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"bn.js":44}],296:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -15604,7 +15342,7 @@ Signature.prototype.toDER = function toDER(enc) { return utils.encode(res, enc); }; -},{"../../elliptic":288,"bn.js":45}],298:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"bn.js":44}],297:[function(_dereq_,module,exports){ 'use strict'; var hash = _dereq_('hash.js'); @@ -15746,7 +15484,7 @@ EDDSA.prototype.isPoint = function isPoint(val) { return val instanceof this.pointClass; }; -},{"../../elliptic":288,"./key":299,"./signature":300,"hash.js":304,"hmac-drbg":316}],299:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"./key":298,"./signature":299,"hash.js":303,"hmac-drbg":315}],298:[function(_dereq_,module,exports){ 'use strict'; var elliptic = _dereq_('../../elliptic'); @@ -15852,7 +15590,7 @@ KeyPair.prototype.getPublic = function getPublic(enc, compact) { module.exports = KeyPair; -},{"../../elliptic":288}],300:[function(_dereq_,module,exports){ +},{"../../elliptic":287}],299:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -15920,7 +15658,7 @@ Signature.prototype.toHex = function toHex() { module.exports = Signature; -},{"../../elliptic":288,"bn.js":45}],301:[function(_dereq_,module,exports){ +},{"../../elliptic":287,"bn.js":44}],300:[function(_dereq_,module,exports){ module.exports = { doubles: { step: 4, @@ -16702,7 +16440,7 @@ module.exports = { } }; -},{}],302:[function(_dereq_,module,exports){ +},{}],301:[function(_dereq_,module,exports){ 'use strict'; var utils = exports; @@ -16824,10 +16562,11 @@ function intFromLE(bytes) { utils.intFromLE = intFromLE; -},{"bn.js":45,"minimalistic-assert":318,"minimalistic-crypto-utils":319}],303:[function(_dereq_,module,exports){ +},{"bn.js":44,"minimalistic-assert":317,"minimalistic-crypto-utils":318}],302:[function(_dereq_,module,exports){ +"use strict"; // email-addresses.js - RFC 5322 email address parser -// v 3.0.1 +// v 3.0.3 // // http://tools.ietf.org/html/rfc5322 // @@ -16853,1051 +16592,948 @@ utils.intFromLE = intFromLE; // http://code.google.com/p/isemail/ , which helped greatly in writing this parser. (function (global) { -"use strict"; + "use strict"; -function parse5322(opts) { + function parse5322(opts) { - // tokenizing functions + // tokenizing functions - function inStr() { return pos < len; } - function curTok() { return parseString[pos]; } - function getPos() { return pos; } - function setPos(i) { pos = i; } - function nextTok() { pos += 1; } - function initialize() { - pos = 0; - len = parseString.length; - } - - // parser helper functions - - function o(name, value) { - return { - name: name, - tokens: value || "", - semantic: value || "", - children: [] - }; - } - - function wrap(name, ast) { - var n; - if (ast === null) { return null; } - n = o(name); - n.tokens = ast.tokens; - n.semantic = ast.semantic; - n.children.push(ast); - return n; - } - - function add(parent, child) { - if (child !== null) { - parent.tokens += child.tokens; - parent.semantic += child.semantic; + function inStr() { + return pos < len; } - parent.children.push(child); - return parent; - } - - function compareToken(fxnCompare) { - var tok; - if (!inStr()) { return null; } - tok = curTok(); - if (fxnCompare(tok)) { - nextTok(); - return o('token', tok); + function curTok() { + return parseString[pos]; + } + function getPos() { + return pos; + } + function setPos(i) { + pos = i; + } + function nextTok() { + pos += 1; + } + function initialize() { + pos = 0; + len = parseString.length; } - return null; - } - function literal(lit) { - return function literalFunc() { - return wrap('literal', compareToken(function (tok) { - return tok === lit; - })); - }; - } + // parser helper functions - function and() { - var args = arguments; - return function andFunc() { - var i, s, result, start; - start = getPos(); - s = o('and'); - for (i = 0; i < args.length; i += 1) { - result = args[i](); - if (result === null) { + function o(name, value) { + return { + name: name, + tokens: value || "", + semantic: value || "", + children: [] + }; + } + + function wrap(name, ast) { + var n; + if (ast === null) { + return null; + } + n = o(name); + n.tokens = ast.tokens; + n.semantic = ast.semantic; + n.children.push(ast); + return n; + } + + function add(parent, child) { + if (child !== null) { + parent.tokens += child.tokens; + parent.semantic += child.semantic; + } + parent.children.push(child); + return parent; + } + + function compareToken(fxnCompare) { + var tok; + if (!inStr()) { + return null; + } + tok = curTok(); + if (fxnCompare(tok)) { + nextTok(); + return o('token', tok); + } + return null; + } + + function literal(lit) { + return function literalFunc() { + return wrap('literal', compareToken(function (tok) { + return tok === lit; + })); + }; + } + + function and() { + var args = arguments; + return function andFunc() { + var i, s, result, start; + start = getPos(); + s = o('and'); + for (i = 0; i < args.length; i += 1) { + result = args[i](); + if (result === null) { + setPos(start); + return null; + } + add(s, result); + } + return s; + }; + } + + function or() { + var args = arguments; + return function orFunc() { + var i, result, start; + start = getPos(); + for (i = 0; i < args.length; i += 1) { + result = args[i](); + if (result !== null) { + return result; + } + setPos(start); + } + return null; + }; + } + + function opt(prod) { + return function optFunc() { + var result, start; + start = getPos(); + result = prod(); + if (result !== null) { + return result; + } else { + setPos(start); + return o('opt'); + } + }; + } + + function invis(prod) { + return function invisFunc() { + var result = prod(); + if (result !== null) { + result.semantic = ""; + } + return result; + }; + } + + function colwsp(prod) { + return function collapseSemanticWhitespace() { + var result = prod(); + if (result !== null && result.semantic.length > 0) { + result.semantic = " "; + } + return result; + }; + } + + function star(prod, minimum) { + return function starFunc() { + var s, result, count, start, min; + start = getPos(); + s = o('star'); + count = 0; + min = minimum === undefined ? 0 : minimum; + while ((result = prod()) !== null) { + count = count + 1; + add(s, result); + } + if (count >= min) { + return s; + } else { setPos(start); return null; } - add(s, result); - } - return s; - }; - } + }; + } - function or() { - var args = arguments; - return function orFunc() { - var i, result, start; - start = getPos(); - for (i = 0; i < args.length; i += 1) { - result = args[i](); - if (result !== null) { - return result; + // One expects names to get normalized like this: + // " First Last " -> "First Last" + // "First Last" -> "First Last" + // "First Last" -> "First Last" + function collapseWhitespace(s) { + return s.replace(/([ \t]|\r\n)+/g, ' ').replace(/^\s*/, '').replace(/\s*$/, ''); + } + + // UTF-8 pseudo-production (RFC 6532) + // RFC 6532 extends RFC 5322 productions to include UTF-8 + // using the following productions: + // UTF8-non-ascii = UTF8-2 / UTF8-3 / UTF8-4 + // UTF8-2 = + // UTF8-3 = + // UTF8-4 = + // + // For reference, the extended RFC 5322 productions are: + // VCHAR =/ UTF8-non-ascii + // ctext =/ UTF8-non-ascii + // atext =/ UTF8-non-ascii + // qtext =/ UTF8-non-ascii + // dtext =/ UTF8-non-ascii + function isUTF8NonAscii(tok) { + // In JavaScript, we just deal directly with Unicode code points, + // so we aren't checking individual bytes for UTF-8 encoding. + // Just check that the character is non-ascii. + return tok.charCodeAt(0) >= 128; + } + + // common productions (RFC 5234) + // http://tools.ietf.org/html/rfc5234 + // B.1. Core Rules + + // CR = %x0D + // ; carriage return + function cr() { + return wrap('cr', literal('\r')()); + } + + // CRLF = CR LF + // ; Internet standard newline + function crlf() { + return wrap('crlf', and(cr, lf)()); + } + + // DQUOTE = %x22 + // ; " (Double Quote) + function dquote() { + return wrap('dquote', literal('"')()); + } + + // HTAB = %x09 + // ; horizontal tab + function htab() { + return wrap('htab', literal('\t')()); + } + + // LF = %x0A + // ; linefeed + function lf() { + return wrap('lf', literal('\n')()); + } + + // SP = %x20 + function sp() { + return wrap('sp', literal(' ')()); + } + + // VCHAR = %x21-7E + // ; visible (printing) characters + function vchar() { + return wrap('vchar', compareToken(function vcharFunc(tok) { + var code = tok.charCodeAt(0); + var accept = 0x21 <= code && code <= 0x7E; + if (opts.rfc6532) { + accept = accept || isUTF8NonAscii(tok); } - setPos(start); - } - return null; - }; - } + return accept; + })); + } - function opt(prod) { - return function optFunc() { - var result, start; - start = getPos(); - result = prod(); - if (result !== null) { - return result; - } - else { - setPos(start); - return o('opt'); - } - }; - } + // WSP = SP / HTAB + // ; white space + function wsp() { + return wrap('wsp', or(sp, htab)()); + } - function invis(prod) { - return function invisFunc() { - var result = prod(); - if (result !== null) { - result.semantic = ""; - } - return result; - }; - } + // email productions (RFC 5322) + // http://tools.ietf.org/html/rfc5322 + // 3.2.1. Quoted characters - function colwsp(prod) { - return function collapseSemanticWhitespace() { - var result = prod(); - if (result !== null && result.semantic.length > 0) { - result.semantic = " "; - } - return result; - }; - } - - function star(prod, minimum) { - return function starFunc() { - var s, result, count, start, min; - start = getPos(); - s = o('star'); - count = 0; - min = minimum === undefined ? 0 : minimum; - while ((result = prod()) !== null) { - count = count + 1; - add(s, result); - } - if (count >= min) { - return s; - } - else { - setPos(start); + // quoted-pair = ("\" (VCHAR / WSP)) / obs-qp + function quotedPair() { + var qp = wrap('quoted-pair', or(and(literal('\\'), or(vchar, wsp)), obsQP)()); + if (qp === null) { return null; } - }; - } + // a quoted pair will be two characters, and the "\" character + // should be semantically "invisible" (RFC 5322 3.2.1) + qp.semantic = qp.semantic[1]; + return qp; + } - // One expects names to get normalized like this: - // " First Last " -> "First Last" - // "First Last" -> "First Last" - // "First Last" -> "First Last" - function collapseWhitespace(s) { - return s.replace(/([ \t]|\r\n)+/g, ' ').replace(/^\s*/, '').replace(/\s*$/, ''); - } + // 3.2.2. Folding White Space and Comments - // UTF-8 pseudo-production (RFC 6532) - // RFC 6532 extends RFC 5322 productions to include UTF-8 - // using the following productions: - // UTF8-non-ascii = UTF8-2 / UTF8-3 / UTF8-4 - // UTF8-2 = - // UTF8-3 = - // UTF8-4 = - // - // For reference, the extended RFC 5322 productions are: - // VCHAR =/ UTF8-non-ascii - // ctext =/ UTF8-non-ascii - // atext =/ UTF8-non-ascii - // qtext =/ UTF8-non-ascii - // dtext =/ UTF8-non-ascii - function isUTF8NonAscii(tok) { - // In JavaScript, we just deal directly with Unicode code points, - // so we aren't checking individual bytes for UTF-8 encoding. - // Just check that the character is non-ascii. - return tok.charCodeAt(0) >= 128; - } + // FWS = ([*WSP CRLF] 1*WSP) / obs-FWS + function fws() { + return wrap('fws', or(obsFws, and(opt(and(star(wsp), invis(crlf))), star(wsp, 1)))()); + } - - // common productions (RFC 5234) - // http://tools.ietf.org/html/rfc5234 - // B.1. Core Rules - - // CR = %x0D - // ; carriage return - function cr() { return wrap('cr', literal('\r')()); } - - // CRLF = CR LF - // ; Internet standard newline - function crlf() { return wrap('crlf', and(cr, lf)()); } - - // DQUOTE = %x22 - // ; " (Double Quote) - function dquote() { return wrap('dquote', literal('"')()); } - - // HTAB = %x09 - // ; horizontal tab - function htab() { return wrap('htab', literal('\t')()); } - - // LF = %x0A - // ; linefeed - function lf() { return wrap('lf', literal('\n')()); } - - // SP = %x20 - function sp() { return wrap('sp', literal(' ')()); } - - // VCHAR = %x21-7E - // ; visible (printing) characters - function vchar() { - return wrap('vchar', compareToken(function vcharFunc(tok) { - var code = tok.charCodeAt(0); - var accept = (0x21 <= code && code <= 0x7E); - if (opts.rfc6532) { - accept = accept || isUTF8NonAscii(tok); - } - return accept; - })); - } - - // WSP = SP / HTAB - // ; white space - function wsp() { return wrap('wsp', or(sp, htab)()); } - - - // email productions (RFC 5322) - // http://tools.ietf.org/html/rfc5322 - // 3.2.1. Quoted characters - - // quoted-pair = ("\" (VCHAR / WSP)) / obs-qp - function quotedPair() { - var qp = wrap('quoted-pair', - or( - and(literal('\\'), or(vchar, wsp)), - obsQP - )()); - if (qp === null) { return null; } - // a quoted pair will be two characters, and the "\" character - // should be semantically "invisible" (RFC 5322 3.2.1) - qp.semantic = qp.semantic[1]; - return qp; - } - - // 3.2.2. Folding White Space and Comments - - // FWS = ([*WSP CRLF] 1*WSP) / obs-FWS - function fws() { - return wrap('fws', or( - obsFws, - and( - opt(and( - star(wsp), - invis(crlf) - )), - star(wsp, 1) - ) - )()); - } - - // ctext = %d33-39 / ; Printable US-ASCII - // %d42-91 / ; characters not including - // %d93-126 / ; "(", ")", or "\" - // obs-ctext - function ctext() { - return wrap('ctext', or( - function ctextFunc1() { + // ctext = %d33-39 / ; Printable US-ASCII + // %d42-91 / ; characters not including + // %d93-126 / ; "(", ")", or "\" + // obs-ctext + function ctext() { + return wrap('ctext', or(function ctextFunc1() { return compareToken(function ctextFunc2(tok) { var code = tok.charCodeAt(0); - var accept = - (33 <= code && code <= 39) || - (42 <= code && code <= 91) || - (93 <= code && code <= 126); + var accept = 33 <= code && code <= 39 || 42 <= code && code <= 91 || 93 <= code && code <= 126; if (opts.rfc6532) { accept = accept || isUTF8NonAscii(tok); } return accept; }); - }, - obsCtext - )()); - } - - // ccontent = ctext / quoted-pair / comment - function ccontent() { - return wrap('ccontent', or(ctext, quotedPair, comment)()); - } - - // comment = "(" *([FWS] ccontent) [FWS] ")" - function comment() { - return wrap('comment', and( - literal('('), - star(and(opt(fws), ccontent)), - opt(fws), - literal(')') - )()); - } - - // CFWS = (1*([FWS] comment) [FWS]) / FWS - function cfws() { - return wrap('cfws', or( - and( - star( - and(opt(fws), comment), - 1 - ), - opt(fws) - ), - fws - )()); - } - - // 3.2.3. Atom - - //atext = ALPHA / DIGIT / ; Printable US-ASCII - // "!" / "#" / ; characters not including - // "$" / "%" / ; specials. Used for atoms. - // "&" / "'" / - // "*" / "+" / - // "-" / "/" / - // "=" / "?" / - // "^" / "_" / - // "`" / "{" / - // "|" / "}" / - // "~" - function atext() { - return wrap('atext', compareToken(function atextFunc(tok) { - var accept = - ('a' <= tok && tok <= 'z') || - ('A' <= tok && tok <= 'Z') || - ('0' <= tok && tok <= '9') || - (['!', '#', '$', '%', '&', '\'', '*', '+', '-', '/', - '=', '?', '^', '_', '`', '{', '|', '}', '~'].indexOf(tok) >= 0); - if (opts.rfc6532) { - accept = accept || isUTF8NonAscii(tok); - } - return accept; - })); - } - - // atom = [CFWS] 1*atext [CFWS] - function atom() { - return wrap('atom', and(colwsp(opt(cfws)), star(atext, 1), colwsp(opt(cfws)))()); - } - - // dot-atom-text = 1*atext *("." 1*atext) - function dotAtomText() { - var s, maybeText; - s = wrap('dot-atom-text', star(atext, 1)()); - if (s === null) { return s; } - maybeText = star(and(literal('.'), star(atext, 1)))(); - if (maybeText !== null) { - add(s, maybeText); + }, obsCtext)()); } - return s; - } - // dot-atom = [CFWS] dot-atom-text [CFWS] - function dotAtom() { - return wrap('dot-atom', and(invis(opt(cfws)), dotAtomText, invis(opt(cfws)))()); - } + // ccontent = ctext / quoted-pair / comment + function ccontent() { + return wrap('ccontent', or(ctext, quotedPair, comment)()); + } - // 3.2.4. Quoted Strings + // comment = "(" *([FWS] ccontent) [FWS] ")" + function comment() { + return wrap('comment', and(literal('('), star(and(opt(fws), ccontent)), opt(fws), literal(')'))()); + } - // qtext = %d33 / ; Printable US-ASCII - // %d35-91 / ; characters not including - // %d93-126 / ; "\" or the quote character - // obs-qtext - function qtext() { - return wrap('qtext', or( - function qtextFunc1() { + // CFWS = (1*([FWS] comment) [FWS]) / FWS + function cfws() { + return wrap('cfws', or(and(star(and(opt(fws), comment), 1), opt(fws)), fws)()); + } + + // 3.2.3. Atom + + //atext = ALPHA / DIGIT / ; Printable US-ASCII + // "!" / "#" / ; characters not including + // "$" / "%" / ; specials. Used for atoms. + // "&" / "'" / + // "*" / "+" / + // "-" / "/" / + // "=" / "?" / + // "^" / "_" / + // "`" / "{" / + // "|" / "}" / + // "~" + function atext() { + return wrap('atext', compareToken(function atextFunc(tok) { + var accept = 'a' <= tok && tok <= 'z' || 'A' <= tok && tok <= 'Z' || '0' <= tok && tok <= '9' || ['!', '#', '$', '%', '&', '\'', '*', '+', '-', '/', '=', '?', '^', '_', '`', '{', '|', '}', '~'].indexOf(tok) >= 0; + if (opts.rfc6532) { + accept = accept || isUTF8NonAscii(tok); + } + return accept; + })); + } + + // atom = [CFWS] 1*atext [CFWS] + function atom() { + return wrap('atom', and(colwsp(opt(cfws)), star(atext, 1), colwsp(opt(cfws)))()); + } + + // dot-atom-text = 1*atext *("." 1*atext) + function dotAtomText() { + var s, maybeText; + s = wrap('dot-atom-text', star(atext, 1)()); + if (s === null) { + return s; + } + maybeText = star(and(literal('.'), star(atext, 1)))(); + if (maybeText !== null) { + add(s, maybeText); + } + return s; + } + + // dot-atom = [CFWS] dot-atom-text [CFWS] + function dotAtom() { + return wrap('dot-atom', and(invis(opt(cfws)), dotAtomText, invis(opt(cfws)))()); + } + + // 3.2.4. Quoted Strings + + // qtext = %d33 / ; Printable US-ASCII + // %d35-91 / ; characters not including + // %d93-126 / ; "\" or the quote character + // obs-qtext + function qtext() { + return wrap('qtext', or(function qtextFunc1() { return compareToken(function qtextFunc2(tok) { var code = tok.charCodeAt(0); - var accept = - (33 === code) || - (35 <= code && code <= 91) || - (93 <= code && code <= 126); + var accept = 33 === code || 35 <= code && code <= 91 || 93 <= code && code <= 126; if (opts.rfc6532) { accept = accept || isUTF8NonAscii(tok); } return accept; }); - }, - obsQtext - )()); - } + }, obsQtext)()); + } - // qcontent = qtext / quoted-pair - function qcontent() { - return wrap('qcontent', or(qtext, quotedPair)()); - } + // qcontent = qtext / quoted-pair + function qcontent() { + return wrap('qcontent', or(qtext, quotedPair)()); + } - // quoted-string = [CFWS] - // DQUOTE *([FWS] qcontent) [FWS] DQUOTE - // [CFWS] - function quotedString() { - return wrap('quoted-string', and( - invis(opt(cfws)), - invis(dquote), star(and(opt(colwsp(fws)), qcontent)), opt(invis(fws)), invis(dquote), - invis(opt(cfws)) - )()); - } + // quoted-string = [CFWS] + // DQUOTE *([FWS] qcontent) [FWS] DQUOTE + // [CFWS] + function quotedString() { + return wrap('quoted-string', and(invis(opt(cfws)), invis(dquote), star(and(opt(colwsp(fws)), qcontent)), opt(invis(fws)), invis(dquote), invis(opt(cfws)))()); + } - // 3.2.5 Miscellaneous Tokens + // 3.2.5 Miscellaneous Tokens - // word = atom / quoted-string - function word() { - return wrap('word', or(atom, quotedString)()); - } + // word = atom / quoted-string + function word() { + return wrap('word', or(atom, quotedString)()); + } - // phrase = 1*word / obs-phrase - function phrase() { - return wrap('phrase', or(obsPhrase, star(word, 1))()); - } + // phrase = 1*word / obs-phrase + function phrase() { + return wrap('phrase', or(obsPhrase, star(word, 1))()); + } - // 3.4. Address Specification - // address = mailbox / group - function address() { - return wrap('address', or(mailbox, group)()); - } + // 3.4. Address Specification + // address = mailbox / group + function address() { + return wrap('address', or(mailbox, group)()); + } - // mailbox = name-addr / addr-spec - function mailbox() { - return wrap('mailbox', or(nameAddr, addrSpec)()); - } + // mailbox = name-addr / addr-spec + function mailbox() { + return wrap('mailbox', or(nameAddr, addrSpec)()); + } - // name-addr = [display-name] angle-addr - function nameAddr() { - return wrap('name-addr', and(opt(displayName), angleAddr)()); - } + // name-addr = [display-name] angle-addr + function nameAddr() { + return wrap('name-addr', and(opt(displayName), angleAddr)()); + } - // angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / - // obs-angle-addr - function angleAddr() { - return wrap('angle-addr', or( - and( - invis(opt(cfws)), - literal('<'), - addrSpec, - literal('>'), - invis(opt(cfws)) - ), - obsAngleAddr - )()); - } + // angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / + // obs-angle-addr + function angleAddr() { + return wrap('angle-addr', or(and(invis(opt(cfws)), literal('<'), addrSpec, literal('>'), invis(opt(cfws))), obsAngleAddr)()); + } - // group = display-name ":" [group-list] ";" [CFWS] - function group() { - return wrap('group', and( - displayName, - literal(':'), - opt(groupList), - literal(';'), - invis(opt(cfws)) - )()); - } + // group = display-name ":" [group-list] ";" [CFWS] + function group() { + return wrap('group', and(displayName, literal(':'), opt(groupList), literal(';'), invis(opt(cfws)))()); + } - // display-name = phrase - function displayName() { - return wrap('display-name', function phraseFixedSemantic() { - var result = phrase(); - if (result !== null) { - result.semantic = collapseWhitespace(result.semantic); - } - return result; - }()); - } + // display-name = phrase + function displayName() { + return wrap('display-name', function phraseFixedSemantic() { + var result = phrase(); + if (result !== null) { + result.semantic = collapseWhitespace(result.semantic); + } + return result; + }()); + } - // mailbox-list = (mailbox *("," mailbox)) / obs-mbox-list - function mailboxList() { - return wrap('mailbox-list', or( - and( - mailbox, - star(and(literal(','), mailbox)) - ), - obsMboxList - )()); - } + // mailbox-list = (mailbox *("," mailbox)) / obs-mbox-list + function mailboxList() { + return wrap('mailbox-list', or(and(mailbox, star(and(literal(','), mailbox))), obsMboxList)()); + } - // address-list = (address *("," address)) / obs-addr-list - function addressList() { - return wrap('address-list', or( - and( - address, - star(and(literal(','), address)) - ), - obsAddrList - )()); - } + // address-list = (address *("," address)) / obs-addr-list + function addressList() { + return wrap('address-list', or(and(address, star(and(literal(','), address))), obsAddrList)()); + } - // group-list = mailbox-list / CFWS / obs-group-list - function groupList() { - return wrap('group-list', or( - mailboxList, - invis(cfws), - obsGroupList - )()); - } + // group-list = mailbox-list / CFWS / obs-group-list + function groupList() { + return wrap('group-list', or(mailboxList, invis(cfws), obsGroupList)()); + } - // 3.4.1 Addr-Spec Specification + // 3.4.1 Addr-Spec Specification - // local-part = dot-atom / quoted-string / obs-local-part - function localPart() { - // note: quoted-string, dotAtom are proper subsets of obs-local-part - // so we really just have to look for obsLocalPart, if we don't care about the exact parse tree - return wrap('local-part', or(obsLocalPart, dotAtom, quotedString)()); - } + // local-part = dot-atom / quoted-string / obs-local-part + function localPart() { + // note: quoted-string, dotAtom are proper subsets of obs-local-part + // so we really just have to look for obsLocalPart, if we don't care about the exact parse tree + return wrap('local-part', or(obsLocalPart, dotAtom, quotedString)()); + } - // dtext = %d33-90 / ; Printable US-ASCII - // %d94-126 / ; characters not including - // obs-dtext ; "[", "]", or "\" - function dtext() { - return wrap('dtext', or( - function dtextFunc1() { + // dtext = %d33-90 / ; Printable US-ASCII + // %d94-126 / ; characters not including + // obs-dtext ; "[", "]", or "\" + function dtext() { + return wrap('dtext', or(function dtextFunc1() { return compareToken(function dtextFunc2(tok) { var code = tok.charCodeAt(0); - var accept = - (33 <= code && code <= 90) || - (94 <= code && code <= 126); + var accept = 33 <= code && code <= 90 || 94 <= code && code <= 126; if (opts.rfc6532) { accept = accept || isUTF8NonAscii(tok); } return accept; }); - }, - obsDtext - )() - ); - } + }, obsDtext)()); + } - // domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS] - function domainLiteral() { - return wrap('domain-literal', and( - invis(opt(cfws)), - literal('['), - star(and(opt(fws), dtext)), - opt(fws), - literal(']'), - invis(opt(cfws)) - )()); - } + // domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS] + function domainLiteral() { + return wrap('domain-literal', and(invis(opt(cfws)), literal('['), star(and(opt(fws), dtext)), opt(fws), literal(']'), invis(opt(cfws)))()); + } - // domain = dot-atom / domain-literal / obs-domain - function domain() { - return wrap('domain', function domainCheckTLD() { - var result = or(obsDomain, dotAtom, domainLiteral)(); - if (opts.rejectTLD) { - if (result.semantic.indexOf('.') < 0) { - return null; + // domain = dot-atom / domain-literal / obs-domain + function domain() { + return wrap('domain', function domainCheckTLD() { + var result = or(obsDomain, dotAtom, domainLiteral)(); + if (opts.rejectTLD) { + if (result && result.semantic && result.semantic.indexOf('.') < 0) { + return null; + } } - } - // strip all whitespace from domains - if (result) { - result.semantic = result.semantic.replace(/\s+/g, ''); - } - return result; - }()); - } - - // addr-spec = local-part "@" domain - function addrSpec() { - return wrap('addr-spec', and( - localPart, literal('@'), domain - )()); - } - - // 3.6.2 Originator Fields - // Below we only parse the field body, not the name of the field - // like "From:", "Sender:", or "Reply-To:". Other libraries that - // parse email headers can parse those and defer to these productions - // for the "RFC 5322" part. - - // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields - // from = "From:" (mailbox-list / address-list) CRLF - function fromSpec() { - return wrap('from', or( - mailboxList, - addressList - )()); - } - - // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields - // sender = "Sender:" (mailbox / address) CRLF - function senderSpec() { - return wrap('sender', or( - mailbox, - address - )()); - } - - // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields - // reply-to = "Reply-To:" address-list CRLF - function replyToSpec() { - return wrap('reply-to', addressList()); - } - - // 4.1. Miscellaneous Obsolete Tokens - - // obs-NO-WS-CTL = %d1-8 / ; US-ASCII control - // %d11 / ; characters that do not - // %d12 / ; include the carriage - // %d14-31 / ; return, line feed, and - // %d127 ; white space characters - function obsNoWsCtl() { - return opts.strict ? null : wrap('obs-NO-WS-CTL', compareToken(function (tok) { - var code = tok.charCodeAt(0); - return ((1 <= code && code <= 8) || - (11 === code || 12 === code) || - (14 <= code && code <= 31) || - (127 === code)); - })); - } - - // obs-ctext = obs-NO-WS-CTL - function obsCtext() { return opts.strict ? null : wrap('obs-ctext', obsNoWsCtl()); } - - // obs-qtext = obs-NO-WS-CTL - function obsQtext() { return opts.strict ? null : wrap('obs-qtext', obsNoWsCtl()); } - - // obs-qp = "\" (%d0 / obs-NO-WS-CTL / LF / CR) - function obsQP() { - return opts.strict ? null : wrap('obs-qp', and( - literal('\\'), - or(literal('\0'), obsNoWsCtl, lf, cr) - )()); - } - - // obs-phrase = word *(word / "." / CFWS) - function obsPhrase() { - return opts.strict ? null : wrap('obs-phrase', and( - word, - star(or(word, literal('.'), colwsp(cfws))) - )()); - } - - // 4.2. Obsolete Folding White Space - - // NOTE: read the errata http://www.rfc-editor.org/errata_search.php?rfc=5322&eid=1908 - // obs-FWS = 1*([CRLF] WSP) - function obsFws() { - return opts.strict ? null : wrap('obs-FWS', star( - and(invis(opt(crlf)), wsp), - 1 - )()); - } - - // 4.4. Obsolete Addressing - - // obs-angle-addr = [CFWS] "<" obs-route addr-spec ">" [CFWS] - function obsAngleAddr() { - return opts.strict ? null : wrap('obs-angle-addr', and( - invis(opt(cfws)), - literal('<'), - obsRoute, - addrSpec, - literal('>'), - invis(opt(cfws)) - )()); - } - - // obs-route = obs-domain-list ":" - function obsRoute() { - return opts.strict ? null : wrap('obs-route', and( - obsDomainList, - literal(':') - )()); - } - - // obs-domain-list = *(CFWS / ",") "@" domain - // *("," [CFWS] ["@" domain]) - function obsDomainList() { - return opts.strict ? null : wrap('obs-domain-list', and( - star(or(invis(cfws), literal(','))), - literal('@'), - domain, - star(and( - literal(','), - invis(opt(cfws)), - opt(and(literal('@'), domain)) - )) - )()); - } - - // obs-mbox-list = *([CFWS] ",") mailbox *("," [mailbox / CFWS]) - function obsMboxList() { - return opts.strict ? null : wrap('obs-mbox-list', and( - star(and( - invis(opt(cfws)), - literal(',') - )), - mailbox, - star(and( - literal(','), - opt(and( - mailbox, - invis(cfws) - )) - )) - )()); - } - - // obs-addr-list = *([CFWS] ",") address *("," [address / CFWS]) - function obsAddrList() { - return opts.strict ? null : wrap('obs-addr-list', and( - star(and( - invis(opt(cfws)), - literal(',') - )), - address, - star(and( - literal(','), - opt(and( - address, - invis(cfws) - )) - )) - )()); - } - - // obs-group-list = 1*([CFWS] ",") [CFWS] - function obsGroupList() { - return opts.strict ? null : wrap('obs-group-list', and( - star(and( - invis(opt(cfws)), - literal(',') - ), 1), - invis(opt(cfws)) - )()); - } - - // obs-local-part = word *("." word) - function obsLocalPart() { - return opts.strict ? null : wrap('obs-local-part', and(word, star(and(literal('.'), word)))()); - } - - // obs-domain = atom *("." atom) - function obsDomain() { - return opts.strict ? null : wrap('obs-domain', and(atom, star(and(literal('.'), atom)))()); - } - - // obs-dtext = obs-NO-WS-CTL / quoted-pair - function obsDtext() { - return opts.strict ? null : wrap('obs-dtext', or(obsNoWsCtl, quotedPair)()); - } - - ///////////////////////////////////////////////////// - - // ast analysis - - function findNode(name, root) { - var i, stack, node; - if (root === null || root === undefined) { return null; } - stack = [root]; - while (stack.length > 0) { - node = stack.pop(); - if (node.name === name) { - return node; - } - for (i = node.children.length - 1; i >= 0; i -= 1) { - stack.push(node.children[i]); - } - } - return null; - } - - function findAllNodes(name, root) { - var i, stack, node, result; - if (root === null || root === undefined) { return null; } - stack = [root]; - result = []; - while (stack.length > 0) { - node = stack.pop(); - if (node.name === name) { - result.push(node); - } - for (i = node.children.length - 1; i >= 0; i -= 1) { - stack.push(node.children[i]); - } - } - return result; - } - - function findAllNodesNoChildren(names, root) { - var i, stack, node, result, namesLookup; - if (root === null || root === undefined) { return null; } - stack = [root]; - result = []; - namesLookup = {}; - for (i = 0; i < names.length; i += 1) { - namesLookup[names[i]] = true; + // strip all whitespace from domains + if (result) { + result.semantic = result.semantic.replace(/\s+/g, ''); + } + return result; + }()); } - while (stack.length > 0) { - node = stack.pop(); - if (node.name in namesLookup) { - result.push(node); - // don't look at children (hence findAllNodesNoChildren) - } else { + // addr-spec = local-part "@" domain + function addrSpec() { + return wrap('addr-spec', and(localPart, literal('@'), domain)()); + } + + // 3.6.2 Originator Fields + // Below we only parse the field body, not the name of the field + // like "From:", "Sender:", or "Reply-To:". Other libraries that + // parse email headers can parse those and defer to these productions + // for the "RFC 5322" part. + + // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields + // from = "From:" (mailbox-list / address-list) CRLF + function fromSpec() { + return wrap('from', or(mailboxList, addressList)()); + } + + // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields + // sender = "Sender:" (mailbox / address) CRLF + function senderSpec() { + return wrap('sender', or(mailbox, address)()); + } + + // RFC 6854 2.1. Replacement of RFC 5322, Section 3.6.2. Originator Fields + // reply-to = "Reply-To:" address-list CRLF + function replyToSpec() { + return wrap('reply-to', addressList()); + } + + // 4.1. Miscellaneous Obsolete Tokens + + // obs-NO-WS-CTL = %d1-8 / ; US-ASCII control + // %d11 / ; characters that do not + // %d12 / ; include the carriage + // %d14-31 / ; return, line feed, and + // %d127 ; white space characters + function obsNoWsCtl() { + return opts.strict ? null : wrap('obs-NO-WS-CTL', compareToken(function (tok) { + var code = tok.charCodeAt(0); + return 1 <= code && code <= 8 || 11 === code || 12 === code || 14 <= code && code <= 31 || 127 === code; + })); + } + + // obs-ctext = obs-NO-WS-CTL + function obsCtext() { + return opts.strict ? null : wrap('obs-ctext', obsNoWsCtl()); + } + + // obs-qtext = obs-NO-WS-CTL + function obsQtext() { + return opts.strict ? null : wrap('obs-qtext', obsNoWsCtl()); + } + + // obs-qp = "\" (%d0 / obs-NO-WS-CTL / LF / CR) + function obsQP() { + return opts.strict ? null : wrap('obs-qp', and(literal('\\'), or(literal('\0'), obsNoWsCtl, lf, cr))()); + } + + // obs-phrase = word *(word / "." / CFWS) + function obsPhrase() { + return opts.strict ? null : wrap('obs-phrase', and(word, star(or(word, literal('.'), literal('@'), colwsp(cfws))))()); + } + + // 4.2. Obsolete Folding White Space + + // NOTE: read the errata http://www.rfc-editor.org/errata_search.php?rfc=5322&eid=1908 + // obs-FWS = 1*([CRLF] WSP) + function obsFws() { + return opts.strict ? null : wrap('obs-FWS', star(and(invis(opt(crlf)), wsp), 1)()); + } + + // 4.4. Obsolete Addressing + + // obs-angle-addr = [CFWS] "<" obs-route addr-spec ">" [CFWS] + function obsAngleAddr() { + return opts.strict ? null : wrap('obs-angle-addr', and(invis(opt(cfws)), literal('<'), obsRoute, addrSpec, literal('>'), invis(opt(cfws)))()); + } + + // obs-route = obs-domain-list ":" + function obsRoute() { + return opts.strict ? null : wrap('obs-route', and(obsDomainList, literal(':'))()); + } + + // obs-domain-list = *(CFWS / ",") "@" domain + // *("," [CFWS] ["@" domain]) + function obsDomainList() { + return opts.strict ? null : wrap('obs-domain-list', and(star(or(invis(cfws), literal(','))), literal('@'), domain, star(and(literal(','), invis(opt(cfws)), opt(and(literal('@'), domain)))))()); + } + + // obs-mbox-list = *([CFWS] ",") mailbox *("," [mailbox / CFWS]) + function obsMboxList() { + return opts.strict ? null : wrap('obs-mbox-list', and(star(and(invis(opt(cfws)), literal(','))), mailbox, star(and(literal(','), opt(and(mailbox, invis(cfws))))))()); + } + + // obs-addr-list = *([CFWS] ",") address *("," [address / CFWS]) + function obsAddrList() { + return opts.strict ? null : wrap('obs-addr-list', and(star(and(invis(opt(cfws)), literal(','))), address, star(and(literal(','), opt(and(address, invis(cfws))))))()); + } + + // obs-group-list = 1*([CFWS] ",") [CFWS] + function obsGroupList() { + return opts.strict ? null : wrap('obs-group-list', and(star(and(invis(opt(cfws)), literal(',')), 1), invis(opt(cfws)))()); + } + + // obs-local-part = word *("." word) + function obsLocalPart() { + return opts.strict ? null : wrap('obs-local-part', and(word, star(and(literal('.'), word)))()); + } + + // obs-domain = atom *("." atom) + function obsDomain() { + return opts.strict ? null : wrap('obs-domain', and(atom, star(and(literal('.'), atom)))()); + } + + // obs-dtext = obs-NO-WS-CTL / quoted-pair + function obsDtext() { + return opts.strict ? null : wrap('obs-dtext', or(obsNoWsCtl, quotedPair)()); + } + + ///////////////////////////////////////////////////// + + // ast analysis + + function findNode(name, root) { + var i, stack, node; + if (root === null || root === undefined) { + return null; + } + stack = [root]; + while (stack.length > 0) { + node = stack.pop(); + if (node.name === name) { + return node; + } for (i = node.children.length - 1; i >= 0; i -= 1) { stack.push(node.children[i]); } } - } - return result; - } - - function giveResult(ast) { - var addresses, groupsAndMailboxes, i, groupOrMailbox, result; - if (ast === null) { return null; } - addresses = []; - // An address is a 'group' (i.e. a list of mailboxes) or a 'mailbox'. - groupsAndMailboxes = findAllNodesNoChildren(['group', 'mailbox'], ast); - for (i = 0; i < groupsAndMailboxes.length; i += 1) { - groupOrMailbox = groupsAndMailboxes[i]; - if (groupOrMailbox.name === 'group') { - addresses.push(giveResultGroup(groupOrMailbox)); - } else if (groupOrMailbox.name === 'mailbox') { - addresses.push(giveResultMailbox(groupOrMailbox)); + function findAllNodes(name, root) { + var i, stack, node, result; + if (root === null || root === undefined) { + return null; + } + stack = [root]; + result = []; + while (stack.length > 0) { + node = stack.pop(); + if (node.name === name) { + result.push(node); + } + for (i = node.children.length - 1; i >= 0; i -= 1) { + stack.push(node.children[i]); + } } - } - - result = { - ast: ast, - addresses: addresses, - }; - if (opts.simple) { - result = simplifyResult(result); - } - if (opts.oneResult) { - return oneResult(result); - } - if (opts.simple) { - return result && result.addresses; - } else { return result; } - } - function giveResultGroup(group) { - var i; - var groupName = findNode('display-name', group); - var groupResultMailboxes = []; - var mailboxes = findAllNodesNoChildren(['mailbox'], group); - for (i = 0; i < mailboxes.length; i += 1) { - groupResultMailboxes.push(giveResultMailbox(mailboxes[i])); + function findAllNodesNoChildren(names, root) { + var i, stack, node, result, namesLookup; + if (root === null || root === undefined) { + return null; + } + stack = [root]; + result = []; + namesLookup = {}; + for (i = 0; i < names.length; i += 1) { + namesLookup[names[i]] = true; + } + + while (stack.length > 0) { + node = stack.pop(); + if (node.name in namesLookup) { + result.push(node); + // don't look at children (hence findAllNodesNoChildren) + } else { + for (i = node.children.length - 1; i >= 0; i -= 1) { + stack.push(node.children[i]); + } + } + } + return result; } - return { - node: group, - parts: { - name: groupName, - }, - type: group.name, // 'group' - name: grabSemantic(groupName), - addresses: groupResultMailboxes, - }; - } - function giveResultMailbox(mailbox) { - var name = findNode('display-name', mailbox); - var aspec = findNode('addr-spec', mailbox); - var comments = findAllNodes('cfws', mailbox); + function giveResult(ast) { + var addresses, groupsAndMailboxes, i, groupOrMailbox, result; + if (ast === null) { + return null; + } + addresses = []; - var local = findNode('local-part', aspec); - var domain = findNode('domain', aspec); - return { - node: mailbox, - parts: { - name: name, - address: aspec, - local: local, - domain: domain, - comments: comments - }, - type: mailbox.name, // 'mailbox' - name: grabSemantic(name), - address: grabSemantic(aspec), - local: grabSemantic(local), - domain: grabSemantic(domain), - groupName: grabSemantic(mailbox.groupName), - }; - } + // An address is a 'group' (i.e. a list of mailboxes) or a 'mailbox'. + groupsAndMailboxes = findAllNodesNoChildren(['group', 'mailbox'], ast); + for (i = 0; i < groupsAndMailboxes.length; i += 1) { + groupOrMailbox = groupsAndMailboxes[i]; + if (groupOrMailbox.name === 'group') { + addresses.push(giveResultGroup(groupOrMailbox)); + } else if (groupOrMailbox.name === 'mailbox') { + addresses.push(giveResultMailbox(groupOrMailbox)); + } + } - function grabSemantic(n) { - return n !== null && n !== undefined ? n.semantic : null; - } - - function simplifyResult(result) { - var i; - if (result && result.addresses) { - for (i = 0; i < result.addresses.length; i += 1) { - delete result.addresses[i].node; + result = { + ast: ast, + addresses: addresses + }; + if (opts.simple) { + result = simplifyResult(result); + } + if (opts.oneResult) { + return oneResult(result); + } + if (opts.simple) { + return result && result.addresses; + } else { + return result; } } - return result; - } - function oneResult(result) { - if (!result) { return null; } - if (!opts.partial && result.addresses.length > 1) { return null; } - return result.addresses && result.addresses[0]; - } + function giveResultGroup(group) { + var i; + var groupName = findNode('display-name', group); + var groupResultMailboxes = []; + var mailboxes = findAllNodesNoChildren(['mailbox'], group); + for (i = 0; i < mailboxes.length; i += 1) { + groupResultMailboxes.push(giveResultMailbox(mailboxes[i])); + } + return { + node: group, + parts: { + name: groupName + }, + type: group.name, // 'group' + name: grabSemantic(groupName), + addresses: groupResultMailboxes + }; + } - ///////////////////////////////////////////////////// + function giveResultMailbox(mailbox) { + var name = findNode('display-name', mailbox); + var aspec = findNode('addr-spec', mailbox); + var comments = findAllNodesNoChildren(['comment'], mailbox); - var parseString, pos, len, parsed, startProduction; + var local = findNode('local-part', aspec); + var domain = findNode('domain', aspec); + return { + node: mailbox, + parts: { + name: name, + address: aspec, + local: local, + domain: domain, + comments: comments + }, + type: mailbox.name, // 'mailbox' + name: grabSemantic(name), + address: grabSemantic(aspec), + local: grabSemantic(local), + domain: grabSemantic(domain), + comments: concatComments(comments), + groupName: grabSemantic(mailbox.groupName) + }; + } - opts = handleOpts(opts, {}); - if (opts === null) { return null; } + function grabSemantic(n) { + return n !== null && n !== undefined ? n.semantic : null; + } - parseString = opts.input; + function simplifyResult(result) { + var i; + if (result && result.addresses) { + for (i = 0; i < result.addresses.length; i += 1) { + delete result.addresses[i].node; + } + } + return result; + } - startProduction = { - 'address': address, - 'address-list': addressList, - 'angle-addr': angleAddr, - 'from': fromSpec, - 'group': group, - 'mailbox': mailbox, - 'mailbox-list': mailboxList, - 'reply-to': replyToSpec, - 'sender': senderSpec, - }[opts.startAt] || addressList; + function concatComments(comments) { + var result = ''; + if (comments) { + for (var i = 0; i < comments.length; i += 1) { + result += grabSemantic(comments[i]); + } + } + return result; + } + + function oneResult(result) { + if (!result) { + return null; + } + if (!opts.partial && result.addresses.length > 1) { + return null; + } + return result.addresses && result.addresses[0]; + } + + ///////////////////////////////////////////////////// + + var parseString, pos, len, parsed, startProduction; + + opts = handleOpts(opts, {}); + if (opts === null) { + return null; + } + + parseString = opts.input; + + startProduction = { + 'address': address, + 'address-list': addressList, + 'angle-addr': angleAddr, + 'from': fromSpec, + 'group': group, + 'mailbox': mailbox, + 'mailbox-list': mailboxList, + 'reply-to': replyToSpec, + 'sender': senderSpec + }[opts.startAt] || addressList; + + if (!opts.strict) { + initialize(); + opts.strict = true; + parsed = startProduction(parseString); + if (opts.partial || !inStr()) { + return giveResult(parsed); + } + opts.strict = false; + } - if (!opts.strict) { initialize(); - opts.strict = true; parsed = startProduction(parseString); - if (opts.partial || !inStr()) { - return giveResult(parsed); + if (!opts.partial && inStr()) { + return null; } - opts.strict = false; + return giveResult(parsed); } - initialize(); - parsed = startProduction(parseString); - if (!opts.partial && inStr()) { return null; } - return giveResult(parsed); -} - -function parseOneAddressSimple(opts) { - return parse5322(handleOpts(opts, { - oneResult: true, - rfc6532: true, - simple: true, - startAt: 'address-list', - })); -} - -function parseAddressListSimple(opts) { - return parse5322(handleOpts(opts, { - rfc6532: true, - simple: true, - startAt: 'address-list', - })); -} - -function parseFromSimple(opts) { - return parse5322(handleOpts(opts, { - rfc6532: true, - simple: true, - startAt: 'from', - })); -} - -function parseSenderSimple(opts) { - return parse5322(handleOpts(opts, { - oneResult: true, - rfc6532: true, - simple: true, - startAt: 'sender', - })); -} - -function parseReplyToSimple(opts) { - return parse5322(handleOpts(opts, { - rfc6532: true, - simple: true, - startAt: 'reply-to', - })); -} - -function handleOpts(opts, defs) { - function isString(str) { - return Object.prototype.toString.call(str) === '[object String]'; + function parseOneAddressSimple(opts) { + return parse5322(handleOpts(opts, { + oneResult: true, + rfc6532: true, + simple: true, + startAt: 'address-list' + })); } - function isObject(o) { - return o === Object(o); + function parseAddressListSimple(opts) { + return parse5322(handleOpts(opts, { + rfc6532: true, + simple: true, + startAt: 'address-list' + })); } - function isNullUndef(o) { - return o === null || o === undefined; + function parseFromSimple(opts) { + return parse5322(handleOpts(opts, { + rfc6532: true, + simple: true, + startAt: 'from' + })); } - var defaults, o; - - if (isString(opts)) { - opts = { input: opts }; - } else if (!isObject(opts)) { - return null; + function parseSenderSimple(opts) { + return parse5322(handleOpts(opts, { + oneResult: true, + rfc6532: true, + simple: true, + startAt: 'sender' + })); } - if (!isString(opts.input)) { return null; } - if (!defs) { return null; } + function parseReplyToSimple(opts) { + return parse5322(handleOpts(opts, { + rfc6532: true, + simple: true, + startAt: 'reply-to' + })); + } - defaults = { - oneResult: false, - partial: false, - rejectTLD: false, - rfc6532: false, - simple: false, - startAt: 'address-list', - strict: false, - }; - - for (o in defaults) { - if (isNullUndef(opts[o])) { - opts[o] = !isNullUndef(defs[o]) ? defs[o] : defaults[o]; + function handleOpts(opts, defs) { + function isString(str) { + return Object.prototype.toString.call(str) === '[object String]'; } + + function isObject(o) { + return o === Object(o); + } + + function isNullUndef(o) { + return o === null || o === undefined; + } + + var defaults, o; + + if (isString(opts)) { + opts = { input: opts }; + } else if (!isObject(opts)) { + return null; + } + + if (!isString(opts.input)) { + return null; + } + if (!defs) { + return null; + } + + defaults = { + oneResult: false, + partial: false, + rejectTLD: false, + rfc6532: false, + simple: false, + startAt: 'address-list', + strict: false + }; + + for (o in defaults) { + if (isNullUndef(opts[o])) { + opts[o] = !isNullUndef(defs[o]) ? defs[o] : defaults[o]; + } + } + return opts; } - return opts; -} -parse5322.parseOneAddress = parseOneAddressSimple; -parse5322.parseAddressList = parseAddressListSimple; -parse5322.parseFrom = parseFromSimple; -parse5322.parseSender = parseSenderSimple; -parse5322.parseReplyTo = parseReplyToSimple; + parse5322.parseOneAddress = parseOneAddressSimple; + parse5322.parseAddressList = parseAddressListSimple; + parse5322.parseFrom = parseFromSimple; + parse5322.parseSender = parseSenderSimple; + parse5322.parseReplyTo = parseReplyToSimple; -if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') { - module.exports = parse5322; -} else { - global.emailAddresses = parse5322; -} + if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') { + module.exports = parse5322; + } else { + global.emailAddresses = parse5322; + } +})(undefined); -}(this)); - -},{}],304:[function(_dereq_,module,exports){ +},{}],303:[function(_dereq_,module,exports){ var hash = exports; hash.utils = _dereq_('./hash/utils'); @@ -17914,7 +17550,7 @@ hash.sha384 = hash.sha.sha384; hash.sha512 = hash.sha.sha512; hash.ripemd160 = hash.ripemd.ripemd160; -},{"./hash/common":305,"./hash/hmac":306,"./hash/ripemd":307,"./hash/sha":308,"./hash/utils":315}],305:[function(_dereq_,module,exports){ +},{"./hash/common":304,"./hash/hmac":305,"./hash/ripemd":306,"./hash/sha":307,"./hash/utils":314}],304:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('./utils'); @@ -18008,7 +17644,7 @@ BlockHash.prototype._pad = function pad() { return res; }; -},{"./utils":315,"minimalistic-assert":318}],306:[function(_dereq_,module,exports){ +},{"./utils":314,"minimalistic-assert":317}],305:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('./utils'); @@ -18057,7 +17693,7 @@ Hmac.prototype.digest = function digest(enc) { return this.outer.digest(enc); }; -},{"./utils":315,"minimalistic-assert":318}],307:[function(_dereq_,module,exports){ +},{"./utils":314,"minimalistic-assert":317}],306:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('./utils'); @@ -18205,7 +17841,7 @@ var sh = [ 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]; -},{"./common":305,"./utils":315}],308:[function(_dereq_,module,exports){ +},{"./common":304,"./utils":314}],307:[function(_dereq_,module,exports){ 'use strict'; exports.sha1 = _dereq_('./sha/1'); @@ -18214,7 +17850,7 @@ exports.sha256 = _dereq_('./sha/256'); exports.sha384 = _dereq_('./sha/384'); exports.sha512 = _dereq_('./sha/512'); -},{"./sha/1":309,"./sha/224":310,"./sha/256":311,"./sha/384":312,"./sha/512":313}],309:[function(_dereq_,module,exports){ +},{"./sha/1":308,"./sha/224":309,"./sha/256":310,"./sha/384":311,"./sha/512":312}],308:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -18290,7 +17926,7 @@ SHA1.prototype._digest = function digest(enc) { return utils.split32(this.h, 'big'); }; -},{"../common":305,"../utils":315,"./common":314}],310:[function(_dereq_,module,exports){ +},{"../common":304,"../utils":314,"./common":313}],309:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -18322,7 +17958,7 @@ SHA224.prototype._digest = function digest(enc) { }; -},{"../utils":315,"./256":311}],311:[function(_dereq_,module,exports){ +},{"../utils":314,"./256":310}],310:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -18429,7 +18065,7 @@ SHA256.prototype._digest = function digest(enc) { return utils.split32(this.h, 'big'); }; -},{"../common":305,"../utils":315,"./common":314,"minimalistic-assert":318}],312:[function(_dereq_,module,exports){ +},{"../common":304,"../utils":314,"./common":313,"minimalistic-assert":317}],311:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -18466,7 +18102,7 @@ SHA384.prototype._digest = function digest(enc) { return utils.split32(this.h.slice(0, 12), 'big'); }; -},{"../utils":315,"./512":313}],313:[function(_dereq_,module,exports){ +},{"../utils":314,"./512":312}],312:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -18798,7 +18434,7 @@ function g1_512_lo(xh, xl) { return r; } -},{"../common":305,"../utils":315,"minimalistic-assert":318}],314:[function(_dereq_,module,exports){ +},{"../common":304,"../utils":314,"minimalistic-assert":317}],313:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -18849,7 +18485,7 @@ function g1_256(x) { } exports.g1_256 = g1_256; -},{"../utils":315}],315:[function(_dereq_,module,exports){ +},{"../utils":314}],314:[function(_dereq_,module,exports){ 'use strict'; var assert = _dereq_('minimalistic-assert'); @@ -19104,7 +18740,7 @@ function shr64_lo(ah, al, num) { } exports.shr64_lo = shr64_lo; -},{"inherits":317,"minimalistic-assert":318}],316:[function(_dereq_,module,exports){ +},{"inherits":316,"minimalistic-assert":317}],315:[function(_dereq_,module,exports){ 'use strict'; var hash = _dereq_('hash.js'); @@ -19219,7 +18855,7 @@ HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { return utils.encode(res, enc); }; -},{"hash.js":304,"minimalistic-assert":318,"minimalistic-crypto-utils":319}],317:[function(_dereq_,module,exports){ +},{"hash.js":303,"minimalistic-assert":317,"minimalistic-crypto-utils":318}],316:[function(_dereq_,module,exports){ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { @@ -19244,7 +18880,7 @@ if (typeof Object.create === 'function') { } } -},{}],318:[function(_dereq_,module,exports){ +},{}],317:[function(_dereq_,module,exports){ module.exports = assert; function assert(val, msg) { @@ -19257,7 +18893,7 @@ assert.equal = function assertEqual(l, r, msg) { throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r)); }; -},{}],319:[function(_dereq_,module,exports){ +},{}],318:[function(_dereq_,module,exports){ 'use strict'; var utils = exports; @@ -19317,7 +18953,7 @@ utils.encode = function encode(arr, enc) { return arr; }; -},{}],320:[function(_dereq_,module,exports){ +},{}],319:[function(_dereq_,module,exports){ // Top level file is just a mixin of submodules & constants 'use strict'; @@ -19333,7 +18969,7 @@ assign(pako, deflate, inflate, constants); module.exports = pako; -},{"./lib/deflate":321,"./lib/inflate":322,"./lib/utils/common":323,"./lib/zlib/constants":326}],321:[function(_dereq_,module,exports){ +},{"./lib/deflate":320,"./lib/inflate":321,"./lib/utils/common":322,"./lib/zlib/constants":325}],320:[function(_dereq_,module,exports){ 'use strict'; @@ -19735,7 +19371,7 @@ exports.deflate = deflate; exports.deflateRaw = deflateRaw; exports.gzip = gzip; -},{"./utils/common":323,"./utils/strings":324,"./zlib/deflate":328,"./zlib/messages":333,"./zlib/zstream":335}],322:[function(_dereq_,module,exports){ +},{"./utils/common":322,"./utils/strings":323,"./zlib/deflate":327,"./zlib/messages":332,"./zlib/zstream":334}],321:[function(_dereq_,module,exports){ 'use strict'; @@ -20155,7 +19791,7 @@ exports.inflate = inflate; exports.inflateRaw = inflateRaw; exports.ungzip = inflate; -},{"./utils/common":323,"./utils/strings":324,"./zlib/constants":326,"./zlib/gzheader":329,"./zlib/inflate":331,"./zlib/messages":333,"./zlib/zstream":335}],323:[function(_dereq_,module,exports){ +},{"./utils/common":322,"./utils/strings":323,"./zlib/constants":325,"./zlib/gzheader":328,"./zlib/inflate":330,"./zlib/messages":332,"./zlib/zstream":334}],322:[function(_dereq_,module,exports){ 'use strict'; @@ -20262,7 +19898,7 @@ exports.setTyped = function (on) { exports.setTyped(TYPED_OK); -},{}],324:[function(_dereq_,module,exports){ +},{}],323:[function(_dereq_,module,exports){ // String encode/decode helpers 'use strict'; @@ -20449,7 +20085,7 @@ exports.utf8border = function (buf, max) { return (pos + _utf8len[buf[pos]] > max) ? pos : max; }; -},{"./common":323}],325:[function(_dereq_,module,exports){ +},{"./common":322}],324:[function(_dereq_,module,exports){ 'use strict'; // Note: adler32 takes 12% for level 0 and 2% for level 6. @@ -20502,7 +20138,7 @@ function adler32(adler, buf, len, pos) { module.exports = adler32; -},{}],326:[function(_dereq_,module,exports){ +},{}],325:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -20572,7 +20208,7 @@ module.exports = { //Z_NULL: null // Use -1 or null inline, depending on var type }; -},{}],327:[function(_dereq_,module,exports){ +},{}],326:[function(_dereq_,module,exports){ 'use strict'; // Note: we can't get significant speed boost here. @@ -20633,7 +20269,7 @@ function crc32(crc, buf, len, pos) { module.exports = crc32; -},{}],328:[function(_dereq_,module,exports){ +},{}],327:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -22509,7 +22145,7 @@ exports.deflatePrime = deflatePrime; exports.deflateTune = deflateTune; */ -},{"../utils/common":323,"./adler32":325,"./crc32":327,"./messages":333,"./trees":334}],329:[function(_dereq_,module,exports){ +},{"../utils/common":322,"./adler32":324,"./crc32":326,"./messages":332,"./trees":333}],328:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -22569,7 +22205,7 @@ function GZheader() { module.exports = GZheader; -},{}],330:[function(_dereq_,module,exports){ +},{}],329:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -22916,7 +22552,7 @@ module.exports = function inflate_fast(strm, start) { return; }; -},{}],331:[function(_dereq_,module,exports){ +},{}],330:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -24474,7 +24110,7 @@ exports.inflateSyncPoint = inflateSyncPoint; exports.inflateUndermine = inflateUndermine; */ -},{"../utils/common":323,"./adler32":325,"./crc32":327,"./inffast":330,"./inftrees":332}],332:[function(_dereq_,module,exports){ +},{"../utils/common":322,"./adler32":324,"./crc32":326,"./inffast":329,"./inftrees":331}],331:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -24819,7 +24455,7 @@ module.exports = function inflate_table(type, lens, lens_index, codes, table, ta return 0; }; -},{"../utils/common":323}],333:[function(_dereq_,module,exports){ +},{"../utils/common":322}],332:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -24853,7 +24489,7 @@ module.exports = { '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */ }; -},{}],334:[function(_dereq_,module,exports){ +},{}],333:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -26075,7 +25711,7 @@ exports._tr_flush_block = _tr_flush_block; exports._tr_tally = _tr_tally; exports._tr_align = _tr_align; -},{"../utils/common":323}],335:[function(_dereq_,module,exports){ +},{"../utils/common":322}],334:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -26124,7 +25760,7 @@ function ZStream() { module.exports = ZStream; -},{}],336:[function(_dereq_,module,exports){ +},{}],335:[function(_dereq_,module,exports){ // This method of obtaining a reference to the global object needs to be // kept identical to the way it is obtained in runtime.js var g = (function() { return this })() || Function("return this")(); @@ -26154,7 +25790,7 @@ if (hadRuntime) { } } -},{"./runtime":337}],337:[function(_dereq_,module,exports){ +},{"./runtime":336}],336:[function(_dereq_,module,exports){ /** * Copyright (c) 2014, Facebook, Inc. * All rights reserved. @@ -26886,7 +26522,7 @@ if (hadRuntime) { (function() { return this })() || Function("return this")() ); -},{}],338:[function(_dereq_,module,exports){ +},{}],337:[function(_dereq_,module,exports){ 'use strict'; /* @@ -26986,7 +26622,7 @@ function bufToHex(buf) { module.exports = BitReader; -},{}],339:[function(_dereq_,module,exports){ +},{}],338:[function(_dereq_,module,exports){ "use strict"; /* CRC32, used in Bzip2 implementation. @@ -27061,7 +26697,7 @@ module.exports = function () { return CRC32; }(); -},{}],340:[function(_dereq_,module,exports){ +},{}],339:[function(_dereq_,module,exports){ 'use strict'; /* @@ -27668,7 +27304,7 @@ Bunzip.Stream = Stream; module.exports = Bunzip; -},{"./bitreader":338,"./crc32":339,"./stream":341}],341:[function(_dereq_,module,exports){ +},{"./bitreader":337,"./crc32":338,"./stream":340}],340:[function(_dereq_,module,exports){ "use strict"; /* very simple input/output stream interface */ @@ -27713,7 +27349,7 @@ Stream.prototype.flush = function () {}; module.exports = Stream; -},{}],342:[function(_dereq_,module,exports){ +},{}],341:[function(_dereq_,module,exports){ 'use strict'; // This is free and unencumbered software released into the public domain. @@ -28356,7 +27992,7 @@ function UTF8Encoder(options) { exports.TextEncoder = TextEncoder; exports.TextDecoder = TextDecoder; -},{}],343:[function(_dereq_,module,exports){ +},{}],342:[function(_dereq_,module,exports){ /*jshint bitwise: false*/ (function(nacl) { @@ -29294,7 +28930,7 @@ nacl.setPRNG = function(fn) { })(typeof module !== 'undefined' && module.exports ? module.exports : (self.nacl = self.nacl || {})); -},{"crypto":"crypto"}],344:[function(_dereq_,module,exports){ +},{"crypto":"crypto"}],343:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -29527,7 +29163,7 @@ if (NodeReadableStream) { exports.nodeToWeb = nodeToWeb; exports.webToNode = webToNode; -},{"./streams":346,"babel-runtime/core-js/object/get-prototype-of":29,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/classCallCheck":37,"babel-runtime/helpers/createClass":38,"babel-runtime/helpers/inherits":39,"babel-runtime/helpers/possibleConstructorReturn":40,"babel-runtime/regenerator":44,"stream":"stream"}],345:[function(_dereq_,module,exports){ +},{"./streams":345,"babel-runtime/core-js/object/get-prototype-of":28,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/classCallCheck":36,"babel-runtime/helpers/createClass":37,"babel-runtime/helpers/inherits":38,"babel-runtime/helpers/possibleConstructorReturn":39,"babel-runtime/regenerator":43,"stream":"stream"}],344:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -29969,7 +29605,7 @@ Reader.prototype.readToEnd = function () { exports.Reader = Reader; exports.externalBuffer = externalBuffer; -},{"./streams":346,"babel-runtime/core-js/symbol":33,"babel-runtime/core-js/weak-set":35,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/toConsumableArray":42,"babel-runtime/regenerator":44}],346:[function(_dereq_,module,exports){ +},{"./streams":345,"babel-runtime/core-js/symbol":32,"babel-runtime/core-js/weak-set":34,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/toConsumableArray":41,"babel-runtime/regenerator":43}],345:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -30795,7 +30431,7 @@ function slice(input) { exports.default = { isStream: _util.isStream, isUint8Array: _util.isUint8Array, toStream: toStream, concatUint8Array: _util.concatUint8Array, concatStream: concatStream, concat: concat, getReader: getReader, getWriter: getWriter, pipe: pipe, transformRaw: transformRaw, transform: transform, transformPair: transformPair, parse: parse, clone: clone, passiveClone: passiveClone, slice: slice, readToEnd: readToEnd, cancel: cancel, fromAsync: fromAsync, nodeToWeb: _nodeConversions.nodeToWeb, webToNode: _nodeConversions.webToNode }; -},{"./node-conversions":344,"./reader":345,"./util":347,"babel-runtime/core-js/object/define-property":25,"babel-runtime/core-js/object/entries":26,"babel-runtime/core-js/object/get-own-property-descriptors":28,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/regenerator":44,"buffer":"buffer"}],347:[function(_dereq_,module,exports){ +},{"./node-conversions":343,"./reader":344,"./util":346,"babel-runtime/core-js/object/define-property":24,"babel-runtime/core-js/object/entries":25,"babel-runtime/core-js/object/get-own-property-descriptors":27,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43,"buffer":"buffer"}],346:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -30858,7 +30494,7 @@ exports.isStream = isStream; exports.isUint8Array = isUint8Array; exports.concatUint8Array = concatUint8Array; -},{"stream":"stream"}],348:[function(_dereq_,module,exports){ +},{"stream":"stream"}],347:[function(_dereq_,module,exports){ (function(self) { 'use strict'; @@ -31321,7 +30957,7 @@ exports.concatUint8Array = concatUint8Array; self.fetch.polyfill = true })(typeof self !== 'undefined' ? self : this); -},{}],349:[function(_dereq_,module,exports){ +},{}],348:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -31543,7 +31179,7 @@ CleartextMessage.prototype.signDetached = function () { _context2.t0 = _signature.Signature; _context2.next = 5; - return (0, _message.createSignaturePackets)(literalDataPacket, privateKeys, signature, date, userIds); + return (0, _message.createSignaturePackets)(literalDataPacket, privateKeys, signature, date, userIds, true); case 5: _context2.t1 = _context2.sent; @@ -31589,7 +31225,7 @@ CleartextMessage.prototype.verifyDetached = function (signature, keys) { var literalDataPacket = new _packet2.default.Literal(); // we assume that cleartext signature is generated based on UTF8 cleartext literalDataPacket.setText(this.text); - return (0, _message.createVerificationObjects)(signatureList, [literalDataPacket], keys, date); + return (0, _message.createVerificationObjects)(signatureList, [literalDataPacket], keys, date, true); }; /** @@ -31671,7 +31307,7 @@ function fromText(text) { return new CleartextMessage(text); } -},{"./encoding/armor":383,"./enums":385,"./message":392,"./packet":397,"./signature":417,"./util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],350:[function(_dereq_,module,exports){ +},{"./encoding/armor":382,"./enums":384,"./message":391,"./packet":396,"./signature":416,"./util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43}],349:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -31710,19 +31346,11 @@ exports.default = { * Use Authenticated Encryption with Additional Data (AEAD) protection for symmetric encryption. * **NOT INTEROPERABLE WITH OTHER OPENPGP IMPLEMENTATIONS** * **FUTURE OPENPGP.JS VERSIONS MAY BREAK COMPATIBILITY WHEN USING THIS OPTION** + * @see {@link https://tools.ietf.org/html/draft-ietf-openpgp-rfc4880bis-07|RFC4880bis-07} * @memberof module:config * @property {Boolean} aead_protect */ aead_protect: false, - /** - * Use Authenticated Encryption with Additional Data (AEAD) protection for symmetric encryption. - * 0 means we implement a variant of {@link https://tools.ietf.org/html/draft-ford-openpgp-format-00|this IETF draft}. - * 4 means we implement {@link https://tools.ietf.org/html/draft-ietf-openpgp-rfc4880bis-04|RFC4880bis-04}. - * Note that this determines how AEAD packets are parsed even when aead_protect is set to false - * @memberof module:config - * @property {Integer} aead_protect_version - */ - aead_protect_version: 4, /** * Default Authenticated Encryption with Additional Data (AEAD) encryption mode * Only has an effect when aead_protect is set to true. @@ -31738,6 +31366,14 @@ exports.default = { * @property {Integer} aead_chunk_size_byte */ aead_chunk_size_byte: 12, + /** + * Use V5 keys. + * **NOT INTEROPERABLE WITH OTHER OPENPGP IMPLEMENTATIONS** + * **FUTURE OPENPGP.JS VERSIONS MAY BREAK COMPATIBILITY WHEN USING THIS OPTION** + * @memberof module:config + * @property {Boolean} v5_keys + */ + v5_keys: false, /** * {@link https://tools.ietf.org/html/rfc4880#section-3.7.1.3|RFC4880 3.7.1.3}: * Iteration Count Byte for S2K (String to Key) @@ -31823,7 +31459,7 @@ exports.default = { * @memberof module:config * @property {String} versionstring A version string to be included in armored messages */ - versionstring: "OpenPGP.js v4.5.5", + versionstring: "OpenPGP.js v4.6.0", /** * @memberof module:config * @property {String} commentstring A comment string to be included in armored messages @@ -31875,7 +31511,7 @@ exports.default = { * @requires enums */ -},{"../enums":385}],351:[function(_dereq_,module,exports){ +},{"../enums":384}],350:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -31893,7 +31529,7 @@ Object.defineProperty(exports, 'default', { function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -},{"./config.js":350}],352:[function(_dereq_,module,exports){ +},{"./config.js":349}],351:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -32063,7 +31699,7 @@ exports.default = { unwrap: unwrap }; -},{"../util":424,"./cipher":358}],353:[function(_dereq_,module,exports){ +},{"../util":423,"./cipher":357}],352:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -32314,7 +31950,7 @@ function nodeDecrypt(algo, key, ct, iv) { }); } -},{"../config":351,"../util":424,"./cipher":358,"asmcrypto.js/dist_es5/aes/cfb":6,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"web-stream-tools":346}],354:[function(_dereq_,module,exports){ +},{"../config":350,"../util":423,"./cipher":357,"asmcrypto.js/dist_es5/aes/cfb":5,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"web-stream-tools":345}],353:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -32347,7 +31983,7 @@ function aes(length) { exports.default = aes; -},{"asmcrypto.js/dist_es5/aes/ecb":8}],355:[function(_dereq_,module,exports){ +},{"asmcrypto.js/dist_es5/aes/ecb":7}],354:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -32567,7 +32203,7 @@ BF.blockSize = BF.prototype.blockSize = 16; exports.default = BF; -},{}],356:[function(_dereq_,module,exports){ +},{}],355:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -32917,7 +32553,7 @@ Cast5.keySize = Cast5.prototype.keySize = 16; exports.default = Cast5; -},{}],357:[function(_dereq_,module,exports){ +},{}],356:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -33297,7 +32933,7 @@ function DES(key) { exports.default = { DES: DES, TripleDES: TripleDES }; -},{}],358:[function(_dereq_,module,exports){ +},{}],357:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -33410,7 +33046,7 @@ exports.default = { * @module crypto/cipher */ -},{"./aes":354,"./blowfish":355,"./cast5":356,"./des.js":357,"./twofish":359}],359:[function(_dereq_,module,exports){ +},{"./aes":353,"./blowfish":354,"./cast5":355,"./des.js":356,"./twofish":358}],358:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -33733,7 +33369,7 @@ TF.blockSize = TF.prototype.blockSize = 16; exports.default = TF; -},{"babel-runtime/core-js/array/from":17}],360:[function(_dereq_,module,exports){ +},{"babel-runtime/core-js/array/from":16}],359:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -33986,7 +33622,7 @@ exports.default = function () { return CMAC; }(); -},{"../util":424,"asmcrypto.js/dist_es5/aes/cbc":5,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],361:[function(_dereq_,module,exports){ +},{"../util":423,"asmcrypto.js/dist_es5/aes/cbc":4,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43}],360:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -34170,7 +33806,7 @@ exports.default = { /** * Decrypts data using specified algorithm and private key parameters. - * See {@link https://tools.ietf.org/html/rfc4880#section-9.1|RFC 4880 9.1} for public key algorithms. + * See {@link https://tools.ietf.org/html/rfc4880#section-5.5.3|RFC 4880 5.5.3} * @param {module:enums.publicKey} algo Public key algorithm * @param {Array} Returns public part of ephemeral key and generated ephemeral secret + * @param {Uint8Array} Q Recipient public key + * @returns {Promise<{publicKey: Uint8Array, sharedKey: Uint8Array}>} * @async */ var genPublicEphemeralKey = function () { var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(curve, Q) { - var _nacl$box$keyPair, d, _ref3, secretKey, _sharedKey, _nacl$box$keyPair$fro, _publicKey, v, publicKey, S, len, sharedKey; + var _nacl$box$keyPair, d, _ref3, secretKey, sharedKey, _nacl$box$keyPair$fro, publicKey; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: - if (!(curve.name === 'curve25519')) { - _context2.next = 10; + _context2.t0 = curve.name; + _context2.next = _context2.t0 === 'curve25519' ? 3 : _context2.t0 === 'p256' ? 12 : _context2.t0 === 'p384' ? 12 : _context2.t0 === 'p521' ? 12 : 22; + break; + + case 3: + _nacl$box$keyPair = _naclFastLight2.default.box.keyPair(), d = _nacl$box$keyPair.secretKey; + _context2.next = 6; + return genPrivateEphemeralKey(curve, Q, null, d); + + case 6: + _ref3 = _context2.sent; + secretKey = _ref3.secretKey; + sharedKey = _ref3.sharedKey; + _nacl$box$keyPair$fro = _naclFastLight2.default.box.keyPair.fromSecretKey(secretKey), publicKey = _nacl$box$keyPair$fro.publicKey; + + publicKey = _util2.default.concatUint8Array([new Uint8Array([0x40]), publicKey]); + return _context2.abrupt('return', { publicKey: publicKey, sharedKey: sharedKey }); + + case 12: + if (!(curve.web && _util2.default.getWebCrypto())) { + _context2.next = 22; break; } - _nacl$box$keyPair = _naclFastLight2.default.box.keyPair(), d = _nacl$box$keyPair.secretKey; - _context2.next = 4; - return genPrivateEphemeralKey(curve, Q, d); + _context2.prev = 13; + _context2.next = 16; + return webPublicEphemeralKey(curve, Q); - case 4: - _ref3 = _context2.sent; - secretKey = _ref3.secretKey; - _sharedKey = _ref3.sharedKey; - _nacl$box$keyPair$fro = _naclFastLight2.default.box.keyPair.fromSecretKey(secretKey), _publicKey = _nacl$box$keyPair$fro.publicKey; - - _publicKey = _util2.default.concatUint8Array([new Uint8Array([0x40]), _publicKey]); - return _context2.abrupt('return', { publicKey: _publicKey, sharedKey: _sharedKey }); - - case 10: - _context2.next = 12; - return curve.genKeyPair(); - - case 12: - v = _context2.sent; - - Q = curve.keyFromPublic(Q); - publicKey = new Uint8Array(v.getPublic()); - S = v.derive(Q); - len = curve.curve.curve.p.byteLength(); - sharedKey = S.toArrayLike(Uint8Array, 'be', len); - return _context2.abrupt('return', { publicKey: publicKey, sharedKey: sharedKey }); + case 16: + return _context2.abrupt('return', _context2.sent); case 19: + _context2.prev = 19; + _context2.t1 = _context2['catch'](13); + + _util2.default.print_debug_error(_context2.t1); + + case 22: + if (!(curve.node && nodeCrypto)) { + _context2.next = 24; + break; + } + + return _context2.abrupt('return', nodePublicEphemeralKey(curve, Q)); + + case 24: + return _context2.abrupt('return', ellipticPublicEphemeralKey(curve, Q)); + + case 25: case 'end': return _context2.stop(); } } - }, _callee2, this); + }, _callee2, this, [[13, 19]]); })); return function genPublicEphemeralKey(_x7, _x8) { @@ -37438,7 +37104,7 @@ var genPublicEphemeralKey = function () { * @param {module:type/mpi} m Value derived from session key (RFC 6637) * @param {Uint8Array} Q Recipient public key * @param {String} fingerprint Recipient fingerprint - * @returns {Promise<{V: BN, C: BN}>} Returns public part of ephemeral key and encoded session key + * @returns {Promise<{publicKey: Uint8Array, wrappedKey: Uint8Array}>} * @async */ @@ -37488,53 +37154,74 @@ var encrypt = function () { * * @param {Curve} curve Elliptic curve object * @param {Uint8Array} V Public part of ephemeral key + * @param {Uint8Array} Q Recipient public key * @param {Uint8Array} d Recipient private key - * @returns {Promise} Generated ephemeral secret + * @returns {Promise<{secretKey: Uint8Array, sharedKey: Uint8Array}>} * @async */ var genPrivateEphemeralKey = function () { - var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(curve, V, d) { - var one, mask, _secretKey, _sharedKey2, secretKey, S, len, sharedKey; - + var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(curve, V, Q, d) { + var one, mask, secretKey, sharedKey; return _regenerator2.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: - if (!(curve.name === 'curve25519')) { - _context4.next = 9; + _context4.t0 = curve.name; + _context4.next = _context4.t0 === 'curve25519' ? 3 : _context4.t0 === 'p256' ? 11 : _context4.t0 === 'p384' ? 11 : _context4.t0 === 'p521' ? 11 : 21; + break; + + case 3: + one = new _bn2.default(1); + mask = one.ushln(255 - 3).sub(one).ushln(3); + secretKey = new _bn2.default(d); + + secretKey = secretKey.or(one.ushln(255 - 1)); + secretKey = secretKey.and(mask); + secretKey = secretKey.toArrayLike(Uint8Array, 'le', 32); + sharedKey = _naclFastLight2.default.scalarMult(secretKey, V.subarray(1)); + return _context4.abrupt('return', { secretKey: secretKey, sharedKey: sharedKey }); + + case 11: + if (!(curve.web && _util2.default.getWebCrypto())) { + _context4.next = 21; break; } - one = new _bn2.default(1); - mask = one.ushln(255 - 3).sub(one).ushln(3); - _secretKey = new _bn2.default(d); + _context4.prev = 12; + _context4.next = 15; + return webPrivateEphemeralKey(curve, V, Q, d); - _secretKey = _secretKey.or(one.ushln(255 - 1)); - _secretKey = _secretKey.and(mask); - _secretKey = _secretKey.toArrayLike(Uint8Array, 'le', 32); - _sharedKey2 = _naclFastLight2.default.scalarMult(_secretKey, V.subarray(1)); - return _context4.abrupt('return', { secretKey: _secretKey, sharedKey: _sharedKey2 }); + case 15: + return _context4.abrupt('return', _context4.sent); - case 9: - V = curve.keyFromPublic(V); - d = curve.keyFromPrivate(d); - secretKey = new Uint8Array(d.getPrivate()); - S = d.derive(V); - len = curve.curve.curve.p.byteLength(); - sharedKey = S.toArrayLike(Uint8Array, 'be', len); - return _context4.abrupt('return', { secretKey: secretKey, sharedKey: sharedKey }); + case 18: + _context4.prev = 18; + _context4.t1 = _context4['catch'](12); - case 16: + _util2.default.print_debug_error(_context4.t1); + + case 21: + if (!(curve.node && nodeCrypto)) { + _context4.next = 23; + break; + } + + return _context4.abrupt('return', nodePrivateEphemeralKey(curve, V, d)); + + case 23: + return _context4.abrupt('return', ellipticPrivateEphemeralKey(curve, V, d)); + + case 24: case 'end': return _context4.stop(); } } - }, _callee4, this); + }, _callee4, this, [[12, 18]]); })); - return function genPrivateEphemeralKey(_x15, _x16, _x17) { + return function genPrivateEphemeralKey(_x15, _x16, _x17, _x18) { return _ref6.apply(this, arguments); }; }(); @@ -37547,15 +37234,16 @@ var genPrivateEphemeralKey = function () { * @param {module:enums.hash} hash_algo Hash algorithm to use * @param {Uint8Array} V Public part of ephemeral key * @param {Uint8Array} C Encrypted and wrapped value derived from session key + * @param {Uint8Array} Q Recipient public key * @param {Uint8Array} d Recipient private key * @param {String} fingerprint Recipient fingerprint - * @returns {Promise} Value derived from session + * @returns {Promise} Value derived from session key * @async */ var decrypt = function () { - var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(oid, cipher_algo, hash_algo, V, C, d, fingerprint) { + var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(oid, cipher_algo, hash_algo, V, C, Q, d, fingerprint) { var curve, _ref8, sharedKey, param, err, i, Z; return _regenerator2.default.wrap(function _callee5$(_context5) { @@ -37564,7 +37252,7 @@ var decrypt = function () { case 0: curve = new _curves2.default(oid); _context5.next = 3; - return genPrivateEphemeralKey(curve, V, d); + return genPrivateEphemeralKey(curve, V, Q, d); case 3: _ref8 = _context5.sent; @@ -37611,11 +37299,311 @@ var decrypt = function () { }, _callee5, this, [[10, 17]]); })); - return function decrypt(_x18, _x19, _x20, _x21, _x22, _x23, _x24) { + return function decrypt(_x19, _x20, _x21, _x22, _x23, _x24, _x25, _x26) { return _ref7.apply(this, arguments); }; }(); +/** + * Generate ECDHE secret from private key and public part of ephemeral key using webCrypto + * + * @param {Curve} curve Elliptic curve object + * @param {Uint8Array} V Public part of ephemeral key + * @param {Uint8Array} Q Recipient public key + * @param {Uint8Array} d Recipient private key + * @returns {Promise<{secretKey: Uint8Array, sharedKey: Uint8Array}>} + * @async + */ + + +var webPrivateEphemeralKey = function () { + var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(curve, V, Q, d) { + var recipient, privateKey, jwk, sender, _ref10, _ref11, S, secret, _ref12, _ref13, sharedKey, secretKey; + + return _regenerator2.default.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + recipient = privateToJwk(curve.payloadSize, curve.web.web, d, Q); + privateKey = webCrypto.importKey("jwk", recipient, { + name: "ECDH", + namedCurve: curve.web.web + }, true, ["deriveKey", "deriveBits"]); + jwk = rawPublicToJwk(curve.payloadSize, curve.web.web, V); + sender = webCrypto.importKey("jwk", jwk, { + name: "ECDH", + namedCurve: curve.web.web + }, true, []); + _context6.next = 6; + return _promise2.default.all([privateKey, sender]); + + case 6: + _ref10 = _context6.sent; + _ref11 = (0, _slicedToArray3.default)(_ref10, 2); + privateKey = _ref11[0]; + sender = _ref11[1]; + S = webCrypto.deriveBits({ + name: "ECDH", + namedCurve: curve.web.web, + public: sender + }, privateKey, curve.web.sharedSize); + secret = webCrypto.exportKey("jwk", privateKey); + _context6.next = 14; + return _promise2.default.all([S, secret]); + + case 14: + _ref12 = _context6.sent; + _ref13 = (0, _slicedToArray3.default)(_ref12, 2); + S = _ref13[0]; + secret = _ref13[1]; + sharedKey = new Uint8Array(S); + secretKey = _util2.default.b64_to_Uint8Array(secret.d, true); + return _context6.abrupt('return', { secretKey: secretKey, sharedKey: sharedKey }); + + case 21: + case 'end': + return _context6.stop(); + } + } + }, _callee6, this); + })); + + return function webPrivateEphemeralKey(_x27, _x28, _x29, _x30) { + return _ref9.apply(this, arguments); + }; +}(); + +/** + * Generate ECDHE ephemeral key and secret from public key using webCrypto + * + * @param {Curve} curve Elliptic curve object + * @param {Uint8Array} Q Recipient public key + * @returns {Promise<{publicKey: Uint8Array, sharedKey: Uint8Array}>} + * @async + */ + + +var webPublicEphemeralKey = function () { + var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(curve, Q) { + var jwk, keyPair, recipient, _ref15, _ref16, s, p, _ref17, _ref18, sharedKey, publicKey; + + return _regenerator2.default.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + jwk = rawPublicToJwk(curve.payloadSize, curve.web.web, Q); + keyPair = webCrypto.generateKey({ + name: "ECDH", + namedCurve: curve.web.web + }, true, ["deriveKey", "deriveBits"]); + recipient = webCrypto.importKey("jwk", jwk, { + name: "ECDH", + namedCurve: curve.web.web + }, false, []); + _context7.next = 5; + return _promise2.default.all([keyPair, recipient]); + + case 5: + _ref15 = _context7.sent; + _ref16 = (0, _slicedToArray3.default)(_ref15, 2); + keyPair = _ref16[0]; + recipient = _ref16[1]; + s = webCrypto.deriveBits({ + name: "ECDH", + namedCurve: curve.web.web, + public: recipient + }, keyPair.privateKey, curve.web.sharedSize); + p = webCrypto.exportKey("jwk", keyPair.publicKey); + _context7.next = 13; + return _promise2.default.all([s, p]); + + case 13: + _ref17 = _context7.sent; + _ref18 = (0, _slicedToArray3.default)(_ref17, 2); + s = _ref18[0]; + p = _ref18[1]; + sharedKey = new Uint8Array(s); + publicKey = new Uint8Array(jwkToRawPublic(p)); + return _context7.abrupt('return', { publicKey: publicKey, sharedKey: sharedKey }); + + case 20: + case 'end': + return _context7.stop(); + } + } + }, _callee7, this); + })); + + return function webPublicEphemeralKey(_x31, _x32) { + return _ref14.apply(this, arguments); + }; +}(); + +/** + * Generate ECDHE secret from private key and public part of ephemeral key using indutny/elliptic + * + * @param {Curve} curve Elliptic curve object + * @param {Uint8Array} V Public part of ephemeral key + * @param {Uint8Array} d Recipient private key + * @returns {Promise<{secretKey: Uint8Array, sharedKey: Uint8Array}>} + * @async + */ + + +var ellipticPrivateEphemeralKey = function () { + var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(curve, V, d) { + var secretKey, S, len, sharedKey; + return _regenerator2.default.wrap(function _callee8$(_context8) { + while (1) { + switch (_context8.prev = _context8.next) { + case 0: + V = curve.keyFromPublic(V); + d = curve.keyFromPrivate(d); + secretKey = new Uint8Array(d.getPrivate()); + S = d.derive(V); + len = curve.curve.curve.p.byteLength(); + sharedKey = S.toArrayLike(Uint8Array, 'be', len); + return _context8.abrupt('return', { secretKey: secretKey, sharedKey: sharedKey }); + + case 7: + case 'end': + return _context8.stop(); + } + } + }, _callee8, this); + })); + + return function ellipticPrivateEphemeralKey(_x33, _x34, _x35) { + return _ref19.apply(this, arguments); + }; +}(); + +/** + * Generate ECDHE ephemeral key and secret from public key using indutny/elliptic + * + * @param {Curve} curve Elliptic curve object + * @param {Uint8Array} Q Recipient public key + * @returns {Promise<{publicKey: Uint8Array, sharedKey: Uint8Array}>} + * @async + */ + + +var ellipticPublicEphemeralKey = function () { + var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(curve, Q) { + var v, publicKey, S, len, sharedKey; + return _regenerator2.default.wrap(function _callee9$(_context9) { + while (1) { + switch (_context9.prev = _context9.next) { + case 0: + _context9.next = 2; + return curve.genKeyPair(); + + case 2: + v = _context9.sent; + + Q = curve.keyFromPublic(Q); + publicKey = new Uint8Array(v.getPublic()); + S = v.derive(Q); + len = curve.curve.curve.p.byteLength(); + sharedKey = S.toArrayLike(Uint8Array, 'be', len); + return _context9.abrupt('return', { publicKey: publicKey, sharedKey: sharedKey }); + + case 9: + case 'end': + return _context9.stop(); + } + } + }, _callee9, this); + })); + + return function ellipticPublicEphemeralKey(_x36, _x37) { + return _ref20.apply(this, arguments); + }; +}(); + +/** + * Generate ECDHE secret from private key and public part of ephemeral key using nodeCrypto + * + * @param {Curve} curve Elliptic curve object + * @param {Uint8Array} V Public part of ephemeral key + * @param {Uint8Array} d Recipient private key + * @returns {Promise<{secretKey: Uint8Array, sharedKey: Uint8Array}>} + * @async + */ + + +var nodePrivateEphemeralKey = function () { + var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(curve, V, d) { + var recipient, sharedKey, secretKey; + return _regenerator2.default.wrap(function _callee10$(_context10) { + while (1) { + switch (_context10.prev = _context10.next) { + case 0: + recipient = nodeCrypto.createECDH(curve.node.node); + + recipient.setPrivateKey(d); + sharedKey = new Uint8Array(recipient.computeSecret(V)); + secretKey = new Uint8Array(recipient.getPrivateKey()); + return _context10.abrupt('return', { secretKey: secretKey, sharedKey: sharedKey }); + + case 5: + case 'end': + return _context10.stop(); + } + } + }, _callee10, this); + })); + + return function nodePrivateEphemeralKey(_x38, _x39, _x40) { + return _ref21.apply(this, arguments); + }; +}(); + +/** + * Generate ECDHE ephemeral key and secret from public key using nodeCrypto + * + * @param {Curve} curve Elliptic curve object + * @param {Uint8Array} Q Recipient public key + * @returns {Promise<{publicKey: Uint8Array, sharedKey: Uint8Array}>} + * @async + */ + + +var nodePublicEphemeralKey = function () { + var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(curve, Q) { + var sender, sharedKey, publicKey; + return _regenerator2.default.wrap(function _callee11$(_context11) { + while (1) { + switch (_context11.prev = _context11.next) { + case 0: + sender = nodeCrypto.createECDH(curve.node.node); + + sender.generateKeys(); + sharedKey = new Uint8Array(sender.computeSecret(Q)); + publicKey = new Uint8Array(sender.getPublicKey()); + return _context11.abrupt('return', { publicKey: publicKey, sharedKey: sharedKey }); + + case 5: + case 'end': + return _context11.stop(); + } + } + }, _callee11, this); + })); + + return function nodePublicEphemeralKey(_x41, _x42) { + return _ref22.apply(this, arguments); + }; +}(); + +/** + * @param {Integer} payloadSize ec payload size + * @param {String} name curve name + * @param {Uint8Array} publicKey public key + * @returns {JsonWebKey} public key in jwk format + */ + + var _bn = _dereq_('bn.js'); var _bn2 = _interopRequireDefault(_bn); @@ -37654,11 +37642,7 @@ var _util2 = _interopRequireDefault(_util); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -// Build Param for ECDH algorithm (RFC 6637) -function buildEcdhParam(public_algo, oid, cipher_algo, hash_algo, fingerprint) { - var kdf_params = new _kdf_params2.default([hash_algo, cipher_algo]); - return _util2.default.concatUint8Array([oid.write(), new Uint8Array([public_algo]), kdf_params.write(), _util2.default.str_to_Uint8Array("Anonymous Sender "), fingerprint.subarray(0, 20)]); -} // OpenPGP.js - An OpenPGP implementation in javascript +var webCrypto = _util2.default.getWebCrypto(); // OpenPGP.js - An OpenPGP implementation in javascript // Copyright (C) 2015-2016 Decentral // // This library is free software; you can redistribute it and/or @@ -37689,9 +37673,57 @@ function buildEcdhParam(public_algo, oid, cipher_algo, hash_algo, fingerprint) { * @module crypto/public_key/elliptic/ecdh */ -exports.default = { encrypt: encrypt, decrypt: decrypt, genPublicEphemeralKey: genPublicEphemeralKey, genPrivateEphemeralKey: genPrivateEphemeralKey, buildEcdhParam: buildEcdhParam, kdf: kdf }; +var nodeCrypto = _util2.default.getNodeCrypto(); -},{"../../../enums":385,"../../../type/kdf_params":419,"../../../util":424,"../../aes_kw":352,"../../cipher":358,"../../hash":364,"./curves":372,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"bn.js":45,"tweetnacl/nacl-fast-light.js":343}],374:[function(_dereq_,module,exports){ +// Build Param for ECDH algorithm (RFC 6637) +function buildEcdhParam(public_algo, oid, cipher_algo, hash_algo, fingerprint) { + var kdf_params = new _kdf_params2.default([hash_algo, cipher_algo]); + return _util2.default.concatUint8Array([oid.write(), new Uint8Array([public_algo]), kdf_params.write(), _util2.default.str_to_Uint8Array("Anonymous Sender "), fingerprint.subarray(0, 20)]); +}function rawPublicToJwk(payloadSize, name, publicKey) { + var len = payloadSize; + var bufX = publicKey.slice(1, len + 1); + var bufY = publicKey.slice(len + 1, len * 2 + 1); + // https://www.rfc-editor.org/rfc/rfc7518.txt + var jwKey = { + kty: "EC", + crv: name, + x: _util2.default.Uint8Array_to_b64(bufX, true), + y: _util2.default.Uint8Array_to_b64(bufY, true), + ext: true + }; + return jwKey; +} + +/** + * @param {Integer} payloadSize ec payload size + * @param {String} name curve name + * @param {Uint8Array} publicKey public key + * @param {Uint8Array} privateKey private key + * @returns {JsonWebKey} private key in jwk format + */ +function privateToJwk(payloadSize, name, privateKey, publicKey) { + var jwk = rawPublicToJwk(payloadSize, name, publicKey); + jwk.d = _util2.default.Uint8Array_to_b64(privateKey, true); + return jwk; +} + +/** + * @param {JsonWebKey} jwk key for conversion + * @returns {Uint8Array} raw public key + */ +function jwkToRawPublic(jwk) { + var bufX = _util2.default.b64_to_Uint8Array(jwk.x); + var bufY = _util2.default.b64_to_Uint8Array(jwk.y); + var publicKey = new Uint8Array(bufX.length + bufY.length + 1); + publicKey[0] = 0x04; + publicKey.set(bufX, 1); + publicKey.set(bufY, bufX.length + 1); + return publicKey; +} + +exports.default = { encrypt: encrypt, decrypt: decrypt, genPublicEphemeralKey: genPublicEphemeralKey, genPrivateEphemeralKey: genPrivateEphemeralKey, buildEcdhParam: buildEcdhParam, kdf: kdf, webPublicEphemeralKey: webPublicEphemeralKey, webPrivateEphemeralKey: webPrivateEphemeralKey, ellipticPublicEphemeralKey: ellipticPublicEphemeralKey, ellipticPrivateEphemeralKey: ellipticPrivateEphemeralKey, nodePublicEphemeralKey: nodePublicEphemeralKey, nodePrivateEphemeralKey: nodePrivateEphemeralKey }; + +},{"../../../enums":384,"../../../type/kdf_params":418,"../../../util":423,"../../aes_kw":351,"../../cipher":357,"../../hash":363,"./curves":371,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43,"bn.js":44,"tweetnacl/nacl-fast-light.js":342}],373:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -37731,8 +37763,10 @@ var sign = function () { case 4: signature = _context.sent; - return _context.abrupt('return', { r: signature.r.toArrayLike(Uint8Array), - s: signature.s.toArrayLike(Uint8Array) }); + return _context.abrupt('return', { + r: signature.r.toArrayLike(Uint8Array), + s: signature.s.toArrayLike(Uint8Array) + }); case 6: case 'end': @@ -37814,7 +37848,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de exports.default = { sign: sign, verify: verify }; -},{"./curves":372,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],375:[function(_dereq_,module,exports){ +},{"./curves":371,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43}],374:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -37953,7 +37987,7 @@ _naclFastLight2.default.hash = function (bytes) { exports.default = { sign: sign, verify: verify }; -},{"../../../util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"hash.js/lib/hash/sha/512":313,"tweetnacl/nacl-fast-light.js":343}],376:[function(_dereq_,module,exports){ +},{"../../../util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"hash.js/lib/hash/sha/512":312,"tweetnacl/nacl-fast-light.js":342}],375:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -38008,7 +38042,7 @@ exports.default = { Curve: _curves2.default, ecdh: _ecdh2.default, ecdsa: _ecdsa2.default, eddsa: _eddsa2.default, generate: _curves.generate, getPreferredHashAlgo: _curves.getPreferredHashAlgo }; -},{"./curves":372,"./ecdh":373,"./ecdsa":374,"./eddsa":375}],377:[function(_dereq_,module,exports){ +},{"./curves":371,"./ecdh":372,"./ecdsa":373,"./eddsa":374}],376:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -38446,7 +38480,7 @@ var SubjectPublicKeyInfo = nodeCrypto ? asn1.define('SubjectPublicKeyInfo', func this.seq().obj(this.key('algorithm').use(AlgorithmIdentifier), this.key('subjectPublicKey').bitstr()); }) : undefined; -},{"../../../enums":385,"../../../util":424,"./curves":372,"asn1.js":"asn1.js","babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"bn.js":45,"web-stream-tools":346}],378:[function(_dereq_,module,exports){ +},{"../../../enums":384,"../../../util":423,"./curves":371,"asn1.js":"asn1.js","babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"bn.js":44,"web-stream-tools":345}],377:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -38496,7 +38530,7 @@ exports.default = { * @module crypto/public_key */ -},{"./dsa":370,"./elgamal":371,"./elliptic":376,"./rsa":380,"tweetnacl/nacl-fast-light.js":343}],379:[function(_dereq_,module,exports){ +},{"./dsa":369,"./elgamal":370,"./elliptic":375,"./rsa":379,"tweetnacl/nacl-fast-light.js":342}],378:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -38865,7 +38899,7 @@ function divisionTest(n) { // https://github.com/gpg/libgcrypt/blob/master/cipher/primegen.c var small_primes = [7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999]; -},{"../random":381,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"bn.js":45}],380:[function(_dereq_,module,exports){ +},{"../random":380,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"bn.js":44}],379:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -39313,7 +39347,7 @@ exports.default = { prime: _prime2.default }; -},{"../../config":351,"../../util":424,"../random":381,"./prime":379,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"bn.js":45}],381:[function(_dereq_,module,exports){ +},{"../../config":350,"../../util":423,"../random":380,"./prime":378,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"bn.js":44}],380:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -39614,7 +39648,7 @@ RandomBuffer.prototype.get = function () { }; }(); -},{"../util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/typeof":43,"babel-runtime/regenerator":44,"bn.js":45,"crypto":"crypto"}],382:[function(_dereq_,module,exports){ +},{"../util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/typeof":42,"babel-runtime/regenerator":43,"bn.js":44,"crypto":"crypto"}],381:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -39738,8 +39772,10 @@ exports.default = { _oid = pub_MPIs[0]; // EdDSA signature params are expected in little-endian format - _signature = { R: msg_MPIs[0].toUint8Array('le', 32), - S: msg_MPIs[1].toUint8Array('le', 32) }; + _signature = { + R: msg_MPIs[0].toUint8Array('le', 32), + S: msg_MPIs[1].toUint8Array('le', 32) + }; _Q = pub_MPIs[1].toUint8Array('be', 33); return _context.abrupt('return', _public_key2.default.elliptic.eddsa.verify(_oid, hash_algo, _signature, data, _Q, hashed)); @@ -39868,7 +39904,7 @@ exports.default = { }() }; -},{"../enums":385,"../util":424,"./crypto":361,"./pkcs1":368,"./public_key":378,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"bn.js":45}],383:[function(_dereq_,module,exports){ +},{"../enums":384,"../util":423,"./crypto":360,"./pkcs1":367,"./public_key":377,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"bn.js":44}],382:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -40492,7 +40528,7 @@ exports.default = { decode: dearmor }; -},{"../config":351,"../enums.js":385,"../util":424,"./base64.js":384,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"web-stream-tools":346}],384:[function(_dereq_,module,exports){ +},{"../config":350,"../enums.js":384,"../util":423,"./base64.js":383,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"web-stream-tools":345}],383:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -40640,7 +40676,7 @@ exports.default = { decode: r2s }; -},{"web-stream-tools":346}],385:[function(_dereq_,module,exports){ +},{"web-stream-tools":345}],384:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -41158,7 +41194,7 @@ exports.default = { }; -},{"babel-runtime/core-js/object/entries":26,"babel-runtime/core-js/symbol":33,"babel-runtime/helpers/slicedToArray":41}],386:[function(_dereq_,module,exports){ +},{"babel-runtime/core-js/object/entries":25,"babel-runtime/core-js/symbol":32,"babel-runtime/helpers/slicedToArray":40}],385:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -41259,7 +41295,7 @@ HKP.prototype.upload = function (publicKeyArmored) { exports.default = HKP; -},{"./config":351,"node-fetch":"node-fetch"}],387:[function(_dereq_,module,exports){ +},{"./config":350,"node-fetch":"node-fetch"}],386:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -41573,7 +41609,7 @@ var cleartext = exports.cleartext = cleartextMod; * @name module:openpgp.util */ -},{"./cleartext":349,"./config/config":350,"./crypto":366,"./encoding/armor":383,"./enums":385,"./hkp":386,"./key":388,"./keyring":389,"./message":392,"./openpgp":393,"./packet":397,"./signature":417,"./type/ecdh_symkey":418,"./type/kdf_params":419,"./type/keyid":420,"./type/mpi":421,"./type/oid":422,"./type/s2k":423,"./util":424,"./wkd":425,"./worker/async_proxy":426,"web-stream-tools":346}],388:[function(_dereq_,module,exports){ +},{"./cleartext":348,"./config/config":349,"./crypto":365,"./encoding/armor":382,"./enums":384,"./hkp":385,"./key":387,"./keyring":388,"./message":391,"./openpgp":392,"./packet":396,"./signature":416,"./type/ecdh_symkey":417,"./type/kdf_params":418,"./type/keyid":419,"./type/mpi":420,"./type/oid":421,"./type/s2k":422,"./util":423,"./wkd":424,"./worker/async_proxy":425,"web-stream-tools":345}],387:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -41823,10 +41859,12 @@ var mergeSignatures = function () { * @param {Object} signatureProperties (optional) properties to write on the signature packet before signing * @param {Date} date (optional) override the creationtime of the signature * @param {Object} userId (optional) user ID + * @param {Object} detached (optional) whether to create a detached signature packet * @returns {module:packet/signature} signature packet */ var createSignaturePacket = exports.createSignaturePacket = function () { var _ref36 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee32(dataToSign, privateKey, signingKeyPacket, signatureProperties, date, userId) { + var detached = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false; var signaturePacket; return _regenerator2.default.wrap(function _callee32$(_context32) { while (1) { @@ -41850,7 +41888,7 @@ var createSignaturePacket = exports.createSignaturePacket = function () { case 7: signaturePacket.hashAlgorithm = _context32.sent; _context32.next = 10; - return signaturePacket.sign(signingKeyPacket, dataToSign); + return signaturePacket.sign(signingKeyPacket, dataToSign, detached); case 10: return _context32.abrupt('return', signaturePacket); @@ -41949,7 +41987,7 @@ var read = exports.read = function () { }, _callee47, this, [[3, 13]]); })); - return function read(_x97) { + return function read(_x98) { return _ref52.apply(this, arguments); }; }(); @@ -42004,7 +42042,7 @@ var readArmored = exports.readArmored = function () { }, _callee48, this, [[0, 9]]); })); - return function readArmored(_x98) { + return function readArmored(_x99) { return _ref53.apply(this, arguments); }; }(); @@ -42059,7 +42097,7 @@ var generate = exports.generate = function () { }, _callee49, this); })); - return function generateSecretKey(_x101) { + return function generateSecretKey(_x102) { return _ref55.apply(this, arguments); }; }(); @@ -42089,7 +42127,7 @@ var generate = exports.generate = function () { }, _callee50, this); })); - return function generateSecretSubkey(_x102) { + return function generateSecretSubkey(_x103) { return _ref56.apply(this, arguments); }; }(); @@ -42160,7 +42198,7 @@ var generate = exports.generate = function () { }, _callee51, this); })); - return function generate(_x99) { + return function generate(_x100) { return _ref54.apply(this, arguments); }; }(); @@ -42291,7 +42329,7 @@ var reformat = exports.reformat = function () { }, _callee52, _this2); })); - return function (_x104) { + return function (_x105) { return _ref58.apply(this, arguments); }; }())); @@ -42323,7 +42361,7 @@ var reformat = exports.reformat = function () { }, _callee53, this, [[2, 9]]); })); - return function reformat(_x103) { + return function reformat(_x104) { return _ref57.apply(this, arguments); }; }(); @@ -42370,7 +42408,7 @@ var wrapKeyObject = function () { }, _callee54, this); })); - return function (_x109, _x110) { + return function (_x110, _x111) { return _ref60.apply(this, arguments); }; }())); @@ -42427,7 +42465,7 @@ var wrapKeyObject = function () { signaturePacket.preferredSymmetricAlgorithms = createdPreferredAlgos([ // prefer aes256, aes128, then aes192 (no WebCrypto support: https://www.chromium.org/blink/webcrypto#TOC-AES-support) _enums2.default.symmetric.aes256, _enums2.default.symmetric.aes128, _enums2.default.symmetric.aes192, _enums2.default.symmetric.cast5, _enums2.default.symmetric.tripledes], _config2.default.encryption_cipher); - if (_config2.default.aead_protect && _config2.default.aead_protect_version === 4) { + if (_config2.default.aead_protect) { signaturePacket.preferredAeadAlgorithms = createdPreferredAlgos([_enums2.default.aead.eax, _enums2.default.aead.ocb], _config2.default.aead_mode); } signaturePacket.preferredHashAlgorithms = createdPreferredAlgos([ @@ -42441,22 +42479,25 @@ var wrapKeyObject = function () { signaturePacket.features = [0]; signaturePacket.features[0] |= _enums2.default.features.modification_detection; } - if (_config2.default.aead_protect && _config2.default.aead_protect_version === 4) { + if (_config2.default.aead_protect) { signaturePacket.features || (signaturePacket.features = [0]); signaturePacket.features[0] |= _enums2.default.features.aead; + } + if (_config2.default.v5_keys) { + signaturePacket.features || (signaturePacket.features = [0]); signaturePacket.features[0] |= _enums2.default.features.v5_keys; } if (options.keyExpirationTime > 0) { signaturePacket.keyExpirationTime = options.keyExpirationTime; signaturePacket.keyNeverExpires = false; } - _context55.next = 23; + _context55.next = 24; return signaturePacket.sign(secretKeyPacket, dataToSign); - case 23: + case 24: return _context55.abrupt('return', { userIdPacket: userIdPacket, signaturePacket: signaturePacket }); - case 24: + case 25: case 'end': return _context55.stop(); } @@ -42464,7 +42505,7 @@ var wrapKeyObject = function () { }, _callee55, this); })); - return function (_x111, _x112) { + return function (_x112, _x113) { return _ref61.apply(this, arguments); }; }())).then(function (list) { @@ -42539,7 +42580,7 @@ var wrapKeyObject = function () { }, _callee56, this); })); - return function (_x113, _x114) { + return function (_x114, _x115) { return _ref63.apply(this, arguments); }; }())).then(function (packets) { @@ -42597,7 +42638,7 @@ var wrapKeyObject = function () { }, _callee57, this); })); - return function (_x115, _x116) { + return function (_x116, _x117) { return _ref65.apply(this, arguments); }; }())); @@ -42613,7 +42654,7 @@ var wrapKeyObject = function () { }, _callee58, this); })); - return function wrapKeyObject(_x106, _x107, _x108) { + return function wrapKeyObject(_x107, _x108, _x109) { return _ref59.apply(this, arguments); }; }(); @@ -42697,7 +42738,7 @@ var isDataRevoked = function () { }, _callee59, this); })); - return function (_x124) { + return function (_x125) { return _ref67.apply(this, arguments); }; }())); @@ -42724,7 +42765,7 @@ var isDataRevoked = function () { }, _callee60, this); })); - return function isDataRevoked(_x117, _x118, _x119, _x120, _x121, _x122) { + return function isDataRevoked(_x118, _x119, _x120, _x121, _x122, _x123) { return _ref66.apply(this, arguments); }; }(); @@ -42793,7 +42834,7 @@ var getPreferredHashAlgo = exports.getPreferredHashAlgo = function () { }, _callee61, this); })); - return function getPreferredHashAlgo(_x126, _x127) { + return function getPreferredHashAlgo(_x127, _x128) { return _ref68.apply(this, arguments); }; }(); @@ -42857,7 +42898,7 @@ var getPreferredAlgo = exports.getPreferredAlgo = function () { }, _callee62, this); })); - return function (_x134, _x135) { + return function (_x135, _x136) { return _ref70.apply(this, arguments); }; }())); @@ -42889,7 +42930,7 @@ var getPreferredAlgo = exports.getPreferredAlgo = function () { }, _callee63, this); })); - return function getPreferredAlgo(_x130, _x131) { + return function getPreferredAlgo(_x131, _x132) { return _ref69.apply(this, arguments); }; }(); @@ -42942,7 +42983,7 @@ var isAeadSupported = exports.isAeadSupported = function () { }, _callee64, this); })); - return function (_x139, _x140) { + return function (_x140, _x141) { return _ref73.apply(this, arguments); }; }())); @@ -42958,7 +42999,7 @@ var isAeadSupported = exports.isAeadSupported = function () { }, _callee65, this); })); - return function isAeadSupported(_x136) { + return function isAeadSupported(_x137) { return _ref72.apply(this, arguments); }; }(); @@ -45022,7 +45063,7 @@ User.prototype.isRevoked = function () { }, _callee33, this); })); - return function (_x72) { + return function (_x73) { return _ref38.apply(this, arguments); }; }())); @@ -45041,7 +45082,7 @@ User.prototype.isRevoked = function () { }, _callee34, this); })); - return function (_x68, _x69, _x70) { + return function (_x69, _x70, _x71) { return _ref37.apply(this, arguments); }; }(); @@ -45091,7 +45132,7 @@ User.prototype.verifyAllCertifications = function () { }, _callee35, this); })); - return function (_x76) { + return function (_x77) { return _ref40.apply(this, arguments); }; }()))); @@ -45104,7 +45145,7 @@ User.prototype.verifyAllCertifications = function () { }, _callee36, this); })); - return function (_x73, _x74) { + return function (_x74, _x75) { return _ref39.apply(this, arguments); }; }(); @@ -45212,7 +45253,7 @@ User.prototype.verify = function () { }, _callee37, this); })); - return function (_x79) { + return function (_x80) { return _ref42.apply(this, arguments); }; }())); @@ -45232,7 +45273,7 @@ User.prototype.verify = function () { }, _callee38, this); })); - return function (_x77) { + return function (_x78) { return _ref41.apply(this, arguments); }; }(); @@ -45276,7 +45317,7 @@ User.prototype.update = function () { }, _callee39, this); })); - return function (_x82) { + return function (_x83) { return _ref44.apply(this, arguments); }; }()); @@ -45299,7 +45340,7 @@ User.prototype.update = function () { }, _callee40, this); })); - return function (_x80, _x81) { + return function (_x81, _x82) { return _ref43.apply(this, arguments); }; }(); @@ -45368,7 +45409,7 @@ SubKey.prototype.isRevoked = function () { }, _callee41, this); })); - return function (_x83, _x84, _x85) { + return function (_x84, _x85, _x86) { return _ref45.apply(this, arguments); }; }(); @@ -45448,7 +45489,7 @@ SubKey.prototype.verify = function () { }, _callee42, this); })); - return function (_x87) { + return function (_x88) { return _ref46.apply(this, arguments); }; }(); @@ -45497,7 +45538,7 @@ SubKey.prototype.getExpirationTime = function () { }, _callee43, this); })); - return function (_x89) { + return function (_x90) { return _ref47.apply(this, arguments); }; }(); @@ -45611,7 +45652,7 @@ SubKey.prototype.update = function () { }, _callee44, this); })); - return function (_x93) { + return function (_x94) { return _ref49.apply(this, arguments); }; }()); @@ -45630,7 +45671,7 @@ SubKey.prototype.update = function () { }, _callee45, this); })); - return function (_x91, _x92) { + return function (_x92, _x93) { return _ref48.apply(this, arguments); }; }(); @@ -45688,7 +45729,7 @@ SubKey.prototype.revoke = function () { }, _callee46, this); })); - return function (_x94) { + return function (_x95) { return _ref50.apply(this, arguments); }; }(); @@ -45735,7 +45776,7 @@ function checkRevocationKey(signature, keyId) { } } -},{"./config":351,"./crypto":366,"./encoding/armor":383,"./enums":385,"./packet":397,"./util":424,"babel-runtime/core-js/object/assign":23,"babel-runtime/core-js/object/get-prototype-of":29,"babel-runtime/core-js/object/values":31,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/regenerator":44}],389:[function(_dereq_,module,exports){ +},{"./config":350,"./crypto":365,"./encoding/armor":382,"./enums":384,"./packet":396,"./util":423,"babel-runtime/core-js/object/assign":22,"babel-runtime/core-js/object/get-prototype-of":28,"babel-runtime/core-js/object/values":30,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43}],388:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -45762,7 +45803,7 @@ _keyring2.default.localstore = _localstore2.default; exports.default = _keyring2.default; -},{"./keyring.js":390,"./localstore.js":391}],390:[function(_dereq_,module,exports){ +},{"./keyring.js":389,"./localstore.js":390}],389:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -46094,7 +46135,7 @@ KeyArray.prototype.removeForId = function (keyId) { exports.default = Keyring; -},{"../key":388,"./localstore":391,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],391:[function(_dereq_,module,exports){ +},{"../key":387,"./localstore":390,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43}],390:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -46379,7 +46420,7 @@ LocalStore.prototype.storePrivate = function () { exports.default = LocalStore; -},{"../config":351,"../key":388,"../util":424,"babel-runtime/core-js/json/stringify":20,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"node-localstorage":"node-localstorage","web-stream-tools":346}],392:[function(_dereq_,module,exports){ +},{"../config":350,"../key":387,"../util":423,"babel-runtime/core-js/json/stringify":19,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"node-localstorage":"node-localstorage","web-stream-tools":345}],391:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -46391,14 +46432,14 @@ var _from = _dereq_('babel-runtime/core-js/array/from'); var _from2 = _interopRequireDefault(_from); -var _promise = _dereq_('babel-runtime/core-js/promise'); - -var _promise2 = _interopRequireDefault(_promise); - var _regenerator = _dereq_('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); +var _promise = _dereq_('babel-runtime/core-js/promise'); + +var _promise2 = _interopRequireDefault(_promise); + var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); @@ -46417,40 +46458,40 @@ var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); * @async */ var encryptSessionKey = exports.encryptSessionKey = function () { - var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(sessionKey, symAlgo, aeadAlgo, publicKeys, passwords) { + var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(sessionKey, symAlgo, aeadAlgo, publicKeys, passwords) { var wildcard = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; var date = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : new Date(); var userIds = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : []; var packetlist, results, testDecrypt, sum, encryptPassword, _results; - 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: packetlist = new _packet2.default.List(); if (!publicKeys) { - _context12.next = 6; + _context13.next = 6; break; } - _context12.next = 4; + _context13.next = 4; return _promise2.default.all(publicKeys.map(function () { - var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(publicKey) { + var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(publicKey) { var encryptionKey, pkESKeyPacket; - return _regenerator2.default.wrap(function _callee9$(_context9) { + return _regenerator2.default.wrap(function _callee10$(_context10) { while (1) { - switch (_context9.prev = _context9.next) { + switch (_context10.prev = _context10.next) { case 0: - _context9.next = 2; + _context10.next = 2; return publicKey.getEncryptionKey(undefined, date, userIds); case 2: - encryptionKey = _context9.sent; + encryptionKey = _context10.sent; if (encryptionKey) { - _context9.next = 5; + _context10.next = 5; break; } @@ -46463,65 +46504,65 @@ var encryptSessionKey = exports.encryptSessionKey = function () { pkESKeyPacket.publicKeyAlgorithm = encryptionKey.keyPacket.algorithm; pkESKeyPacket.sessionKey = sessionKey; pkESKeyPacket.sessionKeyAlgorithm = symAlgo; - _context9.next = 12; + _context10.next = 12; return pkESKeyPacket.encrypt(encryptionKey.keyPacket); case 12: delete pkESKeyPacket.sessionKey; // delete plaintext session key after encryption - return _context9.abrupt('return', pkESKeyPacket); + return _context10.abrupt('return', pkESKeyPacket); case 14: case 'end': - return _context9.stop(); + return _context10.stop(); } } - }, _callee9, this); + }, _callee10, this); })); - return function (_x27) { - return _ref10.apply(this, arguments); + return function (_x28) { + return _ref11.apply(this, arguments); }; }())); case 4: - results = _context12.sent; + results = _context13.sent; packetlist.concat(results); case 6: if (!passwords) { - _context12.next = 14; + _context13.next = 14; break; } testDecrypt = function () { - var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(keyPacket, password) { - return _regenerator2.default.wrap(function _callee10$(_context10) { + var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(keyPacket, password) { + return _regenerator2.default.wrap(function _callee11$(_context11) { while (1) { - switch (_context10.prev = _context10.next) { + switch (_context11.prev = _context11.next) { case 0: - _context10.prev = 0; - _context10.next = 3; + _context11.prev = 0; + _context11.next = 3; return keyPacket.decrypt(password); case 3: - return _context10.abrupt('return', 1); + return _context11.abrupt('return', 1); case 6: - _context10.prev = 6; - _context10.t0 = _context10['catch'](0); - return _context10.abrupt('return', 0); + _context11.prev = 6; + _context11.t0 = _context11['catch'](0); + return _context11.abrupt('return', 0); case 9: case 'end': - return _context10.stop(); + return _context11.stop(); } } - }, _callee10, this, [[0, 6]]); + }, _callee11, this, [[0, 6]]); })); - return function testDecrypt(_x28, _x29) { - return _ref11.apply(this, arguments); + return function testDecrypt(_x29, _x30) { + return _ref12.apply(this, arguments); }; }(); @@ -46530,12 +46571,12 @@ var encryptSessionKey = exports.encryptSessionKey = function () { }; encryptPassword = function () { - var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(sessionKey, symAlgo, aeadAlgo, password) { + var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(sessionKey, symAlgo, aeadAlgo, password) { var symEncryptedSessionKeyPacket, _results2; - return _regenerator2.default.wrap(function _callee11$(_context11) { + return _regenerator2.default.wrap(function _callee12$(_context12) { while (1) { - switch (_context11.prev = _context11.next) { + switch (_context12.prev = _context12.next) { case 0: symEncryptedSessionKeyPacket = new _packet2.default.SymEncryptedSessionKey(); @@ -46544,71 +46585,71 @@ var encryptSessionKey = exports.encryptSessionKey = function () { if (aeadAlgo) { symEncryptedSessionKeyPacket.aeadAlgorithm = aeadAlgo; } - _context11.next = 6; + _context12.next = 6; return symEncryptedSessionKeyPacket.encrypt(password); case 6: if (!_config2.default.password_collision_check) { - _context11.next = 12; + _context12.next = 12; break; } - _context11.next = 9; + _context12.next = 9; return _promise2.default.all(passwords.map(function (pwd) { return testDecrypt(symEncryptedSessionKeyPacket, pwd); })); case 9: - _results2 = _context11.sent; + _results2 = _context12.sent; if (!(_results2.reduce(sum) !== 1)) { - _context11.next = 12; + _context12.next = 12; break; } - return _context11.abrupt('return', encryptPassword(sessionKey, symAlgo, password)); + return _context12.abrupt('return', encryptPassword(sessionKey, symAlgo, password)); case 12: delete symEncryptedSessionKeyPacket.sessionKey; // delete plaintext session key after encryption - return _context11.abrupt('return', symEncryptedSessionKeyPacket); + return _context12.abrupt('return', symEncryptedSessionKeyPacket); case 14: case 'end': - return _context11.stop(); + return _context12.stop(); } } - }, _callee11, this); + }, _callee12, this); })); - return function encryptPassword(_x30, _x31, _x32, _x33) { - return _ref12.apply(this, arguments); + return function encryptPassword(_x31, _x32, _x33, _x34) { + return _ref13.apply(this, arguments); }; }(); - _context12.next = 12; + _context13.next = 12; return _promise2.default.all(passwords.map(function (pwd) { return encryptPassword(sessionKey, symAlgo, aeadAlgo, pwd); })); case 12: - _results = _context12.sent; + _results = _context13.sent; packetlist.concat(_results); case 14: - return _context12.abrupt('return', new Message(packetlist)); + return _context13.abrupt('return', new Message(packetlist)); case 15: case 'end': - return _context12.stop(); + return _context13.stop(); } } - }, _callee12, this); + }, _callee13, this); })); - return function encryptSessionKey(_x19, _x20, _x21, _x22, _x23) { - return _ref9.apply(this, arguments); + return function encryptSessionKey(_x20, _x21, _x22, _x23, _x24) { + return _ref10.apply(this, arguments); }; }(); @@ -46630,71 +46671,73 @@ var encryptSessionKey = exports.encryptSessionKey = function () { * @param {Signature} signature (optional) any existing detached signature to append * @param {Date} date (optional) override the creationtime of the signature * @param {Array} userIds (optional) user IDs to sign with, e.g. [{ name:'Steve Sender', email:'steve@openpgp.org' }] + * @param {Boolean} detached (optional) whether to create detached signature packets * @returns {Promise} list of signature packets * @async */ var createSignaturePackets = exports.createSignaturePackets = function () { - var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(literalDataPacket, privateKeys) { + var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(literalDataPacket, privateKeys) { var signature = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - - var _this = this; - var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); + + var _this2 = this; + var userIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : []; + var detached = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; var packetlist, signatureType, existingSigPacketlist; - return _regenerator2.default.wrap(function _callee17$(_context17) { + return _regenerator2.default.wrap(function _callee18$(_context18) { while (1) { - switch (_context17.prev = _context17.next) { + switch (_context18.prev = _context18.next) { case 0: packetlist = new _packet2.default.List(); // If data packet was created from Uint8Array, use binary, otherwise use text signatureType = literalDataPacket.text === null ? _enums2.default.signature.binary : _enums2.default.signature.text; - _context17.next = 4; + _context18.next = 4; return _promise2.default.all(privateKeys.map(function () { - var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(privateKey, i) { + var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(privateKey, i) { var userId, signingKey; - return _regenerator2.default.wrap(function _callee16$(_context16) { + return _regenerator2.default.wrap(function _callee17$(_context17) { while (1) { - switch (_context16.prev = _context16.next) { + switch (_context17.prev = _context17.next) { case 0: userId = userIds[i]; if (!privateKey.isPublic()) { - _context16.next = 3; + _context17.next = 3; break; } throw new Error('Need private key for signing'); case 3: - _context16.next = 5; + _context17.next = 5; return privateKey.getSigningKey(undefined, date, userId); case 5: - signingKey = _context16.sent; + signingKey = _context17.sent; if (signingKey) { - _context16.next = 8; + _context17.next = 8; break; } throw new Error('Could not find valid signing key packet in key ' + privateKey.getKeyId().toHex()); case 8: - return _context16.abrupt('return', (0, _key.createSignaturePacket)(literalDataPacket, privateKey, signingKey.keyPacket, { signatureType: signatureType }, date, userId)); + return _context17.abrupt('return', (0, _key.createSignaturePacket)(literalDataPacket, privateKey, signingKey.keyPacket, { signatureType: signatureType }, date, userId, detached)); case 9: case 'end': - return _context16.stop(); + return _context17.stop(); } } - }, _callee16, _this); + }, _callee17, _this2); })); - return function (_x49, _x50) { - return _ref17.apply(this, arguments); + return function (_x51, _x52) { + return _ref18.apply(this, arguments); }; }())).then(function (signatureList) { signatureList.forEach(function (signaturePacket) { @@ -46709,18 +46752,18 @@ var createSignaturePackets = exports.createSignaturePackets = function () { packetlist.concat(existingSigPacketlist); } - return _context17.abrupt('return', packetlist); + return _context18.abrupt('return', packetlist); case 6: case 'end': - return _context17.stop(); + return _context18.stop(); } } - }, _callee17, this); + }, _callee18, this); })); - return function createSignaturePackets(_x44, _x45) { - return _ref16.apply(this, arguments); + return function createSignaturePackets(_x45, _x46) { + return _ref17.apply(this, arguments); }; }(); @@ -46741,35 +46784,37 @@ var createSignaturePackets = exports.createSignaturePackets = function () { * @param {Array} keys array of keys to verify signatures * @param {Date} date Verify the signature against the given date, * i.e. check signature creation time < date < expiration time + * @param {Boolean} detached (optional) whether to verify detached signature packets * @returns {Promise>} list of signer's keyid and validity of signature * @async */ var createVerificationObject = function () { - var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(signature, literalDataList, keys) { - var _this3 = this; + var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(signature, literalDataList, keys) { + var _this4 = this; var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); + var detached = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; var primaryKey, signingKey, signaturePacket, verifiedSig; - 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: primaryKey = null; signingKey = null; - _context25.next = 4; + _context26.next = 4; return _promise2.default.all(keys.map(function () { - var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(key) { + var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(key) { var result; - 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: - _context22.next = 2; + _context23.next = 2; return key.getSigningKey(signature.issuerKeyId, null); case 2: - result = _context22.sent; + result = _context23.sent; if (result) { primaryKey = key; @@ -46778,14 +46823,14 @@ var createVerificationObject = function () { case 4: case 'end': - return _context22.stop(); + return _context23.stop(); } } - }, _callee22, this); + }, _callee23, this); })); - return function (_x61) { - return _ref24.apply(this, arguments); + return function (_x64) { + return _ref25.apply(this, arguments); }; }())); @@ -46793,95 +46838,95 @@ var createVerificationObject = function () { signaturePacket = signature.correspondingSig || signature; verifiedSig = { keyid: signature.issuerKeyId, - verified: (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23() { + verified: (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24() { var verified, sig; - return _regenerator2.default.wrap(function _callee23$(_context23) { - while (1) { - switch (_context23.prev = _context23.next) { - case 0: - if (signingKey) { - _context23.next = 2; - break; - } - - return _context23.abrupt('return', null); - - case 2: - _context23.next = 4; - return signature.verify(signingKey.keyPacket, signature.signatureType, literalDataList[0]); - - case 4: - verified = _context23.sent; - _context23.next = 7; - return signaturePacket; - - case 7: - sig = _context23.sent; - _context23.t0 = sig.isExpired(date); - - if (_context23.t0) { - _context23.next = 18; - break; - } - - _context23.t1 = sig.created >= signingKey.getCreationTime(); - - if (!_context23.t1) { - _context23.next = 17; - break; - } - - _context23.t2 = sig.created; - _context23.next = 15; - return signingKey === primaryKey ? signingKey.getExpirationTime() : signingKey.getExpirationTime(primaryKey, date); - - case 15: - _context23.t3 = _context23.sent; - _context23.t1 = _context23.t2 < _context23.t3; - - case 17: - _context23.t0 = !_context23.t1; - - case 18: - if (!_context23.t0) { - _context23.next = 20; - break; - } - - return _context23.abrupt('return', null); - - case 20: - return _context23.abrupt('return', verified); - - case 21: - case 'end': - return _context23.stop(); - } - } - }, _callee23, _this3); - }))(), - signature: (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24() { - var sig, packetlist; return _regenerator2.default.wrap(function _callee24$(_context24) { while (1) { switch (_context24.prev = _context24.next) { case 0: - _context24.next = 2; - return signaturePacket; + if (signingKey) { + _context24.next = 2; + break; + } + + return _context24.abrupt('return', null); case 2: + _context24.next = 4; + return signature.verify(signingKey.keyPacket, signature.signatureType, literalDataList[0], detached); + + case 4: + verified = _context24.sent; + _context24.next = 7; + return signaturePacket; + + case 7: sig = _context24.sent; - packetlist = new _packet2.default.List(); + _context24.t0 = sig.isExpired(date); - packetlist.push(sig); - return _context24.abrupt('return', new _signature.Signature(packetlist)); + if (_context24.t0) { + _context24.next = 18; + break; + } - case 6: + _context24.t1 = sig.created >= signingKey.getCreationTime(); + + if (!_context24.t1) { + _context24.next = 17; + break; + } + + _context24.t2 = sig.created; + _context24.next = 15; + return signingKey === primaryKey ? signingKey.getExpirationTime() : signingKey.getExpirationTime(primaryKey, date); + + case 15: + _context24.t3 = _context24.sent; + _context24.t1 = _context24.t2 < _context24.t3; + + case 17: + _context24.t0 = !_context24.t1; + + case 18: + if (!_context24.t0) { + _context24.next = 20; + break; + } + + return _context24.abrupt('return', null); + + case 20: + return _context24.abrupt('return', verified); + + case 21: case 'end': return _context24.stop(); } } - }, _callee24, _this3); + }, _callee24, _this4); + }))(), + signature: (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25() { + var sig, packetlist; + return _regenerator2.default.wrap(function _callee25$(_context25) { + while (1) { + switch (_context25.prev = _context25.next) { + case 0: + _context25.next = 2; + return signaturePacket; + + case 2: + sig = _context25.sent; + packetlist = new _packet2.default.List(); + + packetlist.push(sig); + return _context25.abrupt('return', new _signature.Signature(packetlist)); + + case 6: + case 'end': + return _context25.stop(); + } + } + }, _callee25, _this4); }))() }; @@ -46893,18 +46938,18 @@ var createVerificationObject = function () { verifiedSig.signature.catch(function () {}); verifiedSig.verified.catch(function () {}); - return _context25.abrupt('return', verifiedSig); + return _context26.abrupt('return', verifiedSig); case 9: case 'end': - return _context25.stop(); + return _context26.stop(); } } - }, _callee25, this); + }, _callee26, this); })); - return function createVerificationObject(_x57, _x58, _x59) { - return _ref23.apply(this, arguments); + return function createVerificationObject(_x59, _x60, _x61) { + return _ref24.apply(this, arguments); }; }(); @@ -46915,6 +46960,7 @@ var createVerificationObject = function () { * @param {Array} keys array of keys to verify signatures * @param {Date} date Verify the signature against the given date, * i.e. check signature creation time < date < expiration time + * @param {Boolean} detached (optional) whether to verify detached signature packets * @returns {Promise>} list of signer's keyid and validity of signature * @async @@ -46922,45 +46968,46 @@ var createVerificationObject = function () { var createVerificationObjects = exports.createVerificationObjects = function () { - var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(signatureList, literalDataList, keys) { + var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee28(signatureList, literalDataList, keys) { var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); - return _regenerator2.default.wrap(function _callee27$(_context27) { + var detached = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + return _regenerator2.default.wrap(function _callee28$(_context28) { while (1) { - switch (_context27.prev = _context27.next) { + switch (_context28.prev = _context28.next) { case 0: - return _context27.abrupt('return', _promise2.default.all(signatureList.filter(function (signature) { + return _context28.abrupt('return', _promise2.default.all(signatureList.filter(function (signature) { return ['text', 'binary'].includes(_enums2.default.read(_enums2.default.signature, signature.signatureType)); }).map(function () { - var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(signature) { - return _regenerator2.default.wrap(function _callee26$(_context26) { + var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(signature) { + return _regenerator2.default.wrap(function _callee27$(_context27) { while (1) { - switch (_context26.prev = _context26.next) { + switch (_context27.prev = _context27.next) { case 0: - return _context26.abrupt('return', createVerificationObject(signature, literalDataList, keys, date)); + return _context27.abrupt('return', createVerificationObject(signature, literalDataList, keys, date, detached)); case 1: case 'end': - return _context26.stop(); + return _context27.stop(); } } - }, _callee26, this); + }, _callee27, this); })); - return function (_x66) { - return _ref28.apply(this, arguments); + return function (_x70) { + return _ref29.apply(this, arguments); }; }()))); case 1: case 'end': - return _context27.stop(); + return _context28.stop(); } } - }, _callee27, this); + }, _callee28, this); })); - return function createVerificationObjects(_x62, _x63, _x64) { - return _ref27.apply(this, arguments); + return function createVerificationObjects(_x65, _x66, _x67) { + return _ref28.apply(this, arguments); }; }(); @@ -46978,11 +47025,11 @@ var createVerificationObjects = exports.createVerificationObjects = function () * @static */ var readArmored = exports.readArmored = function () { - var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee29(armoredText) { + var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee30(armoredText) { var streamType, input; - 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: //TODO how do we want to handle bad text? Exception throwing //TODO don't accept non-message armored texts @@ -46991,23 +47038,23 @@ var readArmored = exports.readArmored = function () { if (streamType === 'node') { armoredText = _webStreamTools2.default.nodeToWeb(armoredText); } - _context29.next = 4; + _context30.next = 4; return _armor2.default.decode(armoredText); case 4: - input = _context29.sent; - return _context29.abrupt('return', read(input.data, streamType)); + input = _context30.sent; + return _context30.abrupt('return', read(input.data, streamType)); case 6: case 'end': - return _context29.stop(); + return _context30.stop(); } } - }, _callee29, this); + }, _callee30, this); })); - return function readArmored(_x68) { - return _ref30.apply(this, arguments); + return function readArmored(_x72) { + return _ref31.apply(this, arguments); }; }(); @@ -47022,12 +47069,12 @@ var readArmored = exports.readArmored = function () { var read = exports.read = function () { - var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee30(input) { + var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee31(input) { var fromStream = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util2.default.isStream(input); var streamType, packetlist, message; - return _regenerator2.default.wrap(function _callee30$(_context30) { + return _regenerator2.default.wrap(function _callee31$(_context31) { while (1) { - switch (_context30.prev = _context30.next) { + switch (_context31.prev = _context31.next) { case 0: streamType = _util2.default.isStream(input); @@ -47035,25 +47082,25 @@ var read = exports.read = function () { input = _webStreamTools2.default.nodeToWeb(input); } packetlist = new _packet2.default.List(); - _context30.next = 5; + _context31.next = 5; return packetlist.read(input, fromStream); case 5: message = new Message(packetlist); message.fromStream = fromStream; - return _context30.abrupt('return', message); + return _context31.abrupt('return', message); case 8: case 'end': - return _context30.stop(); + return _context31.stop(); } } - }, _callee30, this); + }, _callee31, this); })); - return function read(_x69) { - return _ref31.apply(this, arguments); + return function read(_x73) { + return _ref32.apply(this, arguments); }; }(); @@ -47201,99 +47248,110 @@ Message.prototype.getSigningKeyIds = function () { * @async */ Message.prototype.decrypt = function () { - var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(privateKeys, passwords, sessionKeys, streaming) { - var keyObjs, symEncryptedPacketlist, symEncryptedPacket, exception, i, resultMsg; - return _regenerator2.default.wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.t0 = sessionKeys; + var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(privateKeys, passwords, sessionKeys, streaming) { + var _this = this; - if (_context.t0) { - _context.next = 5; + var keyObjs, symEncryptedPacketlist, symEncryptedPacket, exception, decryptedPromise, resultMsg; + return _regenerator2.default.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.t0 = sessionKeys; + + if (_context2.t0) { + _context2.next = 5; break; } - _context.next = 4; + _context2.next = 4; return this.decryptSessionKeys(privateKeys, passwords); case 4: - _context.t0 = _context.sent; + _context2.t0 = _context2.sent; case 5: - keyObjs = _context.t0; + keyObjs = _context2.t0; symEncryptedPacketlist = this.packets.filterByTag(_enums2.default.packet.symmetricallyEncrypted, _enums2.default.packet.symEncryptedIntegrityProtected, _enums2.default.packet.symEncryptedAEADProtected); if (!(symEncryptedPacketlist.length === 0)) { - _context.next = 9; + _context2.next = 9; break; } - return _context.abrupt('return', this); + return _context2.abrupt('return', this); case 9: symEncryptedPacket = symEncryptedPacketlist[0]; exception = null; - i = 0; + decryptedPromise = _promise2.default.all(keyObjs.map(function () { + var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(keyObj) { + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + if (!(!keyObj || !_util2.default.isUint8Array(keyObj.data) || !_util2.default.isString(keyObj.algorithm))) { + _context.next = 2; + break; + } - case 12: - if (!(i < keyObjs.length)) { - _context.next = 28; - break; - } + throw new Error('Invalid session key for decryption.'); - if (!(!keyObjs[i] || !_util2.default.isUint8Array(keyObjs[i].data) || !_util2.default.isString(keyObjs[i].algorithm))) { - _context.next = 15; - break; - } + case 2: + _context.prev = 2; + _context.next = 5; + return symEncryptedPacket.decrypt(keyObj.algorithm, keyObj.data, streaming); - throw new Error('Invalid session key for decryption.'); + case 5: + _context.next = 11; + break; - case 15: - _context.prev = 15; - _context.next = 18; - return symEncryptedPacket.decrypt(keyObjs[i].algorithm, keyObjs[i].data, streaming); + case 7: + _context.prev = 7; + _context.t0 = _context['catch'](2); - case 18: - return _context.abrupt('break', 28); + _util2.default.print_debug_error(_context.t0); + exception = _context.t0; - case 21: - _context.prev = 21; - _context.t1 = _context['catch'](15); + case 11: + case 'end': + return _context.stop(); + } + } + }, _callee, _this, [[2, 7]]); + })); - _util2.default.print_debug_error(_context.t1); - exception = _context.t1; - - case 25: - i++; - _context.next = 12; - break; - - case 28: + return function (_x5) { + return _ref2.apply(this, arguments); + }; + }())); // We don't await stream.cancel here because it only returns when the other copy is canceled too. + _webStreamTools2.default.cancel(symEncryptedPacket.encrypted); // Don't keep copy of encrypted data in memory. symEncryptedPacket.encrypted = null; + _context2.next = 16; + return decryptedPromise; + case 16: if (!(!symEncryptedPacket.packets || !symEncryptedPacket.packets.length)) { - _context.next = 32; + _context2.next = 18; break; } throw exception || new Error('Decryption failed.'); - case 32: + case 18: resultMsg = new Message(symEncryptedPacket.packets); symEncryptedPacket.packets = new _packet2.default.List(); // remove packets after decryption - return _context.abrupt('return', resultMsg); + return _context2.abrupt('return', resultMsg); - case 35: + case 21: case 'end': - return _context.stop(); + return _context2.stop(); } } - }, _callee, this, [[15, 21]]); + }, _callee2, this); })); return function (_x, _x2, _x3, _x4) { @@ -47310,145 +47368,145 @@ Message.prototype.decrypt = function () { * @async */ Message.prototype.decryptSessionKeys = function () { - var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(privateKeys, passwords) { + var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(privateKeys, passwords) { var keyPackets, exception, symESKeyPacketlist, pkESKeyPacketlist, seen; - return _regenerator2.default.wrap(function _callee7$(_context7) { + return _regenerator2.default.wrap(function _callee8$(_context8) { while (1) { - switch (_context7.prev = _context7.next) { + switch (_context8.prev = _context8.next) { case 0: keyPackets = []; exception = void 0; if (!passwords) { - _context7.next = 10; + _context8.next = 10; break; } symESKeyPacketlist = this.packets.filterByTag(_enums2.default.packet.symEncryptedSessionKey); if (symESKeyPacketlist) { - _context7.next = 6; + _context8.next = 6; break; } throw new Error('No symmetrically encrypted session key packet found.'); case 6: - _context7.next = 8; + _context8.next = 8; return _promise2.default.all(passwords.map(function () { - var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(password, i) { + var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(password, i) { var packets; - return _regenerator2.default.wrap(function _callee3$(_context3) { + return _regenerator2.default.wrap(function _callee4$(_context4) { while (1) { - switch (_context3.prev = _context3.next) { + switch (_context4.prev = _context4.next) { case 0: packets = void 0; if (!i) { - _context3.next = 7; + _context4.next = 7; break; } packets = new _packet2.default.List(); - _context3.next = 5; + _context4.next = 5; return packets.read(symESKeyPacketlist.write()); case 5: - _context3.next = 8; + _context4.next = 8; break; case 7: packets = symESKeyPacketlist; case 8: - _context3.next = 10; + _context4.next = 10; return _promise2.default.all(packets.map(function () { - var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(keyPacket) { - return _regenerator2.default.wrap(function _callee2$(_context2) { + var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(keyPacket) { + return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { - switch (_context2.prev = _context2.next) { + switch (_context3.prev = _context3.next) { case 0: - _context2.prev = 0; - _context2.next = 3; + _context3.prev = 0; + _context3.next = 3; return keyPacket.decrypt(password); case 3: keyPackets.push(keyPacket); - _context2.next = 9; + _context3.next = 9; break; case 6: - _context2.prev = 6; - _context2.t0 = _context2['catch'](0); + _context3.prev = 6; + _context3.t0 = _context3['catch'](0); - _util2.default.print_debug_error(_context2.t0); + _util2.default.print_debug_error(_context3.t0); case 9: case 'end': - return _context2.stop(); + return _context3.stop(); } } - }, _callee2, this, [[0, 6]]); + }, _callee3, this, [[0, 6]]); })); - return function (_x9) { - return _ref4.apply(this, arguments); + return function (_x10) { + return _ref5.apply(this, arguments); }; }())); case 10: case 'end': - return _context3.stop(); + return _context4.stop(); } } - }, _callee3, this); + }, _callee4, this); })); - return function (_x7, _x8) { - return _ref3.apply(this, arguments); + return function (_x8, _x9) { + return _ref4.apply(this, arguments); }; }())); case 8: - _context7.next = 19; + _context8.next = 19; break; case 10: if (!privateKeys) { - _context7.next = 18; + _context8.next = 18; break; } pkESKeyPacketlist = this.packets.filterByTag(_enums2.default.packet.publicKeyEncryptedSessionKey); if (pkESKeyPacketlist) { - _context7.next = 14; + _context8.next = 14; break; } throw new Error('No public key encrypted session key packet found.'); case 14: - _context7.next = 16; + _context8.next = 16; return _promise2.default.all(pkESKeyPacketlist.map(function () { - var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(keyPacket) { - return _regenerator2.default.wrap(function _callee6$(_context6) { + var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(keyPacket) { + return _regenerator2.default.wrap(function _callee7$(_context7) { while (1) { - switch (_context6.prev = _context6.next) { + switch (_context7.prev = _context7.next) { case 0: - _context6.next = 2; + _context7.next = 2; return _promise2.default.all(privateKeys.map(function () { - var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(privateKey) { + var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(privateKey) { var primaryUser, algos, privateKeyPackets; - return _regenerator2.default.wrap(function _callee5$(_context5) { + return _regenerator2.default.wrap(function _callee6$(_context6) { while (1) { - switch (_context5.prev = _context5.next) { + switch (_context6.prev = _context6.next) { case 0: - _context5.next = 2; + _context6.next = 2; return privateKey.getPrimaryUser(); case 2: - primaryUser = _context5.sent; + primaryUser = _context6.sent; // TODO: Pass userId from somewhere. algos = [_enums2.default.symmetric.aes256, // Old OpenPGP.js default fallback _enums2.default.symmetric.aes128, // RFC4880bis fallback @@ -47463,36 +47521,36 @@ Message.prototype.decryptSessionKeys = function () { privateKeyPackets = privateKey.getKeys(keyPacket.publicKeyId).map(function (key) { return key.keyPacket; }); - _context5.next = 8; + _context6.next = 8; return _promise2.default.all(privateKeyPackets.map(function () { - var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(privateKeyPacket) { - return _regenerator2.default.wrap(function _callee4$(_context4) { + var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(privateKeyPacket) { + return _regenerator2.default.wrap(function _callee5$(_context5) { while (1) { - switch (_context4.prev = _context4.next) { + switch (_context5.prev = _context5.next) { case 0: if (privateKeyPacket) { - _context4.next = 2; + _context5.next = 2; break; } - return _context4.abrupt('return'); + return _context5.abrupt('return'); case 2: if (privateKeyPacket.isDecrypted()) { - _context4.next = 4; + _context5.next = 4; break; } throw new Error('Private key is not decrypted.'); case 4: - _context4.prev = 4; - _context4.next = 7; + _context5.prev = 4; + _context5.next = 7; return keyPacket.decrypt(privateKeyPacket); case 7: if (algos.includes(_enums2.default.write(_enums2.default.symmetric, keyPacket.sessionKeyAlgorithm))) { - _context4.next = 9; + _context5.next = 9; break; } @@ -47500,39 +47558,39 @@ Message.prototype.decryptSessionKeys = function () { case 9: keyPackets.push(keyPacket); - _context4.next = 16; + _context5.next = 16; break; case 12: - _context4.prev = 12; - _context4.t0 = _context4['catch'](4); + _context5.prev = 12; + _context5.t0 = _context5['catch'](4); - _util2.default.print_debug_error(_context4.t0); - exception = _context4.t0; + _util2.default.print_debug_error(_context5.t0); + exception = _context5.t0; case 16: case 'end': - return _context4.stop(); + return _context5.stop(); } } - }, _callee4, this, [[4, 12]]); + }, _callee5, this, [[4, 12]]); })); - return function (_x12) { - return _ref7.apply(this, arguments); + return function (_x13) { + return _ref8.apply(this, arguments); }; }())); case 8: case 'end': - return _context5.stop(); + return _context6.stop(); } } - }, _callee5, this); + }, _callee6, this); })); - return function (_x11) { - return _ref6.apply(this, arguments); + return function (_x12) { + return _ref7.apply(this, arguments); }; }())); @@ -47542,19 +47600,19 @@ Message.prototype.decryptSessionKeys = function () { case 4: case 'end': - return _context6.stop(); + return _context7.stop(); } } - }, _callee6, this); + }, _callee7, this); })); - return function (_x10) { - return _ref5.apply(this, arguments); + return function (_x11) { + return _ref6.apply(this, arguments); }; }())); case 16: - _context7.next = 19; + _context8.next = 19; break; case 18: @@ -47562,7 +47620,7 @@ Message.prototype.decryptSessionKeys = function () { case 19: if (!keyPackets.length) { - _context7.next = 22; + _context8.next = 22; break; } @@ -47580,7 +47638,7 @@ Message.prototype.decryptSessionKeys = function () { }); } - return _context7.abrupt('return', keyPackets.map(function (packet) { + return _context8.abrupt('return', keyPackets.map(function (packet) { return { data: packet.sessionKey, algorithm: packet.sessionKeyAlgorithm }; })); @@ -47589,14 +47647,14 @@ Message.prototype.decryptSessionKeys = function () { case 23: case 'end': - return _context7.stop(); + return _context8.stop(); } } - }, _callee7, this); + }, _callee8, this); })); - return function (_x5, _x6) { - return _ref2.apply(this, arguments); + return function (_x6, _x7) { + return _ref3.apply(this, arguments); }; }(); @@ -47646,27 +47704,27 @@ Message.prototype.getText = function () { * @async */ Message.prototype.encrypt = function () { - var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(keys, passwords, sessionKey) { + var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(keys, passwords, sessionKey) { var wildcard = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var date = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : new Date(); var userIds = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : []; var streaming = arguments[6]; var symAlgo, aeadAlgo, symEncryptedPacket, msg; - return _regenerator2.default.wrap(function _callee8$(_context8) { + return _regenerator2.default.wrap(function _callee9$(_context9) { while (1) { - switch (_context8.prev = _context8.next) { + switch (_context9.prev = _context9.next) { case 0: symAlgo = void 0; aeadAlgo = void 0; symEncryptedPacket = void 0; if (!sessionKey) { - _context8.next = 11; + _context9.next = 11; break; } if (!(!_util2.default.isUint8Array(sessionKey.data) || !_util2.default.isString(sessionKey.algorithm))) { - _context8.next = 6; + _context9.next = 6; break; } @@ -47676,64 +47734,64 @@ Message.prototype.encrypt = function () { symAlgo = sessionKey.algorithm; aeadAlgo = sessionKey.aeadAlgorithm; sessionKey = sessionKey.data; - _context8.next = 38; + _context9.next = 38; break; case 11: if (!(keys && keys.length)) { - _context8.next = 32; + _context9.next = 32; break; } - _context8.t0 = _enums2.default; - _context8.t1 = _enums2.default.symmetric; - _context8.next = 16; + _context9.t0 = _enums2.default; + _context9.t1 = _enums2.default.symmetric; + _context9.next = 16; return (0, _key.getPreferredAlgo)('symmetric', keys, date, userIds); case 16: - _context8.t2 = _context8.sent; - symAlgo = _context8.t0.read.call(_context8.t0, _context8.t1, _context8.t2); - _context8.t3 = _config2.default.aead_protect && _config2.default.aead_protect_version === 4; + _context9.t2 = _context9.sent; + symAlgo = _context9.t0.read.call(_context9.t0, _context9.t1, _context9.t2); + _context9.t3 = _config2.default.aead_protect; - if (!_context8.t3) { - _context8.next = 23; + if (!_context9.t3) { + _context9.next = 23; break; } - _context8.next = 22; + _context9.next = 22; return (0, _key.isAeadSupported)(keys, date, userIds); case 22: - _context8.t3 = _context8.sent; + _context9.t3 = _context9.sent; case 23: - if (!_context8.t3) { - _context8.next = 30; + if (!_context9.t3) { + _context9.next = 30; break; } - _context8.t4 = _enums2.default; - _context8.t5 = _enums2.default.aead; - _context8.next = 28; + _context9.t4 = _enums2.default; + _context9.t5 = _enums2.default.aead; + _context9.next = 28; return (0, _key.getPreferredAlgo)('aead', keys, date, userIds); case 28: - _context8.t6 = _context8.sent; - aeadAlgo = _context8.t4.read.call(_context8.t4, _context8.t5, _context8.t6); + _context9.t6 = _context9.sent; + aeadAlgo = _context9.t4.read.call(_context9.t4, _context9.t5, _context9.t6); case 30: - _context8.next = 38; + _context9.next = 38; break; case 32: if (!(passwords && passwords.length)) { - _context8.next = 37; + _context9.next = 37; break; } symAlgo = _enums2.default.read(_enums2.default.symmetric, _config2.default.encryption_cipher); aeadAlgo = _enums2.default.read(_enums2.default.aead, _config2.default.aead_mode); - _context8.next = 38; + _context9.next = 38; break; case 37: @@ -47741,25 +47799,25 @@ Message.prototype.encrypt = function () { case 38: if (sessionKey) { - _context8.next = 42; + _context9.next = 42; break; } - _context8.next = 41; + _context9.next = 41; return _crypto2.default.generateSessionKey(symAlgo); case 41: - sessionKey = _context8.sent; + sessionKey = _context9.sent; case 42: - _context8.next = 44; + _context9.next = 44; return encryptSessionKey(sessionKey, symAlgo, aeadAlgo, keys, passwords, wildcard, date, userIds); case 44: - msg = _context8.sent; + msg = _context9.sent; - if (_config2.default.aead_protect && (_config2.default.aead_protect_version !== 4 || aeadAlgo)) { + if (_config2.default.aead_protect && aeadAlgo) { symEncryptedPacket = new _packet2.default.SymEncryptedAEADProtected(); symEncryptedPacket.aeadAlgorithm = aeadAlgo; } else if (_config2.default.integrity_protect) { @@ -47769,14 +47827,14 @@ Message.prototype.encrypt = function () { } symEncryptedPacket.packets = this.packets; - _context8.next = 49; + _context9.next = 49; return symEncryptedPacket.encrypt(symAlgo, sessionKey, streaming); case 49: msg.packets.push(symEncryptedPacket); symEncryptedPacket.packets = new _packet2.default.List(); // remove packets after encryption - return _context8.abrupt('return', { + return _context9.abrupt('return', { message: msg, sessionKey: { data: sessionKey, @@ -47787,31 +47845,31 @@ Message.prototype.encrypt = function () { case 52: case 'end': - return _context8.stop(); + return _context9.stop(); } } - }, _callee8, this); + }, _callee9, this); })); - return function (_x13, _x14, _x15) { - return _ref8.apply(this, arguments); + return function (_x14, _x15, _x16) { + return _ref9.apply(this, arguments); }; }();Message.prototype.sign = function () { - var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14() { + var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15() { var privateKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var signature = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var date = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Date(); var userIds = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : []; var packetlist, literalDataPacket, i, existingSigPacketlist, signatureType, signaturePacket, onePassSig; - 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: packetlist = new _packet2.default.List(); literalDataPacket = this.packets.findPacket(_enums2.default.packet.literal); if (literalDataPacket) { - _context14.next = 4; + _context15.next = 4; break; } @@ -47842,30 +47900,30 @@ Message.prototype.encrypt = function () { } } - _context14.next = 10; + _context15.next = 10; return _promise2.default.all((0, _from2.default)(privateKeys).reverse().map(function () { - var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(privateKey, i) { + var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(privateKey, i) { var signingKey, onePassSig; - return _regenerator2.default.wrap(function _callee13$(_context13) { + return _regenerator2.default.wrap(function _callee14$(_context14) { while (1) { - switch (_context13.prev = _context13.next) { + switch (_context14.prev = _context14.next) { case 0: if (!privateKey.isPublic()) { - _context13.next = 2; + _context14.next = 2; break; } throw new Error('Need private key for signing'); case 2: - _context13.next = 4; + _context14.next = 4; return privateKey.getSigningKey(undefined, date, userIds); case 4: - signingKey = _context13.sent; + signingKey = _context14.sent; if (signingKey) { - _context13.next = 7; + _context14.next = 7; break; } @@ -47875,29 +47933,29 @@ Message.prototype.encrypt = function () { onePassSig = new _packet2.default.OnePassSignature(); onePassSig.signatureType = signatureType; - _context13.next = 11; + _context14.next = 11; return (0, _key.getPreferredHashAlgo)(privateKey, signingKey.keyPacket, date, userIds); case 11: - onePassSig.hashAlgorithm = _context13.sent; + onePassSig.hashAlgorithm = _context14.sent; onePassSig.publicKeyAlgorithm = signingKey.keyPacket.algorithm; onePassSig.issuerKeyId = signingKey.getKeyId(); if (i === privateKeys.length - 1) { onePassSig.flags = 1; } - return _context13.abrupt('return', onePassSig); + return _context14.abrupt('return', onePassSig); case 16: case 'end': - return _context13.stop(); + return _context14.stop(); } } - }, _callee13, this); + }, _callee14, this); })); - return function (_x38, _x39) { - return _ref14.apply(this, arguments); + return function (_x39, _x40) { + return _ref15.apply(this, arguments); }; }())).then(function (onePassSignatureList) { onePassSignatureList.forEach(function (onePassSig) { @@ -47908,27 +47966,27 @@ Message.prototype.encrypt = function () { case 10: packetlist.push(literalDataPacket); - _context14.t0 = packetlist; - _context14.next = 14; - return createSignaturePackets(literalDataPacket, privateKeys, signature, date); + _context15.t0 = packetlist; + _context15.next = 14; + return createSignaturePackets(literalDataPacket, privateKeys, signature, date, false); case 14: - _context14.t1 = _context14.sent; + _context15.t1 = _context15.sent; - _context14.t0.concat.call(_context14.t0, _context14.t1); + _context15.t0.concat.call(_context15.t0, _context15.t1); - return _context14.abrupt('return', new Message(packetlist)); + return _context15.abrupt('return', new Message(packetlist)); case 17: case 'end': - return _context14.stop(); + return _context15.stop(); } } - }, _callee14, this); + }, _callee15, this); })); return function () { - return _ref13.apply(this, arguments); + return _ref14.apply(this, arguments); }; }(); @@ -47962,61 +48020,61 @@ Message.prototype.compress = function (compression) { * @async */ Message.prototype.signDetached = function () { - var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15() { + var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16() { var privateKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var signature = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; var date = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Date(); var userIds = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : []; var literalDataPacket; - 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: literalDataPacket = this.packets.findPacket(_enums2.default.packet.literal); if (literalDataPacket) { - _context15.next = 3; + _context16.next = 3; break; } throw new Error('No literal data packet to sign.'); case 3: - _context15.t0 = _signature.Signature; - _context15.next = 6; - return createSignaturePackets(literalDataPacket, privateKeys, signature, date, userIds); + _context16.t0 = _signature.Signature; + _context16.next = 6; + return createSignaturePackets(literalDataPacket, privateKeys, signature, date, userIds, true); case 6: - _context15.t1 = _context15.sent; - return _context15.abrupt('return', new _context15.t0(_context15.t1)); + _context16.t1 = _context16.sent; + return _context16.abrupt('return', new _context16.t0(_context16.t1)); case 8: case 'end': - return _context15.stop(); + return _context16.stop(); } } - }, _callee15, this); + }, _callee16, this); })); return function () { - return _ref15.apply(this, arguments); + return _ref16.apply(this, arguments); }; }();Message.prototype.verify = function () { - var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(keys) { - var _this2 = this; + var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(keys) { + var _this3 = this; var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date(); var streaming = arguments[2]; var msg, literalDataList, onePassSigList, signatureList; - 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: msg = this.unwrapCompressed(); literalDataList = msg.packets.filterByTag(_enums2.default.packet.literal); if (!(literalDataList.length !== 1)) { - _context21.next = 4; + _context22.next = 4; break; } @@ -48027,145 +48085,145 @@ Message.prototype.signDetached = function () { signatureList = msg.packets.filterByTag(_enums2.default.packet.signature); if (!(onePassSigList.length && !signatureList.length && msg.packets.stream)) { - _context21.next = 11; + _context22.next = 11; break; } - _context21.next = 9; + _context22.next = 9; return _promise2.default.all(onePassSigList.map(function () { - var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(onePassSig) { - return _regenerator2.default.wrap(function _callee19$(_context19) { + var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(onePassSig) { + return _regenerator2.default.wrap(function _callee20$(_context20) { while (1) { - switch (_context19.prev = _context19.next) { + switch (_context20.prev = _context20.next) { case 0: onePassSig.correspondingSig = new _promise2.default(function (resolve, reject) { onePassSig.correspondingSigResolve = resolve; onePassSig.correspondingSigReject = reject; }); - onePassSig.signatureData = _webStreamTools2.default.fromAsync((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18() { - return _regenerator2.default.wrap(function _callee18$(_context18) { + onePassSig.signatureData = _webStreamTools2.default.fromAsync((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19() { + 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 onePassSig.correspondingSig; case 2: - return _context18.abrupt('return', _context18.sent.signatureData); + return _context19.abrupt('return', _context19.sent.signatureData); case 3: case 'end': - return _context18.stop(); + return _context19.stop(); } } - }, _callee18, _this2); + }, _callee19, _this3); }))); - _context19.next = 4; - return onePassSig.hash(onePassSig.signatureType, literalDataList[0], undefined, streaming); + _context20.next = 4; + return onePassSig.hash(onePassSig.signatureType, literalDataList[0], undefined, false, streaming); case 4: - onePassSig.hashed = _context19.sent; + onePassSig.hashed = _context20.sent; case 5: case 'end': - return _context19.stop(); + return _context20.stop(); } } - }, _callee19, _this2); + }, _callee20, _this3); })); - return function (_x53) { - return _ref19.apply(this, arguments); + return function (_x55) { + return _ref20.apply(this, arguments); }; }())); case 9: msg.packets.stream = _webStreamTools2.default.transformPair(msg.packets.stream, function () { - var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(readable, writable) { - var reader, writer, i, _ref22, signature; + var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(readable, writable) { + var reader, writer, i, _ref23, signature; - 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: reader = _webStreamTools2.default.getReader(readable); writer = _webStreamTools2.default.getWriter(writable); - _context20.prev = 2; + _context21.prev = 2; i = 0; case 4: if (!(i < onePassSigList.length)) { - _context20.next = 13; + _context21.next = 13; break; } - _context20.next = 7; + _context21.next = 7; return reader.read(); case 7: - _ref22 = _context20.sent; - signature = _ref22.value; + _ref23 = _context21.sent; + signature = _ref23.value; onePassSigList[i].correspondingSigResolve(signature); case 10: i++; - _context20.next = 4; + _context21.next = 4; break; case 13: - _context20.next = 15; + _context21.next = 15; return reader.readToEnd(); case 15: - _context20.next = 17; + _context21.next = 17; return writer.ready; case 17: - _context20.next = 19; + _context21.next = 19; return writer.close(); case 19: - _context20.next = 26; + _context21.next = 26; break; case 21: - _context20.prev = 21; - _context20.t0 = _context20['catch'](2); + _context21.prev = 21; + _context21.t0 = _context21['catch'](2); onePassSigList.forEach(function (onePassSig) { - onePassSig.correspondingSigReject(_context20.t0); + onePassSig.correspondingSigReject(_context21.t0); }); - _context20.next = 26; - return writer.abort(_context20.t0); + _context21.next = 26; + return writer.abort(_context21.t0); case 26: case 'end': - return _context20.stop(); + return _context21.stop(); } } - }, _callee20, _this2, [[2, 21]]); + }, _callee21, _this3, [[2, 21]]); })); - return function (_x54, _x55) { - return _ref21.apply(this, arguments); + return function (_x56, _x57) { + return _ref22.apply(this, arguments); }; }()); - return _context21.abrupt('return', createVerificationObjects(onePassSigList, literalDataList, keys, date)); + return _context22.abrupt('return', createVerificationObjects(onePassSigList, literalDataList, keys, date, false)); case 11: - return _context21.abrupt('return', createVerificationObjects(signatureList, literalDataList, keys, date)); + return _context22.abrupt('return', createVerificationObjects(signatureList, literalDataList, keys, date, false)); case 12: case 'end': - return _context21.stop(); + return _context22.stop(); } } - }, _callee21, this); + }, _callee22, this); })); - return function (_x51) { - return _ref18.apply(this, arguments); + return function (_x53) { + return _ref19.apply(this, arguments); }; }(); @@ -48186,7 +48244,7 @@ Message.prototype.verifyDetached = function (signature, keys) { throw new Error('Can only verify message with one literal data packet.'); } var signatureList = signature.packets; - return createVerificationObjects(signatureList, literalDataList, keys, date); + return createVerificationObjects(signatureList, literalDataList, keys, date, true); };Message.prototype.unwrapCompressed = function () { var compressed = this.packets.filterByTag(_enums2.default.packet.compressed); if (compressed.length) { @@ -48200,44 +48258,44 @@ Message.prototype.verifyDetached = function (signature, keys) { * @param {String|Uint8Array} detachedSignature The detached ASCII-armored or Uint8Array PGP signature */ Message.prototype.appendSignature = function () { - var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee28(detachedSignature) { - return _regenerator2.default.wrap(function _callee28$(_context28) { + var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee29(detachedSignature) { + return _regenerator2.default.wrap(function _callee29$(_context29) { while (1) { - switch (_context28.prev = _context28.next) { + switch (_context29.prev = _context29.next) { case 0: - _context28.t0 = this.packets; + _context29.t0 = this.packets; if (!_util2.default.isUint8Array(detachedSignature)) { - _context28.next = 5; + _context29.next = 5; break; } - _context28.t1 = detachedSignature; - _context28.next = 8; + _context29.t1 = detachedSignature; + _context29.next = 8; break; case 5: - _context28.next = 7; + _context29.next = 7; return _armor2.default.decode(detachedSignature); case 7: - _context28.t1 = _context28.sent.data; + _context29.t1 = _context29.sent.data; case 8: - _context28.t2 = _context28.t1; - _context28.next = 11; - return _context28.t0.read.call(_context28.t0, _context28.t2); + _context29.t2 = _context29.t1; + _context29.next = 11; + return _context29.t0.read.call(_context29.t0, _context29.t2); case 11: case 'end': - return _context28.stop(); + return _context29.stop(); } } - }, _callee28, this); + }, _callee29, this); })); - return function (_x67) { - return _ref29.apply(this, arguments); + return function (_x71) { + return _ref30.apply(this, arguments); }; }(); @@ -48301,7 +48359,7 @@ function fromBinary(bytes, filename) { return message; } -},{"./config":351,"./crypto":366,"./encoding/armor":383,"./enums":385,"./key":388,"./packet":397,"./signature":417,"./type/keyid":420,"./util":424,"babel-runtime/core-js/array/from":17,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"web-stream-tools":346}],393:[function(_dereq_,module,exports){ +},{"./config":350,"./crypto":365,"./encoding/armor":382,"./enums":384,"./key":387,"./packet":396,"./signature":416,"./type/keyid":419,"./util":423,"babel-runtime/core-js/array/from":16,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"web-stream-tools":345}],392:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -48524,10 +48582,8 @@ var convertStreams = function () { /** * Link result.data to the message stream for cancellation. - * Also, forward errors in the message to result.data. * @param {Object} result the data to convert * @param {Message} message message object - * @param {ReadableStream} erroringStream (optional) stream which either errors or gets closed without data * @returns {Object} */ @@ -49272,7 +49328,7 @@ function decrypt(_ref16) { result.data = format === 'binary' ? decrypted.getLiteralData() : decrypted.getText(); result.filename = decrypted.getFilename(); - if (streaming) linkStreams(result, message, decrypted.packets.stream); + if (streaming) linkStreams(result, message); _context9.next = 17; return convertStream(result.data, streaming); @@ -49678,49 +49734,24 @@ function toArray(param) { param = [param]; } return param; -}function linkStreams(result, message, erroringStream) { +}function linkStreams(result, message) { var _this7 = this; result.data = _webStreamTools2.default.transformPair(message.packets.stream, function () { var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(readable, writable) { - var writer; return _regenerator2.default.wrap(function _callee18$(_context18) { while (1) { switch (_context18.prev = _context18.next) { case 0: _context18.next = 2; - return _webStreamTools2.default.pipe(result.data, writable, { - preventClose: true - }); + return _webStreamTools2.default.pipe(result.data, writable); case 2: - writer = _webStreamTools2.default.getWriter(writable); - _context18.prev = 3; - _context18.next = 6; - return _webStreamTools2.default.readToEnd(erroringStream || readable, function (arr) { - return arr; - }); - - case 6: - _context18.next = 8; - return writer.close(); - - case 8: - _context18.next = 14; - break; - - case 10: - _context18.prev = 10; - _context18.t0 = _context18['catch'](3); - _context18.next = 14; - return writer.abort(_context18.t0); - - case 14: case 'end': return _context18.stop(); } } - }, _callee18, _this7, [[3, 10]]); + }, _callee18, _this7); })); return function (_x16, _x17) { @@ -49747,10 +49778,10 @@ function toArray(param) { * @returns {Boolean} If authenticated encryption should be used */ function nativeAEAD() { - return _config2.default.aead_protect && ((_config2.default.aead_protect_version !== 4 || _config2.default.aead_mode === _enums2.default.aead.experimental_gcm) && _util2.default.getWebCrypto() || _config2.default.aead_protect_version === 4 && _config2.default.aead_mode === _enums2.default.aead.eax && _util2.default.getWebCrypto()); + return _config2.default.aead_protect && (_config2.default.aead_mode === _enums2.default.aead.eax || _config2.default.aead_mode === _enums2.default.aead.experimental_gcm) && _util2.default.getWebCrypto(); } -},{"./cleartext":349,"./config/config":350,"./enums":385,"./key":388,"./message":392,"./polyfills":416,"./util":424,"./worker/async_proxy":426,"babel-runtime/core-js/object/entries":26,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/regenerator":44,"web-stream-tools":346}],394:[function(_dereq_,module,exports){ +},{"./cleartext":348,"./config/config":349,"./enums":384,"./key":387,"./message":391,"./polyfills":415,"./util":423,"./worker/async_proxy":425,"babel-runtime/core-js/object/entries":25,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43,"web-stream-tools":345}],393:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -49968,7 +49999,7 @@ function packetClassFromTagName(tag) { return tag.substr(0, 1).toUpperCase() + tag.substr(1); } -},{"../enums.js":385,"./all_packets.js":394,"./compressed.js":396,"./literal.js":398,"./marker.js":399,"./one_pass_signature.js":400,"./public_key.js":403,"./public_key_encrypted_session_key.js":404,"./public_subkey.js":405,"./secret_key.js":406,"./secret_subkey.js":407,"./signature.js":408,"./sym_encrypted_aead_protected.js":409,"./sym_encrypted_integrity_protected.js":410,"./sym_encrypted_session_key.js":411,"./symmetrically_encrypted.js":412,"./trust.js":413,"./user_attribute.js":414,"./userid.js":415,"babel-runtime/core-js/object/assign":23}],395:[function(_dereq_,module,exports){ +},{"../enums.js":384,"./all_packets.js":393,"./compressed.js":395,"./literal.js":397,"./marker.js":398,"./one_pass_signature.js":399,"./public_key.js":402,"./public_key_encrypted_session_key.js":403,"./public_subkey.js":404,"./secret_key.js":405,"./secret_subkey.js":406,"./signature.js":407,"./sym_encrypted_aead_protected.js":408,"./sym_encrypted_integrity_protected.js":409,"./sym_encrypted_session_key.js":410,"./symmetrically_encrypted.js":411,"./trust.js":412,"./user_attribute.js":413,"./userid.js":414,"babel-runtime/core-js/object/assign":22}],394:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -50233,7 +50264,7 @@ function packetlistCloneToSignature(clone) { return new _signature.Signature(packetlist); } -},{"../cleartext":349,"../key":388,"../message":392,"../signature":417,"../type/keyid":420,"../util":424,"./packetlist":402,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/regenerator":44,"web-stream-tools":346}],396:[function(_dereq_,module,exports){ +},{"../cleartext":348,"../key":387,"../message":391,"../signature":416,"../type/keyid":419,"../util":423,"./packetlist":401,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43,"web-stream-tools":345}],395:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -50546,7 +50577,7 @@ if (nodeZlib) { }; } -},{"../config":351,"../enums":385,"../util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"pako":320,"seek-bzip":340,"web-stream-tools":346}],397:[function(_dereq_,module,exports){ +},{"../config":350,"../enums":384,"../util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"pako":319,"seek-bzip":339,"web-stream-tools":345}],396:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -50588,7 +50619,7 @@ var mod = { exports.default = mod; -},{"./all_packets":394,"./clone":395,"./packetlist":402,"babel-runtime/core-js/object/assign":23}],398:[function(_dereq_,module,exports){ +},{"./all_packets":393,"./clone":394,"./packetlist":401,"babel-runtime/core-js/object/assign":22}],397:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -50817,24 +50848,35 @@ Literal.prototype.read = function () { }(); /** - * Creates a string representation of the packet + * Creates a Uint8Array representation of the packet, excluding the data * - * @returns {Uint8Array | ReadableStream} Uint8Array representation of the packet + * @returns {Uint8Array} Uint8Array representation of the packet */ -Literal.prototype.write = function () { +Literal.prototype.writeHeader = function () { var filename = _util2.default.encode_utf8(this.filename); var filename_length = new Uint8Array([filename.length]); var format = new Uint8Array([_enums2.default.write(_enums2.default.literal, this.format)]); var date = _util2.default.writeDate(this.date); + + return _util2.default.concatUint8Array([format, filename_length, filename, date]); +}; + +/** + * Creates a Uint8Array representation of the packet + * + * @returns {Uint8Array | ReadableStream} Uint8Array representation of the packet + */ +Literal.prototype.write = function () { + var header = this.writeHeader(); var data = this.getBytes(); - return _util2.default.concat([format, filename_length, filename, date, data]); + return _util2.default.concat([header, data]); }; exports.default = Literal; -},{"../enums":385,"../util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"web-stream-tools":346}],399:[function(_dereq_,module,exports){ +},{"../enums":384,"../util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"web-stream-tools":345}],398:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -50909,7 +50951,7 @@ Marker.prototype.read = function (bytes) { exports.default = Marker; -},{"../enums":385}],400:[function(_dereq_,module,exports){ +},{"../enums":384}],399:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -50924,6 +50966,10 @@ var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +var _webStreamTools = _dereq_('web-stream-tools'); + +var _webStreamTools2 = _interopRequireDefault(_webStreamTools); + var _signature = _dereq_('./signature'); var _signature2 = _interopRequireDefault(_signature); @@ -50954,30 +51000,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @memberof module:packet * @constructor */ -// GPG4Browsers - An OpenPGP implementation in javascript -// Copyright (C) 2011 Recurity Labs GmbH -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 3.0 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// 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 - -/** - * @requires packet/signature - * @requires type/keyid - * @requires enums - * @requires util - */ - function OnePassSignature() { /** * Packet type @@ -51017,6 +51039,31 @@ function OnePassSignature() { * @param {Uint8Array} bytes payload of a tag 4 packet * @returns {module:packet.OnePassSignature} object representation */ +// GPG4Browsers - An OpenPGP implementation in javascript +// Copyright (C) 2011 Recurity Labs GmbH +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 3.0 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// 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 + +/** + * @requires web-stream-tools + * @requires packet/signature + * @requires type/keyid + * @requires enums + * @requires util + */ + OnePassSignature.prototype.read = function (bytes) { var mypos = 0; // A one-octet version number. The current version is 3. @@ -51064,34 +51111,55 @@ OnePassSignature.prototype.postCloneTypeFix = function () { this.issuerKeyId = _keyid2.default.fromClone(this.issuerKeyId); }; -OnePassSignature.prototype.hash = function () { - var version = this.version; - this.version = 4; - try { - return _signature2.default.prototype.hash.apply(this, arguments); - } finally { - this.version = version; - } -}; +OnePassSignature.prototype.hash = _signature2.default.prototype.hash; OnePassSignature.prototype.toHash = _signature2.default.prototype.toHash; OnePassSignature.prototype.toSign = _signature2.default.prototype.toSign; -OnePassSignature.prototype.calculateTrailer = _signature2.default.prototype.calculateTrailer; +OnePassSignature.prototype.calculateTrailer = function () { + var _this = this; -OnePassSignature.prototype.verify = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _webStreamTools2.default.fromAsync((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() { + var _ref2; + + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return _this.correspondingSig; + + case 2: + _context.t0 = _ref2; + _context.t1 = args; + return _context.abrupt('return', (_ref2 = _context.sent).calculateTrailer.apply(_context.t0, _context.t1)); + + case 5: + case 'end': + return _context.stop(); + } + } + }, _callee, _this); + }))); +}; + +OnePassSignature.prototype.verify = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() { var correspondingSig, - _args = arguments; - return _regenerator2.default.wrap(function _callee$(_context) { + _args2 = arguments; + return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { - switch (_context.prev = _context.next) { + switch (_context2.prev = _context2.next) { case 0: - _context.next = 2; + _context2.next = 2; return this.correspondingSig; case 2: - correspondingSig = _context.sent; + correspondingSig = _context2.sent; if (!(!correspondingSig || correspondingSig.tag !== _enums2.default.packet.signature)) { - _context.next = 5; + _context2.next = 5; break; } @@ -51099,7 +51167,7 @@ OnePassSignature.prototype.verify = (0, _asyncToGenerator3.default)( /*#__PURE__ case 5: if (!(correspondingSig.signatureType !== this.signatureType || correspondingSig.hashAlgorithm !== this.hashAlgorithm || correspondingSig.publicKeyAlgorithm !== this.publicKeyAlgorithm || !correspondingSig.issuerKeyId.equals(this.issuerKeyId))) { - _context.next = 7; + _context2.next = 7; break; } @@ -51107,19 +51175,19 @@ OnePassSignature.prototype.verify = (0, _asyncToGenerator3.default)( /*#__PURE__ case 7: correspondingSig.hashed = this.hashed; - return _context.abrupt('return', correspondingSig.verify.apply(correspondingSig, _args)); + return _context2.abrupt('return', correspondingSig.verify.apply(correspondingSig, _args2)); case 9: case 'end': - return _context.stop(); + return _context2.stop(); } } - }, _callee, this); + }, _callee2, this); })); exports.default = OnePassSignature; -},{"../enums":385,"../type/keyid":420,"../util":424,"./signature":408,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],401:[function(_dereq_,module,exports){ +},{"../enums":384,"../type/keyid":419,"../util":423,"./signature":407,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"web-stream-tools":345}],400:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -51223,23 +51291,6 @@ exports.default = { return _util2.default.concatUint8Array([this.writeTag(tag_type), this.writeSimpleLength(length)]); }, - /** - * Writes a packet header Version 3 with the given tag_type and length to a - * string - * - * @param {Integer} tag_type Tag type - * @param {Integer} length Length of the payload - * @returns {String} String of the header - */ - writeOldHeader: function writeOldHeader(tag_type, length) { - if (length < 256) { - return new Uint8Array([0x80 | tag_type << 2, length]); - } else if (length < 65536) { - return _util2.default.concatUint8Array([new Uint8Array([0x80 | tag_type << 2 | 1]), _util2.default.writeNumber(length, 2)]); - } - return _util2.default.concatUint8Array([new Uint8Array([0x80 | tag_type << 2 | 2]), _util2.default.writeNumber(length, 4)]); - }, - /** * Whether the packet type supports partial lengths per RFC4880 * @param {Integer} tag_type Tag type @@ -51258,7 +51309,7 @@ exports.default = { */ read: function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(input, streaming, callback) { - var reader, writer, peekedBytes, headerByte, tag, format, packet_length, packet_length_type, supportsStreaming, packet, callbackReturned, transform, wasPartialLength, lengthByte, bytesRead, _ref2, done, value, chunk, nextPacket; + var reader, writer, callbackReturned, peekedBytes, headerByte, tag, format, packet_length, packet_length_type, supportsStreaming, packet, transform, wasPartialLength, lengthByte, bytesRead, _ref2, done, value, chunk, nextPacket; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { @@ -51266,25 +51317,26 @@ exports.default = { case 0: reader = _webStreamTools2.default.getReader(input); writer = void 0; - _context.prev = 2; - _context.next = 5; + callbackReturned = void 0; + _context.prev = 3; + _context.next = 6; return reader.peekBytes(2); - case 5: + case 6: peekedBytes = _context.sent; if (!(!peekedBytes || peekedBytes.length < 2 || (peekedBytes[0] & 0x80) === 0)) { - _context.next = 8; + _context.next = 9; break; } throw new Error("Error during parsing. This message / key probably does not conform to a valid OpenPGP format."); - case 8: - _context.next = 10; + case 9: + _context.next = 11; return reader.readByte(); - case 10: + case 11: headerByte = _context.sent; tag = -1; format = -1; @@ -51309,7 +51361,6 @@ exports.default = { supportsStreaming = this.supportsStreaming(tag); packet = null; - callbackReturned = void 0; if (streaming && supportsStreaming) { transform = new TransformStream(); @@ -51573,71 +51624,75 @@ exports.default = { } case 134: - if (writer) { - _context.next = 138; - break; - } + _context.next = 136; + return reader.peekBytes(supportsStreaming ? Infinity : 2); - packet = _util2.default.concatUint8Array(packet); - _context.next = 138; - return callback({ tag: tag, packet: packet }); - - case 138: - _context.next = 140; - return reader.peekBytes(2); - - case 140: + case 136: nextPacket = _context.sent; if (!writer) { - _context.next = 148; + _context.next = 144; break; } - _context.next = 144; + _context.next = 140; return writer.ready; - case 144: - _context.next = 146; + case 140: + _context.next = 142; return writer.close(); - case 146: - _context.next = 148; - return callbackReturned; + case 142: + _context.next = 147; + break; - case 148: + case 144: + packet = _util2.default.concatUint8Array(packet); + _context.next = 147; + return callback({ tag: tag, packet: packet }); + + case 147: return _context.abrupt('return', !nextPacket || !nextPacket.length); - case 151: - _context.prev = 151; - _context.t25 = _context['catch'](2); + case 150: + _context.prev = 150; + _context.t25 = _context['catch'](3); if (!writer) { - _context.next = 159; + _context.next = 158; break; } - _context.next = 156; + _context.next = 155; return writer.abort(_context.t25); - case 156: + case 155: return _context.abrupt('return', true); - case 159: + case 158: throw _context.t25; - case 160: - _context.prev = 160; + case 159: + _context.prev = 159; - reader.releaseLock(); - return _context.finish(160); + if (!writer) { + _context.next = 163; + break; + } + + _context.next = 163; + return callbackReturned; case 163: + reader.releaseLock(); + return _context.finish(159); + + case 165: case 'end': return _context.stop(); } } - }, _callee, this, [[2, 151, 160, 163]]); + }, _callee, this, [[3, 150, 159, 165]]); })); function read(_x, _x2, _x3) { @@ -51673,7 +51728,7 @@ exports.default = { * @module packet/packet */ -},{"../enums":385,"../util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/regenerator":44,"web-stream-tools":346}],402:[function(_dereq_,module,exports){ +},{"../enums":384,"../util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43,"web-stream-tools":345}],401:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -52099,7 +52154,7 @@ List.fromStructuredClone = function (packetlistClone) { exports.default = List; -},{"../config":351,"../enums":385,"../util":424,"./all_packets":394,"./packet":401,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"web-stream-tools":346}],403:[function(_dereq_,module,exports){ +},{"../config":350,"../enums":384,"../util":423,"./all_packets":393,"./packet":400,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"web-stream-tools":345}],402:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -52187,7 +52242,7 @@ function PublicKey() { * Packet version * @type {Integer} */ - this.version = _config2.default.aead_protect && _config2.default.aead_protect_version === 4 ? 5 : 4; + this.version = _config2.default.v5_keys ? 5 : 4; /** * Key creation date. * @type {Date} @@ -52302,11 +52357,14 @@ PublicKey.prototype.write = function () { PublicKey.prototype.writePublicKey = PublicKey.prototype.write; /** - * Write an old version packet - it's used by some of the internal routines. + * Write packet in order to be hashed; either for a signature or a fingerprint. */ -PublicKey.prototype.writeOld = function () { +PublicKey.prototype.writeForHash = function (version) { var bytes = this.writePublicKey(); + if (version === 5) { + return _util2.default.concatUint8Array([new Uint8Array([0x9A]), _util2.default.writeNumber(bytes.length, 4), bytes]); + } return _util2.default.concatUint8Array([new Uint8Array([0x99]), _util2.default.writeNumber(bytes.length, 2), bytes]); }; @@ -52351,13 +52409,10 @@ PublicKey.prototype.getFingerprintBytes = function () { if (this.fingerprint) { return this.fingerprint; } - var toHash = void 0; + var toHash = this.writeForHash(this.version); if (this.version === 5) { - var bytes = this.writePublicKey(); - toHash = _util2.default.concatUint8Array([new Uint8Array([0x9A]), _util2.default.writeNumber(bytes.length, 4), bytes]); this.fingerprint = _sha2.Sha256.bytes(toHash); } else if (this.version === 4) { - toHash = this.writeOld(); this.fingerprint = _sha.Sha1.bytes(toHash); } return this.fingerprint; @@ -52411,7 +52466,7 @@ PublicKey.prototype.postCloneTypeFix = function () { exports.default = PublicKey; -},{"../config":351,"../crypto":366,"../enums":385,"../type/keyid":420,"../type/mpi":421,"../util":424,"asmcrypto.js/dist_es5/hash/sha1/sha1":12,"asmcrypto.js/dist_es5/hash/sha256/sha256":14}],404:[function(_dereq_,module,exports){ +},{"../config":350,"../crypto":365,"../enums":384,"../type/keyid":419,"../type/mpi":420,"../util":423,"asmcrypto.js/dist_es5/hash/sha1/sha1":11,"asmcrypto.js/dist_es5/hash/sha256/sha256":13}],403:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -52684,7 +52739,7 @@ PublicKeyEncryptedSessionKey.prototype.postCloneTypeFix = function () { exports.default = PublicKeyEncryptedSessionKey; -},{"../crypto":366,"../enums":385,"../type/keyid":420,"../type/mpi":421,"../util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],405:[function(_dereq_,module,exports){ +},{"../crypto":365,"../enums":384,"../type/keyid":419,"../type/mpi":420,"../util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43}],404:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -52743,7 +52798,7 @@ PublicSubkey.prototype.constructor = PublicSubkey; exports.default = PublicSubkey; -},{"../enums":385,"./public_key":403}],406:[function(_dereq_,module,exports){ +},{"../enums":384,"./public_key":402}],405:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -52758,6 +52813,10 @@ var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +var _toConsumableArray2 = _dereq_('babel-runtime/helpers/toConsumableArray'); + +var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); + var produceEncryptionKey = function () { var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(s2k, passphrase, algorithm) { return _regenerator2.default.wrap(function _callee2$(_context2) { @@ -52859,13 +52918,33 @@ function SecretKey() { */ this.tag = _enums2.default.packet.secretKey; /** - * Encrypted secret-key data + * Secret-key data */ - this.encrypted = null; + this.keyMaterial = null; /** - * Indicator if secret-key data is encrypted. `this.isEncrypted === false` means data is available in decrypted form. + * Indicates whether secret-key data is encrypted. `this.isEncrypted === false` means data is available in decrypted form. */ this.isEncrypted = null; + /** + * S2K usage + * @type {Integer} + */ + this.s2k_usage = 0; + /** + * S2K object + * @type {type/s2k} + */ + this.s2k = null; + /** + * Symmetric algorithm + * @type {String} + */ + this.symmetric = 'aes256'; + /** + * AEAD algorithm + * @type {String} + */ + this.aead = 'eax'; } SecretKey.prototype = new _public_key2.default(); @@ -52910,30 +52989,75 @@ function write_cleartext_params(params, algorithm) { */ SecretKey.prototype.read = function (bytes) { // - A Public-Key or Public-Subkey packet, as described above. - var len = this.readPublicKey(bytes); - - bytes = bytes.subarray(len, bytes.length); + var i = this.readPublicKey(bytes); // - One octet indicating string-to-key usage conventions. Zero // indicates that the secret-key data is not encrypted. 255 or 254 // indicates that a string-to-key specifier is being given. Any // other value is a symmetric-key encryption algorithm identifier. - var isEncrypted = bytes[0]; + this.s2k_usage = bytes[i++]; - if (isEncrypted) { - this.encrypted = bytes; - this.isEncrypted = true; - } else { - // - Plain or encrypted multiprecision integers comprising the secret - // key data. These algorithm-specific fields are as described - // below. - var cleartext = bytes.subarray(1, -2); - if (!_util2.default.equalsUint8Array(_util2.default.write_checksum(cleartext), bytes.subarray(-2))) { + // - Only for a version 5 packet, a one-octet scalar octet count of + // the next 4 optional fields. + if (this.version === 5) { + i++; + } + + // - [Optional] If string-to-key usage octet was 255, 254, or 253, a + // one-octet symmetric encryption algorithm. + if (this.s2k_usage === 255 || this.s2k_usage === 254 || this.s2k_usage === 253) { + this.symmetric = bytes[i++]; + this.symmetric = _enums2.default.read(_enums2.default.symmetric, this.symmetric); + + // - [Optional] If string-to-key usage octet was 253, a one-octet + // AEAD algorithm. + if (this.s2k_usage === 253) { + this.aead = bytes[i++]; + this.aead = _enums2.default.read(_enums2.default.aead, this.aead); + } + + // - [Optional] If string-to-key usage octet was 255, 254, or 253, a + // string-to-key specifier. The length of the string-to-key + // specifier is implied by its type, as described above. + this.s2k = new _s2k2.default(); + i += this.s2k.read(bytes.subarray(i, bytes.length)); + + if (this.s2k.type === 'gnu-dummy') { + return; + } + } else if (this.s2k_usage) { + this.symmetric = this.s2k_usage; + this.symmetric = _enums2.default.read(_enums2.default.symmetric, this.symmetric); + } + + // - [Optional] If secret data is encrypted (string-to-key usage octet + // not zero), an Initial Vector (IV) of the same length as the + // cipher's block size. + if (this.s2k_usage) { + this.iv = bytes.subarray(i, i + _crypto2.default.cipher[this.symmetric].blockSize); + + i += this.iv.length; + } + + // - Only for a version 5 packet, a four-octet scalar octet count for + // the following key material. + if (this.version === 5) { + i += 4; + } + + // - Plain or encrypted multiprecision integers comprising the secret + // key data. These algorithm-specific fields are as described + // below. + this.keyMaterial = bytes.subarray(i); + this.isEncrypted = !!this.s2k_usage; + + if (!this.isEncrypted) { + var cleartext = this.keyMaterial.subarray(0, -2); + if (!_util2.default.equalsUint8Array(_util2.default.write_checksum(cleartext), this.keyMaterial.subarray(-2))) { throw new Error('Key checksum mismatch'); } var privParams = parse_cleartext_params(cleartext, this.algorithm); this.params = this.params.concat(privParams); - this.isEncrypted = false; } }; @@ -52944,13 +53068,48 @@ SecretKey.prototype.read = function (bytes) { SecretKey.prototype.write = function () { var arr = [this.writePublicKey()]; - if (!this.encrypted) { - arr.push(new Uint8Array([0])); - var cleartextParams = write_cleartext_params(this.params, this.algorithm); - arr.push(cleartextParams); - arr.push(_util2.default.write_checksum(cleartextParams)); - } else { - arr.push(this.encrypted); + arr.push(new Uint8Array([this.s2k_usage])); + + var optionalFieldsArr = []; + // - [Optional] If string-to-key usage octet was 255, 254, or 253, a + // one- octet symmetric encryption algorithm. + if (this.s2k_usage === 255 || this.s2k_usage === 254 || this.s2k_usage === 253) { + optionalFieldsArr.push(_enums2.default.write(_enums2.default.symmetric, this.symmetric)); + + // - [Optional] If string-to-key usage octet was 253, a one-octet + // AEAD algorithm. + if (this.s2k_usage === 253) { + optionalFieldsArr.push(_enums2.default.write(_enums2.default.aead, this.aead)); + } + + // - [Optional] If string-to-key usage octet was 255, 254, or 253, a + // string-to-key specifier. The length of the string-to-key + // specifier is implied by its type, as described above. + optionalFieldsArr.push.apply(optionalFieldsArr, (0, _toConsumableArray3.default)(this.s2k.write())); + } + + // - [Optional] If secret data is encrypted (string-to-key usage octet + // not zero), an Initial Vector (IV) of the same length as the + // cipher's block size. + if (this.s2k_usage && this.s2k.type !== 'gnu-dummy') { + optionalFieldsArr.push.apply(optionalFieldsArr, (0, _toConsumableArray3.default)(this.iv)); + } + + if (this.version === 5) { + arr.push(new Uint8Array([optionalFieldsArr.length])); + } + arr.push(new Uint8Array(optionalFieldsArr)); + + if (!this.s2k || this.s2k.type !== 'gnu-dummy') { + if (!this.s2k_usage) { + var cleartextParams = write_cleartext_params(this.params, this.algorithm); + this.keyMaterial = _util2.default.concatUint8Array([cleartextParams, _util2.default.write_checksum(cleartextParams)]); + } + + if (this.version === 5) { + arr.push(_util2.default.writeNumber(this.keyMaterial.length, 4)); + } + arr.push(this.keyMaterial); } return _util2.default.concatUint8Array(arr); @@ -52975,12 +53134,12 @@ SecretKey.prototype.isDecrypted = function () { */ SecretKey.prototype.encrypt = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(passphrase) { - var s2k, symmetric, cleartext, key, blockLen, iv, arr, aead, optionalFields, mode, modeInstance, encrypted; + var cleartext, key, blockLen, mode, modeInstance; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: - if (!(this.isDecrypted() && this.encrypted)) { + if (!(this.s2k && this.s2k.type === 'gnu-dummy')) { _context.next = 2; break; } @@ -52993,7 +53152,7 @@ SecretKey.prototype.encrypt = function () { break; } - this.encrypted = null; + this.s2k_usage = 0; return _context.abrupt('return', false); case 7: @@ -53005,82 +53164,67 @@ SecretKey.prototype.encrypt = function () { throw new Error('The key must be decrypted before removing passphrase protection.'); case 9: - s2k = new _s2k2.default(); + + this.s2k = new _s2k2.default(); _context.next = 12; return _crypto2.default.random.getRandomBytes(8); case 12: - s2k.salt = _context.sent; - symmetric = 'aes256'; + this.s2k.salt = _context.sent; cleartext = write_cleartext_params(this.params, this.algorithm); - _context.next = 17; - return produceEncryptionKey(s2k, passphrase, symmetric); + _context.next = 16; + return produceEncryptionKey(this.s2k, passphrase, this.symmetric); - case 17: + case 16: key = _context.sent; - blockLen = _crypto2.default.cipher[symmetric].blockSize; - _context.next = 21; + blockLen = _crypto2.default.cipher[this.symmetric].blockSize; + _context.next = 20; return _crypto2.default.random.getRandomBytes(blockLen); - case 21: - iv = _context.sent; - arr = void 0; + case 20: + this.iv = _context.sent; if (!(this.version === 5)) { - _context.next = 39; + _context.next = 32; break; } - aead = 'eax'; - optionalFields = _util2.default.concatUint8Array([new Uint8Array([_enums2.default.write(_enums2.default.symmetric, symmetric), _enums2.default.write(_enums2.default.aead, aead)]), s2k.write(), iv]); + this.s2k_usage = 253; + mode = _crypto2.default[this.aead]; + _context.next = 26; + return mode(this.symmetric, key); - arr = [new Uint8Array([253, optionalFields.length])]; - arr.push(optionalFields); - mode = _crypto2.default[aead]; - _context.next = 31; - return mode(symmetric, key); - - case 31: + case 26: modeInstance = _context.sent; - _context.next = 34; - return modeInstance.encrypt(cleartext, iv.subarray(0, mode.ivLength), new Uint8Array()); + _context.next = 29; + return modeInstance.encrypt(cleartext, this.iv.subarray(0, mode.ivLength), new Uint8Array()); - case 34: - encrypted = _context.sent; - - arr.push(_util2.default.writeNumber(encrypted.length, 4)); - arr.push(encrypted); - _context.next = 56; + case 29: + this.keyMaterial = _context.sent; + _context.next = 45; break; - case 39: - arr = [new Uint8Array([254, _enums2.default.write(_enums2.default.symmetric, symmetric)])]; - arr.push(s2k.write()); - arr.push(iv); - _context.t0 = arr; - _context.t1 = _crypto2.default.cfb; - _context.t2 = symmetric; - _context.t3 = key; - _context.t4 = _util2.default; - _context.t5 = cleartext; - _context.next = 50; + case 32: + this.s2k_usage = 254; + _context.t0 = _crypto2.default.cfb; + _context.t1 = this.symmetric; + _context.t2 = key; + _context.t3 = _util2.default; + _context.t4 = cleartext; + _context.next = 40; return _crypto2.default.hash.sha1(cleartext); - case 50: - _context.t6 = _context.sent; - _context.t7 = [_context.t5, _context.t6]; - _context.t8 = _context.t4.concatUint8Array.call(_context.t4, _context.t7); - _context.t9 = iv; - _context.t10 = _context.t1.encrypt.call(_context.t1, _context.t2, _context.t3, _context.t8, _context.t9); + case 40: + _context.t5 = _context.sent; + _context.t6 = [_context.t4, _context.t5]; + _context.t7 = _context.t3.concatUint8Array.call(_context.t3, _context.t6); + _context.t8 = this.iv; + this.keyMaterial = _context.t0.encrypt.call(_context.t0, _context.t1, _context.t2, _context.t7, _context.t8); - _context.t0.push.call(_context.t0, _context.t10); - - case 56: - - this.encrypted = _util2.default.concatUint8Array(arr); + case 45: return _context.abrupt('return', true); - case 58: + case 46: case 'end': return _context.stop(); } @@ -53095,189 +53239,144 @@ SecretKey.prototype.encrypt = function () { SecretKey.prototype.decrypt = function () { var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(passphrase) { - var i, symmetric, aead, key, s2k_usage, s2k, iv, ciphertext, cleartext, mode, modeInstance, cleartextWithHash, hash, hashlen, privParams; + var key, cleartext, mode, modeInstance, cleartextWithHash, hash, hashlen, privParams; return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: - if (!this.isDecrypted()) { - _context3.next = 2; - break; - } - - throw new Error('Key packet is already decrypted.'); - - case 2: - i = 0; - symmetric = void 0; - aead = void 0; - key = void 0; - s2k_usage = this.encrypted[i++]; - - // - Only for a version 5 packet, a one-octet scalar octet count of - // the next 4 optional fields. - - if (this.version === 5) { - i++; - } - - // - [Optional] If string-to-key usage octet was 255, 254, or 253, a - // one-octet symmetric encryption algorithm. - - if (!(s2k_usage === 255 || s2k_usage === 254 || s2k_usage === 253)) { - _context3.next = 22; - break; - } - - symmetric = this.encrypted[i++]; - symmetric = _enums2.default.read(_enums2.default.symmetric, symmetric); - - // - [Optional] If string-to-key usage octet was 253, a one-octet - // AEAD algorithm. - if (s2k_usage === 253) { - aead = this.encrypted[i++]; - aead = _enums2.default.read(_enums2.default.aead, aead); - } - - // - [Optional] If string-to-key usage octet was 255, 254, or 253, a - // string-to-key specifier. The length of the string-to-key - // specifier is implied by its type, as described above. - s2k = new _s2k2.default(); - - i += s2k.read(this.encrypted.subarray(i, this.encrypted.length)); - - if (!(s2k.type === 'gnu-dummy')) { - _context3.next = 17; + if (!(this.s2k.type === 'gnu-dummy')) { + _context3.next = 3; break; } this.isEncrypted = false; return _context3.abrupt('return', false); - case 17: - _context3.next = 19; - return produceEncryptionKey(s2k, passphrase, symmetric); - - case 19: - key = _context3.sent; - _context3.next = 27; - break; - - case 22: - symmetric = s2k_usage; - symmetric = _enums2.default.read(_enums2.default.symmetric, symmetric); - _context3.next = 26; - return _crypto2.default.hash.md5(passphrase); - - case 26: - key = _context3.sent; - - case 27: - - // - [Optional] If secret data is encrypted (string-to-key usage octet - // not zero), an Initial Vector (IV) of the same length as the - // cipher's block size. - iv = this.encrypted.subarray(i, i + _crypto2.default.cipher[symmetric].blockSize); - - - i += iv.length; - - // - Only for a version 5 packet, a four-octet scalar octet count for - // the following key material. - if (this.version === 5) { - i += 4; - } - - ciphertext = this.encrypted.subarray(i, this.encrypted.length); - cleartext = void 0; - - if (!aead) { - _context3.next = 49; + case 3: + if (!this.isDecrypted()) { + _context3.next = 5; break; } - mode = _crypto2.default[aead]; - _context3.prev = 34; - _context3.next = 37; - return mode(symmetric, key); + throw new Error('Key packet is already decrypted.'); - case 37: - modeInstance = _context3.sent; - _context3.next = 40; - return modeInstance.decrypt(ciphertext, iv.subarray(0, mode.ivLength), new Uint8Array()); + case 5: + key = void 0; - case 40: - cleartext = _context3.sent; - _context3.next = 47; + if (!(this.s2k_usage === 255 || this.s2k_usage === 254 || this.s2k_usage === 253)) { + _context3.next = 12; + break; + } + + _context3.next = 9; + return produceEncryptionKey(this.s2k, passphrase, this.symmetric); + + case 9: + key = _context3.sent; + _context3.next = 15; break; - case 43: - _context3.prev = 43; - _context3.t0 = _context3['catch'](34); + case 12: + _context3.next = 14; + return _crypto2.default.hash.md5(passphrase); + + case 14: + key = _context3.sent; + + case 15: + cleartext = void 0; + + if (!(this.s2k_usage === 253)) { + _context3.next = 34; + break; + } + + mode = _crypto2.default[this.aead]; + _context3.prev = 18; + _context3.next = 21; + return mode(this.symmetric, key); + + case 21: + modeInstance = _context3.sent; + _context3.next = 24; + return modeInstance.decrypt(this.keyMaterial, this.iv.subarray(0, mode.ivLength), new Uint8Array()); + + case 24: + cleartext = _context3.sent; + _context3.next = 32; + break; + + case 27: + _context3.prev = 27; + _context3.t0 = _context3['catch'](18); if (!(_context3.t0.message === 'Authentication tag mismatch')) { - _context3.next = 47; + _context3.next = 31; break; } throw new Error('Incorrect key passphrase: ' + _context3.t0.message); - case 47: - _context3.next = 67; + case 31: + throw _context3.t0; + + case 32: + _context3.next = 52; break; - case 49: - _context3.next = 51; - return _crypto2.default.cfb.decrypt(symmetric, key, ciphertext, iv); + case 34: + _context3.next = 36; + return _crypto2.default.cfb.decrypt(this.symmetric, key, this.keyMaterial, this.iv); - case 51: + case 36: cleartextWithHash = _context3.sent; hash = void 0; hashlen = void 0; - if (!(s2k_usage === 255)) { - _context3.next = 60; + if (!(this.s2k_usage === 255)) { + _context3.next = 45; break; } hashlen = 2; cleartext = cleartextWithHash.subarray(0, -hashlen); hash = _util2.default.write_checksum(cleartext); - _context3.next = 65; + _context3.next = 50; break; - case 60: + case 45: hashlen = 20; cleartext = cleartextWithHash.subarray(0, -hashlen); - _context3.next = 64; + _context3.next = 49; return _crypto2.default.hash.sha1(cleartext); - case 64: + case 49: hash = _context3.sent; - case 65: + case 50: if (_util2.default.equalsUint8Array(hash, cleartextWithHash.subarray(-hashlen))) { - _context3.next = 67; + _context3.next = 52; break; } throw new Error('Incorrect key passphrase'); - case 67: + case 52: privParams = parse_cleartext_params(cleartext, this.algorithm); this.params = this.params.concat(privParams); this.isEncrypted = false; - this.encrypted = null; + this.keyMaterial = null; + this.s2k_usage = 0; return _context3.abrupt('return', true); - case 72: + case 58: case 'end': return _context3.stop(); } } - }, _callee3, this, [[34, 43]]); + }, _callee3, this, [[18, 27]]); })); return function (_x6) { @@ -53318,7 +53417,12 @@ SecretKey.prototype.generate = function () { * Clear private params, return to initial state */ SecretKey.prototype.clearPrivateParams = function () { - if (!this.encrypted) { + if (this.s2k && this.s2k.type === 'gnu-dummy') { + this.isEncrypted = true; + return; + } + + if (!this.keyMaterial) { throw new Error('If secret key is not encrypted, clearing private params is irreversible.'); } var algo = _enums2.default.write(_enums2.default.publicKey, this.algorithm); @@ -53343,7 +53447,7 @@ SecretKey.prototype.postCloneTypeFix = function () { exports.default = SecretKey; -},{"../crypto":366,"../enums":385,"../type/keyid.js":420,"../type/s2k":423,"../util":424,"./public_key":403,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],407:[function(_dereq_,module,exports){ +},{"../crypto":365,"../enums":384,"../type/keyid.js":419,"../type/s2k":422,"../util":423,"./public_key":402,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/toConsumableArray":41,"babel-runtime/regenerator":43}],406:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -53401,7 +53505,7 @@ SecretSubkey.prototype.constructor = SecretSubkey; exports.default = SecretSubkey; -},{"../enums":385,"./secret_key":406}],408:[function(_dereq_,module,exports){ +},{"../enums":384,"./secret_key":405}],407:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -53496,7 +53600,7 @@ function Signature() { var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(); this.tag = _enums2.default.packet.signature; - this.version = 4; + this.version = 4; // This is set to 5 below if we sign with a V5 key. this.signatureType = null; this.hashAlgorithm = null; this.publicKeyAlgorithm = null; @@ -53555,7 +53659,7 @@ Signature.prototype.read = function (bytes) { var i = 0; this.version = bytes[i++]; - if (this.version !== 4) { + if (this.version !== 4 && this.version !== 5) { throw new Error('Version ' + this.version + ' of the signature is unsupported.'); } @@ -53597,6 +53701,7 @@ Signature.prototype.write = function () { * Signs provided data. This needs to be done prior to serialization. * @param {module:packet.SecretKey} key private key used to sign the message. * @param {Object} data Contains packets to be signed. + * @param {Boolean} detached (optional) whether to create a detached signature * @returns {Promise} * @async */ @@ -53604,6 +53709,7 @@ Signature.prototype.sign = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(key, data) { var _this = this; + var detached = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; var signatureType, publicKeyAlgorithm, hashAlgorithm, arr, toHash, hash, params; return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { @@ -53612,7 +53718,12 @@ Signature.prototype.sign = function () { signatureType = _enums2.default.write(_enums2.default.signature, this.signatureType); publicKeyAlgorithm = _enums2.default.write(_enums2.default.publicKey, this.publicKeyAlgorithm); hashAlgorithm = _enums2.default.write(_enums2.default.hash, this.hashAlgorithm); - arr = [new Uint8Array([4, signatureType, publicKeyAlgorithm, hashAlgorithm])]; + + + if (key.version === 5) { + this.version = 5; + } + arr = [new Uint8Array([this.version, signatureType, publicKeyAlgorithm, hashAlgorithm])]; if (key.version === 5) { @@ -53629,11 +53740,11 @@ Signature.prototype.sign = function () { this.signatureData = _util2.default.concat(arr); - toHash = this.toHash(signatureType, data); - _context2.next = 11; - return this.hash(signatureType, data, toHash); + toHash = this.toHash(signatureType, data, detached); + _context2.next = 12; + return this.hash(signatureType, data, toHash, detached); - case 11: + case 12: hash = _context2.sent; @@ -53673,7 +53784,7 @@ Signature.prototype.sign = function () { this.verified = true; return _context2.abrupt('return', true); - case 17: + case 18: case 'end': return _context2.stop(); } @@ -54118,7 +54229,7 @@ Signature.prototype.toSign = function (type, data) { if (data.key === undefined) { throw new Error('Key packet is required for this signature.'); } - return data.key.writeOld(); + return data.key.writeForHash(this.version); case t.key_revocation: return this.toSign(t.key, data); @@ -54131,27 +54242,46 @@ Signature.prototype.toSign = function (type, data) { } }; -Signature.prototype.calculateTrailer = function () { +Signature.prototype.calculateTrailer = function (data, detached) { + var _this3 = this; + var length = 0; return _webStreamTools2.default.transform(_webStreamTools2.default.clone(this.signatureData), function (value) { length += value.length; }, function () { - var first = new Uint8Array([4, 0xFF]); //Version, ? - return _util2.default.concat([first, _util2.default.writeNumber(length, 4)]); + var arr = []; + if (_this3.version === 5 && (_this3.signatureType === _enums2.default.signature.binary || _this3.signatureType === _enums2.default.signature.text)) { + if (detached) { + arr.push(new Uint8Array(6)); + } else { + arr.push(data.writeHeader()); + } + } + arr.push(new Uint8Array([_this3.version, 0xFF])); + if (_this3.version === 5) { + arr.push(new Uint8Array(4)); + } + arr.push(_util2.default.writeNumber(length, 4)); + // For v5, this should really be writeNumber(length, 8) rather than the + // hardcoded 4 zero bytes above + return _util2.default.concat(arr); }); }; Signature.prototype.toHash = function (signatureType, data) { + var detached = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var bytes = this.toSign(signatureType, data); - return _util2.default.concat([bytes, this.signatureData, this.calculateTrailer()]); + return _util2.default.concat([bytes, this.signatureData, this.calculateTrailer(data, detached)]); }; Signature.prototype.hash = function () { var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(signatureType, data, toHash) { - var _this3 = this; + var _this4 = this; - var streaming = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + var detached = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + var streaming = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; var hashAlgorithm; return _regenerator2.default.wrap(function _callee4$(_context4) { while (1) { @@ -54159,7 +54289,7 @@ Signature.prototype.hash = function () { case 0: hashAlgorithm = _enums2.default.write(_enums2.default.hash, this.hashAlgorithm); - if (!toHash) toHash = this.toHash(signatureType, data); + if (!toHash) toHash = this.toHash(signatureType, data, detached); if (!(!streaming && _util2.default.isStream(toHash))) { _context4.next = 4; @@ -54171,7 +54301,7 @@ Signature.prototype.hash = function () { while (1) { switch (_context3.prev = _context3.next) { case 0: - _context3.t0 = _this3; + _context3.t0 = _this4; _context3.t1 = signatureType; _context3.t2 = data; _context3.next = 5; @@ -54179,14 +54309,15 @@ Signature.prototype.hash = function () { case 5: _context3.t3 = _context3.sent; - return _context3.abrupt('return', _context3.t0.hash.call(_context3.t0, _context3.t1, _context3.t2, _context3.t3)); + _context3.t4 = detached; + return _context3.abrupt('return', _context3.t0.hash.call(_context3.t0, _context3.t1, _context3.t2, _context3.t3, _context3.t4)); - case 7: + case 8: case 'end': return _context3.stop(); } } - }, _callee3, _this3); + }, _callee3, _this4); })))); case 4: @@ -54200,7 +54331,7 @@ Signature.prototype.hash = function () { }, _callee4, this); })); - return function (_x6, _x7, _x8) { + return function (_x8, _x9, _x10) { return _ref5.apply(this, arguments); }; }(); @@ -54211,11 +54342,13 @@ Signature.prototype.hash = function () { * module:packet.SecretSubkey|module:packet.SecretKey} key the public key to verify the signature * @param {module:enums.signature} signatureType expected signature type * @param {String|Object} data data which on the signature applies + * @param {Boolean} detached (optional) whether to verify a detached signature * @returns {Promise} True if message is verified, else false. * @async */ Signature.prototype.verify = function () { var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(key, signatureType, data) { + var detached = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var publicKeyAlgorithm, hashAlgorithm, toHash, hash, mpicount, endian, mpi, i, j; return _regenerator2.default.wrap(function _callee5$(_context5) { while (1) { @@ -54245,7 +54378,7 @@ Signature.prototype.verify = function () { break; case 10: - toHash = this.toHash(signatureType, data); + toHash = this.toHash(signatureType, data, detached); _context5.next = 13; return this.hash(signatureType, data, toHash); @@ -54316,7 +54449,7 @@ Signature.prototype.verify = function () { }, _callee5, this); })); - return function (_x10, _x11, _x12) { + return function (_x13, _x14, _x15) { return _ref7.apply(this, arguments); }; }(); @@ -54354,7 +54487,7 @@ Signature.prototype.postCloneTypeFix = function () { exports.default = Signature; -},{"../config":351,"../crypto":366,"../enums":385,"../type/keyid.js":420,"../type/mpi.js":421,"../util":424,"./packet":401,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/regenerator":44,"web-stream-tools":346}],409:[function(_dereq_,module,exports){ +},{"../config":350,"../crypto":365,"../enums":384,"../type/keyid.js":419,"../type/mpi.js":420,"../util":423,"./packet":400,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43,"web-stream-tools":345}],408:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -54481,43 +54614,31 @@ SymEncryptedAEADProtected.prototype.read = function () { throw new Error('Invalid packet version.'); case 6: - if (!(_config2.default.aead_protect_version === 4)) { - _context.next = 18; - break; - } - - _context.next = 9; + _context.next = 8; return reader.readByte(); - case 9: + case 8: _this.cipherAlgo = _context.sent; - _context.next = 12; + _context.next = 11; return reader.readByte(); - case 12: + case 11: _this.aeadAlgo = _context.sent; - _context.next = 15; + _context.next = 14; return reader.readByte(); - case 15: + case 14: _this.chunkSizeByte = _context.sent; - _context.next = 19; - break; - - case 18: - _this.aeadAlgo = _enums2.default.aead.experimental_gcm; - - case 19: mode = _crypto2.default[_enums2.default.read(_enums2.default.aead, _this.aeadAlgo)]; - _context.next = 22; + _context.next = 18; return reader.readBytes(mode.ivLength); - case 22: + case 18: _this.iv = _context.sent; _this.encrypted = reader.remainder(); - case 24: + case 20: case 'end': return _context.stop(); } @@ -54548,10 +54669,7 @@ SymEncryptedAEADProtected.prototype.read = function () { * @returns {Uint8Array | ReadableStream} The encrypted payload */ SymEncryptedAEADProtected.prototype.write = function () { - if (_config2.default.aead_protect_version === 4) { - return _util2.default.concat([new Uint8Array([this.version, this.cipherAlgo, this.aeadAlgo, this.chunkSizeByte]), this.iv, this.encrypted]); - } - return _util2.default.concat([new Uint8Array([this.version]), this.iv, this.encrypted]); + return _util2.default.concat([new Uint8Array([this.version, this.cipherAlgo, this.aeadAlgo, this.chunkSizeByte]), this.iv, this.encrypted]); }; /** @@ -54568,23 +54686,20 @@ SymEncryptedAEADProtected.prototype.decrypt = function () { while (1) { switch (_context3.prev = _context3.next) { case 0: - if (_config2.default.aead_protect_version !== 4) { - this.cipherAlgo = _enums2.default.write(_enums2.default.symmetric, sessionKeyAlgorithm); - } _context3.t0 = this.packets; - _context3.next = 4; + _context3.next = 3; return this.crypt('decrypt', key, _webStreamTools2.default.clone(this.encrypted), streaming); - case 4: + case 3: _context3.t1 = _context3.sent; _context3.t2 = streaming; - _context3.next = 8; + _context3.next = 7; return _context3.t0.read.call(_context3.t0, _context3.t1, _context3.t2); - case 8: + case 7: return _context3.abrupt('return', true); - case 9: + case 8: case 'end': return _context3.stop(); } @@ -54612,7 +54727,7 @@ SymEncryptedAEADProtected.prototype.encrypt = function () { switch (_context4.prev = _context4.next) { case 0: this.cipherAlgo = _enums2.default.write(_enums2.default.symmetric, sessionKeyAlgorithm); - this.aeadAlgo = _config2.default.aead_protect_version === 4 ? _enums2.default.write(_enums2.default.aead, this.aeadAlgorithm) : _enums2.default.aead.experimental_gcm; + this.aeadAlgo = _enums2.default.write(_enums2.default.aead, this.aeadAlgorithm); mode = _crypto2.default[_enums2.default.read(_enums2.default.aead, this.aeadAlgo)]; _context4.next = 5; return _crypto2.default.random.getRandomBytes(mode.ivLength); @@ -54666,12 +54781,6 @@ SymEncryptedAEADProtected.prototype.crypt = function () { case 4: modeInstance = _context8.sent; - - if (!(_config2.default.aead_protect_version === 4)) { - _context8.next = 22; - break; - } - tagLengthIfDecrypting = fn === 'decrypt' ? mode.tagLength : 0; chunkSize = Math.pow(2, this.chunkSizeByte + 6) + tagLengthIfDecrypting; // ((uint64_t)1 << (c + 6)) @@ -54858,18 +54967,7 @@ SymEncryptedAEADProtected.prototype.crypt = function () { }; }())); - case 22: - _context8.t0 = modeInstance; - _context8.t1 = fn; - _context8.next = 26; - return _webStreamTools2.default.readToEnd(data); - - case 26: - _context8.t2 = _context8.sent; - _context8.t3 = this.iv; - return _context8.abrupt('return', _context8.t0[_context8.t1].call(_context8.t0, _context8.t2, _context8.t3)); - - case 29: + case 19: case 'end': return _context8.stop(); } @@ -54882,7 +54980,7 @@ SymEncryptedAEADProtected.prototype.crypt = function () { }; }(); -},{"../config":351,"../crypto":366,"../enums":385,"../util":424,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"web-stream-tools":346}],410:[function(_dereq_,module,exports){ +},{"../config":350,"../crypto":365,"../enums":384,"../util":423,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"web-stream-tools":345}],409:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -55126,19 +55224,20 @@ SymEncryptedIntegrityProtected.prototype.decrypt = function () { while (1) { switch (_context4.prev = _context4.next) { case 0: + encrypted = _webStreamTools2.default.clone(this.encrypted); + if (streaming) { - _context4.next = 4; + _context4.next = 5; break; } - _context4.next = 3; - return _webStreamTools2.default.readToEnd(this.encrypted); - - case 3: - this.encrypted = _context4.sent; + _context4.next = 4; + return _webStreamTools2.default.readToEnd(encrypted); case 4: - encrypted = _webStreamTools2.default.clone(this.encrypted); + encrypted = _context4.sent; + + case 5: _context4.next = 7; return _crypto2.default.cfb.decrypt(sessionKeyAlgorithm, key, encrypted, new Uint8Array(_crypto2.default.cipher[sessionKeyAlgorithm].blockSize)); @@ -55214,7 +55313,7 @@ SymEncryptedIntegrityProtected.prototype.decrypt = function () { exports.default = SymEncryptedIntegrityProtected; -},{"../config":351,"../crypto":366,"../enums":385,"../util":424,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/regenerator":44,"web-stream-tools":346}],411:[function(_dereq_,module,exports){ +},{"../config":350,"../crypto":365,"../enums":384,"../util":423,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43,"web-stream-tools":345}],410:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -55271,7 +55370,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de */ function SymEncryptedSessionKey() { this.tag = _enums2.default.packet.symEncryptedSessionKey; - this.version = _config2.default.aead_protect && _config2.default.aead_protect_version === 4 ? 5 : 4; + this.version = _config2.default.aead_protect ? 5 : 4; this.sessionKey = null; this.sessionKeyEncryptionAlgorithm = null; this.sessionKeyAlgorithm = 'aes256'; @@ -55551,7 +55650,7 @@ SymEncryptedSessionKey.prototype.postCloneTypeFix = function () { exports.default = SymEncryptedSessionKey; -},{"../config":351,"../crypto":366,"../enums":385,"../type/s2k":423,"../util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],412:[function(_dereq_,module,exports){ +},{"../config":350,"../crypto":365,"../enums":384,"../type/s2k":422,"../util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43}],411:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -55756,7 +55855,7 @@ SymmetricallyEncrypted.prototype.encrypt = function () { exports.default = SymmetricallyEncrypted; -},{"../config":351,"../crypto":366,"../enums":385,"../util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44,"web-stream-tools":346}],413:[function(_dereq_,module,exports){ +},{"../config":350,"../crypto":365,"../enums":384,"../util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43,"web-stream-tools":345}],412:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -55803,7 +55902,7 @@ Trust.prototype.read = function () {}; // TODO exports.default = Trust; -},{"../enums":385}],414:[function(_dereq_,module,exports){ +},{"../enums":384}],413:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -55915,7 +56014,7 @@ UserAttribute.prototype.equals = function (usrAttr) { exports.default = UserAttribute; -},{"../enums":385,"../util":424,"./packet":401}],415:[function(_dereq_,module,exports){ +},{"../enums":384,"../util":423,"./packet":400}],414:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -56021,7 +56120,7 @@ Userid.prototype.format = function (userid) { exports.default = Userid; -},{"../enums":385,"../util":424,"babel-runtime/core-js/object/assign":23}],416:[function(_dereq_,module,exports){ +},{"../enums":384,"../util":423,"babel-runtime/core-js/object/assign":22}],415:[function(_dereq_,module,exports){ (function (global){ 'use strict'; @@ -56105,7 +56204,7 @@ if (typeof TextEncoder === 'undefined') { } }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./util":424,"@mattiasbuelens/web-streams-polyfill/es6":1,"babel-runtime/core-js/array/from":17,"babel-runtime/core-js/object/assign":23,"babel-runtime/core-js/symbol":33,"core-js/fn/array/fill":47,"core-js/fn/array/find":48,"core-js/fn/array/from":49,"core-js/fn/array/includes":50,"core-js/fn/object/assign":51,"core-js/fn/promise":52,"core-js/fn/string/repeat":53,"core-js/fn/symbol":54,"core-js/fn/typed/uint8-array":55,"text-encoding-utf-8":342,"whatwg-fetch":348}],417:[function(_dereq_,module,exports){ +},{"./util":423,"@mattiasbuelens/web-streams-polyfill/es6":1,"babel-runtime/core-js/array/from":16,"babel-runtime/core-js/object/assign":22,"babel-runtime/core-js/symbol":32,"core-js/fn/array/fill":46,"core-js/fn/array/find":47,"core-js/fn/array/from":48,"core-js/fn/array/includes":49,"core-js/fn/object/assign":50,"core-js/fn/promise":51,"core-js/fn/string/repeat":52,"core-js/fn/symbol":53,"core-js/fn/typed/uint8-array":54,"text-encoding-utf-8":341,"whatwg-fetch":347}],416:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -56251,7 +56350,7 @@ Signature.prototype.armor = function () { return _armor2.default.encode(_enums2.default.armor.signature, this.packets.write()); }; -},{"./encoding/armor":383,"./enums":385,"./packet":397,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],418:[function(_dereq_,module,exports){ +},{"./encoding/armor":382,"./enums":384,"./packet":396,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/regenerator":43}],417:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -56332,7 +56431,7 @@ ECDHSymmetricKey.fromClone = function (clone) { exports.default = ECDHSymmetricKey; -},{"../util":424}],419:[function(_dereq_,module,exports){ +},{"../util":423}],418:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -56417,7 +56516,7 @@ KDFParams.fromClone = function (clone) { exports.default = KDFParams; -},{"../enums.js":385}],420:[function(_dereq_,module,exports){ +},{"../enums.js":384}],419:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -56526,7 +56625,7 @@ Keyid.wildcard = function () { exports.default = Keyid; -},{"../util.js":424}],421:[function(_dereq_,module,exports){ +},{"../util.js":423}],420:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -56690,7 +56789,7 @@ MPI.fromClone = function (clone) { exports.default = MPI; -},{"../util":424,"bn.js":45}],422:[function(_dereq_,module,exports){ +},{"../util":423,"bn.js":44}],421:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -56815,7 +56914,7 @@ OID.fromClone = function (clone) { exports.default = OID; -},{"../enums":385,"../util":424}],423:[function(_dereq_,module,exports){ +},{"../enums":384,"../util":423}],422:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -56830,6 +56929,10 @@ var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +var _toConsumableArray2 = _dereq_('babel-runtime/helpers/toConsumableArray'); + +var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2); + var _config = _dereq_('../config'); var _config2 = _interopRequireDefault(_config); @@ -56961,6 +57064,10 @@ S2K.prototype.read = function (bytes) { * @returns {Uint8Array} binary representation of s2k */ S2K.prototype.write = function () { + if (this.type === 'gnu-dummy') { + return new Uint8Array([101, 0].concat((0, _toConsumableArray3.default)(_util2.default.str_to_Uint8Array('GNU')), [1])); + } + var arr = [new Uint8Array([_enums2.default.write(_enums2.default.s2k, this.type), _enums2.default.write(_enums2.default.hash, this.algorithm)])]; switch (this.type) { @@ -57104,7 +57211,7 @@ S2K.fromClone = function (clone) { exports.default = S2K; -},{"../config":351,"../crypto":366,"../enums.js":385,"../util.js":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/regenerator":44}],424:[function(_dereq_,module,exports){ +},{"../config":350,"../crypto":365,"../enums.js":384,"../util.js":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/toConsumableArray":41,"babel-runtime/regenerator":43}],423:[function(_dereq_,module,exports){ (function (global){ 'use strict'; @@ -57136,9 +57243,9 @@ var _entries = _dereq_('babel-runtime/core-js/object/entries'); var _entries2 = _interopRequireDefault(_entries); -var _addressRfc = _dereq_('address-rfc2822'); +var _emailAddresses = _dereq_('email-addresses'); -var _addressRfc2 = _interopRequireDefault(_addressRfc); +var _emailAddresses2 = _interopRequireDefault(_emailAddresses); var _webStreamTools = _dereq_('web-stream-tools'); @@ -57682,16 +57789,6 @@ exports.default = { }); }, - getLeftNBits: function getLeftNBits(array, bitcount) { - var rest = bitcount % 8; - if (rest === 0) { - return array.subarray(0, bitcount / 8); - } - var bytes = (bitcount - rest) / 8 + 1; - var result = array.subarray(0, bytes); - return _util2.default.shiftRight(result, 8 - rest); // +String.fromCharCode(string.charCodeAt(bytes -1) << (8-rest) & 0xFF); - }, - // returns bit length of the integer x nbits: function nbits(x) { var r = 1; @@ -57900,14 +57997,12 @@ exports.default = { throw new Error('User id string is too long'); } try { - var _rfc2822$parse = _addressRfc2.default.parse(userid), - _rfc2822$parse2 = (0, _slicedToArray3.default)(_rfc2822$parse, 1), - _rfc2822$parse2$ = _rfc2822$parse2[0], - name = _rfc2822$parse2$.phrase, - email = _rfc2822$parse2$.address, - comment = _rfc2822$parse2$.comment; + var _emailAddresses$parse = _emailAddresses2.default.parseOneAddress(userid), + name = _emailAddresses$parse.name, + email = _emailAddresses$parse.address, + comments = _emailAddresses$parse.comments; - return { name: name, email: email, comment: comment.replace(/^\(|\)$/g, '') }; + return { name: name, email: email, comment: comments.replace(/^\(|\)$/g, '') }; } catch (e) { throw new Error('Invalid user id format'); } @@ -58009,7 +58104,7 @@ exports.default = { /** * This object contains utility functions - * @requires address-rfc2822 + * @requires email-addresses * @requires web-stream-tools * @requires config * @requires encoding/base64 @@ -58017,7 +58112,7 @@ exports.default = { */ }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./config":351,"./encoding/base64":384,"./util":424,"address-rfc2822":2,"babel-runtime/core-js/object/entries":26,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/helpers/typeof":43,"babel-runtime/regenerator":44,"web-stream-tools":346}],425:[function(_dereq_,module,exports){ +},{"./config":350,"./encoding/base64":383,"./util":423,"babel-runtime/core-js/object/entries":25,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/helpers/typeof":42,"babel-runtime/regenerator":43,"email-addresses":302,"web-stream-tools":345}],424:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -58157,7 +58252,7 @@ WKD.prototype.lookup = function () { exports.default = WKD; -},{"./crypto":366,"./key":388,"./util":424,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/slicedToArray":41,"babel-runtime/regenerator":44,"node-fetch":"node-fetch"}],426:[function(_dereq_,module,exports){ +},{"./crypto":365,"./key":387,"./util":423,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/slicedToArray":40,"babel-runtime/regenerator":43,"node-fetch":"node-fetch"}],425:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -58426,5 +58521,5 @@ AsyncProxy.prototype.delegate = function (method, options) { exports.default = AsyncProxy; -},{"../config":351,"../crypto":366,"../packet":397,"../util.js":424,"babel-runtime/core-js/promise":32,"babel-runtime/helpers/asyncToGenerator":36,"babel-runtime/helpers/toConsumableArray":42,"babel-runtime/regenerator":44}]},{},[387])(387) +},{"../config":350,"../crypto":365,"../packet":396,"../util.js":423,"babel-runtime/core-js/promise":31,"babel-runtime/helpers/asyncToGenerator":35,"babel-runtime/helpers/toConsumableArray":41,"babel-runtime/regenerator":43}]},{},[386])(386) }); diff --git a/dist/compat/openpgp.min.js b/dist/compat/openpgp.min.js index 9ffcd1c8..4b37e5fc 100644 --- a/dist/compat/openpgp.min.js +++ b/dist/compat/openpgp.min.js @@ -1,2 +1,2 @@ -/*! OpenPGP.js v4.5.5 - 2019-06-24 - 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(){return function e(t,r,n){function a(s,o){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=r[s]={exports:{}};t[s][0].call(f.exports,function(e){return a(t[s][1][e]||e)},f,f.exports,e,t,r,n)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,f.default)(this,e),F(this);var n=r.size,a=r.highWaterMark;if(void 0!==t.type)throw new RangeError("Invalid type is specified");var i=P(n);void 0===a&&(a=1),function(e,t,r,n){var a=(0,c.default)(re.prototype),i=A(t,"write",1,[a]),s=A(t,"close",0,[]),o=A(t,"abort",1,[]);ne(e,a,function(){return S(t,"start",[a])},i,s,o,r,n)}(this,t,a=M(a),i)}return(0,d.default)(e,[{key:"abort",value:function(e){return!1===L(this)?h.default.reject(fe("abort")):!0===N(this)?h.default.reject(new TypeError("Cannot abort a stream that already has a writer")):q(this,e)}},{key:"getWriter",value:function(){if(!1===L(this))throw fe("getWriter");return D(this)}},{key:"locked",get:function(){if(!1===L(this))throw fe("locked");return N(this)}}]),e}();function D(e){return new X(e)}function F(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=[],e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function L(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")}function N(e){return void 0!==e._writer}function q(e,t){var r=e._state;if("closed"===r||"errored"===r)return h.default.resolve(void 0);if(void 0!==e._pendingAbortRequest)return e._pendingAbortRequest._promise;var n=!1;"erroring"===r&&(n=!0,t=void 0);var a=new h.default(function(r,a){e._pendingAbortRequest={_promise:void 0,_resolve:r,_reject:a,_reason:t,_wasAlreadyErroring:n}});return e._pendingAbortRequest._promise=a,!1===n&&H(e,t),a}function G(e,t){"writable"!==e._state?W(e):H(e,t)}function H(e,t){var r=e._writableStreamController;e._state="erroring",e._storedError=t;var n=e._writer;void 0!==n&&Q(n,t),!1===function(e){return void 0!==e._inFlightWriteRequest||void 0!==e._inFlightCloseRequest}(e)&&!0===r._started&&W(e)}function W(e){e._state="errored",e._writableStreamController[O]();var t=e._storedError,r=!0,n=!1,a=void 0;try{for(var i,s=(0,l.default)(e._writeRequests);!(r=(i=s.next()).done);r=!0){i.value._reject(t)}}catch(u){n=!0,a=u}finally{try{!r&&s.return&&s.return()}finally{if(n)throw a}}if(e._writeRequests=[],void 0!==e._pendingAbortRequest){var o=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,!0===o._wasAlreadyErroring)return o._reject(t),void V(e);e._writableStreamController[I](o._reason).then(function(){o._resolve(),V(e)},function(t){o._reject(t),V(e)})}else V(e)}function Z(e){return void 0!==e._closeRequest||void 0!==e._inFlightCloseRequest}function V(e){void 0!==e._closeRequest&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);var t=e._writer;void 0!==t&&be(t,e._storedError)}function Y(e,t){var r=e._writer;void 0!==r&&t!==e._backpressure&&(!0===t?me(r):we(r)),e._backpressure=t}var X=function(){function e(t){if((0,f.default)(this,e),!1===L(t))throw new TypeError("WritableStreamDefaultWriter can only be constructed with a WritableStream instance");if(!0===N(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;var r=t._state;if("writable"===r)!1===Z(t)&&!0===t._backpressure?me(this):ge(this),he(this);else if("erroring"===r)ve(this,t._storedError),he(this);else if("closed"===r)ge(this),function(e){he(e),ye(e)}(this);else{var n=t._storedError;ve(this,n),pe(this,n)}}return(0,d.default)(e,[{key:"abort",value:function(e){return!1===J(this)?h.default.reject(de("abort")):void 0===this._ownerWritableStream?h.default.reject(le("abort")):function(e,t){return q(e._ownerWritableStream,t)}(this,e)}},{key:"close",value:function(){if(!1===J(this))return h.default.reject(de("close"));var e=this._ownerWritableStream;return void 0===e?h.default.reject(le("close")):!0===Z(e)?h.default.reject(new TypeError("cannot close an already-closing stream")):$(this)}},{key:"releaseLock",value:function(){if(!1===J(this))throw de("releaseLock");void 0!==this._ownerWritableStream&&ee(this)}},{key:"write",value:function(e){return!1===J(this)?h.default.reject(de("write")):void 0===this._ownerWritableStream?h.default.reject(le("write to")):te(this,e)}},{key:"closed",get:function(){return!1===J(this)?h.default.reject(de("closed")):this._closedPromise}},{key:"desiredSize",get:function(){if(!1===J(this))throw de("desiredSize");if(void 0===this._ownerWritableStream)throw le("desiredSize");return e=this._ownerWritableStream,"errored"===(t=e._state)||"erroring"===t?null:"closed"===t?0:ie(e._writableStreamController);var e,t}},{key:"ready",get:function(){return!1===J(this)?h.default.reject(de("ready")):this._readyPromise}}]),e}();function J(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")}function $(e){var t=e._ownerWritableStream,r=t._state;if("closed"===r||"errored"===r)return h.default.reject(new TypeError("The stream (in "+r+" state) is not in the writable state and cannot be closed"));var n=new h.default(function(e,r){var n={_resolve:e,_reject:r};t._closeRequest=n});return!0===t._backpressure&&"writable"===r&&we(e),function(e){K(e,"close",0),se(e)}(t._writableStreamController),n}function Q(e,t){"pending"===e._readyPromiseState?_e(e,t):function(e,t){ve(e,t)}(e,t)}function ee(e){var t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Q(e,r),function(e,t){"pending"===e._closedPromiseState?be(e,t):function(e,t){pe(e,t)}(e,t)}(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function te(e,t){var r=e._ownerWritableStream,n=r._writableStreamController,a=function(e,t){try{return e._strategySizeAlgorithm(t)}catch(t){return oe(e,t),1}}(n,t);if(r!==e._ownerWritableStream)return h.default.reject(le("write to"));var i=r._state;if("errored"===i)return h.default.reject(r._storedError);if(!0===Z(r)||"closed"===i)return h.default.reject(new TypeError("The stream is closing or closed and cannot be written to"));if("erroring"===i)return h.default.reject(r._storedError);var s=function(e){return new h.default(function(t,r){var n={_resolve:t,_reject:r};e._writeRequests.push(n)})}(r);return function(e,t,r){var n={chunk:t};try{K(e,n,r)}catch(t){return void oe(e,t)}var a=e._controlledWritableStream;!1===Z(a)&&"writable"===a._state&&Y(a,ue(e));se(e)}(n,t,a),s}var re=function(){function e(){throw(0,f.default)(this,e),new TypeError("WritableStreamDefaultController cannot be constructed explicitly")}return(0,d.default)(e,[{key:"error",value:function(e){if(!1===function(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")}(this))throw new TypeError("WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController");"writable"===this._controlledWritableStream._state&&ce(this,e)}},{key:I,value:function(e){var t=this._abortAlgorithm(e);return ae(this),t}},{key:O,value:function(){U(this)}}]),e}();function ne(e,t,r,n,a,i,s,o){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,U(t),t._started=!1,t._strategySizeAlgorithm=o,t._strategyHWM=s,t._writeAlgorithm=n,t._closeAlgorithm=a,t._abortAlgorithm=i;var u=ue(t);Y(e,u);var c=r();h.default.resolve(c).then(function(){t._started=!0,se(t)},function(r){t._started=!0,G(e,r)}).catch(R)}function ae(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function ie(e){return e._strategyHWM-e._queueTotalSize}function se(e){var t=e._controlledWritableStream;if(!1!==e._started&&void 0===t._inFlightWriteRequest){var r=t._state;if("closed"!==r&&"errored"!==r)if("erroring"!==r){if(0!==e._queue.length){var n=function(e){return e._queue[0].value}(e);"close"===n?function(e){var t=e._controlledWritableStream;(function(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0})(t),B(e);var r=e._closeAlgorithm();ae(e),r.then(function(){!function(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,"erroring"===e._state&&(e._storedError=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";var t=e._writer;void 0!==t&&ye(t)}(t)},function(e){!function(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,void 0!==e._pendingAbortRequest&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),G(e,t)}(t,e)}).catch(R)}(e):function(e,t){var r=e._controlledWritableStream;(function(e){e._inFlightWriteRequest=e._writeRequests.shift()})(r),e._writeAlgorithm(t).then(function(){!function(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}(r);var t=r._state;if(B(e),!1===Z(r)&&"writable"===t){var n=ue(e);Y(r,n)}se(e)},function(t){"writable"===r._state&&ae(e),function(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,G(e,t)}(r,t)}).catch(R)}(e,n.chunk)}}else W(t)}}function oe(e,t){"writable"===e._controlledWritableStream._state&&ce(e,t)}function ue(e){return ie(e)<=0}function ce(e,t){var r=e._controlledWritableStream;ae(e),H(r,t)}function fe(e){return new TypeError("WritableStream.prototype."+e+" can only be used on a WritableStream")}function de(e){return new TypeError("WritableStreamDefaultWriter.prototype."+e+" can only be used on a WritableStreamDefaultWriter")}function le(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function he(e){e._closedPromise=new h.default(function(t,r){e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function pe(e,t){he(e),be(e,t)}function be(e,t){e._closedPromise.catch(function(){}),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected"}function ye(e){e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved"}function me(e){e._readyPromise=new h.default(function(t,r){e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function ve(e,t){me(e),_e(e,t)}function ge(e){me(e),we(e)}function _e(e,t){e._readyPromise.catch(function(){}),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected"}function we(e){e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled"}var ke=u.default||function(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e},xe=t("[[CancelSteps]]"),Ae=t("[[PullSteps]]"),Se=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,f.default)(this,e),Me(this);var n=r.size,a=r.highWaterMark,i=t.type;if("bytes"===String(i)){if(void 0!==n)throw new RangeError("The strategy for a byte stream cannot have a size function");void 0===a&&(a=0),function(e,t,r){var n=(0,c.default)(ct.prototype),a=A(t,"pull",0,[n]),i=A(t,"cancel",1,[]),s=t.autoAllocateChunkSize;if(void 0!==s&&(s=Number(s),!1===ke(s)||s<=0))throw new RangeError("autoAllocateChunkSize must be a positive integer");!function(e,t,r,n,a,i,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,ht(t),t._queue=t._queueTotalSize=void 0,U(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=M(i),t._pullAlgorithm=n,t._cancelAlgorithm=a,t._autoAllocateChunkSize=s,t._pendingPullIntos=[],e._readableStreamController=t;var o=r();h.default.resolve(o).then(function(){t._started=!0,lt(t)},function(e){St(t,e)}).catch(R)}(e,n,function(){return S(t,"start",[n])},a,i,r,s)}(this,t,a=M(a))}else{if(void 0!==i)throw new RangeError("Invalid type is specified");var s=P(n);void 0===a&&(a=1),function(e,t,r,n){var a=(0,c.default)(Je.prototype),i=A(t,"pull",0,[a]),s=A(t,"cancel",1,[]);ot(e,a,function(){return S(t,"start",[a])},i,s,r,n)}(this,t,a=M(a),s)}}return(0,d.default)(e,[{key:"cancel",value:function(e){return!1===Pe(this)?h.default.reject(Mt("cancel")):!0===Ce(this)?h.default.reject(new TypeError("Cannot cancel a stream that already has a reader")):Ke(this,e)}},{key:"getReader",value:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).mode;if(!1===Pe(this))throw Mt("getReader");if(void 0===e)return Ee(this);if("byob"===(e=String(e)))return function(e){return new Ge(e)}(this);throw new RangeError("Invalid mode is specified")}},{key:"pipeThrough",value:function(e){var t=e.writable,r=e.readable,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=n.preventClose,i=n.preventAbort,s=n.preventCancel,o=n.signal;if(!1===Pe(this))throw Mt("pipeThrough");if(!1===L(t))throw new TypeError("writable argument to pipeThrough must be a WritableStream");if(!1===Pe(r))throw new TypeError("readable argument to pipeThrough must be a ReadableStream");if(a=Boolean(a),i=Boolean(i),s=Boolean(s),void 0!==o&&!jt(o))throw new TypeError("ReadableStream.prototype.pipeThrough's signal option must be an AbortSignal");if(!0===Ce(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(!0===N(t))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return Te(this,t,a,i,s,o).catch(function(){}),r}},{key:"pipeTo",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.preventClose,n=t.preventAbort,a=t.preventCancel,i=t.signal;return!1===Pe(this)?h.default.reject(Mt("pipeTo")):!1===L(e)?h.default.reject(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream")):(r=Boolean(r),n=Boolean(n),a=Boolean(a),void 0===i||jt(i)?!0===Ce(this)?h.default.reject(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):!0===N(e)?h.default.reject(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Te(this,e,r,n,a,i):h.default.reject(new TypeError("ReadableStream.prototype.pipeTo's signal option must be an AbortSignal")))}},{key:"tee",value:function(){if(!1===Pe(this))throw Mt("tee");var e=function(e,t){var r=Ee(e),n=void 0,a=void 0,i=void 0,s=void 0,o=void 0,u=!1,c=!1,f=!1,d=new h.default(function(e){o=e});function l(){return Xe(r).then(function(e){var t=e.value;if(!0===e.done&&!1===u&&(!1===c&&rt(i._readableStreamController),!1===f&&rt(s._readableStreamController),u=!0),!0!==u){var r=t,n=t;!1===c&&nt(i._readableStreamController,r),!1===f&&nt(s._readableStreamController,n)}})}function p(){}return i=je(p,l,function(t){if(c=!0,n=t,!0===f){var r=_([n,a]),i=Ke(e,r);o(i)}return d}),s=je(p,l,function(t){if(f=!0,a=t,!0===c){var r=_([n,a]),i=Ke(e,r);o(i)}return d}),r._closedPromise.catch(function(e){!0!==u&&(at(i._readableStreamController,e),at(s._readableStreamController,e),u=!0)}),[i,s]}(this);return _(e)}},{key:"locked",get:function(){if(!1===Pe(this))throw Mt("locked");return Ce(this)}}]),e}();function Ee(e){return new qe(e)}function je(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return 1},i=(0,c.default)(Se.prototype);return Me(i),ot(i,(0,c.default)(Je.prototype),e,t,r,n,a),i}function Me(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function Pe(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")}function Ce(e){return void 0!==e._reader}function Te(e,t,r,n,a,i){var s=Ee(e),o=D(t),u=!1,c=h.default.resolve();return new h.default(function(f,d){var l=void 0;if(void 0!==i){if(l=function(){var r=new DOMException("Aborted","AbortError"),i=[];!1===n&&i.push(function(){return"writable"===t._state?q(t,r):h.default.resolve()}),!1===a&&i.push(function(){return"readable"===e._state?Ke(e,r):h.default.resolve()}),m(function(){return C(i.map(function(e){return e()}),function(e){return e})},!0,r)},!0===i.aborted)return void l();i.addEventListener("abort",l)}if(y(e,s._closedPromise,function(e){!1===n?m(function(){return q(t,e)},!0,e):v(!0,e)}),y(t,o._closedPromise,function(t){!1===a?m(function(){return Ke(e,t)},!0,t):v(!0,t)}),function(e,t,r){"closed"===e._state?r():t.then(r).catch(R)}(e,s._closedPromise,function(){!1===r?m(function(){return t=(e=o)._ownerWritableStream,r=t._state,!0===Z(t)||"closed"===r?h.default.resolve():"errored"===r?h.default.reject(t._storedError):$(e);var e,t,r}):v()}),!0===Z(t)||"closed"===t._state){var p=new TypeError("the destination writable stream closed before all data could be piped to it");!1===a?m(function(){return Ke(e,p)},!0,p):v(!0,p)}function b(){var e=c;return c.then(function(){return e!==c?b():void 0})}function y(e,t,r){"errored"===e._state?r(e._storedError):t.catch(r).catch(R)}function m(e,r,n){function a(){e().then(function(){return g(r,n)},function(e){return g(!0,e)}).catch(R)}!0!==u&&(u=!0,"writable"===t._state&&!1===Z(t)?b().then(a):a())}function v(e,r){!0!==u&&(u=!0,"writable"===t._state&&!1===Z(t)?b().then(function(){return g(e,r)}).catch(R):g(e,r))}function g(e,t){ee(o),Ye(s),void 0!==i&&i.removeEventListener("abort",l),e?d(t):f(void 0)}new h.default(function(e,t){!function r(n){n?e():(!0===u?h.default.resolve(!0):o._readyPromise.then(function(){return Xe(s).then(function(e){var t=e.value;return!0===e.done||(c=te(o,t).catch(function(){}),!1)})})).then(r,t)}(!1)}).catch(function(e){c=h.default.resolve(),R(e)})})}function Re(e,t){return new h.default(function(r,n){var a={_resolve:r,_reject:n,_forAuthorCode:t};e._reader._readIntoRequests.push(a)})}function Be(e,t){return new h.default(function(r,n){var a={_resolve:r,_reject:n,_forAuthorCode:t};e._reader._readRequests.push(a)})}function Ke(e,t){return e._disturbed=!0,"closed"===e._state?h.default.resolve(void 0):"errored"===e._state?h.default.reject(e._storedError):(Ue(e),e._readableStreamController[xe](t).then(function(){}))}function Ue(e){e._state="closed";var t=e._reader;if(void 0!==t){if(We(t)){var r=!0,n=!1,a=void 0;try{for(var i,s=(0,l.default)(t._readRequests);!(r=(i=s.next()).done);r=!0){var o=i.value;(0,o._resolve)(Ie(void 0,!0,o._forAuthorCode))}}catch(u){n=!0,a=u}finally{try{!r&&s.return&&s.return()}finally{if(n)throw a}}t._readRequests=[]}Kt(t)}}function Ie(e,t,r){var n=null;!0===r&&(n=Object.prototype);var a=(0,c.default)(n);return Object.defineProperty(a,"value",{value:e,enumerable:!0,writable:!0,configurable:!0}),Object.defineProperty(a,"done",{value:t,enumerable:!0,writable:!0,configurable:!0}),a}function Oe(e,t){e._state="errored",e._storedError=t;var r=e._reader;if(void 0!==r){if(We(r)){var n=!0,a=!1,i=void 0;try{for(var s,o=(0,l.default)(r._readRequests);!(n=(s=o.next()).done);n=!0){s.value._reject(t)}}catch(p){a=!0,i=p}finally{try{!n&&o.return&&o.return()}finally{if(a)throw i}}r._readRequests=[]}else{var u=!0,c=!1,f=void 0;try{for(var d,h=(0,l.default)(r._readIntoRequests);!(u=(d=h.next()).done);u=!0){d.value._reject(t)}}catch(p){c=!0,f=p}finally{try{!u&&h.return&&h.return()}finally{if(c)throw f}}r._readIntoRequests=[]}Bt(r,t)}}function ze(e,t,r){var n=e._reader._readRequests.shift();n._resolve(Ie(t,r,n._forAuthorCode))}function De(e){return e._reader._readIntoRequests.length}function Fe(e){return e._reader._readRequests.length}function Le(e){var t=e._reader;return void 0!==t&&!!He(t)}function Ne(e){var t=e._reader;return void 0!==t&&!!We(t)}var qe=function(){function e(t){if((0,f.default)(this,e),!1===Pe(t))throw new TypeError("ReadableStreamDefaultReader can only be constructed with a ReadableStream instance");if(!0===Ce(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Ze(this,t),this._readRequests=[]}return(0,d.default)(e,[{key:"cancel",value:function(e){return We(this)?void 0===this._ownerReadableStream?h.default.reject(Pt("cancel")):Ve(this,e):h.default.reject(Ct("cancel"))}},{key:"read",value:function(){return We(this)?void 0===this._ownerReadableStream?h.default.reject(Pt("read from")):Xe(this,!0):h.default.reject(Ct("read"))}},{key:"releaseLock",value:function(){if(!We(this))throw Ct("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Ye(this)}}},{key:"closed",get:function(){return We(this)?this._closedPromise:h.default.reject(Ct("closed"))}}]),e}(),Ge=function(){function e(t){if((0,f.default)(this,e),!Pe(t))throw new TypeError("ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a byte source");if(!1===ft(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");if(Ce(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Ze(this,t),this._readIntoRequests=[]}return(0,d.default)(e,[{key:"cancel",value:function(e){return He(this)?void 0===this._ownerReadableStream?h.default.reject(Pt("cancel")):Ve(this,e):h.default.reject(Ut("cancel"))}},{key:"read",value:function(e){return He(this)?void 0===this._ownerReadableStream?h.default.reject(Pt("read from")):ArrayBuffer.isView(e)?(e.buffer,0===e.byteLength?h.default.reject(new TypeError("view must have non-zero byteLength")):function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=e._ownerReadableStream;return n._disturbed=!0,"errored"===n._state?h.default.reject(n._storedError):function(e,t,r){var n=e._controlledReadableByteStream,a=1;t.constructor!==DataView&&(a=t.constructor.BYTES_PER_ELEMENT);var i=t.constructor,s={buffer:j(t.buffer),byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:a,ctor:i,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(s),Re(n,r);if("closed"===n._state){var o=new i(s.buffer,s.byteOffset,0);return h.default.resolve(Ie(o,!0,r))}if(e._queueTotalSize>0){if(!0===mt(e,s)){var u=bt(s);return gt(e),h.default.resolve(Ie(u,!1,r))}if(!0===e._closeRequested){var c=new TypeError("Insufficient bytes to fill elements in the given buffer");return St(e,c),h.default.reject(c)}}e._pendingPullIntos.push(s);var f=Re(n,r);return lt(e),f}(n._readableStreamController,t,r)}(this,e,!0)):h.default.reject(new TypeError("view must be an array buffer view")):h.default.reject(Ut("read"))}},{key:"releaseLock",value:function(){if(!He(this))throw Ut("releaseLock");if(void 0!==this._ownerReadableStream){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");Ye(this)}}},{key:"closed",get:function(){return He(this)?this._closedPromise:h.default.reject(Ut("closed"))}}]),e}();function He(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function We(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function Ze(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?Tt(e):"closed"===t._state?function(e){Tt(e),Kt(e)}(e):Rt(e,t._storedError)}function Ve(e,t){return Ke(e._ownerReadableStream,t)}function Ye(e){"readable"===e._ownerReadableStream._state?Bt(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){Rt(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness"))}(e),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function Xe(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e._ownerReadableStream;return r._disturbed=!0,"closed"===r._state?h.default.resolve(Ie(void 0,!0,t)):"errored"===r._state?h.default.reject(r._storedError):r._readableStreamController[Ae](t)}var Je=function(){function e(){throw(0,f.default)(this,e),new TypeError}return(0,d.default)(e,[{key:"close",value:function(){if(!1===$e(this))throw It("close");if(!1===st(this))throw new TypeError("The stream is not in a state that permits close");rt(this)}},{key:"enqueue",value:function(e){if(!1===$e(this))throw It("enqueue");if(!1===st(this))throw new TypeError("The stream is not in a state that permits enqueue");return nt(this,e)}},{key:"error",value:function(e){if(!1===$e(this))throw It("error");at(this,e)}},{key:xe,value:function(e){U(this);var t=this._cancelAlgorithm(e);return tt(this),t}},{key:Ae,value:function(e){var t=this._controlledReadableStream;if(this._queue.length>0){var r=B(this);return!0===this._closeRequested&&0===this._queue.length?(tt(this),Ue(t)):Qe(this),h.default.resolve(Ie(r,!1,e))}var n=Be(t,e);return Qe(this),n}},{key:"desiredSize",get:function(){if(!1===$e(this))throw It("desiredSize");return it(this)}}]),e}();function $e(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function Qe(e){!1!==et(e)&&(!0!==e._pulling?(e._pulling=!0,e._pullAlgorithm().then(function(){if(e._pulling=!1,!0===e._pullAgain)return e._pullAgain=!1,Qe(e)},function(t){at(e,t)}).catch(R)):e._pullAgain=!0)}function et(e){var t=e._controlledReadableStream;return!1!==st(e)&&!1!==e._started&&(!0===Ce(t)&&Fe(t)>0||it(e)>0)}function tt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function rt(e){var t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&(tt(e),Ue(t))}function nt(e,t){var r=e._controlledReadableStream;if(!0===Ce(r)&&Fe(r)>0)ze(r,t,!1);else{var n=void 0;try{n=e._strategySizeAlgorithm(t)}catch(t){throw at(e,t),t}try{K(e,t,n)}catch(t){throw at(e,t),t}}Qe(e)}function at(e,t){var r=e._controlledReadableStream;"readable"===r._state&&(U(e),tt(e),Oe(r,t))}function it(e){var t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function st(e){var t=e._controlledReadableStream._state;return!1===e._closeRequested&&"readable"===t}function ot(e,t,r,n,a,i,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,U(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,e._readableStreamController=t;var o=r();h.default.resolve(o).then(function(){t._started=!0,Qe(t)},function(e){at(t,e)}).catch(R)}var ut=function(){function e(){throw(0,f.default)(this,e),new TypeError("ReadableStreamBYOBRequest cannot be used directly")}return(0,d.default)(e,[{key:"respond",value:function(e){if(!1===dt(this))throw Ot("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(e,t){if(!1===k(t=Number(t)))throw new RangeError("bytesWritten must be a finite");kt(e,t)}(this._associatedReadableByteStreamController,e)}},{key:"respondWithNewView",value:function(e){if(!1===dt(this))throw Ot("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(!ArrayBuffer.isView(e))throw new TypeError("You can only respond with array buffer views");e.buffer,function(e,t){var r=e._pendingPullIntos[0];if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.byteLength!==t.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");r.buffer=t.buffer,kt(e,t.byteLength)}(this._associatedReadableByteStreamController,e)}},{key:"view",get:function(){if(!1===dt(this))throw Ot("view");return this._view}}]),e}(),ct=function(){function e(){throw(0,f.default)(this,e),new TypeError("ReadableByteStreamController constructor cannot be used directly")}return(0,d.default)(e,[{key:"close",value:function(){if(!1===ft(this))throw zt("close");if(!0===this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");var e=this._controlledReadableByteStream._state;if("readable"!==e)throw new TypeError("The stream (in "+e+" state) is not in the readable state and cannot be closed");!function(e){var t=e._controlledReadableByteStream;if(e._queueTotalSize>0)e._closeRequested=!0;else{if(e._pendingPullIntos.length>0)if(e._pendingPullIntos[0].bytesFilled>0){var r=new TypeError("Insufficient bytes to fill elements in the given buffer");throw St(e,r),r}At(e),Ue(t)}}(this)}},{key:"enqueue",value:function(e){if(!1===ft(this))throw zt("enqueue");if(!0===this._closeRequested)throw new TypeError("stream is closed or draining");var t=this._controlledReadableByteStream._state;if("readable"!==t)throw new TypeError("The stream (in "+t+" state) is not in the readable state and cannot be enqueued to");if(!ArrayBuffer.isView(e))throw new TypeError("You can only enqueue array buffer views when using a ReadableByteStreamController");e.buffer,function(e,t){var r=e._controlledReadableByteStream,n=t.buffer,a=t.byteOffset,i=t.byteLength,s=j(n);!0===Ne(r)?0===Fe(r)?yt(e,s,a,i):ze(r,new Uint8Array(s,a,i),!1):!0===Le(r)?(yt(e,s,a,i),wt(e)):yt(e,s,a,i);lt(e)}(this,e)}},{key:"error",value:function(e){if(!1===ft(this))throw zt("error");St(this,e)}},{key:xe,value:function(e){this._pendingPullIntos.length>0&&(this._pendingPullIntos[0].bytesFilled=0),U(this);var t=this._cancelAlgorithm(e);return At(this),t}},{key:Ae,value:function(e){var t=this._controlledReadableByteStream;if(this._queueTotalSize>0){var r=this._queue.shift(),n=void 0;this._queueTotalSize-=r.byteLength,gt(this);try{n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}catch(e){return h.default.reject(e)}return h.default.resolve(Ie(n,!1,e))}var a=this._autoAllocateChunkSize;if(void 0!==a){var i=void 0;try{i=new ArrayBuffer(a)}catch(e){return h.default.reject(e)}var s={buffer:i,byteOffset:0,byteLength:a,bytesFilled:0,elementSize:1,ctor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(s)}var o=Be(t,e);return lt(this),o}},{key:"byobRequest",get:function(){if(!1===ft(this))throw zt("byobRequest");if(void 0===this._byobRequest&&this._pendingPullIntos.length>0){var e=this._pendingPullIntos[0],t=new Uint8Array(e.buffer,e.byteOffset+e.bytesFilled,e.byteLength-e.bytesFilled),r=(0,c.default)(ut.prototype);!function(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}(r,this,t),this._byobRequest=r}return this._byobRequest}},{key:"desiredSize",get:function(){if(!1===ft(this))throw zt("desiredSize");return Et(this)}}]),e}();function ft(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function dt(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function lt(e){!1!==function(e){var t=e._controlledReadableByteStream;return"readable"===t._state&&(!0!==e._closeRequested&&(!1!==e._started&&(!0===Ne(t)&&Fe(t)>0||(!0===Le(t)&&De(t)>0||Et(e)>0))))}(e)&&(!0!==e._pulling?(e._pulling=!0,e._pullAlgorithm().then(function(){e._pulling=!1,!0===e._pullAgain&&(e._pullAgain=!1,lt(e))},function(t){St(e,t)}).catch(R)):e._pullAgain=!0)}function ht(e){_t(e),e._pendingPullIntos=[]}function pt(e,t){var r=!1;"closed"===e._state&&(r=!0);var n=bt(t);"default"===t.readerType?ze(e,n,r):function(e,t,r){var n=e._reader._readIntoRequests.shift();n._resolve(Ie(t,r,n._forAuthorCode))}(e,n,r)}function bt(e){var t=e.bytesFilled,r=e.elementSize;return new e.ctor(e.buffer,e.byteOffset,t/r)}function yt(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function mt(e,t){var r=t.elementSize,n=t.bytesFilled-t.bytesFilled%r,a=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),i=t.bytesFilled+a,s=i-i%r,o=a,u=!1;s>n&&(o=s-t.bytesFilled,u=!0);for(var c=e._queue;o>0;){var f=c[0],d=Math.min(o,f.byteLength),l=t.byteOffset+t.bytesFilled;w(t.buffer,l,f.buffer,f.byteOffset,d),f.byteLength===d?c.shift():(f.byteOffset+=d,f.byteLength-=d),e._queueTotalSize-=d,vt(e,d,t),o-=d}return u}function vt(e,t,r){_t(e),r.bytesFilled+=t}function gt(e){0===e._queueTotalSize&&!0===e._closeRequested?(At(e),Ue(e._controlledReadableByteStream)):lt(e)}function _t(e){void 0!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=void 0,e._byobRequest=void 0)}function wt(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;var t=e._pendingPullIntos[0];!0===mt(e,t)&&(xt(e),pt(e._controlledReadableByteStream,t))}}function kt(e,t){var r=e._pendingPullIntos[0];if("closed"===e._controlledReadableByteStream._state){if(0!==t)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream");!function(e,t){t.buffer=j(t.buffer);var r=e._controlledReadableByteStream;if(!0===Le(r))for(;De(r)>0;)pt(r,xt(e))}(e,r)}else!function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(vt(e,t,r),!(r.bytesFilled0){var a=r.byteOffset+r.bytesFilled,i=r.buffer.slice(a-n,a);yt(e,i,0,i.byteLength)}r.buffer=j(r.buffer),r.bytesFilled-=n,pt(e._controlledReadableByteStream,r),wt(e)}}(e,t,r);lt(e)}function xt(e){var t=e._pendingPullIntos.shift();return _t(e),t}function At(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function St(e,t){var r=e._controlledReadableByteStream;"readable"===r._state&&(ht(e),U(e),At(e),Oe(r,t))}function Et(e){var t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function jt(e){if("object"!=(void 0===e?"undefined":(0,v.default)(e))||null===e)return!1;var t=(0,o.default)(AbortSignal.prototype,"aborted").get;try{return t.call(e),!0}catch(e){return!1}}function Mt(e){return new TypeError("ReadableStream.prototype."+e+" can only be used on a ReadableStream")}function Pt(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Ct(e){return new TypeError("ReadableStreamDefaultReader.prototype."+e+" can only be used on a ReadableStreamDefaultReader")}function Tt(e){e._closedPromise=new h.default(function(t,r){e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Rt(e,t){Tt(e),Bt(e,t)}function Bt(e,t){e._closedPromise.catch(function(){}),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}function Kt(e){e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}function Ut(e){return new TypeError("ReadableStreamBYOBReader.prototype."+e+" can only be used on a ReadableStreamBYOBReader")}function It(e){return new TypeError("ReadableStreamDefaultController.prototype."+e+" can only be used on a ReadableStreamDefaultController")}function Ot(e){return new TypeError("ReadableStreamBYOBRequest.prototype."+e+" can only be used on a ReadableStreamBYOBRequest")}function zt(e){return new TypeError("ReadableByteStreamController.prototype."+e+" can only be used on a ReadableByteStreamController")}var Dt=function(){function e(t){var r=t.highWaterMark;(0,f.default)(this,e),g(this,"highWaterMark",r)}return(0,d.default)(e,[{key:"size",value:function(e){return e.byteLength}}]),e}(),Ft=function(){function e(t){var r=t.highWaterMark;(0,f.default)(this,e),g(this,"highWaterMark",r)}return(0,d.default)(e,[{key:"size",value:function(){return 1}}]),e}(),Lt=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,f.default)(this,e);var a=r.size,i=r.highWaterMark,s=n.size,o=n.highWaterMark;if(void 0!==t.writableType)throw new RangeError("Invalid writable type specified");var u=P(a);if(void 0===i&&(i=1),i=M(i),void 0!==t.readableType)throw new RangeError("Invalid readable type specified");var d=P(s),l=void 0;void 0===o&&(o=0),o=M(o),function(e,t,r,n,a,i){function s(){return t}e._writable=function(e,t,r,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:function(){return 1},s=(0,c.default)(z.prototype);return F(s),ne(s,(0,c.default)(re.prototype),e,t,r,n,a,i),s}(s,function(t){return function(e,t){var r=e._transformStreamController;return!0===e._backpressure?e._backpressureChangePromise.then(function(){var n=e._writable;if("erroring"===n._state)throw n._storedError;return Xt(r,t)}):Xt(r,t)}(e,t)},function(){return function(e){var t=e._readable,r=e._transformStreamController,n=r._flushAlgorithm();return Vt(r),n.then(function(){if("errored"===t._state)throw t._storedError;var e=t._readableStreamController;!0===st(e)&&rt(e)}).catch(function(r){throw qt(e,r),t._storedError})}(e)},function(t){return function(e,t){return qt(e,t),h.default.resolve()}(e,t)},r,n),e._readable=je(s,function(){return function(e){return Ht(e,!1),e._backpressureChangePromise}(e)},function(t){return Gt(e,t),h.default.resolve()},a,i),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Ht(e,!0),e._transformStreamController=void 0}(this,new h.default(function(e){l=e}),i,u,o,d),function(e,t){var r=(0,c.default)(Wt.prototype),n=function(e){try{return Yt(r,e),h.default.resolve()}catch(e){return h.default.reject(e)}},a=t.transform;if(void 0!==a){if("function"!=typeof a)throw new TypeError("transform is not a method");n=function(e){return E(a,t,[e,r])}}var i=A(t,"flush",0,[r]);!function(e,t,r,n){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=n}(e,r,n,i)}(this,t);var p=S(t,"start",[this._transformStreamController]);l(p)}return(0,d.default)(e,[{key:"readable",get:function(){if(!1===Nt(this))throw $t("readable");return this._readable}},{key:"writable",get:function(){if(!1===Nt(this))throw $t("writable");return this._writable}}]),e}();function Nt(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function qt(e,t){at(e._readable._readableStreamController,t),Gt(e,t)}function Gt(e,t){Vt(e._transformStreamController),oe(e._writable._writableStreamController,t),!0===e._backpressure&&Ht(e,!1)}function Ht(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=new h.default(function(t){e._backpressureChangePromise_resolve=t}),e._backpressure=t}var Wt=function(){function e(){throw(0,f.default)(this,e),new TypeError("TransformStreamDefaultController instances cannot be created directly")}return(0,d.default)(e,[{key:"enqueue",value:function(e){if(!1===Zt(this))throw Jt("enqueue");Yt(this,e)}},{key:"error",value:function(e){if(!1===Zt(this))throw Jt("error");!function(e,t){qt(e._controlledTransformStream,t)}(this,e)}},{key:"terminate",value:function(){if(!1===Zt(this))throw Jt("terminate");var e,t;e=this._controlledTransformStream,!0===st(t=e._readable._readableStreamController)&&rt(t),Gt(e,new TypeError("TransformStream terminated"))}},{key:"desiredSize",get:function(){if(!1===Zt(this))throw Jt("desiredSize");return it(this._controlledTransformStream._readable._readableStreamController)}}]),e}();function Zt(e){return!!i(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function Vt(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function Yt(e,t){var r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!1===st(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{nt(n,t)}catch(e){throw Gt(r,e),r._readable._storedError}!0!==et(n)!==r._backpressure&&Ht(r,!0)}function Xt(e,t){return e._transformAlgorithm(t).catch(function(t){throw qt(e._controlledTransformStream,t),t})}function Jt(e){return new TypeError("TransformStreamDefaultController.prototype."+e+" can only be used on a TransformStreamDefaultController")}function $t(e){return new TypeError("TransformStream.prototype."+e+" can only be used on a TransformStream")}var Qt={ReadableStream:Se,WritableStream:z,ByteLengthQueuingStrategy:Dt,CountQueuingStrategy:Ft,TransformStream:Lt};void 0!==r&&(0,s.default)(r,Qt),e.ReadableStream=Se,e.WritableStream=z,e.ByteLengthQueuingStrategy=Dt,e.CountQueuingStrategy=Ft,e.TransformStream=Lt,Object.defineProperty(e,"__esModule",{value:!0})},"object"==(void 0===r?"undefined":(0,v.default)(r))&&void 0!==t?i(r):i((a=a||self).WebStreamsPolyfill={})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"babel-runtime/core-js/get-iterator":18,"babel-runtime/core-js/number/is-integer":21,"babel-runtime/core-js/number/is-nan":22,"babel-runtime/core-js/object/assign":23,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/define-property":25,"babel-runtime/core-js/object/get-own-property-descriptor":27,"babel-runtime/core-js/promise":32,"babel-runtime/core-js/symbol":33,"babel-runtime/core-js/symbol/iterator":34,"babel-runtime/helpers/classCallCheck":37,"babel-runtime/helpers/createClass":38,"babel-runtime/helpers/typeof":43}],2:[function(e,t,r){"use strict";var n=i(e("babel-runtime/helpers/classCallCheck")),a=i(e("babel-runtime/helpers/createClass"));function i(e){return e&&e.__esModule?e:{default:e}}var s=e("email-addresses");function o(e){if("group"===e.type)return new u(e.name,e.addresses.map(o));var t=void 0;e.parts.comments&&(t=e.parts.comments.map(function(e){return e.tokens.trim()}).join(" ").trim());var r=e.local;return!e.name&&/:/.test(r)&&(r='"'+r+'"'),new c(e.name,r+"@"+e.domain,t)}r.parse=function(e,t){if(!e)throw"Nothing to parse";e=e.trim();var r=s({input:e,rfc6532:!0,partial:!1,simple:!1,strict:!1,rejectTLD:!1,startAt:t||null});if(!r)throw"No results";return r.addresses.map(o)},r.parseFrom=function(e){return r.parse(e,"from")},r.parseSender=function(e){return r.parse(e,"sender")},r.parseReplyTo=function(e){return r.parse(e,"reply-to")};var u=function(){function e(t,r){(0,n.default)(this,e),this.phrase=t,this.addresses=r}return(0,a.default)(e,[{key:"format",value:function(){return this.phrase+":"+this.addresses.map(function(e){return e.format()}).join(",")}},{key:"name",value:function(){var e=this.phrase;e&&e.length||(e=this.comment);var t=f(e);return t}}]),e}(),c=function(){function e(t,r,a){(0,n.default)(this,e),this.phrase=t||"",this.address=r||"",this.comment=a||""}return(0,a.default)(e,[{key:"host",value:function(){var e=/.*@(.*)$/.exec(this.address);return e?e[1]:null}},{key:"user",value:function(){var e=/^(.*)@/.exec(this.address);return e?e[1]:null}},{key:"format",value:function(){var e=this.phrase,t=this.address,r=this.comment,n=[],a=new RegExp("^[\\-\\w !#$%&'*+/=?^`{|}~]+$");return e&&e.length?(n.push(a.test(e.trim())?e:function(e){if(/^"/.test(e))return!0;var t=void 0;for(;t=/^[\s\S]*?([\s\S])"/.exec(e);){if("\\"!==t[1])return!0;e=e.substr(t[0].length)}return!1}(e)?e:'"'+e+'"'),t&&t.length&&n.push("<"+t+">")):t&&t.length&&n.push(t),r&&/\S/.test(r)&&(r=r.replace(/^\s*\(?/,"(").replace(/\)?\s*$/,")")),r&&r.length&&n.push(r),n.join(" ")}},{key:"name",value:function(){var e=this.phrase,t=this.address;e&&e.length||(e=this.comment);var r=f(e);if(""===r){var n=/([^%.@_]+([._][^%.@_]+)+)[@%]/.exec(t);n&&(r=n[1].replace(/[._]+/g," "),r=f(r))}if(""===r&&/\/g=/i.test(t)){var a=/\/g=([^\/]*)/i.exec(t);r=f(a[1]+" "+(a=/\/s=([^\/]*)/i.exec(t))[1])}return r}}]),e}();function f(e){return/=?.*?\?=/.test(e)?"":(e=(e=e.trim()).replace(/\s+/," "),/^[\d ]+$/.test(e)?"":(e=e.replace(/^\((.*)\)$/,"$1").replace(/^"(.*)"$/,"$1").replace(/\(.*?\)/g,"").replace(/\\/g,"").replace(/^"(.*)"$/,"$1").replace(/^([^\s]+) ?, ?(.*)$/,"$2 $1").replace(/,.*/,""),(r.isAllUpper(e)||r.isAllLower(e))&&(e=r.nameCase(e)),e=e.replace(/\[[^\]]*\]/g,"").replace(/(^[\s'"]+|[\s'"]+$)/g,"").replace(/\s{2,}/g," ")))}r.Address=c,r.isAllLower=function(e){return e===e.toLowerCase()},r.isAllUpper=function(e){return e===e.toUpperCase()},r.nameCase=function(e){return e.toLowerCase().replace(/\b(\w+)/g,function(e,t){return t.charAt(0).toUpperCase()+t.slice(1)}).replace(/\bMc(\w)/gi,function(e,t){return"Mc"+t.toUpperCase()}).replace(/\bo'(\w)/gi,function(e,t){return"O'"+t.toUpperCase()}).replace(/\b(x*(ix)?v*(iv)?i*)\b/gi,function(e,t){return t.toUpperCase()})}},{"babel-runtime/helpers/classCallCheck":37,"babel-runtime/helpers/createClass":38,"email-addresses":303}],3:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});r.AES_asm=function(){var e,t,r=!1;function n(r,n){var a=e[(t[r]+t[n])%255];return 0!==r&&0!==n||(a=0),a}var a,i,s,o,u=!1;function c(){function c(r){var n,a,i;for(a=i=function(r){var n=e[255-t[r]];return 0===r&&(n=0),n}(r),n=0;n<4;n++)i^=a=255&(a<<1|a>>>7);return i^=99}r||function(){e=[],t=[];var n,a,i=1;for(n=0;n<255;n++)e[n]=i,a=128&i,i<<=1,i&=255,128===a&&(i^=27),i^=e[n],t[e[n]]=n;e[255]=e[0],t[0]=0,r=!0}(),a=[],i=[],s=[[],[],[],[]],o=[[],[],[],[]];for(var f=0;f<256;f++){var d=c(f);a[f]=d,i[d]=f,s[0][f]=n(2,d)<<24|d<<16|d<<8|n(3,d),o[0][d]=n(14,f)<<24|n(9,f)<<16|n(13,f)<<8|n(11,f);for(var l=1;l<4;l++)s[l][f]=s[l-1][f]>>>8|s[l-1][f]<<24,o[l][d]=o[l-1][d]>>>8|o[l-1][d]<<24}u=!0}var f=function(e,t){u||c();var r=new Uint32Array(t);r.set(a,512),r.set(i,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,a=0,i=0,s=0,o=0,u=0,c=0,f=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0,_=0,w=0,k=0,x=0;var A=new e.Uint32Array(r),S=new e.Uint8Array(r);function E(e,t,r,o,u,c,f,d){e=e|0;t=t|0;r=r|0;o=o|0;u=u|0;c=c|0;f=f|0;d=d|0;var l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0;l=r|0x400,h=r|0x800,p=r|0xc00;u=u^A[(e|0)>>2],c=c^A[(e|4)>>2],f=f^A[(e|8)>>2],d=d^A[(e|12)>>2];for(g=16;(g|0)<=o<<4;g=g+16|0){b=A[(r|u>>22&1020)>>2]^A[(l|c>>14&1020)>>2]^A[(h|f>>6&1020)>>2]^A[(p|d<<2&1020)>>2]^A[(e|g|0)>>2],y=A[(r|c>>22&1020)>>2]^A[(l|f>>14&1020)>>2]^A[(h|d>>6&1020)>>2]^A[(p|u<<2&1020)>>2]^A[(e|g|4)>>2],m=A[(r|f>>22&1020)>>2]^A[(l|d>>14&1020)>>2]^A[(h|u>>6&1020)>>2]^A[(p|c<<2&1020)>>2]^A[(e|g|8)>>2],v=A[(r|d>>22&1020)>>2]^A[(l|u>>14&1020)>>2]^A[(h|c>>6&1020)>>2]^A[(p|f<<2&1020)>>2]^A[(e|g|12)>>2];u=b,c=y,f=m,d=v}n=A[(t|u>>22&1020)>>2]<<24^A[(t|c>>14&1020)>>2]<<16^A[(t|f>>6&1020)>>2]<<8^A[(t|d<<2&1020)>>2]^A[(e|g|0)>>2],a=A[(t|c>>22&1020)>>2]<<24^A[(t|f>>14&1020)>>2]<<16^A[(t|d>>6&1020)>>2]<<8^A[(t|u<<2&1020)>>2]^A[(e|g|4)>>2],i=A[(t|f>>22&1020)>>2]<<24^A[(t|d>>14&1020)>>2]<<16^A[(t|u>>6&1020)>>2]<<8^A[(t|c<<2&1020)>>2]^A[(e|g|8)>>2],s=A[(t|d>>22&1020)>>2]<<24^A[(t|u>>14&1020)>>2]<<16^A[(t|c>>6&1020)>>2]<<8^A[(t|f<<2&1020)>>2]^A[(e|g|12)>>2]}function j(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;E(0x0000,0x0800,0x1000,x,e,t,r,n)}function M(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var i=0;E(0x0400,0x0c00,0x2000,x,e,n,r,t);i=a,a=s,s=i}function P(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,o^e,u^t,c^r,f^d);o=n,u=a,c=i,f=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,x,e,d,r,t);l=a,a=s,s=l;n=n^o,a=a^u,i=i^c,s=s^f;o=e,u=t,c=r,f=d}function T(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,o,u,c,f);o=n=n^e,u=a=a^t,c=i=i^r,f=s=s^d}function R(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,o,u,c,f);n=n^e,a=a^t,i=i^r,s=s^d;o=e,u=t,c=r,f=d}function B(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,o,u,c,f);o=n,u=a,c=i,f=s;n=n^e,a=a^t,i=i^r,s=s^d}function K(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;E(0x0000,0x0800,0x1000,x,d,l,h,p);p=~v&p|v&p+1;h=~m&h|m&h+((p|0)==0);l=~y&l|y&l+((h|0)==0);d=~b&d|b&d+((l|0)==0);n=n^e;a=a^t;i=i^r;s=s^o}function U(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0,i=0,s=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0;e=e^o,t=t^u,r=r^c,n=n^f;a=g|0,i=_|0,s=w|0,d=k|0;for(;(y|0)<128;y=y+1|0){if(a>>>31){l=l^e,h=h^t,p=p^r,b=b^n}a=a<<1|i>>>31,i=i<<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,c=p,f=b}function I(e){e=e|0;x=e}function O(e,t,r,o){e=e|0;t=t|0;r=r|0;o=o|0;n=e,a=t,i=r,s=o}function z(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;o=e,u=t,c=r,f=n}function D(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 F(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;b=e,y=t,m=r,v=n}function L(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;p=~v&p|v&n,h=~m&h|m&r,l=~y&l|y&t,d=~b&d|b&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]=a>>>24,S[e|5]=a>>>16&255,S[e|6]=a>>>8&255,S[e|7]=a&255,S[e|8]=i>>>24,S[e|9]=i>>>16&255,S[e|10]=i>>>8&255,S[e|11]=i&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]=c>>>24,S[e|9]=c>>>16&255,S[e|10]=c>>>8&255,S[e|11]=c&255,S[e|12]=f>>>24,S[e|13]=f>>>16&255,S[e|14]=f>>>8&255,S[e|15]=f&255;return 16}function G(){j(0,0,0,0);g=n,_=a,w=i,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){Z[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]=a>>>24,S[t|5]=a>>>16&255,S[t|6]=a>>>8&255,S[t|7]=a&255,S[t|8]=i>>>24,S[t|9]=i>>>16&255,S[t|10]=i>>>8&255,S[t|11]=i&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 W(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if(t&15)return-1;while((r|0)>=16){V[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 Z=[j,M,P,C,T,R,B,K];var V=[P,U];return{set_rounds:I,set_state:O,set_iv:z,set_nonce:D,set_mask:F,set_counter:L,get_state:N,get_iv:q,gcm_init:G,cipher:H,mac:W}}({Uint8Array:Uint8Array,Uint32Array:Uint32Array},e,t);return f.set_key=function(e,t,n,i,s,u,c,d,l){var h=r.subarray(0,60),p=r.subarray(256,316);h.set([t,n,i,s,u,c,d,l]);for(var b=e,y=1;b<4*e+28;b++){var m=h[b-1];(b%e==0||8===e&&b%e==4)&&(m=a[m>>>24]<<24^a[m>>>16&255]<<16^a[m>>>8&255]<<8^a[255&m]),b%e==0&&(m=m<<8^m>>>24^y<<24,y=y<<1^(128&y?27:0)),h[b]=h[b-e]^m}for(var v=0;v=b-4?m:o[0][a[m>>>24]]^o[1][a[m>>>16&255]]^o[2][a[m>>>8&255]]^o[3][a[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}()},{}],4:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES=void 0;var n=e("./aes.asm"),a=e("../other/utils"),i=e("../other/errors"),s=[],o=[],u=function(){function e(e,t,r,n){void 0===r&&(r=!0),this.pos=0,this.len=0,this.mode=n,this.pos=0,this.len=0,this.key=e,this.iv=t,this.padding=r,this.acquire_asm()}return e.prototype.acquire_asm=function(){void 0===this.heap&&void 0===this.asm&&(this.heap=s.pop()||(0,a._heap_init)().subarray(n.AES_asm.HEAP_DATA),this.asm=o.pop()||(0,n.AES_asm)(null,this.heap.buffer),this.reset(this.key,this.iv))},e.prototype.release_asm=function(){s.push(this.heap),o.push(this.asm),this.heap=void 0,this.asm=void 0},e.prototype.reset=function(e,t){var r=e.length;if(16!==r&&24!==r&&32!==r)throw new i.IllegalArgumentError("illegal key size");var n=new DataView(e.buffer,e.byteOffset,e.byteLength);if(this.asm.set_key(r>>2,n.getUint32(0),n.getUint32(4),n.getUint32(8),n.getUint32(12),r>16?n.getUint32(16):0,r>16?n.getUint32(20):0,r>24?n.getUint32(24):0,r>24?n.getUint32(28):0),void 0!==t){if(16!==t.length)throw new i.IllegalArgumentError("illegal iv size");var a=new DataView(t.buffer,t.byteOffset,t.byteLength);this.asm.set_iv(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12))}else this.asm.set_iv(0,0,0,0)},e.prototype.AES_Encrypt_process=function(e){if(!(0,a.is_bytes)(e))throw new TypeError("data isn't of expected type");this.acquire_asm();for(var t=this.asm,r=this.heap,i=n.AES_asm.ENC[this.mode],s=n.AES_asm.HEAP_DATA,o=this.pos,u=this.len,c=0,f=e.length||0,d=0,l=0,h=new Uint8Array(u+f&-16);f>0;)u+=l=(0,a._heap_write)(r,o+u,e,c,f),c+=l,f-=l,(l=t.cipher(i,s+o,u))&&h.set(r.subarray(o,o+l),d),d+=l,l0;)u+=p=(0,a._heap_write)(r,o+u,e,c,f),c+=p,f-=p,(p=t.cipher(i,s+o,u-(f?0:h)))&&b.set(r.subarray(o,o+p),d),d+=p,p0){if(o%16){if(this.hasOwnProperty("padding"))throw new i.IllegalArgumentError("data length must be a multiple of the block size");o+=16-o%16}if(e.cipher(r,a+s,o),this.hasOwnProperty("padding")&&this.padding){var c=t[s+u-1];if(c<1||c>16||c>u)throw new i.SecurityError("bad padding");for(var f=0,d=c;d>1;d--)f|=c^t[s+u-d];if(f)throw new i.SecurityError("bad padding");u-=c}}var l=new Uint8Array(u);return u>0&&l.set(t.subarray(s,s+u)),this.pos=0,this.len=0,this.release_asm(),l},e}();r.AES=u},{"../other/errors":15,"../other/utils":16,"./aes.asm":3}],5:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CBC=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),s=e("../other/utils");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=function(e){function t(t,r,n){return void 0===n&&(n=!0),e.call(this,t,r,n,"CBC")||this}return c(t,e),t.encrypt=function(e,r,n,a){return void 0===n&&(n=!0),new t(r,a,n).encrypt(e)},t.decrypt=function(e,r,n,a){return void 0===n&&(n=!0),new t(r,a,n).decrypt(e)},t.prototype.encrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,s.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,s.joinBytes)(t,r)},t}(i.AES);r.AES_CBC=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/set-prototype-of":30}],6:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CFB=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),s=e("../other/utils");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=function(e){function t(t,r){var n=e.call(this,t,r,!0,"CFB")||this;return delete n.padding,n}return c(t,e),t.encrypt=function(e,r,n){return new t(r,n).encrypt(e)},t.decrypt=function(e,r,n){return new t(r,n).decrypt(e)},t.prototype.encrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,s.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,s.joinBytes)(t,r)},t}(i.AES);r.AES_CFB=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/set-prototype-of":30}],7:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CTR=void 0;var n=u(e("babel-runtime/core-js/object/create")),a=u(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),s=e("../other/errors"),o=e("../other/utils");function u(e){return e&&e.__esModule?e:{default:e}}var c,f=(c=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}c(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),d=function(e){function t(t,r){var n=e.call(this,t,void 0,!1,"CTR")||this;return delete n.padding,n.AES_CTR_set_options(r),n}return f(t,e),t.encrypt=function(e,r,n){return new t(r,n).encrypt(e)},t.decrypt=function(e,r,n){return new t(r,n).encrypt(e)},t.prototype.encrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,o.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,o.joinBytes)(t,r)},t.prototype.AES_CTR_set_options=function(e,t,r){if(void 0!==r){if(r<8||r>48)throw new s.IllegalArgumentError("illegal counter size");var n=Math.pow(2,r)-1;this.asm.set_mask(0,0,n/4294967296|0,0|n)}else r=48,this.asm.set_mask(0,0,65535,4294967295);if(void 0===e)throw new Error("nonce is required");var a=e.length;if(!a||a>16)throw new s.IllegalArgumentError("illegal nonce size");var i=new DataView(new ArrayBuffer(16));if(new Uint8Array(i.buffer).set(e),this.asm.set_nonce(i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12)),void 0!==t){if(t<0||t>=Math.pow(2,r))throw new s.IllegalArgumentError("illegal counter value");this.asm.set_counter(0,0,t/4294967296|0,0|t)}},t}(i.AES);r.AES_CTR=d},{"../other/errors":15,"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/set-prototype-of":30}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_ECB=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),s=e("../other/utils");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=function(e){function t(t,r){return void 0===r&&(r=!1),e.call(this,t,void 0,r,"ECB")||this}return c(t,e),t.encrypt=function(e,r,n){return void 0===n&&(n=!1),new t(r,n).encrypt(e)},t.decrypt=function(e,r,n){return void 0===n&&(n=!1),new t(r,n).decrypt(e)},t.prototype.encrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,s.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,s.joinBytes)(t,r)},t}(i.AES);r.AES_ECB=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/set-prototype-of":30}],9:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_GCM=void 0;var n=c(e("babel-runtime/core-js/object/create")),a=c(e("babel-runtime/core-js/object/set-prototype-of")),i=e("../other/errors"),s=e("../other/utils"),o=e("./aes"),u=e("./aes.asm");function c(e){return e&&e.__esModule?e:{default:e}}var f,d=(f=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}f(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),l=68719476704,h=function(e){function t(t,r,n,a){void 0===a&&(a=16);var s=e.call(this,t,void 0,!1,"CTR")||this;if(s.tagSize=a,s.gamma0=0,s.counter=1,s.asm.gcm_init(),s.tagSize<4||s.tagSize>16)throw new i.IllegalArgumentError("illegal tagSize value");var o=r.length||0,c=new Uint8Array(16);12!==o?(s._gcm_mac_process(r),s.heap[0]=0,s.heap[1]=0,s.heap[2]=0,s.heap[3]=0,s.heap[4]=0,s.heap[5]=0,s.heap[6]=0,s.heap[7]=0,s.heap[8]=0,s.heap[9]=0,s.heap[10]=0,s.heap[11]=o>>>29,s.heap[12]=o>>>21&255,s.heap[13]=o>>>13&255,s.heap[14]=o>>>5&255,s.heap[15]=o<<3&255,s.asm.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,16),s.asm.get_iv(u.AES_asm.HEAP_DATA),s.asm.set_iv(0,0,0,0),c.set(s.heap.subarray(0,16))):(c.set(r),c[15]=1);var f=new DataView(c.buffer);if(s.gamma0=f.getUint32(12),s.asm.set_nonce(f.getUint32(0),f.getUint32(4),f.getUint32(8),0),s.asm.set_mask(0,0,0,4294967295),void 0!==n){if(n.length>l)throw new i.IllegalArgumentError("illegal adata length");n.length?(s.adata=n,s._gcm_mac_process(n)):s.adata=void 0}else s.adata=void 0;if(s.counter<1||s.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");return s.asm.set_counter(0,0,0,s.gamma0+s.counter|0),s}return d(t,e),t.encrypt=function(e,r,n,a,i){return new t(r,n,a,i).encrypt(e)},t.decrypt=function(e,r,n,a,i){return new t(r,n,a,i).decrypt(e)},t.prototype.encrypt=function(e){return this.AES_GCM_encrypt(e)},t.prototype.decrypt=function(e){return this.AES_GCM_decrypt(e)},t.prototype.AES_GCM_Encrypt_process=function(e){var t=0,r=e.length||0,n=this.asm,a=this.heap,i=this.counter,o=this.pos,c=this.len,f=0,d=c+r&-16,h=0;if((i-1<<4)+c+r>l)throw new RangeError("counter overflow");for(var p=new Uint8Array(d);r>0;)c+=h=(0,s._heap_write)(a,o+c,e,t,r),t+=h,r-=h,h=n.cipher(u.AES_asm.ENC.CTR,u.AES_asm.HEAP_DATA+o,c),(h=n.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA+o,h))&&p.set(a.subarray(o,o+h),f),i+=h>>>4,f+=h,h>>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]=d>>>29,t[12]=d>>>21&255,t[13]=d>>>13&255,t[14]=d>>>5&255,t[15]=d<<3&255,e.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,16),e.get_iv(u.AES_asm.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(u.AES_asm.ENC.CTR,u.AES_asm.HEAP_DATA,16),o.set(t.subarray(0,n),s),this.counter=1,this.pos=0,this.len=0,o},t.prototype.AES_GCM_Decrypt_process=function(e){var t=0,r=e.length||0,n=this.asm,a=this.heap,i=this.counter,o=this.tagSize,c=this.pos,f=this.len,d=0,h=f+r>o?f+r-o&-16:0,p=f+r-h,b=0;if((i-1<<4)+f+r>l)throw new RangeError("counter overflow");for(var y=new Uint8Array(h);r>p;)f+=b=(0,s._heap_write)(a,c+f,e,t,r-p),t+=b,r-=b,b=n.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA+c,b),(b=n.cipher(u.AES_asm.DEC.CTR,u.AES_asm.HEAP_DATA+c,b))&&y.set(a.subarray(c,c+b),d),i+=b>>>4,d+=b,c=0,f=0;return r>0&&(f+=(0,s._heap_write)(a,0,e,t,r)),this.counter=i,this.pos=c,this.len=f,y},t.prototype.AES_GCM_Decrypt_finish=function(){var e=this.asm,t=this.heap,r=this.tagSize,n=this.adata,a=this.counter,s=this.pos,o=this.len,c=o-r;if(o>>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(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,16),e.get_iv(u.AES_asm.HEAP_DATA),e.set_counter(0,0,0,this.gamma0),e.cipher(u.AES_asm.ENC.CTR,u.AES_asm.HEAP_DATA,16);for(var b=0,y=0;y0;){for(n+=i=(0,s._heap_write)(t,0,e,n,a),a-=i;15&i;)t[i++]=0;r.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,i)}},t}(o.AES);r.AES_GCM=h},{"../other/errors":15,"../other/utils":16,"./aes":4,"./aes.asm":3,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/set-prototype-of":30}],10:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Hash=void 0;var n=e("../other/utils"),a=e("../other/errors"),i=function(){function e(){this.pos=0,this.len=0,this.acquire_asm()}return e.prototype.acquire_asm=function(){void 0===this.heap&&void 0===this.asm&&(this.heap=this.constructor.heap_pool.pop()||(0,n._heap_init)(),this.asm=this.constructor.asm_pool.pop()||this.constructor.asm_function({Uint8Array:Uint8Array},null,this.heap.buffer),this.reset())},e.prototype.release_asm=function(){this.constructor.heap_pool.push(this.heap),this.constructor.asm_pool.push(this.asm),this.heap=void 0,this.asm=void 0},e.prototype.reset=function(){return this.acquire_asm(),this.result=null,this.pos=0,this.len=0,this.asm.reset(),this},e.prototype.process=function(e){if(null!==this.result)throw new a.IllegalStateError("state must be reset before processing new data");this.acquire_asm();for(var t=this.asm,r=this.heap,i=this.pos,s=this.len,o=0,u=e.length,c=0;u>0;)s+=c=(0,n._heap_write)(r,i+s,e,o,u),o+=c,u-=c,i+=c=t.process(i,s),(s-=c)||(i=0);return this.pos=i,this.len=s,this},e.prototype.finish=function(){if(null!==this.result)throw new a.IllegalStateError("state must be reset before processing new data");return this.acquire_asm(),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.release_asm(),this},e}();r.Hash=i},{"../other/errors":15,"../other/utils":16}],11:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.sha1_asm=function(e,t,r){"use asm";var n=0,a=0,i=0,s=0,o=0,u=0,c=0,f=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0,_=new e.Uint8Array(r);function w(e,t,r,u,c,f,d,l,h,p,b,y,m,v,g,_){e=e|0;t=t|0;r=r|0;u=u|0;c=c|0;f=f|0;d=d|0;l=l|0;h=h|0;p=p|0;b=b|0;y=y|0;m=m|0;v=v|0;g=g|0;_=_|0;var w=0,k=0,x=0,A=0,S=0,E=0,j=0,M=0,P=0,C=0,T=0,R=0,B=0,K=0,U=0,I=0,O=0,z=0,D=0,F=0,L=0,N=0,q=0,G=0,H=0,W=0,Z=0,V=0,Y=0,X=0,J=0,$=0,Q=0,ee=0,te=0,re=0,ne=0,ae=0,ie=0,se=0,oe=0,ue=0,ce=0,fe=0,de=0,le=0,he=0,pe=0,be=0,ye=0,me=0,ve=0,ge=0,_e=0,we=0,ke=0,xe=0,Ae=0,Se=0,Ee=0,je=0,Me=0,Pe=0,Ce=0,Te=0,Re=0,Be=0,Ke=0,Ue=0,Ie=0,Oe=0;w=n;k=a;x=i;A=s;S=o;j=e+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=t+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=r+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=u+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=c+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=f+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=d+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=l+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=h+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=p+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=b+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=y+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=m+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=v+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=g+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;j=_+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=v^h^r^e;M=E<<1|E>>>31;j=M+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=g^p^u^t;P=E<<1|E>>>31;j=P+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=_^b^c^r;C=E<<1|E>>>31;j=C+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=M^y^f^u;T=E<<1|E>>>31;j=T+(w<<5|w>>>27)+S+(k&x|~k&A)+0x5a827999|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=P^m^d^c;R=E<<1|E>>>31;j=R+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=C^v^l^f;B=E<<1|E>>>31;j=B+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=T^g^h^d;K=E<<1|E>>>31;j=K+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=R^_^p^l;U=E<<1|E>>>31;j=U+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=B^M^b^h;I=E<<1|E>>>31;j=I+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=K^P^y^p;O=E<<1|E>>>31;j=O+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=U^C^m^b;z=E<<1|E>>>31;j=z+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=I^T^v^y;D=E<<1|E>>>31;j=D+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=O^R^g^m;F=E<<1|E>>>31;j=F+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=z^B^_^v;L=E<<1|E>>>31;j=L+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=D^K^M^g;N=E<<1|E>>>31;j=N+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=F^U^P^_;q=E<<1|E>>>31;j=q+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=L^I^C^M;G=E<<1|E>>>31;j=G+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=N^O^T^P;H=E<<1|E>>>31;j=H+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=q^z^R^C;W=E<<1|E>>>31;j=W+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=G^D^B^T;Z=E<<1|E>>>31;j=Z+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=H^F^K^R;V=E<<1|E>>>31;j=V+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=W^L^U^B;Y=E<<1|E>>>31;j=Y+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Z^N^I^K;X=E<<1|E>>>31;j=X+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=V^q^O^U;J=E<<1|E>>>31;j=J+(w<<5|w>>>27)+S+(k^x^A)+0x6ed9eba1|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Y^G^z^I;$=E<<1|E>>>31;j=$+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=X^H^D^O;Q=E<<1|E>>>31;j=Q+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=J^W^F^z;ee=E<<1|E>>>31;j=ee+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=$^Z^L^D;te=E<<1|E>>>31;j=te+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Q^V^N^F;re=E<<1|E>>>31;j=re+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ee^Y^q^L;ne=E<<1|E>>>31;j=ne+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=te^X^G^N;ae=E<<1|E>>>31;j=ae+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=re^J^H^q;ie=E<<1|E>>>31;j=ie+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ne^$^W^G;se=E<<1|E>>>31;j=se+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ae^Q^Z^H;oe=E<<1|E>>>31;j=oe+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ie^ee^V^W;ue=E<<1|E>>>31;j=ue+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=se^te^Y^Z;ce=E<<1|E>>>31;j=ce+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=oe^re^X^V;fe=E<<1|E>>>31;j=fe+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ue^ne^J^Y;de=E<<1|E>>>31;j=de+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ce^ae^$^X;le=E<<1|E>>>31;j=le+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=fe^ie^Q^J;he=E<<1|E>>>31;j=he+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=de^se^ee^$;pe=E<<1|E>>>31;j=pe+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=le^oe^te^Q;be=E<<1|E>>>31;j=be+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=he^ue^re^ee;ye=E<<1|E>>>31;j=ye+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=pe^ce^ne^te;me=E<<1|E>>>31;j=me+(w<<5|w>>>27)+S+(k&x|k&A|x&A)-0x70e44324|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=be^fe^ae^re;ve=E<<1|E>>>31;j=ve+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ye^de^ie^ne;ge=E<<1|E>>>31;j=ge+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=me^le^se^ae;_e=E<<1|E>>>31;j=_e+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ve^he^oe^ie;we=E<<1|E>>>31;j=we+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ge^pe^ue^se;ke=E<<1|E>>>31;j=ke+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=_e^be^ce^oe;xe=E<<1|E>>>31;j=xe+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=we^ye^fe^ue;Ae=E<<1|E>>>31;j=Ae+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=ke^me^de^ce;Se=E<<1|E>>>31;j=Se+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=xe^ve^le^fe;Ee=E<<1|E>>>31;j=Ee+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Ae^ge^he^de;je=E<<1|E>>>31;j=je+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Se^_e^pe^le;Me=E<<1|E>>>31;j=Me+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Ee^we^be^he;Pe=E<<1|E>>>31;j=Pe+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=je^ke^ye^pe;Ce=E<<1|E>>>31;j=Ce+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Me^xe^me^be;Te=E<<1|E>>>31;j=Te+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Pe^Ae^ve^ye;Re=E<<1|E>>>31;j=Re+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Ce^Se^ge^me;Be=E<<1|E>>>31;j=Be+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Te^Ee^_e^ve;Ke=E<<1|E>>>31;j=Ke+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Re^je^we^ge;Ue=E<<1|E>>>31;j=Ue+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Be^Me^ke^_e;Ie=E<<1|E>>>31;j=Ie+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;E=Ke^Pe^xe^we;Oe=E<<1|E>>>31;j=Oe+(w<<5|w>>>27)+S+(k^x^A)-0x359d3e2a|0;S=A;A=x;x=k<<30|k>>>2;k=w;w=j;n=n+w|0;a=a+k|0;i=i+x|0;s=s+A|0;o=o+S|0}function k(e){e=e|0;w(_[e|0]<<24|_[e|1]<<16|_[e|2]<<8|_[e|3],_[e|4]<<24|_[e|5]<<16|_[e|6]<<8|_[e|7],_[e|8]<<24|_[e|9]<<16|_[e|10]<<8|_[e|11],_[e|12]<<24|_[e|13]<<16|_[e|14]<<8|_[e|15],_[e|16]<<24|_[e|17]<<16|_[e|18]<<8|_[e|19],_[e|20]<<24|_[e|21]<<16|_[e|22]<<8|_[e|23],_[e|24]<<24|_[e|25]<<16|_[e|26]<<8|_[e|27],_[e|28]<<24|_[e|29]<<16|_[e|30]<<8|_[e|31],_[e|32]<<24|_[e|33]<<16|_[e|34]<<8|_[e|35],_[e|36]<<24|_[e|37]<<16|_[e|38]<<8|_[e|39],_[e|40]<<24|_[e|41]<<16|_[e|42]<<8|_[e|43],_[e|44]<<24|_[e|45]<<16|_[e|46]<<8|_[e|47],_[e|48]<<24|_[e|49]<<16|_[e|50]<<8|_[e|51],_[e|52]<<24|_[e|53]<<16|_[e|54]<<8|_[e|55],_[e|56]<<24|_[e|57]<<16|_[e|58]<<8|_[e|59],_[e|60]<<24|_[e|61]<<16|_[e|62]<<8|_[e|63])}function x(e){e=e|0;_[e|0]=n>>>24;_[e|1]=n>>>16&255;_[e|2]=n>>>8&255;_[e|3]=n&255;_[e|4]=a>>>24;_[e|5]=a>>>16&255;_[e|6]=a>>>8&255;_[e|7]=a&255;_[e|8]=i>>>24;_[e|9]=i>>>16&255;_[e|10]=i>>>8&255;_[e|11]=i&255;_[e|12]=s>>>24;_[e|13]=s>>>16&255;_[e|14]=s>>>8&255;_[e|15]=s&255;_[e|16]=o>>>24;_[e|17]=o>>>16&255;_[e|18]=o>>>8&255;_[e|19]=o&255}function A(){n=0x67452301;a=0xefcdab89;i=0x98badcfe;s=0x10325476;o=0xc3d2e1f0;u=c=0}function S(e,t,r,f,d,l,h){e=e|0;t=t|0;r=r|0;f=f|0;d=d|0;l=l|0;h=h|0;n=e;a=t;i=r;s=f;o=d;u=l;c=h}function E(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){k(e);e=e+64|0;t=t-64|0;r=r+64|0}u=u+r|0;if(u>>>0>>0)c=c+1|0;return r|0}function j(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,a=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=E(e,t)|0;if((n|0)==-1)return-1;e=e+n|0;t=t-n|0}n=n+t|0;u=u+t|0;if(u>>>0>>0)c=c+1|0;_[e|t]=0x80;if((t|0)>=56){for(a=t+1|0;(a|0)<64;a=a+1|0){_[e|a]=0x00}k(e);t=0;_[e|0]=0}for(a=t+1|0;(a|0)<59;a=a+1|0){_[e|a]=0}_[e|56]=c>>>21&255;_[e|57]=c>>>13&255;_[e|58]=c>>>5&255;_[e|59]=c<<3&255|u>>>29;_[e|60]=u>>>21&255;_[e|61]=u>>>13&255;_[e|62]=u>>>5&255;_[e|63]=u<<3&255;k(e);if(~r)x(r);return n|0}function M(){n=f;a=d;i=l;s=h;o=p;u=64;c=0}function P(){n=b;a=y;i=m;s=v;o=g;u=64;c=0}function C(e,t,r,_,k,x,S,E,j,M,P,C,T,R,B,K){e=e|0;t=t|0;r=r|0;_=_|0;k=k|0;x=x|0;S=S|0;E=E|0;j=j|0;M=M|0;P=P|0;C=C|0;T=T|0;R=R|0;B=B|0;K=K|0;A();w(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,_^0x5c5c5c5c,k^0x5c5c5c5c,x^0x5c5c5c5c,S^0x5c5c5c5c,E^0x5c5c5c5c,j^0x5c5c5c5c,M^0x5c5c5c5c,P^0x5c5c5c5c,C^0x5c5c5c5c,T^0x5c5c5c5c,R^0x5c5c5c5c,B^0x5c5c5c5c,K^0x5c5c5c5c);b=n;y=a;m=i;v=s;g=o;A();w(e^0x36363636,t^0x36363636,r^0x36363636,_^0x36363636,k^0x36363636,x^0x36363636,S^0x36363636,E^0x36363636,j^0x36363636,M^0x36363636,P^0x36363636,C^0x36363636,T^0x36363636,R^0x36363636,B^0x36363636,K^0x36363636);f=n;d=a;l=i;h=s;p=o;u=64;c=0}function T(e,t,r){e=e|0;t=t|0;r=r|0;var u=0,c=0,f=0,d=0,l=0,h=0;if(e&63)return-1;if(~r)if(r&31)return-1;h=j(e,t,-1)|0;u=n,c=a,f=i,d=s,l=o;P();w(u,c,f,d,l,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~r)x(r);return h|0}function R(e,t,r,u,c){e=e|0;t=t|0;r=r|0;u=u|0;c=c|0;var f=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0;if(e&63)return-1;if(~c)if(c&31)return-1;_[e+t|0]=r>>>24;_[e+t+1|0]=r>>>16&255;_[e+t+2|0]=r>>>8&255;_[e+t+3|0]=r&255;T(e,t+4|0,-1)|0;f=b=n,d=y=a,l=m=i,h=v=s,p=g=o;u=u-1|0;while((u|0)>0){M();w(b,y,m,v,g,0x80000000,0,0,0,0,0,0,0,0,0,672);b=n,y=a,m=i,v=s,g=o;P();w(b,y,m,v,g,0x80000000,0,0,0,0,0,0,0,0,0,672);b=n,y=a,m=i,v=s,g=o;f=f^n;d=d^a;l=l^i;h=h^s;p=p^o;u=u-1|0}n=f;a=d;i=l;s=h;o=p;if(~c)x(c);return 0}return{reset:A,init:S,process:E,finish:j,hmac_reset:M,hmac_init:C,hmac_finish:T,pbkdf2_generate_block:R}}},{}],12:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Sha1=r._sha1_hash_size=r._sha1_block_size=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./sha1.asm"),s=e("../hash");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=r._sha1_block_size=64,d=r._sha1_hash_size=20,l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.NAME="sha1",t.BLOCK_SIZE=f,t.HASH_SIZE=d,t}return c(t,e),t.bytes=function(e){return(new t).process(e).finish().result},t.NAME="sha1",t.heap_pool=[],t.asm_pool=[],t.asm_function=i.sha1_asm,t}(s.Hash);r.Sha1=l},{"../hash":10,"./sha1.asm":11,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/set-prototype-of":30}],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,a=0,i=0,s=0,o=0,u=0,c=0,f=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0,_=0,w=0,k=0,x=0,A=0,S=0,E=0,j=0,M=0,P=new e.Uint8Array(r);function C(e,t,r,d,l,h,p,b,y,m,v,g,_,w,k,x){e=e|0;t=t|0;r=r|0;d=d|0;l=l|0;h=h|0;p=p|0;b=b|0;y=y|0;m=m|0;v=v|0;g=g|0;_=_|0;w=w|0;k=k|0;x=x|0;var A=0,S=0,E=0,j=0,M=0,P=0,C=0,T=0;A=n;S=a;E=i;j=s;M=o;P=u;C=c;T=f;T=e+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(P^C))+0x428a2f98|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;C=t+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(P^j&(M^P))+0x71374491|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;P=r+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(j^M))+0xb5c0fbcf|0;S=S+P|0;P=P+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;M=d+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xe9b5dba5|0;A=A+M|0;M=M+(P&C^T&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x3956c25b|0;T=T+j|0;j=j+(M&P^C&(M^P))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;E=h+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x59f111f1|0;C=C+E|0;E=E+(j&M^P&(j^M))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x923f82a4|0;P=P+S|0;S=S+(E&j^M&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=b+A+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(T^P&(C^T))+0xab1c5ed5|0;M=M+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;T=y+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(P^C))+0xd807aa98|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;C=m+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(P^j&(M^P))+0x12835b01|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;P=v+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(j^M))+0x243185be|0;S=S+P|0;P=P+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;M=g+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x550c7dc3|0;A=A+M|0;M=M+(P&C^T&(P^C))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x72be5d74|0;T=T+j|0;j=j+(M&P^C&(M^P))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;E=w+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x80deb1fe|0;C=C+E|0;E=E+(j&M^P&(j^M))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x9bdc06a7|0;P=P+S|0;S=S+(E&j^M&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=x+A+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(T^P&(C^T))+0xc19bf174|0;M=M+A|0;A=A+(S&E^j&(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;T=e+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(P^C))+0xe49b69c1|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+t+v|0;C=t+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(P^j&(M^P))+0xefbe4786|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;P=r+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(j^M))+0x0fc19dc6|0;S=S+P|0;P=P+(C&T^A&(C^T))+(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;M=d+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x240ca1cc|0;A=A+M|0;M=M+(P&C^T&(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;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x2de92c6f|0;T=T+j|0;j=j+(M&P^C&(M^P))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x4a7484aa|0;C=C+E|0;E=E+(j&M^P&(j^M))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;p=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+x|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x5cb0a9dc|0;P=P+S|0;S=S+(E&j^M&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+b+e|0;A=b+A+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(T^P&(C^T))+0x76f988da|0;M=M+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;y=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;T=y+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(P^C))+0x983e5152|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;m=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+r|0;C=m+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(P^j&(M^P))+0xa831c66d|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;v=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+v+d|0;P=v+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(j^M))+0xb00327c8|0;S=S+P|0;P=P+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;g=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+g+l|0;M=g+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xbf597fc7|0;A=A+M|0;M=M+(P&C^T&(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)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+h|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0xc6e00bf3|0;T=T+j|0;j=j+(M&P^C&(M^P))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+p|0;E=w+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0xd5a79147|0;C=C+E|0;E=E+(j&M^P&(j^M))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;k=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+b|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x06ca6351|0;P=P+S|0;S=S+(E&j^M&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+x+y|0;A=x+A+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(T^P&(C^T))+0x14292967|0;M=M+A|0;A=A+(S&E^j&(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;T=e+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(P^C))+0x27b70a85|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+t+v|0;C=t+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(P^j&(M^P))+0x2e1b2138|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;P=r+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(j^M))+0x4d2c6dfc|0;S=S+P|0;P=P+(C&T^A&(C^T))+(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;M=d+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x53380d13|0;A=A+M|0;M=M+(P&C^T&(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;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x650a7354|0;T=T+j|0;j=j+(M&P^C&(M^P))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x766a0abb|0;C=C+E|0;E=E+(j&M^P&(j^M))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;p=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+x|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x81c2c92e|0;P=P+S|0;S=S+(E&j^M&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+b+e|0;A=b+A+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(T^P&(C^T))+0x92722c85|0;M=M+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;y=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;T=y+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(P^C))+0xa2bfe8a1|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;m=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+r|0;C=m+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(P^j&(M^P))+0xa81a664b|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;v=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+v+d|0;P=v+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(j^M))+0xc24b8b70|0;S=S+P|0;P=P+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;g=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+g+l|0;M=g+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xc76c51a3|0;A=A+M|0;M=M+(P&C^T&(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)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+h|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0xd192e819|0;T=T+j|0;j=j+(M&P^C&(M^P))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+p|0;E=w+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0xd6990624|0;C=C+E|0;E=E+(j&M^P&(j^M))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;k=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+b|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0xf40e3585|0;P=P+S|0;S=S+(E&j^M&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+x+y|0;A=x+A+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(T^P&(C^T))+0x106aa070|0;M=M+A|0;A=A+(S&E^j&(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;T=e+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(P^C))+0x19a4c116|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;t=(r>>>7^r>>>18^r>>>3^r<<25^r<<14)+(x>>>17^x>>>19^x>>>10^x<<15^x<<13)+t+v|0;C=t+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(P^j&(M^P))+0x1e376c08|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;P=r+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(j^M))+0x2748774c|0;S=S+P|0;P=P+(C&T^A&(C^T))+(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;M=d+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x34b0bcb5|0;A=A+M|0;M=M+(P&C^T&(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;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x391c0cb3|0;T=T+j|0;j=j+(M&P^C&(M^P))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0x4ed8aa4a|0;C=C+E|0;E=E+(j&M^P&(j^M))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;p=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+p+x|0;S=p+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0x5b9cca4f|0;P=P+S|0;S=S+(E&j^M&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;b=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(h>>>17^h>>>19^h>>>10^h<<15^h<<13)+b+e|0;A=b+A+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(T^P&(C^T))+0x682e6ff3|0;M=M+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;y=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+y+t|0;T=y+T+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(C^M&(P^C))+0x748f82ee|0;j=j+T|0;T=T+(A&S^E&(A^S))+(A>>>2^A>>>13^A>>>22^A<<30^A<<19^A<<10)|0;m=(v>>>7^v>>>18^v>>>3^v<<25^v<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+m+r|0;C=m+C+(j>>>6^j>>>11^j>>>25^j<<26^j<<21^j<<7)+(P^j&(M^P))+0x78a5636f|0;E=E+C|0;C=C+(T&A^S&(T^A))+(T>>>2^T>>>13^T>>>22^T<<30^T<<19^T<<10)|0;v=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+v+d|0;P=v+P+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(M^E&(j^M))+0x84c87814|0;S=S+P|0;P=P+(C&T^A&(C^T))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;g=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+g+l|0;M=g+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x8cc70208|0;A=A+M|0;M=M+(P&C^T&(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)+(v>>>17^v>>>19^v>>>10^v<<15^v<<13)+_+h|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x90befffa|0;T=T+j|0;j=j+(M&P^C&(M^P))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;w=(k>>>7^k>>>18^k>>>3^k<<25^k<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+w+p|0;E=w+E+(T>>>6^T>>>11^T>>>25^T<<26^T<<21^T<<7)+(S^T&(A^S))+0xa4506ceb|0;C=C+E|0;E=E+(j&M^P&(j^M))+(j>>>2^j>>>13^j>>>22^j<<30^j<<19^j<<10)|0;k=(x>>>7^x>>>18^x>>>3^x<<25^x<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+k+b|0;S=k+S+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(A^C&(T^A))+0xbef9a3f7|0;P=P+S|0;S=S+(E&j^M&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;x=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+x+y|0;A=x+A+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(T^P&(C^T))+0xc67178f2|0;M=M+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;n=n+A|0;a=a+S|0;i=i+E|0;s=s+j|0;o=o+M|0;u=u+P|0;c=c+C|0;f=f+T|0}function T(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 R(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]=a>>>24;P[e|5]=a>>>16&255;P[e|6]=a>>>8&255;P[e|7]=a&255;P[e|8]=i>>>24;P[e|9]=i>>>16&255;P[e|10]=i>>>8&255;P[e|11]=i&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]=c>>>24;P[e|25]=c>>>16&255;P[e|26]=c>>>8&255;P[e|27]=c&255;P[e|28]=f>>>24;P[e|29]=f>>>16&255;P[e|30]=f>>>8&255;P[e|31]=f&255}function B(){n=0x6a09e667;a=0xbb67ae85;i=0x3c6ef372;s=0xa54ff53a;o=0x510e527f;u=0x9b05688c;c=0x1f83d9ab;f=0x5be0cd19;d=l=0}function K(e,t,r,h,p,b,y,m,v,g){e=e|0;t=t|0;r=r|0;h=h|0;p=p|0;b=b|0;y=y|0;m=m|0;v=v|0;g=g|0;n=e;a=t;i=r;s=h;o=p;u=b;c=y;f=m;d=v;l=g}function U(e,t){e=e|0;t=t|0;var r=0;if(e&63)return-1;while((t|0)>=64){T(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 I(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,a=0;if(e&63)return-1;if(~r)if(r&31)return-1;if((t|0)>=64){n=U(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(a=t+1|0;(a|0)<64;a=a+1|0){P[e|a]=0x00}T(e);t=0;P[e|0]=0}for(a=t+1|0;(a|0)<59;a=a+1|0){P[e|a]=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;T(e);if(~r)R(r);return n|0}function O(){n=h;a=p;i=b;s=y;o=m;u=v;c=g;f=_;d=64;l=0}function z(){n=w;a=k;i=x;s=A;o=S;u=E;c=j;f=M;d=64;l=0}function D(e,t,r,P,T,R,K,U,I,O,z,D,F,L,N,q){e=e|0;t=t|0;r=r|0;P=P|0;T=T|0;R=R|0;K=K|0;U=U|0;I=I|0;O=O|0;z=z|0;D=D|0;F=F|0;L=L|0;N=N|0;q=q|0;B();C(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,P^0x5c5c5c5c,T^0x5c5c5c5c,R^0x5c5c5c5c,K^0x5c5c5c5c,U^0x5c5c5c5c,I^0x5c5c5c5c,O^0x5c5c5c5c,z^0x5c5c5c5c,D^0x5c5c5c5c,F^0x5c5c5c5c,L^0x5c5c5c5c,N^0x5c5c5c5c,q^0x5c5c5c5c);w=n;k=a;x=i;A=s;S=o;E=u;j=c;M=f;B();C(e^0x36363636,t^0x36363636,r^0x36363636,P^0x36363636,T^0x36363636,R^0x36363636,K^0x36363636,U^0x36363636,I^0x36363636,O^0x36363636,z^0x36363636,D^0x36363636,F^0x36363636,L^0x36363636,N^0x36363636,q^0x36363636);h=n;p=a;b=i;y=s;m=o;v=u;g=c;_=f;d=64;l=0}function F(e,t,r){e=e|0;t=t|0;r=r|0;var d=0,l=0,h=0,p=0,b=0,y=0,m=0,v=0,g=0;if(e&63)return-1;if(~r)if(r&31)return-1;g=I(e,t,-1)|0;d=n,l=a,h=i,p=s,b=o,y=u,m=c,v=f;z();C(d,l,h,p,b,y,m,v,0x80000000,0,0,0,0,0,0,768);if(~r)R(r);return g|0}function L(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,b=0,y=0,m=0,v=0,g=0,_=0,w=0,k=0,x=0,A=0,S=0,E=0,j=0,M=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;F(e,t+4|0,-1)|0;h=w=n,p=k=a,b=x=i,y=A=s,m=S=o,v=E=u,g=j=c,_=M=f;d=d-1|0;while((d|0)>0){O();C(w,k,x,A,S,E,j,M,0x80000000,0,0,0,0,0,0,768);w=n,k=a,x=i,A=s,S=o,E=u,j=c,M=f;z();C(w,k,x,A,S,E,j,M,0x80000000,0,0,0,0,0,0,768);w=n,k=a,x=i,A=s,S=o,E=u,j=c,M=f;h=h^n;p=p^a;b=b^i;y=y^s;m=m^o;v=v^u;g=g^c;_=_^f;d=d-1|0}n=h;a=p;i=b;s=y;o=m;u=v;c=g;f=_;if(~l)R(l);return 0}return{reset:B,init:K,process:U,finish:I,hmac_reset:O,hmac_init:D,hmac_finish:F,pbkdf2_generate_block:L}}},{}],14:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.Sha256=r._sha256_hash_size=r._sha256_block_size=void 0;var n=o(e("babel-runtime/core-js/object/create")),a=o(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./sha256.asm"),s=e("../hash");function o(e){return e&&e.__esModule?e:{default:e}}var u,c=(u=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}u(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),f=r._sha256_block_size=64,d=r._sha256_hash_size=32,l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.NAME="sha256",t.BLOCK_SIZE=f,t.HASH_SIZE=d,t}return c(t,e),t.bytes=function(e){return(new t).process(e).finish().result},t.NAME="sha256",t.heap_pool=[],t.asm_pool=[],t.asm_function=i.sha256_asm,t}(s.Hash);r.Sha256=l},{"../hash":10,"./sha256.asm":13,"babel-runtime/core-js/object/create":24,"babel-runtime/core-js/object/set-prototype-of":30}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.SecurityError=r.IllegalArgumentError=r.IllegalStateError=void 0;var n=i(e("babel-runtime/core-js/object/create")),a=i(e("babel-runtime/core-js/object/set-prototype-of"));function i(e){return e&&e.__esModule?e:{default:e}}var s,o=(s=a.default||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},function(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?(0,n.default)(t):(r.prototype=t.prototype,new r)}),u=function(e){function t(){for(var t=[],r=0;r>1),n=0;n>1]=parseInt(e.substr(n,2),16);return r},r.base64_to_bytes=function(e){return i(n(e))},r.bytes_to_string=s,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){var r=e?e.byteLength:t||65536;if(4095&r||r<=0)throw new Error("heap size must be a positive integer and a multiple of 4096");return e=e||new Uint8Array(new ArrayBuffer(r))},r._heap_write=function(e,t,r,n,a){var i=e.length-t,s=i=r)throw new Error("Malformed string, low surrogate expected at position "+a);s=(55296^s)<<10|65536|56320^e.charCodeAt(a)}else if(!t&&s>>>8)throw new Error("Wide characters are not allowed.");!t||s<=127?n[i++]=s:s<=2047?(n[i++]=192|s>>6,n[i++]=128|63&s):s<=65535?(n[i++]=224|s>>12,n[i++]=128|s>>6&63,n[i++]=128|63&s):(n[i++]=240|s>>18,n[i++]=128|s>>12&63,n[i++]=128|s>>6&63,n[i++]=128|63&s)}return n.subarray(0,i)}function s(e,t){void 0===t&&(t=!1);for(var r=e.length,n=new Array(r),a=0,i=0;a=192&&s<224&&a+1=224&&s<240&&a+2=240&&s<248&&a+3>10,n[i++]=56320|1023&o)}}var u="";for(a=0;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 a=0,i=Math.min(e.length,r),s=t;s=49?o-49+10:o>=17?o-17+10:o}return a}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.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 a=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&a++,16===t?this._parseHex(e,a):this._parseBase(e,t,a),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},i.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)},i.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 a=0;a=0;a-=3)s=e[a]|e[a-1]<<8|e[a-2]<<16,this.words[i]|=s<>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);else if("le"===r)for(a=0,i=0;a>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);return this.strip()},i.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)a=o(e,r,r+6),this.words[n]|=a<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==t&&(a=o(e,t,r+6),this.words[n]|=a<>>26-i&4194303),this.strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=t)n++;n--,a=a/t|0;for(var i=e.length-r,s=i%n,o=Math.min(i,i-s)+r,c=0,f=r;f1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var c=["","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"],f=[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 a=0|e.words[0],i=0|t.words[0],s=a*i,o=67108863&s,u=s/67108864|0;r.words[0]=o;for(var c=1;c>>26,d=67108863&u,l=Math.min(c,t.length-1),h=Math.max(0,c-e.length+1);h<=l;h++){var p=c-h|0;f+=(s=(a=0|e.words[p])*(i=0|t.words[h])+d)/67108864|0,d=67108863&s}r.words[c]=0|d,u=0|f}return 0!==u?r.words[c]=0|u:r.length--,r.strip()}i.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var a=0,i=0,s=0;s>>24-a&16777215)||s!==this.length-1?c[6-u.length]+u+r:u+r,(a+=2)>=26&&(a-=26,s--)}for(0!==i&&(r=i.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=f[e],h=d[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var b=p.modn(h).toString(e);r=(p=p.idivn(h)).isZero()?b+r:c[l-b.length]+b+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")},i.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},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return n(void 0!==s),this.toArrayLike(s,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,"byte array longer than desired length"),n(i>0,"Requested array length <= 0"),this.strip();var s,o,u="le"===t,c=new e(i),f=this.clone();if(u){for(o=0;!f.isZero();o++)s=f.andln(255),f.iushrn(8),c[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},i.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},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.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)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.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)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.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 a=0;a0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,a=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 a=0,i=0;i>>26;for(;0!==a&&i>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;ie.length?this.clone().iadd(e):e.clone().iadd(this)},i.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,a=this.cmp(e);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=e):(r=e,n=this);for(var i=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==i&&s>26,this.words[s]=67108863&t;if(0===i&&s>>13,h=0|s[1],p=8191&h,b=h>>>13,y=0|s[2],m=8191&y,v=y>>>13,g=0|s[3],_=8191&g,w=g>>>13,k=0|s[4],x=8191&k,A=k>>>13,S=0|s[5],E=8191&S,j=S>>>13,M=0|s[6],P=8191&M,C=M>>>13,T=0|s[7],R=8191&T,B=T>>>13,K=0|s[8],U=8191&K,I=K>>>13,O=0|s[9],z=8191&O,D=O>>>13,F=0|o[0],L=8191&F,N=F>>>13,q=0|o[1],G=8191&q,H=q>>>13,W=0|o[2],Z=8191&W,V=W>>>13,Y=0|o[3],X=8191&Y,J=Y>>>13,$=0|o[4],Q=8191&$,ee=$>>>13,te=0|o[5],re=8191&te,ne=te>>>13,ae=0|o[6],ie=8191&ae,se=ae>>>13,oe=0|o[7],ue=8191&oe,ce=oe>>>13,fe=0|o[8],de=8191&fe,le=fe>>>13,he=0|o[9],pe=8191&he,be=he>>>13;r.negative=e.negative^t.negative,r.length=19;var ye=(c+(n=Math.imul(d,L))|0)+((8191&(a=(a=Math.imul(d,N))+Math.imul(l,L)|0))<<13)|0;c=((i=Math.imul(l,N))+(a>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(p,L),a=(a=Math.imul(p,N))+Math.imul(b,L)|0,i=Math.imul(b,N);var me=(c+(n=n+Math.imul(d,G)|0)|0)+((8191&(a=(a=a+Math.imul(d,H)|0)+Math.imul(l,G)|0))<<13)|0;c=((i=i+Math.imul(l,H)|0)+(a>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(m,L),a=(a=Math.imul(m,N))+Math.imul(v,L)|0,i=Math.imul(v,N),n=n+Math.imul(p,G)|0,a=(a=a+Math.imul(p,H)|0)+Math.imul(b,G)|0,i=i+Math.imul(b,H)|0;var ve=(c+(n=n+Math.imul(d,Z)|0)|0)+((8191&(a=(a=a+Math.imul(d,V)|0)+Math.imul(l,Z)|0))<<13)|0;c=((i=i+Math.imul(l,V)|0)+(a>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(_,L),a=(a=Math.imul(_,N))+Math.imul(w,L)|0,i=Math.imul(w,N),n=n+Math.imul(m,G)|0,a=(a=a+Math.imul(m,H)|0)+Math.imul(v,G)|0,i=i+Math.imul(v,H)|0,n=n+Math.imul(p,Z)|0,a=(a=a+Math.imul(p,V)|0)+Math.imul(b,Z)|0,i=i+Math.imul(b,V)|0;var ge=(c+(n=n+Math.imul(d,X)|0)|0)+((8191&(a=(a=a+Math.imul(d,J)|0)+Math.imul(l,X)|0))<<13)|0;c=((i=i+Math.imul(l,J)|0)+(a>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(x,L),a=(a=Math.imul(x,N))+Math.imul(A,L)|0,i=Math.imul(A,N),n=n+Math.imul(_,G)|0,a=(a=a+Math.imul(_,H)|0)+Math.imul(w,G)|0,i=i+Math.imul(w,H)|0,n=n+Math.imul(m,Z)|0,a=(a=a+Math.imul(m,V)|0)+Math.imul(v,Z)|0,i=i+Math.imul(v,V)|0,n=n+Math.imul(p,X)|0,a=(a=a+Math.imul(p,J)|0)+Math.imul(b,X)|0,i=i+Math.imul(b,J)|0;var _e=(c+(n=n+Math.imul(d,Q)|0)|0)+((8191&(a=(a=a+Math.imul(d,ee)|0)+Math.imul(l,Q)|0))<<13)|0;c=((i=i+Math.imul(l,ee)|0)+(a>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(E,L),a=(a=Math.imul(E,N))+Math.imul(j,L)|0,i=Math.imul(j,N),n=n+Math.imul(x,G)|0,a=(a=a+Math.imul(x,H)|0)+Math.imul(A,G)|0,i=i+Math.imul(A,H)|0,n=n+Math.imul(_,Z)|0,a=(a=a+Math.imul(_,V)|0)+Math.imul(w,Z)|0,i=i+Math.imul(w,V)|0,n=n+Math.imul(m,X)|0,a=(a=a+Math.imul(m,J)|0)+Math.imul(v,X)|0,i=i+Math.imul(v,J)|0,n=n+Math.imul(p,Q)|0,a=(a=a+Math.imul(p,ee)|0)+Math.imul(b,Q)|0,i=i+Math.imul(b,ee)|0;var we=(c+(n=n+Math.imul(d,re)|0)|0)+((8191&(a=(a=a+Math.imul(d,ne)|0)+Math.imul(l,re)|0))<<13)|0;c=((i=i+Math.imul(l,ne)|0)+(a>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(P,L),a=(a=Math.imul(P,N))+Math.imul(C,L)|0,i=Math.imul(C,N),n=n+Math.imul(E,G)|0,a=(a=a+Math.imul(E,H)|0)+Math.imul(j,G)|0,i=i+Math.imul(j,H)|0,n=n+Math.imul(x,Z)|0,a=(a=a+Math.imul(x,V)|0)+Math.imul(A,Z)|0,i=i+Math.imul(A,V)|0,n=n+Math.imul(_,X)|0,a=(a=a+Math.imul(_,J)|0)+Math.imul(w,X)|0,i=i+Math.imul(w,J)|0,n=n+Math.imul(m,Q)|0,a=(a=a+Math.imul(m,ee)|0)+Math.imul(v,Q)|0,i=i+Math.imul(v,ee)|0,n=n+Math.imul(p,re)|0,a=(a=a+Math.imul(p,ne)|0)+Math.imul(b,re)|0,i=i+Math.imul(b,ne)|0;var ke=(c+(n=n+Math.imul(d,ie)|0)|0)+((8191&(a=(a=a+Math.imul(d,se)|0)+Math.imul(l,ie)|0))<<13)|0;c=((i=i+Math.imul(l,se)|0)+(a>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(R,L),a=(a=Math.imul(R,N))+Math.imul(B,L)|0,i=Math.imul(B,N),n=n+Math.imul(P,G)|0,a=(a=a+Math.imul(P,H)|0)+Math.imul(C,G)|0,i=i+Math.imul(C,H)|0,n=n+Math.imul(E,Z)|0,a=(a=a+Math.imul(E,V)|0)+Math.imul(j,Z)|0,i=i+Math.imul(j,V)|0,n=n+Math.imul(x,X)|0,a=(a=a+Math.imul(x,J)|0)+Math.imul(A,X)|0,i=i+Math.imul(A,J)|0,n=n+Math.imul(_,Q)|0,a=(a=a+Math.imul(_,ee)|0)+Math.imul(w,Q)|0,i=i+Math.imul(w,ee)|0,n=n+Math.imul(m,re)|0,a=(a=a+Math.imul(m,ne)|0)+Math.imul(v,re)|0,i=i+Math.imul(v,ne)|0,n=n+Math.imul(p,ie)|0,a=(a=a+Math.imul(p,se)|0)+Math.imul(b,ie)|0,i=i+Math.imul(b,se)|0;var xe=(c+(n=n+Math.imul(d,ue)|0)|0)+((8191&(a=(a=a+Math.imul(d,ce)|0)+Math.imul(l,ue)|0))<<13)|0;c=((i=i+Math.imul(l,ce)|0)+(a>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(U,L),a=(a=Math.imul(U,N))+Math.imul(I,L)|0,i=Math.imul(I,N),n=n+Math.imul(R,G)|0,a=(a=a+Math.imul(R,H)|0)+Math.imul(B,G)|0,i=i+Math.imul(B,H)|0,n=n+Math.imul(P,Z)|0,a=(a=a+Math.imul(P,V)|0)+Math.imul(C,Z)|0,i=i+Math.imul(C,V)|0,n=n+Math.imul(E,X)|0,a=(a=a+Math.imul(E,J)|0)+Math.imul(j,X)|0,i=i+Math.imul(j,J)|0,n=n+Math.imul(x,Q)|0,a=(a=a+Math.imul(x,ee)|0)+Math.imul(A,Q)|0,i=i+Math.imul(A,ee)|0,n=n+Math.imul(_,re)|0,a=(a=a+Math.imul(_,ne)|0)+Math.imul(w,re)|0,i=i+Math.imul(w,ne)|0,n=n+Math.imul(m,ie)|0,a=(a=a+Math.imul(m,se)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,se)|0,n=n+Math.imul(p,ue)|0,a=(a=a+Math.imul(p,ce)|0)+Math.imul(b,ue)|0,i=i+Math.imul(b,ce)|0;var Ae=(c+(n=n+Math.imul(d,de)|0)|0)+((8191&(a=(a=a+Math.imul(d,le)|0)+Math.imul(l,de)|0))<<13)|0;c=((i=i+Math.imul(l,le)|0)+(a>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(z,L),a=(a=Math.imul(z,N))+Math.imul(D,L)|0,i=Math.imul(D,N),n=n+Math.imul(U,G)|0,a=(a=a+Math.imul(U,H)|0)+Math.imul(I,G)|0,i=i+Math.imul(I,H)|0,n=n+Math.imul(R,Z)|0,a=(a=a+Math.imul(R,V)|0)+Math.imul(B,Z)|0,i=i+Math.imul(B,V)|0,n=n+Math.imul(P,X)|0,a=(a=a+Math.imul(P,J)|0)+Math.imul(C,X)|0,i=i+Math.imul(C,J)|0,n=n+Math.imul(E,Q)|0,a=(a=a+Math.imul(E,ee)|0)+Math.imul(j,Q)|0,i=i+Math.imul(j,ee)|0,n=n+Math.imul(x,re)|0,a=(a=a+Math.imul(x,ne)|0)+Math.imul(A,re)|0,i=i+Math.imul(A,ne)|0,n=n+Math.imul(_,ie)|0,a=(a=a+Math.imul(_,se)|0)+Math.imul(w,ie)|0,i=i+Math.imul(w,se)|0,n=n+Math.imul(m,ue)|0,a=(a=a+Math.imul(m,ce)|0)+Math.imul(v,ue)|0,i=i+Math.imul(v,ce)|0,n=n+Math.imul(p,de)|0,a=(a=a+Math.imul(p,le)|0)+Math.imul(b,de)|0,i=i+Math.imul(b,le)|0;var Se=(c+(n=n+Math.imul(d,pe)|0)|0)+((8191&(a=(a=a+Math.imul(d,be)|0)+Math.imul(l,pe)|0))<<13)|0;c=((i=i+Math.imul(l,be)|0)+(a>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(z,G),a=(a=Math.imul(z,H))+Math.imul(D,G)|0,i=Math.imul(D,H),n=n+Math.imul(U,Z)|0,a=(a=a+Math.imul(U,V)|0)+Math.imul(I,Z)|0,i=i+Math.imul(I,V)|0,n=n+Math.imul(R,X)|0,a=(a=a+Math.imul(R,J)|0)+Math.imul(B,X)|0,i=i+Math.imul(B,J)|0,n=n+Math.imul(P,Q)|0,a=(a=a+Math.imul(P,ee)|0)+Math.imul(C,Q)|0,i=i+Math.imul(C,ee)|0,n=n+Math.imul(E,re)|0,a=(a=a+Math.imul(E,ne)|0)+Math.imul(j,re)|0,i=i+Math.imul(j,ne)|0,n=n+Math.imul(x,ie)|0,a=(a=a+Math.imul(x,se)|0)+Math.imul(A,ie)|0,i=i+Math.imul(A,se)|0,n=n+Math.imul(_,ue)|0,a=(a=a+Math.imul(_,ce)|0)+Math.imul(w,ue)|0,i=i+Math.imul(w,ce)|0,n=n+Math.imul(m,de)|0,a=(a=a+Math.imul(m,le)|0)+Math.imul(v,de)|0,i=i+Math.imul(v,le)|0;var Ee=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(a=(a=a+Math.imul(p,be)|0)+Math.imul(b,pe)|0))<<13)|0;c=((i=i+Math.imul(b,be)|0)+(a>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(z,Z),a=(a=Math.imul(z,V))+Math.imul(D,Z)|0,i=Math.imul(D,V),n=n+Math.imul(U,X)|0,a=(a=a+Math.imul(U,J)|0)+Math.imul(I,X)|0,i=i+Math.imul(I,J)|0,n=n+Math.imul(R,Q)|0,a=(a=a+Math.imul(R,ee)|0)+Math.imul(B,Q)|0,i=i+Math.imul(B,ee)|0,n=n+Math.imul(P,re)|0,a=(a=a+Math.imul(P,ne)|0)+Math.imul(C,re)|0,i=i+Math.imul(C,ne)|0,n=n+Math.imul(E,ie)|0,a=(a=a+Math.imul(E,se)|0)+Math.imul(j,ie)|0,i=i+Math.imul(j,se)|0,n=n+Math.imul(x,ue)|0,a=(a=a+Math.imul(x,ce)|0)+Math.imul(A,ue)|0,i=i+Math.imul(A,ce)|0,n=n+Math.imul(_,de)|0,a=(a=a+Math.imul(_,le)|0)+Math.imul(w,de)|0,i=i+Math.imul(w,le)|0;var je=(c+(n=n+Math.imul(m,pe)|0)|0)+((8191&(a=(a=a+Math.imul(m,be)|0)+Math.imul(v,pe)|0))<<13)|0;c=((i=i+Math.imul(v,be)|0)+(a>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(z,X),a=(a=Math.imul(z,J))+Math.imul(D,X)|0,i=Math.imul(D,J),n=n+Math.imul(U,Q)|0,a=(a=a+Math.imul(U,ee)|0)+Math.imul(I,Q)|0,i=i+Math.imul(I,ee)|0,n=n+Math.imul(R,re)|0,a=(a=a+Math.imul(R,ne)|0)+Math.imul(B,re)|0,i=i+Math.imul(B,ne)|0,n=n+Math.imul(P,ie)|0,a=(a=a+Math.imul(P,se)|0)+Math.imul(C,ie)|0,i=i+Math.imul(C,se)|0,n=n+Math.imul(E,ue)|0,a=(a=a+Math.imul(E,ce)|0)+Math.imul(j,ue)|0,i=i+Math.imul(j,ce)|0,n=n+Math.imul(x,de)|0,a=(a=a+Math.imul(x,le)|0)+Math.imul(A,de)|0,i=i+Math.imul(A,le)|0;var Me=(c+(n=n+Math.imul(_,pe)|0)|0)+((8191&(a=(a=a+Math.imul(_,be)|0)+Math.imul(w,pe)|0))<<13)|0;c=((i=i+Math.imul(w,be)|0)+(a>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(z,Q),a=(a=Math.imul(z,ee))+Math.imul(D,Q)|0,i=Math.imul(D,ee),n=n+Math.imul(U,re)|0,a=(a=a+Math.imul(U,ne)|0)+Math.imul(I,re)|0,i=i+Math.imul(I,ne)|0,n=n+Math.imul(R,ie)|0,a=(a=a+Math.imul(R,se)|0)+Math.imul(B,ie)|0,i=i+Math.imul(B,se)|0,n=n+Math.imul(P,ue)|0,a=(a=a+Math.imul(P,ce)|0)+Math.imul(C,ue)|0,i=i+Math.imul(C,ce)|0,n=n+Math.imul(E,de)|0,a=(a=a+Math.imul(E,le)|0)+Math.imul(j,de)|0,i=i+Math.imul(j,le)|0;var Pe=(c+(n=n+Math.imul(x,pe)|0)|0)+((8191&(a=(a=a+Math.imul(x,be)|0)+Math.imul(A,pe)|0))<<13)|0;c=((i=i+Math.imul(A,be)|0)+(a>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(z,re),a=(a=Math.imul(z,ne))+Math.imul(D,re)|0,i=Math.imul(D,ne),n=n+Math.imul(U,ie)|0,a=(a=a+Math.imul(U,se)|0)+Math.imul(I,ie)|0,i=i+Math.imul(I,se)|0,n=n+Math.imul(R,ue)|0,a=(a=a+Math.imul(R,ce)|0)+Math.imul(B,ue)|0,i=i+Math.imul(B,ce)|0,n=n+Math.imul(P,de)|0,a=(a=a+Math.imul(P,le)|0)+Math.imul(C,de)|0,i=i+Math.imul(C,le)|0;var Ce=(c+(n=n+Math.imul(E,pe)|0)|0)+((8191&(a=(a=a+Math.imul(E,be)|0)+Math.imul(j,pe)|0))<<13)|0;c=((i=i+Math.imul(j,be)|0)+(a>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(z,ie),a=(a=Math.imul(z,se))+Math.imul(D,ie)|0,i=Math.imul(D,se),n=n+Math.imul(U,ue)|0,a=(a=a+Math.imul(U,ce)|0)+Math.imul(I,ue)|0,i=i+Math.imul(I,ce)|0,n=n+Math.imul(R,de)|0,a=(a=a+Math.imul(R,le)|0)+Math.imul(B,de)|0,i=i+Math.imul(B,le)|0;var Te=(c+(n=n+Math.imul(P,pe)|0)|0)+((8191&(a=(a=a+Math.imul(P,be)|0)+Math.imul(C,pe)|0))<<13)|0;c=((i=i+Math.imul(C,be)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(z,ue),a=(a=Math.imul(z,ce))+Math.imul(D,ue)|0,i=Math.imul(D,ce),n=n+Math.imul(U,de)|0,a=(a=a+Math.imul(U,le)|0)+Math.imul(I,de)|0,i=i+Math.imul(I,le)|0;var Re=(c+(n=n+Math.imul(R,pe)|0)|0)+((8191&(a=(a=a+Math.imul(R,be)|0)+Math.imul(B,pe)|0))<<13)|0;c=((i=i+Math.imul(B,be)|0)+(a>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(z,de),a=(a=Math.imul(z,le))+Math.imul(D,de)|0,i=Math.imul(D,le);var Be=(c+(n=n+Math.imul(U,pe)|0)|0)+((8191&(a=(a=a+Math.imul(U,be)|0)+Math.imul(I,pe)|0))<<13)|0;c=((i=i+Math.imul(I,be)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=67108863;var Ke=(c+(n=Math.imul(z,pe))|0)+((8191&(a=(a=Math.imul(z,be))+Math.imul(D,pe)|0))<<13)|0;return c=((i=Math.imul(D,be))+(a>>>13)|0)+(Ke>>>26)|0,Ke&=67108863,u[0]=ye,u[1]=me,u[2]=ve,u[3]=ge,u[4]=_e,u[5]=we,u[6]=ke,u[7]=xe,u[8]=Ae,u[9]=Se,u[10]=Ee,u[11]=je,u[12]=Me,u[13]=Pe,u[14]=Ce,u[15]=Te,u[16]=Re,u[17]=Be,u[18]=Ke,0!==c&&(u[19]=c,r.length++),r};function p(e,t,r){return(new b).mulp(e,t,r)}function b(e,t){this.x=e,this.y=t}Math.imul||(h=l),i.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,a=0,i=0;i>>26)|0)>>>26,s&=67108863}r.words[i]=o,n=s,s=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},b.prototype.makeRBT=function(e){for(var t=new Array(e),r=i.prototype._countBits(e)-1,n=0;n>=1;return n},b.prototype.permute=function(e,t,r,n,a,i){for(var s=0;s>>=1)a++;return 1<>>=13,r[2*s+1]=8191&i,i>>>=13;for(s=2*t;s>=26,t+=a/67108864|0,t+=i>>>26,this.words[r]=67108863&i}return 0!==t&&(this.words[r]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>a}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n=0);var t,r=e%26,a=(e-r)/26,i=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!==a){for(t=this.length-1;t>=0;t--)this.words[t+a]=this.words[t];for(t=0;t=0),a=t?(t-t%26)/26:0;var i=e%26,s=Math.min((e-i)/26,this.length),o=67108863^67108863>>>i<s)for(this.length-=s,c=0;c=0&&(0!==f||c>=a);c--){var d=0|this.words[c];this.words[c]=f<<26-i|d>>>i,f=d&o}return u&&0!==f&&(u.words[u.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,a=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 a=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},i.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[a+r]=67108863&i}for(;a>26,this.words[a+r]=67108863&i;if(0===o)return this.strip();for(n(-1===o),o=0,a=0;a>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),a=e,s=0|a.words[a.length-1];0!==(r=26-this._countBits(s))&&(a=a.ushln(r),n.iushln(r),s=0|a.words[a.length-1]);var o,u=n.length-a.length;if("mod"!==t){(o=new i(null)).length=u+1,o.words=new Array(o.length);for(var c=0;c=0;d--){var l=67108864*(0|n.words[a.length+d])+(0|n.words[a.length+d-1]);for(l=Math.min(l/s|0,67108863),n._ishlnsubmul(a,l,d);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(a,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}},i.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(a=o.div.neg()),"div"!==t&&(s=o.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:a,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(a=o.div.neg()),{div:a,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 i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var a,s,o},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.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),a=e.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,a=this.length-1;a>=0;a--)r=(t*r+(0|this.words[a]))%e;return r},i.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*t;this.words[r]=a/e|0,t=a%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.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 a=new i(1),s=new i(0),o=new i(0),u=new i(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var f=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;)(a.isOdd()||s.isOdd())&&(a.iadd(f),s.isub(d)),a.iushrn(1),s.iushrn(1);for(var p=0,b=1;0==(r.words[0]&b)&&p<26;++p,b<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(o.isOdd()||u.isOdd())&&(o.iadd(f),u.isub(d)),o.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(o),s.isub(u)):(r.isub(t),o.isub(a),u.isub(s))}return{a:o,b:u,gcd:r.iushln(c)}},i.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 a,s=new i(1),o=new i(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,f=1;0==(t.words[0]&f)&&c<26;++c,f<<=1);if(c>0)for(t.iushrn(c);c-- >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(a=0===t.cmpn(1)?s:o).cmpn(0)<0&&a.iadd(e),a},i.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 a=t.cmp(r);if(a<0){var i=t;t=r,r=i}else if(0===a||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,a=1<>>26,o&=67108863,this.words[s]=o}return 0!==i&&(this.words[s]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.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 a=0|this.words[0];t=a===e?0:ae.length)return 1;if(this.length=0;r--){var n=0|this.words[r],a=0|e.words[r];if(n!==a){na&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new k(e)},i.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)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var y={k256:null,p224:null,p192:null,p25519:null};function m(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function g(){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=i._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 x(e){k.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(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 i(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)},a(v,m),v.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,a=i}a>>>=22,e.words[n-10]=a,0===a&&e.length>10?e.length-=10:e.length-=9},v.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]=a,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(y[e])return y[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new g;else if("p192"===e)t=new _;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return y[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 i(1)).iushrn(2);return this.pow(e,r)}for(var a=this.m.subn(1),s=0;!a.isZero()&&0===a.andln(1);)s++,a.iushrn(1);n(!a.isZero());var o=new i(1).toRed(this),u=o.redNeg(),c=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new i(2*f*f).toRed(this);0!==this.pow(f,c).cmp(u);)f.redIAdd(u);for(var d=this.pow(f,a),l=this.pow(e,a.addn(1).iushrn(1)),h=this.pow(e,a),p=s;0!==h.cmp(o);){for(var b=h,y=0;0!==b.cmp(o);y++)b=b.redSqr();n(y=0;n--){for(var c=t.words[n],f=u-1;f>=0;f--){var d=c>>f&1;a!==r[0]&&(a=this.sqr(a)),0!==d||0!==s?(s<<=1,s|=d,(4===++o||0===n&&0===f)&&(a=this.mul(a,r[s]),o=0,s=0)):o=0}u=26}return a},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},i.mont=function(e){return new x(e)},a(x,k),x.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},x.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},x.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},x.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),s=a;return a.cmp(this.m)>=0?s=a.isub(this.m):a.cmpn(0)<0&&(s=a.iadd(this.m)),s._forceRed(this)},x.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:"buffer"}],46:[function(e,t,r){var n;function a(e){this.rand=e}if(t.exports=function(e){return n||(n=new a(null)),n.generate(e)},t.exports.Rand=a,a.prototype.generate=function(e){return this._rand(e)},a.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;rf;)if((o=u[f++])!=o)return!0}else for(;c>f;f++)if((e||f in u)&&u[f]===r)return e||f||0;return!e&&-1}}},{"./_to-absolute-index":149,"./_to-iobject":151,"./_to-length":152}],80:[function(e,t,r){var n=e("./_ctx"),a=e("./_iobject"),i=e("./_to-object"),s=e("./_to-length"),o=e("./_array-species-create");t.exports=function(e,t){var r=1==e,u=2==e,c=3==e,f=4==e,d=6==e,l=5==e||d,h=t||o;return function(t,o,p){for(var b,y,m=i(t),v=a(m),g=n(o,p,3),_=s(v.length),w=0,k=r?h(t,_):u?h(t,0):void 0;_>w;w++)if((l||w in v)&&(y=g(b=v[w],w,m),e))if(r)k[w]=y;else if(y)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:k.push(b)}else if(f)return!1;return d?-1:c||f?f:k}}},{"./_array-species-create":82,"./_ctx":89,"./_iobject":104,"./_to-length":152,"./_to-object":153}],81:[function(e,t,r){var n=e("./_is-object"),a=e("./_is-array"),i=e("./_wks")("species");t.exports=function(e){var t;return a(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!a(t.prototype)||(t=void 0),n(t)&&null===(t=t[i])&&(t=void 0)),void 0===t?Array:t}},{"./_is-array":106,"./_is-object":108,"./_wks":159}],82:[function(e,t,r){var n=e("./_array-species-constructor");t.exports=function(e,t){return new(n(e))(t)}},{"./_array-species-constructor":81}],83:[function(e,t,r){var n=e("./_cof"),a=e("./_wks")("toStringTag"),i="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(r){}}(t=Object(e),a))?r:i?n(t):"Object"==(s=n(t))&&"function"==typeof t.callee?"Arguments":s}},{"./_cof":84,"./_wks":159}],84:[function(e,t,r){var n={}.toString;t.exports=function(e){return n.call(e).slice(8,-1)}},{}],85:[function(e,t,r){"use strict";var n=e("./_redefine-all"),a=e("./_meta").getWeak,i=e("./_an-object"),s=e("./_is-object"),o=e("./_an-instance"),u=e("./_for-of"),c=e("./_array-methods"),f=e("./_has"),d=e("./_validate-collection"),l=c(5),h=c(6),p=0,b=function(e){return e._l||(e._l=new y)},y=function(){this.a=[]},m=function(e,t){return l(e.a,function(e){return e[0]===t})};y.prototype={get:function(e){var t=m(this,e);if(t)return t[1]},has:function(e){return!!m(this,e)},set:function(e,t){var r=m(this,e);r?r[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},t.exports={getConstructor:function(e,t,r,i){var c=e(function(e,n){o(e,c,t,"_i"),e._t=t,e._i=p++,e._l=void 0,null!=n&&u(n,r,e[i],e)});return n(c.prototype,{delete:function(e){if(!s(e))return!1;var r=a(e);return!0===r?b(d(this,t)).delete(e):r&&f(r,this._i)&&delete r[this._i]},has:function(e){if(!s(e))return!1;var r=a(e);return!0===r?b(d(this,t)).has(e):r&&f(r,this._i)}}),c},def:function(e,t,r){var n=a(i(t),!0);return!0===n?b(e).set(t,r):n[e._i]=r,e},ufstore:b}},{"./_an-instance":77,"./_an-object":78,"./_array-methods":80,"./_for-of":97,"./_has":99,"./_is-object":108,"./_meta":116,"./_redefine-all":137,"./_validate-collection":156}],86:[function(e,t,r){"use strict";var n=e("./_global"),a=e("./_export"),i=e("./_meta"),s=e("./_fails"),o=e("./_hide"),u=e("./_redefine-all"),c=e("./_for-of"),f=e("./_an-instance"),d=e("./_is-object"),l=e("./_set-to-string-tag"),h=e("./_object-dp").f,p=e("./_array-methods")(0),b=e("./_descriptors");t.exports=function(e,t,r,y,m,v){var g=n[e],_=g,w=m?"set":"add",k=_&&_.prototype,x={};return b&&"function"==typeof _&&(v||k.forEach&&!s(function(){(new _).entries().next()}))?(_=t(function(t,r){f(t,_,e,"_c"),t._c=new g,null!=r&&c(r,m,t[w],t)}),p("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in k&&(!v||"clear"!=e)&&o(_.prototype,e,function(r,n){if(f(this,_,e),!t&&v&&!d(r))return"get"==e&&void 0;var a=this._c[e](0===r?0:r,n);return t?this:a})}),v||h(_.prototype,"size",{get:function(){return this._c.size}})):(_=y.getConstructor(t,e,m,w),u(_.prototype,r),i.NEED=!0),l(_,e),x[e]=_,a(a.G+a.W+a.F,x),v||y.setStrong(_,e,m),_}},{"./_an-instance":77,"./_array-methods":80,"./_descriptors":91,"./_export":95,"./_fails":96,"./_for-of":97,"./_global":98,"./_hide":100,"./_is-object":108,"./_meta":116,"./_object-dp":121,"./_redefine-all":137,"./_set-to-string-tag":143}],87:[function(e,t,r){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},{}],88:[function(e,t,r){"use strict";var n=e("./_object-dp"),a=e("./_property-desc");t.exports=function(e,t,r){t in e?n.f(e,t,a(0,r)):e[t]=r}},{"./_object-dp":121,"./_property-desc":136}],89:[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,a){return e.call(t,r,n,a)}}return function(){return e.apply(t,arguments)}}},{"./_a-function":75}],90:[function(e,t,r){t.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},{}],91:[function(e,t,r){t.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":96}],92:[function(e,t,r){var n=e("./_is-object"),a=e("./_global").document,i=n(a)&&n(a.createElement);t.exports=function(e){return i?a.createElement(e):{}}},{"./_global":98,"./_is-object":108}],93:[function(e,t,r){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],94:[function(e,t,r){var n=e("./_object-keys"),a=e("./_object-gops"),i=e("./_object-pie");t.exports=function(e){var t=n(e),r=a.f;if(r)for(var s,o=r(e),u=i.f,c=0;o.length>c;)u.call(e,s=o[c++])&&t.push(s);return t}},{"./_object-gops":126,"./_object-keys":129,"./_object-pie":130}],95:[function(e,t,r){var n=e("./_global"),a=e("./_core"),i=e("./_ctx"),s=e("./_hide"),o=function(e,t,r){var u,c,f,d=e&o.F,l=e&o.G,h=e&o.S,p=e&o.P,b=e&o.B,y=e&o.W,m=l?a:a[t]||(a[t]={}),v=m.prototype,g=l?n:h?n[t]:(n[t]||{}).prototype;for(u in l&&(r=t),r)(c=!d&&g&&void 0!==g[u])&&u in m||(f=c?g[u]:r[u],m[u]=l&&"function"!=typeof g[u]?r[u]:b&&c?i(f,n):y&&g[u]==f?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}(f):p&&"function"==typeof f?i(Function.call,f):f,p&&((m.virtual||(m.virtual={}))[u]=f,e&o.R&&v&&!v[u]&&s(v,u,f)))};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":87,"./_ctx":89,"./_global":98,"./_hide":100}],96:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(t){return!0}}},{}],97:[function(e,t,r){var n=e("./_ctx"),a=e("./_iter-call"),i=e("./_is-array-iter"),s=e("./_an-object"),o=e("./_to-length"),u=e("./core.get-iterator-method"),c={},f={};(r=t.exports=function(e,t,r,d,l){var h,p,b,y,m=l?function(){return e}:u(e),v=n(r,d,t?2:1),g=0;if("function"!=typeof m)throw TypeError(e+" is not iterable!");if(i(m)){for(h=o(e.length);h>g;g++)if((y=t?v(s(p=e[g])[0],p[1]):v(e[g]))===c||y===f)return y}else for(b=m.call(e);!(p=b.next()).done;)if((y=a(b,v,p.value,t))===c||y===f)return y}).BREAK=c,r.RETURN=f},{"./_an-object":78,"./_ctx":89,"./_is-array-iter":105,"./_iter-call":109,"./_to-length":152,"./core.get-iterator-method":160}],98:[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)},{}],99:[function(e,t,r){var n={}.hasOwnProperty;t.exports=function(e,t){return n.call(e,t)}},{}],100:[function(e,t,r){var n=e("./_object-dp"),a=e("./_property-desc");t.exports=e("./_descriptors")?function(e,t,r){return n.f(e,t,a(1,r))}:function(e,t,r){return e[t]=r,e}},{"./_descriptors":91,"./_object-dp":121,"./_property-desc":136}],101:[function(e,t,r){var n=e("./_global").document;t.exports=n&&n.documentElement},{"./_global":98}],102:[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":91,"./_dom-create":92,"./_fails":96}],103:[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)}},{}],104:[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":84}],105:[function(e,t,r){var n=e("./_iterators"),a=e("./_wks")("iterator"),i=Array.prototype;t.exports=function(e){return void 0!==e&&(n.Array===e||i[a]===e)}},{"./_iterators":114,"./_wks":159}],106:[function(e,t,r){var n=e("./_cof");t.exports=Array.isArray||function(e){return"Array"==n(e)}},{"./_cof":84}],107:[function(e,t,r){var n=e("./_is-object"),a=Math.floor;t.exports=function(e){return!n(e)&&isFinite(e)&&a(e)===e}},{"./_is-object":108}],108:[function(e,t,r){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],109:[function(e,t,r){var n=e("./_an-object");t.exports=function(e,t,r,a){try{return a?t(n(r)[0],r[1]):t(r)}catch(s){var i=e.return;throw void 0!==i&&n(i.call(e)),s}}},{"./_an-object":78}],110:[function(e,t,r){"use strict";var n=e("./_object-create"),a=e("./_property-desc"),i=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:a(1,r)}),i(e,t+" Iterator")}},{"./_hide":100,"./_object-create":120,"./_property-desc":136,"./_set-to-string-tag":143,"./_wks":159}],111:[function(e,t,r){"use strict";var n=e("./_library"),a=e("./_export"),i=e("./_redefine"),s=e("./_hide"),o=e("./_has"),u=e("./_iterators"),c=e("./_iter-create"),f=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,b,y,m,v){c(r,t,b);var g,_,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)}},x=t+" Iterator",A="values"==y,S=!1,E=e.prototype,j=E[l]||E["@@iterator"]||y&&E[y],M=!h&&j||k(y),P=y?A?k("entries"):M:void 0,C="Array"==t&&E.entries||j;if(C&&(w=d(C.call(new e)))!==Object.prototype&&w.next&&(f(w,x,!0),n||o(w,l)||s(w,l,p)),A&&j&&"values"!==j.name&&(S=!0,M=function(){return j.call(this)}),n&&!v||!h&&!S&&E[l]||s(E,l,M),u[t]=M,u[x]=p,y)if(g={values:A?M:k("values"),keys:m?M:k("keys"),entries:P},v)for(_ in g)_ in E||i(E,_,g[_]);else a(a.P+a.F*(h||S),t,g);return g}},{"./_export":95,"./_has":99,"./_hide":100,"./_iter-create":110,"./_iterators":114,"./_library":115,"./_object-gpo":127,"./_redefine":138,"./_set-to-string-tag":143,"./_wks":159}],112:[function(e,t,r){var n=e("./_wks")("iterator"),a=!1;try{var i=[7][n]();i.return=function(){a=!0},Array.from(i,function(){throw 2})}catch(s){}t.exports=function(e,t){if(!t&&!a)return!1;var r=!1;try{var i=[7],o=i[n]();o.next=function(){return{done:r=!0}},i[n]=function(){return o},e(i)}catch(s){}return r}},{"./_wks":159}],113:[function(e,t,r){t.exports=function(e,t){return{value:t,done:!!e}}},{}],114:[function(e,t,r){t.exports={}},{}],115:[function(e,t,r){t.exports=!0},{}],116:[function(e,t,r){var n=e("./_uid")("meta"),a=e("./_is-object"),i=e("./_has"),s=e("./_object-dp").f,o=0,u=Object.isExtensible||function(){return!0},c=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),f=function(e){s(e,n,{value:{i:"O"+ ++o,w:{}}})},d=t.exports={KEY:n,NEED:!1,fastKey:function(e,t){if(!a(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,n)){if(!u(e))return"F";if(!t)return"E";f(e)}return e[n].i},getWeak:function(e,t){if(!i(e,n)){if(!u(e))return!0;if(!t)return!1;f(e)}return e[n].w},onFreeze:function(e){return c&&d.NEED&&u(e)&&!i(e,n)&&f(e),e}}},{"./_fails":96,"./_has":99,"./_is-object":108,"./_object-dp":121,"./_uid":155}],117:[function(e,t,r){var n=e("./_global"),a=e("./_task").set,i=n.MutationObserver||n.WebKitMutationObserver,s=n.process,o=n.Promise,u="process"==e("./_cof")(s);t.exports=function(){var e,t,r,c=function(){var n,a;for(u&&(n=s.domain)&&n.exit();e;){a=e.fn,e=e.next;try{a()}catch(i){throw e?r():t=void 0,i}}t=void 0,n&&n.enter()};if(u)r=function(){s.nextTick(c)};else if(!i||n.navigator&&n.navigator.standalone)if(o&&o.resolve){var f=o.resolve();r=function(){f.then(c)}}else r=function(){a.call(n,c)};else{var d=!0,l=document.createTextNode("");new i(c).observe(l,{characterData:!0}),r=function(){l.data=d=!d}}return function(n){var a={fn:n,next:void 0};t&&(t.next=a),e||(e=a,r()),t=a}}},{"./_cof":84,"./_global":98,"./_task":148}],118:[function(e,t,r){"use strict";var n=e("./_a-function");function a(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)}t.exports.f=function(e){return new a(e)}},{"./_a-function":75}],119:[function(e,t,r){"use strict";var n=e("./_object-keys"),a=e("./_object-gops"),i=e("./_object-pie"),s=e("./_to-object"),o=e("./_iobject"),u=Object.assign;t.exports=!u||e("./_fails")(function(){var e={},t={},r=Symbol(),n="abcdefghijklmnopqrst";return e[r]=7,n.split("").forEach(function(e){t[e]=e}),7!=u({},e)[r]||Object.keys(u({},t)).join("")!=n})?function(e,t){for(var r=s(e),u=arguments.length,c=1,f=a.f,d=i.f;u>c;)for(var l,h=o(arguments[c++]),p=f?n(h).concat(f(h)):n(h),b=p.length,y=0;b>y;)d.call(h,l=p[y++])&&(r[l]=h[l]);return r}:u},{"./_fails":96,"./_iobject":104,"./_object-gops":126,"./_object-keys":129,"./_object-pie":130,"./_to-object":153}],120:[function(e,t,r){var n=e("./_an-object"),a=e("./_object-dps"),i=e("./_enum-bug-keys"),s=e("./_shared-key")("IE_PROTO"),o=function(){},u=function(){var t,r=e("./_dom-create")("iframe"),n=i.length;for(r.style.display="none",e("./_html").appendChild(r),r.src="javascript:",(t=r.contentWindow.document).open(),t.write("