@bitgo-beta/sdk-coin-rune 1.0.1-alpha.283 → 1.0.1-alpha.285
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/lib/constants.d.ts +4 -2
- package/dist/src/lib/constants.d.ts.map +1 -1
- package/dist/src/lib/constants.js +12 -7
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +3 -3
- package/dist/src/lib/utils.d.ts +1 -1
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +6 -5
- package/dist/src/rune.d.ts.map +1 -1
- package/dist/src/rune.js +2 -2
- package/dist/test/unit/utils.js +3 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export declare const validDenoms: string[];
|
|
2
2
|
export declare const mainnetAccountAddressRegex: RegExp;
|
|
3
3
|
export declare const mainnetValidatorAddressRegex: RegExp;
|
|
4
|
-
|
|
4
|
+
/** @deprecated Use `Networks.main.rune.addressPrefix` from `@bitgo-beta/statics` instead. */
|
|
5
|
+
export declare const MAINNET_ADDRESS_PREFIX: string;
|
|
5
6
|
export declare const testnetAccountAddressRegex: RegExp;
|
|
6
7
|
export declare const testnetValidatorAddressRegex: RegExp;
|
|
7
|
-
|
|
8
|
+
/** @deprecated Use `Networks.test.rune.addressPrefix` from `@bitgo-beta/statics` instead. */
|
|
9
|
+
export declare const TESTNET_ADDRESS_PREFIX: string;
|
|
8
10
|
export declare const GAS_LIMIT = 200000;
|
|
9
11
|
export declare const GAS_AMOUNT = "0";
|
|
10
12
|
export declare const RUNE_FEES = "2000000";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,UAAiE,CAAC;AAC1F,eAAO,MAAM,0BAA0B,QAA6E,CAAC;AACrH,eAAO,MAAM,4BAA4B,QAA6E,CAAC;AACvH,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,QAAc,CAAC;AAElD,eAAO,MAAM,0BAA0B,QAA6E,CAAC;AACrH,eAAO,MAAM,4BAA4B,QAA6E,CAAC;AACvH,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,QAAc,CAAC;AAElD,eAAO,MAAM,SAAS,SAAS,CAAC;AAChC,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,SAAS,YAAY,CAAC;AACnC,eAAO,MAAM,SAAS,QAAQ,CAAC"}
|
|
@@ -2,16 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ROOT_PATH = exports.RUNE_FEES = exports.GAS_AMOUNT = exports.GAS_LIMIT = exports.TESTNET_ADDRESS_PREFIX = exports.testnetValidatorAddressRegex = exports.testnetAccountAddressRegex = exports.MAINNET_ADDRESS_PREFIX = exports.mainnetValidatorAddressRegex = exports.mainnetAccountAddressRegex = exports.validDenoms = void 0;
|
|
4
4
|
const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
5
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
5
6
|
const cosmosUtils = new abstract_cosmos_1.CosmosUtils();
|
|
7
|
+
const MAINNET_HRP = statics_1.Networks.main.rune.addressPrefix;
|
|
8
|
+
const TESTNET_HRP = statics_1.Networks.test.rune.addressPrefix;
|
|
6
9
|
exports.validDenoms = ['rune', ...cosmosUtils.getTokenDenomsUsingCoinFamily('thor')];
|
|
7
|
-
exports.mainnetAccountAddressRegex =
|
|
8
|
-
exports.mainnetValidatorAddressRegex =
|
|
9
|
-
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
10
|
+
exports.mainnetAccountAddressRegex = new RegExp(`^(${MAINNET_HRP})1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$`);
|
|
11
|
+
exports.mainnetValidatorAddressRegex = new RegExp(`^(${MAINNET_HRP})1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$`);
|
|
12
|
+
/** @deprecated Use `Networks.main.rune.addressPrefix` from `@bitgo-beta/statics` instead. */
|
|
13
|
+
exports.MAINNET_ADDRESS_PREFIX = MAINNET_HRP;
|
|
14
|
+
exports.testnetAccountAddressRegex = new RegExp(`^(${TESTNET_HRP})1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$`);
|
|
15
|
+
exports.testnetValidatorAddressRegex = new RegExp(`^(${TESTNET_HRP})1(['qpzry9x8gf2tvdw0s3jn54khce6mua7l]{38})$`);
|
|
16
|
+
/** @deprecated Use `Networks.test.rune.addressPrefix` from `@bitgo-beta/statics` instead. */
|
|
17
|
+
exports.TESTNET_ADDRESS_PREFIX = TESTNET_HRP;
|
|
13
18
|
exports.GAS_LIMIT = 200000;
|
|
14
19
|
exports.GAS_AMOUNT = '0'; // Gas amount should be zero for RUNE transactions, as fees (0.02 RUNE) is cut from sender balance directly in the transaction
|
|
15
20
|
exports.RUNE_FEES = '2000000'; // https://dev.thorchain.org/concepts/fees.html#thorchain-native-rune
|
|
16
21
|
exports.ROOT_PATH = 'm/0';
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUVBQTBEO0FBQzFELGlEQUErQztBQUUvQyxNQUFNLFdBQVcsR0FBRyxJQUFJLDZCQUFXLEVBQUUsQ0FBQztBQUN0QyxNQUFNLFdBQVcsR0FBRyxrQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0FBQ3JELE1BQU0sV0FBVyxHQUFHLGtCQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7QUFDeEMsUUFBQSxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsNkJBQTZCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM3RSxRQUFBLDBCQUEwQixHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssV0FBVyw4Q0FBOEMsQ0FBQyxDQUFDO0FBQ3hHLFFBQUEsNEJBQTRCLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxXQUFXLDhDQUE4QyxDQUFDLENBQUM7QUFDdkgsNkZBQTZGO0FBQ2hGLFFBQUEsc0JBQXNCLEdBQUcsV0FBVyxDQUFDO0FBRXJDLFFBQUEsMEJBQTBCLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxXQUFXLDhDQUE4QyxDQUFDLENBQUM7QUFDeEcsUUFBQSw0QkFBNEIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLFdBQVcsOENBQThDLENBQUMsQ0FBQztBQUN2SCw2RkFBNkY7QUFDaEYsUUFBQSxzQkFBc0IsR0FBRyxXQUFXLENBQUM7QUFFckMsUUFBQSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBQ25CLFFBQUEsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLDhIQUE4SDtBQUNoSixRQUFBLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxxRUFBcUU7QUFDNUYsUUFBQSxTQUFTLEdBQUcsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29zbW9zVXRpbHMgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1jb3Ntb3MnO1xuaW1wb3J0IHsgTmV0d29ya3MgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuY29uc3QgY29zbW9zVXRpbHMgPSBuZXcgQ29zbW9zVXRpbHMoKTtcbmNvbnN0IE1BSU5ORVRfSFJQID0gTmV0d29ya3MubWFpbi5ydW5lLmFkZHJlc3NQcmVmaXg7XG5jb25zdCBURVNUTkVUX0hSUCA9IE5ldHdvcmtzLnRlc3QucnVuZS5hZGRyZXNzUHJlZml4O1xuZXhwb3J0IGNvbnN0IHZhbGlkRGVub21zID0gWydydW5lJywgLi4uY29zbW9zVXRpbHMuZ2V0VG9rZW5EZW5vbXNVc2luZ0NvaW5GYW1pbHkoJ3Rob3InKV07XG5leHBvcnQgY29uc3QgbWFpbm5ldEFjY291bnRBZGRyZXNzUmVnZXggPSBuZXcgUmVnRXhwKGBeKCR7TUFJTk5FVF9IUlB9KTEoWydxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bF17Mzh9KSRgKTtcbmV4cG9ydCBjb25zdCBtYWlubmV0VmFsaWRhdG9yQWRkcmVzc1JlZ2V4ID0gbmV3IFJlZ0V4cChgXigke01BSU5ORVRfSFJQfSkxKFsncXB6cnk5eDhnZjJ0dmR3MHMzam41NGtoY2U2bXVhN2xdezM4fSkkYCk7XG4vKiogQGRlcHJlY2F0ZWQgVXNlIGBOZXR3b3Jrcy5tYWluLnJ1bmUuYWRkcmVzc1ByZWZpeGAgZnJvbSBgQGJpdGdvLWJldGEvc3RhdGljc2AgaW5zdGVhZC4gKi9cbmV4cG9ydCBjb25zdCBNQUlOTkVUX0FERFJFU1NfUFJFRklYID0gTUFJTk5FVF9IUlA7XG5cbmV4cG9ydCBjb25zdCB0ZXN0bmV0QWNjb3VudEFkZHJlc3NSZWdleCA9IG5ldyBSZWdFeHAoYF4oJHtURVNUTkVUX0hSUH0pMShbJ3FwenJ5OXg4Z2YydHZkdzBzM2puNTRraGNlNm11YTdsXXszOH0pJGApO1xuZXhwb3J0IGNvbnN0IHRlc3RuZXRWYWxpZGF0b3JBZGRyZXNzUmVnZXggPSBuZXcgUmVnRXhwKGBeKCR7VEVTVE5FVF9IUlB9KTEoWydxcHpyeTl4OGdmMnR2ZHcwczNqbjU0a2hjZTZtdWE3bF17Mzh9KSRgKTtcbi8qKiBAZGVwcmVjYXRlZCBVc2UgYE5ldHdvcmtzLnRlc3QucnVuZS5hZGRyZXNzUHJlZml4YCBmcm9tIGBAYml0Z28tYmV0YS9zdGF0aWNzYCBpbnN0ZWFkLiAqL1xuZXhwb3J0IGNvbnN0IFRFU1RORVRfQUREUkVTU19QUkVGSVggPSBURVNUTkVUX0hSUDtcblxuZXhwb3J0IGNvbnN0IEdBU19MSU1JVCA9IDIwMDAwMDtcbmV4cG9ydCBjb25zdCBHQVNfQU1PVU5UID0gJzAnOyAvLyBHYXMgYW1vdW50IHNob3VsZCBiZSB6ZXJvIGZvciBSVU5FIHRyYW5zYWN0aW9ucywgYXMgZmVlcyAoMC4wMiBSVU5FKSBpcyBjdXQgZnJvbSBzZW5kZXIgYmFsYW5jZSBkaXJlY3RseSBpbiB0aGUgdHJhbnNhY3Rpb25cbmV4cG9ydCBjb25zdCBSVU5FX0ZFRVMgPSAnMjAwMDAwMCc7IC8vIGh0dHBzOi8vZGV2LnRob3JjaGFpbi5vcmcvY29uY2VwdHMvZmVlcy5odG1sI3Rob3JjaGFpbi1uYXRpdmUtcnVuZVxuZXhwb3J0IGNvbnN0IFJPT1RfUEFUSCA9ICdtLzAnO1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D;;GAEG;AACH,qBAAa,OAAQ,SAAQ,aAAa;gBAC5B,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,UAAU,CAAC,MAAM,GAAE,aAAqC,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D;;GAEG;AACH,qBAAa,OAAQ,SAAQ,aAAa;gBAC5B,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,UAAU,CAAC,MAAM,GAAE,aAAqC,GAAG,MAAM;CAYlE"}
|
package/dist/src/lib/keyPair.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.KeyPair = void 0;
|
|
|
4
4
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
5
|
const amino_1 = require("@cosmjs/amino");
|
|
6
6
|
const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
7
|
-
const
|
|
7
|
+
const statics_1 = require("@bitgo-beta/statics");
|
|
8
8
|
/**
|
|
9
9
|
* Rune keys and address management.
|
|
10
10
|
*/
|
|
@@ -15,7 +15,7 @@ class KeyPair extends abstract_cosmos_1.CosmosKeyPair {
|
|
|
15
15
|
/** @inheritdoc */
|
|
16
16
|
getAddress(format = sdk_core_1.AddressFormat.mainnet) {
|
|
17
17
|
const base64String = Buffer.from(this.getKeys().pub.slice(0, 66), 'hex').toString('base64');
|
|
18
|
-
const address_prefix = format === sdk_core_1.AddressFormat.testnet ?
|
|
18
|
+
const address_prefix = format === sdk_core_1.AddressFormat.testnet ? statics_1.Networks.test.rune.addressPrefix : statics_1.Networks.main.rune.addressPrefix;
|
|
19
19
|
return (0, amino_1.pubkeyToAddress)({
|
|
20
20
|
type: 'tendermint/PubKeySecp256k1',
|
|
21
21
|
value: base64String,
|
|
@@ -23,4 +23,4 @@ class KeyPair extends abstract_cosmos_1.CosmosKeyPair {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
exports.KeyPair = KeyPair;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBcUU7QUFDckUseUNBQWdEO0FBRWhELGlFQUE0RDtBQUM1RCxpREFBK0M7QUFFL0M7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSwrQkFBYTtJQUN4QyxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVUsQ0FBQyxTQUF3Qix3QkFBYSxDQUFDLE9BQU87UUFDdEQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sY0FBYyxHQUNsQixNQUFNLEtBQUssd0JBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGtCQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGtCQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDekcsT0FBTyxJQUFBLHVCQUFlLEVBQ3BCO1lBQ0UsSUFBSSxFQUFFLDRCQUE0QjtZQUNsQyxLQUFLLEVBQUUsWUFBWTtTQUNwQixFQUNELGNBQWMsQ0FDZixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBbEJELDBCQWtCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVBhaXJPcHRpb25zLCBBZGRyZXNzRm9ybWF0IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgcHVia2V5VG9BZGRyZXNzIH0gZnJvbSAnQGNvc21qcy9hbWlubyc7XG5cbmltcG9ydCB7IENvc21vc0tleVBhaXIgfSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1jb3Ntb3MnO1xuaW1wb3J0IHsgTmV0d29ya3MgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuLyoqXG4gKiBSdW5lIGtleXMgYW5kIGFkZHJlc3MgbWFuYWdlbWVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBDb3Ntb3NLZXlQYWlyIHtcbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoZm9ybWF0OiBBZGRyZXNzRm9ybWF0ID0gQWRkcmVzc0Zvcm1hdC5tYWlubmV0KTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlNjRTdHJpbmcgPSBCdWZmZXIuZnJvbSh0aGlzLmdldEtleXMoKS5wdWIuc2xpY2UoMCwgNjYpLCAnaGV4JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIGNvbnN0IGFkZHJlc3NfcHJlZml4ID1cbiAgICAgIGZvcm1hdCA9PT0gQWRkcmVzc0Zvcm1hdC50ZXN0bmV0ID8gTmV0d29ya3MudGVzdC5ydW5lLmFkZHJlc3NQcmVmaXggOiBOZXR3b3Jrcy5tYWluLnJ1bmUuYWRkcmVzc1ByZWZpeDtcbiAgICByZXR1cm4gcHVia2V5VG9BZGRyZXNzKFxuICAgICAge1xuICAgICAgICB0eXBlOiAndGVuZGVybWludC9QdWJLZXlTZWNwMjU2azEnLFxuICAgICAgICB2YWx1ZTogYmFzZTY0U3RyaW5nLFxuICAgICAgfSxcbiAgICAgIGFkZHJlc3NfcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIl19
|
package/dist/src/lib/utils.d.ts
CHANGED
|
@@ -61,7 +61,7 @@ export declare class RuneUtils extends CosmosUtils {
|
|
|
61
61
|
validateDenomination(amountDenom: string): void;
|
|
62
62
|
convertMessageAddressToUint8Array(messages: MessageData[]): MessageData[];
|
|
63
63
|
createTransaction(sequence: number, messages: MessageData[], gasBudget: FeeData, publicKey?: string, memo?: string): CosmosLikeTransaction;
|
|
64
|
-
getNetworkPrefix():
|
|
64
|
+
getNetworkPrefix(): string;
|
|
65
65
|
}
|
|
66
66
|
declare const runeUtils: RuneUtils;
|
|
67
67
|
export default runeUtils;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAY,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,qBAAa,SAAU,SAAQ,WAAW;IACxC,OAAO,CAAC,WAAW,CAAc;gBACrB,WAAW,GAAE,WAAiC;IAK1D,+BAA+B,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,EAAE;IAcvE,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO;IAarD;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAU9C;;;;;;;OAOG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQ9C,kBAAkB;IAClB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOjD,kBAAkB;IAClB,cAAc,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAQlC;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAO3C;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI;IAMhD,iBAAiB,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI;IAQrC,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAM/C,iCAAiC,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IA0BzE,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,qBAAqB;IAaxB,gBAAgB;CAKjB;AAED,QAAA,MAAM,SAAS,WAAkB,CAAC;AAElC,eAAe,SAAS,CAAC"}
|
package/dist/src/lib/utils.js
CHANGED
|
@@ -42,7 +42,6 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
|
42
42
|
const abstract_cosmos_1 = require("@bitgo-beta/abstract-cosmos");
|
|
43
43
|
const constants = __importStar(require("./constants"));
|
|
44
44
|
const statics_1 = require("@bitgo-beta/statics");
|
|
45
|
-
const constants_1 = require("./constants");
|
|
46
45
|
const bech32 = require('bech32-buffer');
|
|
47
46
|
class RuneUtils extends abstract_cosmos_1.CosmosUtils {
|
|
48
47
|
constructor(networkType = statics_1.NetworkType.MAINNET) {
|
|
@@ -109,8 +108,8 @@ class RuneUtils extends abstract_cosmos_1.CosmosUtils {
|
|
|
109
108
|
getEncodedAddress(address) {
|
|
110
109
|
try {
|
|
111
110
|
return this.networkType === statics_1.NetworkType.TESTNET
|
|
112
|
-
? bech32.encode(
|
|
113
|
-
: bech32.encode(
|
|
111
|
+
? bech32.encode(statics_1.Networks.test.rune.addressPrefix, address)
|
|
112
|
+
: bech32.encode(statics_1.Networks.main.rune.addressPrefix, address);
|
|
114
113
|
}
|
|
115
114
|
catch (error) {
|
|
116
115
|
throw new Error(`Failed to encode address: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -212,10 +211,12 @@ class RuneUtils extends abstract_cosmos_1.CosmosUtils {
|
|
|
212
211
|
return cosmosLikeTxn;
|
|
213
212
|
}
|
|
214
213
|
getNetworkPrefix() {
|
|
215
|
-
return this.networkType === statics_1.NetworkType.TESTNET
|
|
214
|
+
return this.networkType === statics_1.NetworkType.TESTNET
|
|
215
|
+
? statics_1.Networks.test.rune.addressPrefix
|
|
216
|
+
: statics_1.Networks.main.rune.addressPrefix;
|
|
216
217
|
}
|
|
217
218
|
}
|
|
218
219
|
exports.RuneUtils = RuneUtils;
|
|
219
220
|
const runeUtils = new RuneUtils();
|
|
220
221
|
exports.default = runeUtils;
|
|
221
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUErRDtBQUUvRCxnRUFBcUM7QUFFckMsaUVBQTBGO0FBRTFGLHVEQUF5QztBQUN6QyxpREFBa0Q7QUFFbEQsMkNBQTZFO0FBQzdFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUV4QyxNQUFhLFNBQVUsU0FBUSw2QkFBVztJQUV4QyxZQUFZLGNBQTJCLHFCQUFXLENBQUMsT0FBTztRQUN4RCxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxTQUF1QjtRQUNyRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLE9BQU87Z0JBQ0wsS0FBSyxFQUFFO29CQUNMLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztvQkFDdEQsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO29CQUNsRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07aUJBQ3JCO2dCQUNELE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTzthQUN6QixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLGNBQWMsQ0FBQyxPQUE0QjtRQUN6QyxJQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxD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USxDQUFDLENBQUM7UUFDNUQsTUFBTSxhQUFhLEdBQUc7WUFDcEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsWUFBWSxFQUFFLFFBQVE7WUFDdEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUsscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGtDQUFzQixDQUFDLENBQUMsQ0FBQyxrQ0FBc0IsQ0FBQztJQUNwRyxDQUFDO0NBQ0Y7QUFuTUQsOEJBbU1DO0FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztBQUVsQyxrQkFBZSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IENvaW4gfSBmcm9tICdAY29zbWpzL3N0YXJnYXRlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgQ29zbW9zTGlrZVRyYW5zYWN0aW9uLCBDb3Ntb3NVdGlscywgRmVlRGF0YSB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWNvc21vcyc7XG5pbXBvcnQgeyBNZXNzYWdlRGF0YSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IE5ldHdvcmtUeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBEZWNvZGVkVHhSYXcgfSBmcm9tICdAY29zbWpzL3Byb3RvLXNpZ25pbmcnO1xuaW1wb3J0IHsgTUFJTk5FVF9BRERSRVNTX1BSRUZJWCwgVEVTVE5FVF9BRERSRVNTX1BSRUZJWCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmNvbnN0IGJlY2gzMiA9IHJlcXVpcmUoJ2JlY2gzMi1idWZmZXInKTtcblxuZXhwb3J0IGNsYXNzIFJ1bmVVdGlscyBleHRlbmRzIENvc21vc1V0aWxzIHtcbiAgcHJpdmF0ZSBuZXR3b3JrVHlwZTogTmV0d29ya1R5cGU7XG4gIGNvbnN0cnVjdG9yKG5ldHdvcmtUeXBlOiBOZXR3b3JrVHlwZSA9IE5ldHdvcmtUeXBlLk1BSU5ORVQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubmV0d29ya1R5cGUgPSBuZXR3b3JrVHlwZTtcbiAgfVxuXG4gIGdldFNlbmRNZXNzYWdlRGF0YUZyb21EZWNvZGVkVHgoZGVjb2RlZFR4OiBEZWNvZGVkVHhSYXcpOiBNZXNzYWdlRGF0YVtdIHtcbiAgICByZXR1cm4gZGVjb2RlZFR4LmJvZHkubWVzc2FnZXMubWFwKChtZXNzYWdlKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVnaXN0cnkuZGVjb2RlKG1lc3NhZ2UpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICBmcm9tQWRkcmVzczogdGhpcy5nZXRFbmNvZGVkQWRkcmVzcyh2YWx1ZS5mcm9tQWRkcmVzcyksXG4gICAgICAgICAgdG9BZGRyZXNzOiB0aGlzLmdldEVuY29kZWRBZGRyZXNzKHZhbHVlLnRvQWRkcmVzcyksXG4gICAgICAgICAgYW1vdW50OiB2YWx1ZS5hbW91bnQsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGVVcmw6IG1lc3NhZ2UudHlwZVVybCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nIHwgVWludDhBcnJheSk6IGJvb2xlYW4ge1xuICAgIGlmIChhZGRyZXNzID09PSB1bmRlZmluZWQgfHwgYWRkcmVzcyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYWRkcmVzcyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWREZWNvZGVkQWRkcmVzcyhhZGRyZXNzKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBhZGRyZXNzID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZEVuY29kZWRBZGRyZXNzKGFkZHJlc3MpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGEgZGVjb2RlZCBhZGRyZXNzIGluIGBVaW50OEFycmF5YCBmb3JtIGJ5IGVuY29kaW5nIGl0IGFuZFxuICAgKiBjaGVja2luZyBpZiB0aGUgZW5jb2RlZCB2ZXJzaW9uIGlzIHZhbGlkXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIC0gVGhlIGRlY29kZWQgYWRkcmVzcyBhcyBhIGBVaW50OEFycmF5YC5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBlbmNvZGVkIGFkZHJlc3MgaXMgdmFsaWQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBpc1ZhbGlkRGVjb2RlZEFkZHJlc3MoYWRkcmVzczogVWludDhBcnJheSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVuY29kZWRBZGRyZXNzID0gdGhpcy5nZXRFbmNvZGVkQWRkcmVzcyhhZGRyZXNzKTtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkRW5jb2RlZEFkZHJlc3MoZW5jb2RlZEFkZHJlc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbiBlbmNvZGVkIGFkZHJlc3Mgc3RyaW5nIGFnYWluc3QgbmV0d29yay1zcGVjaWZpYyBjcml0ZXJpYS5cbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgLSBUaGUgZW5jb2RlZCBhZGRyZXNzIGFzIGEgYHN0cmluZ2AuXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgYWRkcmVzcyBtZWV0cyBuZXR3b3JrLXNwZWNpZmljIHZhbGlkYXRpb24gY3JpdGVyaWEsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBpc1ZhbGlkRW5jb2RlZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubmV0d29ya1R5cGUgPT09IE5ldHdvcmtUeXBlLlRFU1RORVQpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWRDb3Ntb3NMaWtlQWRkcmVzc1dpdGhNZW1vSWQoYWRkcmVzcywgY29uc3RhbnRzLnRlc3RuZXRBY2NvdW50QWRkcmVzc1JlZ2V4KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZENvc21vc0xpa2VBZGRyZXNzV2l0aE1lbW9JZChhZGRyZXNzLCBjb25zdGFudHMubWFpbm5ldEFjY291bnRBZGRyZXNzUmVnZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuY29kZXMgYSBnaXZlbiBhZGRyZXNzIGBVaW50OEFycmF5YCBpbnRvIGEgYmVjaDMyIHN0cmluZyBmb3JtYXQsIGJhc2VkIG9uIHRoZSBjdXJyZW50IG5ldHdvcmsgdHlwZS5cbiAgICogUHJpbWFyaWx5IHNlcnZlcyBhcyBhIHV0aWxpdHkgdG8gY29udmVydCBhIGBVaW50OEFycmF5YC10eXBlIGFkZHJlc3MgdG8gYSBiZWNoMzIgZW5jb2RlZCBzdHJpbmdcbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgLSBUaGUgYWRkcmVzcyB0byBiZSBlbmNvZGVkLCBwcm92aWRlZCBhcyBhIGBVaW50OEFycmF5YC5cbiAgICogQHJldHVybnMgQSBiZWNoMzItZW5jb2RlZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhZGRyZXNzLlxuICAgKiBAdGhyb3dzIEVycm9yIC0gVGhyb3dzIGFuIGVycm9yIGlmIGVuY29kaW5nIGZhaWxzXG4gICAqL1xuICBnZXRFbmNvZGVkQWRkcmVzcyhhZGRyZXNzOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMubmV0d29ya1R5cGUgPT09IE5ldHdvcmtUeXBlLlRFU1RORVRcbiAgICAgICAgPyBiZWNoMzIuZW5jb2RlKFRFU1RORVRfQUREUkVTU19QUkVGSVgsIGFkZHJlc3MpXG4gICAgICAgIDogYmVjaDMyLmVuY29kZShNQUlOTkVUX0FERFJFU1NfUFJFRklYLCBhZGRyZXNzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZW5jb2RlIGFkZHJlc3M6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIGEgYmVjaDMyLWVuY29kZWQgYWRkcmVzcyBzdHJpbmcgYmFjayBpbnRvIGEgYFVpbnQ4QXJyYXlgLlxuICAgKiBQcmltYXJpbHkgc2VydmVzIGFzIGEgdXRpbGl0eSB0byBjb252ZXJ0IGEgc3RyaW5nLXR5cGUgYWRkcmVzcyBpbnRvIGl0cyBiaW5hcnkgcmVwcmVzZW50YXRpb24sXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIC0gVGhlIGJlY2gzMi1lbmNvZGVkIGFkZHJlc3MgYXMgYSBgc3RyaW5nYC5cbiAgICogQHJldHVybnMgVGhlIGRlY29kZWQgYWRkcmVzcyBhcyBhIGBVaW50OEFycmF5YC5cbiAgICogQHRocm93cyBFcnJvciAtIFRocm93cyBhbiBlcnJvciBpZiBkZWNvZGluZyBmYWlsc1xuICAgKi9cbiAgZ2V0RGVjb2RlZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogVWludDhBcnJheSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBiZWNoMzIuZGVjb2RlKGFkZHJlc3MpLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBhZGRyZXNzOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKX1gKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZFZhbGlkYXRvckFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubmV0d29ya1R5cGUgPT09IE5ldHdvcmtUeXBlLlRFU1RORVQpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWRCZWNoMzJBZGRyZXNzTWF0Y2hpbmdSZWdleChhZGRyZXNzLCBjb25zdGFudHMudGVzdG5ldFZhbGlkYXRvckFkZHJlc3NSZWdleCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmlzVmFsaWRCZWNoMzJBZGRyZXNzTWF0Y2hpbmdSZWdleChhZGRyZXNzLCBjb25zdGFudHMubWFpbm5ldFZhbGlkYXRvckFkZHJlc3NSZWdleCk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgdmFsaWRhdGVBbW91bnQoYW1vdW50OiBDb2luKTogdm9pZCB7XG4gICAgY29uc3QgYW1vdW50QmlnID0gQmlnTnVtYmVyKGFtb3VudC5hbW91bnQpO1xuICAgIGlmIChhbW91bnRCaWcuaXNOYU4oKSB8fCBhbW91bnRCaWcuaXNMZXNzVGhhbk9yRXF1YWxUbygwKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGFtb3VudDogJyArIGFtb3VudC5hbW91bnQpO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlRGVub21pbmF0aW9uKGFtb3VudC5kZW5vbSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBnYXMgbGltaXQgYW5kIGdhcyBhbW91bnQgZm9yIGEgdHJhbnNhY3Rpb24uXG4gICAqIEBwYXJhbSB7RmVlRGF0YX0gZ2FzQnVkZ2V0IC0gVGhlIGdhcyBidWRnZXQgdG8gdmFsaWRhdGUuXG4gICAqIEB0aHJvd3Mge0ludmFsaWRUcmFuc2FjdGlvbkVycm9yfSBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGdhcyBidWRnZXQgaXMgaW52YWxpZC5cbiAgICovXG4gIHZhbGlkYXRlR2FzQnVkZ2V0KGdhc0J1ZGdldDogRmVlRGF0YSk6IHZvaWQge1xuICAgIGlmIChnYXNCdWRnZXQuZ2FzTGltaXQgPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdJbnZhbGlkIGdhcyBsaW1pdCAnICsgZ2FzQnVkZ2V0Lmdhc0xpbWl0KTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZUdhc0Ftb3VudERhdGEoZ2FzQnVkZ2V0LmFtb3VudCk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGFuIGFycmF5IG9mIGNvaW4gYW1vdW50cy5cbiAgICogQHBhcmFtIHtDb2luW119IGFtb3VudEFycmF5IC0gVGhlIGFycmF5IG9mIGNvaW4gYW1vdW50cyB0byB2YWxpZGF0ZS5cbiAgICovXG4gIHZhbGlkYXRlR2FzQW1vdW50RGF0YShhbW91bnRBcnJheTogQ29pbltdKTogdm9pZCB7XG4gICAgYW1vdW50QXJyYXkuZm9yRWFjaCgoY29pbkFtb3VudCkgPT4ge1xuICAgICAgdGhpcy52YWxpZGF0ZUdhc0Ftb3VudChjb2luQW1vdW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHZhbGlkYXRlR2FzQW1vdW50KGFtb3VudDogQ29pbik6IHZvaWQge1xuICAgIGNvbnN0IGFtb3VudEJpZyA9IEJpZ051bWJlcihhbW91bnQuYW1vdW50KTtcbiAgICBpZiAoYW1vdW50QmlnLmlzTmFOKCkgfHwgYW1vdW50QmlnLmlzTGVzc1RoYW4oMCkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICcgKyBhbW91bnQuYW1vdW50KTtcbiAgICB9XG4gICAgdGhpcy52YWxpZGF0ZURlbm9taW5hdGlvbihhbW91bnQuZGVub20pO1xuICB9XG5cbiAgdmFsaWRhdGVEZW5vbWluYXRpb24oYW1vdW50RGVub206IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghY29uc3RhbnRzLnZhbGlkRGVub21zLmZpbmQoKGRlbm9tKSA9PiBkZW5vbSA9PT0gYW1vdW50RGVub20pKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgZGVub206ICcgKyBhbW91bnREZW5vbSk7XG4gICAgfVxuICB9XG5cbiAgY29udmVydE1lc3NhZ2VBZGRyZXNzVG9VaW50OEFycmF5KG1lc3NhZ2VzOiBNZXNzYWdlRGF0YVtdKTogTWVzc2FnZURhdGFbXSB7XG4gICAgcmV0dXJuIG1lc3NhZ2VzLm1hcCgobWVzc2FnZSkgPT4ge1xuICAgICAgaWYgKCdmcm9tQWRkcmVzcycgaW4gbWVzc2FnZS52YWx1ZSAmJiAndG9BZGRyZXNzJyBpbiBtZXNzYWdlLnZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHNlbmRNZXNzYWdlID0gbWVzc2FnZS52YWx1ZTtcblxuICAgICAgICBjb25zdCBkZWNvZGVkRnJvbSA9XG4gICAgICAgICAgdHlwZW9mIHNlbmRNZXNzYWdlLmZyb21BZGRyZXNzID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyBiZWNoMzIuZGVjb2RlKHNlbmRNZXNzYWdlLmZyb21BZGRyZXNzKS5kYXRhXG4gICAgICAgICAgICA6IHNlbmRNZXNzYWdlLmZyb21BZGRyZXNzO1xuICAgICAgICBjb25zdCBkZWNvZGVkVG8gPVxuICAgICAgICAgIHR5cGVvZiBzZW5kTWVzc2FnZS50b0FkZHJlc3MgPT09ICdzdHJpbmcnID8gYmVjaDMyLmRlY29kZShzZW5kTWVzc2FnZS50b0FkZHJlc3MpLmRhdGEgOiBzZW5kTWVzc2FnZS50b0FkZHJlc3M7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5tZXNzYWdlLFxuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAuLi5zZW5kTWVzc2FnZSxcbiAgICAgICAgICAgIGZyb21BZGRyZXNzOiBkZWNvZGVkRnJvbSxcbiAgICAgICAgICAgIHRvQWRkcmVzczogZGVjb2RlZFRvLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlVHJhbnNhY3Rpb24oXG4gICAgc2VxdWVuY2U6IG51bWJlcixcbiAgICBtZXNzYWdlczogTWVzc2FnZURhdGFbXSxcbiAgICBnYXNCdWRnZXQ6IEZlZURhdGEsXG4gICAgcHVibGljS2V5Pzogc3RyaW5nLFxuICAgIG1lbW8/OiBzdHJpbmdcbiAgKTogQ29zbW9zTGlrZVRyYW5zYWN0aW9uIHtcbiAgICBtZXNzYWdlcyA9IHRoaXMuY29udmVydE1lc3NhZ2VBZGRyZXNzVG9VaW50OEFycmF5KG1lc3NhZ2VzKTtcbiAgICBjb25zdCBjb3Ntb3NMaWtlVHhuID0ge1xuICAgICAgc2VxdWVuY2U6IHNlcXVlbmNlLFxuICAgICAgc2VuZE1lc3NhZ2VzOiBtZXNzYWdlcyxcbiAgICAgIGdhc0J1ZGdldDogZ2FzQnVkZ2V0LFxuICAgICAgcHVibGljS2V5OiBwdWJsaWNLZXksXG4gICAgICBtZW1vOiBtZW1vLFxuICAgIH07XG4gICAgdGhpcy52YWxpZGF0ZVRyYW5zYWN0aW9uKGNvc21vc0xpa2VUeG4pO1xuICAgIHJldHVybiBjb3Ntb3NMaWtlVHhuO1xuICB9XG5cbiAgZ2V0TmV0d29ya1ByZWZpeCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZXR3b3JrVHlwZSA9PT0gTmV0d29ya1R5cGUuVEVTVE5FVCA/IFRFU1RORVRfQUREUkVTU19QUkVGSVggOiBNQUlOTkVUX0FERFJFU1NfUFJFRklYO1xuICB9XG59XG5cbmNvbnN0IHJ1bmVVdGlscyA9IG5ldyBSdW5lVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgcnVuZVV0aWxzO1xuIl19
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUErRDtBQUUvRCxnRUFBcUM7QUFFckMsaUVBQTBGO0FBRTFGLHVEQUF5QztBQUN6QyxpREFBNEQ7QUFFNUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXhDLE1BQWEsU0FBVSxTQUFRLDZCQUFXO0lBRXhDLFlBQVksY0FBMkIscUJBQVcsQ0FBQyxPQUFPO1FBQ3hELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVELCtCQUErQixDQUFDLFNBQXVCO1FBQ3JELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDN0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsT0FBTztnQkFDTCxLQUFLLEVBQUU7b0JBQ0wsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO29CQUN0RCxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7b0JBQ2xELE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2FBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsY0FBYyxDQUFDLE9BQTRCO1FBQ3pDLElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDOUMsT0FB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SUFBYTtRQUViLFFBQVEsR0FBRyxJQUFJLENBQUMsaUNBQWlDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUQsTUFBTSxhQUFhLEdBQUc7WUFDcEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsWUFBWSxFQUFFLFFBQVE7WUFDdEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUsscUJBQVcsQ0FBQyxPQUFPO1lBQzdDLENBQUMsQ0FBQyxrQkFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUNsQyxDQUFDLENBQUMsa0JBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUFyTUQsOEJBcU1DO0FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztBQUVsQyxrQkFBZSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvciB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IENvaW4gfSBmcm9tICdAY29zbWpzL3N0YXJnYXRlJztcbmltcG9ydCBCaWdOdW1iZXIgZnJvbSAnYmlnbnVtYmVyLmpzJztcblxuaW1wb3J0IHsgQ29zbW9zTGlrZVRyYW5zYWN0aW9uLCBDb3Ntb3NVdGlscywgRmVlRGF0YSB9IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWNvc21vcyc7XG5pbXBvcnQgeyBNZXNzYWdlRGF0YSB9IGZyb20gJy4vaWZhY2UnO1xuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IE5ldHdvcmtUeXBlLCBOZXR3b3JrcyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgRGVjb2RlZFR4UmF3IH0gZnJvbSAnQGNvc21qcy9wcm90by1zaWduaW5nJztcbmNvbnN0IGJlY2gzMiA9IHJlcXVpcmUoJ2JlY2gzMi1idWZmZXInKTtcblxuZXhwb3J0IGNsYXNzIFJ1bmVVdGlscyBleHRlbmRzIENvc21vc1V0aWxzIHtcbiAgcHJpdmF0ZSBuZXR3b3JrVHlwZTogTmV0d29ya1R5cGU7XG4gIGNvbnN0cnVjdG9yKG5ldHdvcmtUeXBlOiBOZXR3b3JrVHlwZSA9IE5ldHdvcmtUeXBlLk1BSU5ORVQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubmV0d29ya1R5cGUgPSBuZXR3b3JrVHlwZTtcbiAgfVxuXG4gIGdldFNlbmRNZXNzYWdlRGF0YUZyb21EZWNvZGVkVHgoZGVjb2RlZFR4OiBEZWNvZGVkVHhSYXcpOiBNZXNzYWdlRGF0YVtdIHtcbiAgICByZXR1cm4gZGVjb2RlZFR4LmJvZHkubWVzc2FnZXMubWFwKChtZXNzYWdlKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVnaXN0cnkuZGVjb2RlKG1lc3NhZ2UpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICBmcm9tQWRkcmVzczogdGhpcy5nZXRFbmNvZGVkQWRkcmVzcyh2YWx1ZS5mcm9tQWRkcmVzcyksXG4gICAgICAgICAgdG9BZGRyZXNzOiB0aGlzLmdldEVuY29kZWRBZGRyZXNzKHZhbHVlLnRvQWRkcmVzcyksXG4gICAgICAgICAgYW1vdW50OiB2YWx1ZS5hbW91bnQsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGVVcmw6IG1lc3NhZ2UudHlwZVVybCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nIHwgVWludDhBcnJheSk6IGJvb2xlYW4ge1xuICAgIGlmIChhZGRyZXNzID09PSB1bmRlZmluZWQgfHwgYWRkcmVzcyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYWRkcmVzcyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWREZWNvZGVkQWRkcmVzcyhhZGRyZXNzKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBhZGRyZXNzID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZEVuY29kZWRBZGRyZXNzKGFkZHJlc3MpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGEgZGVjb2RlZCBhZGRyZXNzIGluIGBVaW50OEFycmF5YCBmb3JtIGJ5IGVuY29kaW5nIGl0IGFuZFxuICAgKiBjaGVja2luZyBpZiB0aGUgZW5jb2RlZCB2ZXJzaW9uIGlzIHZhbGlkXG4gICAqXG4gICAqIEBwYXJhbSBhZGRyZXNzIC0gVGhlIGRlY29kZWQgYWRkcmVzcyBhcyBhIGBVaW50OEFycmF5YC5cbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBlbmNvZGVkIGFkZHJlc3MgaXMgdmFsaWQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBpc1ZhbGlkRGVjb2RlZEFkZHJlc3MoYWRkcmVzczogVWludDhBcnJheSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVuY29kZWRBZGRyZXNzID0gdGhpcy5nZXRFbmNvZGVkQWRkcmVzcyhhZGRyZXNzKTtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkRW5jb2RlZEFkZHJlc3MoZW5jb2RlZEFkZHJlc3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbiBlbmNvZGVkIGFkZHJlc3Mgc3RyaW5nIGFnYWluc3QgbmV0d29yay1zcGVjaWZpYyBjcml0ZXJpYS5cbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgLSBUaGUgZW5jb2RlZCBhZGRyZXNzIGFzIGEgYHN0cmluZ2AuXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgYWRkcmVzcyBtZWV0cyBuZXR3b3JrLXNwZWNpZmljIHZhbGlkYXRpb24gY3JpdGVyaWEsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHJpdmF0ZSBpc1ZhbGlkRW5jb2RlZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubmV0d29ya1R5cGUgPT09IE5ldHdvcmtUeXBlLlRFU1RORVQpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWRDb3Ntb3NMaWtlQWRkcmVzc1dpdGhNZW1vSWQoYWRkcmVzcywgY29uc3RhbnRzLnRlc3RuZXRBY2NvdW50QWRkcmVzc1JlZ2V4KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZENvc21vc0xpa2VBZGRyZXNzV2l0aE1lbW9JZChhZGRyZXNzLCBjb25zdGFudHMubWFpbm5ldEFjY291bnRBZGRyZXNzUmVnZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuY29kZXMgYSBnaXZlbiBhZGRyZXNzIGBVaW50OEFycmF5YCBpbnRvIGEgYmVjaDMyIHN0cmluZyBmb3JtYXQsIGJhc2VkIG9uIHRoZSBjdXJyZW50IG5ldHdvcmsgdHlwZS5cbiAgICogUHJpbWFyaWx5IHNlcnZlcyBhcyBhIHV0aWxpdHkgdG8gY29udmVydCBhIGBVaW50OEFycmF5YC10eXBlIGFkZHJlc3MgdG8gYSBiZWNoMzIgZW5jb2RlZCBzdHJpbmdcbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgLSBUaGUgYWRkcmVzcyB0byBiZSBlbmNvZGVkLCBwcm92aWRlZCBhcyBhIGBVaW50OEFycmF5YC5cbiAgICogQHJldHVybnMgQSBiZWNoMzItZW5jb2RlZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBhZGRyZXNzLlxuICAgKiBAdGhyb3dzIEVycm9yIC0gVGhyb3dzIGFuIGVycm9yIGlmIGVuY29kaW5nIGZhaWxzXG4gICAqL1xuICBnZXRFbmNvZGVkQWRkcmVzcyhhZGRyZXNzOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMubmV0d29ya1R5cGUgPT09IE5ldHdvcmtUeXBlLlRFU1RORVRcbiAgICAgICAgPyBiZWNoMzIuZW5jb2RlKE5ldHdvcmtzLnRlc3QucnVuZS5hZGRyZXNzUHJlZml4LCBhZGRyZXNzKVxuICAgICAgICA6IGJlY2gzMi5lbmNvZGUoTmV0d29ya3MubWFpbi5ydW5lLmFkZHJlc3NQcmVmaXgsIGFkZHJlc3MpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBlbmNvZGUgYWRkcmVzczogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcil9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgYSBiZWNoMzItZW5jb2RlZCBhZGRyZXNzIHN0cmluZyBiYWNrIGludG8gYSBgVWludDhBcnJheWAuXG4gICAqIFByaW1hcmlseSBzZXJ2ZXMgYXMgYSB1dGlsaXR5IHRvIGNvbnZlcnQgYSBzdHJpbmctdHlwZSBhZGRyZXNzIGludG8gaXRzIGJpbmFyeSByZXByZXNlbnRhdGlvbixcbiAgICpcbiAgICogQHBhcmFtIGFkZHJlc3MgLSBUaGUgYmVjaDMyLWVuY29kZWQgYWRkcmVzcyBhcyBhIGBzdHJpbmdgLlxuICAgKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBhZGRyZXNzIGFzIGEgYFVpbnQ4QXJyYXlgLlxuICAgKiBAdGhyb3dzIEVycm9yIC0gVGhyb3dzIGFuIGVycm9yIGlmIGRlY29kaW5nIGZhaWxzXG4gICAqL1xuICBnZXREZWNvZGVkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGJlY2gzMi5kZWNvZGUoYWRkcmVzcykuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVjb2RlIGFkZHJlc3M6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBpc1ZhbGlkVmFsaWRhdG9yQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5uZXR3b3JrVHlwZSA9PT0gTmV0d29ya1R5cGUuVEVTVE5FVCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZEJlY2gzMkFkZHJlc3NNYXRjaGluZ1JlZ2V4KGFkZHJlc3MsIGNvbnN0YW50cy50ZXN0bmV0VmFsaWRhdG9yQWRkcmVzc1JlZ2V4KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEJlY2gzMkFkZHJlc3NNYXRjaGluZ1JlZ2V4KGFkZHJlc3MsIGNvbnN0YW50cy5tYWlubmV0VmFsaWRhdG9yQWRkcmVzc1JlZ2V4KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICB2YWxpZGF0ZUFtb3VudChhbW91bnQ6IENvaW4pOiB2b2lkIHtcbiAgICBjb25zdCBhbW91bnRCaWcgPSBCaWdOdW1iZXIoYW1vdW50LmFtb3VudCk7XG4gICAgaWYgKGFtb3VudEJpZy5pc05hTigpIHx8IGFtb3VudEJpZy5pc0xlc3NUaGFuT3JFcXVhbFRvKDApKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgYW1vdW50OiAnICsgYW1vdW50LmFtb3VudCk7XG4gICAgfVxuICAgIHRoaXMudmFsaWRhdGVEZW5vbWluYXRpb24oYW1vdW50LmRlbm9tKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGdhcyBsaW1pdCBhbmQgZ2FzIGFtb3VudCBmb3IgYSB0cmFuc2FjdGlvbi5cbiAgICogQHBhcmFtIHtGZWVEYXRhfSBnYXNCdWRnZXQgLSBUaGUgZ2FzIGJ1ZGdldCB0byB2YWxpZGF0ZS5cbiAgICogQHRocm93cyB7SW52YWxpZFRyYW5zYWN0aW9uRXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgZ2FzIGJ1ZGdldCBpcyBpbnZhbGlkLlxuICAgKi9cbiAgdmFsaWRhdGVHYXNCdWRnZXQoZ2FzQnVkZ2V0OiBGZWVEYXRhKTogdm9pZCB7XG4gICAgaWYgKGdhc0J1ZGdldC5nYXNMaW1pdCA8PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0ludmFsaWQgZ2FzIGxpbWl0ICcgKyBnYXNCdWRnZXQuZ2FzTGltaXQpO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlR2FzQW1vdW50RGF0YShnYXNCdWRnZXQuYW1vdW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW4gYXJyYXkgb2YgY29pbiBhbW91bnRzLlxuICAgKiBAcGFyYW0ge0NvaW5bXX0gYW1vdW50QXJyYXkgLSBUaGUgYXJyYXkgb2YgY29pbiBhbW91bnRzIHRvIHZhbGlkYXRlLlxuICAgKi9cbiAgdmFsaWRhdGVHYXNBbW91bnREYXRhKGFtb3VudEFycmF5OiBDb2luW10pOiB2b2lkIHtcbiAgICBhbW91bnRBcnJheS5mb3JFYWNoKChjb2luQW1vdW50KSA9PiB7XG4gICAgICB0aGlzLnZhbGlkYXRlR2FzQW1vdW50KGNvaW5BbW91bnQpO1xuICAgIH0pO1xuICB9XG5cbiAgdmFsaWRhdGVHYXNBbW91bnQoYW1vdW50OiBDb2luKTogdm9pZCB7XG4gICAgY29uc3QgYW1vdW50QmlnID0gQmlnTnVtYmVyKGFtb3VudC5hbW91bnQpO1xuICAgIGlmIChhbW91bnRCaWcuaXNOYU4oKSB8fCBhbW91bnRCaWcuaXNMZXNzVGhhbigwKSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGFtb3VudDogJyArIGFtb3VudC5hbW91bnQpO1xuICAgIH1cbiAgICB0aGlzLnZhbGlkYXRlRGVub21pbmF0aW9uKGFtb3VudC5kZW5vbSk7XG4gIH1cblxuICB2YWxpZGF0ZURlbm9taW5hdGlvbihhbW91bnREZW5vbTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCFjb25zdGFudHMudmFsaWREZW5vbXMuZmluZCgoZGVub20pID0+IGRlbm9tID09PSBhbW91bnREZW5vbSkpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBkZW5vbTogJyArIGFtb3VudERlbm9tKTtcbiAgICB9XG4gIH1cblxuICBjb252ZXJ0TWVzc2FnZUFkZHJlc3NUb1VpbnQ4QXJyYXkobWVzc2FnZXM6IE1lc3NhZ2VEYXRhW10pOiBNZXNzYWdlRGF0YVtdIHtcbiAgICByZXR1cm4gbWVzc2FnZXMubWFwKChtZXNzYWdlKSA9PiB7XG4gICAgICBpZiAoJ2Zyb21BZGRyZXNzJyBpbiBtZXNzYWdlLnZhbHVlICYmICd0b0FkZHJlc3MnIGluIG1lc3NhZ2UudmFsdWUpIHtcbiAgICAgICAgY29uc3Qgc2VuZE1lc3NhZ2UgPSBtZXNzYWdlLnZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGRlY29kZWRGcm9tID1cbiAgICAgICAgICB0eXBlb2Ygc2VuZE1lc3NhZ2UuZnJvbUFkZHJlc3MgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICA/IGJlY2gzMi5kZWNvZGUoc2VuZE1lc3NhZ2UuZnJvbUFkZHJlc3MpLmRhdGFcbiAgICAgICAgICAgIDogc2VuZE1lc3NhZ2UuZnJvbUFkZHJlc3M7XG4gICAgICAgIGNvbnN0IGRlY29kZWRUbyA9XG4gICAgICAgICAgdHlwZW9mIHNlbmRNZXNzYWdlLnRvQWRkcmVzcyA9PT0gJ3N0cmluZycgPyBiZWNoMzIuZGVjb2RlKHNlbmRNZXNzYWdlLnRvQWRkcmVzcykuZGF0YSA6IHNlbmRNZXNzYWdlLnRvQWRkcmVzcztcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLm1lc3NhZ2UsXG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIC4uLnNlbmRNZXNzYWdlLFxuICAgICAgICAgICAgZnJvbUFkZHJlc3M6IGRlY29kZWRGcm9tLFxuICAgICAgICAgICAgdG9BZGRyZXNzOiBkZWNvZGVkVG8sXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVUcmFuc2FjdGlvbihcbiAgICBzZXF1ZW5jZTogbnVtYmVyLFxuICAgIG1lc3NhZ2VzOiBNZXNzYWdlRGF0YVtdLFxuICAgIGdhc0J1ZGdldDogRmVlRGF0YSxcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmcsXG4gICAgbWVtbz86IHN0cmluZ1xuICApOiBDb3Ntb3NMaWtlVHJhbnNhY3Rpb24ge1xuICAgIG1lc3NhZ2VzID0gdGhpcy5jb252ZXJ0TWVzc2FnZUFkZHJlc3NUb1VpbnQ4QXJyYXkobWVzc2FnZXMpO1xuICAgIGNvbnN0IGNvc21vc0xpa2VUeG4gPSB7XG4gICAgICBzZXF1ZW5jZTogc2VxdWVuY2UsXG4gICAgICBzZW5kTWVzc2FnZXM6IG1lc3NhZ2VzLFxuICAgICAgZ2FzQnVkZ2V0OiBnYXNCdWRnZXQsXG4gICAgICBwdWJsaWNLZXk6IHB1YmxpY0tleSxcbiAgICAgIG1lbW86IG1lbW8sXG4gICAgfTtcbiAgICB0aGlzLnZhbGlkYXRlVHJhbnNhY3Rpb24oY29zbW9zTGlrZVR4bik7XG4gICAgcmV0dXJuIGNvc21vc0xpa2VUeG47XG4gIH1cblxuICBnZXROZXR3b3JrUHJlZml4KCkge1xuICAgIHJldHVybiB0aGlzLm5ldHdvcmtUeXBlID09PSBOZXR3b3JrVHlwZS5URVNUTkVUXG4gICAgICA/IE5ldHdvcmtzLnRlc3QucnVuZS5hZGRyZXNzUHJlZml4XG4gICAgICA6IE5ldHdvcmtzLm1haW4ucnVuZS5hZGRyZXNzUHJlZml4O1xuICB9XG59XG5cbmNvbnN0IHJ1bmVVdGlscyA9IG5ldyBSdW5lVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgcnVuZVV0aWxzO1xuIl19
|
package/dist/src/rune.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rune.d.ts","sourceRoot":"","sources":["../../src/rune.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,4BAA4B,EAG5B,gBAAgB,EAChB,eAAe,EAEhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,QAAQ,EACR,SAAS,EAKT,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAW,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,qBAAa,IAAK,SAAQ,UAAU;IAClC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAS/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,mBAAmB;IACnB,UAAU,IAAI,yBAAyB;IAIvC;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,mBAAmB;IACnB,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,mBAAmB;IACnB,eAAe,IAAI,MAAM;IAIzB,mBAAmB;IACnB,mBAAmB,IAAI,gBAAgB;IAOvC,mBAAmB;IACnB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAI5C,mBAAmB;IACnB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI5C,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0C3E,oBAAoB,IAAI,MAAM;IAI9B;;;;;;;OAOG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"rune.d.ts","sourceRoot":"","sources":["../../src/rune.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,4BAA4B,EAG5B,gBAAgB,EAChB,eAAe,EAEhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,QAAQ,EACR,SAAS,EAKT,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAW,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,qBAAa,IAAK,SAAQ,UAAU;IAClC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC3D,SAAS,aAAa,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC;IAS/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,QAAQ;IAI1F,mBAAmB;IACnB,UAAU,IAAI,yBAAyB;IAIvC;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIxC,mBAAmB;IACnB,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,mBAAmB;IACnB,eAAe,IAAI,MAAM;IAIzB,mBAAmB;IACnB,mBAAmB,IAAI,gBAAgB;IAOvC,mBAAmB;IACnB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAI5C,mBAAmB;IACnB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI5C,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0C3E,oBAAoB,IAAI,MAAM;IAI9B;;;;;;;OAOG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,4BAA4B,CAAC;CA4F9E"}
|
package/dist/src/rune.js
CHANGED
|
@@ -158,7 +158,7 @@ class Rune extends abstract_cosmos_1.CosmosCoin {
|
|
|
158
158
|
// Step 2: Fetch the bitgo key from params
|
|
159
159
|
const userKey = params.userKey.replace(/\s/g, '');
|
|
160
160
|
const backupKey = params.backupKey.replace(/\s/g, '');
|
|
161
|
-
const { userKeyShare, backupKeyShare, commonKeyChain } = await sdk_core_1.ECDSAUtils.getMpcV2RecoveryKeyShares(userKey, backupKey, params.walletPassphrase); // baseAddress is not extracted
|
|
161
|
+
const { userKeyShare, backupKeyShare, commonKeyChain } = await sdk_core_1.ECDSAUtils.getMpcV2RecoveryKeyShares(userKey, backupKey, params.walletPassphrase, this.bitgo); // baseAddress is not extracted
|
|
162
162
|
// Step 3: Instantiate the ECDSA signer and fetch the address details
|
|
163
163
|
const MPC = new sdk_core_1.Ecdsa();
|
|
164
164
|
const chainId = await this.getChainId();
|
|
@@ -216,4 +216,4 @@ class Rune extends abstract_cosmos_1.CosmosCoin {
|
|
|
216
216
|
}
|
|
217
217
|
}
|
|
218
218
|
exports.Rune = Rune;
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQVNxQztBQUNyQyxtREFROEI7QUFDOUIsaURBQW1GO0FBQ25GLCtCQUEyRDtBQUMzRCwrQ0FBOEU7QUFDOUUsdUNBQXdDO0FBQ3hDLCtDQUF5QztBQUN6QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDeEMsMENBQTRCO0FBRTVCLG1DQUFvQztBQUVwQyxNQUFhLElBQUssU0FBUSw0QkFBVTtJQUdsQyxZQUFzQixLQUFnQixFQUFFLFdBQXVDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlCQUFTLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVTtRQUNSLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNsQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FB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QTZNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvc21vc0NvaW4sXG4gIENvc21vc0tleVBhaXIsXG4gIENvc21vc0xpa2VDb2luUmVjb3ZlcnlPdXRwdXQsXG4gIENvc21vc1RyYW5zYWN0aW9uLFxuICBGZWVEYXRhLFxuICBHYXNBbW91bnREZXRhaWxzLFxuICBSZWNvdmVyeU9wdGlvbnMsXG4gIFNlbmRNZXNzYWdlLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1jb3Ntb3MnO1xuaW1wb3J0IHtcbiAgQmFzZUNvaW4sXG4gIEJpdEdvQmFzZSxcbiAgRWNkc2EsXG4gIEVDRFNBVXRpbHMsXG4gIEVudmlyb25tZW50cyxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuICBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIFN0YXRpY3NCYXNlQ29pbiwgQmFzZVVuaXQsIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBLZXlQYWlyLCBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9saWInO1xuaW1wb3J0IHsgR0FTX0FNT1VOVCwgR0FTX0xJTUlULCBSVU5FX0ZFRVMsIFJPT1RfUEFUSCB9IGZyb20gJy4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSdW5lVXRpbHMgfSBmcm9tICcuL2xpYi91dGlscyc7XG5pbXBvcnQgeyBCaWdOdW1iZXIgfSBmcm9tICdiaWdudW1iZXIuanMnO1xuY29uc3QgYmVjaDMyID0gcmVxdWlyZSgnYmVjaDMyLWJ1ZmZlcicpO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ29pbiB9IGZyb20gJ0Bjb3NtanMvc3RhcmdhdGUnO1xuaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5cbmV4cG9ydCBjbGFzcyBSdW5lIGV4dGVuZHMgQ29zbW9zQ29pbiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBfdXRpbHM6IFJ1bmVVdGlscztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zdGF0aWNzQ29pbjogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPjtcbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gICAgaWYgKCFzdGF0aWNzQ29pbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIGNvbnN0cnVjdG9yIHBhcmFtZXRlciBzdGF0aWNzQ29pbicpO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICAgIHRoaXMuX3V0aWxzID0gbmV3IFJ1bmVVdGlscygpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPik6IEJhc2VDb2luIHtcbiAgICByZXR1cm4gbmV3IFJ1bmUoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0QnVpbGRlcigpOiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZhY3RvciBiZXR3ZWVuIHRoZSBjb2luJ3MgYmFzZSB1bml0IGFuZCBpdHMgc21hbGxlc3Qgc3ViZGl2aXNvblxuICAgKi9cbiAgcHVibGljIGdldEJhc2VGYWN0b3IoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMWU4O1xuICB9XG5cbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3V0aWxzLmlzVmFsaWRBZGRyZXNzKGFkZHJlc3MpIHx8IHRoaXMuX3V0aWxzLmlzVmFsaWRWYWxpZGF0b3JBZGRyZXNzKGFkZHJlc3MpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBwcm90ZWN0ZWQgZ2V0UHVibGljTm9kZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBFbnZpcm9ubWVudHNbdGhpcy5iaXRnby5nZXRFbnYoKV0ucnVuZU5vZGVVcmw7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldERlbm9taW5hdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBCYXNlVW5pdC5SVU5FO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXRHYXNBbW91bnREZXRhaWxzKCk6IEdhc0Ftb3VudERldGFpbHMge1xuICAgIHJldHVybiB7XG4gICAgICBnYXNBbW91bnQ6IEdBU19BTU9VTlQsXG4gICAgICBnYXNMaW1pdDogR0FTX0xJTUlULFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEtleVBhaXIocHVibGljS2V5OiBzdHJpbmcpOiBDb3Ntb3NLZXlQYWlyIHtcbiAgICByZXR1cm4gbmV3IEtleVBhaXIoeyBwdWI6IHB1YmxpY0tleSB9KTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0QWRkcmVzc0Zyb21QdWJsaWNLZXkocHVibGljS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBuZXcgS2V5UGFpcih7IHB1YjogcHVibGljS2V5IH0pLmdldEFkZHJlc3MoKTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeVRyYW5zYWN0aW9uKHBhcmFtczogVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgbGV0IHRvdGFsQW1vdW50ID0gbmV3IEJpZ051bWJlcigwKTtcbiAgICBjb25zdCB7IHR4UHJlYnVpbGQsIHR4UGFyYW1zIH0gPSBwYXJhbXM7XG4gICAgY29uc3QgcmF3VHggPSB0eFByZWJ1aWxkLnR4SGV4O1xuICAgIGlmICghcmF3VHgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCB0eCBwcmVidWlsZCBwcm9wZXJ0eSB0eEhleCcpO1xuICAgIH1cbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGF3YWl0IHRoaXMuZ2V0QnVpbGRlcigpLmZyb20ocmF3VHgpLmJ1aWxkKCk7XG4gICAgY29uc3QgZXhwbGFpbmVkVHggPSB0cmFuc2FjdGlvbi5leHBsYWluVHJhbnNhY3Rpb24oKTtcblxuICAgIGlmICh0eFBhcmFtcy5yZWNpcGllbnRzICYmIHR4UGFyYW1zLnJlY2lwaWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZmlsdGVyZWRSZWNpcGllbnRzID0gdHhQYXJhbXMucmVjaXBpZW50cy5tYXAoKHJlY2lwaWVudCkgPT4gKHtcbiAgICAgICAgYWRkcmVzczogdGhpcy5nZXRBZGRyZXNzRGV0YWlscyhyZWNpcGllbnQuYWRkcmVzcykuYWRkcmVzcyxcbiAgICAgICAgYW1vdW50OiByZWNpcGllbnQuYW1vdW50LFxuICAgICAgfSkpO1xuICAgICAgbGV0IGZpbHRlcmVkT3V0cHV0cyA9IGV4cGxhaW5lZFR4Lm91dHB1dHMubWFwKChvdXRwdXQpID0+IF8ucGljayhvdXRwdXQsIFsnYWRkcmVzcycsICdhbW91bnQnXSkpO1xuXG4gICAgICBmaWx0ZXJlZE91dHB1dHMgPSBmaWx0ZXJlZE91dHB1dHMubWFwKChvdXRwdXQpID0+IHtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gdGhpcy5fdXRpbHMuZ2V0TmV0d29ya1ByZWZpeCgpO1xuICAgICAgICBjb25zdCBjb252ZXJ0ZWRBZGRyZXNzID0gYmVjaDMyLmVuY29kZShwcmVmaXgsIG91dHB1dC5hZGRyZXNzKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgICAgYWRkcmVzczogY29udmVydGVkQWRkcmVzcyxcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIV8uaXNFcXVhbChmaWx0ZXJlZE91dHB1dHMsIGZpbHRlcmVkUmVjaXBpZW50cykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUeCBvdXRwdXRzIGRvZXMgbm90IG1hdGNoIHdpdGggZXhwZWN0ZWQgdHhQYXJhbXMgcmVjaXBpZW50cycpO1xuICAgICAgfVxuICAgICAgLy8gV2l0aGRyYXdEZWxlZ2F0b3JSZXdhcmRzIGFuZCBDb250cmFjdENhbGwgdHJhbnNhY3Rpb24gZG9uJ3QgaGF2ZSBhbW91bnRcbiAgICAgIGlmICh0cmFuc2FjdGlvbi50eXBlICE9PSBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3ICYmIHRyYW5zYWN0aW9uLnR5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5Db250cmFjdENhbGwpIHtcbiAgICAgICAgZm9yIChjb25zdCByZWNpcGllbnRzIG9mIHR4UGFyYW1zLnJlY2lwaWVudHMpIHtcbiAgICAgICAgICB0b3RhbEFtb3VudCA9IHRvdGFsQW1vdW50LnBsdXMocmVjaXBpZW50cy5hbW91bnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdG90YWxBbW91bnQuaXNFcXVhbFRvKGV4cGxhaW5lZFR4Lm91dHB1dEFtb3VudCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IHRvdGFsIGFtb3VudCBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHRvdGFsIGFtb3VudCBmaWVsZCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0TmF0aXZlUnVuZVR4bkZlZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gUlVORV9GRUVTO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gaXMgb3ZlcnJpZGRlbiBmcm9tIENvc21vc0NvaW4gY2xhc3MnIHJlY292ZXIgZnVuY3Rpb24gZHVlIHRvIHRoZSBkaWZmZXJlbmNlIGluIGZlZXMgaGFuZGxpbmcgaW4gdGhvcmNoYWluXG4gICAqIEBwYXJhbSB7UmVjb3ZlcnlPcHRpb25zfSBwYXJhbXMgcGFyYW1ldGVycyBuZWVkZWQgdG8gY29uc3RydWN0IGFuZFxuICAgKiAobWF5YmUpIHNpZ24gdGhlIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEByZXR1cm5zIHtDb3Ntb3NMaWtlQ29pblJlY292ZXJ5T3V0cHV0fSB0aGUgc2VyaWFsaXplZCB0cmFuc2FjdGlvbiBoZXggc3RyaW5nIGFuZCBpbmRleFxuICAgKiBvZiB0aGUgYWRkcmVzcyBiZWluZyBzd2VwdFxuICAgKi9cbiAgYXN5bmMgcmVjb3ZlcihwYXJhbXM6IFJlY292ZXJ5T3B0aW9ucyk6IFByb21pc2U8Q29zbW9zTGlrZUNvaW5SZWNvdmVyeU91dHB1dD4ge1xuICAgIC8vIFN0ZXAgMTogQ2hlY2sgaWYgcGFyYW1zIGNvbnRhaW5zIHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJzXG5cbiAgICBpZiAoIXBhcmFtcy5yZWNvdmVyeURlc3RpbmF0aW9uIHx8ICF0aGlzLmlzVmFsaWRBZGRyZXNzKHBhcmFtcy5yZWNvdmVyeURlc3RpbmF0aW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHJlY292ZXJ5RGVzdGluYXRpb24nKTtcbiAgICB9XG5cbiAgICBpZiAoIXBhcmFtcy51c2VyS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgdXNlcktleScpO1xuICAgIH1cblxuICAgIGlmICghcGFyYW1zLmJhY2t1cEtleSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIGJhY2t1cEtleScpO1xuICAgIH1cblxuICAgIGlmICghcGFyYW1zLndhbGxldFBhc3NwaHJhc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyB3YWxsZXQgcGFzc3BocmFzZScpO1xuICAgIH1cblxuICAgIC8vIFN0ZXAgMjogRmV0Y2ggdGhlIGJpdGdvIGtleSBmcm9tIHBhcmFtc1xuICAgIGNvbnN0IHVzZXJLZXkgPSBwYXJhbXMudXNlcktleS5yZXBsYWNlKC9cXHMvZywgJycpO1xuICAgIGNvbnN0IGJhY2t1cEtleSA9IHBhcmFtcy5iYWNrdXBLZXkucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIGNvbnN0IHsgdXNlcktleVNoYXJlLCBiYWNrdXBLZXlTaGFyZSwgY29tbW9uS2V5Q2hhaW4gfSA9IGF3YWl0IEVDRFNBVXRpbHMuZ2V0TXBjVjJSZWNvdmVyeUtleVNoYXJlcyhcbiAgICAgIHVzZXJLZXksXG4gICAgICBiYWNrdXBLZXksXG4gICAgICBwYXJhbXMud2FsbGV0UGFzc3BocmFzZVxuICAgICk7IC8vIGJhc2VBZGRyZXNzIGlzIG5vdCBleHRyYWN0ZWRcbiAgICAvLyBTdGVwIDM6IEluc3RhbnRpYXRlIHRoZSBFQ0RTQSBzaWduZXIgYW5kIGZldGNoIHRoZSBhZGRyZXNzIGRldGFpbHNcbiAgICBjb25zdCBNUEMgPSBuZXcgRWNkc2EoKTtcbiAgICBjb25zdCBjaGFpbklkID0gYXdhaXQgdGhpcy5nZXRDaGFpbklkKCk7XG4gICAgY29uc3QgcHVibGljS2V5ID0gTVBDLmRlcml2ZVVuaGFyZGVuZWQoY29tbW9uS2V5Q2hhaW4sIFJPT1RfUEFUSCkuc2xpY2UoMCwgNjYpO1xuICAgIGNvbnN0IHNlbmRlckFkZHJlc3MgPSB0aGlzLmdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YmxpY0tleSk7XG5cbiAgICAvLyBTdGVwIDQ6IEZldGNoIGFjY291bnQgZGV0YWlscyBzdWNoIGFzIGFjY291bnRObywgYmFsYW5jZSBhbmQgY2hlY2sgZm9yIHN1ZmZpY2llbnQgZnVuZHMgb25jZSBnYXNBbW91bnQgaGFzIGJlZW4gZGVkdWN0ZWRcbiAgICBjb25zdCBbYWNjb3VudE51bWJlciwgc2VxdWVuY2VOb10gPSBhd2FpdCB0aGlzLmdldEFjY291bnREZXRhaWxzKHNlbmRlckFkZHJlc3MpO1xuICAgIGNvbnN0IGJhbGFuY2VzID0gYXdhaXQgdGhpcy5nZXRBY2NvdW50QmFsYW5jZShzZW5kZXJBZGRyZXNzKTtcbiAgICBjb25zdCBiYWxhbmNlID0gbmV3IEJpZ051bWJlcihiYWxhbmNlc1swXS5hbW91bnQpO1xuICAgIGNvbnN0IGdhc0J1ZGdldDogRmVlRGF0YSA9IHtcbiAgICAgIGFtb3VudDogW3sgZGVub206IHRoaXMuZ2V0RGVub21pbmF0aW9uKCksIGFtb3VudDogdGhpcy5nZXRHYXNBbW91bnREZXRhaWxzKCkuZ2FzQW1vdW50IH1dLFxuICAgICAgZ2FzTGltaXQ6IHRoaXMuZ2V0R2FzQW1vdW50RGV0YWlscygpLmdhc0xpbWl0LFxuICAgIH07XG4gICAgY29uc3QgYWN0dWFsQmFsYW5jZSA9IGJhbGFuY2UubWludXModGhpcy5nZXROYXRpdmVSdW5lVHhuRmVlcygpKTtcblxuICAgIGlmIChhY3R1YWxCYWxhbmNlLmlzTGVzc1RoYW5PckVxdWFsVG8oMCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRGlkIG5vdCBoYXZlIGVub3VnaCBmdW5kcyB0byByZWNvdmVyJyk7XG4gICAgfVxuXG4gICAgLy8gU3RlcCA1OiBPbmNlIHN1ZmZpY2llbnQgZnVuZHMgYXJlIHByZXNlbnQsIGNvbnN0cnVjdCB0aGUgcmVjb3ZlciB0eCBtZXNzc2FnZVxuICAgIGNvbnN0IGFtb3VudDogQ29pbltdID0gW1xuICAgICAge1xuICAgICAgICBkZW5vbTogdGhpcy5nZXREZW5vbWluYXRpb24oKSxcbiAgICAgICAgYW1vdW50OiBhY3R1YWxCYWxhbmNlLnRvRml4ZWQoKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgICBjb25zdCBzZW5kTWVzc2FnZTogU2VuZE1lc3NhZ2VbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgZnJvbUFkZHJlc3M6IHNlbmRlckFkZHJlc3MsXG4gICAgICAgIHRvQWRkcmVzczogcGFyYW1zLnJlY292ZXJ5RGVzdGluYXRpb24sXG4gICAgICAgIGFtb3VudDogYW1vdW50LFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgLy8gU3RlcCA2OiBCdWlsZCB0aGUgdW5zaWduZWQgdHggdXNpbmcgdGhlIGNvbnN0cnVjdGVkIG1lc3NhZ2VcbiAgICBjb25zdCB0eG5CdWlsZGVyID0gdGhpcy5nZXRCdWlsZGVyKCkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgdHhuQnVpbGRlclxuICAgICAgLm1lc3NhZ2VzKHNlbmRNZXNzYWdlKVxuICAgICAgLmdhc0J1ZGdldChnYXNCdWRnZXQpXG4gICAgICAucHVibGljS2V5KHB1YmxpY0tleSlcbiAgICAgIC5zZXF1ZW5jZShOdW1iZXIoc2VxdWVuY2VObykpXG4gICAgICAuYWNjb3VudE51bWJlcihOdW1iZXIoYWNjb3VudE51bWJlcikpXG4gICAgICAuY2hhaW5JZChjaGFpbklkKTtcbiAgICBjb25zdCB1bnNpZ25lZFRyYW5zYWN0aW9uID0gKGF3YWl0IHR4bkJ1aWxkZXIuYnVpbGQoKSkgYXMgQ29zbW9zVHJhbnNhY3Rpb247XG4gICAgbGV0IHNlcmlhbGl6ZWRUeCA9IHVuc2lnbmVkVHJhbnNhY3Rpb24udG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICBjb25zdCBzaWduYWJsZUhleCA9IHVuc2lnbmVkVHJhbnNhY3Rpb24uc2lnbmFibGVQYXlsb2FkLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIC8vIFN0ZXAgNzogU2lnbiB0aGUgdHhcbiAgICBjb25zdCBtZXNzYWdlID0gdW5zaWduZWRUcmFuc2FjdGlvbi5zaWduYWJsZVBheWxvYWQ7XG4gICAgY29uc3QgbWVzc2FnZUhhc2ggPSBjcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUobWVzc2FnZSkuZGlnZXN0KCk7XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCBFQ0RTQVV0aWxzLnNpZ25SZWNvdmVyeU1wY1YyKG1lc3NhZ2VIYXNoLCB1c2VyS2V5U2hhcmUsIGJhY2t1cEtleVNoYXJlLCBjb21tb25LZXlDaGFpbik7XG5cbiAgICBjb25zdCBzaWduYWJsZUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHNpZ25hYmxlSGV4LCAnaGV4Jyk7XG4gICAgTVBDLnZlcmlmeShzaWduYWJsZUJ1ZmZlciwgc2lnbmF0dXJlLCB0aGlzLmdldEhhc2hGdW5jdGlvbigpKTtcbiAgICBjb25zdCBjb3Ntb3NLZXlQYWlyID0gdGhpcy5nZXRLZXlQYWlyKHB1YmxpY0tleSk7XG4gICAgdHhuQnVpbGRlci5hZGRTaWduYXR1cmUoeyBwdWI6IGNvc21vc0tleVBhaXIuZ2V0S2V5cygpLnB1YiB9LCBCdWZmZXIuZnJvbShzaWduYXR1cmUuciArIHNpZ25hdHVyZS5zLCAnaGV4JykpO1xuICAgIGNvbnN0IHNpZ25lZFRyYW5zYWN0aW9uID0gYXdhaXQgdHhuQnVpbGRlci5idWlsZCgpO1xuICAgIHNlcmlhbGl6ZWRUeCA9IHNpZ25lZFRyYW5zYWN0aW9uLnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG5cbiAgICByZXR1cm4geyBzZXJpYWxpemVkVHg6IHNlcmlhbGl6ZWRUeCB9O1xuICB9XG59XG4iXX0=
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlFQVNxQztBQUNyQyxtREFROEI7QUFDOUIsaURBQW1GO0FBQ25GLCtCQUEyRDtBQUMzRCwrQ0FBOEU7QUFDOUUsdUNBQXdDO0FBQ3hDLCtDQUF5QztBQUN6QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDeEMsMENBQTRCO0FBRTVCLG1DQUFvQztBQUVwQyxNQUFhLElBQUssU0FBUSw0QkFBVTtJQUdsQyxZQUFzQixLQUFnQixFQUFFLFdBQXVDO1FBQzdFLEtBQUssQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlCQUFTLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQixFQUFFLFdBQXVDO1FBQzdFLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxtQkFBbUI7SUFDbkIsVUFBVTtRQUNSLE9BQU8sSUFBSSwrQkFBeUIsQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNsQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FB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QyxDQUFDO0NBQ0Y7QUE5TUQsb0JBOE1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29zbW9zQ29pbixcbiAgQ29zbW9zS2V5UGFpcixcbiAgQ29zbW9zTGlrZUNvaW5SZWNvdmVyeU91dHB1dCxcbiAgQ29zbW9zVHJhbnNhY3Rpb24sXG4gIEZlZURhdGEsXG4gIEdhc0Ftb3VudERldGFpbHMsXG4gIFJlY292ZXJ5T3B0aW9ucyxcbiAgU2VuZE1lc3NhZ2UsXG59IGZyb20gJ0BiaXRnby1iZXRhL2Fic3RyYWN0LWNvc21vcyc7XG5pbXBvcnQge1xuICBCYXNlQ29pbixcbiAgQml0R29CYXNlLFxuICBFY2RzYSxcbiAgRUNEU0FVdGlscyxcbiAgRW52aXJvbm1lbnRzLFxuICBUcmFuc2FjdGlvblR5cGUsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBCYXNlVW5pdCwgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEtleVBhaXIsIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyBHQVNfQU1PVU5ULCBHQVNfTElNSVQsIFJVTkVfRkVFUywgUk9PVF9QQVRIIH0gZnJvbSAnLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IFJ1bmVVdGlscyB9IGZyb20gJy4vbGliL3V0aWxzJztcbmltcG9ydCB7IEJpZ051bWJlciB9IGZyb20gJ2JpZ251bWJlci5qcyc7XG5jb25zdCBiZWNoMzIgPSByZXF1aXJlKCdiZWNoMzItYnVmZmVyJyk7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDb2luIH0gZnJvbSAnQGNvc21qcy9zdGFyZ2F0ZSc7XG5pbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnY3J5cHRvJztcblxuZXhwb3J0IGNsYXNzIFJ1bmUgZXh0ZW5kcyBDb3Ntb3NDb2luIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF91dGlsczogUnVuZVV0aWxzO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KSB7XG4gICAgc3VwZXIoYml0Z28sIHN0YXRpY3NDb2luKTtcbiAgICBpZiAoIXN0YXRpY3NDb2luKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgY29uc3RydWN0b3IgcGFyYW1ldGVyIHN0YXRpY3NDb2luJyk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRpY3NDb2luID0gc3RhdGljc0NvaW47XG4gICAgdGhpcy5fdXRpbHMgPSBuZXcgUnVuZVV0aWxzKCk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoYml0Z286IEJpdEdvQmFzZSwgc3RhdGljc0NvaW4/OiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+KTogQmFzZUNvaW4ge1xuICAgIHJldHVybiBuZXcgUnVuZShiaXRnbywgc3RhdGljc0NvaW4pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXRCdWlsZGVyKCk6IFRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnkge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeShjb2lucy5nZXQodGhpcy5nZXRDaGFpbigpKSk7XG4gIH1cblxuICAvKipcbiAgICogRmFjdG9yIGJldHdlZW4gdGhlIGNvaW4ncyBiYXNlIHVuaXQgYW5kIGl0cyBzbWFsbGVzdCBzdWJkaXZpc29uXG4gICAqL1xuICBwdWJsaWMgZ2V0QmFzZUZhY3RvcigpOiBudW1iZXIge1xuICAgIHJldHVybiAxZTg7XG4gIH1cblxuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdXRpbHMuaXNWYWxpZEFkZHJlc3MoYWRkcmVzcykgfHwgdGhpcy5fdXRpbHMuaXNWYWxpZFZhbGlkYXRvckFkZHJlc3MoYWRkcmVzcyk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIHByb3RlY3RlZCBnZXRQdWJsaWNOb2RlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEVudmlyb25tZW50c1t0aGlzLmJpdGdvLmdldEVudigpXS5ydW5lTm9kZVVybDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0RGVub21pbmF0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEJhc2VVbml0LlJVTkU7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKiovXG4gIGdldEdhc0Ftb3VudERldGFpbHMoKTogR2FzQW1vdW50RGV0YWlscyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdhc0Ftb3VudDogR0FTX0FNT1VOVCxcbiAgICAgIGdhc0xpbWl0OiBHQVNfTElNSVQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqKi9cbiAgZ2V0S2V5UGFpcihwdWJsaWNLZXk6IHN0cmluZyk6IENvc21vc0tleVBhaXIge1xuICAgIHJldHVybiBuZXcgS2V5UGFpcih7IHB1YjogcHVibGljS2V5IH0pO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICoqL1xuICBnZXRBZGRyZXNzRnJvbVB1YmxpY0tleShwdWJsaWNLZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5ldyBLZXlQYWlyKHsgcHViOiBwdWJsaWNLZXkgfSkuZ2V0QWRkcmVzcygpO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5VHJhbnNhY3Rpb24ocGFyYW1zOiBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBsZXQgdG90YWxBbW91bnQgPSBuZXcgQmlnTnVtYmVyKDApO1xuICAgIGNvbnN0IHsgdHhQcmVidWlsZCwgdHhQYXJhbXMgfSA9IHBhcmFtcztcbiAgICBjb25zdCByYXdUeCA9IHR4UHJlYnVpbGQudHhIZXg7XG4gICAgaWYgKCFyYXdUeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHR4IHByZWJ1aWxkIHByb3BlcnR5IHR4SGV4Jyk7XG4gICAgfVxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgdGhpcy5nZXRCdWlsZGVyKCkuZnJvbShyYXdUeCkuYnVpbGQoKTtcbiAgICBjb25zdCBleHBsYWluZWRUeCA9IHRyYW5zYWN0aW9uLmV4cGxhaW5UcmFuc2FjdGlvbigpO1xuXG4gICAgaWYgKHR4UGFyYW1zLnJlY2lwaWVudHMgJiYgdHhQYXJhbXMucmVjaXBpZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaWx0ZXJlZFJlY2lwaWVudHMgPSB0eFBhcmFtcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiAoe1xuICAgICAgICBhZGRyZXNzOiB0aGlzLmdldEFkZHJlc3NEZXRhaWxzKHJlY2lwaWVudC5hZGRyZXNzKS5hZGRyZXNzLFxuICAgICAgICBhbW91bnQ6IHJlY2lwaWVudC5hbW91bnQsXG4gICAgICB9KSk7XG4gICAgICBsZXQgZmlsdGVyZWRPdXRwdXRzID0gZXhwbGFpbmVkVHgub3V0cHV0cy5tYXAoKG91dHB1dCkgPT4gXy5waWNrKG91dHB1dCwgWydhZGRyZXNzJywgJ2Ftb3VudCddKSk7XG5cbiAgICAgIGZpbHRlcmVkT3V0cHV0cyA9IGZpbHRlcmVkT3V0cHV0cy5tYXAoKG91dHB1dCkgPT4ge1xuICAgICAgICBjb25zdCBwcmVmaXggPSB0aGlzLl91dGlscy5nZXROZXR3b3JrUHJlZml4KCk7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZEFkZHJlc3MgPSBiZWNoMzIuZW5jb2RlKHByZWZpeCwgb3V0cHV0LmFkZHJlc3MpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLm91dHB1dCxcbiAgICAgICAgICBhZGRyZXNzOiBjb252ZXJ0ZWRBZGRyZXNzLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIGlmICghXy5pc0VxdWFsKGZpbHRlcmVkT3V0cHV0cywgZmlsdGVyZWRSZWNpcGllbnRzKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IG91dHB1dHMgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyByZWNpcGllbnRzJyk7XG4gICAgICB9XG4gICAgICAvLyBXaXRoZHJhd0RlbGVnYXRvclJld2FyZHMgYW5kIENvbnRyYWN0Q2FsbCB0cmFuc2FjdGlvbiBkb24ndCBoYXZlIGFtb3VudFxuICAgICAgaWYgKHRyYW5zYWN0aW9uLnR5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5TdGFraW5nV2l0aGRyYXcgJiYgdHJhbnNhY3Rpb24udHlwZSAhPT0gVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbCkge1xuICAgICAgICBmb3IgKGNvbnN0IHJlY2lwaWVudHMgb2YgdHhQYXJhbXMucmVjaXBpZW50cykge1xuICAgICAgICAgIHRvdGFsQW1vdW50ID0gdG90YWxBbW91bnQucGx1cyhyZWNpcGllbnRzLmFtb3VudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0b3RhbEFtb3VudC5pc0VxdWFsVG8oZXhwbGFpbmVkVHgub3V0cHV0QW1vdW50KSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVHggdG90YWwgYW1vdW50IGRvZXMgbm90IG1hdGNoIHdpdGggZXhwZWN0ZWQgdG90YWwgYW1vdW50IGZpZWxkJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXROYXRpdmVSdW5lVHhuRmVlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBSVU5FX0ZFRVM7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBmdW5jdGlvbiBpcyBvdmVycmlkZGVuIGZyb20gQ29zbW9zQ29pbiBjbGFzcycgcmVjb3ZlciBmdW5jdGlvbiBkdWUgdG8gdGhlIGRpZmZlcmVuY2UgaW4gZmVlcyBoYW5kbGluZyBpbiB0aG9yY2hhaW5cbiAgICogQHBhcmFtIHtSZWNvdmVyeU9wdGlvbnN9IHBhcmFtcyBwYXJhbWV0ZXJzIG5lZWRlZCB0byBjb25zdHJ1Y3QgYW5kXG4gICAqIChtYXliZSkgc2lnbiB0aGUgdHJhbnNhY3Rpb25cbiAgICpcbiAgICogQHJldHVybnMge0Nvc21vc0xpa2VDb2luUmVjb3ZlcnlPdXRwdXR9IHRoZSBzZXJpYWxpemVkIHRyYW5zYWN0aW9uIGhleCBzdHJpbmcgYW5kIGluZGV4XG4gICAqIG9mIHRoZSBhZGRyZXNzIGJlaW5nIHN3ZXB0XG4gICAqL1xuICBhc3luYyByZWNvdmVyKHBhcmFtczogUmVjb3ZlcnlPcHRpb25zKTogUHJvbWlzZTxDb3Ntb3NMaWtlQ29pblJlY292ZXJ5T3V0cHV0PiB7XG4gICAgLy8gU3RlcCAxOiBDaGVjayBpZiBwYXJhbXMgY29udGFpbnMgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnNcblxuICAgIGlmICghcGFyYW1zLnJlY292ZXJ5RGVzdGluYXRpb24gfHwgIXRoaXMuaXNWYWxpZEFkZHJlc3MocGFyYW1zLnJlY292ZXJ5RGVzdGluYXRpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmVjb3ZlcnlEZXN0aW5hdGlvbicpO1xuICAgIH1cblxuICAgIGlmICghcGFyYW1zLnVzZXJLZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyB1c2VyS2V5Jyk7XG4gICAgfVxuXG4gICAgaWYgKCFwYXJhbXMuYmFja3VwS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgYmFja3VwS2V5Jyk7XG4gICAgfVxuXG4gICAgaWYgKCFwYXJhbXMud2FsbGV0UGFzc3BocmFzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHdhbGxldCBwYXNzcGhyYXNlJyk7XG4gICAgfVxuXG4gICAgLy8gU3RlcCAyOiBGZXRjaCB0aGUgYml0Z28ga2V5IGZyb20gcGFyYW1zXG4gICAgY29uc3QgdXNlcktleSA9IHBhcmFtcy51c2VyS2V5LnJlcGxhY2UoL1xccy9nLCAnJyk7XG4gICAgY29uc3QgYmFja3VwS2V5ID0gcGFyYW1zLmJhY2t1cEtleS5yZXBsYWNlKC9cXHMvZywgJycpO1xuXG4gICAgY29uc3QgeyB1c2VyS2V5U2hhcmUsIGJhY2t1cEtleVNoYXJlLCBjb21tb25LZXlDaGFpbiB9ID0gYXdhaXQgRUNEU0FVdGlscy5nZXRNcGNWMlJlY292ZXJ5S2V5U2hhcmVzKFxuICAgICAgdXNlcktleSxcbiAgICAgIGJhY2t1cEtleSxcbiAgICAgIHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlLFxuICAgICAgdGhpcy5iaXRnb1xuICAgICk7IC8vIGJhc2VBZGRyZXNzIGlzIG5vdCBleHRyYWN0ZWRcbiAgICAvLyBTdGVwIDM6IEluc3RhbnRpYXRlIHRoZSBFQ0RTQSBzaWduZXIgYW5kIGZldGNoIHRoZSBhZGRyZXNzIGRldGFpbHNcbiAgICBjb25zdCBNUEMgPSBuZXcgRWNkc2EoKTtcbiAgICBjb25zdCBjaGFpbklkID0gYXdhaXQgdGhpcy5nZXRDaGFpbklkKCk7XG4gICAgY29uc3QgcHVibGljS2V5ID0gTVBDLmRlcml2ZVVuaGFyZGVuZWQoY29tbW9uS2V5Q2hhaW4sIFJPT1RfUEFUSCkuc2xpY2UoMCwgNjYpO1xuICAgIGNvbnN0IHNlbmRlckFkZHJlc3MgPSB0aGlzLmdldEFkZHJlc3NGcm9tUHVibGljS2V5KHB1YmxpY0tleSk7XG5cbiAgICAvLyBTdGVwIDQ6IEZldGNoIGFjY291bnQgZGV0YWlscyBzdWNoIGFzIGFjY291bnRObywgYmFsYW5jZSBhbmQgY2hlY2sgZm9yIHN1ZmZpY2llbnQgZnVuZHMgb25jZSBnYXNBbW91bnQgaGFzIGJlZW4gZGVkdWN0ZWRcbiAgICBjb25zdCBbYWNjb3VudE51bWJlciwgc2VxdWVuY2VOb10gPSBhd2FpdCB0aGlzLmdldEFjY291bnREZXRhaWxzKHNlbmRlckFkZHJlc3MpO1xuICAgIGNvbnN0IGJhbGFuY2VzID0gYXdhaXQgdGhpcy5nZXRBY2NvdW50QmFsYW5jZShzZW5kZXJBZGRyZXNzKTtcbiAgICBjb25zdCBiYWxhbmNlID0gbmV3IEJpZ051bWJlcihiYWxhbmNlc1swXS5hbW91bnQpO1xuICAgIGNvbnN0IGdhc0J1ZGdldDogRmVlRGF0YSA9IHtcbiAgICAgIGFtb3VudDogW3sgZGVub206IHRoaXMuZ2V0RGVub21pbmF0aW9uKCksIGFtb3VudDogdGhpcy5nZXRHYXNBbW91bnREZXRhaWxzKCkuZ2FzQW1vdW50IH1dLFxuICAgICAgZ2FzTGltaXQ6IHRoaXMuZ2V0R2FzQW1vdW50RGV0YWlscygpLmdhc0xpbWl0LFxuICAgIH07XG4gICAgY29uc3QgYWN0dWFsQmFsYW5jZSA9IGJhbGFuY2UubWludXModGhpcy5nZXROYXRpdmVSdW5lVHhuRmVlcygpKTtcblxuICAgIGlmIChhY3R1YWxCYWxhbmNlLmlzTGVzc1RoYW5PckVxdWFsVG8oMCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRGlkIG5vdCBoYXZlIGVub3VnaCBmdW5kcyB0byByZWNvdmVyJyk7XG4gICAgfVxuXG4gICAgLy8gU3RlcCA1OiBPbmNlIHN1ZmZpY2llbnQgZnVuZHMgYXJlIHByZXNlbnQsIGNvbnN0cnVjdCB0aGUgcmVjb3ZlciB0eCBtZXNzc2FnZVxuICAgIGNvbnN0IGFtb3VudDogQ29pbltdID0gW1xuICAgICAge1xuICAgICAgICBkZW5vbTogdGhpcy5nZXREZW5vbWluYXRpb24oKSxcbiAgICAgICAgYW1vdW50OiBhY3R1YWxCYWxhbmNlLnRvRml4ZWQoKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgICBjb25zdCBzZW5kTWVzc2FnZTogU2VuZE1lc3NhZ2VbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgZnJvbUFkZHJlc3M6IHNlbmRlckFkZHJlc3MsXG4gICAgICAgIHRvQWRkcmVzczogcGFyYW1zLnJlY292ZXJ5RGVzdGluYXRpb24sXG4gICAgICAgIGFtb3VudDogYW1vdW50LFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgLy8gU3RlcCA2OiBCdWlsZCB0aGUgdW5zaWduZWQgdHggdXNpbmcgdGhlIGNvbnN0cnVjdGVkIG1lc3NhZ2VcbiAgICBjb25zdCB0eG5CdWlsZGVyID0gdGhpcy5nZXRCdWlsZGVyKCkuZ2V0VHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgdHhuQnVpbGRlclxuICAgICAgLm1lc3NhZ2VzKHNlbmRNZXNzYWdlKVxuICAgICAgLmdhc0J1ZGdldChnYXNCdWRnZXQpXG4gICAgICAucHVibGljS2V5KHB1YmxpY0tleSlcbiAgICAgIC5zZXF1ZW5jZShOdW1iZXIoc2VxdWVuY2VObykpXG4gICAgICAuYWNjb3VudE51bWJlcihOdW1iZXIoYWNjb3VudE51bWJlcikpXG4gICAgICAuY2hhaW5JZChjaGFpbklkKTtcbiAgICBjb25zdCB1bnNpZ25lZFRyYW5zYWN0aW9uID0gKGF3YWl0IHR4bkJ1aWxkZXIuYnVpbGQoKSkgYXMgQ29zbW9zVHJhbnNhY3Rpb247XG4gICAgbGV0IHNlcmlhbGl6ZWRUeCA9IHVuc2lnbmVkVHJhbnNhY3Rpb24udG9Ccm9hZGNhc3RGb3JtYXQoKTtcbiAgICBjb25zdCBzaWduYWJsZUhleCA9IHVuc2lnbmVkVHJhbnNhY3Rpb24uc2lnbmFibGVQYXlsb2FkLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIC8vIFN0ZXAgNzogU2lnbiB0aGUgdHhcbiAgICBjb25zdCBtZXNzYWdlID0gdW5zaWduZWRUcmFuc2FjdGlvbi5zaWduYWJsZVBheWxvYWQ7XG4gICAgY29uc3QgbWVzc2FnZUhhc2ggPSBjcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUobWVzc2FnZSkuZGlnZXN0KCk7XG5cbiAgICBjb25zdCBzaWduYXR1cmUgPSBhd2FpdCBFQ0RTQVV0aWxzLnNpZ25SZWNvdmVyeU1wY1YyKG1lc3NhZ2VIYXNoLCB1c2VyS2V5U2hhcmUsIGJhY2t1cEtleVNoYXJlLCBjb21tb25LZXlDaGFpbik7XG5cbiAgICBjb25zdCBzaWduYWJsZUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHNpZ25hYmxlSGV4LCAnaGV4Jyk7XG4gICAgTVBDLnZlcmlmeShzaWduYWJsZUJ1ZmZlciwgc2lnbmF0dXJlLCB0aGlzLmdldEhhc2hGdW5jdGlvbigpKTtcbiAgICBjb25zdCBjb3Ntb3NLZXlQYWlyID0gdGhpcy5nZXRLZXlQYWlyKHB1YmxpY0tleSk7XG4gICAgdHhuQnVpbGRlci5hZGRTaWduYXR1cmUoeyBwdWI6IGNvc21vc0tleVBhaXIuZ2V0S2V5cygpLnB1YiB9LCBCdWZmZXIuZnJvbShzaWduYXR1cmUuciArIHNpZ25hdHVyZS5zLCAnaGV4JykpO1xuICAgIGNvbnN0IHNpZ25lZFRyYW5zYWN0aW9uID0gYXdhaXQgdHhuQnVpbGRlci5idWlsZCgpO1xuICAgIHNlcmlhbGl6ZWRUeCA9IHNpZ25lZFRyYW5zYWN0aW9uLnRvQnJvYWRjYXN0Rm9ybWF0KCk7XG5cbiAgICByZXR1cm4geyBzZXJpYWxpemVkVHg6IHNlcmlhbGl6ZWRUeCB9O1xuICB9XG59XG4iXX0=
|
package/dist/test/unit/utils.js
CHANGED
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const statics_1 = require("@bitgo-beta/statics");
|
|
7
7
|
const should_1 = __importDefault(require("should"));
|
|
8
8
|
const utils_1 = require("../../src/lib/utils");
|
|
9
|
-
const constants_1 = require("../../src/lib/constants");
|
|
10
9
|
const rune_1 = require("../resources/rune");
|
|
11
10
|
const trune_1 = require("../resources/trune");
|
|
12
11
|
const bech32 = require('bech32-buffer');
|
|
@@ -88,14 +87,14 @@ describe('utils', () => {
|
|
|
88
87
|
should_1.default.equal(encodedAddress, trune_1.testnetAddress.address1);
|
|
89
88
|
should_1.default.equal(typeof encodedAddress, 'string');
|
|
90
89
|
should_1.default.equal(encodedAddress.length, 44);
|
|
91
|
-
should_1.default.equal(encodedAddress.startsWith(
|
|
90
|
+
should_1.default.equal(encodedAddress.startsWith(statics_1.Networks.test.rune.addressPrefix), true);
|
|
92
91
|
});
|
|
93
92
|
it('should convert Uint8Array type mainnet address to string', () => {
|
|
94
93
|
const encodedAddress = mainnetUtils.getEncodedAddress(mainnetDecodedAddress);
|
|
95
94
|
should_1.default.equal(encodedAddress, rune_1.mainnetAddress.address1);
|
|
96
95
|
should_1.default.equal(typeof encodedAddress, 'string');
|
|
97
96
|
should_1.default.equal(encodedAddress.length, 43);
|
|
98
|
-
should_1.default.equal(encodedAddress.startsWith(
|
|
97
|
+
should_1.default.equal(encodedAddress.startsWith(statics_1.Networks.main.rune.addressPrefix), true);
|
|
99
98
|
});
|
|
100
99
|
});
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBa0Q7QUFDbEQsb0RBQTRCO0FBQzVCLCtDQUFnRDtBQUNoRCx1REFBeUY7QUFDekYsNENBQTRHO0FBQzVHLDhDQUF3RTtBQUN4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFeEMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7SUFDckIsTUFBTSxZQUFZLEdBQUcsSUFBSSxpQkFBUyxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxpQkFBUyxDQUFDLHFCQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFeEQsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUUxRSxFQUFFLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1FBQzlDLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsZ0JBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxnQkFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLGdCQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakUsMERBQTBEO1FBQzFELGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsU0FBOEIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pGLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FB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d29ya1R5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCBzaG91bGQgZnJvbSAnc2hvdWxkJztcbmltcG9ydCB7IFJ1bmVVdGlscyB9IGZyb20gJy4uLy4uL3NyYy9saWIvdXRpbHMnO1xuaW1wb3J0IHsgTUFJTk5FVF9BRERSRVNTX1BSRUZJWCwgVEVTVE5FVF9BRERSRVNTX1BSRUZJWCB9IGZyb20gJy4uLy4uL3NyYy9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGJsb2NrSGFzaCwgbWFpbm5ldENvaW5BbW91bnRzLCB0eElkcywgbWFpbm5ldEFkZHJlc3MsIG1haW5uZXRHYXNBbW91bnRzIH0gZnJvbSAnLi4vcmVzb3VyY2VzL3J1bmUnO1xuaW1wb3J0IHsgdGVzdG5ldENvaW5BbW91bnRzLCB0ZXN0bmV0QWRkcmVzcyB9IGZyb20gJy4uL3Jlc291cmNlcy90cnVuZSc7XG5jb25zdCBiZWNoMzIgPSByZXF1aXJlKCdiZWNoMzItYnVmZmVyJyk7XG5cbmRlc2NyaWJlKCd1dGlscycsICgpID0+IHtcbiAgY29uc3QgbWFpbm5ldFV0aWxzID0gbmV3IFJ1bmVVdGlscyhOZXR3b3JrVHlwZS5NQUlOTkVUKTtcbiAgY29uc3QgdGVzdG5ldFV0aWxzID0gbmV3IFJ1bmVVdGlscyhOZXR3b3JrVHlwZS5URVNUTkVUKTtcblxuICBjb25zdCB0ZXN0bmV0RGVjb2RlZEFkZHJlc3MgPSBiZWNoMzIuZGVjb2RlKHRlc3RuZXRBZGRyZXNzLmFkZHJlc3MxKS5kYXRhO1xuICBjb25zdCBtYWlubmV0RGVjb2RlZEFkZHJlc3MgPSBiZWNoMzIuZGVjb2RlKG1haW5uZXRBZGRyZXNzLmFkZHJlc3MxKS5kYXRhO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgYmxvY2sgaGFzaCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZChibG9ja0hhc2guaGFzaDEpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKGJsb2NrSGFzaC5oYXNoMiksIHRydWUpO1xuICAgIC8vIHBhcmFtIGlzIGNvbWluZyBhcyB1bmRlZmluZWQgc28gaXQgd2FzIGNhdXNpbmcgYW4gaXNzdWVcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIHN0cmluZyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGludmFsaWQgYmxvY2sgaGFzaCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZCgnJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcweGFkZTM1NDY1Z2Z2ZGNzeHN6MjQzMDAnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoYmxvY2tIYXNoLmhhc2gyICsgJ2ZmJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCdsYXRlc3QnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gxKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMiksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDMpLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBpbnZhbGlkIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKCcnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDEuc2xpY2UoMykpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMyArICcwMCcpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCgnZGFsaWo0M3RhMGdhMmRhZGRhMDInKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgndmFsaWRhdGVBbW91bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50MV0pKTtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQyXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbbWFpbm5ldENvaW5BbW91bnRzLmFtb3VudDNdKSk7XG4gICAgc2hvdWxkKCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQ0XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICcgKyBtYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NC5hbW91bnRcbiAgICApO1xuICAgIHNob3VsZCgoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NV0pKS50aHJvd0Vycm9yKFxuICAgICAgJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgZGVub206ICcgKyBtYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NS5kZW5vbVxuICAgICk7XG5cbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQxXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDJdKSk7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiB0ZXN0bmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFt0ZXN0bmV0Q29pbkFtb3VudHMuYW1vdW50M10pKTtcbiAgICBzaG91bGQoKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDRdKSkudGhyb3dFcnJvcihcbiAgICAgICd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGFtb3VudDogJyArIHRlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ0LmFtb3VudFxuICAgICk7XG4gICAgc2hvdWxkKCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ1XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBkZW5vbTogJyArIHRlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ1LmRlbm9tXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3ZhbGlkYXRlIGdhcyBhbW91bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZ2FzQnVkZ2V0ID0geyBhbW91bnQ6IFttYWlubmV0R2FzQW1vdW50cy5wb3NpdGl2ZUdhc0Ftb3VudF0sIGdhc0xpbWl0OiAxIH07XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVHYXNCdWRnZXQoZ2FzQnVkZ2V0KSk7XG5cbiAgICBnYXNCdWRnZXQuYW1vdW50WzBdID0gbWFpbm5ldEdhc0Ftb3VudHMuemVyb0dhc0Ftb3VudDtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUdhc0J1ZGdldChnYXNCdWRnZXQpKTtcblxuICAgIGdhc0J1ZGdldC5hbW91bnRbMF0gPSBtYWlubmV0R2FzQW1vdW50cy5lbXB0eUdhc0Ftb3VudDtcbiAgICBzaG91bGQoKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlR2FzQnVkZ2V0KGdhc0J1ZGdldCkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICdcbiAgICApO1xuXG4gICAgZ2FzQnVkZ2V0LmFtb3VudFswXSA9IG1haW5uZXRHYXNBbW91bnRzLmFscGhhYmV0aWNHYXNBbW91bnQ7XG4gICAgc2hvdWxkKCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUdhc0J1ZGdldChnYXNCdWRnZXQpKS50aHJvd0Vycm9yKFxuICAgICAgJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgYW1vdW50OiB4eXonXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYWlubmV0IGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyhtYWlubmV0QWRkcmVzcy5hZGRyZXNzMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MobWFpbm5ldEFkZHJlc3MudmFsaWRNZW1vSWRBZGRyZXNzKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyhtYWlubmV0RGVjb2RlZEFkZHJlc3MpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRBZGRyZXNzKHRlc3RuZXRBZGRyZXNzLmFkZHJlc3MxKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MoJzEyMzQ1JyksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0ZXN0bmV0IGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKHRlc3RuZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyh0ZXN0bmV0QWRkcmVzcy5hZGRyZXNzMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbCh0ZXN0bmV0VXRpbHMuaXNWYWxpZEFkZHJlc3ModGVzdG5ldEFkZHJlc3MudmFsaWRNZW1vSWRBZGRyZXNzKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyh0ZXN0bmV0RGVjb2RlZEFkZHJlc3MpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwodGVzdG5ldFV0aWxzLmlzVmFsaWRBZGRyZXNzKG1haW5uZXRBZGRyZXNzLmFkZHJlc3MxKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbCh0ZXN0bmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MoJzEyMzQ1JyksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb252ZXJ0IHN0cmluZyB0eXBlIHRlc3RuZXQgYWRkcmVzcyB0byBVaW50OEFycmF5JywgKCkgPT4ge1xuICAgIGNvbnN0IGRlY29kZWRBZGRyZXNzID0gdGVzdG5ldFV0aWxzLmdldERlY29kZWRBZGRyZXNzKHRlc3RuZXRBZGRyZXNzLmFkZHJlc3MxKTtcbiAgICBzaG91bGQuZXF1YWwoZGVjb2RlZEFkZHJlc3MubGVuZ3RoLCAyMCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29udmVydCBzdHJpbmcgdHlwZSBtYWlubmV0IGFkZHJlc3MgdG8gVWludDhBcnJheScsICgpID0+IHtcbiAgICBjb25zdCBkZWNvZGVkQWRkcmVzcyA9IG1haW5uZXRVdGlscy5nZXREZWNvZGVkQWRkcmVzcyhtYWlubmV0QWRkcmVzcy5hZGRyZXNzMSk7XG4gICAgc2hvdWxkLmVxdWFsKGRlY29kZWRBZGRyZXNzLmxlbmd0aCwgMjApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvbnZlcnQgVWludDhBcnJheSB0eXBlIHRlc3RuZXQgYWRkcmVzcyB0byBzdHJpbmcnLCAoKSA9PiB7XG4gICAgY29uc3QgZW5jb2RlZEFkZHJlc3MgPSB0ZXN0bmV0VXRpbHMuZ2V0RW5jb2RlZEFkZHJlc3ModGVzdG5ldERlY29kZWRBZGRyZXNzKTtcbiAgICBzaG91bGQuZXF1YWwoZW5jb2RlZEFkZHJlc3MsIHRlc3RuZXRBZGRyZXNzLmFkZHJlc3MxKTtcbiAgICBzaG91bGQuZXF1YWwodHlwZW9mIGVuY29kZWRBZGRyZXNzLCAnc3RyaW5nJyk7XG4gICAgc2hvdWxkLmVxdWFsKGVuY29kZWRBZGRyZXNzLmxlbmd0aCwgNDQpO1xuICAgIHNob3VsZC5lcXVhbChlbmNvZGVkQWRkcmVzcy5zdGFydHNXaXRoKFRFU1RORVRfQUREUkVTU19QUkVGSVgpLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb252ZXJ0IFVpbnQ4QXJyYXkgdHlwZSBtYWlubmV0IGFkZHJlc3MgdG8gc3RyaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IGVuY29kZWRBZGRyZXNzID0gbWFpbm5ldFV0aWxzLmdldEVuY29kZWRBZGRyZXNzKG1haW5uZXREZWNvZGVkQWRkcmVzcyk7XG4gICAgc2hvdWxkLmVxdWFsKGVuY29kZWRBZGRyZXNzLCBtYWlubmV0QWRkcmVzcy5hZGRyZXNzMSk7XG4gICAgc2hvdWxkLmVxdWFsKHR5cGVvZiBlbmNvZGVkQWRkcmVzcywgJ3N0cmluZycpO1xuICAgIHNob3VsZC5lcXVhbChlbmNvZGVkQWRkcmVzcy5sZW5ndGgsIDQzKTtcbiAgICBzaG91bGQuZXF1YWwoZW5jb2RlZEFkZHJlc3Muc3RhcnRzV2l0aChNQUlOTkVUX0FERFJFU1NfUFJFRklYKSwgdHJ1ZSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBNEQ7QUFDNUQsb0RBQTRCO0FBQzVCLCtDQUFnRDtBQUNoRCw0Q0FBNEc7QUFDNUcsOENBQXdFO0FBQ3hFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUV4QyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtJQUNyQixNQUFNLFlBQVksR0FBRyxJQUFJLGlCQUFTLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxNQUFNLFlBQVksR0FBRyxJQUFJLGlCQUFTLENBQUMscUJBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV4RCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsc0JBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRTFFLEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxnQkFBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pFLGdCQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsZ0JBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSwwREFBMEQ7UUFDMUQsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxTQUE4QixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakYsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxF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QUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV0d29ya1R5cGUsIE5ldHdvcmtzIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBSdW5lVXRpbHMgfSBmcm9tICcuLi8uLi9zcmMvbGliL3V0aWxzJztcbmltcG9ydCB7IGJsb2NrSGFzaCwgbWFpbm5ldENvaW5BbW91bnRzLCB0eElkcywgbWFpbm5ldEFkZHJlc3MsIG1haW5uZXRHYXNBbW91bnRzIH0gZnJvbSAnLi4vcmVzb3VyY2VzL3J1bmUnO1xuaW1wb3J0IHsgdGVzdG5ldENvaW5BbW91bnRzLCB0ZXN0bmV0QWRkcmVzcyB9IGZyb20gJy4uL3Jlc291cmNlcy90cnVuZSc7XG5jb25zdCBiZWNoMzIgPSByZXF1aXJlKCdiZWNoMzItYnVmZmVyJyk7XG5cbmRlc2NyaWJlKCd1dGlscycsICgpID0+IHtcbiAgY29uc3QgbWFpbm5ldFV0aWxzID0gbmV3IFJ1bmVVdGlscyhOZXR3b3JrVHlwZS5NQUlOTkVUKTtcbiAgY29uc3QgdGVzdG5ldFV0aWxzID0gbmV3IFJ1bmVVdGlscyhOZXR3b3JrVHlwZS5URVNUTkVUKTtcblxuICBjb25zdCB0ZXN0bmV0RGVjb2RlZEFkZHJlc3MgPSBiZWNoMzIuZGVjb2RlKHRlc3RuZXRBZGRyZXNzLmFkZHJlc3MxKS5kYXRhO1xuICBjb25zdCBtYWlubmV0RGVjb2RlZEFkZHJlc3MgPSBiZWNoMzIuZGVjb2RlKG1haW5uZXRBZGRyZXNzLmFkZHJlc3MxKS5kYXRhO1xuXG4gIGl0KCdzaG91bGQgdmFsaWRhdGUgYmxvY2sgaGFzaCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZChibG9ja0hhc2guaGFzaDEpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKGJsb2NrSGFzaC5oYXNoMiksIHRydWUpO1xuICAgIC8vIHBhcmFtIGlzIGNvbWluZyBhcyB1bmRlZmluZWQgc28gaXQgd2FzIGNhdXNpbmcgYW4gaXNzdWVcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIHN0cmluZyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIGludmFsaWQgYmxvY2sgaGFzaCBjb3JyZWN0bHknLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQmxvY2tJZCgnJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCcweGFkZTM1NDY1Z2Z2ZGNzeHN6MjQzMDAnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEJsb2NrSWQoYmxvY2tIYXNoLmhhc2gyICsgJ2ZmJyksIGZhbHNlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRCbG9ja0lkKCdsYXRlc3QnKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHZhbGlkYXRlIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWRzLmhhc2gxKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMiksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDMpLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBpbnZhbGlkIHRyYW5zYWN0aW9uIGlkIGNvcnJlY3RseScsICgpID0+IHtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRUcmFuc2FjdGlvbklkKCcnKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZHMuaGFzaDEuc2xpY2UoMykpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCh0eElkcy5oYXNoMyArICcwMCcpLCBmYWxzZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkVHJhbnNhY3Rpb25JZCgnZGFsaWo0M3RhMGdhMmRhZGRhMDInKSwgZmFsc2UpO1xuICB9KTtcblxuICBpdCgndmFsaWRhdGVBbW91bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50MV0pKTtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQyXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbbWFpbm5ldENvaW5BbW91bnRzLmFtb3VudDNdKSk7XG4gICAgc2hvdWxkKCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW21haW5uZXRDb2luQW1vdW50cy5hbW91bnQ0XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICcgKyBtYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NC5hbW91bnRcbiAgICApO1xuICAgIHNob3VsZCgoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFttYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NV0pKS50aHJvd0Vycm9yKFxuICAgICAgJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgZGVub206ICcgKyBtYWlubmV0Q29pbkFtb3VudHMuYW1vdW50NS5kZW5vbVxuICAgICk7XG5cbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQxXSkpO1xuICAgIHNob3VsZC5kb2VzTm90VGhyb3coKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDJdKSk7XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiB0ZXN0bmV0VXRpbHMudmFsaWRhdGVBbW91bnREYXRhKFt0ZXN0bmV0Q29pbkFtb3VudHMuYW1vdW50M10pKTtcbiAgICBzaG91bGQoKCkgPT4gdGVzdG5ldFV0aWxzLnZhbGlkYXRlQW1vdW50RGF0YShbdGVzdG5ldENvaW5BbW91bnRzLmFtb3VudDRdKSkudGhyb3dFcnJvcihcbiAgICAgICd0cmFuc2FjdGlvbkJ1aWxkZXI6IHZhbGlkYXRlQW1vdW50OiBJbnZhbGlkIGFtb3VudDogJyArIHRlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ0LmFtb3VudFxuICAgICk7XG4gICAgc2hvdWxkKCgpID0+IHRlc3RuZXRVdGlscy52YWxpZGF0ZUFtb3VudERhdGEoW3Rlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ1XSkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBkZW5vbTogJyArIHRlc3RuZXRDb2luQW1vdW50cy5hbW91bnQ1LmRlbm9tXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3ZhbGlkYXRlIGdhcyBhbW91bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZ2FzQnVkZ2V0ID0geyBhbW91bnQ6IFttYWlubmV0R2FzQW1vdW50cy5wb3NpdGl2ZUdhc0Ftb3VudF0sIGdhc0xpbWl0OiAxIH07XG4gICAgc2hvdWxkLmRvZXNOb3RUaHJvdygoKSA9PiBtYWlubmV0VXRpbHMudmFsaWRhdGVHYXNCdWRnZXQoZ2FzQnVkZ2V0KSk7XG5cbiAgICBnYXNCdWRnZXQuYW1vdW50WzBdID0gbWFpbm5ldEdhc0Ftb3VudHMuemVyb0dhc0Ftb3VudDtcbiAgICBzaG91bGQuZG9lc05vdFRocm93KCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUdhc0J1ZGdldChnYXNCdWRnZXQpKTtcblxuICAgIGdhc0J1ZGdldC5hbW91bnRbMF0gPSBtYWlubmV0R2FzQW1vdW50cy5lbXB0eUdhc0Ftb3VudDtcbiAgICBzaG91bGQoKCkgPT4gbWFpbm5ldFV0aWxzLnZhbGlkYXRlR2FzQnVkZ2V0KGdhc0J1ZGdldCkpLnRocm93RXJyb3IoXG4gICAgICAndHJhbnNhY3Rpb25CdWlsZGVyOiB2YWxpZGF0ZUFtb3VudDogSW52YWxpZCBhbW91bnQ6ICdcbiAgICApO1xuXG4gICAgZ2FzQnVkZ2V0LmFtb3VudFswXSA9IG1haW5uZXRHYXNBbW91bnRzLmFscGhhYmV0aWNHYXNBbW91bnQ7XG4gICAgc2hvdWxkKCgpID0+IG1haW5uZXRVdGlscy52YWxpZGF0ZUdhc0J1ZGdldChnYXNCdWRnZXQpKS50aHJvd0Vycm9yKFxuICAgICAgJ3RyYW5zYWN0aW9uQnVpbGRlcjogdmFsaWRhdGVBbW91bnQ6IEludmFsaWQgYW1vdW50OiB4eXonXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYWlubmV0IGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyhtYWlubmV0QWRkcmVzcy5hZGRyZXNzMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MobWFpbm5ldEFkZHJlc3MudmFsaWRNZW1vSWRBZGRyZXNzKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyhtYWlubmV0RGVjb2RlZEFkZHJlc3MpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwobWFpbm5ldFV0aWxzLmlzVmFsaWRBZGRyZXNzKHRlc3RuZXRBZGRyZXNzLmFkZHJlc3MxKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbChtYWlubmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MoJzEyMzQ1JyksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSB0ZXN0bmV0IGFkZHJlc3MnLCAoKSA9PiB7XG4gICAgc2hvdWxkLmVxdWFsKHRlc3RuZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyh0ZXN0bmV0QWRkcmVzcy5hZGRyZXNzMSksIHRydWUpO1xuICAgIHNob3VsZC5lcXVhbCh0ZXN0bmV0VXRpbHMuaXNWYWxpZEFkZHJlc3ModGVzdG5ldEFkZHJlc3MudmFsaWRNZW1vSWRBZGRyZXNzKSwgdHJ1ZSk7XG4gICAgc2hvdWxkLmVxdWFsKG1haW5uZXRVdGlscy5pc1ZhbGlkQWRkcmVzcyh0ZXN0bmV0RGVjb2RlZEFkZHJlc3MpLCB0cnVlKTtcbiAgICBzaG91bGQuZXF1YWwodGVzdG5ldFV0aWxzLmlzVmFsaWRBZGRyZXNzKG1haW5uZXRBZGRyZXNzLmFkZHJlc3MxKSwgZmFsc2UpO1xuICAgIHNob3VsZC5lcXVhbCh0ZXN0bmV0VXRpbHMuaXNWYWxpZEFkZHJlc3MoJzEyMzQ1JyksIGZhbHNlKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCBjb252ZXJ0IHN0cmluZyB0eXBlIHRlc3RuZXQgYWRkcmVzcyB0byBVaW50OEFycmF5JywgKCkgPT4ge1xuICAgIGNvbnN0IGRlY29kZWRBZGRyZXNzID0gdGVzdG5ldFV0aWxzLmdldERlY29kZWRBZGRyZXNzKHRlc3RuZXRBZGRyZXNzLmFkZHJlc3MxKTtcbiAgICBzaG91bGQuZXF1YWwoZGVjb2RlZEFkZHJlc3MubGVuZ3RoLCAyMCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29udmVydCBzdHJpbmcgdHlwZSBtYWlubmV0IGFkZHJlc3MgdG8gVWludDhBcnJheScsICgpID0+IHtcbiAgICBjb25zdCBkZWNvZGVkQWRkcmVzcyA9IG1haW5uZXRVdGlscy5nZXREZWNvZGVkQWRkcmVzcyhtYWlubmV0QWRkcmVzcy5hZGRyZXNzMSk7XG4gICAgc2hvdWxkLmVxdWFsKGRlY29kZWRBZGRyZXNzLmxlbmd0aCwgMjApO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGNvbnZlcnQgVWludDhBcnJheSB0eXBlIHRlc3RuZXQgYWRkcmVzcyB0byBzdHJpbmcnLCAoKSA9PiB7XG4gICAgY29uc3QgZW5jb2RlZEFkZHJlc3MgPSB0ZXN0bmV0VXRpbHMuZ2V0RW5jb2RlZEFkZHJlc3ModGVzdG5ldERlY29kZWRBZGRyZXNzKTtcbiAgICBzaG91bGQuZXF1YWwoZW5jb2RlZEFkZHJlc3MsIHRlc3RuZXRBZGRyZXNzLmFkZHJlc3MxKTtcbiAgICBzaG91bGQuZXF1YWwodHlwZW9mIGVuY29kZWRBZGRyZXNzLCAnc3RyaW5nJyk7XG4gICAgc2hvdWxkLmVxdWFsKGVuY29kZWRBZGRyZXNzLmxlbmd0aCwgNDQpO1xuICAgIHNob3VsZC5lcXVhbChlbmNvZGVkQWRkcmVzcy5zdGFydHNXaXRoKE5ldHdvcmtzLnRlc3QucnVuZS5hZGRyZXNzUHJlZml4KSwgdHJ1ZSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgY29udmVydCBVaW50OEFycmF5IHR5cGUgbWFpbm5ldCBhZGRyZXNzIHRvIHN0cmluZycsICgpID0+IHtcbiAgICBjb25zdCBlbmNvZGVkQWRkcmVzcyA9IG1haW5uZXRVdGlscy5nZXRFbmNvZGVkQWRkcmVzcyhtYWlubmV0RGVjb2RlZEFkZHJlc3MpO1xuICAgIHNob3VsZC5lcXVhbChlbmNvZGVkQWRkcmVzcywgbWFpbm5ldEFkZHJlc3MuYWRkcmVzczEpO1xuICAgIHNob3VsZC5lcXVhbCh0eXBlb2YgZW5jb2RlZEFkZHJlc3MsICdzdHJpbmcnKTtcbiAgICBzaG91bGQuZXF1YWwoZW5jb2RlZEFkZHJlc3MubGVuZ3RoLCA0Myk7XG4gICAgc2hvdWxkLmVxdWFsKGVuY29kZWRBZGRyZXNzLnN0YXJ0c1dpdGgoTmV0d29ya3MubWFpbi5ydW5lLmFkZHJlc3NQcmVmaXgpLCB0cnVlKTtcbiAgfSk7XG59KTtcbiJdfQ==
|