diff --git a/bower.json b/bower.json index 6b8ade7e..23967a6b 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "openpgp", - "version": "4.1.2", + "version": "4.2.0", "license": "LGPL-3.0+", "homepage": "https://openpgpjs.org/", "authors": [ diff --git a/dist/compat/openpgp.js b/dist/compat/openpgp.js index 23ce2bbd..dae7629e 100644 --- a/dist/compat/openpgp.js +++ b/dist/compat/openpgp.js @@ -266,7 +266,7 @@ function _extract_name(name) { return name; } -},{"babel-runtime/helpers/classCallCheck":35,"babel-runtime/helpers/createClass":36,"email-addresses":297}],3:[function(_dereq_,module,exports){ +},{"babel-runtime/helpers/classCallCheck":34,"babel-runtime/helpers/createClass":35,"email-addresses":294}],3:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -1337,7 +1337,7 @@ var AES_CBC = /** @class */function (_super) { }(_aes.AES); exports.AES_CBC = AES_CBC; -},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],6:[function(_dereq_,module,exports){ +},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],6:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -1403,7 +1403,7 @@ var AES_CFB = /** @class */function (_super) { }(_aes.AES); exports.AES_CFB = AES_CFB; -},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],7:[function(_dereq_,module,exports){ +},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],7:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -1495,7 +1495,7 @@ var AES_CTR = /** @class */function (_super) { }(_aes.AES); exports.AES_CTR = AES_CTR; -},{"../other/errors":15,"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],8:[function(_dereq_,module,exports){ +},{"../other/errors":15,"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],8:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -1568,7 +1568,7 @@ var AES_ECB = /** @class */function (_super) { }(_aes.AES); exports.AES_ECB = AES_ECB; -},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],9:[function(_dereq_,module,exports){ +},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],9:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -1883,7 +1883,7 @@ var AES_GCM = /** @class */function (_super) { }(_aes.AES); exports.AES_GCM = AES_GCM; -},{"../other/errors":15,"../other/utils":16,"./aes":4,"./aes.asm":3,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],10:[function(_dereq_,module,exports){ +},{"../other/errors":15,"../other/utils":16,"./aes":4,"./aes.asm":3,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],10:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -2919,7 +2919,7 @@ var Sha1 = /** @class */function (_super) { }(_hash.Hash); exports.Sha1 = Sha1; -},{"../hash":10,"./sha1.asm":11,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],13:[function(_dereq_,module,exports){ +},{"../hash":10,"./sha1.asm":11,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],13:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -3796,7 +3796,7 @@ var Sha256 = /** @class */function (_super) { }(_hash.Hash); exports.Sha256 = Sha256; -},{"../hash":10,"./sha256.asm":13,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],15:[function(_dereq_,module,exports){ +},{"../hash":10,"./sha256.asm":13,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],15:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -3875,7 +3875,7 @@ var SecurityError = /** @class */function (_super) { }(Error); exports.SecurityError = SecurityError; -},{"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],16:[function(_dereq_,module,exports){ +},{"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":27}],16:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -4051,39 +4051,37 @@ function joinBytes() { },{"buffer":"buffer"}],17:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/array/from"), __esModule: true }; -},{"core-js/library/fn/array/from":54}],18:[function(_dereq_,module,exports){ +},{"core-js/library/fn/array/from":53}],18:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/get-iterator"), __esModule: true }; -},{"core-js/library/fn/get-iterator":55}],19:[function(_dereq_,module,exports){ +},{"core-js/library/fn/get-iterator":54}],19:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/is-iterable"), __esModule: true }; -},{"core-js/library/fn/is-iterable":56}],20:[function(_dereq_,module,exports){ +},{"core-js/library/fn/is-iterable":55}],20:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/json/stringify"), __esModule: true }; -},{"core-js/library/fn/json/stringify":57}],21:[function(_dereq_,module,exports){ +},{"core-js/library/fn/json/stringify":56}],21:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/object/assign"), __esModule: true }; -},{"core-js/library/fn/object/assign":58}],22:[function(_dereq_,module,exports){ +},{"core-js/library/fn/object/assign":57}],22:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/object/create"), __esModule: true }; -},{"core-js/library/fn/object/create":59}],23:[function(_dereq_,module,exports){ +},{"core-js/library/fn/object/create":58}],23:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/object/define-property"), __esModule: true }; -},{"core-js/library/fn/object/define-property":60}],24:[function(_dereq_,module,exports){ +},{"core-js/library/fn/object/define-property":59}],24:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/object/entries"), __esModule: true }; -},{"core-js/library/fn/object/entries":61}],25:[function(_dereq_,module,exports){ -module.exports = { "default": _dereq_("core-js/library/fn/object/freeze"), __esModule: true }; -},{"core-js/library/fn/object/freeze":62}],26:[function(_dereq_,module,exports){ +},{"core-js/library/fn/object/entries":60}],25:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/object/get-own-property-descriptors"), __esModule: true }; -},{"core-js/library/fn/object/get-own-property-descriptors":63}],27:[function(_dereq_,module,exports){ +},{"core-js/library/fn/object/get-own-property-descriptors":61}],26:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/object/get-prototype-of"), __esModule: true }; -},{"core-js/library/fn/object/get-prototype-of":64}],28:[function(_dereq_,module,exports){ +},{"core-js/library/fn/object/get-prototype-of":62}],27:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/object/set-prototype-of"), __esModule: true }; -},{"core-js/library/fn/object/set-prototype-of":65}],29:[function(_dereq_,module,exports){ +},{"core-js/library/fn/object/set-prototype-of":63}],28:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/object/values"), __esModule: true }; -},{"core-js/library/fn/object/values":66}],30:[function(_dereq_,module,exports){ +},{"core-js/library/fn/object/values":64}],29:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/promise"), __esModule: true }; -},{"core-js/library/fn/promise":67}],31:[function(_dereq_,module,exports){ +},{"core-js/library/fn/promise":65}],30:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/symbol"), __esModule: true }; -},{"core-js/library/fn/symbol":68}],32:[function(_dereq_,module,exports){ +},{"core-js/library/fn/symbol":66}],31:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/symbol/iterator"), __esModule: true }; -},{"core-js/library/fn/symbol/iterator":69}],33:[function(_dereq_,module,exports){ +},{"core-js/library/fn/symbol/iterator":67}],32:[function(_dereq_,module,exports){ module.exports = { "default": _dereq_("core-js/library/fn/weak-set"), __esModule: true }; -},{"core-js/library/fn/weak-set":70}],34:[function(_dereq_,module,exports){ +},{"core-js/library/fn/weak-set":68}],33:[function(_dereq_,module,exports){ "use strict"; exports.__esModule = true; @@ -4122,7 +4120,7 @@ exports.default = function (fn) { }); }; }; -},{"../core-js/promise":30}],35:[function(_dereq_,module,exports){ +},{"../core-js/promise":29}],34:[function(_dereq_,module,exports){ "use strict"; exports.__esModule = true; @@ -4132,7 +4130,7 @@ exports.default = function (instance, Constructor) { throw new TypeError("Cannot call a class as a function"); } }; -},{}],36:[function(_dereq_,module,exports){ +},{}],35:[function(_dereq_,module,exports){ "use strict"; exports.__esModule = true; @@ -4160,7 +4158,7 @@ exports.default = function () { return Constructor; }; }(); -},{"../core-js/object/define-property":23}],37:[function(_dereq_,module,exports){ +},{"../core-js/object/define-property":23}],36:[function(_dereq_,module,exports){ "use strict"; exports.__esModule = true; @@ -4194,7 +4192,7 @@ exports.default = function (subClass, superClass) { }); if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; }; -},{"../core-js/object/create":22,"../core-js/object/set-prototype-of":28,"../helpers/typeof":41}],38:[function(_dereq_,module,exports){ +},{"../core-js/object/create":22,"../core-js/object/set-prototype-of":27,"../helpers/typeof":40}],37:[function(_dereq_,module,exports){ "use strict"; exports.__esModule = true; @@ -4212,7 +4210,7 @@ exports.default = function (self, call) { return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; }; -},{"../helpers/typeof":41}],39:[function(_dereq_,module,exports){ +},{"../helpers/typeof":40}],38:[function(_dereq_,module,exports){ "use strict"; exports.__esModule = true; @@ -4264,7 +4262,7 @@ exports.default = function () { } }; }(); -},{"../core-js/get-iterator":18,"../core-js/is-iterable":19}],40:[function(_dereq_,module,exports){ +},{"../core-js/get-iterator":18,"../core-js/is-iterable":19}],39:[function(_dereq_,module,exports){ "use strict"; exports.__esModule = true; @@ -4286,7 +4284,7 @@ exports.default = function (arr) { return (0, _from2.default)(arr); } }; -},{"../core-js/array/from":17}],41:[function(_dereq_,module,exports){ +},{"../core-js/array/from":17}],40:[function(_dereq_,module,exports){ "use strict"; exports.__esModule = true; @@ -4308,10 +4306,10 @@ exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.d } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); }; -},{"../core-js/symbol":31,"../core-js/symbol/iterator":32}],42:[function(_dereq_,module,exports){ +},{"../core-js/symbol":30,"../core-js/symbol/iterator":31}],41:[function(_dereq_,module,exports){ module.exports = _dereq_("regenerator-runtime"); -},{"regenerator-runtime":331}],43:[function(_dereq_,module,exports){ +},{"regenerator-runtime":327}],42:[function(_dereq_,module,exports){ (function (module, exports) { 'use strict'; @@ -7740,7 +7738,7 @@ module.exports = _dereq_("regenerator-runtime"); }; })(typeof module === 'undefined' || module, this); -},{"buffer":"buffer"}],44:[function(_dereq_,module,exports){ +},{"buffer":"buffer"}],43:[function(_dereq_,module,exports){ var r; module.exports = function rand(len) { @@ -7807,28 +7805,28 @@ if (typeof self === 'object') { } } -},{"crypto":"crypto"}],45:[function(_dereq_,module,exports){ +},{"crypto":"crypto"}],44:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.array.fill'); module.exports = _dereq_('../../modules/_core').Array.fill; -},{"../../modules/_core":193,"../../modules/es6.array.fill":264}],46:[function(_dereq_,module,exports){ +},{"../../modules/_core":190,"../../modules/es6.array.fill":261}],45:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.array.find'); module.exports = _dereq_('../../modules/_core').Array.find; -},{"../../modules/_core":193,"../../modules/es6.array.find":265}],47:[function(_dereq_,module,exports){ +},{"../../modules/_core":190,"../../modules/es6.array.find":262}],46:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.string.iterator'); _dereq_('../../modules/es6.array.from'); module.exports = _dereq_('../../modules/_core').Array.from; -},{"../../modules/_core":193,"../../modules/es6.array.from":266,"../../modules/es6.string.iterator":271}],48:[function(_dereq_,module,exports){ +},{"../../modules/_core":190,"../../modules/es6.array.from":263,"../../modules/es6.string.iterator":268}],47:[function(_dereq_,module,exports){ _dereq_('../../modules/es7.array.includes'); module.exports = _dereq_('../../modules/_core').Array.includes; -},{"../../modules/_core":193,"../../modules/es7.array.includes":275}],49:[function(_dereq_,module,exports){ +},{"../../modules/_core":190,"../../modules/es7.array.includes":272}],48:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.object.assign'); module.exports = _dereq_('../../modules/_core').Object.assign; -},{"../../modules/_core":193,"../../modules/es6.object.assign":268}],50:[function(_dereq_,module,exports){ +},{"../../modules/_core":190,"../../modules/es6.object.assign":265}],49:[function(_dereq_,module,exports){ _dereq_('../modules/es6.object.to-string'); _dereq_('../modules/es6.string.iterator'); _dereq_('../modules/web.dom.iterable'); @@ -7837,90 +7835,86 @@ _dereq_('../modules/es7.promise.finally'); _dereq_('../modules/es7.promise.try'); module.exports = _dereq_('../modules/_core').Promise; -},{"../modules/_core":193,"../modules/es6.object.to-string":269,"../modules/es6.promise":270,"../modules/es6.string.iterator":271,"../modules/es7.promise.finally":276,"../modules/es7.promise.try":277,"../modules/web.dom.iterable":280}],51:[function(_dereq_,module,exports){ +},{"../modules/_core":190,"../modules/es6.object.to-string":266,"../modules/es6.promise":267,"../modules/es6.string.iterator":268,"../modules/es7.promise.finally":273,"../modules/es7.promise.try":274,"../modules/web.dom.iterable":277}],50:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.string.repeat'); module.exports = _dereq_('../../modules/_core').String.repeat; -},{"../../modules/_core":193,"../../modules/es6.string.repeat":272}],52:[function(_dereq_,module,exports){ +},{"../../modules/_core":190,"../../modules/es6.string.repeat":269}],51:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.symbol'); _dereq_('../../modules/es6.object.to-string'); _dereq_('../../modules/es7.symbol.async-iterator'); _dereq_('../../modules/es7.symbol.observable'); module.exports = _dereq_('../../modules/_core').Symbol; -},{"../../modules/_core":193,"../../modules/es6.object.to-string":269,"../../modules/es6.symbol":273,"../../modules/es7.symbol.async-iterator":278,"../../modules/es7.symbol.observable":279}],53:[function(_dereq_,module,exports){ +},{"../../modules/_core":190,"../../modules/es6.object.to-string":266,"../../modules/es6.symbol":270,"../../modules/es7.symbol.async-iterator":275,"../../modules/es7.symbol.observable":276}],52:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.typed.uint8-array'); module.exports = _dereq_('../../modules/_core').Uint8Array; -},{"../../modules/_core":193,"../../modules/es6.typed.uint8-array":274}],54:[function(_dereq_,module,exports){ -arguments[4][47][0].apply(exports,arguments) -},{"../../modules/_core":83,"../../modules/es6.array.from":158,"../../modules/es6.string.iterator":168,"dup":47}],55:[function(_dereq_,module,exports){ +},{"../../modules/_core":190,"../../modules/es6.typed.uint8-array":271}],53:[function(_dereq_,module,exports){ +arguments[4][46][0].apply(exports,arguments) +},{"../../modules/_core":81,"../../modules/es6.array.from":156,"../../modules/es6.string.iterator":165,"dup":46}],54:[function(_dereq_,module,exports){ _dereq_('../modules/web.dom.iterable'); _dereq_('../modules/es6.string.iterator'); module.exports = _dereq_('../modules/core.get-iterator'); -},{"../modules/core.get-iterator":156,"../modules/es6.string.iterator":168,"../modules/web.dom.iterable":180}],56:[function(_dereq_,module,exports){ +},{"../modules/core.get-iterator":154,"../modules/es6.string.iterator":165,"../modules/web.dom.iterable":177}],55:[function(_dereq_,module,exports){ _dereq_('../modules/web.dom.iterable'); _dereq_('../modules/es6.string.iterator'); module.exports = _dereq_('../modules/core.is-iterable'); -},{"../modules/core.is-iterable":157,"../modules/es6.string.iterator":168,"../modules/web.dom.iterable":180}],57:[function(_dereq_,module,exports){ +},{"../modules/core.is-iterable":155,"../modules/es6.string.iterator":165,"../modules/web.dom.iterable":177}],56:[function(_dereq_,module,exports){ var core = _dereq_('../../modules/_core'); var $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify }); module.exports = function stringify(it) { // eslint-disable-line no-unused-vars return $JSON.stringify.apply($JSON, arguments); }; -},{"../../modules/_core":83}],58:[function(_dereq_,module,exports){ -arguments[4][49][0].apply(exports,arguments) -},{"../../modules/_core":83,"../../modules/es6.object.assign":160,"dup":49}],59:[function(_dereq_,module,exports){ +},{"../../modules/_core":81}],57:[function(_dereq_,module,exports){ +arguments[4][48][0].apply(exports,arguments) +},{"../../modules/_core":81,"../../modules/es6.object.assign":158,"dup":48}],58:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.object.create'); var $Object = _dereq_('../../modules/_core').Object; module.exports = function create(P, D) { return $Object.create(P, D); }; -},{"../../modules/_core":83,"../../modules/es6.object.create":161}],60:[function(_dereq_,module,exports){ +},{"../../modules/_core":81,"../../modules/es6.object.create":159}],59:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.object.define-property'); var $Object = _dereq_('../../modules/_core').Object; module.exports = function defineProperty(it, key, desc) { return $Object.defineProperty(it, key, desc); }; -},{"../../modules/_core":83,"../../modules/es6.object.define-property":162}],61:[function(_dereq_,module,exports){ +},{"../../modules/_core":81,"../../modules/es6.object.define-property":160}],60:[function(_dereq_,module,exports){ _dereq_('../../modules/es7.object.entries'); module.exports = _dereq_('../../modules/_core').Object.entries; -},{"../../modules/_core":83,"../../modules/es7.object.entries":171}],62:[function(_dereq_,module,exports){ -_dereq_('../../modules/es6.object.freeze'); -module.exports = _dereq_('../../modules/_core').Object.freeze; - -},{"../../modules/_core":83,"../../modules/es6.object.freeze":163}],63:[function(_dereq_,module,exports){ +},{"../../modules/_core":81,"../../modules/es7.object.entries":168}],61:[function(_dereq_,module,exports){ _dereq_('../../modules/es7.object.get-own-property-descriptors'); module.exports = _dereq_('../../modules/_core').Object.getOwnPropertyDescriptors; -},{"../../modules/_core":83,"../../modules/es7.object.get-own-property-descriptors":172}],64:[function(_dereq_,module,exports){ +},{"../../modules/_core":81,"../../modules/es7.object.get-own-property-descriptors":169}],62:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.object.get-prototype-of'); module.exports = _dereq_('../../modules/_core').Object.getPrototypeOf; -},{"../../modules/_core":83,"../../modules/es6.object.get-prototype-of":164}],65:[function(_dereq_,module,exports){ +},{"../../modules/_core":81,"../../modules/es6.object.get-prototype-of":161}],63:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.object.set-prototype-of'); module.exports = _dereq_('../../modules/_core').Object.setPrototypeOf; -},{"../../modules/_core":83,"../../modules/es6.object.set-prototype-of":165}],66:[function(_dereq_,module,exports){ +},{"../../modules/_core":81,"../../modules/es6.object.set-prototype-of":162}],64:[function(_dereq_,module,exports){ _dereq_('../../modules/es7.object.values'); module.exports = _dereq_('../../modules/_core').Object.values; -},{"../../modules/_core":83,"../../modules/es7.object.values":173}],67:[function(_dereq_,module,exports){ -arguments[4][50][0].apply(exports,arguments) -},{"../modules/_core":83,"../modules/es6.object.to-string":166,"../modules/es6.promise":167,"../modules/es6.string.iterator":168,"../modules/es7.promise.finally":174,"../modules/es7.promise.try":175,"../modules/web.dom.iterable":180,"dup":50}],68:[function(_dereq_,module,exports){ -arguments[4][52][0].apply(exports,arguments) -},{"../../modules/_core":83,"../../modules/es6.object.to-string":166,"../../modules/es6.symbol":169,"../../modules/es7.symbol.async-iterator":176,"../../modules/es7.symbol.observable":177,"dup":52}],69:[function(_dereq_,module,exports){ +},{"../../modules/_core":81,"../../modules/es7.object.values":170}],65:[function(_dereq_,module,exports){ +arguments[4][49][0].apply(exports,arguments) +},{"../modules/_core":81,"../modules/es6.object.to-string":163,"../modules/es6.promise":164,"../modules/es6.string.iterator":165,"../modules/es7.promise.finally":171,"../modules/es7.promise.try":172,"../modules/web.dom.iterable":177,"dup":49}],66:[function(_dereq_,module,exports){ +arguments[4][51][0].apply(exports,arguments) +},{"../../modules/_core":81,"../../modules/es6.object.to-string":163,"../../modules/es6.symbol":166,"../../modules/es7.symbol.async-iterator":173,"../../modules/es7.symbol.observable":174,"dup":51}],67:[function(_dereq_,module,exports){ _dereq_('../../modules/es6.string.iterator'); _dereq_('../../modules/web.dom.iterable'); module.exports = _dereq_('../../modules/_wks-ext').f('iterator'); -},{"../../modules/_wks-ext":153,"../../modules/es6.string.iterator":168,"../../modules/web.dom.iterable":180}],70:[function(_dereq_,module,exports){ +},{"../../modules/_wks-ext":151,"../../modules/es6.string.iterator":165,"../../modules/web.dom.iterable":177}],68:[function(_dereq_,module,exports){ _dereq_('../modules/es6.object.to-string'); _dereq_('../modules/web.dom.iterable'); _dereq_('../modules/es6.weak-set'); @@ -7928,30 +7922,30 @@ _dereq_('../modules/es7.weak-set.of'); _dereq_('../modules/es7.weak-set.from'); module.exports = _dereq_('../modules/_core').WeakSet; -},{"../modules/_core":83,"../modules/es6.object.to-string":166,"../modules/es6.weak-set":170,"../modules/es7.weak-set.from":178,"../modules/es7.weak-set.of":179,"../modules/web.dom.iterable":180}],71:[function(_dereq_,module,exports){ +},{"../modules/_core":81,"../modules/es6.object.to-string":163,"../modules/es6.weak-set":167,"../modules/es7.weak-set.from":175,"../modules/es7.weak-set.of":176,"../modules/web.dom.iterable":177}],69:[function(_dereq_,module,exports){ module.exports = function (it) { if (typeof it != 'function') throw TypeError(it + ' is not a function!'); return it; }; -},{}],72:[function(_dereq_,module,exports){ +},{}],70:[function(_dereq_,module,exports){ module.exports = function () { /* empty */ }; -},{}],73:[function(_dereq_,module,exports){ +},{}],71:[function(_dereq_,module,exports){ module.exports = function (it, Constructor, name, forbiddenField) { if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { throw TypeError(name + ': incorrect invocation!'); } return it; }; -},{}],74:[function(_dereq_,module,exports){ +},{}],72:[function(_dereq_,module,exports){ var isObject = _dereq_('./_is-object'); module.exports = function (it) { if (!isObject(it)) throw TypeError(it + ' is not an object!'); return it; }; -},{"./_is-object":103}],75:[function(_dereq_,module,exports){ +},{"./_is-object":101}],73:[function(_dereq_,module,exports){ // false -> Array#indexOf // true -> Array#includes var toIObject = _dereq_('./_to-iobject'); @@ -7976,7 +7970,7 @@ module.exports = function (IS_INCLUDES) { }; }; -},{"./_to-absolute-index":144,"./_to-iobject":146,"./_to-length":147}],76:[function(_dereq_,module,exports){ +},{"./_to-absolute-index":142,"./_to-iobject":144,"./_to-length":145}],74:[function(_dereq_,module,exports){ // 0 -> Array#forEach // 1 -> Array#map // 2 -> Array#filter @@ -8022,7 +8016,7 @@ module.exports = function (TYPE, $create) { }; }; -},{"./_array-species-create":78,"./_ctx":85,"./_iobject":100,"./_to-length":147,"./_to-object":148}],77:[function(_dereq_,module,exports){ +},{"./_array-species-create":76,"./_ctx":83,"./_iobject":98,"./_to-length":145,"./_to-object":146}],75:[function(_dereq_,module,exports){ var isObject = _dereq_('./_is-object'); var isArray = _dereq_('./_is-array'); var SPECIES = _dereq_('./_wks')('species'); @@ -8040,7 +8034,7 @@ module.exports = function (original) { } return C === undefined ? Array : C; }; -},{"./_is-array":102,"./_is-object":103,"./_wks":154}],78:[function(_dereq_,module,exports){ +},{"./_is-array":100,"./_is-object":101,"./_wks":152}],76:[function(_dereq_,module,exports){ // 9.4.2.3 ArraySpeciesCreate(originalArray, length) var speciesConstructor = _dereq_('./_array-species-constructor'); @@ -8048,7 +8042,7 @@ module.exports = function (original, length) { return new (speciesConstructor(original))(length); }; -},{"./_array-species-constructor":77}],79:[function(_dereq_,module,exports){ +},{"./_array-species-constructor":75}],77:[function(_dereq_,module,exports){ // getting tag from 19.1.3.6 Object.prototype.toString() var cof = _dereq_('./_cof'); var TAG = _dereq_('./_wks')('toStringTag'); @@ -8073,14 +8067,14 @@ module.exports = function (it) { : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; }; -},{"./_cof":80,"./_wks":154}],80:[function(_dereq_,module,exports){ +},{"./_cof":78,"./_wks":152}],78:[function(_dereq_,module,exports){ var toString = {}.toString; module.exports = function (it) { return toString.call(it).slice(8, -1); }; -},{}],81:[function(_dereq_,module,exports){ +},{}],79:[function(_dereq_,module,exports){ 'use strict'; var redefineAll = _dereq_('./_redefine-all'); var getWeak = _dereq_('./_meta').getWeak; @@ -8167,7 +8161,7 @@ module.exports = { ufstore: uncaughtFrozenStore }; -},{"./_an-instance":73,"./_an-object":74,"./_array-methods":76,"./_for-of":93,"./_has":95,"./_is-object":103,"./_meta":111,"./_redefine-all":132,"./_validate-collection":151}],82:[function(_dereq_,module,exports){ +},{"./_an-instance":71,"./_an-object":72,"./_array-methods":74,"./_for-of":91,"./_has":93,"./_is-object":101,"./_meta":109,"./_redefine-all":130,"./_validate-collection":149}],80:[function(_dereq_,module,exports){ 'use strict'; var global = _dereq_('./_global'); var $export = _dereq_('./_export'); @@ -8228,11 +8222,11 @@ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { return C; }; -},{"./_an-instance":73,"./_array-methods":76,"./_descriptors":87,"./_export":91,"./_fails":92,"./_for-of":93,"./_global":94,"./_hide":96,"./_is-object":103,"./_meta":111,"./_object-dp":116,"./_redefine-all":132,"./_set-to-string-tag":138}],83:[function(_dereq_,module,exports){ +},{"./_an-instance":71,"./_array-methods":74,"./_descriptors":85,"./_export":89,"./_fails":90,"./_for-of":91,"./_global":92,"./_hide":94,"./_is-object":101,"./_meta":109,"./_object-dp":114,"./_redefine-all":130,"./_set-to-string-tag":136}],81:[function(_dereq_,module,exports){ var core = module.exports = { version: '2.5.3' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef -},{}],84:[function(_dereq_,module,exports){ +},{}],82:[function(_dereq_,module,exports){ 'use strict'; var $defineProperty = _dereq_('./_object-dp'); var createDesc = _dereq_('./_property-desc'); @@ -8242,7 +8236,7 @@ module.exports = function (object, index, value) { else object[index] = value; }; -},{"./_object-dp":116,"./_property-desc":131}],85:[function(_dereq_,module,exports){ +},{"./_object-dp":114,"./_property-desc":129}],83:[function(_dereq_,module,exports){ // optional / simple context binding var aFunction = _dereq_('./_a-function'); module.exports = function (fn, that, length) { @@ -8264,20 +8258,20 @@ module.exports = function (fn, that, length) { }; }; -},{"./_a-function":71}],86:[function(_dereq_,module,exports){ +},{"./_a-function":69}],84:[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; }; -},{}],87:[function(_dereq_,module,exports){ +},{}],85:[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":92}],88:[function(_dereq_,module,exports){ +},{"./_fails":90}],86:[function(_dereq_,module,exports){ var isObject = _dereq_('./_is-object'); var document = _dereq_('./_global').document; // typeof document.createElement is 'object' in old IE @@ -8286,13 +8280,13 @@ module.exports = function (it) { return is ? document.createElement(it) : {}; }; -},{"./_global":94,"./_is-object":103}],89:[function(_dereq_,module,exports){ +},{"./_global":92,"./_is-object":101}],87:[function(_dereq_,module,exports){ // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); -},{}],90:[function(_dereq_,module,exports){ +},{}],88:[function(_dereq_,module,exports){ // all enumerable object keys, includes symbols var getKeys = _dereq_('./_object-keys'); var gOPS = _dereq_('./_object-gops'); @@ -8309,7 +8303,7 @@ module.exports = function (it) { } return result; }; -},{"./_object-gops":121,"./_object-keys":124,"./_object-pie":125}],91:[function(_dereq_,module,exports){ +},{"./_object-gops":119,"./_object-keys":122,"./_object-pie":123}],89:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var core = _dereq_('./_core'); var ctx = _dereq_('./_ctx'); @@ -8372,7 +8366,7 @@ $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; -},{"./_core":83,"./_ctx":85,"./_global":94,"./_hide":96}],92:[function(_dereq_,module,exports){ +},{"./_core":81,"./_ctx":83,"./_global":92,"./_hide":94}],90:[function(_dereq_,module,exports){ module.exports = function (exec) { try { return !!exec(); @@ -8381,7 +8375,7 @@ module.exports = function (exec) { } }; -},{}],93:[function(_dereq_,module,exports){ +},{}],91:[function(_dereq_,module,exports){ var ctx = _dereq_('./_ctx'); var call = _dereq_('./_iter-call'); var isArrayIter = _dereq_('./_is-array-iter'); @@ -8408,7 +8402,7 @@ var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) exports.BREAK = BREAK; exports.RETURN = RETURN; -},{"./_an-object":74,"./_ctx":85,"./_is-array-iter":101,"./_iter-call":104,"./_to-length":147,"./core.get-iterator-method":155}],94:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_ctx":83,"./_is-array-iter":99,"./_iter-call":102,"./_to-length":145,"./core.get-iterator-method":153}],92:[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 @@ -8416,13 +8410,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 -},{}],95:[function(_dereq_,module,exports){ +},{}],93:[function(_dereq_,module,exports){ var hasOwnProperty = {}.hasOwnProperty; module.exports = function (it, key) { return hasOwnProperty.call(it, key); }; -},{}],96:[function(_dereq_,module,exports){ +},{}],94:[function(_dereq_,module,exports){ var dP = _dereq_('./_object-dp'); var createDesc = _dereq_('./_property-desc'); module.exports = _dereq_('./_descriptors') ? function (object, key, value) { @@ -8432,16 +8426,16 @@ module.exports = _dereq_('./_descriptors') ? function (object, key, value) { return object; }; -},{"./_descriptors":87,"./_object-dp":116,"./_property-desc":131}],97:[function(_dereq_,module,exports){ +},{"./_descriptors":85,"./_object-dp":114,"./_property-desc":129}],95:[function(_dereq_,module,exports){ var document = _dereq_('./_global').document; module.exports = document && document.documentElement; -},{"./_global":94}],98:[function(_dereq_,module,exports){ +},{"./_global":92}],96:[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":87,"./_dom-create":88,"./_fails":92}],99:[function(_dereq_,module,exports){ +},{"./_descriptors":85,"./_dom-create":86,"./_fails":90}],97:[function(_dereq_,module,exports){ // fast apply, http://jsperf.lnkit.com/fast-apply/5 module.exports = function (fn, args, that) { var un = that === undefined; @@ -8459,7 +8453,7 @@ module.exports = function (fn, args, that) { } return fn.apply(that, args); }; -},{}],100:[function(_dereq_,module,exports){ +},{}],98:[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 @@ -8467,7 +8461,7 @@ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { return cof(it) == 'String' ? it.split('') : Object(it); }; -},{"./_cof":80}],101:[function(_dereq_,module,exports){ +},{"./_cof":78}],99:[function(_dereq_,module,exports){ // check on default Array iterator var Iterators = _dereq_('./_iterators'); var ITERATOR = _dereq_('./_wks')('iterator'); @@ -8477,19 +8471,19 @@ module.exports = function (it) { return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); }; -},{"./_iterators":109,"./_wks":154}],102:[function(_dereq_,module,exports){ +},{"./_iterators":107,"./_wks":152}],100:[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":80}],103:[function(_dereq_,module,exports){ +},{"./_cof":78}],101:[function(_dereq_,module,exports){ module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; }; -},{}],104:[function(_dereq_,module,exports){ +},{}],102:[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) { @@ -8503,7 +8497,7 @@ module.exports = function (iterator, fn, value, entries) { } }; -},{"./_an-object":74}],105:[function(_dereq_,module,exports){ +},{"./_an-object":72}],103:[function(_dereq_,module,exports){ 'use strict'; var create = _dereq_('./_object-create'); var descriptor = _dereq_('./_property-desc'); @@ -8518,7 +8512,7 @@ module.exports = function (Constructor, NAME, next) { setToStringTag(Constructor, NAME + ' Iterator'); }; -},{"./_hide":96,"./_object-create":115,"./_property-desc":131,"./_set-to-string-tag":138,"./_wks":154}],106:[function(_dereq_,module,exports){ +},{"./_hide":94,"./_object-create":113,"./_property-desc":129,"./_set-to-string-tag":136,"./_wks":152}],104:[function(_dereq_,module,exports){ 'use strict'; var LIBRARY = _dereq_('./_library'); var $export = _dereq_('./_export'); @@ -8590,7 +8584,7 @@ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE return methods; }; -},{"./_export":91,"./_has":95,"./_hide":96,"./_iter-create":105,"./_iterators":109,"./_library":110,"./_object-gpo":122,"./_redefine":133,"./_set-to-string-tag":138,"./_wks":154}],107:[function(_dereq_,module,exports){ +},{"./_export":89,"./_has":93,"./_hide":94,"./_iter-create":103,"./_iterators":107,"./_library":108,"./_object-gpo":120,"./_redefine":131,"./_set-to-string-tag":136,"./_wks":152}],105:[function(_dereq_,module,exports){ var ITERATOR = _dereq_('./_wks')('iterator'); var SAFE_CLOSING = false; @@ -8614,18 +8608,18 @@ module.exports = function (exec, skipClosing) { return safe; }; -},{"./_wks":154}],108:[function(_dereq_,module,exports){ +},{"./_wks":152}],106:[function(_dereq_,module,exports){ module.exports = function (done, value) { return { value: value, done: !!done }; }; -},{}],109:[function(_dereq_,module,exports){ +},{}],107:[function(_dereq_,module,exports){ module.exports = {}; -},{}],110:[function(_dereq_,module,exports){ +},{}],108:[function(_dereq_,module,exports){ module.exports = true; -},{}],111:[function(_dereq_,module,exports){ +},{}],109:[function(_dereq_,module,exports){ var META = _dereq_('./_uid')('meta'); var isObject = _dereq_('./_is-object'); var has = _dereq_('./_has'); @@ -8680,7 +8674,7 @@ var meta = module.exports = { onFreeze: onFreeze }; -},{"./_fails":92,"./_has":95,"./_is-object":103,"./_object-dp":116,"./_uid":150}],112:[function(_dereq_,module,exports){ +},{"./_fails":90,"./_has":93,"./_is-object":101,"./_object-dp":114,"./_uid":148}],110:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var macrotask = _dereq_('./_task').set; var Observer = global.MutationObserver || global.WebKitMutationObserver; @@ -8750,7 +8744,7 @@ module.exports = function () { }; }; -},{"./_cof":80,"./_global":94,"./_task":143}],113:[function(_dereq_,module,exports){ +},{"./_cof":78,"./_global":92,"./_task":141}],111:[function(_dereq_,module,exports){ 'use strict'; // 25.4.1.5 NewPromiseCapability(C) var aFunction = _dereq_('./_a-function'); @@ -8770,7 +8764,7 @@ module.exports.f = function (C) { return new PromiseCapability(C); }; -},{"./_a-function":71}],114:[function(_dereq_,module,exports){ +},{"./_a-function":69}],112:[function(_dereq_,module,exports){ 'use strict'; // 19.1.2.1 Object.assign(target, source, ...) var getKeys = _dereq_('./_object-keys'); @@ -8806,7 +8800,7 @@ module.exports = !$assign || _dereq_('./_fails')(function () { } return T; } : $assign; -},{"./_fails":92,"./_iobject":100,"./_object-gops":121,"./_object-keys":124,"./_object-pie":125,"./_to-object":148}],115:[function(_dereq_,module,exports){ +},{"./_fails":90,"./_iobject":98,"./_object-gops":119,"./_object-keys":122,"./_object-pie":123,"./_to-object":146}],113:[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'); @@ -8849,7 +8843,7 @@ module.exports = Object.create || function create(O, Properties) { return Properties === undefined ? result : dPs(result, Properties); }; -},{"./_an-object":74,"./_dom-create":88,"./_enum-bug-keys":89,"./_html":97,"./_object-dps":117,"./_shared-key":139}],116:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_dom-create":86,"./_enum-bug-keys":87,"./_html":95,"./_object-dps":115,"./_shared-key":137}],114:[function(_dereq_,module,exports){ var anObject = _dereq_('./_an-object'); var IE8_DOM_DEFINE = _dereq_('./_ie8-dom-define'); var toPrimitive = _dereq_('./_to-primitive'); @@ -8867,7 +8861,7 @@ exports.f = _dereq_('./_descriptors') ? Object.defineProperty : function defineP return O; }; -},{"./_an-object":74,"./_descriptors":87,"./_ie8-dom-define":98,"./_to-primitive":149}],117:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_descriptors":85,"./_ie8-dom-define":96,"./_to-primitive":147}],115:[function(_dereq_,module,exports){ var dP = _dereq_('./_object-dp'); var anObject = _dereq_('./_an-object'); var getKeys = _dereq_('./_object-keys'); @@ -8882,7 +8876,7 @@ module.exports = _dereq_('./_descriptors') ? Object.defineProperties : function return O; }; -},{"./_an-object":74,"./_descriptors":87,"./_object-dp":116,"./_object-keys":124}],118:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_descriptors":85,"./_object-dp":114,"./_object-keys":122}],116:[function(_dereq_,module,exports){ var pIE = _dereq_('./_object-pie'); var createDesc = _dereq_('./_property-desc'); var toIObject = _dereq_('./_to-iobject'); @@ -8900,7 +8894,7 @@ exports.f = _dereq_('./_descriptors') ? gOPD : function getOwnPropertyDescriptor if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); }; -},{"./_descriptors":87,"./_has":95,"./_ie8-dom-define":98,"./_object-pie":125,"./_property-desc":131,"./_to-iobject":146,"./_to-primitive":149}],119:[function(_dereq_,module,exports){ +},{"./_descriptors":85,"./_has":93,"./_ie8-dom-define":96,"./_object-pie":123,"./_property-desc":129,"./_to-iobject":144,"./_to-primitive":147}],117:[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; @@ -8921,7 +8915,7 @@ module.exports.f = function getOwnPropertyNames(it) { return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); }; -},{"./_object-gopn":120,"./_to-iobject":146}],120:[function(_dereq_,module,exports){ +},{"./_object-gopn":118,"./_to-iobject":144}],118:[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'); @@ -8930,10 +8924,10 @@ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return $keys(O, hiddenKeys); }; -},{"./_enum-bug-keys":89,"./_object-keys-internal":123}],121:[function(_dereq_,module,exports){ +},{"./_enum-bug-keys":87,"./_object-keys-internal":121}],119:[function(_dereq_,module,exports){ exports.f = Object.getOwnPropertySymbols; -},{}],122:[function(_dereq_,module,exports){ +},{}],120:[function(_dereq_,module,exports){ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = _dereq_('./_has'); var toObject = _dereq_('./_to-object'); @@ -8948,7 +8942,7 @@ module.exports = Object.getPrototypeOf || function (O) { } return O instanceof Object ? ObjectProto : null; }; -},{"./_has":95,"./_shared-key":139,"./_to-object":148}],123:[function(_dereq_,module,exports){ +},{"./_has":93,"./_shared-key":137,"./_to-object":146}],121:[function(_dereq_,module,exports){ var has = _dereq_('./_has'); var toIObject = _dereq_('./_to-iobject'); var arrayIndexOf = _dereq_('./_array-includes')(false); @@ -8967,7 +8961,7 @@ module.exports = function (object, names) { return result; }; -},{"./_array-includes":75,"./_has":95,"./_shared-key":139,"./_to-iobject":146}],124:[function(_dereq_,module,exports){ +},{"./_array-includes":73,"./_has":93,"./_shared-key":137,"./_to-iobject":144}],122:[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'); @@ -8976,10 +8970,10 @@ module.exports = Object.keys || function keys(O) { return $keys(O, enumBugKeys); }; -},{"./_enum-bug-keys":89,"./_object-keys-internal":123}],125:[function(_dereq_,module,exports){ +},{"./_enum-bug-keys":87,"./_object-keys-internal":121}],123:[function(_dereq_,module,exports){ exports.f = {}.propertyIsEnumerable; -},{}],126:[function(_dereq_,module,exports){ +},{}],124:[function(_dereq_,module,exports){ // most Object methods by ES6 should accept primitives var $export = _dereq_('./_export'); var core = _dereq_('./_core'); @@ -8991,7 +8985,7 @@ module.exports = function (KEY, exec) { $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); }; -},{"./_core":83,"./_export":91,"./_fails":92}],127:[function(_dereq_,module,exports){ +},{"./_core":81,"./_export":89,"./_fails":90}],125:[function(_dereq_,module,exports){ var getKeys = _dereq_('./_object-keys'); var toIObject = _dereq_('./_to-iobject'); var isEnum = _dereq_('./_object-pie').f; @@ -9009,7 +9003,7 @@ module.exports = function (isEntries) { }; }; -},{"./_object-keys":124,"./_object-pie":125,"./_to-iobject":146}],128:[function(_dereq_,module,exports){ +},{"./_object-keys":122,"./_object-pie":123,"./_to-iobject":144}],126:[function(_dereq_,module,exports){ // all object keys, includes non-enumerable and symbols var gOPN = _dereq_('./_object-gopn'); var gOPS = _dereq_('./_object-gops'); @@ -9021,7 +9015,7 @@ module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { return getSymbols ? keys.concat(getSymbols(it)) : keys; }; -},{"./_an-object":74,"./_global":94,"./_object-gopn":120,"./_object-gops":121}],129:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_global":92,"./_object-gopn":118,"./_object-gops":119}],127:[function(_dereq_,module,exports){ module.exports = function (exec) { try { return { e: false, v: exec() }; @@ -9030,7 +9024,7 @@ module.exports = function (exec) { } }; -},{}],130:[function(_dereq_,module,exports){ +},{}],128:[function(_dereq_,module,exports){ var anObject = _dereq_('./_an-object'); var isObject = _dereq_('./_is-object'); var newPromiseCapability = _dereq_('./_new-promise-capability'); @@ -9044,7 +9038,7 @@ module.exports = function (C, x) { return promiseCapability.promise; }; -},{"./_an-object":74,"./_is-object":103,"./_new-promise-capability":113}],131:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_is-object":101,"./_new-promise-capability":111}],129:[function(_dereq_,module,exports){ module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), @@ -9054,7 +9048,7 @@ module.exports = function (bitmap, value) { }; }; -},{}],132:[function(_dereq_,module,exports){ +},{}],130:[function(_dereq_,module,exports){ var hide = _dereq_('./_hide'); module.exports = function (target, src, safe) { for (var key in src) { @@ -9063,10 +9057,10 @@ module.exports = function (target, src, safe) { } return target; }; -},{"./_hide":96}],133:[function(_dereq_,module,exports){ +},{"./_hide":94}],131:[function(_dereq_,module,exports){ module.exports = _dereq_('./_hide'); -},{"./_hide":96}],134:[function(_dereq_,module,exports){ +},{"./_hide":94}],132:[function(_dereq_,module,exports){ 'use strict'; // https://tc39.github.io/proposal-setmap-offrom/ var $export = _dereq_('./_export'); @@ -9096,7 +9090,7 @@ module.exports = function (COLLECTION) { } }); }; -},{"./_a-function":71,"./_ctx":85,"./_export":91,"./_for-of":93}],135:[function(_dereq_,module,exports){ +},{"./_a-function":69,"./_ctx":83,"./_export":89,"./_for-of":91}],133:[function(_dereq_,module,exports){ 'use strict'; // https://tc39.github.io/proposal-setmap-offrom/ var $export = _dereq_('./_export'); @@ -9110,7 +9104,7 @@ module.exports = function (COLLECTION) { } }); }; -},{"./_export":91}],136:[function(_dereq_,module,exports){ +},{"./_export":89}],134:[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'); @@ -9137,7 +9131,7 @@ module.exports = { check: check }; -},{"./_an-object":74,"./_ctx":85,"./_is-object":103,"./_object-gopd":118}],137:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_ctx":83,"./_is-object":101,"./_object-gopd":116}],135:[function(_dereq_,module,exports){ 'use strict'; var global = _dereq_('./_global'); var core = _dereq_('./_core'); @@ -9153,7 +9147,7 @@ module.exports = function (KEY) { }); }; -},{"./_core":83,"./_descriptors":87,"./_global":94,"./_object-dp":116,"./_wks":154}],138:[function(_dereq_,module,exports){ +},{"./_core":81,"./_descriptors":85,"./_global":92,"./_object-dp":114,"./_wks":152}],136:[function(_dereq_,module,exports){ var def = _dereq_('./_object-dp').f; var has = _dereq_('./_has'); var TAG = _dereq_('./_wks')('toStringTag'); @@ -9162,14 +9156,14 @@ module.exports = function (it, tag, stat) { if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); }; -},{"./_has":95,"./_object-dp":116,"./_wks":154}],139:[function(_dereq_,module,exports){ +},{"./_has":93,"./_object-dp":114,"./_wks":152}],137:[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":140,"./_uid":150}],140:[function(_dereq_,module,exports){ +},{"./_shared":138,"./_uid":148}],138:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var SHARED = '__core-js_shared__'; var store = global[SHARED] || (global[SHARED] = {}); @@ -9177,7 +9171,7 @@ module.exports = function (key) { return store[key] || (store[key] = {}); }; -},{"./_global":94}],141:[function(_dereq_,module,exports){ +},{"./_global":92}],139:[function(_dereq_,module,exports){ // 7.3.20 SpeciesConstructor(O, defaultConstructor) var anObject = _dereq_('./_an-object'); var aFunction = _dereq_('./_a-function'); @@ -9188,7 +9182,7 @@ module.exports = function (O, D) { return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); }; -},{"./_a-function":71,"./_an-object":74,"./_wks":154}],142:[function(_dereq_,module,exports){ +},{"./_a-function":69,"./_an-object":72,"./_wks":152}],140:[function(_dereq_,module,exports){ var toInteger = _dereq_('./_to-integer'); var defined = _dereq_('./_defined'); // true -> String#at @@ -9207,7 +9201,7 @@ module.exports = function (TO_STRING) { }; }; -},{"./_defined":86,"./_to-integer":145}],143:[function(_dereq_,module,exports){ +},{"./_defined":84,"./_to-integer":143}],141:[function(_dereq_,module,exports){ var ctx = _dereq_('./_ctx'); var invoke = _dereq_('./_invoke'); var html = _dereq_('./_html'); @@ -9293,7 +9287,7 @@ module.exports = { clear: clearTask }; -},{"./_cof":80,"./_ctx":85,"./_dom-create":88,"./_global":94,"./_html":97,"./_invoke":99}],144:[function(_dereq_,module,exports){ +},{"./_cof":78,"./_ctx":83,"./_dom-create":86,"./_global":92,"./_html":95,"./_invoke":97}],142:[function(_dereq_,module,exports){ var toInteger = _dereq_('./_to-integer'); var max = Math.max; var min = Math.min; @@ -9302,7 +9296,7 @@ module.exports = function (index, length) { return index < 0 ? max(index + length, 0) : min(index, length); }; -},{"./_to-integer":145}],145:[function(_dereq_,module,exports){ +},{"./_to-integer":143}],143:[function(_dereq_,module,exports){ // 7.1.4 ToInteger var ceil = Math.ceil; var floor = Math.floor; @@ -9310,7 +9304,7 @@ module.exports = function (it) { return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; -},{}],146:[function(_dereq_,module,exports){ +},{}],144:[function(_dereq_,module,exports){ // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = _dereq_('./_iobject'); var defined = _dereq_('./_defined'); @@ -9318,7 +9312,7 @@ module.exports = function (it) { return IObject(defined(it)); }; -},{"./_defined":86,"./_iobject":100}],147:[function(_dereq_,module,exports){ +},{"./_defined":84,"./_iobject":98}],145:[function(_dereq_,module,exports){ // 7.1.15 ToLength var toInteger = _dereq_('./_to-integer'); var min = Math.min; @@ -9326,14 +9320,14 @@ module.exports = function (it) { return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; -},{"./_to-integer":145}],148:[function(_dereq_,module,exports){ +},{"./_to-integer":143}],146:[function(_dereq_,module,exports){ // 7.1.13 ToObject(argument) var defined = _dereq_('./_defined'); module.exports = function (it) { return Object(defined(it)); }; -},{"./_defined":86}],149:[function(_dereq_,module,exports){ +},{"./_defined":84}],147:[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 @@ -9347,21 +9341,21 @@ module.exports = function (it, S) { throw TypeError("Can't convert object to primitive value"); }; -},{"./_is-object":103}],150:[function(_dereq_,module,exports){ +},{"./_is-object":101}],148:[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)); }; -},{}],151:[function(_dereq_,module,exports){ +},{}],149:[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":103}],152:[function(_dereq_,module,exports){ +},{"./_is-object":101}],150:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var core = _dereq_('./_core'); var LIBRARY = _dereq_('./_library'); @@ -9372,10 +9366,10 @@ module.exports = function (name) { if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); }; -},{"./_core":83,"./_global":94,"./_library":110,"./_object-dp":116,"./_wks-ext":153}],153:[function(_dereq_,module,exports){ +},{"./_core":81,"./_global":92,"./_library":108,"./_object-dp":114,"./_wks-ext":151}],151:[function(_dereq_,module,exports){ exports.f = _dereq_('./_wks'); -},{"./_wks":154}],154:[function(_dereq_,module,exports){ +},{"./_wks":152}],152:[function(_dereq_,module,exports){ var store = _dereq_('./_shared')('wks'); var uid = _dereq_('./_uid'); var Symbol = _dereq_('./_global').Symbol; @@ -9388,7 +9382,7 @@ var $exports = module.exports = function (name) { $exports.store = store; -},{"./_global":94,"./_shared":140,"./_uid":150}],155:[function(_dereq_,module,exports){ +},{"./_global":92,"./_shared":138,"./_uid":148}],153:[function(_dereq_,module,exports){ var classof = _dereq_('./_classof'); var ITERATOR = _dereq_('./_wks')('iterator'); var Iterators = _dereq_('./_iterators'); @@ -9398,7 +9392,7 @@ module.exports = _dereq_('./_core').getIteratorMethod = function (it) { || Iterators[classof(it)]; }; -},{"./_classof":79,"./_core":83,"./_iterators":109,"./_wks":154}],156:[function(_dereq_,module,exports){ +},{"./_classof":77,"./_core":81,"./_iterators":107,"./_wks":152}],154:[function(_dereq_,module,exports){ var anObject = _dereq_('./_an-object'); var get = _dereq_('./core.get-iterator-method'); module.exports = _dereq_('./_core').getIterator = function (it) { @@ -9407,7 +9401,7 @@ module.exports = _dereq_('./_core').getIterator = function (it) { return anObject(iterFn.call(it)); }; -},{"./_an-object":74,"./_core":83,"./core.get-iterator-method":155}],157:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_core":81,"./core.get-iterator-method":153}],155:[function(_dereq_,module,exports){ var classof = _dereq_('./_classof'); var ITERATOR = _dereq_('./_wks')('iterator'); var Iterators = _dereq_('./_iterators'); @@ -9419,7 +9413,7 @@ module.exports = _dereq_('./_core').isIterable = function (it) { || Iterators.hasOwnProperty(classof(O)); }; -},{"./_classof":79,"./_core":83,"./_iterators":109,"./_wks":154}],158:[function(_dereq_,module,exports){ +},{"./_classof":77,"./_core":81,"./_iterators":107,"./_wks":152}],156:[function(_dereq_,module,exports){ 'use strict'; var ctx = _dereq_('./_ctx'); var $export = _dereq_('./_export'); @@ -9458,7 +9452,7 @@ $export($export.S + $export.F * !_dereq_('./_iter-detect')(function (iter) { Arr } }); -},{"./_create-property":84,"./_ctx":85,"./_export":91,"./_is-array-iter":101,"./_iter-call":104,"./_iter-detect":107,"./_to-length":147,"./_to-object":148,"./core.get-iterator-method":155}],159:[function(_dereq_,module,exports){ +},{"./_create-property":82,"./_ctx":83,"./_export":89,"./_is-array-iter":99,"./_iter-call":102,"./_iter-detect":105,"./_to-length":145,"./_to-object":146,"./core.get-iterator-method":153}],157:[function(_dereq_,module,exports){ 'use strict'; var addToUnscopables = _dereq_('./_add-to-unscopables'); var step = _dereq_('./_iter-step'); @@ -9494,34 +9488,23 @@ addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); -},{"./_add-to-unscopables":72,"./_iter-define":106,"./_iter-step":108,"./_iterators":109,"./_to-iobject":146}],160:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":70,"./_iter-define":104,"./_iter-step":106,"./_iterators":107,"./_to-iobject":144}],158:[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":91,"./_object-assign":114}],161:[function(_dereq_,module,exports){ +},{"./_export":89,"./_object-assign":112}],159:[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":91,"./_object-create":115}],162:[function(_dereq_,module,exports){ +},{"./_export":89,"./_object-create":113}],160:[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":87,"./_export":91,"./_object-dp":116}],163:[function(_dereq_,module,exports){ -// 19.1.2.5 Object.freeze(O) -var isObject = _dereq_('./_is-object'); -var meta = _dereq_('./_meta').onFreeze; - -_dereq_('./_object-sap')('freeze', function ($freeze) { - return function freeze(it) { - return $freeze && isObject(it) ? $freeze(meta(it)) : it; - }; -}); - -},{"./_is-object":103,"./_meta":111,"./_object-sap":126}],164:[function(_dereq_,module,exports){ +},{"./_descriptors":85,"./_export":89,"./_object-dp":114}],161:[function(_dereq_,module,exports){ // 19.1.2.9 Object.getPrototypeOf(O) var toObject = _dereq_('./_to-object'); var $getPrototypeOf = _dereq_('./_object-gpo'); @@ -9532,14 +9515,14 @@ _dereq_('./_object-sap')('getPrototypeOf', function () { }; }); -},{"./_object-gpo":122,"./_object-sap":126,"./_to-object":148}],165:[function(_dereq_,module,exports){ +},{"./_object-gpo":120,"./_object-sap":124,"./_to-object":146}],162:[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":91,"./_set-proto":136}],166:[function(_dereq_,module,exports){ +},{"./_export":89,"./_set-proto":134}],163:[function(_dereq_,module,exports){ -},{}],167:[function(_dereq_,module,exports){ +},{}],164:[function(_dereq_,module,exports){ 'use strict'; var LIBRARY = _dereq_('./_library'); var global = _dereq_('./_global'); @@ -9814,7 +9797,7 @@ $export($export.S + $export.F * !(USE_NATIVE && _dereq_('./_iter-detect')(functi } }); -},{"./_a-function":71,"./_an-instance":73,"./_classof":79,"./_core":83,"./_ctx":85,"./_export":91,"./_for-of":93,"./_global":94,"./_is-object":103,"./_iter-detect":107,"./_library":110,"./_microtask":112,"./_new-promise-capability":113,"./_perform":129,"./_promise-resolve":130,"./_redefine-all":132,"./_set-species":137,"./_set-to-string-tag":138,"./_species-constructor":141,"./_task":143,"./_wks":154}],168:[function(_dereq_,module,exports){ +},{"./_a-function":69,"./_an-instance":71,"./_classof":77,"./_core":81,"./_ctx":83,"./_export":89,"./_for-of":91,"./_global":92,"./_is-object":101,"./_iter-detect":105,"./_library":108,"./_microtask":110,"./_new-promise-capability":111,"./_perform":127,"./_promise-resolve":128,"./_redefine-all":130,"./_set-species":135,"./_set-to-string-tag":136,"./_species-constructor":139,"./_task":141,"./_wks":152}],165:[function(_dereq_,module,exports){ 'use strict'; var $at = _dereq_('./_string-at')(true); @@ -9833,7 +9816,7 @@ _dereq_('./_iter-define')(String, 'String', function (iterated) { return { value: point, done: false }; }); -},{"./_iter-define":106,"./_string-at":142}],169:[function(_dereq_,module,exports){ +},{"./_iter-define":104,"./_string-at":140}],166:[function(_dereq_,module,exports){ 'use strict'; // ECMAScript 6 symbols shim var global = _dereq_('./_global'); @@ -10069,7 +10052,7 @@ setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] setToStringTag(global.JSON, 'JSON', true); -},{"./_an-object":74,"./_descriptors":87,"./_enum-keys":90,"./_export":91,"./_fails":92,"./_global":94,"./_has":95,"./_hide":96,"./_is-array":102,"./_is-object":103,"./_library":110,"./_meta":111,"./_object-create":115,"./_object-dp":116,"./_object-gopd":118,"./_object-gopn":120,"./_object-gopn-ext":119,"./_object-gops":121,"./_object-keys":124,"./_object-pie":125,"./_property-desc":131,"./_redefine":133,"./_set-to-string-tag":138,"./_shared":140,"./_to-iobject":146,"./_to-primitive":149,"./_uid":150,"./_wks":154,"./_wks-define":152,"./_wks-ext":153}],170:[function(_dereq_,module,exports){ +},{"./_an-object":72,"./_descriptors":85,"./_enum-keys":88,"./_export":89,"./_fails":90,"./_global":92,"./_has":93,"./_hide":94,"./_is-array":100,"./_is-object":101,"./_library":108,"./_meta":109,"./_object-create":113,"./_object-dp":114,"./_object-gopd":116,"./_object-gopn":118,"./_object-gopn-ext":117,"./_object-gops":119,"./_object-keys":122,"./_object-pie":123,"./_property-desc":129,"./_redefine":131,"./_set-to-string-tag":136,"./_shared":138,"./_to-iobject":144,"./_to-primitive":147,"./_uid":148,"./_wks":152,"./_wks-define":150,"./_wks-ext":151}],167:[function(_dereq_,module,exports){ 'use strict'; var weak = _dereq_('./_collection-weak'); var validate = _dereq_('./_validate-collection'); @@ -10085,7 +10068,7 @@ _dereq_('./_collection')(WEAK_SET, function (get) { } }, weak, false, true); -},{"./_collection":82,"./_collection-weak":81,"./_validate-collection":151}],171:[function(_dereq_,module,exports){ +},{"./_collection":80,"./_collection-weak":79,"./_validate-collection":149}],168:[function(_dereq_,module,exports){ // https://github.com/tc39/proposal-object-values-entries var $export = _dereq_('./_export'); var $entries = _dereq_('./_object-to-array')(true); @@ -10096,7 +10079,7 @@ $export($export.S, 'Object', { } }); -},{"./_export":91,"./_object-to-array":127}],172:[function(_dereq_,module,exports){ +},{"./_export":89,"./_object-to-array":125}],169:[function(_dereq_,module,exports){ // https://github.com/tc39/proposal-object-getownpropertydescriptors var $export = _dereq_('./_export'); var ownKeys = _dereq_('./_own-keys'); @@ -10120,7 +10103,7 @@ $export($export.S, 'Object', { } }); -},{"./_create-property":84,"./_export":91,"./_object-gopd":118,"./_own-keys":128,"./_to-iobject":146}],173:[function(_dereq_,module,exports){ +},{"./_create-property":82,"./_export":89,"./_object-gopd":116,"./_own-keys":126,"./_to-iobject":144}],170:[function(_dereq_,module,exports){ // https://github.com/tc39/proposal-object-values-entries var $export = _dereq_('./_export'); var $values = _dereq_('./_object-to-array')(false); @@ -10131,7 +10114,7 @@ $export($export.S, 'Object', { } }); -},{"./_export":91,"./_object-to-array":127}],174:[function(_dereq_,module,exports){ +},{"./_export":89,"./_object-to-array":125}],171:[function(_dereq_,module,exports){ // https://github.com/tc39/proposal-promise-finally 'use strict'; var $export = _dereq_('./_export'); @@ -10153,7 +10136,7 @@ $export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { ); } }); -},{"./_core":83,"./_export":91,"./_global":94,"./_promise-resolve":130,"./_species-constructor":141}],175:[function(_dereq_,module,exports){ +},{"./_core":81,"./_export":89,"./_global":92,"./_promise-resolve":128,"./_species-constructor":139}],172:[function(_dereq_,module,exports){ 'use strict'; // https://github.com/tc39/proposal-promise-try var $export = _dereq_('./_export'); @@ -10167,21 +10150,21 @@ $export($export.S, 'Promise', { 'try': function (callbackfn) { return promiseCapability.promise; } }); -},{"./_export":91,"./_new-promise-capability":113,"./_perform":129}],176:[function(_dereq_,module,exports){ +},{"./_export":89,"./_new-promise-capability":111,"./_perform":127}],173:[function(_dereq_,module,exports){ _dereq_('./_wks-define')('asyncIterator'); -},{"./_wks-define":152}],177:[function(_dereq_,module,exports){ +},{"./_wks-define":150}],174:[function(_dereq_,module,exports){ _dereq_('./_wks-define')('observable'); -},{"./_wks-define":152}],178:[function(_dereq_,module,exports){ +},{"./_wks-define":150}],175:[function(_dereq_,module,exports){ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from _dereq_('./_set-collection-from')('WeakSet'); -},{"./_set-collection-from":134}],179:[function(_dereq_,module,exports){ +},{"./_set-collection-from":132}],176:[function(_dereq_,module,exports){ // https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of _dereq_('./_set-collection-of')('WeakSet'); -},{"./_set-collection-of":135}],180:[function(_dereq_,module,exports){ +},{"./_set-collection-of":133}],177:[function(_dereq_,module,exports){ _dereq_('./es6.array.iterator'); var global = _dereq_('./_global'); var hide = _dereq_('./_hide'); @@ -10202,9 +10185,9 @@ for (var i = 0; i < DOMIterables.length; i++) { Iterators[NAME] = Iterators.Array; } -},{"./_global":94,"./_hide":96,"./_iterators":109,"./_wks":154,"./es6.array.iterator":159}],181:[function(_dereq_,module,exports){ -arguments[4][71][0].apply(exports,arguments) -},{"dup":71}],182:[function(_dereq_,module,exports){ +},{"./_global":92,"./_hide":94,"./_iterators":107,"./_wks":152,"./es6.array.iterator":157}],178:[function(_dereq_,module,exports){ +arguments[4][69][0].apply(exports,arguments) +},{"dup":69}],179:[function(_dereq_,module,exports){ // 22.1.3.31 Array.prototype[@@unscopables] var UNSCOPABLES = _dereq_('./_wks')('unscopables'); var ArrayProto = Array.prototype; @@ -10213,11 +10196,11 @@ module.exports = function (key) { ArrayProto[UNSCOPABLES][key] = true; }; -},{"./_hide":206,"./_wks":262}],183:[function(_dereq_,module,exports){ -arguments[4][73][0].apply(exports,arguments) -},{"dup":73}],184:[function(_dereq_,module,exports){ -arguments[4][74][0].apply(exports,arguments) -},{"./_is-object":213,"dup":74}],185:[function(_dereq_,module,exports){ +},{"./_hide":203,"./_wks":259}],180:[function(_dereq_,module,exports){ +arguments[4][71][0].apply(exports,arguments) +},{"dup":71}],181:[function(_dereq_,module,exports){ +arguments[4][72][0].apply(exports,arguments) +},{"./_is-object":210,"dup":72}],182:[function(_dereq_,module,exports){ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) 'use strict'; var toObject = _dereq_('./_to-object'); @@ -10245,7 +10228,7 @@ module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* } return O; }; -},{"./_to-absolute-index":249,"./_to-length":253,"./_to-object":254}],186:[function(_dereq_,module,exports){ +},{"./_to-absolute-index":246,"./_to-length":250,"./_to-object":251}],183:[function(_dereq_,module,exports){ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) 'use strict'; var toObject = _dereq_('./_to-object'); @@ -10262,35 +10245,35 @@ module.exports = function fill(value /* , start = 0, end = @length */) { return O; }; -},{"./_to-absolute-index":249,"./_to-length":253,"./_to-object":254}],187:[function(_dereq_,module,exports){ +},{"./_to-absolute-index":246,"./_to-length":250,"./_to-object":251}],184:[function(_dereq_,module,exports){ +arguments[4][73][0].apply(exports,arguments) +},{"./_to-absolute-index":246,"./_to-iobject":249,"./_to-length":250,"dup":73}],185:[function(_dereq_,module,exports){ +arguments[4][74][0].apply(exports,arguments) +},{"./_array-species-create":187,"./_ctx":192,"./_iobject":207,"./_to-length":250,"./_to-object":251,"dup":74}],186:[function(_dereq_,module,exports){ arguments[4][75][0].apply(exports,arguments) -},{"./_to-absolute-index":249,"./_to-iobject":252,"./_to-length":253,"dup":75}],188:[function(_dereq_,module,exports){ +},{"./_is-array":209,"./_is-object":210,"./_wks":259,"dup":75}],187:[function(_dereq_,module,exports){ arguments[4][76][0].apply(exports,arguments) -},{"./_array-species-create":190,"./_ctx":195,"./_iobject":210,"./_to-length":253,"./_to-object":254,"dup":76}],189:[function(_dereq_,module,exports){ +},{"./_array-species-constructor":186,"dup":76}],188:[function(_dereq_,module,exports){ arguments[4][77][0].apply(exports,arguments) -},{"./_is-array":212,"./_is-object":213,"./_wks":262,"dup":77}],190:[function(_dereq_,module,exports){ +},{"./_cof":189,"./_wks":259,"dup":77}],189:[function(_dereq_,module,exports){ arguments[4][78][0].apply(exports,arguments) -},{"./_array-species-constructor":189,"dup":78}],191:[function(_dereq_,module,exports){ -arguments[4][79][0].apply(exports,arguments) -},{"./_cof":192,"./_wks":262,"dup":79}],192:[function(_dereq_,module,exports){ -arguments[4][80][0].apply(exports,arguments) -},{"dup":80}],193:[function(_dereq_,module,exports){ +},{"dup":78}],190:[function(_dereq_,module,exports){ +arguments[4][81][0].apply(exports,arguments) +},{"dup":81}],191:[function(_dereq_,module,exports){ +arguments[4][82][0].apply(exports,arguments) +},{"./_object-dp":223,"./_property-desc":235,"dup":82}],192:[function(_dereq_,module,exports){ arguments[4][83][0].apply(exports,arguments) -},{"dup":83}],194:[function(_dereq_,module,exports){ +},{"./_a-function":178,"dup":83}],193:[function(_dereq_,module,exports){ arguments[4][84][0].apply(exports,arguments) -},{"./_object-dp":226,"./_property-desc":238,"dup":84}],195:[function(_dereq_,module,exports){ +},{"dup":84}],194:[function(_dereq_,module,exports){ arguments[4][85][0].apply(exports,arguments) -},{"./_a-function":181,"dup":85}],196:[function(_dereq_,module,exports){ +},{"./_fails":199,"dup":85}],195:[function(_dereq_,module,exports){ arguments[4][86][0].apply(exports,arguments) -},{"dup":86}],197:[function(_dereq_,module,exports){ +},{"./_global":201,"./_is-object":210,"dup":86}],196:[function(_dereq_,module,exports){ arguments[4][87][0].apply(exports,arguments) -},{"./_fails":202,"dup":87}],198:[function(_dereq_,module,exports){ +},{"dup":87}],197:[function(_dereq_,module,exports){ arguments[4][88][0].apply(exports,arguments) -},{"./_global":204,"./_is-object":213,"dup":88}],199:[function(_dereq_,module,exports){ -arguments[4][89][0].apply(exports,arguments) -},{"dup":89}],200:[function(_dereq_,module,exports){ -arguments[4][90][0].apply(exports,arguments) -},{"./_object-gops":231,"./_object-keys":234,"./_object-pie":235,"dup":90}],201:[function(_dereq_,module,exports){ +},{"./_object-gops":228,"./_object-keys":231,"./_object-pie":232,"dup":88}],198:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var core = _dereq_('./_core'); var hide = _dereq_('./_hide'); @@ -10335,89 +10318,89 @@ $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; -},{"./_core":193,"./_ctx":195,"./_global":204,"./_hide":206,"./_redefine":240}],202:[function(_dereq_,module,exports){ +},{"./_core":190,"./_ctx":192,"./_global":201,"./_hide":203,"./_redefine":237}],199:[function(_dereq_,module,exports){ +arguments[4][90][0].apply(exports,arguments) +},{"dup":90}],200:[function(_dereq_,module,exports){ +arguments[4][91][0].apply(exports,arguments) +},{"./_an-object":181,"./_ctx":192,"./_is-array-iter":208,"./_iter-call":211,"./_to-length":250,"./core.get-iterator-method":260,"dup":91}],201:[function(_dereq_,module,exports){ arguments[4][92][0].apply(exports,arguments) -},{"dup":92}],203:[function(_dereq_,module,exports){ +},{"dup":92}],202:[function(_dereq_,module,exports){ arguments[4][93][0].apply(exports,arguments) -},{"./_an-object":184,"./_ctx":195,"./_is-array-iter":211,"./_iter-call":214,"./_to-length":253,"./core.get-iterator-method":263,"dup":93}],204:[function(_dereq_,module,exports){ +},{"dup":93}],203:[function(_dereq_,module,exports){ arguments[4][94][0].apply(exports,arguments) -},{"dup":94}],205:[function(_dereq_,module,exports){ +},{"./_descriptors":194,"./_object-dp":223,"./_property-desc":235,"dup":94}],204:[function(_dereq_,module,exports){ arguments[4][95][0].apply(exports,arguments) -},{"dup":95}],206:[function(_dereq_,module,exports){ +},{"./_global":201,"dup":95}],205:[function(_dereq_,module,exports){ arguments[4][96][0].apply(exports,arguments) -},{"./_descriptors":197,"./_object-dp":226,"./_property-desc":238,"dup":96}],207:[function(_dereq_,module,exports){ +},{"./_descriptors":194,"./_dom-create":195,"./_fails":199,"dup":96}],206:[function(_dereq_,module,exports){ arguments[4][97][0].apply(exports,arguments) -},{"./_global":204,"dup":97}],208:[function(_dereq_,module,exports){ +},{"dup":97}],207:[function(_dereq_,module,exports){ arguments[4][98][0].apply(exports,arguments) -},{"./_descriptors":197,"./_dom-create":198,"./_fails":202,"dup":98}],209:[function(_dereq_,module,exports){ +},{"./_cof":189,"dup":98}],208:[function(_dereq_,module,exports){ arguments[4][99][0].apply(exports,arguments) -},{"dup":99}],210:[function(_dereq_,module,exports){ +},{"./_iterators":216,"./_wks":259,"dup":99}],209:[function(_dereq_,module,exports){ arguments[4][100][0].apply(exports,arguments) -},{"./_cof":192,"dup":100}],211:[function(_dereq_,module,exports){ +},{"./_cof":189,"dup":100}],210:[function(_dereq_,module,exports){ arguments[4][101][0].apply(exports,arguments) -},{"./_iterators":219,"./_wks":262,"dup":101}],212:[function(_dereq_,module,exports){ +},{"dup":101}],211:[function(_dereq_,module,exports){ arguments[4][102][0].apply(exports,arguments) -},{"./_cof":192,"dup":102}],213:[function(_dereq_,module,exports){ +},{"./_an-object":181,"dup":102}],212:[function(_dereq_,module,exports){ arguments[4][103][0].apply(exports,arguments) -},{"dup":103}],214:[function(_dereq_,module,exports){ +},{"./_hide":203,"./_object-create":222,"./_property-desc":235,"./_set-to-string-tag":239,"./_wks":259,"dup":103}],213:[function(_dereq_,module,exports){ arguments[4][104][0].apply(exports,arguments) -},{"./_an-object":184,"dup":104}],215:[function(_dereq_,module,exports){ +},{"./_export":198,"./_has":202,"./_hide":203,"./_iter-create":212,"./_iterators":216,"./_library":217,"./_object-gpo":229,"./_redefine":237,"./_set-to-string-tag":239,"./_wks":259,"dup":104}],214:[function(_dereq_,module,exports){ arguments[4][105][0].apply(exports,arguments) -},{"./_hide":206,"./_object-create":225,"./_property-desc":238,"./_set-to-string-tag":242,"./_wks":262,"dup":105}],216:[function(_dereq_,module,exports){ +},{"./_wks":259,"dup":105}],215:[function(_dereq_,module,exports){ arguments[4][106][0].apply(exports,arguments) -},{"./_export":201,"./_has":205,"./_hide":206,"./_iter-create":215,"./_iterators":219,"./_library":220,"./_object-gpo":232,"./_redefine":240,"./_set-to-string-tag":242,"./_wks":262,"dup":106}],217:[function(_dereq_,module,exports){ +},{"dup":106}],216:[function(_dereq_,module,exports){ arguments[4][107][0].apply(exports,arguments) -},{"./_wks":262,"dup":107}],218:[function(_dereq_,module,exports){ -arguments[4][108][0].apply(exports,arguments) -},{"dup":108}],219:[function(_dereq_,module,exports){ -arguments[4][109][0].apply(exports,arguments) -},{"dup":109}],220:[function(_dereq_,module,exports){ +},{"dup":107}],217:[function(_dereq_,module,exports){ module.exports = false; -},{}],221:[function(_dereq_,module,exports){ +},{}],218:[function(_dereq_,module,exports){ +arguments[4][109][0].apply(exports,arguments) +},{"./_fails":199,"./_has":202,"./_is-object":210,"./_object-dp":223,"./_uid":256,"dup":109}],219:[function(_dereq_,module,exports){ +arguments[4][110][0].apply(exports,arguments) +},{"./_cof":189,"./_global":201,"./_task":245,"dup":110}],220:[function(_dereq_,module,exports){ arguments[4][111][0].apply(exports,arguments) -},{"./_fails":202,"./_has":205,"./_is-object":213,"./_object-dp":226,"./_uid":259,"dup":111}],222:[function(_dereq_,module,exports){ +},{"./_a-function":178,"dup":111}],221:[function(_dereq_,module,exports){ arguments[4][112][0].apply(exports,arguments) -},{"./_cof":192,"./_global":204,"./_task":248,"dup":112}],223:[function(_dereq_,module,exports){ +},{"./_fails":199,"./_iobject":207,"./_object-gops":228,"./_object-keys":231,"./_object-pie":232,"./_to-object":251,"dup":112}],222:[function(_dereq_,module,exports){ arguments[4][113][0].apply(exports,arguments) -},{"./_a-function":181,"dup":113}],224:[function(_dereq_,module,exports){ +},{"./_an-object":181,"./_dom-create":195,"./_enum-bug-keys":196,"./_html":204,"./_object-dps":224,"./_shared-key":240,"dup":113}],223:[function(_dereq_,module,exports){ arguments[4][114][0].apply(exports,arguments) -},{"./_fails":202,"./_iobject":210,"./_object-gops":231,"./_object-keys":234,"./_object-pie":235,"./_to-object":254,"dup":114}],225:[function(_dereq_,module,exports){ +},{"./_an-object":181,"./_descriptors":194,"./_ie8-dom-define":205,"./_to-primitive":252,"dup":114}],224:[function(_dereq_,module,exports){ arguments[4][115][0].apply(exports,arguments) -},{"./_an-object":184,"./_dom-create":198,"./_enum-bug-keys":199,"./_html":207,"./_object-dps":227,"./_shared-key":243,"dup":115}],226:[function(_dereq_,module,exports){ +},{"./_an-object":181,"./_descriptors":194,"./_object-dp":223,"./_object-keys":231,"dup":115}],225:[function(_dereq_,module,exports){ arguments[4][116][0].apply(exports,arguments) -},{"./_an-object":184,"./_descriptors":197,"./_ie8-dom-define":208,"./_to-primitive":255,"dup":116}],227:[function(_dereq_,module,exports){ +},{"./_descriptors":194,"./_has":202,"./_ie8-dom-define":205,"./_object-pie":232,"./_property-desc":235,"./_to-iobject":249,"./_to-primitive":252,"dup":116}],226:[function(_dereq_,module,exports){ arguments[4][117][0].apply(exports,arguments) -},{"./_an-object":184,"./_descriptors":197,"./_object-dp":226,"./_object-keys":234,"dup":117}],228:[function(_dereq_,module,exports){ +},{"./_object-gopn":227,"./_to-iobject":249,"dup":117}],227:[function(_dereq_,module,exports){ arguments[4][118][0].apply(exports,arguments) -},{"./_descriptors":197,"./_has":205,"./_ie8-dom-define":208,"./_object-pie":235,"./_property-desc":238,"./_to-iobject":252,"./_to-primitive":255,"dup":118}],229:[function(_dereq_,module,exports){ +},{"./_enum-bug-keys":196,"./_object-keys-internal":230,"dup":118}],228:[function(_dereq_,module,exports){ arguments[4][119][0].apply(exports,arguments) -},{"./_object-gopn":230,"./_to-iobject":252,"dup":119}],230:[function(_dereq_,module,exports){ +},{"dup":119}],229:[function(_dereq_,module,exports){ arguments[4][120][0].apply(exports,arguments) -},{"./_enum-bug-keys":199,"./_object-keys-internal":233,"dup":120}],231:[function(_dereq_,module,exports){ +},{"./_has":202,"./_shared-key":240,"./_to-object":251,"dup":120}],230:[function(_dereq_,module,exports){ arguments[4][121][0].apply(exports,arguments) -},{"dup":121}],232:[function(_dereq_,module,exports){ +},{"./_array-includes":184,"./_has":202,"./_shared-key":240,"./_to-iobject":249,"dup":121}],231:[function(_dereq_,module,exports){ arguments[4][122][0].apply(exports,arguments) -},{"./_has":205,"./_shared-key":243,"./_to-object":254,"dup":122}],233:[function(_dereq_,module,exports){ +},{"./_enum-bug-keys":196,"./_object-keys-internal":230,"dup":122}],232:[function(_dereq_,module,exports){ arguments[4][123][0].apply(exports,arguments) -},{"./_array-includes":187,"./_has":205,"./_shared-key":243,"./_to-iobject":252,"dup":123}],234:[function(_dereq_,module,exports){ -arguments[4][124][0].apply(exports,arguments) -},{"./_enum-bug-keys":199,"./_object-keys-internal":233,"dup":124}],235:[function(_dereq_,module,exports){ -arguments[4][125][0].apply(exports,arguments) -},{"dup":125}],236:[function(_dereq_,module,exports){ +},{"dup":123}],233:[function(_dereq_,module,exports){ +arguments[4][127][0].apply(exports,arguments) +},{"dup":127}],234:[function(_dereq_,module,exports){ +arguments[4][128][0].apply(exports,arguments) +},{"./_an-object":181,"./_is-object":210,"./_new-promise-capability":220,"dup":128}],235:[function(_dereq_,module,exports){ arguments[4][129][0].apply(exports,arguments) -},{"dup":129}],237:[function(_dereq_,module,exports){ -arguments[4][130][0].apply(exports,arguments) -},{"./_an-object":184,"./_is-object":213,"./_new-promise-capability":223,"dup":130}],238:[function(_dereq_,module,exports){ -arguments[4][131][0].apply(exports,arguments) -},{"dup":131}],239:[function(_dereq_,module,exports){ +},{"dup":129}],236:[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":240}],240:[function(_dereq_,module,exports){ +},{"./_redefine":237}],237:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var hide = _dereq_('./_hide'); var has = _dereq_('./_has'); @@ -10450,7 +10433,7 @@ _dereq_('./_core').inspectSource = function (it) { return typeof this == 'function' && this[SRC] || $toString.call(this); }); -},{"./_core":193,"./_global":204,"./_has":205,"./_hide":206,"./_uid":259}],241:[function(_dereq_,module,exports){ +},{"./_core":190,"./_global":201,"./_has":202,"./_hide":203,"./_uid":256}],238:[function(_dereq_,module,exports){ 'use strict'; var global = _dereq_('./_global'); var dP = _dereq_('./_object-dp'); @@ -10465,17 +10448,17 @@ module.exports = function (KEY) { }); }; -},{"./_descriptors":197,"./_global":204,"./_object-dp":226,"./_wks":262}],242:[function(_dereq_,module,exports){ +},{"./_descriptors":194,"./_global":201,"./_object-dp":223,"./_wks":259}],239:[function(_dereq_,module,exports){ +arguments[4][136][0].apply(exports,arguments) +},{"./_has":202,"./_object-dp":223,"./_wks":259,"dup":136}],240:[function(_dereq_,module,exports){ +arguments[4][137][0].apply(exports,arguments) +},{"./_shared":241,"./_uid":256,"dup":137}],241:[function(_dereq_,module,exports){ arguments[4][138][0].apply(exports,arguments) -},{"./_has":205,"./_object-dp":226,"./_wks":262,"dup":138}],243:[function(_dereq_,module,exports){ +},{"./_global":201,"dup":138}],242:[function(_dereq_,module,exports){ arguments[4][139][0].apply(exports,arguments) -},{"./_shared":244,"./_uid":259,"dup":139}],244:[function(_dereq_,module,exports){ +},{"./_a-function":178,"./_an-object":181,"./_wks":259,"dup":139}],243:[function(_dereq_,module,exports){ arguments[4][140][0].apply(exports,arguments) -},{"./_global":204,"dup":140}],245:[function(_dereq_,module,exports){ -arguments[4][141][0].apply(exports,arguments) -},{"./_a-function":181,"./_an-object":184,"./_wks":262,"dup":141}],246:[function(_dereq_,module,exports){ -arguments[4][142][0].apply(exports,arguments) -},{"./_defined":196,"./_to-integer":251,"dup":142}],247:[function(_dereq_,module,exports){ +},{"./_defined":193,"./_to-integer":248,"dup":140}],244:[function(_dereq_,module,exports){ 'use strict'; var toInteger = _dereq_('./_to-integer'); var defined = _dereq_('./_defined'); @@ -10489,11 +10472,11 @@ module.exports = function repeat(count) { return res; }; -},{"./_defined":196,"./_to-integer":251}],248:[function(_dereq_,module,exports){ -arguments[4][143][0].apply(exports,arguments) -},{"./_cof":192,"./_ctx":195,"./_dom-create":198,"./_global":204,"./_html":207,"./_invoke":209,"dup":143}],249:[function(_dereq_,module,exports){ -arguments[4][144][0].apply(exports,arguments) -},{"./_to-integer":251,"dup":144}],250:[function(_dereq_,module,exports){ +},{"./_defined":193,"./_to-integer":248}],245:[function(_dereq_,module,exports){ +arguments[4][141][0].apply(exports,arguments) +},{"./_cof":189,"./_ctx":192,"./_dom-create":195,"./_global":201,"./_html":204,"./_invoke":206,"dup":141}],246:[function(_dereq_,module,exports){ +arguments[4][142][0].apply(exports,arguments) +},{"./_to-integer":248,"dup":142}],247:[function(_dereq_,module,exports){ // https://tc39.github.io/ecma262/#sec-toindex var toInteger = _dereq_('./_to-integer'); var toLength = _dereq_('./_to-length'); @@ -10505,17 +10488,17 @@ module.exports = function (it) { return length; }; -},{"./_to-integer":251,"./_to-length":253}],251:[function(_dereq_,module,exports){ +},{"./_to-integer":248,"./_to-length":250}],248:[function(_dereq_,module,exports){ +arguments[4][143][0].apply(exports,arguments) +},{"dup":143}],249:[function(_dereq_,module,exports){ +arguments[4][144][0].apply(exports,arguments) +},{"./_defined":193,"./_iobject":207,"dup":144}],250:[function(_dereq_,module,exports){ arguments[4][145][0].apply(exports,arguments) -},{"dup":145}],252:[function(_dereq_,module,exports){ +},{"./_to-integer":248,"dup":145}],251:[function(_dereq_,module,exports){ arguments[4][146][0].apply(exports,arguments) -},{"./_defined":196,"./_iobject":210,"dup":146}],253:[function(_dereq_,module,exports){ +},{"./_defined":193,"dup":146}],252:[function(_dereq_,module,exports){ arguments[4][147][0].apply(exports,arguments) -},{"./_to-integer":251,"dup":147}],254:[function(_dereq_,module,exports){ -arguments[4][148][0].apply(exports,arguments) -},{"./_defined":196,"dup":148}],255:[function(_dereq_,module,exports){ -arguments[4][149][0].apply(exports,arguments) -},{"./_is-object":213,"dup":149}],256:[function(_dereq_,module,exports){ +},{"./_is-object":210,"dup":147}],253:[function(_dereq_,module,exports){ 'use strict'; if (_dereq_('./_descriptors')) { var LIBRARY = _dereq_('./_library'); @@ -10997,7 +10980,7 @@ if (_dereq_('./_descriptors')) { }; } else module.exports = function () { /* empty */ }; -},{"./_an-instance":183,"./_array-copy-within":185,"./_array-fill":186,"./_array-includes":187,"./_array-methods":188,"./_classof":191,"./_ctx":195,"./_descriptors":197,"./_export":201,"./_fails":202,"./_global":204,"./_has":205,"./_hide":206,"./_is-array-iter":211,"./_is-object":213,"./_iter-detect":217,"./_iterators":219,"./_library":220,"./_object-create":225,"./_object-dp":226,"./_object-gopd":228,"./_object-gopn":230,"./_object-gpo":232,"./_property-desc":238,"./_redefine-all":239,"./_set-species":241,"./_species-constructor":245,"./_to-absolute-index":249,"./_to-index":250,"./_to-integer":251,"./_to-length":253,"./_to-object":254,"./_to-primitive":255,"./_typed":258,"./_typed-buffer":257,"./_uid":259,"./_wks":262,"./core.get-iterator-method":263,"./es6.array.iterator":267}],257:[function(_dereq_,module,exports){ +},{"./_an-instance":180,"./_array-copy-within":182,"./_array-fill":183,"./_array-includes":184,"./_array-methods":185,"./_classof":188,"./_ctx":192,"./_descriptors":194,"./_export":198,"./_fails":199,"./_global":201,"./_has":202,"./_hide":203,"./_is-array-iter":208,"./_is-object":210,"./_iter-detect":214,"./_iterators":216,"./_library":217,"./_object-create":222,"./_object-dp":223,"./_object-gopd":225,"./_object-gopn":227,"./_object-gpo":229,"./_property-desc":235,"./_redefine-all":236,"./_set-species":238,"./_species-constructor":242,"./_to-absolute-index":246,"./_to-index":247,"./_to-integer":248,"./_to-length":250,"./_to-object":251,"./_to-primitive":252,"./_typed":255,"./_typed-buffer":254,"./_uid":256,"./_wks":259,"./core.get-iterator-method":260,"./es6.array.iterator":264}],254:[function(_dereq_,module,exports){ 'use strict'; var global = _dereq_('./_global'); var DESCRIPTORS = _dereq_('./_descriptors'); @@ -11275,7 +11258,7 @@ hide($DataView[PROTOTYPE], $typed.VIEW, true); exports[ARRAY_BUFFER] = $ArrayBuffer; exports[DATA_VIEW] = $DataView; -},{"./_an-instance":183,"./_array-fill":186,"./_descriptors":197,"./_fails":202,"./_global":204,"./_hide":206,"./_library":220,"./_object-dp":226,"./_object-gopn":230,"./_redefine-all":239,"./_set-to-string-tag":242,"./_to-index":250,"./_to-integer":251,"./_to-length":253,"./_typed":258}],258:[function(_dereq_,module,exports){ +},{"./_an-instance":180,"./_array-fill":183,"./_descriptors":194,"./_fails":199,"./_global":201,"./_hide":203,"./_library":217,"./_object-dp":223,"./_object-gopn":227,"./_redefine-all":236,"./_set-to-string-tag":239,"./_to-index":247,"./_to-integer":248,"./_to-length":250,"./_typed":255}],255:[function(_dereq_,module,exports){ var global = _dereq_('./_global'); var hide = _dereq_('./_hide'); var uid = _dereq_('./_uid'); @@ -11305,17 +11288,17 @@ module.exports = { VIEW: VIEW }; -},{"./_global":204,"./_hide":206,"./_uid":259}],259:[function(_dereq_,module,exports){ +},{"./_global":201,"./_hide":203,"./_uid":256}],256:[function(_dereq_,module,exports){ +arguments[4][148][0].apply(exports,arguments) +},{"dup":148}],257:[function(_dereq_,module,exports){ arguments[4][150][0].apply(exports,arguments) -},{"dup":150}],260:[function(_dereq_,module,exports){ +},{"./_core":190,"./_global":201,"./_library":217,"./_object-dp":223,"./_wks-ext":258,"dup":150}],258:[function(_dereq_,module,exports){ +arguments[4][151][0].apply(exports,arguments) +},{"./_wks":259,"dup":151}],259:[function(_dereq_,module,exports){ arguments[4][152][0].apply(exports,arguments) -},{"./_core":193,"./_global":204,"./_library":220,"./_object-dp":226,"./_wks-ext":261,"dup":152}],261:[function(_dereq_,module,exports){ +},{"./_global":201,"./_shared":241,"./_uid":256,"dup":152}],260:[function(_dereq_,module,exports){ arguments[4][153][0].apply(exports,arguments) -},{"./_wks":262,"dup":153}],262:[function(_dereq_,module,exports){ -arguments[4][154][0].apply(exports,arguments) -},{"./_global":204,"./_shared":244,"./_uid":259,"dup":154}],263:[function(_dereq_,module,exports){ -arguments[4][155][0].apply(exports,arguments) -},{"./_classof":191,"./_core":193,"./_iterators":219,"./_wks":262,"dup":155}],264:[function(_dereq_,module,exports){ +},{"./_classof":188,"./_core":190,"./_iterators":216,"./_wks":259,"dup":153}],261:[function(_dereq_,module,exports){ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) var $export = _dereq_('./_export'); @@ -11323,7 +11306,7 @@ $export($export.P, 'Array', { fill: _dereq_('./_array-fill') }); _dereq_('./_add-to-unscopables')('fill'); -},{"./_add-to-unscopables":182,"./_array-fill":186,"./_export":201}],265:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":179,"./_array-fill":183,"./_export":198}],262:[function(_dereq_,module,exports){ 'use strict'; // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) var $export = _dereq_('./_export'); @@ -11339,13 +11322,13 @@ $export($export.P + $export.F * forced, 'Array', { }); _dereq_('./_add-to-unscopables')(KEY); -},{"./_add-to-unscopables":182,"./_array-methods":188,"./_export":201}],266:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":179,"./_array-methods":185,"./_export":198}],263:[function(_dereq_,module,exports){ +arguments[4][156][0].apply(exports,arguments) +},{"./_create-property":191,"./_ctx":192,"./_export":198,"./_is-array-iter":208,"./_iter-call":211,"./_iter-detect":214,"./_to-length":250,"./_to-object":251,"./core.get-iterator-method":260,"dup":156}],264:[function(_dereq_,module,exports){ +arguments[4][157][0].apply(exports,arguments) +},{"./_add-to-unscopables":179,"./_iter-define":213,"./_iter-step":215,"./_iterators":216,"./_to-iobject":249,"dup":157}],265:[function(_dereq_,module,exports){ arguments[4][158][0].apply(exports,arguments) -},{"./_create-property":194,"./_ctx":195,"./_export":201,"./_is-array-iter":211,"./_iter-call":214,"./_iter-detect":217,"./_to-length":253,"./_to-object":254,"./core.get-iterator-method":263,"dup":158}],267:[function(_dereq_,module,exports){ -arguments[4][159][0].apply(exports,arguments) -},{"./_add-to-unscopables":182,"./_iter-define":216,"./_iter-step":218,"./_iterators":219,"./_to-iobject":252,"dup":159}],268:[function(_dereq_,module,exports){ -arguments[4][160][0].apply(exports,arguments) -},{"./_export":201,"./_object-assign":224,"dup":160}],269:[function(_dereq_,module,exports){ +},{"./_export":198,"./_object-assign":221,"dup":158}],266:[function(_dereq_,module,exports){ 'use strict'; // 19.1.3.6 Object.prototype.toString() var classof = _dereq_('./_classof'); @@ -11357,11 +11340,11 @@ if (test + '' != '[object z]') { }, true); } -},{"./_classof":191,"./_redefine":240,"./_wks":262}],270:[function(_dereq_,module,exports){ -arguments[4][167][0].apply(exports,arguments) -},{"./_a-function":181,"./_an-instance":183,"./_classof":191,"./_core":193,"./_ctx":195,"./_export":201,"./_for-of":203,"./_global":204,"./_is-object":213,"./_iter-detect":217,"./_library":220,"./_microtask":222,"./_new-promise-capability":223,"./_perform":236,"./_promise-resolve":237,"./_redefine-all":239,"./_set-species":241,"./_set-to-string-tag":242,"./_species-constructor":245,"./_task":248,"./_wks":262,"dup":167}],271:[function(_dereq_,module,exports){ -arguments[4][168][0].apply(exports,arguments) -},{"./_iter-define":216,"./_string-at":246,"dup":168}],272:[function(_dereq_,module,exports){ +},{"./_classof":188,"./_redefine":237,"./_wks":259}],267:[function(_dereq_,module,exports){ +arguments[4][164][0].apply(exports,arguments) +},{"./_a-function":178,"./_an-instance":180,"./_classof":188,"./_core":190,"./_ctx":192,"./_export":198,"./_for-of":200,"./_global":201,"./_is-object":210,"./_iter-detect":214,"./_library":217,"./_microtask":219,"./_new-promise-capability":220,"./_perform":233,"./_promise-resolve":234,"./_redefine-all":236,"./_set-species":238,"./_set-to-string-tag":239,"./_species-constructor":242,"./_task":245,"./_wks":259,"dup":164}],268:[function(_dereq_,module,exports){ +arguments[4][165][0].apply(exports,arguments) +},{"./_iter-define":213,"./_string-at":243,"dup":165}],269:[function(_dereq_,module,exports){ var $export = _dereq_('./_export'); $export($export.P, 'String', { @@ -11369,16 +11352,16 @@ $export($export.P, 'String', { repeat: _dereq_('./_string-repeat') }); -},{"./_export":201,"./_string-repeat":247}],273:[function(_dereq_,module,exports){ -arguments[4][169][0].apply(exports,arguments) -},{"./_an-object":184,"./_descriptors":197,"./_enum-keys":200,"./_export":201,"./_fails":202,"./_global":204,"./_has":205,"./_hide":206,"./_is-array":212,"./_is-object":213,"./_library":220,"./_meta":221,"./_object-create":225,"./_object-dp":226,"./_object-gopd":228,"./_object-gopn":230,"./_object-gopn-ext":229,"./_object-gops":231,"./_object-keys":234,"./_object-pie":235,"./_property-desc":238,"./_redefine":240,"./_set-to-string-tag":242,"./_shared":244,"./_to-iobject":252,"./_to-primitive":255,"./_uid":259,"./_wks":262,"./_wks-define":260,"./_wks-ext":261,"dup":169}],274:[function(_dereq_,module,exports){ +},{"./_export":198,"./_string-repeat":244}],270:[function(_dereq_,module,exports){ +arguments[4][166][0].apply(exports,arguments) +},{"./_an-object":181,"./_descriptors":194,"./_enum-keys":197,"./_export":198,"./_fails":199,"./_global":201,"./_has":202,"./_hide":203,"./_is-array":209,"./_is-object":210,"./_library":217,"./_meta":218,"./_object-create":222,"./_object-dp":223,"./_object-gopd":225,"./_object-gopn":227,"./_object-gopn-ext":226,"./_object-gops":228,"./_object-keys":231,"./_object-pie":232,"./_property-desc":235,"./_redefine":237,"./_set-to-string-tag":239,"./_shared":241,"./_to-iobject":249,"./_to-primitive":252,"./_uid":256,"./_wks":259,"./_wks-define":257,"./_wks-ext":258,"dup":166}],271:[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":256}],275:[function(_dereq_,module,exports){ +},{"./_typed-array":253}],272:[function(_dereq_,module,exports){ 'use strict'; // https://github.com/tc39/Array.prototype.includes var $export = _dereq_('./_export'); @@ -11392,15 +11375,15 @@ $export($export.P, 'Array', { _dereq_('./_add-to-unscopables')('includes'); -},{"./_add-to-unscopables":182,"./_array-includes":187,"./_export":201}],276:[function(_dereq_,module,exports){ +},{"./_add-to-unscopables":179,"./_array-includes":184,"./_export":198}],273:[function(_dereq_,module,exports){ +arguments[4][171][0].apply(exports,arguments) +},{"./_core":190,"./_export":198,"./_global":201,"./_promise-resolve":234,"./_species-constructor":242,"dup":171}],274:[function(_dereq_,module,exports){ +arguments[4][172][0].apply(exports,arguments) +},{"./_export":198,"./_new-promise-capability":220,"./_perform":233,"dup":172}],275:[function(_dereq_,module,exports){ +arguments[4][173][0].apply(exports,arguments) +},{"./_wks-define":257,"dup":173}],276:[function(_dereq_,module,exports){ arguments[4][174][0].apply(exports,arguments) -},{"./_core":193,"./_export":201,"./_global":204,"./_promise-resolve":237,"./_species-constructor":245,"dup":174}],277:[function(_dereq_,module,exports){ -arguments[4][175][0].apply(exports,arguments) -},{"./_export":201,"./_new-promise-capability":223,"./_perform":236,"dup":175}],278:[function(_dereq_,module,exports){ -arguments[4][176][0].apply(exports,arguments) -},{"./_wks-define":260,"dup":176}],279:[function(_dereq_,module,exports){ -arguments[4][177][0].apply(exports,arguments) -},{"./_wks-define":260,"dup":177}],280:[function(_dereq_,module,exports){ +},{"./_wks-define":257,"dup":174}],277:[function(_dereq_,module,exports){ var $iterators = _dereq_('./es6.array.iterator'); var getKeys = _dereq_('./_object-keys'); var redefine = _dereq_('./_redefine'); @@ -11460,7 +11443,7 @@ for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++ } } -},{"./_global":204,"./_hide":206,"./_iterators":219,"./_object-keys":234,"./_redefine":240,"./_wks":262,"./es6.array.iterator":267}],281:[function(_dereq_,module,exports){ +},{"./_global":201,"./_hide":203,"./_iterators":216,"./_object-keys":231,"./_redefine":237,"./_wks":259,"./es6.array.iterator":264}],278:[function(_dereq_,module,exports){ 'use strict'; var elliptic = exports; @@ -11475,7 +11458,7 @@ elliptic.curves = _dereq_('./elliptic/curves'); elliptic.ec = _dereq_('./elliptic/ec'); elliptic.eddsa = _dereq_('./elliptic/eddsa'); -},{"../package.json":296,"./elliptic/curve":284,"./elliptic/curves":287,"./elliptic/ec":288,"./elliptic/eddsa":291,"./elliptic/utils":295,"brorand":44}],282:[function(_dereq_,module,exports){ +},{"../package.json":293,"./elliptic/curve":281,"./elliptic/curves":284,"./elliptic/ec":285,"./elliptic/eddsa":288,"./elliptic/utils":292,"brorand":43}],279:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -11852,7 +11835,7 @@ BasePoint.prototype.dblp = function dblp(k) { return r; }; -},{"../../elliptic":281,"bn.js":43}],283:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"bn.js":42}],280:[function(_dereq_,module,exports){ 'use strict'; var curve = _dereq_('../curve'); @@ -12287,7 +12270,7 @@ Point.prototype.eqXToP = function eqXToP(x) { Point.prototype.toP = Point.prototype.normalize; Point.prototype.mixedAdd = Point.prototype.add; -},{"../../elliptic":281,"../curve":284,"bn.js":43,"inherits":311}],284:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"../curve":281,"bn.js":42,"inherits":308}],281:[function(_dereq_,module,exports){ 'use strict'; var curve = exports; @@ -12297,7 +12280,7 @@ curve.short = _dereq_('./short'); curve.mont = _dereq_('./mont'); curve.edwards = _dereq_('./edwards'); -},{"./base":282,"./edwards":283,"./mont":285,"./short":286}],285:[function(_dereq_,module,exports){ +},{"./base":279,"./edwards":280,"./mont":282,"./short":283}],282:[function(_dereq_,module,exports){ 'use strict'; var curve = _dereq_('../curve'); @@ -12500,7 +12483,7 @@ Point.prototype.getX = function getX() { return this.x.fromRed(); }; -},{"../../elliptic":281,"../curve":284,"bn.js":43,"inherits":311}],286:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"../curve":281,"bn.js":42,"inherits":308}],283:[function(_dereq_,module,exports){ 'use strict'; var curve = _dereq_('../curve'); @@ -13439,7 +13422,7 @@ JPoint.prototype.isInfinity = function isInfinity() { return this.z.cmpn(0) === 0; }; -},{"../../elliptic":281,"../curve":284,"bn.js":43,"inherits":311}],287:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"../curve":281,"bn.js":42,"inherits":308}],284:[function(_dereq_,module,exports){ 'use strict'; var curves = exports; @@ -13710,7 +13693,7 @@ defineCurve('secp256k1', { ] }); -},{"../elliptic":281,"./precomputed/secp256k1":294,"hash.js":298}],288:[function(_dereq_,module,exports){ +},{"../elliptic":278,"./precomputed/secp256k1":291,"hash.js":295}],285:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -13958,7 +13941,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) { throw new Error('Unable to find valid recovery factor'); }; -},{"../../elliptic":281,"./key":289,"./signature":290,"bn.js":43,"hmac-drbg":310}],289:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"./key":286,"./signature":287,"bn.js":42,"hmac-drbg":307}],286:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -14091,7 +14074,7 @@ KeyPair.prototype.inspect = function inspect() { ' pub: ' + (this.pub && this.pub.inspect()) + ' >'; }; -},{"../../elliptic":281,"bn.js":43}],290:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"bn.js":42}],287:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -14228,7 +14211,7 @@ Signature.prototype.toDER = function toDER(enc) { return utils.encode(res, enc); }; -},{"../../elliptic":281,"bn.js":43}],291:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"bn.js":42}],288:[function(_dereq_,module,exports){ 'use strict'; var hash = _dereq_('hash.js'); @@ -14370,7 +14353,7 @@ EDDSA.prototype.isPoint = function isPoint(val) { return val instanceof this.pointClass; }; -},{"../../elliptic":281,"./key":292,"./signature":293,"hash.js":298,"hmac-drbg":310}],292:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"./key":289,"./signature":290,"hash.js":295,"hmac-drbg":307}],289:[function(_dereq_,module,exports){ 'use strict'; var elliptic = _dereq_('../../elliptic'); @@ -14476,7 +14459,7 @@ KeyPair.prototype.getPublic = function getPublic(enc, compact) { module.exports = KeyPair; -},{"../../elliptic":281}],293:[function(_dereq_,module,exports){ +},{"../../elliptic":278}],290:[function(_dereq_,module,exports){ 'use strict'; var BN = _dereq_('bn.js'); @@ -14544,7 +14527,7 @@ Signature.prototype.toHex = function toHex() { module.exports = Signature; -},{"../../elliptic":281,"bn.js":43}],294:[function(_dereq_,module,exports){ +},{"../../elliptic":278,"bn.js":42}],291:[function(_dereq_,module,exports){ module.exports = { doubles: { step: 4, @@ -15326,7 +15309,7 @@ module.exports = { } }; -},{}],295:[function(_dereq_,module,exports){ +},{}],292:[function(_dereq_,module,exports){ 'use strict'; var utils = exports; @@ -15448,7 +15431,7 @@ function intFromLE(bytes) { utils.intFromLE = intFromLE; -},{"bn.js":43,"minimalistic-assert":312,"minimalistic-crypto-utils":313}],296:[function(_dereq_,module,exports){ +},{"bn.js":42,"minimalistic-assert":309,"minimalistic-crypto-utils":310}],293:[function(_dereq_,module,exports){ module.exports={ "_args": [ [ @@ -15537,7 +15520,7 @@ module.exports={ "version": "6.4.0" } -},{}],297:[function(_dereq_,module,exports){ +},{}],294:[function(_dereq_,module,exports){ // email-addresses.js - RFC 5322 email address parser // v 3.0.1 @@ -16610,7 +16593,7 @@ if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') { }(this)); -},{}],298:[function(_dereq_,module,exports){ +},{}],295:[function(_dereq_,module,exports){ var hash = exports; hash.utils = _dereq_('./hash/utils'); @@ -16627,7 +16610,7 @@ hash.sha384 = hash.sha.sha384; hash.sha512 = hash.sha.sha512; hash.ripemd160 = hash.ripemd.ripemd160; -},{"./hash/common":299,"./hash/hmac":300,"./hash/ripemd":301,"./hash/sha":302,"./hash/utils":309}],299:[function(_dereq_,module,exports){ +},{"./hash/common":296,"./hash/hmac":297,"./hash/ripemd":298,"./hash/sha":299,"./hash/utils":306}],296:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('./utils'); @@ -16721,7 +16704,7 @@ BlockHash.prototype._pad = function pad() { return res; }; -},{"./utils":309,"minimalistic-assert":312}],300:[function(_dereq_,module,exports){ +},{"./utils":306,"minimalistic-assert":309}],297:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('./utils'); @@ -16770,7 +16753,7 @@ Hmac.prototype.digest = function digest(enc) { return this.outer.digest(enc); }; -},{"./utils":309,"minimalistic-assert":312}],301:[function(_dereq_,module,exports){ +},{"./utils":306,"minimalistic-assert":309}],298:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('./utils'); @@ -16918,7 +16901,7 @@ var sh = [ 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]; -},{"./common":299,"./utils":309}],302:[function(_dereq_,module,exports){ +},{"./common":296,"./utils":306}],299:[function(_dereq_,module,exports){ 'use strict'; exports.sha1 = _dereq_('./sha/1'); @@ -16927,7 +16910,7 @@ exports.sha256 = _dereq_('./sha/256'); exports.sha384 = _dereq_('./sha/384'); exports.sha512 = _dereq_('./sha/512'); -},{"./sha/1":303,"./sha/224":304,"./sha/256":305,"./sha/384":306,"./sha/512":307}],303:[function(_dereq_,module,exports){ +},{"./sha/1":300,"./sha/224":301,"./sha/256":302,"./sha/384":303,"./sha/512":304}],300:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -17003,7 +16986,7 @@ SHA1.prototype._digest = function digest(enc) { return utils.split32(this.h, 'big'); }; -},{"../common":299,"../utils":309,"./common":308}],304:[function(_dereq_,module,exports){ +},{"../common":296,"../utils":306,"./common":305}],301:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -17035,7 +17018,7 @@ SHA224.prototype._digest = function digest(enc) { }; -},{"../utils":309,"./256":305}],305:[function(_dereq_,module,exports){ +},{"../utils":306,"./256":302}],302:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -17142,7 +17125,7 @@ SHA256.prototype._digest = function digest(enc) { return utils.split32(this.h, 'big'); }; -},{"../common":299,"../utils":309,"./common":308,"minimalistic-assert":312}],306:[function(_dereq_,module,exports){ +},{"../common":296,"../utils":306,"./common":305,"minimalistic-assert":309}],303:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -17179,7 +17162,7 @@ SHA384.prototype._digest = function digest(enc) { return utils.split32(this.h.slice(0, 12), 'big'); }; -},{"../utils":309,"./512":307}],307:[function(_dereq_,module,exports){ +},{"../utils":306,"./512":304}],304:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -17511,7 +17494,7 @@ function g1_512_lo(xh, xl) { return r; } -},{"../common":299,"../utils":309,"minimalistic-assert":312}],308:[function(_dereq_,module,exports){ +},{"../common":296,"../utils":306,"minimalistic-assert":309}],305:[function(_dereq_,module,exports){ 'use strict'; var utils = _dereq_('../utils'); @@ -17562,7 +17545,7 @@ function g1_256(x) { } exports.g1_256 = g1_256; -},{"../utils":309}],309:[function(_dereq_,module,exports){ +},{"../utils":306}],306:[function(_dereq_,module,exports){ 'use strict'; var assert = _dereq_('minimalistic-assert'); @@ -17817,7 +17800,7 @@ function shr64_lo(ah, al, num) { } exports.shr64_lo = shr64_lo; -},{"inherits":311,"minimalistic-assert":312}],310:[function(_dereq_,module,exports){ +},{"inherits":308,"minimalistic-assert":309}],307:[function(_dereq_,module,exports){ 'use strict'; var hash = _dereq_('hash.js'); @@ -17932,7 +17915,7 @@ HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { return utils.encode(res, enc); }; -},{"hash.js":298,"minimalistic-assert":312,"minimalistic-crypto-utils":313}],311:[function(_dereq_,module,exports){ +},{"hash.js":295,"minimalistic-assert":309,"minimalistic-crypto-utils":310}],308:[function(_dereq_,module,exports){ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { @@ -17957,7 +17940,7 @@ if (typeof Object.create === 'function') { } } -},{}],312:[function(_dereq_,module,exports){ +},{}],309:[function(_dereq_,module,exports){ module.exports = assert; function assert(val, msg) { @@ -17970,7 +17953,7 @@ assert.equal = function assertEqual(l, r, msg) { throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r)); }; -},{}],313:[function(_dereq_,module,exports){ +},{}],310:[function(_dereq_,module,exports){ 'use strict'; var utils = exports; @@ -18030,7 +18013,7 @@ utils.encode = function encode(arr, enc) { return arr; }; -},{}],314:[function(_dereq_,module,exports){ +},{}],311:[function(_dereq_,module,exports){ // Top level file is just a mixin of submodules & constants 'use strict'; @@ -18046,7 +18029,7 @@ assign(pako, deflate, inflate, constants); module.exports = pako; -},{"./lib/deflate":315,"./lib/inflate":316,"./lib/utils/common":317,"./lib/zlib/constants":320}],315:[function(_dereq_,module,exports){ +},{"./lib/deflate":312,"./lib/inflate":313,"./lib/utils/common":314,"./lib/zlib/constants":317}],312:[function(_dereq_,module,exports){ 'use strict'; @@ -18448,7 +18431,7 @@ exports.deflate = deflate; exports.deflateRaw = deflateRaw; exports.gzip = gzip; -},{"./utils/common":317,"./utils/strings":318,"./zlib/deflate":322,"./zlib/messages":327,"./zlib/zstream":329}],316:[function(_dereq_,module,exports){ +},{"./utils/common":314,"./utils/strings":315,"./zlib/deflate":319,"./zlib/messages":324,"./zlib/zstream":326}],313:[function(_dereq_,module,exports){ 'use strict'; @@ -18868,7 +18851,7 @@ exports.inflate = inflate; exports.inflateRaw = inflateRaw; exports.ungzip = inflate; -},{"./utils/common":317,"./utils/strings":318,"./zlib/constants":320,"./zlib/gzheader":323,"./zlib/inflate":325,"./zlib/messages":327,"./zlib/zstream":329}],317:[function(_dereq_,module,exports){ +},{"./utils/common":314,"./utils/strings":315,"./zlib/constants":317,"./zlib/gzheader":320,"./zlib/inflate":322,"./zlib/messages":324,"./zlib/zstream":326}],314:[function(_dereq_,module,exports){ 'use strict'; @@ -18975,7 +18958,7 @@ exports.setTyped = function (on) { exports.setTyped(TYPED_OK); -},{}],318:[function(_dereq_,module,exports){ +},{}],315:[function(_dereq_,module,exports){ // String encode/decode helpers 'use strict'; @@ -19162,7 +19145,7 @@ exports.utf8border = function (buf, max) { return (pos + _utf8len[buf[pos]] > max) ? pos : max; }; -},{"./common":317}],319:[function(_dereq_,module,exports){ +},{"./common":314}],316:[function(_dereq_,module,exports){ 'use strict'; // Note: adler32 takes 12% for level 0 and 2% for level 6. @@ -19215,7 +19198,7 @@ function adler32(adler, buf, len, pos) { module.exports = adler32; -},{}],320:[function(_dereq_,module,exports){ +},{}],317:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -19285,7 +19268,7 @@ module.exports = { //Z_NULL: null // Use -1 or null inline, depending on var type }; -},{}],321:[function(_dereq_,module,exports){ +},{}],318:[function(_dereq_,module,exports){ 'use strict'; // Note: we can't get significant speed boost here. @@ -19346,7 +19329,7 @@ function crc32(crc, buf, len, pos) { module.exports = crc32; -},{}],322:[function(_dereq_,module,exports){ +},{}],319:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -21222,7 +21205,7 @@ exports.deflatePrime = deflatePrime; exports.deflateTune = deflateTune; */ -},{"../utils/common":317,"./adler32":319,"./crc32":321,"./messages":327,"./trees":328}],323:[function(_dereq_,module,exports){ +},{"../utils/common":314,"./adler32":316,"./crc32":318,"./messages":324,"./trees":325}],320:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -21282,7 +21265,7 @@ function GZheader() { module.exports = GZheader; -},{}],324:[function(_dereq_,module,exports){ +},{}],321:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -21629,7 +21612,7 @@ module.exports = function inflate_fast(strm, start) { return; }; -},{}],325:[function(_dereq_,module,exports){ +},{}],322:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -23187,7 +23170,7 @@ exports.inflateSyncPoint = inflateSyncPoint; exports.inflateUndermine = inflateUndermine; */ -},{"../utils/common":317,"./adler32":319,"./crc32":321,"./inffast":324,"./inftrees":326}],326:[function(_dereq_,module,exports){ +},{"../utils/common":314,"./adler32":316,"./crc32":318,"./inffast":321,"./inftrees":323}],323:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -23532,7 +23515,7 @@ module.exports = function inflate_table(type, lens, lens_index, codes, table, ta return 0; }; -},{"../utils/common":317}],327:[function(_dereq_,module,exports){ +},{"../utils/common":314}],324:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -23566,7 +23549,7 @@ module.exports = { '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */ }; -},{}],328:[function(_dereq_,module,exports){ +},{}],325:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -24788,7 +24771,7 @@ exports._tr_flush_block = _tr_flush_block; exports._tr_tally = _tr_tally; exports._tr_align = _tr_align; -},{"../utils/common":317}],329:[function(_dereq_,module,exports){ +},{"../utils/common":314}],326:[function(_dereq_,module,exports){ 'use strict'; // (C) 1995-2013 Jean-loup Gailly and Mark Adler @@ -24837,193 +24820,7 @@ function ZStream() { module.exports = ZStream; -},{}],330:[function(_dereq_,module,exports){ -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } - - -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } - - - -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - -},{}],331:[function(_dereq_,module,exports){ +},{}],327:[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")(); @@ -25053,7 +24850,7 @@ if (hadRuntime) { } } -},{"./runtime":332}],332:[function(_dereq_,module,exports){ +},{"./runtime":328}],328:[function(_dereq_,module,exports){ /** * Copyright (c) 2014, Facebook, Inc. * All rights reserved. @@ -25785,7 +25582,932 @@ if (hadRuntime) { (function() { return this })() || Function("return this")() ); +},{}],329:[function(_dereq_,module,exports){ +/* +node-bzip - a pure-javascript Node.JS module for decoding bzip2 data + +Copyright (C) 2012 Eli Skeggs + +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 2.1 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, see +http://www.gnu.org/licenses/lgpl-2.1.html + +Adapted from bzip2.js, copyright 2011 antimatter15 (antimatter15@gmail.com). + +Based on micro-bunzip by Rob Landley (rob@landley.net). + +Based on bzip2 decompression code by Julian R Seward (jseward@acm.org), +which also acknowledges contributions by Mike Burrows, David Wheeler, +Peter Fenwick, Alistair Moffat, Radford Neal, Ian H. Witten, +Robert Sedgewick, and Jon L. Bentley. +*/ + +var BITMASK = [0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF]; + +// offset in bytes +var BitReader = function(stream) { + this.stream = stream; + this.bitOffset = 0; + this.curByte = 0; + this.hasByte = false; +}; + +BitReader.prototype._ensureByte = function() { + if (!this.hasByte) { + this.curByte = this.stream.readByte(); + this.hasByte = true; + } +}; + +// reads bits from the buffer +BitReader.prototype.read = function(bits) { + var result = 0; + while (bits > 0) { + this._ensureByte(); + var remaining = 8 - this.bitOffset; + // if we're in a byte + if (bits >= remaining) { + result <<= remaining; + result |= BITMASK[remaining] & this.curByte; + this.hasByte = false; + this.bitOffset = 0; + bits -= remaining; + } else { + result <<= bits; + var shift = remaining - bits; + result |= (this.curByte & (BITMASK[bits] << shift)) >> shift; + this.bitOffset += bits; + bits = 0; + } + } + return result; +}; + +// seek to an arbitrary point in the buffer (expressed in bits) +BitReader.prototype.seek = function(pos) { + var n_bit = pos % 8; + var n_byte = (pos - n_bit) / 8; + this.bitOffset = n_bit; + this.stream.seek(n_byte); + this.hasByte = false; +}; + +// reads 6 bytes worth of data using the read method +BitReader.prototype.pi = function() { + var buf = new Uint8Array(6), i; + for (i = 0; i < buf.length; i++) { + buf[i] = this.read(8); + } + return bufToHex(buf); +}; + +function bufToHex(buf) { + return Array.prototype.map.call(buf, x => ('00' + x.toString(16)).slice(-2)).join(''); +} + +module.exports = BitReader; + +},{}],330:[function(_dereq_,module,exports){ +/* CRC32, used in Bzip2 implementation. + * This is a port of CRC32.java from the jbzip2 implementation at + * https://code.google.com/p/jbzip2 + * which is: + * Copyright (c) 2011 Matthew Francis + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * This JavaScript implementation is: + * Copyright (c) 2013 C. Scott Ananian + * with the same licensing terms as Matthew Francis' original implementation. + */ +module.exports = (function() { + + /** + * A static CRC lookup table + */ + var crc32Lookup = new Uint32Array([ + 0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005, + 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd, + 0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9, 0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75, + 0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011, 0x791d4014, 0x7ddc5da3, 0x709f7b7a, 0x745e66cd, + 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039, 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5, + 0xbe2b5b58, 0xbaea46ef, 0xb7a96036, 0xb3687d81, 0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d, + 0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49, 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95, + 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1, 0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d, + 0x34867077, 0x30476dc0, 0x3d044b19, 0x39c556ae, 0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072, + 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16, 0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca, + 0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde, 0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02, + 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, 0x53dc6066, 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba, + 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e, 0xbfa1b04b, 0xbb60adfc, 0xb6238b25, 0xb2e29692, + 0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6, 0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a, + 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e, 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2, + 0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686, 0xd5b88683, 0xd1799b34, 0xdc3abded, 0xd8fba05a, + 0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637, 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb, + 0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f, 0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53, + 0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47, 0x36194d42, 0x32d850f5, 0x3f9b762c, 0x3b5a6b9b, + 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff, 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623, + 0xf12f560e, 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7, 0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b, + 0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f, 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3, + 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7, 0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b, + 0x9b3660c6, 0x9ff77d71, 0x92b45ba8, 0x9675461f, 0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3, + 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640, 0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c, + 0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8, 0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24, + 0x119b4be9, 0x155a565e, 0x18197087, 0x1cd86d30, 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec, + 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088, 0x2497d08d, 0x2056cd3a, 0x2d15ebe3, 0x29d4f654, + 0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0, 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c, + 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18, 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4, + 0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c, + 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4 + ]); + + var CRC32 = function() { + /** + * The current CRC + */ + var crc = 0xffffffff; + + /** + * @return The current CRC + */ + this.getCRC = function() { + return (~crc) >>> 0; // return an unsigned value + }; + + /** + * Update the CRC with a single byte + * @param value The value to update the CRC with + */ + this.updateCRC = function(value) { + crc = (crc << 8) ^ crc32Lookup[((crc >>> 24) ^ value) & 0xff]; + }; + + /** + * Update the CRC with a sequence of identical bytes + * @param value The value to update the CRC with + * @param count The number of bytes + */ + this.updateCRCRun = function(value, count) { + while (count-- > 0) { + crc = (crc << 8) ^ crc32Lookup[((crc >>> 24) ^ value) & 0xff]; + } + }; + }; + return CRC32; +})(); + +},{}],331:[function(_dereq_,module,exports){ +/* +seek-bzip - a pure-javascript module for seeking within bzip2 data + +Copyright (C) 2013 C. Scott Ananian +Copyright (C) 2012 Eli Skeggs +Copyright (C) 2011 Kevin Kwok + +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 2.1 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, see +http://www.gnu.org/licenses/lgpl-2.1.html + +Adapted from node-bzip, copyright 2012 Eli Skeggs. +Adapted from bzip2.js, copyright 2011 Kevin Kwok (antimatter15@gmail.com). + +Based on micro-bunzip by Rob Landley (rob@landley.net). + +Based on bzip2 decompression code by Julian R Seward (jseward@acm.org), +which also acknowledges contributions by Mike Burrows, David Wheeler, +Peter Fenwick, Alistair Moffat, Radford Neal, Ian H. Witten, +Robert Sedgewick, and Jon L. Bentley. +*/ + +var BitReader = _dereq_('./bitreader'); +var Stream = _dereq_('./stream'); +var CRC32 = _dereq_('./crc32'); +var pjson = _dereq_('../package.json'); + +var MAX_HUFCODE_BITS = 20; +var MAX_SYMBOLS = 258; +var SYMBOL_RUNA = 0; +var SYMBOL_RUNB = 1; +var MIN_GROUPS = 2; +var MAX_GROUPS = 6; +var GROUP_SIZE = 50; + +var WHOLEPI = "314159265359"; +var SQRTPI = "177245385090"; + +var mtf = function(array, index) { + var src = array[index], i; + for (i = index; i > 0; i--) { + array[i] = array[i-1]; + } + array[0] = src; + return src; +}; + +var Err = { + OK: 0, + LAST_BLOCK: -1, + NOT_BZIP_DATA: -2, + UNEXPECTED_INPUT_EOF: -3, + UNEXPECTED_OUTPUT_EOF: -4, + DATA_ERROR: -5, + OUT_OF_MEMORY: -6, + OBSOLETE_INPUT: -7, + END_OF_BLOCK: -8 +}; +var ErrorMessages = {}; +ErrorMessages[Err.LAST_BLOCK] = "Bad file checksum"; +ErrorMessages[Err.NOT_BZIP_DATA] = "Not bzip data"; +ErrorMessages[Err.UNEXPECTED_INPUT_EOF] = "Unexpected input EOF"; +ErrorMessages[Err.UNEXPECTED_OUTPUT_EOF] = "Unexpected output EOF"; +ErrorMessages[Err.DATA_ERROR] = "Data error"; +ErrorMessages[Err.OUT_OF_MEMORY] = "Out of memory"; +ErrorMessages[Err.OBSOLETE_INPUT] = "Obsolete (pre 0.9.5) bzip format not supported."; + +var _throw = function(status, optDetail) { + var msg = ErrorMessages[status] || 'unknown error'; + if (optDetail) { msg += ': '+optDetail; } + var e = new TypeError(msg); + e.errorCode = status; + throw e; +}; + +var Bunzip = function(inputStream, outputStream) { + this.writePos = this.writeCurrent = this.writeCount = 0; + + this._start_bunzip(inputStream, outputStream); +}; +Bunzip.prototype._init_block = function() { + var moreBlocks = this._get_next_block(); + if ( !moreBlocks ) { + this.writeCount = -1; + return false; /* no more blocks */ + } + this.blockCRC = new CRC32(); + return true; +}; +/* XXX micro-bunzip uses (inputStream, inputBuffer, len) as arguments */ +Bunzip.prototype._start_bunzip = function(inputStream, outputStream) { + /* Ensure that file starts with "BZh['1'-'9']." */ + var buf = new Uint8Array(4); + if (inputStream.read(buf, 0, 4) !== 4 || + String.fromCharCode(buf[0], buf[1], buf[2]) !== 'BZh') + _throw(Err.NOT_BZIP_DATA, 'bad magic'); + + var level = buf[3] - 0x30; + if (level < 1 || level > 9) + _throw(Err.NOT_BZIP_DATA, 'level out of range'); + + this.reader = new BitReader(inputStream); + + /* Fourth byte (ascii '1'-'9'), indicates block size in units of 100k of + uncompressed data. Allocate intermediate buffer for block. */ + this.dbufSize = 100000 * level; + this.nextoutput = 0; + this.outputStream = outputStream; + this.streamCRC = 0; +}; +Bunzip.prototype._get_next_block = function() { + var i, j, k; + var reader = this.reader; + // this is get_next_block() function from micro-bunzip: + /* Read in header signature and CRC, then validate signature. + (last block signature means CRC is for whole file, return now) */ + var h = reader.pi(); + if (h === SQRTPI) { // last block + return false; /* no more blocks */ + } + if (h !== WHOLEPI) + _throw(Err.NOT_BZIP_DATA); + this.targetBlockCRC = reader.read(32) >>> 0; // (convert to unsigned) + this.streamCRC = (this.targetBlockCRC ^ + ((this.streamCRC << 1) | (this.streamCRC>>>31))) >>> 0; + /* We can add support for blockRandomised if anybody complains. There was + some code for this in busybox 1.0.0-pre3, but nobody ever noticed that + it didn't actually work. */ + if (reader.read(1)) + _throw(Err.OBSOLETE_INPUT); + var origPointer = reader.read(24); + if (origPointer > this.dbufSize) + _throw(Err.DATA_ERROR, 'initial position out of bounds'); + /* mapping table: if some byte values are never used (encoding things + like ascii text), the compression code removes the gaps to have fewer + symbols to deal with, and writes a sparse bitfield indicating which + values were present. We make a translation table to convert the symbols + back to the corresponding bytes. */ + var t = reader.read(16); + var symToByte = new Uint8Array(256), symTotal = 0; + for (i = 0; i < 16; i++) { + if (t & (1 << (0xF - i))) { + var o = i * 16; + k = reader.read(16); + for (j = 0; j < 16; j++) + if (k & (1 << (0xF - j))) + symToByte[symTotal++] = o + j; + } + } + + /* How many different huffman coding groups does this block use? */ + var groupCount = reader.read(3); + if (groupCount < MIN_GROUPS || groupCount > MAX_GROUPS) + _throw(Err.DATA_ERROR); + /* nSelectors: Every GROUP_SIZE many symbols we select a new huffman coding + group. Read in the group selector list, which is stored as MTF encoded + bit runs. (MTF=Move To Front, as each value is used it's moved to the + start of the list.) */ + var nSelectors = reader.read(15); + if (nSelectors === 0) + _throw(Err.DATA_ERROR); + + var mtfSymbol = new Uint8Array(256); + for (i = 0; i < groupCount; i++) + mtfSymbol[i] = i; + + var selectors = new Uint8Array(nSelectors); // was 32768... + + for (i = 0; i < nSelectors; i++) { + /* Get next value */ + for (j = 0; reader.read(1); j++) + if (j >= groupCount) _throw(Err.DATA_ERROR); + /* Decode MTF to get the next selector */ + selectors[i] = mtf(mtfSymbol, j); + } + + /* Read the huffman coding tables for each group, which code for symTotal + literal symbols, plus two run symbols (RUNA, RUNB) */ + var symCount = symTotal + 2; + var groups = [], hufGroup; + for (j = 0; j < groupCount; j++) { + var length = new Uint8Array(symCount), temp = new Uint16Array(MAX_HUFCODE_BITS + 1); + /* Read huffman code lengths for each symbol. They're stored in + a way similar to mtf; record a starting value for the first symbol, + and an offset from the previous value for everys symbol after that. */ + t = reader.read(5); // lengths + for (i = 0; i < symCount; i++) { + for (;;) { + if (t < 1 || t > MAX_HUFCODE_BITS) _throw(Err.DATA_ERROR); + /* If first bit is 0, stop. Else second bit indicates whether + to increment or decrement the value. */ + if(!reader.read(1)) + break; + if(!reader.read(1)) + t++; + else + t--; + } + length[i] = t; + } + + /* Find largest and smallest lengths in this group */ + var minLen, maxLen; + minLen = maxLen = length[0]; + for (i = 1; i < symCount; i++) { + if (length[i] > maxLen) + maxLen = length[i]; + else if (length[i] < minLen) + minLen = length[i]; + } + + /* Calculate permute[], base[], and limit[] tables from length[]. + * + * permute[] is the lookup table for converting huffman coded symbols + * into decoded symbols. base[] is the amount to subtract from the + * value of a huffman symbol of a given length when using permute[]. + * + * limit[] indicates the largest numerical value a symbol with a given + * number of bits can have. This is how the huffman codes can vary in + * length: each code with a value>limit[length] needs another bit. + */ + hufGroup = {}; + groups.push(hufGroup); + hufGroup.permute = new Uint16Array(MAX_SYMBOLS); + hufGroup.limit = new Uint32Array(MAX_HUFCODE_BITS + 2); + hufGroup.base = new Uint32Array(MAX_HUFCODE_BITS + 1); + hufGroup.minLen = minLen; + hufGroup.maxLen = maxLen; + /* Calculate permute[]. Concurently, initialize temp[] and limit[]. */ + var pp = 0; + for (i = minLen; i <= maxLen; i++) { + temp[i] = hufGroup.limit[i] = 0; + for (t = 0; t < symCount; t++) + if (length[t] === i) + hufGroup.permute[pp++] = t; + } + /* Count symbols coded for at each bit length */ + for (i = 0; i < symCount; i++) + temp[length[i]]++; + /* Calculate limit[] (the largest symbol-coding value at each bit + * length, which is (previous limit<<1)+symbols at this level), and + * base[] (number of symbols to ignore at each bit length, which is + * limit minus the cumulative count of symbols coded for already). */ + pp = t = 0; + for (i = minLen; i < maxLen; i++) { + pp += temp[i]; + /* We read the largest possible symbol size and then unget bits + after determining how many we need, and those extra bits could + be set to anything. (They're noise from future symbols.) At + each level we're really only interested in the first few bits, + so here we set all the trailing to-be-ignored bits to 1 so they + don't affect the value>limit[length] comparison. */ + hufGroup.limit[i] = pp - 1; + pp <<= 1; + t += temp[i]; + hufGroup.base[i + 1] = pp - t; + } + hufGroup.limit[maxLen + 1] = Number.MAX_VALUE; /* Sentinal value for reading next sym. */ + hufGroup.limit[maxLen] = pp + temp[maxLen] - 1; + hufGroup.base[minLen] = 0; + } + /* We've finished reading and digesting the block header. Now read this + block's huffman coded symbols from the file and undo the huffman coding + and run length encoding, saving the result into dbuf[dbufCount++]=uc */ + + /* Initialize symbol occurrence counters and symbol Move To Front table */ + var byteCount = new Uint32Array(256); + for (i = 0; i < 256; i++) + mtfSymbol[i] = i; + /* Loop through compressed symbols. */ + var runPos = 0, dbufCount = 0, selector = 0, uc; + var dbuf = this.dbuf = new Uint32Array(this.dbufSize); + symCount = 0; + for (;;) { + /* Determine which huffman coding group to use. */ + if (!(symCount--)) { + symCount = GROUP_SIZE - 1; + if (selector >= nSelectors) { _throw(Err.DATA_ERROR); } + hufGroup = groups[selectors[selector++]]; + } + /* Read next huffman-coded symbol. */ + i = hufGroup.minLen; + j = reader.read(i); + for (;;i++) { + if (i > hufGroup.maxLen) { _throw(Err.DATA_ERROR); } + if (j <= hufGroup.limit[i]) + break; + j = (j << 1) | reader.read(1); + } + /* Huffman decode value to get nextSym (with bounds checking) */ + j -= hufGroup.base[i]; + if (j < 0 || j >= MAX_SYMBOLS) { _throw(Err.DATA_ERROR); } + var nextSym = hufGroup.permute[j]; + /* We have now decoded the symbol, which indicates either a new literal + byte, or a repeated run of the most recent literal byte. First, + check if nextSym indicates a repeated run, and if so loop collecting + how many times to repeat the last literal. */ + if (nextSym === SYMBOL_RUNA || nextSym === SYMBOL_RUNB) { + /* If this is the start of a new run, zero out counter */ + if (!runPos){ + runPos = 1; + t = 0; + } + /* Neat trick that saves 1 symbol: instead of or-ing 0 or 1 at + each bit position, add 1 or 2 instead. For example, + 1011 is 1<<0 + 1<<1 + 2<<2. 1010 is 2<<0 + 2<<1 + 1<<2. + You can make any bit pattern that way using 1 less symbol than + the basic or 0/1 method (except all bits 0, which would use no + symbols, but a run of length 0 doesn't mean anything in this + context). Thus space is saved. */ + if (nextSym === SYMBOL_RUNA) + t += runPos; + else + t += 2 * runPos; + runPos <<= 1; + continue; + } + /* When we hit the first non-run symbol after a run, we now know + how many times to repeat the last literal, so append that many + copies to our buffer of decoded symbols (dbuf) now. (The last + literal used is the one at the head of the mtfSymbol array.) */ + if (runPos){ + runPos = 0; + if (dbufCount + t > this.dbufSize) { _throw(Err.DATA_ERROR); } + uc = symToByte[mtfSymbol[0]]; + byteCount[uc] += t; + while (t--) + dbuf[dbufCount++] = uc; + } + /* Is this the terminating symbol? */ + if (nextSym > symTotal) + break; + /* At this point, nextSym indicates a new literal character. Subtract + one to get the position in the MTF array at which this literal is + currently to be found. (Note that the result can't be -1 or 0, + because 0 and 1 are RUNA and RUNB. But another instance of the + first symbol in the mtf array, position 0, would have been handled + as part of a run above. Therefore 1 unused mtf position minus + 2 non-literal nextSym values equals -1.) */ + if (dbufCount >= this.dbufSize) { _throw(Err.DATA_ERROR); } + i = nextSym - 1; + uc = mtf(mtfSymbol, i); + uc = symToByte[uc]; + /* We have our literal byte. Save it into dbuf. */ + byteCount[uc]++; + dbuf[dbufCount++] = uc; + } + /* At this point, we've read all the huffman-coded symbols (and repeated + runs) for this block from the input stream, and decoded them into the + intermediate buffer. There are dbufCount many decoded bytes in dbuf[]. + Now undo the Burrows-Wheeler transform on dbuf. + See http://dogma.net/markn/articles/bwt/bwt.htm + */ + if (origPointer < 0 || origPointer >= dbufCount) { _throw(Err.DATA_ERROR); } + /* Turn byteCount into cumulative occurrence counts of 0 to n-1. */ + j = 0; + for (i = 0; i < 256; i++) { + k = j + byteCount[i]; + byteCount[i] = j; + j = k; + } + /* Figure out what order dbuf would be in if we sorted it. */ + for (i = 0; i < dbufCount; i++) { + uc = dbuf[i] & 0xff; + dbuf[byteCount[uc]] |= (i << 8); + byteCount[uc]++; + } + /* Decode first byte by hand to initialize "previous" byte. Note that it + doesn't get output, and if the first three characters are identical + it doesn't qualify as a run (hence writeRunCountdown=5). */ + var pos = 0, current = 0, run = 0; + if (dbufCount) { + pos = dbuf[origPointer]; + current = (pos & 0xff); + pos >>= 8; + run = -1; + } + this.writePos = pos; + this.writeCurrent = current; + this.writeCount = dbufCount; + this.writeRun = run; + + return true; /* more blocks to come */ +}; +/* Undo burrows-wheeler transform on intermediate buffer to produce output. + If start_bunzip was initialized with out_fd=-1, then up to len bytes of + data are written to outbuf. Return value is number of bytes written or + error (all errors are negative numbers). If out_fd!=-1, outbuf and len + are ignored, data is written to out_fd and return is RETVAL_OK or error. +*/ +Bunzip.prototype._read_bunzip = function(outputBuffer, len) { + var copies, previous, outbyte; + /* james@jamestaylor.org: writeCount goes to -1 when the buffer is fully + decoded, which results in this returning RETVAL_LAST_BLOCK, also + equal to -1... Confusing, I'm returning 0 here to indicate no + bytes written into the buffer */ + if (this.writeCount < 0) { return 0; } + + var gotcount = 0; + var dbuf = this.dbuf, pos = this.writePos, current = this.writeCurrent; + var dbufCount = this.writeCount, outputsize = this.outputsize; + var run = this.writeRun; + + while (dbufCount) { + dbufCount--; + previous = current; + pos = dbuf[pos]; + current = pos & 0xff; + pos >>= 8; + if (run++ === 3){ + copies = current; + outbyte = previous; + current = -1; + } else { + copies = 1; + outbyte = current; + } + this.blockCRC.updateCRCRun(outbyte, copies); + while (copies--) { + this.outputStream.writeByte(outbyte); + this.nextoutput++; + } + if (current != previous) + run = 0; + } + this.writeCount = dbufCount; + // check CRC + if (this.blockCRC.getCRC() !== this.targetBlockCRC) { + _throw(Err.DATA_ERROR, "Bad block CRC "+ + "(got "+this.blockCRC.getCRC().toString(16)+ + " expected "+this.targetBlockCRC.toString(16)+")"); + } + return this.nextoutput; +}; + +var coerceInputStream = function(input) { + if ('readByte' in input) { return input; } + var inputStream = new Stream(); + inputStream.pos = 0; + inputStream.readByte = function() { return input[this.pos++]; }; + inputStream.seek = function(pos) { this.pos = pos; }; + inputStream.eof = function() { return this.pos >= input.length; }; + return inputStream; +}; +var coerceOutputStream = function(output) { + var outputStream = new Stream(); + var resizeOk = true; + if (output) { + if (typeof(output)==='number') { + outputStream.buffer = new Uint8Array(output); + resizeOk = false; + } else if ('writeByte' in output) { + return output; + } else { + outputStream.buffer = output; + resizeOk = false; + } + } else { + outputStream.buffer = new Uint8Array(16384); + } + outputStream.pos = 0; + outputStream.writeByte = function(_byte) { + if (resizeOk && this.pos >= this.buffer.length) { + var newBuffer = new Uint8Array(this.buffer.length*2); + newBuffer.set(this.buffer); + this.buffer = newBuffer; + } + this.buffer[this.pos++] = _byte; + }; + outputStream.getBuffer = function() { + // trim buffer + if (this.pos !== this.buffer.length) { + if (!resizeOk) + throw new TypeError('outputsize does not match decoded input'); + var newBuffer = new Uint8Array(this.pos); + newBuffer.set(this.buffer.subarray(0, this.pos)); + this.buffer = newBuffer; + } + return this.buffer; + }; + outputStream._coerced = true; + return outputStream; +}; + +/* Static helper functions */ +Bunzip.Err = Err; +// 'input' can be a stream or a buffer +// 'output' can be a stream or a buffer or a number (buffer size) +Bunzip.decode = function(input, output, multistream) { + // make a stream from a buffer, if necessary + var inputStream = coerceInputStream(input); + var outputStream = coerceOutputStream(output); + + var bz = new Bunzip(inputStream, outputStream); + while (true) { + if ('eof' in inputStream && inputStream.eof()) break; + if (bz._init_block()) { + bz._read_bunzip(); + } else { + var targetStreamCRC = bz.reader.read(32) >>> 0; // (convert to unsigned) + if (targetStreamCRC !== bz.streamCRC) { + _throw(Err.DATA_ERROR, "Bad stream CRC "+ + "(got "+bz.streamCRC.toString(16)+ + " expected "+targetStreamCRC.toString(16)+")"); + } + if (multistream && + 'eof' in inputStream && + !inputStream.eof()) { + // note that start_bunzip will also resync the bit reader to next byte + bz._start_bunzip(inputStream, outputStream); + } else break; + } + } + if ('getBuffer' in outputStream) + return outputStream.getBuffer(); +}; +Bunzip.decodeBlock = function(input, pos, output) { + // make a stream from a buffer, if necessary + var inputStream = coerceInputStream(input); + var outputStream = coerceOutputStream(output); + var bz = new Bunzip(inputStream, outputStream); + bz.reader.seek(pos); + /* Fill the decode buffer for the block */ + var moreBlocks = bz._get_next_block(); + if (moreBlocks) { + /* Init the CRC for writing */ + bz.blockCRC = new CRC32(); + + /* Zero this so the current byte from before the seek is not written */ + bz.writeCopies = 0; + + /* Decompress the block and write to stdout */ + bz._read_bunzip(); + // XXX keep writing? + } + if ('getBuffer' in outputStream) + return outputStream.getBuffer(); +}; +/* Reads bzip2 file from stream or buffer `input`, and invoke + * `callback(position, size)` once for each bzip2 block, + * where position gives the starting position (in *bits*) + * and size gives uncompressed size of the block (in *bytes*). */ +Bunzip.table = function(input, callback, multistream) { + // make a stream from a buffer, if necessary + var inputStream = new Stream(); + inputStream.delegate = coerceInputStream(input); + inputStream.pos = 0; + inputStream.readByte = function() { + this.pos++; + return this.delegate.readByte(); + }; + if (inputStream.delegate.eof) { + inputStream.eof = inputStream.delegate.eof.bind(inputStream.delegate); + } + var outputStream = new Stream(); + outputStream.pos = 0; + outputStream.writeByte = function() { this.pos++; }; + + var bz = new Bunzip(inputStream, outputStream); + var blockSize = bz.dbufSize; + while (true) { + if ('eof' in inputStream && inputStream.eof()) break; + + var position = inputStream.pos*8 + bz.reader.bitOffset; + if (bz.reader.hasByte) { position -= 8; } + + if (bz._init_block()) { + var start = outputStream.pos; + bz._read_bunzip(); + callback(position, outputStream.pos - start); + } else { + var crc = bz.reader.read(32); // (but we ignore the crc) + if (multistream && + 'eof' in inputStream && + !inputStream.eof()) { + // note that start_bunzip will also resync the bit reader to next byte + bz._start_bunzip(inputStream, outputStream); + console.assert(bz.dbufSize === blockSize, + "shouldn't change block size within multistream file"); + } else break; + } + } +}; + +Bunzip.Stream = Stream; + +Bunzip.version = pjson.version; +Bunzip.license = pjson.license; + +module.exports = Bunzip; + +},{"../package.json":333,"./bitreader":329,"./crc32":330,"./stream":332}],332:[function(_dereq_,module,exports){ +/* very simple input/output stream interface */ +var Stream = function() { +}; + +// input streams ////////////// +/** Returns the next byte, or -1 for EOF. */ +Stream.prototype.readByte = function() { + throw new Error("abstract method readByte() not implemented"); +}; +/** Attempts to fill the buffer; returns number of bytes read, or + * -1 for EOF. */ +Stream.prototype.read = function(buffer, bufOffset, length) { + var bytesRead = 0; + while (bytesRead < length) { + var c = this.readByte(); + if (c < 0) { // EOF + return (bytesRead===0) ? -1 : bytesRead; + } + buffer[bufOffset++] = c; + bytesRead++; + } + return bytesRead; +}; +Stream.prototype.seek = function(new_pos) { + throw new Error("abstract method seek() not implemented"); +}; + +// output streams /////////// +Stream.prototype.writeByte = function(_byte) { + throw new Error("abstract method readByte() not implemented"); +}; +Stream.prototype.write = function(buffer, bufOffset, length) { + var i; + for (i=0; i>> 3, - r = e - 8 * t;this.seek(t), this._eof = !1, this.readBits(r); - }, this.tellBit = function () { - for (var e = 8 * _t.tell(), n = r; 0 != (255 & n);) { - e--, n <<= 1; - }return e; - }, this.readByte = function () { - return 0 == (255 & r) ? _t.readByte() : this.readBits(8); - }, this.seek = function (e) { - _t.seek(e), r = 256; - }; - }).call(this), function () { - var e = 1;this.writeBit = function (r) { - e <<= 1, r && (e |= 1), 256 & e && (_t.writeByte(255 & e), e = 1); - }, this.writeByte = function (r) { - 1 === e ? _t.writeByte(r) : _t.writeBits(8, r); - }, this.flush = function () { - for (; 1 !== e;) { - this.writeBit(0); - }_t.flush && _t.flush(); - }; - }.call(this); - };return t.EOF = e.EOF, t.prototype = (0, _create2.default)(e.prototype), t.prototype.readBits = function (e) { - var t, - r = 0;if (e > 31) return (r = 65536 * this.readBits(e - 16)) + this.readBits(16);for (t = 0; t < e; t++) { - r <<= 1, this.readBit() > 0 && r++; - }return r; - }, t.prototype.writeBits = function (e, t) { - if (e > 32) { - var r = 65535 & t, - n = (t - r) / 65536;return this.writeBits(e - 16, n), void this.writeBits(16, r); - }var i;for (i = e - 1; i >= 0; i--) { - this.writeBit(t >>> i & 1); - } - }, t; -}(Stream), Util = function (e, t) { - var r = (0, _create2.default)(null), - n = t.EOF;r.coerceInputStream = function (e, r) { - if ("readByte" in e) { - if (r && !("read" in e)) { - var i = e;e = new t(), e.readByte = function () { - var e = i.readByte();return e === n && (this._eof = !0), e; - }, "size" in i && (e.size = i.size), "seek" in i && (e.seek = function (e) { - i.seek(e), this._eof = !1; - }), "tell" in i && (e.tell = i.tell.bind(i)); - } - } else { - var o = e;e = new t(), e.size = o.length, e.pos = 0, e.readByte = function () { - return this.pos >= this.size ? n : o[this.pos++]; - }, e.read = function (e, t, r) { - for (var n = 0; n < r && this.pos < o.length;) { - e[t++] = o[this.pos++], n++; - }return n; - }, e.seek = function (e) { - this.pos = e; - }, e.tell = function () { - return this.pos; - }, e.eof = function () { - return this.pos >= o.length; - }; - }return e; - };var i = function i(e, t) { - this.buffer = e, this.resizeOk = t, this.pos = 0; - };i.prototype = (0, _create2.default)(t.prototype), i.prototype.writeByte = function (e) { - if (this.resizeOk && this.pos >= this.buffer.length) { - var t = r.makeU8Buffer(2 * this.buffer.length);t.set(this.buffer), this.buffer = t; - }this.buffer[this.pos++] = e; - }, i.prototype.getBuffer = function () { - if (this.pos !== this.buffer.length) { - if (!this.resizeOk) throw new TypeError("outputsize does not match decoded input");var e = r.makeU8Buffer(this.pos);e.set(this.buffer.subarray(0, this.pos)), this.buffer = e; - }return this.buffer; - }, r.coerceOutputStream = function (e, t) { - var n = { stream: e, retval: e };if (e) { - if ("object" == (typeof e === "undefined" ? "undefined" : (0, _typeof3.default)(e)) && "writeByte" in e) return n;"number" == typeof t ? (console.assert(t >= 0), n.stream = new i(r.makeU8Buffer(t), !1)) : n.stream = new i(e, !1); - } else n.stream = new i(r.makeU8Buffer(16384), !0);return Object.defineProperty(n, "retval", { get: n.stream.getBuffer.bind(n.stream) }), n; - }, r.compressFileHelper = function (e, t, n) { - return function (i, o, f) { - i = r.coerceInputStream(i);var a = r.coerceOutputStream(o, o);o = a.stream;var u;for (u = 0; u < e.length; u++) { - o.writeByte(e.charCodeAt(u)); - }var s;if (s = "size" in i && i.size >= 0 ? i.size : -1, n) { - var c = r.coerceOutputStream([]);for (r.writeUnsignedNumber(c.stream, s + 1), c = c.retval, u = 0; u < c.length - 1; u++) { - o.writeByte(c[u]); - }n = c[c.length - 1]; - } else r.writeUnsignedNumber(o, s + 1);return t(i, o, s, f, n), a.retval; - }; - }, r.decompressFileHelper = function (e, t) { - return function (n, i) { - n = r.coerceInputStream(n);var o;for (o = 0; o < e.length; o++) { - if (e.charCodeAt(o) !== n.readByte()) throw new Error("Bad magic"); - }var f = r.readUnsignedNumber(n) - 1, - a = r.coerceOutputStream(i, f);return i = a.stream, t(n, i, f), a.retval; - }; - }, r.compressWithModel = function (e, t, r) { - for (var i = 0; i !== t;) { - var o = e.readByte();if (o === n) { - r.encode(256);break; - }r.encode(o), i++; - } - }, r.decompressWithModel = function (e, t, r) { - for (var n = 0; n !== t;) { - var i = r.decode();if (256 === i) break;e.writeByte(i), n++; - } - }, r.writeUnsignedNumber = function (e, t) { - console.assert(t >= 0);var r, - n = [];do { - n.push(127 & t), t = Math.floor(t / 128); - } while (0 !== t);for (n[0] |= 128, r = n.length - 1; r >= 0; r--) { - e.writeByte(n[r]); - }return e; - }, r.readUnsignedNumber = function (e) { - for (var t, r = 0;;) { - if (128 & (t = e.readByte())) { - r += 127 & t;break; - }r = 128 * (r + t); - }return r; - };var o = function o(e) { - for (var t = 0, r = e.length; t < r; t++) { - e[t] = 0; - }return e; - }, - f = function f(e) { - return o(new Array(e)); - }, - a = function a(e) { - return e; - };"undefined" != typeof process && Array.prototype.some.call(new Uint32Array(128), function (e) { - return 0 !== e; - }) && (a = o), r.makeU8Buffer = "undefined" != typeof Uint8Array ? function (e) { - return a(new Uint8Array(e)); - } : f, r.makeU16Buffer = "undefined" != typeof Uint16Array ? function (e) { - return a(new Uint16Array(e)); - } : f, r.makeU32Buffer = "undefined" != typeof Uint32Array ? function (e) { - return a(new Uint32Array(e)); - } : f, r.makeS32Buffer = "undefined" != typeof Int32Array ? function (e) { - return a(new Int32Array(e)); - } : f, r.arraycopy = function (e, t) { - console.assert(e.length >= t.length);for (var r = 0, n = t.length; r < n; r++) { - e[r] = t[r]; - }return e; - };var u = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8];console.assert(256 === u.length);var s = r.fls = function (e) { - return console.assert(e >= 0), e > 4294967295 ? 32 + s(Math.floor(e / 4294967296)) : 0 != (4294901760 & e) ? 0 != (4278190080 & e) ? 24 + u[e >>> 24 & 255] : 16 + u[e >>> 16] : 0 != (65280 & e) ? 8 + u[e >>> 8] : u[e]; - };return r.log2c = function (e) { - return 0 === e ? -1 : s(e - 1); - }, e(r); -}(freeze, Stream), BWT = function (e, t) { - var r = console.assert.bind(console), - n = function n(e, t, r, _n) { - var i;for (i = 0; i < _n; i++) { - t[i] = 0; - }for (i = 0; i < r; i++) { - t[e[i]]++; - } - }, - i = function i(e, t, r, n) { - var i, - o = 0;if (n) for (i = 0; i < r; i++) { - o += e[i], t[i] = o; - } else for (i = 0; i < r; i++) { - o += e[i], t[i] = o - e[i]; - } - }, - o = function o(e, t, _o, f, a, u) { - var s, c, h, l, d;for (_o === f && n(e, _o, a, u), i(_o, f, u, !1), h = a - 1, s = f[d = e[h]], h--, t[s++] = e[h] < d ? ~h : h, c = 0; c < a; c++) { - (h = t[c]) > 0 ? (r(e[h] >= e[h + 1]), (l = e[h]) !== d && (f[d] = s, s = f[d = l]), r(c < s), h--, t[s++] = e[h] < d ? ~h : h, t[c] = 0) : h < 0 && (t[c] = ~h); - }for (_o === f && n(e, _o, a, u), i(_o, f, u, 1), c = a - 1, s = f[d = 0]; c >= 0; c--) { - (h = t[c]) > 0 && (r(e[h] <= e[h + 1]), (l = e[h]) !== d && (f[d] = s, s = f[d = l]), r(s <= c), h--, t[--s] = e[h] > d ? ~(h + 1) : h, t[c] = 0); - } - }, - f = function f(e, t, n, i) { - var o, f, a, u, s, c, h, l, d, B;for (r(n > 0), o = 0; (a = t[o]) < 0; o++) { - t[o] = ~a, r(o + 1 < n); - }if (o < i) for (f = o, o++; r(o < n), !((a = t[o]) < 0 && (t[f++] = ~a, t[o] = 0, f === i)); o++) {}l = e[o = f = n - 1];do { - d = l; - } while (--o >= 0 && (l = e[o]) >= d);for (; o >= 0;) { - do { - d = l; - } while (--o >= 0 && (l = e[o]) <= d);if (o >= 0) { - t[i + (o + 1 >>> 1)] = f - o, f = o + 1;do { - d = l; - } while (--o >= 0 && (l = e[o]) >= d); - } - }for (o = 0, h = 0, u = n, c = 0; o < i; o++) { - if (a = t[o], s = t[i + (a >>> 1)], B = !0, s === c && u + s < n) { - for (f = 0; f < s && e[a + f] === e[u + f];) { - f++; - }f === s && (B = !1); - }B && (h++, u = a, c = s), t[i + (a >>> 1)] = h; - }return h; - }, - a = function a(e, t, o, f, _a, u) { - var s, c, h, l, d;for (o === f && n(e, o, _a, u), i(o, f, u, !1), h = _a - 1, s = f[d = e[h]], t[s++] = h > 0 && e[h - 1] < d ? ~h : h, c = 0; c < _a; c++) { - h = t[c], t[c] = ~h, h > 0 && (h--, r(e[h] >= e[h + 1]), (l = e[h]) !== d && (f[d] = s, s = f[d = l]), r(c < s), t[s++] = h > 0 && e[h - 1] < d ? ~h : h); - }for (o === f && n(e, o, _a, u), i(o, f, u, !0), c = _a - 1, s = f[d = 0]; c >= 0; c--) { - (h = t[c]) > 0 ? (h--, r(e[h] <= e[h + 1]), (l = e[h]) !== d && (f[d] = s, s = f[d = l]), r(s <= c), t[--s] = 0 === h || e[h - 1] > d ? ~h : h) : t[c] = ~h; - } - }, - u = function u(e, t, o, f, a, _u) { - var s, - c, - h, - l, - d, - B = -1;for (o === f && n(e, o, a, _u), i(o, f, _u, !1), h = a - 1, s = f[d = e[h]], t[s++] = h > 0 && e[h - 1] < d ? ~h : h, c = 0; c < a; c++) { - (h = t[c]) > 0 ? (h--, r(e[h] >= e[h + 1]), t[c] = ~(l = e[h]), l !== d && (f[d] = s, s = f[d = l]), r(c < s), t[s++] = h > 0 && e[h - 1] < d ? ~h : h) : 0 !== h && (t[c] = ~h); - }for (o === f && n(e, o, a, _u), i(o, f, _u, !0), c = a - 1, s = f[d = 0]; c >= 0; c--) { - (h = t[c]) > 0 ? (h--, r(e[h] <= e[h + 1]), t[c] = l = e[h], l !== d && (f[d] = s, s = f[d = l]), r(s <= c), t[--s] = h > 0 && e[h - 1] > d ? ~e[h - 1] : h) : 0 !== h ? t[c] = ~h : B = c; - }return B; - }, - s = function s(e, c, h, l, d, B) { - var p, - v, - m, - w, - E, - g, - _, - b, - y, - R, - C, - k, - T, - O = 0, - S = 0;for (d <= 256 ? (p = t.makeS32Buffer(d), d <= h ? (v = c.subarray(l + h - d), S = 1) : (v = t.makeS32Buffer(d), S = 3)) : d <= h ? (p = c.subarray(l + h - d), d <= h - d ? (v = c.subarray(l + h - 2 * d), S = 0) : d <= 1024 ? (v = t.makeS32Buffer(d), S = 2) : (v = p, S = 8)) : (p = v = t.makeS32Buffer(d), S = 12), n(e, p, l, d), i(p, v, d, !0), w = 0; w < l; w++) { - c[w] = 0; - }g = -1, w = l - 1, E = l, _ = 0, k = e[l - 1];do { - T = k; - } while (--w >= 0 && (k = e[w]) >= T);for (; w >= 0;) { - do { - T = k; - } while (--w >= 0 && (k = e[w]) <= T);if (w >= 0) { - g >= 0 && (c[g] = E), g = --v[T], E = w, ++_;do { - T = k; - } while (--w >= 0 && (k = e[w]) >= T); - } - }if (_ > 1 ? (o(e, c, p, v, l, d), R = f(e, c, l, _)) : 1 === _ ? (c[g] = E + 1, R = 1) : R = 0, R < _) { - for (0 != (4 & S) && (p = null, v = null), 0 != (2 & S) && (v = null), C = l + h - 2 * _, 0 == (13 & S) && (d + R <= C ? C -= d : S |= 8), r(l >>> 1 <= C + _), w = _ + (l >>> 1) - 1, E = 2 * _ + C - 1; _ <= w; w--) { - 0 !== c[w] && (c[E--] = c[w] - 1); - }m = c.subarray(_ + C), s(m, c, C, _, R, !1), m = null, w = l - 1, E = 2 * _ - 1, k = e[l - 1];do { - T = k; - } while (--w >= 0 && (k = e[w]) >= T);for (; w >= 0;) { - do { - T = k; - } while (--w >= 0 && (k = e[w]) <= T);if (w >= 0) { - c[E--] = w + 1;do { - T = k; - } while (--w >= 0 && (k = e[w]) >= T); - } - }for (w = 0; w < _; w++) { - c[w] = c[_ + c[w]]; - }0 != (4 & S) && (p = v = t.makeS32Buffer(d)), 0 != (2 & S) && (v = t.makeS32Buffer(d)); - }if (0 != (8 & S) && n(e, p, l, d), _ > 1) { - i(p, v, d, !0), w = _ - 1, E = l, b = c[_ - 1], T = e[b];do { - for (y = v[k = T]; y < E;) { - c[--E] = 0; - }do { - if (c[--E] = b, --w < 0) break;b = c[w]; - } while ((T = e[b]) === k); - } while (w >= 0);for (; E > 0;) { - c[--E] = 0; - } - }return B ? O = u(e, c, p, v, l, d) : a(e, c, p, v, l, d), p = null, v = null, O; - }, - c = (0, _create2.default)(null);return c.suffixsort = function (e, t, n, i) { - if (r(e && t && e.length >= n && t.length >= n), n <= 1) return 1 === n && (t[0] = 0), 0;if (!i) if (1 === e.BYTES_PER_ELEMENT) i = 256;else { - if (2 !== e.BYTES_PER_ELEMENT) throw new Error("Need to specify alphabetSize");i = 65536; - }return r(i > 0), e.BYTES_PER_ELEMENT && r(i <= 1 << 8 * e.BYTES_PER_ELEMENT), s(e, t, 0, n, i, !1); - }, c.bwtransform = function (e, t, n, i, o) { - var f, a;if (r(e && t && n), r(e.length >= i && t.length >= i && n.length >= i), i <= 1) return 1 === i && (t[0] = e[0]), i;if (!o) if (1 === e.BYTES_PER_ELEMENT) o = 256;else { - if (2 !== e.BYTES_PER_ELEMENT) throw new Error("Need to specify alphabetSize");o = 65536; - }for (r(o > 0), e.BYTES_PER_ELEMENT && r(o <= 1 << 8 * e.BYTES_PER_ELEMENT), a = s(e, n, 0, i, o, !0), t[0] = e[i - 1], f = 0; f < a; f++) { - t[f + 1] = n[f]; - }for (f += 1; f < i; f++) { - t[f] = n[f]; - }return a + 1; - }, c.unbwtransform = function (e, r, n, i, o) { - var f, - a, - u = t.makeU32Buffer(256);for (f = 0; f < 256; f++) { - u[f] = 0; - }for (f = 0; f < i; f++) { - n[f] = u[e[f]]++; - }for (f = 0, a = 0; f < 256; f++) { - a += u[f], u[f] = a - u[f]; - }for (f = i - 1, a = 0; f >= 0; f--) { - a = n[a] + u[r[f] = e[a]], a += a < o ? 1 : 0; - }u = null; - }, c.bwtransform2 = function (e, n, i, o) { - var f, - a, - u = 0;if (r(e && n), r(e.length >= i && n.length >= i), i <= 1) return 1 === i && (n[0] = e[0]), 0;if (!o) if (1 === e.BYTES_PER_ELEMENT) o = 256;else { - if (2 !== e.BYTES_PER_ELEMENT) throw new Error("Need to specify alphabetSize");o = 65536; - }r(o > 0), e.BYTES_PER_ELEMENT && r(o <= 1 << 8 * e.BYTES_PER_ELEMENT);var c;if ((c = e.length >= 2 * i ? e : o <= 256 ? t.makeU8Buffer(2 * i) : o <= 65536 ? t.makeU16Buffer(2 * i) : t.makeU32Buffer(2 * i)) !== e) for (f = 0; f < i; f++) { - c[f] = e[f]; - }for (f = 0; f < i; f++) { - c[i + f] = c[f]; - }var h = t.makeS32Buffer(2 * i);for (s(c, h, 0, 2 * i, o, !1), f = 0, a = 0; f < 2 * i; f++) { - var l = h[f];l < i && (0 === l && (u = a), --l < 0 && (l = i - 1), n[a++] = e[l]); - }return r(a === i), u; - }, e(c); -}(freeze, Util), CRC32 = function (e) { - var t = e.arraycopy(e.makeU32Buffer(256), [0, 79764919, 159529838, 222504665, 319059676, 398814059, 445009330, 507990021, 638119352, 583659535, 797628118, 726387553, 890018660, 835552979, 1015980042, 944750013, 1276238704, 1221641927, 1167319070, 1095957929, 1595256236, 1540665371, 1452775106, 1381403509, 1780037320, 1859660671, 1671105958, 1733955601, 2031960084, 2111593891, 1889500026, 1952343757, 2552477408, 2632100695, 2443283854, 2506133561, 2334638140, 2414271883, 2191915858, 2254759653, 3190512472, 3135915759, 3081330742, 3009969537, 2905550212, 2850959411, 2762807018, 2691435357, 3560074640, 3505614887, 3719321342, 3648080713, 3342211916, 3287746299, 3467911202, 3396681109, 4063920168, 4143685023, 4223187782, 4286162673, 3779000052, 3858754371, 3904687514, 3967668269, 881225847, 809987520, 1023691545, 969234094, 662832811, 591600412, 771767749, 717299826, 311336399, 374308984, 453813921, 533576470, 25881363, 88864420, 134795389, 214552010, 2023205639, 2086057648, 1897238633, 1976864222, 1804852699, 1867694188, 1645340341, 1724971778, 1587496639, 1516133128, 1461550545, 1406951526, 1302016099, 1230646740, 1142491917, 1087903418, 2896545431, 2825181984, 2770861561, 2716262478, 3215044683, 3143675388, 3055782693, 3001194130, 2326604591, 2389456536, 2200899649, 2280525302, 2578013683, 2640855108, 2418763421, 2498394922, 3769900519, 3832873040, 3912640137, 3992402750, 4088425275, 4151408268, 4197601365, 4277358050, 3334271071, 3263032808, 3476998961, 3422541446, 3585640067, 3514407732, 3694837229, 3640369242, 1762451694, 1842216281, 1619975040, 1682949687, 2047383090, 2127137669, 1938468188, 2001449195, 1325665622, 1271206113, 1183200824, 1111960463, 1543535498, 1489069629, 1434599652, 1363369299, 622672798, 568075817, 748617968, 677256519, 907627842, 853037301, 1067152940, 995781531, 51762726, 131386257, 177728840, 240578815, 269590778, 349224269, 429104020, 491947555, 4046411278, 4126034873, 4172115296, 4234965207, 3794477266, 3874110821, 3953728444, 4016571915, 3609705398, 3555108353, 3735388376, 3664026991, 3290680682, 3236090077, 3449943556, 3378572211, 3174993278, 3120533705, 3032266256, 2961025959, 2923101090, 2868635157, 2813903052, 2742672763, 2604032198, 2683796849, 2461293480, 2524268063, 2284983834, 2364738477, 2175806836, 2238787779, 1569362073, 1498123566, 1409854455, 1355396672, 1317987909, 1246755826, 1192025387, 1137557660, 2072149281, 2135122070, 1912620623, 1992383480, 1753615357, 1816598090, 1627664531, 1707420964, 295390185, 358241886, 404320391, 483945776, 43990325, 106832002, 186451547, 266083308, 932423249, 861060070, 1041341759, 986742920, 613929101, 542559546, 756411363, 701822548, 3316196985, 3244833742, 3425377559, 3370778784, 3601682597, 3530312978, 3744426955, 3689838204, 3819031489, 3881883254, 3928223919, 4007849240, 4037393693, 4100235434, 4180117107, 4259748804, 2310601993, 2373574846, 2151335527, 2231098320, 2596047829, 2659030626, 2470359227, 2550115596, 2947551409, 2876312838, 2788305887, 2733848168, 3165939309, 3094707162, 3040238851, 2985771188]);return function () { - var e = 4294967295;this.getCRC = function () { - return ~e >>> 0; - }, this.updateCRC = function (r) { - e = e << 8 ^ t[255 & (e >>> 24 ^ r)]; - }, this.updateCRCRun = function (r, n) { - for (; n-- > 0;) { - e = e << 8 ^ t[255 & (e >>> 24 ^ r)]; - } - }; - }; -}(Util), HuffmanAllocator = function (e, t) { - var r = function r(e, t, _r) { - for (var n = e.length, i = t, o = e.length - 2; t >= _r && e[t] % n > i;) { - o = t, t -= i - t + 1; - }for (t = Math.max(_r - 1, t); o > t + 1;) { - var f = t + o >> 1;e[f] % n > i ? o = f : t = f; - }return o; - }, - n = function n(e) { - var t = e.length;e[0] += e[1];var r, n, i, o;for (r = 0, n = 1, i = 2; n < t - 1; n++) { - i >= t || e[r] < e[i] ? (o = e[r], e[r++] = n) : o = e[i++], i >= t || r < n && e[r] < e[i] ? (o += e[r], e[r++] = n + t) : o += e[i++], e[n] = o; - } - }, - i = function i(e, t) { - var n, - i = e.length - 2;for (n = 1; n < t - 1 && i > 1; n++) { - i = r(e, i - 1, 0); - }return i; - }, - o = function o(e) { - var t, - n, - i, - o, - f = e.length - 2, - a = e.length - 1;for (t = 1, n = 2; n > 0; t++) { - for (i = f, f = r(e, i - 1, 0), o = n - (i - f); o > 0; o--) { - e[a--] = t; - }n = i - f << 1; - } - }, - f = function f(e, t, n) { - var i, - o, - f, - a, - u = e.length - 2, - s = e.length - 1, - c = 1 == n ? 2 : 1, - h = 1 == n ? t - 2 : t;for (i = c << 1; i > 0; c++) { - for (o = u, u = u <= t ? u : r(e, o - 1, t), f = 0, c >= n ? f = Math.min(h, 1 << c - n) : c == n - 1 && (f = 1, e[u] == o && u++), a = i - (o - u + f); a > 0; a--) { - e[s--] = c; - }h -= f, i = o - u + f << 1; - } - };return e({ allocateHuffmanCodeLengths: function allocateHuffmanCodeLengths(e, r) { - switch (e.length) {case 2: - e[1] = 1;case 1: - return void (e[0] = 1);}n(e);var a = i(e, r);if (e[0] % e.length >= a) o(e);else { - var u = r - t.fls(a - 1);f(e, a, u); - } - } }); -}(freeze, Util), Bzip2 = function (e, t, r, n, i, o, f) { - var a = o.EOF, - u = function u(e, t) { - var r, - n = e[t];for (r = t; r > 0; r--) { - e[r] = e[r - 1]; - }return e[0] = n, n; - }, - s = { OK: 0, LAST_BLOCK: -1, NOT_BZIP_DATA: -2, UNEXPECTED_INPUT_EOF: -3, UNEXPECTED_OUTPUT_EOF: -4, DATA_ERROR: -5, OUT_OF_MEMORY: -6, OBSOLETE_INPUT: -7, END_OF_BLOCK: -8 }, - c = {};c[s.LAST_BLOCK] = "Bad file checksum", c[s.NOT_BZIP_DATA] = "Not bzip data", c[s.UNEXPECTED_INPUT_EOF] = "Unexpected input EOF", c[s.UNEXPECTED_OUTPUT_EOF] = "Unexpected output EOF", c[s.DATA_ERROR] = "Data error", c[s.OUT_OF_MEMORY] = "Out of memory", c[s.OBSOLETE_INPUT] = "Obsolete (pre 0.9.5) bzip format not supported.";var h = function h(e, t) { - var r = c[e] || "unknown error";t && (r += ": " + t);var n = new TypeError(r);throw n.errorCode = e, n; - }, - l = function l(e, t) { - this.writePos = this.writeCurrent = this.writeCount = 0, this._start_bunzip(e, t); - };l.prototype._init_block = function () { - return this._get_next_block() ? (this.blockCRC = new n(), !0) : (this.writeCount = -1, !1); - }, l.prototype._start_bunzip = function (e, r) { - var n = f.makeU8Buffer(4);4 === e.read(n, 0, 4) && "BZh" === String.fromCharCode(n[0], n[1], n[2]) || h(s.NOT_BZIP_DATA, "bad magic");var i = n[3] - 48;(i < 1 || i > 9) && h(s.NOT_BZIP_DATA, "level out of range"), this.reader = new t(e), this.dbufSize = 1e5 * i, this.nextoutput = 0, this.outputStream = r, this.streamCRC = 0; - }, l.prototype._get_next_block = function () { - var e, - t, - r, - n = this.reader, - i = n.readBits(48);if (25779555029136 === i) return !1;54156738319193 !== i && h(s.NOT_BZIP_DATA), this.targetBlockCRC = n.readBits(32), this.streamCRC = (this.targetBlockCRC ^ (this.streamCRC << 1 | this.streamCRC >>> 31)) >>> 0, n.readBits(1) && h(s.OBSOLETE_INPUT);var o = n.readBits(24);o > this.dbufSize && h(s.DATA_ERROR, "initial position out of bounds");var a = n.readBits(16), - c = f.makeU8Buffer(256), - l = 0;for (e = 0; e < 16; e++) { - if (a & 1 << 15 - e) { - var d = 16 * e;for (r = n.readBits(16), t = 0; t < 16; t++) { - r & 1 << 15 - t && (c[l++] = d + t); - } - } - }var B = n.readBits(3);(B < 2 || B > 6) && h(s.DATA_ERROR);var p = n.readBits(15);0 === p && h(s.DATA_ERROR);var v = f.makeU8Buffer(256);for (e = 0; e < B; e++) { - v[e] = e; - }var m = f.makeU8Buffer(p);for (e = 0; e < p; e++) { - for (t = 0; n.readBits(1); t++) { - t >= B && h(s.DATA_ERROR); - }m[e] = u(v, t); - }var w, - E = l + 2, - g = [];for (t = 0; t < B; t++) { - var _ = f.makeU8Buffer(E), - b = f.makeU16Buffer(21);for (a = n.readBits(5), e = 0; e < E; e++) { - for (; (a < 1 || a > 20) && h(s.DATA_ERROR), n.readBits(1);) { - n.readBits(1) ? a-- : a++; - }_[e] = a; - }var y, R;for (y = R = _[0], e = 1; e < E; e++) { - _[e] > R ? R = _[e] : _[e] < y && (y = _[e]); - }w = {}, g.push(w), w.permute = f.makeU16Buffer(258), w.limit = f.makeU32Buffer(22), w.base = f.makeU32Buffer(21), w.minLen = y, w.maxLen = R;var C = 0;for (e = y; e <= R; e++) { - for (b[e] = w.limit[e] = 0, a = 0; a < E; a++) { - _[a] === e && (w.permute[C++] = a); - } - }for (e = 0; e < E; e++) { - b[_[e]]++; - }for (C = a = 0, e = y; e < R; e++) { - C += b[e], w.limit[e] = C - 1, C <<= 1, a += b[e], w.base[e + 1] = C - a; - }w.limit[R + 1] = Number.MAX_VALUE, w.limit[R] = C + b[R] - 1, w.base[y] = 0; - }var k = f.makeU32Buffer(256);for (e = 0; e < 256; e++) { - v[e] = e; - }var T, - O = 0, - S = 0, - U = 0, - A = this.dbuf = f.makeU32Buffer(this.dbufSize);for (E = 0;;) { - for (E-- || (E = 49, U >= p && h(s.DATA_ERROR), w = g[m[U++]]), e = w.minLen, t = n.readBits(e); e > w.maxLen && h(s.DATA_ERROR), !(t <= w.limit[e]); e++) { - t = t << 1 | n.readBits(1); - }t -= w.base[e], (t < 0 || t >= 258) && h(s.DATA_ERROR);var z = w.permute[t];if (0 !== z && 1 !== z) { - if (O) for (O = 0, S + a > this.dbufSize && h(s.DATA_ERROR), T = c[v[0]], k[T] += a; a--;) { - A[S++] = T; - }if (z > l) break;S >= this.dbufSize && h(s.DATA_ERROR), e = z - 1, T = u(v, e), T = c[T], k[T]++, A[S++] = T; - } else O || (O = 1, a = 0), a += 0 === z ? O : 2 * O, O <<= 1; - }for ((o < 0 || o >= S) && h(s.DATA_ERROR), t = 0, e = 0; e < 256; e++) { - r = t + k[e], k[e] = t, t = r; - }for (e = 0; e < S; e++) { - T = 255 & A[e], A[k[T]] |= e << 8, k[T]++; - }var N = 0, - L = 0, - P = 0;return S && (N = A[o], L = 255 & N, N >>= 8, P = -1), this.writePos = N, this.writeCurrent = L, this.writeCount = S, this.writeRun = P, !0; - }, l.prototype._read_bunzip = function (e, t) { - var r, n, i;if (this.writeCount < 0) return 0;for (var o = this.dbuf, f = this.writePos, a = this.writeCurrent, u = this.writeCount, c = (this.outputsize, this.writeRun); u;) { - for (u--, n = a, f = o[f], a = 255 & f, f >>= 8, 3 == c++ ? (r = a, i = n, a = -1) : (r = 1, i = a), this.blockCRC.updateCRCRun(i, r); r--;) { - this.outputStream.writeByte(i), this.nextoutput++; - }a != n && (c = 0); - }return this.writeCount = u, this.blockCRC.getCRC() !== this.targetBlockCRC && h(s.DATA_ERROR, "Bad block CRC (got " + this.blockCRC.getCRC().toString(16) + " expected " + this.targetBlockCRC.toString(16) + ")"), this.nextoutput; - }, l.Err = s, l.decode = function (e, t, r) { - for (var n = f.coerceInputStream(e), i = f.coerceOutputStream(t, t), o = i.stream, a = new l(n, o);;) { - if ("eof" in n && n.eof()) break;if (a._init_block()) a._read_bunzip();else { - var u = a.reader.readBits(32);if (u !== a.streamCRC && h(s.DATA_ERROR, "Bad stream CRC (got " + a.streamCRC.toString(16) + " expected " + u.toString(16) + ")"), !(r && "eof" in n) || n.eof()) break;a._start_bunzip(n, o); - } - }return i.retval; - }, l.decodeBlock = function (e, t, r) { - var i = f.coerceInputStream(e), - o = f.coerceOutputStream(r, r), - a = o.stream, - u = new l(i, a);return u.reader.seekBit(t), u._get_next_block() && (u.blockCRC = new n(), u.writeCopies = 0, u._read_bunzip()), o.retval; - }, l.table = function (e, t, r) { - var n = new o();n.delegate = f.coerceInputStream(e), n.pos = 0, n.readByte = function () { - return this.pos++, this.delegate.readByte(); - }, n.tell = function () { - return this.pos; - }, n.delegate.eof && (n.eof = n.delegate.eof.bind(n.delegate));var i = new o();i.pos = 0, i.writeByte = function () { - this.pos++; - };for (var a = new l(n, i), u = a.dbufSize;;) { - if ("eof" in n && n.eof()) break;var s = a.reader.tellBit();if (a._init_block()) { - var c = i.pos;a._read_bunzip(), t(s, i.pos - c); - } else { - a.reader.readBits(32);if (!(r && "eof" in n) || n.eof()) break;a._start_bunzip(n, i), console.assert(a.dbufSize === u, "shouldn't change block size within multistream file"); - } - } - };var d = function d(e, t) { - var r, - n = [];for (r = 0; r < t; r++) { - n[r] = e[r] << 9 | r; - }n.sort(function (e, t) { - return e - t; - });var o = n.map(function (e) { - return e >>> 9; - });for (i.allocateHuffmanCodeLengths(o, 20), this.codeLengths = f.makeU8Buffer(t), r = 0; r < t; r++) { - var a = 511 & n[r];this.codeLengths[a] = o[r]; - } - };d.prototype.computeCanonical = function () { - var e, - t = this.codeLengths.length, - r = [];for (e = 0; e < t; e++) { - r[e] = this.codeLengths[e] << 9 | e; - }r.sort(function (e, t) { - return e - t; - }), this.code = f.makeU32Buffer(t);var n = 0, - i = 0;for (e = 0; e < t; e++) { - var o = r[e] >>> 9, - a = 511 & r[e];console.assert(i <= o), n <<= o - i, this.code[a] = n++, i = o; - } - }, d.prototype.cost = function (e, t, r) { - var n, - i = 0;for (n = 0; n < r; n++) { - i += this.codeLengths[e[t + n]]; - }return i; - }, d.prototype.emit = function (e) { - var t, - r = this.codeLengths[0];for (e.writeBits(5, r), t = 0; t < this.codeLengths.length; t++) { - var n, - i, - o = this.codeLengths[t];for (console.assert(o > 0 && o <= 20), r < o ? (n = 2, i = o - r) : (n = 3, i = r - o); i-- > 0;) { - e.writeBits(2, n); - }e.writeBit(0), r = o; - } - }, d.prototype.encode = function (e, t) { - e.writeBits(this.codeLengths[t], this.code[t]); - };var B = function B(e, t, r, n) { - for (var i = 0, o = -1, f = 0; i < r && !(4 === f && (t[i++] = 0, i >= r));) { - var u = e.readByte();if (u === a) break;if (n.updateCRC(u), u !== o) o = u, f = 1;else if (++f > 4) { - if (f < 256) { - t[i - 1]++;continue; - }f = 1; - }t[i++] = u; - }return i; - }, - p = function p(e, t, r) { - var n, i, o;for (n = 0, o = 0; n < r.length; n += 50) { - var f = Math.min(50, r.length - n), - a = 0, - u = t[0].cost(r, n, f);for (i = 1; i < t.length; i++) { - var s = t[i].cost(r, n, f);s < u && (a = i, u = s); - }e[o++] = a; - } - }, - v = function v(e, t, r, n, i) { - for (var o, f, a, u = []; e.length < t;) { - for (p(n, e, r), o = 0; o < e.length; o++) { - u[o] = 0; - }for (o = 0; o < n.length; o++) { - u[n[o]]++; - }var s = u.indexOf(Math.max.apply(Math, u)), - c = [];for (o = 0, f = 0; o < n.length; o++) { - if (n[o] === s) { - var h = 50 * o, - l = Math.min(h + 50, r.length);c.push({ index: o, cost: e[s].cost(r, h, l - h) }); - } - }for (c.sort(function (e, t) { - return e.cost - t.cost; - }), o = c.length >>> 1; o < c.length; o++) { - n[c[o].index] = e.length; - }e.push(null);var B, - v = [];for (o = 0; o < e.length; o++) { - for (B = v[o] = [], f = 0; f < i; f++) { - B[f] = 0; - } - }for (o = 0, f = 0; o < r.length;) { - for (B = v[n[f++]], a = 0; a < 50 && o < r.length; a++) { - B[r[o++]]++; - } - }for (o = 0; o < e.length; o++) { - e[o] = new d(v[o], i); - } - } - }, - m = function m(e, t, n) { - var i, - o, - a, - s, - c = f.makeU8Buffer(t), - h = r.bwtransform2(e, c, t, 256);n.writeBit(0), n.writeBits(24, h);var l = [], - B = [];for (o = 0; o < t; o++) { - i = e[o], l[i] = !0, B[i >>> 4] = !0; - }for (o = 0; o < 16; o++) { - n.writeBit(!!B[o]); - }for (o = 0; o < 16; o++) { - if (B[o]) for (a = 0; a < 16; a++) { - n.writeBit(!!l[o << 4 | a]); - } - }var m = 0;for (o = 0; o < 256; o++) { - l[o] && m++; - }var w = f.makeU16Buffer(t + 1), - E = m + 1, - g = [];for (o = 0; o <= E; o++) { - g[o] = 0; - }var _ = f.makeU8Buffer(m);for (o = 0, a = 0; o < 256; o++) { - l[o] && (_[a++] = o); - }l = null, B = null;var b = 0, - y = 0, - R = function R(e) { - w[b++] = e, g[e]++; - }, - C = function C() { - for (; 0 !== y;) { - 1 & y ? (R(0), y -= 1) : (R(1), y -= 2), y >>>= 1; - } - };for (o = 0; o < c.length; o++) { - for (i = c[o], a = 0; a < m && _[a] !== i; a++) {}console.assert(a !== m), u(_, a), 0 === a ? y++ : (C(), R(a + 1), y = 0); - }C(), R(E), w = w.subarray(0, b);var k, - T = [];for (k = b >= 2400 ? 6 : b >= 1200 ? 5 : b >= 600 ? 4 : b >= 200 ? 3 : 2, T.push(new d(g, E + 1)), o = 0; o <= E; o++) { - g[o] = 1; - }T.push(new d(g, E + 1)), g = null;var O = f.makeU8Buffer(Math.ceil(b / 50));for (v(T, k, w, O, E + 1), p(O, T, w), console.assert(T.length >= 2 && T.length <= 6), n.writeBits(3, T.length), n.writeBits(15, O.length), o = 0; o < T.length; o++) { - _[o] = o; - }for (o = 0; o < O.length; o++) { - var S = O[o];for (a = 0; a < T.length && _[a] !== S; a++) {}for (console.assert(a < T.length), u(_, a); a > 0; a--) { - n.writeBit(1); - }n.writeBit(0); - }for (o = 0; o < T.length; o++) { - T[o].emit(n), T[o].computeCanonical(); - }for (o = 0, s = 0; o < b;) { - var U = T[O[s++]];for (a = 0; a < 50 && o < b; a++) { - U.encode(n, w[o++]); - } - } - }, - w = (0, _create2.default)(null);return w.compressFile = function (e, r, i) { - e = f.coerceInputStream(e);var o = f.coerceOutputStream(r, r);r = new t(o.stream);var a = 9;if ("number" == typeof i && (a = i), a < 1 || a > 9) throw new Error("Invalid block size multiplier");var u = 1e5 * a;u -= 19, r.writeByte("B".charCodeAt(0)), r.writeByte("Z".charCodeAt(0)), r.writeByte("h".charCodeAt(0)), r.writeByte("0".charCodeAt(0) + a);var s, - c = f.makeU8Buffer(u), - h = 0;do { - var l = new n();s = B(e, c, u, l), s > 0 && (h = ((h << 1 | h >>> 31) ^ l.getCRC()) >>> 0, r.writeBits(48, 54156738319193), r.writeBits(32, l.getCRC()), m(c, s, r)); - } while (s === u);return r.writeBits(48, 25779555029136), r.writeBits(32, h), r.flush(), o.retval; - }, w.decompressFile = l.decode, w.decompressBlock = l.decodeBlock, w.table = l.table, w; -}(0, BitStream, BWT, CRC32, HuffmanAllocator, Stream, Util), module.exports = Bzip2; - -}).call(this,_dereq_('_process')) -},{"_process":330,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/freeze":25,"babel-runtime/helpers/typeof":41}],341:[function(_dereq_,module,exports){ +},{"./encoding/armor":374,"./enums":376,"./message":383,"./packet":388,"./signature":408,"./util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],341:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -29543,7 +29594,7 @@ exports.default = { * @memberof module:config * @property {Integer} s2k_iteration_count_byte */ - s2k_iteration_count_byte: 96, + s2k_iteration_count_byte: 224, /** Use integrity protection for symmetric encryption * @memberof module:config * @property {Boolean} integrity_protect @@ -29587,6 +29638,11 @@ exports.default = { * @property {Boolean} use_native Use native Node.js crypto/zlib and WebCrypto APIs when available */ use_native: true, + /** + * @memberof module:config + * @property {Integer} min_bytes_for_web_crypto The minimum amount of bytes for which to use native WebCrypto APIs when available + */ + min_bytes_for_web_crypto: 1000, /** * @memberof module:config * @property {Boolean} Use transferable objects between the Web Worker and main thread @@ -29617,7 +29673,7 @@ exports.default = { * @memberof module:config * @property {String} versionstring A version string to be included in armored messages */ - versionstring: "OpenPGP.js v4.1.2", + versionstring: "OpenPGP.js v4.2.0", /** * @memberof module:config * @property {String} commentstring A comment string to be included in armored messages @@ -31847,7 +31903,7 @@ exports.default = function () { return CMAC; }(); -},{"../util":415,"asmcrypto.js/dist_es5/aes/cbc":5,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],352:[function(_dereq_,module,exports){ +},{"../util":415,"asmcrypto.js/dist_es5/aes/cbc":5,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],352:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -32286,7 +32342,7 @@ exports.default = { constructParams: constructParams }; -},{"../enums":376,"../type/ecdh_symkey":409,"../type/kdf_params":410,"../type/mpi":412,"../type/oid":413,"./cipher":349,"./public_key":369,"./random":372,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],353:[function(_dereq_,module,exports){ +},{"../enums":376,"../type/ecdh_symkey":409,"../type/kdf_params":410,"../type/mpi":412,"../type/oid":413,"./cipher":349,"./public_key":369,"./random":372,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],353:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -32692,7 +32748,7 @@ EAX.tagLength = tagLength; exports.default = EAX; -},{"../util":415,"./cmac":351,"asmcrypto.js/dist_es5/aes/ctr":7,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/slicedToArray":39,"babel-runtime/regenerator":42}],354:[function(_dereq_,module,exports){ +},{"../util":415,"./cmac":351,"asmcrypto.js/dist_es5/aes/ctr":7,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41}],354:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -33029,13 +33085,21 @@ GCM.tagLength = tagLength; exports.default = GCM; -},{"../util":415,"asmcrypto.js/dist_es5/aes/gcm":9,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],355:[function(_dereq_,module,exports){ +},{"../util":415,"asmcrypto.js/dist_es5/aes/gcm":9,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],355:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); +var _regenerator = _dereq_('babel-runtime/regenerator'); + +var _regenerator2 = _interopRequireDefault(_regenerator); + +var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); + +var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); + var _sha = _dereq_('asmcrypto.js/dist_es5/hash/sha1/sha1'); var _sha2 = _dereq_('asmcrypto.js/dist_es5/hash/sha256/sha256'); @@ -33062,61 +33126,154 @@ var _md = _dereq_('./md5'); var _md2 = _interopRequireDefault(_md); +var _config = _dereq_('../../config'); + +var _config2 = _interopRequireDefault(_config); + var _util = _dereq_('../../util'); var _util2 = _interopRequireDefault(_util); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -var nodeCrypto = _util2.default.getNodeCrypto(); /** - * @fileoverview Provides an interface to hashing functions available in Node.js or external libraries. - * @see {@link https://github.com/asmcrypto/asmcrypto.js|asmCrypto} - * @see {@link https://github.com/indutny/hash.js|hash.js} - * @requires asmcrypto.js - * @requires hash.js - * @requires web-stream-tools - * @requires crypto/hash/md5 - * @requires util - * @module crypto/hash - */ +/** + * @fileoverview Provides an interface to hashing functions available in Node.js or external libraries. + * @see {@link https://github.com/asmcrypto/asmcrypto.js|asmCrypto} + * @see {@link https://github.com/indutny/hash.js|hash.js} + * @requires asmcrypto.js + * @requires hash.js + * @requires web-stream-tools + * @requires crypto/hash/md5 + * @requires config + * @requires util + * @module crypto/hash + */ +var webCrypto = _util2.default.getWebCrypto(); +var nodeCrypto = _util2.default.getNodeCrypto(); var Buffer = _util2.default.getNodeBuffer(); function node_hash(type) { - return function (data) { - var shasum = nodeCrypto.createHash(type); - return _webStreamTools2.default.transform(data, function (value) { - shasum.update(new Buffer(value)); - }, function () { - return new Uint8Array(shasum.digest()); - }); - }; + return function () { + var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(data) { + var shasum; + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + shasum = nodeCrypto.createHash(type); + return _context.abrupt('return', _webStreamTools2.default.transform(data, function (value) { + shasum.update(new Buffer(value)); + }, function () { + return new Uint8Array(shasum.digest()); + })); + + case 2: + case 'end': + return _context.stop(); + } + } + }, _callee, this); + })); + + return function (_x) { + return _ref.apply(this, arguments); + }; + }(); } -function hashjs_hash(hash) { - return function (data) { - var hashInstance = hash(); - return _webStreamTools2.default.transform(data, function (value) { - hashInstance.update(value); - }, function () { - return new Uint8Array(hashInstance.digest()); - }); - }; +function hashjs_hash(hash, webCryptoHash) { + return function () { + var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(data) { + var hashInstance; + return _regenerator2.default.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + if (!(!_util2.default.isStream(data) && webCrypto && webCryptoHash && data.length >= _config2.default.min_bytes_for_web_crypto)) { + _context2.next = 6; + break; + } + + _context2.t0 = Uint8Array; + _context2.next = 4; + return webCrypto.digest(webCryptoHash, data); + + case 4: + _context2.t1 = _context2.sent; + return _context2.abrupt('return', new _context2.t0(_context2.t1)); + + case 6: + hashInstance = hash(); + return _context2.abrupt('return', _webStreamTools2.default.transform(data, function (value) { + hashInstance.update(value); + }, function () { + return new Uint8Array(hashInstance.digest()); + })); + + case 8: + case 'end': + return _context2.stop(); + } + } + }, _callee2, this); + })); + + return function (_x2) { + return _ref2.apply(this, arguments); + }; + }(); } -function asmcrypto_hash(hash) { - return function (data) { - if (_util2.default.isStream(data)) { - var hashInstance = new hash(); - return _webStreamTools2.default.transform(data, function (value) { - hashInstance.process(value); - }, function () { - return hashInstance.finish().result; - }); - } else { - return hash.bytes(data); - } - }; +function asmcrypto_hash(hash, webCryptoHash) { + return function () { + var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(data) { + var hashInstance; + return _regenerator2.default.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + if (!_util2.default.isStream(data)) { + _context3.next = 5; + break; + } + + hashInstance = new hash(); + return _context3.abrupt('return', _webStreamTools2.default.transform(data, function (value) { + hashInstance.process(value); + }, function () { + return hashInstance.finish().result; + })); + + case 5: + if (!(webCrypto && webCryptoHash && data.length >= _config2.default.min_bytes_for_web_crypto)) { + _context3.next = 13; + break; + } + + _context3.t0 = Uint8Array; + _context3.next = 9; + return webCrypto.digest(webCryptoHash, data); + + case 9: + _context3.t1 = _context3.sent; + return _context3.abrupt('return', new _context3.t0(_context3.t1)); + + case 13: + return _context3.abrupt('return', hash.bytes(data)); + + case 14: + case 'end': + return _context3.stop(); + } + } + }, _callee3, this); + })); + + return function (_x3) { + return _ref3.apply(this, arguments); + }; + }(); } var hash_fns = void 0; @@ -33135,11 +33292,11 @@ if (nodeCrypto) { // Use JS fallbacks hash_fns = { md5: _md2.default, - sha1: asmcrypto_hash(_sha.Sha1), + sha1: asmcrypto_hash(_sha.Sha1, navigator.userAgent.indexOf('Edge') === -1 && 'SHA-1'), sha224: hashjs_hash(_2.default), - sha256: asmcrypto_hash(_sha2.Sha256), - sha384: hashjs_hash(_4.default), - sha512: hashjs_hash(_6.default), // asmcrypto sha512 is huge. + sha256: asmcrypto_hash(_sha2.Sha256, 'SHA-256'), + sha384: hashjs_hash(_4.default, 'SHA-384'), + sha512: hashjs_hash(_6.default, 'SHA-512'), // asmcrypto sha512 is huge. ripemd: hashjs_hash(_ripemd.ripemd160) }; } @@ -33227,41 +33384,67 @@ exports.default = { } }; -},{"../../util":415,"./md5":356,"asmcrypto.js/dist_es5/hash/sha1/sha1":12,"asmcrypto.js/dist_es5/hash/sha256/sha256":14,"hash.js/lib/hash/ripemd":301,"hash.js/lib/hash/sha/224":304,"hash.js/lib/hash/sha/384":306,"hash.js/lib/hash/sha/512":307,"web-stream-tools":336}],356:[function(_dereq_,module,exports){ +},{"../../config":342,"../../util":415,"./md5":356,"asmcrypto.js/dist_es5/hash/sha1/sha1":12,"asmcrypto.js/dist_es5/hash/sha256/sha256":14,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"hash.js/lib/hash/ripemd":298,"hash.js/lib/hash/sha/224":301,"hash.js/lib/hash/sha/384":303,"hash.js/lib/hash/sha/512":304,"web-stream-tools":337}],356:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); +var _regenerator = _dereq_('babel-runtime/regenerator'); + +var _regenerator2 = _interopRequireDefault(_regenerator); + +var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); + +var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); + +// MD5 Digest +var md5 = function () { + var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(entree) { + var digest; + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + digest = md51(_util2.default.Uint8Array_to_str(entree)); + return _context.abrupt('return', _util2.default.hex_to_Uint8Array(hex(digest))); + + case 2: + case 'end': + return _context.stop(); + } + } + }, _callee, this); + })); + + return function md5(_x) { + return _ref.apply(this, arguments); + }; +}(); /** + * A fast MD5 JavaScript implementation + * Copyright (c) 2012 Joseph Myers + * http://www.myersdaily.org/joseph/javascript/md5-text.html + * + * Permission to use, copy, modify, and distribute this software + * and its documentation for any purposes and without + * fee is hereby granted provided that this copyright notice + * appears in all copies. + * + * Of course, this soft is provided "as is" without express or implied + * warranty of any kind. + */ + +/** + * @requires util + */ + var _util = _dereq_('../../util'); var _util2 = _interopRequireDefault(_util); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -// MD5 Digest -function md5(entree) { - var digest = md51(_util2.default.Uint8Array_to_str(entree)); - return _util2.default.hex_to_Uint8Array(hex(digest)); -} /** - * A fast MD5 JavaScript implementation - * Copyright (c) 2012 Joseph Myers - * http://www.myersdaily.org/joseph/javascript/md5-text.html - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for any purposes and without - * fee is hereby granted provided that this copyright notice - * appears in all copies. - * - * Of course, this soft is provided "as is" without express or implied - * warranty of any kind. - */ - -/** - * @requires util - */ - function md5cycle(x, k) { var a = x[0]; var b = x[1]; @@ -33442,7 +33625,7 @@ function add32(a, b) { exports.default = md5; -},{"../../util":415}],357:[function(_dereq_,module,exports){ +},{"../../util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],357:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -33911,7 +34094,7 @@ OCB.tagLength = tagLength; exports.default = OCB; -},{"../util":415,"./cipher":349,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],359:[function(_dereq_,module,exports){ +},{"../util":415,"./cipher":349,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],359:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -34182,7 +34365,7 @@ emsa.encode = function () { exports.default = { eme: eme, emsa: emsa }; -},{"../util":415,"./hash":355,"./random":372,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],360:[function(_dereq_,module,exports){ +},{"../util":415,"./hash":355,"./random":372,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],360:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -34471,7 +34654,7 @@ exports.default = { }() }; -},{"../../util":415,"../random":372,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"bn.js":43}],362:[function(_dereq_,module,exports){ +},{"../../util":415,"../random":372,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"bn.js":42}],362:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -34607,7 +34790,7 @@ exports.default = { }() }; -},{"../random":372,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"bn.js":43}],363:[function(_dereq_,module,exports){ +},{"../random":372,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"bn.js":42}],363:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -35036,7 +35219,7 @@ exports.nodeCurves = nodeCurves; exports.generate = generate; exports.getPreferredHashAlgo = getPreferredHashAlgo; -},{"../../../enums":376,"../../../type/oid":413,"../../../util":415,"../../random":372,"./key":368,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"bn.js":43,"elliptic":281}],364:[function(_dereq_,module,exports){ +},{"../../../enums":376,"../../../type/oid":413,"../../../util":415,"../../random":372,"./key":368,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"bn.js":42,"elliptic":278}],364:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -35051,6 +35234,34 @@ var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +// Key Derivation Function (RFC 6637) +var kdf = function () { + var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(hash_algo, X, length, param) { + var digest; + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return _hash2.default.digest(hash_algo, _util2.default.concatUint8Array([new Uint8Array([0, 0, 0, 1]), new Uint8Array(X), param])); + + case 2: + digest = _context.sent; + return _context.abrupt('return', digest.subarray(0, length)); + + case 4: + case 'end': + return _context.stop(); + } + } + }, _callee, this); + })); + + return function kdf(_x, _x2, _x3, _x4) { + return _ref.apply(this, arguments); + }; +}(); + /** * Encrypt and wrap a session key * @@ -35063,42 +35274,48 @@ var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); * @returns {Promise<{V: BN, C: BN}>} Returns ephemeral key and encoded session key * @async */ + + var encrypt = function () { - var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(oid, cipher_algo, hash_algo, m, Q, fingerprint) { + var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(oid, cipher_algo, hash_algo, m, Q, fingerprint) { var curve, param, v, S, Z, C; - return _regenerator2.default.wrap(function _callee$(_context) { + return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { - switch (_context.prev = _context.next) { + switch (_context2.prev = _context2.next) { case 0: curve = new _curves2.default(oid); param = buildEcdhParam(_enums2.default.publicKey.ecdh, oid, cipher_algo, hash_algo, fingerprint); cipher_algo = _enums2.default.read(_enums2.default.symmetric, cipher_algo); - _context.next = 5; + _context2.next = 5; return curve.genKeyPair(); case 5: - v = _context.sent; + v = _context2.sent; Q = curve.keyFromPublic(Q); S = v.derive(Q); - Z = kdf(hash_algo, S, _cipher2.default[cipher_algo].keySize, param); + _context2.next = 10; + return kdf(hash_algo, S, _cipher2.default[cipher_algo].keySize, param); + + case 10: + Z = _context2.sent; C = _aes_kw2.default.wrap(Z, m.toString()); - return _context.abrupt('return', { + return _context2.abrupt('return', { V: new _bn2.default(v.getPublic()), C: C }); - case 11: + case 13: case 'end': - return _context.stop(); + return _context2.stop(); } } - }, _callee, this); + }, _callee2, this); })); - return function encrypt(_x, _x2, _x3, _x4, _x5, _x6) { - return _ref.apply(this, arguments); + return function encrypt(_x5, _x6, _x7, _x8, _x9, _x10) { + return _ref2.apply(this, arguments); }; }(); @@ -35118,11 +35335,11 @@ var encrypt = function () { var decrypt = function () { - var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(oid, cipher_algo, hash_algo, V, C, d, fingerprint) { + var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(oid, cipher_algo, hash_algo, V, C, d, fingerprint) { var curve, param, S, Z; - return _regenerator2.default.wrap(function _callee2$(_context2) { + return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { - switch (_context2.prev = _context2.next) { + switch (_context3.prev = _context3.next) { case 0: curve = new _curves2.default(oid); param = buildEcdhParam(_enums2.default.publicKey.ecdh, oid, cipher_algo, hash_algo, fingerprint); @@ -35131,19 +35348,23 @@ var decrypt = function () { V = curve.keyFromPublic(V); d = curve.keyFromPrivate(d); S = d.derive(V); - Z = kdf(hash_algo, S, _cipher2.default[cipher_algo].keySize, param); - return _context2.abrupt('return', new _bn2.default(_aes_kw2.default.unwrap(Z, C))); + _context3.next = 8; + return kdf(hash_algo, S, _cipher2.default[cipher_algo].keySize, param); case 8: + Z = _context3.sent; + return _context3.abrupt('return', new _bn2.default(_aes_kw2.default.unwrap(Z, C))); + + case 10: case 'end': - return _context2.stop(); + return _context3.stop(); } } - }, _callee2, this); + }, _callee3, this); })); - return function decrypt(_x7, _x8, _x9, _x10, _x11, _x12, _x13) { - return _ref2.apply(this, arguments); + return function decrypt(_x11, _x12, _x13, _x14, _x15, _x16, _x17) { + return _ref3.apply(this, arguments); }; }(); @@ -35214,14 +35435,9 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de 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)]); -} - -// Key Derivation Function (RFC 6637) -function kdf(hash_algo, X, length, param) { - return _hash2.default.digest(hash_algo, _util2.default.concatUint8Array([new Uint8Array([0, 0, 0, 1]), new Uint8Array(X), param])).subarray(0, length); }exports.default = { encrypt: encrypt, decrypt: decrypt }; -},{"../../../enums":376,"../../../type/kdf_params":410,"../../../util":415,"../../aes_kw":343,"../../cipher":349,"../../hash":355,"./curves":363,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"bn.js":43}],365:[function(_dereq_,module,exports){ +},{"../../../enums":376,"../../../type/kdf_params":410,"../../../util":415,"../../aes_kw":343,"../../cipher":349,"../../hash":355,"./curves":363,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"bn.js":42}],365:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -35344,7 +35560,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de exports.default = { sign: sign, verify: verify }; -},{"./curves":363,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],366:[function(_dereq_,module,exports){ +},{"./curves":363,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],366:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -35467,7 +35683,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de exports.default = { sign: sign, verify: verify }; -},{"./curves":363,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],367:[function(_dereq_,module,exports){ +},{"./curves":363,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],367:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -35960,7 +36176,7 @@ var SubjectPublicKeyInfo = nodeCrypto ? asn1.define('SubjectPublicKeyInfo', func this.seq().obj(this.key('algorithm').use(AlgorithmIdentifier), this.key('subjectPublicKey').bitstr()); }) : undefined; -},{"../../../enums":376,"../../../util":415,"./curves":363,"asn1.js":"asn1.js","babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"bn.js":43,"web-stream-tools":336}],369:[function(_dereq_,module,exports){ +},{"../../../enums":376,"../../../util":415,"./curves":363,"asn1.js":"asn1.js","babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"bn.js":42,"web-stream-tools":337}],369:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -36374,7 +36590,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":372,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"bn.js":43}],371:[function(_dereq_,module,exports){ +},{"../random":372,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"bn.js":42}],371:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -36822,7 +37038,7 @@ exports.default = { prime: _prime2.default }; -},{"../../config":342,"../../util":415,"../random":372,"./prime":370,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"bn.js":43}],372:[function(_dereq_,module,exports){ +},{"../../config":342,"../../util":415,"../random":372,"./prime":370,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"bn.js":42}],372:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -37123,7 +37339,7 @@ RandomBuffer.prototype.get = function () { }; }(); -},{"../util":415,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/typeof":41,"babel-runtime/regenerator":42,"bn.js":43,"crypto":"crypto"}],373:[function(_dereq_,module,exports){ +},{"../util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/typeof":40,"babel-runtime/regenerator":41,"bn.js":42,"crypto":"crypto"}],373:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -37355,7 +37571,7 @@ exports.default = { * @module crypto/signature */ -},{"../enums":376,"../util":415,"./pkcs1":359,"./public_key":369,"babel-runtime/core-js/array/from":17,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"bn.js":43}],374:[function(_dereq_,module,exports){ +},{"../enums":376,"../util":415,"./pkcs1":359,"./public_key":369,"babel-runtime/core-js/array/from":17,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"bn.js":42}],374:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -37979,7 +38195,7 @@ exports.default = { decode: dearmor }; -},{"../config":342,"../enums.js":376,"../util":415,"./base64.js":375,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"web-stream-tools":336}],375:[function(_dereq_,module,exports){ +},{"../config":342,"../enums.js":376,"../util":415,"./base64.js":375,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"web-stream-tools":337}],375:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -38121,7 +38337,7 @@ exports.default = { decode: r2s }; -},{"web-stream-tools":336}],376:[function(_dereq_,module,exports){ +},{"web-stream-tools":337}],376:[function(_dereq_,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -38638,7 +38854,7 @@ exports.default = { }; -},{"babel-runtime/core-js/object/entries":24,"babel-runtime/core-js/symbol":31,"babel-runtime/helpers/slicedToArray":39}],377:[function(_dereq_,module,exports){ +},{"babel-runtime/core-js/object/entries":24,"babel-runtime/core-js/symbol":30,"babel-runtime/helpers/slicedToArray":38}],377:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -39052,7 +39268,7 @@ var cleartext = exports.cleartext = cleartextMod; * @name module:openpgp.util */ -},{"./cleartext":339,"./config/config":341,"./crypto":357,"./encoding/armor":374,"./enums":376,"./hkp":377,"./key":379,"./keyring":380,"./message":383,"./openpgp":384,"./packet":388,"./signature":408,"./type/ecdh_symkey":409,"./type/kdf_params":410,"./type/keyid":411,"./type/mpi":412,"./type/oid":413,"./type/s2k":414,"./util":415,"./wkd":416,"./worker/async_proxy":417,"web-stream-tools":336}],379:[function(_dereq_,module,exports){ +},{"./cleartext":340,"./config/config":341,"./crypto":357,"./encoding/armor":374,"./enums":376,"./hkp":377,"./key":379,"./keyring":380,"./message":383,"./openpgp":384,"./packet":388,"./signature":408,"./type/ecdh_symkey":409,"./type/kdf_params":410,"./type/keyid":411,"./type/mpi":412,"./type/oid":413,"./type/s2k":414,"./util":415,"./wkd":416,"./worker/async_proxy":417,"web-stream-tools":337}],379:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -39384,22 +39600,26 @@ var read = exports.read = function () { return packetlist.read(data); case 7: - if (packetlist.filterByTag(_enums2.default.packet.signature).some(function (signature) { + if (!packetlist.filterByTag(_enums2.default.packet.signature).some(function (signature) { return signature.revocationKeyClass !== null; })) { - // Indicate an error, but still parse the key. - err.push(new Error('This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.')); + _context46.next = 9; + break; } + + throw new Error('This key is intended to be revoked with an authorized key, which OpenPGP.js does not support.'); + + case 9: keyIndex = packetlist.indexOfTag(_enums2.default.packet.publicKey, _enums2.default.packet.secretKey); if (!(keyIndex.length === 0)) { - _context46.next = 11; + _context46.next = 12; break; } throw new Error('No key packet found'); - case 11: + case 12: for (i = 0; i < keyIndex.length; i++) { oneKeyList = packetlist.slice(keyIndex[i], keyIndex[i + 1]); @@ -39411,27 +39631,27 @@ var read = exports.read = function () { err.push(e); } } - _context46.next = 17; + _context46.next = 18; break; - case 14: - _context46.prev = 14; + case 15: + _context46.prev = 15; _context46.t0 = _context46['catch'](3); err.push(_context46.t0); - case 17: + case 18: if (err.length) { result.err = err; } return _context46.abrupt('return', result); - case 19: + case 20: case 'end': return _context46.stop(); } } - }, _callee46, this, [[3, 14]]); + }, _callee46, this, [[3, 15]]); })); return function read(_x89) { @@ -39933,18 +40153,37 @@ var wrapKeyObject = function () { case 9: subkeySignaturePacket.hashAlgorithm = _context54.sent; - subkeySignaturePacket.keyFlags = subkeyOptions.sign ? _enums2.default.keyFlags.sign_data : [_enums2.default.keyFlags.encrypt_communication | _enums2.default.keyFlags.encrypt_storage]; + if (!subkeyOptions.sign) { + _context54.next = 17; + break; + } + + subkeySignaturePacket.keyFlags = [_enums2.default.keyFlags.sign_data]; + _context54.next = 14; + return createSignaturePacket(dataToSign, null, secretSubkeyPacket, { + signatureType: _enums2.default.signature.key_binding + }, subkeyOptions.date); + + case 14: + subkeySignaturePacket.embeddedSignature = _context54.sent; + _context54.next = 18; + break; + + case 17: + subkeySignaturePacket.keyFlags = [_enums2.default.keyFlags.encrypt_communication | _enums2.default.keyFlags.encrypt_storage]; + + case 18: if (subkeyOptions.keyExpirationTime > 0) { subkeySignaturePacket.keyExpirationTime = subkeyOptions.keyExpirationTime; subkeySignaturePacket.keyNeverExpires = false; } - _context54.next = 14; + _context54.next = 21; return subkeySignaturePacket.sign(secretKeyPacket, dataToSign); - case 14: + case 21: return _context54.abrupt('return', { secretSubkeyPacket: secretSubkeyPacket, subkeySignaturePacket: subkeySignaturePacket }); - case 15: + case 22: case 'end': return _context54.stop(); } @@ -40410,6 +40649,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {module:packet.List} packetlist The packets that form this key * @borrows module:packet.PublicKey#getKeyId as Key#getKeyId * @borrows module:packet.PublicKey#getFingerprint as Key#getFingerprint + * @borrows module:packet.PublicKey#hasSameFingerprintAs as Key#hasSameFingerprintAs * @borrows module:packet.PublicKey#getAlgorithmInfo as Key#getAlgorithmInfo * @borrows module:packet.PublicKey#getCreationTime as Key#getCreationTime * @borrows module:packet.PublicKey#isDecrypted as Key#isDecrypted @@ -40696,7 +40936,7 @@ Key.prototype.armor = function () { _context2.t1 = _enums2.default.keyStatus.valid; if (!(_context2.t0 === _context2.t1)) { - _context2.next = 30; + _context2.next = 35; break; } @@ -40707,12 +40947,12 @@ Key.prototype.armor = function () { case 9: if (!(i < subKeys.length)) { - _context2.next = 25; + _context2.next = 30; break; } if (!(!keyId || subKeys[i].getKeyId().equals(keyId))) { - _context2.next = 22; + _context2.next = 27; break; } @@ -40724,7 +40964,7 @@ Key.prototype.armor = function () { _context2.t3 = _enums2.default.keyStatus.valid; if (!(_context2.t2 === _context2.t3)) { - _context2.next = 22; + _context2.next = 27; break; } @@ -40734,37 +40974,50 @@ Key.prototype.armor = function () { case 19: bindingSignature = _context2.sent; + _context2.t4 = bindingSignature && bindingSignature.embeddedSignature && isValidSigningKeyPacket(subKeys[i].keyPacket, bindingSignature); - if (!(bindingSignature && isValidSigningKeyPacket(subKeys[i].keyPacket, bindingSignature))) { - _context2.next = 22; + if (!_context2.t4) { + _context2.next = 25; + break; + } + + _context2.next = 24; + return getLatestValidSignature([bindingSignature.embeddedSignature], subKeys[i].keyPacket, dataToVerify, date); + + case 24: + _context2.t4 = _context2.sent; + + case 25: + if (!_context2.t4) { + _context2.next = 27; break; } return _context2.abrupt('return', subKeys[i]); - case 22: + case 27: i++; _context2.next = 9; break; - case 25: - _context2.next = 27; + case 30: + _context2.next = 32; return this.getPrimaryUser(date, userId); - case 27: + case 32: primaryUser = _context2.sent; if (!(primaryUser && (!keyId || primaryKey.getKeyId().equals(keyId)) && isValidSigningKeyPacket(primaryKey, primaryUser.selfCertification))) { - _context2.next = 30; + _context2.next = 35; break; } return _context2.abrupt('return', this); - case 30: + case 35: return _context2.abrupt('return', null); - case 31: + case 36: case 'end': return _context2.stop(); } @@ -41476,7 +41729,7 @@ Key.prototype.update = function () { return _context17.abrupt('return'); case 6: - if (!(this.getFingerprint() !== key.getFingerprint())) { + if (this.hasSameFingerprintAs(key)) { _context17.next = 8; break; } @@ -41492,7 +41745,7 @@ Key.prototype.update = function () { // check for equal subkey packets equal = this.subKeys.length === key.subKeys.length && this.subKeys.every(function (destSubKey) { return key.subKeys.some(function (srcSubKey) { - return destSubKey.getFingerprint() === srcSubKey.getFingerprint(); + return destSubKey.hasSameFingerprintAs(srcSubKey); }); }); @@ -41592,7 +41845,7 @@ Key.prototype.update = function () { while (1) { switch (_context15.prev = _context15.next) { case 0: - if (!(srcSubKey.getFingerprint() === dstSubKey.getFingerprint())) { + if (!dstSubKey.hasSameFingerprintAs(srcSubKey)) { _context15.next = 4; break; } @@ -42163,7 +42416,7 @@ User.prototype.sign = function () { throw new Error('Need private key for signing'); case 2: - if (!(privateKey.getFingerprint() === primaryKey.getFingerprint())) { + if (!privateKey.hasSameFingerprintAs(primaryKey)) { _context28.next = 4; break; } @@ -42645,6 +42898,7 @@ User.prototype.update = function () { * @classdesc Class that represents a subkey packet and the relevant signatures. * @borrows module:packet.PublicSubkey#getKeyId as SubKey#getKeyId * @borrows module:packet.PublicSubkey#getFingerprint as SubKey#getFingerprint + * @borrows module:packet.PublicSubkey#hasSameFingerprintAs as SubKey#hasSameFingerprintAs * @borrows module:packet.PublicSubkey#getAlgorithmInfo as SubKey#getAlgorithmInfo * @borrows module:packet.PublicSubkey#getCreationTime as SubKey#getCreationTime * @borrows module:packet.PublicSubkey#isDecrypted as SubKey#isDecrypted @@ -42867,7 +43121,7 @@ SubKey.prototype.update = function () { return _context44.abrupt('return'); case 6: - if (!(this.getFingerprint() !== subKey.getFingerprint())) { + if (this.hasSameFingerprintAs(subKey)) { _context44.next = 8; break; } @@ -43037,6 +43291,10 @@ SubKey.prototype.revoke = function () { }; }); +Key.prototype.hasSameFingerprintAs = SubKey.prototype.hasSameFingerprintAs = function (other) { + return this.keyPacket.hasSameFingerprintAs(other.keyPacket || other); +}; + function isDataExpired(keyPacket, signature) { var date = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Date(); @@ -43057,7 +43315,7 @@ function getExpirationTime(keyPacket, signature) { return expirationTime ? new Date(expirationTime) : Infinity; } -},{"./config":342,"./crypto":357,"./encoding/armor":374,"./enums":376,"./packet":388,"./util":415,"babel-runtime/core-js/object/assign":21,"babel-runtime/core-js/object/get-prototype-of":27,"babel-runtime/core-js/object/values":29,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/slicedToArray":39,"babel-runtime/regenerator":42}],380:[function(_dereq_,module,exports){ +},{"./config":342,"./crypto":357,"./encoding/armor":374,"./enums":376,"./packet":388,"./util":415,"babel-runtime/core-js/object/assign":21,"babel-runtime/core-js/object/get-prototype-of":26,"babel-runtime/core-js/object/values":28,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41}],380:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -43416,7 +43674,7 @@ KeyArray.prototype.removeForId = function (keyId) { exports.default = Keyring; -},{"../key":379,"./localstore":382,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],382:[function(_dereq_,module,exports){ +},{"../key":379,"./localstore":382,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],382:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -43701,7 +43959,7 @@ LocalStore.prototype.storePrivate = function () { exports.default = LocalStore; -},{"../config":342,"../key":379,"../util":415,"babel-runtime/core-js/json/stringify":20,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"node-localstorage":"node-localstorage","web-stream-tools":336}],383:[function(_dereq_,module,exports){ +},{"../config":342,"../key":379,"../util":415,"babel-runtime/core-js/json/stringify":20,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"node-localstorage":"node-localstorage","web-stream-tools":337}],383:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -43800,7 +44058,7 @@ var encryptSessionKey = exports.encryptSessionKey = function () { }, _callee8, this); })); - return function (_x25) { + return function (_x26) { return _ref9.apply(this, arguments); }; }())); @@ -43842,7 +44100,7 @@ var encryptSessionKey = exports.encryptSessionKey = function () { }, _callee9, this, [[0, 6]]); })); - return function testDecrypt(_x26, _x27) { + return function testDecrypt(_x27, _x28) { return _ref10.apply(this, arguments); }; }(); @@ -43903,7 +44161,7 @@ var encryptSessionKey = exports.encryptSessionKey = function () { }, _callee10, this); })); - return function encryptPassword(_x28, _x29, _x30, _x31) { + return function encryptPassword(_x29, _x30, _x31, _x32) { return _ref11.apply(this, arguments); }; }(); @@ -43929,7 +44187,7 @@ var encryptSessionKey = exports.encryptSessionKey = function () { }, _callee11, this); })); - return function encryptSessionKey(_x17, _x18, _x19, _x20, _x21) { + return function encryptSessionKey(_x18, _x19, _x20, _x21, _x22) { return _ref8.apply(this, arguments); }; }(); @@ -44013,7 +44271,7 @@ var createSignaturePackets = exports.createSignaturePackets = function () { }, _callee15, _this); })); - return function (_x47) { + return function (_x48) { return _ref16.apply(this, arguments); }; }())).then(function (signatureList) { @@ -44039,7 +44297,7 @@ var createSignaturePackets = exports.createSignaturePackets = function () { }, _callee16, this); })); - return function createSignaturePackets(_x42, _x43) { + return function createSignaturePackets(_x43, _x44) { return _ref15.apply(this, arguments); }; }(); @@ -44066,27 +44324,27 @@ var createSignaturePackets = exports.createSignaturePackets = function () { * @async */ var createVerificationObject = function () { - var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(signature, literalDataList, keys) { + var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(signature, literalDataList, keys) { var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); var keyPacket, verifiedSig; - 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: keyPacket = null; - _context21.next = 3; + _context22.next = 3; return _promise2.default.all(keys.map(function () { - var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(key) { + var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(key) { var result; - 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: - _context20.next = 2; + _context21.next = 2; return key.getSigningKey(signature.issuerKeyId, date); case 2: - result = _context20.sent; + result = _context21.sent; if (result) { keyPacket = result.keyPacket; @@ -44094,14 +44352,14 @@ var createVerificationObject = function () { case 4: case 'end': - return _context20.stop(); + return _context21.stop(); } } - }, _callee20, this); + }, _callee21, this); })); - return function (_x57) { - return _ref22.apply(this, arguments); + return function (_x59) { + return _ref23.apply(this, arguments); }; }())); @@ -44118,18 +44376,25 @@ var createVerificationObject = function () { return new _signature.Signature(packetlist); }); - return _context21.abrupt('return', verifiedSig); + // Mark potential promise rejections as "handled". This is needed because in + // some cases, we reject them before the user has a reasonable chance to + // handle them (e.g. `await readToEnd(result.data); await result.verified` and + // the data stream errors). + verifiedSig.signature.catch(function () {}); + verifiedSig.verified.catch(function () {}); - case 6: + return _context22.abrupt('return', verifiedSig); + + case 8: case 'end': - return _context21.stop(); + return _context22.stop(); } } - }, _callee21, this); + }, _callee22, this); })); - return function createVerificationObject(_x53, _x54, _x55) { - return _ref21.apply(this, arguments); + return function createVerificationObject(_x55, _x56, _x57) { + return _ref22.apply(this, arguments); }; }(); @@ -44147,43 +44412,45 @@ var createVerificationObject = function () { var createVerificationObjects = exports.createVerificationObjects = function () { - var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(signatureList, literalDataList, keys) { + var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24(signatureList, literalDataList, keys) { var date = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : new Date(); - return _regenerator2.default.wrap(function _callee23$(_context23) { + return _regenerator2.default.wrap(function _callee24$(_context24) { while (1) { - switch (_context23.prev = _context23.next) { + switch (_context24.prev = _context24.next) { case 0: - return _context23.abrupt('return', _promise2.default.all(signatureList.map(function () { - var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(signature) { - return _regenerator2.default.wrap(function _callee22$(_context22) { + return _context24.abrupt('return', _promise2.default.all(signatureList.filter(function (signature) { + return ['text', 'binary'].includes(_enums2.default.read(_enums2.default.signature, signature.signatureType)); + }).map(function () { + var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(signature) { + return _regenerator2.default.wrap(function _callee23$(_context23) { while (1) { - switch (_context22.prev = _context22.next) { + switch (_context23.prev = _context23.next) { case 0: - return _context22.abrupt('return', createVerificationObject(signature, literalDataList, keys, date)); + return _context23.abrupt('return', createVerificationObject(signature, literalDataList, keys, date)); case 1: case 'end': - return _context22.stop(); + return _context23.stop(); } } - }, _callee22, this); + }, _callee23, this); })); - return function (_x62) { - return _ref24.apply(this, arguments); + return function (_x64) { + return _ref25.apply(this, arguments); }; }()))); case 1: case 'end': - return _context23.stop(); + return _context24.stop(); } } - }, _callee23, this); + }, _callee24, this); })); - return function createVerificationObjects(_x58, _x59, _x60) { - return _ref23.apply(this, arguments); + return function createVerificationObjects(_x60, _x61, _x62) { + return _ref24.apply(this, arguments); }; }(); @@ -44201,11 +44468,11 @@ var createVerificationObjects = exports.createVerificationObjects = function () * @static */ var readArmored = exports.readArmored = function () { - var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(armoredText) { + var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(armoredText) { var streamType, input; - 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: //TODO how do we want to handle bad text? Exception throwing //TODO don't accept non-message armored texts @@ -44214,23 +44481,23 @@ var readArmored = exports.readArmored = function () { if (streamType === 'node') { armoredText = _webStreamTools2.default.nodeToWeb(armoredText); } - _context25.next = 4; + _context26.next = 4; return _armor2.default.decode(armoredText); case 4: - input = _context25.sent; - return _context25.abrupt('return', read(input.data, streamType)); + input = _context26.sent; + return _context26.abrupt('return', read(input.data, streamType)); case 6: case 'end': - return _context25.stop(); + return _context26.stop(); } } - }, _callee25, this); + }, _callee26, this); })); - return function readArmored(_x64) { - return _ref26.apply(this, arguments); + return function readArmored(_x66) { + return _ref27.apply(this, arguments); }; }(); @@ -44245,12 +44512,12 @@ var readArmored = exports.readArmored = function () { var read = exports.read = function () { - var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(input) { + var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(input) { var fromStream = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util2.default.isStream(input); var streamType, packetlist, message; - return _regenerator2.default.wrap(function _callee26$(_context26) { + return _regenerator2.default.wrap(function _callee27$(_context27) { while (1) { - switch (_context26.prev = _context26.next) { + switch (_context27.prev = _context27.next) { case 0: streamType = _util2.default.isStream(input); @@ -44258,25 +44525,25 @@ var read = exports.read = function () { input = _webStreamTools2.default.nodeToWeb(input); } packetlist = new _packet2.default.List(); - _context26.next = 5; + _context27.next = 5; return packetlist.read(input); case 5: message = new Message(packetlist); message.fromStream = fromStream; - return _context26.abrupt('return', message); + return _context27.abrupt('return', message); case 8: case 'end': - return _context26.stop(); + return _context27.stop(); } } - }, _callee26, this); + }, _callee27, this); })); - return function read(_x65) { - return _ref27.apply(this, arguments); + return function read(_x67) { + return _ref28.apply(this, arguments); }; }(); @@ -44557,15 +44824,35 @@ Message.prototype.decryptSessionKeys = function () { case 5: _context6.next = 7; - return _promise2.default.all(symESKeyPacketlist.map(function () { - var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(keyPacket) { + return _promise2.default.all(passwords.map(function () { + var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(password, i) { + var packets; return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: - _context3.next = 2; - return _promise2.default.all(passwords.map(function () { - var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(password) { + packets = void 0; + + if (!i) { + _context3.next = 7; + break; + } + + packets = new _packet2.default.List(); + _context3.next = 5; + return packets.read(symESKeyPacketlist.write()); + + case 5: + _context3.next = 8; + break; + + case 7: + packets = symESKeyPacketlist; + + case 8: + _context3.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) { while (1) { switch (_context2.prev = _context2.next) { @@ -44593,16 +44880,12 @@ Message.prototype.decryptSessionKeys = function () { }, _callee2, this, [[0, 6]]); })); - return function (_x8) { + return function (_x9) { return _ref4.apply(this, arguments); }; }())); - case 2: - _webStreamTools2.default.cancel(keyPacket.encrypted); // Don't keep copy of encrypted data in memory. - keyPacket.encrypted = null; - - case 4: + case 10: case 'end': return _context3.stop(); } @@ -44610,7 +44893,7 @@ Message.prototype.decryptSessionKeys = function () { }, _callee3, this); })); - return function (_x7) { + return function (_x7, _x8) { return _ref3.apply(this, arguments); }; }())); @@ -44696,7 +44979,7 @@ Message.prototype.decryptSessionKeys = function () { }, _callee4, this, [[4, 10]]); })); - return function (_x10) { + return function (_x11) { return _ref6.apply(this, arguments); }; }())); @@ -44713,7 +44996,7 @@ Message.prototype.decryptSessionKeys = function () { }, _callee5, this); })); - return function (_x9) { + return function (_x10) { return _ref5.apply(this, arguments); }; }())); @@ -44955,7 +45238,7 @@ Message.prototype.encrypt = function () { }, _callee7, this); })); - return function (_x11, _x12, _x13) { + return function (_x12, _x13, _x14) { return _ref7.apply(this, arguments); }; }();Message.prototype.sign = function () { @@ -45058,7 +45341,7 @@ Message.prototype.encrypt = function () { }, _callee12, this); })); - return function (_x36, _x37) { + return function (_x37, _x38) { return _ref13.apply(this, arguments); }; }())).then(function (onePassSignatureList) { @@ -45164,21 +45447,21 @@ Message.prototype.signDetached = function () { return _ref14.apply(this, arguments); }; }();Message.prototype.verify = function () { - var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(keys) { + var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(keys) { var _this2 = 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 _callee19$(_context19) { + return _regenerator2.default.wrap(function _callee20$(_context20) { while (1) { - switch (_context19.prev = _context19.next) { + switch (_context20.prev = _context20.next) { case 0: msg = this.unwrapCompressed(); literalDataList = msg.packets.filterByTag(_enums2.default.packet.literal); if (!(literalDataList.length !== 1)) { - _context19.next = 4; + _context20.next = 4; break; } @@ -45189,124 +45472,144 @@ Message.prototype.signDetached = function () { signatureList = msg.packets.filterByTag(_enums2.default.packet.signature); if (!(onePassSigList.length && !signatureList.length && msg.packets.stream)) { - _context19.next = 10; + _context20.next = 11; break; } - onePassSigList.forEach(function (onePassSig) { - onePassSig.correspondingSig = new _promise2.default(function (resolve) { - onePassSig.correspondingSigResolve = resolve; - }); - onePassSig.signatureData = _webStreamTools2.default.fromAsync((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17() { - return _regenerator2.default.wrap(function _callee17$(_context17) { - while (1) { - switch (_context17.prev = _context17.next) { - case 0: - _context17.next = 2; - return onePassSig.correspondingSig; - - case 2: - return _context17.abrupt('return', _context17.sent.signatureData); - - case 3: - case 'end': - return _context17.stop(); - } - } - }, _callee17, _this2); - }))); - onePassSig.hashed = onePassSig.hash(literalDataList[0], undefined, streaming); - }); - msg.packets.stream = _webStreamTools2.default.transformPair(msg.packets.stream, function () { - var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(readable, writable) { - var reader, writer, i, _ref20, signature; - + _context20.next = 9; + return _promise2.default.all(onePassSigList.map(function () { + var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(onePassSig) { return _regenerator2.default.wrap(function _callee18$(_context18) { while (1) { switch (_context18.prev = _context18.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 _callee17() { + return _regenerator2.default.wrap(function _callee17$(_context17) { + while (1) { + switch (_context17.prev = _context17.next) { + case 0: + _context17.next = 2; + return onePassSig.correspondingSig; + + case 2: + return _context17.abrupt('return', _context17.sent.signatureData); + + case 3: + case 'end': + return _context17.stop(); + } + } + }, _callee17, _this2); + }))); + _context18.next = 4; + return onePassSig.hash(literalDataList[0], undefined, streaming); + + case 4: + onePassSig.hashed = _context18.sent; + + case 5: + case 'end': + return _context18.stop(); + } + } + }, _callee18, _this2); + })); + + return function (_x51) { + return _ref18.apply(this, arguments); + }; + }())); + + case 9: + msg.packets.stream = _webStreamTools2.default.transformPair(msg.packets.stream, function () { + var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(readable, writable) { + var reader, writer, i, _ref21, signature; + + return _regenerator2.default.wrap(function _callee19$(_context19) { + while (1) { + switch (_context19.prev = _context19.next) { case 0: reader = _webStreamTools2.default.getReader(readable); writer = _webStreamTools2.default.getWriter(writable); - _context18.prev = 2; + _context19.prev = 2; i = 0; case 4: if (!(i < onePassSigList.length)) { - _context18.next = 13; + _context19.next = 13; break; } - _context18.next = 7; + _context19.next = 7; return reader.read(); case 7: - _ref20 = _context18.sent; - signature = _ref20.value; + _ref21 = _context19.sent; + signature = _ref21.value; onePassSigList[i].correspondingSigResolve(signature); case 10: i++; - _context18.next = 4; + _context19.next = 4; break; case 13: - _context18.next = 15; + _context19.next = 15; return reader.readToEnd(); case 15: - _context18.next = 17; + _context19.next = 17; return writer.ready; case 17: - _context18.next = 19; + _context19.next = 19; return writer.close(); case 19: - _context18.next = 26; + _context19.next = 26; break; case 21: - _context18.prev = 21; - _context18.t0 = _context18['catch'](2); + _context19.prev = 21; + _context19.t0 = _context19['catch'](2); onePassSigList.forEach(function (onePassSig) { - onePassSig.correspondingSigResolve({ - tag: _enums2.default.packet.signature, - verify: function verify() { - return undefined; - } - }); + onePassSig.correspondingSigReject(_context19.t0); }); - _context18.next = 26; - return writer.abort(_context18.t0); + _context19.next = 26; + return writer.abort(_context19.t0); case 26: case 'end': - return _context18.stop(); + return _context19.stop(); } } - }, _callee18, _this2, [[2, 21]]); + }, _callee19, _this2, [[2, 21]]); })); - return function (_x50, _x51) { - return _ref19.apply(this, arguments); + return function (_x52, _x53) { + return _ref20.apply(this, arguments); }; }()); - return _context19.abrupt('return', createVerificationObjects(onePassSigList, literalDataList, keys, date)); - - case 10: - return _context19.abrupt('return', createVerificationObjects(signatureList, literalDataList, keys, date)); + return _context20.abrupt('return', createVerificationObjects(onePassSigList, literalDataList, keys, date)); case 11: + return _context20.abrupt('return', createVerificationObjects(signatureList, literalDataList, keys, date)); + + case 12: case 'end': - return _context19.stop(); + return _context20.stop(); } } - }, _callee19, this); + }, _callee20, this); })); - return function (_x48) { + return function (_x49) { return _ref17.apply(this, arguments); }; }(); @@ -45342,44 +45645,44 @@ Message.prototype.verifyDetached = function (signature, keys) { * @param {String|Uint8Array} detachedSignature The detached ASCII-armored or Uint8Array PGP signature */ Message.prototype.appendSignature = function () { - var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24(detachedSignature) { - return _regenerator2.default.wrap(function _callee24$(_context24) { + var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(detachedSignature) { + return _regenerator2.default.wrap(function _callee25$(_context25) { while (1) { - switch (_context24.prev = _context24.next) { + switch (_context25.prev = _context25.next) { case 0: - _context24.t0 = this.packets; + _context25.t0 = this.packets; if (!_util2.default.isUint8Array(detachedSignature)) { - _context24.next = 5; + _context25.next = 5; break; } - _context24.t1 = detachedSignature; - _context24.next = 8; + _context25.t1 = detachedSignature; + _context25.next = 8; break; case 5: - _context24.next = 7; + _context25.next = 7; return _armor2.default.decode(detachedSignature); case 7: - _context24.t1 = _context24.sent.data; + _context25.t1 = _context25.sent.data; case 8: - _context24.t2 = _context24.t1; - _context24.next = 11; - return _context24.t0.read.call(_context24.t0, _context24.t2); + _context25.t2 = _context25.t1; + _context25.next = 11; + return _context25.t0.read.call(_context25.t0, _context25.t2); case 11: case 'end': - return _context24.stop(); + return _context25.stop(); } } - }, _callee24, this); + }, _callee25, this); })); - return function (_x63) { - return _ref25.apply(this, arguments); + return function (_x65) { + return _ref26.apply(this, arguments); }; }(); @@ -45443,7 +45746,7 @@ function fromBinary(bytes, filename) { return message; } -},{"./config":342,"./crypto":357,"./encoding/armor":374,"./enums":376,"./key":379,"./packet":388,"./signature":408,"./type/keyid":411,"./util":415,"babel-runtime/core-js/array/from":17,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"web-stream-tools":336}],384:[function(_dereq_,module,exports){ +},{"./config":342,"./crypto":357,"./encoding/armor":374,"./enums":376,"./key":379,"./packet":388,"./signature":408,"./type/keyid":411,"./util":415,"babel-runtime/core-js/array/from":17,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"web-stream-tools":337}],384:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -45477,17 +45780,17 @@ var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); * @returns {Object} the data in the respective format */ var convertStream = function () { - var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(data, streaming) { - return _regenerator2.default.wrap(function _callee12$(_context12) { + var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(data, streaming) { + return _regenerator2.default.wrap(function _callee13$(_context13) { while (1) { - switch (_context12.prev = _context12.next) { + switch (_context13.prev = _context13.next) { case 0: if (!(!streaming && _util2.default.isStream(data))) { - _context12.next = 2; + _context13.next = 2; break; } - return _context12.abrupt('return', _webStreamTools2.default.readToEnd(data)); + return _context13.abrupt('return', _webStreamTools2.default.readToEnd(data)); case 2: if (streaming && !_util2.default.isStream(data)) { @@ -45501,18 +45804,18 @@ var convertStream = function () { if (streaming === 'node') { data = _webStreamTools2.default.webToNode(data); } - return _context12.abrupt('return', data); + return _context13.abrupt('return', data); case 5: case 'end': - return _context12.stop(); + return _context13.stop(); } } - }, _callee12, this); + }, _callee13, this); })); - return function convertStream(_x7, _x8) { - return _ref24.apply(this, arguments); + return function convertStream(_x8, _x9) { + return _ref25.apply(this, arguments); }; }(); @@ -45526,73 +45829,73 @@ var convertStream = function () { var convertStreams = function () { - var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(obj, streaming) { - var _this4 = this; + var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(obj, streaming) { + var _this5 = this; var keys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - 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: if (!(Object.prototype.isPrototypeOf(obj) && !Uint8Array.prototype.isPrototypeOf(obj))) { - _context14.next = 3; + _context15.next = 3; break; } - _context14.next = 3; + _context15.next = 3; return _promise2.default.all((0, _entries2.default)(obj).map(function () { - var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(_ref27) { - var _ref28 = (0, _slicedToArray3.default)(_ref27, 2), - key = _ref28[0], - value = _ref28[1]; + var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref28) { + var _ref29 = (0, _slicedToArray3.default)(_ref28, 2), + key = _ref29[0], + value = _ref29[1]; - 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 (!(_util2.default.isStream(value) || keys.includes(key))) { - _context13.next = 6; + _context14.next = 6; break; } - _context13.next = 3; + _context14.next = 3; return convertStream(value, streaming); case 3: - obj[key] = _context13.sent; - _context13.next = 8; + obj[key] = _context14.sent; + _context14.next = 8; break; case 6: - _context13.next = 8; + _context14.next = 8; return convertStreams(obj[key], streaming); case 8: case 'end': - return _context13.stop(); + return _context14.stop(); } } - }, _callee13, _this4); + }, _callee14, _this5); })); - return function (_x12) { - return _ref26.apply(this, arguments); + return function (_x13) { + return _ref27.apply(this, arguments); }; }())); case 3: - return _context14.abrupt('return', obj); + return _context15.abrupt('return', obj); case 4: case 'end': - return _context14.stop(); + return _context15.stop(); } } - }, _callee14, this); + }, _callee15, this); })); - return function convertStreams(_x9, _x10) { - return _ref25.apply(this, arguments); + return function convertStreams(_x10, _x11) { + return _ref26.apply(this, arguments); }; }(); @@ -45611,54 +45914,54 @@ var convertStreams = function () { * @param {Object} signatures list of signatures */ var prepareSignatures = function () { - var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(signatures) { - var _this6 = this; + var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(signatures) { + var _this7 = this; - 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: - _context17.next = 2; + _context18.next = 2; return _promise2.default.all(signatures.map(function () { - var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(signature) { - return _regenerator2.default.wrap(function _callee16$(_context16) { + var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(signature) { + return _regenerator2.default.wrap(function _callee17$(_context17) { while (1) { - switch (_context16.prev = _context16.next) { + switch (_context17.prev = _context17.next) { case 0: - _context16.next = 2; + _context17.next = 2; return signature.signature; case 2: - signature.signature = _context16.sent; - _context16.next = 5; + signature.signature = _context17.sent; + _context17.next = 5; return signature.verified; case 5: - signature.valid = _context16.sent; + signature.valid = _context17.sent; case 6: case 'end': - return _context16.stop(); + return _context17.stop(); } } - }, _callee16, _this6); + }, _callee17, _this7); })); - return function (_x16) { - return _ref31.apply(this, arguments); + return function (_x17) { + return _ref32.apply(this, arguments); }; }())); case 2: case 'end': - return _context17.stop(); + return _context18.stop(); } } - }, _callee17, this); + }, _callee18, this); })); - return function prepareSignatures(_x15) { - return _ref30.apply(this, arguments); + return function prepareSignatures(_x16) { + return _ref31.apply(this, arguments); }; }(); @@ -45945,14 +46248,14 @@ function reformatKey(_ref4) { key.revocationSignatures = []; - return _context2.abrupt('return', { + return _context2.abrupt('return', convertStreams({ key: key, privateKeyArmored: key.armor(), publicKeyArmored: key.toPublic().armor(), revocationCertificate: revocationCertificate - }); + })); case 5: case 'end': @@ -45982,6 +46285,8 @@ function reformatKey(_ref4) { * @static */ function revokeKey() { + var _this3 = this; + var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, key = _ref6.key, revocationCertificate = _ref6.revocationCertificate, @@ -46002,21 +46307,48 @@ function revokeKey() { } else { return key.revoke(reasonForRevocation); } - }).then(function (key) { - if (key.isPrivate()) { - var publicKey = key.toPublic(); - return { - privateKey: key, - privateKeyArmored: key.armor(), - publicKey: publicKey, - publicKeyArmored: publicKey.armor() - }; - } - return { - publicKey: key, - publicKeyArmored: key.armor() + }).then(function () { + var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(key) { + var publicKey; + return _regenerator2.default.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.next = 2; + return convertStreams(key); + + case 2: + if (!key.isPrivate()) { + _context3.next = 5; + break; + } + + publicKey = key.toPublic(); + return _context3.abrupt('return', { + privateKey: key, + privateKeyArmored: key.armor(), + publicKey: publicKey, + publicKeyArmored: publicKey.armor() + }); + + case 5: + return _context3.abrupt('return', { + publicKey: key, + publicKeyArmored: key.armor() + }); + + case 6: + case 'end': + return _context3.stop(); + } + } + }, _callee3, _this3); + })); + + return function (_x5) { + return _ref7.apply(this, arguments); }; - }).catch(onError.bind(null, 'Error revoking key')); + }()).catch(onError.bind(null, 'Error revoking key')); } /** @@ -46026,60 +46358,22 @@ function revokeKey() { * @returns {Promise} the unlocked key object in the form: { key:Key } * @async */ -function decryptKey(_ref7) { - var privateKey = _ref7.privateKey, - passphrase = _ref7.passphrase; +function decryptKey(_ref8) { + var privateKey = _ref8.privateKey, + passphrase = _ref8.passphrase; if (asyncProxy) { // use web worker if available return asyncProxy.delegate('decryptKey', { privateKey: privateKey, passphrase: passphrase }); } - return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() { - return _regenerator2.default.wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _context3.next = 2; - return privateKey.decrypt(passphrase); - - case 2: - return _context3.abrupt('return', { - key: privateKey - }); - - case 3: - case 'end': - return _context3.stop(); - } - } - }, _callee3, this); - }))).catch(onError.bind(null, 'Error decrypting private key')); -} - -/** - * Lock a private key with your passphrase. - * @param {Key} privateKey the private key that is to be decrypted - * @param {String|Array} passphrase the user's passphrase(s) chosen during key generation - * @returns {Promise} the locked key object in the form: { key:Key } - * @async - */ -function encryptKey(_ref9) { - var privateKey = _ref9.privateKey, - passphrase = _ref9.passphrase; - - if (asyncProxy) { - // use web worker if available - return asyncProxy.delegate('encryptKey', { privateKey: privateKey, passphrase: passphrase }); - } - return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() { return _regenerator2.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: _context4.next = 2; - return privateKey.encrypt(passphrase); + return privateKey.decrypt(passphrase); case 2: return _context4.abrupt('return', { @@ -46095,6 +46389,44 @@ function encryptKey(_ref9) { }))).catch(onError.bind(null, 'Error decrypting private key')); } +/** + * Lock a private key with your passphrase. + * @param {Key} privateKey the private key that is to be decrypted + * @param {String|Array} passphrase the user's passphrase(s) chosen during key generation + * @returns {Promise} the locked key object in the form: { key:Key } + * @async + */ +function encryptKey(_ref10) { + var privateKey = _ref10.privateKey, + passphrase = _ref10.passphrase; + + if (asyncProxy) { + // use web worker if available + return asyncProxy.delegate('encryptKey', { privateKey: privateKey, passphrase: passphrase }); + } + + return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() { + return _regenerator2.default.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.next = 2; + return privateKey.encrypt(passphrase); + + case 2: + return _context5.abrupt('return', { + key: privateKey + }); + + case 3: + case 'end': + return _context5.stop(); + } + } + }, _callee5, this); + }))).catch(onError.bind(null, 'Error decrypting private key')); +} + /////////////////////////////////////////// // // // Message encryption and decryption // @@ -46132,34 +46464,34 @@ function encryptKey(_ref9) { * @async * @static */ -function encrypt(_ref11) { - var _this3 = this; +function encrypt(_ref12) { + var _this4 = this; - var message = _ref11.message, - publicKeys = _ref11.publicKeys, - privateKeys = _ref11.privateKeys, - passwords = _ref11.passwords, - sessionKey = _ref11.sessionKey, - _ref11$compression = _ref11.compression, - compression = _ref11$compression === undefined ? _config2.default.compression : _ref11$compression, - _ref11$armor = _ref11.armor, - armor = _ref11$armor === undefined ? true : _ref11$armor, - _ref11$streaming = _ref11.streaming, - streaming = _ref11$streaming === undefined ? message && message.fromStream : _ref11$streaming, - _ref11$detached = _ref11.detached, - detached = _ref11$detached === undefined ? false : _ref11$detached, - _ref11$signature = _ref11.signature, - signature = _ref11$signature === undefined ? null : _ref11$signature, - _ref11$returnSessionK = _ref11.returnSessionKey, - returnSessionKey = _ref11$returnSessionK === undefined ? false : _ref11$returnSessionK, - _ref11$wildcard = _ref11.wildcard, - wildcard = _ref11$wildcard === undefined ? false : _ref11$wildcard, - _ref11$date = _ref11.date, - date = _ref11$date === undefined ? new Date() : _ref11$date, - _ref11$fromUserId = _ref11.fromUserId, - fromUserId = _ref11$fromUserId === undefined ? {} : _ref11$fromUserId, - _ref11$toUserId = _ref11.toUserId, - toUserId = _ref11$toUserId === undefined ? {} : _ref11$toUserId; + var message = _ref12.message, + publicKeys = _ref12.publicKeys, + privateKeys = _ref12.privateKeys, + passwords = _ref12.passwords, + sessionKey = _ref12.sessionKey, + _ref12$compression = _ref12.compression, + compression = _ref12$compression === undefined ? _config2.default.compression : _ref12$compression, + _ref12$armor = _ref12.armor, + armor = _ref12$armor === undefined ? true : _ref12$armor, + _ref12$streaming = _ref12.streaming, + streaming = _ref12$streaming === undefined ? message && message.fromStream : _ref12$streaming, + _ref12$detached = _ref12.detached, + detached = _ref12$detached === undefined ? false : _ref12$detached, + _ref12$signature = _ref12.signature, + signature = _ref12$signature === undefined ? null : _ref12$signature, + _ref12$returnSessionK = _ref12.returnSessionKey, + returnSessionKey = _ref12$returnSessionK === undefined ? false : _ref12$returnSessionK, + _ref12$wildcard = _ref12.wildcard, + wildcard = _ref12$wildcard === undefined ? false : _ref12$wildcard, + _ref12$date = _ref12.date, + date = _ref12$date === undefined ? new Date() : _ref12$date, + _ref12$fromUserId = _ref12.fromUserId, + fromUserId = _ref12$fromUserId === undefined ? {} : _ref12$fromUserId, + _ref12$toUserId = _ref12.toUserId, + toUserId = _ref12$toUserId === undefined ? {} : _ref12$toUserId; checkMessage(message);publicKeys = toArray(publicKeys);privateKeys = toArray(privateKeys);passwords = toArray(passwords); @@ -46168,58 +46500,58 @@ function encrypt(_ref11) { return asyncProxy.delegate('encrypt', { message: message, publicKeys: publicKeys, privateKeys: privateKeys, passwords: passwords, sessionKey: sessionKey, compression: compression, armor: armor, streaming: streaming, detached: detached, signature: signature, returnSessionKey: returnSessionKey, wildcard: wildcard, date: date, fromUserId: fromUserId, toUserId: toUserId }); } var result = {}; - return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() { + return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6() { var detachedSignature; - 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: if (!privateKeys) { privateKeys = []; } if (!(privateKeys.length || signature)) { - _context5.next = 12; + _context6.next = 12; break; } if (!detached) { - _context5.next = 9; + _context6.next = 9; break; } - _context5.next = 5; + _context6.next = 5; return message.signDetached(privateKeys, signature, date, fromUserId); case 5: - detachedSignature = _context5.sent; + detachedSignature = _context6.sent; result.signature = armor ? detachedSignature.armor() : detachedSignature; - _context5.next = 12; + _context6.next = 12; break; case 9: - _context5.next = 11; + _context6.next = 11; return message.sign(privateKeys, signature, date, fromUserId); case 11: - message = _context5.sent; + message = _context6.sent; case 12: message = message.compress(compression); - return _context5.abrupt('return', message.encrypt(publicKeys, passwords, sessionKey, wildcard, date, toUserId, streaming)); + return _context6.abrupt('return', message.encrypt(publicKeys, passwords, sessionKey, wildcard, date, toUserId, streaming)); case 14: case 'end': - return _context5.stop(); + return _context6.stop(); } } - }, _callee5, this); + }, _callee6, this); }))).then(function () { - var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(encrypted) { - return _regenerator2.default.wrap(function _callee6$(_context6) { + var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(encrypted) { + return _regenerator2.default.wrap(function _callee7$(_context7) { while (1) { - switch (_context6.prev = _context6.next) { + switch (_context7.prev = _context7.next) { case 0: if (armor) { result.data = encrypted.message.armor(); @@ -46229,18 +46561,18 @@ function encrypt(_ref11) { if (returnSessionKey) { result.sessionKey = encrypted.sessionKey; } - return _context6.abrupt('return', convertStreams(result, streaming, armor ? ['signature', 'data'] : [])); + return _context7.abrupt('return', convertStreams(result, streaming, armor ? ['signature', 'data'] : [])); case 3: case 'end': - return _context6.stop(); + return _context7.stop(); } } - }, _callee6, _this3); + }, _callee7, _this4); })); - return function (_x5) { - return _ref13.apply(this, arguments); + return function (_x6) { + return _ref14.apply(this, arguments); }; }()).catch(onError.bind(null, 'Error encrypting message')); } @@ -46274,20 +46606,20 @@ function encrypt(_ref11) { * @async * @static */ -function decrypt(_ref14) { - var message = _ref14.message, - privateKeys = _ref14.privateKeys, - passwords = _ref14.passwords, - sessionKeys = _ref14.sessionKeys, - publicKeys = _ref14.publicKeys, - _ref14$format = _ref14.format, - format = _ref14$format === undefined ? 'utf8' : _ref14$format, - _ref14$streaming = _ref14.streaming, - streaming = _ref14$streaming === undefined ? message && message.fromStream : _ref14$streaming, - _ref14$signature = _ref14.signature, - signature = _ref14$signature === undefined ? null : _ref14$signature, - _ref14$date = _ref14.date, - date = _ref14$date === undefined ? new Date() : _ref14$date; +function decrypt(_ref15) { + var message = _ref15.message, + privateKeys = _ref15.privateKeys, + passwords = _ref15.passwords, + sessionKeys = _ref15.sessionKeys, + publicKeys = _ref15.publicKeys, + _ref15$format = _ref15.format, + format = _ref15$format === undefined ? 'utf8' : _ref15$format, + _ref15$streaming = _ref15.streaming, + streaming = _ref15$streaming === undefined ? message && message.fromStream : _ref15$streaming, + _ref15$signature = _ref15.signature, + signature = _ref15$signature === undefined ? null : _ref15$signature, + _ref15$date = _ref15.date, + date = _ref15$date === undefined ? new Date() : _ref15$date; checkMessage(message);publicKeys = toArray(publicKeys);privateKeys = toArray(privateKeys);passwords = toArray(passwords);sessionKeys = toArray(sessionKeys); @@ -46297,11 +46629,11 @@ function decrypt(_ref14) { } return message.decrypt(privateKeys, passwords, sessionKeys, streaming).then(function () { - var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(decrypted) { + var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(decrypted) { var result; - 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: if (!publicKeys) { publicKeys = []; @@ -46310,58 +46642,58 @@ function decrypt(_ref14) { result = {}; if (!signature) { - _context7.next = 8; + _context8.next = 8; break; } - _context7.next = 5; + _context8.next = 5; return decrypted.verifyDetached(signature, publicKeys, date, streaming); case 5: - _context7.t0 = _context7.sent; - _context7.next = 11; + _context8.t0 = _context8.sent; + _context8.next = 11; break; case 8: - _context7.next = 10; + _context8.next = 10; return decrypted.verify(publicKeys, date, streaming); case 10: - _context7.t0 = _context7.sent; + _context8.t0 = _context8.sent; case 11: - result.signatures = _context7.t0; + result.signatures = _context8.t0; result.data = format === 'binary' ? decrypted.getLiteralData() : decrypted.getText(); result.filename = decrypted.getFilename(); if (streaming) linkStreams(result, message, decrypted.packets.stream); - _context7.next = 17; + _context8.next = 17; return convertStream(result.data, streaming); case 17: - result.data = _context7.sent; + result.data = _context8.sent; if (streaming) { - _context7.next = 21; + _context8.next = 21; break; } - _context7.next = 21; + _context8.next = 21; return prepareSignatures(result.signatures); case 21: - return _context7.abrupt('return', result); + return _context8.abrupt('return', result); case 22: case 'end': - return _context7.stop(); + return _context8.stop(); } } - }, _callee7, this); + }, _callee8, this); })); - return function (_x6) { - return _ref15.apply(this, arguments); + return function (_x7) { + return _ref16.apply(this, arguments); }; }()).catch(onError.bind(null, 'Error decrypting message')); } @@ -46398,19 +46730,19 @@ function decrypt(_ref14) { * @async * @static */ -function sign(_ref16) { - var message = _ref16.message, - privateKeys = _ref16.privateKeys, - _ref16$armor = _ref16.armor, - armor = _ref16$armor === undefined ? true : _ref16$armor, - _ref16$streaming = _ref16.streaming, - streaming = _ref16$streaming === undefined ? message && message.fromStream : _ref16$streaming, - _ref16$detached = _ref16.detached, - detached = _ref16$detached === undefined ? false : _ref16$detached, - _ref16$date = _ref16.date, - date = _ref16$date === undefined ? new Date() : _ref16$date, - _ref16$fromUserId = _ref16.fromUserId, - fromUserId = _ref16$fromUserId === undefined ? {} : _ref16$fromUserId; +function sign(_ref17) { + var message = _ref17.message, + privateKeys = _ref17.privateKeys, + _ref17$armor = _ref17.armor, + armor = _ref17$armor === undefined ? true : _ref17$armor, + _ref17$streaming = _ref17.streaming, + streaming = _ref17$streaming === undefined ? message && message.fromStream : _ref17$streaming, + _ref17$detached = _ref17.detached, + detached = _ref17$detached === undefined ? false : _ref17$detached, + _ref17$date = _ref17.date, + date = _ref17$date === undefined ? new Date() : _ref17$date, + _ref17$fromUserId = _ref17.fromUserId, + fromUserId = _ref17$fromUserId === undefined ? {} : _ref17$fromUserId; checkCleartextOrMessage(message); privateKeys = toArray(privateKeys); @@ -46423,33 +46755,33 @@ function sign(_ref16) { } var result = {}; - return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8() { + return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9() { var signature; - 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: if (!detached) { - _context8.next = 7; + _context9.next = 7; break; } - _context8.next = 3; + _context9.next = 3; return message.signDetached(privateKeys, undefined, date, fromUserId); case 3: - signature = _context8.sent; + signature = _context9.sent; result.signature = armor ? signature.armor() : signature; - _context8.next = 11; + _context9.next = 11; break; case 7: - _context8.next = 9; + _context9.next = 9; return message.sign(privateKeys, undefined, date, fromUserId); case 9: - message = _context8.sent; + message = _context9.sent; if (armor) { result.data = message.armor(); @@ -46458,14 +46790,14 @@ function sign(_ref16) { } case 11: - return _context8.abrupt('return', convertStreams(result, streaming, armor ? ['signature', 'data'] : [])); + return _context9.abrupt('return', convertStreams(result, streaming, armor ? ['signature', 'data'] : [])); case 12: case 'end': - return _context8.stop(); + return _context9.stop(); } } - }, _callee8, this); + }, _callee9, this); }))).catch(onError.bind(null, 'Error signing cleartext message')); } @@ -46492,15 +46824,15 @@ function sign(_ref16) { * @async * @static */ -function verify(_ref18) { - var message = _ref18.message, - publicKeys = _ref18.publicKeys, - _ref18$streaming = _ref18.streaming, - streaming = _ref18$streaming === undefined ? message && message.fromStream : _ref18$streaming, - _ref18$signature = _ref18.signature, - signature = _ref18$signature === undefined ? null : _ref18$signature, - _ref18$date = _ref18.date, - date = _ref18$date === undefined ? new Date() : _ref18$date; +function verify(_ref19) { + var message = _ref19.message, + publicKeys = _ref19.publicKeys, + _ref19$streaming = _ref19.streaming, + streaming = _ref19$streaming === undefined ? message && message.fromStream : _ref19$streaming, + _ref19$signature = _ref19.signature, + signature = _ref19$signature === undefined ? null : _ref19$signature, + _ref19$date = _ref19.date, + date = _ref19$date === undefined ? new Date() : _ref19$date; checkCleartextOrMessage(message); publicKeys = toArray(publicKeys); @@ -46510,62 +46842,62 @@ function verify(_ref18) { return asyncProxy.delegate('verify', { message: message, publicKeys: publicKeys, streaming: streaming, signature: signature, date: date }); } - return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9() { + return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10() { var result; - 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: result = {}; if (!signature) { - _context9.next = 7; + _context10.next = 7; break; } - _context9.next = 4; + _context10.next = 4; return message.verifyDetached(signature, publicKeys, date, streaming); case 4: - _context9.t0 = _context9.sent; - _context9.next = 10; + _context10.t0 = _context10.sent; + _context10.next = 10; break; case 7: - _context9.next = 9; + _context10.next = 9; return message.verify(publicKeys, date, streaming); case 9: - _context9.t0 = _context9.sent; + _context10.t0 = _context10.sent; case 10: - result.signatures = _context9.t0; + result.signatures = _context10.t0; result.data = message instanceof _cleartext.CleartextMessage ? message.getText() : message.getLiteralData(); if (streaming) linkStreams(result, message); - _context9.next = 15; + _context10.next = 15; return convertStream(result.data, streaming); case 15: - result.data = _context9.sent; + result.data = _context10.sent; if (streaming) { - _context9.next = 19; + _context10.next = 19; break; } - _context9.next = 19; + _context10.next = 19; return prepareSignatures(result.signatures); case 19: - return _context9.abrupt('return', result); + return _context10.abrupt('return', result); case 20: case 'end': - return _context9.stop(); + return _context10.stop(); } } - }, _callee9, this); + }, _callee10, this); }))).catch(onError.bind(null, 'Error verifying cleartext signed message')); } @@ -46591,18 +46923,18 @@ function verify(_ref18) { * @async * @static */ -function encryptSessionKey(_ref20) { - var data = _ref20.data, - algorithm = _ref20.algorithm, - aeadAlgorithm = _ref20.aeadAlgorithm, - publicKeys = _ref20.publicKeys, - passwords = _ref20.passwords, - _ref20$wildcard = _ref20.wildcard, - wildcard = _ref20$wildcard === undefined ? false : _ref20$wildcard, - _ref20$date = _ref20.date, - date = _ref20$date === undefined ? new Date() : _ref20$date, - _ref20$toUserId = _ref20.toUserId, - toUserId = _ref20$toUserId === undefined ? {} : _ref20$toUserId; +function encryptSessionKey(_ref21) { + var data = _ref21.data, + algorithm = _ref21.algorithm, + aeadAlgorithm = _ref21.aeadAlgorithm, + publicKeys = _ref21.publicKeys, + passwords = _ref21.passwords, + _ref21$wildcard = _ref21.wildcard, + wildcard = _ref21$wildcard === undefined ? false : _ref21$wildcard, + _ref21$date = _ref21.date, + date = _ref21$date === undefined ? new Date() : _ref21$date, + _ref21$toUserId = _ref21.toUserId, + toUserId = _ref21$toUserId === undefined ? {} : _ref21$toUserId; checkBinary(data);checkString(algorithm, 'algorithm');publicKeys = toArray(publicKeys);passwords = toArray(passwords); @@ -46611,26 +46943,26 @@ function encryptSessionKey(_ref20) { return asyncProxy.delegate('encryptSessionKey', { data: data, algorithm: algorithm, aeadAlgorithm: aeadAlgorithm, publicKeys: publicKeys, passwords: passwords, wildcard: wildcard, date: date, toUserId: toUserId }); } - return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10() { - return _regenerator2.default.wrap(function _callee10$(_context10) { + return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11() { + return _regenerator2.default.wrap(function _callee11$(_context11) { while (1) { - switch (_context10.prev = _context10.next) { + switch (_context11.prev = _context11.next) { case 0: - _context10.next = 2; + _context11.next = 2; return messageLib.encryptSessionKey(data, algorithm, aeadAlgorithm, publicKeys, passwords, wildcard, date, toUserId); case 2: - _context10.t0 = _context10.sent; - return _context10.abrupt('return', { - message: _context10.t0 + _context11.t0 = _context11.sent; + return _context11.abrupt('return', { + message: _context11.t0 }); case 4: case 'end': - return _context10.stop(); + return _context11.stop(); } } - }, _callee10, this); + }, _callee11, this); }))).catch(onError.bind(null, 'Error encrypting session key')); } @@ -46646,10 +46978,10 @@ function encryptSessionKey(_ref20) { * @async * @static */ -function decryptSessionKeys(_ref22) { - var message = _ref22.message, - privateKeys = _ref22.privateKeys, - passwords = _ref22.passwords; +function decryptSessionKeys(_ref23) { + var message = _ref23.message, + privateKeys = _ref23.privateKeys, + passwords = _ref23.passwords; checkMessage(message);privateKeys = toArray(privateKeys);passwords = toArray(passwords); @@ -46658,19 +46990,19 @@ function decryptSessionKeys(_ref22) { return asyncProxy.delegate('decryptSessionKeys', { message: message, privateKeys: privateKeys, passwords: passwords }); } - return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11() { - return _regenerator2.default.wrap(function _callee11$(_context11) { + return _promise2.default.resolve().then((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12() { + return _regenerator2.default.wrap(function _callee12$(_context12) { while (1) { - switch (_context11.prev = _context11.next) { + switch (_context12.prev = _context12.next) { case 0: - return _context11.abrupt('return', message.decryptSessionKeys(privateKeys, passwords)); + return _context12.abrupt('return', message.decryptSessionKeys(privateKeys, passwords)); case 1: case 'end': - return _context11.stop(); + return _context12.stop(); } } - }, _callee11, this); + }, _callee12, this); }))).catch(onError.bind(null, 'Error decrypting session keys')); } @@ -46716,52 +47048,52 @@ function toArray(param) { } return param; }function linkStreams(result, message, erroringStream) { - var _this5 = this; + var _this6 = this; result.data = _webStreamTools2.default.transformPair(message.packets.stream, function () { - var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(readable, writable) { + var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(readable, writable) { var writer; - 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: - _context15.next = 2; + _context16.next = 2; return _webStreamTools2.default.pipe(result.data, writable, { preventClose: true }); case 2: writer = _webStreamTools2.default.getWriter(writable); - _context15.prev = 3; - _context15.next = 6; + _context16.prev = 3; + _context16.next = 6; return _webStreamTools2.default.readToEnd(erroringStream || readable, function (arr) { return arr; }); case 6: - _context15.next = 8; + _context16.next = 8; return writer.close(); case 8: - _context15.next = 14; + _context16.next = 14; break; case 10: - _context15.prev = 10; - _context15.t0 = _context15['catch'](3); - _context15.next = 14; - return writer.abort(_context15.t0); + _context16.prev = 10; + _context16.t0 = _context16['catch'](3); + _context16.next = 14; + return writer.abort(_context16.t0); case 14: case 'end': - return _context15.stop(); + return _context16.stop(); } } - }, _callee15, _this5, [[3, 10]]); + }, _callee16, _this6, [[3, 10]]); })); - return function (_x13, _x14) { - return _ref29.apply(this, arguments); + return function (_x14, _x15) { + return _ref30.apply(this, arguments); }; }()); }function onError(message, error) { @@ -46787,7 +47119,7 @@ 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()); } -},{"./cleartext":339,"./config/config":341,"./enums":376,"./key":379,"./message":383,"./polyfills":407,"./util":415,"./worker/async_proxy":417,"babel-runtime/core-js/object/entries":24,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/slicedToArray":39,"babel-runtime/regenerator":42,"web-stream-tools":336}],385:[function(_dereq_,module,exports){ +},{"./cleartext":340,"./config/config":341,"./enums":376,"./key":379,"./message":383,"./polyfills":407,"./util":415,"./worker/async_proxy":417,"babel-runtime/core-js/object/entries":24,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41,"web-stream-tools":337}],385:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -47253,7 +47585,7 @@ function packetlistCloneToSignature(clone) { return new _signature.Signature(packetlist); } -},{"../cleartext":339,"../key":379,"../message":383,"../signature":408,"../type/keyid":411,"../util":415,"./packetlist":393,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/slicedToArray":39,"babel-runtime/regenerator":42,"web-stream-tools":336}],387:[function(_dereq_,module,exports){ +},{"../cleartext":340,"../key":379,"../message":383,"../signature":408,"../type/keyid":411,"../util":415,"./packetlist":393,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41,"web-stream-tools":337}],387:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -47272,6 +47604,10 @@ var _pako = _dereq_('pako'); var _pako2 = _interopRequireDefault(_pako); +var _seekBzip = _dereq_('seek-bzip'); + +var _seekBzip2 = _interopRequireDefault(_seekBzip); + var _webStreamTools = _dereq_('web-stream-tools'); var _webStreamTools2 = _interopRequireDefault(_webStreamTools); @@ -47288,10 +47624,6 @@ var _util = _dereq_('../util'); var _util2 = _interopRequireDefault(_util); -var _bzip2Build = _dereq_('../compression/bzip2.build.js'); - -var _bzip2Build2 = _interopRequireDefault(_bzip2Build); - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** @@ -47441,7 +47773,7 @@ Compressed.prototype.decompress = (0, _asyncToGenerator3.default)( /*#__PURE__*/ break; } - throw new Error("Compression algorithm unknown :" + this.algorithm); + throw new Error(this.algorithm + ' decompression not supported'); case 2: _context3.next = 4; @@ -47461,7 +47793,7 @@ Compressed.prototype.decompress = (0, _asyncToGenerator3.default)( /*#__PURE__*/ Compressed.prototype.compress = function () { if (!compress_fns[this.algorithm]) { - throw new Error("Compression algorithm unknown :" + this.algorithm); + throw new Error(this.algorithm + ' compression not supported'); } this.compressed = compress_fns[this.algorithm](this.packets.write()); @@ -47532,36 +47864,30 @@ var decompress_fns = void 0; if (nodeZlib) { // Use Node native zlib for DEFLATE compression/decompression compress_fns = { - // eslint-disable-next-line no-sync zip: node_zlib(nodeZlib.createDeflateRaw, { level: _config2.default.deflate_level }), - // eslint-disable-next-line no-sync - zlib: node_zlib(nodeZlib.createDeflate, { level: _config2.default.deflate_level }), - bzip2: bzip2(_bzip2Build2.default.compressFile) + zlib: node_zlib(nodeZlib.createDeflate, { level: _config2.default.deflate_level }) }; decompress_fns = { - // eslint-disable-next-line no-sync zip: node_zlib(nodeZlib.createInflateRaw), - // eslint-disable-next-line no-sync zlib: node_zlib(nodeZlib.createInflate), - bzip2: bzip2(_bzip2Build2.default.decompressFile) + bzip2: bzip2(_seekBzip2.default.decode) }; } else { // Use JS fallbacks compress_fns = { zip: pako_zlib(_pako2.default.Deflate, { raw: true, level: _config2.default.deflate_level }), - zlib: pako_zlib(_pako2.default.Deflate, { level: _config2.default.deflate_level }), - bzip2: bzip2(_bzip2Build2.default.compressFile) + zlib: pako_zlib(_pako2.default.Deflate, { level: _config2.default.deflate_level }) }; decompress_fns = { zip: pako_zlib(_pako2.default.Inflate, { raw: true }), zlib: pako_zlib(_pako2.default.Inflate), - bzip2: bzip2(_bzip2Build2.default.decompressFile) + bzip2: bzip2(_seekBzip2.default.decode) }; } -},{"../compression/bzip2.build.js":340,"../config":342,"../enums":376,"../util":415,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"pako":314,"web-stream-tools":336}],388:[function(_dereq_,module,exports){ +},{"../config":342,"../enums":376,"../util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"pako":311,"seek-bzip":331,"web-stream-tools":337}],388:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -47849,7 +48175,7 @@ Literal.prototype.write = function () { exports.default = Literal; -},{"../enums":376,"../util":415,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"web-stream-tools":336}],390:[function(_dereq_,module,exports){ +},{"../enums":376,"../util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"web-stream-tools":337}],390:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -48039,13 +48365,13 @@ OnePassSignature.prototype.read = function (bytes) { // A one-octet signature type. Signature types are described in // Section 5.2.1. - this.signatureType = _enums2.default.read(_enums2.default.signature, bytes[mypos++]); + this.signatureType = bytes[mypos++]; // A one-octet number describing the hash algorithm used. - this.hashAlgorithm = _enums2.default.read(_enums2.default.hash, bytes[mypos++]); + this.hashAlgorithm = bytes[mypos++]; // A one-octet number describing the public-key algorithm used. - this.publicKeyAlgorithm = _enums2.default.read(_enums2.default.publicKey, bytes[mypos++]); + this.publicKeyAlgorithm = bytes[mypos++]; // An eight-octet number holding the Key ID of the signing key. this.issuerKeyId = new _keyid2.default(); @@ -48113,10 +48439,18 @@ OnePassSignature.prototype.verify = (0, _asyncToGenerator3.default)( /*#__PURE__ throw new Error('Corresponding signature packet missing'); case 5: + if (!(correspondingSig.signatureType !== this.signatureType || correspondingSig.hashAlgorithm !== this.hashAlgorithm || correspondingSig.publicKeyAlgorithm !== this.publicKeyAlgorithm || !correspondingSig.issuerKeyId.equals(this.issuerKeyId))) { + _context.next = 7; + break; + } + + throw new Error('Corresponding signature packet does not match one-pass signature packet'); + + case 7: correspondingSig.hashed = this.hashed; return _context.abrupt('return', correspondingSig.verify.apply(correspondingSig, _args)); - case 7: + case 9: case 'end': return _context.stop(); } @@ -48126,7 +48460,7 @@ OnePassSignature.prototype.verify = (0, _asyncToGenerator3.default)( /*#__PURE__ exports.default = OnePassSignature; -},{"../enums":376,"../type/keyid":411,"../util":415,"./signature":399,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],392:[function(_dereq_,module,exports){ +},{"../enums":376,"../type/keyid":411,"../util":415,"./signature":399,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],392:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -48668,7 +49002,7 @@ exports.default = { * @module packet/packet */ -},{"../enums":376,"../util":415,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/slicedToArray":39,"babel-runtime/regenerator":42,"web-stream-tools":336}],393:[function(_dereq_,module,exports){ +},{"../enums":376,"../util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41,"web-stream-tools":337}],393:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -49097,13 +49431,17 @@ List.fromStructuredClone = function (packetlistClone) { exports.default = List; -},{"../config":342,"../enums":376,"../util":415,"./all_packets":385,"./packet":392,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"web-stream-tools":336}],394:[function(_dereq_,module,exports){ +},{"../config":342,"../enums":376,"../util":415,"./all_packets":385,"./packet":392,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"web-stream-tools":337}],394:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); +var _sha = _dereq_('asmcrypto.js/dist_es5/hash/sha1/sha1'); + +var _sha2 = _dereq_('asmcrypto.js/dist_es5/hash/sha256/sha256'); + var _keyid = _dereq_('../type/keyid'); var _keyid2 = _interopRequireDefault(_keyid); @@ -49344,10 +49682,10 @@ PublicKey.prototype.getFingerprintBytes = function () { if (this.version === 5) { var bytes = this.writePublicKey(); toHash = _util2.default.concatUint8Array([new Uint8Array([0x9A]), _util2.default.writeNumber(bytes.length, 4), bytes]); - this.fingerprint = _crypto2.default.hash.sha256(toHash); + this.fingerprint = _sha2.Sha256.bytes(toHash); } else if (this.version === 4) { toHash = this.writeOld(); - this.fingerprint = _crypto2.default.hash.sha1(toHash); + this.fingerprint = _sha.Sha1.bytes(toHash); } return this.fingerprint; }; @@ -49360,6 +49698,14 @@ PublicKey.prototype.getFingerprint = function () { return _util2.default.Uint8Array_to_hex(this.getFingerprintBytes()); }; +/** + * Calculates whether two keys have the same fingerprint without actually calculating the fingerprint + * @returns {Boolean} Whether the two keys have the same version and public key data + */ +PublicKey.prototype.hasSameFingerprintAs = function (other) { + return this.version === other.version && _util2.default.equalsUint8Array(this.writePublicKey(), other.writePublicKey()); +}; + /** * Returns algorithm information * @returns {Object} An object of the form {algorithm: String, bits:int, curve:String} @@ -49392,7 +49738,7 @@ PublicKey.prototype.postCloneTypeFix = function () { exports.default = PublicKey; -},{"../config":342,"../crypto":357,"../enums":376,"../type/keyid":411,"../type/mpi":412,"../util":415}],395:[function(_dereq_,module,exports){ +},{"../config":342,"../crypto":357,"../enums":376,"../type/keyid":411,"../type/mpi":412,"../util":415,"asmcrypto.js/dist_es5/hash/sha1/sha1":12,"asmcrypto.js/dist_es5/hash/sha256/sha256":14}],395:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -49531,7 +49877,7 @@ PublicKeyEncryptedSessionKey.prototype.write = function () { */ PublicKeyEncryptedSessionKey.prototype.encrypt = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(key) { - var data, checksum, toEncrypt, algo; + var data, toEncrypt, algo; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { @@ -49540,40 +49886,38 @@ PublicKeyEncryptedSessionKey.prototype.encrypt = function () { data += _util2.default.Uint8Array_to_str(this.sessionKey); - checksum = _util2.default.calc_checksum(this.sessionKey); - - data += _util2.default.Uint8Array_to_str(_util2.default.writeNumber(checksum, 2)); + data += _util2.default.Uint8Array_to_str(_util2.default.write_checksum(this.sessionKey)); toEncrypt = void 0; algo = _enums2.default.write(_enums2.default.publicKey, this.publicKeyAlgorithm); if (!(algo === _enums2.default.publicKey.ecdh)) { - _context.next = 10; + _context.next = 9; break; } toEncrypt = new _mpi2.default(_crypto2.default.pkcs5.encode(data)); - _context.next = 15; + _context.next = 14; break; - case 10: + case 9: _context.t0 = _mpi2.default; - _context.next = 13; + _context.next = 12; return _crypto2.default.pkcs1.eme.encode(data, key.params[0].byteLength()); - case 13: + case 12: _context.t1 = _context.sent; toEncrypt = new _context.t0(_context.t1); - case 15: - _context.next = 17; + case 14: + _context.next = 16; return _crypto2.default.publicKeyEncrypt(algo, key.params, toEncrypt, key.getFingerprintBytes()); - case 17: + case 16: this.encrypted = _context.sent; return _context.abrupt('return', true); - case 19: + case 18: case 'end': return _context.stop(); } @@ -49613,15 +49957,15 @@ PublicKeyEncryptedSessionKey.prototype.decrypt = function () { if (algo === _enums2.default.publicKey.ecdh) { decoded = _crypto2.default.pkcs5.decode(result.toString()); - checksum = _util2.default.readNumber(_util2.default.str_to_Uint8Array(decoded.substr(decoded.length - 2))); + checksum = _util2.default.str_to_Uint8Array(decoded.substr(decoded.length - 2)); } else { decoded = _crypto2.default.pkcs1.eme.decode(result.toString()); - checksum = _util2.default.readNumber(result.toUint8Array().slice(result.byteLength() - 2)); + checksum = result.toUint8Array().slice(result.byteLength() - 2); } key = _util2.default.str_to_Uint8Array(decoded.substring(1, decoded.length - 2)); - if (!(checksum !== _util2.default.calc_checksum(key))) { + if (_util2.default.equalsUint8Array(checksum, _util2.default.write_checksum(key))) { _context2.next = 12; break; } @@ -49662,7 +50006,7 @@ PublicKeyEncryptedSessionKey.prototype.postCloneTypeFix = function () { exports.default = PublicKeyEncryptedSessionKey; -},{"../crypto":357,"../enums":376,"../type/keyid":411,"../type/mpi":412,"../util":415,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],396:[function(_dereq_,module,exports){ +},{"../crypto":357,"../enums":376,"../type/keyid":411,"../type/mpi":412,"../util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],396:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -49736,6 +50080,37 @@ var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); +var produceEncryptionKey = function () { + var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(s2k, passphrase, algorithm) { + return _regenerator2.default.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + return _context2.abrupt('return', s2k.produce_key(passphrase, _crypto2.default.cipher[algorithm].keySize)); + + case 1: + case 'end': + return _context2.stop(); + } + } + }, _callee2, this); + })); + + return function produceEncryptionKey(_x3, _x4, _x5) { + return _ref2.apply(this, arguments); + }; +}(); + +/** + * Decrypts the private key params which are needed to use the key. + * {@link module:packet.SecretKey.isDecrypted} should be false, as + * otherwise calls to this function will throw an error. + * @param {String} passphrase The passphrase for this private key as string + * @returns {Promise} + * @async + */ + + var _public_key = _dereq_('./public_key'); var _public_key2 = _interopRequireDefault(_public_key); @@ -49818,38 +50193,9 @@ function SecretKey() { SecretKey.prototype = new _public_key2.default(); SecretKey.prototype.constructor = SecretKey; -function get_hash_len(hash) { - if (hash === 'sha1') { - return 20; - } - return 2; -} - -function get_hash_fn(hash) { - if (hash === 'sha1') { - return _crypto2.default.hash.sha1; - } - return function (c) { - return _util2.default.writeNumber(_util2.default.calc_checksum(c), 2); - }; -} - // Helper function -function parse_cleartext_params(hash_algorithm, cleartext, algorithm) { - if (hash_algorithm) { - var hashlen = get_hash_len(hash_algorithm); - var hashfn = get_hash_fn(hash_algorithm); - - var hashtext = _util2.default.Uint8Array_to_str(cleartext.subarray(cleartext.length - hashlen, cleartext.length)); - cleartext = cleartext.subarray(0, cleartext.length - hashlen); - var hash = _util2.default.Uint8Array_to_str(hashfn(cleartext)); - - if (hash !== hashtext) { - throw new Error("Incorrect key passphrase"); - } - } - +function parse_cleartext_params(cleartext, algorithm) { var algo = _enums2.default.write(_enums2.default.publicKey, algorithm); var types = _crypto2.default.getPrivKeyParamTypes(algo); var params = _crypto2.default.constructParams(types); @@ -49865,7 +50211,7 @@ function parse_cleartext_params(hash_algorithm, cleartext, algorithm) { return params; } -function write_cleartext_params(hash_algorithm, algorithm, params) { +function write_cleartext_params(params, algorithm) { var arr = []; var algo = _enums2.default.write(_enums2.default.publicKey, algorithm); var numPublicParams = _crypto2.default.getPubKeyParamTypes(algo).length; @@ -49874,15 +50220,7 @@ function write_cleartext_params(hash_algorithm, algorithm, params) { arr.push(params[i].write()); } - var bytes = _util2.default.concatUint8Array(arr); - - if (hash_algorithm) { - var hash = get_hash_fn(hash_algorithm)(bytes); - - return _util2.default.concatUint8Array([bytes, hash]); - } - - return bytes; + return _util2.default.concatUint8Array(arr); } // 5.5.3. Secret-Key Packet Formats @@ -49911,7 +50249,11 @@ SecretKey.prototype.read = function (bytes) { // - Plain or encrypted multiprecision integers comprising the secret // key data. These algorithm-specific fields are as described // below. - var privParams = parse_cleartext_params('mod', bytes.subarray(1, bytes.length), this.algorithm); + var cleartext = bytes.subarray(1, -2); + if (!_util2.default.equalsUint8Array(_util2.default.write_checksum(cleartext), bytes.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; } @@ -49926,7 +50268,9 @@ SecretKey.prototype.write = function () { if (!this.encrypted) { arr.push(new Uint8Array([0])); - arr.push(write_cleartext_params('mod', this.algorithm, this.params)); + var cleartextParams = write_cleartext_params(this.params, this.algorithm); + arr.push(cleartextParams); + arr.push(_util2.default.write_checksum(cleartextParams)); } else { arr.push(this.encrypted); } @@ -49953,7 +50297,7 @@ SecretKey.prototype.isDecrypted = function () { */ SecretKey.prototype.encrypt = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(passphrase) { - var s2k, symmetric, hash, cleartext, key, blockLen, iv, arr, aead, optionalFields, mode, modeInstance, encrypted; + var s2k, symmetric, cleartext, key, blockLen, iv, arr, aead, optionalFields, mode, modeInstance, encrypted; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { @@ -49982,19 +50326,22 @@ SecretKey.prototype.encrypt = function () { case 10: s2k.salt = _context.sent; symmetric = 'aes256'; - hash = this.version === 5 ? null : 'sha1'; - cleartext = write_cleartext_params(hash, this.algorithm, this.params); - key = produceEncryptionKey(s2k, passphrase, symmetric); + cleartext = write_cleartext_params(this.params, this.algorithm); + _context.next = 15; + return produceEncryptionKey(s2k, passphrase, symmetric); + + case 15: + key = _context.sent; blockLen = _crypto2.default.cipher[symmetric].blockSize; - _context.next = 18; + _context.next = 19; return _crypto2.default.random.getRandomBytes(blockLen); - case 18: + case 19: iv = _context.sent; arr = void 0; if (!(this.version === 5)) { - _context.next = 36; + _context.next = 37; break; } @@ -50004,34 +50351,50 @@ SecretKey.prototype.encrypt = function () { arr = [new Uint8Array([253, optionalFields.length])]; arr.push(optionalFields); mode = _crypto2.default[aead]; - _context.next = 28; + _context.next = 29; return mode(symmetric, key); - case 28: + case 29: modeInstance = _context.sent; - _context.next = 31; + _context.next = 32; return modeInstance.encrypt(cleartext, iv.subarray(0, mode.ivLength), new Uint8Array()); - case 31: + case 32: encrypted = _context.sent; arr.push(_util2.default.writeNumber(encrypted.length, 4)); arr.push(encrypted); - _context.next = 40; + _context.next = 54; break; - case 36: + case 37: arr = [new Uint8Array([254, _enums2.default.write(_enums2.default.symmetric, symmetric)])]; arr.push(s2k.write()); arr.push(iv); - arr.push(_crypto2.default.cfb.normalEncrypt(symmetric, key, cleartext, iv)); + _context.t0 = arr; + _context.t1 = _crypto2.default.cfb; + _context.t2 = symmetric; + _context.t3 = key; + _context.t4 = _util2.default; + _context.t5 = cleartext; + _context.next = 48; + return _crypto2.default.hash.sha1(cleartext); - case 40: + case 48: + _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.normalEncrypt.call(_context.t1, _context.t2, _context.t3, _context.t8, _context.t9); + + _context.t0.push.call(_context.t0, _context.t10); + + case 54: this.encrypted = _util2.default.concatUint8Array(arr); return _context.abrupt('return', true); - case 42: + case 56: case 'end': return _context.stop(); } @@ -50044,27 +50407,15 @@ SecretKey.prototype.encrypt = function () { }; }(); -function produceEncryptionKey(s2k, passphrase, algorithm) { - return s2k.produce_key(passphrase, _crypto2.default.cipher[algorithm].keySize); -} - -/** - * Decrypts the private key params which are needed to use the key. - * {@link module:packet.SecretKey.isDecrypted} should be false, as - * otherwise calls to this function will throw an error. - * @param {String} passphrase The passphrase for this private key as string - * @returns {Promise} - * @async - */ SecretKey.prototype.decrypt = function () { - var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(passphrase) { - var i, symmetric, aead, key, s2k_usage, s2k, iv, ciphertext, cleartext, mode, modeInstance, hash, privParams; - return _regenerator2.default.wrap(function _callee2$(_context2) { + 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; + return _regenerator2.default.wrap(function _callee3$(_context3) { while (1) { - switch (_context2.prev = _context2.next) { + switch (_context3.prev = _context3.next) { case 0: if (!this.isDecrypted()) { - _context2.next = 2; + _context3.next = 2; break; } @@ -50086,31 +50437,48 @@ SecretKey.prototype.decrypt = function () { // - [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) { - 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)); - - key = produceEncryptionKey(s2k, passphrase, symmetric); - } else { - symmetric = s2k_usage; - symmetric = _enums2.default.read(_enums2.default.symmetric, symmetric); - key = _crypto2.default.hash.md5(passphrase); + if (!(s2k_usage === 255 || s2k_usage === 254 || s2k_usage === 253)) { + _context3.next = 19; + 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)); + + _context3.next = 16; + return produceEncryptionKey(s2k, passphrase, symmetric); + + case 16: + key = _context3.sent; + _context3.next = 24; + break; + + case 19: + symmetric = s2k_usage; + symmetric = _enums2.default.read(_enums2.default.symmetric, symmetric); + _context3.next = 23; + return _crypto2.default.hash.md5(passphrase); + + case 23: + key = _context3.sent; + + case 24: + // - [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. @@ -50129,92 +50497,121 @@ SecretKey.prototype.decrypt = function () { cleartext = void 0; if (!aead) { - _context2.next = 31; + _context3.next = 46; break; } mode = _crypto2.default[aead]; - _context2.prev = 16; - _context2.next = 19; + _context3.prev = 31; + _context3.next = 34; return mode(symmetric, key); - case 19: - modeInstance = _context2.sent; - _context2.next = 22; + case 34: + modeInstance = _context3.sent; + _context3.next = 37; return modeInstance.decrypt(ciphertext, iv.subarray(0, mode.ivLength), new Uint8Array()); - case 22: - cleartext = _context2.sent; - _context2.next = 29; + case 37: + cleartext = _context3.sent; + _context3.next = 44; break; - case 25: - _context2.prev = 25; - _context2.t0 = _context2['catch'](16); + case 40: + _context3.prev = 40; + _context3.t0 = _context3['catch'](31); - if (!(_context2.t0.message === 'Authentication tag mismatch')) { - _context2.next = 29; + if (!(_context3.t0.message === 'Authentication tag mismatch')) { + _context3.next = 44; break; } - throw new Error('Incorrect key passphrase: ' + _context2.t0.message); + throw new Error('Incorrect key passphrase: ' + _context3.t0.message); - case 29: - _context2.next = 32; + case 44: + _context3.next = 62; break; - case 31: - cleartext = _crypto2.default.cfb.normalDecrypt(symmetric, key, ciphertext, iv); + case 46: + cleartextWithHash = _crypto2.default.cfb.normalDecrypt(symmetric, key, ciphertext, iv); + hash = void 0; + hashlen = void 0; - case 32: - hash = s2k_usage === 253 ? null : s2k_usage === 254 ? 'sha1' : 'mod'; - privParams = parse_cleartext_params(hash, cleartext, this.algorithm); + if (!(s2k_usage === 255)) { + _context3.next = 55; + break; + } + + hashlen = 2; + cleartext = cleartextWithHash.subarray(0, -hashlen); + hash = _util2.default.write_checksum(cleartext); + _context3.next = 60; + break; + + case 55: + hashlen = 20; + cleartext = cleartextWithHash.subarray(0, -hashlen); + _context3.next = 59; + return _crypto2.default.hash.sha1(cleartext); + + case 59: + hash = _context3.sent; + + case 60: + if (_util2.default.equalsUint8Array(hash, cleartextWithHash.subarray(-hashlen))) { + _context3.next = 62; + break; + } + + throw new Error('Incorrect key passphrase'); + + case 62: + privParams = parse_cleartext_params(cleartext, this.algorithm); this.params = this.params.concat(privParams); this.isEncrypted = false; this.encrypted = null; - return _context2.abrupt('return', true); + return _context3.abrupt('return', true); - case 38: + case 67: case 'end': - return _context2.stop(); + return _context3.stop(); } } - }, _callee2, this, [[16, 25]]); + }, _callee3, this, [[31, 40]]); })); - return function (_x3) { - return _ref2.apply(this, arguments); + return function (_x6) { + return _ref3.apply(this, arguments); }; }(); SecretKey.prototype.generate = function () { - var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(bits, curve) { + var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(bits, curve) { var algo; - 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: algo = _enums2.default.write(_enums2.default.publicKey, this.algorithm); - _context3.next = 3; + _context4.next = 3; return _crypto2.default.generateParams(algo, bits, curve); case 3: - this.params = _context3.sent; + this.params = _context4.sent; this.isEncrypted = false; case 5: case 'end': - return _context3.stop(); + return _context4.stop(); } } - }, _callee3, this); + }, _callee4, this); })); - return function (_x4, _x5) { - return _ref3.apply(this, arguments); + return function (_x7, _x8) { + return _ref4.apply(this, arguments); }; }(); @@ -50247,7 +50644,7 @@ SecretKey.prototype.postCloneTypeFix = function () { exports.default = SecretKey; -},{"../crypto":357,"../enums":376,"../type/keyid.js":411,"../type/s2k":414,"../util":415,"./public_key":394,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],398:[function(_dereq_,module,exports){ +},{"../crypto":357,"../enums":376,"../type/keyid.js":411,"../type/s2k":414,"../util":415,"./public_key":394,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],398:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -50379,7 +50776,7 @@ function Signature() { this.publicKeyAlgorithm = null; this.signatureData = null; - this.unhashedSubpackets = null; + this.unhashedSubpackets = []; this.signedHashValue = null; this.created = _util2.default.normalizeDate(date); @@ -50456,8 +50853,6 @@ function Signature() { */ Signature.prototype.read = function (bytes) { - var _this = this; - var i = 0; this.version = bytes[i++]; @@ -50465,31 +50860,12 @@ Signature.prototype.read = function (bytes) { throw new Error('Version ' + this.version + ' of the signature is unsupported.'); } - var subpackets = function subpackets(bytes) { - // Two-octet scalar octet count for following subpacket data. - var subpacket_length = _util2.default.readNumber(bytes.subarray(0, 2)); - - var i = 2; - - // subpacket data set (zero or more subpackets) - while (i < 2 + subpacket_length) { - var len = _packet3.default.readSimpleLength(bytes.subarray(i, bytes.length)); - i += len.offset; - - _this.read_sub_packet(bytes.subarray(i, i + len.len)); - - i += len.len; - } - - return i; - }; - this.signatureType = bytes[i++]; this.publicKeyAlgorithm = bytes[i++]; this.hashAlgorithm = bytes[i++]; // hashed subpackets - i += subpackets(bytes.subarray(i, bytes.length), true); + i += this.read_sub_packets(bytes.subarray(i, bytes.length), true); // A V4 signature hashes the packet body // starting from its first field, the version number, through the end @@ -50498,11 +50874,9 @@ Signature.prototype.read = function (bytes) { // hash algorithm, the hashed subpacket length, and the hashed // subpacket body. this.signatureData = bytes.subarray(0, i); - var sigDataLength = i; // unhashed subpackets - i += subpackets(bytes.subarray(i, bytes.length), false); - this.unhashedSubpackets = bytes.subarray(sigDataLength, i); + i += this.read_sub_packets(bytes.subarray(i, bytes.length), false); // Two-octet field holding left 16 bits of signed hash value. this.signedHashValue = bytes.subarray(i, i + 2); @@ -50514,7 +50888,7 @@ Signature.prototype.read = function (bytes) { Signature.prototype.write = function () { var arr = []; arr.push(this.signatureData); - arr.push(this.unhashedSubpackets ? this.unhashedSubpackets : _util2.default.writeNumber(0, 2)); + arr.push(this.write_unhashed_sub_packets()); arr.push(this.signedHashValue); arr.push(_webStreamTools2.default.clone(this.signature)); return _util2.default.concat(arr); @@ -50529,7 +50903,7 @@ Signature.prototype.write = function () { */ Signature.prototype.sign = function () { var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(key, data) { - var _this2 = this; + var _this = this; var signatureType, publicKeyAlgorithm, hashAlgorithm, arr, toHash, hash, params; return _regenerator2.default.wrap(function _callee2$(_context2) { @@ -50552,12 +50926,16 @@ Signature.prototype.sign = function () { this.issuerKeyId = key.getKeyId(); // Add hashed subpackets - arr.push(this.write_all_sub_packets()); + arr.push(this.write_hashed_sub_packets()); this.signatureData = _util2.default.concat(arr); toHash = this.toHash(data); - hash = this.hash(data, toHash); + _context2.next = 11; + return this.hash(data, toHash); + + case 11: + hash = _context2.sent; this.signedHashValue = _webStreamTools2.default.slice(_webStreamTools2.default.clone(hash), 0, 2); @@ -50586,7 +50964,7 @@ Signature.prototype.sign = function () { return _context.stop(); } } - }, _callee, _this2); + }, _callee, _this); }))); // Store the fact that this signature is valid, e.g. for when we call `await @@ -50596,7 +50974,7 @@ Signature.prototype.sign = function () { this.verified = true; return _context2.abrupt('return', true); - case 15: + case 17: case 'end': return _context2.stop(); } @@ -50610,10 +50988,10 @@ Signature.prototype.sign = function () { }(); /** - * Creates string of bytes with all subpacket data - * @returns {String} a string-representation of a all subpacket data + * Creates Uint8Array of bytes of all subpacket data except Issuer and Embedded Signature subpackets + * @returns {Uint8Array} subpacket data */ -Signature.prototype.write_all_sub_packets = function () { +Signature.prototype.write_hashed_sub_packets = function () { var sub = _enums2.default.signatureSubpacket; var arr = []; var bytes = void 0; @@ -50648,11 +51026,6 @@ Signature.prototype.write_all_sub_packets = function () { bytes = _util2.default.concat([bytes, this.revocationKeyFingerprint]); arr.push(write_sub_packet(sub.revocation_key, bytes)); } - if (!this.issuerKeyId.isNull() && this.issuerKeyVersion !== 5) { - // If the version of [the] key is greater than 4, this subpacket - // MUST NOT be included in the signature. - arr.push(write_sub_packet(sub.issuer, this.issuerKeyId.write())); - } if (this.notation !== null) { (0, _entries2.default)(this.notation).forEach(function (_ref3) { var _ref4 = (0, _slicedToArray3.default)(_ref3, 2), @@ -50711,6 +51084,30 @@ Signature.prototype.write_all_sub_packets = function () { bytes = _util2.default.concat(bytes); arr.push(write_sub_packet(sub.signature_target, bytes)); } + if (this.preferredAeadAlgorithms !== null) { + bytes = _util2.default.str_to_Uint8Array(_util2.default.Uint8Array_to_str(this.preferredAeadAlgorithms)); + arr.push(write_sub_packet(sub.preferred_aead_algorithms, bytes)); + } + + var result = _util2.default.concat(arr); + var length = _util2.default.writeNumber(result.length, 2); + + return _util2.default.concat([length, result]); +}; + +/** + * Creates Uint8Array of bytes of Issuer and Embedded Signature subpackets + * @returns {Uint8Array} subpacket data + */ +Signature.prototype.write_unhashed_sub_packets = function () { + var sub = _enums2.default.signatureSubpacket; + var arr = []; + var bytes = void 0; + if (!this.issuerKeyId.isNull() && this.issuerKeyVersion !== 5) { + // If the version of [the] key is greater than 4, this subpacket + // MUST NOT be included in the signature. + arr.push(write_sub_packet(sub.issuer, this.issuerKeyId.write())); + } if (this.embeddedSignature !== null) { arr.push(write_sub_packet(sub.embedded_signature, this.embeddedSignature.write())); } @@ -50719,10 +51116,10 @@ Signature.prototype.write_all_sub_packets = function () { bytes = _util2.default.concat(bytes); arr.push(write_sub_packet(sub.issuer_fingerprint, bytes)); } - if (this.preferredAeadAlgorithms !== null) { - bytes = _util2.default.str_to_Uint8Array(_util2.default.Uint8Array_to_str(this.preferredAeadAlgorithms)); - arr.push(write_sub_packet(sub.preferred_aead_algorithms, bytes)); - } + this.unhashedSubpackets.forEach(function (data) { + arr.push(_packet3.default.writeSimpleLength(data.length)); + arr.push(data); + }); var result = _util2.default.concat(arr); var length = _util2.default.writeNumber(result.length, 2); @@ -50750,21 +51147,33 @@ function write_sub_packet(type, data) { // V4 signature sub packets Signature.prototype.read_sub_packet = function (bytes) { - var _this3 = this; + var _this2 = this; + + var trusted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; var mypos = 0; var read_array = function read_array(prop, bytes) { - _this3[prop] = []; + _this2[prop] = []; for (var i = 0; i < bytes.length; i++) { - _this3[prop].push(bytes[i]); + _this2[prop].push(bytes[i]); } }; - // The leftwost bit denotes a "critical" packet, but we ignore it. - var type = bytes[mypos++] & 0x7F; - var seconds = void 0; + // The leftmost bit denotes a "critical" packet + var critical = bytes[mypos] & 0x80; + var type = bytes[mypos] & 0x7F; + + // GPG puts the Issuer and Signature subpackets in the unhashed area. + // Tampering with those invalidates the signature, so we can trust them. + // Ignore all other unhashed subpackets. + if (!trusted && ![_enums2.default.signatureSubpacket.issuer, _enums2.default.signatureSubpacket.issuer_fingerprint, _enums2.default.signatureSubpacket.embedded_signature].includes(type)) { + this.unhashedSubpackets.push(bytes.subarray(mypos, bytes.length)); + return; + } + + mypos++; // subpacket type switch (type) { @@ -50773,13 +51182,15 @@ Signature.prototype.read_sub_packet = function (bytes) { this.created = _util2.default.readDate(bytes.subarray(mypos, bytes.length)); break; case 3: - // Signature Expiration Time in seconds - seconds = _util2.default.readNumber(bytes.subarray(mypos, bytes.length)); + { + // Signature Expiration Time in seconds + var seconds = _util2.default.readNumber(bytes.subarray(mypos, bytes.length)); - this.signatureNeverExpires = seconds === 0; - this.signatureExpirationTime = seconds; + this.signatureNeverExpires = seconds === 0; + this.signatureExpirationTime = seconds; - break; + break; + } case 4: // Exportable Certification this.exportable = bytes[mypos++] === 1; @@ -50798,13 +51209,15 @@ Signature.prototype.read_sub_packet = function (bytes) { this.revocable = bytes[mypos++] === 1; break; case 9: - // Key Expiration Time in seconds - seconds = _util2.default.readNumber(bytes.subarray(mypos, bytes.length)); + { + // Key Expiration Time in seconds + var _seconds = _util2.default.readNumber(bytes.subarray(mypos, bytes.length)); - this.keyExpirationTime = seconds; - this.keyNeverExpires = seconds === 0; + this.keyExpirationTime = _seconds; + this.keyNeverExpires = _seconds === 0; - break; + break; + } case 11: // Preferred Symmetric Algorithms read_array('preferredSymmetricAlgorithms', bytes.subarray(mypos, bytes.length)); @@ -50917,10 +51330,38 @@ Signature.prototype.read_sub_packet = function (bytes) { read_array.call(this, 'preferredAeadAlgorithms', bytes.subarray(mypos, bytes.length)); break; default: - _util2.default.print_debug("Unknown signature subpacket type " + type + " @:" + mypos); + { + var err = new Error("Unknown signature subpacket type " + type + " @:" + mypos); + if (critical) { + throw err; + } else { + _util2.default.print_debug(err); + } + } } }; +Signature.prototype.read_sub_packets = function (bytes) { + var trusted = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + + // Two-octet scalar octet count for following subpacket data. + var subpacket_length = _util2.default.readNumber(bytes.subarray(0, 2)); + + var i = 2; + + // subpacket data set (zero or more subpackets) + while (i < 2 + subpacket_length) { + var len = _packet3.default.readSimpleLength(bytes.subarray(i, bytes.length)); + i += len.offset; + + this.read_sub_packet(bytes.subarray(i, i + len.len), trusted); + + i += len.len; + } + + return i; +}; + // Produces data to produce signature on Signature.prototype.toSign = function (type, data) { var t = _enums2.default.signature; @@ -51008,38 +51449,62 @@ Signature.prototype.toHash = function (data) { return _util2.default.concat([bytes, this.signatureData, this.calculateTrailer()]); }; -Signature.prototype.hash = function (data, toHash) { - var _this4 = this; +Signature.prototype.hash = function () { + var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(data, toHash) { + var _this3 = this; - var streaming = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var streaming = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var hashAlgorithm; + return _regenerator2.default.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + hashAlgorithm = _enums2.default.write(_enums2.default.hash, this.hashAlgorithm); - var hashAlgorithm = _enums2.default.write(_enums2.default.hash, this.hashAlgorithm); - if (!toHash) toHash = this.toHash(data); - if (!streaming && _util2.default.isStream(toHash)) { - return _webStreamTools2.default.fromAsync((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() { - return _regenerator2.default.wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _context3.t0 = _this4; - _context3.t1 = data; - _context3.next = 4; - return _webStreamTools2.default.readToEnd(toHash); + if (!toHash) toHash = this.toHash(data); - case 4: - _context3.t2 = _context3.sent; - return _context3.abrupt('return', _context3.t0.hash.call(_context3.t0, _context3.t1, _context3.t2)); + if (!(!streaming && _util2.default.isStream(toHash))) { + _context4.next = 4; + break; + } - case 6: - case 'end': - return _context3.stop(); - } + return _context4.abrupt('return', _webStreamTools2.default.fromAsync((0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() { + return _regenerator2.default.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + _context3.t0 = _this3; + _context3.t1 = data; + _context3.next = 4; + return _webStreamTools2.default.readToEnd(toHash); + + case 4: + _context3.t2 = _context3.sent; + return _context3.abrupt('return', _context3.t0.hash.call(_context3.t0, _context3.t1, _context3.t2)); + + case 6: + case 'end': + return _context3.stop(); + } + } + }, _callee3, _this3); + })))); + + case 4: + return _context4.abrupt('return', _crypto2.default.hash.digest(hashAlgorithm, toHash)); + + case 5: + case 'end': + return _context4.stop(); } - }, _callee3, _this4); - }))); - } - return _crypto2.default.hash.digest(hashAlgorithm, toHash); -}; + } + }, _callee4, this); + })); + + return function (_x6, _x7) { + return _ref5.apply(this, arguments); + }; +}(); /** * verifys the signature packet. Note: not signature types are implemented @@ -51050,39 +51515,51 @@ Signature.prototype.hash = function (data, toHash) { * @async */ Signature.prototype.verify = function () { - var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(key, data) { + var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(key, data) { var publicKeyAlgorithm, hashAlgorithm, toHash, hash, mpicount, endian, mpi, i, j; - return _regenerator2.default.wrap(function _callee4$(_context4) { + return _regenerator2.default.wrap(function _callee5$(_context5) { while (1) { - switch (_context4.prev = _context4.next) { + switch (_context5.prev = _context5.next) { case 0: publicKeyAlgorithm = _enums2.default.write(_enums2.default.publicKey, this.publicKeyAlgorithm); hashAlgorithm = _enums2.default.write(_enums2.default.hash, this.hashAlgorithm); toHash = void 0; hash = void 0; - if (this.hashed) { - hash = this.hashed; - } else { - toHash = this.toHash(data); - hash = this.hash(data, toHash); + if (!this.hashed) { + _context5.next = 8; + break; } - _context4.next = 7; + + hash = this.hashed; + _context5.next = 12; + break; + + case 8: + toHash = this.toHash(data); + _context5.next = 11; + return this.hash(data, toHash); + + case 11: + hash = _context5.sent; + + case 12: + _context5.next = 14; return _webStreamTools2.default.readToEnd(hash); - case 7: - hash = _context4.sent; + case 14: + hash = _context5.sent; if (!(this.signedHashValue[0] !== hash[0] || this.signedHashValue[1] !== hash[1])) { - _context4.next = 12; + _context5.next = 19; break; } this.verified = false; - _context4.next = 24; + _context5.next = 31; break; - case 12: + case 19: mpicount = 0; // Algorithm-Specific Fields for RSA signatures: // - multiprecision number (MPI) of RSA signature value m**d mod n. @@ -51102,36 +51579,36 @@ Signature.prototype.verify = function () { endian = publicKeyAlgorithm === _enums2.default.publicKey.eddsa ? 'le' : 'be'; mpi = []; i = 0; - _context4.next = 19; + _context5.next = 26; return _webStreamTools2.default.readToEnd(this.signature); - case 19: - this.signature = _context4.sent; + case 26: + this.signature = _context5.sent; for (j = 0; j < mpicount; j++) { mpi[j] = new _mpi2.default(); i += mpi[j].read(this.signature.subarray(i, this.signature.length), endian); } - _context4.next = 23; + _context5.next = 30; return _crypto2.default.signature.verify(publicKeyAlgorithm, hashAlgorithm, mpi, key.params, toHash, hash); - case 23: - this.verified = _context4.sent; + case 30: + this.verified = _context5.sent; - case 24: - return _context4.abrupt('return', this.verified); + case 31: + return _context5.abrupt('return', this.verified); - case 25: + case 32: case 'end': - return _context4.stop(); + return _context5.stop(); } } - }, _callee4, this); + }, _callee5, this); })); - return function (_x5, _x6) { - return _ref6.apply(this, arguments); + return function (_x9, _x10) { + return _ref7.apply(this, arguments); }; }(); @@ -51168,7 +51645,7 @@ Signature.prototype.postCloneTypeFix = function () { exports.default = Signature; -},{"../crypto":357,"../enums":376,"../type/keyid.js":411,"../type/mpi.js":412,"../util":415,"./packet":392,"babel-runtime/core-js/object/entries":24,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/slicedToArray":39,"babel-runtime/regenerator":42,"web-stream-tools":336}],400:[function(_dereq_,module,exports){ +},{"../crypto":357,"../enums":376,"../type/keyid.js":411,"../type/mpi.js":412,"../util":415,"./packet":392,"babel-runtime/core-js/object/entries":24,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41,"web-stream-tools":337}],400:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -51695,7 +52172,7 @@ SymEncryptedAEADProtected.prototype.crypt = function () { }; }(); -},{"../config":342,"../crypto":357,"../enums":376,"../util":415,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"web-stream-tools":336}],401:[function(_dereq_,module,exports){ +},{"../config":342,"../crypto":357,"../enums":376,"../util":415,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"web-stream-tools":337}],401:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -51905,34 +52382,38 @@ SymEncryptedIntegrityProtected.prototype.encrypt = function () { mdc = new Uint8Array([0xD3, 0x14]); // modification detection code packet tohash = _util2.default.concat([bytes, mdc]); - hash = _crypto2.default.hash.sha1(_util2.default.concat([prefix, _webStreamTools2.default.passiveClone(tohash)])); + _context3.next = 14; + return _crypto2.default.hash.sha1(_util2.default.concat([prefix, _webStreamTools2.default.passiveClone(tohash)])); + + case 14: + hash = _context3.sent; tohash = _util2.default.concat([tohash, hash]); if (!(sessionKeyAlgorithm.substr(0, 3) === 'aes')) { - _context3.next = 18; + _context3.next = 20; break; } // AES optimizations. Native code for node, asmCrypto for browser. this.encrypted = aesEncrypt(sessionKeyAlgorithm, _util2.default.concat([prefix, tohash]), key); - _context3.next = 23; + _context3.next = 25; break; - case 18: - _context3.next = 20; + case 20: + _context3.next = 22; return _webStreamTools2.default.readToEnd(tohash); - case 20: + case 22: tohash = _context3.sent; this.encrypted = _crypto2.default.cfb.encrypt(prefixrandom, sessionKeyAlgorithm, tohash, key, false); this.encrypted = _webStreamTools2.default.slice(this.encrypted, 0, prefix.length + tohash.length); - case 23: + case 25: return _context3.abrupt('return', true); - case 24: + case 26: case 'end': return _context3.stop(); } @@ -52007,7 +52488,18 @@ SymEncryptedIntegrityProtected.prototype.decrypt = function () { realHash = _webStreamTools2.default.slice(_webStreamTools2.default.passiveClone(decrypted), -20); bytes = _webStreamTools2.default.slice(decrypted, 0, -20); tohash = _util2.default.concat([prefix, _webStreamTools2.default.passiveClone(bytes)]); - verifyHash = _promise2.default.all([_webStreamTools2.default.readToEnd(_crypto2.default.hash.sha1(tohash)), _webStreamTools2.default.readToEnd(realHash)]).then(function (_ref5) { + _context4.t4 = _promise2.default; + _context4.t5 = _webStreamTools2.default; + _context4.next = 29; + return _crypto2.default.hash.sha1(tohash); + + case 29: + _context4.t6 = _context4.sent; + _context4.t7 = _context4.t5.readToEnd.call(_context4.t5, _context4.t6); + _context4.t8 = _webStreamTools2.default.readToEnd(realHash); + _context4.t9 = [_context4.t7, _context4.t8]; + + _context4.t10 = function (_ref5) { var _ref6 = (0, _slicedToArray3.default)(_ref5, 2), hash = _ref6[0], mdc = _ref6[1]; @@ -52016,7 +52508,9 @@ SymEncryptedIntegrityProtected.prototype.decrypt = function () { throw new Error('Modification detected.'); } return new Uint8Array(); - }); + }; + + verifyHash = _context4.t4.all.call(_context4.t4, _context4.t9).then(_context4.t10); packetbytes = _webStreamTools2.default.slice(bytes, 0, -2); packetbytes = _webStreamTools2.default.concat([packetbytes, _webStreamTools2.default.fromAsync(function () { @@ -52024,24 +52518,24 @@ SymEncryptedIntegrityProtected.prototype.decrypt = function () { })]); if (!(!_util2.default.isStream(encrypted) || !_config2.default.allow_unauthenticated_stream)) { - _context4.next = 32; + _context4.next = 41; break; } - _context4.next = 31; + _context4.next = 40; return _webStreamTools2.default.readToEnd(packetbytes); - case 31: + case 40: packetbytes = _context4.sent; - case 32: - _context4.next = 34; + case 41: + _context4.next = 43; return this.packets.read(packetbytes); - case 34: + case 43: return _context4.abrupt('return', true); - case 35: + case 44: case 'end': return _context4.stop(); } @@ -52115,7 +52609,7 @@ function nodeDecrypt(algo, ct, key) { }); } -},{"../config":342,"../crypto":357,"../enums":376,"../util":415,"asmcrypto.js/dist_es5/aes/cfb":6,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/slicedToArray":39,"babel-runtime/regenerator":42,"web-stream-tools":336}],402:[function(_dereq_,module,exports){ +},{"../config":342,"../crypto":357,"../enums":376,"../util":415,"asmcrypto.js/dist_es5/aes/cfb":6,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41,"web-stream-tools":337}],402:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -52286,29 +52780,33 @@ SymEncryptedSessionKey.prototype.decrypt = function () { case 0: algo = this.sessionKeyEncryptionAlgorithm !== null ? this.sessionKeyEncryptionAlgorithm : this.sessionKeyAlgorithm; length = _crypto2.default.cipher[algo].keySize; - key = this.s2k.produce_key(passphrase, length); + _context.next = 4; + return this.s2k.produce_key(passphrase, length); + + case 4: + key = _context.sent; if (!(this.version === 5)) { - _context.next = 14; + _context.next = 16; break; } mode = _crypto2.default[this.aeadAlgorithm]; adata = new Uint8Array([0xC0 | this.tag, this.version, _enums2.default.write(_enums2.default.symmetric, this.sessionKeyEncryptionAlgorithm), _enums2.default.write(_enums2.default.aead, this.aeadAlgorithm)]); - _context.next = 8; + _context.next = 10; return mode(algo, key); - case 8: + case 10: modeInstance = _context.sent; - _context.next = 11; + _context.next = 13; return modeInstance.decrypt(this.encrypted, this.iv, adata); - case 11: + case 13: this.sessionKey = _context.sent; - _context.next = 15; + _context.next = 17; break; - case 14: + case 16: if (this.encrypted !== null) { decrypted = _crypto2.default.cfb.normalDecrypt(algo, key, this.encrypted, null); @@ -52319,10 +52817,10 @@ SymEncryptedSessionKey.prototype.decrypt = function () { this.sessionKey = key; } - case 15: + case 17: return _context.abrupt('return', true); - case 16: + case 18: case 'end': return _context.stop(); } @@ -52360,56 +52858,60 @@ SymEncryptedSessionKey.prototype.encrypt = function () { case 5: this.s2k.salt = _context2.sent; length = _crypto2.default.cipher[algo].keySize; - key = this.s2k.produce_key(passphrase, length); + _context2.next = 9; + return this.s2k.produce_key(passphrase, length); + + case 9: + key = _context2.sent; if (!(this.sessionKey === null)) { - _context2.next = 12; + _context2.next = 14; break; } - _context2.next = 11; + _context2.next = 13; return _crypto2.default.generateSessionKey(this.sessionKeyAlgorithm); - case 11: + case 13: this.sessionKey = _context2.sent; - case 12: + case 14: if (!(this.version === 5)) { - _context2.next = 26; + _context2.next = 28; break; } mode = _crypto2.default[this.aeadAlgorithm]; - _context2.next = 16; + _context2.next = 18; return _crypto2.default.random.getRandomBytes(mode.ivLength); - case 16: + case 18: this.iv = _context2.sent; // generate new random IV adata = new Uint8Array([0xC0 | this.tag, this.version, _enums2.default.write(_enums2.default.symmetric, this.sessionKeyEncryptionAlgorithm), _enums2.default.write(_enums2.default.aead, this.aeadAlgorithm)]); - _context2.next = 20; + _context2.next = 22; return mode(algo, key); - case 20: + case 22: modeInstance = _context2.sent; - _context2.next = 23; + _context2.next = 25; return modeInstance.encrypt(this.sessionKey, this.iv, adata); - case 23: + case 25: this.encrypted = _context2.sent; - _context2.next = 29; + _context2.next = 31; break; - case 26: + case 28: algo_enum = new Uint8Array([_enums2.default.write(_enums2.default.symmetric, this.sessionKeyAlgorithm)]); private_key = _util2.default.concatUint8Array([algo_enum, this.sessionKey]); this.encrypted = _crypto2.default.cfb.normalEncrypt(algo, key, private_key, null); - case 29: + case 31: return _context2.abrupt('return', true); - case 30: + case 32: case 'end': return _context2.stop(); } @@ -52431,7 +52933,7 @@ SymEncryptedSessionKey.prototype.postCloneTypeFix = function () { exports.default = SymEncryptedSessionKey; -},{"../config":342,"../crypto":357,"../enums":376,"../type/s2k":414,"../util":415,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],403:[function(_dereq_,module,exports){ +},{"../config":342,"../crypto":357,"../enums":376,"../type/s2k":414,"../util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],403:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -52545,31 +53047,29 @@ SymmetricallyEncrypted.prototype.decrypt = function () { while (1) { switch (_context.prev = _context.next) { case 0: - _context.t0 = _crypto2.default.cfb; - _context.t1 = sessionKeyAlgorithm; - _context.t2 = key; - _context.next = 5; + _context.next = 2; return _webStreamTools2.default.readToEnd(this.encrypted); - case 5: - _context.t3 = _context.sent; - decrypted = _context.t0.decrypt.call(_context.t0, _context.t1, _context.t2, _context.t3, true); + case 2: + this.encrypted = _context.sent; + decrypted = _crypto2.default.cfb.decrypt(sessionKeyAlgorithm, key, this.encrypted, true); + // If MDC errors are not being ignored, all missing MDC packets in symmetrically encrypted data should throw an error if (this.ignore_mdc_error) { - _context.next = 9; + _context.next = 6; break; } throw new Error('Decryption failed due to missing MDC.'); - case 9: - _context.next = 11; + case 6: + _context.next = 8; return this.packets.read(decrypted); - case 11: + case 8: return _context.abrupt('return', true); - case 12: + case 9: case 'end': return _context.stop(); } @@ -52629,7 +53129,7 @@ SymmetricallyEncrypted.prototype.encrypt = function () { exports.default = SymmetricallyEncrypted; -},{"../config":342,"../crypto":357,"../enums":376,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42,"web-stream-tools":336}],404:[function(_dereq_,module,exports){ +},{"../config":342,"../crypto":357,"../enums":376,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41,"web-stream-tools":337}],404:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -52980,7 +53480,7 @@ if (typeof TextEncoder === 'undefined') { } }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./util":415,"@mattiasbuelens/web-streams-polyfill":1,"babel-runtime/core-js/array/from":17,"babel-runtime/core-js/object/assign":21,"babel-runtime/core-js/symbol":31,"core-js/fn/array/fill":45,"core-js/fn/array/find":46,"core-js/fn/array/from":47,"core-js/fn/array/includes":48,"core-js/fn/object/assign":49,"core-js/fn/promise":50,"core-js/fn/string/repeat":51,"core-js/fn/symbol":52,"core-js/fn/typed/uint8-array":53,"text-encoding-utf-8":333,"whatwg-fetch":338}],408:[function(_dereq_,module,exports){ +},{"./util":415,"@mattiasbuelens/web-streams-polyfill":1,"babel-runtime/core-js/array/from":17,"babel-runtime/core-js/object/assign":21,"babel-runtime/core-js/symbol":30,"core-js/fn/array/fill":44,"core-js/fn/array/find":45,"core-js/fn/array/from":46,"core-js/fn/array/includes":47,"core-js/fn/object/assign":48,"core-js/fn/promise":49,"core-js/fn/string/repeat":50,"core-js/fn/symbol":51,"core-js/fn/typed/uint8-array":52,"text-encoding-utf-8":334,"whatwg-fetch":339}],408:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -53126,7 +53626,7 @@ Signature.prototype.armor = function () { return _armor2.default.encode(_enums2.default.armor.signature, this.packets.write()); }; -},{"./encoding/armor":374,"./enums":376,"./packet":388,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/regenerator":42}],409:[function(_dereq_,module,exports){ +},{"./encoding/armor":374,"./enums":376,"./packet":388,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],409:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -53565,7 +54065,7 @@ MPI.fromClone = function (clone) { exports.default = MPI; -},{"../util":415,"bn.js":43}],413:[function(_dereq_,module,exports){ +},{"../util":415,"bn.js":42}],413:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -53697,6 +54197,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); +var _regenerator = _dereq_('babel-runtime/regenerator'); + +var _regenerator2 = _interopRequireDefault(_regenerator); + +var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); + +var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); + var _config = _dereq_('../config'); var _config2 = _interopRequireDefault(_config); @@ -53853,59 +54361,109 @@ S2K.prototype.write = function () { * @returns {Uint8Array} Produced key with a length corresponding to * hashAlgorithm hash length */ -S2K.prototype.produce_key = function (passphrase, numBytes) { - passphrase = _util2.default.encode_utf8(passphrase); +S2K.prototype.produce_key = function () { + var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(passphrase, numBytes) { + var round = function () { + var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(prefix, s2k) { + var algorithm, count, data, datalen, isp, pos; + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + algorithm = _enums2.default.write(_enums2.default.hash, s2k.algorithm); + _context.t0 = s2k.type; + _context.next = _context.t0 === 'simple' ? 4 : _context.t0 === 'salted' ? 5 : _context.t0 === 'iterated' ? 6 : _context.t0 === 'gnu' ? 13 : 14; + break; - function round(prefix, s2k) { - var algorithm = _enums2.default.write(_enums2.default.hash, s2k.algorithm); + case 4: + return _context.abrupt('return', _crypto2.default.hash.digest(algorithm, _util2.default.concatUint8Array([prefix, passphrase]))); - switch (s2k.type) { - case 'simple': - return _crypto2.default.hash.digest(algorithm, _util2.default.concatUint8Array([prefix, passphrase])); + case 5: + return _context.abrupt('return', _crypto2.default.hash.digest(algorithm, _util2.default.concatUint8Array([prefix, s2k.salt, passphrase]))); - case 'salted': - return _crypto2.default.hash.digest(algorithm, _util2.default.concatUint8Array([prefix, s2k.salt, passphrase])); + case 6: + count = s2k.get_count(); + data = _util2.default.concatUint8Array([s2k.salt, passphrase]); + datalen = data.length; + isp = new Uint8Array(prefix.length + count + datalen); - case 'iterated': - { - var count = s2k.get_count(); - var data = _util2.default.concatUint8Array([s2k.salt, passphrase]); - var isp = new Array(Math.ceil(count / data.length)); + isp.set(prefix); + for (pos = prefix.length; pos < count; pos += datalen) { + isp.set(data, pos); + } + return _context.abrupt('return', _crypto2.default.hash.digest(algorithm, isp.subarray(0, prefix.length + count))); - isp = _util2.default.concatUint8Array(isp.fill(data)); + case 13: + throw new Error("GNU s2k type not supported."); - if (isp.length > count) { - isp = isp.subarray(0, count); + case 14: + throw new Error("Unknown s2k type."); + + case 15: + case 'end': + return _context.stop(); + } } + }, _callee, this); + })); - return _crypto2.default.hash.digest(algorithm, _util2.default.concatUint8Array([prefix, isp])); + return function round(_x3, _x4) { + return _ref2.apply(this, arguments); + }; + }(); + + var arr, rlength, prefix, _i, i, result; + + return _regenerator2.default.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + passphrase = _util2.default.encode_utf8(passphrase); + + arr = []; + rlength = 0; + prefix = new Uint8Array(numBytes); + + + for (_i = 0; _i < numBytes; _i++) { + prefix[_i] = 0; + } + + i = 0; + + case 6: + if (!(rlength < numBytes)) { + _context2.next = 15; + break; + } + + _context2.next = 9; + return round(prefix.subarray(0, i), this); + + case 9: + result = _context2.sent; + + arr.push(result); + rlength += result.length; + i++; + _context2.next = 6; + break; + + case 15: + return _context2.abrupt('return', _util2.default.concatUint8Array(arr).subarray(0, numBytes)); + + case 16: + case 'end': + return _context2.stop(); } - case 'gnu': - throw new Error("GNU s2k type not supported."); + } + }, _callee2, this); + })); - default: - throw new Error("Unknown s2k type."); - } - } - - var arr = []; - var rlength = 0; - var prefix = new Uint8Array(numBytes); - - for (var _i = 0; _i < numBytes; _i++) { - prefix[_i] = 0; - } - - var i = 0; - while (rlength < numBytes) { - var result = round(prefix.subarray(0, i), this); - arr.push(result); - rlength += result.length; - i++; - } - - return _util2.default.concatUint8Array(arr).subarray(0, numBytes); -}; + return function (_x, _x2) { + return _ref.apply(this, arguments); + }; +}(); S2K.fromClone = function (clone) { var s2k = new S2K(); @@ -53918,7 +54476,7 @@ S2K.fromClone = function (clone) { exports.default = S2K; -},{"../config":342,"../crypto":357,"../enums.js":376,"../util.js":415}],415:[function(_dereq_,module,exports){ +},{"../config":342,"../crypto":357,"../enums.js":376,"../util.js":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/regenerator":41}],415:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -54405,20 +54963,14 @@ exports.default = { * Calculates a 16bit sum of a Uint8Array by adding each character * codes modulus 65535 * @param {Uint8Array} Uint8Array to create a sum of - * @returns {Integer} An integer containing the sum of all character - * codes % 65535 + * @returns {Uint8Array} 2 bytes containing the sum of all charcodes % 65535 */ - calc_checksum: function calc_checksum(text) { - var checksum = { - s: 0, - add: function add(sadd) { - this.s = (this.s + sadd) % 65536; - } - }; + write_checksum: function write_checksum(text) { + var s = 0; for (var i = 0; i < text.length; i++) { - checksum.add(text[i]); + s = s + text[i] & 0xFFFF; } - return checksum.s; + return _util2.default.writeNumber(s, 2); }, /** @@ -54805,17 +55357,25 @@ exports.default = { * @module util */ -},{"./config":342,"./encoding/base64":375,"./util":415,"address-rfc2822":2,"babel-runtime/core-js/object/entries":24,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/slicedToArray":39,"babel-runtime/regenerator":42,"web-stream-tools":336}],416:[function(_dereq_,module,exports){ +},{"./config":342,"./encoding/base64":375,"./util":415,"address-rfc2822":2,"babel-runtime/core-js/object/entries":24,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41,"web-stream-tools":337}],416:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); +var _regenerator = _dereq_('babel-runtime/regenerator'); + +var _regenerator2 = _interopRequireDefault(_regenerator); + var _slicedToArray2 = _dereq_('babel-runtime/helpers/slicedToArray'); var _slicedToArray3 = _interopRequireDefault(_slicedToArray2); +var _asyncToGenerator2 = _dereq_('babel-runtime/helpers/asyncToGenerator'); + +var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); + var _util = _dereq_('./util'); var _util2 = _interopRequireDefault(_util); @@ -54873,44 +55433,71 @@ function WKD() { * @module wkd */ -WKD.prototype.lookup = function (options) { - var fetch = this._fetch; +WKD.prototype.lookup = function () { + var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(options) { + var fetch, _$exec, _$exec2, localPart, domain, localEncoded, url; - if (!options.email) { - throw new Error('You must provide an email parameter!'); - } + return _regenerator2.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + fetch = this._fetch; - if (!_util2.default.isEmailAddress(options.email)) { - throw new Error('Invalid e-mail address.'); - } + if (options.email) { + _context.next = 3; + break; + } - var _$exec = /(.*)@(.*)/.exec(options.email), - _$exec2 = (0, _slicedToArray3.default)(_$exec, 3), - localPart = _$exec2[1], - domain = _$exec2[2]; + throw new Error('You must provide an email parameter!'); - var localEncoded = _util2.default.encodeZBase32(_crypto2.default.hash.sha1(_util2.default.str_to_Uint8Array(localPart.toLowerCase()))); + case 3: + if (_util2.default.isEmailAddress(options.email)) { + _context.next = 5; + break; + } - var url = 'https://' + domain + '/.well-known/openpgpkey/hu/' + localEncoded; + throw new Error('Invalid e-mail address.'); - return fetch(url).then(function (response) { - if (response.status === 200) { - return response.arrayBuffer(); - } - }).then(function (publicKey) { - if (publicKey) { - var rawBytes = new Uint8Array(publicKey); - if (options.rawBytes) { - return rawBytes; + case 5: + _$exec = /(.*)@(.*)/.exec(options.email), _$exec2 = (0, _slicedToArray3.default)(_$exec, 3), localPart = _$exec2[1], domain = _$exec2[2]; + _context.t0 = _util2.default; + _context.next = 9; + return _crypto2.default.hash.sha1(_util2.default.str_to_Uint8Array(localPart.toLowerCase())); + + case 9: + _context.t1 = _context.sent; + localEncoded = _context.t0.encodeZBase32.call(_context.t0, _context.t1); + url = 'https://' + domain + '/.well-known/openpgpkey/hu/' + localEncoded; + return _context.abrupt('return', fetch(url).then(function (response) { + if (response.status === 200) { + return response.arrayBuffer(); + } + }).then(function (publicKey) { + if (publicKey) { + var rawBytes = new Uint8Array(publicKey); + if (options.rawBytes) { + return rawBytes; + } + return keyMod.read(rawBytes); + } + })); + + case 13: + case 'end': + return _context.stop(); + } } - return keyMod.read(rawBytes); - } - }); -}; + }, _callee, this); + })); + + return function (_x) { + return _ref.apply(this, arguments); + }; +}(); exports.default = WKD; -},{"./crypto":357,"./key":379,"./util":415,"babel-runtime/helpers/slicedToArray":39,"node-fetch":"node-fetch"}],417:[function(_dereq_,module,exports){ +},{"./crypto":357,"./key":379,"./util":415,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/slicedToArray":38,"babel-runtime/regenerator":41,"node-fetch":"node-fetch"}],417:[function(_dereq_,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -55156,5 +55743,5 @@ AsyncProxy.prototype.delegate = function (method, options) { exports.default = AsyncProxy; -},{"../crypto":357,"../packet":388,"../util.js":415,"babel-runtime/core-js/promise":30,"babel-runtime/helpers/asyncToGenerator":34,"babel-runtime/helpers/toConsumableArray":40,"babel-runtime/regenerator":42}]},{},[378])(378) +},{"../crypto":357,"../packet":388,"../util.js":415,"babel-runtime/core-js/promise":29,"babel-runtime/helpers/asyncToGenerator":33,"babel-runtime/helpers/toConsumableArray":39,"babel-runtime/regenerator":41}]},{},[378])(378) }); diff --git a/dist/compat/openpgp.min.js b/dist/compat/openpgp.min.js index 531558bc..d4008747 100644 --- a/dist/compat/openpgp.min.js +++ b/dist/compat/openpgp.min.js @@ -1,2 +1,2 @@ -/*! OpenPGP.js v4.1.2 - 2018-10-20 - 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(o,s){if(!r[o]){if(!t[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(i)return i(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var f=r[o]={exports:{}};t[o][0].call(f.exports,function(e){return a(t[o][1][e]||e)},f,f.exports,e,t,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");mt(this)}},n(e,[{key:"closed",get:function(){return!1===pt(this)?Promise.reject(Xt("closed")):this._closedPromise}}]),e}(),lt=function(){function e(e){if(!Qe(e))throw new TypeError("ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a byte source");if(!1===Bt(e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");if(et(e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");bt(this,e),this._readIntoRequests=[]}var t=e.prototype;return t.cancel=function(e){return ht(this)?void 0===this._ownerReadableStream?Promise.reject(Yt("cancel")):yt(this,e):Promise.reject($t("cancel"))},t.read=function(e){return ht(this)?void 0===this._ownerReadableStream?Promise.reject(Yt("read from")):ArrayBuffer.isView(e)?!0===Pe(e.buffer)?Promise.reject(new TypeError("Cannot read into a view onto a detached ArrayBuffer")):0===e.byteLength?Promise.reject(new TypeError("view must have non-zero byteLength")):function(e,t){var r=e._ownerReadableStream;return r._disturbed=!0,"errored"===r._state?Promise.reject(r._storedError):function(e,t){var r=e._controlledReadableByteStream,n=1;t.constructor!==DataView&&(n=t.constructor.BYTES_PER_ELEMENT);var a=t.constructor,i={buffer:Me(t.buffer),byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:n,ctor:a,readerType:"byob"};if(e._pendingPullIntos.length>0)return e._pendingPullIntos.push(i),tt(r);if("closed"===r._state){var o=new t.constructor(i.buffer,i.byteOffset,0);return Promise.resolve(Se(o,!0))}if(e._queueTotalSize>0){if(!0===zt(e,i)){var s=Ot(i);return Nt(e),Promise.resolve(Se(s,!1))}if(!0===e._closeRequested){var u=new TypeError("Insufficient bytes to fill elements in the given buffer");return Gt(e,u),Promise.reject(u)}}e._pendingPullIntos.push(i);var c=tt(r);return Rt(e),c}(r._readableStreamController,t)}(this,e):Promise.reject(new TypeError("view must be an array buffer view")):Promise.reject($t("read"))},t.releaseLock=function(){if(!ht(this))throw $t("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");mt(this)}},n(e,[{key:"closed",get:function(){return ht(this)?this._closedPromise:Promise.reject($t("closed"))}}]),e}();function ht(e){return!!Re(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")}function pt(e){return!!Re(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")}function bt(e,t){e._ownerReadableStream=t,t._reader=e,"readable"===t._state?function(e){e._closedPromise=new Promise(function(t,r){e._closedPromise_resolve=t,e._closedPromise_reject=r})}(e):"closed"===t._state?function(e){e._closedPromise=Promise.resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}(e):(function(e,t){e._closedPromise=Promise.reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}(e,t._storedError),e._closedPromise.catch(function(){}))}function yt(e,t){return nt(e._ownerReadableStream,t)}function mt(e){"readable"===e._ownerReadableStream._state?Jt(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(e,t){e._closedPromise=Promise.reject(t)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._closedPromise.catch(function(){}),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function vt(e){var t=e._ownerReadableStream;return t._disturbed=!0,"closed"===t._state?Promise.resolve(Se(void 0,!0)):"errored"===t._state?Promise.reject(t._storedError):t._readableStreamController[Ve]()}var gt=function(){function e(){throw new TypeError}var t=e.prototype;return t.close=function(){if(!1===_t(this))throw Qt("close");if(!1===jt(this))throw new TypeError("The stream is not in a state that permits close");xt(this)},t.enqueue=function(e){if(!1===_t(this))throw Qt("enqueue");if(!1===jt(this))throw new TypeError("The stream is not in a state that permits enqueue");return At(this,e)},t.error=function(e){if(!1===_t(this))throw Qt("error");St(this,e)},t[He]=function(e){return Ke(this),this._cancelAlgorithm(e)},t[Ve]=function(){var e=this._controlledReadableStream;if(this._queue.length>0){var t=Ue(this);return!0===this._closeRequested&&0===this._queue.length?at(e):wt(this),Promise.resolve(Se(t,!1))}var r=rt(e);return wt(this),r},n(e,[{key:"desiredSize",get:function(){if(!1===_t(this))throw Qt("desiredSize");return Et(this)}}]),e}();function _t(e){return!!Re(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")}function wt(e){!1!==kt(e)&&(!0!==e._pulling?(e._pulling=!0,e._pullAlgorithm().then(function(){if(e._pulling=!1,!0===e._pullAgain)return e._pullAgain=!1,wt(e)},function(t){St(e,t)}).catch(Ie)):e._pullAgain=!0)}function kt(e){var t=e._controlledReadableStream;return!1!==jt(e)&&!1!==e._started&&(!0===et(t)&&ut(t)>0||Et(e)>0)}function xt(e){var t=e._controlledReadableStream;e._closeRequested=!0,0===e._queue.length&&at(t)}function At(e,t){var r=e._controlledReadableStream;if(!0===et(r)&&ut(r)>0)ot(r,t,!1);else{var n;try{n=e._strategySizeAlgorithm(t)}catch(t){throw St(e,t),t}try{Oe(e,t,n)}catch(t){throw St(e,t),t}}wt(e)}function St(e,t){var r=e._controlledReadableStream;"readable"===r._state&&(Ke(e),it(r,t))}function Et(e){var t=e._controlledReadableStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function jt(e){var t=e._controlledReadableStream._state;return!1===e._closeRequested&&"readable"===t}function Pt(e,t,r,n,a,i,o){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,Ke(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=o,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,e._readableStreamController=t;var s=r();Promise.resolve(s).then(function(){t._started=!0,wt(t)},function(e){St(t,e)}).catch(Ie)}var Mt=function(){function e(){throw new TypeError("ReadableStreamBYOBRequest cannot be used directly")}var t=e.prototype;return t.respond=function(e){if(!1===Tt(this))throw er("respond");if(void 0===this._associatedReadableByteStreamController)throw new TypeError("This BYOB request has been invalidated");if(!0===Pe(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");!function(e,t){if(t=Number(t),!1===Ee(t))throw new RangeError("bytesWritten must be a finite");qt(e,t)}(this._associatedReadableByteStreamController,e)},t.respondWithNewView=function(e){if(!1===Tt(this))throw er("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");if(!0===Pe(e.buffer))throw new TypeError("The supplied view's buffer has been detached and so cannot be used as a response");!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,qt(e,t.byteLength)}(this._associatedReadableByteStreamController,e)},n(e,[{key:"view",get:function(){if(!1===Tt(this))throw er("view");return this._view}}]),e}(),Ct=function(){function e(){throw new TypeError("ReadableByteStreamController constructor cannot be used directly")}var t=e.prototype;return t.close=function(){if(!1===Bt(this))throw tr("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 Gt(e,r),r}at(t)}}(this)},t.enqueue=function(e){if(!1===Bt(this))throw tr("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");if(!0===Pe(e.buffer))throw new TypeError("Cannot enqueue a view onto a detached ArrayBuffer");!function(e,t){var r=e._controlledReadableByteStream,n=t.buffer,a=t.byteOffset,i=t.byteLength,o=Me(n);if(!0===ft(r))if(0===ut(r))Kt(e,o,a,i);else{ot(r,new Uint8Array(o,a,i),!1)}else!0===ct(r)?(Kt(e,o,a,i),Lt(e)):Kt(e,o,a,i);Rt(e)}(this,e)},t.error=function(e){if(!1===Bt(this))throw tr("error");Gt(this,e)},t[He]=function(e){return this._pendingPullIntos.length>0&&(this._pendingPullIntos[0].bytesFilled=0),Ke(this),this._cancelAlgorithm(e)},t[Ve]=function(){var e=this._controlledReadableByteStream;if(this._queueTotalSize>0){var t,r=this._queue.shift();this._queueTotalSize-=r.byteLength,Nt(this);try{t=new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}catch(e){return Promise.reject(e)}return Promise.resolve(Se(t,!1))}var n=this._autoAllocateChunkSize;if(void 0!==n){var a;try{a=new ArrayBuffer(n)}catch(e){return Promise.reject(e)}var i={buffer:a,byteOffset:0,byteLength:n,bytesFilled:0,elementSize:1,ctor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}var o=rt(e);return Rt(this),o},n(e,[{key:"byobRequest",get:function(){if(!1===Bt(this))throw tr("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=Object.create(Mt.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===Bt(this))throw tr("desiredSize");return Ht(this)}}]),e}();function Bt(e){return!!Re(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")}function Tt(e){return!!Re(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")}function Rt(e){!1!==function(e){var t=e._controlledReadableByteStream;return"readable"===t._state&&(!0!==e._closeRequested&&(!1!==e._started&&(!0===ft(t)&&ut(t)>0||(!0===ct(t)&&st(t)>0||Ht(e)>0))))}(e)&&(!0!==e._pulling?(e._pulling=!0,e._pullAlgorithm().then(function(){e._pulling=!1,!0===e._pullAgain&&(e._pullAgain=!1,Rt(e))},function(t){Gt(e,t)}).catch(Ie)):e._pullAgain=!0)}function It(e){Ft(e),e._pendingPullIntos=[]}function Ut(e,t){var r=!1;"closed"===e._state&&(r=!0);var n=Ot(t);"default"===t.readerType?ot(e,n,r):function(e,t,r){e._reader._readIntoRequests.shift()._resolve(Se(t,r))}(e,n,r)}function Ot(e){var t=e.bytesFilled,r=e.elementSize;return new e.ctor(e.buffer,e.byteOffset,t/r)}function Kt(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function zt(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,o=i-i%r,s=a,u=!1;o>n&&(s=o-t.bytesFilled,u=!0);for(var c=e._queue;s>0;){var f=c[0],d=Math.min(s,f.byteLength),l=t.byteOffset+t.bytesFilled;xe(t.buffer,l,f.buffer,f.byteOffset,d),f.byteLength===d?c.shift():(f.byteOffset+=d,f.byteLength-=d),e._queueTotalSize-=d,Dt(e,d,t),s-=d}return u}function Dt(e,t,r){Ft(e),r.bytesFilled+=t}function Nt(e){0===e._queueTotalSize&&!0===e._closeRequested?at(e._controlledReadableByteStream):Rt(e)}function Ft(e){void 0!==e._byobRequest&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=void 0,e._byobRequest=void 0)}function Lt(e){for(;e._pendingPullIntos.length>0;){if(0===e._queueTotalSize)return;var t=e._pendingPullIntos[0];!0===zt(e,t)&&(Wt(e),Ut(e._controlledReadableByteStream,t))}}function qt(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=Me(t.buffer);var r=e._controlledReadableByteStream;if(!0===ct(r))for(;st(r)>0;)Ut(r,Wt(e))}(e,r)}else!function(e,t,r){if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range");if(Dt(e,t,r),!(r.bytesFilled0){var a=r.byteOffset+r.bytesFilled,i=r.buffer.slice(a-n,a);Kt(e,i,0,i.byteLength)}r.buffer=Me(r.buffer),r.bytesFilled-=n,Ut(e._controlledReadableByteStream,r),Lt(e)}}(e,t,r);Rt(e)}function Wt(e){var t=e._pendingPullIntos.shift();return Ft(e),t}function Gt(e,t){var r=e._controlledReadableByteStream;"readable"===r._state&&(It(e),Ke(e),it(r,t))}function Ht(e){var t=e._controlledReadableByteStream._state;return"errored"===t?null:"closed"===t?0:e._strategyHWM-e._queueTotalSize}function Vt(e,t,r,n,a,i,o){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,It(t),t._queue=t._queueTotalSize=void 0,Ke(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=Ce(i),t._pullAlgorithm=n,t._cancelAlgorithm=a,t._autoAllocateChunkSize=o,t._pendingPullIntos=[],e._readableStreamController=t;var s=r();Promise.resolve(s).then(function(){t._started=!0,Rt(t)},function(e){Gt(t,e)}).catch(Ie)}function Zt(e){return new TypeError("ReadableStream.prototype."+e+" can only be used on a ReadableStream")}function Yt(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Xt(e){return new TypeError("ReadableStreamDefaultReader.prototype."+e+" can only be used on a ReadableStreamDefaultReader")}function Jt(e,t){e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}function $t(e){return new TypeError("ReadableStreamBYOBReader.prototype."+e+" can only be used on a ReadableStreamBYOBReader")}function Qt(e){return new TypeError("ReadableStreamDefaultController.prototype."+e+" can only be used on a ReadableStreamDefaultController")}function er(e){return new TypeError("ReadableStreamBYOBRequest.prototype."+e+" can only be used on a ReadableStreamBYOBRequest")}function tr(e){return new TypeError("ReadableByteStreamController.prototype."+e+" can only be used on a ReadableByteStreamController")}var rr=Ye.ReadableStream,nr=v.createDataProperty,ar=function(){function e(e){var t=e.highWaterMark;nr(this,"highWaterMark",t)}return e.prototype.size=function(e){return e.byteLength},e}(),ir=v.createDataProperty,or=function(){function e(e){var t=e.highWaterMark;ir(this,"highWaterMark",t)}return e.prototype.size=function(){return 1},e}(),sr=(j("streams:transform-stream:verbose"),v.InvokeOrNoop),ur=v.CreateAlgorithmFromUnderlyingMethod,cr=v.PromiseCall,fr=v.typeIsObject,dr=v.ValidateAndNormalizeHighWaterMark,lr=(v.IsNonNegativeNumber,v.MakeSizeAlgorithmFromSizeFunction),hr=Ye.CreateReadableStream,pr=Ye.ReadableStreamDefaultControllerClose,br=Ye.ReadableStreamDefaultControllerEnqueue,yr=Ye.ReadableStreamDefaultControllerError,mr=Ye.ReadableStreamDefaultControllerGetDesiredSize,vr=Ye.ReadableStreamDefaultControllerHasBackpressure,gr=Ye.ReadableStreamDefaultControllerCanCloseOrEnqueue,_r=q.CreateWritableStream,wr=q.WritableStreamDefaultControllerErrorIfNeeded,kr=function(){function e(e,t,r){if(void 0===e&&(e={}),void 0===t&&(t={}),void 0===r&&(r={}),void 0!==e.readableType)throw new RangeError("Invalid readable type specified");if(void 0!==e.writableType)throw new RangeError("Invalid writable type specified");var n=t.size,a=lr(n),i=t.highWaterMark;void 0===i&&(i=1),i=dr(i);var o,s=r.size,u=lr(s),c=r.highWaterMark;void 0===c&&(c=0),c=dr(c),xr(this,new Promise(function(e){o=e}),i,a,c,u),function(e,t){var r=Object.create(Pr.prototype),n=function(e){try{return Br(r,e),Promise.resolve()}catch(e){return Promise.reject(e)}},a=t.transform;if(void 0!==a){if("function"!=typeof a)throw new TypeError("transform is not a method");n=function(n){return cr(a,t,[n,r]).catch(function(t){throw Sr(e,t),t})}}var i=ur(t,"flush",0,[r]);Cr(e,r,n,i)}(this,e);var f=sr(e,"start",[this._transformStreamController]);o(f)}return n(e,[{key:"readable",get:function(){if(!1===Ar(this))throw Rr("readable");return this._readable}},{key:"writable",get:function(){if(!1===Ar(this))throw Rr("writable");return this._writable}}]),e}();function xr(e,t,r,n,a,i){function o(){return t}e._writable=_r(o,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 r._transformAlgorithm(t)}):r._transformAlgorithm(t)}(e,t)},function(){return function(e){var t=e._readable;return e._transformStreamController._flushAlgorithm().then(function(){if("errored"===t._state)throw t._storedError;var e=t._readableStreamController;!0===gr(e)&&pr(e)}).catch(function(r){throw Sr(e,r),t._storedError})}(e)},function(t){return function(e,t){return Sr(e,t),Promise.resolve()}(e,t)},r,n),e._readable=hr(o,function(){return function(e){return jr(e,!1),e._backpressureChangePromise}(e)},function(t){return Er(e,t),Promise.resolve()},a,i),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,jr(e,!0),e._transformStreamController=void 0}function Ar(e){return!!fr(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")}function Sr(e,t){yr(e._readable._readableStreamController,t),Er(e,t)}function Er(e,t){wr(e._writable._writableStreamController,t),!0===e._backpressure&&jr(e,!1)}function jr(e,t){void 0!==e._backpressureChangePromise&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=new Promise(function(t){e._backpressureChangePromise_resolve=t}),e._backpressure=t}var Pr=function(){function e(){throw new TypeError("TransformStreamDefaultController instances cannot be created directly")}var t=e.prototype;return t.enqueue=function(e){if(!1===Mr(this))throw Tr("enqueue");Br(this,e)},t.error=function(e){if(!1===Mr(this))throw Tr("error");!function(e,t){Sr(e._controlledTransformStream,t)}(this,e)},t.terminate=function(){if(!1===Mr(this))throw Tr("terminate");var e,t;e=this._controlledTransformStream,t=e._readable._readableStreamController,!0===gr(t)&&pr(t),Er(e,new TypeError("TransformStream terminated"))},n(e,[{key:"desiredSize",get:function(){if(!1===Mr(this))throw Tr("desiredSize");var e=this._controlledTransformStream._readable._readableStreamController;return mr(e)}}]),e}();function Mr(e){return!!fr(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")}function Cr(e,t,r,n){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=n}function Br(e,t){var r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!1===gr(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{br(n,t)}catch(e){throw Er(r,e),r._readable._storedError}vr(n)!==r._backpressure&&jr(r,!0)}function Tr(e){return new TypeError("TransformStreamDefaultController.prototype."+e+" can only be used on a TransformStreamDefaultController")}function Rr(e){return new TypeError("TransformStream.prototype."+e+" can only be used on a TransformStream")}var Ir=kr;void 0!==u&&a(u,{ReadableStream:rr,WritableStream:ke,ByteLengthQueuingStrategy:ar,CountQueuingStrategy:or,TransformStream:Ir}),t.ReadableStream=rr,t.WritableStream=ke,t.ByteLengthQueuingStrategy=ar,t.CountQueuingStrategy=or,t.TransformStream=Ir,Object.defineProperty(t,"__esModule",{value:!0})})("object"==typeof r&&void 0!==t?r:this.WebStreamsPolyfill={})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],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 o=e("email-addresses");function s(e){if("group"===e.type)return new u(e.name,e.addresses.map(s));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=o({input:e,rfc6532:!0,partial:!1,simple:!1,strict:!1,rejectTLD:!1,startAt:t||null});if(!r)throw"No results";return r.addresses.map(s)},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":35,"babel-runtime/helpers/createClass":36,"email-addresses":297}],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,o,s,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=[],o=[[],[],[],[]],s=[[],[],[],[]];for(var f=0;f<256;f++){var d=c(f);a[f]=d,i[d]=f,o[0][f]=n(2,d)<<24|d<<16|d<<8|n(3,d),s[0][d]=n(14,f)<<24|n(9,f)<<16|n(13,f)<<8|n(11,f);for(var l=1;l<4;l++)o[l][f]=o[l-1][f]>>>8|o[l-1][f]<<24,s[l][d]=s[l-1][d]>>>8|s[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(o[n],4096+1024*n>>2),r.set(s[n],8192+1024*n>>2);var f=function(e,t,r){"use asm";var n=0,a=0,i=0,o=0,s=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,s,u,c,f,d){e=e|0;t=t|0;r=r|0;s=s|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)<=s<<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],o=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 P(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=o,o=i}function M(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,s^e,u^t,c^r,f^d);s=n,u=a,c=i,f=o}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=o,o=l;n=n^s,a=a^u,i=i^c,o=o^f;s=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,s,u,c,f);s=n=n^e,u=a=a^t,c=i=i^r,f=o=o^d}function T(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,s,u,c,f);n=n^e,a=a^t,i=i^r,o=o^d;s=e,u=t,c=r,f=d}function R(e,t,r,d){e=e|0;t=t|0;r=r|0;d=d|0;E(0x0000,0x0800,0x1000,x,s,u,c,f);s=n,u=a,c=i,f=o;n=n^e,a=a^t,i=i^r,o=o^d}function I(e,t,r,s){e=e|0;t=t|0;r=r|0;s=s|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;o=o^s}function U(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;var a=0,i=0,o=0,d=0,l=0,h=0,p=0,b=0,y=0,m=0;e=e^s,t=t^u,r=r^c,n=n^f;a=g|0,i=_|0,o=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|o>>>31,o=o<<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}s=l,u=h,c=p,f=b}function O(e){e=e|0;x=e}function K(e,t,r,s){e=e|0;t=t|0;r=r|0;s=s|0;n=e,a=t,i=r,o=s}function z(e,t,r,n){e=e|0;t=t|0;r=r|0;n=n|0;s=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 N(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 F(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 L(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]=o>>>24,S[e|13]=o>>>16&255,S[e|14]=o>>>8&255,S[e|15]=o&255;return 16}function q(e){e=e|0;if(e&15)return-1;S[e|0]=s>>>24,S[e|1]=s>>>16&255,S[e|2]=s>>>8&255,S[e|3]=s&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 W(){j(0,0,0,0);g=n,_=a,w=i,k=o}function G(e,t,r){e=e|0;t=t|0;r=r|0;var s=0;if(t&15)return-1;while((r|0)>=16){V[e&7](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);S[t|0]=n>>>24,S[t|1]=n>>>16&255,S[t|2]=n>>>8&255,S[t|3]=n&255,S[t|4]=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]=o>>>24,S[t|13]=o>>>16&255,S[t|14]=o>>>8&255,S[t|15]=o&255;s=s+16|0,t=t+16|0,r=r-16|0}return s|0}function H(e,t,r){e=e|0;t=t|0;r=r|0;var n=0;if(t&15)return-1;while((r|0)>=16){Z[e&1](S[t|0]<<24|S[t|1]<<16|S[t|2]<<8|S[t|3],S[t|4]<<24|S[t|5]<<16|S[t|6]<<8|S[t|7],S[t|8]<<24|S[t|9]<<16|S[t|10]<<8|S[t|11],S[t|12]<<24|S[t|13]<<16|S[t|14]<<8|S[t|15]);n=n+16|0,t=t+16|0,r=r-16|0}return n|0}var V=[j,P,M,C,B,T,R,I];var Z=[M,U];return{set_rounds:O,set_state:K,set_iv:z,set_nonce:D,set_mask:N,set_counter:F,get_state:L,get_iv:q,gcm_init:W,cipher:G,mac:H}}({Uint8Array:Uint8Array,Uint32Array:Uint32Array},e,t);return f.set_key=function(e,t,n,i,o,u,c,d,l){var h=r.subarray(0,60),p=r.subarray(256,316);h.set([t,n,i,o,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:s[0][a[m>>>24]]^s[1][a[m>>>16&255]]^s[2][a[m>>>8&255]]^s[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"),o=[],s=[],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=o.pop()||(0,a._heap_init)().subarray(n.AES_asm.HEAP_DATA),this.asm=s.pop()||(0,n.AES_asm)(null,this.heap.buffer),this.reset(this.key,this.iv))},e.prototype.release_asm=function(){o.push(this.heap),s.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],o=n.AES_asm.HEAP_DATA,s=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,s+u,e,c,f),c+=l,f-=l,(l=t.cipher(i,o+s,u))&&h.set(r.subarray(s,s+l),d),d+=l,l0;)u+=p=(0,a._heap_write)(r,s+u,e,c,f),c+=p,f-=p,(p=t.cipher(i,o+s,u-(f?0:h)))&&b.set(r.subarray(s,s+p),d),d+=p,p0){if(s%16){if(this.hasOwnProperty("padding"))throw new i.IllegalArgumentError("data length must be a multiple of the block size");s+=16-s%16}if(e.cipher(r,a+o,s),this.hasOwnProperty("padding")&&this.padding){var c=t[o+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[o+u-d];if(f)throw new i.SecurityError("bad padding");u-=c}}var l=new Uint8Array(u);return u>0&&l.set(t.subarray(o,o+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=s(e("babel-runtime/core-js/object/create")),a=s(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),o=e("../other/utils");function s(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,o.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,o.joinBytes)(t,r)},t}(i.AES);r.AES_CBC=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],6:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_CFB=void 0;var n=s(e("babel-runtime/core-js/object/create")),a=s(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),o=e("../other/utils");function s(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,o.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,o.joinBytes)(t,r)},t}(i.AES);r.AES_CFB=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],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"),o=e("../other/errors"),s=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,s.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Encrypt_process(e),r=this.AES_Encrypt_finish();return(0,s.joinBytes)(t,r)},t.prototype.AES_CTR_set_options=function(e,t,r){if(void 0!==r){if(r<8||r>48)throw new o.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 o.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 o.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":22,"babel-runtime/core-js/object/set-prototype-of":28}],8:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.AES_ECB=void 0;var n=s(e("babel-runtime/core-js/object/create")),a=s(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./aes"),o=e("../other/utils");function s(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,o.joinBytes)(t,r)},t.prototype.decrypt=function(e){var t=this.AES_Decrypt_process(e),r=this.AES_Decrypt_finish();return(0,o.joinBytes)(t,r)},t}(i.AES);r.AES_ECB=f},{"../other/utils":16,"./aes":4,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],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"),o=e("../other/utils"),s=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 o=e.call(this,t,void 0,!1,"CTR")||this;if(o.tagSize=a,o.gamma0=0,o.counter=1,o.asm.gcm_init(),o.tagSize<4||o.tagSize>16)throw new i.IllegalArgumentError("illegal tagSize value");var s=r.length||0,c=new Uint8Array(16);12!==s?(o._gcm_mac_process(r),o.heap[0]=0,o.heap[1]=0,o.heap[2]=0,o.heap[3]=0,o.heap[4]=0,o.heap[5]=0,o.heap[6]=0,o.heap[7]=0,o.heap[8]=0,o.heap[9]=0,o.heap[10]=0,o.heap[11]=s>>>29,o.heap[12]=s>>>21&255,o.heap[13]=s>>>13&255,o.heap[14]=s>>>5&255,o.heap[15]=s<<3&255,o.asm.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA,16),o.asm.get_iv(u.AES_asm.HEAP_DATA),o.asm.set_iv(0,0,0,0),c.set(o.heap.subarray(0,16))):(c.set(r),c[15]=1);var f=new DataView(c.buffer);if(o.gamma0=f.getUint32(12),o.asm.set_nonce(f.getUint32(0),f.getUint32(4),f.getUint32(8),0),o.asm.set_mask(0,0,0,4294967295),void 0!==n){if(n.length>l)throw new i.IllegalArgumentError("illegal adata length");n.length?(o.adata=n,o._gcm_mac_process(n)):o.adata=void 0}else o.adata=void 0;if(o.counter<1||o.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");return o.asm.set_counter(0,0,0,o.gamma0+o.counter|0),o}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,s=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,o._heap_write)(a,s+c,e,t,r),t+=h,r-=h,h=n.cipher(u.AES_asm.ENC.CTR,u.AES_asm.HEAP_DATA+s,c),(h=n.mac(u.AES_asm.MAC.GCM,u.AES_asm.HEAP_DATA+s,h))&&p.set(a.subarray(s,s+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),s.set(t.subarray(0,n),o),this.counter=1,this.pos=0,this.len=0,s},t.prototype.AES_GCM_Decrypt_process=function(e){var t=0,r=e.length||0,n=this.asm,a=this.heap,i=this.counter,s=this.tagSize,c=this.pos,f=this.len,d=0,h=f+r>s?f+r-s&-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,o._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,o._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,o=this.pos,s=this.len,c=s-r;if(s>>29,t[4]=h>>>21,t[5]=h>>>13&255,t[6]=h>>>5&255,t[7]=h<<3&255,t[8]=t[9]=t[10]=0,t[11]=p>>>29,t[12]=p>>>21&255,t[13]=p>>>13&255,t[14]=p>>>5&255,t[15]=p<<3&255,e.mac(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,o._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}(s.AES);r.AES_GCM=h},{"../other/errors":15,"../other/utils":16,"./aes":4,"./aes.asm":3,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],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,o=this.len,s=0,u=e.length,c=0;u>0;)o+=c=(0,n._heap_write)(r,i+o,e,s,u),s+=c,u-=c,i+=c=t.process(i,o),(o-=c)||(i=0);return this.pos=i,this.len=o,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,o=0,s=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,P=0,M=0,C=0,B=0,T=0,R=0,I=0,U=0,O=0,K=0,z=0,D=0,N=0,F=0,L=0,q=0,W=0,G=0,H=0,V=0,Z=0,Y=0,X=0,J=0,$=0,Q=0,ee=0,te=0,re=0,ne=0,ae=0,ie=0,oe=0,se=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,Pe=0,Me=0,Ce=0,Be=0,Te=0,Re=0,Ie=0,Ue=0,Oe=0,Ke=0;w=n;k=a;x=i;A=o;S=s;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;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=g^p^u^t;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=_^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=P^y^f^u;B=E<<1|E>>>31;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;E=M^m^d^c;T=E<<1|E>>>31;j=T+(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;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=B^g^h^d;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=T^_^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=R^P^b^h;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=I^M^y^p;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=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=O^B^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=K^T^g^m;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=z^R^_^v;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=D^I^P^g;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=N^U^M^_;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=F^O^C^P;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=L^K^B^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=q^z^T^C;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=W^D^R^B;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=G^N^I^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^U^R;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=V^L^O^I;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=Z^q^K^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^W^z^O;$=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^G^D^K;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^H^N^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=$^V^F^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^Z^L^N;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^F;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^W^L;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^G^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^$^H^W;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=ae^Q^V^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=ie^ee^Z^H;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=oe^te^Y^V;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=se^re^X^Z;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^oe^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^se^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^oe^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^se^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^oe;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^se;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;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=Ee^we^be^he;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=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=Pe^xe^me^be;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=Me^Ae^ve^ye;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=Ce^Se^ge^me;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=Be^Ee^_e^ve;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=Te^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=Re^Pe^ke^_e;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;E=Ie^Me^xe^we;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;n=n+w|0;a=a+k|0;i=i+x|0;o=o+A|0;s=s+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]=o>>>24;_[e|13]=o>>>16&255;_[e|14]=o>>>8&255;_[e|15]=o&255;_[e|16]=s>>>24;_[e|17]=s>>>16&255;_[e|18]=s>>>8&255;_[e|19]=s&255}function A(){n=0x67452301;a=0xefcdab89;i=0x98badcfe;o=0x10325476;s=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;o=f;s=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 P(){n=f;a=d;i=l;o=h;s=p;u=64;c=0}function M(){n=b;a=y;i=m;o=v;s=g;u=64;c=0}function C(e,t,r,_,k,x,S,E,j,P,M,C,B,T,R,I){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;P=P|0;M=M|0;C=C|0;B=B|0;T=T|0;R=R|0;I=I|0;A();w(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,_^0x5c5c5c5c,k^0x5c5c5c5c,x^0x5c5c5c5c,S^0x5c5c5c5c,E^0x5c5c5c5c,j^0x5c5c5c5c,P^0x5c5c5c5c,M^0x5c5c5c5c,C^0x5c5c5c5c,B^0x5c5c5c5c,T^0x5c5c5c5c,R^0x5c5c5c5c,I^0x5c5c5c5c);b=n;y=a;m=i;v=o;g=s;A();w(e^0x36363636,t^0x36363636,r^0x36363636,_^0x36363636,k^0x36363636,x^0x36363636,S^0x36363636,E^0x36363636,j^0x36363636,P^0x36363636,M^0x36363636,C^0x36363636,B^0x36363636,T^0x36363636,R^0x36363636,I^0x36363636);f=n;d=a;l=i;h=o;p=s;u=64;c=0}function B(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=o,l=s;M();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 T(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;B(e,t+4|0,-1)|0;f=b=n,d=y=a,l=m=i,h=v=o,p=g=s;u=u-1|0;while((u|0)>0){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=o,g=s;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=o,g=s;f=f^n;d=d^a;l=l^i;h=h^o;p=p^s;u=u-1|0}n=f;a=d;i=l;o=h;s=p;if(~c)x(c);return 0}return{reset:A,init:S,process:E,finish:j,hmac_reset:P,hmac_init:C,hmac_finish:B,pbkdf2_generate_block:T}}},{}],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=s(e("babel-runtime/core-js/object/create")),a=s(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./sha1.asm"),o=e("../hash");function s(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}(o.Hash);r.Sha1=l},{"../hash":10,"./sha1.asm":11,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],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,o=0,s=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,P=0,M=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,P=0,M=0,C=0,B=0;A=n;S=a;E=i;j=o;P=s;M=u;C=c;B=f;B=e+B+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x428a2f98|0;j=j+B|0;B=B+(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)+(M^j&(P^M))+0x71374491|0;E=E+C|0;C=C+(B&A^S&(B^A))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;M=r+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0xb5c0fbcf|0;S=S+M|0;M=M+(C&B^A&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;P=d+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xe9b5dba5|0;A=A+P|0;P=P+(M&C^B&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;j=l+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x3956c25b|0;B=B+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;E=h+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(A^S))+0x59f111f1|0;C=C+E|0;E=E+(j&P^M&(j^P))+(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&(B^A))+0x923f82a4|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=b+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(C^B))+0xab1c5ed5|0;P=P+A|0;A=A+(S&E^j&(S^E))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;B=y+B+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0xd807aa98|0;j=j+B|0;B=B+(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)+(M^j&(P^M))+0x12835b01|0;E=E+C|0;C=C+(B&A^S&(B^A))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;M=v+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x243185be|0;S=S+M|0;M=M+(C&B^A&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;P=g+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x550c7dc3|0;A=A+P|0;P=P+(M&C^B&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;j=_+j+(A>>>6^A>>>11^A>>>25^A<<26^A<<21^A<<7)+(E^A&(S^E))+0x72be5d74|0;B=B+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;E=w+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(A^S))+0x80deb1fe|0;C=C+E|0;E=E+(j&P^M&(j^P))+(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&(B^A))+0x9bdc06a7|0;M=M+S|0;S=S+(E&j^P&(E^j))+(E>>>2^E>>>13^E>>>22^E<<30^E<<19^E<<10)|0;A=x+A+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(C^B))+0xc19bf174|0;P=P+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;B=e+B+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0xe49b69c1|0;j=j+B|0;B=B+(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)+(M^j&(P^M))+0xefbe4786|0;E=E+C|0;C=C+(B&A^S&(B^A))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;M=r+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x0fc19dc6|0;S=S+M|0;M=M+(C&B^A&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;P=d+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x240ca1cc|0;A=A+P|0;P=P+(M&C^B&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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;B=B+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(A^S))+0x4a7484aa|0;C=C+E|0;E=E+(j&P^M&(j^P))+(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&(B^A))+0x5cb0a9dc|0;M=M+S|0;S=S+(E&j^P&(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+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(C^B))+0x76f988da|0;P=P+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;B=y+B+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x983e5152|0;j=j+B|0;B=B+(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)+(M^j&(P^M))+0xa831c66d|0;E=E+C|0;C=C+(B&A^S&(B^A))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<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;M=v+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0xb00327c8|0;S=S+M|0;M=M+(C&B^A&(C^B))+(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;P=g+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xbf597fc7|0;A=A+P|0;P=P+(M&C^B&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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;B=B+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<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+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(A^S))+0xd5a79147|0;C=C+E|0;E=E+(j&P^M&(j^P))+(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&(B^A))+0x06ca6351|0;M=M+S|0;S=S+(E&j^P&(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+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(C^B))+0x14292967|0;P=P+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;B=e+B+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x27b70a85|0;j=j+B|0;B=B+(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)+(M^j&(P^M))+0x2e1b2138|0;E=E+C|0;C=C+(B&A^S&(B^A))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;M=r+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x4d2c6dfc|0;S=S+M|0;M=M+(C&B^A&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;P=d+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x53380d13|0;A=A+P|0;P=P+(M&C^B&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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;B=B+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(A^S))+0x766a0abb|0;C=C+E|0;E=E+(j&P^M&(j^P))+(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&(B^A))+0x81c2c92e|0;M=M+S|0;S=S+(E&j^P&(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+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(C^B))+0x92722c85|0;P=P+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;B=y+B+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0xa2bfe8a1|0;j=j+B|0;B=B+(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)+(M^j&(P^M))+0xa81a664b|0;E=E+C|0;C=C+(B&A^S&(B^A))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<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;M=v+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0xc24b8b70|0;S=S+M|0;M=M+(C&B^A&(C^B))+(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;P=g+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0xc76c51a3|0;A=A+P|0;P=P+(M&C^B&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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;B=B+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<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+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(A^S))+0xd6990624|0;C=C+E|0;E=E+(j&P^M&(j^P))+(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&(B^A))+0xf40e3585|0;M=M+S|0;S=S+(E&j^P&(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+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(C^B))+0x106aa070|0;P=P+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;B=e+B+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x19a4c116|0;j=j+B|0;B=B+(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)+(M^j&(P^M))+0x1e376c08|0;E=E+C|0;C=C+(B&A^S&(B^A))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;r=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+r+g|0;M=r+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x2748774c|0;S=S+M|0;M=M+(C&B^A&(C^B))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;d=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+d+_|0;P=d+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x34b0bcb5|0;A=A+P|0;P=P+(M&C^B&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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;B=B+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<10)|0;h=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+h+k|0;E=h+E+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(A^S))+0x4ed8aa4a|0;C=C+E|0;E=E+(j&P^M&(j^P))+(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&(B^A))+0x5b9cca4f|0;M=M+S|0;S=S+(E&j^P&(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+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(C^B))+0x682e6ff3|0;P=P+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;B=y+B+(P>>>6^P>>>11^P>>>25^P<<26^P<<21^P<<7)+(C^P&(M^C))+0x748f82ee|0;j=j+B|0;B=B+(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)+(M^j&(P^M))+0x78a5636f|0;E=E+C|0;C=C+(B&A^S&(B^A))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<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;M=v+M+(E>>>6^E>>>11^E>>>25^E<<26^E<<21^E<<7)+(P^E&(j^P))+0x84c87814|0;S=S+M|0;M=M+(C&B^A&(C^B))+(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;P=g+P+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(j^S&(E^j))+0x8cc70208|0;A=A+P|0;P=P+(M&C^B&(M^C))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<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;B=B+j|0;j=j+(P&M^C&(P^M))+(P>>>2^P>>>13^P>>>22^P<<30^P<<19^P<<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+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(S^B&(A^S))+0xa4506ceb|0;C=C+E|0;E=E+(j&P^M&(j^P))+(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&(B^A))+0xbef9a3f7|0;M=M+S|0;S=S+(E&j^P&(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+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(C^B))+0xc67178f2|0;P=P+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;o=o+j|0;s=s+P|0;u=u+M|0;c=c+C|0;f=f+B|0}function B(e){e=e|0;C(M[e|0]<<24|M[e|1]<<16|M[e|2]<<8|M[e|3],M[e|4]<<24|M[e|5]<<16|M[e|6]<<8|M[e|7],M[e|8]<<24|M[e|9]<<16|M[e|10]<<8|M[e|11],M[e|12]<<24|M[e|13]<<16|M[e|14]<<8|M[e|15],M[e|16]<<24|M[e|17]<<16|M[e|18]<<8|M[e|19],M[e|20]<<24|M[e|21]<<16|M[e|22]<<8|M[e|23],M[e|24]<<24|M[e|25]<<16|M[e|26]<<8|M[e|27],M[e|28]<<24|M[e|29]<<16|M[e|30]<<8|M[e|31],M[e|32]<<24|M[e|33]<<16|M[e|34]<<8|M[e|35],M[e|36]<<24|M[e|37]<<16|M[e|38]<<8|M[e|39],M[e|40]<<24|M[e|41]<<16|M[e|42]<<8|M[e|43],M[e|44]<<24|M[e|45]<<16|M[e|46]<<8|M[e|47],M[e|48]<<24|M[e|49]<<16|M[e|50]<<8|M[e|51],M[e|52]<<24|M[e|53]<<16|M[e|54]<<8|M[e|55],M[e|56]<<24|M[e|57]<<16|M[e|58]<<8|M[e|59],M[e|60]<<24|M[e|61]<<16|M[e|62]<<8|M[e|63])}function T(e){e=e|0;M[e|0]=n>>>24;M[e|1]=n>>>16&255;M[e|2]=n>>>8&255;M[e|3]=n&255;M[e|4]=a>>>24;M[e|5]=a>>>16&255;M[e|6]=a>>>8&255;M[e|7]=a&255;M[e|8]=i>>>24;M[e|9]=i>>>16&255;M[e|10]=i>>>8&255;M[e|11]=i&255;M[e|12]=o>>>24;M[e|13]=o>>>16&255;M[e|14]=o>>>8&255;M[e|15]=o&255;M[e|16]=s>>>24;M[e|17]=s>>>16&255;M[e|18]=s>>>8&255;M[e|19]=s&255;M[e|20]=u>>>24;M[e|21]=u>>>16&255;M[e|22]=u>>>8&255;M[e|23]=u&255;M[e|24]=c>>>24;M[e|25]=c>>>16&255;M[e|26]=c>>>8&255;M[e|27]=c&255;M[e|28]=f>>>24;M[e|29]=f>>>16&255;M[e|30]=f>>>8&255;M[e|31]=f&255}function R(){n=0x6a09e667;a=0xbb67ae85;i=0x3c6ef372;o=0xa54ff53a;s=0x510e527f;u=0x9b05688c;c=0x1f83d9ab;f=0x5be0cd19;d=l=0}function I(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;o=h;s=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){B(e);e=e+64|0;t=t-64|0;r=r+64|0}d=d+r|0;if(d>>>0>>0)l=l+1|0;return r|0}function O(e,t,r){e=e|0;t=t|0;r=r|0;var n=0,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;M[e|t]=0x80;if((t|0)>=56){for(a=t+1|0;(a|0)<64;a=a+1|0){M[e|a]=0x00}B(e);t=0;M[e|0]=0}for(a=t+1|0;(a|0)<59;a=a+1|0){M[e|a]=0}M[e|56]=l>>>21&255;M[e|57]=l>>>13&255;M[e|58]=l>>>5&255;M[e|59]=l<<3&255|d>>>29;M[e|60]=d>>>21&255;M[e|61]=d>>>13&255;M[e|62]=d>>>5&255;M[e|63]=d<<3&255;B(e);if(~r)T(r);return n|0}function K(){n=h;a=p;i=b;o=y;s=m;u=v;c=g;f=_;d=64;l=0}function z(){n=w;a=k;i=x;o=A;s=S;u=E;c=j;f=P;d=64;l=0}function D(e,t,r,M,B,T,I,U,O,K,z,D,N,F,L,q){e=e|0;t=t|0;r=r|0;M=M|0;B=B|0;T=T|0;I=I|0;U=U|0;O=O|0;K=K|0;z=z|0;D=D|0;N=N|0;F=F|0;L=L|0;q=q|0;R();C(e^0x5c5c5c5c,t^0x5c5c5c5c,r^0x5c5c5c5c,M^0x5c5c5c5c,B^0x5c5c5c5c,T^0x5c5c5c5c,I^0x5c5c5c5c,U^0x5c5c5c5c,O^0x5c5c5c5c,K^0x5c5c5c5c,z^0x5c5c5c5c,D^0x5c5c5c5c,N^0x5c5c5c5c,F^0x5c5c5c5c,L^0x5c5c5c5c,q^0x5c5c5c5c);w=n;k=a;x=i;A=o;S=s;E=u;j=c;P=f;R();C(e^0x36363636,t^0x36363636,r^0x36363636,M^0x36363636,B^0x36363636,T^0x36363636,I^0x36363636,U^0x36363636,O^0x36363636,K^0x36363636,z^0x36363636,D^0x36363636,N^0x36363636,F^0x36363636,L^0x36363636,q^0x36363636);h=n;p=a;b=i;y=o;m=s;v=u;g=c;_=f;d=64;l=0}function N(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=O(e,t,-1)|0;d=n,l=a,h=i,p=o,b=s,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)T(r);return g|0}function F(e,t,r,d,l){e=e|0;t=t|0;r=r|0;d=d|0;l=l|0;var h=0,p=0,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,P=0;if(e&63)return-1;if(~l)if(l&31)return-1;M[e+t|0]=r>>>24;M[e+t+1|0]=r>>>16&255;M[e+t+2|0]=r>>>8&255;M[e+t+3|0]=r&255;N(e,t+4|0,-1)|0;h=w=n,p=k=a,b=x=i,y=A=o,m=S=s,v=E=u,g=j=c,_=P=f;d=d-1|0;while((d|0)>0){K();C(w,k,x,A,S,E,j,P,0x80000000,0,0,0,0,0,0,768);w=n,k=a,x=i,A=o,S=s,E=u,j=c,P=f;z();C(w,k,x,A,S,E,j,P,0x80000000,0,0,0,0,0,0,768);w=n,k=a,x=i,A=o,S=s,E=u,j=c,P=f;h=h^n;p=p^a;b=b^i;y=y^o;m=m^s;v=v^u;g=g^c;_=_^f;d=d-1|0}n=h;a=p;i=b;o=y;s=m;u=v;c=g;f=_;if(~l)T(l);return 0}return{reset:R,init:I,process:U,finish:O,hmac_reset:K,hmac_init:D,hmac_finish:N,pbkdf2_generate_block:F}}},{}],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=s(e("babel-runtime/core-js/object/create")),a=s(e("babel-runtime/core-js/object/set-prototype-of")),i=e("./sha256.asm"),o=e("../hash");function s(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}(o.Hash);r.Sha256=l},{"../hash":10,"./sha256.asm":13,"babel-runtime/core-js/object/create":22,"babel-runtime/core-js/object/set-prototype-of":28}],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 o,s=(o=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}o(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=o,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,o=i=r)throw new Error("Malformed string, low surrogate expected at position "+a);o=(55296^o)<<10|65536|56320^e.charCodeAt(a)}else if(!t&&o>>>8)throw new Error("Wide characters are not allowed.");!t||o<=127?n[i++]=o:o<=2047?(n[i++]=192|o>>6,n[i++]=128|63&o):o<=65535?(n[i++]=224|o>>12,n[i++]=128|o>>6&63,n[i++]=128|63&o):(n[i++]=240|o>>18,n[i++]=128|o>>12&63,n[i++]=128|o>>6&63,n[i++]=128|63&o)}return n.subarray(0,i)}function o(e,t){void 0===t&&(t=!1);for(var r=e.length,n=new Array(r),a=0,i=0;a=192&&o<224&&a+1=224&&o<240&&a+2=240&&o<248&&a+3>10,n[i++]=56320|1023&s)}}var u="";for(a=0;a=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function u(e,t,r,n){for(var a=0,i=Math.min(e.length,r),o=t;o=49?s-49+10:s>=17?s-17+10:s}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)o=e[a]|e[a-1]<<8|e[a-2]<<16,this.words[i]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===r)for(a=0,i=0;a>>26-s&67108863,(s+=24)>=26&&(s-=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=s(e,r,r+6),this.words[n]|=a<>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==t&&(a=s(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,o=i%n,s=Math.min(i,i-o)+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],o=a*i,s=67108863&o,u=o/67108864|0;r.words[0]=s;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+=(o=(a=0|e.words[p])*(i=0|t.words[h])+d)/67108864|0,d=67108863&o}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(e=e||10,t=0|t||1,16===e||"hex"===e){r="";for(var a=0,i=0,o=0;o>>24-a&16777215)||o!==this.length-1?c[6-u.length]+u+r:u+r,(a+=2)>=26&&(a-=26,o--)}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!==o),this.toArrayLike(o,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 o,s,u="le"===t,c=new e(i),f=this.clone();if(u){for(s=0;!f.isZero();s++)o=f.andln(255),f.iushrn(8),c[s]=o;for(;s=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,o=0;o>26,this.words[o]=67108863&t;for(;0!==i&&o>26,this.words[o]=67108863&t;if(0===i&&o>>13,h=0|o[1],p=8191&h,b=h>>>13,y=0|o[2],m=8191&y,v=y>>>13,g=0|o[3],_=8191&g,w=g>>>13,k=0|o[4],x=8191&k,A=k>>>13,S=0|o[5],E=8191&S,j=S>>>13,P=0|o[6],M=8191&P,C=P>>>13,B=0|o[7],T=8191&B,R=B>>>13,I=0|o[8],U=8191&I,O=I>>>13,K=0|o[9],z=8191&K,D=K>>>13,N=0|s[0],F=8191&N,L=N>>>13,q=0|s[1],W=8191&q,G=q>>>13,H=0|s[2],V=8191&H,Z=H>>>13,Y=0|s[3],X=8191&Y,J=Y>>>13,$=0|s[4],Q=8191&$,ee=$>>>13,te=0|s[5],re=8191&te,ne=te>>>13,ae=0|s[6],ie=8191&ae,oe=ae>>>13,se=0|s[7],ue=8191&se,ce=se>>>13,fe=0|s[8],de=8191&fe,le=fe>>>13,he=0|s[9],pe=8191&he,be=he>>>13;r.negative=e.negative^t.negative,r.length=19;var ye=(c+(n=Math.imul(d,F))|0)+((8191&(a=(a=Math.imul(d,L))+Math.imul(l,F)|0))<<13)|0;c=((i=Math.imul(l,L))+(a>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(p,F),a=(a=Math.imul(p,L))+Math.imul(b,F)|0,i=Math.imul(b,L);var me=(c+(n=n+Math.imul(d,W)|0)|0)+((8191&(a=(a=a+Math.imul(d,G)|0)+Math.imul(l,W)|0))<<13)|0;c=((i=i+Math.imul(l,G)|0)+(a>>>13)|0)+(me>>>26)|0,me&=67108863,n=Math.imul(m,F),a=(a=Math.imul(m,L))+Math.imul(v,F)|0,i=Math.imul(v,L),n=n+Math.imul(p,W)|0,a=(a=a+Math.imul(p,G)|0)+Math.imul(b,W)|0,i=i+Math.imul(b,G)|0;var ve=(c+(n=n+Math.imul(d,V)|0)|0)+((8191&(a=(a=a+Math.imul(d,Z)|0)+Math.imul(l,V)|0))<<13)|0;c=((i=i+Math.imul(l,Z)|0)+(a>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(_,F),a=(a=Math.imul(_,L))+Math.imul(w,F)|0,i=Math.imul(w,L),n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,G)|0)+Math.imul(v,W)|0,i=i+Math.imul(v,G)|0,n=n+Math.imul(p,V)|0,a=(a=a+Math.imul(p,Z)|0)+Math.imul(b,V)|0,i=i+Math.imul(b,Z)|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,F),a=(a=Math.imul(x,L))+Math.imul(A,F)|0,i=Math.imul(A,L),n=n+Math.imul(_,W)|0,a=(a=a+Math.imul(_,G)|0)+Math.imul(w,W)|0,i=i+Math.imul(w,G)|0,n=n+Math.imul(m,V)|0,a=(a=a+Math.imul(m,Z)|0)+Math.imul(v,V)|0,i=i+Math.imul(v,Z)|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,F),a=(a=Math.imul(E,L))+Math.imul(j,F)|0,i=Math.imul(j,L),n=n+Math.imul(x,W)|0,a=(a=a+Math.imul(x,G)|0)+Math.imul(A,W)|0,i=i+Math.imul(A,G)|0,n=n+Math.imul(_,V)|0,a=(a=a+Math.imul(_,Z)|0)+Math.imul(w,V)|0,i=i+Math.imul(w,Z)|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(M,F),a=(a=Math.imul(M,L))+Math.imul(C,F)|0,i=Math.imul(C,L),n=n+Math.imul(E,W)|0,a=(a=a+Math.imul(E,G)|0)+Math.imul(j,W)|0,i=i+Math.imul(j,G)|0,n=n+Math.imul(x,V)|0,a=(a=a+Math.imul(x,Z)|0)+Math.imul(A,V)|0,i=i+Math.imul(A,Z)|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,oe)|0)+Math.imul(l,ie)|0))<<13)|0;c=((i=i+Math.imul(l,oe)|0)+(a>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(T,F),a=(a=Math.imul(T,L))+Math.imul(R,F)|0,i=Math.imul(R,L),n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,G)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,G)|0,n=n+Math.imul(E,V)|0,a=(a=a+Math.imul(E,Z)|0)+Math.imul(j,V)|0,i=i+Math.imul(j,Z)|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,oe)|0)+Math.imul(b,ie)|0,i=i+Math.imul(b,oe)|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,F),a=(a=Math.imul(U,L))+Math.imul(O,F)|0,i=Math.imul(O,L),n=n+Math.imul(T,W)|0,a=(a=a+Math.imul(T,G)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(M,V)|0,a=(a=a+Math.imul(M,Z)|0)+Math.imul(C,V)|0,i=i+Math.imul(C,Z)|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,oe)|0)+Math.imul(v,ie)|0,i=i+Math.imul(v,oe)|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,F),a=(a=Math.imul(z,L))+Math.imul(D,F)|0,i=Math.imul(D,L),n=n+Math.imul(U,W)|0,a=(a=a+Math.imul(U,G)|0)+Math.imul(O,W)|0,i=i+Math.imul(O,G)|0,n=n+Math.imul(T,V)|0,a=(a=a+Math.imul(T,Z)|0)+Math.imul(R,V)|0,i=i+Math.imul(R,Z)|0,n=n+Math.imul(M,X)|0,a=(a=a+Math.imul(M,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(_,oe)|0)+Math.imul(w,ie)|0,i=i+Math.imul(w,oe)|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,W),a=(a=Math.imul(z,G))+Math.imul(D,W)|0,i=Math.imul(D,G),n=n+Math.imul(U,V)|0,a=(a=a+Math.imul(U,Z)|0)+Math.imul(O,V)|0,i=i+Math.imul(O,Z)|0,n=n+Math.imul(T,X)|0,a=(a=a+Math.imul(T,J)|0)+Math.imul(R,X)|0,i=i+Math.imul(R,J)|0,n=n+Math.imul(M,Q)|0,a=(a=a+Math.imul(M,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,oe)|0)+Math.imul(A,ie)|0,i=i+Math.imul(A,oe)|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,V),a=(a=Math.imul(z,Z))+Math.imul(D,V)|0,i=Math.imul(D,Z),n=n+Math.imul(U,X)|0,a=(a=a+Math.imul(U,J)|0)+Math.imul(O,X)|0,i=i+Math.imul(O,J)|0,n=n+Math.imul(T,Q)|0,a=(a=a+Math.imul(T,ee)|0)+Math.imul(R,Q)|0,i=i+Math.imul(R,ee)|0,n=n+Math.imul(M,re)|0,a=(a=a+Math.imul(M,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,oe)|0)+Math.imul(j,ie)|0,i=i+Math.imul(j,oe)|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(O,Q)|0,i=i+Math.imul(O,ee)|0,n=n+Math.imul(T,re)|0,a=(a=a+Math.imul(T,ne)|0)+Math.imul(R,re)|0,i=i+Math.imul(R,ne)|0,n=n+Math.imul(M,ie)|0,a=(a=a+Math.imul(M,oe)|0)+Math.imul(C,ie)|0,i=i+Math.imul(C,oe)|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 Pe=(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)+(Pe>>>26)|0,Pe&=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(O,re)|0,i=i+Math.imul(O,ne)|0,n=n+Math.imul(T,ie)|0,a=(a=a+Math.imul(T,oe)|0)+Math.imul(R,ie)|0,i=i+Math.imul(R,oe)|0,n=n+Math.imul(M,ue)|0,a=(a=a+Math.imul(M,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 Me=(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)+(Me>>>26)|0,Me&=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,oe)|0)+Math.imul(O,ie)|0,i=i+Math.imul(O,oe)|0,n=n+Math.imul(T,ue)|0,a=(a=a+Math.imul(T,ce)|0)+Math.imul(R,ue)|0,i=i+Math.imul(R,ce)|0,n=n+Math.imul(M,de)|0,a=(a=a+Math.imul(M,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,oe))+Math.imul(D,ie)|0,i=Math.imul(D,oe),n=n+Math.imul(U,ue)|0,a=(a=a+Math.imul(U,ce)|0)+Math.imul(O,ue)|0,i=i+Math.imul(O,ce)|0,n=n+Math.imul(T,de)|0,a=(a=a+Math.imul(T,le)|0)+Math.imul(R,de)|0,i=i+Math.imul(R,le)|0;var Be=(c+(n=n+Math.imul(M,pe)|0)|0)+((8191&(a=(a=a+Math.imul(M,be)|0)+Math.imul(C,pe)|0))<<13)|0;c=((i=i+Math.imul(C,be)|0)+(a>>>13)|0)+(Be>>>26)|0,Be&=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(O,de)|0,i=i+Math.imul(O,le)|0;var Te=(c+(n=n+Math.imul(T,pe)|0)|0)+((8191&(a=(a=a+Math.imul(T,be)|0)+Math.imul(R,pe)|0))<<13)|0;c=((i=i+Math.imul(R,be)|0)+(a>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(z,de),a=(a=Math.imul(z,le))+Math.imul(D,de)|0,i=Math.imul(D,le);var Re=(c+(n=n+Math.imul(U,pe)|0)|0)+((8191&(a=(a=a+Math.imul(U,be)|0)+Math.imul(O,pe)|0))<<13)|0;c=((i=i+Math.imul(O,be)|0)+(a>>>13)|0)+(Re>>>26)|0,Re&=67108863;var Ie=(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)+(Ie>>>26)|0,Ie&=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]=Pe,u[13]=Me,u[14]=Ce,u[15]=Be,u[16]=Te,u[17]=Re,u[18]=Ie,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,o&=67108863}r.words[i]=s,n=o,o=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 o=0;o>>=1)a++;return 1<>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*t;o>=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 o=0;for(t=0;t>>26-r}o&&(this.words[t]=o,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,o=Math.min((e-i)/26,this.length),s=67108863^67108863>>>i<o)for(this.length-=o,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&s}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===s)return this.strip();for(n(-1===s),s=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,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,u=n.length-a.length;if("mod"!==t){(s=new i(null)).length=u+1,s.words=new Array(s.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/o|0,67108863),n._ishlnsubmul(a,l,d);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(a,1,d),n.isZero()||(n.negative^=1);s&&(s.words[d]=l)}return s&&s.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:s||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?(s=this.neg().divmod(e,t),"mod"!==t&&(a=s.div.neg()),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(e)),{div:a,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):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,o,s},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),o=new i(0),s=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()||o.isOdd())&&(a.iadd(f),o.isub(d)),a.iushrn(1),o.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;)(s.isOdd()||u.isOdd())&&(s.iadd(f),u.isub(d)),s.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),a.isub(s),o.isub(u)):(r.isub(t),s.isub(a),u.isub(o))}return{a:s,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,o=new i(1),s=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;)o.isOdd()&&o.iadd(u),o.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;)s.isOdd()&&s.iadd(u),s.iushrn(1);t.cmp(r)>=0?(t.isub(r),o.isub(s)):(r.isub(t),s.isub(o))}return(a=0===t.cmpn(1)?o:s).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,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=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),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),u=s.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=o;0!==h.cmp(s);){for(var b=h,y=0;0!==b.cmp(s);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!==o?(o<<=1,o|=d,(4===++s||0===n&&0===f)&&(a=this.mul(a,r[o]),s=0,o=0)):s=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),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._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"}],44:[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((s=u[f++])!=s)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":144,"./_to-iobject":146,"./_to-length":147}],76:[function(e,t,r){var n=e("./_ctx"),a=e("./_iobject"),i=e("./_to-object"),o=e("./_to-length"),s=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||s;return function(t,s,p){for(var b,y,m=i(t),v=a(m),g=n(s,p,3),_=o(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":78,"./_ctx":85,"./_iobject":100,"./_to-length":147,"./_to-object":148}],77:[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":102,"./_is-object":103,"./_wks":154}],78:[function(e,t,r){var n=e("./_array-species-constructor");t.exports=function(e,t){return new(n(e))(t)}},{"./_array-species-constructor":77}],79:[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,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),a))?r:i?n(t):"Object"==(o=n(t))&&"function"==typeof t.callee?"Arguments":o}},{"./_cof":80,"./_wks":154}],80:[function(e,t,r){var n={}.toString;t.exports=function(e){return n.call(e).slice(8,-1)}},{}],81:[function(e,t,r){"use strict";var n=e("./_redefine-all"),a=e("./_meta").getWeak,i=e("./_an-object"),o=e("./_is-object"),s=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){s(e,c,t,"_i"),e._t=t,e._i=p++,e._l=void 0,void 0!=n&&u(n,r,e[i],e)});return n(c.prototype,{delete:function(e){if(!o(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(!o(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":73,"./_an-object":74,"./_array-methods":76,"./_for-of":93,"./_has":95,"./_is-object":103,"./_meta":111,"./_redefine-all":132,"./_validate-collection":151}],82:[function(e,t,r){"use strict";var n=e("./_global"),a=e("./_export"),i=e("./_meta"),o=e("./_fails"),s=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&&!o(function(){(new _).entries().next()}))?(_=t(function(t,r){f(t,_,e,"_c"),t._c=new g,void 0!=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)&&s(_.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":73,"./_array-methods":76,"./_descriptors":87,"./_export":91,"./_fails":92,"./_for-of":93,"./_global":94,"./_hide":96,"./_is-object":103,"./_meta":111,"./_object-dp":116,"./_redefine-all":132,"./_set-to-string-tag":138}],83:[function(e,t,r){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},{}],84:[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":116,"./_property-desc":131}],85:[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":71}],86:[function(e,t,r){t.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},{}],87:[function(e,t,r){t.exports=!e("./_fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./_fails":92}],88:[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":94,"./_is-object":103}],89:[function(e,t,r){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],90:[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 o,s=r(e),u=i.f,c=0;s.length>c;)u.call(e,o=s[c++])&&t.push(o);return t}},{"./_object-gops":121,"./_object-keys":124,"./_object-pie":125}],91:[function(e,t,r){var n=e("./_global"),a=e("./_core"),i=e("./_ctx"),o=e("./_hide"),s=function(e,t,r){var u,c,f,d=e&s.F,l=e&s.G,h=e&s.S,p=e&s.P,b=e&s.B,y=e&s.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&s.R&&v&&!v[u]&&o(v,u,f)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},{"./_core":83,"./_ctx":85,"./_global":94,"./_hide":96}],92:[function(e,t,r){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],93:[function(e,t,r){var n=e("./_ctx"),a=e("./_iter-call"),i=e("./_is-array-iter"),o=e("./_an-object"),s=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=s(e.length);h>g;g++)if((y=t?v(o(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":74,"./_ctx":85,"./_is-array-iter":101,"./_iter-call":104,"./_to-length":147,"./core.get-iterator-method":155}],94:[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)},{}],95:[function(e,t,r){var n={}.hasOwnProperty;t.exports=function(e,t){return n.call(e,t)}},{}],96:[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":87,"./_object-dp":116,"./_property-desc":131}],97:[function(e,t,r){var n=e("./_global").document;t.exports=n&&n.documentElement},{"./_global":94}],98:[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":87,"./_dom-create":88,"./_fails":92}],99:[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)}},{}],100:[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":80}],101:[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":109,"./_wks":154}],102:[function(e,t,r){var n=e("./_cof");t.exports=Array.isArray||function(e){return"Array"==n(e)}},{"./_cof":80}],103:[function(e,t,r){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],104:[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(t){var i=e.return;throw void 0!==i&&n(i.call(e)),t}}},{"./_an-object":74}],105:[function(e,t,r){"use strict";var n=e("./_object-create"),a=e("./_property-desc"),i=e("./_set-to-string-tag"),o={};e("./_hide")(o,e("./_wks")("iterator"),function(){return this}),t.exports=function(e,t,r){e.prototype=n(o,{next:a(1,r)}),i(e,t+" Iterator")}},{"./_hide":96,"./_object-create":115,"./_property-desc":131,"./_set-to-string-tag":138,"./_wks":154}],106:[function(e,t,r){"use strict";var n=e("./_library"),a=e("./_export"),i=e("./_redefine"),o=e("./_hide"),s=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],P=!h&&j||k(y),M=y?A?k("entries"):P: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||s(w,l)||o(w,l,p)),A&&j&&"values"!==j.name&&(S=!0,P=function(){return j.call(this)}),n&&!v||!h&&!S&&E[l]||o(E,l,P),u[t]=P,u[x]=p,y)if(g={values:A?P:k("values"),keys:m?P:k("keys"),entries:M},v)for(_ in g)_ in E||i(E,_,g[_]);else a(a.P+a.F*(h||S),t,g);return g}},{"./_export":91,"./_has":95,"./_hide":96,"./_iter-create":105,"./_iterators":109,"./_library":110,"./_object-gpo":122,"./_redefine":133,"./_set-to-string-tag":138,"./_wks":154}],107:[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(e){}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(e){}return r}},{"./_wks":154}],108:[function(e,t,r){t.exports=function(e,t){return{value:t,done:!!e}}},{}],109:[function(e,t,r){t.exports={}},{}],110:[function(e,t,r){t.exports=!0},{}],111:[function(e,t,r){var n=e("./_uid")("meta"),a=e("./_is-object"),i=e("./_has"),o=e("./_object-dp").f,s=0,u=Object.isExtensible||function(){return!0},c=!e("./_fails")(function(){return u(Object.preventExtensions({}))}),f=function(e){o(e,n,{value:{i:"O"+ ++s,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":92,"./_has":95,"./_is-object":103,"./_object-dp":116,"./_uid":150}],112:[function(e,t,r){var n=e("./_global"),a=e("./_task").set,i=n.MutationObserver||n.WebKitMutationObserver,o=n.process,s=n.Promise,u="process"==e("./_cof")(o);t.exports=function(){var e,t,r,c=function(){var n,a;for(u&&(n=o.domain)&&n.exit();e;){a=e.fn,e=e.next;try{a()}catch(n){throw e?r():t=void 0,n}}t=void 0,n&&n.enter()};if(u)r=function(){o.nextTick(c)};else if(!i||n.navigator&&n.navigator.standalone)if(s&&s.resolve){var f=s.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":80,"./_global":94,"./_task":143}],113:[function(e,t,r){"use strict";var n=e("./_a-function");t.exports.f=function(e){return new function(e){var t,r;this.promise=new e(function(e,n){if(void 0!==t||void 0!==r)throw TypeError("Bad Promise constructor");t=e,r=n}),this.resolve=n(t),this.reject=n(r)}(e)}},{"./_a-function":71}],114:[function(e,t,r){"use strict";var n=e("./_object-keys"),a=e("./_object-gops"),i=e("./_object-pie"),o=e("./_to-object"),s=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=o(e),u=arguments.length,c=1,f=a.f,d=i.f;u>c;)for(var l,h=s(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":92,"./_iobject":100,"./_object-gops":121,"./_object-keys":124,"./_object-pie":125,"./_to-object":148}],115:[function(e,t,r){var n=e("./_an-object"),a=e("./_object-dps"),i=e("./_enum-bug-keys"),o=e("./_shared-key")("IE_PROTO"),s=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("