@bitgo-beta/utxo-lib 8.0.3-beta.98 → 8.0.3-beta.981
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/address.d.ts +0 -1
- package/dist/src/address.d.ts.map +1 -1
- package/dist/src/address.js +10 -10
- package/dist/src/addressFormat.d.ts +1 -2
- package/dist/src/addressFormat.d.ts.map +1 -1
- package/dist/src/addressFormat.js +21 -26
- package/dist/src/bitgo/Musig2.d.ts +1 -2
- package/dist/src/bitgo/Musig2.d.ts.map +1 -1
- package/dist/src/bitgo/Musig2.js +42 -42
- package/dist/src/bitgo/ProprietaryKeyValUtils.d.ts +27 -0
- package/dist/src/bitgo/ProprietaryKeyValUtils.d.ts.map +1 -0
- package/dist/src/bitgo/ProprietaryKeyValUtils.js +74 -0
- package/dist/src/bitgo/PsbtUtil.d.ts +22 -23
- package/dist/src/bitgo/PsbtUtil.d.ts.map +1 -1
- package/dist/src/bitgo/PsbtUtil.js +71 -22
- package/dist/src/bitgo/Unspent.d.ts +2 -3
- package/dist/src/bitgo/Unspent.d.ts.map +1 -1
- package/dist/src/bitgo/Unspent.js +14 -15
- package/dist/src/bitgo/UtxoPsbt.d.ts +21 -8
- package/dist/src/bitgo/UtxoPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoPsbt.js +130 -117
- package/dist/src/bitgo/UtxoTransaction.d.ts +0 -1
- package/dist/src/bitgo/UtxoTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoTransaction.js +12 -12
- package/dist/src/bitgo/UtxoTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/UtxoTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/UtxoTransactionBuilder.js +1 -1
- package/dist/src/bitgo/bitcoincash/address.d.ts +0 -1
- package/dist/src/bitgo/bitcoincash/address.d.ts.map +1 -1
- package/dist/src/bitgo/bitcoincash/address.js +11 -12
- package/dist/src/bitgo/bitcoincash/index.js +6 -2
- package/dist/src/bitgo/dash/DashPsbt.d.ts +1 -1
- package/dist/src/bitgo/dash/DashPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashPsbt.js +4 -1
- package/dist/src/bitgo/dash/DashTransaction.d.ts +0 -1
- package/dist/src/bitgo/dash/DashTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashTransaction.js +3 -3
- package/dist/src/bitgo/dash/DashTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/dash/DashTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/dash/DashTransactionBuilder.js +1 -1
- package/dist/src/bitgo/dash/index.js +6 -2
- package/dist/src/bitgo/index.d.ts +4 -1
- package/dist/src/bitgo/index.d.ts.map +1 -1
- package/dist/src/bitgo/index.js +10 -3
- package/dist/src/bitgo/keyutil.d.ts +9 -1
- package/dist/src/bitgo/keyutil.d.ts.map +1 -1
- package/dist/src/bitgo/keyutil.js +25 -4
- package/dist/src/bitgo/legacysafe/index.d.ts +0 -1
- package/dist/src/bitgo/legacysafe/index.d.ts.map +1 -1
- package/dist/src/bitgo/legacysafe/index.js +12 -9
- package/dist/src/bitgo/litecoin/LitecoinPsbt.d.ts +1 -1
- package/dist/src/bitgo/litecoin/LitecoinPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/litecoin/LitecoinPsbt.js +4 -1
- package/dist/src/bitgo/litecoin/LitecoinTransaction.d.ts +1 -2
- package/dist/src/bitgo/litecoin/LitecoinTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/litecoin/LitecoinTransaction.js +2 -2
- package/dist/src/bitgo/litecoin/index.js +6 -2
- package/dist/src/bitgo/nonStandardHalfSigned.js +2 -3
- package/dist/src/bitgo/outputScripts.d.ts +8 -8
- package/dist/src/bitgo/outputScripts.d.ts.map +1 -1
- package/dist/src/bitgo/outputScripts.js +56 -39
- package/dist/src/bitgo/parseInput.d.ts +7 -8
- package/dist/src/bitgo/parseInput.d.ts.map +1 -1
- package/dist/src/bitgo/parseInput.js +14 -15
- package/dist/src/bitgo/psbt/fromHalfSigned.d.ts +0 -1
- package/dist/src/bitgo/psbt/fromHalfSigned.d.ts.map +1 -1
- package/dist/src/bitgo/psbt/fromHalfSigned.js +7 -8
- package/dist/src/bitgo/psbt/scriptTypes.d.ts +0 -1
- package/dist/src/bitgo/psbt/scriptTypes.d.ts.map +1 -1
- package/dist/src/bitgo/psbt/scriptTypes.js +7 -8
- package/dist/src/bitgo/signature.d.ts +2 -3
- package/dist/src/bitgo/signature.d.ts.map +1 -1
- package/dist/src/bitgo/signature.js +25 -17
- package/dist/src/bitgo/tnumber.js +2 -3
- package/dist/src/bitgo/transaction.d.ts +13 -1
- package/dist/src/bitgo/transaction.d.ts.map +1 -1
- package/dist/src/bitgo/transaction.js +49 -23
- package/dist/src/bitgo/transactionAmounts.d.ts +9 -0
- package/dist/src/bitgo/transactionAmounts.d.ts.map +1 -0
- package/dist/src/bitgo/transactionAmounts.js +32 -0
- package/dist/src/bitgo/types.d.ts +8 -2
- package/dist/src/bitgo/types.d.ts.map +1 -1
- package/dist/src/bitgo/types.js +12 -4
- package/dist/src/bitgo/wallet/Psbt.d.ts +43 -19
- package/dist/src/bitgo/wallet/Psbt.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/Psbt.js +112 -50
- package/dist/src/bitgo/wallet/ScriptId.d.ts +14 -0
- package/dist/src/bitgo/wallet/ScriptId.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/ScriptId.js +28 -0
- package/dist/src/bitgo/wallet/Unspent.d.ts +23 -16
- package/dist/src/bitgo/wallet/Unspent.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/Unspent.js +68 -64
- package/dist/src/bitgo/wallet/WalletKeys.d.ts +1 -2
- package/dist/src/bitgo/wallet/WalletKeys.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/WalletKeys.js +3 -3
- package/dist/src/bitgo/wallet/WalletOutput.d.ts +60 -8
- package/dist/src/bitgo/wallet/WalletOutput.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/WalletOutput.js +158 -63
- package/dist/src/bitgo/wallet/WalletScripts.js +4 -5
- package/dist/src/bitgo/wallet/WalletUnspentSigner.js +7 -7
- package/dist/src/bitgo/wallet/chains.d.ts +3 -3
- package/dist/src/bitgo/wallet/chains.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/chains.js +10 -10
- package/dist/src/bitgo/wallet/index.d.ts +3 -0
- package/dist/src/bitgo/wallet/index.d.ts.map +1 -1
- package/dist/src/bitgo/wallet/index.js +9 -2
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.d.ts +50 -0
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/psbt/PsbtOutputs.js +85 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.d.ts +32 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.d.ts.map +1 -0
- package/dist/src/bitgo/wallet/psbt/RootNodes.js +123 -0
- package/dist/src/bitgo/zcash/ZcashBufferutils.d.ts +1 -2
- package/dist/src/bitgo/zcash/ZcashBufferutils.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashBufferutils.js +15 -15
- package/dist/src/bitgo/zcash/ZcashPsbt.d.ts +1 -2
- package/dist/src/bitgo/zcash/ZcashPsbt.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashPsbt.js +12 -17
- package/dist/src/bitgo/zcash/ZcashTransaction.d.ts +3 -2
- package/dist/src/bitgo/zcash/ZcashTransaction.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashTransaction.js +31 -21
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.d.ts +0 -1
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/ZcashTransactionBuilder.js +6 -4
- package/dist/src/bitgo/zcash/address.d.ts +0 -1
- package/dist/src/bitgo/zcash/address.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/address.js +7 -8
- package/dist/src/bitgo/zcash/hashZip0244.d.ts +1 -2
- package/dist/src/bitgo/zcash/hashZip0244.d.ts.map +1 -1
- package/dist/src/bitgo/zcash/hashZip0244.js +9 -10
- package/dist/src/bitgo/zcash/index.js +6 -2
- package/dist/src/classify.d.ts +0 -1
- package/dist/src/classify.d.ts.map +1 -1
- package/dist/src/classify.js +5 -5
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -3
- package/dist/src/networks.d.ts +2 -2
- package/dist/src/networks.d.ts.map +1 -1
- package/dist/src/networks.js +67 -21
- package/dist/src/noble_ecc.d.ts +7 -7
- package/dist/src/noble_ecc.d.ts.map +1 -1
- package/dist/src/noble_ecc.js +5 -5
- package/dist/src/payments/p2tr.js +13 -18
- package/dist/src/payments/p2tr_ns.js +3 -5
- package/dist/src/taproot.d.ts +1 -2
- package/dist/src/taproot.d.ts.map +1 -1
- package/dist/src/taproot.js +21 -22
- package/dist/src/templates/multisig/input.d.ts +0 -1
- package/dist/src/templates/multisig/input.d.ts.map +1 -1
- package/dist/src/templates/multisig/input.js +2 -3
- package/dist/src/templates/multisig/output.d.ts +0 -1
- package/dist/src/templates/multisig/output.d.ts.map +1 -1
- package/dist/src/templates/multisig/output.js +2 -3
- package/dist/src/templates/nulldata.d.ts +0 -1
- package/dist/src/templates/nulldata.d.ts.map +1 -1
- package/dist/src/templates/nulldata.js +3 -3
- package/dist/src/templates/pubkey/input.d.ts +0 -1
- package/dist/src/templates/pubkey/input.d.ts.map +1 -1
- package/dist/src/templates/pubkey/input.js +2 -3
- package/dist/src/templates/pubkey/output.d.ts +0 -1
- package/dist/src/templates/pubkey/output.d.ts.map +1 -1
- package/dist/src/templates/pubkey/output.js +2 -3
- package/dist/src/templates/pubkeyhash/input.d.ts +0 -1
- package/dist/src/templates/pubkeyhash/input.d.ts.map +1 -1
- package/dist/src/templates/pubkeyhash/input.js +2 -3
- package/dist/src/templates/pubkeyhash/output.d.ts +0 -1
- package/dist/src/templates/pubkeyhash/output.d.ts.map +1 -1
- package/dist/src/templates/pubkeyhash/output.js +2 -3
- package/dist/src/templates/scripthash/input.d.ts +0 -1
- package/dist/src/templates/scripthash/input.d.ts.map +1 -1
- package/dist/src/templates/scripthash/input.js +2 -3
- package/dist/src/templates/scripthash/output.d.ts +0 -1
- package/dist/src/templates/scripthash/output.d.ts.map +1 -1
- package/dist/src/templates/scripthash/output.js +2 -3
- package/dist/src/templates/taproot/input.d.ts +0 -1
- package/dist/src/templates/taproot/input.d.ts.map +1 -1
- package/dist/src/templates/taproot/input.js +2 -3
- package/dist/src/templates/taproot/output.d.ts +0 -1
- package/dist/src/templates/taproot/output.d.ts.map +1 -1
- package/dist/src/templates/taproot/output.js +2 -3
- package/dist/src/templates/taprootnofn/input.d.ts +0 -1
- package/dist/src/templates/taprootnofn/input.d.ts.map +1 -1
- package/dist/src/templates/taprootnofn/input.js +2 -3
- package/dist/src/templates/taprootnofn/output.d.ts +0 -1
- package/dist/src/templates/taprootnofn/output.d.ts.map +1 -1
- package/dist/src/templates/taprootnofn/output.js +2 -3
- package/dist/src/templates/witnesscommitment/output.d.ts +0 -1
- package/dist/src/templates/witnesscommitment/output.d.ts.map +1 -1
- package/dist/src/templates/witnesscommitment/output.js +4 -5
- package/dist/src/templates/witnesspubkeyhash/input.d.ts +0 -1
- package/dist/src/templates/witnesspubkeyhash/input.d.ts.map +1 -1
- package/dist/src/templates/witnesspubkeyhash/input.js +2 -3
- package/dist/src/templates/witnesspubkeyhash/output.d.ts +0 -1
- package/dist/src/templates/witnesspubkeyhash/output.d.ts.map +1 -1
- package/dist/src/templates/witnesspubkeyhash/output.js +2 -3
- package/dist/src/templates/witnessscripthash/input.d.ts +0 -1
- package/dist/src/templates/witnessscripthash/input.d.ts.map +1 -1
- package/dist/src/templates/witnessscripthash/input.js +2 -3
- package/dist/src/templates/witnessscripthash/output.d.ts +0 -1
- package/dist/src/templates/witnessscripthash/output.d.ts.map +1 -1
- package/dist/src/templates/witnessscripthash/output.js +2 -3
- package/dist/src/testutil/index.js +6 -2
- package/dist/src/testutil/keys.d.ts +4 -4
- package/dist/src/testutil/keys.d.ts.map +1 -1
- package/dist/src/testutil/keys.js +10 -11
- package/dist/src/testutil/mock.d.ts +1 -2
- package/dist/src/testutil/mock.d.ts.map +1 -1
- package/dist/src/testutil/mock.js +21 -21
- package/dist/src/testutil/psbt.d.ts +36 -21
- package/dist/src/testutil/psbt.d.ts.map +1 -1
- package/dist/src/testutil/psbt.js +51 -37
- package/dist/src/testutil/transaction.d.ts +2 -2
- package/dist/src/testutil/transaction.d.ts.map +1 -1
- package/dist/src/testutil/transaction.js +18 -18
- package/dist/src/transaction_builder.d.ts +0 -1
- package/dist/src/transaction_builder.d.ts.map +1 -1
- package/dist/src/transaction_builder.js +13 -18
- package/package.json +9 -11
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getBlake2bHash = getBlake2bHash;
|
|
4
|
+
exports.getPrevoutsDigest = getPrevoutsDigest;
|
|
5
|
+
exports.getSequenceDigest = getSequenceDigest;
|
|
6
|
+
exports.getOutputsDigest = getOutputsDigest;
|
|
7
|
+
exports.getTxidDigest = getTxidDigest;
|
|
8
|
+
exports.getSignatureDigest = getSignatureDigest;
|
|
4
9
|
/**
|
|
5
10
|
* Implements hashing methods described in https://zips.z.cash/zip-0244.
|
|
6
11
|
* Only supports full transparent transactions without shielded inputs or outputs.
|
|
@@ -20,7 +25,6 @@ function getBlake2bHash(buffer, personalization) {
|
|
|
20
25
|
personalization = Buffer.from(personalization);
|
|
21
26
|
return blake2b(out.length, null, null, personalization).update(buffer).digest(out);
|
|
22
27
|
}
|
|
23
|
-
exports.getBlake2bHash = getBlake2bHash;
|
|
24
28
|
function getHeaderDigest(tx) {
|
|
25
29
|
// https://zips.z.cash/zip-0244#t-1-header-digest
|
|
26
30
|
const mask = tx.overwintered ? 1 : 0;
|
|
@@ -45,7 +49,6 @@ function getPrevoutsDigest(ins, tag = 'ZTxIdPrevoutHash', sigParams) {
|
|
|
45
49
|
});
|
|
46
50
|
return getBlake2bHash(bufferWriter.end(), tag);
|
|
47
51
|
}
|
|
48
|
-
exports.getPrevoutsDigest = getPrevoutsDigest;
|
|
49
52
|
function getSequenceDigest(ins, tag = 'ZTxIdSequencHash', sigParams) {
|
|
50
53
|
// txid: https://zips.z.cash/zip-0244#t-2b-sequence-digest
|
|
51
54
|
// sig: https://zips.z.cash/zip-0244#s-2b-sequence-sig-digest
|
|
@@ -64,7 +67,6 @@ function getSequenceDigest(ins, tag = 'ZTxIdSequencHash', sigParams) {
|
|
|
64
67
|
});
|
|
65
68
|
return getBlake2bHash(bufferWriter.end(), tag);
|
|
66
69
|
}
|
|
67
|
-
exports.getSequenceDigest = getSequenceDigest;
|
|
68
70
|
function getOutputsDigest(outs, tag = 'ZTxIdOutputsHash', sigParams) {
|
|
69
71
|
// txid: https://zips.z.cash/zip-0244#t-2c-outputs-digest
|
|
70
72
|
// sig: https://zips.z.cash/zip-0244#s-2c-outputs-sig-digest
|
|
@@ -88,7 +90,7 @@ function getOutputsDigest(outs, tag = 'ZTxIdOutputsHash', sigParams) {
|
|
|
88
90
|
}
|
|
89
91
|
// Find out the size of the outputs and write them
|
|
90
92
|
const txOutsSize = outs.reduce(function (sum, output) {
|
|
91
|
-
return sum + 8 + UtxoTransaction_1.varSliceSize(output.script);
|
|
93
|
+
return sum + 8 + (0, UtxoTransaction_1.varSliceSize)(output.script);
|
|
92
94
|
}, 0);
|
|
93
95
|
const bufferWriter = new bufferutils_1.BufferWriter(Buffer.allocUnsafe(txOutsSize));
|
|
94
96
|
outs.forEach(function (out) {
|
|
@@ -97,13 +99,12 @@ function getOutputsDigest(outs, tag = 'ZTxIdOutputsHash', sigParams) {
|
|
|
97
99
|
});
|
|
98
100
|
return getBlake2bHash(bufferWriter.end(), tag);
|
|
99
101
|
}
|
|
100
|
-
exports.getOutputsDigest = getOutputsDigest;
|
|
101
102
|
function getTxinDigest(input, sigParams) {
|
|
102
103
|
// https://zips.z.cash/zip-0244#s-2d-txin-sig-digest
|
|
103
104
|
// https://github.com/zcash-hackworks/zcash-test-vectors/blob/dd8fdb/zip_0244.py#L291
|
|
104
105
|
const writer = bufferutils_1.BufferWriter.withCapacity(32 /* prevout hash */ +
|
|
105
106
|
4 /* prevout vin */ +
|
|
106
|
-
UtxoTransaction_1.varSliceSize(sigParams.prevOutScript) +
|
|
107
|
+
(0, UtxoTransaction_1.varSliceSize)(sigParams.prevOutScript) +
|
|
107
108
|
8 /* value */ +
|
|
108
109
|
4 /* sequence */);
|
|
109
110
|
writer.writeSlice(input.hash);
|
|
@@ -170,7 +171,6 @@ function getTxidDigest(tx) {
|
|
|
170
171
|
// https://zips.z.cash/zip-0244#id4
|
|
171
172
|
return getDigest(tx);
|
|
172
173
|
}
|
|
173
|
-
exports.getTxidDigest = getTxidDigest;
|
|
174
174
|
function getSignatureDigest(tx, inIndex, prevOutScript, value, hashType) {
|
|
175
175
|
// https://zips.z.cash/zip-0244#id13
|
|
176
176
|
return getDigest(tx, {
|
|
@@ -180,5 +180,4 @@ function getSignatureDigest(tx, inIndex, prevOutScript, value, hashType) {
|
|
|
180
180
|
hashType,
|
|
181
181
|
});
|
|
182
182
|
}
|
|
183
|
-
exports.getSignatureDigest = getSignatureDigest;
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaFppcDAyNDQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vemNhc2gvaGFzaFppcDAyNDQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7OztHQUdHO0FBQ0gsaURBQStEO0FBQy9ELCtEQUE2RDtBQUU3RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUcvQyx3REFBa0Q7QUFTbEQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixjQUFjLENBQUMsTUFBYyxFQUFFLGVBQWdDO0lBQzdFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0MsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDckYsQ0FBQztBQUpELHdDQUlDO0FBRUQsU0FBUyxlQUFlLENBQWtDLEVBQTZCO0lBQ3JGLGlEQUFpRDtJQUNqRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRywwQkFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7SUFDbkUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxF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LENBQUM7SUFDdkMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUM3RCxNQUFNLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQztJQUMzQixNQUFNLGVBQWUsR0FBRywwQkFBWSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvRSxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxlQUFlLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xELE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsRUFBRSxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFrQyxFQUE2QjtJQUMxRixtQ0FBbUM7SUFDbkMsT0FBTyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdkIsQ0FBQztBQUhELHNDQUdDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQ2hDLEVBQTZCLEVBQzdCLE9BQTJCLEVBQzNCLGFBQXFCLEVBQ3JCLEtBQWMsRUFDZCxRQUFnQjtJQUVoQixvQ0FBb0M7SUFDcEMsT0FBTyxTQUFTLENBQUMsRUFBRSxFQUFFO1FBQ25CLE9BQU87UUFDUCxhQUFhO1FBQ2IsS0FBSztRQUNMLFFBQVE7S0FDVCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBZEQsZ0RBY0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEltcGxlbWVudHMgaGFzaGluZyBtZXRob2RzIGRlc2NyaWJlZCBpbiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0LlxuICogT25seSBzdXBwb3J0cyBmdWxsIHRyYW5zcGFyZW50IHRyYW5zYWN0aW9ucyB3aXRob3V0IHNoaWVsZGVkIGlucHV0cyBvciBvdXRwdXRzLlxuICovXG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHhJbnB1dCwgVHhPdXRwdXQgfSBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCB7IEJ1ZmZlcldyaXRlciB9IGZyb20gJ2JpdGNvaW5qcy1saWIvc3JjL2J1ZmZlcnV0aWxzJztcblxuY29uc3QgYmxha2UyYiA9IHJlcXVpcmUoJ0BiaXRnby1iZXRhL2JsYWtlMmInKTtcblxuaW1wb3J0IHsgWmNhc2hUcmFuc2FjdGlvbiB9IGZyb20gJy4vWmNhc2hUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyB2YXJTbGljZVNpemUgfSBmcm9tICcuLi9VdHhvVHJhbnNhY3Rpb24nO1xuXG50eXBlIFNpZ25hdHVyZVBhcmFtczxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPiA9IHtcbiAgaW5JbmRleD86IG51bWJlcjtcbiAgcHJldk91dFNjcmlwdDogQnVmZmVyO1xuICB2YWx1ZTogVE51bWJlcjtcbiAgaGFzaFR5cGU6IG51bWJlcjtcbn07XG5cbi8qKlxuICogQmxha2UyYiBoYXNoaW5nIGFsZ29yaXRobSBmb3IgWmNhc2hcbiAqIEBwYXJhbSBidWZmZXJcbiAqIEBwYXJhbSBwZXJzb25hbGl6YXRpb25cbiAqIEByZXR1cm5zIDI1Ni1iaXQgQkxBS0UyYiBoYXNoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCbGFrZTJiSGFzaChidWZmZXI6IEJ1ZmZlciwgcGVyc29uYWxpemF0aW9uOiBzdHJpbmcgfCBCdWZmZXIpOiBCdWZmZXIge1xuICBjb25zdCBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMzIpO1xuICBwZXJzb25hbGl6YXRpb24gPSBCdWZmZXIuZnJvbShwZXJzb25hbGl6YXRpb24pO1xuICByZXR1cm4gYmxha2UyYihvdXQubGVuZ3RoLCBudWxsLCBudWxsLCBwZXJzb25hbGl6YXRpb24pLnVwZGF0ZShidWZmZXIpLmRpZ2VzdChvdXQpO1xufVxuXG5mdW5jdGlvbiBnZXRIZWFkZXJEaWdlc3Q8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4odHg6IFpjYXNoVHJhbnNhY3Rpb248VE51bWJlcj4pOiBCdWZmZXIge1xuICAvLyBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I3QtMS1oZWFkZXItZGlnZXN0XG4gIGNvbnN0IG1hc2sgPSB0eC5vdmVyd2ludGVyZWQgPyAxIDogMDtcbiAgY29uc3Qgd3JpdGVyID0gQnVmZmVyV3JpdGVyLndpdGhDYXBhY2l0eSg0ICogNSk7XG4gIHdyaXRlci53cml0ZUludDMyKHR4LnZlcnNpb24gfCAobWFzayA8PCAzMSkpOyAvLyBTZXQgb3ZlcndpbnRlciBiaXRcbiAgd3JpdGVyLndyaXRlVUludDMyKHR4LnZlcnNpb25Hcm91cElkKTtcbiAgd3JpdGVyLndyaXRlVUludDMyKHR4LmNvbnNlbnN1c0JyYW5jaElkKTtcbiAgd3JpdGVyLndyaXRlVUludDMyKHR4LmxvY2t0aW1lKTtcbiAgd3JpdGVyLndyaXRlVUludDMyKHR4LmV4cGlyeUhlaWdodCk7XG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaCh3cml0ZXIuZW5kKCksICdaVHhJZEhlYWRlcnNIYXNoJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmV2b3V0c0RpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgaW5zOiBUeElucHV0W10sXG4gIHRhZyA9ICdaVHhJZFByZXZvdXRIYXNoJyxcbiAgc2lnUGFyYW1zPzogU2lnbmF0dXJlUGFyYW1zPFROdW1iZXI+XG4pOiBCdWZmZXIge1xuICBpZiAoc2lnUGFyYW1zKSB7XG4gICAgaWYgKHNpZ1BhcmFtcy5oYXNoVHlwZSAmIFRyYW5zYWN0aW9uLlNJR0hBU0hfQU5ZT05FQ0FOUEFZKSB7XG4gICAgICByZXR1cm4gZ2V0UHJldm91dHNEaWdlc3QoW10pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlcldyaXRlciA9IG5ldyBCdWZmZXJXcml0ZXIoQnVmZmVyLmFsbG9jVW5zYWZlKDM2ICogaW5zLmxlbmd0aCkpO1xuICBpbnMuZm9yRWFjaChmdW5jdGlvbiAodHhJbikge1xuICAgIGJ1ZmZlcldyaXRlci53cml0ZVNsaWNlKHR4SW4uaGFzaCk7XG4gICAgYnVmZmVyV3JpdGVyLndyaXRlVUludDMyKHR4SW4uaW5kZXgpO1xuICB9KTtcbiAgcmV0dXJuIGdldEJsYWtlMmJIYXNoKGJ1ZmZlcldyaXRlci5lbmQoKSwgdGFnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlcXVlbmNlRGlnZXN0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBpbnM6IFR4SW5wdXRbXSxcbiAgdGFnID0gJ1pUeElkU2VxdWVuY0hhc2gnLFxuICBzaWdQYXJhbXM/OiBTaWduYXR1cmVQYXJhbXM8VE51bWJlcj5cbik6IEJ1ZmZlciB7XG4gIC8vIHR4aWQ6IGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjdC0yYi1zZXF1ZW5jZS1kaWdlc3RcbiAgLy8gc2lnOiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I3MtMmItc2VxdWVuY2Utc2lnLWRpZ2VzdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vemNhc2gtaGFja3dvcmtzL3pjYXNoLXRlc3QtdmVjdG9ycy9ibG9iL2RkOGZkYi96aXBfMDI0NC5weSNMMjYzXG4gIGlmIChzaWdQYXJhbXMpIHtcbiAgICBjb25zdCB7IGhhc2hUeXBlIH0gPSBzaWdQYXJhbXM7XG4gICAgaWYgKFxuICAgICAgaGFzaFR5cGUgJiBUcmFuc2FjdGlvbi5TSUdIQVNIX0FOWU9ORUNBTlBBWSB8fFxuICAgICAgKGhhc2hUeXBlICYgMHgxZikgPT09IFRyYW5zYWN0aW9uLlNJR0hBU0hfU0lOR0xFIHx8XG4gICAgICAoaGFzaFR5cGUgJiAweDFmKSA9PT0gVHJhbnNhY3Rpb24uU0lHSEFTSF9OT05FXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0U2VxdWVuY2VEaWdlc3QoW10pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlcldyaXRlciA9IG5ldyBCdWZmZXJXcml0ZXIoQnVmZmVyLmFsbG9jVW5zYWZlKDQgKiBpbnMubGVuZ3RoKSk7XG5cbiAgaW5zLmZvckVhY2goZnVuY3Rpb24gKHR4SW4pIHtcbiAgICBidWZmZXJXcml0ZXIud3JpdGVVSW50MzIodHhJbi5zZXF1ZW5jZSk7XG4gIH0pO1xuXG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaChidWZmZXJXcml0ZXIuZW5kKCksIHRhZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPdXRwdXRzRGlnZXN0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBvdXRzOiBUeE91dHB1dDxUTnVtYmVyPltdLFxuICB0YWcgPSAnWlR4SWRPdXRwdXRzSGFzaCcsXG4gIHNpZ1BhcmFtcz86IFNpZ25hdHVyZVBhcmFtczxUTnVtYmVyPlxuKTogQnVmZmVyIHtcbiAgLy8gdHhpZDogaHR0cHM6Ly96aXBzLnouY2FzaC96aXAtMDI0NCN0LTJjLW91dHB1dHMtZGlnZXN0XG4gIC8vIHNpZzogaHR0cHM6Ly96aXBzLnouY2FzaC96aXAtMDI0NCNzLTJjLW91dHB1dHMtc2lnLWRpZ2VzdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vemNhc2gtaGFja3dvcmtzL3pjYXNoLXRlc3QtdmVjdG9ycy9ibG9iL2RkOGZkYi96aXBfMDI0NC5weSNMMjc1XG4gIGlmIChzaWdQYXJhbXMpIHtcbiAgICBsZXQgeyBoYXNoVHlwZSB9ID0gc2lnUGFyYW1zO1xuICAgIGhhc2hUeXBlID0gaGFzaFR5cGUgJiAweDFmO1xuXG4gICAgaWYgKGhhc2hUeXBlID09PSBUcmFuc2FjdGlvbi5TSUdIQVNIX1NJTkdMRSkge1xuICAgICAgaWYgKHNpZ1BhcmFtcy5pbkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgICBpZiAob3V0c1tzaWdQYXJhbXMuaW5JbmRleF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gZ2V0T3V0cHV0c0RpZ2VzdChvdXRzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBnZXRPdXRwdXRzRGlnZXN0KFtvdXRzW3NpZ1BhcmFtcy5pbkluZGV4XV0pO1xuICAgIH1cblxuICAgIGlmIChoYXNoVHlwZSA9PT0gVHJhbnNhY3Rpb24uU0lHSEFTSF9OT05FKSB7XG4gICAgICByZXR1cm4gZ2V0T3V0cHV0c0RpZ2VzdChbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldE91dHB1dHNEaWdlc3Qob3V0cywgdGFnKTtcbiAgfVxuXG4gIC8vIEZpbmQgb3V0IHRoZSBzaXplIG9mIHRoZSBvdXRwdXRzIGFuZCB3cml0ZSB0aGVtXG4gIGNvbnN0IHR4T3V0c1NpemUgPSBvdXRzLnJlZHVjZShmdW5jdGlvbiAoc3VtLCBvdXRwdXQpIHtcbiAgICByZXR1cm4gc3VtICsgOCArIHZhclNsaWNlU2l6ZShvdXRwdXQuc2NyaXB0KTtcbiAgfSwgMCk7XG5cbiAgY29uc3QgYnVmZmVyV3JpdGVyID0gbmV3IEJ1ZmZlcldyaXRlcihCdWZmZXIuYWxsb2NVbnNhZmUodHhPdXRzU2l6ZSkpO1xuXG4gIG91dHMuZm9yRWFjaChmdW5jdGlvbiAob3V0KSB7XG4gICAgYnVmZmVyV3JpdGVyLndyaXRlVUludDY0KG91dC52YWx1ZSk7XG4gICAgYnVmZmVyV3JpdGVyLndyaXRlVmFyU2xpY2Uob3V0LnNjcmlwdCk7XG4gIH0pO1xuXG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaChidWZmZXJXcml0ZXIuZW5kKCksIHRhZyk7XG59XG5cbmZ1bmN0aW9uIGdldFR4aW5EaWdlc3Q8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oaW5wdXQ6IFR4SW5wdXQsIHNpZ1BhcmFtczogU2lnbmF0dXJlUGFyYW1zPFROdW1iZXI+KSB7XG4gIC8vIGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjcy0yZC10eGluLXNpZy1kaWdlc3RcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3pjYXNoLWhhY2t3b3Jrcy96Y2FzaC10ZXN0LXZlY3RvcnMvYmxvYi9kZDhmZGIvemlwXzAyNDQucHkjTDI5MVxuICBjb25zdCB3cml0ZXIgPSBCdWZmZXJXcml0ZXIud2l0aENhcGFjaXR5KFxuICAgIDMyIC8qIHByZXZvdXQgaGFzaCAqLyArXG4gICAgICA0IC8qIHByZXZvdXQgdmluICovICtcbiAgICAgIHZhclNsaWNlU2l6ZShzaWdQYXJhbXMucHJldk91dFNjcmlwdCkgK1xuICAgICAgOCAvKiB2YWx1ZSAqLyArXG4gICAgICA0IC8qIHNlcXVlbmNlICovXG4gICk7XG4gIHdyaXRlci53cml0ZVNsaWNlKGlucHV0Lmhhc2gpO1xuICB3cml0ZXIud3JpdGVVSW50MzIoaW5wdXQuaW5kZXgpO1xuICB3cml0ZXIud3JpdGVWYXJTbGljZShzaWdQYXJhbXMucHJldk91dFNjcmlwdCk7XG4gIHdyaXRlci53cml0ZVVJbnQ2NChzaWdQYXJhbXMudmFsdWUpO1xuICB3cml0ZXIud3JpdGVVSW50MzIoaW5wdXQuc2VxdWVuY2UpO1xuICByZXR1cm4gZ2V0Qmxha2UyYkhhc2god3JpdGVyLmVuZCgpLCAnWmNhc2hfX19UeEluSGFzaCcpO1xufVxuXG5mdW5jdGlvbiBnZXRUcmFuc3BhcmVudERpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgdHg6IHsgaW5zOiBUeElucHV0W107IG91dHM6IFR4T3V0cHV0PFROdW1iZXI+W10gfSxcbiAgc2lnUGFyYW1zPzogU2lnbmF0dXJlUGFyYW1zPFROdW1iZXI+XG4pOiBCdWZmZXIge1xuICAvLyB0eGlkOiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I3QtMi10cmFuc3BhcmVudC1kaWdlc3RcbiAgLy8gc2lnOiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I3MtMmEtcHJldm91dHMtc2lnLWRpZ2VzdFxuICBpZiAoc2lnUGFyYW1zKSB7XG4gICAgaWYgKHNpZ1BhcmFtcy5pbkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBnZXRUcmFuc3BhcmVudERpZ2VzdCh0eCk7XG4gICAgfVxuICB9XG5cbiAgbGV0IGJ1ZmZlcjtcbiAgaWYgKHR4Lmlucy5sZW5ndGggfHwgdHgub3V0cy5sZW5ndGgpIHtcbiAgICBjb25zdCB3cml0ZXIgPSBCdWZmZXJXcml0ZXIud2l0aENhcGFjaXR5KDMyICogKHNpZ1BhcmFtcyA/IDQgOiAzKSk7XG4gICAgd3JpdGVyLndyaXRlU2xpY2UoZ2V0UHJldm91dHNEaWdlc3QodHguaW5zLCB1bmRlZmluZWQsIHNpZ1BhcmFtcykpO1xuICAgIHdyaXRlci53cml0ZVNsaWNlKGdldFNlcXVlbmNlRGlnZXN0KHR4LmlucywgdW5kZWZpbmVkLCBzaWdQYXJhbXMpKTtcbiAgICB3cml0ZXIud3JpdGVTbGljZShnZXRPdXRwdXRzRGlnZXN0KHR4Lm91dHMsIHVuZGVmaW5lZCwgc2lnUGFyYW1zKSk7XG4gICAgaWYgKHNpZ1BhcmFtcykge1xuICAgICAgaWYgKHNpZ1BhcmFtcy5pbkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgICB3cml0ZXIud3JpdGVTbGljZShnZXRUeGluRGlnZXN0KHR4Lmluc1tzaWdQYXJhbXMuaW5JbmRleF0sIHNpZ1BhcmFtcykpO1xuICAgIH1cbiAgICBidWZmZXIgPSB3cml0ZXIuZW5kKCk7XG4gIH0gZWxzZSB7XG4gICAgYnVmZmVyID0gQnVmZmVyLm9mKCk7XG4gIH1cbiAgcmV0dXJuIGdldEJsYWtlMmJIYXNoKGJ1ZmZlciwgJ1pUeElkVHJhbnNwYUhhc2gnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2FwbGluZ0RpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50Pih0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPik6IEJ1ZmZlciB7XG4gIC8vIGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjdC0zLXNhcGxpbmctZGlnZXN0XG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaChCdWZmZXIub2YoKSwgJ1pUeElkU2FwbGluZ0hhc2gnKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3JjaGFyZERpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50Pih0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPik6IEJ1ZmZlciB7XG4gIC8vIGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjdC00LW9yY2hhcmQtZGlnZXN0XG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaChCdWZmZXIub2YoKSwgJ1pUeElkT3JjaGFyZEhhc2gnKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gdHhcbiAqIEBwYXJhbSBzaWduYXR1cmVQYXJhbXMgLSBjYWxjdWxhdGVzIHR4aWQgd2hlbiB1bmRlZmluZWRcbiAqL1xuZnVuY3Rpb24gZ2V0RGlnZXN0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPixcbiAgc2lnbmF0dXJlUGFyYW1zPzogU2lnbmF0dXJlUGFyYW1zPFROdW1iZXI+XG4pOiBCdWZmZXIge1xuICAvLyB0eGlkOiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I2lkNFxuICAvLyBzaWc6IGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjaWQxM1xuICBjb25zdCB3cml0ZXIgPSBCdWZmZXJXcml0ZXIud2l0aENhcGFjaXR5KDMyICogNCk7XG4gIHdyaXRlci53cml0ZVNsaWNlKGdldEhlYWRlckRpZ2VzdCh0eCkpO1xuICB3cml0ZXIud3JpdGVTbGljZShnZXRUcmFuc3BhcmVudERpZ2VzdCh0eCwgc2lnbmF0dXJlUGFyYW1zKSk7XG4gIHdyaXRlci53cml0ZVNsaWNlKGdldFNhcGxpbmdEaWdlc3QodHgpKTtcbiAgd3JpdGVyLndyaXRlU2xpY2UoZ2V0T3JjaGFyZERpZ2VzdCh0eCkpO1xuXG4gIGNvbnN0IHRhZyA9ICdaY2FzaFR4SGFzaF8nO1xuICBjb25zdCBwZXJzb25hbGl6YXRpb24gPSBCdWZmZXJXcml0ZXIud2l0aENhcGFjaXR5KHRhZy5sZW5ndGggKyA0IC8qIFVJbnQzMiAqLyk7XG4gIHBlcnNvbmFsaXphdGlvbi53cml0ZVNsaWNlKEJ1ZmZlci5mcm9tKHRhZykpO1xuICBwZXJzb25hbGl6YXRpb24ud3JpdGVVSW50MzIodHguY29uc2Vuc3VzQnJhbmNoSWQpO1xuICByZXR1cm4gZ2V0Qmxha2UyYkhhc2god3JpdGVyLmVuZCgpLCBwZXJzb25hbGl6YXRpb24uZW5kKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHhpZERpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50Pih0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPik6IEJ1ZmZlciB7XG4gIC8vIGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjaWQ0XG4gIHJldHVybiBnZXREaWdlc3QodHgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2lnbmF0dXJlRGlnZXN0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPixcbiAgaW5JbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBwcmV2T3V0U2NyaXB0OiBCdWZmZXIsXG4gIHZhbHVlOiBUTnVtYmVyLFxuICBoYXNoVHlwZTogbnVtYmVyXG4pOiBCdWZmZXIge1xuICAvLyBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I2lkMTNcbiAgcmV0dXJuIGdldERpZ2VzdCh0eCwge1xuICAgIGluSW5kZXgsXG4gICAgcHJldk91dFNjcmlwdCxcbiAgICB2YWx1ZSxcbiAgICBoYXNoVHlwZSxcbiAgfSk7XG59XG4iXX0=
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaFppcDAyNDQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vemNhc2gvaGFzaFppcDAyNDQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5QkEsd0NBSUM7QUFjRCw4Q0FpQkM7QUFFRCw4Q0EwQkM7QUFFRCw0Q0EwQ0M7QUFvRkQsc0NBR0M7QUFFRCxnREFjQztBQTNPRDs7O0dBR0c7QUFDSCxpREFBK0Q7QUFDL0QsK0RBQTZEO0FBRTdELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBRy9DLHdEQUFrRDtBQVNsRDs7Ozs7R0FLRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxNQUFjLEVBQUUsZUFBZ0M7SUFDN0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNyRixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQWtDLEVBQTZCO0lBQ3JGLGlEQUFpRDtJQUNqRCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRywwQkFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7SUFDbkUsTUFBTSxDQUFDLFdB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QUU7UUFDbkIsT0FBTztRQUNQLGFBQWE7UUFDYixLQUFLO1FBQ0wsUUFBUTtLQUNULENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEltcGxlbWVudHMgaGFzaGluZyBtZXRob2RzIGRlc2NyaWJlZCBpbiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0LlxuICogT25seSBzdXBwb3J0cyBmdWxsIHRyYW5zcGFyZW50IHRyYW5zYWN0aW9ucyB3aXRob3V0IHNoaWVsZGVkIGlucHV0cyBvciBvdXRwdXRzLlxuICovXG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHhJbnB1dCwgVHhPdXRwdXQgfSBmcm9tICdiaXRjb2luanMtbGliJztcbmltcG9ydCB7IEJ1ZmZlcldyaXRlciB9IGZyb20gJ2JpdGNvaW5qcy1saWIvc3JjL2J1ZmZlcnV0aWxzJztcblxuY29uc3QgYmxha2UyYiA9IHJlcXVpcmUoJ0BiaXRnby1iZXRhL2JsYWtlMmInKTtcblxuaW1wb3J0IHsgWmNhc2hUcmFuc2FjdGlvbiB9IGZyb20gJy4vWmNhc2hUcmFuc2FjdGlvbic7XG5pbXBvcnQgeyB2YXJTbGljZVNpemUgfSBmcm9tICcuLi9VdHhvVHJhbnNhY3Rpb24nO1xuXG50eXBlIFNpZ25hdHVyZVBhcmFtczxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gbnVtYmVyPiA9IHtcbiAgaW5JbmRleD86IG51bWJlcjtcbiAgcHJldk91dFNjcmlwdDogQnVmZmVyO1xuICB2YWx1ZTogVE51bWJlcjtcbiAgaGFzaFR5cGU6IG51bWJlcjtcbn07XG5cbi8qKlxuICogQmxha2UyYiBoYXNoaW5nIGFsZ29yaXRobSBmb3IgWmNhc2hcbiAqIEBwYXJhbSBidWZmZXJcbiAqIEBwYXJhbSBwZXJzb25hbGl6YXRpb25cbiAqIEByZXR1cm5zIDI1Ni1iaXQgQkxBS0UyYiBoYXNoXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRCbGFrZTJiSGFzaChidWZmZXI6IEJ1ZmZlciwgcGVyc29uYWxpemF0aW9uOiBzdHJpbmcgfCBCdWZmZXIpOiBCdWZmZXIge1xuICBjb25zdCBvdXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUoMzIpO1xuICBwZXJzb25hbGl6YXRpb24gPSBCdWZmZXIuZnJvbShwZXJzb25hbGl6YXRpb24pO1xuICByZXR1cm4gYmxha2UyYihvdXQubGVuZ3RoLCBudWxsLCBudWxsLCBwZXJzb25hbGl6YXRpb24pLnVwZGF0ZShidWZmZXIpLmRpZ2VzdChvdXQpO1xufVxuXG5mdW5jdGlvbiBnZXRIZWFkZXJEaWdlc3Q8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4odHg6IFpjYXNoVHJhbnNhY3Rpb248VE51bWJlcj4pOiBCdWZmZXIge1xuICAvLyBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I3QtMS1oZWFkZXItZGlnZXN0XG4gIGNvbnN0IG1hc2sgPSB0eC5vdmVyd2ludGVyZWQgPyAxIDogMDtcbiAgY29uc3Qgd3JpdGVyID0gQnVmZmVyV3JpdGVyLndpdGhDYXBhY2l0eSg0ICogNSk7XG4gIHdyaXRlci53cml0ZUludDMyKHR4LnZlcnNpb24gfCAobWFzayA8PCAzMSkpOyAvLyBTZXQgb3ZlcndpbnRlciBiaXRcbiAgd3JpdGVyLndyaXRlVUludDMyKHR4LnZlcnNpb25Hcm91cElkKTtcbiAgd3JpdGVyLndyaXRlVUludDMyKHR4LmNvbnNlbnN1c0JyYW5jaElkKTtcbiAgd3JpdGVyLndyaXRlVUludDMyKHR4LmxvY2t0aW1lKTtcbiAgd3JpdGVyLndyaXRlVUludDMyKHR4LmV4cGlyeUhlaWdodCk7XG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaCh3cml0ZXIuZW5kKCksICdaVHhJZEhlYWRlcnNIYXNoJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcmV2b3V0c0RpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgaW5zOiBUeElucHV0W10sXG4gIHRhZyA9ICdaVHhJZFByZXZvdXRIYXNoJyxcbiAgc2lnUGFyYW1zPzogU2lnbmF0dXJlUGFyYW1zPFROdW1iZXI+XG4pOiBCdWZmZXIge1xuICBpZiAoc2lnUGFyYW1zKSB7XG4gICAgaWYgKHNpZ1BhcmFtcy5oYXNoVHlwZSAmIFRyYW5zYWN0aW9uLlNJR0hBU0hfQU5ZT05FQ0FOUEFZKSB7XG4gICAgICByZXR1cm4gZ2V0UHJldm91dHNEaWdlc3QoW10pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlcldyaXRlciA9IG5ldyBCdWZmZXJXcml0ZXIoQnVmZmVyLmFsbG9jVW5zYWZlKDM2ICogaW5zLmxlbmd0aCkpO1xuICBpbnMuZm9yRWFjaChmdW5jdGlvbiAodHhJbikge1xuICAgIGJ1ZmZlcldyaXRlci53cml0ZVNsaWNlKHR4SW4uaGFzaCk7XG4gICAgYnVmZmVyV3JpdGVyLndyaXRlVUludDMyKHR4SW4uaW5kZXgpO1xuICB9KTtcbiAgcmV0dXJuIGdldEJsYWtlMmJIYXNoKGJ1ZmZlcldyaXRlci5lbmQoKSwgdGFnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlcXVlbmNlRGlnZXN0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBpbnM6IFR4SW5wdXRbXSxcbiAgdGFnID0gJ1pUeElkU2VxdWVuY0hhc2gnLFxuICBzaWdQYXJhbXM/OiBTaWduYXR1cmVQYXJhbXM8VE51bWJlcj5cbik6IEJ1ZmZlciB7XG4gIC8vIHR4aWQ6IGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjdC0yYi1zZXF1ZW5jZS1kaWdlc3RcbiAgLy8gc2lnOiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I3MtMmItc2VxdWVuY2Utc2lnLWRpZ2VzdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vemNhc2gtaGFja3dvcmtzL3pjYXNoLXRlc3QtdmVjdG9ycy9ibG9iL2RkOGZkYi96aXBfMDI0NC5weSNMMjYzXG4gIGlmIChzaWdQYXJhbXMpIHtcbiAgICBjb25zdCB7IGhhc2hUeXBlIH0gPSBzaWdQYXJhbXM7XG4gICAgaWYgKFxuICAgICAgaGFzaFR5cGUgJiBUcmFuc2FjdGlvbi5TSUdIQVNIX0FOWU9ORUNBTlBBWSB8fFxuICAgICAgKGhhc2hUeXBlICYgMHgxZikgPT09IFRyYW5zYWN0aW9uLlNJR0hBU0hfU0lOR0xFIHx8XG4gICAgICAoaGFzaFR5cGUgJiAweDFmKSA9PT0gVHJhbnNhY3Rpb24uU0lHSEFTSF9OT05FXG4gICAgKSB7XG4gICAgICByZXR1cm4gZ2V0U2VxdWVuY2VEaWdlc3QoW10pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlcldyaXRlciA9IG5ldyBCdWZmZXJXcml0ZXIoQnVmZmVyLmFsbG9jVW5zYWZlKDQgKiBpbnMubGVuZ3RoKSk7XG5cbiAgaW5zLmZvckVhY2goZnVuY3Rpb24gKHR4SW4pIHtcbiAgICBidWZmZXJXcml0ZXIud3JpdGVVSW50MzIodHhJbi5zZXF1ZW5jZSk7XG4gIH0pO1xuXG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaChidWZmZXJXcml0ZXIuZW5kKCksIHRhZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPdXRwdXRzRGlnZXN0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICBvdXRzOiBUeE91dHB1dDxUTnVtYmVyPltdLFxuICB0YWcgPSAnWlR4SWRPdXRwdXRzSGFzaCcsXG4gIHNpZ1BhcmFtcz86IFNpZ25hdHVyZVBhcmFtczxUTnVtYmVyPlxuKTogQnVmZmVyIHtcbiAgLy8gdHhpZDogaHR0cHM6Ly96aXBzLnouY2FzaC96aXAtMDI0NCN0LTJjLW91dHB1dHMtZGlnZXN0XG4gIC8vIHNpZzogaHR0cHM6Ly96aXBzLnouY2FzaC96aXAtMDI0NCNzLTJjLW91dHB1dHMtc2lnLWRpZ2VzdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vemNhc2gtaGFja3dvcmtzL3pjYXNoLXRlc3QtdmVjdG9ycy9ibG9iL2RkOGZkYi96aXBfMDI0NC5weSNMMjc1XG4gIGlmIChzaWdQYXJhbXMpIHtcbiAgICBsZXQgeyBoYXNoVHlwZSB9ID0gc2lnUGFyYW1zO1xuICAgIGhhc2hUeXBlID0gaGFzaFR5cGUgJiAweDFmO1xuXG4gICAgaWYgKGhhc2hUeXBlID09PSBUcmFuc2FjdGlvbi5TSUdIQVNIX1NJTkdMRSkge1xuICAgICAgaWYgKHNpZ1BhcmFtcy5pbkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgICBpZiAob3V0c1tzaWdQYXJhbXMuaW5JbmRleF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gZ2V0T3V0cHV0c0RpZ2VzdChvdXRzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBnZXRPdXRwdXRzRGlnZXN0KFtvdXRzW3NpZ1BhcmFtcy5pbkluZGV4XV0pO1xuICAgIH1cblxuICAgIGlmIChoYXNoVHlwZSA9PT0gVHJhbnNhY3Rpb24uU0lHSEFTSF9OT05FKSB7XG4gICAgICByZXR1cm4gZ2V0T3V0cHV0c0RpZ2VzdChbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldE91dHB1dHNEaWdlc3Qob3V0cywgdGFnKTtcbiAgfVxuXG4gIC8vIEZpbmQgb3V0IHRoZSBzaXplIG9mIHRoZSBvdXRwdXRzIGFuZCB3cml0ZSB0aGVtXG4gIGNvbnN0IHR4T3V0c1NpemUgPSBvdXRzLnJlZHVjZShmdW5jdGlvbiAoc3VtLCBvdXRwdXQpIHtcbiAgICByZXR1cm4gc3VtICsgOCArIHZhclNsaWNlU2l6ZShvdXRwdXQuc2NyaXB0KTtcbiAgfSwgMCk7XG5cbiAgY29uc3QgYnVmZmVyV3JpdGVyID0gbmV3IEJ1ZmZlcldyaXRlcihCdWZmZXIuYWxsb2NVbnNhZmUodHhPdXRzU2l6ZSkpO1xuXG4gIG91dHMuZm9yRWFjaChmdW5jdGlvbiAob3V0KSB7XG4gICAgYnVmZmVyV3JpdGVyLndyaXRlVUludDY0KG91dC52YWx1ZSk7XG4gICAgYnVmZmVyV3JpdGVyLndyaXRlVmFyU2xpY2Uob3V0LnNjcmlwdCk7XG4gIH0pO1xuXG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaChidWZmZXJXcml0ZXIuZW5kKCksIHRhZyk7XG59XG5cbmZ1bmN0aW9uIGdldFR4aW5EaWdlc3Q8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oaW5wdXQ6IFR4SW5wdXQsIHNpZ1BhcmFtczogU2lnbmF0dXJlUGFyYW1zPFROdW1iZXI+KSB7XG4gIC8vIGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjcy0yZC10eGluLXNpZy1kaWdlc3RcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3pjYXNoLWhhY2t3b3Jrcy96Y2FzaC10ZXN0LXZlY3RvcnMvYmxvYi9kZDhmZGIvemlwXzAyNDQucHkjTDI5MVxuICBjb25zdCB3cml0ZXIgPSBCdWZmZXJXcml0ZXIud2l0aENhcGFjaXR5KFxuICAgIDMyIC8qIHByZXZvdXQgaGFzaCAqLyArXG4gICAgICA0IC8qIHByZXZvdXQgdmluICovICtcbiAgICAgIHZhclNsaWNlU2l6ZShzaWdQYXJhbXMucHJldk91dFNjcmlwdCkgK1xuICAgICAgOCAvKiB2YWx1ZSAqLyArXG4gICAgICA0IC8qIHNlcXVlbmNlICovXG4gICk7XG4gIHdyaXRlci53cml0ZVNsaWNlKGlucHV0Lmhhc2gpO1xuICB3cml0ZXIud3JpdGVVSW50MzIoaW5wdXQuaW5kZXgpO1xuICB3cml0ZXIud3JpdGVWYXJTbGljZShzaWdQYXJhbXMucHJldk91dFNjcmlwdCk7XG4gIHdyaXRlci53cml0ZVVJbnQ2NChzaWdQYXJhbXMudmFsdWUpO1xuICB3cml0ZXIud3JpdGVVSW50MzIoaW5wdXQuc2VxdWVuY2UpO1xuICByZXR1cm4gZ2V0Qmxha2UyYkhhc2god3JpdGVyLmVuZCgpLCAnWmNhc2hfX19UeEluSGFzaCcpO1xufVxuXG5mdW5jdGlvbiBnZXRUcmFuc3BhcmVudERpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50PihcbiAgdHg6IHsgaW5zOiBUeElucHV0W107IG91dHM6IFR4T3V0cHV0PFROdW1iZXI+W10gfSxcbiAgc2lnUGFyYW1zPzogU2lnbmF0dXJlUGFyYW1zPFROdW1iZXI+XG4pOiBCdWZmZXIge1xuICAvLyB0eGlkOiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I3QtMi10cmFuc3BhcmVudC1kaWdlc3RcbiAgLy8gc2lnOiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I3MtMmEtcHJldm91dHMtc2lnLWRpZ2VzdFxuICBpZiAoc2lnUGFyYW1zKSB7XG4gICAgaWYgKHNpZ1BhcmFtcy5pbkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBnZXRUcmFuc3BhcmVudERpZ2VzdCh0eCk7XG4gICAgfVxuICB9XG5cbiAgbGV0IGJ1ZmZlcjtcbiAgaWYgKHR4Lmlucy5sZW5ndGggfHwgdHgub3V0cy5sZW5ndGgpIHtcbiAgICBjb25zdCB3cml0ZXIgPSBCdWZmZXJXcml0ZXIud2l0aENhcGFjaXR5KDMyICogKHNpZ1BhcmFtcyA/IDQgOiAzKSk7XG4gICAgd3JpdGVyLndyaXRlU2xpY2UoZ2V0UHJldm91dHNEaWdlc3QodHguaW5zLCB1bmRlZmluZWQsIHNpZ1BhcmFtcykpO1xuICAgIHdyaXRlci53cml0ZVNsaWNlKGdldFNlcXVlbmNlRGlnZXN0KHR4LmlucywgdW5kZWZpbmVkLCBzaWdQYXJhbXMpKTtcbiAgICB3cml0ZXIud3JpdGVTbGljZShnZXRPdXRwdXRzRGlnZXN0KHR4Lm91dHMsIHVuZGVmaW5lZCwgc2lnUGFyYW1zKSk7XG4gICAgaWYgKHNpZ1BhcmFtcykge1xuICAgICAgaWYgKHNpZ1BhcmFtcy5pbkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XG4gICAgICB9XG4gICAgICB3cml0ZXIud3JpdGVTbGljZShnZXRUeGluRGlnZXN0KHR4Lmluc1tzaWdQYXJhbXMuaW5JbmRleF0sIHNpZ1BhcmFtcykpO1xuICAgIH1cbiAgICBidWZmZXIgPSB3cml0ZXIuZW5kKCk7XG4gIH0gZWxzZSB7XG4gICAgYnVmZmVyID0gQnVmZmVyLm9mKCk7XG4gIH1cbiAgcmV0dXJuIGdldEJsYWtlMmJIYXNoKGJ1ZmZlciwgJ1pUeElkVHJhbnNwYUhhc2gnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2FwbGluZ0RpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50Pih0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPik6IEJ1ZmZlciB7XG4gIC8vIGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjdC0zLXNhcGxpbmctZGlnZXN0XG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaChCdWZmZXIub2YoKSwgJ1pUeElkU2FwbGluZ0hhc2gnKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3JjaGFyZERpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50Pih0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPik6IEJ1ZmZlciB7XG4gIC8vIGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjdC00LW9yY2hhcmQtZGlnZXN0XG4gIHJldHVybiBnZXRCbGFrZTJiSGFzaChCdWZmZXIub2YoKSwgJ1pUeElkT3JjaGFyZEhhc2gnKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0gdHhcbiAqIEBwYXJhbSBzaWduYXR1cmVQYXJhbXMgLSBjYWxjdWxhdGVzIHR4aWQgd2hlbiB1bmRlZmluZWRcbiAqL1xuZnVuY3Rpb24gZ2V0RGlnZXN0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPixcbiAgc2lnbmF0dXJlUGFyYW1zPzogU2lnbmF0dXJlUGFyYW1zPFROdW1iZXI+XG4pOiBCdWZmZXIge1xuICAvLyB0eGlkOiBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I2lkNFxuICAvLyBzaWc6IGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjaWQxM1xuICBjb25zdCB3cml0ZXIgPSBCdWZmZXJXcml0ZXIud2l0aENhcGFjaXR5KDMyICogNCk7XG4gIHdyaXRlci53cml0ZVNsaWNlKGdldEhlYWRlckRpZ2VzdCh0eCkpO1xuICB3cml0ZXIud3JpdGVTbGljZShnZXRUcmFuc3BhcmVudERpZ2VzdCh0eCwgc2lnbmF0dXJlUGFyYW1zKSk7XG4gIHdyaXRlci53cml0ZVNsaWNlKGdldFNhcGxpbmdEaWdlc3QodHgpKTtcbiAgd3JpdGVyLndyaXRlU2xpY2UoZ2V0T3JjaGFyZERpZ2VzdCh0eCkpO1xuXG4gIGNvbnN0IHRhZyA9ICdaY2FzaFR4SGFzaF8nO1xuICBjb25zdCBwZXJzb25hbGl6YXRpb24gPSBCdWZmZXJXcml0ZXIud2l0aENhcGFjaXR5KHRhZy5sZW5ndGggKyA0IC8qIFVJbnQzMiAqLyk7XG4gIHBlcnNvbmFsaXphdGlvbi53cml0ZVNsaWNlKEJ1ZmZlci5mcm9tKHRhZykpO1xuICBwZXJzb25hbGl6YXRpb24ud3JpdGVVSW50MzIodHguY29uc2Vuc3VzQnJhbmNoSWQpO1xuICByZXR1cm4gZ2V0Qmxha2UyYkhhc2god3JpdGVyLmVuZCgpLCBwZXJzb25hbGl6YXRpb24uZW5kKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHhpZERpZ2VzdDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50Pih0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPik6IEJ1ZmZlciB7XG4gIC8vIGh0dHBzOi8vemlwcy56LmNhc2gvemlwLTAyNDQjaWQ0XG4gIHJldHVybiBnZXREaWdlc3QodHgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2lnbmF0dXJlRGlnZXN0PFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eDogWmNhc2hUcmFuc2FjdGlvbjxUTnVtYmVyPixcbiAgaW5JbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBwcmV2T3V0U2NyaXB0OiBCdWZmZXIsXG4gIHZhbHVlOiBUTnVtYmVyLFxuICBoYXNoVHlwZTogbnVtYmVyXG4pOiBCdWZmZXIge1xuICAvLyBodHRwczovL3ppcHMuei5jYXNoL3ppcC0wMjQ0I2lkMTNcbiAgcmV0dXJuIGdldERpZ2VzdCh0eCwge1xuICAgIGluSW5kZXgsXG4gICAgcHJldk91dFNjcmlwdCxcbiAgICB2YWx1ZSxcbiAgICBoYXNoVHlwZSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -13,4 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
17
|
__exportStar(require("./ZcashPsbt"), exports);
|
|
14
18
|
__exportStar(require("./ZcashTransaction"), exports);
|
|
15
19
|
__exportStar(require("./ZcashTransactionBuilder"), exports);
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vemNhc2gvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QixxREFBbUM7QUFDbkMsNERBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9aY2FzaFBzYnQnO1xuZXhwb3J0ICogZnJvbSAnLi9aY2FzaFRyYW5zYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vWmNhc2hUcmFuc2FjdGlvbkJ1aWxkZXInO1xuIl19
|
package/dist/src/classify.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/classify.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/classify.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK;UACW,MAAM;iBACI,MAAM;cACZ,MAAM;UACZ,MAAM;WACD,MAAM;UACP,MAAM;YACG,MAAM;WACP,MAAM;UACjB,MAAM;aACC,MAAM;wBACW,MAAM;CAClD,CAAC;AAEF,iBAAS,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAkB9C;AAED,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAYxE;AAED,iBAAS,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAU5E;AAED,OAAO,EAAE,aAAa,IAAI,KAAK,EAAE,cAAc,IAAI,MAAM,EAAE,eAAe,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
package/dist/src/classify.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.types =
|
|
3
|
+
exports.types = void 0;
|
|
4
|
+
exports.input = classifyInput;
|
|
5
|
+
exports.output = classifyOutput;
|
|
6
|
+
exports.witness = classifyWitness;
|
|
4
7
|
const _1 = require("./");
|
|
5
8
|
const multisig = require("./templates/multisig");
|
|
6
9
|
const nullData = require("./templates/nulldata");
|
|
@@ -53,7 +56,6 @@ function classifyOutput(script) {
|
|
|
53
56
|
return types.NULLDATA;
|
|
54
57
|
return types.NONSTANDARD;
|
|
55
58
|
}
|
|
56
|
-
exports.output = classifyOutput;
|
|
57
59
|
function classifyInput(script, allowIncomplete) {
|
|
58
60
|
// XXX: optimization, below functions bscript.decompile before use
|
|
59
61
|
const chunks = _1.script.decompile(script);
|
|
@@ -71,7 +73,6 @@ function classifyInput(script, allowIncomplete) {
|
|
|
71
73
|
return types.P2PK;
|
|
72
74
|
return types.NONSTANDARD;
|
|
73
75
|
}
|
|
74
|
-
exports.input = classifyInput;
|
|
75
76
|
function classifyWitness(script, allowIncomplete) {
|
|
76
77
|
// XXX: optimization, below functions bscript.decompile before use
|
|
77
78
|
const chunks = _1.script.decompile(script);
|
|
@@ -85,5 +86,4 @@ function classifyWitness(script, allowIncomplete) {
|
|
|
85
86
|
return types.P2TR;
|
|
86
87
|
return types.NONSTANDARD;
|
|
87
88
|
}
|
|
88
|
-
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NpZnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xhc3NpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXVDO0FBQ3ZDLGlEQUFpRDtBQUNqRCxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLHFEQUFxRDtBQUNyRCxxREFBcUQ7QUFDckQsK0NBQStDO0FBQy9DLHVEQUF1RDtBQUN2RCxtRUFBbUU7QUFDbkUsbUVBQW1FO0FBQ25FLG1FQUFtRTtBQUVuRSxNQUFNLEtBQUssR0FBRztJQUNaLElBQUksRUFBRSxVQUFvQjtJQUMxQixXQUFXLEVBQUUsYUFBdUI7SUFDcEMsUUFBUSxFQUFFLFVBQW9CO0lBQzlCLElBQUksRUFBRSxRQUFrQjtJQUN4QixLQUFLLEVBQUUsWUFBc0I7SUFDN0IsSUFBSSxFQUFFLFlBQXNCO0lBQzVCLE1BQU0sRUFBRSxtQkFBNkI7SUFDckMsS0FBSyxFQUFFLG1CQUE2QjtJQUNwQyxJQUFJLEVBQUUsU0FBbUI7SUFDekIsT0FBTyxFQUFFLGFBQXVCO0lBQ2hDLGtCQUFrQixFQUFFLG1CQUE2QjtDQUNsRCxDQUFDO0FBZ0RxRixzQkFBSztBQTlDNUYsU0FBUyxjQUFjLENBQUMsTUFBYztJQUNwQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ2hFLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDL0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDcEQsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7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QixDQUFDO0FBRTZFLGtDQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2NyaXB0IGFzIGJzY3JpcHQgfSBmcm9tICcuLyc7XG5pbXBvcnQgKiBhcyBtdWx0aXNpZyBmcm9tICcuL3RlbXBsYXRlcy9tdWx0aXNpZyc7XG5pbXBvcnQgKiBhcyBudWxsRGF0YSBmcm9tICcuL3RlbXBsYXRlcy9udWxsZGF0YSc7XG5pbXBvcnQgKiBhcyBwdWJLZXkgZnJvbSAnLi90ZW1wbGF0ZXMvcHVia2V5JztcbmltcG9ydCAqIGFzIHB1YktleUhhc2ggZnJvbSAnLi90ZW1wbGF0ZXMvcHVia2V5aGFzaCc7XG5pbXBvcnQgKiBhcyBzY3JpcHRIYXNoIGZyb20gJy4vdGVtcGxhdGVzL3NjcmlwdGhhc2gnO1xuaW1wb3J0ICogYXMgdGFwcm9vdCBmcm9tICcuL3RlbXBsYXRlcy90YXByb290JztcbmltcG9ydCAqIGFzIHRhcHJvb3Rub2ZuIGZyb20gJy4vdGVtcGxhdGVzL3RhcHJvb3Rub2ZuJztcbmltcG9ydCAqIGFzIHdpdG5lc3NDb21taXRtZW50IGZyb20gJy4vdGVtcGxhdGVzL3dpdG5lc3Njb21taXRtZW50JztcbmltcG9ydCAqIGFzIHdpdG5lc3NQdWJLZXlIYXNoIGZyb20gJy4vdGVtcGxhdGVzL3dpdG5lc3NwdWJrZXloYXNoJztcbmltcG9ydCAqIGFzIHdpdG5lc3NTY3JpcHRIYXNoIGZyb20gJy4vdGVtcGxhdGVzL3dpdG5lc3NzY3JpcHRoYXNoJztcblxuY29uc3QgdHlwZXMgPSB7XG4gIFAyTVM6ICdtdWx0aXNpZycgYXMgc3RyaW5nLFxuICBOT05TVEFOREFSRDogJ25vbnN0YW5kYXJkJyBhcyBzdHJpbmcsXG4gIE5VTExEQVRBOiAnbnVsbGRhdGEnIGFzIHN0cmluZyxcbiAgUDJQSzogJ3B1YmtleScgYXMgc3RyaW5nLFxuICBQMlBLSDogJ3B1YmtleWhhc2gnIGFzIHN0cmluZyxcbiAgUDJTSDogJ3NjcmlwdGhhc2gnIGFzIHN0cmluZyxcbiAgUDJXUEtIOiAnd2l0bmVzc3B1YmtleWhhc2gnIGFzIHN0cmluZyxcbiAgUDJXU0g6ICd3aXRuZXNzc2NyaXB0aGFzaCcgYXMgc3RyaW5nLFxuICBQMlRSOiAndGFwcm9vdCcgYXMgc3RyaW5nLFxuICBQMlRSX05TOiAndGFwcm9vdG5vZm4nIGFzIHN0cmluZyxcbiAgV0lUTkVTU19DT01NSVRNRU5UOiAnd2l0bmVzc2NvbW1pdG1lbnQnIGFzIHN0cmluZyxcbn07XG5cbmZ1bmN0aW9uIGNsYXNzaWZ5T3V0cHV0KHNjcmlwdDogQnVmZmVyKTogc3RyaW5nIHtcbiAgaWYgKHdpdG5lc3NQdWJLZXlIYXNoLm91dHB1dC5jaGVjayhzY3JpcHQpKSByZXR1cm4gdHlwZXMuUDJXUEtIO1xuICBpZiAod2l0bmVzc1NjcmlwdEhhc2gub3V0cHV0LmNoZWNrKHNjcmlwdCkpIHJldHVybiB0eXBlcy5QMldTSDtcbiAgaWYgKHRhcHJvb3Qub3V0cHV0LmNoZWNrKHNjcmlwdCkpIHJldHVybiB0eXBlcy5QMlRSO1xuICBpZiAocHViS2V5SGFzaC5vdXRwdXQuY2hlY2soc2NyaXB0KSkgcmV0dXJuIHR5cGVzLlAyUEtIO1xuICBpZiAoc2NyaXB0SGFzaC5vdXRwdXQuY2hlY2soc2NyaXB0KSkgcmV0dXJuIHR5cGVzLlAyU0g7XG5cbiAgLy8gWFhYOiBvcHRpbWl6YXRpb24sIGJlbG93IGZ1bmN0aW9ucyBic2NyaXB0LmRlY29tcGlsZSBiZWZvcmUgdXNlXG4gIGNvbnN0IGNodW5rcyA9IGJzY3JpcHQuZGVjb21waWxlKHNjcmlwdCk7XG4gIGlmICghY2h1bmtzKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHNjcmlwdCcpO1xuXG4gIGlmICh0YXByb290bm9mbi5vdXRwdXQuY2hlY2soY2h1bmtzKSkgcmV0dXJuIHR5cGVzLlAyVFJfTlM7XG4gIGlmIChtdWx0aXNpZy5vdXRwdXQuY2hlY2soY2h1bmtzKSkgcmV0dXJuIHR5cGVzLlAyTVM7XG4gIGlmIChwdWJLZXkub3V0cHV0LmNoZWNrKGNodW5rcykpIHJldHVybiB0eXBlcy5QMlBLO1xuICBpZiAod2l0bmVzc0NvbW1pdG1lbnQub3V0cHV0LmNoZWNrKGNodW5rcykpIHJldHVybiB0eXBlcy5XSVRORVNTX0NPTU1JVE1FTlQ7XG4gIGlmIChudWxsRGF0YS5vdXRwdXQuY2hlY2soY2h1bmtzKSkgcmV0dXJuIHR5cGVzLk5VTExEQVRBO1xuXG4gIHJldHVybiB0eXBlcy5OT05TVEFOREFSRDtcbn1cblxuZnVuY3Rpb24gY2xhc3NpZnlJbnB1dChzY3JpcHQ6IEJ1ZmZlciwgYWxsb3dJbmNvbXBsZXRlPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIC8vIFhYWDogb3B0aW1pemF0aW9uLCBiZWxvdyBmdW5jdGlvbnMgYnNjcmlwdC5kZWNvbXBpbGUgYmVmb3JlIHVzZVxuICBjb25zdCBjaHVua3MgPSBic2NyaXB0LmRlY29tcGlsZShzY3JpcHQpO1xuICBpZiAoIWNodW5rcykgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBzY3JpcHQnKTtcblxuICBpZiAocHViS2V5SGFzaC5pbnB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuUDJQS0g7XG4gIGlmIChzY3JpcHRIYXNoLmlucHV0LmNoZWNrKGNodW5rcywgYWxsb3dJbmNvbXBsZXRlKSkgcmV0dXJuIHR5cGVzLlAyU0g7XG4gIGlmICh0YXByb290bm9mbi5pbnB1dC5jaGVjayhjaHVua3MsIGFsbG93SW5jb21wbGV0ZSkpIHJldHVybiB0eXBlcy5QMlRSX05TO1xuICBpZiAobXVsdGlzaWcuaW5wdXQuY2hlY2soY2h1bmtzLCBhbGxvd0luY29tcGxldGUpKSByZXR1cm4gdHlwZXMuUDJNUztcbiAgaWYgKHB1YktleS5pbnB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuUDJQSztcblxuICByZXR1cm4gdHlwZXMuTk9OU1RBTkRBUkQ7XG59XG5cbmZ1bmN0aW9uIGNsYXNzaWZ5V2l0bmVzcyhzY3JpcHQ6IEJ1ZmZlcltdLCBhbGxvd0luY29tcGxldGU/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgLy8gWFhYOiBvcHRpbWl6YXRpb24sIGJlbG93IGZ1bmN0aW9ucyBic2NyaXB0LmRlY29tcGlsZSBiZWZvcmUgdXNlXG4gIGNvbnN0IGNodW5rcyA9IGJzY3JpcHQuZGVjb21waWxlKHNjcmlwdCk7XG4gIGlmICghY2h1bmtzKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHNjcmlwdCcpO1xuXG4gIGlmICh3aXRuZXNzUHViS2V5SGFzaC5pbnB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuUDJXUEtIO1xuICBpZiAod2l0bmVzc1NjcmlwdEhhc2guaW5wdXQuY2hlY2soY2h1bmtzIGFzIEJ1ZmZlcltdLCBhbGxvd0luY29tcGxldGUpKSByZXR1cm4gdHlwZXMuUDJXU0g7XG4gIGlmICh0YXByb290LmlucHV0LmNoZWNrKGNodW5rcyBhcyBCdWZmZXJbXSkpIHJldHVybiB0eXBlcy5QMlRSO1xuXG4gIHJldHVybiB0eXBlcy5OT05TVEFOREFSRDtcbn1cblxuZXhwb3J0IHsgY2xhc3NpZnlJbnB1dCBhcyBpbnB1dCwgY2xhc3NpZnlPdXRwdXQgYXMgb3V0cHV0LCBjbGFzc2lmeVdpdG5lc3MgYXMgd2l0bmVzcywgdHlwZXMgfTtcbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3NpZnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xhc3NpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0UwQiw4QkFBSztBQUFvQixnQ0FBTTtBQUFxQixrQ0FBTztBQXhFckYseUJBQXVDO0FBQ3ZDLGlEQUFpRDtBQUNqRCxpREFBaUQ7QUFDakQsNkNBQTZDO0FBQzdDLHFEQUFxRDtBQUNyRCxxREFBcUQ7QUFDckQsK0NBQStDO0FBQy9DLHVEQUF1RDtBQUN2RCxtRUFBbUU7QUFDbkUsbUVBQW1FO0FBQ25FLG1FQUFtRTtBQUVuRSxNQUFNLEtBQUssR0FBRztJQUNaLElBQUksRUFBRSxVQUFvQjtJQUMxQixXQUFXLEVBQUUsYUFBdUI7SUFDcEMsUUFBUSxFQUFFLFVBQW9CO0lBQzlCLElBQUksRUFBRSxRQUFrQjtJQUN4QixLQUFLLEVBQUUsWUFBc0I7SUFDN0IsSUFBSSxFQUFFLFlBQXNCO0lBQzVCLE1BQU0sRUFBRSxtQkFBNkI7SUFDckMsS0FBSyxFQUFFLG1CQUE2QjtJQUNwQyxJQUFJLEVBQUUsU0FBbUI7SUFDekIsT0FBTyxFQUFFLGFBQXVCO0lBQ2hDLGtCQUFrQixFQUFFLG1CQUE2QjtDQUNsRCxDQUFDO0FBZ0RxRixzQkFBSztBQTlDNUYsU0FBUyxjQUFjLENBQUMsTUFBYztJQUNwQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQUUsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ2hFLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDL0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDcEQsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxN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VyxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzY3JpcHQgYXMgYnNjcmlwdCB9IGZyb20gJy4vJztcbmltcG9ydCAqIGFzIG11bHRpc2lnIGZyb20gJy4vdGVtcGxhdGVzL211bHRpc2lnJztcbmltcG9ydCAqIGFzIG51bGxEYXRhIGZyb20gJy4vdGVtcGxhdGVzL251bGxkYXRhJztcbmltcG9ydCAqIGFzIHB1YktleSBmcm9tICcuL3RlbXBsYXRlcy9wdWJrZXknO1xuaW1wb3J0ICogYXMgcHViS2V5SGFzaCBmcm9tICcuL3RlbXBsYXRlcy9wdWJrZXloYXNoJztcbmltcG9ydCAqIGFzIHNjcmlwdEhhc2ggZnJvbSAnLi90ZW1wbGF0ZXMvc2NyaXB0aGFzaCc7XG5pbXBvcnQgKiBhcyB0YXByb290IGZyb20gJy4vdGVtcGxhdGVzL3RhcHJvb3QnO1xuaW1wb3J0ICogYXMgdGFwcm9vdG5vZm4gZnJvbSAnLi90ZW1wbGF0ZXMvdGFwcm9vdG5vZm4nO1xuaW1wb3J0ICogYXMgd2l0bmVzc0NvbW1pdG1lbnQgZnJvbSAnLi90ZW1wbGF0ZXMvd2l0bmVzc2NvbW1pdG1lbnQnO1xuaW1wb3J0ICogYXMgd2l0bmVzc1B1YktleUhhc2ggZnJvbSAnLi90ZW1wbGF0ZXMvd2l0bmVzc3B1YmtleWhhc2gnO1xuaW1wb3J0ICogYXMgd2l0bmVzc1NjcmlwdEhhc2ggZnJvbSAnLi90ZW1wbGF0ZXMvd2l0bmVzc3NjcmlwdGhhc2gnO1xuXG5jb25zdCB0eXBlcyA9IHtcbiAgUDJNUzogJ211bHRpc2lnJyBhcyBzdHJpbmcsXG4gIE5PTlNUQU5EQVJEOiAnbm9uc3RhbmRhcmQnIGFzIHN0cmluZyxcbiAgTlVMTERBVEE6ICdudWxsZGF0YScgYXMgc3RyaW5nLFxuICBQMlBLOiAncHVia2V5JyBhcyBzdHJpbmcsXG4gIFAyUEtIOiAncHVia2V5aGFzaCcgYXMgc3RyaW5nLFxuICBQMlNIOiAnc2NyaXB0aGFzaCcgYXMgc3RyaW5nLFxuICBQMldQS0g6ICd3aXRuZXNzcHVia2V5aGFzaCcgYXMgc3RyaW5nLFxuICBQMldTSDogJ3dpdG5lc3NzY3JpcHRoYXNoJyBhcyBzdHJpbmcsXG4gIFAyVFI6ICd0YXByb290JyBhcyBzdHJpbmcsXG4gIFAyVFJfTlM6ICd0YXByb290bm9mbicgYXMgc3RyaW5nLFxuICBXSVRORVNTX0NPTU1JVE1FTlQ6ICd3aXRuZXNzY29tbWl0bWVudCcgYXMgc3RyaW5nLFxufTtcblxuZnVuY3Rpb24gY2xhc3NpZnlPdXRwdXQoc2NyaXB0OiBCdWZmZXIpOiBzdHJpbmcge1xuICBpZiAod2l0bmVzc1B1YktleUhhc2gub3V0cHV0LmNoZWNrKHNjcmlwdCkpIHJldHVybiB0eXBlcy5QMldQS0g7XG4gIGlmICh3aXRuZXNzU2NyaXB0SGFzaC5vdXRwdXQuY2hlY2soc2NyaXB0KSkgcmV0dXJuIHR5cGVzLlAyV1NIO1xuICBpZiAodGFwcm9vdC5vdXRwdXQuY2hlY2soc2NyaXB0KSkgcmV0dXJuIHR5cGVzLlAyVFI7XG4gIGlmIChwdWJLZXlIYXNoLm91dHB1dC5jaGVjayhzY3JpcHQpKSByZXR1cm4gdHlwZXMuUDJQS0g7XG4gIGlmIChzY3JpcHRIYXNoLm91dHB1dC5jaGVjayhzY3JpcHQpKSByZXR1cm4gdHlwZXMuUDJTSDtcblxuICAvLyBYWFg6IG9wdGltaXphdGlvbiwgYmVsb3cgZnVuY3Rpb25zIGJzY3JpcHQuZGVjb21waWxlIGJlZm9yZSB1c2VcbiAgY29uc3QgY2h1bmtzID0gYnNjcmlwdC5kZWNvbXBpbGUoc2NyaXB0KTtcbiAgaWYgKCFjaHVua3MpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc2NyaXB0Jyk7XG5cbiAgaWYgKHRhcHJvb3Rub2ZuLm91dHB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuUDJUUl9OUztcbiAgaWYgKG11bHRpc2lnLm91dHB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuUDJNUztcbiAgaWYgKHB1YktleS5vdXRwdXQuY2hlY2soY2h1bmtzKSkgcmV0dXJuIHR5cGVzLlAyUEs7XG4gIGlmICh3aXRuZXNzQ29tbWl0bWVudC5vdXRwdXQuY2hlY2soY2h1bmtzKSkgcmV0dXJuIHR5cGVzLldJVE5FU1NfQ09NTUlUTUVOVDtcbiAgaWYgKG51bGxEYXRhLm91dHB1dC5jaGVjayhjaHVua3MpKSByZXR1cm4gdHlwZXMuTlVMTERBVEE7XG5cbiAgcmV0dXJuIHR5cGVzLk5PTlNUQU5EQVJEO1xufVxuXG5mdW5jdGlvbiBjbGFzc2lmeUlucHV0KHNjcmlwdDogQnVmZmVyLCBhbGxvd0luY29tcGxldGU/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgLy8gWFhYOiBvcHRpbWl6YXRpb24sIGJlbG93IGZ1bmN0aW9ucyBic2NyaXB0LmRlY29tcGlsZSBiZWZvcmUgdXNlXG4gIGNvbnN0IGNodW5rcyA9IGJzY3JpcHQuZGVjb21waWxlKHNjcmlwdCk7XG4gIGlmICghY2h1bmtzKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIHNjcmlwdCcpO1xuXG4gIGlmIChwdWJLZXlIYXNoLmlucHV0LmNoZWNrKGNodW5rcykpIHJldHVybiB0eXBlcy5QMlBLSDtcbiAgaWYgKHNjcmlwdEhhc2guaW5wdXQuY2hlY2soY2h1bmtzLCBhbGxvd0luY29tcGxldGUpKSByZXR1cm4gdHlwZXMuUDJTSDtcbiAgaWYgKHRhcHJvb3Rub2ZuLmlucHV0LmNoZWNrKGNodW5rcywgYWxsb3dJbmNvbXBsZXRlKSkgcmV0dXJuIHR5cGVzLlAyVFJfTlM7XG4gIGlmIChtdWx0aXNpZy5pbnB1dC5jaGVjayhjaHVua3MsIGFsbG93SW5jb21wbGV0ZSkpIHJldHVybiB0eXBlcy5QMk1TO1xuICBpZiAocHViS2V5LmlucHV0LmNoZWNrKGNodW5rcykpIHJldHVybiB0eXBlcy5QMlBLO1xuXG4gIHJldHVybiB0eXBlcy5OT05TVEFOREFSRDtcbn1cblxuZnVuY3Rpb24gY2xhc3NpZnlXaXRuZXNzKHNjcmlwdDogQnVmZmVyW10sIGFsbG93SW5jb21wbGV0ZT86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAvLyBYWFg6IG9wdGltaXphdGlvbiwgYmVsb3cgZnVuY3Rpb25zIGJzY3JpcHQuZGVjb21waWxlIGJlZm9yZSB1c2VcbiAgY29uc3QgY2h1bmtzID0gYnNjcmlwdC5kZWNvbXBpbGUoc2NyaXB0KTtcbiAgaWYgKCFjaHVua3MpIHRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgc2NyaXB0Jyk7XG5cbiAgaWYgKHdpdG5lc3NQdWJLZXlIYXNoLmlucHV0LmNoZWNrKGNodW5rcykpIHJldHVybiB0eXBlcy5QMldQS0g7XG4gIGlmICh3aXRuZXNzU2NyaXB0SGFzaC5pbnB1dC5jaGVjayhjaHVua3MgYXMgQnVmZmVyW10sIGFsbG93SW5jb21wbGV0ZSkpIHJldHVybiB0eXBlcy5QMldTSDtcbiAgaWYgKHRhcHJvb3QuaW5wdXQuY2hlY2soY2h1bmtzIGFzIEJ1ZmZlcltdKSkgcmV0dXJuIHR5cGVzLlAyVFI7XG5cbiAgcmV0dXJuIHR5cGVzLk5PTlNUQU5EQVJEO1xufVxuXG5leHBvcnQgeyBjbGFzc2lmeUlucHV0IGFzIGlucHV0LCBjbGFzc2lmeU91dHB1dCBhcyBvdXRwdXQsIGNsYXNzaWZ5V2l0bmVzcyBhcyB3aXRuZXNzLCB0eXBlcyB9O1xuIl19
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAE9B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,cAAc,aAAa,CAAC;AAE5B,OAAO,KAAK,YAAY,MAAM,YAAY,CAAC;AAE3C,OAAO,EACL,QAAQ,EACR,OAAO,EACP,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAE9B,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,cAAc,aAAa,CAAC;AAE5B,OAAO,KAAK,YAAY,MAAM,YAAY,CAAC;AAE3C,OAAO,EACL,QAAQ,EACR,OAAO,EACP,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,eAAe,EACf,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -10,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.TransactionBuilder = exports.supportsSegwit = exports.supportsTaproot = exports.isTestnet = exports.isMainnet = exports.getTestnet = exports.getMainnet = exports.getNetworkName = exports.isValidNetwork = exports.getNetworkList = exports.networks = exports.p2trPayments = exports.testutil = exports.taproot = exports.classify = exports.addressFormat = exports.address = exports.bitgo = void 0;
|
|
17
|
+
exports.TransactionBuilder = exports.supportsSegwit = exports.supportsTaproot = exports.isTestnet = exports.isMainnet = exports.getTestnet = exports.getMainnet = exports.getNetworkName = exports.isValidNetwork = exports.getNetworkList = exports.networks = exports.p2trPayments = exports.testutil = exports.taproot = exports.classify = exports.addressFormat = exports.address = exports.bitgo = exports.bufferutils = void 0;
|
|
14
18
|
__exportStar(require("bitcoinjs-lib"), exports);
|
|
19
|
+
exports.bufferutils = require("bitcoinjs-lib/src/bufferutils");
|
|
15
20
|
exports.bitgo = require("./bitgo");
|
|
16
21
|
exports.address = require("./address");
|
|
17
22
|
exports.addressFormat = require("./addressFormat");
|
|
@@ -33,4 +38,4 @@ Object.defineProperty(exports, "supportsTaproot", { enumerable: true, get: funct
|
|
|
33
38
|
Object.defineProperty(exports, "supportsSegwit", { enumerable: true, get: function () { return networks_1.supportsSegwit; } });
|
|
34
39
|
var transaction_builder_1 = require("./transaction_builder");
|
|
35
40
|
Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transaction_builder_1.TransactionBuilder; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBOEI7QUFFOUIsK0RBQTZEO0FBRTdELG1DQUFpQztBQUVqQyx1Q0FBcUM7QUFFckMsbURBQWlEO0FBRWpELHlDQUF1QztBQUV2Qyx1Q0FBcUM7QUFFckMseUNBQXVDO0FBRXZDLDhDQUE0QjtBQUU1Qiw2Q0FBMkM7QUFFM0MsdUNBYW9CO0FBWmxCLG9HQUFBLFFBQVEsT0FBQTtBQUdSLDBHQUFBLGNBQWMsT0FBQTtBQUNkLDBHQUFBLGNBQWMsT0FBQTtBQUNkLDBHQUFBLGNBQWMsT0FBQTtBQUNkLHNHQUFBLFVBQVUsT0FBQTtBQUNWLHNHQUFBLFVBQVUsT0FBQTtBQUNWLHFHQUFBLFNBQVMsT0FBQTtBQUNULHFHQUFBLFNBQVMsT0FBQTtBQUNULDJHQUFBLGVBQWUsT0FBQTtBQUNmLDBHQUFBLGNBQWMsT0FBQTtBQUdoQiw2REFBMkQ7QUFBbEQseUhBQUEsa0JBQWtCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdiaXRjb2luanMtbGliJztcblxuZXhwb3J0ICogYXMgYnVmZmVydXRpbHMgZnJvbSAnYml0Y29pbmpzLWxpYi9zcmMvYnVmZmVydXRpbHMnO1xuXG5leHBvcnQgKiBhcyBiaXRnbyBmcm9tICcuL2JpdGdvJztcblxuZXhwb3J0ICogYXMgYWRkcmVzcyBmcm9tICcuL2FkZHJlc3MnO1xuXG5leHBvcnQgKiBhcyBhZGRyZXNzRm9ybWF0IGZyb20gJy4vYWRkcmVzc0Zvcm1hdCc7XG5cbmV4cG9ydCAqIGFzIGNsYXNzaWZ5IGZyb20gJy4vY2xhc3NpZnknO1xuXG5leHBvcnQgKiBhcyB0YXByb290IGZyb20gJy4vdGFwcm9vdCc7XG5cbmV4cG9ydCAqIGFzIHRlc3R1dGlsIGZyb20gJy4vdGVzdHV0aWwnO1xuXG5leHBvcnQgKiBmcm9tICcuL25vYmxlX2VjYyc7XG5cbmV4cG9ydCAqIGFzIHAydHJQYXltZW50cyBmcm9tICcuL3BheW1lbnRzJztcblxuZXhwb3J0IHtcbiAgbmV0d29ya3MsXG4gIE5ldHdvcmssXG4gIE5ldHdvcmtOYW1lLFxuICBnZXROZXR3b3JrTGlzdCxcbiAgaXNWYWxpZE5ldHdvcmssXG4gIGdldE5ldHdvcmtOYW1lLFxuICBnZXRNYWlubmV0LFxuICBnZXRUZXN0bmV0LFxuICBpc01haW5uZXQsXG4gIGlzVGVzdG5ldCxcbiAgc3VwcG9ydHNUYXByb290LFxuICBzdXBwb3J0c1NlZ3dpdCxcbn0gZnJvbSAnLi9uZXR3b3Jrcyc7XG5cbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25fYnVpbGRlcic7XG5cbmV4cG9ydCB7IE5ldHdvcmsgYXMgQml0Y29pbkpTTmV0d29yayB9IGZyb20gJ2JpdGNvaW5qcy1saWInO1xuIl19
|
package/dist/src/networks.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export type NetworkName = 'bitcoin' | 'testnet' | 'bitcoinPublicSignet' | 'bitcoinTestnet4' | 'bitcoinBitGoSignet' | 'bitcoincash' | 'bitcoincashTestnet' | 'ecash' | 'ecashTest' | 'bitcoingold' | 'bitcoingoldTestnet' | 'bitcoinsv' | 'bitcoinsvTestnet' | 'dash' | 'dashTest' | 'dogecoin' | 'dogecoinTest' | 'litecoin' | 'litecoinTest' | 'zcash' | 'zcashTest';
|
|
2
|
+
export type Network = {
|
|
3
3
|
messagePrefix: string;
|
|
4
4
|
pubKeyHash: number;
|
|
5
5
|
scriptHash: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/networks.ts"],"names":[],"mappings":"AAqCA,
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../src/networks.ts"],"names":[],"mappings":"AAqCA,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,qBAAqB,GACrB,iBAAiB,GACjB,oBAAoB,GACpB,aAAa,GACb,oBAAoB,GACpB,OAAO,GACP,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,WAAW,GACX,kBAAkB,GAClB,MAAM,GACN,UAAU,GACV,UAAU,GACV,cAAc,GACd,UAAU,GACV,cAAc,GACd,OAAO,GACP,WAAW,CAAC;AAEhB,MAAM,MAAM,OAAO,GAAG;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAoBF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAuPjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,EAAE,CAE1C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAIxE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CA0CpD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAE3E;AAWD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAkBhE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAErD;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEhD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEpD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEjD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,OAAO,CAEnE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAExD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD"}
|