From 6c1902544c2259f37a034c0d82fd30a8905d60b1 Mon Sep 17 00:00:00 2001 From: Richard Moore Date: Tue, 11 Jun 2019 17:57:04 -0400 Subject: [PATCH] Updated dist files. --- CHANGELOG.md | 12 +- packages/abi/_version.d.ts | 2 +- packages/abi/_version.js | 2 +- packages/abi/fragments.d.ts | 7 + packages/abi/fragments.js | 32 +- packages/abi/interface.d.ts | 3 + packages/abi/interface.js | 25 +- packages/abi/package.json | 4 +- packages/abi/src.ts/_version.ts | 2 +- packages/abstract-provider/_version.d.ts | 2 +- packages/abstract-provider/_version.js | 2 +- packages/abstract-provider/index.d.ts | 9 +- packages/abstract-provider/index.js | 42 +- packages/abstract-provider/package.json | 4 +- packages/abstract-provider/src.ts/_version.ts | 2 +- packages/abstract-signer/_version.d.ts | 2 +- packages/abstract-signer/_version.js | 2 +- packages/abstract-signer/index.d.ts | 2 + packages/abstract-signer/index.js | 4 + packages/abstract-signer/package.json | 4 +- packages/abstract-signer/src.ts/_version.ts | 2 +- packages/bignumber/_version.d.ts | 2 +- packages/bignumber/_version.js | 2 +- packages/bignumber/bignumber.d.ts | 2 + packages/bignumber/bignumber.js | 113 +----- packages/bignumber/fixednumber.d.ts | 4 +- packages/bignumber/fixednumber.js | 35 +- packages/bignumber/package.json | 4 +- packages/bignumber/src.ts/_version.ts | 2 +- packages/contracts/_version.d.ts | 2 +- packages/contracts/_version.js | 2 +- packages/contracts/index.js | 12 +- packages/contracts/package.json | 4 +- packages/contracts/src.ts/_version.ts | 2 +- packages/ethers/_version.d.ts | 2 +- packages/ethers/_version.js | 2 +- packages/ethers/dist/ethers.js | 367 +++++++----------- packages/ethers/dist/ethers.min.js | 2 +- packages/ethers/package.json | 4 +- packages/ethers/src.ts/_version.ts | 2 +- packages/ethers/utils.d.ts | 4 +- packages/ethers/utils.js | 1 + packages/json-wallets/_version.d.ts | 2 +- packages/json-wallets/_version.js | 2 +- packages/json-wallets/crowdsale.d.ts | 3 +- packages/json-wallets/crowdsale.js | 5 +- packages/json-wallets/keystore.d.ts | 3 +- packages/json-wallets/keystore.js | 5 +- packages/json-wallets/package.json | 4 +- packages/json-wallets/src.ts/_version.ts | 2 +- packages/properties/_version.d.ts | 2 +- packages/properties/_version.js | 2 +- packages/properties/index.d.ts | 4 +- packages/properties/index.js | 72 +--- packages/properties/package.json | 4 +- packages/properties/src.ts/_version.ts | 2 +- packages/providers/_version.d.ts | 2 +- packages/providers/_version.js | 2 +- packages/providers/base-provider.js | 2 +- packages/providers/package.json | 4 +- packages/providers/src.ts/_version.ts | 2 +- packages/signing-key/_version.d.ts | 2 +- packages/signing-key/_version.js | 2 +- packages/signing-key/index.d.ts | 3 +- packages/signing-key/index.js | 4 + packages/signing-key/package.json | 4 +- packages/signing-key/src.ts/_version.ts | 2 +- packages/wallet/_version.d.ts | 2 +- packages/wallet/_version.js | 2 +- packages/wallet/index.js | 7 +- packages/wallet/package.json | 4 +- packages/wallet/src.ts/_version.ts | 2 +- 72 files changed, 386 insertions(+), 508 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51eae79c92..a9a9892651 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,15 @@ Changelog ========= -This change log is managed by `scripts/cmd/update-versions` but may be manually updated. +This change log is managed by `scripts/cmds/update-versions` but may be manually updated. + +ethers/v5.0.0-beta.139 (2019-06-11 17:55) +----------------------------------------- + + - Removed freeze option from deepCopy; all properties are read-only and only objects may have new properties added. ([1bc792d](https://github.com/ethers-io/ethers.js/commit/1bc792d9dcc6a06a1be4fc5e5b9a538a3f6b7ada)) + - Moved away from isNamedInstance which breaks after Browserify name mangling. ([257d67c](https://github.com/ethers-io/ethers.js/commit/257d67c9625fa237bcfb3d651c49aa3b79175cae)) + - Expose poll function in utils. ([#512](https://github.com/ethers-io/ethers.js/issues/512); [e6f6383](https://github.com/ethers-io/ethers.js/commit/e6f6383346818fa67423f1f20450e011242eb554)) + - Make TransactionResponse hash required. ([#537](https://github.com/ethers-io/ethers.js/issues/537); [095c1fe](https://github.com/ethers-io/ethers.js/commit/095c1fe579068a3204ea0d1bc1893f293f61e719)) ethers/v5.0.0-beta.138 (2019-06-04 16:05) ----------------------------------------- @@ -17,7 +25,7 @@ ethers/v5.0.0-beta.137 (2019-06-01 14:06) - Added changelog management to update-versions. ([4a3f719](https://github.com/ethers-io/ethers.js/commit/4a3f7190dc04275030d313289e1ba6a2b31407ec)) ethers/v5.0.0-beta.136 ---------------------- +---------------------- - Added queryFilter to Contracts. ([#463](https://github.com/ethers-io/ethers.js/issues/463); [eea53bb](https://github.com/ethers-io/ethers.js/commit/eea53bb1be29ad2bd1b229a13c85b12be264b019)) - Allow storage class in Human-Readable ABI. ([#476](https://github.com/ethers-io/ethers.js/issues/476); [cf39adb](https://github.com/ethers-io/ethers.js/commit/cf39adb09020ca0393e028b330bfd07fb4869236)) diff --git a/packages/abi/_version.d.ts b/packages/abi/_version.d.ts index 2ed49eae36..6c299186e2 100644 --- a/packages/abi/_version.d.ts +++ b/packages/abi/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.131"; +export declare const version = "5.0.0-beta.132"; diff --git a/packages/abi/_version.js b/packages/abi/_version.js index d93a9475af..bb92a8df96 100644 --- a/packages/abi/_version.js +++ b/packages/abi/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.131"; +exports.version = "5.0.0-beta.132"; diff --git a/packages/abi/fragments.d.ts b/packages/abi/fragments.d.ts index 72d82340a3..15a7f58f88 100644 --- a/packages/abi/fragments.d.ts +++ b/packages/abi/fragments.d.ts @@ -24,27 +24,32 @@ export declare class ParamType { readonly components: Array; readonly arrayLength: number; readonly arrayChildren: ParamType; + readonly _isParamType: boolean; constructor(constructorGuard: any, params: any); format(expanded?: boolean): string; static from(value: string | JsonFragmentType | ParamType, allowIndexed?: boolean): ParamType; static fromObject(value: JsonFragmentType | ParamType): ParamType; static fromString(value: string, allowIndexed?: boolean): ParamType; + static isParamType(value: any): value is ParamType; } export declare abstract class Fragment { readonly type: string; readonly name: string; readonly inputs: Array; + readonly _isFragment: boolean; constructor(constructorGuard: any, params: any); format(expanded?: boolean): string; static from(value: Fragment | JsonFragment | string): Fragment; static fromObject(value: Fragment | JsonFragment): Fragment; static fromString(value: string): Fragment; + static isFragment(value: any): value is Fragment; } export declare class EventFragment extends Fragment { readonly anonymous: boolean; static from(value: EventFragment | JsonFragment | string): EventFragment; static fromObject(value: JsonFragment | EventFragment): EventFragment; static fromString(value: string): EventFragment; + static isEventFragment(value: any): value is EventFragment; } export declare class ConstructorFragment extends Fragment { stateMutability: string; @@ -53,6 +58,7 @@ export declare class ConstructorFragment extends Fragment { static from(value: ConstructorFragment | JsonFragment | string): ConstructorFragment; static fromObject(value: ConstructorFragment | JsonFragment): ConstructorFragment; static fromString(value: string): ConstructorFragment; + static isConstructorFragment(value: any): value is ConstructorFragment; } export declare class FunctionFragment extends ConstructorFragment { constant: boolean; @@ -60,4 +66,5 @@ export declare class FunctionFragment extends ConstructorFragment { static from(value: FunctionFragment | JsonFragment | string): FunctionFragment; static fromObject(value: FunctionFragment | JsonFragment): FunctionFragment; static fromString(value: string): FunctionFragment; + static isFunctionFragment(value: any): value is FunctionFragment; } diff --git a/packages/abi/fragments.js b/packages/abi/fragments.js index f454e2ed1b..b6cc1a85cf 100644 --- a/packages/abi/fragments.js +++ b/packages/abi/fragments.js @@ -215,6 +215,8 @@ var ParamType = /** @class */ (function () { baseType: ((this.components != null) ? "tuple" : this.type) }); } + this._isParamType = true; + Object.freeze(this); } // Format the parameter fragment // - non-expanded: "(uint256,address)" @@ -254,7 +256,7 @@ var ParamType = /** @class */ (function () { return ParamType.fromObject(value); }; ParamType.fromObject = function (value) { - if (properties_1.isNamedInstance(ParamType, value)) { + if (ParamType.isParamType(value)) { return value; } return new ParamType(_constructorGuard, { @@ -275,6 +277,9 @@ var ParamType = /** @class */ (function () { } return ParamTypify(parseParamType(value, !!allowIndexed)); }; + ParamType.isParamType = function (value) { + return !!(value != null && value._isParamType); + }; return ParamType; }()); exports.ParamType = ParamType; @@ -288,6 +293,8 @@ var Fragment = /** @class */ (function () { throw new Error("use a static from method"); } populate(this, params); + this._isFragment = true; + Object.freeze(this); } // @TOOD: move logic to sub-classes; make this abstract Fragment.prototype.format = function (expanded) { @@ -318,13 +325,16 @@ var Fragment = /** @class */ (function () { return result.trim(); }; Fragment.from = function (value) { + if (Fragment.isFragment(value)) { + return value; + } if (typeof (value) === "string") { return Fragment.fromString(value); } return Fragment.fromObject(value); }; Fragment.fromObject = function (value) { - if (properties_1.isNamedInstance(Fragment, value)) { + if (Fragment.isFragment(value)) { return value; } if (value.type === "function") { @@ -361,6 +371,9 @@ var Fragment = /** @class */ (function () { } throw new Error("unknown fragment"); }; + Fragment.isFragment = function (value) { + return !!(value && value._isFragment); + }; return Fragment; }()); exports.Fragment = Fragment; @@ -376,7 +389,7 @@ var EventFragment = /** @class */ (function (_super) { return EventFragment.fromObject(value); }; EventFragment.fromObject = function (value) { - if (properties_1.isNamedInstance(EventFragment, value)) { + if (EventFragment.isEventFragment(value)) { return value; } if (value.type !== "event") { @@ -413,6 +426,9 @@ var EventFragment = /** @class */ (function (_super) { type: "event" }); }; + EventFragment.isEventFragment = function (value) { + return (value && value._isFragment && value.type === "event"); + }; return EventFragment; }(Fragment)); exports.EventFragment = EventFragment; @@ -474,7 +490,7 @@ var ConstructorFragment = /** @class */ (function (_super) { return ConstructorFragment.fromObject(value); }; ConstructorFragment.fromObject = function (value) { - if (properties_1.isNamedInstance(ConstructorFragment, value)) { + if (ConstructorFragment.isConstructorFragment(value)) { return value; } if (value.type !== "constructor") { @@ -501,6 +517,9 @@ var ConstructorFragment = /** @class */ (function (_super) { parseModifiers(parens[3].trim(), params); return ConstructorFragment.fromObject(params); }; + ConstructorFragment.isConstructorFragment = function (value) { + return (value && value._isFragment && value.type === "constructor"); + }; return ConstructorFragment; }(Fragment)); exports.ConstructorFragment = ConstructorFragment; @@ -516,7 +535,7 @@ var FunctionFragment = /** @class */ (function (_super) { return FunctionFragment.fromObject(value); }; FunctionFragment.fromObject = function (value) { - if (properties_1.isNamedInstance(FunctionFragment, value)) { + if (FunctionFragment.isFunctionFragment(value)) { return value; } if (value.type !== "function") { @@ -563,6 +582,9 @@ var FunctionFragment = /** @class */ (function (_super) { } return FunctionFragment.fromObject(params); }; + FunctionFragment.isFunctionFragment = function (value) { + return (value && value._isFragment && value.type === "function"); + }; return FunctionFragment; }(ConstructorFragment)); exports.FunctionFragment = FunctionFragment; diff --git a/packages/abi/interface.d.ts b/packages/abi/interface.d.ts index 61e27b198a..2c41d2cd63 100644 --- a/packages/abi/interface.d.ts +++ b/packages/abi/interface.d.ts @@ -20,6 +20,7 @@ export declare class TransactionDescription extends Description { } export declare class Indexed extends Description { readonly hash: string; + static isIndexed(value: any): value is Indexed; } export declare class Result { [key: string]: any; @@ -41,6 +42,7 @@ export declare class Interface { }; readonly deploy: ConstructorFragment; readonly _abiCoder: AbiCoder; + static _isInterface: boolean; constructor(fragments: string | Array); static getAbiCoder(): AbiCoder; static getAddress(address: string): string; @@ -64,4 +66,5 @@ export declare class Interface { topics: Array; data: string; }): LogDescription; + static isInterface(value: any): value is Interface; } diff --git a/packages/abi/interface.js b/packages/abi/interface.js index 9e1b2adc51..e99b29fff5 100644 --- a/packages/abi/interface.js +++ b/packages/abi/interface.js @@ -50,6 +50,9 @@ var Indexed = /** @class */ (function (_super) { function Indexed() { return _super !== null && _super.apply(this, arguments) || this; } + Indexed.isIndexed = function (value) { + return !!(value && value._isIndexed); + }; return Indexed; }(properties_1.Description)); exports.Indexed = Indexed; @@ -72,9 +75,6 @@ var Interface = /** @class */ (function () { abi = fragments; } properties_1.defineReadOnly(this, "fragments", abi.map(function (fragment) { - if (properties_1.isNamedInstance(fragments_1.Fragment, fragment)) { - return fragment; - } return fragments_1.Fragment.from(fragment); }).filter(function (fragment) { return (fragment != null); })); properties_1.defineReadOnly(this, "_abiCoder", _newTarget.getAbiCoder()); @@ -125,6 +125,7 @@ var Interface = /** @class */ (function () { if (!this.deploy) { properties_1.defineReadOnly(this, "deploy", fragments_1.ConstructorFragment.from({ type: "constructor" })); } + properties_1.defineReadOnly(this, "_isInterface", true); } Interface.getAbiCoder = function () { return abi_coder_1.defaultAbiCoder; @@ -300,10 +301,10 @@ var Interface = /** @class */ (function () { eventFragment.inputs.forEach(function (param, index) { if (param.indexed) { if (resultIndexed == null) { - result[index] = new Indexed({ hash: null }); + result[index] = new Indexed({ _isIndexed: true, hash: null }); } else if (dynamic[index]) { - result[index] = new Indexed({ hash: resultIndexed[indexedIndex++] }); + result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] }); } else { result[index] = resultIndexed[indexedIndex++]; @@ -344,6 +345,20 @@ var Interface = /** @class */ (function () { values: this.decodeEventLog(fragment, log.data, log.topics) }); }; + /* + static from(value: Array | string | Interface) { + if (Interface.isInterface(value)) { + return value; + } + if (typeof(value) === "string") { + return new Interface(JSON.parse(value)); + } + return new Interface(value); + } + */ + Interface.isInterface = function (value) { + return !!(value && value._isInterface); + }; return Interface; }()); exports.Interface = Interface; diff --git a/packages/abi/package.json b/packages/abi/package.json index 92b1ce1dff..6ba7738023 100644 --- a/packages/abi/package.json +++ b/packages/abi/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/abi", - "version": "5.0.0-beta.131", + "version": "5.0.0-beta.132", "description": "Error utility functions for ethers.", "main": "index.js", "scripts": { @@ -26,5 +26,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0x01c9130b48add5e7f90719d23992716773073976b4f9c183858ecf3362ada3ec" + "tarballHash": "0x74367d2ba9f1a43ad8f0f5e0c5f815afd8d655ebae1ed710cd9e5d331557c78a" } diff --git a/packages/abi/src.ts/_version.ts b/packages/abi/src.ts/_version.ts index 6390b9811d..118b86d689 100644 --- a/packages/abi/src.ts/_version.ts +++ b/packages/abi/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.131"; +export const version = "5.0.0-beta.132"; diff --git a/packages/abstract-provider/_version.d.ts b/packages/abstract-provider/_version.d.ts index 97a33b45a0..873c9f4f98 100644 --- a/packages/abstract-provider/_version.d.ts +++ b/packages/abstract-provider/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.126"; +export declare const version = "5.0.0-beta.127"; diff --git a/packages/abstract-provider/_version.js b/packages/abstract-provider/_version.js index 8d94503aa2..d9540c0e40 100644 --- a/packages/abstract-provider/_version.js +++ b/packages/abstract-provider/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.126"; +exports.version = "5.0.0-beta.127"; diff --git a/packages/abstract-provider/index.d.ts b/packages/abstract-provider/index.d.ts index b01c6d5c1f..aae2ba804e 100644 --- a/packages/abstract-provider/index.d.ts +++ b/packages/abstract-provider/index.d.ts @@ -1,6 +1,7 @@ import { BigNumber, BigNumberish } from "@ethersproject/bignumber"; import { BytesLike } from "@ethersproject/bytes"; import { Network } from "@ethersproject/networks"; +import { Description } from "@ethersproject/properties"; import { Transaction } from "@ethersproject/transactions"; import { OnceBlockable } from "@ethersproject/web"; export declare type TransactionRequest = { @@ -14,6 +15,7 @@ export declare type TransactionRequest = { chainId?: number | Promise; }; export interface TransactionResponse extends Transaction { + hash: string; blockNumber?: number; blockHash?: string; timestamp?: number; @@ -81,9 +83,10 @@ export interface Filter extends EventFilter { export interface FilterByBlockHash extends EventFilter { blockhash?: string; } -export declare class ForkEvent { +export declare abstract class ForkEvent extends Description { readonly expiry: number; - constructor(expiry?: number); + readonly _isForkEvent: boolean; + static isForkEvent(value: any): value is ForkEvent; } export declare class BlockForkEvent extends ForkEvent { readonly blockhash: string; @@ -128,6 +131,8 @@ export declare abstract class Provider implements OnceBlockable { addListener(eventName: EventType, listener: Listener): Provider; removeListener(eventName: EventType, listener: Listener): Provider; abstract waitForTransaction(transactionHash: string, timeout?: number): Promise; + readonly _isProvider: boolean; constructor(); + static isProvider(value: any): value is Provider; } export {}; diff --git a/packages/abstract-provider/index.js b/packages/abstract-provider/index.js index 853a95b336..87e17a7c69 100644 --- a/packages/abstract-provider/index.js +++ b/packages/abstract-provider/index.js @@ -29,12 +29,16 @@ var properties_1 = require("@ethersproject/properties"); //export type CallTransactionable = { // call(transaction: TransactionRequest): Promise; //}; -var ForkEvent = /** @class */ (function () { - function ForkEvent(expiry) { - properties_1.defineReadOnly(this, "expiry", expiry || 0); +var ForkEvent = /** @class */ (function (_super) { + __extends(ForkEvent, _super); + function ForkEvent() { + return _super !== null && _super.apply(this, arguments) || this; } + ForkEvent.isForkEvent = function (value) { + return !!(value && value._isForkEvent); + }; return ForkEvent; -}()); +}(properties_1.Description)); exports.ForkEvent = ForkEvent; var BlockForkEvent = /** @class */ (function (_super) { __extends(BlockForkEvent, _super); @@ -43,8 +47,12 @@ var BlockForkEvent = /** @class */ (function (_super) { if (!bytes_1.isHexString(blockhash, 32)) { errors.throwArgumentError("invalid blockhash", "blockhash", blockhash); } - _this = _super.call(this, expiry) || this; - properties_1.defineReadOnly(_this, "blockhash", blockhash); + _this = _super.call(this, { + _isForkEvent: true, + _isBlockForkEvent: true, + expiry: (expiry || 0), + blockHash: blockhash + }) || this; return _this; } return BlockForkEvent; @@ -57,8 +65,12 @@ var TransactionForkEvent = /** @class */ (function (_super) { if (!bytes_1.isHexString(hash, 32)) { errors.throwArgumentError("invalid transaction hash", "hash", hash); } - _this = _super.call(this, expiry) || this; - properties_1.defineReadOnly(_this, "hash", hash); + _this = _super.call(this, { + _isForkEvent: true, + _isTransactionForkEvent: true, + expiry: (expiry || 0), + hash: hash + }) || this; return _this; } return TransactionForkEvent; @@ -74,9 +86,13 @@ var TransactionOrderForkEvent = /** @class */ (function (_super) { if (!bytes_1.isHexString(afterHash, 32)) { errors.throwArgumentError("invalid transaction hash", "afterHash", afterHash); } - _this = _super.call(this, expiry) || this; - properties_1.defineReadOnly(_this, "beforeHash", beforeHash); - properties_1.defineReadOnly(_this, "afterHash", afterHash); + _this = _super.call(this, { + _isForkEvent: true, + _isTransactionOrderForkEvent: true, + expiry: (expiry || 0), + beforeHash: beforeHash, + afterHash: afterHash + }) || this; return _this; } return TransactionOrderForkEvent; @@ -88,6 +104,7 @@ var Provider = /** @class */ (function () { function Provider() { var _newTarget = this.constructor; errors_1.checkAbstract(_newTarget, Provider); + properties_1.defineReadOnly(this, "_isProvider", true); } // Alias for "on" Provider.prototype.addListener = function (eventName, listener) { @@ -97,6 +114,9 @@ var Provider = /** @class */ (function () { Provider.prototype.removeListener = function (eventName, listener) { return this.off(eventName, listener); }; + Provider.isProvider = function (value) { + return !!(value && value._isProvider); + }; return Provider; }()); exports.Provider = Provider; diff --git a/packages/abstract-provider/package.json b/packages/abstract-provider/package.json index 81a7f51b32..0d9a2cc981 100644 --- a/packages/abstract-provider/package.json +++ b/packages/abstract-provider/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/abstract-provider", - "version": "5.0.0-beta.126", + "version": "5.0.0-beta.127", "description": "Error utility functions for ethers.", "main": "index.js", "browser": { @@ -28,5 +28,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0x4424dfecaacd3e4d135d01136d92bcee22bb7a5d0ce5d2c5272bd02422135db7" + "tarballHash": "0x600f6a57977cc87491325f019f663b18a783108c35ac4285250445afbc63eace" } diff --git a/packages/abstract-provider/src.ts/_version.ts b/packages/abstract-provider/src.ts/_version.ts index 10730de6ca..6508cc3a68 100644 --- a/packages/abstract-provider/src.ts/_version.ts +++ b/packages/abstract-provider/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.126"; +export const version = "5.0.0-beta.127"; diff --git a/packages/abstract-signer/_version.d.ts b/packages/abstract-signer/_version.d.ts index 97a33b45a0..873c9f4f98 100644 --- a/packages/abstract-signer/_version.d.ts +++ b/packages/abstract-signer/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.126"; +export declare const version = "5.0.0-beta.127"; diff --git a/packages/abstract-signer/_version.js b/packages/abstract-signer/_version.js index 8d94503aa2..d9540c0e40 100644 --- a/packages/abstract-signer/_version.js +++ b/packages/abstract-signer/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.126"; +exports.version = "5.0.0-beta.127"; diff --git a/packages/abstract-signer/index.d.ts b/packages/abstract-signer/index.d.ts index 895022876f..6d4da3af6e 100644 --- a/packages/abstract-signer/index.d.ts +++ b/packages/abstract-signer/index.d.ts @@ -13,6 +13,7 @@ export declare abstract class Signer { abstract signMessage(message: Bytes | string): Promise; abstract signTransaction(transaction: TransactionRequest): Promise; abstract connect(provider: Provider): Signer; + readonly _isSigner: boolean; constructor(); getBalance(blockTag?: BlockTag): Promise; getTransactionCount(blockTag?: BlockTag): Promise; @@ -25,6 +26,7 @@ export declare abstract class Signer { checkTransaction(transaction: TransactionRequest): TransactionRequest; populateTransaction(transaction: TransactionRequest): Promise; _checkProvider(operation?: string): void; + static isSigner(value: any): value is Signer; } export declare class VoidSigner extends Signer { readonly address: string; diff --git a/packages/abstract-signer/index.js b/packages/abstract-signer/index.js index ccdae300eb..09b3e87c6e 100644 --- a/packages/abstract-signer/index.js +++ b/packages/abstract-signer/index.js @@ -37,6 +37,7 @@ var Signer = /** @class */ (function () { function Signer() { var _newTarget = this.constructor; errors.checkAbstract(_newTarget, Signer); + properties_1.defineReadOnly(this, "_isSigner", true); } /////////////////// // Sub-classes MAY override these @@ -156,6 +157,9 @@ var Signer = /** @class */ (function () { }); } }; + Signer.isSigner = function (value) { + return !!(value && value._isSigner); + }; return Signer; }()); exports.Signer = Signer; diff --git a/packages/abstract-signer/package.json b/packages/abstract-signer/package.json index c036fd2603..ccb088984d 100644 --- a/packages/abstract-signer/package.json +++ b/packages/abstract-signer/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/abstract-signer", - "version": "5.0.0-beta.126", + "version": "5.0.0-beta.127", "description": "Error utility functions for ethers.", "main": "index.js", "scripts": { @@ -22,5 +22,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0x3bc5ce92bedb99f4c15e3c399e4367eaa001bb72bf25a82f52e09c74f09f492f" + "tarballHash": "0xd9b7bb0ec627b00472f857c47fae281eff630aa11696650a6b311693e8d4e965" } diff --git a/packages/abstract-signer/src.ts/_version.ts b/packages/abstract-signer/src.ts/_version.ts index 10730de6ca..6508cc3a68 100644 --- a/packages/abstract-signer/src.ts/_version.ts +++ b/packages/abstract-signer/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.126"; +export const version = "5.0.0-beta.127"; diff --git a/packages/bignumber/_version.d.ts b/packages/bignumber/_version.d.ts index 97a33b45a0..873c9f4f98 100644 --- a/packages/bignumber/_version.d.ts +++ b/packages/bignumber/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.126"; +export declare const version = "5.0.0-beta.127"; diff --git a/packages/bignumber/_version.js b/packages/bignumber/_version.js index 8d94503aa2..d9540c0e40 100644 --- a/packages/bignumber/_version.js +++ b/packages/bignumber/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.126"; +exports.version = "5.0.0-beta.127"; diff --git a/packages/bignumber/bignumber.d.ts b/packages/bignumber/bignumber.d.ts index 7241c317c6..a1806c4149 100644 --- a/packages/bignumber/bignumber.d.ts +++ b/packages/bignumber/bignumber.d.ts @@ -1,7 +1,9 @@ import { Bytes, Hexable } from "@ethersproject/bytes"; export declare type BigNumberish = BigNumber | Bytes | string | number; +export declare function isBigNumberish(value: any): value is BigNumberish; export declare class BigNumber implements Hexable { readonly _hex: string; + readonly _isBigNumber: boolean; constructor(constructorGuard: any, hex: string); fromTwos(value: number): BigNumber; toTwos(value: number): BigNumber; diff --git a/packages/bignumber/bignumber.js b/packages/bignumber/bignumber.js index 5d0ff6e09e..240ee5b207 100644 --- a/packages/bignumber/bignumber.js +++ b/packages/bignumber/bignumber.js @@ -16,19 +16,18 @@ Object.defineProperty(exports, "__esModule", { value: true }); */ var BN = __importStar(require("bn.js")); var bytes_1 = require("@ethersproject/bytes"); -var properties_1 = require("@ethersproject/properties"); var errors = __importStar(require("@ethersproject/errors")); var _constructorGuard = {}; var MAX_SAFE = 0x1fffffffffffff; -/* -export function isBigNumberLike(value: any): value is BigNumberish { - return (BigNumber.isBigNumber(value) || - (!!((value).toHexString)) || - isBytes(value) || - value.match(/^-?([0-9]+|0x[0-9a-f]+)$/i) || - typeof(value) === "number"); +function isBigNumberish(value) { + return (value != null) && (BigNumber.isBigNumber(value) || + (typeof (value) === "number" && (value % 1) === 0) || + (typeof (value) === "string" && !!value.match(/^-?[0-9]+$/)) || + bytes_1.isHexString(value) || + (typeof (value) === "bigint") || + bytes_1.isBytes(value)); } -*/ +exports.isBigNumberish = isBigNumberish; var BigNumber = /** @class */ (function () { function BigNumber(constructorGuard, hex) { var _newTarget = this.constructor; @@ -38,7 +37,9 @@ var BigNumber = /** @class */ (function () { operation: "new (BigNumber)" }); } - properties_1.defineReadOnly(this, "_hex", hex); + this._hex = hex; + this._isBigNumber = true; + Object.freeze(this); } BigNumber.prototype.fromTwos = function (value) { return toBigNumber(toBN(this).fromTwos(value)); @@ -154,101 +155,11 @@ var BigNumber = /** @class */ (function () { return errors.throwArgumentError("invalid BigNumber value", "value", value); }; BigNumber.isBigNumber = function (value) { - return properties_1.isNamedInstance(this, value); + return !!(value && value._isBigNumber); }; return BigNumber; }()); exports.BigNumber = BigNumber; -/* -export function bigNumberify(value: BigNumberish): BigNumber { - if (BigNumber.isBigNumber(value)) { return value; } - return new BigNumber(value); -} -*/ -/* -function zeros(length) { - let result = ""; - while (result.length < length) { tens += "0"; } - return result; -} -export class FixedNumber { - readonly value: BigNumber; - readonly decimalPlaces: number; - - constructor(value: BigNumberish, decimalPlaces: number) { - defineReadOnly(this, "value", bigNumberify(value)); - defineReadOnly(this, "decimalPlaces", decimalPlaces); - } - - toString(): string { - return formatUnits(this.value, this.decimalPlaces); - } - - static fromString(value: string): FixedNumber { - let comps = value.split("."); - let decimalPlaces = 0; - if (comps.length === 2) { decimalPlaces = comps[1].length; } - return new FixedNumber(parseUnits(value, decimalPlaces), decimalPlaces); - } -*/ -/* - - readonly negative: boolean; - readonly whole: BigNumber; - readonly fraction: BigNumber; - constructor(whole: BigNumberish, fraction: BigNumberish, negative?: boolean) { - if (whole.lt(constants.Zero)) { - errors.throwError("whole component must be positive", errors.INVALID_ARGUMENT, { - argument: whole, - value: whole - }); - } - defineReadOnly(this, "whole", bigNumberify(whole)); - defineReadOnly(this, "fraction", bigNumberify(fraction)); - defineReadOnly(this, "negative", !!boolean); - } -*/ -/* - toHexString(bitWidth?: number, decimalPlaces?: number, signed?: boolean): string { - if (bitWidth == null) { bitWidth = 128; } - if (decimalPlaces == null) { decimalPlaces = 18; } - if (signed == null) { signed = true; } - return null; - } - static fromValue(value: BigNumberish, decimalPlaces: number): FixedNumber { - let negative = false; - if (value.lt(constants.Zero)) { - negative = true; - value = value.abs(); - } - let tens = bigNumberify("1" + zeros(decimalPlaces)); - return new FixedNumber(value.divide(tens), value.mod(tens), negative); - } - let negative = false; - if (value.substring(0, 1) === "-") { - negative = true; - value = value.substring(1); - } - - if (value !== "." && value !== "") { - let comps = value.split("."); - if (comps.length === 1) { - return new FixedNumber(comps[0], 0, negative); - } else if (comps.length === 2) { - if (comps[0] === "") { comps[0] = "0"; } - if (comps[1] === "") { comps[1] = "0"; } - return new FixedNumber(comps[0], comps[1], negative); - } - } - - errors.throwError("invalid fixed-point value", errors.INVALID_ARGUMENT, { - argument: "value", - value: value - }); - - return null; -*/ -//} // Normalize the hex string function toHex(value) { // For BN, call on the hex string diff --git a/packages/bignumber/fixednumber.d.ts b/packages/bignumber/fixednumber.d.ts index 0cb1da1e06..aac299914d 100644 --- a/packages/bignumber/fixednumber.d.ts +++ b/packages/bignumber/fixednumber.d.ts @@ -7,15 +7,15 @@ export declare class FixedFormat { readonly width: number; readonly decimals: number; readonly name: string; - readonly _multiplier: BigNumber; + readonly _multiplier: string; constructor(constructorGuard: any, signed: boolean, width: number, decimals: number); static from(value: any): FixedFormat; - static isInstance(value: any): value is FixedFormat; } export declare class FixedNumber { readonly format: FixedFormat; readonly _hex: string; readonly _value: string; + readonly _isFixedNumber: boolean; constructor(constructorGuard: any, hex: string, value: string, format?: FixedFormat); _checkFormat(other: FixedNumber): void; addUnsafe(other: FixedNumber): FixedNumber; diff --git a/packages/bignumber/fixednumber.js b/packages/bignumber/fixednumber.js index c5311ee65c..8bde5da8cd 100644 --- a/packages/bignumber/fixednumber.js +++ b/packages/bignumber/fixednumber.js @@ -9,7 +9,6 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); var bytes_1 = require("@ethersproject/bytes"); var errors = __importStar(require("@ethersproject/errors")); -var properties_1 = require("@ethersproject/properties"); var bignumber_1 = require("./bignumber"); var _constructorGuard = {}; var Zero = bignumber_1.BigNumber.from(0); @@ -114,12 +113,12 @@ function parseFixed(value, decimals) { exports.parseFixed = parseFixed; var FixedFormat = /** @class */ (function () { function FixedFormat(constructorGuard, signed, width, decimals) { - properties_1.defineReadOnly(this, "signed", signed); - properties_1.defineReadOnly(this, "width", width); - properties_1.defineReadOnly(this, "decimals", decimals); - var name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals); - properties_1.defineReadOnly(this, "name", name); - properties_1.defineReadOnly(this, "_multiplier", getMultiplier(decimals)); + this.signed = signed; + this.width = width; + this.decimals = decimals; + this.name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals); + this._multiplier = getMultiplier(decimals); + Object.freeze(this); } FixedFormat.from = function (value) { if (value instanceof FixedFormat) { @@ -167,9 +166,6 @@ var FixedFormat = /** @class */ (function () { } return new FixedFormat(_constructorGuard, signed, width, decimals); }; - FixedFormat.isInstance = function (value) { - return properties_1.isNamedInstance(this, value); - }; return FixedFormat; }()); exports.FixedFormat = FixedFormat; @@ -177,9 +173,11 @@ var FixedNumber = /** @class */ (function () { function FixedNumber(constructorGuard, hex, value, format) { var _newTarget = this.constructor; errors.checkNew(_newTarget, FixedNumber); - properties_1.defineReadOnly(this, 'format', format); - properties_1.defineReadOnly(this, '_hex', hex); - properties_1.defineReadOnly(this, '_value', value); + this.format = format; + this._hex = hex; + this._value = value; + this._isFixedNumber = true; + Object.freeze(this); } FixedNumber.prototype._checkFormat = function (other) { if (this.format.name !== other.format.name) { @@ -246,7 +244,7 @@ var FixedNumber = /** @class */ (function () { }; FixedNumber.fromValue = function (value, decimals, format) { // If decimals looks more like a format, and there is no format, shift the parameters - if (format == null && decimals != null && (FixedFormat.isInstance(decimals) || typeof (decimals) === "string")) { + if (format == null && decimals != null && !bignumber_1.isBigNumberish(decimals)) { format = decimals; decimals = null; } @@ -256,14 +254,13 @@ var FixedNumber = /** @class */ (function () { if (format == null) { format = "fixed"; } - var fixedFormat = (FixedFormat.isInstance(format) ? format : FixedFormat.from(format)); - return FixedNumber.fromString(formatFixed(value, decimals), fixedFormat); + return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format)); }; FixedNumber.fromString = function (value, format) { if (format == null) { format = "fixed"; } - var fixedFormat = (FixedFormat.isInstance(format) ? format : FixedFormat.from(format)); + var fixedFormat = FixedFormat.from(format); var numeric = parseFixed(value, fixedFormat.decimals); if (!fixedFormat.signed && numeric.lt(Zero)) { throwFault("unsigned value cannot be negative", "overflow", "value", value); @@ -283,7 +280,7 @@ var FixedNumber = /** @class */ (function () { if (format == null) { format = "fixed"; } - var fixedFormat = (FixedFormat.isInstance(format) ? format : FixedFormat.from(format)); + var fixedFormat = FixedFormat.from(format); if (bytes_1.arrayify(value).length > fixedFormat.width / 8) { throw new Error("overflow"); } @@ -314,7 +311,7 @@ var FixedNumber = /** @class */ (function () { return errors.throwArgumentError("invalid FixedNumber value", "value", value); }; FixedNumber.isFixedNumber = function (value) { - return properties_1.isNamedInstance(this, value); + return !!(value && value._isFixedNumber); }; return FixedNumber; }()); diff --git a/packages/bignumber/package.json b/packages/bignumber/package.json index 9de8fa8d9b..58509f8472 100644 --- a/packages/bignumber/package.json +++ b/packages/bignumber/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/bignumber", - "version": "5.0.0-beta.126", + "version": "5.0.0-beta.127", "description": "BigNumber library used in ethers.js.", "main": "index.js", "scripts": { @@ -22,5 +22,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0xbb5426f664ba919d5668ddde9f13255ef77278a2e556f4d64f9be1089f5947c0" + "tarballHash": "0x14d337214e2bbf81c9fcb5ac33573db3e26649e457324e63ec016acae5b681e6" } diff --git a/packages/bignumber/src.ts/_version.ts b/packages/bignumber/src.ts/_version.ts index 10730de6ca..6508cc3a68 100644 --- a/packages/bignumber/src.ts/_version.ts +++ b/packages/bignumber/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.126"; +export const version = "5.0.0-beta.127"; diff --git a/packages/contracts/_version.d.ts b/packages/contracts/_version.d.ts index b8383fdd9c..f905cf63b9 100644 --- a/packages/contracts/_version.d.ts +++ b/packages/contracts/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.129"; +export declare const version = "5.0.0-beta.130"; diff --git a/packages/contracts/_version.js b/packages/contracts/_version.js index 10f521c7f8..f4261a1a21 100644 --- a/packages/contracts/_version.js +++ b/packages/contracts/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.129"; +exports.version = "5.0.0-beta.130"; diff --git a/packages/contracts/index.js b/packages/contracts/index.js index 99c4bd5c87..d84c4833cb 100644 --- a/packages/contracts/index.js +++ b/packages/contracts/index.js @@ -305,11 +305,11 @@ var Contract = /** @class */ (function () { // @TODO: Maybe still check the addressOrName looks like a valid address or name? //address = getAddress(address); properties_1.defineReadOnly(this, "interface", _newTarget.getInterface(contractInterface)); - if (properties_1.isNamedInstance(abstract_signer_1.Signer, signerOrProvider)) { - properties_1.defineReadOnly(this, "provider", signerOrProvider.provider); + if (abstract_signer_1.Signer.isSigner(signerOrProvider)) { + properties_1.defineReadOnly(this, "provider", signerOrProvider.provider || null); properties_1.defineReadOnly(this, "signer", signerOrProvider); } - else if (properties_1.isNamedInstance(abstract_provider_1.Provider, signerOrProvider)) { + else if (abstract_provider_1.Provider.isProvider(signerOrProvider)) { properties_1.defineReadOnly(this, "provider", signerOrProvider); properties_1.defineReadOnly(this, "signer", null); } @@ -380,7 +380,7 @@ var Contract = /** @class */ (function () { return address_1.getContractAddress(transaction); }; Contract.getInterface = function (contractInterface) { - if (properties_1.isNamedInstance(abi_1.Interface, contractInterface)) { + if (abi_1.Interface.isInterface(contractInterface)) { return contractInterface; } return new abi_1.Interface(contractInterface); @@ -452,7 +452,7 @@ var Contract = /** @class */ (function () { return new (this.constructor)(addressOrName, this.interface, this.signer || this.provider); }; Contract.isIndexed = function (value) { - return properties_1.isNamedInstance(abi_1.Indexed, value); + return abi_1.Indexed.isIndexed(value); }; Contract.prototype._normalizeRunningEvent = function (runningEvent) { // Already have an instance of this event running; we can re-use it @@ -671,7 +671,7 @@ var ContractFactory = /** @class */ (function () { errors.throwArgumentError("invalid bytecode", "bytecode", bytecode); } // If we have a signer, make sure it is valid - if (signer && !properties_1.isNamedInstance(abstract_signer_1.Signer, signer)) { + if (signer && !abstract_signer_1.Signer.isSigner(signer)) { errors.throwArgumentError("invalid signer", "signer", signer); } properties_1.defineReadOnly(this, "bytecode", bytecodeHex); diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 67ed8f1a75..56abbfe50b 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/contracts", - "version": "5.0.0-beta.129", + "version": "5.0.0-beta.130", "description": "Error utility functions for ethers.", "main": "index.js", "scripts": { @@ -27,5 +27,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0xfaeb83e9f09a5df78ce1c180a51b9f1f68b1755aa5c6e69def4aae8dcc21cba7" + "tarballHash": "0x5939868ba342104ef0c61f44d620d31dd68666d54dbe4388ad44365ad13a9362" } diff --git a/packages/contracts/src.ts/_version.ts b/packages/contracts/src.ts/_version.ts index cc0f13f68f..38817cc3aa 100644 --- a/packages/contracts/src.ts/_version.ts +++ b/packages/contracts/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.129"; +export const version = "5.0.0-beta.130"; diff --git a/packages/ethers/_version.d.ts b/packages/ethers/_version.d.ts index 8b3c5b3680..20ce8297e7 100644 --- a/packages/ethers/_version.d.ts +++ b/packages/ethers/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.138"; +export declare const version = "5.0.0-beta.139"; diff --git a/packages/ethers/_version.js b/packages/ethers/_version.js index 29afc02b5d..26fe7daa69 100644 --- a/packages/ethers/_version.js +++ b/packages/ethers/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.138"; +exports.version = "5.0.0-beta.139"; diff --git a/packages/ethers/dist/ethers.js b/packages/ethers/dist/ethers.js index 7ce01f39d0..65c1281108 100644 --- a/packages/ethers/dist/ethers.js +++ b/packages/ethers/dist/ethers.js @@ -9855,6 +9855,8 @@ var ParamType = /** @class */ (function () { baseType: ((this.components != null) ? "tuple" : this.type) }); } + this._isParamType = true; + Object.freeze(this); } // Format the parameter fragment // - non-expanded: "(uint256,address)" @@ -9894,7 +9896,7 @@ var ParamType = /** @class */ (function () { return ParamType.fromObject(value); }; ParamType.fromObject = function (value) { - if (properties_1.isNamedInstance(ParamType, value)) { + if (ParamType.isParamType(value)) { return value; } return new ParamType(_constructorGuard, { @@ -9915,6 +9917,9 @@ var ParamType = /** @class */ (function () { } return ParamTypify(parseParamType(value, !!allowIndexed)); }; + ParamType.isParamType = function (value) { + return !!(value != null && value._isParamType); + }; return ParamType; }()); exports.ParamType = ParamType; @@ -9928,6 +9933,8 @@ var Fragment = /** @class */ (function () { throw new Error("use a static from method"); } populate(this, params); + this._isFragment = true; + Object.freeze(this); } // @TOOD: move logic to sub-classes; make this abstract Fragment.prototype.format = function (expanded) { @@ -9958,13 +9965,16 @@ var Fragment = /** @class */ (function () { return result.trim(); }; Fragment.from = function (value) { + if (Fragment.isFragment(value)) { + return value; + } if (typeof (value) === "string") { return Fragment.fromString(value); } return Fragment.fromObject(value); }; Fragment.fromObject = function (value) { - if (properties_1.isNamedInstance(Fragment, value)) { + if (Fragment.isFragment(value)) { return value; } if (value.type === "function") { @@ -10001,6 +10011,9 @@ var Fragment = /** @class */ (function () { } throw new Error("unknown fragment"); }; + Fragment.isFragment = function (value) { + return !!(value && value._isFragment); + }; return Fragment; }()); exports.Fragment = Fragment; @@ -10016,7 +10029,7 @@ var EventFragment = /** @class */ (function (_super) { return EventFragment.fromObject(value); }; EventFragment.fromObject = function (value) { - if (properties_1.isNamedInstance(EventFragment, value)) { + if (EventFragment.isEventFragment(value)) { return value; } if (value.type !== "event") { @@ -10053,6 +10066,9 @@ var EventFragment = /** @class */ (function (_super) { type: "event" }); }; + EventFragment.isEventFragment = function (value) { + return (value && value._isFragment && value.type === "event"); + }; return EventFragment; }(Fragment)); exports.EventFragment = EventFragment; @@ -10114,7 +10130,7 @@ var ConstructorFragment = /** @class */ (function (_super) { return ConstructorFragment.fromObject(value); }; ConstructorFragment.fromObject = function (value) { - if (properties_1.isNamedInstance(ConstructorFragment, value)) { + if (ConstructorFragment.isConstructorFragment(value)) { return value; } if (value.type !== "constructor") { @@ -10141,6 +10157,9 @@ var ConstructorFragment = /** @class */ (function (_super) { parseModifiers(parens[3].trim(), params); return ConstructorFragment.fromObject(params); }; + ConstructorFragment.isConstructorFragment = function (value) { + return (value && value._isFragment && value.type === "constructor"); + }; return ConstructorFragment; }(Fragment)); exports.ConstructorFragment = ConstructorFragment; @@ -10156,7 +10175,7 @@ var FunctionFragment = /** @class */ (function (_super) { return FunctionFragment.fromObject(value); }; FunctionFragment.fromObject = function (value) { - if (properties_1.isNamedInstance(FunctionFragment, value)) { + if (FunctionFragment.isFunctionFragment(value)) { return value; } if (value.type !== "function") { @@ -10203,6 +10222,9 @@ var FunctionFragment = /** @class */ (function (_super) { } return FunctionFragment.fromObject(params); }; + FunctionFragment.isFunctionFragment = function (value) { + return (value && value._isFragment && value.type === "function"); + }; return FunctionFragment; }(ConstructorFragment)); exports.FunctionFragment = FunctionFragment; @@ -10334,6 +10356,9 @@ var Indexed = /** @class */ (function (_super) { function Indexed() { return _super !== null && _super.apply(this, arguments) || this; } + Indexed.isIndexed = function (value) { + return !!(value && value._isIndexed); + }; return Indexed; }(properties_1.Description)); exports.Indexed = Indexed; @@ -10356,9 +10381,6 @@ var Interface = /** @class */ (function () { abi = fragments; } properties_1.defineReadOnly(this, "fragments", abi.map(function (fragment) { - if (properties_1.isNamedInstance(fragments_1.Fragment, fragment)) { - return fragment; - } return fragments_1.Fragment.from(fragment); }).filter(function (fragment) { return (fragment != null); })); properties_1.defineReadOnly(this, "_abiCoder", _newTarget.getAbiCoder()); @@ -10409,6 +10431,7 @@ var Interface = /** @class */ (function () { if (!this.deploy) { properties_1.defineReadOnly(this, "deploy", fragments_1.ConstructorFragment.from({ type: "constructor" })); } + properties_1.defineReadOnly(this, "_isInterface", true); } Interface.getAbiCoder = function () { return abi_coder_1.defaultAbiCoder; @@ -10584,10 +10607,10 @@ var Interface = /** @class */ (function () { eventFragment.inputs.forEach(function (param, index) { if (param.indexed) { if (resultIndexed == null) { - result[index] = new Indexed({ hash: null }); + result[index] = new Indexed({ _isIndexed: true, hash: null }); } else if (dynamic[index]) { - result[index] = new Indexed({ hash: resultIndexed[indexedIndex++] }); + result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] }); } else { result[index] = resultIndexed[indexedIndex++]; @@ -10628,6 +10651,20 @@ var Interface = /** @class */ (function () { values: this.decodeEventLog(fragment, log.data, log.topics) }); }; + /* + static from(value: Array | string | Interface) { + if (Interface.isInterface(value)) { + return value; + } + if (typeof(value) === "string") { + return new Interface(JSON.parse(value)); + } + return new Interface(value); + } + */ + Interface.isInterface = function (value) { + return !!(value && value._isInterface); + }; return Interface; }()); exports.Interface = Interface; @@ -10688,12 +10725,16 @@ var properties_1 = require("@ethersproject/properties"); //export type CallTransactionable = { // call(transaction: TransactionRequest): Promise; //}; -var ForkEvent = /** @class */ (function () { - function ForkEvent(expiry) { - properties_1.defineReadOnly(this, "expiry", expiry || 0); +var ForkEvent = /** @class */ (function (_super) { + __extends(ForkEvent, _super); + function ForkEvent() { + return _super !== null && _super.apply(this, arguments) || this; } + ForkEvent.isForkEvent = function (value) { + return !!(value && value._isForkEvent); + }; return ForkEvent; -}()); +}(properties_1.Description)); exports.ForkEvent = ForkEvent; var BlockForkEvent = /** @class */ (function (_super) { __extends(BlockForkEvent, _super); @@ -10702,8 +10743,12 @@ var BlockForkEvent = /** @class */ (function (_super) { if (!bytes_1.isHexString(blockhash, 32)) { errors.throwArgumentError("invalid blockhash", "blockhash", blockhash); } - _this = _super.call(this, expiry) || this; - properties_1.defineReadOnly(_this, "blockhash", blockhash); + _this = _super.call(this, { + _isForkEvent: true, + _isBlockForkEvent: true, + expiry: (expiry || 0), + blockHash: blockhash + }) || this; return _this; } return BlockForkEvent; @@ -10716,8 +10761,12 @@ var TransactionForkEvent = /** @class */ (function (_super) { if (!bytes_1.isHexString(hash, 32)) { errors.throwArgumentError("invalid transaction hash", "hash", hash); } - _this = _super.call(this, expiry) || this; - properties_1.defineReadOnly(_this, "hash", hash); + _this = _super.call(this, { + _isForkEvent: true, + _isTransactionForkEvent: true, + expiry: (expiry || 0), + hash: hash + }) || this; return _this; } return TransactionForkEvent; @@ -10733,9 +10782,13 @@ var TransactionOrderForkEvent = /** @class */ (function (_super) { if (!bytes_1.isHexString(afterHash, 32)) { errors.throwArgumentError("invalid transaction hash", "afterHash", afterHash); } - _this = _super.call(this, expiry) || this; - properties_1.defineReadOnly(_this, "beforeHash", beforeHash); - properties_1.defineReadOnly(_this, "afterHash", afterHash); + _this = _super.call(this, { + _isForkEvent: true, + _isTransactionOrderForkEvent: true, + expiry: (expiry || 0), + beforeHash: beforeHash, + afterHash: afterHash + }) || this; return _this; } return TransactionOrderForkEvent; @@ -10747,6 +10800,7 @@ var Provider = /** @class */ (function () { function Provider() { var _newTarget = this.constructor; errors_1.checkAbstract(_newTarget, Provider); + properties_1.defineReadOnly(this, "_isProvider", true); } // Alias for "on" Provider.prototype.addListener = function (eventName, listener) { @@ -10756,6 +10810,9 @@ var Provider = /** @class */ (function () { Provider.prototype.removeListener = function (eventName, listener) { return this.off(eventName, listener); }; + Provider.isProvider = function (value) { + return !!(value && value._isProvider); + }; return Provider; }()); exports.Provider = Provider; @@ -10800,6 +10857,7 @@ var Signer = /** @class */ (function () { function Signer() { var _newTarget = this.constructor; errors.checkAbstract(_newTarget, Signer); + properties_1.defineReadOnly(this, "_isSigner", true); } /////////////////// // Sub-classes MAY override these @@ -10919,6 +10977,9 @@ var Signer = /** @class */ (function () { }); } }; + Signer.isSigner = function (value) { + return !!(value && value._isSigner); + }; return Signer; }()); exports.Signer = Signer; @@ -11261,19 +11322,18 @@ Object.defineProperty(exports, "__esModule", { value: true }); */ var BN = __importStar(require("bn.js")); var bytes_1 = require("@ethersproject/bytes"); -var properties_1 = require("@ethersproject/properties"); var errors = __importStar(require("@ethersproject/errors")); var _constructorGuard = {}; var MAX_SAFE = 0x1fffffffffffff; -/* -export function isBigNumberLike(value: any): value is BigNumberish { - return (BigNumber.isBigNumber(value) || - (!!((value).toHexString)) || - isBytes(value) || - value.match(/^-?([0-9]+|0x[0-9a-f]+)$/i) || - typeof(value) === "number"); -} -*/ +function isBigNumberish(value) { + return (value != null) && (BigNumber.isBigNumber(value) || + (typeof (value) === "number" && (value % 1) === 0) || + (typeof (value) === "string" && !!value.match(/^-?[0-9]+$/)) || + bytes_1.isHexString(value) || + (typeof (value) === "bigint") || + bytes_1.isBytes(value)); +} +exports.isBigNumberish = isBigNumberish; var BigNumber = /** @class */ (function () { function BigNumber(constructorGuard, hex) { var _newTarget = this.constructor; @@ -11283,7 +11343,9 @@ var BigNumber = /** @class */ (function () { operation: "new (BigNumber)" }); } - properties_1.defineReadOnly(this, "_hex", hex); + this._hex = hex; + this._isBigNumber = true; + Object.freeze(this); } BigNumber.prototype.fromTwos = function (value) { return toBigNumber(toBN(this).fromTwos(value)); @@ -11399,101 +11461,11 @@ var BigNumber = /** @class */ (function () { return errors.throwArgumentError("invalid BigNumber value", "value", value); }; BigNumber.isBigNumber = function (value) { - return properties_1.isNamedInstance(this, value); + return !!(value && value._isBigNumber); }; return BigNumber; }()); exports.BigNumber = BigNumber; -/* -export function bigNumberify(value: BigNumberish): BigNumber { - if (BigNumber.isBigNumber(value)) { return value; } - return new BigNumber(value); -} -*/ -/* -function zeros(length) { - let result = ""; - while (result.length < length) { tens += "0"; } - return result; -} -export class FixedNumber { - readonly value: BigNumber; - readonly decimalPlaces: number; - - constructor(value: BigNumberish, decimalPlaces: number) { - defineReadOnly(this, "value", bigNumberify(value)); - defineReadOnly(this, "decimalPlaces", decimalPlaces); - } - - toString(): string { - return formatUnits(this.value, this.decimalPlaces); - } - - static fromString(value: string): FixedNumber { - let comps = value.split("."); - let decimalPlaces = 0; - if (comps.length === 2) { decimalPlaces = comps[1].length; } - return new FixedNumber(parseUnits(value, decimalPlaces), decimalPlaces); - } -*/ -/* - - readonly negative: boolean; - readonly whole: BigNumber; - readonly fraction: BigNumber; - constructor(whole: BigNumberish, fraction: BigNumberish, negative?: boolean) { - if (whole.lt(constants.Zero)) { - errors.throwError("whole component must be positive", errors.INVALID_ARGUMENT, { - argument: whole, - value: whole - }); - } - defineReadOnly(this, "whole", bigNumberify(whole)); - defineReadOnly(this, "fraction", bigNumberify(fraction)); - defineReadOnly(this, "negative", !!boolean); - } -*/ -/* - toHexString(bitWidth?: number, decimalPlaces?: number, signed?: boolean): string { - if (bitWidth == null) { bitWidth = 128; } - if (decimalPlaces == null) { decimalPlaces = 18; } - if (signed == null) { signed = true; } - return null; - } - static fromValue(value: BigNumberish, decimalPlaces: number): FixedNumber { - let negative = false; - if (value.lt(constants.Zero)) { - negative = true; - value = value.abs(); - } - let tens = bigNumberify("1" + zeros(decimalPlaces)); - return new FixedNumber(value.divide(tens), value.mod(tens), negative); - } - let negative = false; - if (value.substring(0, 1) === "-") { - negative = true; - value = value.substring(1); - } - - if (value !== "." && value !== "") { - let comps = value.split("."); - if (comps.length === 1) { - return new FixedNumber(comps[0], 0, negative); - } else if (comps.length === 2) { - if (comps[0] === "") { comps[0] = "0"; } - if (comps[1] === "") { comps[1] = "0"; } - return new FixedNumber(comps[0], comps[1], negative); - } - } - - errors.throwError("invalid fixed-point value", errors.INVALID_ARGUMENT, { - argument: "value", - value: value - }); - - return null; -*/ -//} // Normalize the hex string function toHex(value) { // For BN, call on the hex string @@ -11553,7 +11525,7 @@ function throwFault(fault, operation, value) { return errors.throwError(fault, errors.NUMERIC_FAULT, params); } -},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82,"bn.js":2}],61:[function(require,module,exports){ +},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"bn.js":2}],61:[function(require,module,exports){ "use strict"; var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; @@ -11565,7 +11537,6 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); var bytes_1 = require("@ethersproject/bytes"); var errors = __importStar(require("@ethersproject/errors")); -var properties_1 = require("@ethersproject/properties"); var bignumber_1 = require("./bignumber"); var _constructorGuard = {}; var Zero = bignumber_1.BigNumber.from(0); @@ -11670,12 +11641,12 @@ function parseFixed(value, decimals) { exports.parseFixed = parseFixed; var FixedFormat = /** @class */ (function () { function FixedFormat(constructorGuard, signed, width, decimals) { - properties_1.defineReadOnly(this, "signed", signed); - properties_1.defineReadOnly(this, "width", width); - properties_1.defineReadOnly(this, "decimals", decimals); - var name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals); - properties_1.defineReadOnly(this, "name", name); - properties_1.defineReadOnly(this, "_multiplier", getMultiplier(decimals)); + this.signed = signed; + this.width = width; + this.decimals = decimals; + this.name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals); + this._multiplier = getMultiplier(decimals); + Object.freeze(this); } FixedFormat.from = function (value) { if (value instanceof FixedFormat) { @@ -11723,9 +11694,6 @@ var FixedFormat = /** @class */ (function () { } return new FixedFormat(_constructorGuard, signed, width, decimals); }; - FixedFormat.isInstance = function (value) { - return properties_1.isNamedInstance(this, value); - }; return FixedFormat; }()); exports.FixedFormat = FixedFormat; @@ -11733,9 +11701,11 @@ var FixedNumber = /** @class */ (function () { function FixedNumber(constructorGuard, hex, value, format) { var _newTarget = this.constructor; errors.checkNew(_newTarget, FixedNumber); - properties_1.defineReadOnly(this, 'format', format); - properties_1.defineReadOnly(this, '_hex', hex); - properties_1.defineReadOnly(this, '_value', value); + this.format = format; + this._hex = hex; + this._value = value; + this._isFixedNumber = true; + Object.freeze(this); } FixedNumber.prototype._checkFormat = function (other) { if (this.format.name !== other.format.name) { @@ -11802,7 +11772,7 @@ var FixedNumber = /** @class */ (function () { }; FixedNumber.fromValue = function (value, decimals, format) { // If decimals looks more like a format, and there is no format, shift the parameters - if (format == null && decimals != null && (FixedFormat.isInstance(decimals) || typeof (decimals) === "string")) { + if (format == null && decimals != null && !bignumber_1.isBigNumberish(decimals)) { format = decimals; decimals = null; } @@ -11812,14 +11782,13 @@ var FixedNumber = /** @class */ (function () { if (format == null) { format = "fixed"; } - var fixedFormat = (FixedFormat.isInstance(format) ? format : FixedFormat.from(format)); - return FixedNumber.fromString(formatFixed(value, decimals), fixedFormat); + return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format)); }; FixedNumber.fromString = function (value, format) { if (format == null) { format = "fixed"; } - var fixedFormat = (FixedFormat.isInstance(format) ? format : FixedFormat.from(format)); + var fixedFormat = FixedFormat.from(format); var numeric = parseFixed(value, fixedFormat.decimals); if (!fixedFormat.signed && numeric.lt(Zero)) { throwFault("unsigned value cannot be negative", "overflow", "value", value); @@ -11839,7 +11808,7 @@ var FixedNumber = /** @class */ (function () { if (format == null) { format = "fixed"; } - var fixedFormat = (FixedFormat.isInstance(format) ? format : FixedFormat.from(format)); + var fixedFormat = FixedFormat.from(format); if (bytes_1.arrayify(value).length > fixedFormat.width / 8) { throw new Error("overflow"); } @@ -11870,13 +11839,13 @@ var FixedNumber = /** @class */ (function () { return errors.throwArgumentError("invalid FixedNumber value", "value", value); }; FixedNumber.isFixedNumber = function (value) { - return properties_1.isNamedInstance(this, value); + return !!(value && value._isFixedNumber); }; return FixedNumber; }()); exports.FixedNumber = FixedNumber; -},{"./bignumber":60,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82}],62:[function(require,module,exports){ +},{"./bignumber":60,"@ethersproject/bytes":63,"@ethersproject/errors":66}],62:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var bignumber_1 = require("./bignumber"); @@ -12605,11 +12574,11 @@ var Contract = /** @class */ (function () { // @TODO: Maybe still check the addressOrName looks like a valid address or name? //address = getAddress(address); properties_1.defineReadOnly(this, "interface", _newTarget.getInterface(contractInterface)); - if (properties_1.isNamedInstance(abstract_signer_1.Signer, signerOrProvider)) { - properties_1.defineReadOnly(this, "provider", signerOrProvider.provider); + if (abstract_signer_1.Signer.isSigner(signerOrProvider)) { + properties_1.defineReadOnly(this, "provider", signerOrProvider.provider || null); properties_1.defineReadOnly(this, "signer", signerOrProvider); } - else if (properties_1.isNamedInstance(abstract_provider_1.Provider, signerOrProvider)) { + else if (abstract_provider_1.Provider.isProvider(signerOrProvider)) { properties_1.defineReadOnly(this, "provider", signerOrProvider); properties_1.defineReadOnly(this, "signer", null); } @@ -12680,7 +12649,7 @@ var Contract = /** @class */ (function () { return address_1.getContractAddress(transaction); }; Contract.getInterface = function (contractInterface) { - if (properties_1.isNamedInstance(abi_1.Interface, contractInterface)) { + if (abi_1.Interface.isInterface(contractInterface)) { return contractInterface; } return new abi_1.Interface(contractInterface); @@ -12752,7 +12721,7 @@ var Contract = /** @class */ (function () { return new (this.constructor)(addressOrName, this.interface, this.signer || this.provider); }; Contract.isIndexed = function (value) { - return properties_1.isNamedInstance(abi_1.Indexed, value); + return abi_1.Indexed.isIndexed(value); }; Contract.prototype._normalizeRunningEvent = function (runningEvent) { // Already have an instance of this event running; we can re-use it @@ -12971,7 +12940,7 @@ var ContractFactory = /** @class */ (function () { errors.throwArgumentError("invalid bytecode", "bytecode", bytecode); } // If we have a signer, make sure it is valid - if (signer && !properties_1.isNamedInstance(abstract_signer_1.Signer, signer)) { + if (signer && !abstract_signer_1.Signer.isSigner(signer)) { errors.throwArgumentError("invalid signer", "signer", signer); } properties_1.defineReadOnly(this, "bytecode", bytecodeHex); @@ -13328,7 +13297,7 @@ exports.info = info; },{}],67:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.138"; +exports.version = "5.0.0-beta.139"; },{}],68:[function(require,module,exports){ "use strict"; @@ -13503,6 +13472,7 @@ var wallet_1 = require("@ethersproject/wallet"); exports.verifyMessage = wallet_1.verifyMessage; var web_1 = require("@ethersproject/web"); exports.fetchJson = web_1.fetchJson; +exports.poll = web_1.poll; //////////////////////// // Enums var sha2_2 = require("@ethersproject/sha2"); @@ -13931,8 +13901,8 @@ var CrowdsaleAccount = /** @class */ (function (_super) { function CrowdsaleAccount() { return _super !== null && _super.apply(this, arguments) || this; } - CrowdsaleAccount.prototype.isType = function (value) { - return properties_1.Description.isType(value); + CrowdsaleAccount.prototype.isCrowdsaleAccount = function (value) { + return !!(value && value._isCrowdsaleAccount); }; return CrowdsaleAccount; }(properties_1.Description)); @@ -13966,6 +13936,7 @@ function decrypt(json, password) { var seedHexBytes = strings_1.toUtf8Bytes(seedHex); var privateKey = keccak256_1.keccak256(seedHexBytes); return new CrowdsaleAccount({ + _isCrowdsaleAccount: true, address: ethaddr, privateKey: privateKey }); @@ -14093,8 +14064,8 @@ var KeystoreAccount = /** @class */ (function (_super) { function KeystoreAccount() { return _super !== null && _super.apply(this, arguments) || this; } - KeystoreAccount.prototype.isType = function (value) { - return properties_1.Description.isType(value); + KeystoreAccount.prototype.isKeystoreAccount = function (value) { + return !!(value && value._isKeystoreAccount); }; return KeystoreAccount; }(properties_1.Description)); @@ -14140,6 +14111,7 @@ function decrypt(json, password, progressCallback) { } catch (e) { } var account = { + _isKeystoreAccount: true, address: address, privateKey: bytes_1.hexlify(privateKey) }; @@ -14725,46 +14697,6 @@ function defineReadOnly(object, name, value) { }); } exports.defineReadOnly = defineReadOnly; -// There are some issues with instanceof with npm link, so we use this -// to ensure types are what we expect. We use this for a little extra -// protection to make sure the correct types are being passed around. -function getType(object) { - var type = typeof (object); - if (type !== "function") { - return null; - } - var types = []; - var obj = object; - while (true) { - var type_1 = obj.name; - if (!type_1) { - break; - } - types.push(type_1); - obj = Object.getPrototypeOf(obj); - } - return types.join(" "); -} -function hasSuffix(text, suffix) { - return text.substring(text.length - suffix.length) === suffix; -} -function isNamedInstance(type, value) { - var name = getType(type); - if (!name) { - return false; - } - // Not a string... - if (typeof (value) !== "string") { - // Not an instance... - if (typeof (value) !== "object") { - return false; - } - // Get the instance type - value = getType(value.constructor); - } - return (name === value || hasSuffix(value, " " + name)); -} -exports.isNamedInstance = isNamedInstance; function resolveProperties(object) { var result = {}; var promises = []; @@ -14811,29 +14743,21 @@ function shallowCopy(object) { return result; } exports.shallowCopy = shallowCopy; -var opaque = { boolean: true, number: true, string: true }; -function deepCopy(object, frozen) { +var opaque = { bigint: true, boolean: true, number: true, string: true }; +// Returns a new copy of object, such that no properties may be replaced. +// New properties may be added only to objects. +function deepCopy(object) { // Opaque objects are not mutable, so safe to copy by assignment if (object === undefined || object === null || opaque[typeof (object)]) { return object; } // Arrays are mutable, so we need to create a copy if (Array.isArray(object)) { - var result = object.map(function (item) { return deepCopy(item, frozen); }); - if (frozen) { - Object.freeze(result); - } - return result; + return Object.freeze(object.map(function (item) { return deepCopy(item); })); } if (typeof (object) === "object") { - // Some internal objects, which are already immutable - if (isNamedInstance("BigNumber", object)) { - return object; - } - if (isNamedInstance("Description", object)) { - return object; - } - if (isNamedInstance("Indexed", object)) { + // Immutable objects are safe to just use + if (Object.isFrozen(object)) { return object; } var result = {}; @@ -14842,10 +14766,7 @@ function deepCopy(object, frozen) { if (value === undefined) { continue; } - defineReadOnly(result, key, deepCopy(value, frozen)); - } - if (frozen) { - Object.freeze(result); + defineReadOnly(result, key, deepCopy(value)); } return result; } @@ -14859,13 +14780,10 @@ exports.deepCopy = deepCopy; var Description = /** @class */ (function () { function Description(info) { for (var key in info) { - defineReadOnly(this, key, deepCopy(info[key], true)); + this[key] = deepCopy(info[key]); } Object.freeze(this); } - Description.isType = function (value) { - return isNamedInstance(this, value); - }; return Description; }()); exports.Description = Description; @@ -15022,7 +14940,7 @@ function getEventTag(eventName) { else if (Array.isArray(eventName)) { return "filter:*:" + serializeTopics(eventName); } - else if (properties_1.isNamedInstance(abstract_provider_1.ForkEvent, eventName)) { + else if (abstract_provider_1.ForkEvent.isForkEvent(eventName)) { errors.warn("not implemented"); throw new Error("not implemented"); } @@ -17828,6 +17746,7 @@ var SigningKey = /** @class */ (function () { var keyPair = getCurve().keyFromPrivate(bytes_1.arrayify(this.privateKey)); properties_1.defineReadOnly(this, "publicKey", "0x" + keyPair.getPublic(false, "hex")); properties_1.defineReadOnly(this, "compressedPublicKey", "0x" + keyPair.getPublic(true, "hex")); + properties_1.defineReadOnly(this, "_isSigningKey", true); } SigningKey.prototype._addPoint = function (other) { var p0 = getCurve().keyFromPublic(bytes_1.arrayify(this.publicKey)); @@ -17848,6 +17767,9 @@ var SigningKey = /** @class */ (function () { var otherKeyPair = getCurve().keyFromPublic(bytes_1.arrayify(computePublicKey(otherKey))); return bytes_1.hexZeroPad("0x" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32); }; + SigningKey.isSigningKey = function (value) { + return !!(value && value._isSigningKey); + }; return SigningKey; }()); exports.SigningKey = SigningKey; @@ -18480,7 +18402,10 @@ var Wallet = /** @class */ (function (_super) { } } else { - if (properties_1.isNamedInstance(signing_key_1.SigningKey, privateKey)) { + if (signing_key_1.SigningKey.isSigningKey(privateKey)) { + if (privateKey.curve !== "secp256k1") { + errors.throwArgumentError("unsupported curve; must be secp256k1", "privateKey", "[REDACTED]"); + } properties_1.defineReadOnly(_this, "_signingKey", function () { return privateKey; }); } else { @@ -18491,7 +18416,7 @@ var Wallet = /** @class */ (function (_super) { properties_1.defineReadOnly(_this, "path", null); properties_1.defineReadOnly(_this, "address", transactions_1.computeAddress(_this.publicKey)); } - if (provider && !properties_1.isNamedInstance(abstract_provider_1.Provider, provider)) { + if (provider && !abstract_provider_1.Provider.isProvider(provider)) { errors.throwError("invalid provider", errors.INVALID_ARGUMENT, { argument: "provider", value: provider diff --git a/packages/ethers/dist/ethers.min.js b/packages/ethers/dist/ethers.min.js index 5e82a5a30e..7cc76e0826 100644 --- a/packages/ethers/dist/ethers.min.js +++ b/packages/ethers/dist/ethers.min.js @@ -1 +1 @@ -!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).ethers=e()}}(function(){return function(){return function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var h=r[s]={exports:{}};t[s][0].call(h.exports,function(e){return i(t[s][1][e]||e)},h,h.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s255)return!1;return!0}function o(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!i(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(n(e.length)&&i(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function s(e){return new Uint8Array(e)}function a(e,t,r,n,i){null==n&&null==i||(e=e.slice?e.slice(n,i):Array.prototype.slice.call(e,n,i)),t.set(e,r)}var u=function(){return{toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}}}(),c=function(){var e="0123456789abcdef";return{toBytes:function(e){for(var t=[],r=0;r>4]+e[15&i])}return r.join("")}}}(),h={16:10,24:12,32:14},f=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],l=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],v=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],y=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],g=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],w=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],_=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],M=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],E=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],k=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],A=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function P(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=o[t],this._Kd[e-r][t%4]=o[t];for(var s,a=0,u=i;u>16&255]<<24^l[s>>8&255]<<16^l[255&s]<<8^l[s>>24&255]^f[a]<<24,a+=1,8!=i)for(t=1;t>8&255]<<8^l[s>>16&255]<<16^l[s>>24&255]<<24;for(t=i/2+1;t>2,d=u%4,this._Ke[c][d]=o[t],this._Kd[e-c][d]=o[t++],u++}for(var c=1;c>24&255]^E[s>>16&255]^k[s>>8&255]^A[255&s]},S.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],n=P(e),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var o=1;o>24&255]^m[n[(i+1)%4]>>16&255]^v[n[(i+2)%4]>>8&255]^y[255&n[(i+3)%4]]^this._Ke[o][i];n=r.slice()}var a,u=s(16);for(i=0;i<4;i++)a=this._Ke[t][i],u[4*i]=255&(l[n[i]>>24&255]^a>>24),u[4*i+1]=255&(l[n[(i+1)%4]>>16&255]^a>>16),u[4*i+2]=255&(l[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(l[255&n[(i+3)%4]]^a);return u},S.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],n=P(e),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var o=1;o>24&255]^b[n[(i+3)%4]>>16&255]^w[n[(i+2)%4]>>8&255]^_[255&n[(i+1)%4]]^this._Kd[o][i];n=r.slice()}var a,u=s(16);for(i=0;i<4;i++)a=this._Kd[t][i],u[4*i]=255&(d[n[i]>>24&255]^a>>24),u[4*i+1]=255&(d[n[(i+3)%4]>>16&255]^a>>16),u[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(d[255&n[(i+1)%4]]^a);return u};var j=function(e){if(!(this instanceof j))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new S(e)};j.prototype.encrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=s(e.length),r=s(16),n=0;n=0;--t)this._counter[t]=e%256,e>>=8},R.prototype.setBytes=function(e){if(16!=(e=o(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},R.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var T=function(e,t){if(!(this instanceof T))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof R||(t=new R(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new S(e)};T.prototype.encrypt=function(e){for(var t=o(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,n=0;n=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(e,t,r,n){for(var i=0,o=Math.min(e.length,r),s=t;s=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},o.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)},o.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)i=a(e,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==t&&(i=a(e,t,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,s=o%n,a=Math.min(o,o-s)+r,c=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.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"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function l(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var c=1;c>>26,f=67108863&u,l=Math.min(c,t.length-1),d=Math.max(0,c-e.length+1);d<=l;d++){var p=c-d|0;h+=(s=(i=0|e.words[p])*(o=0|t.words[d])+f)/67108864|0,f=67108863&s}r.words[c]=0|f,u=0|h}return 0!==u?r.words[c]=0|u:r.length--,r.strip()}o.prototype.toString=function(e,t){var r;if(e=e||10,t=0|t||1,16===e||"hex"===e){r="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?c[6-u.length]+u+r:u+r,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(r=o.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=h[e],d=f[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(e);r=(p=p.idivn(d)).isZero()?m+r:c[l-m.length]+m+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")},o.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},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return n(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===t,c=new e(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=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},o.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},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.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)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.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)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,d=0|s[1],p=8191&d,m=d>>>13,v=0|s[2],y=8191&v,g=v>>>13,b=0|s[3],w=8191&b,_=b>>>13,M=0|s[4],E=8191&M,k=M>>>13,A=0|s[5],P=8191&A,S=A>>>13,j=0|s[6],x=8191&j,O=j>>>13,N=0|s[7],R=8191&N,T=N>>>13,I=0|s[8],C=8191&I,B=I>>>13,D=0|s[9],F=8191&D,L=D>>>13,U=0|a[0],z=8191&U,H=U>>>13,K=0|a[1],G=8191&K,q=K>>>13,V=0|a[2],W=8191&V,J=V>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,ee=Q>>>13,te=0|a[5],re=8191&te,ne=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,he=0|a[8],fe=8191&he,le=he>>>13,de=0|a[9],pe=8191&de,me=de>>>13;r.negative=e.negative^t.negative,r.length=19;var ve=(c+(n=Math.imul(f,z))|0)+((8191&(i=(i=Math.imul(f,H))+Math.imul(l,z)|0))<<13)|0;c=((o=Math.imul(l,H))+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(p,z),i=(i=Math.imul(p,H))+Math.imul(m,z)|0,o=Math.imul(m,H);var ye=(c+(n=n+Math.imul(f,G)|0)|0)+((8191&(i=(i=i+Math.imul(f,q)|0)+Math.imul(l,G)|0))<<13)|0;c=((o=o+Math.imul(l,q)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(y,z),i=(i=Math.imul(y,H))+Math.imul(g,z)|0,o=Math.imul(g,H),n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,q)|0;var ge=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(l,W)|0))<<13)|0;c=((o=o+Math.imul(l,J)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(w,z),i=(i=Math.imul(w,H))+Math.imul(_,z)|0,o=Math.imul(_,H),n=n+Math.imul(y,G)|0,i=(i=i+Math.imul(y,q)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,q)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,J)|0;var be=(c+(n=n+Math.imul(f,X)|0)|0)+((8191&(i=(i=i+Math.imul(f,$)|0)+Math.imul(l,X)|0))<<13)|0;c=((o=o+Math.imul(l,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(E,z),i=(i=Math.imul(E,H))+Math.imul(k,z)|0,o=Math.imul(k,H),n=n+Math.imul(w,G)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(_,G)|0,o=o+Math.imul(_,q)|0,n=n+Math.imul(y,W)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,J)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,$)|0;var we=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,ee)|0)+Math.imul(l,Y)|0))<<13)|0;c=((o=o+Math.imul(l,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(P,z),i=(i=Math.imul(P,H))+Math.imul(S,z)|0,o=Math.imul(S,H),n=n+Math.imul(E,G)|0,i=(i=i+Math.imul(E,q)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,q)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(y,X)|0,i=(i=i+Math.imul(y,$)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,$)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,ee)|0;var _e=(c+(n=n+Math.imul(f,re)|0)|0)+((8191&(i=(i=i+Math.imul(f,ne)|0)+Math.imul(l,re)|0))<<13)|0;c=((o=o+Math.imul(l,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,H))+Math.imul(O,z)|0,o=Math.imul(O,H),n=n+Math.imul(P,G)|0,i=(i=i+Math.imul(P,q)|0)+Math.imul(S,G)|0,o=o+Math.imul(S,q)|0,n=n+Math.imul(E,W)|0,i=(i=i+Math.imul(E,J)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,ee)|0)+Math.imul(g,Y)|0,o=o+Math.imul(g,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(m,re)|0,o=o+Math.imul(m,ne)|0;var Me=(c+(n=n+Math.imul(f,oe)|0)|0)+((8191&(i=(i=i+Math.imul(f,se)|0)+Math.imul(l,oe)|0))<<13)|0;c=((o=o+Math.imul(l,se)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(R,z),i=(i=Math.imul(R,H))+Math.imul(T,z)|0,o=Math.imul(T,H),n=n+Math.imul(x,G)|0,i=(i=i+Math.imul(x,q)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,q)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(S,W)|0,o=o+Math.imul(S,J)|0,n=n+Math.imul(E,X)|0,i=(i=i+Math.imul(E,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,ee)|0,n=n+Math.imul(y,re)|0,i=(i=i+Math.imul(y,ne)|0)+Math.imul(g,re)|0,o=o+Math.imul(g,ne)|0,n=n+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(m,oe)|0,o=o+Math.imul(m,se)|0;var Ee=(c+(n=n+Math.imul(f,ue)|0)|0)+((8191&(i=(i=i+Math.imul(f,ce)|0)+Math.imul(l,ue)|0))<<13)|0;c=((o=o+Math.imul(l,ce)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(C,z),i=(i=Math.imul(C,H))+Math.imul(B,z)|0,o=Math.imul(B,H),n=n+Math.imul(R,G)|0,i=(i=i+Math.imul(R,q)|0)+Math.imul(T,G)|0,o=o+Math.imul(T,q)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(P,X)|0,i=(i=i+Math.imul(P,$)|0)+Math.imul(S,X)|0,o=o+Math.imul(S,$)|0,n=n+Math.imul(E,Y)|0,i=(i=i+Math.imul(E,ee)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(_,re)|0,o=o+Math.imul(_,ne)|0,n=n+Math.imul(y,oe)|0,i=(i=i+Math.imul(y,se)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,se)|0,n=n+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(m,ue)|0,o=o+Math.imul(m,ce)|0;var ke=(c+(n=n+Math.imul(f,fe)|0)|0)+((8191&(i=(i=i+Math.imul(f,le)|0)+Math.imul(l,fe)|0))<<13)|0;c=((o=o+Math.imul(l,le)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(F,z),i=(i=Math.imul(F,H))+Math.imul(L,z)|0,o=Math.imul(L,H),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,q)|0,n=n+Math.imul(R,W)|0,i=(i=i+Math.imul(R,J)|0)+Math.imul(T,W)|0,o=o+Math.imul(T,J)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,$)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,ee)|0)+Math.imul(S,Y)|0,o=o+Math.imul(S,ee)|0,n=n+Math.imul(E,re)|0,i=(i=i+Math.imul(E,ne)|0)+Math.imul(k,re)|0,o=o+Math.imul(k,ne)|0,n=n+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,n=n+Math.imul(y,ue)|0,i=(i=i+Math.imul(y,ce)|0)+Math.imul(g,ue)|0,o=o+Math.imul(g,ce)|0,n=n+Math.imul(p,fe)|0,i=(i=i+Math.imul(p,le)|0)+Math.imul(m,fe)|0,o=o+Math.imul(m,le)|0;var Ae=(c+(n=n+Math.imul(f,pe)|0)|0)+((8191&(i=(i=i+Math.imul(f,me)|0)+Math.imul(l,pe)|0))<<13)|0;c=((o=o+Math.imul(l,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(F,G),i=(i=Math.imul(F,q))+Math.imul(L,G)|0,o=Math.imul(L,q),n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,J)|0,n=n+Math.imul(R,X)|0,i=(i=i+Math.imul(R,$)|0)+Math.imul(T,X)|0,o=o+Math.imul(T,$)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,ee)|0,n=n+Math.imul(P,re)|0,i=(i=i+Math.imul(P,ne)|0)+Math.imul(S,re)|0,o=o+Math.imul(S,ne)|0,n=n+Math.imul(E,oe)|0,i=(i=i+Math.imul(E,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,n=n+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,n=n+Math.imul(y,fe)|0,i=(i=i+Math.imul(y,le)|0)+Math.imul(g,fe)|0,o=o+Math.imul(g,le)|0;var Pe=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;c=((o=o+Math.imul(m,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(F,W),i=(i=Math.imul(F,J))+Math.imul(L,W)|0,o=Math.imul(L,J),n=n+Math.imul(C,X)|0,i=(i=i+Math.imul(C,$)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,$)|0,n=n+Math.imul(R,Y)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(T,Y)|0,o=o+Math.imul(T,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(O,re)|0,o=o+Math.imul(O,ne)|0,n=n+Math.imul(P,oe)|0,i=(i=i+Math.imul(P,se)|0)+Math.imul(S,oe)|0,o=o+Math.imul(S,se)|0,n=n+Math.imul(E,ue)|0,i=(i=i+Math.imul(E,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,n=n+Math.imul(w,fe)|0,i=(i=i+Math.imul(w,le)|0)+Math.imul(_,fe)|0,o=o+Math.imul(_,le)|0;var Se=(c+(n=n+Math.imul(y,pe)|0)|0)+((8191&(i=(i=i+Math.imul(y,me)|0)+Math.imul(g,pe)|0))<<13)|0;c=((o=o+Math.imul(g,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(F,X),i=(i=Math.imul(F,$))+Math.imul(L,X)|0,o=Math.imul(L,$),n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(B,Y)|0,o=o+Math.imul(B,ee)|0,n=n+Math.imul(R,re)|0,i=(i=i+Math.imul(R,ne)|0)+Math.imul(T,re)|0,o=o+Math.imul(T,ne)|0,n=n+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(O,oe)|0,o=o+Math.imul(O,se)|0,n=n+Math.imul(P,ue)|0,i=(i=i+Math.imul(P,ce)|0)+Math.imul(S,ue)|0,o=o+Math.imul(S,ce)|0,n=n+Math.imul(E,fe)|0,i=(i=i+Math.imul(E,le)|0)+Math.imul(k,fe)|0,o=o+Math.imul(k,le)|0;var je=(c+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,me)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,me)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,ee))+Math.imul(L,Y)|0,o=Math.imul(L,ee),n=n+Math.imul(C,re)|0,i=(i=i+Math.imul(C,ne)|0)+Math.imul(B,re)|0,o=o+Math.imul(B,ne)|0,n=n+Math.imul(R,oe)|0,i=(i=i+Math.imul(R,se)|0)+Math.imul(T,oe)|0,o=o+Math.imul(T,se)|0,n=n+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(O,ue)|0,o=o+Math.imul(O,ce)|0,n=n+Math.imul(P,fe)|0,i=(i=i+Math.imul(P,le)|0)+Math.imul(S,fe)|0,o=o+Math.imul(S,le)|0;var xe=(c+(n=n+Math.imul(E,pe)|0)|0)+((8191&(i=(i=i+Math.imul(E,me)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,me)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(F,re),i=(i=Math.imul(F,ne))+Math.imul(L,re)|0,o=Math.imul(L,ne),n=n+Math.imul(C,oe)|0,i=(i=i+Math.imul(C,se)|0)+Math.imul(B,oe)|0,o=o+Math.imul(B,se)|0,n=n+Math.imul(R,ue)|0,i=(i=i+Math.imul(R,ce)|0)+Math.imul(T,ue)|0,o=o+Math.imul(T,ce)|0,n=n+Math.imul(x,fe)|0,i=(i=i+Math.imul(x,le)|0)+Math.imul(O,fe)|0,o=o+Math.imul(O,le)|0;var Oe=(c+(n=n+Math.imul(P,pe)|0)|0)+((8191&(i=(i=i+Math.imul(P,me)|0)+Math.imul(S,pe)|0))<<13)|0;c=((o=o+Math.imul(S,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(F,oe),i=(i=Math.imul(F,se))+Math.imul(L,oe)|0,o=Math.imul(L,se),n=n+Math.imul(C,ue)|0,i=(i=i+Math.imul(C,ce)|0)+Math.imul(B,ue)|0,o=o+Math.imul(B,ce)|0,n=n+Math.imul(R,fe)|0,i=(i=i+Math.imul(R,le)|0)+Math.imul(T,fe)|0,o=o+Math.imul(T,le)|0;var Ne=(c+(n=n+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,me)|0)+Math.imul(O,pe)|0))<<13)|0;c=((o=o+Math.imul(O,me)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,n=Math.imul(F,ue),i=(i=Math.imul(F,ce))+Math.imul(L,ue)|0,o=Math.imul(L,ce),n=n+Math.imul(C,fe)|0,i=(i=i+Math.imul(C,le)|0)+Math.imul(B,fe)|0,o=o+Math.imul(B,le)|0;var Re=(c+(n=n+Math.imul(R,pe)|0)|0)+((8191&(i=(i=i+Math.imul(R,me)|0)+Math.imul(T,pe)|0))<<13)|0;c=((o=o+Math.imul(T,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863,n=Math.imul(F,fe),i=(i=Math.imul(F,le))+Math.imul(L,fe)|0,o=Math.imul(L,le);var Te=(c+(n=n+Math.imul(C,pe)|0)|0)+((8191&(i=(i=i+Math.imul(C,me)|0)+Math.imul(B,pe)|0))<<13)|0;c=((o=o+Math.imul(B,me)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863;var Ie=(c+(n=Math.imul(F,pe))|0)+((8191&(i=(i=Math.imul(F,me))+Math.imul(L,pe)|0))<<13)|0;return c=((o=Math.imul(L,me))+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,u[0]=ve,u[1]=ye,u[2]=ge,u[3]=be,u[4]=we,u[5]=_e,u[6]=Me,u[7]=Ee,u[8]=ke,u[9]=Ae,u[10]=Pe,u[11]=Se,u[12]=je,u[13]=xe,u[14]=Oe,u[15]=Ne,u[16]=Re,u[17]=Te,u[18]=Ie,0!==c&&(u[19]=c,r.length++),r};function p(e,t,r){return(new m).mulp(e,t,r)}function m(e,t){this.x=e,this.y=t}Math.imul||(d=l),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?d(this,e,t):r<63?l(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n>=1;return n},m.prototype.permute=function(e,t,r,n,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,t+=i/67108864|0,t+=o>>>26,this.words[r]=67108863&o}return 0!==t&&(this.words[r]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(t=0;t>>26-r}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=i);c--){var f=0|this.words[c];this.words[c]=h<<26-o|f>>>o,h=f&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,u=n.length-i.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;f--){var l=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(l=Math.min(l/s|0,67108863),n._ishlnsubmul(i,l,f);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);a&&(a.words[f]=l)}return a&&a.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},o.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var h=r.clone(),f=t.clone();!t.isZero();){for(var l=0,d=1;0==(t.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(f)),i.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(f)),a.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(a),s.isub(u)):(r.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:r.iushln(c)}},o.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,h=1;0==(t.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var f=0,l=1;0==(r.words[0]&l)&&f<26;++f,l<<=1);if(f>0)for(r.iushrn(f);f-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(a)):(r.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new M(e)},o.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)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var v={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function M(e){if("string"==typeof e){var t=o._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 E(e){M.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(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)}y.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},y.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},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},i(g,y),g.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=o}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},g.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(v[e])return v[e];var t;if("k256"===e)t=new g;else if("p224"===e)t=new b;else if("p192"===e)t=new w;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return v[e]=t,t},M.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},M.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")},M.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},M.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},M.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)},M.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},M.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)},M.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},M.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},M.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},M.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},M.prototype.isqr=function(e){return this.imul(e,e.clone())},M.prototype.sqr=function(e){return this.mul(e,e)},M.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 o(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var f=this.pow(h,i),l=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=s;0!==d.cmp(a);){for(var m=d,v=0;0!==m.cmp(a);v++)m=m.redSqr();n(v=0;n--){for(var c=t.words[n],h=u-1;h>=0;h--){var f=c>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==s?(s<<=1,s|=f,(4===++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}u=26}return i},M.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},M.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new E(e)},i(E,M),E.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},E.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},E.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},E.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},E.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:4}],3:[function(e,t,r){(function(e){t.exports=function(t){var r=new Uint8Array(t);return(e.crypto||e.msCrypto).getRandomValues(r),r}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,r){},{}],5:[function(e,t,r){"use strict";var n=r;n.version=e("../package.json").version,n.utils=e("./elliptic/utils"),n.rand=e("brorand"),n.hmacDRBG=e("./elliptic/hmac-drbg"),n.curve=e("./elliptic/curve"),n.curves=e("./elliptic/curves"),n.ec=e("./elliptic/ec"),n.eddsa=e("./elliptic/eddsa")},{"../package.json":19,"./elliptic/curve":8,"./elliptic/curves":11,"./elliptic/ec":12,"./elliptic/eddsa":15,"./elliptic/hmac-drbg":16,"./elliptic/utils":18,brorand:3}],6:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../../elliptic").utils,o=i.getNAF,s=i.getJSF,a=i.assert;function u(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){a(e.precomputed);var r=e._getDoubles(),n=o(t,1),i=(1<=u;t--)c=(c<<1)+n[t];s.push(c)}for(var h=this.jpoint(null,null,null),f=this.jpoint(null,null,null),l=i;l>0;l--){for(u=0;u=0;c--){for(t=0;c>=0&&0===s[c];c--)t++;if(c>=0&&t++,u=u.dblp(t),c<0)break;var h=s[c];a(0!==h),u="affine"===e.type?h>0?u.mixedAdd(i[h-1>>1]):u.mixedAdd(i[-h-1>>1].neg()):h>0?u.add(i[h-1>>1]):u.add(i[-h-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,r,n,i){for(var a=this._wnafT1,u=this._wnafT2,c=this._wnafT3,h=0,f=0;f=1;f-=2){var d=f-1,p=f;if(1===a[d]&&1===a[p]){var m=[t[d],null,null,t[p]];0===t[d].y.cmp(t[p].y)?(m[1]=t[d].add(t[p]),m[2]=t[d].toJ().mixedAdd(t[p].neg())):0===t[d].y.cmp(t[p].y.redNeg())?(m[1]=t[d].toJ().mixedAdd(t[p]),m[2]=t[d].add(t[p].neg())):(m[1]=t[d].toJ().mixedAdd(t[p]),m[2]=t[d].toJ().mixedAdd(t[p].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],y=s(r[d],r[p]);h=Math.max(y[0].length,h),c[d]=new Array(h),c[p]=new Array(h);for(var g=0;g=0;f--){for(var E=0;f>=0;){var k=!0;for(g=0;g=0&&E++,_=_.dblp(E),f<0)break;for(g=0;g0?A=u[g][P-1>>1]:P<0&&(A=u[g][-P-1>>1].neg()),_="affine"===A.type?_.mixedAdd(A):_.add(A))}}for(f=0;f=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(s=t,a=r),n.negative&&(n=n.neg(),i=i.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:n,b:i},{a:s,b:a}]},c.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),s=i.mul(r.a),a=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(s).sub(a),k2:u.add(c).neg()}},c.prototype.pointFromX=function(e,t){(e=new o(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(t&&!i||!t&&i)&&(n=n.redNeg()),this.point(e,n)},c.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},c.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},h.prototype.isInfinity=function(){return this.inf},h.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},h.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},h.prototype.getX=function(){return this.x.fromRed()},h.prototype.getY=function(){return this.y.fromRed()},h.prototype.mul=function(e){return e=new o(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},h.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},h.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},h.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},h.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},h.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(f,a.BasePoint),c.prototype.jpoint=function(e,t,r){return new f(this,e,t,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(r.redMul(this.z)),a=n.redSub(i),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),h=c.redMul(a),f=n.redMul(c),l=u.redSqr().redIAdd(h).redISub(f).redISub(f),d=u.redMul(f.redISub(l)).redISub(o.redMul(h)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(l,d,p)},f.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),s=r.redSub(n),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),h=r.redMul(u),f=a.redSqr().redIAdd(c).redISub(h).redISub(h),l=a.redMul(h.redISub(f)).redISub(i.redMul(c)),d=this.z.redMul(s);return this.curve.jpoint(f,l,d)},f.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}return!1},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../../elliptic":5,"../curve":8,"bn.js":2,inherits:32}],11:[function(e,t,r){"use strict";var n,i=r,o=e("hash.js"),s=e("../elliptic"),a=s.utils.assert;function u(e){"short"===e.type?this.curve=new s.curve.short(e):"edwards"===e.type?this.curve=new s.curve.edwards(e):this.curve=new s.curve.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=e("./precomputed/secp256k1")}catch(e){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},{"../elliptic":5,"./precomputed/secp256k1":17,"hash.js":20}],12:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../../elliptic"),o=i.utils.assert,s=e("./key"),a=e("./signature");function u(e){if(!(this instanceof u))return new u(e);"string"==typeof e&&(o(i.curves.hasOwnProperty(e),"Unknown curve "+e),e=i.curves[e]),e instanceof i.curves.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}t.exports=u,u.prototype.keyPair=function(e){return new s(this,e)},u.prototype.keyFromPrivate=function(e,t){return s.fromPrivate(this,e,t)},u.prototype.keyFromPublic=function(e,t){return s.fromPublic(this,e,t)},u.prototype.genKeyPair=function(e){e||(e={});for(var t=new i.hmacDRBG({hash:this.hash,pers:e.pers,entropy:e.entropy||i.rand(this.hash.hmacStrength),nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var s=new n(t.generate(r));if(!(s.cmp(o)>0))return s.iaddn(1),this.keyFromPrivate(s)}},u.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},u.prototype.sign=function(e,t,r,o){"object"==typeof r&&(o=r,r=null),o||(o={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var s=this.n.byteLength(),u=t.getPrivate().toArray("be",s),c=e.toArray("be",s),h=new i.hmacDRBG({hash:this.hash,entropy:u,nonce:c,pers:o.pers,persEnc:o.persEnc}),f=this.n.sub(new n(1)),l=0;;l++){var d=o.k?o.k(l):new n(h.generate(this.n.byteLength()));if(!((d=this._truncateToN(d,!0)).cmpn(1)<=0||d.cmp(f)>=0)){var p=this.g.mul(d);if(!p.isInfinity()){var m=p.getX(),v=m.umod(this.n);if(0!==v.cmpn(0)){var y=d.invm(this.n).mul(v.mul(t.getPrivate()).iadd(e));if(0!==(y=y.umod(this.n)).cmpn(0)){var g=(p.getY().isOdd()?1:0)|(0!==m.cmp(v)?2:0);return o.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),g^=1),new a({r:v,s:y,recoveryParam:g})}}}}}},u.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var o=(t=new a(t,"hex")).r,s=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var u,c=s.invm(this.n),h=c.mul(e).umod(this.n),f=c.mul(o).umod(this.n);return this.curve._maxwellTrick?!(u=this.g.jmulAdd(h,r.getPublic(),f)).isInfinity()&&u.eqXToP(o):!(u=this.g.mulAdd(h,r.getPublic(),f)).isInfinity()&&0===u.getX().umod(this.n).cmp(o)},u.prototype.recoverPubKey=function(e,t,r,i){o((3&r)===r,"The recovery param is more than two bits"),t=new a(t,i);var s=this.n,u=new n(e),c=t.r,h=t.s,f=1&r,l=r>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");c=l?this.curve.pointFromX(c.add(this.curve.n),f):this.curve.pointFromX(c,f);var d=t.r.invm(s),p=s.sub(u).mul(d).umod(s),m=h.mul(d).umod(s);return this.g.mulAdd(p,c,m)},u.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new a(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},{"../../elliptic":5,"./key":13,"./signature":14,"bn.js":2}],13:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../../elliptic").utils.assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}t.exports=o,o.fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return""}},{"../../elliptic":5,"bn.js":2}],14:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../../elliptic").utils,o=i.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,s=t.place;o>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}t.exports=s,s.prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new function(){this.place=0};if(48!==e[r.place++])return!1;if(a(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var o=a(e,r),s=e.slice(r.place,o+r.place);if(r.place+=o,2!==e[r.place++])return!1;var u=a(e,r);if(e.length!==u+r.place)return!1;var c=e.slice(r.place,u+r.place);return 0===s[0]&&128&s[1]&&(s=s.slice(1)),0===c[0]&&128&c[1]&&(c=c.slice(1)),this.r=new n(s),this.s=new n(c),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=u(t),r=u(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];c(n,t.length),(n=n.concat(t)).push(2),c(n,r.length);var o=n.concat(r),s=[48];return c(s,o.length),s=s.concat(o),i.encode(s,e)}},{"../../elliptic":5,"bn.js":2}],15:[function(e,t,r){arguments[4][7][0].apply(r,arguments)},{dup:7}],16:[function(e,t,r){"use strict";var n=e("hash.js"),i=e("../elliptic").utils,o=i.assert;function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this.reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc),r=i.toArray(e.nonce,e.nonceEnc),n=i.toArray(e.pers,e.persEnc);o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}t.exports=s,s.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this.reseed=1},s.prototype.generate=function(e,t,r,n){if(this.reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n),this._update(r));for(var o=[];o.length>8,s=255&i;o?r.push(o,s):r.push(s)}return r},n.zero2=o,n.toHex=s,n.encode=function(e,t){return"hex"===t?s(e):e},n.getNAF=function(e,t){for(var r=[],n=1<=0;){var o;if(i.isOdd()){var s=i.andln(n-1);o=s>(n>>1)-1?(n>>1)-s:s,i.isubn(o)}else o=0;r.push(o);for(var a=0!==i.cmpn(0)&&0===i.andln(n-1)?t+1:1,u=1;u0||t.cmpn(-i)>0;){var o,s,a,u=e.andln(3)+n&3,c=t.andln(3)+i&3;3===u&&(u=-1),3===c&&(c=-1),o=0==(1&u)?0:3!=(a=e.andln(7)+n&7)&&5!==a||2!==c?u:-u,r[0].push(o),s=0==(1&c)?0:3!=(a=t.andln(7)+i&7)&&5!==a||2!==u?c:-c,r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},{"bn.js":2}],19:[function(e,t,r){t.exports={version:"6.3.3"}},{}],20:[function(e,t,r){var n=r;n.utils=e("./hash/utils"),n.common=e("./hash/common"),n.sha=e("./hash/sha"),n.ripemd=e("./hash/ripemd"),n.hmac=e("./hash/hmac"),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},{"./hash/common":21,"./hash/hmac":22,"./hash/ripemd":23,"./hash/sha":24,"./hash/utils":31}],21:[function(e,t,r){"use strict";var n=e("./utils"),i=e("minimalistic-assert");function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}r.BlockHash=o,o.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;othis.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t>>3},r.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},{"../utils":31}],31:[function(e,t,r){"use strict";var n=e("minimalistic-assert"),i=e("inherits");function o(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function a(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}r.inherits=i,r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n>8,s=255&i;o?r.push(o,s):r.push(s)}else for(n=0;n>>0}return s},r.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},r.rotr32=function(e,t){return e>>>t|e<<32-t},r.rotl32=function(e,t){return e<>>32-t},r.sum32=function(e,t){return e+t>>>0},r.sum32_3=function(e,t,r){return e+t+r>>>0},r.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},r.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},r.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,s=(o>>0,e[t+1]=o},r.sum64_hi=function(e,t,r,n){return(t+n>>>0>>0},r.sum64_lo=function(e,t,r,n){return t+n>>>0},r.sum64_4_hi=function(e,t,r,n,i,o,s,a){var u=0,c=t;return u+=(c=c+n>>>0)>>0)>>0)>>0},r.sum64_4_lo=function(e,t,r,n,i,o,s,a){return t+n+o+a>>>0},r.sum64_5_hi=function(e,t,r,n,i,o,s,a,u,c){var h=0,f=t;return h+=(f=f+n>>>0)>>0)>>0)>>0)>>0},r.sum64_5_lo=function(e,t,r,n,i,o,s,a,u,c){return t+n+o+a+c>>>0},r.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},r.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},r.shr64_hi=function(e,t,r){return e>>>r},r.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},{inherits:32,"minimalistic-assert":34}],32:[function(e,t,r){"function"==typeof Object.create?t.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},{}],33:[function(e,t,r){(function(e,r){!function(){"use strict";var n="object"==typeof window?window:{};!n.JS_SHA3_NO_NODE_JS&&"object"==typeof e&&e.versions&&e.versions.node&&(n=r);for(var i=!n.JS_SHA3_NO_COMMON_JS&&"object"==typeof t&&t.exports,o="0123456789abcdef".split(""),s=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],u=[224,256,384,512],c=["hex","buffer","arrayBuffer","array"],h=function(e,t,r){return function(n){return new _(e,t,e).update(n)[r]()}},f=function(e,t,r){return function(n,i){return new _(e,t,i).update(n)[r]()}},l=function(e,t){var r=h(e,t,"hex");r.create=function(){return new _(e,t,e)},r.update=function(e){return r.create().update(e)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}_.prototype.update=function(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,i=e.length,o=this.blocks,a=this.byteCount,u=this.blockCount,c=0,h=this.s;c>2]|=e[c]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(o[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=o[u],r=0;r>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+o[15&e]+o[e>>12&15]+o[e>>8&15]+o[e>>20&15]+o[e>>16&15]+o[e>>28&15]+o[e>>24&15];a%t==0&&(M(r),s=0)}return i&&(e=r[s],i>0&&(u+=o[e>>4&15]+o[15&e]),i>1&&(u+=o[e>>12&15]+o[e>>8&15]),i>2&&(u+=o[e>>20&15]+o[e>>16&15])),u},_.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(a);for(var u=new Uint32Array(e);s>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;a%r==0&&M(n)}return o&&(e=a<<2,t=n[s],o>0&&(u[e]=255&t),o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u};var M=function(e){var t,r,n,i,o,s,u,c,h,f,l,d,p,m,v,y,g,b,w,_,M,E,k,A,P,S,j,x,O,N,R,T,I,C,B,D,F,L,U,z,H,K,G,q,V,W,J,Z,X,$,Q,Y,ee,te,re,ne,ie,oe,se,ae,ue,ce,he;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],h=e[5]^e[15]^e[25]^e[35]^e[45],f=e[6]^e[16]^e[26]^e[36]^e[46],l=e[7]^e[17]^e[27]^e[37]^e[47],t=(d=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(c<<1|h>>>31),r=o^(h<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(f<<1|l>>>31),r=u^(l<<1|f>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(d<<1|p>>>31),r=h^(p<<1|d>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=f^(i<<1|o>>>31),r=l^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,m=e[0],v=e[1],W=e[11]<<4|e[10]>>>28,J=e[10]<<4|e[11]>>>28,x=e[20]<<3|e[21]>>>29,O=e[21]<<3|e[20]>>>29,ae=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,K=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,C=e[2]<<1|e[3]>>>31,B=e[3]<<1|e[2]>>>31,y=e[13]<<12|e[12]>>>20,g=e[12]<<12|e[13]>>>20,Z=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,N=e[33]<<13|e[32]>>>19,R=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,he=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,D=e[14]<<6|e[15]>>>26,F=e[15]<<6|e[14]>>>26,b=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,$=e[34]<<15|e[35]>>>17,Q=e[35]<<15|e[34]>>>17,T=e[45]<<29|e[44]>>>3,I=e[44]<<29|e[45]>>>3,A=e[6]<<28|e[7]>>>4,P=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,U=e[27]<<25|e[26]>>>7,_=e[36]<<21|e[37]>>>11,M=e[37]<<21|e[36]>>>11,Y=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,q=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,S=e[18]<<20|e[19]>>>12,j=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,se=e[28]<<7|e[29]>>>25,z=e[38]<<8|e[39]>>>24,H=e[39]<<8|e[38]>>>24,E=e[48]<<14|e[49]>>>18,k=e[49]<<14|e[48]>>>18,e[0]=m^~y&b,e[1]=v^~g&w,e[10]=A^~S&x,e[11]=P^~j&O,e[20]=C^~D&L,e[21]=B^~F&U,e[30]=q^~W&Z,e[31]=V^~J&X,e[40]=te^~ne&oe,e[41]=re^~ie&se,e[2]=y^~b&_,e[3]=g^~w&M,e[12]=S^~x&N,e[13]=j^~O&R,e[22]=D^~L&z,e[23]=F^~U&H,e[32]=W^~Z&$,e[33]=J^~X&Q,e[42]=ne^~oe&ae,e[43]=ie^~se&ue,e[4]=b^~_&E,e[5]=w^~M&k,e[14]=x^~N&T,e[15]=O^~R&I,e[24]=L^~z&K,e[25]=U^~H&G,e[34]=Z^~$&Y,e[35]=X^~Q&ee,e[44]=oe^~ae&ce,e[45]=se^~ue&he,e[6]=_^~E&m,e[7]=M^~k&v,e[16]=N^~T&A,e[17]=R^~I&P,e[26]=z^~K&C,e[27]=H^~G&B,e[36]=$^~Y&q,e[37]=Q^~ee&V,e[46]=ae^~ce&te,e[47]=ue^~he&re,e[8]=E^~m&y,e[9]=k^~v&g,e[18]=T^~A&S,e[19]=I^~P&j,e[28]=K^~C&D,e[29]=G^~B&F,e[38]=Y^~q&W,e[39]=ee^~V&J,e[48]=ce^~te&ne,e[49]=he^~re&ie,e[0]^=a[n],e[1]^=a[n+1]};if(i)t.exports=p;else for(v=0;v=64;){var d,p,m,v,y,g=r,b=n,w=i,_=o,M=s,E=a,k=u,A=c;for(p=0;p<16;p++)m=f+4*p,h[p]=(255&e[m])<<24|(255&e[m+1])<<16|(255&e[m+2])<<8|255&e[m+3];for(p=16;p<64;p++)v=((d=h[p-2])>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,y=((d=h[p-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,h[p]=(v+h[p-7]|0)+(y+h[p-16]|0)|0;for(p=0;p<64;p++)v=(((M>>>6|M<<26)^(M>>>11|M<<21)^(M>>>25|M<<7))+(M&E^~M&k)|0)+(A+(t[p]+h[p]|0)|0)|0,y=((g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10))+(g&b^g&w^b&w)|0,A=k,k=E,E=M,M=_+v|0,_=w,w=b,b=g,g=v+y|0;r=r+g|0,n=n+b|0,i=i+w|0,o=o+_|0,s=s+M|0,a=a+E|0,u=u+k|0,c=c+A|0,f+=64,l-=64}}f(e);var l,d=e.length%64,p=e.length/536870912|0,m=e.length<<3,v=d<56?56:120,y=e.slice(e.length-d,e.length);for(y.push(128),l=d+1;l>>24&255),y.push(p>>>16&255),y.push(p>>>8&255),y.push(p>>>0&255),y.push(m>>>24&255),y.push(m>>>16&255),y.push(m>>>8&255),y.push(m>>>0&255),f(y),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255]}function s(e,t,r){var n;e=e.length<=64?e:o(e);var i=64+t.length+4,s=new Array(i),a=new Array(64),u=[];for(n=0;n<64;n++)s[n]=54;for(n=0;n=i-4;e--){if(s[e]++,s[e]<=255)return;s[e]=0}}for(;r>=32;)c(),u=u.concat(o(a.concat(o(s)))),r-=32;return r>0&&(c(),u=u.concat(o(a.concat(o(s))).slice(0,r))),u}function a(e,t,r,n,i){var o;for(f(e,16*(2*r-1),i,0,16),o=0;o<2*r;o++)h(e,16*o,i,16),c(i,n),f(i,0,e,t+16*o,16);for(o=0;o>>32-t}function c(e,t){f(e,0,t,0,16);for(var r=8;r>0;r-=2)t[4]^=u(t[0]+t[12],7),t[8]^=u(t[4]+t[0],9),t[12]^=u(t[8]+t[4],13),t[0]^=u(t[12]+t[8],18),t[9]^=u(t[5]+t[1],7),t[13]^=u(t[9]+t[5],9),t[1]^=u(t[13]+t[9],13),t[5]^=u(t[1]+t[13],18),t[14]^=u(t[10]+t[6],7),t[2]^=u(t[14]+t[10],9),t[6]^=u(t[2]+t[14],13),t[10]^=u(t[6]+t[2],18),t[3]^=u(t[15]+t[11],7),t[7]^=u(t[3]+t[15],9),t[11]^=u(t[7]+t[3],13),t[15]^=u(t[11]+t[7],18),t[1]^=u(t[0]+t[3],7),t[2]^=u(t[1]+t[0],9),t[3]^=u(t[2]+t[1],13),t[0]^=u(t[3]+t[2],18),t[6]^=u(t[5]+t[4],7),t[7]^=u(t[6]+t[5],9),t[4]^=u(t[7]+t[6],13),t[5]^=u(t[4]+t[7],18),t[11]^=u(t[10]+t[9],7),t[8]^=u(t[11]+t[10],9),t[9]^=u(t[8]+t[11],13),t[10]^=u(t[9]+t[8],18),t[12]^=u(t[15]+t[14],7),t[13]^=u(t[12]+t[15],9),t[14]^=u(t[13]+t[12],13),t[15]^=u(t[14]+t[13],18);for(r=0;r<16;++r)e[r]+=t[r]}function h(e,t,r,n){for(var i=0;i=256)return!1}return!0}function d(e,t){var r=parseInt(e);if(e!=r)throw new Error("invalid "+t);return r}function p(t,r,n,o,u,c,p){if(!p)throw new Error("missing callback");if(n=d(n,"N"),o=d(o,"r"),u=d(u,"p"),c=d(c,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(n>i/128/o)throw new Error("N too large");if(o>i/128/u)throw new Error("r too large");if(!l(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!l(r))throw new Error("salt must be an array or buffer");r=Array.prototype.slice.call(r);for(var m=s(t,r,128*u*o),v=new Uint32Array(32*u*o),y=0;yR&&(r=R);for(var e=0;eR&&(r=R);for(e=0;e>0&255),m.push(v[e]>>8&255),m.push(v[e]>>16&255),m.push(v[e]>>24&255);var d=s(t,m,c);return p(null,1,d)}T(I)};I()}void 0!==r?t.exports=p:n&&(n.scrypt&&(n._scrypt=n.scrypt),n.scrypt=p)}(this)}).call(this,e("timers").setImmediate)},{timers:37}],37:[function(e,t,r){(function(e){t.exports={setImmediate:e.setImmediate}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],38:[function(e,t,r){(function(e){var r;if(e.crypto&&crypto.getRandomValues){var n=new Uint8Array(16);r=function(){return crypto.getRandomValues(n),n}}if(!r){var i=new Array(16);r=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],39:[function(e,t,r){for(var n=e("./rng"),i=[],o={},s=0;s<256;s++)i[s]=(s+256).toString(16).substr(1),o[i[s]]=s;function a(e,t){var r=t||0,n=i;return n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]}var u=n(),c=[1|u[0],u[1],u[2],u[3],u[4],u[5]],h=16383&(u[6]<<8|u[7]),f=0,l=0;function d(e,t,r){var i=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||n)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var s=0;s<16;s++)t[i+s]=o[s];return t||a(o)}var p=d;p.v1=function(e,t,r){var n=t&&r||0,i=t||[],o=void 0!==(e=e||{}).clockseq?e.clockseq:h,s=void 0!==e.msecs?e.msecs:(new Date).getTime(),u=void 0!==e.nsecs?e.nsecs:l+1,d=s-f+(u-l)/1e4;if(d<0&&void 0===e.clockseq&&(o=o+1&16383),(d<0||s>f)&&void 0===e.nsecs&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");f=s,l=u,h=o;var p=(1e4*(268435455&(s+=122192928e5))+u)%4294967296;i[n++]=p>>>24&255,i[n++]=p>>>16&255,i[n++]=p>>>8&255,i[n++]=255&p;var m=s/4294967296*1e4&268435455;i[n++]=m>>>8&255,i[n++]=255&m,i[n++]=m>>>24&15|16,i[n++]=m>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var v=e.node||c,y=0;y<6;y++)i[n+y]=v[y];return t||a(i)},p.v4=d,p.parse=function(e,t,r){var n=t&&r||0,i=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,function(e){i<16&&(t[n+i++]=o[e])});i<16;)t[n+i++]=0;return t},p.unparse=a,t.exports=p},{"./rng":38}],40:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bytes"),o=n(e("@ethersproject/errors")),s=e("@ethersproject/properties"),a=e("./coders/abstract-coder"),u=e("./coders/address"),c=e("./coders/array"),h=e("./coders/boolean"),f=e("./coders/bytes"),l=e("./coders/fixed-bytes"),d=e("./coders/null"),p=e("./coders/number"),m=e("./coders/string"),v=e("./coders/tuple"),y=e("./fragments"),g=new RegExp(/^bytes([0-9]*)$/),b=new RegExp(/^(u?int)([0-9]*)$/),w=function(){function e(t){var r=this.constructor;o.checkNew(r,e),s.defineReadOnly(this,"coerceFunc",t||null)}return e.prototype._getCoder=function(e){var t=this;switch(e.baseType){case"address":return new u.AddressCoder(e.name);case"bool":return new h.BooleanCoder(e.name);case"string":return new m.StringCoder(e.name);case"bytes":return new f.BytesCoder(e.name);case"array":return new c.ArrayCoder(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new v.TupleCoder((e.components||[]).map(function(e){return t._getCoder(e)}),e.name);case"":return new d.NullCoder(e.name)}var r,n=e.type.match(b);return n?((0===(r=parseInt(n[2]||"256"))||r>256||r%8!=0)&&o.throwError("invalid "+n[1]+" bit length",o.INVALID_ARGUMENT,{arg:"param",value:e}),new p.NumberCoder(r/8,"int"===n[1],e.name)):(n=e.type.match(g))?((0===(r=parseInt(n[1]))||r>32)&&o.throwError("invalid bytes length",o.INVALID_ARGUMENT,{arg:"param",value:e}),new l.FixedBytesCoder(r,e.name)):o.throwError("invalid type",o.INVALID_ARGUMENT,{arg:"type",value:e.type})},e.prototype._getWordSize=function(){return 32},e.prototype._getReader=function(e){return new a.Reader(e,this._getWordSize(),this.coerceFunc)},e.prototype._getWriter=function(){return new a.Writer(this._getWordSize())},e.prototype.encode=function(e,t){var r=this;e.length!==t.length&&o.throwError("types/values length mismatch",o.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});var n=e.map(function(e){return r._getCoder(y.ParamType.from(e))}),i=new v.TupleCoder(n,"_"),s=this._getWriter();return i.encode(s,t),s.data},e.prototype.decode=function(e,t){var r=this,n=e.map(function(e){return r._getCoder(y.ParamType.from(e))});return new v.TupleCoder(n,"_").decode(this._getReader(i.arrayify(t)))},e}();r.AbiCoder=w,r.defaultAbiCoder=new w},{"./coders/abstract-coder":41,"./coders/address":42,"./coders/array":44,"./coders/boolean":45,"./coders/bytes":46,"./coders/fixed-bytes":47,"./coders/null":48,"./coders/number":49,"./coders/string":50,"./coders/tuple":51,"./fragments":52,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82}],41:[function(e,t,r){"use trict";"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bytes"),o=e("@ethersproject/bignumber"),s=n(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=function(){function e(e,t,r,n){this.name=e,this.type=t,this.localName=r,this.dynamic=n}return e.prototype._throwError=function(e,t){s.throwError(e,s.INVALID_ARGUMENT,{argument:this.localName,coder:this,value:t})},e}();r.Coder=u;var c=function(){function e(e){a.defineReadOnly(this,"wordSize",e||32),this._data=i.arrayify([]),this._padding=new Uint8Array(e)}return Object.defineProperty(e.prototype,"data",{get:function(){return i.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._data.length},enumerable:!0,configurable:!0}),e.prototype._writeData=function(e){return this._data=i.concat([this._data,e]),e.length},e.prototype.writeBytes=function(e){var t=i.arrayify(e);return t.length%this.wordSize&&(t=i.concat([t,this._padding.slice(t.length%this.wordSize)])),this._writeData(t)},e.prototype._getValue=function(e){var t=i.arrayify(o.BigNumber.from(e));return t.length>this.wordSize&&s.throwError("value out-of-bounds",s.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=i.concat([this._padding.slice(t.length%this.wordSize),t])),t},e.prototype.writeValue=function(e){return this._writeData(this._getValue(e))},e.prototype.writeUpdatableValue=function(){var e=this,t=this.length;return this.writeValue(0),function(r){e._data.set(e._getValue(r),t)}},e}();r.Writer=c;var h=function(){function e(e,t,r){a.defineReadOnly(this,"_data",i.arrayify(e)),a.defineReadOnly(this,"wordSize",t||32),a.defineReadOnly(this,"_coerceFunc",r),this._offset=0}return Object.defineProperty(e.prototype,"data",{get:function(){return i.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"consumed",{get:function(){return this._offset},enumerable:!0,configurable:!0}),e.coerce=function(e,t){var r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t},e.prototype.coerce=function(t,r){return this._coerceFunc?this._coerceFunc(t,r):e.coerce(t,r)},e.prototype._peekBytes=function(e,t){var r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&s.throwError("data out-of-bounds",s.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r}),this._data.slice(this._offset,this._offset+r)},e.prototype.subReader=function(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc)},e.prototype.readBytes=function(e){var t=this._peekBytes(0,e);return this._offset+=t.length,t.slice(0,e)},e.prototype.readValue=function(){return o.BigNumber.from(this.readBytes(this.wordSize))},e}();r.Reader=h},{"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82}],42:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=e("@ethersproject/address"),s=e("@ethersproject/bytes"),a=function(e){function t(t){return e.call(this,"address","address",t,!1)||this}return i(t,e),t.prototype.encode=function(e,t){try{o.getAddress(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)},t.prototype.decode=function(e){return o.getAddress(s.hexZeroPad(e.readValue().toHexString(),20))},t}(e("./abstract-coder").Coder);r.AddressCoder=a},{"./abstract-coder":41,"@ethersproject/address":57,"@ethersproject/bytes":63}],43:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this,t.name,t.type,void 0,t.dynamic)||this;return r.coder=t,r}return i(t,e),t.prototype.encode=function(e,t){return this.coder.encode(e,t)},t.prototype.decode=function(e){return this.coder.decode(e)},t}(e("./abstract-coder").Coder);r.AnonymousCoder=o},{"./abstract-coder":41}],44:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("./abstract-coder"),u=e("./anonymous");function c(e,t,r){if(Array.isArray(r));else if(r&&"object"==typeof r){var n=[];t.forEach(function(e){n.push(r[e.localName])}),r=n}else s.throwError("invalid tuple value",s.INVALID_ARGUMENT,{coderType:"tuple",value:r});t.length!==r.length&&s.throwError("types/value length mismatch",s.INVALID_ARGUMENT,{coderType:"tuple",value:r});var i=new a.Writer(e.wordSize),o=new a.Writer(e.wordSize),u=[];t.forEach(function(e,t){var n=r[t];if(e.dynamic){var s=o.length;e.encode(o,n);var a=i.writeUpdatableValue();u.push(function(e){a(e+s)})}else e.encode(i,n)}),u.forEach(function(e){e(i.length)});var c=e.writeBytes(i.data);return c+=e.writeBytes(o.data)}function h(e,t){var r=[],n=e.subReader(0),i=0;return t.forEach(function(t){var o=null;if(t.dynamic){var s=e.readValue(),a=n.subReader(s.toNumber());o=t.decode(a),i+=a.consumed}else o=t.decode(e);void 0!=o&&r.push(o)}),e.readBytes(i),t.forEach(function(e,t){var n=e.localName;n&&("length"===n&&(n="_length"),null==r[n]&&(r[n]=r[t]))}),r}r.pack=c,r.unpack=h;var f=function(e){function t(t,r,n){var i=this,o=t.type+"["+(r>=0?r:"")+"]",s=-1===r||t.dynamic;return(i=e.call(this,"array",o,n,s)||this).coder=t,i.length=r,i}return i(t,e),t.prototype.encode=function(e,t){Array.isArray(t)||this._throwError("expected array value",t);var r=this.length;-1===r&&(r=t.length,e.writeValue(t.length)),s.checkArgumentCount(r,t.length," in coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i2)throw new Error("invalid signature");if(!r[1].match(/^[0-9]+$/))throw new Error("invalid signature gas");return t.gas=s.BigNumber.from(r[1]),r[0]}return e}function g(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach(function(e){switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}})}r.EventFragment=v;var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.from=function(e){return"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(u.isNamedInstance(t,e))return e;if("constructor"!==e.type)throw new Error("invalid constructor object - "+e.type);return new t(c,{type:e.type,inputs:e.inputs?e.inputs.map(d.fromObject):[],payable:null==e.payable||!!e.payable,gas:e.gas?s.BigNumber.from(e.gas):null})},t.fromString=function(e){var r={type:"constructor"},n=(e=y(e,r)).match(k);if(!n)throw new Error("invalid constructor: "+e);if("constructor"!==n[1].trim())throw new Error("invalid constructor");return r.inputs=p(n[2].trim(),!1),g(n[3].trim(),r),t.fromObject(r)},t}(m);r.ConstructorFragment=b;var w=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.from=function(e){return"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(u.isNamedInstance(t,e))return e;if("function"!==e.type)throw new Error("invalid function object - "+e.type);return new t(c,{type:e.type,name:E(e.name),constant:!!e.constant,inputs:e.inputs?e.inputs.map(d.fromObject):[],outputs:e.outputs?e.outputs.map(d.fromObject):[],payable:null==e.payable||!!e.payable,stateMutability:null!=e.stateMutability?function(e){if("string"!=typeof e)throw new Error("requires a string");return e}(e.stateMutability):null,gas:e.gas?s.BigNumber.from(e.gas):null})},t.fromString=function(e){var r={type:"function"},n=(e=y(e,r)).split(" returns ");if(n.length>2)throw new Error("invalid function");var i=n[0].match(k);if(!i)throw new Error("invalid signature");if(r.name=i[1].trim(),!r.name.match(M))throw new Error("invalid identifier: '"+r.name+"'");if(r.inputs=p(i[2],!1),g(i[3].trim(),r),n.length>1){var o=n[1].match(k);if(""!=o[1].trim()||""!=o[3].trim())throw new Error("unexpected tokens");r.outputs=p(o[2],!1)}else r.outputs=[];return t.fromObject(r)},t}(b);function _(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}r.FunctionFragment=w;var M=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function E(e){if(!e||!e.match(M))throw new Error("invalid identifier: '"+e+"'");return e}var k=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")},{"@ethersproject/bignumber":62,"@ethersproject/errors":66,"@ethersproject/properties":82}],53:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./fragments");r.ConstructorFragment=n.ConstructorFragment,r.EventFragment=n.EventFragment,r.Fragment=n.Fragment,r.FunctionFragment=n.FunctionFragment,r.ParamType=n.ParamType;var i=e("./abi-coder");r.AbiCoder=i.AbiCoder,r.defaultAbiCoder=i.defaultAbiCoder;var o=e("./interface");r.Indexed=o.Indexed,r.Interface=o.Interface},{"./abi-coder":40,"./fragments":52,"./interface":54}],54:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=e("@ethersproject/address"),a=e("@ethersproject/bignumber"),u=e("@ethersproject/bytes"),c=e("@ethersproject/hash"),h=e("@ethersproject/keccak256"),f=o(e("@ethersproject/errors")),l=e("@ethersproject/properties"),d=e("./abi-coder"),p=e("./fragments"),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(l.Description);r.LogDescription=m;var v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(l.Description);r.TransactionDescription=v;var y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(l.Description);r.Indexed=y;var g=function(){return function(){}}();r.Result=g;var b=function(){function e(t){var r=this.constructor,n=this;f.checkNew(r,e);var i=[];i="string"==typeof t?JSON.parse(t):t,l.defineReadOnly(this,"fragments",i.map(function(e){return l.isNamedInstance(p.Fragment,e)?e:p.Fragment.from(e)}).filter(function(e){return null!=e})),l.defineReadOnly(this,"_abiCoder",r.getAbiCoder()),l.defineReadOnly(this,"functions",{}),l.defineReadOnly(this,"errors",{}),l.defineReadOnly(this,"events",{}),l.defineReadOnly(this,"structs",{}),this.fragments.forEach(function(e){var t=null;switch(e.type){case"constructor":return n.deploy?void f.warn("duplicate definition - constructor"):void l.defineReadOnly(n,"deploy",e);case"function":t=n.functions;break;case"event":t=n.events;break;default:return}var r=e.format();t[r]?f.warn("duplicate definition - "+r):t[r]=e}),[this.events,this.functions].forEach(function(e){var t=function(e){var t={};for(var r in e){var n=e[r].name;t[n]||(t[n]=0),t[n]++}return t}(e);Object.keys(e).forEach(function(r){var n=e[r];1===t[n.name]?e[n.name]=n:f.warn("duplicate definition - "+n.name)})}),this.deploy||l.defineReadOnly(this,"deploy",p.ConstructorFragment.from({type:"constructor"}))}return e.getAbiCoder=function(){return d.defaultAbiCoder},e.getAddress=function(e){return s.getAddress(e)},e.prototype._sighashify=function(e){return u.hexDataSlice(c.id(e.format()),0,4)},e.prototype._topicify=function(e){return c.id(e.format())},e.prototype.getFunction=function(e){return u.isHexString(e)?w(e,this.getSighash.bind(this),this.functions):-1===e.indexOf("(")?this.functions[e.trim()]||null:this.functions[p.FunctionFragment.fromString(e).format()]},e.prototype.getEvent=function(e){return u.isHexString(e)?w(e,this.getEventTopic.bind(this),this.events):-1===e.indexOf("(")?this.events[e]:this.events[p.EventFragment.fromString(e).format()]},e.prototype.getSighash=function(e){return"string"==typeof e&&(e=this.getFunction(e)),this._sighashify(e)},e.prototype.getEventTopic=function(e){return"string"==typeof e&&(e=this.getEvent(e)),this._topicify(e)},e.prototype._encodeParams=function(e,t){return this._abiCoder.encode(e,t)},e.prototype.encodeDeploy=function(e){return this._encodeParams(this.deploy.inputs,e||[])},e.prototype.encodeFunctionData=function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),u.hexlify(u.concat([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))},e.prototype.decodeFunctionResult=function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=u.arrayify(t),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:"0x08c379a0"===u.hexlify(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4)))}return f.throwError("call revert exception",f.CALL_EXCEPTION,{method:e.format(),errorSignature:i,errorArgs:[n],reason:n})},e.prototype.encodeFilterTopics=function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&f.throwError("too many arguments for "+e.format(),f.UNEXPECTED_ARGUMENT,{argument:"values",value:t});var n=[];for(e.anonymous||n.push(this.getEventTopic(e)),t.forEach(function(t,i){var o=e.inputs[i];o.indexed?null==t?n.push(null):"string"===o.type?n.push(c.id(t)):"bytes"===o.type?n.push(h.keccak256(u.hexlify(t))):-1!==o.type.indexOf("[")||"tuple"===o.type.substring(0,5)?f.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,t):("address"===o.type&&r._abiCoder.encode(["address"],[t]),n.push(u.hexZeroPad(u.hexlify(t),32))):null!=t&&f.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,t)});n.length&&null===n[n.length-1];)n.pop();return n},e.prototype.decodeEventLog=function(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){var n=this.getEventTopic(e);u.isHexString(r[0],32)&&r[0].toLowerCase()===n||f.throwError("fragment/topic mismatch",f.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],o=[],s=[];e.inputs.forEach(function(e,t){e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(i.push(p.ParamType.fromObject({type:"bytes32",name:e.name})),s.push(!0)):(i.push(e),s.push(!1)):(o.push(e),s.push(!1))});var a=null!=r?this._abiCoder.decode(i,u.concat(r)):null,c=this._abiCoder.decode(o,t),h=[],l=0,d=0;return e.inputs.forEach(function(e,t){e.indexed?null==a?h[t]=new y({hash:null}):s[t]?h[t]=new y({hash:a[d++]}):h[t]=a[d++]:h[t]=c[l++]}),h},e.prototype.parseTransaction=function(e){var t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new v({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:a.BigNumber.from(e.value||"0")}):null},e.prototype.parseLog=function(e){var t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new m({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),values:this.decodeEventLog(t,e.data,e.topics)})},e}();function w(e,t,r){for(var n in r)if(-1!==n.indexOf("(")){var i=r[n];if(t(i)===e)return i}return null}r.Interface=b},{"./abi-coder":40,"./fragments":52,"@ethersproject/address":57,"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/hash":72,"@ethersproject/keccak256":79,"@ethersproject/properties":82}],55:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=e("@ethersproject/bytes"),a=o(e("@ethersproject/errors")),u=e("@ethersproject/errors"),c=e("@ethersproject/properties"),h=function(){return function(e){c.defineReadOnly(this,"expiry",e||0)}}();r.ForkEvent=h;var f=function(e){function t(t,r){var n;return s.isHexString(t,32)||a.throwArgumentError("invalid blockhash","blockhash",t),n=e.call(this,r)||this,c.defineReadOnly(n,"blockhash",t),n}return i(t,e),t}(h);r.BlockForkEvent=f;var l=function(e){function t(t,r){var n;return s.isHexString(t,32)||a.throwArgumentError("invalid transaction hash","hash",t),n=e.call(this,r)||this,c.defineReadOnly(n,"hash",t),n}return i(t,e),t}(h);r.TransactionForkEvent=l;var d=function(e){function t(t,r,n){var i;return s.isHexString(t,32)||a.throwArgumentError("invalid transaction hash","beforeHash",t),s.isHexString(r,32)||a.throwArgumentError("invalid transaction hash","afterHash",r),i=e.call(this,n)||this,c.defineReadOnly(i,"beforeHash",t),c.defineReadOnly(i,"afterHash",r),i}return i(t,e),t}(h);r.TransactionOrderForkEvent=d;var p=function(){function e(){var t=this.constructor;u.checkAbstract(t,e)}return e.prototype.addListener=function(e,t){return this.on(e,t)},e.prototype.removeListener=function(e,t){return this.off(e,t)},e}();r.Provider=p},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82}],56:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=["chainId","data","from","gasLimit","gasPrice","nonce","to","value"],c=function(){function e(){var t=this.constructor;s.checkAbstract(t,e)}return e.prototype.getBalance=function(e){return this._checkProvider("getBalance"),this.provider.getBalance(this.getAddress(),e)},e.prototype.getTransactionCount=function(e){return this._checkProvider("getTransactionCount"),this.provider.getTransactionCount(this.getAddress(),e)},e.prototype.estimateGas=function(e){var t=this;return this._checkProvider("estimateGas"),a.resolveProperties(this.checkTransaction(e)).then(function(e){return t.provider.estimateGas(e)})},e.prototype.call=function(e,t){var r=this;return this._checkProvider("call"),a.resolveProperties(this.checkTransaction(e)).then(function(e){return r.provider.call(e)})},e.prototype.sendTransaction=function(e){var t=this;return this._checkProvider("sendTransaction"),this.populateTransaction(e).then(function(e){return t.signTransaction(e).then(function(e){return t.provider.sendTransaction(e)})})},e.prototype.getChainId=function(){return this._checkProvider("getChainId"),this.provider.getNetwork().then(function(e){return e.chainId})},e.prototype.getGasPrice=function(){return this._checkProvider("getGasPrice"),this.provider.getGasPrice()},e.prototype.resolveName=function(e){return this._checkProvider("resolveName"),this.provider.resolveName(e)},e.prototype.checkTransaction=function(e){for(var t in e)-1===u.indexOf(t)&&s.throwArgumentError("invalid transaction key: "+t,"transaction",e);var r=a.shallowCopy(e);return null==r.from&&(r.from=this.getAddress()),r},e.prototype.populateTransaction=function(e){var t=this;return a.resolveProperties(this.checkTransaction(e)).then(function(r){return null!=r.to&&(r.to=Promise.resolve(r.to).then(function(e){return t.resolveName(e)})),null==r.gasPrice&&(r.gasPrice=t.getGasPrice()),null==r.nonce&&(r.nonce=t.getTransactionCount("pending")),null==r.from?r.from=t.getAddress():r.from=Promise.all([t.getAddress(),t.provider.resolveName(r.from)]).then(function(t){return t[0]!==t[1]&&s.throwArgumentError("from address mismatch","transaction",e),t[0]}),null==r.gasLimit&&(r.gasLimit=t.estimateGas(r)),null==r.chainId&&(r.chainId=t.getChainId()),a.resolveProperties(r)})},e.prototype._checkProvider=function(e){this.provider||s.throwError("missing provider",s.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})},e}();r.Signer=c;var h=function(e){function t(r,n){var i,o=this.constructor;return s.checkNew(o,t),i=e.call(this)||this,a.defineReadOnly(i,"address",r),a.defineReadOnly(i,"provider",n||null),i}return i(t,e),t.prototype.getAddress=function(){return Promise.resolve(this.address)},t.prototype._fail=function(e,t){return Promise.resolve().then(function(){s.throwError(e,s.UNSUPPORTED_OPERATION,{operation:t})})},t.prototype.signMessage=function(e){return this._fail("VoidSigner cannot sign messages","signMessage")},t.prototype.signTransaction=function(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")},t.prototype.connect=function(e){return new t(this.address,e)},t}(c);r.VoidSigner=h},{"@ethersproject/errors":66,"@ethersproject/properties":82}],57:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("bn.js")),o=n(e("@ethersproject/errors")),s=e("@ethersproject/bytes"),a=e("@ethersproject/keccak256"),u=e("@ethersproject/rlp");function c(e){s.isHexString(e,20)||o.throwError("invalid address",o.INVALID_ARGUMENT,{arg:"address",value:e});for(var t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40),n=0;n<40;n++)r[n]=t[n].charCodeAt(0);r=s.arrayify(a.keccak256(r));for(n=0;n<40;n+=2)r[n>>1]>>4>=8&&(t[n]=t[n].toUpperCase()),(15&r[n>>1])>=8&&(t[n+1]=t[n+1].toUpperCase());return"0x"+t.join("")}for(var h={},f=0;f<10;f++)h[String(f)]=String(f);for(f=0;f<26;f++)h[String.fromCharCode(65+f)]=String(10+f);var l,d=Math.floor((l=9007199254740991,Math.log10?Math.log10(l):Math.log(l)/Math.LN10));function p(e){var t="";for((e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").forEach(function(e){t+=h[e]});t.length>=d;){var r=t.substring(0,d);t=parseInt(r,10)%97+t.substring(r.length)}for(var n=String(98-parseInt(t,10)%97);n.length<2;)n="0"+n;return n}function m(e){var t=null;if("string"!=typeof e&&o.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=c(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&o.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==p(e)&&o.throwArgumentError("bad icap checksum","address",e),t=new i.BN(e.substring(4),36).toString(16);t.length<40;)t="0"+t;t=c("0x"+t)}else o.throwArgumentError("invalid address","address",e);return t}r.getAddress=m,r.isAddress=function(e){try{return m(e),!0}catch(e){}return!1},r.getIcapAddress=function(e){for(var t=new i.BN(m(e).substring(2),16).toString(36).toUpperCase();t.length<30;)t="0"+t;return"XE"+p("XE00"+t)+t},r.getContractAddress=function(e){var t=null;try{t=m(e.from)}catch(t){o.throwArgumentError("missing from address","transaction",e)}var r=s.stripZeros(s.arrayify(e.nonce));return m(s.hexDataSlice(a.keccak256(u.encode([t,r])),12))}},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/keccak256":79,"@ethersproject/rlp":97,"bn.js":2}],58:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("@ethersproject/bytes");r.decode=function(e){e=atob(e);for(var t=[],r=0;r0;)r.push(o%this.base),o=o/this.base|0}for(var a="",u=0;0===t[u]&&u=0;--c)a+=this.alphabet[r[c]];return a},e.prototype.decode=function(e){if("string"!=typeof e)throw new TypeError("Expected String");var t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(var r=0;r>=8;for(;o>0;)t.push(255&o),o>>=8}for(var a=0;e[a]===this._leader&&a=9007199254740991||t<=-9007199254740991)&&d("overflow","BigNumber.from",t),e.from(String(t))):"bigint"==typeof t?e.from(t.toString()):o.isBytes(t)?e.from(o.hexlify(t)):t._hex&&o.isHexString(t._hex)?e.from(t._hex):t.toHexString&&"string"==typeof(t=t.toHexString())?e.from(t):a.throwArgumentError("invalid BigNumber value","value",t)},e.isBigNumber=function(e){return s.isNamedInstance(this,e)},e}();function h(e){if("string"!=typeof e)return h(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&a.throwArgumentError("invalid hex","value",e),"0x00"===(e=h(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function f(e){return c.from(h(e))}function l(e){var t=c.from(e).toHexString();return"-"===t[0]?new i.BN("-"+t.substring(3),16):new i.BN(t.substring(2),16)}function d(e,t,r){var n={fault:e,operation:t};return null!=r&&(n.value=r),a.throwError(e,a.NUMERIC_FAULT,n)}r.BigNumber=c},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82,"bn.js":2}],61:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bytes"),o=n(e("@ethersproject/errors")),s=e("@ethersproject/properties"),a=e("./bignumber"),u={},c=a.BigNumber.from(0),h=a.BigNumber.from(-1);function f(e,t,r,n){var i={fault:t,operation:r};return void 0!==n&&(i.value=n),o.throwError(e,o.NUMERIC_FAULT,i)}for(var l="0";l.length<256;)l+=l;function d(e){if("number"!=typeof e)try{e=a.BigNumber.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+l.substring(0,e):o.throwArgumentError("invalid decimal size","decimals",e)}function p(e,t){null==t&&(t=0);var r=d(t),n=(e=a.BigNumber.from(e)).lt(c);n&&(e=e.mul(h));for(var i=e.mod(r).toString();i.length2&&o.throwArgumentError("too many decimal points","value",e);var s=i[0],u=i[1];for(s||(s="0"),u||(u="0"),u.length>r.length-1&&f("fractional component exceeds decimals","underflow","parseFixed");u.length80&&o.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",i),new e(u,r,n,i)},e.isInstance=function(e){return s.isNamedInstance(this,e)},e}();r.FixedFormat=v;var y=function(){function e(t,r,n,i){var a=this.constructor;o.checkNew(a,e),s.defineReadOnly(this,"format",i),s.defineReadOnly(this,"_hex",r),s.defineReadOnly(this,"_value",n)}return e.prototype._checkFormat=function(e){this.format.name!==e.format.name&&o.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)},e.prototype.addUnsafe=function(t){this._checkFormat(t);var r=m(this._value,this.format.decimals),n=m(t._value,t.format.decimals);return e.fromValue(r.add(n),this.format.decimals,this.format)},e.prototype.subUnsafe=function(t){this._checkFormat(t);var r=m(this._value,this.format.decimals),n=m(t._value,t.format.decimals);return e.fromValue(r.sub(n),this.format.decimals,this.format)},e.prototype.mulUnsafe=function(t){this._checkFormat(t);var r=m(this._value,this.format.decimals),n=m(t._value,t.format.decimals);return e.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)},e.prototype.divUnsafe=function(t){this._checkFormat(t);var r=m(this._value,this.format.decimals),n=m(t._value,t.format.decimals);return e.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)},e.prototype.round=function(t){null==t&&(t=0),(t<0||t>80||t%1)&&o.throwArgumentError("invalid decimal cound","decimals",t);var r=this.toString().split(".");if(r[1].length<=t)return this;var n="0."+l.substring(0,t)+"5";return r=this.addUnsafe(e.fromString(n,this.format))._value.split("."),e.fromString(r[0]+"."+r[1].substring(0,t))},e.prototype.toString=function(){return this._value},e.prototype.toHexString=function(e){if(null==e)return this._hex;e%8&&o.throwArgumentError("invalid byte width","width",e);var t=a.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return i.hexZeroPad(t,e/8)},e.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())},e.prototype.toFormat=function(t){return e.fromString(this._value,t)},e.fromValue=function(t,r,n){null!=n||null==r||!v.isInstance(r)&&"string"!=typeof r||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed");var i=v.isInstance(n)?n:v.from(n);return e.fromString(p(t,r),i)},e.fromString=function(t,r){null==r&&(r="fixed");var n=v.isInstance(r)?r:v.from(r),o=m(t,n.decimals);!n.signed&&o.lt(c)&&f("unsigned value cannot be negative","overflow","value",t);var s=null;n.signed?s=o.toTwos(n.width).toHexString():(s=o.toHexString(),s=i.hexZeroPad(s,n.width/8));var a=p(o,n.decimals);return new e(u,s,a,n)},e.fromBytes=function(t,r){null==r&&(r="fixed");var n=v.isInstance(r)?r:v.from(r);if(i.arrayify(t).length>n.width/8)throw new Error("overflow");var o=a.BigNumber.from(t);n.signed&&(o=o.fromTwos(n.width));var s=o.toTwos((n.signed?0:1)+n.width).toHexString(),c=p(o,n.decimals);return new e(u,s,c,n)},e.from=function(t,r){if("string"==typeof t)return e.fromString(t,r);if(i.isBytes(t))return e.fromBytes(t,r);try{return e.fromValue(t,0,r)}catch(e){if(e.code!==o.INVALID_ARGUMENT)throw e}return o.throwArgumentError("invalid FixedNumber value","value",t)},e.isFixedNumber=function(e){return s.isNamedInstance(this,e)},e}();r.FixedNumber=y},{"./bignumber":60,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82}],62:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./bignumber");r.BigNumber=n.BigNumber;var i=e("./fixednumber");r.FixedNumber=i.FixedNumber},{"./bignumber":60,"./fixednumber":61}],63:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("@ethersproject/errors"));function o(e){return!!e.toHexString}function s(e){return e.slice?e:(e.slice=function(){var t=Array.prototype.slice.call(arguments);return s(new Uint8Array(Array.prototype.slice.apply(e,t)))},e)}function a(e){return f(e)&&!(e.length%2)||u(e)}function u(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(null==e.length)return!1;for(var t=0;t=256||r%1)return!1}return!0}function c(e,t){if(t||(t={}),"number"==typeof e){i.checkSafeUint53(e,"invalid arrayify value");for(var r=[];e;)r.unshift(255&e),e/=256;return 0===r.length&&r.push(0),s(new Uint8Array(r))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),o(e)&&(e=e.toHexString()),f(e)){var n=e.substring(2);!t.allowOddLength&&n.length%2&&i.throwArgumentError("hex data is odd-length","value",e);r=[];for(var a=0;at&&i.throwArgumentError("value out of range","value",arguments[0]);var r=new Uint8Array(t);return r.set(e,t-e.length),s(r)},r.isHexString=f;var l="0123456789abcdef";function d(e,t){if(t||(t={}),"number"==typeof e){i.checkSafeUint53(e,"invalid hexlify value");for(var r="";e;)r=l[15&e]+r,e=Math.floor(e/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),o(e))return e.toHexString();if(f(e))return!t.allowOddLength&&e.length%2&&i.throwArgumentError("hex data is odd-length","value",e),e.toLowerCase();if(u(e)){for(var n="0x",s=0;s>4]+l[15&a]}return n}return i.throwArgumentError("invalid hexlify value","value",e)}function p(e){"string"!=typeof e&&(e=d(e)),f(e)||i.throwArgumentError("invalid hex string","value",e),e=e.substring(2);for(var t=0;t2*t+2&&i.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function v(e){var t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(a(e)){var r=c(e);65!==r.length&&i.throwArgumentError("invalid signature string; must be 65 bytes","signature",e),t.r=d(r.slice(0,32)),t.s=d(r.slice(32,64)),t.v=r[64],27!==t.v&&28!==t.v&&(t.v=27+t.v%2),t.recoveryParam=t.v-27,t.recoveryParam&&(r[32]|=128),t._vs=d(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t.v&&27!=t.v&&28!=t.v&&(t.v=27+t.v%2),null==t.recoveryParam&&null!=t.v?t.recoveryParam=1-t.v%2:null!=t.recoveryParam&&null==t.v?t.v=27+t.recoveryParam:null!=t.recoveryParam&&null!=t.v&&t.v!==27+t.recoveryParam&&i.throwArgumentError("signature v mismatch recoveryParam","signature",e),null!=t.r&&(t.r=m(t.r,32)),null!=t.s&&(t.s=m(t.s,32)),null!=t._vs){t._vs=m(t._vs,32),t._vs.length>66&&i.throwArgumentError("signature _vs overflow","signature",e);var n=(u=c(t._vs))[0]>=128?1:0,o=27+t.recoveryParam;u[0]&=127;var s=d(u);null==t.s?t.s=s:t.s!==s&&i.throwArgumentError("signature v mismatch _vs","signature",e),null==t.v?t.v=o:t.v!==o&&i.throwArgumentError("signature v mismatch _vs","signature",e),null==n?t.recoveryParam=n:t.recoveryParam!==n&&i.throwArgumentError("signature recoveryParam mismatch _vs","signature",e)}var u;if(null==t.v&&null==t.recoveryParam&&i.throwArgumentError("signature requires at least one of recoveryParam, v or _vs","signature",e),27!==t.v&&28!==t.v&&i.throwArgumentError("signature v not canonical","signature",e),(t.r.length>66||t.s.length>66)&&i.throwArgumentError("signature overflow r or s","signature",e),null==t._vs)(u=c(t.s))[0]>=128&&i.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(u[0]|=128),t._vs=d(u)}return t}r.hexlify=d,r.hexDataLength=function(e){if("string"!=typeof e)e=d(e);else if(!f(e)||e.length%2)return null;return(e.length-2)/2},r.hexDataSlice=function(e,t,r){return"string"!=typeof e?e=d(e):(!f(e)||e.length%2)&&i.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)},r.hexConcat=function(e){var t="0x";return e.forEach(function(e){t+=d(e).substring(2)}),t},r.hexValue=function(e){var t=p(d(e,{allowOddLength:!0}));return"0x"===t?"0x0":t},r.hexStripZeros=p,r.hexZeroPad=m,r.splitSignature=v,r.joinSignature=function(e){return d(h([(e=v(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}},{"@ethersproject/errors":66}],64:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("@ethersproject/bignumber");r.AddressZero="0x0000000000000000000000000000000000000000";r.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000";r.EtherSymbol="Ξ";var i=n.BigNumber.from(-1);r.NegativeOne=i;var o=n.BigNumber.from(0);r.Zero=o;var s=n.BigNumber.from(1);r.One=s;var a=n.BigNumber.from(2);r.Two=a;var u=n.BigNumber.from("1000000000000000000");r.WeiPerEther=u;var c=n.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");r.MaxUint256=c},{"@ethersproject/bignumber":62}],65:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=e("@ethersproject/abi"),a=e("@ethersproject/abstract-provider"),u=e("@ethersproject/abstract-signer"),c=e("@ethersproject/address"),h=e("@ethersproject/bignumber"),f=e("@ethersproject/bytes"),l=e("@ethersproject/constants"),d=o(e("@ethersproject/errors")),p=e("@ethersproject/properties"),m={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function v(e,t,r){var n=e.interface.functions[t];return function(){for(var t=this,i=[],o=0;o0;return this._checkRunningEvents(n),i},e.prototype.listenerCount=function(e){return this.provider?this._getRunningEvent(e).listenerCount():0},e.prototype.listeners=function(e){if(!this.provider)return[];if(null==e){var t=[];for(var r in this._runningEvents)this._runningEvents[r].listeners().forEach(function(e){t.push(e)});return t}return this._getRunningEvent(e).listeners()},e.prototype.removeAllListeners=function(e){if(!this.provider)return this;if(null==e){for(var t in this._runningEvents){var r=this._runningEvents[t];r.removeAllListeners(),this._checkRunningEvents(r)}return this}var n=this._getRunningEvent(e);return n.removeAllListeners(),this._checkRunningEvents(n),this},e.prototype.off=function(e,t){if(!this.provider)return this;var r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this},e.prototype.removeListener=function(e,t){return this.off(e,t)},e}();r.Contract=M;var E=function(){function e(e,t,r){var n=this.constructor,i=null;"0x"!==(i="string"==typeof t?t:f.isBytes(t)?f.hexlify(t):t&&"string"==typeof t.object?t.object:"!").substring(0,2)&&(i="0x"+i),(!f.isHexString(i)||i.length%2)&&d.throwArgumentError("invalid bytecode","bytecode",t),r&&!p.isNamedInstance(u.Signer,r)&&d.throwArgumentError("invalid signer","signer",r),p.defineReadOnly(this,"bytecode",i),p.defineReadOnly(this,"interface",n.getInterface(e)),p.defineReadOnly(this,"signer",r||null)}return e.prototype.getDeployTransaction=function(){for(var e=[],t=0;tt&&a("too many arguments"+n,r.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})},r.checkNew=function(e,t){e!==Object&&null!=e||a("missing new",r.MISSING_NEW,{name:t.name})},r.checkAbstract=function(e,t){e===t?a("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",r.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||a("missing new",r.MISSING_NEW,{name:t.name})};var u=function(){try{var e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(function(t){try{"test".normalize(t)}catch(r){e.push(t)}}),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();r.checkNormalize=function(){u&&a("platform missing String.prototype.normalize",r.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:u})},r.checkSafeUint53=function(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&a(t,r.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&a(t,r.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))};var c={debug:1,default:2,info:2,warn:3,error:4,off:5},h=c.default;function f(e,t){h>c[e]||console.log.apply(console,t)}function l(){for(var e=[],t=0;t=256)throw new Error("Depth too large!");return b(a.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",a.hexlify(this.depth),this.parentFingerprint,a.hexZeroPad(a.hexlify(this.index),4),this.chainCode,null!=this.privateKey?a.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),e.prototype.neuter=function(){return new e(w,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,null,this.path)},e.prototype._derive=function(t){if(t>4294967295)throw new Error("invalid index - "+String(t));var r=this.path;r&&(r+="/"+(2147483647&t));var n=new Uint8Array(37);if(2147483648&t){if(!this.privateKey)throw new Error("cannot derive child of neutered node");n.set(a.arrayify(this.privateKey),1),r&&(r+="'")}else n.set(a.arrayify(this.publicKey));for(var i=24;i>=0;i-=8)n[33+(i>>3)]=t>>24-i&255;var o=a.arrayify(d.computeHmac(d.SupportedAlgorithms.sha512,this.chainCode,n)),s=o.slice(0,32),c=o.slice(32),h=null,f=null;this.privateKey?h=g(u.BigNumber.from(s).add(this.privateKey).mod(m)):f=new l.SigningKey(a.hexlify(s))._addPoint(this.publicKey);return new e(w,h,f,this.fingerprint,g(c),t,this.depth+1,this.mnemonic,r)},e.prototype.derivePath=function(e){var t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();for(var r=this,n=0;n=2147483648)throw new Error("invalid path index - "+i);r=r._derive(2147483648+o)}else{if(!i.match(/^[0-9]+$/))throw new Error("invlaid path component - "+i);var o;if((o=parseInt(i))>=2147483648)throw new Error("invalid path index - "+i);r=r._derive(o)}}return r},e._fromSeed=function(t,r){var n=a.arrayify(t);if(n.length<16||n.length>64)throw new Error("invalid seed");var i=a.arrayify(d.computeHmac(d.SupportedAlgorithms.sha512,v,n));return new e(w,g(i.slice(0,32)),null,"0x00000000",g(i.slice(32)),0,0,r,"m")},e.fromMnemonic=function(t,r,n){return E(t,n),e._fromSeed(M(t,r),t)},e.fromSeed=function(t){return e._fromSeed(t,null)},e.fromExtendedKey=function(t){var r=o.Base58.decode(t);82===r.length&&b(r.slice(0,78))===t||s.throwError("invalid extended key",s.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"});var n=r[4],i=a.hexlify(r.slice(5,9)),u=parseInt(a.hexlify(r.slice(9,13)).substring(2),16),c=a.hexlify(r.slice(13,45)),h=r.slice(45,78);switch(a.hexlify(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new e(w,null,a.hexlify(h),i,c,u,n,null,null);case"0x0488ade4":case"0x04358394 ":if(0!==h[0])break;return new e(w,a.hexlify(h.slice(1)),null,i,c,u,n,null,null)}return s.throwError("invalid extended key",s.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"})},e}();function M(e,t){t||(t="");var r=c.toUtf8Bytes("mnemonic"+t,c.UnicodeNormalizationForm.NFKD);return h.pbkdf2(c.toUtf8Bytes(e,c.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512")}function E(e,t){t||(t=i.langEn),s.checkNormalize();var r=t.split(e);if(r.length%3!=0)throw new Error("invalid mnemonic");for(var n=a.arrayify(new Uint8Array(Math.ceil(11*r.length/8))),o=0,u=0;u>3]|=1<<7-o%8),o++}var f=32*r.length/3,l=y(r.length/3),p=a.arrayify(d.sha256(n.slice(0,f/8)))[0];if((p&=l)!==(n[n.length-1]&l))throw new Error("invalid checksum");return a.hexlify(n.slice(0,f/8))}r.HDNode=_,r.mnemonicToSeed=M,r.mnemonicToEntropy=E,r.entropyToMnemonic=function(e,t){if((e=a.arrayify(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");for(var r=[0],n=11,o=0;o8?(r[r.length-1]<<=8,r[r.length-1]|=e[o],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[o]>>8-n,r.push(e[o]&(1<<8-n)-1),n+=3);var s=a.arrayify(d.sha256(e))[0],u=e.length/4;return s&=y(u),r[r.length-1]<<=u,r[r.length-1]|=s>>8-u,t||(t=i.langEn),t.join(r.map(function(e){return t.getWord(e)}))},r.isValidMnemonic=function(e,t){try{return E(e,t),!0}catch(e){}return!1}},{"@ethersproject/basex":59,"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/pbkdf2":81,"@ethersproject/properties":82,"@ethersproject/sha2":98,"@ethersproject/signing-key":99,"@ethersproject/strings":101,"@ethersproject/transactions":102,"@ethersproject/wordlists/lang-en":108}],74:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=o(e("aes-js")),u=e("@ethersproject/address"),c=e("@ethersproject/bytes"),h=s(e("@ethersproject/errors")),f=e("@ethersproject/keccak256"),l=e("@ethersproject/pbkdf2"),d=e("@ethersproject/strings"),p=e("@ethersproject/properties"),m=e("./utils"),v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.isType=function(e){return p.Description.isType(e)},t}(p.Description);r.CrowdsaleAccount=v,r.decrypt=function(e,t){var r=JSON.parse(e);t=m.getPassword(t);var n=u.getAddress(m.searchPath(r,"ethaddr")),i=m.looseArrayify(m.searchPath(r,"encseed"));i&&i.length%16==0||h.throwError("invalid encseed",h.INVALID_ARGUMENT,{argument:"json",value:e});var o=c.arrayify(l.pbkdf2(t,t,2e3,32,"sha256")).slice(0,16),s=i.slice(0,16),p=i.slice(16),y=new a.default.ModeOfOperation.cbc(o,s),g=c.arrayify(y.decrypt(p));g=a.default.padding.pkcs7.strip(g);for(var b="",w=0;w>24&255,l[t.length+1]=d>>16&255,l[t.length+2]=d>>8&255,l[t.length+3]=255&d;var p=n.arrayify(i.computeHmac(s,e,l));a||(a=p.length,c=new Uint8Array(a),u=o-((h=Math.ceil(o/a))-1)*a),c.set(p);for(var m=1;m=0||"block"===this.tag||"pending"===this.tag},e}(),_=null,M=1,E=function(e){function t(t){var r=this.constructor,n=this;if(c.checkNew(r,s.Provider),(n=e.call(this)||this).formatter=r.getFormatter(),t instanceof Promise)l.defineReadOnly(n,"ready",t.then(function(e){return l.defineReadOnly(n,"_network",e),e})),n.ready.catch(function(e){});else{var i=f.getNetwork(null==t?"homestead":t);i?(l.defineReadOnly(n,"_network",i),l.defineReadOnly(n,"ready",Promise.resolve(n._network))):c.throwError("invalid network",c.INVALID_ARGUMENT,{arg:"network",value:t})}return n._lastBlockNumber=-2,n._events=[],n._pollingInterval=4e3,n._emitted={block:-2},n._fastQueryDate=0,n}return i(t,e),t.getFormatter=function(){return null==_&&(_=new m.Formatter),_},t.prototype.poll=function(){var e=this,t=M++;this.emit("willPoll",t);var r=[];this.getBlockNumber().then(function(t){if(e._setFastBlockNumber(t),t!==e._lastBlockNumber){-2===e._emitted.block&&(e._emitted.block=t-1);for(var n=e._emitted.block+1;n<=t;n++)e.emit("block",n);return e._emitted.block!==t&&(e._emitted.block=t,Object.keys(e._emitted).forEach(function(r){if("block"!==r){var n=e._emitted[r];"pending"!==n&&t-n>12&&delete e._emitted[r]}})),-2===e._lastBlockNumber&&(e._lastBlockNumber=t-1),e._events.forEach(function(n){var i=n.tag.split(":");switch(i[0]){case"tx":var o=i[1],s=e.getTransactionReceipt(o).then(function(t){return t&&null!=t.blockNumber?(e._emitted["t:"+o]=t.blockNumber,e.emit(o,t),null):null}).catch(function(t){e.emit("error",t)});r.push(s);break;case"filter":var a=i[2].split(/&/g).map(function(e){return e.split("|").map(function(e){return"null"===e?null:e})}),u={address:i[1],fromBlock:e._lastBlockNumber+1,toBlock:t,topics:a};u.address||delete u.address;s=e.getLogs(u).then(function(t){if(0!==t.length)return t.forEach(function(t){e._emitted["b:"+t.blockHash]=t.blockNumber,e._emitted["t:"+t.transactionHash]=t.blockNumber,e.emit(u,t)}),null}).catch(function(t){e.emit("error",t)});r.push(s)}}),e._lastBlockNumber=t,null}}).catch(function(e){}),Promise.all(r).then(function(){e.emit("didPoll",t)})},t.prototype.resetEventsBlock=function(e){this._lastBlockNumber=e-1,this.polling&&this.poll()},Object.defineProperty(t.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),t.prototype.getNetwork=function(){return this.ready},Object.defineProperty(t.prototype,"blockNumber",{get:function(){return this._fastBlockNumber},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"polling",{get:function(){return null!=this._poller},set:function(e){var t=this;setTimeout(function(){e&&!t._poller?t._poller=setInterval(t.poll.bind(t),t.pollingInterval):!e&&t._poller&&(clearInterval(t._poller),t._poller=null)},0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(e){var t=this;if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(function(){t.poll()},this._pollingInterval))},enumerable:!0,configurable:!0}),t.prototype._getFastBlockNumber=function(){var e=this,t=b();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then(function(t){return(null==e._fastBlockNumber||t>e._fastBlockNumber)&&(e._fastBlockNumber=t),e._fastBlockNumber})),this._fastBlockNumberPromise},t.prototype._setFastBlockNumber=function(e){null!=this._fastBlockNumber&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))},t.prototype.waitForTransaction=function(e,t){var r=this;return null==t&&(t=1),0===t?this.getTransactionReceipt(e):new Promise(function(n){var i=function(o){o.confirmations(n=n.slice(32)).length)return null;var o=d.toUtf8String(n.slice(0,i));return t.resolveName(o).then(function(t){return t!=e?null:o})})})},t.prototype.perform=function(e,t){return c.throwError(e+" not implemented",c.NOT_IMPLEMENTED,{operation:e})},t.prototype._startPending=function(){console.log("WARNING: this provider does not support pending events")},t.prototype._stopPending=function(){},t.prototype._checkPolling=function(){this.polling=this._events.filter(function(e){return e.pollable()}).length>0},t.prototype._addEventListener=function(e,t,r){return this._events.push(new w(g(e),t,r)),"pending"===e&&this._startPending(),this._checkPolling(),this},t.prototype.on=function(e,t){return this._addEventListener(e,t,!1)},t.prototype.once=function(e,t){return this._addEventListener(e,t,!0)},t.prototype.emit=function(e){for(var t=this,r=[],n=1;n=0&&a.throwError("insufficient funds",a.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("same hash was already imported")>=0&&a.throwError("nonce has already been used",a.NONCE_EXPIRED,{}),e.responseText.indexOf("another transaction with same nonce")>=0&&a.throwError("replacement fee too low",a.REPLACEMENT_UNDERPRICED,{})),e});case"getBlock":if(r.blockTag)return i+="/api?module=proxy&action=eth_getBlockByNumber&tag="+r.blockTag,r.includeTransactions?i+="&boolean=true":i+="&boolean=false",s(i+=o);throw new Error("getBlock by blockHash not implmeneted");case"getTransaction":return i+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+r.transactionHash,s(i+=o);case"getTransactionReceipt":return i+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+r.transactionHash,s(i+=o);case"call":if((u=h(r.transaction))&&(u="&"+u),i+="/api?module=proxy&action=eth_call"+u,"latest"!==r.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return s(i+=o);case"estimateGas":var u;return(u=h(r.transaction))&&(u="&"+u),i+="/api?module=proxy&action=eth_estimateGas&"+u,s(i+=o);case"getLogs":i+="/api?module=logs&action=getLogs";try{if(r.filter.fromBlock&&(i+="&fromBlock="+d(r.filter.fromBlock)),r.filter.toBlock&&(i+="&toBlock="+d(r.filter.toBlock)),r.filter.address&&(i+="&address="+r.filter.address),r.filter.topics&&r.filter.topics.length>0){if(r.filter.topics.length>1)throw new Error("unsupported topic format");var p=r.filter.topics[0];if("string"!=typeof p||66!==p.length)throw new Error("unsupported topic0 format");i+="&topic0="+p}}catch(e){return Promise.reject(e)}var m=this;return s(i+=o,f).then(function(e){var t={},r=Promise.resolve();return e.forEach(function(e){r=r.then(function(){return null!=e.blockHash?null:(e.blockHash=t[e.transactionHash],null==e.blockHash?m.getTransaction(e.transactionHash).then(function(r){return t[e.transactionHash]=r.blockHash,e.blockHash=r.blockHash,null}):null)})}),r.then(function(){return e})});case"getEtherPrice":return"homestead"!==this.network.name?Promise.resolve(0):(i+="/api?module=stats&action=ethprice",s(i+=o,f).then(function(e){return parseFloat(e.ethusd)}))}return e.prototype.perform.call(this,t,r)},t.prototype.getHistory=function(e,t,r){var n=this,i=this.baseUrl,o="";return this.apiKey&&(o+="&apikey="+this.apiKey),null==t&&(t=0),null==r&&(r=99999999),this.resolveName(e).then(function(e){return i+="/api?module=account&action=txlist&address="+e,i+="&startblock="+t,i+="&endblock="+r,i+="&sort=asc"+o,c.fetchJson(i,null,f).then(function(e){n.emit("debug",{action:"getHistory",request:i,response:e,provider:n});var t=[];return e.forEach(function(e){["contractAddress","to"].forEach(function(t){""==e[t]&&delete e[t]}),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);var r=n.formatter.transactionResponse(e);e.timeStamp&&(r.timestamp=parseInt(e.timeStamp)),t.push(r)}),t})})},t}(e("./base-provider").BaseProvider);r.EtherscanProvider=p},{"./base-provider":84,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82,"@ethersproject/web":106}],87:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("@ethersproject/random"),u=e("@ethersproject/properties");function c(){return(new Date).getTime()}function h(e){var t=!0,r=null;return e.forEach(function(n){null!=n?null!=r?r.name===n.name&&r.chainId===n.chainId&&(r.ensAddress===n.ensAddress||null==r.ensAddress&&null==n.ensAddress)||s.throwError("provider mismatch",s.INVALID_ARGUMENT,{arg:"networks",value:e}):r=n:t=!1}),t}var f=1,l=function(e){function t(r,n,i){var o=this.constructor,a=this;s.checkNew(o,t),0===r.length&&s.throwArgumentError("missing providers","providers",r),null!=i&&i.length!==r.length?s.throwArgumentError("too many weights","weights",i):i?i.forEach(function(e){(e%1||e>512||e<1)&&s.throwArgumentError("invalid weight; must be integer in [1, 512]","weights",i)}):i=r.map(function(e){return 1});var c=i.reduce(function(e,t){return e+t});if(null==n?n=c/2:n>c&&s.throwArgumentError("quorum will always fail; larger than total weight","quorum",n),h(r.map(function(e){return e.network})))a=e.call(this,r[0].network)||this;else{var f=Promise.all(r.map(function(e){return e.getNetwork()})).then(function(e){return h(e)||s.throwError("getNetwork returned null",s.UNKNOWN_ERROR,{}),e[0]});a=e.call(this,f)||this}return u.defineReadOnly(a,"providers",Object.freeze(r.slice())),u.defineReadOnly(a,"quorum",n),u.defineReadOnly(a,"weights",Object.freeze(i.slice())),a}return i(t,e),t.prototype.perform=function(e,t){var r=this,n=c(),i=a.shuffled(this.providers).map(function(i,o){var s=r.weights[o],a=f++;return{run:function(){var o=c(),u=o-n;return r.emit("debug","perform",a,{weight:s,start:u,provider:i,method:e,params:t}),i.perform(e,t).then(function(e){var t=c()-o;return r.emit("debug","result",a,{duration:t,result:e}),{weight:s,result:e}},function(e){var t=c()-o;return r.emit("debug","error",a,{duration:t,error:e}),{weight:s,error:e}})},weight:s}});return"sendTransaction"===e?Promise.all(i.map(function(e){return e.run()})).then(function(e){for(var t=0;t=r.quorum){var d=s[f][0].result;return r.emit("debug","quorum",-1,{weight:l,result:d}),e(d),void(s=null)}}}0!==i.length||0!==o?setTimeout(a,0):t(n)}}),o=0&&c.throwError("insufficient funds",c.INSUFFICIENT_FUNDS,{transaction:r}),e.responseText.indexOf("nonce too low")>=0&&c.throwError("nonce has already been used",c.NONCE_EXPIRED,{transaction:r}),e.responseText.indexOf("replacement transaction underpriced")>=0&&c.throwError("replacement fee too low",c.REPLACEMENT_UNDERPRICED,{transaction:r})),e})})},t.prototype.signTransaction=function(e){return c.throwError("signing transactions is unsupported",c.UNSUPPORTED_OPERATION,{operation:"signTransaction"})},t.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then(function(e){return d.poll(function(){return t.provider.getTransaction(e).then(function(r){if(null!==r)return t.provider._wrapTransaction(r,e)})},{onceBlock:t.provider}).catch(function(t){throw t.transactionHash=e,t})})},t.prototype.signMessage=function(e){var t=this,r="string"==typeof e?l.toUtf8Bytes(e):e;return this.getAddress().then(function(e){return t.provider.send("eth_sign",[e.toLowerCase(),u.hexlify(r)])})},t.prototype.unlock=function(e){var t=this.provider;return this.getAddress().then(function(r){return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])})},t}(s.Signer);r.JsonRpcSigner=g;var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then(function(e){return{hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(r){return t.provider.waitForTransaction(e,r)}}})},t}(g),w={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},_=function(e){function t(r,n){var i=this.constructor,o=this;if(c.checkNew(i,t),"string"==typeof r&&null===n&&h.getNetwork(r)&&(n=r,r=null),n)o=e.call(this,n)||this;else{var s=new Promise(function(e,t){setTimeout(function(){o.send("eth_chainId",[]).then(function(t){e(h.getNetwork(a.BigNumber.from(t).toNumber()))}).catch(function(r){o.send("net_version",[]).then(function(t){e(h.getNetwork(a.BigNumber.from(t).toNumber()))}).catch(function(e){t(c.makeError("could not detect network",c.NETWORK_ERROR,{}))})})})});o=e.call(this,s)||this}return r||(r="http://localhost:8545"),o.connection="string"==typeof r?{url:r}:r,o._nextId=42,o}return i(t,e),t.prototype.getSigner=function(e){return new g(y,this,e)},t.prototype.getUncheckedSigner=function(e){return this.getSigner(e).connectUnchecked()},t.prototype.listAccounts=function(){var e=this;return this.send("eth_accounts",[]).then(function(t){return t.map(function(t){return e.formatter.address(t)})})},t.prototype.send=function(e,t){var r=this,n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};return d.fetchJson(this.connection,JSON.stringify(n),m).then(function(e){return r.emit("debug",{action:"send",request:n,response:e,provider:r}),e})},t.prototype.perform=function(e,t){switch(e){case"getBlockNumber":return this.send("eth_blockNumber",[]);case"getGasPrice":return this.send("eth_gasPrice",[]);case"getBalance":return this.send("eth_getBalance",[v(t.address),t.blockTag]);case"getTransactionCount":return this.send("eth_getTransactionCount",[v(t.address),t.blockTag]);case"getCode":return this.send("eth_getCode",[v(t.address),t.blockTag]);case"getStorageAt":return this.send("eth_getStorageAt",[v(t.address),t.position,t.blockTag]);case"sendTransaction":return this.send("eth_sendRawTransaction",[t.signedTransaction]).catch(function(e){throw e.responseText&&(e.responseText.indexOf("insufficient funds")>0&&c.throwError("insufficient funds",c.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("nonce too low")>0&&c.throwError("nonce has already been used",c.NONCE_EXPIRED,{}),e.responseText.indexOf("replacement transaction underpriced")>0&&c.throwError("replacement fee too low",c.REPLACEMENT_UNDERPRICED,{})),e});case"getBlock":return t.blockTag?this.send("eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]):t.blockHash?this.send("eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]):Promise.reject(new Error("invalid block tag or block hash"));case"getTransaction":return this.send("eth_getTransactionByHash",[t.transactionHash]);case"getTransactionReceipt":return this.send("eth_getTransactionReceipt",[t.transactionHash]);case"call":return this.send("eth_call",[this.constructor.hexlifyTransaction(t.transaction,{from:!0}),t.blockTag]);case"estimateGas":return this.send("eth_estimateGas",[this.constructor.hexlifyTransaction(t.transaction,{from:!0})]);case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=v(t.filter.address)),this.send("eth_getLogs",[t.filter])}return c.throwError(e+" not implemented",c.NOT_IMPLEMENTED,{operation:e})},t.prototype._startPending=function(){if(null==this._pendingFilter){var e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then(function(r){return function n(){e.send("eth_getFilterChanges",[r]).then(function(r){if(e._pendingFilter!=t)return null;var n=Promise.resolve();return r.forEach(function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then(function(){return e.getTransaction(t).then(function(t){return e.emit("pending",t),null})})}),n.then(function(){return e=1e3,new Promise(function(t){setTimeout(function(){t()},e)});var e})}).then(function(){if(e._pendingFilter==t)return setTimeout(function(){n()},0),null;e.send("eth_uninstallFilter",[r])}).catch(function(e){})}(),r}).catch(function(e){})}},t.prototype._stopPending=function(){this._pendingFilter=null},t.hexlifyTransaction=function(e,t){var r=f.shallowCopy(w);if(t)for(var n in t)t[n]&&(r[n]=!0);f.checkProperties(e,r);var i={};return["gasLimit","gasPrice","nonce","value"].forEach(function(t){if(null!=e[t]){var r=u.hexValue(e[t]);"gasLimit"===t&&(t="gas"),i[t]=r}}),["from","to","data"].forEach(function(t){null!=e[t]&&(i[t]=u.hexlify(e[t]))}),i},t}(p.BaseProvider);r.JsonRpcProvider=_},{"./base-provider":84,"@ethersproject/abstract-signer":56,"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/networks":80,"@ethersproject/properties":82,"@ethersproject/strings":101,"@ethersproject/web":106}],92:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.getApiKey=function(e){return e||"ETHERS_JS_SHARED"},t.getUrl=function(e,t){var r=null;switch(e.name){case"homestead":r="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":r="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":r="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":r="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":r="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:s.throwArgumentError("unsupported network","network",arguments[0])}return r+"?apiKey="+t},t}(e("./url-json-rpc-provider").UrlJsonRpcProvider);r.NodesmithProvider=a},{"./url-json-rpc-provider":93,"@ethersproject/errors":66}],93:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("@ethersproject/networks"),u=e("@ethersproject/properties"),c=function(e){function t(r,n){var i,o=this.constructor;s.checkAbstract(o,t),r=o.getNetwork(r),n=o.getApiKey(n);var a=o.getUrl(r,n);return i=e.call(this,a,r)||this,u.defineReadOnly(i,"apiKey",n),i}return i(t,e),t.prototype._startPending=function(){s.warn("WARNING: API provider does not support pending filters")},t.prototype.getSigner=function(e){return s.throwError("API provider does not support signing",s.UNSUPPORTED_OPERATION,{operation:"getSigner"}),null},t.prototype.listAccounts=function(){return Promise.resolve([])},t.getNetwork=function(e){return a.getNetwork(null==e?"homestead":e)},t.getApiKey=function(e){return e},t.getUrl=function(e,t){return s.throwError("not implemented; sub-classes must override getUrl",s.NOT_IMPLEMENTED,{operation:"getUrl"})},t}(e("./json-rpc-provider").JsonRpcProvider);r.UrlJsonRpcProvider=c},{"./json-rpc-provider":91,"@ethersproject/errors":66,"@ethersproject/networks":80,"@ethersproject/properties":82}],94:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=function(e){function t(r,n){var i=this.constructor,o=this;return s.checkNew(i,t),o=e.call(this,r.host||r.path||"",n)||this,r&&(r.sendAsync?o._sendAsync=r.sendAsync.bind(r):r.send&&(o._sendAsync=r.send.bind(r))),r&&o._sendAsync||s.throwError("invalid web3Provider",s.INVALID_ARGUMENT,{arg:"web3Provider",value:r}),a.defineReadOnly(o,"_web3Provider",r),o}return i(t,e),t.prototype.send=function(e,t){var r=this;return"eth_sign"==e&&this._web3Provider.isMetaMask&&(e="personal_sign",t=[t[1],t[0]]),new Promise(function(n,i){var o={method:e,params:t,id:42,jsonrpc:"2.0"};r._sendAsync(o,function(e,t){if(e)i(e);else{if(t.error){var r=new Error(t.error.message);return r.code=t.error.code,r.data=t.error.data,void i(r)}n(t.result)}})})},t}(e("./json-rpc-provider").JsonRpcProvider);r.Web3Provider=u},{"./json-rpc-provider":91,"@ethersproject/errors":66,"@ethersproject/properties":82}],95:[function(e,t,r){(function(t){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bytes"),o=n(e("@ethersproject/errors")),s=e("./shuffle");r.shuffled=s.shuffled;var a=t.crypto||t.msCrypto;a&&a.getRandomValues||(o.warn("WARNING: Missing strong random number source"),a={getRandomValues:function(e){return o.throwError("no secure random source avaialble",o.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}}),r.randomBytes=function(e){(e<=0||e>1024||parseInt(String(e))!=e)&&o.throwError("invalid length",o.INVALID_ARGUMENT,{argument:"length",value:e});var t=new Uint8Array(e);return a.getRandomValues(t),i.arrayify(t)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./shuffle":96,"@ethersproject/bytes":63,"@ethersproject/errors":66}],96:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.shuffled=function(e){for(var t=(e=e.slice()).length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}},{}],97:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("@ethersproject/bytes");function i(e){for(var t=[];e;)t.unshift(255&e),e>>=8;return t}function o(e,t,r){for(var n=0,i=0;it+1+n)throw new Error("invalid rlp")}return{consumed:1+n,result:i}}function a(e,t){if(0===e.length)throw new Error("invalid rlp data");if(e[t]>=248){if(t+1+(a=e[t]-247)>e.length)throw new Error("too short");var r=o(e,t+1,a);if(t+1+a+r>e.length)throw new Error("to short");return s(e,t,t+1+a,a+r)}if(e[t]>=192){var i=e[t]-192;if(t+1+i>e.length)throw new Error("invalid rlp data");return s(e,t,t+1,i)}if(e[t]>=184){var a;if(t+1+(a=e[t]-183)>e.length)throw new Error("invalid rlp data");var u=o(e,t+1,a);if(t+1+a+u>e.length)throw new Error("invalid rlp data");return{consumed:1+a+u,result:n.hexlify(e.slice(t+1+a,t+1+a+u))}}if(e[t]>=128){var c=e[t]-128;if(t+1+c>e.length)throw new Error("invlaid rlp data");return{consumed:1+c,result:n.hexlify(e.slice(t+1,t+1+c))}}return{consumed:1,result:n.hexlify(e[t])}}r.encode=function(e){return n.hexlify(function e(t){if(Array.isArray(t)){var r=[];if(t.forEach(function(t){r=r.concat(e(t))}),r.length<=55)return r.unshift(192+r.length),r;var o=i(r.length);return o.unshift(247+o.length),o.concat(r)}var s=Array.prototype.slice.call(n.arrayify(t));if(1===s.length&&s[0]<=127)return s;if(s.length<=55)return s.unshift(128+s.length),s;var a=i(s.length);return a.unshift(183+a.length),a.concat(s)}(e))},r.decode=function(e){var t=n.arrayify(e),r=a(t,0);if(r.consumed!==t.length)throw new Error("invalid rlp data");return r.result}},{"@ethersproject/bytes":63}],98:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i,o=n(e("hash.js")),s=e("@ethersproject/bytes"),a=n(e("@ethersproject/errors"));!function(e){e.sha256="sha256",e.sha512="sha512"}(i=r.SupportedAlgorithms||(r.SupportedAlgorithms={})),r.ripemd160=function(e){return"0x"+o.ripemd160().update(s.arrayify(e)).digest("hex")},r.sha256=function(e){return"0x"+o.sha256().update(s.arrayify(e)).digest("hex")},r.sha512=function(e){return"0x"+o.sha512().update(s.arrayify(e)).digest("hex")},r.computeHmac=function(e,t,r){return i[e]||a.throwError("unsupported algorithm "+e,a.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),"0x"+o.hmac(o[e],s.arrayify(t)).update(s.arrayify(r)).digest("hex")}},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"hash.js":20}],99:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("elliptic"),o=e("@ethersproject/bytes"),s=n(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=null;function c(){return u||(u=new i.ec("secp256k1")),u}var h=function(){function e(e){a.defineReadOnly(this,"curve","secp256k1"),a.defineReadOnly(this,"privateKey",o.hexlify(e));var t=c().keyFromPrivate(o.arrayify(this.privateKey));a.defineReadOnly(this,"publicKey","0x"+t.getPublic(!1,"hex")),a.defineReadOnly(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex"))}return e.prototype._addPoint=function(e){var t=c().keyFromPublic(o.arrayify(this.publicKey)),r=c().keyFromPublic(o.arrayify(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")},e.prototype.signDigest=function(e){var t=c().keyFromPrivate(o.arrayify(this.privateKey)).sign(o.arrayify(e),{canonical:!0});return o.splitSignature({recoveryParam:t.recoveryParam,r:o.hexZeroPad("0x"+t.r.toString(16),32),s:o.hexZeroPad("0x"+t.s.toString(16),32)})},e.prototype.computeSharedSecret=function(e){var t=c().keyFromPrivate(o.arrayify(this.privateKey)),r=c().keyFromPublic(o.arrayify(f(e)));return o.hexZeroPad("0x"+t.derive(r.getPublic()).toString(16),32)},e}();function f(e,t){var r=o.arrayify(e);if(32===r.length){var n=new h(r);return t?"0x"+c().keyFromPrivate(r).getPublic(!0,"hex"):n.publicKey}return 33===r.length?t?o.hexlify(r):"0x"+c().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+c().keyFromPublic(r).getPublic(!0,"hex"):o.hexlify(r):s.throwArgumentError("invalid public or private key","key","[REDACTED]")}r.SigningKey=h,r.recoverPublicKey=function(e,t){var r=o.splitSignature(t),n={r:o.arrayify(r.r),s:o.arrayify(r.s)};return"0x"+c().recoverPubKey(o.arrayify(e),n,r.recoveryParam).encode("hex",!1)},r.computePublicKey=f},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82,elliptic:5}],100:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("@ethersproject/bignumber"),i=e("@ethersproject/bytes"),o=e("@ethersproject/keccak256"),s=e("@ethersproject/sha2"),a=e("@ethersproject/strings"),u=new RegExp("^bytes([0-9]+)$"),c=new RegExp("^(u?int)([0-9]*)$"),h=new RegExp("^(.*)\\[([0-9]*)\\]$"),f="0000000000000000000000000000000000000000000000000000000000000000";function l(e,t){if(e.length!=t.length)throw new Error("type/value count mismatch");var r=[];return e.forEach(function(e,o){r.push(function e(t,r,o){switch(t){case"address":return o?i.zeroPad(r,32):i.arrayify(r);case"string":return a.toUtf8Bytes(r);case"bytes":return i.arrayify(r);case"bool":return r=r?"0x01":"0x00",o?i.zeroPad(r,32):i.arrayify(r)}var s=t.match(c);if(s){if((l=parseInt(s[2]||"256"))%8!=0||0===l||l>256)throw new Error("invalid number type - "+t);return o&&(l=256),r=n.BigNumber.from(r).toTwos(l),i.zeroPad(r,l/8)}if(s=t.match(u)){var l=parseInt(s[1]);if(String(l)!=s[1]||0===l||l>32)throw new Error("invalid number type - "+t);if(i.arrayify(r).byteLength!==l)throw new Error("invalid value for "+t);return o?i.arrayify((r+f).substring(0,66)):r}if((s=t.match(h))&&Array.isArray(r)){var d=s[1];if(parseInt(s[2]||String(r.length))!=r.length)throw new Error("invalid value for "+t);var p=[];return r.forEach(function(t){p.push(e(d,t,!0))}),i.concat(p)}throw new Error("unknown type - "+t)}(e,t[o]))}),i.hexlify(i.concat(r))}r.pack=l,r.keccak256=function(e,t){return o.keccak256(l(e,t))},r.sha256=function(e,t){return s.sha256(l(e,t))}},{"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/keccak256":79,"@ethersproject/sha2":98,"@ethersproject/strings":101}],101:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=e("@ethersproject/constants"),o=e("@ethersproject/errors"),s=e("@ethersproject/bytes");function a(e,t){void 0===t&&(t=n.current),t!=n.current&&(o.checkNormalize(),e=e.normalize(t));for(var r=[],i=0;i>6|192),r.push(63&a|128);else if(55296==(64512&a)){i++;var u=e.charCodeAt(i);if(i>=e.length||56320!=(64512&u))throw new Error("invalid utf-8 string");a=65536+((1023&a)<<10)+(1023&u),r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)}else r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)}return s.arrayify(r)}function u(e,t){e=s.arrayify(e);for(var r="",n=0;n>7!=0){var o=null,a=null;if(192==(224&i))o=1,a=127;else if(224==(240&i))o=2,a=2047;else{if(240!=(248&i)){if(!t){if(128==(192&i))throw new Error("invalid utf8 byte sequence; unexpected continuation byte");throw new Error("invalid utf8 byte sequence; invalid prefix")}continue}o=3,a=65535}if(n+o>e.length){if(!t)throw new Error("invalid utf8 byte sequence; too short");for(;n>6==2;n++);}else{for(var u=i&(1<<8-o-1)-1,c=0;c1114111){if(!t)throw new Error("invalid utf8 byte sequence; out-of-range")}else if(u>=55296&&u<=57343){if(!t)throw new Error("invalid utf8 byte sequence; utf-16 surrogate")}else u<=65535?r+=String.fromCharCode(u):(u-=65536,r+=String.fromCharCode(55296+(u>>10&1023),56320+(1023&u)));else if(!t)throw new Error("invalid utf8 byte sequence; invalid continuation byte")}}else r+=String.fromCharCode(i)}return r}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(n=r.UnicodeNormalizationForm||(r.UnicodeNormalizationForm={})),r.toUtf8Bytes=a,r.toUtf8String=u,r.formatBytes32String=function(e){var t=a(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return s.hexlify(s.concat([t,i.HashZero]).slice(0,32))},r.parseBytes32String=function(e){var t=s.arrayify(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===t[r-1];)r--;return u(t.slice(0,r))}},{"@ethersproject/bytes":63,"@ethersproject/constants":64,"@ethersproject/errors":66}],102:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/address"),o=e("@ethersproject/bignumber"),s=e("@ethersproject/bytes"),a=e("@ethersproject/constants"),u=n(e("@ethersproject/errors")),c=e("@ethersproject/keccak256"),h=e("@ethersproject/properties"),f=n(e("@ethersproject/rlp")),l=e("@ethersproject/signing-key");function d(e){return"0x"===e?a.Zero:o.BigNumber.from(e)}var p=[{name:"nonce",maxLength:32},{name:"gasPrice",maxLength:32},{name:"gasLimit",maxLength:32},{name:"to",length:20},{name:"value",maxLength:32},{name:"data"}],m={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function v(e){var t=l.computePublicKey(e);return i.getAddress(s.hexDataSlice(c.keccak256(s.hexDataSlice(t,1)),12))}function y(e,t){return v(l.recoverPublicKey(s.arrayify(e),t))}r.computeAddress=v,r.recoverAddress=y,r.serialize=function(e,t){h.checkProperties(e,m);var r=[];p.forEach(function(t){var n=e[t.name]||[];n=s.arrayify(s.hexlify(n)),t.length&&n.length!==t.length&&n.length>0&&u.throwError("invalid length for "+t.name,u.INVALID_ARGUMENT,{arg:"transaction"+t.name,value:n}),t.maxLength&&(n=s.stripZeros(n)).length>t.maxLength&&u.throwError("invalid length for "+t.name,u.INVALID_ARGUMENT,{arg:"transaction"+t.name,value:n}),r.push(s.hexlify(n))}),null!=e.chainId&&0!==e.chainId&&(r.push(s.hexlify(e.chainId)),r.push("0x"),r.push("0x"));var n=f.encode(r);if(!t)return n;var i=s.splitSignature(t),o=27+i.recoveryParam;return 9===r.length&&(r.pop(),r.pop(),r.pop(),o+=2*e.chainId+8),r.push(s.hexlify(o)),r.push(s.stripZeros(s.arrayify(i.r))),r.push(s.stripZeros(s.arrayify(i.s))),f.encode(r)},r.parse=function(e){var t=f.decode(e);9!==t.length&&6!==t.length&&u.throwError("invalid raw transaction",u.INVALID_ARGUMENT,{arg:"rawTransactin",value:e});var r,n={nonce:d(t[0]).toNumber(),gasPrice:d(t[1]),gasLimit:d(t[2]),to:(r=t[3],"0x"===r?null:i.getAddress(r)),value:d(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=o.BigNumber.from(t[6]).toNumber()}catch(e){return console.log(e),n}if(n.r=s.hexZeroPad(t[7],32),n.s=s.hexZeroPad(t[8],32),o.BigNumber.from(n.r).isZero()&&o.BigNumber.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var a=n.v-27,h=t.slice(0,6);0!==n.chainId&&(h.push(s.hexlify(n.chainId)),h.push("0x"),h.push("0x"),a-=2*n.chainId+8);var l=c.keccak256(f.encode(h));try{n.from=y(l,{r:s.hexlify(n.r),s:s.hexlify(n.s),recoveryParam:a})}catch(e){console.log(e)}n.hash=c.keccak256(e)}return n}},{"@ethersproject/address":57,"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/constants":64,"@ethersproject/errors":66,"@ethersproject/keccak256":79,"@ethersproject/properties":82,"@ethersproject/rlp":97,"@ethersproject/signing-key":99}],103:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bignumber/fixednumber"),o=n(e("@ethersproject/errors")),s=["wei","kwei","mwei","gwei","szabo","finney","ether"];function a(e,t){if("string"==typeof t){var r=s.indexOf(t);-1!==r&&(t=3*r)}return i.formatFixed(e,null!=t?t:18)}function u(e,t){if("string"==typeof t){var r=s.indexOf(t);-1!==r&&(t=3*r)}return i.parseFixed(e,null!=t?t:18)}r.commify=function(e){var t=String(e).split(".");(t.length>2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&o.throwError("invalid value",o.INVALID_ARGUMENT,{argument:"value",value:e});var r=t[0],n="";for("-"===r.substring(0,1)&&(n="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");var i="";2===t.length&&(i="."+(t[1]||"0"));for(var s=[];r.length;){if(r.length<=3){s.unshift(r);break}var a=r.length-3;s.unshift(r.substring(a)),r=r.substring(0,a)}return n+s.join(",")+i},r.formatUnits=a,r.parseUnits=u,r.formatEther=function(e){return a(e,18)},r.parseEther=function(e){return u(e,18)}},{"@ethersproject/bignumber/fixednumber":61,"@ethersproject/errors":66}],104:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=e("@ethersproject/address"),a=e("@ethersproject/abstract-provider"),u=e("@ethersproject/abstract-signer"),c=e("@ethersproject/bytes"),h=o(e("@ethersproject/errors")),f=e("@ethersproject/hash"),l=e("@ethersproject/hdnode"),d=e("@ethersproject/keccak256"),p=e("@ethersproject/properties"),m=e("@ethersproject/random"),v=e("@ethersproject/signing-key"),y=e("@ethersproject/json-wallets"),g=e("@ethersproject/transactions");var b=function(e){function t(r,n){var i,o,u=this.constructor;if(h.checkNew(u,t),i=e.call(this)||this,null!=(o=r)&&c.isHexString(o.privateKey,32)&&null!=o.address){var f=new v.SigningKey(r.privateKey);if(p.defineReadOnly(i,"_signingKey",function(){return f}),p.defineReadOnly(i,"address",g.computeAddress(i.publicKey)),i.address!==s.getAddress(r.address)&&h.throwArgumentError("privateKey/address mismatch","privateKey","[REDCACTED]"),null!=r.mnemonic){var d=r.mnemonic,m=r.path||l.defaultPath;p.defineReadOnly(i,"_mnemonic",function(){return d}),p.defineReadOnly(i,"path",r.path);var y=l.HDNode.fromMnemonic(d).derivePath(m);g.computeAddress(y.privateKey)!==i.address&&h.throwArgumentError("mnemonic/address mismatch","privateKey","[REDCACTED]")}else p.defineReadOnly(i,"_mnemonic",function(){return null}),p.defineReadOnly(i,"path",null)}else{if(p.isNamedInstance(v.SigningKey,r))p.defineReadOnly(i,"_signingKey",function(){return r});else{var b=new v.SigningKey(r);p.defineReadOnly(i,"_signingKey",function(){return b})}p.defineReadOnly(i,"_mnemonic",function(){return null}),p.defineReadOnly(i,"path",null),p.defineReadOnly(i,"address",g.computeAddress(i.publicKey))}return n&&!p.isNamedInstance(a.Provider,n)&&h.throwError("invalid provider",h.INVALID_ARGUMENT,{argument:"provider",value:n}),p.defineReadOnly(i,"provider",n||null),i}return i(t,e),Object.defineProperty(t.prototype,"mnemonic",{get:function(){return this._mnemonic()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"privateKey",{get:function(){return this._signingKey().privateKey},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"publicKey",{get:function(){return this._signingKey().publicKey},enumerable:!0,configurable:!0}),t.prototype.getAddress=function(){return Promise.resolve(this.address)},t.prototype.connect=function(e){return new t(this,e)},t.prototype.signTransaction=function(e){var t=this;return p.resolveProperties(e).then(function(e){if(null!=e.from){if(s.getAddress(e.from)!==t.address)throw new Error("transaction from address mismatch");delete e.from}var r=t._signingKey().signDigest(d.keccak256(g.serialize(e)));return g.serialize(e,r)})},t.prototype.signMessage=function(e){return Promise.resolve(c.joinSignature(this._signingKey().signDigest(f.hashMessage(e))))},t.prototype.encrypt=function(e,t,r){if("function"!=typeof t||r||(r=t,t={}),r&&"function"!=typeof r)throw new Error("invalid callback");return t||(t={}),y.encryptKeystore(this,e,t,r)},t.createRandom=function(e){var r=m.randomBytes(16);e||(e={}),e.extraEntropy&&(r=c.arrayify(c.hexDataSlice(d.keccak256(c.concat([r,e.extraEntropy])),0,16)));var n=l.entropyToMnemonic(r,e.locale);return t.fromMnemonic(n,e.path,e.locale)},t.fromEncryptedJson=function(e,r,n){return y.decryptJsonWallet(e,r,n).then(function(e){return new t(e)})},t.fromMnemonic=function(e,r,n){return r||(r=l.defaultPath),new t(l.HDNode.fromMnemonic(e,null,n).derivePath(r))},t}(u.Signer);r.Wallet=b,r.verifyMessage=function(e,t){return g.recoverAddress(f.hashMessage(e),t)}},{"@ethersproject/abstract-provider":55,"@ethersproject/abstract-signer":56,"@ethersproject/address":57,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/hash":72,"@ethersproject/hdnode":73,"@ethersproject/json-wallets":75,"@ethersproject/keccak256":79,"@ethersproject/properties":82,"@ethersproject/random":95,"@ethersproject/signing-key":99,"@ethersproject/transactions":102}],105:[function(e,t,r){"use strict";try{t.exports.XMLHttpRequest=XMLHttpRequest}catch(e){console.log("Warning: XMLHttpRequest is not defined"),t.exports.XMLHttpRequest=null}},{}],106:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("xmlhttprequest"),o=e("@ethersproject/base64"),s=n(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=e("@ethersproject/strings");r.fetchJson=function(e,t,r){var n={},a=null,c=12e4;if("string"==typeof e)a=e;else if("object"==typeof e){if(null==e.url&&s.throwError("missing URL",s.MISSING_ARGUMENT,{arg:"url"}),a=e.url,"number"==typeof e.timeout&&e.timeout>0&&(c=e.timeout),e.headers)for(var h in e.headers)n[h.toLowerCase()]={key:h,value:String(e.headers[h])};if(null!=e.user&&null!=e.password){"https:"!==a.substring(0,6)&&!0!==e.allowInsecure&&s.throwError("basic authentication requires a secure https url",s.INVALID_ARGUMENT,{arg:"url",url:a,user:e.user,password:"[REDACTED]"});var f=e.user+":"+e.password;n.authorization={key:"Authorization",value:"Basic "+o.encode(u.toUtf8Bytes(f))}}}return new Promise(function(e,o){var s=new i.XMLHttpRequest,u=null;u=setTimeout(function(){null!=u&&(u=null,o(new Error("timeout")),setTimeout(function(){s.abort()},0))},c);var h=function(){null!=u&&(clearTimeout(u),u=null)};t?(s.open("POST",a,!0),n["content-type"]={key:"Content-Type",value:"application/json"}):s.open("GET",a,!0),Object.keys(n).forEach(function(e){var t=n[e];s.setRequestHeader(t.key,t.value)}),s.onreadystatechange=function(){if(4===s.readyState){if(200!=s.status){h();var n=new Error("invalid response - "+s.status);return n.statusCode=s.status,s.responseText&&(n.responseText=s.responseText),void o(n)}var i=null;try{i=JSON.parse(s.responseText)}catch(n){h();var u=new Error("invalid json response");return u.orginialError=n,u.responseText=s.responseText,null!=t&&(u.requestBody=t),u.url=a,void o(u)}if(r)try{i=r(i)}catch(n){return h(),n.url=a,n.body=t,n.responseText=s.responseText,void o(n)}h(),e(i)}},s.onerror=function(e){h(),o(e)};try{null!=t?s.send(t):s.send()}catch(e){h();var f=new Error("connection error");f.error=e,o(f)}})},r.poll=function(e,t){return t||(t={}),null==(t=a.shallowCopy(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise(function(r,n){var i=null,o=!1,s=function(){return!o&&(o=!0,i&&clearTimeout(i),!0)};t.timeout&&(i=setTimeout(function(){s()&&n(new Error("timeout"))},t.timeout));var a=t.retryLimit,u=0;!function i(){return e().then(function(e){if(void 0!==e)s()&&r(e);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!o){if(++u>a)return void(s()&&n(new Error("retry limit reached")));var c=t.interval*parseInt(String(Math.random()*Math.pow(2,u)));ct.ceiling&&(c=t.ceiling),setTimeout(i,c)}return null},function(e){s()&&n(e)})}()})}},{"@ethersproject/base64":58,"@ethersproject/errors":66,"@ethersproject/properties":82,"@ethersproject/strings":101,xmlhttprequest:105}],107:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./lang-en").langEn;r.en=n},{"./lang-en":108}],108:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=e("./wordlist"),s="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo",a=null;function u(e){if(null==a&&(a=s.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==o.check(e)))throw a=null,new Error("BIP39 Wordlist for en (English) FAILED")}var c=new(function(e){function t(){return e.call(this,"en")||this}return i(t,e),t.prototype.getWord=function(e){return u(this),a[e]},t.prototype.getWordIndex=function(e){return u(this),a.indexOf(e)},t}(o.Wordlist));r.langEn=c,o.register(c)},{"./wordlist":109}],109:[function(e,t,r){(function(t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=!1,i=e("@ethersproject/errors"),o=e("@ethersproject/hash"),s=e("@ethersproject/properties");r.check=function(e){for(var t=[],r=0;r<2048;r++){var n=e.getWord(r);if(r!==e.getWordIndex(n))return"0x";t.push(n)}return o.id(t.join("\n")+"\n")};var a=function(){function e(t){var r=this.constructor;i.checkAbstract(r,e),s.defineReadOnly(this,"locale",t)}return e.prototype.split=function(e){return e.toLowerCase().split(/ +/g)},e.prototype.join=function(e){return e.join(" ")},e}();r.Wordlist=a,r.register=function(e,r){if(r||(r=e.locale),n){var i=t;i.wordlists||s.defineReadOnly(i,"wordlists",{}),i.wordlists[r]||s.defineReadOnly(i.wordlists,r,e),i.ethers&&i.ethers.wordlists&&(i.ethers.wordlists[r]||s.defineReadOnly(i.ethers.wordlists,r,e))}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@ethersproject/errors":66,"@ethersproject/hash":72,"@ethersproject/properties":82}]},{},[69])(69)}); \ No newline at end of file +!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).ethers=e()}}(function(){return function(){return function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var h=r[s]={exports:{}};t[s][0].call(h.exports,function(e){return i(t[s][1][e]||e)},h,h.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s255)return!1;return!0}function o(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!i(e))throw new Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(n(e.length)&&i(e))return new Uint8Array(e);throw new Error("unsupported array-like object")}function s(e){return new Uint8Array(e)}function a(e,t,r,n,i){null==n&&null==i||(e=e.slice?e.slice(n,i):Array.prototype.slice.call(e,n,i)),t.set(e,r)}var u=function(){return{toBytes:function(e){var t=[],r=0;for(e=encodeURI(e);r191&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}}}(),c=function(){var e="0123456789abcdef";return{toBytes:function(e){for(var t=[],r=0;r>4]+e[15&i])}return r.join("")}}}(),h={16:10,24:12,32:14},f=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],l=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],m=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],v=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],y=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],g=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],b=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],w=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],_=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],E=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],M=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],k=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],A=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function S(e){for(var t=[],r=0;r>2,this._Ke[r][t%4]=o[t],this._Kd[e-r][t%4]=o[t];for(var s,a=0,u=i;u>16&255]<<24^l[s>>8&255]<<16^l[255&s]<<8^l[s>>24&255]^f[a]<<24,a+=1,8!=i)for(t=1;t>8&255]<<8^l[s>>16&255]<<16^l[s>>24&255]<<24;for(t=i/2+1;t>2,d=u%4,this._Ke[c][d]=o[t],this._Kd[e-c][d]=o[t++],u++}for(var c=1;c>24&255]^M[s>>16&255]^k[s>>8&255]^A[255&s]},P.prototype.encrypt=function(e){if(16!=e.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],n=S(e),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var o=1;o>24&255]^m[n[(i+1)%4]>>16&255]^v[n[(i+2)%4]>>8&255]^y[255&n[(i+3)%4]]^this._Ke[o][i];n=r.slice()}var a,u=s(16);for(i=0;i<4;i++)a=this._Ke[t][i],u[4*i]=255&(l[n[i]>>24&255]^a>>24),u[4*i+1]=255&(l[n[(i+1)%4]>>16&255]^a>>16),u[4*i+2]=255&(l[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(l[255&n[(i+3)%4]]^a);return u},P.prototype.decrypt=function(e){if(16!=e.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],n=S(e),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var o=1;o>24&255]^b[n[(i+3)%4]>>16&255]^w[n[(i+2)%4]>>8&255]^_[255&n[(i+1)%4]]^this._Kd[o][i];n=r.slice()}var a,u=s(16);for(i=0;i<4;i++)a=this._Kd[t][i],u[4*i]=255&(d[n[i]>>24&255]^a>>24),u[4*i+1]=255&(d[n[(i+3)%4]>>16&255]^a>>16),u[4*i+2]=255&(d[n[(i+2)%4]>>8&255]^a>>8),u[4*i+3]=255&(d[255&n[(i+1)%4]]^a);return u};var j=function(e){if(!(this instanceof j))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new P(e)};j.prototype.encrypt=function(e){if((e=o(e)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=s(e.length),r=s(16),n=0;n=0;--t)this._counter[t]=e%256,e>>=8},T.prototype.setBytes=function(e){if(16!=(e=o(e,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},T.prototype.increment=function(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}};var R=function(e,t){if(!(this instanceof R))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof T||(t=new T(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new P(e)};R.prototype.encrypt=function(e){for(var t=o(e,!0),r=0;r16)throw new Error("PKCS#7 padding byte out of range");for(var r=e.length-t,n=0;n=49&&s<=54?s-49+10:s>=17&&s<=22?s-17+10:15&s}return n}function u(e,t,r,n){for(var i=0,o=Math.min(e.length,r),s=t;s=49?a-49+10:a>=17?a-17+10:a}return i}o.isBN=function(e){return e instanceof o||null!==e&&"object"==typeof e&&e.constructor.wordSize===o.wordSize&&Array.isArray(e.words)},o.max=function(e,t){return e.cmp(t)>0?e:t},o.min=function(e,t){return e.cmp(t)<0?e:t},o.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16),n(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},o.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)},o.prototype._initArray=function(e,t,r){if(n("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i=0;i-=3)s=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[o]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===r)for(i=0,o=0;i>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this.strip()},o.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)i=a(e,r,r+6),this.words[n]|=i<>>26-o&4194303,(o+=24)>=26&&(o-=26,n++);r+6!==t&&(i=a(e,t,r+6),this.words[n]|=i<>>26-o&4194303),this.strip()},o.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var o=e.length-r,s=o%n,a=Math.min(o,o-s)+r,c=0,h=r;h1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},o.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"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function l(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],o=0|t.words[0],s=i*o,a=67108863&s,u=s/67108864|0;r.words[0]=a;for(var c=1;c>>26,f=67108863&u,l=Math.min(c,t.length-1),d=Math.max(0,c-e.length+1);d<=l;d++){var p=c-d|0;h+=(s=(i=0|e.words[p])*(o=0|t.words[d])+f)/67108864|0,f=67108863&s}r.words[c]=0|f,u=0|h}return 0!==u?r.words[c]=0|u:r.length--,r.strip()}o.prototype.toString=function(e,t){var r;if(e=e||10,t=0|t||1,16===e||"hex"===e){r="";for(var i=0,o=0,s=0;s>>24-i&16777215)||s!==this.length-1?c[6-u.length]+u+r:u+r,(i+=2)>=26&&(i-=26,s--)}for(0!==o&&(r=o.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=h[e],d=f[e];r="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(e);r=(p=p.idivn(d)).isZero()?m+r:c[l-m.length]+m+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")},o.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},o.prototype.toJSON=function(){return this.toString(16)},o.prototype.toBuffer=function(e,t){return n(void 0!==s),this.toArrayLike(s,e,t)},o.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},o.prototype.toArrayLike=function(e,t,r){var i=this.byteLength(),o=r||Math.max(1,i);n(i<=o,"byte array longer than desired length"),n(o>0,"Requested array length <= 0"),this.strip();var s,a,u="le"===t,c=new e(o),h=this.clone();if(u){for(a=0;!h.isZero();a++)s=h.andln(255),h.iushrn(8),c[a]=s;for(;a=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},o.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},o.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},o.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},o.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)},o.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},o.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)},o.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},o.prototype.inotn=function(e){n("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},o.prototype.notn=function(e){return this.clone().inotn(e)},o.prototype.setn=function(e,t){n("number"==typeof e&&e>=0);var r=e/26|0,i=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,o=0;o>>26;for(;0!==i&&o>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;oe.length?this.clone().iadd(e):e.clone().iadd(this)},o.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var o=0,s=0;s>26,this.words[s]=67108863&t;for(;0!==o&&s>26,this.words[s]=67108863&t;if(0===o&&s>>13,d=0|s[1],p=8191&d,m=d>>>13,v=0|s[2],y=8191&v,g=v>>>13,b=0|s[3],w=8191&b,_=b>>>13,E=0|s[4],M=8191&E,k=E>>>13,A=0|s[5],S=8191&A,P=A>>>13,j=0|s[6],x=8191&j,O=j>>>13,N=0|s[7],T=8191&N,R=N>>>13,I=0|s[8],C=8191&I,B=I>>>13,F=0|s[9],D=8191&F,L=F>>>13,U=0|a[0],z=8191&U,H=U>>>13,K=0|a[1],G=8191&K,q=K>>>13,V=0|a[2],W=8191&V,J=V>>>13,Z=0|a[3],X=8191&Z,$=Z>>>13,Q=0|a[4],Y=8191&Q,ee=Q>>>13,te=0|a[5],re=8191&te,ne=te>>>13,ie=0|a[6],oe=8191&ie,se=ie>>>13,ae=0|a[7],ue=8191&ae,ce=ae>>>13,he=0|a[8],fe=8191&he,le=he>>>13,de=0|a[9],pe=8191&de,me=de>>>13;r.negative=e.negative^t.negative,r.length=19;var ve=(c+(n=Math.imul(f,z))|0)+((8191&(i=(i=Math.imul(f,H))+Math.imul(l,z)|0))<<13)|0;c=((o=Math.imul(l,H))+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(p,z),i=(i=Math.imul(p,H))+Math.imul(m,z)|0,o=Math.imul(m,H);var ye=(c+(n=n+Math.imul(f,G)|0)|0)+((8191&(i=(i=i+Math.imul(f,q)|0)+Math.imul(l,G)|0))<<13)|0;c=((o=o+Math.imul(l,q)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(y,z),i=(i=Math.imul(y,H))+Math.imul(g,z)|0,o=Math.imul(g,H),n=n+Math.imul(p,G)|0,i=(i=i+Math.imul(p,q)|0)+Math.imul(m,G)|0,o=o+Math.imul(m,q)|0;var ge=(c+(n=n+Math.imul(f,W)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(l,W)|0))<<13)|0;c=((o=o+Math.imul(l,J)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(w,z),i=(i=Math.imul(w,H))+Math.imul(_,z)|0,o=Math.imul(_,H),n=n+Math.imul(y,G)|0,i=(i=i+Math.imul(y,q)|0)+Math.imul(g,G)|0,o=o+Math.imul(g,q)|0,n=n+Math.imul(p,W)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(m,W)|0,o=o+Math.imul(m,J)|0;var be=(c+(n=n+Math.imul(f,X)|0)|0)+((8191&(i=(i=i+Math.imul(f,$)|0)+Math.imul(l,X)|0))<<13)|0;c=((o=o+Math.imul(l,$)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(M,z),i=(i=Math.imul(M,H))+Math.imul(k,z)|0,o=Math.imul(k,H),n=n+Math.imul(w,G)|0,i=(i=i+Math.imul(w,q)|0)+Math.imul(_,G)|0,o=o+Math.imul(_,q)|0,n=n+Math.imul(y,W)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(g,W)|0,o=o+Math.imul(g,J)|0,n=n+Math.imul(p,X)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,$)|0;var we=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,ee)|0)+Math.imul(l,Y)|0))<<13)|0;c=((o=o+Math.imul(l,ee)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(S,z),i=(i=Math.imul(S,H))+Math.imul(P,z)|0,o=Math.imul(P,H),n=n+Math.imul(M,G)|0,i=(i=i+Math.imul(M,q)|0)+Math.imul(k,G)|0,o=o+Math.imul(k,q)|0,n=n+Math.imul(w,W)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(_,W)|0,o=o+Math.imul(_,J)|0,n=n+Math.imul(y,X)|0,i=(i=i+Math.imul(y,$)|0)+Math.imul(g,X)|0,o=o+Math.imul(g,$)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(m,Y)|0,o=o+Math.imul(m,ee)|0;var _e=(c+(n=n+Math.imul(f,re)|0)|0)+((8191&(i=(i=i+Math.imul(f,ne)|0)+Math.imul(l,re)|0))<<13)|0;c=((o=o+Math.imul(l,ne)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(x,z),i=(i=Math.imul(x,H))+Math.imul(O,z)|0,o=Math.imul(O,H),n=n+Math.imul(S,G)|0,i=(i=i+Math.imul(S,q)|0)+Math.imul(P,G)|0,o=o+Math.imul(P,q)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(k,W)|0,o=o+Math.imul(k,J)|0,n=n+Math.imul(w,X)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(_,X)|0,o=o+Math.imul(_,$)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,ee)|0)+Math.imul(g,Y)|0,o=o+Math.imul(g,ee)|0,n=n+Math.imul(p,re)|0,i=(i=i+Math.imul(p,ne)|0)+Math.imul(m,re)|0,o=o+Math.imul(m,ne)|0;var Ee=(c+(n=n+Math.imul(f,oe)|0)|0)+((8191&(i=(i=i+Math.imul(f,se)|0)+Math.imul(l,oe)|0))<<13)|0;c=((o=o+Math.imul(l,se)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(T,z),i=(i=Math.imul(T,H))+Math.imul(R,z)|0,o=Math.imul(R,H),n=n+Math.imul(x,G)|0,i=(i=i+Math.imul(x,q)|0)+Math.imul(O,G)|0,o=o+Math.imul(O,q)|0,n=n+Math.imul(S,W)|0,i=(i=i+Math.imul(S,J)|0)+Math.imul(P,W)|0,o=o+Math.imul(P,J)|0,n=n+Math.imul(M,X)|0,i=(i=i+Math.imul(M,$)|0)+Math.imul(k,X)|0,o=o+Math.imul(k,$)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(_,Y)|0,o=o+Math.imul(_,ee)|0,n=n+Math.imul(y,re)|0,i=(i=i+Math.imul(y,ne)|0)+Math.imul(g,re)|0,o=o+Math.imul(g,ne)|0,n=n+Math.imul(p,oe)|0,i=(i=i+Math.imul(p,se)|0)+Math.imul(m,oe)|0,o=o+Math.imul(m,se)|0;var Me=(c+(n=n+Math.imul(f,ue)|0)|0)+((8191&(i=(i=i+Math.imul(f,ce)|0)+Math.imul(l,ue)|0))<<13)|0;c=((o=o+Math.imul(l,ce)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,n=Math.imul(C,z),i=(i=Math.imul(C,H))+Math.imul(B,z)|0,o=Math.imul(B,H),n=n+Math.imul(T,G)|0,i=(i=i+Math.imul(T,q)|0)+Math.imul(R,G)|0,o=o+Math.imul(R,q)|0,n=n+Math.imul(x,W)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(O,W)|0,o=o+Math.imul(O,J)|0,n=n+Math.imul(S,X)|0,i=(i=i+Math.imul(S,$)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,$)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(k,Y)|0,o=o+Math.imul(k,ee)|0,n=n+Math.imul(w,re)|0,i=(i=i+Math.imul(w,ne)|0)+Math.imul(_,re)|0,o=o+Math.imul(_,ne)|0,n=n+Math.imul(y,oe)|0,i=(i=i+Math.imul(y,se)|0)+Math.imul(g,oe)|0,o=o+Math.imul(g,se)|0,n=n+Math.imul(p,ue)|0,i=(i=i+Math.imul(p,ce)|0)+Math.imul(m,ue)|0,o=o+Math.imul(m,ce)|0;var ke=(c+(n=n+Math.imul(f,fe)|0)|0)+((8191&(i=(i=i+Math.imul(f,le)|0)+Math.imul(l,fe)|0))<<13)|0;c=((o=o+Math.imul(l,le)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(D,z),i=(i=Math.imul(D,H))+Math.imul(L,z)|0,o=Math.imul(L,H),n=n+Math.imul(C,G)|0,i=(i=i+Math.imul(C,q)|0)+Math.imul(B,G)|0,o=o+Math.imul(B,q)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(R,W)|0,o=o+Math.imul(R,J)|0,n=n+Math.imul(x,X)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(O,X)|0,o=o+Math.imul(O,$)|0,n=n+Math.imul(S,Y)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(P,Y)|0,o=o+Math.imul(P,ee)|0,n=n+Math.imul(M,re)|0,i=(i=i+Math.imul(M,ne)|0)+Math.imul(k,re)|0,o=o+Math.imul(k,ne)|0,n=n+Math.imul(w,oe)|0,i=(i=i+Math.imul(w,se)|0)+Math.imul(_,oe)|0,o=o+Math.imul(_,se)|0,n=n+Math.imul(y,ue)|0,i=(i=i+Math.imul(y,ce)|0)+Math.imul(g,ue)|0,o=o+Math.imul(g,ce)|0,n=n+Math.imul(p,fe)|0,i=(i=i+Math.imul(p,le)|0)+Math.imul(m,fe)|0,o=o+Math.imul(m,le)|0;var Ae=(c+(n=n+Math.imul(f,pe)|0)|0)+((8191&(i=(i=i+Math.imul(f,me)|0)+Math.imul(l,pe)|0))<<13)|0;c=((o=o+Math.imul(l,me)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(D,G),i=(i=Math.imul(D,q))+Math.imul(L,G)|0,o=Math.imul(L,q),n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(B,W)|0,o=o+Math.imul(B,J)|0,n=n+Math.imul(T,X)|0,i=(i=i+Math.imul(T,$)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,$)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(O,Y)|0,o=o+Math.imul(O,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(P,re)|0,o=o+Math.imul(P,ne)|0,n=n+Math.imul(M,oe)|0,i=(i=i+Math.imul(M,se)|0)+Math.imul(k,oe)|0,o=o+Math.imul(k,se)|0,n=n+Math.imul(w,ue)|0,i=(i=i+Math.imul(w,ce)|0)+Math.imul(_,ue)|0,o=o+Math.imul(_,ce)|0,n=n+Math.imul(y,fe)|0,i=(i=i+Math.imul(y,le)|0)+Math.imul(g,fe)|0,o=o+Math.imul(g,le)|0;var Se=(c+(n=n+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,me)|0)+Math.imul(m,pe)|0))<<13)|0;c=((o=o+Math.imul(m,me)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(D,W),i=(i=Math.imul(D,J))+Math.imul(L,W)|0,o=Math.imul(L,J),n=n+Math.imul(C,X)|0,i=(i=i+Math.imul(C,$)|0)+Math.imul(B,X)|0,o=o+Math.imul(B,$)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,ee)|0)+Math.imul(R,Y)|0,o=o+Math.imul(R,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(O,re)|0,o=o+Math.imul(O,ne)|0,n=n+Math.imul(S,oe)|0,i=(i=i+Math.imul(S,se)|0)+Math.imul(P,oe)|0,o=o+Math.imul(P,se)|0,n=n+Math.imul(M,ue)|0,i=(i=i+Math.imul(M,ce)|0)+Math.imul(k,ue)|0,o=o+Math.imul(k,ce)|0,n=n+Math.imul(w,fe)|0,i=(i=i+Math.imul(w,le)|0)+Math.imul(_,fe)|0,o=o+Math.imul(_,le)|0;var Pe=(c+(n=n+Math.imul(y,pe)|0)|0)+((8191&(i=(i=i+Math.imul(y,me)|0)+Math.imul(g,pe)|0))<<13)|0;c=((o=o+Math.imul(g,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(D,X),i=(i=Math.imul(D,$))+Math.imul(L,X)|0,o=Math.imul(L,$),n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(B,Y)|0,o=o+Math.imul(B,ee)|0,n=n+Math.imul(T,re)|0,i=(i=i+Math.imul(T,ne)|0)+Math.imul(R,re)|0,o=o+Math.imul(R,ne)|0,n=n+Math.imul(x,oe)|0,i=(i=i+Math.imul(x,se)|0)+Math.imul(O,oe)|0,o=o+Math.imul(O,se)|0,n=n+Math.imul(S,ue)|0,i=(i=i+Math.imul(S,ce)|0)+Math.imul(P,ue)|0,o=o+Math.imul(P,ce)|0,n=n+Math.imul(M,fe)|0,i=(i=i+Math.imul(M,le)|0)+Math.imul(k,fe)|0,o=o+Math.imul(k,le)|0;var je=(c+(n=n+Math.imul(w,pe)|0)|0)+((8191&(i=(i=i+Math.imul(w,me)|0)+Math.imul(_,pe)|0))<<13)|0;c=((o=o+Math.imul(_,me)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863,n=Math.imul(D,Y),i=(i=Math.imul(D,ee))+Math.imul(L,Y)|0,o=Math.imul(L,ee),n=n+Math.imul(C,re)|0,i=(i=i+Math.imul(C,ne)|0)+Math.imul(B,re)|0,o=o+Math.imul(B,ne)|0,n=n+Math.imul(T,oe)|0,i=(i=i+Math.imul(T,se)|0)+Math.imul(R,oe)|0,o=o+Math.imul(R,se)|0,n=n+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,ce)|0)+Math.imul(O,ue)|0,o=o+Math.imul(O,ce)|0,n=n+Math.imul(S,fe)|0,i=(i=i+Math.imul(S,le)|0)+Math.imul(P,fe)|0,o=o+Math.imul(P,le)|0;var xe=(c+(n=n+Math.imul(M,pe)|0)|0)+((8191&(i=(i=i+Math.imul(M,me)|0)+Math.imul(k,pe)|0))<<13)|0;c=((o=o+Math.imul(k,me)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(D,re),i=(i=Math.imul(D,ne))+Math.imul(L,re)|0,o=Math.imul(L,ne),n=n+Math.imul(C,oe)|0,i=(i=i+Math.imul(C,se)|0)+Math.imul(B,oe)|0,o=o+Math.imul(B,se)|0,n=n+Math.imul(T,ue)|0,i=(i=i+Math.imul(T,ce)|0)+Math.imul(R,ue)|0,o=o+Math.imul(R,ce)|0,n=n+Math.imul(x,fe)|0,i=(i=i+Math.imul(x,le)|0)+Math.imul(O,fe)|0,o=o+Math.imul(O,le)|0;var Oe=(c+(n=n+Math.imul(S,pe)|0)|0)+((8191&(i=(i=i+Math.imul(S,me)|0)+Math.imul(P,pe)|0))<<13)|0;c=((o=o+Math.imul(P,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(D,oe),i=(i=Math.imul(D,se))+Math.imul(L,oe)|0,o=Math.imul(L,se),n=n+Math.imul(C,ue)|0,i=(i=i+Math.imul(C,ce)|0)+Math.imul(B,ue)|0,o=o+Math.imul(B,ce)|0,n=n+Math.imul(T,fe)|0,i=(i=i+Math.imul(T,le)|0)+Math.imul(R,fe)|0,o=o+Math.imul(R,le)|0;var Ne=(c+(n=n+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,me)|0)+Math.imul(O,pe)|0))<<13)|0;c=((o=o+Math.imul(O,me)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,n=Math.imul(D,ue),i=(i=Math.imul(D,ce))+Math.imul(L,ue)|0,o=Math.imul(L,ce),n=n+Math.imul(C,fe)|0,i=(i=i+Math.imul(C,le)|0)+Math.imul(B,fe)|0,o=o+Math.imul(B,le)|0;var Te=(c+(n=n+Math.imul(T,pe)|0)|0)+((8191&(i=(i=i+Math.imul(T,me)|0)+Math.imul(R,pe)|0))<<13)|0;c=((o=o+Math.imul(R,me)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(D,fe),i=(i=Math.imul(D,le))+Math.imul(L,fe)|0,o=Math.imul(L,le);var Re=(c+(n=n+Math.imul(C,pe)|0)|0)+((8191&(i=(i=i+Math.imul(C,me)|0)+Math.imul(B,pe)|0))<<13)|0;c=((o=o+Math.imul(B,me)|0)+(i>>>13)|0)+(Re>>>26)|0,Re&=67108863;var Ie=(c+(n=Math.imul(D,pe))|0)+((8191&(i=(i=Math.imul(D,me))+Math.imul(L,pe)|0))<<13)|0;return c=((o=Math.imul(L,me))+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,u[0]=ve,u[1]=ye,u[2]=ge,u[3]=be,u[4]=we,u[5]=_e,u[6]=Ee,u[7]=Me,u[8]=ke,u[9]=Ae,u[10]=Se,u[11]=Pe,u[12]=je,u[13]=xe,u[14]=Oe,u[15]=Ne,u[16]=Te,u[17]=Re,u[18]=Ie,0!==c&&(u[19]=c,r.length++),r};function p(e,t,r){return(new m).mulp(e,t,r)}function m(e,t){this.x=e,this.y=t}Math.imul||(d=l),o.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?d(this,e,t):r<63?l(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,o=0;o>>26)|0)>>>26,s&=67108863}r.words[o]=a,n=s,s=i}return 0!==n?r.words[o]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},m.prototype.makeRBT=function(e){for(var t=new Array(e),r=o.prototype._countBits(e)-1,n=0;n>=1;return n},m.prototype.permute=function(e,t,r,n,i,o){for(var s=0;s>>=1)i++;return 1<>>=13,r[2*s+1]=8191&o,o>>>=13;for(s=2*t;s>=26,t+=i/67108864|0,t+=o>>>26,this.words[r]=67108863&o}return 0!==t&&(this.words[r]=t,this.length++),this},o.prototype.muln=function(e){return this.clone().imuln(e)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new o(1);for(var r=this,n=0;n=0);var t,r=e%26,i=(e-r)/26,o=67108863>>>26-r<<26-r;if(0!==r){var s=0;for(t=0;t>>26-r}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var o=e%26,s=Math.min((e-o)/26,this.length),a=67108863^67108863>>>o<s)for(this.length-=s,c=0;c=0&&(0!==h||c>=i);c--){var f=0|this.words[c];this.words[c]=h<<26-o|f>>>o,h=f&a}return u&&0!==h&&(u.words[u.length++]=h),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},o.prototype.ishrn=function(e,t,r){return n(0===this.negative),this.iushrn(e,t,r)},o.prototype.shln=function(e){return this.clone().ishln(e)},o.prototype.ushln=function(e){return this.clone().iushln(e)},o.prototype.shrn=function(e){return this.clone().ishrn(e)},o.prototype.ushrn=function(e){return this.clone().iushrn(e)},o.prototype.testn=function(e){n("number"==typeof e&&e>=0);var t=e%26,r=(e-t)/26,i=1<=0);var t=e%26,r=(e-t)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==t&&r++,this.length=Math.min(r,this.length),0!==t){var i=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},o.prototype.isubn=function(e){if(n("number"==typeof e),n(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+r]=67108863&o}for(;i>26,this.words[i+r]=67108863&o;if(0===a)return this.strip();for(n(-1===a),a=0,i=0;i>26,this.words[i]=67108863&o;return this.negative=1,this.strip()},o.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),i=e,s=0|i.words[i.length-1];0!==(r=26-this._countBits(s))&&(i=i.ushln(r),n.iushln(r),s=0|i.words[i.length-1]);var a,u=n.length-i.length;if("mod"!==t){(a=new o(null)).length=u+1,a.words=new Array(a.length);for(var c=0;c=0;f--){var l=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(l=Math.min(l/s|0,67108863),n._ishlnsubmul(i,l,f);0!==n.negative;)l--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);a&&(a.words[f]=l)}return a&&a.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:a||null,mod:n}},o.prototype.divmod=function(e,t,r){return n(!e.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(i=a.div.neg()),"div"!==t&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:i,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(i=a.div.neg()),{div:i,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new o(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new o(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new o(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,s,a},o.prototype.div=function(e){return this.divmod(e,"div",!1).div},o.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},o.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},o.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),o=r.cmp(n);return o<0||1===i&&0===o?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},o.prototype.modn=function(e){n(e<=67108863);for(var t=(1<<26)%e,r=0,i=this.length-1;i>=0;i--)r=(t*r+(0|this.words[i]))%e;return r},o.prototype.idivn=function(e){n(e<=67108863);for(var t=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*t;this.words[r]=i/e|0,t=i%e}return this.strip()},o.prototype.divn=function(e){return this.clone().idivn(e)},o.prototype.egcd=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new o(1),s=new o(0),a=new o(0),u=new o(1),c=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++c;for(var h=r.clone(),f=t.clone();!t.isZero();){for(var l=0,d=1;0==(t.words[0]&d)&&l<26;++l,d<<=1);if(l>0)for(t.iushrn(l);l-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(h),s.isub(f)),i.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(r.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(r.iushrn(p);p-- >0;)(a.isOdd()||u.isOdd())&&(a.iadd(h),u.isub(f)),a.iushrn(1),u.iushrn(1);t.cmp(r)>=0?(t.isub(r),i.isub(a),s.isub(u)):(r.isub(t),a.isub(i),u.isub(s))}return{a:a,b:u,gcd:r.iushln(c)}},o.prototype._invmp=function(e){n(0===e.negative),n(!e.isZero());var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,s=new o(1),a=new o(0),u=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,h=1;0==(t.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(t.iushrn(c);c-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var f=0,l=1;0==(r.words[0]&l)&&f<26;++f,l<<=1);if(f>0)for(r.iushrn(f);f-- >0;)a.isOdd()&&a.iadd(u),a.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(a)):(r.isub(t),a.isub(s))}return(i=0===t.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(e),i},o.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var o=t;t=r,r=o}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},o.prototype.invm=function(e){return this.egcd(e).a.umod(e)},o.prototype.isEven=function(){return 0==(1&this.words[0])},o.prototype.isOdd=function(){return 1==(1&this.words[0])},o.prototype.andln=function(e){return this.words[0]&e},o.prototype.bincn=function(e){n("number"==typeof e);var t=e%26,r=(e-t)/26,i=1<>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e),n(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},o.prototype.gtn=function(e){return 1===this.cmpn(e)},o.prototype.gt=function(e){return 1===this.cmp(e)},o.prototype.gten=function(e){return this.cmpn(e)>=0},o.prototype.gte=function(e){return this.cmp(e)>=0},o.prototype.ltn=function(e){return-1===this.cmpn(e)},o.prototype.lt=function(e){return-1===this.cmp(e)},o.prototype.lten=function(e){return this.cmpn(e)<=0},o.prototype.lte=function(e){return this.cmp(e)<=0},o.prototype.eqn=function(e){return 0===this.cmpn(e)},o.prototype.eq=function(e){return 0===this.cmp(e)},o.red=function(e){return new E(e)},o.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)},o.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(e){return this.red=e,this},o.prototype.forceRed=function(e){return n(!this.red,"Already a number in reduction context"),this._forceRed(e)},o.prototype.redAdd=function(e){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},o.prototype.redIAdd=function(e){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},o.prototype.redSub=function(e){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},o.prototype.redISub=function(e){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},o.prototype.redShl=function(e){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},o.prototype.redMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},o.prototype.redIMul=function(e){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},o.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(e){return n(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var v={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new o(t,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=o._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 M(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(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)}y.prototype._tmp=function(){var e=new o(null);return e.words=new Array(Math.ceil(this.n/13)),e},y.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},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},i(g,y),g.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=o}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},g.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},o._prime=function(e){if(v[e])return v[e];var t;if("k256"===e)t=new g;else if("p224"===e)t=new b;else if("p192"===e)t=new w;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new _}return v[e]=t,t},E.prototype._verify1=function(e){n(0===e.negative,"red works only with positives"),n(e.red,"red works only with red numbers")},E.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")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.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)},E.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},E.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)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.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 o(1)).iushrn(2);return this.pow(e,r)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);n(!i.isZero());var a=new o(1).toRed(this),u=a.redNeg(),c=this.m.subn(1).iushrn(1),h=this.m.bitLength();for(h=new o(2*h*h).toRed(this);0!==this.pow(h,c).cmp(u);)h.redIAdd(u);for(var f=this.pow(h,i),l=this.pow(e,i.addn(1).iushrn(1)),d=this.pow(e,i),p=s;0!==d.cmp(a);){for(var m=d,v=0;0!==m.cmp(a);v++)m=m.redSqr();n(v=0;n--){for(var c=t.words[n],h=u-1;h>=0;h--){var f=c>>h&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==s?(s<<=1,s|=f,(4===++a||0===n&&0===h)&&(i=this.mul(i,r[s]),a=0,s=0)):a=0}u=26}return i},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},o.mont=function(e){return new M(e)},i(M,E),M.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},M.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},M.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},M.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new o(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},M.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:4}],3:[function(e,t,r){(function(e){t.exports=function(t){var r=new Uint8Array(t);return(e.crypto||e.msCrypto).getRandomValues(r),r}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,r){},{}],5:[function(e,t,r){"use strict";var n=r;n.version=e("../package.json").version,n.utils=e("./elliptic/utils"),n.rand=e("brorand"),n.hmacDRBG=e("./elliptic/hmac-drbg"),n.curve=e("./elliptic/curve"),n.curves=e("./elliptic/curves"),n.ec=e("./elliptic/ec"),n.eddsa=e("./elliptic/eddsa")},{"../package.json":19,"./elliptic/curve":8,"./elliptic/curves":11,"./elliptic/ec":12,"./elliptic/eddsa":15,"./elliptic/hmac-drbg":16,"./elliptic/utils":18,brorand:3}],6:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../../elliptic").utils,o=i.getNAF,s=i.getJSF,a=i.assert;function u(e,t){this.type=e,this.p=new n(t.p,16),this.red=t.prime?n.red(t.prime):n.mont(this.p),this.zero=new n(0).toRed(this.red),this.one=new n(1).toRed(this.red),this.two=new n(2).toRed(this.red),this.n=t.n&&new n(t.n,16),this.g=t.g&&this.pointFromJSON(t.g,t.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4);var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function c(e,t){this.curve=e,this.type=t,this.precomputed=null}t.exports=u,u.prototype.point=function(){throw new Error("Not implemented")},u.prototype.validate=function(){throw new Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){a(e.precomputed);var r=e._getDoubles(),n=o(t,1),i=(1<=u;t--)c=(c<<1)+n[t];s.push(c)}for(var h=this.jpoint(null,null,null),f=this.jpoint(null,null,null),l=i;l>0;l--){for(u=0;u=0;c--){for(t=0;c>=0&&0===s[c];c--)t++;if(c>=0&&t++,u=u.dblp(t),c<0)break;var h=s[c];a(0!==h),u="affine"===e.type?h>0?u.mixedAdd(i[h-1>>1]):u.mixedAdd(i[-h-1>>1].neg()):h>0?u.add(i[h-1>>1]):u.add(i[-h-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,r,n,i){for(var a=this._wnafT1,u=this._wnafT2,c=this._wnafT3,h=0,f=0;f=1;f-=2){var d=f-1,p=f;if(1===a[d]&&1===a[p]){var m=[t[d],null,null,t[p]];0===t[d].y.cmp(t[p].y)?(m[1]=t[d].add(t[p]),m[2]=t[d].toJ().mixedAdd(t[p].neg())):0===t[d].y.cmp(t[p].y.redNeg())?(m[1]=t[d].toJ().mixedAdd(t[p]),m[2]=t[d].add(t[p].neg())):(m[1]=t[d].toJ().mixedAdd(t[p]),m[2]=t[d].toJ().mixedAdd(t[p].neg()));var v=[-3,-1,-5,-7,0,7,5,1,3],y=s(r[d],r[p]);h=Math.max(y[0].length,h),c[d]=new Array(h),c[p]=new Array(h);for(var g=0;g=0;f--){for(var M=0;f>=0;){var k=!0;for(g=0;g=0&&M++,_=_.dblp(M),f<0)break;for(g=0;g0?A=u[g][S-1>>1]:S<0&&(A=u[g][-S-1>>1].neg()),_="affine"===A.type?_.mixedAdd(A):_.add(A))}}for(f=0;f=Math.ceil((e.bitLength()+1)/t.step)},c.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;i=0&&(s=t,a=r),n.negative&&(n=n.neg(),i=i.neg()),s.negative&&(s=s.neg(),a=a.neg()),[{a:n,b:i},{a:s,b:a}]},c.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),o=r.b.neg().mul(e).divRound(this.n),s=i.mul(r.a),a=o.mul(n.a),u=i.mul(r.b),c=o.mul(n.b);return{k1:e.sub(s).sub(a),k2:u.add(c).neg()}},c.prototype.pointFromX=function(e,t){(e=new o(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),n=r.redSqrt();if(0!==n.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var i=n.fromRed().isOdd();return(t&&!i||!t&&i)&&(n=n.redNeg()),this.point(e,n)},c.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},c.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,o=0;o":""},h.prototype.isInfinity=function(){return this.inf},h.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},h.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},h.prototype.getX=function(){return this.x.fromRed()},h.prototype.getY=function(){return this.y.fromRed()},h.prototype.mul=function(e){return e=new o(e,16),this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},h.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},h.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},h.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},h.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},h.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},s(f,a.BasePoint),c.prototype.jpoint=function(e,t,r){return new f(this,e,t,r)},f.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},f.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},f.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),o=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(r.redMul(this.z)),a=n.redSub(i),u=o.redSub(s);if(0===a.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=a.redSqr(),h=c.redMul(a),f=n.redMul(c),l=u.redSqr().redIAdd(h).redISub(f).redISub(f),d=u.redMul(f.redISub(l)).redISub(o.redMul(h)),p=this.z.redMul(e.z).redMul(a);return this.curve.jpoint(l,d,p)},f.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,o=e.y.redMul(t).redMul(this.z),s=r.redSub(n),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),c=u.redMul(s),h=r.redMul(u),f=a.redSqr().redIAdd(c).redISub(h).redISub(h),l=a.redMul(h.redISub(f)).redISub(i.redMul(c)),d=this.z.redMul(s);return this.curve.jpoint(f,l,d)},f.prototype.dblp=function(e){if(0===e)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){for(var t=this,r=0;r=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}return!1},f.prototype.inspect=function(){return this.isInfinity()?"":""},f.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}},{"../../elliptic":5,"../curve":8,"bn.js":2,inherits:32}],11:[function(e,t,r){"use strict";var n,i=r,o=e("hash.js"),s=e("../elliptic"),a=s.utils.assert;function u(e){"short"===e.type?this.curve=new s.curve.short(e):"edwards"===e.type?this.curve=new s.curve.edwards(e):this.curve=new s.curve.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,a(this.g.validate(),"Invalid curve"),a(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function c(e,t){Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get:function(){var r=new u(t);return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,value:r}),r}})}i.PresetCurve=u,c("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:o.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),c("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:o.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),c("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:o.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),c("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:o.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),c("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:o.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),c("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["9"]}),c("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:o.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=e("./precomputed/secp256k1")}catch(e){n=void 0}c("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:o.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})},{"../elliptic":5,"./precomputed/secp256k1":17,"hash.js":20}],12:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../../elliptic"),o=i.utils.assert,s=e("./key"),a=e("./signature");function u(e){if(!(this instanceof u))return new u(e);"string"==typeof e&&(o(i.curves.hasOwnProperty(e),"Unknown curve "+e),e=i.curves[e]),e instanceof i.curves.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}t.exports=u,u.prototype.keyPair=function(e){return new s(this,e)},u.prototype.keyFromPrivate=function(e,t){return s.fromPrivate(this,e,t)},u.prototype.keyFromPublic=function(e,t){return s.fromPublic(this,e,t)},u.prototype.genKeyPair=function(e){e||(e={});for(var t=new i.hmacDRBG({hash:this.hash,pers:e.pers,entropy:e.entropy||i.rand(this.hash.hmacStrength),nonce:this.n.toArray()}),r=this.n.byteLength(),o=this.n.sub(new n(2));;){var s=new n(t.generate(r));if(!(s.cmp(o)>0))return s.iaddn(1),this.keyFromPrivate(s)}},u.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e},u.prototype.sign=function(e,t,r,o){"object"==typeof r&&(o=r,r=null),o||(o={}),t=this.keyFromPrivate(t,r),e=this._truncateToN(new n(e,16));for(var s=this.n.byteLength(),u=t.getPrivate().toArray("be",s),c=e.toArray("be",s),h=new i.hmacDRBG({hash:this.hash,entropy:u,nonce:c,pers:o.pers,persEnc:o.persEnc}),f=this.n.sub(new n(1)),l=0;;l++){var d=o.k?o.k(l):new n(h.generate(this.n.byteLength()));if(!((d=this._truncateToN(d,!0)).cmpn(1)<=0||d.cmp(f)>=0)){var p=this.g.mul(d);if(!p.isInfinity()){var m=p.getX(),v=m.umod(this.n);if(0!==v.cmpn(0)){var y=d.invm(this.n).mul(v.mul(t.getPrivate()).iadd(e));if(0!==(y=y.umod(this.n)).cmpn(0)){var g=(p.getY().isOdd()?1:0)|(0!==m.cmp(v)?2:0);return o.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),g^=1),new a({r:v,s:y,recoveryParam:g})}}}}}},u.prototype.verify=function(e,t,r,i){e=this._truncateToN(new n(e,16)),r=this.keyFromPublic(r,i);var o=(t=new a(t,"hex")).r,s=t.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var u,c=s.invm(this.n),h=c.mul(e).umod(this.n),f=c.mul(o).umod(this.n);return this.curve._maxwellTrick?!(u=this.g.jmulAdd(h,r.getPublic(),f)).isInfinity()&&u.eqXToP(o):!(u=this.g.mulAdd(h,r.getPublic(),f)).isInfinity()&&0===u.getX().umod(this.n).cmp(o)},u.prototype.recoverPubKey=function(e,t,r,i){o((3&r)===r,"The recovery param is more than two bits"),t=new a(t,i);var s=this.n,u=new n(e),c=t.r,h=t.s,f=1&r,l=r>>1;if(c.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");c=l?this.curve.pointFromX(c.add(this.curve.n),f):this.curve.pointFromX(c,f);var d=t.r.invm(s),p=s.sub(u).mul(d).umod(s),m=h.mul(d).umod(s);return this.g.mulAdd(p,c,m)},u.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new a(t,n)).recoveryParam)return t.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(e,t,i)}catch(e){continue}if(o.eq(r))return i}throw new Error("Unable to find valid recovery factor")}},{"../../elliptic":5,"./key":13,"./signature":14,"bn.js":2}],13:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../../elliptic").utils.assert;function o(e,t){this.ec=e,this.priv=null,this.pub=null,t.priv&&this._importPrivate(t.priv,t.privEnc),t.pub&&this._importPublic(t.pub,t.pubEnc)}t.exports=o,o.fromPublic=function(e,t,r){return t instanceof o?t:new o(e,{pub:t,pubEnc:r})},o.fromPrivate=function(e,t,r){return t instanceof o?t:new o(e,{priv:t,privEnc:r})},o.prototype.validate=function(){var e=this.getPublic();return e.isInfinity()?{result:!1,reason:"Invalid public key"}:e.validate()?e.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},o.prototype.getPublic=function(e,t){return"string"==typeof e&&(t=e,e=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),t?this.pub.encode(t,e):this.pub},o.prototype.getPrivate=function(e){return"hex"===e?this.priv.toString(16,2):this.priv},o.prototype._importPrivate=function(e,t){this.priv=new n(e,t||16),this.priv=this.priv.umod(this.ec.curve.n)},o.prototype._importPublic=function(e,t){if(e.x||e.y)return"mont"===this.ec.curve.type?i(e.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||i(e.x&&e.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(e.x,e.y));this.pub=this.ec.curve.decodePoint(e,t)},o.prototype.derive=function(e){return e.mul(this.priv).getX()},o.prototype.sign=function(e,t,r){return this.ec.sign(e,this,t,r)},o.prototype.verify=function(e,t){return this.ec.verify(e,t,this)},o.prototype.inspect=function(){return""}},{"../../elliptic":5,"bn.js":2}],14:[function(e,t,r){"use strict";var n=e("bn.js"),i=e("../../elliptic").utils,o=i.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(o(e.r&&e.s,"Signature without r or s"),this.r=new n(e.r,16),this.s=new n(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function a(e,t){var r=e[t.place++];if(!(128&r))return r;for(var n=15&r,i=0,o=0,s=t.place;o>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}}t.exports=s,s.prototype._importDER=function(e,t){e=i.toArray(e,t);var r=new function(){this.place=0};if(48!==e[r.place++])return!1;if(a(e,r)+r.place!==e.length)return!1;if(2!==e[r.place++])return!1;var o=a(e,r),s=e.slice(r.place,o+r.place);if(r.place+=o,2!==e[r.place++])return!1;var u=a(e,r);if(e.length!==u+r.place)return!1;var c=e.slice(r.place,u+r.place);return 0===s[0]&&128&s[1]&&(s=s.slice(1)),0===c[0]&&128&c[1]&&(c=c.slice(1)),this.r=new n(s),this.s=new n(c),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=u(t),r=u(r);!(r[0]||128&r[1]);)r=r.slice(1);var n=[2];c(n,t.length),(n=n.concat(t)).push(2),c(n,r.length);var o=n.concat(r),s=[48];return c(s,o.length),s=s.concat(o),i.encode(s,e)}},{"../../elliptic":5,"bn.js":2}],15:[function(e,t,r){arguments[4][7][0].apply(r,arguments)},{dup:7}],16:[function(e,t,r){"use strict";var n=e("hash.js"),i=e("../elliptic").utils,o=i.assert;function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this.reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=i.toArray(e.entropy,e.entropyEnc),r=i.toArray(e.nonce,e.nonceEnc),n=i.toArray(e.pers,e.persEnc);o(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}t.exports=s,s.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this.reseed=1},s.prototype.generate=function(e,t,r,n){if(this.reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=i.toArray(r,n),this._update(r));for(var o=[];o.length>8,s=255&i;o?r.push(o,s):r.push(s)}return r},n.zero2=o,n.toHex=s,n.encode=function(e,t){return"hex"===t?s(e):e},n.getNAF=function(e,t){for(var r=[],n=1<=0;){var o;if(i.isOdd()){var s=i.andln(n-1);o=s>(n>>1)-1?(n>>1)-s:s,i.isubn(o)}else o=0;r.push(o);for(var a=0!==i.cmpn(0)&&0===i.andln(n-1)?t+1:1,u=1;u0||t.cmpn(-i)>0;){var o,s,a,u=e.andln(3)+n&3,c=t.andln(3)+i&3;3===u&&(u=-1),3===c&&(c=-1),o=0==(1&u)?0:3!=(a=e.andln(7)+n&7)&&5!==a||2!==c?u:-u,r[0].push(o),s=0==(1&c)?0:3!=(a=t.andln(7)+i&7)&&5!==a||2!==u?c:-c,r[1].push(s),2*n===o+1&&(n=1-n),2*i===s+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},n.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},n.parseBytes=function(e){return"string"==typeof e?n.toArray(e,"hex"):e},n.intFromLE=function(e){return new i(e,"hex","le")}},{"bn.js":2}],19:[function(e,t,r){t.exports={version:"6.3.3"}},{}],20:[function(e,t,r){var n=r;n.utils=e("./hash/utils"),n.common=e("./hash/common"),n.sha=e("./hash/sha"),n.ripemd=e("./hash/ripemd"),n.hmac=e("./hash/hmac"),n.sha1=n.sha.sha1,n.sha256=n.sha.sha256,n.sha224=n.sha.sha224,n.sha384=n.sha.sha384,n.sha512=n.sha.sha512,n.ripemd160=n.ripemd.ripemd160},{"./hash/common":21,"./hash/hmac":22,"./hash/ripemd":23,"./hash/sha":24,"./hash/utils":31}],21:[function(e,t,r){"use strict";var n=e("./utils"),i=e("minimalistic-assert");function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}r.BlockHash=o,o.prototype.update=function(e,t){if(e=n.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=n.join32(e,0,e.length-r,this.endian);for(var i=0;i>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0,o=8;othis.blockSize&&(e=(new this.Hash).update(e).digest()),i(e.length<=this.blockSize);for(var t=e.length;t>>3},r.g1_256=function(e){return n(e,17)^n(e,19)^e>>>10}},{"../utils":31}],31:[function(e,t,r){"use strict";var n=e("minimalistic-assert"),i=e("inherits");function o(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function s(e){return 1===e.length?"0"+e:e}function a(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}r.inherits=i,r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),n=0;n>8,s=255&i;o?r.push(o,s):r.push(s)}else for(n=0;n>>0}return s},r.split32=function(e,t){for(var r=new Array(4*e.length),n=0,i=0;n>>24,r[i+1]=o>>>16&255,r[i+2]=o>>>8&255,r[i+3]=255&o):(r[i+3]=o>>>24,r[i+2]=o>>>16&255,r[i+1]=o>>>8&255,r[i]=255&o)}return r},r.rotr32=function(e,t){return e>>>t|e<<32-t},r.rotl32=function(e,t){return e<>>32-t},r.sum32=function(e,t){return e+t>>>0},r.sum32_3=function(e,t,r){return e+t+r>>>0},r.sum32_4=function(e,t,r,n){return e+t+r+n>>>0},r.sum32_5=function(e,t,r,n,i){return e+t+r+n+i>>>0},r.sum64=function(e,t,r,n){var i=e[t],o=n+e[t+1]>>>0,s=(o>>0,e[t+1]=o},r.sum64_hi=function(e,t,r,n){return(t+n>>>0>>0},r.sum64_lo=function(e,t,r,n){return t+n>>>0},r.sum64_4_hi=function(e,t,r,n,i,o,s,a){var u=0,c=t;return u+=(c=c+n>>>0)>>0)>>0)>>0},r.sum64_4_lo=function(e,t,r,n,i,o,s,a){return t+n+o+a>>>0},r.sum64_5_hi=function(e,t,r,n,i,o,s,a,u,c){var h=0,f=t;return h+=(f=f+n>>>0)>>0)>>0)>>0)>>0},r.sum64_5_lo=function(e,t,r,n,i,o,s,a,u,c){return t+n+o+a+c>>>0},r.rotr64_hi=function(e,t,r){return(t<<32-r|e>>>r)>>>0},r.rotr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0},r.shr64_hi=function(e,t,r){return e>>>r},r.shr64_lo=function(e,t,r){return(e<<32-r|t>>>r)>>>0}},{inherits:32,"minimalistic-assert":34}],32:[function(e,t,r){"function"==typeof Object.create?t.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},{}],33:[function(e,t,r){(function(e,r){!function(){"use strict";var n="object"==typeof window?window:{};!n.JS_SHA3_NO_NODE_JS&&"object"==typeof e&&e.versions&&e.versions.node&&(n=r);for(var i=!n.JS_SHA3_NO_COMMON_JS&&"object"==typeof t&&t.exports,o="0123456789abcdef".split(""),s=[0,8,16,24],a=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],u=[224,256,384,512],c=["hex","buffer","arrayBuffer","array"],h=function(e,t,r){return function(n){return new _(e,t,e).update(n)[r]()}},f=function(e,t,r){return function(n,i){return new _(e,t,i).update(n)[r]()}},l=function(e,t){var r=h(e,t,"hex");r.create=function(){return new _(e,t,e)},r.update=function(e){return r.create().update(e)};for(var n=0;n>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}_.prototype.update=function(e){var t="string"!=typeof e;t&&e.constructor===ArrayBuffer&&(e=new Uint8Array(e));for(var r,n,i=e.length,o=this.blocks,a=this.byteCount,u=this.blockCount,c=0,h=this.s;c>2]|=e[c]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|63&n)<=57344?(o[r>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|63&n)<=a){for(this.start=r-a,this.block=o[u],r=0;r>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(e[0]=e[r],t=1;t>4&15]+o[15&e]+o[e>>12&15]+o[e>>8&15]+o[e>>20&15]+o[e>>16&15]+o[e>>28&15]+o[e>>24&15];a%t==0&&(E(r),s=0)}return i&&(e=r[s],i>0&&(u+=o[e>>4&15]+o[15&e]),i>1&&(u+=o[e>>12&15]+o[e>>8&15]),i>2&&(u+=o[e>>20&15]+o[e>>16&15])),u},_.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;e=i?new ArrayBuffer(n+1<<2):new ArrayBuffer(a);for(var u=new Uint32Array(e);s>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;a%r==0&&E(n)}return o&&(e=a<<2,t=n[s],o>0&&(u[e]=255&t),o>1&&(u[e+1]=t>>8&255),o>2&&(u[e+2]=t>>16&255)),u};var E=function(e){var t,r,n,i,o,s,u,c,h,f,l,d,p,m,v,y,g,b,w,_,E,M,k,A,S,P,j,x,O,N,T,R,I,C,B,F,D,L,U,z,H,K,G,q,V,W,J,Z,X,$,Q,Y,ee,te,re,ne,ie,oe,se,ae,ue,ce,he;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],o=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],u=e[3]^e[13]^e[23]^e[33]^e[43],c=e[4]^e[14]^e[24]^e[34]^e[44],h=e[5]^e[15]^e[25]^e[35]^e[45],f=e[6]^e[16]^e[26]^e[36]^e[46],l=e[7]^e[17]^e[27]^e[37]^e[47],t=(d=e[8]^e[18]^e[28]^e[38]^e[48])^(s<<1|u>>>31),r=(p=e[9]^e[19]^e[29]^e[39]^e[49])^(u<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(c<<1|h>>>31),r=o^(h<<1|c>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(f<<1|l>>>31),r=u^(l<<1|f>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=c^(d<<1|p>>>31),r=h^(p<<1|d>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=f^(i<<1|o>>>31),r=l^(o<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,m=e[0],v=e[1],W=e[11]<<4|e[10]>>>28,J=e[10]<<4|e[11]>>>28,x=e[20]<<3|e[21]>>>29,O=e[21]<<3|e[20]>>>29,ae=e[31]<<9|e[30]>>>23,ue=e[30]<<9|e[31]>>>23,K=e[40]<<18|e[41]>>>14,G=e[41]<<18|e[40]>>>14,C=e[2]<<1|e[3]>>>31,B=e[3]<<1|e[2]>>>31,y=e[13]<<12|e[12]>>>20,g=e[12]<<12|e[13]>>>20,Z=e[22]<<10|e[23]>>>22,X=e[23]<<10|e[22]>>>22,N=e[33]<<13|e[32]>>>19,T=e[32]<<13|e[33]>>>19,ce=e[42]<<2|e[43]>>>30,he=e[43]<<2|e[42]>>>30,te=e[5]<<30|e[4]>>>2,re=e[4]<<30|e[5]>>>2,F=e[14]<<6|e[15]>>>26,D=e[15]<<6|e[14]>>>26,b=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,$=e[34]<<15|e[35]>>>17,Q=e[35]<<15|e[34]>>>17,R=e[45]<<29|e[44]>>>3,I=e[44]<<29|e[45]>>>3,A=e[6]<<28|e[7]>>>4,S=e[7]<<28|e[6]>>>4,ne=e[17]<<23|e[16]>>>9,ie=e[16]<<23|e[17]>>>9,L=e[26]<<25|e[27]>>>7,U=e[27]<<25|e[26]>>>7,_=e[36]<<21|e[37]>>>11,E=e[37]<<21|e[36]>>>11,Y=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,q=e[8]<<27|e[9]>>>5,V=e[9]<<27|e[8]>>>5,P=e[18]<<20|e[19]>>>12,j=e[19]<<20|e[18]>>>12,oe=e[29]<<7|e[28]>>>25,se=e[28]<<7|e[29]>>>25,z=e[38]<<8|e[39]>>>24,H=e[39]<<8|e[38]>>>24,M=e[48]<<14|e[49]>>>18,k=e[49]<<14|e[48]>>>18,e[0]=m^~y&b,e[1]=v^~g&w,e[10]=A^~P&x,e[11]=S^~j&O,e[20]=C^~F&L,e[21]=B^~D&U,e[30]=q^~W&Z,e[31]=V^~J&X,e[40]=te^~ne&oe,e[41]=re^~ie&se,e[2]=y^~b&_,e[3]=g^~w&E,e[12]=P^~x&N,e[13]=j^~O&T,e[22]=F^~L&z,e[23]=D^~U&H,e[32]=W^~Z&$,e[33]=J^~X&Q,e[42]=ne^~oe&ae,e[43]=ie^~se&ue,e[4]=b^~_&M,e[5]=w^~E&k,e[14]=x^~N&R,e[15]=O^~T&I,e[24]=L^~z&K,e[25]=U^~H&G,e[34]=Z^~$&Y,e[35]=X^~Q&ee,e[44]=oe^~ae&ce,e[45]=se^~ue&he,e[6]=_^~M&m,e[7]=E^~k&v,e[16]=N^~R&A,e[17]=T^~I&S,e[26]=z^~K&C,e[27]=H^~G&B,e[36]=$^~Y&q,e[37]=Q^~ee&V,e[46]=ae^~ce&te,e[47]=ue^~he&re,e[8]=M^~m&y,e[9]=k^~v&g,e[18]=R^~A&P,e[19]=I^~S&j,e[28]=K^~C&F,e[29]=G^~B&D,e[38]=Y^~q&W,e[39]=ee^~V&J,e[48]=ce^~te&ne,e[49]=he^~re&ie,e[0]^=a[n],e[1]^=a[n+1]};if(i)t.exports=p;else for(v=0;v=64;){var d,p,m,v,y,g=r,b=n,w=i,_=o,E=s,M=a,k=u,A=c;for(p=0;p<16;p++)m=f+4*p,h[p]=(255&e[m])<<24|(255&e[m+1])<<16|(255&e[m+2])<<8|255&e[m+3];for(p=16;p<64;p++)v=((d=h[p-2])>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,y=((d=h[p-15])>>>7|d<<25)^(d>>>18|d<<14)^d>>>3,h[p]=(v+h[p-7]|0)+(y+h[p-16]|0)|0;for(p=0;p<64;p++)v=(((E>>>6|E<<26)^(E>>>11|E<<21)^(E>>>25|E<<7))+(E&M^~E&k)|0)+(A+(t[p]+h[p]|0)|0)|0,y=((g>>>2|g<<30)^(g>>>13|g<<19)^(g>>>22|g<<10))+(g&b^g&w^b&w)|0,A=k,k=M,M=E,E=_+v|0,_=w,w=b,b=g,g=v+y|0;r=r+g|0,n=n+b|0,i=i+w|0,o=o+_|0,s=s+E|0,a=a+M|0,u=u+k|0,c=c+A|0,f+=64,l-=64}}f(e);var l,d=e.length%64,p=e.length/536870912|0,m=e.length<<3,v=d<56?56:120,y=e.slice(e.length-d,e.length);for(y.push(128),l=d+1;l>>24&255),y.push(p>>>16&255),y.push(p>>>8&255),y.push(p>>>0&255),y.push(m>>>24&255),y.push(m>>>16&255),y.push(m>>>8&255),y.push(m>>>0&255),f(y),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255]}function s(e,t,r){var n;e=e.length<=64?e:o(e);var i=64+t.length+4,s=new Array(i),a=new Array(64),u=[];for(n=0;n<64;n++)s[n]=54;for(n=0;n=i-4;e--){if(s[e]++,s[e]<=255)return;s[e]=0}}for(;r>=32;)c(),u=u.concat(o(a.concat(o(s)))),r-=32;return r>0&&(c(),u=u.concat(o(a.concat(o(s))).slice(0,r))),u}function a(e,t,r,n,i){var o;for(f(e,16*(2*r-1),i,0,16),o=0;o<2*r;o++)h(e,16*o,i,16),c(i,n),f(i,0,e,t+16*o,16);for(o=0;o>>32-t}function c(e,t){f(e,0,t,0,16);for(var r=8;r>0;r-=2)t[4]^=u(t[0]+t[12],7),t[8]^=u(t[4]+t[0],9),t[12]^=u(t[8]+t[4],13),t[0]^=u(t[12]+t[8],18),t[9]^=u(t[5]+t[1],7),t[13]^=u(t[9]+t[5],9),t[1]^=u(t[13]+t[9],13),t[5]^=u(t[1]+t[13],18),t[14]^=u(t[10]+t[6],7),t[2]^=u(t[14]+t[10],9),t[6]^=u(t[2]+t[14],13),t[10]^=u(t[6]+t[2],18),t[3]^=u(t[15]+t[11],7),t[7]^=u(t[3]+t[15],9),t[11]^=u(t[7]+t[3],13),t[15]^=u(t[11]+t[7],18),t[1]^=u(t[0]+t[3],7),t[2]^=u(t[1]+t[0],9),t[3]^=u(t[2]+t[1],13),t[0]^=u(t[3]+t[2],18),t[6]^=u(t[5]+t[4],7),t[7]^=u(t[6]+t[5],9),t[4]^=u(t[7]+t[6],13),t[5]^=u(t[4]+t[7],18),t[11]^=u(t[10]+t[9],7),t[8]^=u(t[11]+t[10],9),t[9]^=u(t[8]+t[11],13),t[10]^=u(t[9]+t[8],18),t[12]^=u(t[15]+t[14],7),t[13]^=u(t[12]+t[15],9),t[14]^=u(t[13]+t[12],13),t[15]^=u(t[14]+t[13],18);for(r=0;r<16;++r)e[r]+=t[r]}function h(e,t,r,n){for(var i=0;i=256)return!1}return!0}function d(e,t){var r=parseInt(e);if(e!=r)throw new Error("invalid "+t);return r}function p(t,r,n,o,u,c,p){if(!p)throw new Error("missing callback");if(n=d(n,"N"),o=d(o,"r"),u=d(u,"p"),c=d(c,"dkLen"),0===n||0!=(n&n-1))throw new Error("N must be power of 2");if(n>i/128/o)throw new Error("N too large");if(o>i/128/u)throw new Error("r too large");if(!l(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!l(r))throw new Error("salt must be an array or buffer");r=Array.prototype.slice.call(r);for(var m=s(t,r,128*u*o),v=new Uint32Array(32*u*o),y=0;yT&&(r=T);for(var e=0;eT&&(r=T);for(e=0;e>0&255),m.push(v[e]>>8&255),m.push(v[e]>>16&255),m.push(v[e]>>24&255);var d=s(t,m,c);return p(null,1,d)}R(I)};I()}void 0!==r?t.exports=p:n&&(n.scrypt&&(n._scrypt=n.scrypt),n.scrypt=p)}(this)}).call(this,e("timers").setImmediate)},{timers:37}],37:[function(e,t,r){(function(e){t.exports={setImmediate:e.setImmediate}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],38:[function(e,t,r){(function(e){var r;if(e.crypto&&crypto.getRandomValues){var n=new Uint8Array(16);r=function(){return crypto.getRandomValues(n),n}}if(!r){var i=new Array(16);r=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}t.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],39:[function(e,t,r){for(var n=e("./rng"),i=[],o={},s=0;s<256;s++)i[s]=(s+256).toString(16).substr(1),o[i[s]]=s;function a(e,t){var r=t||0,n=i;return n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+"-"+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]+n[e[r++]]}var u=n(),c=[1|u[0],u[1],u[2],u[3],u[4],u[5]],h=16383&(u[6]<<8|u[7]),f=0,l=0;function d(e,t,r){var i=t&&r||0;"string"==typeof e&&(t="binary"==e?new Array(16):null,e=null);var o=(e=e||{}).random||(e.rng||n)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t)for(var s=0;s<16;s++)t[i+s]=o[s];return t||a(o)}var p=d;p.v1=function(e,t,r){var n=t&&r||0,i=t||[],o=void 0!==(e=e||{}).clockseq?e.clockseq:h,s=void 0!==e.msecs?e.msecs:(new Date).getTime(),u=void 0!==e.nsecs?e.nsecs:l+1,d=s-f+(u-l)/1e4;if(d<0&&void 0===e.clockseq&&(o=o+1&16383),(d<0||s>f)&&void 0===e.nsecs&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");f=s,l=u,h=o;var p=(1e4*(268435455&(s+=122192928e5))+u)%4294967296;i[n++]=p>>>24&255,i[n++]=p>>>16&255,i[n++]=p>>>8&255,i[n++]=255&p;var m=s/4294967296*1e4&268435455;i[n++]=m>>>8&255,i[n++]=255&m,i[n++]=m>>>24&15|16,i[n++]=m>>>16&255,i[n++]=o>>>8|128,i[n++]=255&o;for(var v=e.node||c,y=0;y<6;y++)i[n+y]=v[y];return t||a(i)},p.v4=d,p.parse=function(e,t,r){var n=t&&r||0,i=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,function(e){i<16&&(t[n+i++]=o[e])});i<16;)t[n+i++]=0;return t},p.unparse=a,t.exports=p},{"./rng":38}],40:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bytes"),o=n(e("@ethersproject/errors")),s=e("@ethersproject/properties"),a=e("./coders/abstract-coder"),u=e("./coders/address"),c=e("./coders/array"),h=e("./coders/boolean"),f=e("./coders/bytes"),l=e("./coders/fixed-bytes"),d=e("./coders/null"),p=e("./coders/number"),m=e("./coders/string"),v=e("./coders/tuple"),y=e("./fragments"),g=new RegExp(/^bytes([0-9]*)$/),b=new RegExp(/^(u?int)([0-9]*)$/),w=function(){function e(t){var r=this.constructor;o.checkNew(r,e),s.defineReadOnly(this,"coerceFunc",t||null)}return e.prototype._getCoder=function(e){var t=this;switch(e.baseType){case"address":return new u.AddressCoder(e.name);case"bool":return new h.BooleanCoder(e.name);case"string":return new m.StringCoder(e.name);case"bytes":return new f.BytesCoder(e.name);case"array":return new c.ArrayCoder(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new v.TupleCoder((e.components||[]).map(function(e){return t._getCoder(e)}),e.name);case"":return new d.NullCoder(e.name)}var r,n=e.type.match(b);return n?((0===(r=parseInt(n[2]||"256"))||r>256||r%8!=0)&&o.throwError("invalid "+n[1]+" bit length",o.INVALID_ARGUMENT,{arg:"param",value:e}),new p.NumberCoder(r/8,"int"===n[1],e.name)):(n=e.type.match(g))?((0===(r=parseInt(n[1]))||r>32)&&o.throwError("invalid bytes length",o.INVALID_ARGUMENT,{arg:"param",value:e}),new l.FixedBytesCoder(r,e.name)):o.throwError("invalid type",o.INVALID_ARGUMENT,{arg:"type",value:e.type})},e.prototype._getWordSize=function(){return 32},e.prototype._getReader=function(e){return new a.Reader(e,this._getWordSize(),this.coerceFunc)},e.prototype._getWriter=function(){return new a.Writer(this._getWordSize())},e.prototype.encode=function(e,t){var r=this;e.length!==t.length&&o.throwError("types/values length mismatch",o.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});var n=e.map(function(e){return r._getCoder(y.ParamType.from(e))}),i=new v.TupleCoder(n,"_"),s=this._getWriter();return i.encode(s,t),s.data},e.prototype.decode=function(e,t){var r=this,n=e.map(function(e){return r._getCoder(y.ParamType.from(e))});return new v.TupleCoder(n,"_").decode(this._getReader(i.arrayify(t)))},e}();r.AbiCoder=w,r.defaultAbiCoder=new w},{"./coders/abstract-coder":41,"./coders/address":42,"./coders/array":44,"./coders/boolean":45,"./coders/bytes":46,"./coders/fixed-bytes":47,"./coders/null":48,"./coders/number":49,"./coders/string":50,"./coders/tuple":51,"./fragments":52,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82}],41:[function(e,t,r){"use trict";"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bytes"),o=e("@ethersproject/bignumber"),s=n(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=function(){function e(e,t,r,n){this.name=e,this.type=t,this.localName=r,this.dynamic=n}return e.prototype._throwError=function(e,t){s.throwError(e,s.INVALID_ARGUMENT,{argument:this.localName,coder:this,value:t})},e}();r.Coder=u;var c=function(){function e(e){a.defineReadOnly(this,"wordSize",e||32),this._data=i.arrayify([]),this._padding=new Uint8Array(e)}return Object.defineProperty(e.prototype,"data",{get:function(){return i.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._data.length},enumerable:!0,configurable:!0}),e.prototype._writeData=function(e){return this._data=i.concat([this._data,e]),e.length},e.prototype.writeBytes=function(e){var t=i.arrayify(e);return t.length%this.wordSize&&(t=i.concat([t,this._padding.slice(t.length%this.wordSize)])),this._writeData(t)},e.prototype._getValue=function(e){var t=i.arrayify(o.BigNumber.from(e));return t.length>this.wordSize&&s.throwError("value out-of-bounds",s.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=i.concat([this._padding.slice(t.length%this.wordSize),t])),t},e.prototype.writeValue=function(e){return this._writeData(this._getValue(e))},e.prototype.writeUpdatableValue=function(){var e=this,t=this.length;return this.writeValue(0),function(r){e._data.set(e._getValue(r),t)}},e}();r.Writer=c;var h=function(){function e(e,t,r){a.defineReadOnly(this,"_data",i.arrayify(e)),a.defineReadOnly(this,"wordSize",t||32),a.defineReadOnly(this,"_coerceFunc",r),this._offset=0}return Object.defineProperty(e.prototype,"data",{get:function(){return i.hexlify(this._data)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"consumed",{get:function(){return this._offset},enumerable:!0,configurable:!0}),e.coerce=function(e,t){var r=e.match("^u?int([0-9]+)$");return r&&parseInt(r[1])<=48&&(t=t.toNumber()),t},e.prototype.coerce=function(t,r){return this._coerceFunc?this._coerceFunc(t,r):e.coerce(t,r)},e.prototype._peekBytes=function(e,t){var r=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+r>this._data.length&&s.throwError("data out-of-bounds",s.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+r}),this._data.slice(this._offset,this._offset+r)},e.prototype.subReader=function(t){return new e(this._data.slice(this._offset+t),this.wordSize,this._coerceFunc)},e.prototype.readBytes=function(e){var t=this._peekBytes(0,e);return this._offset+=t.length,t.slice(0,e)},e.prototype.readValue=function(){return o.BigNumber.from(this.readBytes(this.wordSize))},e}();r.Reader=h},{"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82}],42:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=e("@ethersproject/address"),s=e("@ethersproject/bytes"),a=function(e){function t(t){return e.call(this,"address","address",t,!1)||this}return i(t,e),t.prototype.encode=function(e,t){try{o.getAddress(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)},t.prototype.decode=function(e){return o.getAddress(s.hexZeroPad(e.readValue().toHexString(),20))},t}(e("./abstract-coder").Coder);r.AddressCoder=a},{"./abstract-coder":41,"@ethersproject/address":57,"@ethersproject/bytes":63}],43:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=function(e){function t(t){var r=e.call(this,t.name,t.type,void 0,t.dynamic)||this;return r.coder=t,r}return i(t,e),t.prototype.encode=function(e,t){return this.coder.encode(e,t)},t.prototype.decode=function(e){return this.coder.decode(e)},t}(e("./abstract-coder").Coder);r.AnonymousCoder=o},{"./abstract-coder":41}],44:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("./abstract-coder"),u=e("./anonymous");function c(e,t,r){if(Array.isArray(r));else if(r&&"object"==typeof r){var n=[];t.forEach(function(e){n.push(r[e.localName])}),r=n}else s.throwError("invalid tuple value",s.INVALID_ARGUMENT,{coderType:"tuple",value:r});t.length!==r.length&&s.throwError("types/value length mismatch",s.INVALID_ARGUMENT,{coderType:"tuple",value:r});var i=new a.Writer(e.wordSize),o=new a.Writer(e.wordSize),u=[];t.forEach(function(e,t){var n=r[t];if(e.dynamic){var s=o.length;e.encode(o,n);var a=i.writeUpdatableValue();u.push(function(e){a(e+s)})}else e.encode(i,n)}),u.forEach(function(e){e(i.length)});var c=e.writeBytes(i.data);return c+=e.writeBytes(o.data)}function h(e,t){var r=[],n=e.subReader(0),i=0;return t.forEach(function(t){var o=null;if(t.dynamic){var s=e.readValue(),a=n.subReader(s.toNumber());o=t.decode(a),i+=a.consumed}else o=t.decode(e);void 0!=o&&r.push(o)}),e.readBytes(i),t.forEach(function(e,t){var n=e.localName;n&&("length"===n&&(n="_length"),null==r[n]&&(r[n]=r[t]))}),r}r.pack=c,r.unpack=h;var f=function(e){function t(t,r,n){var i=this,o=t.type+"["+(r>=0?r:"")+"]",s=-1===r||t.dynamic;return(i=e.call(this,"array",o,n,s)||this).coder=t,i.length=r,i}return i(t,e),t.prototype.encode=function(e,t){Array.isArray(t)||this._throwError("expected array value",t);var r=this.length;-1===r&&(r=t.length,e.writeValue(t.length)),s.checkArgumentCount(r,t.length," in coder array"+(this.localName?" "+this.localName:""));for(var n=[],i=0;i2)throw new Error("invalid signature");if(!r[1].match(/^[0-9]+$/))throw new Error("invalid signature gas");return t.gas=s.BigNumber.from(r[1]),r[0]}return e}function g(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach(function(e){switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}})}r.EventFragment=v;var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.from=function(e){return"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(t.isConstructorFragment(e))return e;if("constructor"!==e.type)throw new Error("invalid constructor object - "+e.type);return new t(c,{type:e.type,inputs:e.inputs?e.inputs.map(d.fromObject):[],payable:null==e.payable||!!e.payable,gas:e.gas?s.BigNumber.from(e.gas):null})},t.fromString=function(e){var r={type:"constructor"},n=(e=y(e,r)).match(k);if(!n)throw new Error("invalid constructor: "+e);if("constructor"!==n[1].trim())throw new Error("invalid constructor");return r.inputs=p(n[2].trim(),!1),g(n[3].trim(),r),t.fromObject(r)},t.isConstructorFragment=function(e){return e&&e._isFragment&&"constructor"===e.type},t}(m);r.ConstructorFragment=b;var w=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.from=function(e){return"string"==typeof e?t.fromString(e):t.fromObject(e)},t.fromObject=function(e){if(t.isFunctionFragment(e))return e;if("function"!==e.type)throw new Error("invalid function object - "+e.type);return new t(c,{type:e.type,name:M(e.name),constant:!!e.constant,inputs:e.inputs?e.inputs.map(d.fromObject):[],outputs:e.outputs?e.outputs.map(d.fromObject):[],payable:null==e.payable||!!e.payable,stateMutability:null!=e.stateMutability?function(e){if("string"!=typeof e)throw new Error("requires a string");return e}(e.stateMutability):null,gas:e.gas?s.BigNumber.from(e.gas):null})},t.fromString=function(e){var r={type:"function"},n=(e=y(e,r)).split(" returns ");if(n.length>2)throw new Error("invalid function");var i=n[0].match(k);if(!i)throw new Error("invalid signature");if(r.name=i[1].trim(),!r.name.match(E))throw new Error("invalid identifier: '"+r.name+"'");if(r.inputs=p(i[2],!1),g(i[3].trim(),r),n.length>1){var o=n[1].match(k);if(""!=o[1].trim()||""!=o[3].trim())throw new Error("unexpected tokens");r.outputs=p(o[2],!1)}else r.outputs=[];return t.fromObject(r)},t.isFunctionFragment=function(e){return e&&e._isFragment&&"function"===e.type},t}(b);function _(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}r.FunctionFragment=w;var E=new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");function M(e){if(!e||!e.match(E))throw new Error("invalid identifier: '"+e+"'");return e}var k=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")},{"@ethersproject/bignumber":62,"@ethersproject/errors":66,"@ethersproject/properties":82}],53:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./fragments");r.ConstructorFragment=n.ConstructorFragment,r.EventFragment=n.EventFragment,r.Fragment=n.Fragment,r.FunctionFragment=n.FunctionFragment,r.ParamType=n.ParamType;var i=e("./abi-coder");r.AbiCoder=i.AbiCoder,r.defaultAbiCoder=i.defaultAbiCoder;var o=e("./interface");r.Indexed=o.Indexed,r.Interface=o.Interface},{"./abi-coder":40,"./fragments":52,"./interface":54}],54:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=e("@ethersproject/address"),a=e("@ethersproject/bignumber"),u=e("@ethersproject/bytes"),c=e("@ethersproject/hash"),h=e("@ethersproject/keccak256"),f=o(e("@ethersproject/errors")),l=e("@ethersproject/properties"),d=e("./abi-coder"),p=e("./fragments"),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(l.Description);r.LogDescription=m;var v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(l.Description);r.TransactionDescription=v;var y=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.isIndexed=function(e){return!(!e||!e._isIndexed)},t}(l.Description);r.Indexed=y;var g=function(){return function(){}}();r.Result=g;var b=function(){function e(t){var r=this.constructor,n=this;f.checkNew(r,e);var i=[];i="string"==typeof t?JSON.parse(t):t,l.defineReadOnly(this,"fragments",i.map(function(e){return p.Fragment.from(e)}).filter(function(e){return null!=e})),l.defineReadOnly(this,"_abiCoder",r.getAbiCoder()),l.defineReadOnly(this,"functions",{}),l.defineReadOnly(this,"errors",{}),l.defineReadOnly(this,"events",{}),l.defineReadOnly(this,"structs",{}),this.fragments.forEach(function(e){var t=null;switch(e.type){case"constructor":return n.deploy?void f.warn("duplicate definition - constructor"):void l.defineReadOnly(n,"deploy",e);case"function":t=n.functions;break;case"event":t=n.events;break;default:return}var r=e.format();t[r]?f.warn("duplicate definition - "+r):t[r]=e}),[this.events,this.functions].forEach(function(e){var t=function(e){var t={};for(var r in e){var n=e[r].name;t[n]||(t[n]=0),t[n]++}return t}(e);Object.keys(e).forEach(function(r){var n=e[r];1===t[n.name]?e[n.name]=n:f.warn("duplicate definition - "+n.name)})}),this.deploy||l.defineReadOnly(this,"deploy",p.ConstructorFragment.from({type:"constructor"})),l.defineReadOnly(this,"_isInterface",!0)}return e.getAbiCoder=function(){return d.defaultAbiCoder},e.getAddress=function(e){return s.getAddress(e)},e.prototype._sighashify=function(e){return u.hexDataSlice(c.id(e.format()),0,4)},e.prototype._topicify=function(e){return c.id(e.format())},e.prototype.getFunction=function(e){return u.isHexString(e)?w(e,this.getSighash.bind(this),this.functions):-1===e.indexOf("(")?this.functions[e.trim()]||null:this.functions[p.FunctionFragment.fromString(e).format()]},e.prototype.getEvent=function(e){return u.isHexString(e)?w(e,this.getEventTopic.bind(this),this.events):-1===e.indexOf("(")?this.events[e]:this.events[p.EventFragment.fromString(e).format()]},e.prototype.getSighash=function(e){return"string"==typeof e&&(e=this.getFunction(e)),this._sighashify(e)},e.prototype.getEventTopic=function(e){return"string"==typeof e&&(e=this.getEvent(e)),this._topicify(e)},e.prototype._encodeParams=function(e,t){return this._abiCoder.encode(e,t)},e.prototype.encodeDeploy=function(e){return this._encodeParams(this.deploy.inputs,e||[])},e.prototype.encodeFunctionData=function(e,t){return"string"==typeof e&&(e=this.getFunction(e)),u.hexlify(u.concat([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))},e.prototype.decodeFunctionResult=function(e,t){"string"==typeof e&&(e=this.getFunction(e));var r=u.arrayify(t),n=null,i=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:"0x08c379a0"===u.hexlify(r.slice(0,4))&&(i="Error(string)",n=this._abiCoder.decode(["string"],r.slice(4)))}return f.throwError("call revert exception",f.CALL_EXCEPTION,{method:e.format(),errorSignature:i,errorArgs:[n],reason:n})},e.prototype.encodeFilterTopics=function(e,t){var r=this;"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&f.throwError("too many arguments for "+e.format(),f.UNEXPECTED_ARGUMENT,{argument:"values",value:t});var n=[];for(e.anonymous||n.push(this.getEventTopic(e)),t.forEach(function(t,i){var o=e.inputs[i];o.indexed?null==t?n.push(null):"string"===o.type?n.push(c.id(t)):"bytes"===o.type?n.push(h.keccak256(u.hexlify(t))):-1!==o.type.indexOf("[")||"tuple"===o.type.substring(0,5)?f.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,t):("address"===o.type&&r._abiCoder.encode(["address"],[t]),n.push(u.hexZeroPad(u.hexlify(t),32))):null!=t&&f.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,t)});n.length&&null===n[n.length-1];)n.pop();return n},e.prototype.decodeEventLog=function(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){var n=this.getEventTopic(e);u.isHexString(r[0],32)&&r[0].toLowerCase()===n||f.throwError("fragment/topic mismatch",f.INVALID_ARGUMENT,{argument:"topics[0]",expected:n,value:r[0]}),r=r.slice(1)}var i=[],o=[],s=[];e.inputs.forEach(function(e,t){e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(i.push(p.ParamType.fromObject({type:"bytes32",name:e.name})),s.push(!0)):(i.push(e),s.push(!1)):(o.push(e),s.push(!1))});var a=null!=r?this._abiCoder.decode(i,u.concat(r)):null,c=this._abiCoder.decode(o,t),h=[],l=0,d=0;return e.inputs.forEach(function(e,t){e.indexed?null==a?h[t]=new y({_isIndexed:!0,hash:null}):s[t]?h[t]=new y({_isIndexed:!0,hash:a[d++]}):h[t]=a[d++]:h[t]=c[l++]}),h},e.prototype.parseTransaction=function(e){var t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new v({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:a.BigNumber.from(e.value||"0")}):null},e.prototype.parseLog=function(e){var t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new m({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),values:this.decodeEventLog(t,e.data,e.topics)})},e.isInterface=function(e){return!(!e||!e._isInterface)},e}();function w(e,t,r){for(var n in r)if(-1!==n.indexOf("(")){var i=r[n];if(t(i)===e)return i}return null}r.Interface=b},{"./abi-coder":40,"./fragments":52,"@ethersproject/address":57,"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/hash":72,"@ethersproject/keccak256":79,"@ethersproject/properties":82}],55:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=e("@ethersproject/bytes"),a=o(e("@ethersproject/errors")),u=e("@ethersproject/errors"),c=e("@ethersproject/properties"),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.isForkEvent=function(e){return!(!e||!e._isForkEvent)},t}(c.Description);r.ForkEvent=h;var f=function(e){function t(t,r){return s.isHexString(t,32)||a.throwArgumentError("invalid blockhash","blockhash",t),e.call(this,{_isForkEvent:!0,_isBlockForkEvent:!0,expiry:r||0,blockHash:t})||this}return i(t,e),t}(h);r.BlockForkEvent=f;var l=function(e){function t(t,r){return s.isHexString(t,32)||a.throwArgumentError("invalid transaction hash","hash",t),e.call(this,{_isForkEvent:!0,_isTransactionForkEvent:!0,expiry:r||0,hash:t})||this}return i(t,e),t}(h);r.TransactionForkEvent=l;var d=function(e){function t(t,r,n){return s.isHexString(t,32)||a.throwArgumentError("invalid transaction hash","beforeHash",t),s.isHexString(r,32)||a.throwArgumentError("invalid transaction hash","afterHash",r),e.call(this,{_isForkEvent:!0,_isTransactionOrderForkEvent:!0,expiry:n||0,beforeHash:t,afterHash:r})||this}return i(t,e),t}(h);r.TransactionOrderForkEvent=d;var p=function(){function e(){var t=this.constructor;u.checkAbstract(t,e),c.defineReadOnly(this,"_isProvider",!0)}return e.prototype.addListener=function(e,t){return this.on(e,t)},e.prototype.removeListener=function(e,t){return this.off(e,t)},e.isProvider=function(e){return!(!e||!e._isProvider)},e}();r.Provider=p},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82}],56:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=["chainId","data","from","gasLimit","gasPrice","nonce","to","value"],c=function(){function e(){var t=this.constructor;s.checkAbstract(t,e),a.defineReadOnly(this,"_isSigner",!0)}return e.prototype.getBalance=function(e){return this._checkProvider("getBalance"),this.provider.getBalance(this.getAddress(),e)},e.prototype.getTransactionCount=function(e){return this._checkProvider("getTransactionCount"),this.provider.getTransactionCount(this.getAddress(),e)},e.prototype.estimateGas=function(e){var t=this;return this._checkProvider("estimateGas"),a.resolveProperties(this.checkTransaction(e)).then(function(e){return t.provider.estimateGas(e)})},e.prototype.call=function(e,t){var r=this;return this._checkProvider("call"),a.resolveProperties(this.checkTransaction(e)).then(function(e){return r.provider.call(e)})},e.prototype.sendTransaction=function(e){var t=this;return this._checkProvider("sendTransaction"),this.populateTransaction(e).then(function(e){return t.signTransaction(e).then(function(e){return t.provider.sendTransaction(e)})})},e.prototype.getChainId=function(){return this._checkProvider("getChainId"),this.provider.getNetwork().then(function(e){return e.chainId})},e.prototype.getGasPrice=function(){return this._checkProvider("getGasPrice"),this.provider.getGasPrice()},e.prototype.resolveName=function(e){return this._checkProvider("resolveName"),this.provider.resolveName(e)},e.prototype.checkTransaction=function(e){for(var t in e)-1===u.indexOf(t)&&s.throwArgumentError("invalid transaction key: "+t,"transaction",e);var r=a.shallowCopy(e);return null==r.from&&(r.from=this.getAddress()),r},e.prototype.populateTransaction=function(e){var t=this;return a.resolveProperties(this.checkTransaction(e)).then(function(r){return null!=r.to&&(r.to=Promise.resolve(r.to).then(function(e){return t.resolveName(e)})),null==r.gasPrice&&(r.gasPrice=t.getGasPrice()),null==r.nonce&&(r.nonce=t.getTransactionCount("pending")),null==r.from?r.from=t.getAddress():r.from=Promise.all([t.getAddress(),t.provider.resolveName(r.from)]).then(function(t){return t[0]!==t[1]&&s.throwArgumentError("from address mismatch","transaction",e),t[0]}),null==r.gasLimit&&(r.gasLimit=t.estimateGas(r)),null==r.chainId&&(r.chainId=t.getChainId()),a.resolveProperties(r)})},e.prototype._checkProvider=function(e){this.provider||s.throwError("missing provider",s.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})},e.isSigner=function(e){return!(!e||!e._isSigner)},e}();r.Signer=c;var h=function(e){function t(r,n){var i,o=this.constructor;return s.checkNew(o,t),i=e.call(this)||this,a.defineReadOnly(i,"address",r),a.defineReadOnly(i,"provider",n||null),i}return i(t,e),t.prototype.getAddress=function(){return Promise.resolve(this.address)},t.prototype._fail=function(e,t){return Promise.resolve().then(function(){s.throwError(e,s.UNSUPPORTED_OPERATION,{operation:t})})},t.prototype.signMessage=function(e){return this._fail("VoidSigner cannot sign messages","signMessage")},t.prototype.signTransaction=function(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")},t.prototype.connect=function(e){return new t(this.address,e)},t}(c);r.VoidSigner=h},{"@ethersproject/errors":66,"@ethersproject/properties":82}],57:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("bn.js")),o=n(e("@ethersproject/errors")),s=e("@ethersproject/bytes"),a=e("@ethersproject/keccak256"),u=e("@ethersproject/rlp");function c(e){s.isHexString(e,20)||o.throwError("invalid address",o.INVALID_ARGUMENT,{arg:"address",value:e});for(var t=(e=e.toLowerCase()).substring(2).split(""),r=new Uint8Array(40),n=0;n<40;n++)r[n]=t[n].charCodeAt(0);r=s.arrayify(a.keccak256(r));for(n=0;n<40;n+=2)r[n>>1]>>4>=8&&(t[n]=t[n].toUpperCase()),(15&r[n>>1])>=8&&(t[n+1]=t[n+1].toUpperCase());return"0x"+t.join("")}for(var h={},f=0;f<10;f++)h[String(f)]=String(f);for(f=0;f<26;f++)h[String.fromCharCode(65+f)]=String(10+f);var l,d=Math.floor((l=9007199254740991,Math.log10?Math.log10(l):Math.log(l)/Math.LN10));function p(e){var t="";for((e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").forEach(function(e){t+=h[e]});t.length>=d;){var r=t.substring(0,d);t=parseInt(r,10)%97+t.substring(r.length)}for(var n=String(98-parseInt(t,10)%97);n.length<2;)n="0"+n;return n}function m(e){var t=null;if("string"!=typeof e&&o.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=c(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&o.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==p(e)&&o.throwArgumentError("bad icap checksum","address",e),t=new i.BN(e.substring(4),36).toString(16);t.length<40;)t="0"+t;t=c("0x"+t)}else o.throwArgumentError("invalid address","address",e);return t}r.getAddress=m,r.isAddress=function(e){try{return m(e),!0}catch(e){}return!1},r.getIcapAddress=function(e){for(var t=new i.BN(m(e).substring(2),16).toString(36).toUpperCase();t.length<30;)t="0"+t;return"XE"+p("XE00"+t)+t},r.getContractAddress=function(e){var t=null;try{t=m(e.from)}catch(t){o.throwArgumentError("missing from address","transaction",e)}var r=s.stripZeros(s.arrayify(e.nonce));return m(s.hexDataSlice(a.keccak256(u.encode([t,r])),12))}},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/keccak256":79,"@ethersproject/rlp":97,"bn.js":2}],58:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("@ethersproject/bytes");r.decode=function(e){e=atob(e);for(var t=[],r=0;r0;)r.push(o%this.base),o=o/this.base|0}for(var a="",u=0;0===t[u]&&u=0;--c)a+=this.alphabet[r[c]];return a},e.prototype.decode=function(e){if("string"!=typeof e)throw new TypeError("Expected String");var t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(var r=0;r>=8;for(;o>0;)t.push(255&o),o>>=8}for(var a=0;e[a]===this._leader&&a=9007199254740991||t<=-9007199254740991)&&l("overflow","BigNumber.from",t),e.from(String(t))):"bigint"==typeof t?e.from(t.toString()):o.isBytes(t)?e.from(o.hexlify(t)):t._hex&&o.isHexString(t._hex)?e.from(t._hex):t.toHexString&&"string"==typeof(t=t.toHexString())?e.from(t):s.throwArgumentError("invalid BigNumber value","value",t)},e.isBigNumber=function(e){return!(!e||!e._isBigNumber)},e}();function c(e){if("string"!=typeof e)return c(e.toString(16));if("-"===e[0])return"-"===(e=e.substring(1))[0]&&s.throwArgumentError("invalid hex","value",e),"0x00"===(e=c(e))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function h(e){return u.from(c(e))}function f(e){var t=u.from(e).toHexString();return"-"===t[0]?new i.BN("-"+t.substring(3),16):new i.BN(t.substring(2),16)}function l(e,t,r){var n={fault:e,operation:t};return null!=r&&(n.value=r),s.throwError(e,s.NUMERIC_FAULT,n)}r.BigNumber=u},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"bn.js":2}],61:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bytes"),o=n(e("@ethersproject/errors")),s=e("./bignumber"),a={},u=s.BigNumber.from(0),c=s.BigNumber.from(-1);function h(e,t,r,n){var i={fault:t,operation:r};return void 0!==n&&(i.value=n),o.throwError(e,o.NUMERIC_FAULT,i)}for(var f="0";f.length<256;)f+=f;function l(e){if("number"!=typeof e)try{e=s.BigNumber.from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+f.substring(0,e):o.throwArgumentError("invalid decimal size","decimals",e)}function d(e,t){null==t&&(t=0);var r=l(t),n=(e=s.BigNumber.from(e)).lt(u);n&&(e=e.mul(c));for(var i=e.mod(r).toString();i.length2&&o.throwArgumentError("too many decimal points","value",e);var a=i[0],u=i[1];for(a||(a="0"),u||(u="0"),u.length>r.length-1&&h("fractional component exceeds decimals","underflow","parseFixed");u.length80&&o.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",i),new e(a,r,n,i)},e}();r.FixedFormat=m;var v=function(){function e(t,r,n,i){var s=this.constructor;o.checkNew(s,e),this.format=i,this._hex=r,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}return e.prototype._checkFormat=function(e){this.format.name!==e.format.name&&o.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)},e.prototype.addUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.add(n),this.format.decimals,this.format)},e.prototype.subUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.sub(n),this.format.decimals,this.format)},e.prototype.mulUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)},e.prototype.divUnsafe=function(t){this._checkFormat(t);var r=p(this._value,this.format.decimals),n=p(t._value,t.format.decimals);return e.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)},e.prototype.round=function(t){null==t&&(t=0),(t<0||t>80||t%1)&&o.throwArgumentError("invalid decimal cound","decimals",t);var r=this.toString().split(".");if(r[1].length<=t)return this;var n="0."+f.substring(0,t)+"5";return r=this.addUnsafe(e.fromString(n,this.format))._value.split("."),e.fromString(r[0]+"."+r[1].substring(0,t))},e.prototype.toString=function(){return this._value},e.prototype.toHexString=function(e){if(null==e)return this._hex;e%8&&o.throwArgumentError("invalid byte width","width",e);var t=s.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return i.hexZeroPad(t,e/8)},e.prototype.toUnsafeFloat=function(){return parseFloat(this.toString())},e.prototype.toFormat=function(t){return e.fromString(this._value,t)},e.fromValue=function(t,r,n){return null!=n||null==r||s.isBigNumberish(r)||(n=r,r=null),null==r&&(r=0),null==n&&(n="fixed"),e.fromString(d(t,r),m.from(n))},e.fromString=function(t,r){null==r&&(r="fixed");var n=m.from(r),o=p(t,n.decimals);!n.signed&&o.lt(u)&&h("unsigned value cannot be negative","overflow","value",t);var s=null;n.signed?s=o.toTwos(n.width).toHexString():(s=o.toHexString(),s=i.hexZeroPad(s,n.width/8));var c=d(o,n.decimals);return new e(a,s,c,n)},e.fromBytes=function(t,r){null==r&&(r="fixed");var n=m.from(r);if(i.arrayify(t).length>n.width/8)throw new Error("overflow");var o=s.BigNumber.from(t);n.signed&&(o=o.fromTwos(n.width));var u=o.toTwos((n.signed?0:1)+n.width).toHexString(),c=d(o,n.decimals);return new e(a,u,c,n)},e.from=function(t,r){if("string"==typeof t)return e.fromString(t,r);if(i.isBytes(t))return e.fromBytes(t,r);try{return e.fromValue(t,0,r)}catch(e){if(e.code!==o.INVALID_ARGUMENT)throw e}return o.throwArgumentError("invalid FixedNumber value","value",t)},e.isFixedNumber=function(e){return!(!e||!e._isFixedNumber)},e}();r.FixedNumber=v},{"./bignumber":60,"@ethersproject/bytes":63,"@ethersproject/errors":66}],62:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./bignumber");r.BigNumber=n.BigNumber;var i=e("./fixednumber");r.FixedNumber=i.FixedNumber},{"./bignumber":60,"./fixednumber":61}],63:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("@ethersproject/errors"));function o(e){return!!e.toHexString}function s(e){return e.slice?e:(e.slice=function(){var t=Array.prototype.slice.call(arguments);return s(new Uint8Array(Array.prototype.slice.apply(e,t)))},e)}function a(e){return f(e)&&!(e.length%2)||u(e)}function u(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e)return!1;if(null==e.length)return!1;for(var t=0;t=256||r%1)return!1}return!0}function c(e,t){if(t||(t={}),"number"==typeof e){i.checkSafeUint53(e,"invalid arrayify value");for(var r=[];e;)r.unshift(255&e),e/=256;return 0===r.length&&r.push(0),s(new Uint8Array(r))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),o(e)&&(e=e.toHexString()),f(e)){var n=e.substring(2);!t.allowOddLength&&n.length%2&&i.throwArgumentError("hex data is odd-length","value",e);r=[];for(var a=0;at&&i.throwArgumentError("value out of range","value",arguments[0]);var r=new Uint8Array(t);return r.set(e,t-e.length),s(r)},r.isHexString=f;var l="0123456789abcdef";function d(e,t){if(t||(t={}),"number"==typeof e){i.checkSafeUint53(e,"invalid hexlify value");for(var r="";e;)r=l[15&e]+r,e=Math.floor(e/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),o(e))return e.toHexString();if(f(e))return!t.allowOddLength&&e.length%2&&i.throwArgumentError("hex data is odd-length","value",e),e.toLowerCase();if(u(e)){for(var n="0x",s=0;s>4]+l[15&a]}return n}return i.throwArgumentError("invalid hexlify value","value",e)}function p(e){"string"!=typeof e&&(e=d(e)),f(e)||i.throwArgumentError("invalid hex string","value",e),e=e.substring(2);for(var t=0;t2*t+2&&i.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function v(e){var t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0};if(a(e)){var r=c(e);65!==r.length&&i.throwArgumentError("invalid signature string; must be 65 bytes","signature",e),t.r=d(r.slice(0,32)),t.s=d(r.slice(32,64)),t.v=r[64],27!==t.v&&28!==t.v&&(t.v=27+t.v%2),t.recoveryParam=t.v-27,t.recoveryParam&&(r[32]|=128),t._vs=d(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t.v&&27!=t.v&&28!=t.v&&(t.v=27+t.v%2),null==t.recoveryParam&&null!=t.v?t.recoveryParam=1-t.v%2:null!=t.recoveryParam&&null==t.v?t.v=27+t.recoveryParam:null!=t.recoveryParam&&null!=t.v&&t.v!==27+t.recoveryParam&&i.throwArgumentError("signature v mismatch recoveryParam","signature",e),null!=t.r&&(t.r=m(t.r,32)),null!=t.s&&(t.s=m(t.s,32)),null!=t._vs){t._vs=m(t._vs,32),t._vs.length>66&&i.throwArgumentError("signature _vs overflow","signature",e);var n=(u=c(t._vs))[0]>=128?1:0,o=27+t.recoveryParam;u[0]&=127;var s=d(u);null==t.s?t.s=s:t.s!==s&&i.throwArgumentError("signature v mismatch _vs","signature",e),null==t.v?t.v=o:t.v!==o&&i.throwArgumentError("signature v mismatch _vs","signature",e),null==n?t.recoveryParam=n:t.recoveryParam!==n&&i.throwArgumentError("signature recoveryParam mismatch _vs","signature",e)}var u;if(null==t.v&&null==t.recoveryParam&&i.throwArgumentError("signature requires at least one of recoveryParam, v or _vs","signature",e),27!==t.v&&28!==t.v&&i.throwArgumentError("signature v not canonical","signature",e),(t.r.length>66||t.s.length>66)&&i.throwArgumentError("signature overflow r or s","signature",e),null==t._vs)(u=c(t.s))[0]>=128&&i.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(u[0]|=128),t._vs=d(u)}return t}r.hexlify=d,r.hexDataLength=function(e){if("string"!=typeof e)e=d(e);else if(!f(e)||e.length%2)return null;return(e.length-2)/2},r.hexDataSlice=function(e,t,r){return"string"!=typeof e?e=d(e):(!f(e)||e.length%2)&&i.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=r?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)},r.hexConcat=function(e){var t="0x";return e.forEach(function(e){t+=d(e).substring(2)}),t},r.hexValue=function(e){var t=p(d(e,{allowOddLength:!0}));return"0x"===t?"0x0":t},r.hexStripZeros=p,r.hexZeroPad=m,r.splitSignature=v,r.joinSignature=function(e){return d(h([(e=v(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}},{"@ethersproject/errors":66}],64:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("@ethersproject/bignumber");r.AddressZero="0x0000000000000000000000000000000000000000";r.HashZero="0x0000000000000000000000000000000000000000000000000000000000000000";r.EtherSymbol="Ξ";var i=n.BigNumber.from(-1);r.NegativeOne=i;var o=n.BigNumber.from(0);r.Zero=o;var s=n.BigNumber.from(1);r.One=s;var a=n.BigNumber.from(2);r.Two=a;var u=n.BigNumber.from("1000000000000000000");r.WeiPerEther=u;var c=n.BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");r.MaxUint256=c},{"@ethersproject/bignumber":62}],65:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=e("@ethersproject/abi"),a=e("@ethersproject/abstract-provider"),u=e("@ethersproject/abstract-signer"),c=e("@ethersproject/address"),h=e("@ethersproject/bignumber"),f=e("@ethersproject/bytes"),l=e("@ethersproject/constants"),d=o(e("@ethersproject/errors")),p=e("@ethersproject/properties"),m={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function v(e,t,r){var n=e.interface.functions[t];return function(){for(var t=this,i=[],o=0;o0;return this._checkRunningEvents(n),i},e.prototype.listenerCount=function(e){return this.provider?this._getRunningEvent(e).listenerCount():0},e.prototype.listeners=function(e){if(!this.provider)return[];if(null==e){var t=[];for(var r in this._runningEvents)this._runningEvents[r].listeners().forEach(function(e){t.push(e)});return t}return this._getRunningEvent(e).listeners()},e.prototype.removeAllListeners=function(e){if(!this.provider)return this;if(null==e){for(var t in this._runningEvents){var r=this._runningEvents[t];r.removeAllListeners(),this._checkRunningEvents(r)}return this}var n=this._getRunningEvent(e);return n.removeAllListeners(),this._checkRunningEvents(n),this},e.prototype.off=function(e,t){if(!this.provider)return this;var r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this},e.prototype.removeListener=function(e,t){return this.off(e,t)},e}();r.Contract=E;var M=function(){function e(e,t,r){var n=this.constructor,i=null;"0x"!==(i="string"==typeof t?t:f.isBytes(t)?f.hexlify(t):t&&"string"==typeof t.object?t.object:"!").substring(0,2)&&(i="0x"+i),(!f.isHexString(i)||i.length%2)&&d.throwArgumentError("invalid bytecode","bytecode",t),r&&!u.Signer.isSigner(r)&&d.throwArgumentError("invalid signer","signer",r),p.defineReadOnly(this,"bytecode",i),p.defineReadOnly(this,"interface",n.getInterface(e)),p.defineReadOnly(this,"signer",r||null)}return e.prototype.getDeployTransaction=function(){for(var e=[],t=0;tt&&a("too many arguments"+n,r.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})},r.checkNew=function(e,t){e!==Object&&null!=e||a("missing new",r.MISSING_NEW,{name:t.name})},r.checkAbstract=function(e,t){e===t?a("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",r.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||a("missing new",r.MISSING_NEW,{name:t.name})};var u=function(){try{var e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(function(t){try{"test".normalize(t)}catch(r){e.push(t)}}),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();r.checkNormalize=function(){u&&a("platform missing String.prototype.normalize",r.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:u})},r.checkSafeUint53=function(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&a(t,r.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&a(t,r.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))};var c={debug:1,default:2,info:2,warn:3,error:4,off:5},h=c.default;function f(e,t){h>c[e]||console.log.apply(console,t)}function l(){for(var e=[],t=0;t=256)throw new Error("Depth too large!");return b(a.concat([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",a.hexlify(this.depth),this.parentFingerprint,a.hexZeroPad(a.hexlify(this.index),4),this.chainCode,null!=this.privateKey?a.concat(["0x00",this.privateKey]):this.publicKey]))},enumerable:!0,configurable:!0}),e.prototype.neuter=function(){return new e(w,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,null,this.path)},e.prototype._derive=function(t){if(t>4294967295)throw new Error("invalid index - "+String(t));var r=this.path;r&&(r+="/"+(2147483647&t));var n=new Uint8Array(37);if(2147483648&t){if(!this.privateKey)throw new Error("cannot derive child of neutered node");n.set(a.arrayify(this.privateKey),1),r&&(r+="'")}else n.set(a.arrayify(this.publicKey));for(var i=24;i>=0;i-=8)n[33+(i>>3)]=t>>24-i&255;var o=a.arrayify(d.computeHmac(d.SupportedAlgorithms.sha512,this.chainCode,n)),s=o.slice(0,32),c=o.slice(32),h=null,f=null;this.privateKey?h=g(u.BigNumber.from(s).add(this.privateKey).mod(m)):f=new l.SigningKey(a.hexlify(s))._addPoint(this.publicKey);return new e(w,h,f,this.fingerprint,g(c),t,this.depth+1,this.mnemonic,r)},e.prototype.derivePath=function(e){var t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw new Error("invalid path - "+e);"m"===t[0]&&t.shift();for(var r=this,n=0;n=2147483648)throw new Error("invalid path index - "+i);r=r._derive(2147483648+o)}else{if(!i.match(/^[0-9]+$/))throw new Error("invlaid path component - "+i);var o;if((o=parseInt(i))>=2147483648)throw new Error("invalid path index - "+i);r=r._derive(o)}}return r},e._fromSeed=function(t,r){var n=a.arrayify(t);if(n.length<16||n.length>64)throw new Error("invalid seed");var i=a.arrayify(d.computeHmac(d.SupportedAlgorithms.sha512,v,n));return new e(w,g(i.slice(0,32)),null,"0x00000000",g(i.slice(32)),0,0,r,"m")},e.fromMnemonic=function(t,r,n){return M(t,n),e._fromSeed(E(t,r),t)},e.fromSeed=function(t){return e._fromSeed(t,null)},e.fromExtendedKey=function(t){var r=o.Base58.decode(t);82===r.length&&b(r.slice(0,78))===t||s.throwError("invalid extended key",s.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"});var n=r[4],i=a.hexlify(r.slice(5,9)),u=parseInt(a.hexlify(r.slice(9,13)).substring(2),16),c=a.hexlify(r.slice(13,45)),h=r.slice(45,78);switch(a.hexlify(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new e(w,null,a.hexlify(h),i,c,u,n,null,null);case"0x0488ade4":case"0x04358394 ":if(0!==h[0])break;return new e(w,a.hexlify(h.slice(1)),null,i,c,u,n,null,null)}return s.throwError("invalid extended key",s.INVALID_ARGUMENT,{argument:"extendedKey",value:"[REDACTED]"})},e}();function E(e,t){t||(t="");var r=c.toUtf8Bytes("mnemonic"+t,c.UnicodeNormalizationForm.NFKD);return h.pbkdf2(c.toUtf8Bytes(e,c.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512")}function M(e,t){t||(t=i.langEn),s.checkNormalize();var r=t.split(e);if(r.length%3!=0)throw new Error("invalid mnemonic");for(var n=a.arrayify(new Uint8Array(Math.ceil(11*r.length/8))),o=0,u=0;u>3]|=1<<7-o%8),o++}var f=32*r.length/3,l=y(r.length/3),p=a.arrayify(d.sha256(n.slice(0,f/8)))[0];if((p&=l)!==(n[n.length-1]&l))throw new Error("invalid checksum");return a.hexlify(n.slice(0,f/8))}r.HDNode=_,r.mnemonicToSeed=E,r.mnemonicToEntropy=M,r.entropyToMnemonic=function(e,t){if((e=a.arrayify(e)).length%4!=0||e.length<16||e.length>32)throw new Error("invalid entropy");for(var r=[0],n=11,o=0;o8?(r[r.length-1]<<=8,r[r.length-1]|=e[o],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[o]>>8-n,r.push(e[o]&(1<<8-n)-1),n+=3);var s=a.arrayify(d.sha256(e))[0],u=e.length/4;return s&=y(u),r[r.length-1]<<=u,r[r.length-1]|=s>>8-u,t||(t=i.langEn),t.join(r.map(function(e){return t.getWord(e)}))},r.isValidMnemonic=function(e,t){try{return M(e,t),!0}catch(e){}return!1}},{"@ethersproject/basex":59,"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/pbkdf2":81,"@ethersproject/properties":82,"@ethersproject/sha2":98,"@ethersproject/signing-key":99,"@ethersproject/strings":101,"@ethersproject/transactions":102,"@ethersproject/wordlists/lang-en":108}],74:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var a=o(e("aes-js")),u=e("@ethersproject/address"),c=e("@ethersproject/bytes"),h=s(e("@ethersproject/errors")),f=e("@ethersproject/keccak256"),l=e("@ethersproject/pbkdf2"),d=e("@ethersproject/strings"),p=e("@ethersproject/properties"),m=e("./utils"),v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.isCrowdsaleAccount=function(e){return!(!e||!e._isCrowdsaleAccount)},t}(p.Description);r.CrowdsaleAccount=v,r.decrypt=function(e,t){var r=JSON.parse(e);t=m.getPassword(t);var n=u.getAddress(m.searchPath(r,"ethaddr")),i=m.looseArrayify(m.searchPath(r,"encseed"));i&&i.length%16==0||h.throwError("invalid encseed",h.INVALID_ARGUMENT,{argument:"json",value:e});var o=c.arrayify(l.pbkdf2(t,t,2e3,32,"sha256")).slice(0,16),s=i.slice(0,16),p=i.slice(16),y=new a.default.ModeOfOperation.cbc(o,s),g=c.arrayify(y.decrypt(p));g=a.default.padding.pkcs7.strip(g);for(var b="",w=0;w>24&255,l[t.length+1]=d>>16&255,l[t.length+2]=d>>8&255,l[t.length+3]=255&d;var p=n.arrayify(i.computeHmac(s,e,l));a||(a=p.length,c=new Uint8Array(a),u=o-((h=Math.ceil(o/a))-1)*a),c.set(p);for(var m=1;m=0||"block"===this.tag||"pending"===this.tag},e}(),_=null,E=1,M=function(e){function t(t){var r=this.constructor,n=this;if(c.checkNew(r,s.Provider),(n=e.call(this)||this).formatter=r.getFormatter(),t instanceof Promise)l.defineReadOnly(n,"ready",t.then(function(e){return l.defineReadOnly(n,"_network",e),e})),n.ready.catch(function(e){});else{var i=f.getNetwork(null==t?"homestead":t);i?(l.defineReadOnly(n,"_network",i),l.defineReadOnly(n,"ready",Promise.resolve(n._network))):c.throwError("invalid network",c.INVALID_ARGUMENT,{arg:"network",value:t})}return n._lastBlockNumber=-2,n._events=[],n._pollingInterval=4e3,n._emitted={block:-2},n._fastQueryDate=0,n}return i(t,e),t.getFormatter=function(){return null==_&&(_=new m.Formatter),_},t.prototype.poll=function(){var e=this,t=E++;this.emit("willPoll",t);var r=[];this.getBlockNumber().then(function(t){if(e._setFastBlockNumber(t),t!==e._lastBlockNumber){-2===e._emitted.block&&(e._emitted.block=t-1);for(var n=e._emitted.block+1;n<=t;n++)e.emit("block",n);return e._emitted.block!==t&&(e._emitted.block=t,Object.keys(e._emitted).forEach(function(r){if("block"!==r){var n=e._emitted[r];"pending"!==n&&t-n>12&&delete e._emitted[r]}})),-2===e._lastBlockNumber&&(e._lastBlockNumber=t-1),e._events.forEach(function(n){var i=n.tag.split(":");switch(i[0]){case"tx":var o=i[1],s=e.getTransactionReceipt(o).then(function(t){return t&&null!=t.blockNumber?(e._emitted["t:"+o]=t.blockNumber,e.emit(o,t),null):null}).catch(function(t){e.emit("error",t)});r.push(s);break;case"filter":var a=i[2].split(/&/g).map(function(e){return e.split("|").map(function(e){return"null"===e?null:e})}),u={address:i[1],fromBlock:e._lastBlockNumber+1,toBlock:t,topics:a};u.address||delete u.address;s=e.getLogs(u).then(function(t){if(0!==t.length)return t.forEach(function(t){e._emitted["b:"+t.blockHash]=t.blockNumber,e._emitted["t:"+t.transactionHash]=t.blockNumber,e.emit(u,t)}),null}).catch(function(t){e.emit("error",t)});r.push(s)}}),e._lastBlockNumber=t,null}}).catch(function(e){}),Promise.all(r).then(function(){e.emit("didPoll",t)})},t.prototype.resetEventsBlock=function(e){this._lastBlockNumber=e-1,this.polling&&this.poll()},Object.defineProperty(t.prototype,"network",{get:function(){return this._network},enumerable:!0,configurable:!0}),t.prototype.getNetwork=function(){return this.ready},Object.defineProperty(t.prototype,"blockNumber",{get:function(){return this._fastBlockNumber},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"polling",{get:function(){return null!=this._poller},set:function(e){var t=this;setTimeout(function(){e&&!t._poller?t._poller=setInterval(t.poll.bind(t),t.pollingInterval):!e&&t._poller&&(clearInterval(t._poller),t._poller=null)},0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pollingInterval",{get:function(){return this._pollingInterval},set:function(e){var t=this;if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(function(){t.poll()},this._pollingInterval))},enumerable:!0,configurable:!0}),t.prototype._getFastBlockNumber=function(){var e=this,t=b();return t-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=t,this._fastBlockNumberPromise=this.getBlockNumber().then(function(t){return(null==e._fastBlockNumber||t>e._fastBlockNumber)&&(e._fastBlockNumber=t),e._fastBlockNumber})),this._fastBlockNumberPromise},t.prototype._setFastBlockNumber=function(e){null!=this._fastBlockNumber&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))},t.prototype.waitForTransaction=function(e,t){var r=this;return null==t&&(t=1),0===t?this.getTransactionReceipt(e):new Promise(function(n){var i=function(o){o.confirmations(n=n.slice(32)).length)return null;var o=d.toUtf8String(n.slice(0,i));return t.resolveName(o).then(function(t){return t!=e?null:o})})})},t.prototype.perform=function(e,t){return c.throwError(e+" not implemented",c.NOT_IMPLEMENTED,{operation:e})},t.prototype._startPending=function(){console.log("WARNING: this provider does not support pending events")},t.prototype._stopPending=function(){},t.prototype._checkPolling=function(){this.polling=this._events.filter(function(e){return e.pollable()}).length>0},t.prototype._addEventListener=function(e,t,r){return this._events.push(new w(g(e),t,r)),"pending"===e&&this._startPending(),this._checkPolling(),this},t.prototype.on=function(e,t){return this._addEventListener(e,t,!1)},t.prototype.once=function(e,t){return this._addEventListener(e,t,!0)},t.prototype.emit=function(e){for(var t=this,r=[],n=1;n=0&&a.throwError("insufficient funds",a.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("same hash was already imported")>=0&&a.throwError("nonce has already been used",a.NONCE_EXPIRED,{}),e.responseText.indexOf("another transaction with same nonce")>=0&&a.throwError("replacement fee too low",a.REPLACEMENT_UNDERPRICED,{})),e});case"getBlock":if(r.blockTag)return i+="/api?module=proxy&action=eth_getBlockByNumber&tag="+r.blockTag,r.includeTransactions?i+="&boolean=true":i+="&boolean=false",s(i+=o);throw new Error("getBlock by blockHash not implmeneted");case"getTransaction":return i+="/api?module=proxy&action=eth_getTransactionByHash&txhash="+r.transactionHash,s(i+=o);case"getTransactionReceipt":return i+="/api?module=proxy&action=eth_getTransactionReceipt&txhash="+r.transactionHash,s(i+=o);case"call":if((u=h(r.transaction))&&(u="&"+u),i+="/api?module=proxy&action=eth_call"+u,"latest"!==r.blockTag)throw new Error("EtherscanProvider does not support blockTag for call");return s(i+=o);case"estimateGas":var u;return(u=h(r.transaction))&&(u="&"+u),i+="/api?module=proxy&action=eth_estimateGas&"+u,s(i+=o);case"getLogs":i+="/api?module=logs&action=getLogs";try{if(r.filter.fromBlock&&(i+="&fromBlock="+d(r.filter.fromBlock)),r.filter.toBlock&&(i+="&toBlock="+d(r.filter.toBlock)),r.filter.address&&(i+="&address="+r.filter.address),r.filter.topics&&r.filter.topics.length>0){if(r.filter.topics.length>1)throw new Error("unsupported topic format");var p=r.filter.topics[0];if("string"!=typeof p||66!==p.length)throw new Error("unsupported topic0 format");i+="&topic0="+p}}catch(e){return Promise.reject(e)}var m=this;return s(i+=o,f).then(function(e){var t={},r=Promise.resolve();return e.forEach(function(e){r=r.then(function(){return null!=e.blockHash?null:(e.blockHash=t[e.transactionHash],null==e.blockHash?m.getTransaction(e.transactionHash).then(function(r){return t[e.transactionHash]=r.blockHash,e.blockHash=r.blockHash,null}):null)})}),r.then(function(){return e})});case"getEtherPrice":return"homestead"!==this.network.name?Promise.resolve(0):(i+="/api?module=stats&action=ethprice",s(i+=o,f).then(function(e){return parseFloat(e.ethusd)}))}return e.prototype.perform.call(this,t,r)},t.prototype.getHistory=function(e,t,r){var n=this,i=this.baseUrl,o="";return this.apiKey&&(o+="&apikey="+this.apiKey),null==t&&(t=0),null==r&&(r=99999999),this.resolveName(e).then(function(e){return i+="/api?module=account&action=txlist&address="+e,i+="&startblock="+t,i+="&endblock="+r,i+="&sort=asc"+o,c.fetchJson(i,null,f).then(function(e){n.emit("debug",{action:"getHistory",request:i,response:e,provider:n});var t=[];return e.forEach(function(e){["contractAddress","to"].forEach(function(t){""==e[t]&&delete e[t]}),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);var r=n.formatter.transactionResponse(e);e.timeStamp&&(r.timestamp=parseInt(e.timeStamp)),t.push(r)}),t})})},t}(e("./base-provider").BaseProvider);r.EtherscanProvider=p},{"./base-provider":84,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82,"@ethersproject/web":106}],87:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("@ethersproject/random"),u=e("@ethersproject/properties");function c(){return(new Date).getTime()}function h(e){var t=!0,r=null;return e.forEach(function(n){null!=n?null!=r?r.name===n.name&&r.chainId===n.chainId&&(r.ensAddress===n.ensAddress||null==r.ensAddress&&null==n.ensAddress)||s.throwError("provider mismatch",s.INVALID_ARGUMENT,{arg:"networks",value:e}):r=n:t=!1}),t}var f=1,l=function(e){function t(r,n,i){var o=this.constructor,a=this;s.checkNew(o,t),0===r.length&&s.throwArgumentError("missing providers","providers",r),null!=i&&i.length!==r.length?s.throwArgumentError("too many weights","weights",i):i?i.forEach(function(e){(e%1||e>512||e<1)&&s.throwArgumentError("invalid weight; must be integer in [1, 512]","weights",i)}):i=r.map(function(e){return 1});var c=i.reduce(function(e,t){return e+t});if(null==n?n=c/2:n>c&&s.throwArgumentError("quorum will always fail; larger than total weight","quorum",n),h(r.map(function(e){return e.network})))a=e.call(this,r[0].network)||this;else{var f=Promise.all(r.map(function(e){return e.getNetwork()})).then(function(e){return h(e)||s.throwError("getNetwork returned null",s.UNKNOWN_ERROR,{}),e[0]});a=e.call(this,f)||this}return u.defineReadOnly(a,"providers",Object.freeze(r.slice())),u.defineReadOnly(a,"quorum",n),u.defineReadOnly(a,"weights",Object.freeze(i.slice())),a}return i(t,e),t.prototype.perform=function(e,t){var r=this,n=c(),i=a.shuffled(this.providers).map(function(i,o){var s=r.weights[o],a=f++;return{run:function(){var o=c(),u=o-n;return r.emit("debug","perform",a,{weight:s,start:u,provider:i,method:e,params:t}),i.perform(e,t).then(function(e){var t=c()-o;return r.emit("debug","result",a,{duration:t,result:e}),{weight:s,result:e}},function(e){var t=c()-o;return r.emit("debug","error",a,{duration:t,error:e}),{weight:s,error:e}})},weight:s}});return"sendTransaction"===e?Promise.all(i.map(function(e){return e.run()})).then(function(e){for(var t=0;t=r.quorum){var d=s[f][0].result;return r.emit("debug","quorum",-1,{weight:l,result:d}),e(d),void(s=null)}}}0!==i.length||0!==o?setTimeout(a,0):t(n)}}),o=0&&c.throwError("insufficient funds",c.INSUFFICIENT_FUNDS,{transaction:r}),e.responseText.indexOf("nonce too low")>=0&&c.throwError("nonce has already been used",c.NONCE_EXPIRED,{transaction:r}),e.responseText.indexOf("replacement transaction underpriced")>=0&&c.throwError("replacement fee too low",c.REPLACEMENT_UNDERPRICED,{transaction:r})),e})})},t.prototype.signTransaction=function(e){return c.throwError("signing transactions is unsupported",c.UNSUPPORTED_OPERATION,{operation:"signTransaction"})},t.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then(function(e){return d.poll(function(){return t.provider.getTransaction(e).then(function(r){if(null!==r)return t.provider._wrapTransaction(r,e)})},{onceBlock:t.provider}).catch(function(t){throw t.transactionHash=e,t})})},t.prototype.signMessage=function(e){var t=this,r="string"==typeof e?l.toUtf8Bytes(e):e;return this.getAddress().then(function(e){return t.provider.send("eth_sign",[e.toLowerCase(),u.hexlify(r)])})},t.prototype.unlock=function(e){var t=this.provider;return this.getAddress().then(function(r){return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])})},t}(s.Signer);r.JsonRpcSigner=g;var b=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.sendTransaction=function(e){var t=this;return this.sendUncheckedTransaction(e).then(function(e){return{hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:function(r){return t.provider.waitForTransaction(e,r)}}})},t}(g),w={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0},_=function(e){function t(r,n){var i=this.constructor,o=this;if(c.checkNew(i,t),"string"==typeof r&&null===n&&h.getNetwork(r)&&(n=r,r=null),n)o=e.call(this,n)||this;else{var s=new Promise(function(e,t){setTimeout(function(){o.send("eth_chainId",[]).then(function(t){e(h.getNetwork(a.BigNumber.from(t).toNumber()))}).catch(function(r){o.send("net_version",[]).then(function(t){e(h.getNetwork(a.BigNumber.from(t).toNumber()))}).catch(function(e){t(c.makeError("could not detect network",c.NETWORK_ERROR,{}))})})})});o=e.call(this,s)||this}return r||(r="http://localhost:8545"),o.connection="string"==typeof r?{url:r}:r,o._nextId=42,o}return i(t,e),t.prototype.getSigner=function(e){return new g(y,this,e)},t.prototype.getUncheckedSigner=function(e){return this.getSigner(e).connectUnchecked()},t.prototype.listAccounts=function(){var e=this;return this.send("eth_accounts",[]).then(function(t){return t.map(function(t){return e.formatter.address(t)})})},t.prototype.send=function(e,t){var r=this,n={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};return d.fetchJson(this.connection,JSON.stringify(n),m).then(function(e){return r.emit("debug",{action:"send",request:n,response:e,provider:r}),e})},t.prototype.perform=function(e,t){switch(e){case"getBlockNumber":return this.send("eth_blockNumber",[]);case"getGasPrice":return this.send("eth_gasPrice",[]);case"getBalance":return this.send("eth_getBalance",[v(t.address),t.blockTag]);case"getTransactionCount":return this.send("eth_getTransactionCount",[v(t.address),t.blockTag]);case"getCode":return this.send("eth_getCode",[v(t.address),t.blockTag]);case"getStorageAt":return this.send("eth_getStorageAt",[v(t.address),t.position,t.blockTag]);case"sendTransaction":return this.send("eth_sendRawTransaction",[t.signedTransaction]).catch(function(e){throw e.responseText&&(e.responseText.indexOf("insufficient funds")>0&&c.throwError("insufficient funds",c.INSUFFICIENT_FUNDS,{}),e.responseText.indexOf("nonce too low")>0&&c.throwError("nonce has already been used",c.NONCE_EXPIRED,{}),e.responseText.indexOf("replacement transaction underpriced")>0&&c.throwError("replacement fee too low",c.REPLACEMENT_UNDERPRICED,{})),e});case"getBlock":return t.blockTag?this.send("eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]):t.blockHash?this.send("eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]):Promise.reject(new Error("invalid block tag or block hash"));case"getTransaction":return this.send("eth_getTransactionByHash",[t.transactionHash]);case"getTransactionReceipt":return this.send("eth_getTransactionReceipt",[t.transactionHash]);case"call":return this.send("eth_call",[this.constructor.hexlifyTransaction(t.transaction,{from:!0}),t.blockTag]);case"estimateGas":return this.send("eth_estimateGas",[this.constructor.hexlifyTransaction(t.transaction,{from:!0})]);case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=v(t.filter.address)),this.send("eth_getLogs",[t.filter])}return c.throwError(e+" not implemented",c.NOT_IMPLEMENTED,{operation:e})},t.prototype._startPending=function(){if(null==this._pendingFilter){var e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then(function(r){return function n(){e.send("eth_getFilterChanges",[r]).then(function(r){if(e._pendingFilter!=t)return null;var n=Promise.resolve();return r.forEach(function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then(function(){return e.getTransaction(t).then(function(t){return e.emit("pending",t),null})})}),n.then(function(){return e=1e3,new Promise(function(t){setTimeout(function(){t()},e)});var e})}).then(function(){if(e._pendingFilter==t)return setTimeout(function(){n()},0),null;e.send("eth_uninstallFilter",[r])}).catch(function(e){})}(),r}).catch(function(e){})}},t.prototype._stopPending=function(){this._pendingFilter=null},t.hexlifyTransaction=function(e,t){var r=f.shallowCopy(w);if(t)for(var n in t)t[n]&&(r[n]=!0);f.checkProperties(e,r);var i={};return["gasLimit","gasPrice","nonce","value"].forEach(function(t){if(null!=e[t]){var r=u.hexValue(e[t]);"gasLimit"===t&&(t="gas"),i[t]=r}}),["from","to","data"].forEach(function(t){null!=e[t]&&(i[t]=u.hexlify(e[t]))}),i},t}(p.BaseProvider);r.JsonRpcProvider=_},{"./base-provider":84,"@ethersproject/abstract-signer":56,"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/networks":80,"@ethersproject/properties":82,"@ethersproject/strings":101,"@ethersproject/web":106}],92:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.getApiKey=function(e){return e||"ETHERS_JS_SHARED"},t.getUrl=function(e,t){var r=null;switch(e.name){case"homestead":r="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":r="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":r="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":r="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":r="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:s.throwArgumentError("unsupported network","network",arguments[0])}return r+"?apiKey="+t},t}(e("./url-json-rpc-provider").UrlJsonRpcProvider);r.NodesmithProvider=a},{"./url-json-rpc-provider":93,"@ethersproject/errors":66}],93:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("@ethersproject/networks"),u=e("@ethersproject/properties"),c=function(e){function t(r,n){var i,o=this.constructor;s.checkAbstract(o,t),r=o.getNetwork(r),n=o.getApiKey(n);var a=o.getUrl(r,n);return i=e.call(this,a,r)||this,u.defineReadOnly(i,"apiKey",n),i}return i(t,e),t.prototype._startPending=function(){s.warn("WARNING: API provider does not support pending filters")},t.prototype.getSigner=function(e){return s.throwError("API provider does not support signing",s.UNSUPPORTED_OPERATION,{operation:"getSigner"}),null},t.prototype.listAccounts=function(){return Promise.resolve([])},t.getNetwork=function(e){return a.getNetwork(null==e?"homestead":e)},t.getApiKey=function(e){return e},t.getUrl=function(e,t){return s.throwError("not implemented; sub-classes must override getUrl",s.NOT_IMPLEMENTED,{operation:"getUrl"})},t}(e("./json-rpc-provider").JsonRpcProvider);r.UrlJsonRpcProvider=c},{"./json-rpc-provider":91,"@ethersproject/errors":66,"@ethersproject/networks":80,"@ethersproject/properties":82}],94:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=o(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=function(e){function t(r,n){var i=this.constructor,o=this;return s.checkNew(i,t),o=e.call(this,r.host||r.path||"",n)||this,r&&(r.sendAsync?o._sendAsync=r.sendAsync.bind(r):r.send&&(o._sendAsync=r.send.bind(r))),r&&o._sendAsync||s.throwError("invalid web3Provider",s.INVALID_ARGUMENT,{arg:"web3Provider",value:r}),a.defineReadOnly(o,"_web3Provider",r),o}return i(t,e),t.prototype.send=function(e,t){var r=this;return"eth_sign"==e&&this._web3Provider.isMetaMask&&(e="personal_sign",t=[t[1],t[0]]),new Promise(function(n,i){var o={method:e,params:t,id:42,jsonrpc:"2.0"};r._sendAsync(o,function(e,t){if(e)i(e);else{if(t.error){var r=new Error(t.error.message);return r.code=t.error.code,r.data=t.error.data,void i(r)}n(t.result)}})})},t}(e("./json-rpc-provider").JsonRpcProvider);r.Web3Provider=u},{"./json-rpc-provider":91,"@ethersproject/errors":66,"@ethersproject/properties":82}],95:[function(e,t,r){(function(t){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bytes"),o=n(e("@ethersproject/errors")),s=e("./shuffle");r.shuffled=s.shuffled;var a=t.crypto||t.msCrypto;a&&a.getRandomValues||(o.warn("WARNING: Missing strong random number source"),a={getRandomValues:function(e){return o.throwError("no secure random source avaialble",o.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}}),r.randomBytes=function(e){(e<=0||e>1024||parseInt(String(e))!=e)&&o.throwError("invalid length",o.INVALID_ARGUMENT,{argument:"length",value:e});var t=new Uint8Array(e);return a.getRandomValues(t),i.arrayify(t)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./shuffle":96,"@ethersproject/bytes":63,"@ethersproject/errors":66}],96:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.shuffled=function(e){for(var t=(e=e.slice()).length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}},{}],97:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("@ethersproject/bytes");function i(e){for(var t=[];e;)t.unshift(255&e),e>>=8;return t}function o(e,t,r){for(var n=0,i=0;it+1+n)throw new Error("invalid rlp")}return{consumed:1+n,result:i}}function a(e,t){if(0===e.length)throw new Error("invalid rlp data");if(e[t]>=248){if(t+1+(a=e[t]-247)>e.length)throw new Error("too short");var r=o(e,t+1,a);if(t+1+a+r>e.length)throw new Error("to short");return s(e,t,t+1+a,a+r)}if(e[t]>=192){var i=e[t]-192;if(t+1+i>e.length)throw new Error("invalid rlp data");return s(e,t,t+1,i)}if(e[t]>=184){var a;if(t+1+(a=e[t]-183)>e.length)throw new Error("invalid rlp data");var u=o(e,t+1,a);if(t+1+a+u>e.length)throw new Error("invalid rlp data");return{consumed:1+a+u,result:n.hexlify(e.slice(t+1+a,t+1+a+u))}}if(e[t]>=128){var c=e[t]-128;if(t+1+c>e.length)throw new Error("invlaid rlp data");return{consumed:1+c,result:n.hexlify(e.slice(t+1,t+1+c))}}return{consumed:1,result:n.hexlify(e[t])}}r.encode=function(e){return n.hexlify(function e(t){if(Array.isArray(t)){var r=[];if(t.forEach(function(t){r=r.concat(e(t))}),r.length<=55)return r.unshift(192+r.length),r;var o=i(r.length);return o.unshift(247+o.length),o.concat(r)}var s=Array.prototype.slice.call(n.arrayify(t));if(1===s.length&&s[0]<=127)return s;if(s.length<=55)return s.unshift(128+s.length),s;var a=i(s.length);return a.unshift(183+a.length),a.concat(s)}(e))},r.decode=function(e){var t=n.arrayify(e),r=a(t,0);if(r.consumed!==t.length)throw new Error("invalid rlp data");return r.result}},{"@ethersproject/bytes":63}],98:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i,o=n(e("hash.js")),s=e("@ethersproject/bytes"),a=n(e("@ethersproject/errors"));!function(e){e.sha256="sha256",e.sha512="sha512"}(i=r.SupportedAlgorithms||(r.SupportedAlgorithms={})),r.ripemd160=function(e){return"0x"+o.ripemd160().update(s.arrayify(e)).digest("hex")},r.sha256=function(e){return"0x"+o.sha256().update(s.arrayify(e)).digest("hex")},r.sha512=function(e){return"0x"+o.sha512().update(s.arrayify(e)).digest("hex")},r.computeHmac=function(e,t,r){return i[e]||a.throwError("unsupported algorithm "+e,a.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),"0x"+o.hmac(o[e],s.arrayify(t)).update(s.arrayify(r)).digest("hex")}},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"hash.js":20}],99:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("elliptic"),o=e("@ethersproject/bytes"),s=n(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=null;function c(){return u||(u=new i.ec("secp256k1")),u}var h=function(){function e(e){a.defineReadOnly(this,"curve","secp256k1"),a.defineReadOnly(this,"privateKey",o.hexlify(e));var t=c().keyFromPrivate(o.arrayify(this.privateKey));a.defineReadOnly(this,"publicKey","0x"+t.getPublic(!1,"hex")),a.defineReadOnly(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),a.defineReadOnly(this,"_isSigningKey",!0)}return e.prototype._addPoint=function(e){var t=c().keyFromPublic(o.arrayify(this.publicKey)),r=c().keyFromPublic(o.arrayify(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")},e.prototype.signDigest=function(e){var t=c().keyFromPrivate(o.arrayify(this.privateKey)).sign(o.arrayify(e),{canonical:!0});return o.splitSignature({recoveryParam:t.recoveryParam,r:o.hexZeroPad("0x"+t.r.toString(16),32),s:o.hexZeroPad("0x"+t.s.toString(16),32)})},e.prototype.computeSharedSecret=function(e){var t=c().keyFromPrivate(o.arrayify(this.privateKey)),r=c().keyFromPublic(o.arrayify(f(e)));return o.hexZeroPad("0x"+t.derive(r.getPublic()).toString(16),32)},e.isSigningKey=function(e){return!(!e||!e._isSigningKey)},e}();function f(e,t){var r=o.arrayify(e);if(32===r.length){var n=new h(r);return t?"0x"+c().keyFromPrivate(r).getPublic(!0,"hex"):n.publicKey}return 33===r.length?t?o.hexlify(r):"0x"+c().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+c().keyFromPublic(r).getPublic(!0,"hex"):o.hexlify(r):s.throwArgumentError("invalid public or private key","key","[REDACTED]")}r.SigningKey=h,r.recoverPublicKey=function(e,t){var r=o.splitSignature(t),n={r:o.arrayify(r.r),s:o.arrayify(r.s)};return"0x"+c().recoverPubKey(o.arrayify(e),n,r.recoveryParam).encode("hex",!1)},r.computePublicKey=f},{"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/properties":82,elliptic:5}],100:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("@ethersproject/bignumber"),i=e("@ethersproject/bytes"),o=e("@ethersproject/keccak256"),s=e("@ethersproject/sha2"),a=e("@ethersproject/strings"),u=new RegExp("^bytes([0-9]+)$"),c=new RegExp("^(u?int)([0-9]*)$"),h=new RegExp("^(.*)\\[([0-9]*)\\]$"),f="0000000000000000000000000000000000000000000000000000000000000000";function l(e,t){if(e.length!=t.length)throw new Error("type/value count mismatch");var r=[];return e.forEach(function(e,o){r.push(function e(t,r,o){switch(t){case"address":return o?i.zeroPad(r,32):i.arrayify(r);case"string":return a.toUtf8Bytes(r);case"bytes":return i.arrayify(r);case"bool":return r=r?"0x01":"0x00",o?i.zeroPad(r,32):i.arrayify(r)}var s=t.match(c);if(s){if((l=parseInt(s[2]||"256"))%8!=0||0===l||l>256)throw new Error("invalid number type - "+t);return o&&(l=256),r=n.BigNumber.from(r).toTwos(l),i.zeroPad(r,l/8)}if(s=t.match(u)){var l=parseInt(s[1]);if(String(l)!=s[1]||0===l||l>32)throw new Error("invalid number type - "+t);if(i.arrayify(r).byteLength!==l)throw new Error("invalid value for "+t);return o?i.arrayify((r+f).substring(0,66)):r}if((s=t.match(h))&&Array.isArray(r)){var d=s[1];if(parseInt(s[2]||String(r.length))!=r.length)throw new Error("invalid value for "+t);var p=[];return r.forEach(function(t){p.push(e(d,t,!0))}),i.concat(p)}throw new Error("unknown type - "+t)}(e,t[o]))}),i.hexlify(i.concat(r))}r.pack=l,r.keccak256=function(e,t){return o.keccak256(l(e,t))},r.sha256=function(e,t){return s.sha256(l(e,t))}},{"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/keccak256":79,"@ethersproject/sha2":98,"@ethersproject/strings":101}],101:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,i=e("@ethersproject/constants"),o=e("@ethersproject/errors"),s=e("@ethersproject/bytes");function a(e,t){void 0===t&&(t=n.current),t!=n.current&&(o.checkNormalize(),e=e.normalize(t));for(var r=[],i=0;i>6|192),r.push(63&a|128);else if(55296==(64512&a)){i++;var u=e.charCodeAt(i);if(i>=e.length||56320!=(64512&u))throw new Error("invalid utf-8 string");a=65536+((1023&a)<<10)+(1023&u),r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)}else r.push(a>>12|224),r.push(a>>6&63|128),r.push(63&a|128)}return s.arrayify(r)}function u(e,t){e=s.arrayify(e);for(var r="",n=0;n>7!=0){var o=null,a=null;if(192==(224&i))o=1,a=127;else if(224==(240&i))o=2,a=2047;else{if(240!=(248&i)){if(!t){if(128==(192&i))throw new Error("invalid utf8 byte sequence; unexpected continuation byte");throw new Error("invalid utf8 byte sequence; invalid prefix")}continue}o=3,a=65535}if(n+o>e.length){if(!t)throw new Error("invalid utf8 byte sequence; too short");for(;n>6==2;n++);}else{for(var u=i&(1<<8-o-1)-1,c=0;c1114111){if(!t)throw new Error("invalid utf8 byte sequence; out-of-range")}else if(u>=55296&&u<=57343){if(!t)throw new Error("invalid utf8 byte sequence; utf-16 surrogate")}else u<=65535?r+=String.fromCharCode(u):(u-=65536,r+=String.fromCharCode(55296+(u>>10&1023),56320+(1023&u)));else if(!t)throw new Error("invalid utf8 byte sequence; invalid continuation byte")}}else r+=String.fromCharCode(i)}return r}!function(e){e.current="",e.NFC="NFC",e.NFD="NFD",e.NFKC="NFKC",e.NFKD="NFKD"}(n=r.UnicodeNormalizationForm||(r.UnicodeNormalizationForm={})),r.toUtf8Bytes=a,r.toUtf8String=u,r.formatBytes32String=function(e){var t=a(e);if(t.length>31)throw new Error("bytes32 string must be less than 32 bytes");return s.hexlify(s.concat([t,i.HashZero]).slice(0,32))},r.parseBytes32String=function(e){var t=s.arrayify(e);if(32!==t.length)throw new Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw new Error("invalid bytes32 string - no null terminator");for(var r=31;0===t[r-1];)r--;return u(t.slice(0,r))}},{"@ethersproject/bytes":63,"@ethersproject/constants":64,"@ethersproject/errors":66}],102:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/address"),o=e("@ethersproject/bignumber"),s=e("@ethersproject/bytes"),a=e("@ethersproject/constants"),u=n(e("@ethersproject/errors")),c=e("@ethersproject/keccak256"),h=e("@ethersproject/properties"),f=n(e("@ethersproject/rlp")),l=e("@ethersproject/signing-key");function d(e){return"0x"===e?a.Zero:o.BigNumber.from(e)}var p=[{name:"nonce",maxLength:32},{name:"gasPrice",maxLength:32},{name:"gasLimit",maxLength:32},{name:"to",length:20},{name:"value",maxLength:32},{name:"data"}],m={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};function v(e){var t=l.computePublicKey(e);return i.getAddress(s.hexDataSlice(c.keccak256(s.hexDataSlice(t,1)),12))}function y(e,t){return v(l.recoverPublicKey(s.arrayify(e),t))}r.computeAddress=v,r.recoverAddress=y,r.serialize=function(e,t){h.checkProperties(e,m);var r=[];p.forEach(function(t){var n=e[t.name]||[];n=s.arrayify(s.hexlify(n)),t.length&&n.length!==t.length&&n.length>0&&u.throwError("invalid length for "+t.name,u.INVALID_ARGUMENT,{arg:"transaction"+t.name,value:n}),t.maxLength&&(n=s.stripZeros(n)).length>t.maxLength&&u.throwError("invalid length for "+t.name,u.INVALID_ARGUMENT,{arg:"transaction"+t.name,value:n}),r.push(s.hexlify(n))}),null!=e.chainId&&0!==e.chainId&&(r.push(s.hexlify(e.chainId)),r.push("0x"),r.push("0x"));var n=f.encode(r);if(!t)return n;var i=s.splitSignature(t),o=27+i.recoveryParam;return 9===r.length&&(r.pop(),r.pop(),r.pop(),o+=2*e.chainId+8),r.push(s.hexlify(o)),r.push(s.stripZeros(s.arrayify(i.r))),r.push(s.stripZeros(s.arrayify(i.s))),f.encode(r)},r.parse=function(e){var t=f.decode(e);9!==t.length&&6!==t.length&&u.throwError("invalid raw transaction",u.INVALID_ARGUMENT,{arg:"rawTransactin",value:e});var r,n={nonce:d(t[0]).toNumber(),gasPrice:d(t[1]),gasLimit:d(t[2]),to:(r=t[3],"0x"===r?null:i.getAddress(r)),value:d(t[4]),data:t[5],chainId:0};if(6===t.length)return n;try{n.v=o.BigNumber.from(t[6]).toNumber()}catch(e){return console.log(e),n}if(n.r=s.hexZeroPad(t[7],32),n.s=s.hexZeroPad(t[8],32),o.BigNumber.from(n.r).isZero()&&o.BigNumber.from(n.s).isZero())n.chainId=n.v,n.v=0;else{n.chainId=Math.floor((n.v-35)/2),n.chainId<0&&(n.chainId=0);var a=n.v-27,h=t.slice(0,6);0!==n.chainId&&(h.push(s.hexlify(n.chainId)),h.push("0x"),h.push("0x"),a-=2*n.chainId+8);var l=c.keccak256(f.encode(h));try{n.from=y(l,{r:s.hexlify(n.r),s:s.hexlify(n.s),recoveryParam:a})}catch(e){console.log(e)}n.hash=c.keccak256(e)}return n}},{"@ethersproject/address":57,"@ethersproject/bignumber":62,"@ethersproject/bytes":63,"@ethersproject/constants":64,"@ethersproject/errors":66,"@ethersproject/keccak256":79,"@ethersproject/properties":82,"@ethersproject/rlp":97,"@ethersproject/signing-key":99}],103:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("@ethersproject/bignumber/fixednumber"),o=n(e("@ethersproject/errors")),s=["wei","kwei","mwei","gwei","szabo","finney","ether"];function a(e,t){if("string"==typeof t){var r=s.indexOf(t);-1!==r&&(t=3*r)}return i.formatFixed(e,null!=t?t:18)}function u(e,t){if("string"==typeof t){var r=s.indexOf(t);-1!==r&&(t=3*r)}return i.parseFixed(e,null!=t?t:18)}r.commify=function(e){var t=String(e).split(".");(t.length>2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&o.throwError("invalid value",o.INVALID_ARGUMENT,{argument:"value",value:e});var r=t[0],n="";for("-"===r.substring(0,1)&&(n="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");var i="";2===t.length&&(i="."+(t[1]||"0"));for(var s=[];r.length;){if(r.length<=3){s.unshift(r);break}var a=r.length-3;s.unshift(r.substring(a)),r=r.substring(0,a)}return n+s.join(",")+i},r.formatUnits=a,r.parseUnits=u,r.formatEther=function(e){return a(e,18)},r.parseEther=function(e){return u(e,18)}},{"@ethersproject/bignumber/fixednumber":61,"@ethersproject/errors":66}],104:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var s=e("@ethersproject/address"),a=e("@ethersproject/abstract-provider"),u=e("@ethersproject/abstract-signer"),c=e("@ethersproject/bytes"),h=o(e("@ethersproject/errors")),f=e("@ethersproject/hash"),l=e("@ethersproject/hdnode"),d=e("@ethersproject/keccak256"),p=e("@ethersproject/properties"),m=e("@ethersproject/random"),v=e("@ethersproject/signing-key"),y=e("@ethersproject/json-wallets"),g=e("@ethersproject/transactions");var b=function(e){function t(r,n){var i,o,u=this.constructor;if(h.checkNew(u,t),i=e.call(this)||this,null!=(o=r)&&c.isHexString(o.privateKey,32)&&null!=o.address){var f=new v.SigningKey(r.privateKey);if(p.defineReadOnly(i,"_signingKey",function(){return f}),p.defineReadOnly(i,"address",g.computeAddress(i.publicKey)),i.address!==s.getAddress(r.address)&&h.throwArgumentError("privateKey/address mismatch","privateKey","[REDCACTED]"),null!=r.mnemonic){var d=r.mnemonic,m=r.path||l.defaultPath;p.defineReadOnly(i,"_mnemonic",function(){return d}),p.defineReadOnly(i,"path",r.path);var y=l.HDNode.fromMnemonic(d).derivePath(m);g.computeAddress(y.privateKey)!==i.address&&h.throwArgumentError("mnemonic/address mismatch","privateKey","[REDCACTED]")}else p.defineReadOnly(i,"_mnemonic",function(){return null}),p.defineReadOnly(i,"path",null)}else{if(v.SigningKey.isSigningKey(r))"secp256k1"!==r.curve&&h.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),p.defineReadOnly(i,"_signingKey",function(){return r});else{var b=new v.SigningKey(r);p.defineReadOnly(i,"_signingKey",function(){return b})}p.defineReadOnly(i,"_mnemonic",function(){return null}),p.defineReadOnly(i,"path",null),p.defineReadOnly(i,"address",g.computeAddress(i.publicKey))}return n&&!a.Provider.isProvider(n)&&h.throwError("invalid provider",h.INVALID_ARGUMENT,{argument:"provider",value:n}),p.defineReadOnly(i,"provider",n||null),i}return i(t,e),Object.defineProperty(t.prototype,"mnemonic",{get:function(){return this._mnemonic()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"privateKey",{get:function(){return this._signingKey().privateKey},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"publicKey",{get:function(){return this._signingKey().publicKey},enumerable:!0,configurable:!0}),t.prototype.getAddress=function(){return Promise.resolve(this.address)},t.prototype.connect=function(e){return new t(this,e)},t.prototype.signTransaction=function(e){var t=this;return p.resolveProperties(e).then(function(e){if(null!=e.from){if(s.getAddress(e.from)!==t.address)throw new Error("transaction from address mismatch");delete e.from}var r=t._signingKey().signDigest(d.keccak256(g.serialize(e)));return g.serialize(e,r)})},t.prototype.signMessage=function(e){return Promise.resolve(c.joinSignature(this._signingKey().signDigest(f.hashMessage(e))))},t.prototype.encrypt=function(e,t,r){if("function"!=typeof t||r||(r=t,t={}),r&&"function"!=typeof r)throw new Error("invalid callback");return t||(t={}),y.encryptKeystore(this,e,t,r)},t.createRandom=function(e){var r=m.randomBytes(16);e||(e={}),e.extraEntropy&&(r=c.arrayify(c.hexDataSlice(d.keccak256(c.concat([r,e.extraEntropy])),0,16)));var n=l.entropyToMnemonic(r,e.locale);return t.fromMnemonic(n,e.path,e.locale)},t.fromEncryptedJson=function(e,r,n){return y.decryptJsonWallet(e,r,n).then(function(e){return new t(e)})},t.fromMnemonic=function(e,r,n){return r||(r=l.defaultPath),new t(l.HDNode.fromMnemonic(e,null,n).derivePath(r))},t}(u.Signer);r.Wallet=b,r.verifyMessage=function(e,t){return g.recoverAddress(f.hashMessage(e),t)}},{"@ethersproject/abstract-provider":55,"@ethersproject/abstract-signer":56,"@ethersproject/address":57,"@ethersproject/bytes":63,"@ethersproject/errors":66,"@ethersproject/hash":72,"@ethersproject/hdnode":73,"@ethersproject/json-wallets":75,"@ethersproject/keccak256":79,"@ethersproject/properties":82,"@ethersproject/random":95,"@ethersproject/signing-key":99,"@ethersproject/transactions":102}],105:[function(e,t,r){"use strict";try{t.exports.XMLHttpRequest=XMLHttpRequest}catch(e){console.log("Warning: XMLHttpRequest is not defined"),t.exports.XMLHttpRequest=null}},{}],106:[function(e,t,r){"use strict";var n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});var i=e("xmlhttprequest"),o=e("@ethersproject/base64"),s=n(e("@ethersproject/errors")),a=e("@ethersproject/properties"),u=e("@ethersproject/strings");r.fetchJson=function(e,t,r){var n={},a=null,c=12e4;if("string"==typeof e)a=e;else if("object"==typeof e){if(null==e.url&&s.throwError("missing URL",s.MISSING_ARGUMENT,{arg:"url"}),a=e.url,"number"==typeof e.timeout&&e.timeout>0&&(c=e.timeout),e.headers)for(var h in e.headers)n[h.toLowerCase()]={key:h,value:String(e.headers[h])};if(null!=e.user&&null!=e.password){"https:"!==a.substring(0,6)&&!0!==e.allowInsecure&&s.throwError("basic authentication requires a secure https url",s.INVALID_ARGUMENT,{arg:"url",url:a,user:e.user,password:"[REDACTED]"});var f=e.user+":"+e.password;n.authorization={key:"Authorization",value:"Basic "+o.encode(u.toUtf8Bytes(f))}}}return new Promise(function(e,o){var s=new i.XMLHttpRequest,u=null;u=setTimeout(function(){null!=u&&(u=null,o(new Error("timeout")),setTimeout(function(){s.abort()},0))},c);var h=function(){null!=u&&(clearTimeout(u),u=null)};t?(s.open("POST",a,!0),n["content-type"]={key:"Content-Type",value:"application/json"}):s.open("GET",a,!0),Object.keys(n).forEach(function(e){var t=n[e];s.setRequestHeader(t.key,t.value)}),s.onreadystatechange=function(){if(4===s.readyState){if(200!=s.status){h();var n=new Error("invalid response - "+s.status);return n.statusCode=s.status,s.responseText&&(n.responseText=s.responseText),void o(n)}var i=null;try{i=JSON.parse(s.responseText)}catch(n){h();var u=new Error("invalid json response");return u.orginialError=n,u.responseText=s.responseText,null!=t&&(u.requestBody=t),u.url=a,void o(u)}if(r)try{i=r(i)}catch(n){return h(),n.url=a,n.body=t,n.responseText=s.responseText,void o(n)}h(),e(i)}},s.onerror=function(e){h(),o(e)};try{null!=t?s.send(t):s.send()}catch(e){h();var f=new Error("connection error");f.error=e,o(f)}})},r.poll=function(e,t){return t||(t={}),null==(t=a.shallowCopy(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise(function(r,n){var i=null,o=!1,s=function(){return!o&&(o=!0,i&&clearTimeout(i),!0)};t.timeout&&(i=setTimeout(function(){s()&&n(new Error("timeout"))},t.timeout));var a=t.retryLimit,u=0;!function i(){return e().then(function(e){if(void 0!==e)s()&&r(e);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!o){if(++u>a)return void(s()&&n(new Error("retry limit reached")));var c=t.interval*parseInt(String(Math.random()*Math.pow(2,u)));ct.ceiling&&(c=t.ceiling),setTimeout(i,c)}return null},function(e){s()&&n(e)})}()})}},{"@ethersproject/base64":58,"@ethersproject/errors":66,"@ethersproject/properties":82,"@ethersproject/strings":101,xmlhttprequest:105}],107:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=e("./lang-en").langEn;r.en=n},{"./lang-en":108}],108:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var o=e("./wordlist"),s="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo",a=null;function u(e){if(null==a&&(a=s.replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==o.check(e)))throw a=null,new Error("BIP39 Wordlist for en (English) FAILED")}var c=new(function(e){function t(){return e.call(this,"en")||this}return i(t,e),t.prototype.getWord=function(e){return u(this),a[e]},t.prototype.getWordIndex=function(e){return u(this),a.indexOf(e)},t}(o.Wordlist));r.langEn=c,o.register(c)},{"./wordlist":109}],109:[function(e,t,r){(function(t){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=!1,i=e("@ethersproject/errors"),o=e("@ethersproject/hash"),s=e("@ethersproject/properties");r.check=function(e){for(var t=[],r=0;r<2048;r++){var n=e.getWord(r);if(r!==e.getWordIndex(n))return"0x";t.push(n)}return o.id(t.join("\n")+"\n")};var a=function(){function e(t){var r=this.constructor;i.checkAbstract(r,e),s.defineReadOnly(this,"locale",t)}return e.prototype.split=function(e){return e.toLowerCase().split(/ +/g)},e.prototype.join=function(e){return e.join(" ")},e}();r.Wordlist=a,r.register=function(e,r){if(r||(r=e.locale),n){var i=t;i.wordlists||s.defineReadOnly(i,"wordlists",{}),i.wordlists[r]||s.defineReadOnly(i.wordlists,r,e),i.ethers&&i.ethers.wordlists&&(i.ethers.wordlists[r]||s.defineReadOnly(i.ethers.wordlists,r,e))}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@ethersproject/errors":66,"@ethersproject/hash":72,"@ethersproject/properties":82}]},{},[69])(69)}); \ No newline at end of file diff --git a/packages/ethers/package.json b/packages/ethers/package.json index aa8f2857d1..6289229bb8 100644 --- a/packages/ethers/package.json +++ b/packages/ethers/package.json @@ -1,6 +1,6 @@ { "name": "ethers", - "version": "5.0.0-beta.138", + "version": "5.0.0-beta.139", "description": "Error utility functions for ethers.", "main": "index.js", "scripts": { @@ -56,5 +56,5 @@ "publishConfig": { "tag": "next" }, - "tarballHash": "0xef52885515a9a06622a97875560ac417533a0a6584f580cfed7a2db0a8e4b1f6" + "tarballHash": "0x2a6459106b3718a13c0e581398148a6b70d52141688b6e87ab072eca1c11131e" } diff --git a/packages/ethers/src.ts/_version.ts b/packages/ethers/src.ts/_version.ts index b2fe554a78..0281b5ab9e 100644 --- a/packages/ethers/src.ts/_version.ts +++ b/packages/ethers/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.138"; +export const version = "5.0.0-beta.139"; diff --git a/packages/ethers/utils.d.ts b/packages/ethers/utils.d.ts index bf25259baf..c45ac23bdc 100644 --- a/packages/ethers/utils.d.ts +++ b/packages/ethers/utils.d.ts @@ -16,11 +16,11 @@ import { formatBytes32String, parseBytes32String, toUtf8Bytes, toUtf8String } fr import { computeAddress, parse as parseTransaction, recoverAddress, serialize as serializeTransaction } from "@ethersproject/transactions"; import { commify, formatEther, parseEther, formatUnits, parseUnits } from "@ethersproject/units"; import { verifyMessage } from "@ethersproject/wallet"; -import { fetchJson } from "@ethersproject/web"; +import { fetchJson, poll } from "@ethersproject/web"; import { SupportedAlgorithms } from "@ethersproject/sha2"; import { UnicodeNormalizationForm } from "@ethersproject/strings"; import { CoerceFunc } from "@ethersproject/abi"; import { Bytes, BytesLike, Hexable } from "@ethersproject/bytes"; import { ConnectionInfo, OnceBlockable, PollOptions } from "@ethersproject/web"; import { EncryptOptions, ProgressCallback } from "@ethersproject/json-wallets"; -export { AbiCoder, defaultAbiCoder, Fragment, EventFragment, FunctionFragment, ParamType, RLP, fetchJson, checkProperties, deepCopy, defineReadOnly, resolveProperties, shallowCopy, arrayify, concat, stripZeros, zeroPad, HDNode, SigningKey, Interface, base64, hexlify, isHexString, hexStripZeros, hexValue, hexZeroPad, hexDataLength, hexDataSlice, toUtf8Bytes, toUtf8String, formatBytes32String, parseBytes32String, hashMessage, namehash, id, getAddress, getIcapAddress, getContractAddress, isAddress, formatEther, parseEther, formatUnits, parseUnits, commify, keccak256, sha256, randomBytes, solidityPack, solidityKeccak256, soliditySha256, splitSignature, joinSignature, parseTransaction, serializeTransaction, getJsonWalletAddress, computeAddress, recoverAddress, computePublicKey, recoverPublicKey, verifyMessage, mnemonicToEntropy, entropyToMnemonic, isValidMnemonic, mnemonicToSeed, SupportedAlgorithms, UnicodeNormalizationForm, Bytes, BytesLike, Hexable, CoerceFunc, Indexed, ConnectionInfo, OnceBlockable, PollOptions, EncryptOptions, ProgressCallback }; +export { AbiCoder, defaultAbiCoder, Fragment, EventFragment, FunctionFragment, ParamType, RLP, fetchJson, poll, checkProperties, deepCopy, defineReadOnly, resolveProperties, shallowCopy, arrayify, concat, stripZeros, zeroPad, HDNode, SigningKey, Interface, base64, hexlify, isHexString, hexStripZeros, hexValue, hexZeroPad, hexDataLength, hexDataSlice, toUtf8Bytes, toUtf8String, formatBytes32String, parseBytes32String, hashMessage, namehash, id, getAddress, getIcapAddress, getContractAddress, isAddress, formatEther, parseEther, formatUnits, parseUnits, commify, keccak256, sha256, randomBytes, solidityPack, solidityKeccak256, soliditySha256, splitSignature, joinSignature, parseTransaction, serializeTransaction, getJsonWalletAddress, computeAddress, recoverAddress, computePublicKey, recoverPublicKey, verifyMessage, mnemonicToEntropy, entropyToMnemonic, isValidMnemonic, mnemonicToSeed, SupportedAlgorithms, UnicodeNormalizationForm, Bytes, BytesLike, Hexable, CoerceFunc, Indexed, ConnectionInfo, OnceBlockable, PollOptions, EncryptOptions, ProgressCallback }; diff --git a/packages/ethers/utils.js b/packages/ethers/utils.js index f01a080c1e..951b703c9f 100644 --- a/packages/ethers/utils.js +++ b/packages/ethers/utils.js @@ -91,6 +91,7 @@ var wallet_1 = require("@ethersproject/wallet"); exports.verifyMessage = wallet_1.verifyMessage; var web_1 = require("@ethersproject/web"); exports.fetchJson = web_1.fetchJson; +exports.poll = web_1.poll; //////////////////////// // Enums var sha2_2 = require("@ethersproject/sha2"); diff --git a/packages/json-wallets/_version.d.ts b/packages/json-wallets/_version.d.ts index 86c6e6f501..a688426be3 100644 --- a/packages/json-wallets/_version.d.ts +++ b/packages/json-wallets/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.124"; +export declare const version = "5.0.0-beta.125"; diff --git a/packages/json-wallets/_version.js b/packages/json-wallets/_version.js index 0cf46dc822..bc4d2fe8ad 100644 --- a/packages/json-wallets/_version.js +++ b/packages/json-wallets/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.124"; +exports.version = "5.0.0-beta.125"; diff --git a/packages/json-wallets/crowdsale.d.ts b/packages/json-wallets/crowdsale.d.ts index eb51dc6063..974a00da75 100644 --- a/packages/json-wallets/crowdsale.d.ts +++ b/packages/json-wallets/crowdsale.d.ts @@ -6,6 +6,7 @@ export declare class CrowdsaleAccount extends Description implements ExternallyO readonly privateKey: string; readonly mnemonic?: string; readonly path?: string; - isType(value: any): value is CrowdsaleAccount; + readonly _isCrowdsaleAccount: boolean; + isCrowdsaleAccount(value: any): value is CrowdsaleAccount; } export declare function decrypt(json: string, password: Bytes | string): ExternallyOwnedAccount; diff --git a/packages/json-wallets/crowdsale.js b/packages/json-wallets/crowdsale.js index d809337afa..7cdc56f8e2 100644 --- a/packages/json-wallets/crowdsale.js +++ b/packages/json-wallets/crowdsale.js @@ -37,8 +37,8 @@ var CrowdsaleAccount = /** @class */ (function (_super) { function CrowdsaleAccount() { return _super !== null && _super.apply(this, arguments) || this; } - CrowdsaleAccount.prototype.isType = function (value) { - return properties_1.Description.isType(value); + CrowdsaleAccount.prototype.isCrowdsaleAccount = function (value) { + return !!(value && value._isCrowdsaleAccount); }; return CrowdsaleAccount; }(properties_1.Description)); @@ -72,6 +72,7 @@ function decrypt(json, password) { var seedHexBytes = strings_1.toUtf8Bytes(seedHex); var privateKey = keccak256_1.keccak256(seedHexBytes); return new CrowdsaleAccount({ + _isCrowdsaleAccount: true, address: ethaddr, privateKey: privateKey }); diff --git a/packages/json-wallets/keystore.d.ts b/packages/json-wallets/keystore.d.ts index 870493d181..e5aba86cb3 100644 --- a/packages/json-wallets/keystore.d.ts +++ b/packages/json-wallets/keystore.d.ts @@ -6,7 +6,8 @@ export declare class KeystoreAccount extends Description implements ExternallyOw readonly privateKey: string; readonly mnemonic?: string; readonly path?: string; - isType(value: any): value is KeystoreAccount; + readonly _isKeystoreAccount: boolean; + isKeystoreAccount(value: any): value is KeystoreAccount; } export declare type ProgressCallback = (percent: number) => void; export declare type EncryptOptions = { diff --git a/packages/json-wallets/keystore.js b/packages/json-wallets/keystore.js index df4e5cadc8..b207f536dc 100644 --- a/packages/json-wallets/keystore.js +++ b/packages/json-wallets/keystore.js @@ -34,8 +34,8 @@ var KeystoreAccount = /** @class */ (function (_super) { function KeystoreAccount() { return _super !== null && _super.apply(this, arguments) || this; } - KeystoreAccount.prototype.isType = function (value) { - return properties_1.Description.isType(value); + KeystoreAccount.prototype.isKeystoreAccount = function (value) { + return !!(value && value._isKeystoreAccount); }; return KeystoreAccount; }(properties_1.Description)); @@ -81,6 +81,7 @@ function decrypt(json, password, progressCallback) { } catch (e) { } var account = { + _isKeystoreAccount: true, address: address, privateKey: bytes_1.hexlify(privateKey) }; diff --git a/packages/json-wallets/package.json b/packages/json-wallets/package.json index b685f452d6..bd53ca80a9 100644 --- a/packages/json-wallets/package.json +++ b/packages/json-wallets/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/json-wallets", - "version": "5.0.0-beta.124", + "version": "5.0.0-beta.125", "description": "Wallet management utilities for KeyStore and Crowdsale JSON wallets.", "main": "index.js", "scripts": { @@ -31,5 +31,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0x4d9580ee8583276571285078677d76242e93047965013975d7c335e5aa97a3ac" + "tarballHash": "0x35570cafbf9fb9db5ec66349d16e14d327c98c60ae2ecf4d5a3c084c274a5dad" } diff --git a/packages/json-wallets/src.ts/_version.ts b/packages/json-wallets/src.ts/_version.ts index 4c7b329a30..08381ee674 100644 --- a/packages/json-wallets/src.ts/_version.ts +++ b/packages/json-wallets/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.124"; +export const version = "5.0.0-beta.125"; diff --git a/packages/properties/_version.d.ts b/packages/properties/_version.d.ts index a688426be3..97a33b45a0 100644 --- a/packages/properties/_version.d.ts +++ b/packages/properties/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.125"; +export declare const version = "5.0.0-beta.126"; diff --git a/packages/properties/_version.js b/packages/properties/_version.js index bc4d2fe8ad..8d94503aa2 100644 --- a/packages/properties/_version.js +++ b/packages/properties/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.125"; +exports.version = "5.0.0-beta.126"; diff --git a/packages/properties/index.d.ts b/packages/properties/index.d.ts index 439126c12b..16f019cd73 100644 --- a/packages/properties/index.d.ts +++ b/packages/properties/index.d.ts @@ -1,12 +1,10 @@ export declare function defineReadOnly(object: any, name: string, value: any): void; -export declare function isNamedInstance(type: Function | string, value: any): value is T; export declare function resolveProperties(object: any): Promise; export declare function checkProperties(object: any, properties: { [name: string]: boolean; }): void; export declare function shallowCopy(object: any): any; -export declare function deepCopy(object: any, frozen?: boolean): any; +export declare function deepCopy(object: any): any; export declare class Description { constructor(info: any); - static isType(value: any): boolean; } diff --git a/packages/properties/index.js b/packages/properties/index.js index 88422eefe2..bf54b81e8c 100644 --- a/packages/properties/index.js +++ b/packages/properties/index.js @@ -16,46 +16,6 @@ function defineReadOnly(object, name, value) { }); } exports.defineReadOnly = defineReadOnly; -// There are some issues with instanceof with npm link, so we use this -// to ensure types are what we expect. We use this for a little extra -// protection to make sure the correct types are being passed around. -function getType(object) { - var type = typeof (object); - if (type !== "function") { - return null; - } - var types = []; - var obj = object; - while (true) { - var type_1 = obj.name; - if (!type_1) { - break; - } - types.push(type_1); - obj = Object.getPrototypeOf(obj); - } - return types.join(" "); -} -function hasSuffix(text, suffix) { - return text.substring(text.length - suffix.length) === suffix; -} -function isNamedInstance(type, value) { - var name = getType(type); - if (!name) { - return false; - } - // Not a string... - if (typeof (value) !== "string") { - // Not an instance... - if (typeof (value) !== "object") { - return false; - } - // Get the instance type - value = getType(value.constructor); - } - return (name === value || hasSuffix(value, " " + name)); -} -exports.isNamedInstance = isNamedInstance; function resolveProperties(object) { var result = {}; var promises = []; @@ -102,29 +62,21 @@ function shallowCopy(object) { return result; } exports.shallowCopy = shallowCopy; -var opaque = { boolean: true, number: true, string: true }; -function deepCopy(object, frozen) { +var opaque = { bigint: true, boolean: true, number: true, string: true }; +// Returns a new copy of object, such that no properties may be replaced. +// New properties may be added only to objects. +function deepCopy(object) { // Opaque objects are not mutable, so safe to copy by assignment if (object === undefined || object === null || opaque[typeof (object)]) { return object; } // Arrays are mutable, so we need to create a copy if (Array.isArray(object)) { - var result = object.map(function (item) { return deepCopy(item, frozen); }); - if (frozen) { - Object.freeze(result); - } - return result; + return Object.freeze(object.map(function (item) { return deepCopy(item); })); } if (typeof (object) === "object") { - // Some internal objects, which are already immutable - if (isNamedInstance("BigNumber", object)) { - return object; - } - if (isNamedInstance("Description", object)) { - return object; - } - if (isNamedInstance("Indexed", object)) { + // Immutable objects are safe to just use + if (Object.isFrozen(object)) { return object; } var result = {}; @@ -133,10 +85,7 @@ function deepCopy(object, frozen) { if (value === undefined) { continue; } - defineReadOnly(result, key, deepCopy(value, frozen)); - } - if (frozen) { - Object.freeze(result); + defineReadOnly(result, key, deepCopy(value)); } return result; } @@ -150,13 +99,10 @@ exports.deepCopy = deepCopy; var Description = /** @class */ (function () { function Description(info) { for (var key in info) { - defineReadOnly(this, key, deepCopy(info[key], true)); + this[key] = deepCopy(info[key]); } Object.freeze(this); } - Description.isType = function (value) { - return isNamedInstance(this, value); - }; return Description; }()); exports.Description = Description; diff --git a/packages/properties/package.json b/packages/properties/package.json index 235c534473..2cac04aaac 100644 --- a/packages/properties/package.json +++ b/packages/properties/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/properties", - "version": "5.0.0-beta.125", + "version": "5.0.0-beta.126", "description": "Properties utility functions for ethers.", "main": "index.js", "scripts": { @@ -20,5 +20,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0xb8bb631ef71d25129b1ab6627a77368e262b366499c8088478bcd97eef8adca8" + "tarballHash": "0xcee0c3183c655efc9e654fcc46289f3a80a967aa4eff2d295772ea55ce837d9b" } diff --git a/packages/properties/src.ts/_version.ts b/packages/properties/src.ts/_version.ts index 08381ee674..10730de6ca 100644 --- a/packages/properties/src.ts/_version.ts +++ b/packages/properties/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.125"; +export const version = "5.0.0-beta.126"; diff --git a/packages/providers/_version.d.ts b/packages/providers/_version.d.ts index 8555d0694d..57e3ff4eca 100644 --- a/packages/providers/_version.d.ts +++ b/packages/providers/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.133"; +export declare const version = "5.0.0-beta.134"; diff --git a/packages/providers/_version.js b/packages/providers/_version.js index 010bd80218..72ddd6e9ef 100644 --- a/packages/providers/_version.js +++ b/packages/providers/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.133"; +exports.version = "5.0.0-beta.134"; diff --git a/packages/providers/base-provider.js b/packages/providers/base-provider.js index 69d803c37a..bd564455fa 100644 --- a/packages/providers/base-provider.js +++ b/packages/providers/base-provider.js @@ -84,7 +84,7 @@ function getEventTag(eventName) { else if (Array.isArray(eventName)) { return "filter:*:" + serializeTopics(eventName); } - else if (properties_1.isNamedInstance(abstract_provider_1.ForkEvent, eventName)) { + else if (abstract_provider_1.ForkEvent.isForkEvent(eventName)) { errors.warn("not implemented"); throw new Error("not implemented"); } diff --git a/packages/providers/package.json b/packages/providers/package.json index bc3a954e61..e365863440 100644 --- a/packages/providers/package.json +++ b/packages/providers/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/providers", - "version": "5.0.0-beta.133", + "version": "5.0.0-beta.134", "description": "Error utility functions for ethers.", "main": "index.js", "browser": { @@ -39,5 +39,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0xf0a2a7f427f8113a474fd63f14d5720941f05530fbe98d383e55dfc9bae29286" + "tarballHash": "0x2c6f5aa6d90887b48a28a828a5102ae32f65864b405e4e1ff5bc7f876c3237f4" } diff --git a/packages/providers/src.ts/_version.ts b/packages/providers/src.ts/_version.ts index 8319c20553..911a626dee 100644 --- a/packages/providers/src.ts/_version.ts +++ b/packages/providers/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.133"; +export const version = "5.0.0-beta.134"; diff --git a/packages/signing-key/_version.d.ts b/packages/signing-key/_version.d.ts index a688426be3..97a33b45a0 100644 --- a/packages/signing-key/_version.d.ts +++ b/packages/signing-key/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.125"; +export declare const version = "5.0.0-beta.126"; diff --git a/packages/signing-key/_version.js b/packages/signing-key/_version.js index bc4d2fe8ad..8d94503aa2 100644 --- a/packages/signing-key/_version.js +++ b/packages/signing-key/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.125"; +exports.version = "5.0.0-beta.126"; diff --git a/packages/signing-key/index.d.ts b/packages/signing-key/index.d.ts index f9b3842b24..ffb11296e6 100644 --- a/packages/signing-key/index.d.ts +++ b/packages/signing-key/index.d.ts @@ -4,11 +4,12 @@ export declare class SigningKey { readonly privateKey: string; readonly publicKey: string; readonly compressedPublicKey: string; - readonly address: string; + readonly _isSigningKey: boolean; constructor(privateKey: BytesLike); _addPoint(other: BytesLike): string; signDigest(digest: BytesLike): Signature; computeSharedSecret(otherKey: BytesLike): string; + static isSigningKey(value: any): value is SigningKey; } export declare function recoverPublicKey(digest: BytesLike, signature: SignatureLike): string; export declare function computePublicKey(key: BytesLike, compressed?: boolean): string; diff --git a/packages/signing-key/index.js b/packages/signing-key/index.js index 4eb34bab95..5476242bc4 100644 --- a/packages/signing-key/index.js +++ b/packages/signing-key/index.js @@ -25,6 +25,7 @@ var SigningKey = /** @class */ (function () { var keyPair = getCurve().keyFromPrivate(bytes_1.arrayify(this.privateKey)); properties_1.defineReadOnly(this, "publicKey", "0x" + keyPair.getPublic(false, "hex")); properties_1.defineReadOnly(this, "compressedPublicKey", "0x" + keyPair.getPublic(true, "hex")); + properties_1.defineReadOnly(this, "_isSigningKey", true); } SigningKey.prototype._addPoint = function (other) { var p0 = getCurve().keyFromPublic(bytes_1.arrayify(this.publicKey)); @@ -45,6 +46,9 @@ var SigningKey = /** @class */ (function () { var otherKeyPair = getCurve().keyFromPublic(bytes_1.arrayify(computePublicKey(otherKey))); return bytes_1.hexZeroPad("0x" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32); }; + SigningKey.isSigningKey = function (value) { + return !!(value && value._isSigningKey); + }; return SigningKey; }()); exports.SigningKey = SigningKey; diff --git a/packages/signing-key/package.json b/packages/signing-key/package.json index bf2fadc0b7..56e2b0c532 100644 --- a/packages/signing-key/package.json +++ b/packages/signing-key/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/signing-key", - "version": "5.0.0-beta.125", + "version": "5.0.0-beta.126", "description": "Elliptic curve library functions for the secp256k1 curve.", "main": "index.js", "scripts": { @@ -21,5 +21,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0x3f0419edaa2a79a0b62ab5221b243388c2600dec79cc169cb20b9c4ce906ce27" + "tarballHash": "0x2e104e122d1da669aecf903aa959b76a035552c0c688c9211335d05e2aa3130e" } diff --git a/packages/signing-key/src.ts/_version.ts b/packages/signing-key/src.ts/_version.ts index 08381ee674..10730de6ca 100644 --- a/packages/signing-key/src.ts/_version.ts +++ b/packages/signing-key/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.125"; +export const version = "5.0.0-beta.126"; diff --git a/packages/wallet/_version.d.ts b/packages/wallet/_version.d.ts index 97a33b45a0..873c9f4f98 100644 --- a/packages/wallet/_version.d.ts +++ b/packages/wallet/_version.d.ts @@ -1 +1 @@ -export declare const version = "5.0.0-beta.126"; +export declare const version = "5.0.0-beta.127"; diff --git a/packages/wallet/_version.js b/packages/wallet/_version.js index 8d94503aa2..d9540c0e40 100644 --- a/packages/wallet/_version.js +++ b/packages/wallet/_version.js @@ -1,3 +1,3 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.version = "5.0.0-beta.126"; +exports.version = "5.0.0-beta.127"; diff --git a/packages/wallet/index.js b/packages/wallet/index.js index 481a6b0d26..b7a248825f 100644 --- a/packages/wallet/index.js +++ b/packages/wallet/index.js @@ -66,7 +66,10 @@ var Wallet = /** @class */ (function (_super) { } } else { - if (properties_1.isNamedInstance(signing_key_1.SigningKey, privateKey)) { + if (signing_key_1.SigningKey.isSigningKey(privateKey)) { + if (privateKey.curve !== "secp256k1") { + errors.throwArgumentError("unsupported curve; must be secp256k1", "privateKey", "[REDACTED]"); + } properties_1.defineReadOnly(_this, "_signingKey", function () { return privateKey; }); } else { @@ -77,7 +80,7 @@ var Wallet = /** @class */ (function (_super) { properties_1.defineReadOnly(_this, "path", null); properties_1.defineReadOnly(_this, "address", transactions_1.computeAddress(_this.publicKey)); } - if (provider && !properties_1.isNamedInstance(abstract_provider_1.Provider, provider)) { + if (provider && !abstract_provider_1.Provider.isProvider(provider)) { errors.throwError("invalid provider", errors.INVALID_ARGUMENT, { argument: "provider", value: provider diff --git a/packages/wallet/package.json b/packages/wallet/package.json index 616f963b40..d2c7bc814f 100644 --- a/packages/wallet/package.json +++ b/packages/wallet/package.json @@ -1,6 +1,6 @@ { "name": "@ethersproject/wallet", - "version": "5.0.0-beta.126", + "version": "5.0.0-beta.127", "description": "Error utility functions for ethers.", "main": "index.js", "scripts": { @@ -32,5 +32,5 @@ "publishConfig": { "access": "public" }, - "tarballHash": "0xd686eb36478b47f97c2355ddd7d6197ea7e78ef744b98f18054c1c9dbf3510d6" + "tarballHash": "0x1e4e6ca3d0d51c9716917af30ddbb6c86859a571608ff0246a7bfef49963fa4d" } diff --git a/packages/wallet/src.ts/_version.ts b/packages/wallet/src.ts/_version.ts index 10730de6ca..6508cc3a68 100644 --- a/packages/wallet/src.ts/_version.ts +++ b/packages/wallet/src.ts/_version.ts @@ -1 +1 @@ -export const version = "5.0.0-beta.126"; +export const version = "5.0.0-beta.127";