@bitgo/sdk-core 8.23.0 → 8.24.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.
Files changed (36) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/LICENSE +191 -0
  3. package/dist/src/account-lib/baseCoin/enum.d.ts +3 -1
  4. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  5. package/dist/src/account-lib/baseCoin/enum.js +5 -1
  6. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +26 -3
  7. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  8. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +106 -2
  9. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +28 -1
  10. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  11. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  12. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +5 -0
  13. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  14. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +6 -1
  15. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +2 -1
  16. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  17. package/dist/src/bitgo/utils/tss/baseTypes.js +2 -1
  18. package/dist/src/bitgo/wallet/BuildParams.d.ts +2 -0
  19. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -1
  20. package/dist/src/bitgo/wallet/BuildParams.js +4 -2
  21. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts +1 -0
  22. package/dist/src/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -1
  23. package/dist/src/bitgo/wallet/iWallet.d.ts +1 -0
  24. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  25. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  26. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  27. package/dist/src/bitgo/wallet/wallet.js +8 -9
  28. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  29. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  30. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +185 -0
  31. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  32. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  33. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  34. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +2 -2
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +9 -8
@@ -0,0 +1,2 @@
1
+ import 'should';
2
+ //# sourceMappingURL=ecdsa.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../../../test/unit/account-lib/mpc/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,CAAC"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const paillierBigint = __importStar(require("paillier-bigint"));
26
+ require("should");
27
+ const sinon_1 = __importDefault(require("sinon"));
28
+ const sdk_lib_mpc_1 = require("@bitgo/sdk-lib-mpc");
29
+ const tss_1 = require("../../../../../../src/account-lib/mpc/tss");
30
+ const fixtures_1 = require("./fixtures");
31
+ describe('ecdsa tss', function () {
32
+ const ecdsa = new tss_1.Ecdsa();
33
+ let signCombine1, signCombine2;
34
+ before('generate key and sign phase 1 to 4', async function () {
35
+ const paillierKeyStub = sinon_1.default.stub(paillierBigint, 'generateRandomKeys');
36
+ paillierKeyStub.onCall(0).returns(Promise.resolve(fixtures_1.paillierKeyPairs[0]));
37
+ paillierKeyStub.onCall(1).returns(Promise.resolve(fixtures_1.paillierKeyPairs[1]));
38
+ paillierKeyStub.onCall(2).returns(Promise.resolve(fixtures_1.paillierKeyPairs[2]));
39
+ const [keyShare1, keyShare2, keyShare3] = await Promise.all([
40
+ ecdsa.keyShare(1, 2, 3),
41
+ ecdsa.keyShare(2, 2, 3),
42
+ ecdsa.keyShare(3, 2, 3),
43
+ ]);
44
+ const [keyCombined1, keyCombined2] = [
45
+ ecdsa.keyCombine(keyShare1.pShare, [keyShare2.nShares[1], keyShare3.nShares[1]]),
46
+ ecdsa.keyCombine(keyShare2.pShare, [keyShare1.nShares[2], keyShare3.nShares[2]]),
47
+ ];
48
+ const [ntilde1, ntilde2] = await Promise.all([
49
+ sdk_lib_mpc_1.EcdsaRangeProof.generateNtilde(512),
50
+ sdk_lib_mpc_1.EcdsaRangeProof.generateNtilde(512),
51
+ ]);
52
+ const [serializeNtilde1, serializeNtilde2] = [
53
+ sdk_lib_mpc_1.EcdsaTypes.serializeNtildeWithProofs(ntilde1),
54
+ sdk_lib_mpc_1.EcdsaTypes.serializeNtildeWithProofs(ntilde2),
55
+ ];
56
+ const [index1, index2] = [keyCombined1.xShare.i, keyCombined2.xShare.i];
57
+ const [paillierN1to2, paillierN2to1] = [keyCombined1.yShares[index2].n, keyCombined2.yShares[index1].n];
58
+ const [paillierChallenger1to2, paillierChallenger2to1] = await Promise.all([
59
+ sdk_lib_mpc_1.EcdsaPaillierProof.generateP(sdk_lib_mpc_1.hexToBigInt(paillierN1to2)),
60
+ sdk_lib_mpc_1.EcdsaPaillierProof.generateP(sdk_lib_mpc_1.hexToBigInt(paillierN2to1)),
61
+ ]);
62
+ const [xShare1, xShare2] = [
63
+ ecdsa.appendChallenge(keyCombined1.xShare, serializeNtilde1, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger1to2 })),
64
+ ecdsa.appendChallenge(keyCombined2.xShare, serializeNtilde2, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger2to1 })),
65
+ ];
66
+ const yShare2 = ecdsa.appendChallenge(keyCombined1.yShares[index2], serializeNtilde2, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger2to1 }));
67
+ const signShares = await ecdsa.signShare(xShare1, yShare2);
68
+ const signConvertS21 = await ecdsa.signConvertStep1({
69
+ xShare: xShare2,
70
+ yShare: keyCombined2.yShares[index1],
71
+ kShare: signShares.kShare,
72
+ });
73
+ const signConvertS12 = await ecdsa.signConvertStep2({
74
+ aShare: signConvertS21.aShare,
75
+ wShare: signShares.wShare,
76
+ });
77
+ const signConvertS21_2 = await ecdsa.signConvertStep3({
78
+ muShare: signConvertS12.muShare,
79
+ bShare: signConvertS21.bShare,
80
+ });
81
+ [signCombine1, signCombine2] = [
82
+ ecdsa.signCombine({
83
+ gShare: signConvertS12.gShare,
84
+ signIndex: {
85
+ i: signConvertS12.muShare.i,
86
+ j: signConvertS12.muShare.j,
87
+ },
88
+ }),
89
+ ecdsa.signCombine({
90
+ gShare: signConvertS21_2.gShare,
91
+ signIndex: {
92
+ i: signConvertS21_2.signIndex.i,
93
+ j: signConvertS21_2.signIndex.j,
94
+ },
95
+ }),
96
+ ];
97
+ });
98
+ it('sign phase 5 should succeed', async function () {
99
+ // TODO(HSM-129): There is a bug signing unhashed message (although this deviates from DSA spec) if the message is a little long.
100
+ // Some discrepancy between Ecdsa.sign and secp256k1.recoverPublicKey on handling the message input.
101
+ const message = Buffer.from('GG18 PHASE 5');
102
+ // Starting phase 5
103
+ // In addition to returning s_i, Ecdsa.sign() now also calculates data needed for steps 5A and 5B:
104
+ // - sample random l_i and rho_i (5A)
105
+ // - computes V_i and A_i (5B)]
106
+ // - computes commitment and decommitment of (V_i, A_i) (5A, 5B)
107
+ // - generates proofs of knowledge of s_i, l_i, rho_i w.r.t. V_i, A_i (5B)
108
+ const [sign1, sign2] = [
109
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine1.oShare, signCombine2.dShare)),
110
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine2.oShare, signCombine1.dShare)),
111
+ ];
112
+ sign1.R.should.equal(sign2.R);
113
+ sign1.y.should.equal(sign2.y);
114
+ sign1.m.toString('hex').should.equal(sign2.m.toString('hex'));
115
+ // Step 5A: Calculations done by Ecdsa.sign() above, and broadcast commitment of (V_i, A_i) to other parties.
116
+ // The following values will be sent via communication channel at the end of 5A.
117
+ // const commitmentVA1 = sign1.comDecomVA.commitment;
118
+ // const commitmentVA2 = sign2.comDecomVA.commitment;
119
+ // Step 5B: After having received all commitments of (V_i, A_i) from other parties,
120
+ // each party will broadcast decommitment of (V_i, A_i) and ZK proofs returned by Ecdsa.sign() above
121
+ // to other parties. Then Ecdsa.verifyVAShares() below will:
122
+ // - verify commitments of (V_i, A_i) received from other parties (5B)
123
+ // - verify ZK proofs of (V_i, A_i) received from other parties (5B)
124
+ // - calculate V out of G, y, r, m, and all V_i, calculate A as sum of all A_i (5B)
125
+ // - calculate U_i and T_i and commitment and decommitment of (U_i, T_i) (5C)
126
+ const [publicVAShares_1, publicVAShares_2] = [sign1, sign2];
127
+ const [UT1, UT2] = [
128
+ ecdsa.verifyVAShares(sign1, [publicVAShares_2]),
129
+ ecdsa.verifyVAShares(sign2, [publicVAShares_1]),
130
+ ];
131
+ // Step 5C: Calculations of U_i, T_i done by Ecdsa.verifyVAShares above,
132
+ // and broadcast commitment of (U_i, T_i) to other parties.
133
+ // The following values will be sent via communication channel at the end of 5C.
134
+ // const commitmentUT1 = UT1.comDecomUT.commitment;
135
+ // const commitmentUT2 = UT2.comDecomUT.commitment;
136
+ // Step 5D: After having received all commitments of (U_i, T_i) from other parties,
137
+ // each party will broadcast decommitment of (U_i, T_i) returned by Ecdsa.verifyVAShares() above
138
+ // to other parties. Then Ecdsa.verifyUTShares() below will:
139
+ // - verify commitments of (U_i, T_i) received from other parties (5D)
140
+ // - calculate U as sum of all U_i, calculate T as sum of all T_i (5D)
141
+ // - if U equals T, then return own SShare which is being returned by Ecdsa.sign() right now (5E)
142
+ const [publicUTShares_1, publicUTShares_2] = [UT1, UT2];
143
+ const [signature1, signature2] = [
144
+ ecdsa.verifyUTShares(UT1, [publicUTShares_2]),
145
+ ecdsa.verifyUTShares(UT2, [publicUTShares_1]),
146
+ ];
147
+ // Step 5E: Broadcast s_i returned by Ecdsa.verifyUTShares() above to other parties.
148
+ // Verify the sum of s_i should be a valid signature.
149
+ const signature = ecdsa.constructSignature([signature1, signature2]);
150
+ ecdsa.verify(message, signature).should.be.true();
151
+ });
152
+ it('sign phase 5 fail - malicious player cheats with bad s share', async function () {
153
+ const message = Buffer.from('GG18 PHASE 5');
154
+ const [sign1, sign2] = [
155
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine1.oShare, signCombine2.dShare)),
156
+ ecdsa.generateVAProofs(message, ecdsa.sign(message, signCombine2.oShare, signCombine1.dShare)),
157
+ ];
158
+ sign1.R.should.equal(sign2.R);
159
+ sign1.y.should.equal(sign2.y);
160
+ sign1.m.toString('hex').should.equal(sign2.m.toString('hex'));
161
+ // Change the s share of sign1, and recalcualte its V along with the commitment/proof by following protocol.
162
+ const bad_s = sdk_lib_mpc_1.hexToBigInt(sign1.s) + BigInt(1);
163
+ const bad_V = tss_1.Ecdsa.curve.pointAdd(tss_1.Ecdsa.curve.pointMultiply(sdk_lib_mpc_1.hexToBigInt(sign1.R), bad_s), tss_1.Ecdsa.curve.basePointMult(sign1.l));
164
+ const comDecom_V_A = sdk_lib_mpc_1.HashCommitment.createCommitment(Buffer.concat([
165
+ sdk_lib_mpc_1.bigIntToBufferBE(bad_V, tss_1.Ecdsa.curve.pointBytes),
166
+ sdk_lib_mpc_1.bigIntToBufferBE(sign1.A, tss_1.Ecdsa.curve.pointBytes),
167
+ ]));
168
+ const zkVProof = sdk_lib_mpc_1.EcdsaZkVProof.createZkVProof(bad_V, bad_s, sign1.l, sdk_lib_mpc_1.hexToBigInt(sign1.R), tss_1.Ecdsa.curve, sign1.proofContext);
169
+ sign1.s = sdk_lib_mpc_1.bigIntToBufferBE(bad_s, 32).toString('hex');
170
+ sign1.V = bad_V;
171
+ sign1.comDecomVA = comDecom_V_A;
172
+ sign1.zkVProofV = zkVProof;
173
+ // 5B will pass.
174
+ const [publicVAShares_1, publicVAShares_2] = [sign1, sign2];
175
+ const [UT1, UT2] = [
176
+ ecdsa.verifyVAShares(sign1, [publicVAShares_2]),
177
+ ecdsa.verifyVAShares(sign2, [publicVAShares_1]),
178
+ ];
179
+ // But verification at beginning of 5E will fail.
180
+ const [publicUTShares_1, publicUTShares_2] = [UT1, UT2];
181
+ (() => ecdsa.verifyUTShares(UT1, [publicUTShares_2])).should.throw('Sum of all U_i does not match sum of all T_i');
182
+ (() => ecdsa.verifyUTShares(UT2, [publicUTShares_1])).should.throw('Sum of all U_i does not match sum of all T_i');
183
+ });
184
+ });
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9lY2RzYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBa0Q7QUFDbEQsa0JBQWdCO0FBQ2hCLGtEQUEwQjtBQUMxQixvREFRNEI7QUFDNUIsbUVBQWtFO0FBTWxFLHlDQUE4QztBQUU5QyxRQUFRLENBQUMsV0FBVyxFQUFFO0lBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBSyxFQUFFLENBQUM7SUFFMUIsSUFBSSxZQUEyQixFQUFFLFlBQTJCLENBQUM7SUFFN0QsTUFBTSxDQUFDLG9DQUFvQyxFQUFFLEtBQUs7UUFDaEQsTUFBTSxlQUFlLEdBQUcsZUFBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RSxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDMUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENB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QUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUNySCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGFpbGxpZXJCaWdpbnQgZnJvbSAncGFpbGxpZXItYmlnaW50JztcbmltcG9ydCAnc2hvdWxkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQge1xuICBFY2RzYVBhaWxsaWVyUHJvb2YsXG4gIEVjZHNhUmFuZ2VQcm9vZixcbiAgRWNkc2FUeXBlcyxcbiAgRWNkc2Faa1ZQcm9vZixcbiAgSGFzaENvbW1pdG1lbnQsXG4gIGhleFRvQmlnSW50LFxuICBiaWdJbnRUb0J1ZmZlckJFLFxufSBmcm9tICdAYml0Z28vc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgRWNkc2EgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5pbXBvcnQge1xuICBQdWJsaWNVVFNoYXJlLFxuICBQdWJsaWNWQVNoYXJlV2l0aFByb29mcyxcbiAgU2lnbkNvbWJpbmVSVCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL21wYy90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0IHsgcGFpbGxpZXJLZXlQYWlycyB9IGZyb20gJy4vZml4dHVyZXMnO1xuXG5kZXNjcmliZSgnZWNkc2EgdHNzJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBlY2RzYSA9IG5ldyBFY2RzYSgpO1xuXG4gIGxldCBzaWduQ29tYmluZTE6IFNpZ25Db21iaW5lUlQsIHNpZ25Db21iaW5lMjogU2lnbkNvbWJpbmVSVDtcblxuICBiZWZvcmUoJ2dlbmVyYXRlIGtleSBhbmQgc2lnbiBwaGFzZSAxIHRvIDQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgcGFpbGxpZXJLZXlTdHViID0gc2lub24uc3R1YihwYWlsbGllckJpZ2ludCwgJ2dlbmVyYXRlUmFuZG9tS2V5cycpO1xuXG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgwKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzBdKSk7XG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgxKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzFdKSk7XG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgyKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzJdKSk7XG5cbiAgICBjb25zdCBba2V5U2hhcmUxLCBrZXlTaGFyZTIsIGtleVNoYXJlM10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBlY2RzYS5rZXlTaGFyZSgxLCAyLCAzKSxcbiAgICAgIGVjZHNhLmtleVNoYXJlKDIsIDIsIDMpLFxuICAgICAgZWNkc2Eua2V5U2hhcmUoMywgMiwgMyksXG4gICAgXSk7XG5cbiAgICBjb25zdCBba2V5Q29tYmluZWQxLCBrZXlDb21iaW5lZDJdID0gW1xuICAgICAgZWNkc2Eua2V5Q29tYmluZShrZXlTaGFyZTEucFNoYXJlLCBba2V5U2hhcmUyLm5TaGFyZXNbMV0sIGtleVNoYXJlMy5uU2hhcmVzWzFdXSksXG4gICAgICBlY2RzYS5rZXlDb21iaW5lKGtleVNoYXJlMi5wU2hhcmUsIFtrZXlTaGFyZTEublNoYXJlc1syXSwga2V5U2hhcmUzLm5TaGFyZXNbMl1dKSxcbiAgICBdO1xuXG4gICAgY29uc3QgW250aWxkZTEsIG50aWxkZTJdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgRWNkc2FSYW5nZVByb29mLmdlbmVyYXRlTnRpbGRlKDUxMiksXG4gICAgICBFY2RzYVJhbmdlUHJvb2YuZ2VuZXJhdGVOdGlsZGUoNTEyKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IFtzZXJpYWxpemVOdGlsZGUxLCBzZXJpYWxpemVOdGlsZGUyXSA9IFtcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplTnRpbGRlV2l0aFByb29mcyhudGlsZGUxKSxcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplTnRpbGRlV2l0aFByb29mcyhudGlsZGUyKSxcbiAgICBdO1xuXG4gICAgY29uc3QgW2luZGV4MSwgaW5kZXgyXSA9IFtrZXlDb21iaW5lZDEueFNoYXJlLmksIGtleUNvbWJpbmVkMi54U2hhcmUuaV07XG5cbiAgICBjb25zdCBbcGFpbGxpZXJOMXRvMiwgcGFpbGxpZXJOMnRvMV0gPSBba2V5Q29tYmluZWQxLnlTaGFyZXNbaW5kZXgyXS5uLCBrZXlDb21iaW5lZDIueVNoYXJlc1tpbmRleDFdLm5dO1xuXG4gICAgY29uc3QgW3BhaWxsaWVyQ2hhbGxlbmdlcjF0bzIsIHBhaWxsaWVyQ2hhbGxlbmdlcjJ0bzFdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgRWNkc2FQYWlsbGllclByb29mLmdlbmVyYXRlUChoZXhUb0JpZ0ludChwYWlsbGllck4xdG8yKSksXG4gICAgICBFY2RzYVBhaWxsaWVyUHJvb2YuZ2VuZXJhdGVQKGhleFRvQmlnSW50KHBhaWxsaWVyTjJ0bzEpKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IFt4U2hhcmUxLCB4U2hhcmUyXSA9IFtcbiAgICAgIGVjZHNhLmFwcGVuZENoYWxsZW5nZShcbiAgICAgICAga2V5Q29tYmluZWQxLnhTaGFyZSxcbiAgICAgICAgc2VyaWFsaXplTnRpbGRlMSxcbiAgICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZSh7IHA6IHBhaWxsaWVyQ2hhbGxlbmdlcjF0bzIgfSlcbiAgICAgICksXG4gICAgICBlY2RzYS5hcHBlbmRDaGFsbGVuZ2UoXG4gICAgICAgIGtleUNvbWJpbmVkMi54U2hhcmUsXG4gICAgICAgIHNlcmlhbGl6ZU50aWxkZTIsXG4gICAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoeyBwOiBwYWlsbGllckNoYWxsZW5nZXIydG8xIH0pXG4gICAgICApLFxuICAgIF07XG5cbiAgICBjb25zdCB5U2hhcmUyID0gZWNkc2EuYXBwZW5kQ2hhbGxlbmdlKFxuICAgICAga2V5Q29tYmluZWQxLnlTaGFyZXNbaW5kZXgyXSxcbiAgICAgIHNlcmlhbGl6ZU50aWxkZTIsXG4gICAgICBFY2RzYVR5cGVzLnNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlKHsgcDogcGFpbGxpZXJDaGFsbGVuZ2VyMnRvMSB9KVxuICAgICk7XG5cbiAgICBjb25zdCBzaWduU2hhcmVzID0gYXdhaXQgZWNkc2Euc2lnblNoYXJlKHhTaGFyZTEsIHlTaGFyZTIpO1xuXG4gICAgY29uc3Qgc2lnbkNvbnZlcnRTMjEgPSBhd2FpdCBlY2RzYS5zaWduQ29udmVydFN0ZXAxKHtcbiAgICAgIHhTaGFyZTogeFNoYXJlMixcbiAgICAgIHlTaGFyZToga2V5Q29tYmluZWQyLnlTaGFyZXNbaW5kZXgxXSxcbiAgICAgIGtTaGFyZTogc2lnblNoYXJlcy5rU2hhcmUsXG4gICAgfSk7XG4gICAgY29uc3Qgc2lnbkNvbnZlcnRTMTIgPSBhd2FpdCBlY2RzYS5zaWduQ29udmVydFN0ZXAyKHtcbiAgICAgIGFTaGFyZTogc2lnbkNvbnZlcnRTMjEuYVNoYXJlLFxuICAgICAgd1NoYXJlOiBzaWduU2hhcmVzLndTaGFyZSxcbiAgICB9KTtcbiAgICBjb25zdCBzaWduQ29udmVydFMyMV8yID0gYXdhaXQgZWNkc2Euc2lnbkNvbnZlcnRTdGVwMyh7XG4gICAgICBtdVNoYXJlOiBzaWduQ29udmVydFMxMi5tdVNoYXJlLFxuICAgICAgYlNoYXJlOiBzaWduQ29udmVydFMyMS5iU2hhcmUsXG4gICAgfSk7XG5cbiAgICBbc2lnbkNvbWJpbmUxLCBzaWduQ29tYmluZTJdID0gW1xuICAgICAgZWNkc2Euc2lnbkNvbWJpbmUoe1xuICAgICAgICBnU2hhcmU6IHNpZ25Db252ZXJ0UzEyLmdTaGFyZSxcbiAgICAgICAgc2lnbkluZGV4OiB7XG4gICAgICAgICAgaTogc2lnbkNvbnZlcnRTMTIubXVTaGFyZS5pLFxuICAgICAgICAgIGo6IHNpZ25Db252ZXJ0UzEyLm11U2hhcmUuaixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgZWNkc2Euc2lnbkNvbWJpbmUoe1xuICAgICAgICBnU2hhcmU6IHNpZ25Db252ZXJ0UzIxXzIuZ1NoYXJlLFxuICAgICAgICBzaWduSW5kZXg6IHtcbiAgICAgICAgICBpOiBzaWduQ29udmVydFMyMV8yLnNpZ25JbmRleC5pLFxuICAgICAgICAgIGo6IHNpZ25Db252ZXJ0UzIxXzIuc2lnbkluZGV4LmosXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICBdO1xuICB9KTtcblxuICBpdCgnc2lnbiBwaGFzZSA1IHNob3VsZCBzdWNjZWVkJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIC8vIFRPRE8oSFNNLTEyOSk6IFRoZXJlIGlzIGEgYnVnIHNpZ25pbmcgdW5oYXNoZWQgbWVzc2FnZSAoYWx0aG91Z2ggdGhpcyBkZXZpYXRlcyBmcm9tIERTQSBzcGVjKSBpZiB0aGUgbWVzc2FnZSBpcyBhIGxpdHRsZSBsb25nLlxuICAgIC8vICAgICAgIFNvbWUgZGlzY3JlcGFuY3kgYmV0d2VlbiBFY2RzYS5zaWduIGFuZCBzZWNwMjU2azEucmVjb3ZlclB1YmxpY0tleSBvbiBoYW5kbGluZyB0aGUgbWVzc2FnZSBpbnB1dC5cbiAgICBjb25zdCBtZXNzYWdlID0gQnVmZmVyLmZyb20oJ0dHMTggUEhBU0UgNScpO1xuXG4gICAgLy8gU3RhcnRpbmcgcGhhc2UgNVxuICAgIC8vIEluIGFkZGl0aW9uIHRvIHJldHVybmluZyBzX2ksIEVjZHNhLnNpZ24oKSBub3cgYWxzbyBjYWxjdWxhdGVzIGRhdGEgbmVlZGVkIGZvciBzdGVwcyA1QSBhbmQgNUI6XG4gICAgLy8gICAtIHNhbXBsZSByYW5kb20gbF9pIGFuZCByaG9faSAoNUEpXG4gICAgLy8gICAtIGNvbXB1dGVzIFZfaSBhbmQgQV9pICg1QildXG4gICAgLy8gICAtIGNvbXB1dGVzIGNvbW1pdG1lbnQgYW5kIGRlY29tbWl0bWVudCBvZiAoVl9pLCBBX2kpICg1QSwgNUIpXG4gICAgLy8gICAtIGdlbmVyYXRlcyBwcm9vZnMgb2Yga25vd2xlZGdlIG9mIHNfaSwgbF9pLCByaG9faSB3LnIudC4gVl9pLCBBX2kgKDVCKVxuICAgIGNvbnN0IFtzaWduMSwgc2lnbjJdID0gW1xuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMS5vU2hhcmUsIHNpZ25Db21iaW5lMi5kU2hhcmUpKSxcbiAgICAgIGVjZHNhLmdlbmVyYXRlVkFQcm9vZnMobWVzc2FnZSwgZWNkc2Euc2lnbihtZXNzYWdlLCBzaWduQ29tYmluZTIub1NoYXJlLCBzaWduQ29tYmluZTEuZFNoYXJlKSksXG4gICAgXTtcblxuICAgIHNpZ24xLlIuc2hvdWxkLmVxdWFsKHNpZ24yLlIpO1xuICAgIHNpZ24xLnkuc2hvdWxkLmVxdWFsKHNpZ24yLnkpO1xuICAgIHNpZ24xLm0udG9TdHJpbmcoJ2hleCcpLnNob3VsZC5lcXVhbChzaWduMi5tLnRvU3RyaW5nKCdoZXgnKSk7XG5cbiAgICAvLyBTdGVwIDVBOiBDYWxjdWxhdGlvbnMgZG9uZSBieSBFY2RzYS5zaWduKCkgYWJvdmUsIGFuZCBicm9hZGNhc3QgY29tbWl0bWVudCBvZiAoVl9pLCBBX2kpIHRvIG90aGVyIHBhcnRpZXMuXG4gICAgLy8gICAgICAgICAgVGhlIGZvbGxvd2luZyB2YWx1ZXMgd2lsbCBiZSBzZW50IHZpYSBjb21tdW5pY2F0aW9uIGNoYW5uZWwgYXQgdGhlIGVuZCBvZiA1QS5cbiAgICAvLyBjb25zdCBjb21taXRtZW50VkExID0gc2lnbjEuY29tRGVjb21WQS5jb21taXRtZW50O1xuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRWQTIgPSBzaWduMi5jb21EZWNvbVZBLmNvbW1pdG1lbnQ7XG5cbiAgICAvLyBTdGVwIDVCOiBBZnRlciBoYXZpbmcgcmVjZWl2ZWQgYWxsIGNvbW1pdG1lbnRzIG9mIChWX2ksIEFfaSkgZnJvbSBvdGhlciBwYXJ0aWVzLFxuICAgIC8vICAgICAgICAgIGVhY2ggcGFydHkgd2lsbCBicm9hZGNhc3QgZGVjb21taXRtZW50IG9mIChWX2ksIEFfaSkgYW5kIFpLIHByb29mcyByZXR1cm5lZCBieSBFY2RzYS5zaWduKCkgYWJvdmVcbiAgICAvLyAgICAgICAgICB0byBvdGhlciBwYXJ0aWVzLiAgVGhlbiBFY2RzYS52ZXJpZnlWQVNoYXJlcygpIGJlbG93IHdpbGw6XG4gICAgLy8gICAtIHZlcmlmeSBjb21taXRtZW50cyBvZiAoVl9pLCBBX2kpIHJlY2VpdmVkIGZyb20gb3RoZXIgcGFydGllcyAoNUIpXG4gICAgLy8gICAtIHZlcmlmeSBaSyBwcm9vZnMgb2YgKFZfaSwgQV9pKSByZWNlaXZlZCBmcm9tIG90aGVyIHBhcnRpZXMgKDVCKVxuICAgIC8vICAgLSBjYWxjdWxhdGUgViBvdXQgb2YgRywgeSwgciwgbSwgYW5kIGFsbCBWX2ksIGNhbGN1bGF0ZSBBIGFzIHN1bSBvZiBhbGwgQV9pICg1QilcbiAgICAvLyAgIC0gY2FsY3VsYXRlIFVfaSBhbmQgVF9pIGFuZCBjb21taXRtZW50IGFuZCBkZWNvbW1pdG1lbnQgb2YgKFVfaSwgVF9pKSAoNUMpXG4gICAgY29uc3QgW3B1YmxpY1ZBU2hhcmVzXzEsIHB1YmxpY1ZBU2hhcmVzXzJdID0gW3NpZ24xIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzLCBzaWduMiBhcyBQdWJsaWNWQVNoYXJlV2l0aFByb29mc107XG4gICAgY29uc3QgW1VUMSwgVVQyXSA9IFtcbiAgICAgIGVjZHNhLnZlcmlmeVZBU2hhcmVzKHNpZ24xLCBbcHVibGljVkFTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjIsIFtwdWJsaWNWQVNoYXJlc18xXSksXG4gICAgXTtcblxuICAgIC8vIFN0ZXAgNUM6IENhbGN1bGF0aW9ucyBvZiBVX2ksIFRfaSBkb25lIGJ5IEVjZHNhLnZlcmlmeVZBU2hhcmVzIGFib3ZlLFxuICAgIC8vICAgICAgICAgIGFuZCBicm9hZGNhc3QgY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpIHRvIG90aGVyIHBhcnRpZXMuXG4gICAgLy8gICAgICAgICAgVGhlIGZvbGxvd2luZyB2YWx1ZXMgd2lsbCBiZSBzZW50IHZpYSBjb21tdW5pY2F0aW9uIGNoYW5uZWwgYXQgdGhlIGVuZCBvZiA1Qy5cbiAgICAvLyBjb25zdCBjb21taXRtZW50VVQxID0gVVQxLmNvbURlY29tVVQuY29tbWl0bWVudDtcbiAgICAvLyBjb25zdCBjb21taXRtZW50VVQyID0gVVQyLmNvbURlY29tVVQuY29tbWl0bWVudDtcblxuICAgIC8vIFN0ZXAgNUQ6IEFmdGVyIGhhdmluZyByZWNlaXZlZCBhbGwgY29tbWl0bWVudHMgb2YgKFVfaSwgVF9pKSBmcm9tIG90aGVyIHBhcnRpZXMsXG4gICAgLy8gICAgICAgICAgZWFjaCBwYXJ0eSB3aWxsIGJyb2FkY2FzdCBkZWNvbW1pdG1lbnQgb2YgKFVfaSwgVF9pKSByZXR1cm5lZCBieSBFY2RzYS52ZXJpZnlWQVNoYXJlcygpIGFib3ZlXG4gICAgLy8gICAgICAgICAgdG8gb3RoZXIgcGFydGllcy4gIFRoZW4gRWNkc2EudmVyaWZ5VVRTaGFyZXMoKSBiZWxvdyB3aWxsOlxuICAgIC8vICAtIHZlcmlmeSBjb21taXRtZW50cyBvZiAoVV9pLCBUX2kpIHJlY2VpdmVkIGZyb20gb3RoZXIgcGFydGllcyAoNUQpXG4gICAgLy8gIC0gY2FsY3VsYXRlIFUgYXMgc3VtIG9mIGFsbCBVX2ksIGNhbGN1bGF0ZSBUIGFzIHN1bSBvZiBhbGwgVF9pICg1RClcbiAgICAvLyAgLSBpZiBVIGVxdWFscyBULCB0aGVuIHJldHVybiBvd24gU1NoYXJlIHdoaWNoIGlzIGJlaW5nIHJldHVybmVkIGJ5IEVjZHNhLnNpZ24oKSByaWdodCBub3cgKDVFKVxuICAgIGNvbnN0IFtwdWJsaWNVVFNoYXJlc18xLCBwdWJsaWNVVFNoYXJlc18yXSA9IFtVVDEgYXMgUHVibGljVVRTaGFyZSwgVVQyIGFzIFB1YmxpY1VUU2hhcmVdO1xuICAgIGNvbnN0IFtzaWduYXR1cmUxLCBzaWduYXR1cmUyXSA9IFtcbiAgICAgIGVjZHNhLnZlcmlmeVVUU2hhcmVzKFVUMSwgW3B1YmxpY1VUU2hhcmVzXzJdKSxcbiAgICAgIGVjZHNhLnZlcmlmeVVUU2hhcmVzKFVUMiwgW3B1YmxpY1VUU2hhcmVzXzFdKSxcbiAgICBdO1xuXG4gICAgLy8gU3RlcCA1RTogQnJvYWRjYXN0IHNfaSByZXR1cm5lZCBieSBFY2RzYS52ZXJpZnlVVFNoYXJlcygpIGFib3ZlIHRvIG90aGVyIHBhcnRpZXMuXG4gICAgLy8gICAgICAgICAgVmVyaWZ5IHRoZSBzdW0gb2Ygc19pIHNob3VsZCBiZSBhIHZhbGlkIHNpZ25hdHVyZS5cbiAgICBjb25zdCBzaWduYXR1cmUgPSBlY2RzYS5jb25zdHJ1Y3RTaWduYXR1cmUoW3NpZ25hdHVyZTEsIHNpZ25hdHVyZTJdKTtcbiAgICBlY2RzYS52ZXJpZnkobWVzc2FnZSwgc2lnbmF0dXJlKS5zaG91bGQuYmUudHJ1ZSgpO1xuICB9KTtcblxuICBpdCgnc2lnbiBwaGFzZSA1IGZhaWwgLSBtYWxpY2lvdXMgcGxheWVyIGNoZWF0cyB3aXRoIGJhZCBzIHNoYXJlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBCdWZmZXIuZnJvbSgnR0cxOCBQSEFTRSA1Jyk7XG5cbiAgICBjb25zdCBbc2lnbjEsIHNpZ24yXSA9IFtcbiAgICAgIGVjZHNhLmdlbmVyYXRlVkFQcm9vZnMobWVzc2FnZSwgZWNkc2Euc2lnbihtZXNzYWdlLCBzaWduQ29tYmluZTEub1NoYXJlLCBzaWduQ29tYmluZTIuZFNoYXJlKSksXG4gICAgICBlY2RzYS5nZW5lcmF0ZVZBUHJvb2ZzKG1lc3NhZ2UsIGVjZHNhLnNpZ24obWVzc2FnZSwgc2lnbkNvbWJpbmUyLm9TaGFyZSwgc2lnbkNvbWJpbmUxLmRTaGFyZSkpLFxuICAgIF07XG5cbiAgICBzaWduMS5SLnNob3VsZC5lcXVhbChzaWduMi5SKTtcbiAgICBzaWduMS55LnNob3VsZC5lcXVhbChzaWduMi55KTtcbiAgICBzaWduMS5tLnRvU3RyaW5nKCdoZXgnKS5zaG91bGQuZXF1YWwoc2lnbjIubS50b1N0cmluZygnaGV4JykpO1xuXG4gICAgLy8gQ2hhbmdlIHRoZSBzIHNoYXJlIG9mIHNpZ24xLCBhbmQgcmVjYWxjdWFsdGUgaXRzIFYgYWxvbmcgd2l0aCB0aGUgY29tbWl0bWVudC9wcm9vZiBieSBmb2xsb3dpbmcgcHJvdG9jb2wuXG4gICAgY29uc3QgYmFkX3MgPSBoZXhUb0JpZ0ludChzaWduMS5zKSArIEJpZ0ludCgxKTtcblxuICAgIGNvbnN0IGJhZF9WID0gRWNkc2EuY3VydmUucG9pbnRBZGQoXG4gICAgICBFY2RzYS5jdXJ2ZS5wb2ludE11bHRpcGx5KGhleFRvQmlnSW50KHNpZ24xLlIpLCBiYWRfcyksXG4gICAgICBFY2RzYS5jdXJ2ZS5iYXNlUG9pbnRNdWx0KHNpZ24xLmwpXG4gICAgKTtcblxuICAgIGNvbnN0IGNvbURlY29tX1ZfQSA9IEhhc2hDb21taXRtZW50LmNyZWF0ZUNvbW1pdG1lbnQoXG4gICAgICBCdWZmZXIuY29uY2F0KFtcbiAgICAgICAgYmlnSW50VG9CdWZmZXJCRShiYWRfViwgRWNkc2EuY3VydmUucG9pbnRCeXRlcyksXG4gICAgICAgIGJpZ0ludFRvQnVmZmVyQkUoc2lnbjEuQSwgRWNkc2EuY3VydmUucG9pbnRCeXRlcyksXG4gICAgICBdKVxuICAgICk7XG4gICAgY29uc3QgemtWUHJvb2YgPSBFY2RzYVprVlByb29mLmNyZWF0ZVprVlByb29mKFxuICAgICAgYmFkX1YsXG4gICAgICBiYWRfcyxcbiAgICAgIHNpZ24xLmwsXG4gICAgICBoZXhUb0JpZ0ludChzaWduMS5SKSxcbiAgICAgIEVjZHNhLmN1cnZlLFxuICAgICAgc2lnbjEucHJvb2ZDb250ZXh0XG4gICAgKTtcblxuICAgIHNpZ24xLnMgPSBiaWdJbnRUb0J1ZmZlckJFKGJhZF9zLCAzMikudG9TdHJpbmcoJ2hleCcpO1xuICAgIHNpZ24xLlYgPSBiYWRfVjtcbiAgICBzaWduMS5jb21EZWNvbVZBID0gY29tRGVjb21fVl9BO1xuICAgIHNpZ24xLnprVlByb29mViA9IHprVlByb29mO1xuXG4gICAgLy8gNUIgd2lsbCBwYXNzLlxuICAgIGNvbnN0IFtwdWJsaWNWQVNoYXJlc18xLCBwdWJsaWNWQVNoYXJlc18yXSA9IFtzaWduMSBhcyBQdWJsaWNWQVNoYXJlV2l0aFByb29mcywgc2lnbjIgYXMgUHVibGljVkFTaGFyZVdpdGhQcm9vZnNdO1xuICAgIGNvbnN0IFtVVDEsIFVUMl0gPSBbXG4gICAgICBlY2RzYS52ZXJpZnlWQVNoYXJlcyhzaWduMSwgW3B1YmxpY1ZBU2hhcmVzXzJdKSxcbiAgICAgIGVjZHNhLnZlcmlmeVZBU2hhcmVzKHNpZ24yLCBbcHVibGljVkFTaGFyZXNfMV0pLFxuICAgIF07XG5cbiAgICAvLyBCdXQgdmVyaWZpY2F0aW9uIGF0IGJlZ2lubmluZyBvZiA1RSB3aWxsIGZhaWwuXG4gICAgY29uc3QgW3B1YmxpY1VUU2hhcmVzXzEsIHB1YmxpY1VUU2hhcmVzXzJdID0gW1VUMSBhcyBQdWJsaWNVVFNoYXJlLCBVVDIgYXMgUHVibGljVVRTaGFyZV07XG4gICAgKCgpID0+IGVjZHNhLnZlcmlmeVVUU2hhcmVzKFVUMSwgW3B1YmxpY1VUU2hhcmVzXzJdKSkuc2hvdWxkLnRocm93KCdTdW0gb2YgYWxsIFVfaSBkb2VzIG5vdCBtYXRjaCBzdW0gb2YgYWxsIFRfaScpO1xuICAgICgoKSA9PiBlY2RzYS52ZXJpZnlVVFNoYXJlcyhVVDIsIFtwdWJsaWNVVFNoYXJlc18xXSkpLnNob3VsZC50aHJvdygnU3VtIG9mIGFsbCBVX2kgZG9lcyBub3QgbWF0Y2ggc3VtIG9mIGFsbCBUX2knKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { KeyPair } from 'paillier-bigint';
2
+ export declare const paillierKeyPairs: KeyPair[];
3
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../../../test/unit/account-lib/mpc/tss/ecdsa/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyB,MAAM,iBAAiB,CAAC;AA6BjE,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAqCrC,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.paillierKeyPairs = void 0;
4
+ const paillier_bigint_1 = require("paillier-bigint");
5
+ const publicKeys = [
6
+ new paillier_bigint_1.PublicKey(BigInt('3518437730951145351153969405615976885875586612922496645574245445216127031520606514090684864227424249504620171792718618318655835059604176086895223218122130603374842608906490090932711342695619354823729164163589735935908909561112685272525215734959274995895515717131806923150148404489283604316199693295008904464797380143833569850254454949598061584597614947438096042565248068205540902771943608979235593863386467044938676089484432095685428898224875330156934212270475973429309610315940313257084886981308879490629114922982078201079417244035483684330790614496883015654779864250773139802691449242751809386246076508441033033875787438106769994777473773577843587255513766172186380773432893155094458795295071990045500434377066399973631859839350568832298574544541461460061653578379835264522618130938456287180741057752096598085536238545459812388164988574312272806538380482853107085667417368295731814476083012880248022728445941326804224018271'), BigInt('3518437730951145351153969405615976885875586612922496645574245445216127031520606514090684864227424249504620171792718618318655835059604176086895223218122130603374842608906490090932711342695619354823729164163589735935908909561112685272525215734959274995895515717131806923150148404489283604316199693295008904464797380143833569850254454949598061584597614947438096042565248068205540902771943608979235593863386467044938676089484432095685428898224875330156934212270475973429309610315940313257084886981308879490629114922982078201079417244035483684330790614496883015654779864250773139802691449242751809386246076508441033033875787438106769994777473773577843587255513766172186380773432893155094458795295071990045500434377066399973631859839350568832298574544541461460061653578379835264522618130938456287180741057752096598085536238545459812388164988574312272806538380482853107085667417368295731814476083012880248022728445941326804224018272')),
7
+ new paillier_bigint_1.PublicKey(BigInt('5559279982102141444483687527548862466257768598087122788426610602416162064004465528776910917990329895625440428771496688358581466716997674065782051738875573947418793741290139012268348264576190413578114255055671604260223691717578543938781643980699133860577846813263416457926621480274559671486488319475586691765346312212218798470822209682230082031002333646042617536574186379916249871150187713311378695878610901721126442273146929401590060078363876898020720156973622679680565202318187214826688272304101857520321139699616513839842158662252363133801939983380610980330143885493939422285231474104648426974953177208821263690228581092542272388157930405271490741811451046888215557955003418443038516373248925906108085466279774161055253482582107416413911841462314957021429394341038514727833235682738563988690797006010996604579336374384930524427328162055172570616748695177742616833011866538256329157653315812135551598449409199647174785933703'), BigInt('5559279982102141444483687527548862466257768598087122788426610602416162064004465528776910917990329895625440428771496688358581466716997674065782051738875573947418793741290139012268348264576190413578114255055671604260223691717578543938781643980699133860577846813263416457926621480274559671486488319475586691765346312212218798470822209682230082031002333646042617536574186379916249871150187713311378695878610901721126442273146929401590060078363876898020720156973622679680565202318187214826688272304101857520321139699616513839842158662252363133801939983380610980330143885493939422285231474104648426974953177208821263690228581092542272388157930405271490741811451046888215557955003418443038516373248925906108085466279774161055253482582107416413911841462314957021429394341038514727833235682738563988690797006010996604579336374384930524427328162055172570616748695177742616833011866538256329157653315812135551598449409199647174785933704')),
8
+ new paillier_bigint_1.PublicKey(BigInt('3419795036051751326232007976609200237604493563463109991478047849314540738441586840435257858661448011715038876170879818674634195871269424409935576422629843144716466096048216628110568712633256882853658852508028698815879196356826463950197968220243367168687232025957988052415497291486819014280368039809296103337800080444783056910949343036177594726564711241012248651433602320774425766350670709203417440194186446326630378750811782924476703620755611181053239997555445969329218286366661563286625968009269681111150677955327096002821916234533692380535533494097687662790678674730094453398816503818796605911919287632160967404198139265262300512143763101956262589394016636681910324066077224948906791740741253137197857372559384081568856164828041560293416959423584053432725168149054199495563681852826407211234156895393425911225194834032552105386598749926944086498223820699058520002597435086472729756391017927757198422498281513733520888377521'), BigInt('3419795036051751326232007976609200237604493563463109991478047849314540738441586840435257858661448011715038876170879818674634195871269424409935576422629843144716466096048216628110568712633256882853658852508028698815879196356826463950197968220243367168687232025957988052415497291486819014280368039809296103337800080444783056910949343036177594726564711241012248651433602320774425766350670709203417440194186446326630378750811782924476703620755611181053239997555445969329218286366661563286625968009269681111150677955327096002821916234533692380535533494097687662790678674730094453398816503818796605911919287632160967404198139265262300512143763101956262589394016636681910324066077224948906791740741253137197857372559384081568856164828041560293416959423584053432725168149054199495563681852826407211234156895393425911225194834032552105386598749926944086498223820699058520002597435086472729756391017927757198422498281513733520888377522')),
9
+ ];
10
+ exports.paillierKeyPairs = [
11
+ {
12
+ publicKey: publicKeys[0],
13
+ privateKey: new paillier_bigint_1.PrivateKey(BigInt('3518437730951145351153969405615976885875586612922496645574245445216127031520606514090684864227424249504620171792718618318655835059604176086895223218122130603374842608906490090932711342695619354823729164163589735935908909561112685272525215734959274995895515717131806923150148404489283604316199693295008904464797380143833569850254454949598061584597614947438096042565248068205540902771943608979235593863386467044938676089484432095685428898224875330156934212270475969536860960023565872542981123884909435922061427075627624118792704816165166060625127329513255846874385408994935858852843242812071436822307528079009173717956004927226512650675594687410809930673446058771235241963897840146296929794819397583948716190167670510409659790464657786142018565143984809488047070179789422758621705591900574320485887237441447809291057152861686147670005549463059161761401467501638476938463710644048912145287816435446796785861244973339835829254944'), BigInt('1435954335320361291464794961141454443124301305901245976109147112229398263957353646916618928299701387179724868183943223273223348983874015884972297309455012981285798675641531110051575263784014434045342072575481009715037360675724480765610962543673424293127443601559011683972147364827088075169004494067132256511169014997312801214885061126770368779683378359021702966973276409294576549331226890331970409259208324445765942474619117302113452059967277594783047695829628325417350082704697181786094004431225754002294780260390999767425213396610936573696235666130372117527334277864037293833144593848612399944960923930804637560601779615923939677804976892228458354767472520726635315271778474008095672038355051137074392455105389034276313836535861874150900910146438695047930390192784363171105023997452851042092518183452361840375191258825712627269056888057997955367097496433884792466698812320228030415823348387779142045639271717733178455170588'), publicKeys[0]),
14
+ },
15
+ {
16
+ publicKey: publicKeys[1],
17
+ privateKey: new paillier_bigint_1.PrivateKey(BigInt('5559279982102141444483687527548862466257768598087122788426610602416162064004465528776910917990329895625440428771496688358581466716997674065782051738875573947418793741290139012268348264576190413578114255055671604260223691717578543938781643980699133860577846813263416457926621480274559671486488319475586691765346312212218798470822209682230082031002333646042617536574186379916249871150187713311378695878610901721126442273146929401590060078363876898020720156973622674917459214741852516981345900007035403677655543520292447501136734695658903501552305868621939665603506890439535893633358635679388704173280597704407784249869083435825580096216792056951652777772325084790884033083743195194233984314273301619289847103060307323101937042652769346485033173578685962753829183263255881024651276523108073638392263520270836771809816056365714686576293840536576656859982412969784955920208267996229471137752388414453868181248934168448241697873608'), BigInt('3545087253251574958946231193307754302702496368842061322605701631179392682484049031268851879338829131287750409102008037785264714507264046091866620325457393115053993553783644546294566765944871675830223346977252181522821466317107259707356811291700597766153934439296020513412674480156405607631434604721517131582417198765391982589413968939353507687212812306398911792725606500867900528158960777454453478505967446238429787033128434906768211821087577157135160935007959241368826299527546564329165846336011830752936072262872818529509088846764172487072929096816657546604984652055659353423508142902833243417603835582239626159824444722637521781718306573132469763605215251474053073410251311302139397891051411492046755767298543679894449942777337267468963843621448649610266490767188327540471071350354239345098152253839232168131344777150952087212365717124179734902521127470811563197968130887499312162481083203285911422057154582020246591526195'), publicKeys[1]),
18
+ },
19
+ {
20
+ publicKey: publicKeys[2],
21
+ privateKey: new paillier_bigint_1.PrivateKey(BigInt('3419795036051751326232007976609200237604493563463109991478047849314540738441586840435257858661448011715038876170879818674634195871269424409935576422629843144716466096048216628110568712633256882853658852508028698815879196356826463950197968220243367168687232025957988052415497291486819014280368039809296103337800080444783056910949343036177594726564711241012248651433602320774425766350670709203417440194186446326630378750811782924476703620755611181053239997555445965288311782600378940005159266407018117662854937249701544829603784020603001619393915920275340316019024841092029013900679814459761895892825132589198134321972278571781649748713522270590229431348193168742886714422893464498090911746357134679085689195281601662838374180952780600462180009886822685921895449695925196876378752420029602659120654628004048931388507249168836539077599849871882190267877916525060795099055438192742273159506669200118769552637205556183311707520112'), BigInt('177120209763047308846671917872191766258562845716846148655573628204942743240582717211152959189705878616028740521793523875278152244758836582001026318687260190614615213016156379672576326076533776745348620135620215693753021483776984072519477214628504495730794382329142010286971822120920010303070395874054923954508028499887057775055090520569174838189376441304667334617739461014338785323126620499537690639064131257257591735087433704543050494588400620387334940102830080958234862328285508917888854545569053258410202932033998009097637980114327997627337605480896849551520859815576589836526732257865487110170226173726132568639349855332977922257053618578739508873290894794772916500559778515040297510082006588678525227147222353568201000290606883100277099893115190381331693317820325104044381663491604446803579063935129364599392501221854190092852624852720770267661722218603192935570194809928758099413718086915919666376302277952983105473163'), publicKeys[2]),
22
+ },
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBaUU7QUFFakUsTUFBTSxVQUFVLEdBQWdCO0lBQzlCLElBQUksMkJBQVMsQ0FDWCxNQUFNLENBQ0osKzVCQUErNUIsQ0FDaDZCLEVBQ0QsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixDQUNGO0lBQ0QsSUFBSSwyQkFBUyxDQUNYLE1BQU0sQ0FDSiwrNUJBQSs1QixDQUNoNkIsRUFDRCxNQUFNLENBQ0osKzVCQUErNUIsQ0FDaDZCLENBQ0Y7SUFDRCxJQUFJLDJCQUFTLENBQ1gsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixFQUNELE1BQU0sQ0FDSiwrNUJBQSs1QixDQUNoNkIsQ0FDRjtDQUNGLENBQUM7QUFFVyxRQUFBLGdCQUFnQixHQUFjO0lBQ3pDO1FBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsVUFBVSxFQUFFLElBQUksNEJBQVUsQ0FDeEIsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixFQUNELE1BQU0sQ0FDSiwrNUJBQSs1QixDQUNoNkIsRUFDRCxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQ2Q7S0FDRjtJQUNEO1FBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsVUFBVSxFQUFFLElBQUksNEJBQVUsQ0FDeEIsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixFQUNELE1BQU0sQ0FDSiwrNUJBQSs1QixDQUNoNkIsRUFDRCxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQ2Q7S0FDRjtJQUNEO1FBQ0UsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEIsVUFBVSxFQUFFLElBQUksNEJBQVUsQ0FDeEIsTUFBTSxDQUNKLCs1QkFBKzVCLENBQ2g2QixFQUNELE1BQU0sQ0FDSiw4NUJBQTg1QixDQUMvNUIsRUFDRCxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQ2Q7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBLZXlQYWlyLCBQcml2YXRlS2V5LCBQdWJsaWNLZXkgfSBmcm9tICdwYWlsbGllci1iaWdpbnQnO1xuXG5jb25zdCBwdWJsaWNLZXlzOiBQdWJsaWNLZXlbXSA9IFtcbiAgbmV3IFB1YmxpY0tleShcbiAgICBCaWdJbnQoXG4gICAgICAnMzUxODQzNzczMDk1MTE0NTM1MTE1Mzk2OTQwNTYxNTk3Njg4NTg3NTU4NjYxMjkyMjQ5NjY0NTU3NDI0NTQ0NTIxNjEyNzAzMTUyMDYwNjUxNDA5MDY4NDg2NDIyNzQyNDI0OTUwNDYyMDE3MTc5MjcxODYxODMxODY1NTgzNTA1OTYwNDE3NjA4Njg5NTIyMzIxODEyMjEzMDYwMzM3NDg0MjYwODkwNjQ5MDA5MDkzMjcxMTM0MjY5NTYxOTM1NDgyMzcyOTE2NDE2MzU4OTczNTkzNTkwODkwOTU2MTExMjY4NTI3MjUyNTIxNTczNDk1OTI3NDk5NTg5NTUxNTcxNzEzMTgwNjkyMzE1MDE0ODQwNDQ4OTI4MzYwNDMxNjE5OTY5MzI5NTAwODkwNDQ2NDc5NzM4MDE0MzgzMzU2OTg1MDI1NDQ1NDk0OTU5ODA2MTU4NDU5NzYxNDk0NzQzODA5NjA0MjU2NTI0ODA2ODIwNTU0MDkwMjc3MTk0MzYwODk3OTIzNTU5Mzg2MzM4NjQ2NzA0NDkzODY3NjA4OTQ4NDQzMjA5NTY4NTQyODg5ODIyNDg3NTMzMDE1NjkzNDIxMjI3MDQ3NTk3MzQyOTMwOTYxMDMxNTk0MDMxMzI1NzA4NDg4Njk4MTMwODg3OTQ5MDYyOTExNDkyMjk4MjA3ODIwMTA3OTQxNzI0NDAzNTQ4MzY4NDMzMDc5MDYxNDQ5Njg4MzAxNTY1NDc3OTg2NDI1MDc3MzEzOTgwMjY5MTQ0OTI0Mjc1MTgwOTM4NjI0NjA3NjUwODQ0MTAzMzAzMzg3NTc4NzQzODEwNjc2OTk5NDc3NzQ3Mzc3MzU3Nzg0MzU4NzI1NTUxMzc2NjE3MjE4NjM4MDc3MzQzMjg5MzE1NTA5NDQ1ODc5NTI5NTA3MTk5MDA0NTUwMDQzNDM3NzA2NjM5OTk3MzYzMTg1OTgzOTM1MDU2ODgzMjI5ODU3NDU0NDU0MTQ2MTQ2MDA2MTY1MzU3ODM3OTgzNTI2NDUyMjYxODEzMDkzODQ1NjI4NzE4MDc0MTA1Nzc1MjA5NjU5ODA4NTUzNjIzODU0NTQ1OTgxMjM4ODE2NDk4ODU3NDMxMjI3MjgwNjUzODM4MDQ4Mjg1MzEwNzA4NTY2NzQxNzM2ODI5NTczMTgxNDQ3NjA4MzAxMjg4MDI0ODAyMjcyODQ0NTk0MTMyNjgwNDIyNDAxODI3MSdcbiAgICApLFxuICAgIEJpZ0ludChcbiAgICAgICczNTE4NDM3NzMwOTUxMTQ1MzUxMTUzOTY5NDA1NjE1OTc2ODg1ODc1NTg2NjEyOTIyNDk2NjQ1NTc0MjQ1NDQ1MjE2MTI3MDMxNTIwNjA2NTE0MDkwNjg0ODY0MjI3NDI0MjQ5NTA0NjIwMTcxNzkyNzE4NjE4MzE4NjU1ODM1MDU5NjA0MTc2MDg2ODk1MjIzMjE4MTIyMTMwNjAzMzc0ODQyNjA4OTA2NDkwMDkwOTMyNzExMzQyNjk1NjE5MzU0ODIzNzI5MTY0MTYzNTg5NzM1OTM1OTA4OTA5NTYxMTEyNjg1MjcyNTI1MjE1NzM0OTU5Mjc0OTk1ODk1NTE1NzE3MTMxODA2OTIzMTUwMTQ4NDA0NDg5MjgzNjA0MzE2MTk5NjkzMjk1MDA4OTA0NDY0Nzk3MzgwMTQzODMzNTY5ODUwMjU0NDU0OTQ5NTk4MDYxNTg0NTk3NjE0OTQ3NDM4MDk2MDQyNTY1MjQ4MDY4MjA1NTQwOTAyNzcxOTQzNjA4OTc5MjM1NTkzODYzMzg2NDY3MDQ0OTM4Njc2MDg5NDg0NDMyMDk1Njg1NDI4ODk4MjI0ODc1MzMwMTU2OTM0MjEyMjcwNDc1OTczNDI5MzA5NjEwMzE1OTQwMzEzMjU3MDg0ODg2OTgxMzA4ODc5NDkwNjI5MTE0OTIyOTgyMDc4MjAxMDc5NDE3MjQ0MDM1NDgzNjg0MzMwNzkwNjE0NDk2ODgzMDE1NjU0Nzc5ODY0MjUwNzczMTM5ODAyNjkxNDQ5MjQyNzUxODA5Mzg2MjQ2MDc2NTA4NDQxMDMzMDMzODc1Nzg3NDM4MTA2NzY5OTk0Nzc3NDczNzczNTc3ODQzNTg3MjU1NTEzNzY2MTcyMTg2MzgwNzczNDMyODkzMTU1MDk0NDU4Nzk1Mjk1MDcxOTkwMDQ1NTAwNDM0Mzc3MDY2Mzk5OTczNjMxODU5ODM5MzUwNTY4ODMyMjk4NTc0NTQ0NTQxNDYxNDYwMDYxNjUzNTc4Mzc5ODM1MjY0NTIyNjE4MTMwOTM4NDU2Mjg3MTgwNzQxMDU3NzUyMDk2NTk4MDg1NTM2MjM4NTQ1NDU5ODEyMzg4MTY0OTg4NTc0MzEyMjcyODA2NTM4MzgwNDgyODUzMTA3MDg1NjY3NDE3MzY4Mjk1NzMxODE0NDc2MDgzMDEyODgwMjQ4MDIyNzI4NDQ1OTQxMzI2ODA0MjI0MDE4MjcyJ1xuICAgIClcbiAgKSxcbiAgbmV3IFB1YmxpY0tleShcbiAgICBCaWdJbnQoXG4gICAgICAnNTU1OTI3OTk4MjEwMjE0MTQ0NDQ4MzY4NzUyNzU0ODg2MjQ2NjI1Nzc2ODU5ODA4NzEyMjc4ODQyNjYxMDYwMjQxNjE2MjA2NDAwNDQ2NTUyODc3NjkxMDkxNzk5MDMyOTg5NTYyNTQ0MDQyODc3MTQ5NjY4ODM1ODU4MTQ2NjcxNjk5NzY3NDA2NTc4MjA1MTczODg3NTU3Mzk0NzQxODc5Mzc0MTI5MDEzOTAxMjI2ODM0ODI2NDU3NjE5MDQxMzU3ODExNDI1NTA1NTY3MTYwNDI2MDIyMzY5MTcxNzU3ODU0MzkzODc4MTY0Mzk4MDY5OTEzMzg2MDU3Nzg0NjgxMzI2MzQxNjQ1NzkyNjYyMTQ4MDI3NDU1OTY3MTQ4NjQ4ODMxOTQ3NTU4NjY5MTc2NTM0NjMxMjIxMjIxODc5ODQ3MDgyMjIwOTY4MjIzMDA4MjAzMTAwMjMzMzY0NjA0MjYxNzUzNjU3NDE4NjM3OTkxNjI0OTg3MTE1MDE4NzcxMzMxMTM3ODY5NTg3ODYxMDkwMTcyMTEyNjQ0MjI3MzE0NjkyOTQwMTU5MDA2MDA3ODM2Mzg3Njg5ODAyMDcyMDE1Njk3MzYyMjY3OTY4MDU2NTIwMjMxODE4NzIxNDgyNjY4ODI3MjMwNDEwMTg1NzUyMDMyMTEzOTY5OTYxNjUxMzgzOTg0MjE1ODY2MjI1MjM2MzEzMzgwMTkzOTk4MzM4MDYxMDk4MDMzMDE0Mzg4NTQ5MzkzOTQyMjI4NTIzMTQ3NDEwNDY0ODQyNjk3NDk1MzE3NzIwODgyMTI2MzY5MDIyODU4MTA5MjU0MjI3MjM4ODE1NzkzMDQwNTI3MTQ5MDc0MTgxMTQ1MTA0Njg4ODIxNTU1Nzk1NTAwMzQxODQ0MzAzODUxNjM3MzI0ODkyNTkwNjEwODA4NTQ2NjI3OTc3NDE2MTA1NTI1MzQ4MjU4MjEwNzQxNjQxMzkxMTg0MTQ2MjMxNDk1NzAyMTQyOTM5NDM0MTAzODUxNDcyNzgzMzIzNTY4MjczODU2Mzk4ODY5MDc5NzAwNjAxMDk5NjYwNDU3OTMzNjM3NDM4NDkzMDUyNDQyNzMyODE2MjA1NTE3MjU3MDYxNjc0ODY5NTE3Nzc0MjYxNjgzMzAxMTg2NjUzODI1NjMyOTE1NzY1MzMxNTgxMjEzNTU1MTU5ODQ0OTQwOTE5OTY0NzE3NDc4NTkzMzcwMydcbiAgICApLFxuICAgIEJpZ0ludChcbiAgICAgICc1NTU5Mjc5OTgyMTAyMTQxNDQ0NDgzNjg3NTI3NTQ4ODYyNDY2MjU3NzY4NTk4MDg3MTIyNzg4NDI2NjEwNjAyNDE2MTYyMDY0MDA0NDY1NTI4Nzc2OTEwOTE3OTkwMzI5ODk1NjI1NDQwNDI4NzcxNDk2Njg4MzU4NTgxNDY2NzE2OTk3Njc0MDY1NzgyMDUxNzM4ODc1NTczOTQ3NDE4NzkzNzQxMjkwMTM5MDEyMjY4MzQ4MjY0NTc2MTkwNDEzNTc4MTE0MjU1MDU1NjcxNjA0MjYwMjIzNjkxNzE3NTc4NTQzOTM4NzgxNjQzOTgwNjk5MTMzODYwNTc3ODQ2ODEzMjYzNDE2NDU3OTI2NjIxNDgwMjc0NTU5NjcxNDg2NDg4MzE5NDc1NTg2NjkxNzY1MzQ2MzEyMjEyMjE4Nzk4NDcwODIyMjA5NjgyMjMwMDgyMDMxMDAyMzMzNjQ2MDQyNjE3NTM2NTc0MTg2Mzc5OTE2MjQ5ODcxMTUwMTg3NzEzMzExMzc4Njk1ODc4NjEwOTAxNzIxMTI2NDQyMjczMTQ2OTI5NDAxNTkwMDYwMDc4MzYzODc2ODk4MDIwNzIwMTU2OTczNjIyNjc5NjgwNTY1MjAyMzE4MTg3MjE0ODI2Njg4MjcyMzA0MTAxODU3NTIwMzIxMTM5Njk5NjE2NTEzODM5ODQyMTU4NjYyMjUyMzYzMTMzODAxOTM5OTgzMzgwNjEwOTgwMzMwMTQzODg1NDkzOTM5NDIyMjg1MjMxNDc0MTA0NjQ4NDI2OTc0OTUzMTc3MjA4ODIxMjYzNjkwMjI4NTgxMDkyNTQyMjcyMzg4MTU3OTMwNDA1MjcxNDkwNzQxODExNDUxMDQ2ODg4MjE1NTU3OTU1MDAzNDE4NDQzMDM4NTE2MzczMjQ4OTI1OTA2MTA4MDg1NDY2Mjc5Nzc0MTYxMDU1MjUzNDgyNTgyMTA3NDE2NDEzOTExODQxNDYyMzE0OTU3MDIxNDI5Mzk0MzQxMDM4NTE0NzI3ODMzMjM1NjgyNzM4NTYzOTg4NjkwNzk3MDA2MDEwOTk2NjA0NTc5MzM2Mzc0Mzg0OTMwNTI0NDI3MzI4MTYyMDU1MTcyNTcwNjE2NzQ4Njk1MTc3NzQyNjE2ODMzMDExODY2NTM4MjU2MzI5MTU3NjUzMzE1ODEyMTM1NTUxNTk4NDQ5NDA5MTk5NjQ3MTc0Nzg1OTMzNzA0J1xuICAgIClcbiAgKSxcbiAgbmV3IFB1YmxpY0tleShcbiAgICBCaWdJbnQoXG4gICAgICAnMzQxOTc5NTAzNjA1MTc1MTMyNjIzMjAwNzk3NjYwOTIwMDIzNzYwNDQ5MzU2MzQ2MzEwOTk5MTQ3ODA0Nzg0OTMxNDU0MDczODQ0MTU4Njg0MDQzNTI1Nzg1ODY2MTQ0ODAxMTcxNTAzODg3NjE3MDg3OTgxODY3NDYzNDE5NTg3MTI2OTQyNDQwOTkzNTU3NjQyMjYyOTg0MzE0NDcxNjQ2NjA5NjA0ODIxNjYyODExMDU2ODcxMjYzMzI1Njg4Mjg1MzY1ODg1MjUwODAyODY5ODgxNTg3OTE5NjM1NjgyNjQ2Mzk1MDE5Nzk2ODIyMDI0MzM2NzE2ODY4NzIzMjAyNTk1Nzk4ODA1MjQxNTQ5NzI5MTQ4NjgxOTAxNDI4MDM2ODAzOTgwOTI5NjEwMzMzNzgwMDA4MDQ0NDc4MzA1NjkxMDk0OTM0MzAzNjE3NzU5NDcyNjU2NDcxMTI0MTAxMjI0ODY1MTQzMzYwMjMyMDc3NDQyNTc2NjM1MDY3MDcwOTIwMzQxNzQ0MDE5NDE4NjQ0NjMyNjYzMDM3ODc1MDgxMTc4MjkyNDQ3NjcwMzYyMDc1NTYxMTE4MTA1MzIzOTk5NzU1NTQ0NTk2OTMyOTIxODI4NjM2NjY2MTU2MzI4NjYyNTk2ODAwOTI2OTY4MTExMTE1MDY3Nzk1NTMyNzA5NjAwMjgyMTkxNjIzNDUzMzY5MjM4MDUzNTUzMzQ5NDA5NzY4NzY2Mjc5MDY3ODY3NDczMDA5NDQ1MzM5ODgxNjUwMzgxODc5NjYwNTkxMTkxOTI4NzYzMjE2MDk2NzQwNDE5ODEzOTI2NTI2MjMwMDUxMjE0Mzc2MzEwMTk1NjI2MjU4OTM5NDAxNjYzNjY4MTkxMDMyNDA2NjA3NzIyNDk0ODkwNjc5MTc0MDc0MTI1MzEzNzE5Nzg1NzM3MjU1OTM4NDA4MTU2ODg1NjE2NDgyODA0MTU2MDI5MzQxNjk1OTQyMzU4NDA1MzQzMjcyNTE2ODE0OTA1NDE5OTQ5NTU2MzY4MTg1MjgyNjQwNzIxMTIzNDE1Njg5NTM5MzQyNTkxMTIyNTE5NDgzNDAzMjU1MjEwNTM4NjU5ODc0OTkyNjk0NDA4NjQ5ODIyMzgyMDY5OTA1ODUyMDAwMjU5NzQzNTA4NjQ3MjcyOTc1NjM5MTAxNzkyNzc1NzE5ODQyMjQ5ODI4MTUxMzczMzUyMDg4ODM3NzUyMSdcbiAgICApLFxuICAgIEJpZ0ludChcbiAgICAgICczNDE5Nzk1MDM2MDUxNzUxMzI2MjMyMDA3OTc2NjA5MjAwMjM3NjA0NDkzNTYzNDYzMTA5OTkxNDc4MDQ3ODQ5MzE0NTQwNzM4NDQxNTg2ODQwNDM1MjU3ODU4NjYxNDQ4MDExNzE1MDM4ODc2MTcwODc5ODE4Njc0NjM0MTk1ODcxMjY5NDI0NDA5OTM1NTc2NDIyNjI5ODQzMTQ0NzE2NDY2MDk2MDQ4MjE2NjI4MTEwNTY4NzEyNjMzMjU2ODgyODUzNjU4ODUyNTA4MDI4Njk4ODE1ODc5MTk2MzU2ODI2NDYzOTUwMTk3OTY4MjIwMjQzMzY3MTY4Njg3MjMyMDI1OTU3OTg4MDUyNDE1NDk3MjkxNDg2ODE5MDE0MjgwMzY4MDM5ODA5Mjk2MTAzMzM3ODAwMDgwNDQ0NzgzMDU2OTEwOTQ5MzQzMDM2MTc3NTk0NzI2NTY0NzExMjQxMDEyMjQ4NjUxNDMzNjAyMzIwNzc0NDI1NzY2MzUwNjcwNzA5MjAzNDE3NDQwMTk0MTg2NDQ2MzI2NjMwMzc4NzUwODExNzgyOTI0NDc2NzAzNjIwNzU1NjExMTgxMDUzMjM5OTk3NTU1NDQ1OTY5MzI5MjE4Mjg2MzY2NjYxNTYzMjg2NjI1OTY4MDA5MjY5NjgxMTExMTUwNjc3OTU1MzI3MDk2MDAyODIxOTE2MjM0NTMzNjkyMzgwNTM1NTMzNDk0MDk3Njg3NjYyNzkwNjc4Njc0NzMwMDk0NDUzMzk4ODE2NTAzODE4Nzk2NjA1OTExOTE5Mjg3NjMyMTYwOTY3NDA0MTk4MTM5MjY1MjYyMzAwNTEyMTQzNzYzMTAxOTU2MjYyNTg5Mzk0MDE2NjM2NjgxOTEwMzI0MDY2MDc3MjI0OTQ4OTA2NzkxNzQwNzQxMjUzMTM3MTk3ODU3MzcyNTU5Mzg0MDgxNTY4ODU2MTY0ODI4MDQxNTYwMjkzNDE2OTU5NDIzNTg0MDUzNDMyNzI1MTY4MTQ5MDU0MTk5NDk1NTYzNjgxODUyODI2NDA3MjExMjM0MTU2ODk1MzkzNDI1OTExMjI1MTk0ODM0MDMyNTUyMTA1Mzg2NTk4NzQ5OTI2OTQ0MDg2NDk4MjIzODIwNjk5MDU4NTIwMDAyNTk3NDM1MDg2NDcyNzI5NzU2MzkxMDE3OTI3NzU3MTk4NDIyNDk4MjgxNTEzNzMzNTIwODg4Mzc3NTIyJ1xuICAgIClcbiAgKSxcbl07XG5cbmV4cG9ydCBjb25zdCBwYWlsbGllcktleVBhaXJzOiBLZXlQYWlyW10gPSBbXG4gIHtcbiAgICBwdWJsaWNLZXk6IHB1YmxpY0tleXNbMF0sXG4gICAgcHJpdmF0ZUtleTogbmV3IFByaXZhdGVLZXkoXG4gICAgICBCaWdJbnQoXG4gICAgICAgICczNTE4NDM3NzMwOTUxMTQ1MzUxMTUzOTY5NDA1NjE1OTc2ODg1ODc1NTg2NjEyOTIyNDk2NjQ1NTc0MjQ1NDQ1MjE2MTI3MDMxNTIwNjA2NTE0MDkwNjg0ODY0MjI3NDI0MjQ5NTA0NjIwMTcxNzkyNzE4NjE4MzE4NjU1ODM1MDU5NjA0MTc2MDg2ODk1MjIzMjE4MTIyMTMwNjAzMzc0ODQyNjA4OTA2NDkwMDkwOTMyNzExMzQyNjk1NjE5MzU0ODIzNzI5MTY0MTYzNTg5NzM1OTM1OTA4OTA5NTYxMTEyNjg1MjcyNTI1MjE1NzM0OTU5Mjc0OTk1ODk1NTE1NzE3MTMxODA2OTIzMTUwMTQ4NDA0NDg5MjgzNjA0MzE2MTk5NjkzMjk1MDA4OTA0NDY0Nzk3MzgwMTQzODMzNTY5ODUwMjU0NDU0OTQ5NTk4MDYxNTg0NTk3NjE0OTQ3NDM4MDk2MDQyNTY1MjQ4MDY4MjA1NTQwOTAyNzcxOTQzNjA4OTc5MjM1NTkzODYzMzg2NDY3MDQ0OTM4Njc2MDg5NDg0NDMyMDk1Njg1NDI4ODk4MjI0ODc1MzMwMTU2OTM0MjEyMjcwNDc1OTY5NTM2ODYwOTYwMDIzNTY1ODcyNTQyOTgxMTIzODg0OTA5NDM1OTIyMDYxNDI3MDc1NjI3NjI0MTE4NzkyNzA0ODE2MTY1MTY2MDYwNjI1MTI3MzI5NTEzMjU1ODQ2ODc0Mzg1NDA4OTk0OTM1ODU4ODUyODQzMjQyODEyMDcxNDM2ODIyMzA3NTI4MDc5MDA5MTczNzE3OTU2MDA0OTI3MjI2NTEyNjUwNjc1NTk0Njg3NDEwODA5OTMwNjczNDQ2MDU4NzcxMjM1MjQxOTYzODk3ODQwMTQ2Mjk2OTI5Nzk0ODE5Mzk3NTgzOTQ4NzE2MTkwMTY3NjcwNTEwNDA5NjU5NzkwNDY0NjU3Nzg2MTQyMDE4NTY1MTQzOTg0ODA5NDg4MDQ3MDcwMTc5Nzg5NDIyNzU4NjIxNzA1NTkxOTAwNTc0MzIwNDg1ODg3MjM3NDQxNDQ3ODA5MjkxMDU3MTUyODYxNjg2MTQ3NjcwMDA1NTQ5NDYzMDU5MTYxNzYxNDAxNDY3NTAxNjM4NDc2OTM4NDYzNzEwNjQ0MDQ4OTEyMTQ1Mjg3ODE2NDM1NDQ2Nzk2Nzg1ODYxMjQ0OTczMzM5ODM1ODI5MjU0OTQ0J1xuICAgICAgKSxcbiAgICAgIEJpZ0ludChcbiAgICAgICAgJzE0MzU5NTQzMzUzMjAzNjEyOTE0NjQ3OTQ5NjExNDE0NTQ0NDMxMjQzMDEzMDU5MDEyNDU5NzYxMDkxNDcxMTIyMjkzOTgyNjM5NTczNTM2NDY5MTY2MTg5MjgyOTk3MDEzODcxNzk3MjQ4NjgxODM5NDMyMjMyNzMyMjMzNDg5ODM4NzQwMTU4ODQ5NzIyOTczMDk0NTUwMTI5ODEyODU3OTg2NzU2NDE1MzExMTAwNTE1NzUyNjM3ODQwMTQ0MzQwNDUzNDIwNzI1NzU0ODEwMDk3MTUwMzczNjA2NzU3MjQ0ODA3NjU2MTA5NjI1NDM2NzM0MjQyOTMxMjc0NDM2MDE1NTkwMTE2ODM5NzIxNDczNjQ4MjcwODgwNzUxNjkwMDQ0OTQwNjcxMzIyNTY1MTExNjkwMTQ5OTczMTI4MDEyMTQ4ODUwNjExMjY3NzAzNjg3Nzk2ODMzNzgzNTkwMjE3MDI5NjY5NzMyNzY0MDkyOTQ1NzY1NDkzMzEyMjY4OTAzMzE5NzA0MDkyNTkyMDgzMjQ0NDU3NjU5NDI0NzQ2MTkxMTczMDIxMTM0NTIwNTk5NjcyNzc1OTQ3ODMwNDc2OTU4Mjk2MjgzMjU0MTczNTAwODI3MDQ2OTcxODE3ODYwOTQwMDQ0MzEyMjU3NTQwMDIyOTQ3ODAyNjAzOTA5OTk3Njc0MjUyMTMzOTY2MTA5MzY1NzM2OTYyMzU2NjYxMzAzNzIxMTc1MjczMzQyNzc4NjQwMzcyOTM4MzMxNDQ1OTM4NDg2MTIzOTk5NDQ5NjA5MjM5MzA4MDQ2Mzc1NjA2MDE3Nzk2MTU5MjM5Mzk2Nzc4MDQ5NzY4OTIyMjg0NTgzNTQ3Njc0NzI1MjA3MjY2MzUzMTUyNzE3Nzg0NzQwMDgwOTU2NzIwMzgzNTUwNTExMzcwNzQzOTI0NTUxMDUzODkwMzQyNzYzMTM4MzY1MzU4NjE4NzQxNTA5MDA5MTAxNDY0Mzg2OTUwNDc5MzAzOTAxOTI3ODQzNjMxNzExMDUwMjM5OTc0NTI4NTEwNDIwOTI1MTgxODM0NTIzNjE4NDAzNzUxOTEyNTg4MjU3MTI2MjcyNjkwNTY4ODgwNTc5OTc5NTUzNjcwOTc0OTY0MzM4ODQ3OTI0NjY2OTg4MTIzMjAyMjgwMzA0MTU4MjMzNDgzODc3NzkxNDIwNDU2MzkyNzE3MTc3MzMxNzg0NTUxNzA1ODgnXG4gICAgICApLFxuICAgICAgcHVibGljS2V5c1swXVxuICAgICksXG4gIH0sXG4gIHtcbiAgICBwdWJsaWNLZXk6IHB1YmxpY0tleXNbMV0sXG4gICAgcHJpdmF0ZUtleTogbmV3IFByaXZhdGVLZXkoXG4gICAgICBCaWdJbnQoXG4gICAgICAgICc1NTU5Mjc5OTgyMTAyMTQxNDQ0NDgzNjg3NTI3NTQ4ODYyNDY2MjU3NzY4NTk4MDg3MTIyNzg4NDI2NjEwNjAyNDE2MTYyMDY0MDA0NDY1NTI4Nzc2OTEwOTE3OTkwMzI5ODk1NjI1NDQwNDI4NzcxNDk2Njg4MzU4NTgxNDY2NzE2OTk3Njc0MDY1NzgyMDUxNzM4ODc1NTczOTQ3NDE4NzkzNzQxMjkwMTM5MDEyMjY4MzQ4MjY0NTc2MTkwNDEzNTc4MTE0MjU1MDU1NjcxNjA0MjYwMjIzNjkxNzE3NTc4NTQzOTM4NzgxNjQzOTgwNjk5MTMzODYwNTc3ODQ2ODEzMjYzNDE2NDU3OTI2NjIxNDgwMjc0NTU5NjcxNDg2NDg4MzE5NDc1NTg2NjkxNzY1MzQ2MzEyMjEyMjE4Nzk4NDcwODIyMjA5NjgyMjMwMDgyMDMxMDAyMzMzNjQ2MDQyNjE3NTM2NTc0MTg2Mzc5OTE2MjQ5ODcxMTUwMTg3NzEzMzExMzc4Njk1ODc4NjEwOTAxNzIxMTI2NDQyMjczMTQ2OTI5NDAxNTkwMDYwMDc4MzYzODc2ODk4MDIwNzIwMTU2OTczNjIyNjc0OTE3NDU5MjE0NzQxODUyNTE2OTgxMzQ1OTAwMDA3MDM1NDAzNjc3NjU1NTQzNTIwMjkyNDQ3NTAxMTM2NzM0Njk1NjU4OTAzNTAxNTUyMzA1ODY4NjIxOTM5NjY1NjAzNTA2ODkwNDM5NTM1ODkzNjMzMzU4NjM1Njc5Mzg4NzA0MTczMjgwNTk3NzA0NDA3Nzg0MjQ5ODY5MDgzNDM1ODI1NTgwMDk2MjE2NzkyMDU2OTUxNjUyNzc3NzcyMzI1MDg0NzkwODg0MDMzMDgzNzQzMTk1MTk0MjMzOTg0MzE0MjczMzAxNjE5Mjg5ODQ3MTAzMDYwMzA3MzIzMTAxOTM3MDQyNjUyNzY5MzQ2NDg1MDMzMTczNTc4Njg1OTYyNzUzODI5MTgzMjYzMjU1ODgxMDI0NjUxMjc2NTIzMTA4MDczNjM4MzkyMjYzNTIwMjcwODM2NzcxODA5ODE2MDU2MzY1NzE0Njg2NTc2MjkzODQwNTM2NTc2NjU2ODU5OTgyNDEyOTY5Nzg0OTU1OTIwMjA4MjY3OTk2MjI5NDcxMTM3NzUyMzg4NDE0NDUzODY4MTgxMjQ4OTM0MTY4NDQ4MjQxNjk3ODczNjA4J1xuICAgICAgKSxcbiAgICAgIEJpZ0ludChcbiAgICAgICAgJzM1NDUwODcyNTMyNTE1NzQ5NTg5NDYyMzExOTMzMDc3NTQzMDI3MDI0OTYzNjg4NDIwNjEzMjI2MDU3MDE2MzExNzkzOTI2ODI0ODQwNDkwMzEyNjg4NTE4NzkzMzg4MjkxMzEyODc3NTA0MDkxMDIwMDgwMzc3ODUyNjQ3MTQ1MDcyNjQwNDYwOTE4NjY2MjAzMjU0NTczOTMxMTUwNTM5OTM1NTM3ODM2NDQ1NDYyOTQ1NjY3NjU5NDQ4NzE2NzU4MzAyMjMzNDY5NzcyNTIxODE1MjI4MjE0NjYzMTcxMDcyNTk3MDczNTY4MTEyOTE3MDA1OTc3NjYxNTM5MzQ0MzkyOTYwMjA1MTM0MTI2NzQ0ODAxNTY0MDU2MDc2MzE0MzQ2MDQ3MjE1MTcxMzE1ODI0MTcxOTg3NjUzOTE5ODI1ODk0MTM5Njg5MzkzNTM1MDc2ODcyMTI4MTIzMDYzOTg5MTE3OTI3MjU2MDY1MDA4Njc5MDA1MjgxNTg5NjA3Nzc0NTQ0NTM0Nzg1MDU5Njc0NDYyMzg0Mjk3ODcwMzMxMjg0MzQ5MDY3NjgyMTE4MjEwODc1NzcxNTcxMzUxNjA5MzUwMDc5NTkyNDEzNjg4MjYyOTk1Mjc1NDY1NjQzMjkxNjU4NDYzMzYwMTE4MzA3NTI5MzYwNzIyNjI4NzI4MTg1Mjk1MDkwODg4NDY3NjQxNzI0ODcwNzI5MjkwOTY4MTY2NTc1NDY2MDQ5ODQ2NTIwNTU2NTkzNTM0MjM1MDgxNDI5MDI4MzMyNDM0MTc2MDM4MzU1ODIyMzk2MjYxNTk4MjQ0NDQ3MjI2Mzc1MjE3ODE3MTgzMDY1NzMxMzI0Njk3NjM2MDUyMTUyNTE0NzQwNTMwNzM0MTAyNTEzMTEzMDIxMzkzOTc4OTEwNTE0MTE0OTIwNDY3NTU3NjcyOTg1NDM2Nzk4OTQ0NDk5NDI3NzczMzcyNjc0Njg5NjM4NDM2MjE0NDg2NDk2MTAyNjY0OTA3NjcxODgzMjc1NDA0NzEwNzEzNTAzNTQyMzkzNDUwOTgxNTIyNTM4MzkyMzIxNjgxMzEzNDQ3NzcxNTA5NTIwODcyMTIzNjU3MTcxMjQxNzk3MzQ5MDI1MjExMjc0NzA4MTE1NjMxOTc5NjgxMzA4ODc0OTkzMTIxNjI0ODEwODMyMDMyODU5MTE0MjIwNTcxNTQ1ODIwMjAyNDY1OTE1MjYxOTUnXG4gICAgICApLFxuICAgICAgcHVibGljS2V5c1sxXVxuICAgICksXG4gIH0sXG4gIHtcbiAgICBwdWJsaWNLZXk6IHB1YmxpY0tleXNbMl0sXG4gICAgcHJpdmF0ZUtleTogbmV3IFByaXZhdGVLZXkoXG4gICAgICBCaWdJbnQoXG4gICAgICAgICczNDE5Nzk1MDM2MDUxNzUxMzI2MjMyMDA3OTc2NjA5MjAwMjM3NjA0NDkzNTYzNDYzMTA5OTkxNDc4MDQ3ODQ5MzE0NTQwNzM4NDQxNTg2ODQwNDM1MjU3ODU4NjYxNDQ4MDExNzE1MDM4ODc2MTcwODc5ODE4Njc0NjM0MTk1ODcxMjY5NDI0NDA5OTM1NTc2NDIyNjI5ODQzMTQ0NzE2NDY2MDk2MDQ4MjE2NjI4MTEwNTY4NzEyNjMzMjU2ODgyODUzNjU4ODUyNTA4MDI4Njk4ODE1ODc5MTk2MzU2ODI2NDYzOTUwMTk3OTY4MjIwMjQzMzY3MTY4Njg3MjMyMDI1OTU3OTg4MDUyNDE1NDk3MjkxNDg2ODE5MDE0MjgwMzY4MDM5ODA5Mjk2MTAzMzM3ODAwMDgwNDQ0NzgzMDU2OTEwOTQ5MzQzMDM2MTc3NTk0NzI2NTY0NzExMjQxMDEyMjQ4NjUxNDMzNjAyMzIwNzc0NDI1NzY2MzUwNjcwNzA5MjAzNDE3NDQwMTk0MTg2NDQ2MzI2NjMwMzc4NzUwODExNzgyOTI0NDc2NzAzNjIwNzU1NjExMTgxMDUzMjM5OTk3NTU1NDQ1OTY1Mjg4MzExNzgyNjAwMzc4OTQwMDA1MTU5MjY2NDA3MDE4MTE3NjYyODU0OTM3MjQ5NzAxNTQ0ODI5NjAzNzg0MDIwNjAzMDAxNjE5MzkzOTE1OTIwMjc1MzQwMzE2MDE5MDI0ODQxMDkyMDI5MDEzOTAwNjc5ODE0NDU5NzYxODk1ODkyODI1MTMyNTg5MTk4MTM0MzIxOTcyMjc4NTcxNzgxNjQ5NzQ4NzEzNTIyMjcwNTkwMjI5NDMxMzQ4MTkzMTY4NzQyODg2NzE0NDIyODkzNDY0NDk4MDkwOTExNzQ2MzU3MTM0Njc5MDg1Njg5MTk1MjgxNjAxNjYyODM4Mzc0MTgwOTUyNzgwNjAwNDYyMTgwMDA5ODg2ODIyNjg1OTIxODk1NDQ5Njk1OTI1MTk2ODc2Mzc4NzUyNDIwMDI5NjAyNjU5MTIwNjU0NjI4MDA0MDQ4OTMxMzg4NTA3MjQ5MTY4ODM2NTM5MDc3NTk5ODQ5ODcxODgyMTkwMjY3ODc3OTE2NTI1MDYwNzk1MDk5MDU1NDM4MTkyNzQyMjczMTU5NTA2NjY5MjAwMTE4NzY5NTUyNjM3MjA1NTU2MTgzMzExNzA3NTIwMTEyJ1xuICAgICAgKSxcbiAgICAgIEJpZ0ludChcbiAgICAgICAgJzE3NzEyMDIwOTc2MzA0NzMwODg0NjY3MTkxNzg3MjE5MTc2NjI1ODU2Mjg0NTcxNjg0NjE0ODY1NTU3MzYyODIwNDk0Mjc0MzI0MDU4MjcxNzIxMTE1Mjk1OTE4OTcwNTg3ODYxNjAyODc0MDUyMTc5MzUyMzg3NTI3ODE1MjI0NDc1ODgzNjU4MjAwMTAyNjMxODY4NzI2MDE5MDYxNDYxNTIxMzAxNjE1NjM3OTY3MjU3NjMyNjA3NjUzMzc3Njc0NTM0ODYyMDEzNTYyMDIxNTY5Mzc1MzAyMTQ4Mzc3Njk4NDA3MjUxOTQ3NzIxNDYyODUwNDQ5NTczMDc5NDM4MjMyOTE0MjAxMDI4Njk3MTgyMjEyMDkyMDAxMDMwMzA3MDM5NTg3NDA1NDkyMzk1NDUwODAyODQ5OTg4NzA1Nzc3NTA1NTA5MDUyMDU2OTE3NDgzODE4OTM3NjQ0MTMwNDY2NzMzNDYxNzczOTQ2MTAxNDMzODc4NTMyMzEyNjYyMDQ5OTUzNzY5MDYzOTA2NDEzMTI1NzI1NzU5MTczNTA4NzQzMzcwNDU0MzA1MDQ5NDU4ODQwMDYyMDM4NzMzNDk0MDEwMjgzMDA4MDk1ODIzNDg2MjMyODI4NTUwODkxNzg4ODg1NDU0NTU2OTA1MzI1ODQxMDIwMjkzMjAzMzk5ODAwOTA5NzYzNzk4MDExNDMyNzk5NzYyNzMzNzYwNTQ4MDg5Njg0OTU1MTUyMDg1OTgxNTU3NjU4OTgzNjUyNjczMjI1Nzg2NTQ4NzExMDE3MDIyNjE3MzcyNjEzMjU2ODYzOTM0OTg1NTMzMjk3NzkyMjI1NzA1MzYxODU3ODczOTUwODg3MzI5MDg5NDc5NDc3MjkxNjUwMDU1OTc3ODUxNTA0MDI5NzUxMDA4MjAwNjU4ODY3ODUyNTIyNzE0NzIyMjM1MzU2ODIwMTAwMDI5MDYwNjg4MzEwMDI3NzA5OTg5MzExNTE5MDM4MTMzMTY5MzMxNzgyMDMyNTEwNDA0NDM4MTY2MzQ5MTYwNDQ0NjgwMzU3OTA2MzkzNTEyOTM2NDU5OTM5MjUwMTIyMTg1NDE5MDA5Mjg1MjYyNDg1MjcyMDc3MDI2NzY2MTcyMjIxODYwMzE5MjkzNTU3MDE5NDgwOTkyODc1ODA5OTQxMzcxODA4NjkxNTkxOTY2NjM3NjMwMjI3Nzk1Mjk4MzEwNTQ3MzE2MydcbiAgICAgICksXG4gICAgICBwdWJsaWNLZXlzWzJdXG4gICAgKSxcbiAgfSxcbl07XG4iXX0=
@@ -25,7 +25,7 @@ const BuildParams_1 = require("../../../../src/bitgo/wallet/BuildParams");
25
25
  const codecProps_1 = require("../../../../src/bitgo/utils/codecProps");
26
26
  describe('SendTransactionRequest', function () {
27
27
  it('has expected property count', function () {
28
- assert.strictEqual(codecProps_1.getCodecProperties(BuildParams_1.BuildParams).length, 73);
28
+ assert.strictEqual(codecProps_1.getCodecProperties(BuildParams_1.BuildParams).length, 74);
29
29
  });
30
30
  it('enforces codec', function () {
31
31
  assert.deepStrictEqual(BuildParams_1.BuildParams.encode({
@@ -46,4 +46,4 @@ describe('SendTransactionRequest', function () {
46
46
  });
47
47
  });
48
48
  });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsZ0dBQTZGO0FBQzdGLDBFQUF1RTtBQUN2RSx1RUFBNEU7QUFFNUUsUUFBUSxDQUFDLHdCQUF3QixFQUFFO0lBQ2pDLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtRQUNoQyxNQUFNLENBQUMsV0FBVyxDQUFDLCtCQUFrQixDQUFDLHlCQUFXLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FDcEIseUJBQVcsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLE1BQU07WUFDbkIsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsS0FBSztTQUNSLENBQUMsRUFDVDtZQUNFLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsMkJBQTJCO1NBQzVCLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxlQUFlLENBQUMsK0NBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RixNQUFNLENBQUMsZUFBZSxDQUFDLCtDQUFzQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFTLENBQUMsRUFBRTtZQUM5RyxLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IFNlbmRUcmFuc2FjdGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vd2FsbGV0L1NlbmRUcmFuc2FjdGlvblJlcXVlc3QnO1xuaW1wb3J0IHsgQnVpbGRQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vd2FsbGV0L0J1aWxkUGFyYW1zJztcbmltcG9ydCB7IGdldENvZGVjUHJvcGVydGllcyB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy9jb2RlY1Byb3BzJztcblxuZGVzY3JpYmUoJ1NlbmRUcmFuc2FjdGlvblJlcXVlc3QnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdoYXMgZXhwZWN0ZWQgcHJvcGVydHkgY291bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldENvZGVjUHJvcGVydGllcyhCdWlsZFBhcmFtcykubGVuZ3RoLCA3Myk7XG4gIH0pO1xuXG4gIGl0KCdlbmZvcmNlcyBjb2RlYycsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFxuICAgICAgQnVpbGRQYXJhbXMuZW5jb2RlKHtcbiAgICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICAgICAgdHhGb3JtYXQ6ICdwc2J0JyxcbiAgICAgICAgY29tbWVudDogJ2ZvbycsXG4gICAgICAgIHVua25vd246ICdiYXInLFxuICAgICAgfSBhcyBhbnkpLFxuICAgICAge1xuICAgICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgICAgICB0eEZvcm1hdDogJ3BzYnQnLFxuICAgICAgICBjb21tZW50OiAnZm9vJyxcbiAgICAgICAgLy8gZHJvcHMgdW5rbm93biBwcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5lbmNvZGUoeyB0eEhleDogJzAwJyB9KSwgeyB0eEhleDogJzAwJyB9KTtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFNlbmRUcmFuc2FjdGlvblJlcXVlc3QuZW5jb2RlKHsgdHhIZXg6ICcwMCcsIGFkZHJlc3NUeXBlOiAncDJzaCcsIGJhcjogJ29taXQnIH0gYXMgYW55KSwge1xuICAgICAgdHhIZXg6ICcwMCcsXG4gICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsZ0dBQTZGO0FBQzdGLDBFQUF1RTtBQUN2RSx1RUFBNEU7QUFFNUUsUUFBUSxDQUFDLHdCQUF3QixFQUFFO0lBQ2pDLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtRQUNoQyxNQUFNLENBQUMsV0FBVyxDQUFDLCtCQUFrQixDQUFDLHlCQUFXLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FDcEIseUJBQVcsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLE1BQU07WUFDbkIsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsS0FBSztTQUNSLENBQUMsRUFDVDtZQUNFLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsMkJBQTJCO1NBQzVCLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxlQUFlLENBQUMsK0NBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4RixNQUFNLENBQUMsZUFBZSxDQUFDLCtDQUFzQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFTLENBQUMsRUFBRTtZQUM5RyxLQUFLLEVBQUUsSUFBSTtZQUNYLFdBQVcsRUFBRSxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IFNlbmRUcmFuc2FjdGlvblJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vd2FsbGV0L1NlbmRUcmFuc2FjdGlvblJlcXVlc3QnO1xuaW1wb3J0IHsgQnVpbGRQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vd2FsbGV0L0J1aWxkUGFyYW1zJztcbmltcG9ydCB7IGdldENvZGVjUHJvcGVydGllcyB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy9jb2RlY1Byb3BzJztcblxuZGVzY3JpYmUoJ1NlbmRUcmFuc2FjdGlvblJlcXVlc3QnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdoYXMgZXhwZWN0ZWQgcHJvcGVydHkgY291bnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LnN0cmljdEVxdWFsKGdldENvZGVjUHJvcGVydGllcyhCdWlsZFBhcmFtcykubGVuZ3RoLCA3NCk7XG4gIH0pO1xuXG4gIGl0KCdlbmZvcmNlcyBjb2RlYycsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFxuICAgICAgQnVpbGRQYXJhbXMuZW5jb2RlKHtcbiAgICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICAgICAgdHhGb3JtYXQ6ICdwc2J0JyxcbiAgICAgICAgY29tbWVudDogJ2ZvbycsXG4gICAgICAgIHVua25vd246ICdiYXInLFxuICAgICAgfSBhcyBhbnkpLFxuICAgICAge1xuICAgICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgICAgICB0eEZvcm1hdDogJ3BzYnQnLFxuICAgICAgICBjb21tZW50OiAnZm9vJyxcbiAgICAgICAgLy8gZHJvcHMgdW5rbm93biBwcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5lbmNvZGUoeyB0eEhleDogJzAwJyB9KSwgeyB0eEhleDogJzAwJyB9KTtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFNlbmRUcmFuc2FjdGlvblJlcXVlc3QuZW5jb2RlKHsgdHhIZXg6ICcwMCcsIGFkZHJlc3NUeXBlOiAncDJzaCcsIGJhcjogJ29taXQnIH0gYXMgYW55KSwge1xuICAgICAgdHhIZXg6ICcwMCcsXG4gICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19