@bitgo/abstract-utxo 10.23.2 → 10.25.0
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/cjs/src/abstractUtxoCoin.d.ts +1 -1
- package/dist/cjs/src/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/cjs/src/abstractUtxoCoin.js +3 -3
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts +5 -1
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainPsbtWasm.js +33 -4
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts +3 -0
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/explainTransaction.js +1 -1
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts +1 -1
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
- package/dist/cjs/src/transaction/fixedScript/signLegacyTransaction.js +13 -6
- package/dist/cjs/src/unspent.d.ts +4 -0
- package/dist/cjs/src/unspent.d.ts.map +1 -1
- package/dist/cjs/src/unspent.js +9 -1
- package/dist/cjs/test/unit/bip322.js +99 -28
- package/dist/cjs/test/unit/explainTransaction.js +1 -61
- package/dist/cjs/test/unit/transaction/fixedScript/explainPsbt.js +4 -4
- package/dist/cjs/test/unit/transaction/recipient.d.ts +2 -0
- package/dist/cjs/test/unit/transaction/recipient.d.ts.map +1 -0
- package/dist/cjs/test/unit/transaction/recipient.js +38 -0
- package/dist/cjs/test/unit/util/address.d.ts +1 -1
- package/dist/cjs/test/unit/util/address.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/transaction.d.ts.map +1 -1
- package/dist/cjs/test/unit/util/transaction.js +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts +1 -1
- package/dist/esm/abstractUtxoCoin.d.ts.map +1 -1
- package/dist/esm/abstractUtxoCoin.js +3 -3
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts +5 -1
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainPsbtWasm.js +33 -4
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts +3 -0
- package/dist/esm/transaction/fixedScript/explainTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/explainTransaction.js +1 -1
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts +1 -1
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.d.ts.map +1 -1
- package/dist/esm/transaction/fixedScript/signLegacyTransaction.js +11 -4
- package/dist/esm/unspent.d.ts +4 -0
- package/dist/esm/unspent.d.ts.map +1 -1
- package/dist/esm/unspent.js +8 -1
- package/package.json +8 -8
- package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts +0 -15
- package/dist/cjs/test/unit/fixtures/bip322/fixtures.d.ts.map +0 -1
- package/dist/cjs/test/unit/fixtures/bip322/fixtures.js +0 -51
|
@@ -59,8 +59,8 @@ function describeTransactionWith(acidTest) {
|
|
|
59
59
|
psbtBytes = psbt.toBuffer();
|
|
60
60
|
const networkName = utxolib.getNetworkName(acidTest.network);
|
|
61
61
|
(0, strict_1.default)(networkName);
|
|
62
|
-
walletXpubs =
|
|
63
|
-
customChangeWalletXpubs =
|
|
62
|
+
walletXpubs = wasm_utxo_1.fixedScriptWallet.RootWalletKeys.from(acidTest.rootWalletKeys);
|
|
63
|
+
customChangeWalletXpubs = wasm_utxo_1.fixedScriptWallet.RootWalletKeys.from(acidTest.otherWalletKeys);
|
|
64
64
|
wasmPsbt = wasm_utxo_1.fixedScriptWallet.BitGoPsbt.fromBytes(psbtBytes, networkName);
|
|
65
65
|
});
|
|
66
66
|
it('should match the expected values for explainPsbt', function () {
|
|
@@ -162,7 +162,7 @@ describe('aggregateTransactionExplanations', function () {
|
|
|
162
162
|
const networkName = utxolib.getNetworkName(acidTest.network);
|
|
163
163
|
(0, strict_1.default)(networkName);
|
|
164
164
|
const wasmPsbt = wasm_utxo_1.fixedScriptWallet.BitGoPsbt.fromBytes(psbtBytes, networkName);
|
|
165
|
-
const walletXpubs =
|
|
165
|
+
const walletXpubs = wasm_utxo_1.fixedScriptWallet.RootWalletKeys.from(acidTest.rootWalletKeys);
|
|
166
166
|
exp = (0, fixedScript_1.explainPsbtWasmBigInt)(wasmPsbt, walletXpubs, {
|
|
167
167
|
replayProtection: { publicKeys: [acidTest.getReplayProtectionPublicKey()] },
|
|
168
168
|
});
|
|
@@ -190,4 +190,4 @@ describe('aggregateTransactionExplanations', function () {
|
|
|
190
190
|
});
|
|
191
191
|
});
|
|
192
192
|
});
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvZXhwbGFpblBzYnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBd0M7QUFFeEMseURBQTJDO0FBQzNDLDhDQUEyQztBQUMzQyxnREFBNkQ7QUFHN0QseUVBTWlEO0FBQ2pELGlEQUFvRDtBQUVwRCxTQUFTLHVCQUF1QixDQUFDLFFBQTJCO0lBQzFELFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMzQixJQUFJLElBQTRCLENBQUM7UUFDakMsSUFBSSxTQUFpQixDQUFDO1FBQ3RCLElBQUksV0FBMkIsQ0FBQztRQUNoQyxJQUFJLHVCQUFtRCxDQUFDO1FBQ3hELElBQUksUUFBcUMsQ0FBQztRQUMxQyxJQUFJLGNBQXNDLENBQUM7UUFDM0MsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQVcsRUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsY0FBYyxHQUFHLElBQUEseUJBQVcsRUFBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRTtnQkFDOUUsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDLENBQUM7WUFDSCxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdELElBQUEsZ0JBQU0sRUFBQyxXQUFXLENBQUMsQ0FBQztZQUNwQixXQUFXLEdBQUcsUUFB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Z0JBQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQzFELGdCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDNUQsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ25vZGU6YXNzZXJ0L3N0cmljdCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IHRlc3R1dGlsIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0LCBUcmlwbGUgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHR5cGUgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL3RyYW5zYWN0aW9uL2ZpeGVkU2NyaXB0L2V4cGxhaW5UcmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBleHBsYWluUHNidCxcbiAgZXhwbGFpblBzYnRXYXNtLFxuICBleHBsYWluUHNidFdhc21CaWdJbnQsXG4gIGFnZ3JlZ2F0ZVRyYW5zYWN0aW9uRXhwbGFuYXRpb25zLFxuICB0eXBlIFRyYW5zYWN0aW9uRXhwbGFuYXRpb25CaWdJbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9maXhlZFNjcmlwdCc7XG5pbXBvcnQgeyBnZXRDb2luTmFtZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9uYW1lcyc7XG5cbmZ1bmN0aW9uIGRlc2NyaWJlVHJhbnNhY3Rpb25XaXRoKGFjaWRUZXN0OiB0ZXN0dXRpbC5BY2lkVGVzdCkge1xuICBkZXNjcmliZShgJHthY2lkVGVzdC5uYW1lfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgcHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcbiAgICBsZXQgcHNidEJ5dGVzOiBCdWZmZXI7XG4gICAgbGV0IHdhbGxldFhwdWJzOiBUcmlwbGU8c3RyaW5nPjtcbiAgICBsZXQgY3VzdG9tQ2hhbmdlV2FsbGV0WHB1YnM6IFRyaXBsZTxzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICAgIGxldCB3YXNtUHNidDogZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0O1xuICAgIGxldCByZWZFeHBsYW5hdGlvbjogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbjtcbiAgICBiZWZvcmUoJ3ByZXBhcmUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBwc2J0ID0gYWNpZFRlc3QuY3JlYXRlUHNidCgpO1xuICAgICAgY29uc3QgY29pbk5hbWUgPSBnZXRDb2luTmFtZShhY2lkVGVzdC5uZXR3b3JrKTtcbiAgICAgIHJlZkV4cGxhbmF0aW9uID0gZXhwbGFpblBzYnQocHNidCwgeyBwdWJzOiBhY2lkVGVzdC5yb290V2FsbGV0S2V5cyB9LCBjb2luTmFtZSwge1xuICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIHBzYnRCeXRlcyA9IHBzYnQudG9CdWZmZXIoKTtcbiAgICAgIGNvbnN0IG5ldHdvcmtOYW1lID0gdXR4b2xpYi5nZXROZXR3b3JrTmFtZShhY2lkVGVzdC5uZXR3b3JrKTtcbiAgICAgIGFzc2VydChuZXR3b3JrTmFtZSk7XG4gICAgICB3YWxsZXRYcHVicyA9IGFjaWRUZXN0LnJvb3RXYWxsZXRLZXlzLnRyaXBsZS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKSBhcyBUcmlwbGU8c3RyaW5nPjtcbiAgICAgIGN1c3RvbUNoYW5nZVdhbGxldFhwdWJzID0gYWNpZFRlc3Qub3RoZXJXYWxsZXRLZXlzLnRyaXBsZS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKSBhcyBUcmlwbGU8c3RyaW5nPjtcbiAgICAgIHdhc21Qc2J0ID0gZml4ZWRTY3JpcHRXYWxsZXQuQml0R29Qc2J0LmZyb21CeXRlcyhwc2J0Qnl0ZXMsIG5ldHdvcmtOYW1lKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlcyBmb3IgZXhwbGFpblBzYnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBub3RlOiBgb3V0cHV0c2AgbWVhbnMgZXh0ZXJuYWwgb3V0cHV0cyBoZXJlXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVmRXhwbGFuYXRpb24ub3V0cHV0cy5sZW5ndGgsIDMpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMubGVuZ3RoLCBhY2lkVGVzdC5vdXRwdXRzLmxlbmd0aCAtIDMpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlZkV4cGxhbmF0aW9uLm91dHB1dEFtb3VudCwgJzE4MDAnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZWZFeHBsYW5hdGlvbi5jaGFuZ2VPdXRwdXRzLmxlbmd0aCwgYWNpZFRlc3Qub3V0cHV0cy5sZW5ndGggLSAzKTtcbiAgICAgIHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMuZm9yRWFjaCgoY2hhbmdlKSA9PiB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjaGFuZ2UuYW1vdW50LCAnOTAwJyk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgY2hhbmdlLmFkZHJlc3MsICdzdHJpbmcnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgc3VwcG9ydCBjdXN0b20gY2hhbmdlIG91dHB1dHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjb2luTmFtZSA9IGdldENvaW5OYW1lKGFjaWRUZXN0Lm5ldHdvcmspO1xuICAgICAgY29uc3QgY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24gPSBleHBsYWluUHNidChcbiAgICAgICAgcHNidCxcbiAgICAgICAgeyBwdWJzOiBhY2lkVGVzdC5yb290V2FsbGV0S2V5cywgY3VzdG9tQ2hhbmdlUHViczogYWNpZFRlc3Qub3RoZXJXYWxsZXRLZXlzIH0sXG4gICAgICAgIGNvaW5OYW1lLFxuICAgICAgICB7IHN0cmljdDogdHJ1ZSB9XG4gICAgICApO1xuICAgICAgYXNzZXJ0Lm9rKGN1c3RvbUNoYW5nZUV4cGxhbmF0aW9uLmN1c3RvbUNoYW5nZU91dHB1dHMpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGN1c3RvbUNoYW5nZUV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMubGVuZ3RoLCByZWZFeHBsYW5hdGlvbi5jaGFuZ2VPdXRwdXRzLmxlbmd0aCk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24ub3V0cHV0cy5sZW5ndGgsIHJlZkV4cGxhbmF0aW9uLm91dHB1dHMubGVuZ3RoIC0gMSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24uY3VzdG9tQ2hhbmdlT3V0cHV0cy5sZW5ndGgsIDEpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGN1c3RvbUNoYW5nZUV4cGxhbmF0aW9uLmN1c3RvbUNoYW5nZU91dHB1dHNbMF0uYW1vdW50LCAnOTAwJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIG1hdGNoIGV4cGxhaW5Qc2J0V2FzbScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHdhc21FeHBsYW5hdGlvbiA9IGV4cGxhaW5Qc2J0V2FzbSh3YXNtUHNidCwgd2FsbGV0WHB1YnMsIHtcbiAgICAgICAgcmVwbGF5UHJvdGVjdGlvbjoge1xuICAgICAgICAgIHB1YmxpY0tleXM6IFthY2lkVGVzdC5nZXRSZXBsYXlQcm90ZWN0aW9uUHVibGljS2V5KCldLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlZkV4cGxhbmF0aW9uKSkge1xuICAgICAgICBjb25zdCByZWZWYWx1ZSA9IHJlZkV4cGxhbmF0aW9uW2tleV07XG4gICAgICAgIGNvbnN0IHdhc21WYWx1ZSA9IHdhc21FeHBsYW5hdGlvbltrZXldO1xuICAgICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICAgIGNhc2UgJ2Rpc3BsYXlPcmRlcic6XG4gICAgICAgICAgY2FzZSAnaW5wdXRTaWduYXR1cmVzJzpcbiAgICAgICAgICBjYXNlICdzaWduYXR1cmVzJzpcbiAgICAgICAgICAgIC8vIHRoZXNlIGFyZSBkZXByZWNhdGVkIGZpZWxkcyB0aGF0IHdlIHdhbnQgdG8gZ2V0IHJpZCBvZlxuICAgICAgICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXNtVmFsdWUsIHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbCh3YXNtVmFsdWUsIHJlZlZhbHVlLCBgbWlzbWF0Y2ggZm9yIGtleSAke2tleX1gKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHZlcmlmeSBuZXcgZmllbGRzIGFyZSBwcmVzZW50IGFuZCBzdHJpbmdpZmllZFxuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiB3YXNtRXhwbGFuYXRpb24uaW5wdXRBbW91bnQsICdzdHJpbmcnKTtcbiAgICAgIGFzc2VydC5vayhBcnJheS5pc0FycmF5KHdhc21FeHBsYW5hdGlvbi5pbnB1dHMpKTtcbiAgICAgIGFzc2VydC5vayh3YXNtRXhwbGFuYXRpb24uaW5wdXRzLmxlbmd0aCA+IDApO1xuICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB3YXNtRXhwbGFuYXRpb24uaW5wdXRzKSB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgaW5wdXQuYWRkcmVzcywgJ3N0cmluZycpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGlucHV0LnZhbHVlLCAnc3RyaW5nJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYWNpZFRlc3QubmV0d29yayAhPT0gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaXQoJ2V4cGxhaW5Qc2J0V2FzbUJpZ0ludCByZXR1cm5zIGJpZ2ludCBhbW91bnRzIGFuZCBpbnB1dHMgYXJyYXknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBleHBsYWluUHNidFdhc21CaWdJbnQod2FzbVBzYnQsIHdhbGxldFhwdWJzLCB7XG4gICAgICAgIHJlcGxheVByb3RlY3Rpb246IHsgcHVibGljS2V5czogW2FjaWRUZXN0LmdldFJlcGxheVByb3RlY3Rpb25QdWJsaWNLZXkoKV0gfSxcbiAgICAgIH0pO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiByZXN1bHQuZmVlLCAnYmlnaW50Jyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHJlc3VsdC5vdXRwdXRBbW91bnQsICdiaWdpbnQnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgcmVzdWx0LmNoYW5nZUFtb3VudCwgJ2JpZ2ludCcpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiByZXN1bHQuaW5wdXRBbW91bnQsICdiaWdpbnQnKTtcbiAgICAgIGFzc2VydC5vayhyZXN1bHQuaW5wdXRzLmxlbmd0aCA+IDApO1xuICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiByZXN1bHQuaW5wdXRzKSB7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgaW5wdXQuYWRkcmVzcywgJ3N0cmluZycpO1xuICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIGlucHV0LnZhbHVlLCAnYmlnaW50Jyk7XG4gICAgICB9XG4gICAgICBjb25zdCBzdW1JbnB1dHMgPSByZXN1bHQuaW5wdXRzLnJlZHVjZSgocywgaSkgPT4gcyArIGkudmFsdWUsIDBuKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXN1bHQuaW5wdXRBbW91bnQsIHN1bUlucHV0cyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoXG4gICAgICAgIHJlc3VsdC5mZWUsXG4gICAgICAgIHJlc3VsdC5pbnB1dEFtb3VudCAtIHJlc3VsdC5vdXRwdXRBbW91bnQgLSByZXN1bHQuY2hhbmdlQW1vdW50IC0gcmVzdWx0LmN1c3RvbUNoYW5nZUFtb3VudFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIC8vIGV4dGVuZGVkIHRlc3Qgc3VpdGUgZm9yIGJpdGNvaW5cblxuICAgIGl0KCdyZXR1cm5zIGN1c3RvbSBjaGFuZ2Ugb3V0cHV0cyB3aGVuIHBhcmFtZXRlciBpcyBzZXQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCB3YXNtRXhwbGFuYXRpb24gPSBleHBsYWluUHNidFdhc20od2FzbVBzYnQsIHdhbGxldFhwdWJzLCB7XG4gICAgICAgIHJlcGxheVByb3RlY3Rpb246IHtcbiAgICAgICAgICBwdWJsaWNLZXlzOiBbYWNpZFRlc3QuZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmxpY0tleSgpXSxcbiAgICAgICAgfSxcbiAgICAgICAgY3VzdG9tQ2hhbmdlV2FsbGV0WHB1YnMsXG4gICAgICB9KTtcbiAgICAgIGFzc2VydC5vayh3YXNtRXhwbGFuYXRpb24uY3VzdG9tQ2hhbmdlT3V0cHV0cyk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhc21FeHBsYW5hdGlvbi5vdXRwdXRzLmxlbmd0aCwgMik7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhc21FeHBsYW5hdGlvbi5jdXN0b21DaGFuZ2VPdXRwdXRzLmxlbmd0aCwgMSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhc21FeHBsYW5hdGlvbi5jdXN0b21DaGFuZ2VPdXRwdXRzWzBdLmFtb3VudCwgJzkwMCcpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZGVzY3JpYmUoJ2V4cGxhaW5Qc2J0KFdhc20pJywgZnVuY3Rpb24gKCkge1xuICB0ZXN0dXRpbC5BY2lkVGVzdC5zdWl0ZSgpLmZvckVhY2goKHRlc3QpID0+IGRlc2NyaWJlVHJhbnNhY3Rpb25XaXRoKHRlc3QpKTtcbn0pO1xuXG5kZXNjcmliZSgnYWdncmVnYXRlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbnMnLCBmdW5jdGlvbiAoKSB7XG4gIHRlc3R1dGlsLkFjaWRUZXN0LnN1aXRlKClcbiAgICAuZmlsdGVyKCh0KSA9PiB0Lm5ldHdvcmsgPT09IHV0eG9saWIubmV0d29ya3MuYml0Y29pbilcbiAgICAuZm9yRWFjaCgoYWNpZFRlc3QpID0+IHtcbiAgICAgIGRlc2NyaWJlKGFjaWRUZXN0Lm5hbWUsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IGV4cDogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbkJpZ0ludDtcblxuICAgICAgICBiZWZvcmUoJ3ByZXBhcmUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc3QgcHNidEJ5dGVzID0gYWNpZFRlc3QuY3JlYXRlUHNidCgpLnRvQnVmZmVyKCk7XG4gICAgICAgICAgY29uc3QgbmV0d29ya05hbWUgPSB1dHhvbGliLmdldE5ldHdvcmtOYW1lKGFjaWRUZXN0Lm5ldHdvcmspO1xuICAgICAgICAgIGFzc2VydChuZXR3b3JrTmFtZSk7XG4gICAgICAgICAgY29uc3Qgd2FzbVBzYnQgPSBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQuZnJvbUJ5dGVzKHBzYnRCeXRlcywgbmV0d29ya05hbWUpO1xuICAgICAgICAgIGNvbnN0IHdhbGxldFhwdWJzID0gYWNpZFRlc3Qucm9vdFdhbGxldEtleXMudHJpcGxlLm1hcCgoaykgPT4gay5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpIGFzIFRyaXBsZTxzdHJpbmc+O1xuICAgICAgICAgIGV4cCA9IGV4cGxhaW5Qc2J0V2FzbUJpZ0ludCh3YXNtUHNidCwgd2FsbGV0WHB1YnMsIHtcbiAgICAgICAgICAgIHJlcGxheVByb3RlY3Rpb246IHsgcHVibGljS2V5czogW2FjaWRUZXN0LmdldFJlcGxheVByb3RlY3Rpb25QdWJsaWNLZXkoKV0gfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ2FnZ3JlZ2F0aW5nIGEgc2luZ2xlIGV4cGxhbmF0aW9uIGlzIGlkZW50aXR5JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGNvbnN0IGFnZyA9IGFnZ3JlZ2F0ZVRyYW5zYWN0aW9uRXhwbGFuYXRpb25zKFtleHBdKTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLmlucHV0Q291bnQsIGV4cC5pbnB1dHMubGVuZ3RoKTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLm91dHB1dENvdW50LCBleHAub3V0cHV0cy5sZW5ndGgpO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cuY2hhbmdlT3V0cHV0Q291bnQsIGV4cC5jaGFuZ2VPdXRwdXRzLmxlbmd0aCk7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5pbnB1dEFtb3VudCwgZXhwLmlucHV0QW1vdW50KTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLm91dHB1dEFtb3VudCwgZXhwLm91dHB1dEFtb3VudCk7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5jaGFuZ2VBbW91bnQsIGV4cC5jaGFuZ2VBbW91bnQpO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cuZmVlLCBleHAuZmVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaXQoJ2FnZ3JlZ2F0aW5nIHR3byBpZGVudGljYWwgZXhwbGFuYXRpb25zIGRvdWJsZXMgYWxsIGNvdW50cyBhbmQgYW1vdW50cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zdCBhZ2cgPSBhZ2dyZWdhdGVUcmFuc2FjdGlvbkV4cGxhbmF0aW9ucyhbZXhwLCBleHBdKTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLmlucHV0Q291bnQsIGV4cC5pbnB1dHMubGVuZ3RoICogMik7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5vdXRwdXRDb3VudCwgZXhwLm91dHB1dHMubGVuZ3RoICogMik7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5jaGFuZ2VPdXRwdXRDb3VudCwgZXhwLmNoYW5nZU91dHB1dHMubGVuZ3RoICogMik7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5pbnB1dEFtb3VudCwgZXhwLmlucHV0QW1vdW50ICogMm4pO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cub3V0cHV0QW1vdW50LCBleHAub3V0cHV0QW1vdW50ICogMm4pO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cuY2hhbmdlQW1vdW50LCBleHAuY2hhbmdlQW1vdW50ICogMm4pO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cuZmVlLCBleHAuZmVlICogMm4pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xufSk7XG4iXX0=
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpblBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQvZXhwbGFpblBzYnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBd0M7QUFFeEMseURBQTJDO0FBQzNDLDhDQUEyQztBQUMzQyxnREFBcUQ7QUFHckQseUVBTWlEO0FBQ2pELGlEQUFvRDtBQUVwRCxTQUFTLHVCQUF1QixDQUFDLFFBQTJCO0lBQzFELFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUMzQixJQUFJLElBQTRCLENBQUM7UUFDakMsSUFBSSxTQUFpQixDQUFDO1FBQ3RCLElBQUksV0FBNkMsQ0FBQztRQUNsRCxJQUFJLHVCQUFxRSxDQUFDO1FBQzFFLElBQUksUUFBcUMsQ0FBQztRQUMxQyxJQUFJLGNBQXNDLENBQUM7UUFDM0MsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNoQixJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUEsbUJBQVcsRUFBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0MsY0FBYyxHQUFHLElBQUEseUJBQVcsRUFBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRTtnQkFDOUUsTUFBTSxFQUFFLElBQUk7YUFDYixDQUFDLENBQUM7WUFDSCxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdELElBQUEsZ0JBQU0sRUFBQyxXQUFXLENBQUMsQ0FBQztZQUNwQixXQUFXLEdBQUcsNkJB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QUFDLENBQUM7Z0JBQzFELGdCQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDNUQsZ0JBQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxnQkFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ25vZGU6YXNzZXJ0L3N0cmljdCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IHRlc3R1dGlsIH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGZpeGVkU2NyaXB0V2FsbGV0IH0gZnJvbSAnQGJpdGdvL3dhc20tdXR4byc7XG5cbmltcG9ydCB0eXBlIHsgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy90cmFuc2FjdGlvbi9maXhlZFNjcmlwdC9leHBsYWluVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHtcbiAgZXhwbGFpblBzYnQsXG4gIGV4cGxhaW5Qc2J0V2FzbSxcbiAgZXhwbGFpblBzYnRXYXNtQmlnSW50LFxuICBhZ2dyZWdhdGVUcmFuc2FjdGlvbkV4cGxhbmF0aW9ucyxcbiAgdHlwZSBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uQmlnSW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvdHJhbnNhY3Rpb24vZml4ZWRTY3JpcHQnO1xuaW1wb3J0IHsgZ2V0Q29pbk5hbWUgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvbmFtZXMnO1xuXG5mdW5jdGlvbiBkZXNjcmliZVRyYW5zYWN0aW9uV2l0aChhY2lkVGVzdDogdGVzdHV0aWwuQWNpZFRlc3QpIHtcbiAgZGVzY3JpYmUoYCR7YWNpZFRlc3QubmFtZX1gLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG4gICAgbGV0IHBzYnRCeXRlczogQnVmZmVyO1xuICAgIGxldCB3YWxsZXRYcHViczogZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXM7XG4gICAgbGV0IGN1c3RvbUNoYW5nZVdhbGxldFhwdWJzOiBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cyB8IHVuZGVmaW5lZDtcbiAgICBsZXQgd2FzbVBzYnQ6IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidDtcbiAgICBsZXQgcmVmRXhwbGFuYXRpb246IFRyYW5zYWN0aW9uRXhwbGFuYXRpb247XG4gICAgYmVmb3JlKCdwcmVwYXJlJywgZnVuY3Rpb24gKCkge1xuICAgICAgcHNidCA9IGFjaWRUZXN0LmNyZWF0ZVBzYnQoKTtcbiAgICAgIGNvbnN0IGNvaW5OYW1lID0gZ2V0Q29pbk5hbWUoYWNpZFRlc3QubmV0d29yayk7XG4gICAgICByZWZFeHBsYW5hdGlvbiA9IGV4cGxhaW5Qc2J0KHBzYnQsIHsgcHViczogYWNpZFRlc3Qucm9vdFdhbGxldEtleXMgfSwgY29pbk5hbWUsIHtcbiAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBwc2J0Qnl0ZXMgPSBwc2J0LnRvQnVmZmVyKCk7XG4gICAgICBjb25zdCBuZXR3b3JrTmFtZSA9IHV0eG9saWIuZ2V0TmV0d29ya05hbWUoYWNpZFRlc3QubmV0d29yayk7XG4gICAgICBhc3NlcnQobmV0d29ya05hbWUpO1xuICAgICAgd2FsbGV0WHB1YnMgPSBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cy5mcm9tKGFjaWRUZXN0LnJvb3RXYWxsZXRLZXlzKTtcbiAgICAgIGN1c3RvbUNoYW5nZVdhbGxldFhwdWJzID0gZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXMuZnJvbShhY2lkVGVzdC5vdGhlcldhbGxldEtleXMpO1xuICAgICAgd2FzbVBzYnQgPSBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQuZnJvbUJ5dGVzKHBzYnRCeXRlcywgbmV0d29ya05hbWUpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWVzIGZvciBleHBsYWluUHNidCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIG5vdGU6IGBvdXRwdXRzYCBtZWFucyBleHRlcm5hbCBvdXRwdXRzIGhlcmVcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZWZFeHBsYW5hdGlvbi5vdXRwdXRzLmxlbmd0aCwgMyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVmRXhwbGFuYXRpb24uY2hhbmdlT3V0cHV0cy5sZW5ndGgsIGFjaWRUZXN0Lm91dHB1dHMubGVuZ3RoIC0gMyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVmRXhwbGFuYXRpb24ub3V0cHV0QW1vdW50LCAnMTgwMCcpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMubGVuZ3RoLCBhY2lkVGVzdC5vdXRwdXRzLmxlbmd0aCAtIDMpO1xuICAgICAgcmVmRXhwbGFuYXRpb24uY2hhbmdlT3V0cHV0cy5mb3JFYWNoKChjaGFuZ2UpID0+IHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGNoYW5nZS5hbW91bnQsICc5MDAnKTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBjaGFuZ2UuYWRkcmVzcywgJ3N0cmluZycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgncmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIHNob3VsZCBzdXBwb3J0IGN1c3RvbSBjaGFuZ2Ugb3V0cHV0cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGNvaW5OYW1lID0gZ2V0Q29pbk5hbWUoYWNpZFRlc3QubmV0d29yayk7XG4gICAgICBjb25zdCBjdXN0b21DaGFuZ2VFeHBsYW5hdGlvbiA9IGV4cGxhaW5Qc2J0KFxuICAgICAgICBwc2J0LFxuICAgICAgICB7IHB1YnM6IGFjaWRUZXN0LnJvb3RXYWxsZXRLZXlzLCBjdXN0b21DaGFuZ2VQdWJzOiBhY2lkVGVzdC5vdGhlcldhbGxldEtleXMgfSxcbiAgICAgICAgY29pbk5hbWUsXG4gICAgICAgIHsgc3RyaWN0OiB0cnVlIH1cbiAgICAgICk7XG4gICAgICBhc3NlcnQub2soY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24uY3VzdG9tQ2hhbmdlT3V0cHV0cyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24uY2hhbmdlT3V0cHV0cy5sZW5ndGgsIHJlZkV4cGxhbmF0aW9uLmNoYW5nZU91dHB1dHMubGVuZ3RoKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjdXN0b21DaGFuZ2VFeHBsYW5hdGlvbi5vdXRwdXRzLmxlbmd0aCwgcmVmRXhwbGFuYXRpb24ub3V0cHV0cy5sZW5ndGggLSAxKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjdXN0b21DaGFuZ2VFeHBsYW5hdGlvbi5jdXN0b21DaGFuZ2VPdXRwdXRzLmxlbmd0aCwgMSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY3VzdG9tQ2hhbmdlRXhwbGFuYXRpb24uY3VzdG9tQ2hhbmdlT3V0cHV0c1swXS5hbW91bnQsICc5MDAnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgbWF0Y2ggZXhwbGFpblBzYnRXYXNtJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgd2FzbUV4cGxhbmF0aW9uID0gZXhwbGFpblBzYnRXYXNtKHdhc21Qc2J0LCB3YWxsZXRYcHVicywge1xuICAgICAgICByZXBsYXlQcm90ZWN0aW9uOiB7XG4gICAgICAgICAgcHVibGljS2V5czogW2FjaWRUZXN0LmdldFJlcGxheVByb3RlY3Rpb25QdWJsaWNLZXkoKV0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocmVmRXhwbGFuYXRpb24pKSB7XG4gICAgICAgIGNvbnN0IHJlZlZhbHVlID0gcmVmRXhwbGFuYXRpb25ba2V5XTtcbiAgICAgICAgY29uc3Qgd2FzbVZhbHVlID0gd2FzbUV4cGxhbmF0aW9uW2tleV07XG4gICAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgICAgY2FzZSAnZGlzcGxheU9yZGVyJzpcbiAgICAgICAgICBjYXNlICdpbnB1dFNpZ25hdHVyZXMnOlxuICAgICAgICAgIGNhc2UgJ3NpZ25hdHVyZXMnOlxuICAgICAgICAgICAgLy8gdGhlc2UgYXJlIGRlcHJlY2F0ZWQgZmllbGRzIHRoYXQgd2Ugd2FudCB0byBnZXQgcmlkIG9mXG4gICAgICAgICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhc21WYWx1ZSwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHdhc21WYWx1ZSwgcmVmVmFsdWUsIGBtaXNtYXRjaCBmb3Iga2V5ICR7a2V5fWApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gdmVyaWZ5IG5ldyBmaWVsZHMgYXJlIHByZXNlbnQgYW5kIHN0cmluZ2lmaWVkXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHdhc21FeHBsYW5hdGlvbi5pbnB1dEFtb3VudCwgJ3N0cmluZycpO1xuICAgICAgYXNzZXJ0Lm9rKEFycmF5LmlzQXJyYXkod2FzbUV4cGxhbmF0aW9uLmlucHV0cykpO1xuICAgICAgYXNzZXJ0Lm9rKHdhc21FeHBsYW5hdGlvbi5pbnB1dHMubGVuZ3RoID4gMCk7XG4gICAgICBmb3IgKGNvbnN0IGlucHV0IG9mIHdhc21FeHBsYW5hdGlvbi5pbnB1dHMpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBpbnB1dC5hZGRyZXNzLCAnc3RyaW5nJyk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgaW5wdXQudmFsdWUsICdzdHJpbmcnKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhY2lkVGVzdC5uZXR3b3JrICE9PSB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpdCgnZXhwbGFpblBzYnRXYXNtQmlnSW50IHJldHVybnMgYmlnaW50IGFtb3VudHMgYW5kIGlucHV0cyBhcnJheScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGV4cGxhaW5Qc2J0V2FzbUJpZ0ludCh3YXNtUHNidCwgd2FsbGV0WHB1YnMsIHtcbiAgICAgICAgcmVwbGF5UHJvdGVjdGlvbjogeyBwdWJsaWNLZXlzOiBbYWNpZFRlc3QuZ2V0UmVwbGF5UHJvdGVjdGlvblB1YmxpY0tleSgpXSB9LFxuICAgICAgfSk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHJlc3VsdC5mZWUsICdiaWdpbnQnKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgcmVzdWx0Lm91dHB1dEFtb3VudCwgJ2JpZ2ludCcpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiByZXN1bHQuY2hhbmdlQW1vdW50LCAnYmlnaW50Jyk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwodHlwZW9mIHJlc3VsdC5pbnB1dEFtb3VudCwgJ2JpZ2ludCcpO1xuICAgICAgYXNzZXJ0Lm9rKHJlc3VsdC5pbnB1dHMubGVuZ3RoID4gMCk7XG4gICAgICBmb3IgKGNvbnN0IGlucHV0IG9mIHJlc3VsdC5pbnB1dHMpIHtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHR5cGVvZiBpbnB1dC5hZGRyZXNzLCAnc3RyaW5nJyk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbCh0eXBlb2YgaW5wdXQudmFsdWUsICdiaWdpbnQnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN1bUlucHV0cyA9IHJlc3VsdC5pbnB1dHMucmVkdWNlKChzLCBpKSA9PiBzICsgaS52YWx1ZSwgMG4pO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKHJlc3VsdC5pbnB1dEFtb3VudCwgc3VtSW5wdXRzKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgcmVzdWx0LmZlZSxcbiAgICAgICAgcmVzdWx0LmlucHV0QW1vdW50IC0gcmVzdWx0Lm91dHB1dEFtb3VudCAtIHJlc3VsdC5jaGFuZ2VBbW91bnQgLSByZXN1bHQuY3VzdG9tQ2hhbmdlQW1vdW50XG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgLy8gZXh0ZW5kZWQgdGVzdCBzdWl0ZSBmb3IgYml0Y29pblxuXG4gICAgaXQoJ3JldHVybnMgY3VzdG9tIGNoYW5nZSBvdXRwdXRzIHdoZW4gcGFyYW1ldGVyIGlzIHNldCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHdhc21FeHBsYW5hdGlvbiA9IGV4cGxhaW5Qc2J0V2FzbSh3YXNtUHNidCwgd2FsbGV0WHB1YnMsIHtcbiAgICAgICAgcmVwbGF5UHJvdGVjdGlvbjoge1xuICAgICAgICAgIHB1YmxpY0tleXM6IFthY2lkVGVzdC5nZXRSZXBsYXlQcm90ZWN0aW9uUHVibGljS2V5KCldLFxuICAgICAgICB9LFxuICAgICAgICBjdXN0b21DaGFuZ2VXYWxsZXRYcHVicyxcbiAgICAgIH0pO1xuICAgICAgYXNzZXJ0Lm9rKHdhc21FeHBsYW5hdGlvbi5jdXN0b21DaGFuZ2VPdXRwdXRzKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwod2FzbUV4cGxhbmF0aW9uLm91dHB1dHMubGVuZ3RoLCAyKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwod2FzbUV4cGxhbmF0aW9uLmN1c3RvbUNoYW5nZU91dHB1dHMubGVuZ3RoLCAxKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwod2FzbUV4cGxhbmF0aW9uLmN1c3RvbUNoYW5nZU91dHB1dHNbMF0uYW1vdW50LCAnOTAwJyk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5kZXNjcmliZSgnZXhwbGFpblBzYnQoV2FzbSknLCBmdW5jdGlvbiAoKSB7XG4gIHRlc3R1dGlsLkFjaWRUZXN0LnN1aXRlKCkuZm9yRWFjaCgodGVzdCkgPT4gZGVzY3JpYmVUcmFuc2FjdGlvbldpdGgodGVzdCkpO1xufSk7XG5cbmRlc2NyaWJlKCdhZ2dyZWdhdGVUcmFuc2FjdGlvbkV4cGxhbmF0aW9ucycsIGZ1bmN0aW9uICgpIHtcbiAgdGVzdHV0aWwuQWNpZFRlc3Quc3VpdGUoKVxuICAgIC5maWx0ZXIoKHQpID0+IHQubmV0d29yayA9PT0gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKVxuICAgIC5mb3JFYWNoKChhY2lkVGVzdCkgPT4ge1xuICAgICAgZGVzY3JpYmUoYWNpZFRlc3QubmFtZSwgZnVuY3Rpb24gKCkge1xuICAgICAgICBsZXQgZXhwOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uQmlnSW50O1xuXG4gICAgICAgIGJlZm9yZSgncHJlcGFyZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zdCBwc2J0Qnl0ZXMgPSBhY2lkVGVzdC5jcmVhdGVQc2J0KCkudG9CdWZmZXIoKTtcbiAgICAgICAgICBjb25zdCBuZXR3b3JrTmFtZSA9IHV0eG9saWIuZ2V0TmV0d29ya05hbWUoYWNpZFRlc3QubmV0d29yayk7XG4gICAgICAgICAgYXNzZXJ0KG5ldHdvcmtOYW1lKTtcbiAgICAgICAgICBjb25zdCB3YXNtUHNidCA9IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidC5mcm9tQnl0ZXMocHNidEJ5dGVzLCBuZXR3b3JrTmFtZSk7XG4gICAgICAgICAgY29uc3Qgd2FsbGV0WHB1YnMgPSBmaXhlZFNjcmlwdFdhbGxldC5Sb290V2FsbGV0S2V5cy5mcm9tKGFjaWRUZXN0LnJvb3RXYWxsZXRLZXlzKTtcbiAgICAgICAgICBleHAgPSBleHBsYWluUHNidFdhc21CaWdJbnQod2FzbVBzYnQsIHdhbGxldFhwdWJzLCB7XG4gICAgICAgICAgICByZXBsYXlQcm90ZWN0aW9uOiB7IHB1YmxpY0tleXM6IFthY2lkVGVzdC5nZXRSZXBsYXlQcm90ZWN0aW9uUHVibGljS2V5KCldIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdhZ2dyZWdhdGluZyBhIHNpbmdsZSBleHBsYW5hdGlvbiBpcyBpZGVudGl0eScsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjb25zdCBhZ2cgPSBhZ2dyZWdhdGVUcmFuc2FjdGlvbkV4cGxhbmF0aW9ucyhbZXhwXSk7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5pbnB1dENvdW50LCBleHAuaW5wdXRzLmxlbmd0aCk7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5vdXRwdXRDb3VudCwgZXhwLm91dHB1dHMubGVuZ3RoKTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLmNoYW5nZU91dHB1dENvdW50LCBleHAuY2hhbmdlT3V0cHV0cy5sZW5ndGgpO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cuaW5wdXRBbW91bnQsIGV4cC5pbnB1dEFtb3VudCk7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5vdXRwdXRBbW91bnQsIGV4cC5vdXRwdXRBbW91bnQpO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cuY2hhbmdlQW1vdW50LCBleHAuY2hhbmdlQW1vdW50KTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLmZlZSwgZXhwLmZlZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGl0KCdhZ2dyZWdhdGluZyB0d28gaWRlbnRpY2FsIGV4cGxhbmF0aW9ucyBkb3VibGVzIGFsbCBjb3VudHMgYW5kIGFtb3VudHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgY29uc3QgYWdnID0gYWdncmVnYXRlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbnMoW2V4cCwgZXhwXSk7XG4gICAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKGFnZy5pbnB1dENvdW50LCBleHAuaW5wdXRzLmxlbmd0aCAqIDIpO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cub3V0cHV0Q291bnQsIGV4cC5vdXRwdXRzLmxlbmd0aCAqIDIpO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cuY2hhbmdlT3V0cHV0Q291bnQsIGV4cC5jaGFuZ2VPdXRwdXRzLmxlbmd0aCAqIDIpO1xuICAgICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhZ2cuaW5wdXRBbW91bnQsIGV4cC5pbnB1dEFtb3VudCAqIDJuKTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLm91dHB1dEFtb3VudCwgZXhwLm91dHB1dEFtb3VudCAqIDJuKTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLmNoYW5nZUFtb3VudCwgZXhwLmNoYW5nZUFtb3VudCAqIDJuKTtcbiAgICAgICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYWdnLmZlZSwgZXhwLmZlZSAqIDJuKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbn0pO1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipient.d.ts","sourceRoot":"","sources":["../../../../../test/unit/transaction/recipient.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const assert_1 = __importDefault(require("assert"));
|
|
7
|
+
const utxoCoins_1 = require("../util/utxoCoins");
|
|
8
|
+
describe('AbstractUtxoCoin.checkRecipient', function () {
|
|
9
|
+
const coin = (0, utxoCoins_1.getUtxoCoin)('btc');
|
|
10
|
+
it('does not throw for OP_RETURN output with no address field', function () {
|
|
11
|
+
// Simulates { amount: '0', script: '6a0c...' } coming from buildParams.recipients
|
|
12
|
+
assert_1.default.doesNotThrow(() => {
|
|
13
|
+
coin.checkRecipient({ amount: '0' });
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
it('does not throw for script-prefixed address with zero amount', function () {
|
|
17
|
+
assert_1.default.doesNotThrow(() => {
|
|
18
|
+
coin.checkRecipient({ address: 'scriptPubKey:6a0c68656c6c6f20776f726c64', amount: '0' });
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
it('does not throw for a regular address', function () {
|
|
22
|
+
// A valid mainnet P2PKH address
|
|
23
|
+
assert_1.default.doesNotThrow(() => {
|
|
24
|
+
coin.checkRecipient({ address: '1A1zP1eP5QGefi2DMPTfTL5SLmv7Divf', amount: '1000' });
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
it('throws when OP_RETURN output (no address) has non-zero amount', function () {
|
|
28
|
+
assert_1.default.throws(() => {
|
|
29
|
+
coin.checkRecipient({ amount: '1000' });
|
|
30
|
+
}, /Only zero amounts allowed for non-encodeable scriptPubkeys/);
|
|
31
|
+
});
|
|
32
|
+
it('throws when script-prefixed address has non-zero amount', function () {
|
|
33
|
+
assert_1.default.throws(() => {
|
|
34
|
+
coin.checkRecipient({ address: 'scriptPubKey:6a0c68656c6c6f20776f726c64', amount: '500' });
|
|
35
|
+
}, /Only zero amounts allowed for non-encodeable scriptPubkeys/);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zYWN0aW9uL3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUU1QixpREFBZ0Q7QUFFaEQsUUFBUSxDQUFDLGlDQUFpQyxFQUFFO0lBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUEsdUJBQVcsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVoQyxFQUFFLENBQUMsMkRBQTJELEVBQUU7UUFDOUQsa0ZBQWtGO1FBQ2xGLGdCQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw2REFBNkQsRUFBRTtRQUNoRSxnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHNDQUFzQyxFQUFFO1FBQ3pDLGdDQUFnQztRQUNoQyxnQkFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLCtEQUErRCxFQUFFO1FBQ2xFLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxFQUFFLDREQUE0RCxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMseURBQXlELEVBQUU7UUFDNUQsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0YsQ0FBQyxFQUFFLDREQUE0RCxDQUFDLENBQUM7SUFDbkUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZ2V0VXR4b0NvaW4gfSBmcm9tICcuLi91dGlsL3V0eG9Db2lucyc7XG5cbmRlc2NyaWJlKCdBYnN0cmFjdFV0eG9Db2luLmNoZWNrUmVjaXBpZW50JywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBjb2luID0gZ2V0VXR4b0NvaW4oJ2J0YycpO1xuXG4gIGl0KCdkb2VzIG5vdCB0aHJvdyBmb3IgT1BfUkVUVVJOIG91dHB1dCB3aXRoIG5vIGFkZHJlc3MgZmllbGQnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gU2ltdWxhdGVzIHsgYW1vdW50OiAnMCcsIHNjcmlwdDogJzZhMGMuLi4nIH0gY29taW5nIGZyb20gYnVpbGRQYXJhbXMucmVjaXBpZW50c1xuICAgIGFzc2VydC5kb2VzTm90VGhyb3coKCkgPT4ge1xuICAgICAgY29pbi5jaGVja1JlY2lwaWVudCh7IGFtb3VudDogJzAnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBpdCgnZG9lcyBub3QgdGhyb3cgZm9yIHNjcmlwdC1wcmVmaXhlZCBhZGRyZXNzIHdpdGggemVybyBhbW91bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmRvZXNOb3RUaHJvdygoKSA9PiB7XG4gICAgICBjb2luLmNoZWNrUmVjaXBpZW50KHsgYWRkcmVzczogJ3NjcmlwdFB1YktleTo2YTBjNjg2NTZjNmM2ZjIwNzc2ZjcyNmM2NCcsIGFtb3VudDogJzAnIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBpdCgnZG9lcyBub3QgdGhyb3cgZm9yIGEgcmVndWxhciBhZGRyZXNzJywgZnVuY3Rpb24gKCkge1xuICAgIC8vIEEgdmFsaWQgbWFpbm5ldCBQMlBLSCBhZGRyZXNzXG4gICAgYXNzZXJ0LmRvZXNOb3RUaHJvdygoKSA9PiB7XG4gICAgICBjb2luLmNoZWNrUmVjaXBpZW50KHsgYWRkcmVzczogJzFBMXpQMWVQNVFHZWZpMkRNUFRmVEw1U0xtdjdEaXZmJywgYW1vdW50OiAnMTAwMCcgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCd0aHJvd3Mgd2hlbiBPUF9SRVRVUk4gb3V0cHV0IChubyBhZGRyZXNzKSBoYXMgbm9uLXplcm8gYW1vdW50JywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgY29pbi5jaGVja1JlY2lwaWVudCh7IGFtb3VudDogJzEwMDAnIH0pO1xuICAgIH0sIC9Pbmx5IHplcm8gYW1vdW50cyBhbGxvd2VkIGZvciBub24tZW5jb2RlYWJsZSBzY3JpcHRQdWJrZXlzLyk7XG4gIH0pO1xuXG4gIGl0KCd0aHJvd3Mgd2hlbiBzY3JpcHQtcHJlZml4ZWQgYWRkcmVzcyBoYXMgbm9uLXplcm8gYW1vdW50JywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC50aHJvd3MoKCkgPT4ge1xuICAgICAgY29pbi5jaGVja1JlY2lwaWVudCh7IGFkZHJlc3M6ICdzY3JpcHRQdWJLZXk6NmEwYzY4NjU2YzZjNmYyMDc3NmY3MjZjNjQnLCBhbW91bnQ6ICc1MDAnIH0pO1xuICAgIH0sIC9Pbmx5IHplcm8gYW1vdW50cyBhbGxvd2VkIGZvciBub24tZW5jb2RlYWJsZSBzY3JpcHRQdWJrZXlzLyk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -8,6 +8,6 @@ type RootWalletKeys = UtxolibRootWalletKeys | WasmRootWalletKeys;
|
|
|
8
8
|
* Supports both utxolib and wasm-utxo RootWalletKeys.
|
|
9
9
|
* Utxolib keys are converted to wasm-utxo keys for address generation.
|
|
10
10
|
*/
|
|
11
|
-
export declare function getWalletAddress(coinName: CoinName, walletKeys: RootWalletKeys, chain?: 0 |
|
|
11
|
+
export declare function getWalletAddress(coinName: CoinName, walletKeys: RootWalletKeys, chain?: 0 | 1 | 10 | 11 | 20 | 21 | 30 | 31 | 40 | 41 | 360 | 361, index?: number): string;
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=address.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../../test/unit/util/address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIpE,KAAK,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;AAC1D,KAAK,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAC3D,KAAK,cAAc,GAAG,qBAAqB,GAAG,kBAAkB,CAAC;AAIjE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,cAAc,EAC1B,KAAK,
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../../../test/unit/util/address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIpE,KAAK,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;AAC1D,KAAK,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAC3D,KAAK,cAAc,GAAG,qBAAqB,GAAG,kBAAkB,CAAC;AAIjE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,cAAc,EAC1B,KAAK,4DAAe,EACpB,KAAK,SAAI,GACR,MAAM,CAER"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../../test/unit/util/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAwC,MAAM,kBAAkB,CAAC;AAEnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../../test/unit/util/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAwC,MAAM,kBAAkB,CAAC;AAEnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD,KAAK,qBAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;AAC1D,KAAK,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,EAAE,CAAC;IACJ,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAYF,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,kBAAkB,EAC9B,gBAAgB,EAAE,MAAM,EAAE,GACzB,IAAI,CAgBN;AAED,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACvE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GACzC,cAAc,CAehB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,GAAE,QAAQ,GAAG,QAAmB,GACzC,cAAc,CAQhB;AAED,wBAAgB,yBAAyB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAChF,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAaxC;AAoBD,wBAAgB,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAClF,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAC5B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAChE,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAChD,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAKxC;AAED,wBAAgB,2BAA2B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAClF,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,EAC5B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAChE,UAAU,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,GAClD,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAUxC"}
|
|
@@ -128,4 +128,4 @@ function createFullSignedTransaction(network, unspents, outputAddress, signer, h
|
|
|
128
128
|
}
|
|
129
129
|
return createTransactionBuilderWithSignedInputs(network, unspents, new utxolib.bitgo.WalletUnspentSigner(signer.walletKeys, signer.cosigner, signer.signer), halfSigned).build();
|
|
130
130
|
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdXRpbC90cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDQSxzREFzQkM7QUFFRCw0Q0FpQkM7QUFFRCxrREFZQztBQUVELDhEQWlCQztBQW9CRCxrRUFXQztBQUVELGtFQWdCQztBQWhLRCxvREFBNEI7QUFFNUIseURBQTJDO0FBQzNDLGdEQUFtRztBQUtuRywyQ0FBb0Q7QUFDcEQsTUFBTSxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFrQmhFLFNBQVMsVUFBVSxDQUNqQixDQUFtQixFQUNuQixPQUF3QjtJQUV4QixPQUFPO1FBQ0wsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUEsaUNBQXFCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUNuQyxDQUFTLEVBQ1QsQ0FBUyxFQUNULFFBQXNCLEVBQ3RCLFVBQThCLEVBQzlCLGdCQUEwQjtJQUUxQixJQUFJLENBQUMsSUFBQSx3QkFBWSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBQSx3QkFBWSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyw2QkFBaUIsQ0FBQyxTQUFT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dCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBFQ1BhaXIsIGZpeGVkU2NyaXB0V2FsbGV0LCBoYXNQc2J0TWFnaWMsIGFkZHJlc3MgYXMgd2FzbUFkZHJlc3MgfSBmcm9tICdAYml0Z28vd2FzbS11dHhvJztcblxuaW1wb3J0IHR5cGUgeyBVdHhvQ29pbk5hbWUgfSBmcm9tICcuLi8uLi8uLi9zcmMvbmFtZXMnO1xuaW1wb3J0IHR5cGUgeyBVbnNwZW50LCBXYWxsZXRVbnNwZW50IH0gZnJvbSAnLi4vLi4vLi4vc3JjL3Vuc3BlbnQnO1xuXG5pbXBvcnQgeyBnZXRDb2luTmFtZUZvck5ldHdvcmsgfSBmcm9tICcuL3V0eG9Db2lucyc7XG5jb25zdCB7IGlzV2FsbGV0VW5zcGVudCwgc2lnbklucHV0V2l0aFVuc3BlbnQgfSA9IHV0eG9saWIuYml0Z287XG50eXBlIFV0eG9saWJSb290V2FsbGV0S2V5cyA9IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXM7XG50eXBlIFdhc21Sb290V2FsbGV0S2V5cyA9IGZpeGVkU2NyaXB0V2FsbGV0LlJvb3RXYWxsZXRLZXlzO1xuZXhwb3J0IHR5cGUgVHJhbnNhY3Rpb25PYmogPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGhleDogc3RyaW5nO1xuICBpbnM6IHtcbiAgICB0eGlkOiBzdHJpbmc7XG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICBzY3JpcHRTaWc/OiBzdHJpbmc7XG4gICAgd2l0bmVzcz86IHN0cmluZ1tdO1xuICB9W107XG4gIG91dHM6IHtcbiAgICBzY3JpcHQ6IHN0cmluZztcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nO1xuICB9W107XG59O1xuXG5mdW5jdGlvbiB0b1R4T3V0cHV0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+KFxuICB1OiBVbnNwZW50PFROdW1iZXI+LFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IHV0eG9saWIuVHhPdXRwdXQ8VE51bWJlcj4ge1xuICByZXR1cm4ge1xuICAgIHNjcmlwdDogQnVmZmVyLmZyb20od2FzbUFkZHJlc3MudG9PdXRwdXRTY3JpcHRXaXRoQ29pbih1LmFkZHJlc3MsIGdldENvaW5OYW1lRm9yTmV0d29yayhuZXR3b3JrKSkpLFxuICAgIHZhbHVlOiB1LnZhbHVlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0RXF1YWxQYXJzZWRQc2J0KFxuICBhOiBCdWZmZXIsXG4gIGI6IEJ1ZmZlcixcbiAgY29pbk5hbWU6IFV0eG9Db2luTmFtZSxcbiAgd2FsbGV0S2V5czogV2FzbVJvb3RXYWxsZXRLZXlzLFxuICByZXBsYXlQcm90ZWN0aW9uOiBFQ1BhaXJbXVxuKTogdm9pZCB7XG4gIGlmICghaGFzUHNidE1hZ2ljKGEpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdhIGlzIG5vdCBhIHBzYnQnKTtcbiAgfVxuICBpZiAoIWhhc1BzYnRNYWdpYyhiKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignYiBpcyBub3QgYSBwc2J0Jyk7XG4gIH1cbiAgY29uc3QgYVBzYnQgPSBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQuZnJvbUJ5dGVzKGEsIGNvaW5OYW1lKTtcbiAgY29uc3QgYlBzYnQgPSBmaXhlZFNjcmlwdFdhbGxldC5CaXRHb1BzYnQuZnJvbUJ5dGVzKGIsIGNvaW5OYW1lKTtcbiAgY29uc3QgYVBhcnNlZCA9IGFQc2J0LnBhcnNlVHJhbnNhY3Rpb25XaXRoV2FsbGV0S2V5cyh3YWxsZXRLZXlzLCB7XG4gICAgcmVwbGF5UHJvdGVjdGlvbjogeyBwdWJsaWNLZXlzOiByZXBsYXlQcm90ZWN0aW9uIH0sXG4gIH0pO1xuICBjb25zdCBiUGFyc2VkID0gYlBzYnQucGFyc2VUcmFuc2FjdGlvbldpdGhXYWxsZXRLZXlzKHdhbGxldEtleXMsIHtcbiAgICByZXBsYXlQcm90ZWN0aW9uOiB7IHB1YmxpY0tleXM6IHJlcGxheVByb3RlY3Rpb24gfSxcbiAgfSk7XG4gIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoYVBhcnNlZCwgYlBhcnNlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2FjdGlvblRvT2JqPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+KFxuICB0eDogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj5cbik6IFRyYW5zYWN0aW9uT2JqIHtcbiAgcmV0dXJuIHtcbiAgICBpZDogdHguZ2V0SWQoKSxcbiAgICBoZXg6IHR4LnRvQnVmZmVyKCkudG9TdHJpbmcoJ2hleCcpLFxuICAgIGluczogdHguaW5zLm1hcCgodikgPT4gKHtcbiAgICAgIHR4aWQ6IEJ1ZmZlci5mcm9tKHYuaGFzaCkucmV2ZXJzZSgpLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIGluZGV4OiB2LmluZGV4LFxuICAgICAgc2NyaXB0OiB2LnNjcmlwdD8udG9TdHJpbmcoJ2hleCcpLFxuICAgICAgd2l0bmVzczogdi53aXRuZXNzPy5tYXAoKHYpID0+IHYudG9TdHJpbmcoJ2hleCcpKSxcbiAgICB9KSksXG4gICAgb3V0czogdHgub3V0cy5tYXAoKHYpID0+ICh7XG4gICAgICBzY3JpcHQ6IHYuc2NyaXB0LnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHZhbHVlOiB0eXBlb2Ygdi52YWx1ZSA9PT0gJ2JpZ2ludCcgPyB2LnZhbHVlLnRvU3RyaW5nKCkgOiAodi52YWx1ZSBhcyBudW1iZXIpLFxuICAgIH0pKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zYWN0aW9uSGV4VG9PYmooXG4gIHR4SGV4OiBzdHJpbmcsXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgYW1vdW50VHlwZTogJ251bWJlcicgfCAnYmlnaW50JyA9ICdudW1iZXInXG4pOiBUcmFuc2FjdGlvbk9iaiB7XG4gIGNvbnN0IG9iaiA9IHRyYW5zYWN0aW9uVG9PYmooXG4gICAgdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21CdWZmZXIoQnVmZmVyLmZyb20odHhIZXgsICdoZXgnKSwgbmV0d29yaywgeyBhbW91bnRUeXBlIH0pXG4gICk7XG4gIGlmIChvYmouaGV4ICE9PSB0eEhleCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgc2VyaWFsaXplZCB0eEhleCBkb2VzIG5vdCBtYXRjaCBpbnB1dGApO1xuICB9XG4gIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcmVidWlsZFRyYW5zYWN0aW9uPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+KFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIHVuc3BlbnRzOiBVbnNwZW50PFROdW1iZXI+W10sXG4gIG91dHB1dEFkZHJlc3M6IHN0cmluZ1xuKTogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj4ge1xuICBjb25zdCB0eGIgPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uQnVpbGRlckZvck5ldHdvcms8VE51bWJlcj4obmV0d29yayk7XG4gIHVuc3BlbnRzLmZvckVhY2goKHUpID0+IHtcbiAgICBjb25zdCBbdHhpZCwgdmluXSA9IHUuaWQuc3BsaXQoJzonKTtcbiAgICB0eGIuYWRkSW5wdXQodHhpZCwgTnVtYmVyKHZpbikpO1xuICB9KTtcbiAgY29uc3QgYW1vdW50VHlwZSA9IHVuc3BlbnRzLmxlbmd0aCA+IDAgJiYgdHlwZW9mIHVuc3BlbnRzWzBdLnZhbHVlID09PSAnYmlnaW50JyA/ICdiaWdpbnQnIDogJ251bWJlcic7XG4gIGlmIChhbW91bnRUeXBlID09PSAnbnVtYmVyJykge1xuICAgIHVuc3BlbnRzLmZvckVhY2goKHUpID0+ICh1LnZhbHVlID0gTWF0aC5yb3VuZCh1LnZhbHVlIGFzIG51bWJlcikgYXMgVE51bWJlcikpO1xuICB9XG4gIGNvbnN0IHVuc3BlbnRTdW0gPSB1dHhvbGliLmJpdGdvLnVuc3BlbnRTdW08VE51bWJlcj4odW5zcGVudHMsIGFtb3VudFR5cGUpO1xuICB0eGIuYWRkT3V0cHV0KG91dHB1dEFkZHJlc3MsIHV0eG9saWIuYml0Z28udG9UTnVtYmVyPFROdW1iZXI+KEJpZ0ludCh1bnNwZW50U3VtKSAtIEJpZ0ludCgxMDAwKSwgYW1vdW50VHlwZSkpO1xuICByZXR1cm4gdHhiLmJ1aWxkSW5jb21wbGV0ZSgpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJXaXRoU2lnbmVkSW5wdXRzPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQgPSBudW1iZXI+KFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIHVuc3BlbnRzOiBVbnNwZW50PFROdW1iZXI+W10sXG4gIHNpZ25lcjogdXR4b2xpYi5iaXRnby5XYWxsZXRVbnNwZW50U2lnbmVyPFV0eG9saWJSb290V2FsbGV0S2V5cz4sXG4gIGlucHV0VHJhbnNhY3Rpb246IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+XG4pOiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbkJ1aWxkZXI8VE51bWJlcj4ge1xuICBjb25zdCB0eEJ1aWxkZXIgPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uQnVpbGRlckZyb21UcmFuc2FjdGlvbjxUTnVtYmVyPihcbiAgICBpbnB1dFRyYW5zYWN0aW9uLFxuICAgIHVuc3BlbnRzLm1hcCgodSkgPT4gdG9UeE91dHB1dDxUTnVtYmVyPih1LCBuZXR3b3JrKSlcbiAgKTtcbiAgdW5zcGVudHMuZm9yRWFjaCgodSwgaW5wdXRJbmRleCkgPT4ge1xuICAgIGlmIChpc1dhbGxldFVuc3BlbnQ8VE51bWJlcj4odSkpIHtcbiAgICAgIHNpZ25JbnB1dFdpdGhVbnNwZW50PFROdW1iZXI+KHR4QnVpbGRlciwgaW5wdXRJbmRleCwgdSBhcyBXYWxsZXRVbnNwZW50PFROdW1iZXI+LCBzaWduZXIpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB0eEJ1aWxkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVIYWxmU2lnbmVkVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgdW5zcGVudHM6IFVuc3BlbnQ8VE51bWJlcj5bXSxcbiAgb3V0cHV0QWRkcmVzczogc3RyaW5nLFxuICBzaWduZXI6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudFNpZ25lcjxVdHhvbGliUm9vdFdhbGxldEtleXM+LFxuICBwcmVidWlsZD86IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+XG4pOiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPiB7XG4gIGlmICghcHJlYnVpbGQpIHtcbiAgICBwcmVidWlsZCA9IGNyZWF0ZVByZWJ1aWxkVHJhbnNhY3Rpb248VE51bWJlcj4obmV0d29yaywgdW5zcGVudHMsIG91dHB1dEFkZHJlc3MpO1xuICB9XG4gIHJldHVybiBjcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJXaXRoU2lnbmVkSW5wdXRzPFROdW1iZXI+KG5ldHdvcmssIHVuc3BlbnRzLCBzaWduZXIsIHByZWJ1aWxkKS5idWlsZEluY29tcGxldGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1bGxTaWduZWRUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICB1bnNwZW50czogVW5zcGVudDxUTnVtYmVyPltdLFxuICBvdXRwdXRBZGRyZXNzOiBzdHJpbmcsXG4gIHNpZ25lcjogdXR4b2xpYi5iaXRnby5XYWxsZXRVbnNwZW50U2lnbmVyPFV0eG9saWJSb290V2FsbGV0S2V5cz4sXG4gIGhhbGZTaWduZWQ/OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPlxuKTogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj4ge1xuICBpZiAoIWhhbGZTaWduZWQpIHtcbiAgICBoYWxmU2lnbmVkID0gY3JlYXRlSGFsZlNpZ25lZFRyYW5zYWN0aW9uPFROdW1iZXI+KG5ldHdvcmssIHVuc3BlbnRzLCBvdXRwdXRBZGRyZXNzLCBzaWduZXIpO1xuICB9XG4gIHJldHVybiBjcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJXaXRoU2lnbmVkSW5wdXRzPFROdW1iZXI+KFxuICAgIG5ldHdvcmssXG4gICAgdW5zcGVudHMsXG4gICAgbmV3IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudFNpZ25lcihzaWduZXIud2FsbGV0S2V5cywgc2lnbmVyLmNvc2lnbmVyLCBzaWduZXIuc2lnbmVyKSxcbiAgICBoYWxmU2lnbmVkXG4gICkuYnVpbGQoKTtcbn1cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvdXRpbC90cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDQSxzREFzQkM7QUFFRCw0Q0FpQkM7QUFFRCxrREFZQztBQUVELDhEQWlCQztBQW9CRCxrRUFXQztBQUVELGtFQWdCQztBQWhLRCxvREFBNEI7QUFFNUIseURBQTJDO0FBQzNDLGdEQUFtRztBQUtuRywyQ0FBb0Q7QUFDcEQsTUFBTSxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFrQmhFLFNBQVMsVUFBVSxDQUNqQixDQUFtQixFQUNuQixPQUF3QjtJQUV4QixPQUFPO1FBQ0wsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUEsaUNBQXFCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUNuQyxDQUFTLEVBQ1QsQ0FBUyxFQUNULFFBQXNCLEVBQ3RCLFVBQThCLEVBQzlCLGdCQUEwQjtJQUUxQixJQUFJLENBQUMsSUFBQSx3QkFBWSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBQSx3QkFBWSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRyw2QkFBaUIsQ0FBQyxTQUFT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IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IEVDUGFpciwgZml4ZWRTY3JpcHRXYWxsZXQsIGhhc1BzYnRNYWdpYywgYWRkcmVzcyBhcyB3YXNtQWRkcmVzcyB9IGZyb20gJ0BiaXRnby93YXNtLXV0eG8nO1xuXG5pbXBvcnQgdHlwZSB7IFV0eG9Db2luTmFtZSB9IGZyb20gJy4uLy4uLy4uL3NyYy9uYW1lcyc7XG5pbXBvcnQgdHlwZSB7IFVuc3BlbnQgfSBmcm9tICcuLi8uLi8uLi9zcmMvdW5zcGVudCc7XG5cbmltcG9ydCB7IGdldENvaW5OYW1lRm9yTmV0d29yayB9IGZyb20gJy4vdXR4b0NvaW5zJztcbmNvbnN0IHsgaXNXYWxsZXRVbnNwZW50LCBzaWduSW5wdXRXaXRoVW5zcGVudCB9ID0gdXR4b2xpYi5iaXRnbztcbnR5cGUgVXR4b2xpYlJvb3RXYWxsZXRLZXlzID0gdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cztcbnR5cGUgV2FzbVJvb3RXYWxsZXRLZXlzID0gZml4ZWRTY3JpcHRXYWxsZXQuUm9vdFdhbGxldEtleXM7XG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvbk9iaiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgaGV4OiBzdHJpbmc7XG4gIGluczoge1xuICAgIHR4aWQ6IHN0cmluZztcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIHNjcmlwdFNpZz86IHN0cmluZztcbiAgICB3aXRuZXNzPzogc3RyaW5nW107XG4gIH1bXTtcbiAgb3V0czoge1xuICAgIHNjcmlwdDogc3RyaW5nO1xuICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmc7XG4gIH1bXTtcbn07XG5cbmZ1bmN0aW9uIHRvVHhPdXRwdXQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gIHU6IFVuc3BlbnQ8VE51bWJlcj4sXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTogdXR4b2xpYi5UeE91dHB1dDxUTnVtYmVyPiB7XG4gIHJldHVybiB7XG4gICAgc2NyaXB0OiBCdWZmZXIuZnJvbSh3YXNtQWRkcmVzcy50b091dHB1dFNjcmlwdFdpdGhDb2luKHUuYWRkcmVzcywgZ2V0Q29pbk5hbWVGb3JOZXR3b3JrKG5ldHdvcmspKSksXG4gICAgdmFsdWU6IHUudmFsdWUsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRFcXVhbFBhcnNlZFBzYnQoXG4gIGE6IEJ1ZmZlcixcbiAgYjogQnVmZmVyLFxuICBjb2luTmFtZTogVXR4b0NvaW5OYW1lLFxuICB3YWxsZXRLZXlzOiBXYXNtUm9vdFdhbGxldEtleXMsXG4gIHJlcGxheVByb3RlY3Rpb246IEVDUGFpcltdXG4pOiB2b2lkIHtcbiAgaWYgKCFoYXNQc2J0TWFnaWMoYSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2EgaXMgbm90IGEgcHNidCcpO1xuICB9XG4gIGlmICghaGFzUHNidE1hZ2ljKGIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdiIGlzIG5vdCBhIHBzYnQnKTtcbiAgfVxuICBjb25zdCBhUHNidCA9IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidC5mcm9tQnl0ZXMoYSwgY29pbk5hbWUpO1xuICBjb25zdCBiUHNidCA9IGZpeGVkU2NyaXB0V2FsbGV0LkJpdEdvUHNidC5mcm9tQnl0ZXMoYiwgY29pbk5hbWUpO1xuICBjb25zdCBhUGFyc2VkID0gYVBzYnQucGFyc2VUcmFuc2FjdGlvbldpdGhXYWxsZXRLZXlzKHdhbGxldEtleXMsIHtcbiAgICByZXBsYXlQcm90ZWN0aW9uOiB7IHB1YmxpY0tleXM6IHJlcGxheVByb3RlY3Rpb24gfSxcbiAgfSk7XG4gIGNvbnN0IGJQYXJzZWQgPSBiUHNidC5wYXJzZVRyYW5zYWN0aW9uV2l0aFdhbGxldEtleXMod2FsbGV0S2V5cywge1xuICAgIHJlcGxheVByb3RlY3Rpb246IHsgcHVibGljS2V5czogcmVwbGF5UHJvdGVjdGlvbiB9LFxuICB9KTtcbiAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChhUGFyc2VkLCBiUGFyc2VkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zYWN0aW9uVG9PYmo8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gIHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPlxuKTogVHJhbnNhY3Rpb25PYmoge1xuICByZXR1cm4ge1xuICAgIGlkOiB0eC5nZXRJZCgpLFxuICAgIGhleDogdHgudG9CdWZmZXIoKS50b1N0cmluZygnaGV4JyksXG4gICAgaW5zOiB0eC5pbnMubWFwKCh2KSA9PiAoe1xuICAgICAgdHhpZDogQnVmZmVyLmZyb20odi5oYXNoKS5yZXZlcnNlKCkudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgaW5kZXg6IHYuaW5kZXgsXG4gICAgICBzY3JpcHQ6IHYuc2NyaXB0Py50b1N0cmluZygnaGV4JyksXG4gICAgICB3aXRuZXNzOiB2LndpdG5lc3M/Lm1hcCgodikgPT4gdi50b1N0cmluZygnaGV4JykpLFxuICAgIH0pKSxcbiAgICBvdXRzOiB0eC5vdXRzLm1hcCgodikgPT4gKHtcbiAgICAgIHNjcmlwdDogdi5zY3JpcHQudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgdmFsdWU6IHR5cGVvZiB2LnZhbHVlID09PSAnYmlnaW50JyA/IHYudmFsdWUudG9TdHJpbmcoKSA6ICh2LnZhbHVlIGFzIG51bWJlciksXG4gICAgfSkpLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNhY3Rpb25IZXhUb09iaihcbiAgdHhIZXg6IHN0cmluZyxcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICBhbW91bnRUeXBlOiAnbnVtYmVyJyB8ICdiaWdpbnQnID0gJ251bWJlcidcbik6IFRyYW5zYWN0aW9uT2JqIHtcbiAgY29uc3Qgb2JqID0gdHJhbnNhY3Rpb25Ub09iaihcbiAgICB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcihCdWZmZXIuZnJvbSh0eEhleCwgJ2hleCcpLCBuZXR3b3JrLCB7IGFtb3VudFR5cGUgfSlcbiAgKTtcbiAgaWYgKG9iai5oZXggIT09IHR4SGV4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBzZXJpYWxpemVkIHR4SGV4IGRvZXMgbm90IG1hdGNoIGlucHV0YCk7XG4gIH1cbiAgcmV0dXJuIG9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByZWJ1aWxkVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgdW5zcGVudHM6IFVuc3BlbnQ8VE51bWJlcj5bXSxcbiAgb3V0cHV0QWRkcmVzczogc3RyaW5nXG4pOiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPiB7XG4gIGNvbnN0IHR4YiA9IHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25CdWlsZGVyRm9yTmV0d29yazxUTnVtYmVyPihuZXR3b3JrKTtcbiAgdW5zcGVudHMuZm9yRWFjaCgodSkgPT4ge1xuICAgIGNvbnN0IFt0eGlkLCB2aW5dID0gdS5pZC5zcGxpdCgnOicpO1xuICAgIHR4Yi5hZGRJbnB1dCh0eGlkLCBOdW1iZXIodmluKSk7XG4gIH0pO1xuICBjb25zdCBhbW91bnRUeXBlID0gdW5zcGVudHMubGVuZ3RoID4gMCAmJiB0eXBlb2YgdW5zcGVudHNbMF0udmFsdWUgPT09ICdiaWdpbnQnID8gJ2JpZ2ludCcgOiAnbnVtYmVyJztcbiAgaWYgKGFtb3VudFR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgdW5zcGVudHMuZm9yRWFjaCgodSkgPT4gKHUudmFsdWUgPSBNYXRoLnJvdW5kKHUudmFsdWUgYXMgbnVtYmVyKSBhcyBUTnVtYmVyKSk7XG4gIH1cbiAgY29uc3QgdW5zcGVudFN1bSA9IHV0eG9saWIuYml0Z28udW5zcGVudFN1bTxUTnVtYmVyPih1bnNwZW50cywgYW1vdW50VHlwZSk7XG4gIHR4Yi5hZGRPdXRwdXQob3V0cHV0QWRkcmVzcywgdXR4b2xpYi5iaXRnby50b1ROdW1iZXI8VE51bWJlcj4oQmlnSW50KHVuc3BlbnRTdW0pIC0gQmlnSW50KDEwMDApLCBhbW91bnRUeXBlKSk7XG4gIHJldHVybiB0eGIuYnVpbGRJbmNvbXBsZXRlKCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVRyYW5zYWN0aW9uQnVpbGRlcldpdGhTaWduZWRJbnB1dHM8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgdW5zcGVudHM6IFVuc3BlbnQ8VE51bWJlcj5bXSxcbiAgc2lnbmVyOiB1dHhvbGliLmJpdGdvLldhbGxldFVuc3BlbnRTaWduZXI8VXR4b2xpYlJvb3RXYWxsZXRLZXlzPixcbiAgaW5wdXRUcmFuc2FjdGlvbjogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj5cbik6IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uQnVpbGRlcjxUTnVtYmVyPiB7XG4gIGNvbnN0IHR4QnVpbGRlciA9IHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25CdWlsZGVyRnJvbVRyYW5zYWN0aW9uPFROdW1iZXI+KFxuICAgIGlucHV0VHJhbnNhY3Rpb24sXG4gICAgdW5zcGVudHMubWFwKCh1KSA9PiB0b1R4T3V0cHV0PFROdW1iZXI+KHUsIG5ldHdvcmspKVxuICApO1xuICB1bnNwZW50cy5mb3JFYWNoKCh1LCBpbnB1dEluZGV4KSA9PiB7XG4gICAgaWYgKGlzV2FsbGV0VW5zcGVudDxUTnVtYmVyPih1KSkge1xuICAgICAgc2lnbklucHV0V2l0aFVuc3BlbnQ8VE51bWJlcj4odHhCdWlsZGVyLCBpbnB1dEluZGV4LCB1LCBzaWduZXIpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB0eEJ1aWxkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVIYWxmU2lnbmVkVHJhbnNhY3Rpb248VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludCA9IG51bWJlcj4oXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgdW5zcGVudHM6IFVuc3BlbnQ8VE51bWJlcj5bXSxcbiAgb3V0cHV0QWRkcmVzczogc3RyaW5nLFxuICBzaWduZXI6IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudFNpZ25lcjxVdHhvbGliUm9vdFdhbGxldEtleXM+LFxuICBwcmVidWlsZD86IHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uPFROdW1iZXI+XG4pOiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPiB7XG4gIGlmICghcHJlYnVpbGQpIHtcbiAgICBwcmVidWlsZCA9IGNyZWF0ZVByZWJ1aWxkVHJhbnNhY3Rpb248VE51bWJlcj4obmV0d29yaywgdW5zcGVudHMsIG91dHB1dEFkZHJlc3MpO1xuICB9XG4gIHJldHVybiBjcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJXaXRoU2lnbmVkSW5wdXRzPFROdW1iZXI+KG5ldHdvcmssIHVuc3BlbnRzLCBzaWduZXIsIHByZWJ1aWxkKS5idWlsZEluY29tcGxldGUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1bGxTaWduZWRUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPihcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICB1bnNwZW50czogVW5zcGVudDxUTnVtYmVyPltdLFxuICBvdXRwdXRBZGRyZXNzOiBzdHJpbmcsXG4gIHNpZ25lcjogdXR4b2xpYi5iaXRnby5XYWxsZXRVbnNwZW50U2lnbmVyPFV0eG9saWJSb290V2FsbGV0S2V5cz4sXG4gIGhhbGZTaWduZWQ/OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPlxuKTogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248VE51bWJlcj4ge1xuICBpZiAoIWhhbGZTaWduZWQpIHtcbiAgICBoYWxmU2lnbmVkID0gY3JlYXRlSGFsZlNpZ25lZFRyYW5zYWN0aW9uPFROdW1iZXI+KG5ldHdvcmssIHVuc3BlbnRzLCBvdXRwdXRBZGRyZXNzLCBzaWduZXIpO1xuICB9XG4gIHJldHVybiBjcmVhdGVUcmFuc2FjdGlvbkJ1aWxkZXJXaXRoU2lnbmVkSW5wdXRzPFROdW1iZXI+KFxuICAgIG5ldHdvcmssXG4gICAgdW5zcGVudHMsXG4gICAgbmV3IHV0eG9saWIuYml0Z28uV2FsbGV0VW5zcGVudFNpZ25lcihzaWduZXIud2FsbGV0S2V5cywgc2lnbmVyLmNvc2lnbmVyLCBzaWduZXIuc2lnbmVyKSxcbiAgICBoYWxmU2lnbmVkXG4gICkuYnVpbGQoKTtcbn1cbiJdfQ==
|