@bitgo-beta/sdk-coin-sol 7.6.4-beta.755 → 7.6.4-beta.756
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/lib/confidentialTransferBuilder.d.ts +9 -1
- package/dist/cjs/src/lib/confidentialTransferBuilder.d.ts.map +1 -1
- package/dist/cjs/src/lib/confidentialTransferBuilder.js +40 -6
- package/dist/cjs/src/lib/constants.d.ts +1 -0
- package/dist/cjs/src/lib/constants.d.ts.map +1 -1
- package/dist/cjs/src/lib/constants.js +2 -1
- package/dist/cjs/src/lib/iface.d.ts +13 -1
- package/dist/cjs/src/lib/iface.d.ts.map +1 -1
- package/dist/cjs/src/lib/iface.js +1 -1
- package/dist/cjs/src/lib/instructionParamsFactory.d.ts.map +1 -1
- package/dist/cjs/src/lib/instructionParamsFactory.js +7 -3
- package/dist/cjs/src/lib/solInstructionFactory.d.ts.map +1 -1
- package/dist/cjs/src/lib/solInstructionFactory.js +28 -3
- package/dist/cjs/src/lib/transaction.d.ts +12 -0
- package/dist/cjs/src/lib/transaction.d.ts.map +1 -1
- package/dist/cjs/src/lib/transaction.js +100 -43
- package/dist/cjs/src/lib/utils.d.ts +11 -0
- package/dist/cjs/src/lib/utils.d.ts.map +1 -1
- package/dist/cjs/src/lib/utils.js +20 -4
- package/dist/cjs/src/sol.d.ts.map +1 -1
- package/dist/cjs/src/sol.js +10 -5
- package/dist/cjs/test/unit/ctEnablementVerify.d.ts +2 -0
- package/dist/cjs/test/unit/ctEnablementVerify.d.ts.map +1 -0
- package/dist/cjs/test/unit/ctEnablementVerify.js +143 -0
- package/dist/cjs/test/unit/sol.js +2 -2
- package/dist/cjs/test/unit/transactionBuilder/confidentialEnablementV1.d.ts +2 -0
- package/dist/cjs/test/unit/transactionBuilder/confidentialEnablementV1.d.ts.map +1 -0
- package/dist/cjs/test/unit/transactionBuilder/confidentialEnablementV1.js +124 -0
- package/dist/cjs/test/unit/transactionBuilder/confidentialTransferBuilder.js +22 -9
- package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1.js +2 -1
- package/dist/cjs/test/unit/transactionBuilder/confidentialTransferV1Ops.js +2 -1
- package/dist/cjs/test/unit/utils.js +36 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/lib/confidentialTransferBuilder.d.ts +9 -1
- package/dist/esm/lib/confidentialTransferBuilder.d.ts.map +1 -1
- package/dist/esm/lib/confidentialTransferBuilder.js +40 -6
- package/dist/esm/lib/constants.d.ts +1 -0
- package/dist/esm/lib/constants.d.ts.map +1 -1
- package/dist/esm/lib/constants.js +2 -1
- package/dist/esm/lib/iface.d.ts +13 -1
- package/dist/esm/lib/iface.d.ts.map +1 -1
- package/dist/esm/lib/iface.js +1 -1
- package/dist/esm/lib/instructionParamsFactory.d.ts.map +1 -1
- package/dist/esm/lib/instructionParamsFactory.js +7 -3
- package/dist/esm/lib/solInstructionFactory.d.ts.map +1 -1
- package/dist/esm/lib/solInstructionFactory.js +29 -4
- package/dist/esm/lib/transaction.d.ts +12 -0
- package/dist/esm/lib/transaction.d.ts.map +1 -1
- package/dist/esm/lib/transaction.js +101 -44
- package/dist/esm/lib/utils.d.ts +11 -0
- package/dist/esm/lib/utils.d.ts.map +1 -1
- package/dist/esm/lib/utils.js +19 -4
- package/dist/esm/sol.d.ts.map +1 -1
- package/dist/esm/sol.js +10 -5
- package/package.json +7 -7
|
@@ -2,11 +2,12 @@ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
|
2
2
|
import { SolTransactionVersion, SolV1TransactionConfig, TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
3
|
import { Transaction } from './transaction';
|
|
4
4
|
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
-
import { ApplyPendingBalance, ConfidentialDeposit, ConfidentialTransfer, ConfidentialWithdraw, ConfigureConfidentialTransferAccount, VerifyEqualityProof, VerifyPubkeyValidity, VerifyRangeProof, VerifyValidityProof } from './iface';
|
|
5
|
+
import { ApplyPendingBalance, AtaInit, ConfidentialDeposit, ConfidentialTransfer, ConfidentialWithdraw, ConfigureConfidentialTransferAccount, VerifyEqualityProof, VerifyPubkeyValidity, VerifyRangeProof, VerifyValidityProof } from './iface';
|
|
6
6
|
/**
|
|
7
7
|
* Builder for Token-2022 confidential transfer transactions.
|
|
8
8
|
*
|
|
9
9
|
* Provides type-safe fluent setters for the following CT instructions:
|
|
10
|
+
* - CreateAssociatedTokenAccount (CT enablement: ATA under Token-2022 before ConfigureAccount)
|
|
10
11
|
* - ConfigureAccount (standalone, with VerifyPubkeyValidity proof)
|
|
11
12
|
* - ApplyPendingBalance (always instruction #1 in v1 spend txs, idempotent)
|
|
12
13
|
* - Deposit (public → confidential conversion)
|
|
@@ -66,6 +67,13 @@ export declare class ConfidentialTransferBuilder extends TransactionBuilder {
|
|
|
66
67
|
zkProofProgramId(programId: string): this;
|
|
67
68
|
/** @inheritDoc */
|
|
68
69
|
initBuilder(tx: Transaction): void;
|
|
70
|
+
/**
|
|
71
|
+
* Add a CreateAssociatedTokenAccount (idempotent) instruction to the transaction.
|
|
72
|
+
* CT enablement only — the ATA must exist before ConfigureAccount; add this
|
|
73
|
+
* first when the ATA is not yet on-chain. For Token-2022 mints pass
|
|
74
|
+
* `programId` so the ATA is created under the Token-2022 program.
|
|
75
|
+
*/
|
|
76
|
+
createAta(params: AtaInit['params']): this;
|
|
69
77
|
/**
|
|
70
78
|
* Add a ConfigureAccount instruction to the transaction.
|
|
71
79
|
* One-time ATA setup — registers ElGamal pubkey + AES zero ciphertext.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confidentialTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/confidentialTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG7H,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EAGpC,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAQjB
|
|
1
|
+
{"version":3,"file":"confidentialTransferBuilder.d.ts","sourceRoot":"","sources":["../../../../src/lib/confidentialTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAyB,qBAAqB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG7H,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,mBAAmB,EACnB,OAAO,EACP,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EAGpC,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAQjB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,CAAwB;IACzC,OAAO,CAAC,oBAAoB,CAAC,CAAyB;gBAE1C,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAK7C;;;;;;;OAOG;IACH,iBAAiB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAKvD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMzC,kBAAkB;IAClB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAwBlC;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAwB1C;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,oCAAoC,CAAC,QAAQ,CAAC,GAAG,IAAI;IAe9E;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAahE;;;OAGG;IACH,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAahE;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAclE;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAgBlE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAQlE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAQhE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAQhE;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,IAAI;IAQ1D,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAY3D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO;CAwGhB"}
|
|
@@ -20,6 +20,7 @@ const assert_1 = __importDefault(require("assert"));
|
|
|
20
20
|
* Builder for Token-2022 confidential transfer transactions.
|
|
21
21
|
*
|
|
22
22
|
* Provides type-safe fluent setters for the following CT instructions:
|
|
23
|
+
* - CreateAssociatedTokenAccount (CT enablement: ATA under Token-2022 before ConfigureAccount)
|
|
23
24
|
* - ConfigureAccount (standalone, with VerifyPubkeyValidity proof)
|
|
24
25
|
* - ApplyPendingBalance (always instruction #1 in v1 spend txs, idempotent)
|
|
25
26
|
* - Deposit (public → confidential conversion)
|
|
@@ -96,6 +97,8 @@ class ConfidentialTransferBuilder extends transactionBuilder_1.TransactionBuilde
|
|
|
96
97
|
this._ctInstructions = [];
|
|
97
98
|
for (const instruction of this._instructionsData) {
|
|
98
99
|
switch (instruction.type) {
|
|
100
|
+
case constants_1.InstructionBuilderTypes.CreateAssociatedTokenAccount:
|
|
101
|
+
case constants_1.InstructionBuilderTypes.ReallocateConfidentialTransferAccount:
|
|
99
102
|
case constants_1.InstructionBuilderTypes.ConfigureConfidentialTransferAccount:
|
|
100
103
|
case constants_1.InstructionBuilderTypes.ApplyPendingBalance:
|
|
101
104
|
case constants_1.InstructionBuilderTypes.ConfidentialDeposit:
|
|
@@ -112,6 +115,34 @@ class ConfidentialTransferBuilder extends transactionBuilder_1.TransactionBuilde
|
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Add a CreateAssociatedTokenAccount (idempotent) instruction to the transaction.
|
|
120
|
+
* CT enablement only — the ATA must exist before ConfigureAccount; add this
|
|
121
|
+
* first when the ATA is not yet on-chain. For Token-2022 mints pass
|
|
122
|
+
* `programId` so the ATA is created under the Token-2022 program.
|
|
123
|
+
*/
|
|
124
|
+
createAta(params) {
|
|
125
|
+
(0, assert_1.default)(params.mintAddress, 'Missing mintAddress param');
|
|
126
|
+
(0, assert_1.default)(params.ataAddress, 'Missing ataAddress param');
|
|
127
|
+
(0, assert_1.default)(params.ownerAddress, 'Missing ownerAddress param');
|
|
128
|
+
(0, assert_1.default)(params.payerAddress, 'Missing payerAddress param');
|
|
129
|
+
this._ctInstructions.push({
|
|
130
|
+
type: constants_1.InstructionBuilderTypes.CreateAssociatedTokenAccount,
|
|
131
|
+
params,
|
|
132
|
+
});
|
|
133
|
+
// ConfigureAccount requires the ConfidentialTransferAccount extension, which an ATA does
|
|
134
|
+
// not carry — Reallocate adds it and must run before ConfigureAccount.
|
|
135
|
+
this._ctInstructions.push({
|
|
136
|
+
type: constants_1.InstructionBuilderTypes.ReallocateConfidentialTransferAccount,
|
|
137
|
+
params: {
|
|
138
|
+
tokenAddress: params.ataAddress,
|
|
139
|
+
payerAddress: params.payerAddress,
|
|
140
|
+
ownerAddress: params.ownerAddress,
|
|
141
|
+
programId: params.programId,
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
return this;
|
|
145
|
+
}
|
|
115
146
|
/**
|
|
116
147
|
* Add a ConfigureAccount instruction to the transaction.
|
|
117
148
|
* One-time ATA setup — registers ElGamal pubkey + AES zero ciphertext.
|
|
@@ -121,6 +152,7 @@ class ConfidentialTransferBuilder extends transactionBuilder_1.TransactionBuilde
|
|
|
121
152
|
(0, assert_1.default)(params.tokenAddress, 'Missing tokenAddress param');
|
|
122
153
|
(0, assert_1.default)(params.mintAddress, 'Missing mintAddress param');
|
|
123
154
|
(0, assert_1.default)(params.authorityAddress, 'Missing authorityAddress param');
|
|
155
|
+
(0, assert_1.default)(params.elgamalPubkey, 'Missing elgamalPubkey param');
|
|
124
156
|
(0, assert_1.default)(params.decryptableZeroBalance, 'Missing decryptableZeroBalance param');
|
|
125
157
|
(0, assert_1.default)(params.maximumPendingBalanceCreditCounter, 'Missing maximumPendingBalanceCreditCounter param');
|
|
126
158
|
this._ctInstructions.push({
|
|
@@ -268,7 +300,7 @@ class ConfidentialTransferBuilder extends transactionBuilder_1.TransactionBuilde
|
|
|
268
300
|
const instructions = [];
|
|
269
301
|
// Durable nonce: the AdvanceNonceAccount instruction MUST be part of the
|
|
270
302
|
// message (a bare nonce hash without the instruction is invalid). It is
|
|
271
|
-
// placed first, matching the v0 web3.js convention.
|
|
303
|
+
// placed first, matching the v0 web3.js and v1 payment-builder convention.
|
|
272
304
|
if (this._nonceInfo) {
|
|
273
305
|
instructions.push((0, v1TransactionBuilder_1.buildAdvanceNonceAccountInstruction)(this._nonceInfo.params.walletNonceAddress, this._nonceInfo.params.authWalletAddress));
|
|
274
306
|
}
|
|
@@ -293,7 +325,9 @@ class ConfidentialTransferBuilder extends transactionBuilder_1.TransactionBuilde
|
|
|
293
325
|
});
|
|
294
326
|
// Signer order comes from the compiled message: the first
|
|
295
327
|
// numSignerAccounts static accounts are the required signers (fee payer
|
|
296
|
-
// first, then the remaining signers in the compiled account order).
|
|
328
|
+
// first, then the remaining signers in the compiled account order). Missing
|
|
329
|
+
// signatures are zero-filled so unsigned/partial builds keep a valid wire
|
|
330
|
+
// shape for the server-side sign path (not broadcastable until filled).
|
|
297
331
|
const decoded = (0, message_1.decodeV1Message)(messageBytes);
|
|
298
332
|
const signerAddresses = decoded.staticAccounts.slice(0, decoded.header.numSignerAccounts);
|
|
299
333
|
const signatures = [];
|
|
@@ -305,9 +339,9 @@ class ConfidentialTransferBuilder extends transactionBuilder_1.TransactionBuilde
|
|
|
305
339
|
signatures.push(tweetnacl_1.default.sign.detached(messageBytes, secretKey));
|
|
306
340
|
continue;
|
|
307
341
|
}
|
|
308
|
-
const
|
|
309
|
-
if (
|
|
310
|
-
signatures.push(new Uint8Array(
|
|
342
|
+
const additional = this.getAdditionalSignatures().find((sig) => sig.publicKey.pub === address);
|
|
343
|
+
if (additional) {
|
|
344
|
+
signatures.push(new Uint8Array(additional.signature));
|
|
311
345
|
continue;
|
|
312
346
|
}
|
|
313
347
|
// Missing signature: zero-fill the slot so the wire shape stays valid
|
|
@@ -338,4 +372,4 @@ class ConfidentialTransferBuilder extends transactionBuilder_1.TransactionBuilde
|
|
|
338
372
|
}
|
|
339
373
|
}
|
|
340
374
|
exports.ConfidentialTransferBuilder = ConfidentialTransferBuilder;
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlkZW50aWFsVHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsbURBQTZIO0FBQzdILDZDQUFtRztBQUNuRywwREFBNkI7QUFDN0IsK0NBQTRDO0FBQzVDLDZEQUEwRDtBQUMxRCwyQ0FBc0Q7QUFjdEQseUZBQXNGO0FBQ3RGLCtEQUFvRTtBQUNwRSx1RUFBNEU7QUFDNUUsbUVBQWdFO0FBQ2hFLGlFQUE2RTtBQUM3RSxvREFBNEI7QUFFNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBYSwyQkFBNEIsU0FBUSx1Q0FBa0I7SUFLakUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFMYixvQkFBZSxHQUF3QixFQUFFLENBQUM7UUFNaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsb0JBQW9CLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxPQUFPLENBQUMsT0FBOEI7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGlCQUFpQixDQUFDLE1BQThCO1FBQzlDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxnQkFBZ0IsQ0FBQyxTQUFpQjtRQUNoQyxJQUFBLGdCQUFNLEVBQUMsU0FBUyxFQUFFLHlCQUF5QixDQUFDLENBQUM7UUFDN0MsSUFBSSxD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QUFDO1FBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUV6QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBeFZELGtFQXdWQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgU29sVHJhbnNhY3Rpb25WZXJzaW9uLCBTb2xWMVRyYW5zYWN0aW9uQ29uZmlnLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBQdWJsaWNLZXksIFRyYW5zYWN0aW9uIGFzIFNvbFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbkluc3RydWN0aW9uIH0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCBuYWNsIGZyb20gJ3R3ZWV0bmFjbCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBcHBseVBlbmRpbmdCYWxhbmNlLFxuICBDb25maWRlbnRpYWxEZXBvc2l0LFxuICBDb25maWRlbnRpYWxUcmFuc2ZlcixcbiAgQ29uZmlkZW50aWFsV2l0aGRyYXcsXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCxcbiAgSW5zdHJ1Y3Rpb25QYXJhbXMsXG4gIE1lbW8sXG4gIFZlcmlmeUVxdWFsaXR5UHJvb2YsXG4gIFZlcmlmeVB1YmtleVZhbGlkaXR5LFxuICBWZXJpZnlSYW5nZVByb29mLFxuICBWZXJpZnlWYWxpZGl0eVByb29mLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IGNvbXBpbGVUcmFuc2FjdGlvbk1lc3NhZ2UgfSBmcm9tICcuL3NlcmlhbGl6YXRpb24vY29tcGlsZVRyYW5zYWN0aW9uTWVzc2FnZSc7XG5pbXBvcnQgeyBkZWNvZGVWMU1lc3NhZ2UgfSBmcm9tICcuL3NlcmlhbGl6YXRpb24vY29kZWNzL3YxL21lc3NhZ2UnO1xuaW1wb3J0IHsgc2VyaWFsaXplV2lyZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9zZXJpYWxpemF0aW9uL3dpcmUtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgc29sSW5zdHJ1Y3Rpb25GYWN0b3J5IH0gZnJvbSAnLi9zb2xJbnN0cnVjdGlvbkZhY3RvcnknO1xuaW1wb3J0IHsgYnVpbGRBZHZhbmNlTm9uY2VBY2NvdW50SW5zdHJ1Y3Rpb24gfSBmcm9tICcuL3YxVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuLyoqXG4gKiBCdWlsZGVyIGZvciBUb2tlbi0yMDIyIGNvbmZpZGVudGlhbCB0cmFuc2ZlciB0cmFuc2FjdGlvbnMuXG4gKlxuICogUHJvdmlkZXMgdHlwZS1zYWZlIGZsdWVudCBzZXR0ZXJzIGZvciB0aGUgZm9sbG93aW5nIENUIGluc3RydWN0aW9uczpcbiAqIC0gQ29uZmlndXJlQWNjb3VudCAoc3RhbmRhbG9uZSwgd2l0aCBWZXJpZnlQdWJrZXlWYWxpZGl0eSBwcm9vZilcbiAqIC0gQXBwbHlQZW5kaW5nQmFsYW5jZSAoYWx3YXlzIGluc3RydWN0aW9uICMxIGluIHYxIHNwZW5kIHR4cywgaWRlbXBvdGVudClcbiAqIC0gRGVwb3NpdCAocHVibGljIOKGkiBjb25maWRlbnRpYWwgY29udmVyc2lvbilcbiAqIC0gV2l0aGRyYXcgKGNvbmZpZGVudGlhbCDihpIgcHVibGljIGNvbnZlcnNpb24sIHdpdGggZXF1YWxpdHkgKyByYW5nZSBwcm9vZnMpXG4gKiAtIFRyYW5zZmVyIChjb25maWRlbnRpYWwg4oaSIGNvbmZpZGVudGlhbCwgd2l0aCBlcXVhbGl0eSArIHZhbGlkaXR5ICsgcmFuZ2UgcHJvb2ZzKVxuICogLSBWZXJpZnlQdWJrZXlWYWxpZGl0eSAvIFZlcmlmeUVxdWFsaXR5IC8gVmVyaWZ5VmFsaWRpdHkgLyBWZXJpZnlSYW5nZSBwcm9vZiBpbnN0cnVjdGlvbnNcbiAqXG4gKiBJbnN0cnVjdGlvbiBidWlsZGVycyBhcmUgdjAvdjEtYWdub3N0aWM6IHRoZXkgcHJvZHVjZSBpbnN0cnVjdGlvbiBkYXRhIGFuZFxuICogYWNjb3VudCBtZXRhcyBvbmx5LiBUaGUgY2FsbGVyIChXYWxsZXQgUGxhdGZvcm0pIGFzc2VtYmxlcyB0aGVtIGludG8gdjFcbiAqIHRyYW5zYWN0aW9ucyBpbiB0aGUgY29ycmVjdCBvcmRlci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldENvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlcigpO1xuICogYnVpbGRlci5ub25jZShyZWNlbnRCbG9ja2hhc2gpLnNlbmRlcihwYXllcik7XG4gKiBidWlsZGVyLmNvbmZpZ3VyZUFjY291bnQoeyB0b2tlbkFkZHJlc3MsIG1pbnRBZGRyZXNzLCBhdXRob3JpdHlBZGRyZXNzLCAuLi4gfSk7XG4gKiBidWlsZGVyLnZlcmlmeVB1YmtleVZhbGlkaXR5KHsgcHJvb2ZEYXRhIH0pO1xuICogY29uc3QgdHggPSBhd2FpdCBidWlsZGVyLmJ1aWxkKCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIENvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIHByaXZhdGUgX2N0SW5zdHJ1Y3Rpb25zOiBJbnN0cnVjdGlvblBhcmFtc1tdID0gW107XG4gIHByaXZhdGUgX3ZlcnNpb24/OiBTb2xUcmFuc2FjdGlvblZlcnNpb247XG4gIHByaXZhdGUgX3YxVHJhbnNhY3Rpb25Db25maWc/OiBTb2xWMVRyYW5zYWN0aW9uQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihfY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ29uZmlkZW50aWFsVHJhbnNmZXI7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBTb2xhbmEgdHJhbnNhY3Rpb24gdmVyc2lvbi5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gbGVnYWN5IHVudGlsIHNldC4gV2hlbiBzZXQgdG8gYDFgLCB0aGUgYnVpbGRlciBhc3NlbWJsZXMgYSB2MVxuICAgKiAoU0lNRC0wMjk2LzAzODUpIHRyYW5zYWN0aW9uOiB2ZXJzaW9uIGJ5dGUgYDB4ODFgLCBhbiBpbmxpbmUgYHRyYW5zYWN0aW9uQ29uZmlnYFxuICAgKiBpbnN0ZWFkIG9mIENvbXB1dGVCdWRnZXQgaW5zdHJ1Y3Rpb25zLCBubyBhZGRyZXNzIGxvb2t1cCB0YWJsZXMsIGFuZCBhXG4gICAqIG1lc3NhZ2UtZmlyc3Qgd2lyZSBmb3JtYXQgd2l0aCBzaWduYXR1cmVzIGFwcGVuZGVkLlxuICAgKlxuICAgKiBAcGFyYW0gdmVyc2lvbiAtIHRoZSB0cmFuc2FjdGlvbiB2ZXJzaW9uICgwID0gdjAsIDEgPSB2MSlcbiAgICogQHJldHVybnMge3RoaXN9IFRoaXMgYnVpbGRlclxuICAgKi9cbiAgdmVyc2lvbih2ZXJzaW9uOiBTb2xUcmFuc2FjdGlvblZlcnNpb24pOiB0aGlzIHtcbiAgICB0aGlzLl92ZXJzaW9uID0gdmVyc2lvbjtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHYxIHRyYW5zYWN0aW9uIGNvbmZpZyAoY29tcHV0ZSB1bml0IGxpbWl0LCBoZWFwIHNpemUsIGxvYWRlZCBhY2NvdW50c1xuICAgKiBkYXRhIHNpemUgbGltaXQsIGFuZCBwcmlvcml0eSBmZWUgYXMgdG90YWwgbGFtcG9ydHMpLiBSZXF1aXJlZCB3aGVuXG4gICAqIGB2ZXJzaW9uKDEpYCBpcyBzZXQuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSB0aGUgdjEgdHJhbnNhY3Rpb24gY29uZmlnXG4gICAqIEByZXR1cm5zIHt0aGlzfSBUaGlzIGJ1aWxkZXJcbiAgICovXG4gIHRyYW5zYWN0aW9uQ29uZmlnKGNvbmZpZzogU29sVjFUcmFuc2FjdGlvbkNvbmZpZyk6IHRoaXMge1xuICAgIHRoaXMuX3YxVHJhbnNhY3Rpb25Db25maWcgPSBjb25maWc7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbSBpZC5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gdGhlIGNhbm9uaWNhbCBvbi1jaGFpbiBwcm9ncmFtIGlkIChgWmtFMUdhbWExUHJvb2YxMTEuLi5gKVxuICAgKiB3aGljaCBpcyB0aGUgc2FtZSBhY3Jvc3MgbWFpbm5ldCwgZGV2bmV0LCBhbmQgdGVzdG5ldC4gT3ZlcnJpZGUgb25seVxuICAgKiB3aGVuIHRhcmdldGluZyBhIGN1c3RvbSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcHJvZ3JhbUlkIC0gYmFzZTU4IGVuY29kZWQgcHJvZ3JhbSBpZFxuICAgKi9cbiAgemtQcm9vZlByb2dyYW1JZChwcm9ncmFtSWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGFzc2VydChwcm9ncmFtSWQsICdNaXNzaW5nIHByb2dyYW1JZCBwYXJhbScpO1xuICAgIHRoaXMuX3prUHJvb2ZQcm9ncmFtSWQgPSBwcm9ncmFtSWQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgaW5pdEJ1aWxkZXIodHg6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgc3VwZXIuaW5pdEJ1aWxkZXIodHgpO1xuICAgIHRoaXMuX2N0SW5zdHJ1Y3Rpb25zID0gW107XG4gICAgZm9yIChjb25zdCBpbnN0cnVjdGlvbiBvZiB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhKSB7XG4gICAgICBzd2l0Y2ggKGluc3RydWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Db25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQ6XG4gICAgICAgIGNhc2UgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQXBwbHlQZW5kaW5nQmFsYW5jZTpcbiAgICAgICAgY2FzZSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Db25maWRlbnRpYWxEZXBvc2l0OlxuICAgICAgICBjYXNlIEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNvbmZpZGVudGlhbFdpdGhkcmF3OlxuICAgICAgICBjYXNlIEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNvbmZpZGVudGlhbFRyYW5zZmVyOlxuICAgICAgICBjYXNlIEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlZlcmlmeVB1YmtleVZhbGlkaXR5OlxuICAgICAgICBjYXNlIEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlZlcmlmeUVxdWFsaXR5UHJvb2Y6XG4gICAgICAgIGNhc2UgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVmVyaWZ5VmFsaWRpdHlQcm9vZjpcbiAgICAgICAgY2FzZSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5WZXJpZnlSYW5nZVByb29mOlxuICAgICAgICAgIHRoaXMuX2N0SW5zdHJ1Y3Rpb25zLnB1c2goaW5zdHJ1Y3Rpb24pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBDb25maWd1cmVBY2NvdW50IGluc3RydWN0aW9uIHRvIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogT25lLXRpbWUgQVRBIHNldHVwIOKAlCByZWdpc3RlcnMgRWxHYW1hbCBwdWJrZXkgKyBBRVMgemVybyBjaXBoZXJ0ZXh0LlxuICAgKiBNdXN0IGJlIGFjY29tcGFuaWVkIGJ5IGEgVmVyaWZ5UHVia2V5VmFsaWRpdHkgcHJvb2YgaW5zdHJ1Y3Rpb24uXG4gICAqL1xuICBjb25maWd1cmVBY2NvdW50KHBhcmFtczogQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50WydwYXJhbXMnXSk6IHRoaXMge1xuICAgIGFzc2VydChwYXJhbXMudG9rZW5BZGRyZXNzLCAnTWlzc2luZyB0b2tlbkFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLm1pbnRBZGRyZXNzLCAnTWlzc2luZyBtaW50QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuYXV0aG9yaXR5QWRkcmVzcywgJ01pc3NpbmcgYXV0aG9yaXR5QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuZGVjcnlwdGFibGVaZXJvQmFsYW5jZSwgJ01pc3NpbmcgZGVjcnlwdGFibGVaZXJvQmFsYW5jZSBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMubWF4aW11bVBlbmRpbmdCYWxhbmNlQ3JlZGl0Q291bnRlciwgJ01pc3NpbmcgbWF4aW11bVBlbmRpbmdCYWxhbmNlQ3JlZGl0Q291bnRlciBwYXJhbScpO1xuXG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Db25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQsXG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFuIEFwcGx5UGVuZGluZ0JhbGFuY2UgaW5zdHJ1Y3Rpb24gdG8gdGhlIHRyYW5zYWN0aW9uLlxuICAgKiBDcmVkaXRzIHBlbmRpbmcgYmFsYW5jZSBpbnRvIGF2YWlsYWJsZSBiYWxhbmNlLiBJZGVtcG90ZW50IChuby1vcCBpZiAwIHBlbmRpbmcpLlxuICAgKiBJbiB2MSB0cmFuc2FjdGlvbnMsIHRoaXMgc2hvdWxkIGFsd2F5cyBiZSBpbnN0cnVjdGlvbiAjMS5cbiAgICovXG4gIGFwcGx5UGVuZGluZ0JhbGFuY2UocGFyYW1zOiBBcHBseVBlbmRpbmdCYWxhbmNlWydwYXJhbXMnXSk6IHRoaXMge1xuICAgIGFzc2VydChwYXJhbXMudG9rZW5BZGRyZXNzLCAnTWlzc2luZyB0b2tlbkFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLmF1dGhvcml0eUFkZHJlc3MsICdNaXNzaW5nIGF1dGhvcml0eUFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLmV4cGVjdGVkUGVuZGluZ0JhbGFuY2VDcmVkaXRDb3VudGVyLCAnTWlzc2luZyBleHBlY3RlZFBlbmRpbmdCYWxhbmNlQ3JlZGl0Q291bnRlciBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMubmV3RGVjcnlwdGFibGVBdmFpbGFibGVCYWxhbmNlLCAnTWlzc2luZyBuZXdEZWNyeXB0YWJsZUF2YWlsYWJsZUJhbGFuY2UgcGFyYW0nKTtcblxuICAgIHRoaXMuX2N0SW5zdHJ1Y3Rpb25zLnB1c2goe1xuICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQXBwbHlQZW5kaW5nQmFsYW5jZSxcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBEZXBvc2l0IGluc3RydWN0aW9uIHRvIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogTW92ZXMgcHVibGljIFNQTCB0b2tlbnMgaW50byBjb25maWRlbnRpYWwgcGVuZGluZyBiYWxhbmNlLiBObyBwcm9vZiByZXF1aXJlZC5cbiAgICovXG4gIGNvbmZpZGVudGlhbERlcG9zaXQocGFyYW1zOiBDb25maWRlbnRpYWxEZXBvc2l0WydwYXJhbXMnXSk6IHRoaXMge1xuICAgIGFzc2VydChwYXJhbXMudG9rZW5BZGRyZXNzLCAnTWlzc2luZyB0b2tlbkFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLm1pbnRBZGRyZXNzLCAnTWlzc2luZyBtaW50QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuYXV0aG9yaXR5QWRkcmVzcywgJ01pc3NpbmcgYXV0aG9yaXR5QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuYW1vdW50LCAnTWlzc2luZyBhbW91bnQgcGFyYW0nKTtcblxuICAgIHRoaXMuX2N0SW5zdHJ1Y3Rpb25zLnB1c2goe1xuICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ29uZmlkZW50aWFsRGVwb3NpdCxcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBXaXRoZHJhdyBpbnN0cnVjdGlvbiB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIE1vdmVzIGNvbmZpZGVudGlhbCBhdmFpbGFibGUgYmFsYW5jZSB0byBwdWJsaWMgYmFsYW5jZS5cbiAgICogUmVxdWlyZXMgZXF1YWxpdHkgKyByYW5nZSBwcm9vZiB2ZXJpZmljYXRpb24gaW5zdHJ1Y3Rpb25zLlxuICAgKi9cbiAgY29uZmlkZW50aWFsV2l0aGRyYXcocGFyYW1zOiBDb25maWRlbnRpYWxXaXRoZHJhd1sncGFyYW1zJ10pOiB0aGlzIHtcbiAgICBhc3NlcnQocGFyYW1zLnRva2VuQWRkcmVzcywgJ01pc3NpbmcgdG9rZW5BZGRyZXNzIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5taW50QWRkcmVzcywgJ01pc3NpbmcgbWludEFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLmF1dGhvcml0eUFkZHJlc3MsICdNaXNzaW5nIGF1dGhvcml0eUFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLmFtb3VudCwgJ01pc3NpbmcgYW1vdW50IHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5uZXdEZWNyeXB0YWJsZUF2YWlsYWJsZUJhbGFuY2UsICdNaXNzaW5nIG5ld0RlY3J5cHRhYmxlQXZhaWxhYmxlQmFsYW5jZSBwYXJhbScpO1xuXG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Db25maWRlbnRpYWxXaXRoZHJhdyxcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBjb25maWRlbnRpYWwgVHJhbnNmZXIgaW5zdHJ1Y3Rpb24gdG8gdGhlIHRyYW5zYWN0aW9uLlxuICAgKiBSZXF1aXJlcyBlcXVhbGl0eSArIGNpcGhlcnRleHQgdmFsaWRpdHkgKyByYW5nZSBwcm9vZiB2ZXJpZmljYXRpb24gaW5zdHJ1Y3Rpb25zLlxuICAgKi9cbiAgY29uZmlkZW50aWFsVHJhbnNmZXIocGFyYW1zOiBDb25maWRlbnRpYWxUcmFuc2ZlclsncGFyYW1zJ10pOiB0aGlzIHtcbiAgICBhc3NlcnQocGFyYW1zLnNvdXJjZVRva2VuQWRkcmVzcywgJ01pc3Npbmcgc291cmNlVG9rZW5BZGRyZXNzIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5taW50QWRkcmVzcywgJ01pc3NpbmcgbWludEFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLmRlc3RpbmF0aW9uVG9rZW5BZGRyZXNzLCAnTWlzc2luZyBkZXN0aW5hdGlvblRva2VuQWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuYXV0aG9yaXR5QWRkcmVzcywgJ01pc3NpbmcgYXV0aG9yaXR5QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMubmV3U291cmNlRGVjcnlwdGFibGVBdmFpbGFibGVCYWxhbmNlLCAnTWlzc2luZyBuZXdTb3VyY2VEZWNyeXB0YWJsZUF2YWlsYWJsZUJhbGFuY2UgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLnRyYW5zZmVyQW1vdW50QXVkaXRvckNpcGhlcnRleHRMbywgJ01pc3NpbmcgdHJhbnNmZXJBbW91bnRBdWRpdG9yQ2lwaGVydGV4dExvIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy50cmFuc2ZlckFtb3VudEF1ZGl0b3JDaXBoZXJ0ZXh0SGksICdNaXNzaW5nIHRyYW5zZmVyQW1vdW50QXVkaXRvckNpcGhlcnRleHRIaSBwYXJhbScpO1xuXG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Db25maWRlbnRpYWxUcmFuc2ZlcixcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBWZXJpZnlQdWJrZXlWYWxpZGl0eSBwcm9vZiBpbnN0cnVjdGlvbiAodXNlZCB3aXRoIENvbmZpZ3VyZUFjY291bnQpLlxuICAgKi9cbiAgdmVyaWZ5UHVia2V5VmFsaWRpdHkocGFyYW1zOiBWZXJpZnlQdWJrZXlWYWxpZGl0eVsncGFyYW1zJ10pOiB0aGlzIHtcbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlZlcmlmeVB1YmtleVZhbGlkaXR5LFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIFZlcmlmeUNpcGhlcnRleHRDb21taXRtZW50RXF1YWxpdHkgcHJvb2YgaW5zdHJ1Y3Rpb24gKHVzZWQgd2l0aCBUcmFuc2ZlciBhbmQgV2l0aGRyYXcpLlxuICAgKi9cbiAgdmVyaWZ5RXF1YWxpdHlQcm9vZihwYXJhbXM6IFZlcmlmeUVxdWFsaXR5UHJvb2ZbJ3BhcmFtcyddKTogdGhpcyB7XG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5WZXJpZnlFcXVhbGl0eVByb29mLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIFZlcmlmeUJhdGNoZWRHcm91cGVkQ2lwaGVydGV4dDNIYW5kbGVzVmFsaWRpdHkgcHJvb2YgaW5zdHJ1Y3Rpb24gKHVzZWQgd2l0aCBUcmFuc2ZlcikuXG4gICAqL1xuICB2ZXJpZnlWYWxpZGl0eVByb29mKHBhcmFtczogVmVyaWZ5VmFsaWRpdHlQcm9vZlsncGFyYW1zJ10pOiB0aGlzIHtcbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlZlcmlmeVZhbGlkaXR5UHJvb2YsXG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgVmVyaWZ5QmF0Y2hlZFJhbmdlUHJvb2ZVMTI4IHByb29mIGluc3RydWN0aW9uICh1c2VkIHdpdGggVHJhbnNmZXIpLlxuICAgKi9cbiAgdmVyaWZ5UmFuZ2VQcm9vZihwYXJhbXM6IFZlcmlmeVJhbmdlUHJvb2ZbJ3BhcmFtcyddKTogdGhpcyB7XG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5WZXJpZnlSYW5nZVByb29mLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICBhc3NlcnQodGhpcy5fY3RJbnN0cnVjdGlvbnMubGVuZ3RoID4gMCwgJ0F0IGxlYXN0IG9uZSBjb25maWRlbnRpYWwgdHJhbnNmZXIgaW5zdHJ1Y3Rpb24gbXVzdCBiZSBzcGVjaWZpZWQnKTtcblxuICAgIGlmICh0aGlzLl92ZXJzaW9uID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5idWlsZFYxKCk7XG4gICAgfVxuXG4gICAgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSA9IFsuLi50aGlzLl9jdEluc3RydWN0aW9uc107XG5cbiAgICByZXR1cm4gYXdhaXQgc3VwZXIuYnVpbGRJbXBsZW1lbnRhdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgdjEgKFNJTUQtMDI5Ni8wMzg1KSBjb25maWRlbnRpYWwgdHJhbnNmZXIgdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIEFzc2VtYmxlcyB0aGUgQ1QgaW5zdHJ1Y3Rpb25zIHZpYSB0aGUgc2hhcmVkIGluc3RydWN0aW9uIGZhY3RvcnksIGNvbXBpbGVzXG4gICAqIGFuZCBzZXJpYWxpemVzIGEgdjEgbWVzc2FnZSB3aXRoIHRoZSBpbmxpbmUgdHJhbnNhY3Rpb24gY29uZmlnLCBzaWducyB0aGVcbiAgICogbWVzc2FnZSBieXRlcyB3aXRoIHRoZSBidWlsZGVyJ3Mgc2lnbmVycywgYW5kIHN0b3JlcyB0aGUgcmVzdWx0aW5nIHdpcmVcbiAgICogYnl0ZXMgZm9yIGJyb2FkY2FzdC4gQWxzbyBwb3B1bGF0ZXMgYSBtZXRhZGF0YS1vbmx5IFNvbFRyYW5zYWN0aW9uIHNvIHRoZVxuICAgKiB0cmFuc2FjdGlvbiBKU09OIGFuZCBpbnB1dC9vdXRwdXQgZXh0cmFjdGlvbiByZW1haW4gdXNhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7VHJhbnNhY3Rpb259IFRoZSBidWlsdCB0cmFuc2FjdGlvbiBob2xkaW5nIHRoZSB2MSB3aXJlIGJ5dGVzXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkVjEoKTogVHJhbnNhY3Rpb24ge1xuICAgIGFzc2VydCh0aGlzLl9zZW5kZXIsIG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoJ3NlbmRlciBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgYXNzZXJ0KHRoaXMuX3JlY2VudEJsb2NraGFzaCwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcigncmVjZW50IGJsb2NraGFzaCBpcyByZXF1aXJlZCBiZWZvcmUgYnVpbGRpbmcnKSk7XG4gICAgYXNzZXJ0KHRoaXMuX3YxVHJhbnNhY3Rpb25Db25maWcsICd0cmFuc2FjdGlvbkNvbmZpZyBpcyByZXF1aXJlZCB0byBidWlsZCBhIHYxIGNvbmZpZGVudGlhbCB0cmFuc2ZlciB0cmFuc2FjdGlvbicpO1xuXG4gICAgLy8gQXBwbHlQZW5kaW5nQmFsYW5jZSBtdXN0IHJlbWFpbiBpbnN0cnVjdGlvbiAjMSBpbiB2MSBzcGVuZCB0eHMgKGl0IGlzIGlkZW1wb3RlbnQpLFxuICAgIC8vIHJlZ2FyZGxlc3Mgb2YgdGhlIG9yZGVyIHRoZSBjYWxsZXIgYWRkZWQgaW5zdHJ1Y3Rpb25zLlxuICAgIHRoaXMuX2N0SW5zdHJ1Y3Rpb25zID0gW1xuICAgICAgLi4udGhpcy5fY3RJbnN0cnVjdGlvbnMuZmlsdGVyKChpKSA9PiBpLnR5cGUgPT09IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkFwcGx5UGVuZGluZ0JhbGFuY2UpLFxuICAgICAgLi4udGhpcy5fY3RJbnN0cnVjdGlvbnMuZmlsdGVyKChpKSA9PiBpLnR5cGUgIT09IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkFwcGx5UGVuZGluZ0JhbGFuY2UpLFxuICAgIF07XG5cbiAgICBjb25zdCBpbnN0cnVjdGlvbnM6IFRyYW5zYWN0aW9uSW5zdHJ1Y3Rpb25bXSA9IFtdO1xuXG4gICAgLy8gRHVyYWJsZSBub25jZTogdGhlIEFkdmFuY2VOb25jZUFjY291bnQgaW5zdHJ1Y3Rpb24gTVVTVCBiZSBwYXJ0IG9mIHRoZVxuICAgIC8vIG1lc3NhZ2UgKGEgYmFyZSBub25jZSBoYXNoIHdpdGhvdXQgdGhlIGluc3RydWN0aW9uIGlzIGludmFsaWQpLiBJdCBpc1xuICAgIC8vIHBsYWNlZCBmaXJzdCwgbWF0Y2hpbmcgdGhlIHYwIHdlYjMuanMgY29udmVudGlvbi5cbiAgICBpZiAodGhpcy5fbm9uY2VJbmZvKSB7XG4gICAgICBpbnN0cnVjdGlvbnMucHVzaChcbiAgICAgICAgYnVpbGRBZHZhbmNlTm9uY2VBY2NvdW50SW5zdHJ1Y3Rpb24oXG4gICAgICAgICAgdGhpcy5fbm9uY2VJbmZvLnBhcmFtcy53YWxsZXROb25jZUFkZHJlc3MsXG4gICAgICAgICAgdGhpcy5fbm9uY2VJbmZvLnBhcmFtcy5hdXRoV2FsbGV0QWRkcmVzc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaW5zdHJ1Y3Rpb24gb2YgdGhpcy5fY3RJbnN0cnVjdGlvbnMpIHtcbiAgICAgIGluc3RydWN0aW9ucy5wdXNoKC4uLnNvbEluc3RydWN0aW9uRmFjdG9yeShpbnN0cnVjdGlvbiwgdGhpcy5femtQcm9vZlByb2dyYW1JZCkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9tZW1vKSB7XG4gICAgICBjb25zdCBtZW1vRGF0YTogTWVtbyA9IHtcbiAgICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuTWVtbyxcbiAgICAgICAgcGFyYW1zOiB7IG1lbW86IHRoaXMuX21lbW8gfSxcbiAgICAgIH07XG4gICAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKG1lbW9EYXRhKTtcbiAgICAgIGluc3RydWN0aW9ucy5wdXNoKC4uLnNvbEluc3RydWN0aW9uRmFjdG9yeShtZW1vRGF0YSkpO1xuICAgIH1cblxuICAgIGNvbnN0IGZlZVBheWVyID0gdGhpcy5fZmVlUGF5ZXIgPyBuZXcgUHVibGljS2V5KHRoaXMuX2ZlZVBheWVyKSA6IG5ldyBQdWJsaWNLZXkodGhpcy5fc2VuZGVyKTtcbiAgICBjb25zdCBtZXNzYWdlQnl0ZXMgPSBjb21waWxlVHJhbnNhY3Rpb25NZXNzYWdlKHtcbiAgICAgIHZlcnNpb246IDEsXG4gICAgICBpbnN0cnVjdGlvbnMsXG4gICAgICBmZWVQYXllcixcbiAgICAgIHJlY2VudEJsb2NraGFzaDogdGhpcy5fcmVjZW50QmxvY2toYXNoLFxuICAgICAgdHJhbnNhY3Rpb25Db25maWc6IHRoaXMuX3YxVHJhbnNhY3Rpb25Db25maWcsXG4gICAgfSk7XG5cbiAgICAvLyBTaWduZXIgb3JkZXIgY29tZXMgZnJvbSB0aGUgY29tcGlsZWQgbWVzc2FnZTogdGhlIGZpcnN0XG4gICAgLy8gbnVtU2lnbmVyQWNjb3VudHMgc3RhdGljIGFjY291bnRzIGFyZSB0aGUgcmVxdWlyZWQgc2lnbmVycyAoZmVlIHBheWVyXG4gICAgLy8gZmlyc3QsIHRoZW4gdGhlIHJlbWFpbmluZyBzaWduZXJzIGluIHRoZSBjb21waWxlZCBhY2NvdW50IG9yZGVyKS5cbiAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVjFNZXNzYWdlKG1lc3NhZ2VCeXRlcyk7XG4gICAgY29uc3Qgc2lnbmVyQWRkcmVzc2VzID0gZGVjb2RlZC5zdGF0aWNBY2NvdW50cy5zbGljZSgwLCBkZWNvZGVkLmhlYWRlci5udW1TaWduZXJBY2NvdW50cyk7XG5cbiAgICBjb25zdCBzaWduYXR1cmVzOiBVaW50OEFycmF5W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2Ygc2lnbmVyQWRkcmVzc2VzKSB7XG4gICAgICBjb25zdCBrZXlQYWlyID0gdGhpcy5fc2lnbmVycy5maW5kKChzaWduZXIpID0+IHNpZ25lci5nZXRLZXlzKCkucHViID09PSBhZGRyZXNzKTtcbiAgICAgIGlmIChrZXlQYWlyKSB7XG4gICAgICAgIGNvbnN0IHNlY3JldEtleSA9IGtleVBhaXIuZ2V0S2V5cyh0cnVlKS5wcnY7XG4gICAgICAgIGFzc2VydChzZWNyZXRLZXkgaW5zdGFuY2VvZiBVaW50OEFycmF5LCAnTWlzc2luZyBwcml2YXRlIGtleScpO1xuICAgICAgICBzaWduYXR1cmVzLnB1c2gobmFjbC5zaWduLmRldGFjaGVkKG1lc3NhZ2VCeXRlcywgc2VjcmV0S2V5KSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgZXh0ZXJuYWwgPSB0aGlzLmdldEFkZGl0aW9uYWxTaWduYXR1cmVzKCkuZmluZCgoc2lnKSA9PiBzaWcucHVibGljS2V5LnB1YiA9PT0gYWRkcmVzcyk7XG4gICAgICBpZiAoZXh0ZXJuYWwpIHtcbiAgICAgICAgc2lnbmF0dXJlcy5wdXNoKG5ldyBVaW50OEFycmF5KGV4dGVybmFsLnNpZ25hdHVyZSkpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIC8vIE1pc3Npbmcgc2lnbmF0dXJlOiB6ZXJvLWZpbGwgdGhlIHNsb3Qgc28gdGhlIHdpcmUgc2hhcGUgc3RheXMgdmFsaWRcbiAgICAgIC8vIGZvciBwYXJ0aWFsLXNpZ24gZmxvd3M7IHRoZSB0cmFuc2FjdGlvbiBpcyBub3QgYnJvYWRjYXN0YWJsZSB1bnRpbFxuICAgICAgLy8gZXZlcnkgcmVxdWlyZWQgc2lnbmVyIGhhcyBhIHNpZ25hdHVyZS5cbiAgICAgIHNpZ25hdHVyZXMucHVzaChuZXcgVWludDhBcnJheSg2NCkpO1xuICAgIH1cblxuICAgIGNvbnN0IHYxV2lyZSA9IHNlcmlhbGl6ZVdpcmVUcmFuc2FjdGlvbihtZXNzYWdlQnl0ZXMsIHNpZ25hdHVyZXMpO1xuXG4gICAgdGhpcy5fdHJhbnNhY3Rpb24udjFUcmFuc2FjdGlvbkJ5dGVzID0gdjFXaXJlO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnYxTWVzc2FnZUJ5dGVzID0gbWVzc2FnZUJ5dGVzO1xuXG4gICAgLy8gUG9wdWxhdGUgYSBtZXRhZGF0YS1vbmx5IFNvbFRyYW5zYWN0aW9uIHNvIHRvSnNvbiAvIGxvYWRJbnB1dHNBbmRPdXRwdXRzIHdvcmsuXG4gICAgLy8gVGhlIGR1cmFibGUgbm9uY2UgaXMgY2FycmllZCB2aWEgbm9uY2VJbmZvLCBtYXRjaGluZyB0aGUgdjAgbW9kZWwuXG4gICAgY29uc3QgbWV0YVR4ID0gbmV3IFNvbFRyYW5zYWN0aW9uKCk7XG4gICAgbWV0YVR4LmZlZVBheWVyID0gZmVlUGF5ZXI7XG4gICAgbWV0YVR4LnJlY2VudEJsb2NraGFzaCA9IHRoaXMuX3JlY2VudEJsb2NraGFzaDtcbiAgICBpZiAodGhpcy5fbm9uY2VJbmZvKSB7XG4gICAgICBtZXRhVHgubm9uY2VJbmZvID0ge1xuICAgICAgICBub25jZTogdGhpcy5fcmVjZW50QmxvY2toYXNoLFxuICAgICAgICBub25jZUluc3RydWN0aW9uOiBidWlsZEFkdmFuY2VOb25jZUFjY291bnRJbnN0cnVjdGlvbihcbiAgICAgICAgICB0aGlzLl9ub25jZUluZm8ucGFyYW1zLndhbGxldE5vbmNlQWRkcmVzcyxcbiAgICAgICAgICB0aGlzLl9ub25jZUluZm8ucGFyYW1zLmF1dGhXYWxsZXRBZGRyZXNzXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH1cbiAgICBtZXRhVHguYWRkKC4uLmluc3RydWN0aW9ucyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uc29sVHJhbnNhY3Rpb24gPSBtZXRhVHg7XG5cbiAgICB0aGlzLl90cmFuc2FjdGlvbi5zZXRUcmFuc2FjdGlvblR5cGUodGhpcy50cmFuc2FjdGlvblR5cGUpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNldEluc3RydWN0aW9uc0RhdGEodGhpcy5fY3RJbnN0cnVjdGlvbnMpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG5cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XG4gIH1cbn1cbiJdfQ==
|
|
375
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlkZW50aWFsVHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsbURBQTZIO0FBQzdILDZDQUFtRztBQUNuRywwREFBNkI7QUFDN0IsK0NBQTRDO0FBQzVDLDZEQUEwRDtBQUMxRCwyQ0FBc0Q7QUFldEQseUZBQXNGO0FBQ3RGLCtEQUFvRTtBQUNwRSx1RUFBNEU7QUFDNUUsbUVBQWdFO0FBQ2hFLGlFQUE2RTtBQUM3RSxvREFBNEI7QUFFNUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdCRztBQUNILE1BQWEsMkJBQTRCLFNBQVEsdUNBQWtCO0lBS2pFLFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBTGIsb0JBQWUsR0FBd0IsRUFBRSxDQUFDO1FBTWhELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSx5QkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLG9CQUFvQixDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsT0FBTyxDQUFDLE9BQThCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxpQkFBaUIsQ0FBQyxNQUE4QjtRQUM5QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsZ0JBQWdCLENBQUMsU0FBaUI7UUFDaEMsSUFBQSxnQkFBTSxFQUFDLFNBQVMsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLElBQUks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QUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUV6QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBM1hELGtFQTJYQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IEJ1aWxkVHJhbnNhY3Rpb25FcnJvciwgU29sVHJhbnNhY3Rpb25WZXJzaW9uLCBTb2xWMVRyYW5zYWN0aW9uQ29uZmlnLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBQdWJsaWNLZXksIFRyYW5zYWN0aW9uIGFzIFNvbFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbkluc3RydWN0aW9uIH0gZnJvbSAnQHNvbGFuYS93ZWIzLmpzJztcbmltcG9ydCBuYWNsIGZyb20gJ3R3ZWV0bmFjbCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuaW1wb3J0IHsgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBcHBseVBlbmRpbmdCYWxhbmNlLFxuICBBdGFJbml0LFxuICBDb25maWRlbnRpYWxEZXBvc2l0LFxuICBDb25maWRlbnRpYWxUcmFuc2ZlcixcbiAgQ29uZmlkZW50aWFsV2l0aGRyYXcsXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCxcbiAgSW5zdHJ1Y3Rpb25QYXJhbXMsXG4gIE1lbW8sXG4gIFZlcmlmeUVxdWFsaXR5UHJvb2YsXG4gIFZlcmlmeVB1YmtleVZhbGlkaXR5LFxuICBWZXJpZnlSYW5nZVByb29mLFxuICBWZXJpZnlWYWxpZGl0eVByb29mLFxufSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IGNvbXBpbGVUcmFuc2FjdGlvbk1lc3NhZ2UgfSBmcm9tICcuL3NlcmlhbGl6YXRpb24vY29tcGlsZVRyYW5zYWN0aW9uTWVzc2FnZSc7XG5pbXBvcnQgeyBkZWNvZGVWMU1lc3NhZ2UgfSBmcm9tICcuL3NlcmlhbGl6YXRpb24vY29kZWNzL3YxL21lc3NhZ2UnO1xuaW1wb3J0IHsgc2VyaWFsaXplV2lyZVRyYW5zYWN0aW9uIH0gZnJvbSAnLi9zZXJpYWxpemF0aW9uL3dpcmUtdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgc29sSW5zdHJ1Y3Rpb25GYWN0b3J5IH0gZnJvbSAnLi9zb2xJbnN0cnVjdGlvbkZhY3RvcnknO1xuaW1wb3J0IHsgYnVpbGRBZHZhbmNlTm9uY2VBY2NvdW50SW5zdHJ1Y3Rpb24gfSBmcm9tICcuL3YxVHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuLyoqXG4gKiBCdWlsZGVyIGZvciBUb2tlbi0yMDIyIGNvbmZpZGVudGlhbCB0cmFuc2ZlciB0cmFuc2FjdGlvbnMuXG4gKlxuICogUHJvdmlkZXMgdHlwZS1zYWZlIGZsdWVudCBzZXR0ZXJzIGZvciB0aGUgZm9sbG93aW5nIENUIGluc3RydWN0aW9uczpcbiAqIC0gQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCAoQ1QgZW5hYmxlbWVudDogQVRBIHVuZGVyIFRva2VuLTIwMjIgYmVmb3JlIENvbmZpZ3VyZUFjY291bnQpXG4gKiAtIENvbmZpZ3VyZUFjY291bnQgKHN0YW5kYWxvbmUsIHdpdGggVmVyaWZ5UHVia2V5VmFsaWRpdHkgcHJvb2YpXG4gKiAtIEFwcGx5UGVuZGluZ0JhbGFuY2UgKGFsd2F5cyBpbnN0cnVjdGlvbiAjMSBpbiB2MSBzcGVuZCB0eHMsIGlkZW1wb3RlbnQpXG4gKiAtIERlcG9zaXQgKHB1YmxpYyDihpIgY29uZmlkZW50aWFsIGNvbnZlcnNpb24pXG4gKiAtIFdpdGhkcmF3IChjb25maWRlbnRpYWwg4oaSIHB1YmxpYyBjb252ZXJzaW9uLCB3aXRoIGVxdWFsaXR5ICsgcmFuZ2UgcHJvb2ZzKVxuICogLSBUcmFuc2ZlciAoY29uZmlkZW50aWFsIOKGkiBjb25maWRlbnRpYWwsIHdpdGggZXF1YWxpdHkgKyB2YWxpZGl0eSArIHJhbmdlIHByb29mcylcbiAqIC0gVmVyaWZ5UHVia2V5VmFsaWRpdHkgLyBWZXJpZnlFcXVhbGl0eSAvIFZlcmlmeVZhbGlkaXR5IC8gVmVyaWZ5UmFuZ2UgcHJvb2YgaW5zdHJ1Y3Rpb25zXG4gKlxuICogSW5zdHJ1Y3Rpb24gYnVpbGRlcnMgYXJlIHYwL3YxLWFnbm9zdGljOiB0aGV5IHByb2R1Y2UgaW5zdHJ1Y3Rpb24gZGF0YSBhbmRcbiAqIGFjY291bnQgbWV0YXMgb25seS4gVGhlIGNhbGxlciAoV2FsbGV0IFBsYXRmb3JtKSBhc3NlbWJsZXMgdGhlbSBpbnRvIHYxXG4gKiB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvcnJlY3Qgb3JkZXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRDb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXIoKTtcbiAqIGJ1aWxkZXIubm9uY2UocmVjZW50QmxvY2toYXNoKS5zZW5kZXIocGF5ZXIpO1xuICogYnVpbGRlci5jb25maWd1cmVBY2NvdW50KHsgdG9rZW5BZGRyZXNzLCBtaW50QWRkcmVzcywgYXV0aG9yaXR5QWRkcmVzcywgLi4uIH0pO1xuICogYnVpbGRlci52ZXJpZnlQdWJrZXlWYWxpZGl0eSh7IHByb29mRGF0YSB9KTtcbiAqIGNvbnN0IHR4ID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcml2YXRlIF9jdEluc3RydWN0aW9uczogSW5zdHJ1Y3Rpb25QYXJhbXNbXSA9IFtdO1xuICBwcml2YXRlIF92ZXJzaW9uPzogU29sVHJhbnNhY3Rpb25WZXJzaW9uO1xuICBwcml2YXRlIF92MVRyYW5zYWN0aW9uQ29uZmlnPzogU29sVjFUcmFuc2FjdGlvbkNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkNvbmZpZGVudGlhbFRyYW5zZmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgU29sYW5hIHRyYW5zYWN0aW9uIHZlcnNpb24uXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIGxlZ2FjeSB1bnRpbCBzZXQuIFdoZW4gc2V0IHRvIGAxYCwgdGhlIGJ1aWxkZXIgYXNzZW1ibGVzIGEgdjFcbiAgICogKFNJTUQtMDI5Ni8wMzg1KSB0cmFuc2FjdGlvbjogdmVyc2lvbiBieXRlIGAweDgxYCwgYW4gaW5saW5lIGB0cmFuc2FjdGlvbkNvbmZpZ2BcbiAgICogaW5zdGVhZCBvZiBDb21wdXRlQnVkZ2V0IGluc3RydWN0aW9ucywgbm8gYWRkcmVzcyBsb29rdXAgdGFibGVzLCBhbmQgYVxuICAgKiBtZXNzYWdlLWZpcnN0IHdpcmUgZm9ybWF0IHdpdGggc2lnbmF0dXJlcyBhcHBlbmRlZC5cbiAgICpcbiAgICogQHBhcmFtIHZlcnNpb24gLSB0aGUgdHJhbnNhY3Rpb24gdmVyc2lvbiAoMCA9IHYwLCAxID0gdjEpXG4gICAqIEByZXR1cm5zIHt0aGlzfSBUaGlzIGJ1aWxkZXJcbiAgICovXG4gIHZlcnNpb24odmVyc2lvbjogU29sVHJhbnNhY3Rpb25WZXJzaW9uKTogdGhpcyB7XG4gICAgdGhpcy5fdmVyc2lvbiA9IHZlcnNpb247XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB2MSB0cmFuc2FjdGlvbiBjb25maWcgKGNvbXB1dGUgdW5pdCBsaW1pdCwgaGVhcCBzaXplLCBsb2FkZWQgYWNjb3VudHNcbiAgICogZGF0YSBzaXplIGxpbWl0LCBhbmQgcHJpb3JpdHkgZmVlIGFzIHRvdGFsIGxhbXBvcnRzKS4gUmVxdWlyZWQgd2hlblxuICAgKiBgdmVyc2lvbigxKWAgaXMgc2V0LlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gdGhlIHYxIHRyYW5zYWN0aW9uIGNvbmZpZ1xuICAgKiBAcmV0dXJucyB7dGhpc30gVGhpcyBidWlsZGVyXG4gICAqL1xuICB0cmFuc2FjdGlvbkNvbmZpZyhjb25maWc6IFNvbFYxVHJhbnNhY3Rpb25Db25maWcpOiB0aGlzIHtcbiAgICB0aGlzLl92MVRyYW5zYWN0aW9uQ29uZmlnID0gY29uZmlnO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSB6ay1lbGdhbWFsLXByb29mIHByb2dyYW0gaWQuXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIHRoZSBjYW5vbmljYWwgb24tY2hhaW4gcHJvZ3JhbSBpZCAoYFprRTFHYW1hMVByb29mMTExLi4uYClcbiAgICogd2hpY2ggaXMgdGhlIHNhbWUgYWNyb3NzIG1haW5uZXQsIGRldm5ldCwgYW5kIHRlc3RuZXQuIE92ZXJyaWRlIG9ubHlcbiAgICogd2hlbiB0YXJnZXRpbmcgYSBjdXN0b20gZGVwbG95bWVudC5cbiAgICpcbiAgICogQHBhcmFtIHByb2dyYW1JZCAtIGJhc2U1OCBlbmNvZGVkIHByb2dyYW0gaWRcbiAgICovXG4gIHprUHJvb2ZQcm9ncmFtSWQocHJvZ3JhbUlkOiBzdHJpbmcpOiB0aGlzIHtcbiAgICBhc3NlcnQocHJvZ3JhbUlkLCAnTWlzc2luZyBwcm9ncmFtSWQgcGFyYW0nKTtcbiAgICB0aGlzLl96a1Byb29mUHJvZ3JhbUlkID0gcHJvZ3JhbUlkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucyA9IFtdO1xuICAgIGZvciAoY29uc3QgaW5zdHJ1Y3Rpb24gb2YgdGhpcy5faW5zdHJ1Y3Rpb25zRGF0YSkge1xuICAgICAgc3dpdGNoIChpbnN0cnVjdGlvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudDpcbiAgICAgICAgY2FzZSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5SZWFsbG9jYXRlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50OlxuICAgICAgICBjYXNlIEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudDpcbiAgICAgICAgY2FzZSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5BcHBseVBlbmRpbmdCYWxhbmNlOlxuICAgICAgICBjYXNlIEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNvbmZpZGVudGlhbERlcG9zaXQ6XG4gICAgICAgIGNhc2UgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ29uZmlkZW50aWFsV2l0aGRyYXc6XG4gICAgICAgIGNhc2UgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQ29uZmlkZW50aWFsVHJhbnNmZXI6XG4gICAgICAgIGNhc2UgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVmVyaWZ5UHVia2V5VmFsaWRpdHk6XG4gICAgICAgIGNhc2UgSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVmVyaWZ5RXF1YWxpdHlQcm9vZjpcbiAgICAgICAgY2FzZSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5WZXJpZnlWYWxpZGl0eVByb29mOlxuICAgICAgICBjYXNlIEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlZlcmlmeVJhbmdlUHJvb2Y6XG4gICAgICAgICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaChpbnN0cnVjdGlvbik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIENyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgKGlkZW1wb3RlbnQpIGluc3RydWN0aW9uIHRvIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogQ1QgZW5hYmxlbWVudCBvbmx5IOKAlCB0aGUgQVRBIG11c3QgZXhpc3QgYmVmb3JlIENvbmZpZ3VyZUFjY291bnQ7IGFkZCB0aGlzXG4gICAqIGZpcnN0IHdoZW4gdGhlIEFUQSBpcyBub3QgeWV0IG9uLWNoYWluLiBGb3IgVG9rZW4tMjAyMiBtaW50cyBwYXNzXG4gICAqIGBwcm9ncmFtSWRgIHNvIHRoZSBBVEEgaXMgY3JlYXRlZCB1bmRlciB0aGUgVG9rZW4tMjAyMiBwcm9ncmFtLlxuICAgKi9cbiAgY3JlYXRlQXRhKHBhcmFtczogQXRhSW5pdFsncGFyYW1zJ10pOiB0aGlzIHtcbiAgICBhc3NlcnQocGFyYW1zLm1pbnRBZGRyZXNzLCAnTWlzc2luZyBtaW50QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuYXRhQWRkcmVzcywgJ01pc3NpbmcgYXRhQWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMub3duZXJBZGRyZXNzLCAnTWlzc2luZyBvd25lckFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLnBheWVyQWRkcmVzcywgJ01pc3NpbmcgcGF5ZXJBZGRyZXNzIHBhcmFtJyk7XG5cbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gICAgLy8gQ29uZmlndXJlQWNjb3VudCByZXF1aXJlcyB0aGUgQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50IGV4dGVuc2lvbiwgd2hpY2ggYW4gQVRBIGRvZXNcbiAgICAvLyBub3QgY2Fycnkg4oCUIFJlYWxsb2NhdGUgYWRkcyBpdCBhbmQgbXVzdCBydW4gYmVmb3JlIENvbmZpZ3VyZUFjY291bnQuXG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5SZWFsbG9jYXRlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50LFxuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIHRva2VuQWRkcmVzczogcGFyYW1zLmF0YUFkZHJlc3MsXG4gICAgICAgIHBheWVyQWRkcmVzczogcGFyYW1zLnBheWVyQWRkcmVzcyxcbiAgICAgICAgb3duZXJBZGRyZXNzOiBwYXJhbXMub3duZXJBZGRyZXNzLFxuICAgICAgICBwcm9ncmFtSWQ6IHBhcmFtcy5wcm9ncmFtSWQsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIENvbmZpZ3VyZUFjY291bnQgaW5zdHJ1Y3Rpb24gdG8gdGhlIHRyYW5zYWN0aW9uLlxuICAgKiBPbmUtdGltZSBBVEEgc2V0dXAg4oCUIHJlZ2lzdGVycyBFbEdhbWFsIHB1YmtleSArIEFFUyB6ZXJvIGNpcGhlcnRleHQuXG4gICAqIE11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBWZXJpZnlQdWJrZXlWYWxpZGl0eSBwcm9vZiBpbnN0cnVjdGlvbi5cbiAgICovXG4gIGNvbmZpZ3VyZUFjY291bnQocGFyYW1zOiBDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnRbJ3BhcmFtcyddKTogdGhpcyB7XG4gICAgYXNzZXJ0KHBhcmFtcy50b2tlbkFkZHJlc3MsICdNaXNzaW5nIHRva2VuQWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMubWludEFkZHJlc3MsICdNaXNzaW5nIG1pbnRBZGRyZXNzIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5hdXRob3JpdHlBZGRyZXNzLCAnTWlzc2luZyBhdXRob3JpdHlBZGRyZXNzIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5lbGdhbWFsUHVia2V5LCAnTWlzc2luZyBlbGdhbWFsUHVia2V5IHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5kZWNyeXB0YWJsZVplcm9CYWxhbmNlLCAnTWlzc2luZyBkZWNyeXB0YWJsZVplcm9CYWxhbmNlIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5tYXhpbXVtUGVuZGluZ0JhbGFuY2VDcmVkaXRDb3VudGVyLCAnTWlzc2luZyBtYXhpbXVtUGVuZGluZ0JhbGFuY2VDcmVkaXRDb3VudGVyIHBhcmFtJyk7XG5cbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCxcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gQXBwbHlQZW5kaW5nQmFsYW5jZSBpbnN0cnVjdGlvbiB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIENyZWRpdHMgcGVuZGluZyBiYWxhbmNlIGludG8gYXZhaWxhYmxlIGJhbGFuY2UuIElkZW1wb3RlbnQgKG5vLW9wIGlmIDAgcGVuZGluZykuXG4gICAqIEluIHYxIHRyYW5zYWN0aW9ucywgdGhpcyBzaG91bGQgYWx3YXlzIGJlIGluc3RydWN0aW9uICMxLlxuICAgKi9cbiAgYXBwbHlQZW5kaW5nQmFsYW5jZShwYXJhbXM6IEFwcGx5UGVuZGluZ0JhbGFuY2VbJ3BhcmFtcyddKTogdGhpcyB7XG4gICAgYXNzZXJ0KHBhcmFtcy50b2tlbkFkZHJlc3MsICdNaXNzaW5nIHRva2VuQWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuYXV0aG9yaXR5QWRkcmVzcywgJ01pc3NpbmcgYXV0aG9yaXR5QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuZXhwZWN0ZWRQZW5kaW5nQmFsYW5jZUNyZWRpdENvdW50ZXIsICdNaXNzaW5nIGV4cGVjdGVkUGVuZGluZ0JhbGFuY2VDcmVkaXRDb3VudGVyIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5uZXdEZWNyeXB0YWJsZUF2YWlsYWJsZUJhbGFuY2UsICdNaXNzaW5nIG5ld0RlY3J5cHRhYmxlQXZhaWxhYmxlQmFsYW5jZSBwYXJhbScpO1xuXG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5BcHBseVBlbmRpbmdCYWxhbmNlLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIERlcG9zaXQgaW5zdHJ1Y3Rpb24gdG8gdGhlIHRyYW5zYWN0aW9uLlxuICAgKiBNb3ZlcyBwdWJsaWMgU1BMIHRva2VucyBpbnRvIGNvbmZpZGVudGlhbCBwZW5kaW5nIGJhbGFuY2UuIE5vIHByb29mIHJlcXVpcmVkLlxuICAgKi9cbiAgY29uZmlkZW50aWFsRGVwb3NpdChwYXJhbXM6IENvbmZpZGVudGlhbERlcG9zaXRbJ3BhcmFtcyddKTogdGhpcyB7XG4gICAgYXNzZXJ0KHBhcmFtcy50b2tlbkFkZHJlc3MsICdNaXNzaW5nIHRva2VuQWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMubWludEFkZHJlc3MsICdNaXNzaW5nIG1pbnRBZGRyZXNzIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5hdXRob3JpdHlBZGRyZXNzLCAnTWlzc2luZyBhdXRob3JpdHlBZGRyZXNzIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5hbW91bnQsICdNaXNzaW5nIGFtb3VudCBwYXJhbScpO1xuXG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICB0eXBlOiBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcy5Db25maWRlbnRpYWxEZXBvc2l0LFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIFdpdGhkcmF3IGluc3RydWN0aW9uIHRvIHRoZSB0cmFuc2FjdGlvbi5cbiAgICogTW92ZXMgY29uZmlkZW50aWFsIGF2YWlsYWJsZSBiYWxhbmNlIHRvIHB1YmxpYyBiYWxhbmNlLlxuICAgKiBSZXF1aXJlcyBlcXVhbGl0eSArIHJhbmdlIHByb29mIHZlcmlmaWNhdGlvbiBpbnN0cnVjdGlvbnMuXG4gICAqL1xuICBjb25maWRlbnRpYWxXaXRoZHJhdyhwYXJhbXM6IENvbmZpZGVudGlhbFdpdGhkcmF3WydwYXJhbXMnXSk6IHRoaXMge1xuICAgIGFzc2VydChwYXJhbXMudG9rZW5BZGRyZXNzLCAnTWlzc2luZyB0b2tlbkFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLm1pbnRBZGRyZXNzLCAnTWlzc2luZyBtaW50QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuYXV0aG9yaXR5QWRkcmVzcywgJ01pc3NpbmcgYXV0aG9yaXR5QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuYW1vdW50LCAnTWlzc2luZyBhbW91bnQgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLm5ld0RlY3J5cHRhYmxlQXZhaWxhYmxlQmFsYW5jZSwgJ01pc3NpbmcgbmV3RGVjcnlwdGFibGVBdmFpbGFibGVCYWxhbmNlIHBhcmFtJyk7XG5cbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNvbmZpZGVudGlhbFdpdGhkcmF3LFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGNvbmZpZGVudGlhbCBUcmFuc2ZlciBpbnN0cnVjdGlvbiB0byB0aGUgdHJhbnNhY3Rpb24uXG4gICAqIFJlcXVpcmVzIGVxdWFsaXR5ICsgY2lwaGVydGV4dCB2YWxpZGl0eSArIHJhbmdlIHByb29mIHZlcmlmaWNhdGlvbiBpbnN0cnVjdGlvbnMuXG4gICAqL1xuICBjb25maWRlbnRpYWxUcmFuc2ZlcihwYXJhbXM6IENvbmZpZGVudGlhbFRyYW5zZmVyWydwYXJhbXMnXSk6IHRoaXMge1xuICAgIGFzc2VydChwYXJhbXMuc291cmNlVG9rZW5BZGRyZXNzLCAnTWlzc2luZyBzb3VyY2VUb2tlbkFkZHJlc3MgcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLm1pbnRBZGRyZXNzLCAnTWlzc2luZyBtaW50QWRkcmVzcyBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMuZGVzdGluYXRpb25Ub2tlbkFkZHJlc3MsICdNaXNzaW5nIGRlc3RpbmF0aW9uVG9rZW5BZGRyZXNzIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5hdXRob3JpdHlBZGRyZXNzLCAnTWlzc2luZyBhdXRob3JpdHlBZGRyZXNzIHBhcmFtJyk7XG4gICAgYXNzZXJ0KHBhcmFtcy5uZXdTb3VyY2VEZWNyeXB0YWJsZUF2YWlsYWJsZUJhbGFuY2UsICdNaXNzaW5nIG5ld1NvdXJjZURlY3J5cHRhYmxlQXZhaWxhYmxlQmFsYW5jZSBwYXJhbScpO1xuICAgIGFzc2VydChwYXJhbXMudHJhbnNmZXJBbW91bnRBdWRpdG9yQ2lwaGVydGV4dExvLCAnTWlzc2luZyB0cmFuc2ZlckFtb3VudEF1ZGl0b3JDaXBoZXJ0ZXh0TG8gcGFyYW0nKTtcbiAgICBhc3NlcnQocGFyYW1zLnRyYW5zZmVyQW1vdW50QXVkaXRvckNpcGhlcnRleHRIaSwgJ01pc3NpbmcgdHJhbnNmZXJBbW91bnRBdWRpdG9yQ2lwaGVydGV4dEhpIHBhcmFtJyk7XG5cbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLkNvbmZpZGVudGlhbFRyYW5zZmVyLFxuICAgICAgcGFyYW1zLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIFZlcmlmeVB1YmtleVZhbGlkaXR5IHByb29mIGluc3RydWN0aW9uICh1c2VkIHdpdGggQ29uZmlndXJlQWNjb3VudCkuXG4gICAqL1xuICB2ZXJpZnlQdWJrZXlWYWxpZGl0eShwYXJhbXM6IFZlcmlmeVB1YmtleVZhbGlkaXR5WydwYXJhbXMnXSk6IHRoaXMge1xuICAgIHRoaXMuX2N0SW5zdHJ1Y3Rpb25zLnB1c2goe1xuICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVmVyaWZ5UHVia2V5VmFsaWRpdHksXG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgVmVyaWZ5Q2lwaGVydGV4dENvbW1pdG1lbnRFcXVhbGl0eSBwcm9vZiBpbnN0cnVjdGlvbiAodXNlZCB3aXRoIFRyYW5zZmVyIGFuZCBXaXRoZHJhdykuXG4gICAqL1xuICB2ZXJpZnlFcXVhbGl0eVByb29mKHBhcmFtczogVmVyaWZ5RXF1YWxpdHlQcm9vZlsncGFyYW1zJ10pOiB0aGlzIHtcbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlZlcmlmeUVxdWFsaXR5UHJvb2YsXG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgVmVyaWZ5QmF0Y2hlZEdyb3VwZWRDaXBoZXJ0ZXh0M0hhbmRsZXNWYWxpZGl0eSBwcm9vZiBpbnN0cnVjdGlvbiAodXNlZCB3aXRoIFRyYW5zZmVyKS5cbiAgICovXG4gIHZlcmlmeVZhbGlkaXR5UHJvb2YocGFyYW1zOiBWZXJpZnlWYWxpZGl0eVByb29mWydwYXJhbXMnXSk6IHRoaXMge1xuICAgIHRoaXMuX2N0SW5zdHJ1Y3Rpb25zLnB1c2goe1xuICAgICAgdHlwZTogSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuVmVyaWZ5VmFsaWRpdHlQcm9vZixcbiAgICAgIHBhcmFtcyxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBWZXJpZnlCYXRjaGVkUmFuZ2VQcm9vZlUxMjggcHJvb2YgaW5zdHJ1Y3Rpb24gKHVzZWQgd2l0aCBUcmFuc2ZlcikuXG4gICAqL1xuICB2ZXJpZnlSYW5nZVByb29mKHBhcmFtczogVmVyaWZ5UmFuZ2VQcm9vZlsncGFyYW1zJ10pOiB0aGlzIHtcbiAgICB0aGlzLl9jdEluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLlZlcmlmeVJhbmdlUHJvb2YsXG4gICAgICBwYXJhbXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGJ1aWxkSW1wbGVtZW50YXRpb24oKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIGFzc2VydCh0aGlzLl9jdEluc3RydWN0aW9ucy5sZW5ndGggPiAwLCAnQXQgbGVhc3Qgb25lIGNvbmZpZGVudGlhbCB0cmFuc2ZlciBpbnN0cnVjdGlvbiBtdXN0IGJlIHNwZWNpZmllZCcpO1xuXG4gICAgaWYgKHRoaXMuX3ZlcnNpb24gPT09IDEpIHtcbiAgICAgIHJldHVybiB0aGlzLmJ1aWxkVjEoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pbnN0cnVjdGlvbnNEYXRhID0gWy4uLnRoaXMuX2N0SW5zdHJ1Y3Rpb25zXTtcblxuICAgIHJldHVybiBhd2FpdCBzdXBlci5idWlsZEltcGxlbWVudGF0aW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGQgYSB2MSAoU0lNRC0wMjk2LzAzODUpIGNvbmZpZGVudGlhbCB0cmFuc2ZlciB0cmFuc2FjdGlvbi5cbiAgICpcbiAgICogQXNzZW1ibGVzIHRoZSBDVCBpbnN0cnVjdGlvbnMgdmlhIHRoZSBzaGFyZWQgaW5zdHJ1Y3Rpb24gZmFjdG9yeSwgY29tcGlsZXNcbiAgICogYW5kIHNlcmlhbGl6ZXMgYSB2MSBtZXNzYWdlIHdpdGggdGhlIGlubGluZSB0cmFuc2FjdGlvbiBjb25maWcsIHNpZ25zIHRoZVxuICAgKiBtZXNzYWdlIGJ5dGVzIHdpdGggdGhlIGJ1aWxkZXIncyBzaWduZXJzLCBhbmQgc3RvcmVzIHRoZSByZXN1bHRpbmcgd2lyZVxuICAgKiBieXRlcyBmb3IgYnJvYWRjYXN0LiBBbHNvIHBvcHVsYXRlcyBhIG1ldGFkYXRhLW9ubHkgU29sVHJhbnNhY3Rpb24gc28gdGhlXG4gICAqIHRyYW5zYWN0aW9uIEpTT04gYW5kIGlucHV0L291dHB1dCBleHRyYWN0aW9uIHJlbWFpbiB1c2FibGUuXG4gICAqXG4gICAqIEByZXR1cm5zIHtUcmFuc2FjdGlvbn0gVGhlIGJ1aWx0IHRyYW5zYWN0aW9uIGhvbGRpbmcgdGhlIHYxIHdpcmUgYnl0ZXNcbiAgICovXG4gIHByaXZhdGUgYnVpbGRWMSgpOiBUcmFuc2FjdGlvbiB7XG4gICAgYXNzZXJ0KHRoaXMuX3NlbmRlciwgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcignc2VuZGVyIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICBhc3NlcnQodGhpcy5fcmVjZW50QmxvY2toYXNoLCBuZXcgQnVpbGRUcmFuc2FjdGlvbkVycm9yKCdyZWNlbnQgYmxvY2toYXNoIGlzIHJlcXVpcmVkIGJlZm9yZSBidWlsZGluZycpKTtcbiAgICBhc3NlcnQodGhpcy5fdjFUcmFuc2FjdGlvbkNvbmZpZywgJ3RyYW5zYWN0aW9uQ29uZmlnIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGEgdjEgY29uZmlkZW50aWFsIHRyYW5zZmVyIHRyYW5zYWN0aW9uJyk7XG5cbiAgICAvLyBBcHBseVBlbmRpbmdCYWxhbmNlIG11c3QgcmVtYWluIGluc3RydWN0aW9uICMxIGluIHYxIHNwZW5kIHR4cyAoaXQgaXMgaWRlbXBvdGVudCksXG4gICAgLy8gcmVnYXJkbGVzcyBvZiB0aGUgb3JkZXIgdGhlIGNhbGxlciBhZGRlZCBpbnN0cnVjdGlvbnMuXG4gICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMgPSBbXG4gICAgICAuLi50aGlzLl9jdEluc3RydWN0aW9ucy5maWx0ZXIoKGkpID0+IGkudHlwZSA9PT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQXBwbHlQZW5kaW5nQmFsYW5jZSksXG4gICAgICAuLi50aGlzLl9jdEluc3RydWN0aW9ucy5maWx0ZXIoKGkpID0+IGkudHlwZSAhPT0gSW5zdHJ1Y3Rpb25CdWlsZGVyVHlwZXMuQXBwbHlQZW5kaW5nQmFsYW5jZSksXG4gICAgXTtcblxuICAgIGNvbnN0IGluc3RydWN0aW9uczogVHJhbnNhY3Rpb25JbnN0cnVjdGlvbltdID0gW107XG5cbiAgICAvLyBEdXJhYmxlIG5vbmNlOiB0aGUgQWR2YW5jZU5vbmNlQWNjb3VudCBpbnN0cnVjdGlvbiBNVVNUIGJlIHBhcnQgb2YgdGhlXG4gICAgLy8gbWVzc2FnZSAoYSBiYXJlIG5vbmNlIGhhc2ggd2l0aG91dCB0aGUgaW5zdHJ1Y3Rpb24gaXMgaW52YWxpZCkuIEl0IGlzXG4gICAgLy8gcGxhY2VkIGZpcnN0LCBtYXRjaGluZyB0aGUgdjAgd2ViMy5qcyBhbmQgdjEgcGF5bWVudC1idWlsZGVyIGNvbnZlbnRpb24uXG4gICAgaWYgKHRoaXMuX25vbmNlSW5mbykge1xuICAgICAgaW5zdHJ1Y3Rpb25zLnB1c2goXG4gICAgICAgIGJ1aWxkQWR2YW5jZU5vbmNlQWNjb3VudEluc3RydWN0aW9uKFxuICAgICAgICAgIHRoaXMuX25vbmNlSW5mby5wYXJhbXMud2FsbGV0Tm9uY2VBZGRyZXNzLFxuICAgICAgICAgIHRoaXMuX25vbmNlSW5mby5wYXJhbXMuYXV0aFdhbGxldEFkZHJlc3NcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGluc3RydWN0aW9uIG9mIHRoaXMuX2N0SW5zdHJ1Y3Rpb25zKSB7XG4gICAgICBpbnN0cnVjdGlvbnMucHVzaCguLi5zb2xJbnN0cnVjdGlvbkZhY3RvcnkoaW5zdHJ1Y3Rpb24sIHRoaXMuX3prUHJvb2ZQcm9ncmFtSWQpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fbWVtbykge1xuICAgICAgY29uc3QgbWVtb0RhdGE6IE1lbW8gPSB7XG4gICAgICAgIHR5cGU6IEluc3RydWN0aW9uQnVpbGRlclR5cGVzLk1lbW8sXG4gICAgICAgIHBhcmFtczogeyBtZW1vOiB0aGlzLl9tZW1vIH0sXG4gICAgICB9O1xuICAgICAgdGhpcy5fY3RJbnN0cnVjdGlvbnMucHVzaChtZW1vRGF0YSk7XG4gICAgICBpbnN0cnVjdGlvbnMucHVzaCguLi5zb2xJbnN0cnVjdGlvbkZhY3RvcnkobWVtb0RhdGEpKTtcbiAgICB9XG5cbiAgICBjb25zdCBmZWVQYXllciA9IHRoaXMuX2ZlZVBheWVyID8gbmV3IFB1YmxpY0tleSh0aGlzLl9mZWVQYXllcikgOiBuZXcgUHVibGljS2V5KHRoaXMuX3NlbmRlcik7XG4gICAgY29uc3QgbWVzc2FnZUJ5dGVzID0gY29tcGlsZVRyYW5zYWN0aW9uTWVzc2FnZSh7XG4gICAgICB2ZXJzaW9uOiAxLFxuICAgICAgaW5zdHJ1Y3Rpb25zLFxuICAgICAgZmVlUGF5ZXIsXG4gICAgICByZWNlbnRCbG9ja2hhc2g6IHRoaXMuX3JlY2VudEJsb2NraGFzaCxcbiAgICAgIHRyYW5zYWN0aW9uQ29uZmlnOiB0aGlzLl92MVRyYW5zYWN0aW9uQ29uZmlnLFxuICAgIH0pO1xuXG4gICAgLy8gU2lnbmVyIG9yZGVyIGNvbWVzIGZyb20gdGhlIGNvbXBpbGVkIG1lc3NhZ2U6IHRoZSBmaXJzdFxuICAgIC8vIG51bVNpZ25lckFjY291bnRzIHN0YXRpYyBhY2NvdW50cyBhcmUgdGhlIHJlcXVpcmVkIHNpZ25lcnMgKGZlZSBwYXllclxuICAgIC8vIGZpcnN0LCB0aGVuIHRoZSByZW1haW5pbmcgc2lnbmVycyBpbiB0aGUgY29tcGlsZWQgYWNjb3VudCBvcmRlcikuIE1pc3NpbmdcbiAgICAvLyBzaWduYXR1cmVzIGFyZSB6ZXJvLWZpbGxlZCBzbyB1bnNpZ25lZC9wYXJ0aWFsIGJ1aWxkcyBrZWVwIGEgdmFsaWQgd2lyZVxuICAgIC8vIHNoYXBlIGZvciB0aGUgc2VydmVyLXNpZGUgc2lnbiBwYXRoIChub3QgYnJvYWRjYXN0YWJsZSB1bnRpbCBmaWxsZWQpLlxuICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVWMU1lc3NhZ2UobWVzc2FnZUJ5dGVzKTtcbiAgICBjb25zdCBzaWduZXJBZGRyZXNzZXMgPSBkZWNvZGVkLnN0YXRpY0FjY291bnRzLnNsaWNlKDAsIGRlY29kZWQuaGVhZGVyLm51bVNpZ25lckFjY291bnRzKTtcblxuICAgIGNvbnN0IHNpZ25hdHVyZXM6IFVpbnQ4QXJyYXlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgYWRkcmVzcyBvZiBzaWduZXJBZGRyZXNzZXMpIHtcbiAgICAgIGNvbnN0IGtleVBhaXIgPSB0aGlzLl9zaWduZXJzLmZpbmQoKHNpZ25lcikgPT4gc2lnbmVyLmdldEtleXMoKS5wdWIgPT09IGFkZHJlc3MpO1xuICAgICAgaWYgKGtleVBhaXIpIHtcbiAgICAgICAgY29uc3Qgc2VjcmV0S2V5ID0ga2V5UGFpci5nZXRLZXlzKHRydWUpLnBydjtcbiAgICAgICAgYXNzZXJ0KHNlY3JldEtleSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksICdNaXNzaW5nIHByaXZhdGUga2V5Jyk7XG4gICAgICAgIHNpZ25hdHVyZXMucHVzaChuYWNsLnNpZ24uZGV0YWNoZWQobWVzc2FnZUJ5dGVzLCBzZWNyZXRLZXkpKTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBhZGRpdGlvbmFsID0gdGhpcy5nZXRBZGRpdGlvbmFsU2lnbmF0dXJlcygpLmZpbmQoKHNpZykgPT4gc2lnLnB1YmxpY0tleS5wdWIgPT09IGFkZHJlc3MpO1xuICAgICAgaWYgKGFkZGl0aW9uYWwpIHtcbiAgICAgICAgc2lnbmF0dXJlcy5wdXNoKG5ldyBVaW50OEFycmF5KGFkZGl0aW9uYWwuc2lnbmF0dXJlKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgLy8gTWlzc2luZyBzaWduYXR1cmU6IHplcm8tZmlsbCB0aGUgc2xvdCBzbyB0aGUgd2lyZSBzaGFwZSBzdGF5cyB2YWxpZFxuICAgICAgLy8gZm9yIHBhcnRpYWwtc2lnbiBmbG93czsgdGhlIHRyYW5zYWN0aW9uIGlzIG5vdCBicm9hZGNhc3RhYmxlIHVudGlsXG4gICAgICAvLyBldmVyeSByZXF1aXJlZCBzaWduZXIgaGFzIGEgc2lnbmF0dXJlLlxuICAgICAgc2lnbmF0dXJlcy5wdXNoKG5ldyBVaW50OEFycmF5KDY0KSk7XG4gICAgfVxuXG4gICAgY29uc3QgdjFXaXJlID0gc2VyaWFsaXplV2lyZVRyYW5zYWN0aW9uKG1lc3NhZ2VCeXRlcywgc2lnbmF0dXJlcyk7XG5cbiAgICB0aGlzLl90cmFuc2FjdGlvbi52MVRyYW5zYWN0aW9uQnl0ZXMgPSB2MVdpcmU7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24udjFNZXNzYWdlQnl0ZXMgPSBtZXNzYWdlQnl0ZXM7XG5cbiAgICAvLyBQb3B1bGF0ZSBhIG1ldGFkYXRhLW9ubHkgU29sVHJhbnNhY3Rpb24gc28gdG9Kc29uIC8gbG9hZElucHV0c0FuZE91dHB1dHMgd29yay5cbiAgICAvLyBUaGUgZHVyYWJsZSBub25jZSBpcyBjYXJyaWVkIHZpYSBub25jZUluZm8sIG1hdGNoaW5nIHRoZSB2MCBtb2RlbC5cbiAgICBjb25zdCBtZXRhVHggPSBuZXcgU29sVHJhbnNhY3Rpb24oKTtcbiAgICBtZXRhVHguZmVlUGF5ZXIgPSBmZWVQYXllcjtcbiAgICBtZXRhVHgucmVjZW50QmxvY2toYXNoID0gdGhpcy5fcmVjZW50QmxvY2toYXNoO1xuICAgIGlmICh0aGlzLl9ub25jZUluZm8pIHtcbiAgICAgIG1ldGFUeC5ub25jZUluZm8gPSB7XG4gICAgICAgIG5vbmNlOiB0aGlzLl9yZWNlbnRCbG9ja2hhc2gsXG4gICAgICAgIG5vbmNlSW5zdHJ1Y3Rpb246IGJ1aWxkQWR2YW5jZU5vbmNlQWNjb3VudEluc3RydWN0aW9uKFxuICAgICAgICAgIHRoaXMuX25vbmNlSW5mby5wYXJhbXMud2FsbGV0Tm9uY2VBZGRyZXNzLFxuICAgICAgICAgIHRoaXMuX25vbmNlSW5mby5wYXJhbXMuYXV0aFdhbGxldEFkZHJlc3NcbiAgICAgICAgKSxcbiAgICAgIH07XG4gICAgfVxuICAgIG1ldGFUeC5hZGQoLi4uaW5zdHJ1Y3Rpb25zKTtcbiAgICB0aGlzLl90cmFuc2FjdGlvbi5zb2xUcmFuc2FjdGlvbiA9IG1ldGFUeDtcblxuICAgIHRoaXMuX3RyYW5zYWN0aW9uLnNldFRyYW5zYWN0aW9uVHlwZSh0aGlzLnRyYW5zYWN0aW9uVHlwZSk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24uc2V0SW5zdHJ1Y3Rpb25zRGF0YSh0aGlzLl9jdEluc3RydWN0aW9ucyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24ubG9hZElucHV0c0FuZE91dHB1dHMoKTtcblxuICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbjtcbiAgfVxufVxuIl19
|
|
@@ -124,6 +124,7 @@ export declare enum InstructionBuilderTypes {
|
|
|
124
124
|
Memo = "Memo",
|
|
125
125
|
NonceAdvance = "NonceAdvance",
|
|
126
126
|
CreateAssociatedTokenAccount = "CreateAssociatedTokenAccount",
|
|
127
|
+
ReallocateConfidentialTransferAccount = "ReallocateConfidentialTransferAccount",
|
|
127
128
|
CloseAssociatedTokenAccount = "CloseAssociatedTokenAccount",
|
|
128
129
|
RecoverNestedAssociatedTokenAccount = "RecoverNestedAssociatedTokenAccount",
|
|
129
130
|
TokenTransfer = "TokenTransfer",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,6 +137,7 @@ var InstructionBuilderTypes;
|
|
|
137
137
|
InstructionBuilderTypes["Memo"] = "Memo";
|
|
138
138
|
InstructionBuilderTypes["NonceAdvance"] = "NonceAdvance";
|
|
139
139
|
InstructionBuilderTypes["CreateAssociatedTokenAccount"] = "CreateAssociatedTokenAccount";
|
|
140
|
+
InstructionBuilderTypes["ReallocateConfidentialTransferAccount"] = "ReallocateConfidentialTransferAccount";
|
|
140
141
|
InstructionBuilderTypes["CloseAssociatedTokenAccount"] = "CloseAssociatedTokenAccount";
|
|
141
142
|
InstructionBuilderTypes["RecoverNestedAssociatedTokenAccount"] = "RecoverNestedAssociatedTokenAccount";
|
|
142
143
|
InstructionBuilderTypes["TokenTransfer"] = "TokenTransfer";
|
|
@@ -273,4 +274,4 @@ exports.ataRecoverNestedInstructionIndexes = {
|
|
|
273
274
|
exports.nonceAdvanceInstruction = 'AdvanceNonceAccount';
|
|
274
275
|
exports.validInstructionData = '0a00000001000000';
|
|
275
276
|
exports.validInstructionData2 = '0a00000000000000';
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxlQUFlLEdBQUcsNkNBQTZDLENBQUM7QUFFaEUsUUFBQSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRWpCLFFBQUEsZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUN0QixRQUFBLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQztBQUV4RDs7Ozs7R0FLRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsT0FBUyxDQUFDO0FBRW5DLFFBQUEsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBRTlDOzs7R0FHRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsNkNBQTZDLENBQUM7QUFFekY7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyw2Q0FBNkMsQ0FBQztBQUV6Rjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDOzs7R0FHRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDbkQsQ0FBQyxFQUFFLG1CQUFtQjtJQUN0QixDQUFDLEVBQUUsVUFBVTtJQUNiLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLFdBQVc7SUFDZCxDQUFDLEVBQUUsc0JBQXNCO0NBQzFCLENBQUMsQ0FBQztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxJQUFJLENBQUM7QUFFbkMsUUFBQSx1QkFBdUIsR0FBRyw2Q0FBNkMsQ0FBQztBQUN4RSxRQUFBLG9CQUFvQixHQUFHLDhDQUE4QyxDQUFDO0FBQ3RFLFFBQUEsK0JBQStCLEdBQUcsOENBQThDLENBQUM7QUFDakYsUUFBQSx1Q0FBdUMsR0FBRyw2Q0FBNkMsQ0FBQztBQUN4RixRQUFBLHdCQUF3QixHQUFHLDZDQUE2QyxDQUFDO0FBQ3pFLFFBQUEsZ0NBQWdDLEdB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QSwwQkFBMEIsR0FBRztJQUN4QywyQkFBMkIsRUFBRSxDQUFDO0NBQ3RCLENBQUM7QUFFWCxrRkFBa0Y7QUFDckUsUUFBQSxrQ0FBa0MsR0FBRztJQUNoRCxtQ0FBbUMsRUFBRSxDQUFDO0NBQzlCLENBQUM7QUFFRSxRQUFBLHVCQUF1QixHQUFHLHFCQUFxQixDQUFDO0FBQ2hELFFBQUEsb0JBQW9CLEdBQUcsa0JBQWtCLENBQUM7QUFDMUMsUUFBQSxxQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkSW5zdHJ1Y3Rpb25UeXBlcyB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgY29uc3QgTUVNT19QUk9HUkFNX1BLID0gJ01lbW9TcTRncUFCQVhLYjk2cW5IOFR5c05jV3hNeVdDcVhnRExHbWZjSHInO1xuXG5leHBvcnQgY29uc3QgU0VFRF9MRU5HVEggPSAzMjtcblxuZXhwb3J0IGNvbnN0IE1BWF9NRU1PX0xFTkdUSCA9IDEzMDtcbmV4cG9ydCBjb25zdCBTVEFLRV9BQ0NPVU5UX1JFTlRfRVhFTVBUX0FNT1VOVCA9IDIyODI4ODA7XG5cbi8qKlxuICogTWF4aW11bSBjb21wdXRlIHVuaXRzIGEgc2luZ2xlIHRyYW5zYWN0aW9uIGNhbiByZXF1ZXN0IHRocm91Z2ggdGhlIGNvbXB1dGVcbiAqIGJ1ZGdldCBwcm9ncmFtIChTZXRDb21wdXRlVW5pdExpbWl0KSwgZW5mb3JjZWQgb24tY2hhaW4gYnkgdGhlIHJ1bnRpbWUuXG4gKiBUaGUgcHJpb3JpdHkgZmVlIGlzIGNoYXJnZWQgb24gdGhlIHJlcXVlc3RlZCBsaW1pdCByYXRoZXIgdGhhbiB0aGUgdW5pdHNcbiAqIGFjdHVhbGx5IGNvbnN1bWVkLCBzbyBidWlsZGVycyBtdXN0IHNldCBhbiBpbnRlbnQtc2l6ZWQgbGltaXQgYmVsb3cgdGhpcyBjYXAuXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfQ09NUFVURV9VTklUX0xJTUlUID0gMV80MDBfMDAwO1xuXG5leHBvcnQgY29uc3QgVU5BVkFJTEFCTEVfVEVYVCA9ICdVTkFWQUlMQUJMRSc7XG5cbi8qKlxuICogU3lzdmFyIGluc3RydWN0aW9ucyBhY2NvdW50IGFkZHJlc3Mg4oCUIHVzZWQgYnkgVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXJcbiAqIGluc3RydWN0aW9ucyB0byBsb2NhdGUgaW5saW5lIHByb29mIHZlcmlmaWNhdGlvbiBpbnN0cnVjdGlvbnMgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBJTlNUUlVDVElPTlNfU1lTVkFSX0FERFJFU1MgPSAnU3lzdmFyMW5zdHJ1Y3Rpb25zMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG5cbi8qKlxuICogQ2Fub25pY2FsIG9uLWNoYWluIHByb2dyYW0gaWQgb2YgdGhlIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbS5cbiAqXG4gKiBUaGlzIGlzIHRoZSBzYW1lIGFjcm9zcyBtYWlubmV0LCBkZXZuZXQsIGFuZCB0ZXN0bmV0IOKAlCBpdCBpcyBhIG5hdGl2ZVxuICogYnVpbHQtaW4gcHJvZ3JhbS4gQ2FsbGVycyBjYW4gb3ZlcnJpZGUgdmlhIENvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlclxuICogLnprUHJvb2ZQcm9ncmFtSWQoKSBpZiB0YXJnZXRpbmcgYSBjdXN0b20gZGVwbG95bWVudC5cbiAqXG4gKiBOb3RlOiBUaGUgZGVwcmVjYXRlZCB6ay10b2tlbi1wcm9vZiBwcm9ncmFtIGlkIGlzXG4gKiBgWmtUb2tlblByb29mMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMWAuXG4gKi9cbmV4cG9ydCBjb25zdCBaS19FTEdBTUFMX1BST09GX1BST0dSQU1fSUQgPSAnWmtFMUdhbWExUHJvb2YxMTExMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG5cbi8qKlxuICogVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXIgZXh0ZW5zaW9uIGRpc2NyaW1pbmF0b3IgKGJ5dGUgMCBvZiBpbnN0cnVjdGlvbiBkYXRhKS5cbiAqL1xuZXhwb3J0IGNvbnN0IENUX0VYVF9ESVNDUklNSU5BVE9SID0gMjc7XG5cbi8qKlxuICogVmFsaWQgQ1Qgc3ViLWluc3RydWN0aW9uIGRpc2NyaW1pbmF0b3JzIChieXRlIDEgYWZ0ZXIgQ1RfRVhUX0RJU0NSSU1JTkFUT1IpLlxuICogVXNlZCBmb3IgdHJhbnNhY3Rpb24gdHlwZSBkZXRlY3Rpb24gKGdldFRyYW5zYWN0aW9uVHlwZSAvIGRlcml2ZVRyYW5zYWN0aW9uVHlwZSkuXG4gKi9cbmV4cG9ydCBjb25zdCBDVF9TVUJfRElTQ1JJTUlOQVRPUlMgPSBuZXcgU2V0PG51bWJlcj4oW1xuICAyLCAvLyBDb25maWd1cmVBY2NvdW50XG4gIDUsIC8vIERlcG9zaXRcbiAgNiwgLy8gV2l0aGRyYXdcbiAgNywgLy8gVHJhbnNmZXJcbiAgOCwgLy8gQXBwbHlQZW5kaW5nQmFsYW5jZVxuXSk7XG5cbi8qKlxuICogTWF4aW11bSBvdmVyLXRoZS13aXJlIHNpemUgb2YgYSBTb2xhbmEgdHJhbnNhY3Rpb24gKGluIGJ5dGVzKVxuICpcbiAqIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2FuemEteHl6L2FnYXZlL2Jsb2IvdjIuMS4xMy9zZGsvcGFja2V0L3NyYy9saWIucnMjTDI3LUwyOVxuICpcbiAqIENhbGN1bGF0aW9uOlxuICogLSBJUHY2IG1pbmltdW0gTVRVOiAxMjgwIGJ5dGVzXG4gKiAtIElQdjYgaGVhZGVyOiA0MCBieXRlc1xuICogLSBGcmFnbWVudC9VRFAgaGVhZGVyOiA4IGJ5dGVzXG4gKiAtIFJlc3VsdDogMTI4MCAtIDQwIC0gOCA9IDEyMzIgYnl0ZXNcbiAqXG4gKiBUaGlzIGxpbWl0IGlzIGRlc2lnbmVkIHRvIGF2b2lkIHBhY2tldCBmcmFnbWVudGF0aW9uIG9uIHR5cGljYWwgaW50ZXJuZXQgaW5mcmFzdHJ1Y3R1cmUuXG4gKiBUcmFuc2FjdGlvbnMgZXhjZWVkaW5nIHRoaXMgbGltaXQgd2lsbCBmYWlsIHRvIHNlcmlhbGl6ZSB3aXRoIGEgUmFuZ2VFcnJvciBkdXJpbmdcbiAqIHRoZSBlbmNvZGluZyBvZiB0aGUgdHJhbnNhY3Rpb24gbWVzc2FnZS5cbiAqXG4gKiBSZWZlcmVuY2U6IGh0dHBzOi8vc29sYW5hLmNvbS9kb2NzL2NvcmUvdHJhbnNhY3Rpb25zI3RyYW5zYWN0aW9uLXNpemVcbiAqL1xuZXhwb3J0IGNvbnN0IFNPTEFOQV9UUkFOU0FDVElPTl9NQVhfU0laRSA9IDEyMzI7XG5cbmV4cG9ydCBjb25zdCBKSVRPX1NUQUtFX1BPT0xfQUREUkVTUyA9ICdKaXRvNEFQeWY2NDJKUFpQeDNoR2M2V1dKOHpQS3RSYlJzNFA4MTVBd2JiJztcbmV4cG9ydCBjb25zdCBKSVRPU09MX01JTlRfQUREUkVTUyA9ICdKMXRvc28xdUNrM1JMbWpvcmhUdHJWd1k5SEo3WDhWOXlZYWM2WTdrR0NQbic7XG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX1JFU0VSVkVfQUNDT1VOVCA9ICdCZ0tVWGRTMjlZY0hDRnJQbTVNOG9MSGlUelphTURqc2ViZ2dqb2FRNktGTCc7XG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX1JFU0VSVkVfQUNDT1VOVF9URVNUTkVUID0gJ3JyV0JRcVJxQlhZWnczQ21QQ0NjakZ4UTJEczRKRkpkN29SUUo5OTdkaHonO1xuZXhwb3J0IGNvbnN0IEpJVE9fTUFOQUdFUl9GRUVfQUNDT1VOVCA9ICdmZWVlRkxMc2FtNnhaSkZjNlVRRnJIcWt2VnQ0amZtVnZpMkJSTGtVWjRpJztcbmV4cG9ydCBjb25zdCBKSVRPX01BTkFHRVJfRkVFX0FDQ09VTlRfVEVTVE5FVCA9ICdESDd0bWpvUTV6anFjZ2ZZSlUyMkpxbVhoUDVFWTF0a2JZcGdWV1VTMm9Obyc7XG5cbi8qKlxuICogT24tY2hhaW4gcHJvZ3JhbSBpZCBvZiB0aGUgc1JGQy0zNyBUb2tlbiBBQ0wgcHJvZ3JhbS4gVGhpcyBzaW5nbGUgcHJvZ3JhbSBnYXRlcyBldmVyeVxuICogYWxsb3dsaXN0L2Jsb2NrbGlzdCAoRGVmYXVsdEFjY291bnRTdGF0ZSkgVG9rZW4tMjAyMiBtaW50LCBzbyB0aGUgdmFsdWUgaXMgZ2VuZXJpYyBhbmQgbmV2ZXJcbiAqIHRpZWQgdG8gYSBzcGVjaWZpYyBpc3N1ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfUFJPR1JBTV9JRCA9ICdUQUNMa1U2Q2lDZGtRTjJNam95RGtWZzJ5QUg5emt4aUhEc2l6dFE1MlRQJztcblxuLyoqXG4gKiBJbnN0cnVjdGlvbiBkaXNjcmltaW5hdG9yIChhIHNpbmdsZSB1OCBieXRlKSBmb3IgdGhlIFRva2VuIEFDTCBgVGhhd1Blcm1pc3Npb25sZXNzSWRlbXBvdGVudGBcbiAqIGluc3RydWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgVEhBV19QRVJNSVNTSU9OTEVTU19JREVNUE9URU5UX0RJU0NSSU1JTkFUT1IgPSA5O1xuXG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgVG9rZW4gQUNMIHByb2dyYW0pIGZvciBhIG1pbnQncyBNaW50Q29uZmlnIGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX01JTlRfQ09ORklHX1NFRUQgPSAnTUlOVF9DT05GSUcnO1xuLyoqIFBEQSBzZWVkIHByZWZpeCAodW5kZXIgdGhlIFRva2VuIEFDTCBwcm9ncmFtKSBmb3IgYSB0b2tlbiBhY2NvdW50J3MgdGhhdyBmbGFnIGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX0ZMQUdfQUNDT1VOVF9TRUVEID0gJ0ZMQUdfQUNDT1VOVCc7XG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgZ2F0aW5nIHByb2dyYW0pIGZvciBhIG1pbnQncyB0aGF3IEV4dHJhQWNjb3VudE1ldGFMaXN0IGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX1RIQVdfRVhUUkFfTUVUQVNfU0VFRCA9ICd0aGF3X2V4dHJhX2FjY291bnRfbWV0YXMnO1xuXG4vLyBTZGsgaW5zdHJ1Y3Rpb25zLCBtYWlubHkgdG8gY2hlY2sgZGVjb2RlZCB0eXBlcy5cbmV4cG9ydCBlbnVtIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0ge1xuICBBZHZhbmNlTm9uY2VBY2NvdW50ID0gJ0FkdmFuY2VOb25jZUFjY291bnQnLFxuICBDcmVhdGUgPSAnQ3JlYXRlJyxcbiAgSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCA9ICdJbml0aWFsaXplTm9uY2VBY2NvdW50JyxcbiAgU3Rha2luZ0luaXRpYWxpemUgPSAnSW5pdGlhbGl6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdEZWxlZ2F0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ0RlYWN0aXZhdGUnLFxuICBTdGFraW5nV2l0aGRyYXcgPSAnV2l0aGRyYXcnLFxuICBUcmFuc2ZlciA9ICdUcmFuc2ZlcicsXG4gIFRva2VuVHJhbnNmZXIgPSAnVG9rZW5UcmFuc2ZlcicsXG4gIE1lbW8gPSAnTWVtbycsXG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0luaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0Nsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ1JlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQWxsb2NhdGUgPSAnQWxsb2NhdGUnLFxuICBBc3NpZ24gPSAnQXNzaWduJyxcbiAgU3BsaXQgPSAnU3BsaXQnLFxuICBBdXRob3JpemUgPSAnQXV0aG9yaXplJyxcbiAgU2V0Q29tcHV0ZVVuaXRMaW1pdCA9ICdTZXRDb21wdXRlVW5pdExpbWl0JyxcbiAgU2V0UHJpb3JpdHlGZWUgPSAnU2V0UHJpb3JpdHlGZWUnLFxuICBNaW50VG8gPSAnTWludFRvJyxcbiAgQnVybiA9ICdCdXJuJyxcbiAgRGVwb3NpdFNvbCA9ICdEZXBvc2l0U29sJyxcbiAgV2l0aGRyYXdTdGFrZSA9ICdXaXRoZHJhd1N0YWtlJyxcbiAgV2l0aGRyYXdTb2wgPSAnV2l0aGRyYXdTb2wnLFxuICBBcHByb3ZlID0gJ0FwcHJvdmUnLFxuICBDdXN0b21JbnN0cnVjdGlvbiA9ICdDdXN0b21JbnN0cnVjdGlvbicsXG4gIFBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQgPSAnUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCcsXG4gIC8vIENvbmZpZGVudGlhbCBUcmFuc2ZlciBpbnN0cnVjdGlvbiB0eXBlcyAoVG9rZW4tMjAyMiBDVCBleHRlbnNpb24gKyB6ay1lbGdhbWFsLXByb29mKVxuICBDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQgPSAnQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50JyxcbiAgQXBwbHlQZW5kaW5nQmFsYW5jZSA9ICdBcHBseVBlbmRpbmdCYWxhbmNlJyxcbiAgQ29uZmlkZW50aWFsRGVwb3NpdCA9ICdDb25maWRlbnRpYWxEZXBvc2l0JyxcbiAgQ29uZmlkZW50aWFsV2l0aGRyYXcgPSAnQ29uZmlkZW50aWFsV2l0aGRyYXcnLFxuICBDb25maWRlbnRpYWxUcmFuc2ZlciA9ICdDb25maWRlbnRpYWxUcmFuc2ZlcicsXG4gIFZlcmlmeVB1YmtleVZhbGlkaXR5ID0gJ1ZlcmlmeVB1YmtleVZhbGlkaXR5JyxcbiAgVmVyaWZ5RXF1YWxpdHlQcm9vZiA9ICdWZXJpZnlFcXVhbGl0eVByb29mJyxcbiAgVmVyaWZ5VmFsaWRpdHlQcm9vZiA9ICdWZXJpZnlWYWxpZGl0eVByb29mJyxcbiAgVmVyaWZ5UmFuZ2VQcm9vZiA9ICdWZXJpZnlSYW5nZVByb29mJyxcbn1cblxuLy8gSW50ZXJuYWwgaW5zdHJ1Y3Rpb25zIHR5cGVzXG5leHBvcnQgZW51bSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB7XG4gIENyZWF0ZU5vbmNlQWNjb3VudCA9ICdDcmVhdGVOb25jZUFjY291bnQnLFxuICBTdGFraW5nQWN0aXZhdGUgPSAnQWN0aXZhdGUnLFxuICBTdGFraW5nRGVhY3RpdmF0ZSA9ICdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1dpdGhkcmF3JyxcbiAgVHJhbnNmZXIgPSAnVHJhbnNmZXInLFxuICBNZW1vID0gJ01lbW8nLFxuICBOb25jZUFkdmFuY2UgPSAnTm9uY2VBZHZhbmNlJyxcbiAgQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0Nsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ1JlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgVG9rZW5UcmFuc2ZlciA9ICdUb2tlblRyYW5zZmVyJyxcbiAgU3Rha2luZ0F1dGhvcml6ZSA9ICdBdXRob3JpemUnLFxuICBTdGFraW5nRGVsZWdhdGUgPSAnRGVsZWdhdGUnLFxuICBTZXRDb21wdXRlVW5pdExpbWl0ID0gJ1NldENvbXB1dGVVbml0TGltaXQnLFxuICBTZXRQcmlvcml0eUZlZSA9ICdTZXRQcmlvcml0eUZlZScsXG4gIE1pbnRUbyA9ICdNaW50VG8nLFxuICBCdXJuID0gJ0J1cm4nLFxuICBDdXN0b21JbnN0cnVjdGlvbiA9ICdDdXN0b21JbnN0cnVjdGlvbicsXG4gIFZlcnNpb25lZEN1c3RvbUluc3RydWN0aW9uID0gJ1ZlcnNpb25lZEN1c3RvbUluc3RydWN0aW9uJyxcbiAgQXBwcm92ZSA9ICdBcHByb3ZlJyxcbiAgV2l0aGRyYXdTdGFrZSA9ICdXaXRoZHJhd1N0YWtlJyxcbiAgUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCA9ICdQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50JyxcbiAgLy8gQ29uZmlkZW50aWFsIFRyYW5zZmVyIGluc3RydWN0aW9uIHR5cGVzIChUb2tlbi0yMDIyIENUIGV4dGVuc2lvbiArIHprLWVsZ2FtYWwtcHJvb2YpXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBBcHBseVBlbmRpbmdCYWxhbmNlID0gJ0FwcGx5UGVuZGluZ0JhbGFuY2UnLFxuICBDb25maWRlbnRpYWxEZXBvc2l0ID0gJ0NvbmZpZGVudGlhbERlcG9zaXQnLFxuICBDb25maWRlbnRpYWxXaXRoZHJhdyA9ICdDb25maWRlbnRpYWxXaXRoZHJhdycsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbiAgVmVyaWZ5UHVia2V5VmFsaWRpdHkgPSAnVmVyaWZ5UHVia2V5VmFsaWRpdHknLFxuICBWZXJpZnlFcXVhbGl0eVByb29mID0gJ1ZlcmlmeUVxdWFsaXR5UHJvb2YnLFxuICBWZXJpZnlWYWxpZGl0eVByb29mID0gJ1ZlcmlmeVZhbGlkaXR5UHJvb2YnLFxuICBWZXJpZnlSYW5nZVByb29mID0gJ1ZlcmlmeVJhbmdlUHJvb2YnLFxufVxuXG5leHBvcnQgY29uc3QgVkFMSURfU1lTVEVNX0lOU1RSVUNUSU9OX1RZUEVTOiBWYWxpZEluc3RydWN0aW9uVHlwZXNbXSA9IFtcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BZHZhbmNlTm9uY2VBY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkNyZWF0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nSW5pdGlhbGl6ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nRGVsZWdhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ0RlYWN0aXZhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ1dpdGhkcmF3LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlRyYW5zZmVyLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkluaXRpYWxpemVOb25jZUFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uTWVtbyxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Jbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5DbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uVG9rZW5UcmFuc2ZlcixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BbGxvY2F0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Bc3NpZ24sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3BsaXQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXV0aG9yaXplLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlNldENvbXB1dGVVbml0TGltaXQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU2V0UHJpb3JpdHlGZWUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uTWludFRvLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkJ1cm4sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXBwcm92ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5EZXBvc2l0U29sLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLldpdGhkcmF3U3Rha2UsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uV2l0aGRyYXdTb2wsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQ3VzdG9tSW5zdHJ1Y3Rpb24sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCxcbl07XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFdhbGxldCBJbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHdhbGxldEluaXRJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIENyZWF0ZTogMCxcbiAgSW5pdGlhbGl6ZU5vbmNlQWNjb3VudDogMSxcbiAgTWVtbzogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQ3JlYXRlOiAwLFxuICBJbml0aWFsaXplOiAxLFxuICBEZWxlZ2F0ZTogMixcbiAgTWVtbzogMyxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIE1hcmluYWRlIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgbWFyaW5hZGVTdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBDcmVhdGU6IDAsXG4gIEluaXRpYWxpemU6IDEsXG4gIE1lbW86IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlcG9zaXRTb2w6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdBY3RpdmF0ZVdpdGhBVEFJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgRGVwb3NpdFNvbDogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBBcHByb3ZlOiAwLFxuICBDcmVhdGU6IDEsXG4gIFdpdGhkcmF3U3Rha2U6IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIEF1dGhvcml6ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nQXV0aG9yaXplSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQXV0aG9yaXplOiAwLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBEZWxlZ2F0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nRGVsZWdhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBEZWxlZ2F0ZTogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlYWN0aXZhdGU6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBNYXJpbmFkZSBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgbWFyaW5hZGVTdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBNZW1vOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgUGFydGlhbCBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlZCAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdQYXJ0aWFsRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBBbGxvY2F0ZTogMSxcbiAgQXNzaWduOiAyLFxuICBTcGxpdDogMyxcbiAgRGVhY3RpdmF0ZTogNCxcbiAgTWVtbzogNSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgV2l0aGRyYXcgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ1dpdGhkcmF3SW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgV2l0aGRyYXc6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBBVEEgaW5pdCBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBhdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEFUQSBpbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGF0YUNsb3NlSW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSByZWNvdmVyIG5lc3RlZCBBVEEgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgYXRhUmVjb3Zlck5lc3RlZEluc3RydWN0aW9uSW5kZXhlcyA9IHtcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgbm9uY2VBZHZhbmNlSW5zdHJ1Y3Rpb24gPSAnQWR2YW5jZU5vbmNlQWNjb3VudCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEgPSAnMGEwMDAwMDAwMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEyID0gJzBhMDAwMDAwMDAwMDAwMDAnO1xuIl19
|
|
277
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxlQUFlLEdBQUcsNkNBQTZDLENBQUM7QUFFaEUsUUFBQSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRWpCLFFBQUEsZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUN0QixRQUFBLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQztBQUV4RDs7Ozs7R0FLRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsT0FBUyxDQUFDO0FBRW5DLFFBQUEsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO0FBRTlDOzs7R0FHRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsNkNBQTZDLENBQUM7QUFFekY7Ozs7Ozs7OztHQVNHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyw2Q0FBNkMsQ0FBQztBQUV6Rjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDOzs7R0FHRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsSUFBSSxHQUFHLENBQVM7SUFDbkQsQ0FBQyxFQUFFLG1CQUFtQjtJQUN0QixDQUFDLEVBQUUsVUFBVTtJQUNiLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLFdBQVc7SUFDZCxDQUFDLEVBQUUsc0JBQXNCO0NBQzFCLENBQUMsQ0FBQztBQUVIOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ1UsUUFBQSwyQkFBMkIsR0FBRyxJQUFJLENBQUM7QUFFbkMsUUFBQSx1QkFBdUIsR0FBRyw2Q0FBNkMsQ0FBQztBQUN4RSxRQUFBLG9CQUFvQixHQUFHLDhDQUE4QyxDQUFDO0FBQ3RFLFFBQUEsK0JBQStCLEdBQUcsOENBQThDLENBQUM7QUFDakYsUUFBQSx1Q0FBdUMsR0FBRyw2Q0FBNkMsQ0FBQztBQUN4RixRQUFBLHdCQUF3QixHQUFHLDZDQUE2QyxDQUFDO0FBQ3pFLFFBQUEsZ0NBQWdDLEdB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WCx3RUFBd0U7QUFDM0QsUUFBQSwwQkFBMEIsR0FBRztJQUN4QywyQkFBMkIsRUFBRSxDQUFDO0NBQ3RCLENBQUM7QUFFWCxrRkFBa0Y7QUFDckUsUUFBQSxrQ0FBa0MsR0FBRztJQUNoRCxtQ0FBbUMsRUFBRSxDQUFDO0NBQzlCLENBQUM7QUFFRSxRQUFBLHVCQUF1QixHQUFHLHFCQUFxQixDQUFDO0FBQ2hELFFBQUEsb0JBQW9CLEdBQUcsa0JBQWtCLENBQUM7QUFDMUMsUUFBQSxxQkFBcUIsR0FBRyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkSW5zdHJ1Y3Rpb25UeXBlcyB9IGZyb20gJy4vaWZhY2UnO1xuXG5leHBvcnQgY29uc3QgTUVNT19QUk9HUkFNX1BLID0gJ01lbW9TcTRncUFCQVhLYjk2cW5IOFR5c05jV3hNeVdDcVhnRExHbWZjSHInO1xuXG5leHBvcnQgY29uc3QgU0VFRF9MRU5HVEggPSAzMjtcblxuZXhwb3J0IGNvbnN0IE1BWF9NRU1PX0xFTkdUSCA9IDEzMDtcbmV4cG9ydCBjb25zdCBTVEFLRV9BQ0NPVU5UX1JFTlRfRVhFTVBUX0FNT1VOVCA9IDIyODI4ODA7XG5cbi8qKlxuICogTWF4aW11bSBjb21wdXRlIHVuaXRzIGEgc2luZ2xlIHRyYW5zYWN0aW9uIGNhbiByZXF1ZXN0IHRocm91Z2ggdGhlIGNvbXB1dGVcbiAqIGJ1ZGdldCBwcm9ncmFtIChTZXRDb21wdXRlVW5pdExpbWl0KSwgZW5mb3JjZWQgb24tY2hhaW4gYnkgdGhlIHJ1bnRpbWUuXG4gKiBUaGUgcHJpb3JpdHkgZmVlIGlzIGNoYXJnZWQgb24gdGhlIHJlcXVlc3RlZCBsaW1pdCByYXRoZXIgdGhhbiB0aGUgdW5pdHNcbiAqIGFjdHVhbGx5IGNvbnN1bWVkLCBzbyBidWlsZGVycyBtdXN0IHNldCBhbiBpbnRlbnQtc2l6ZWQgbGltaXQgYmVsb3cgdGhpcyBjYXAuXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfQ09NUFVURV9VTklUX0xJTUlUID0gMV80MDBfMDAwO1xuXG5leHBvcnQgY29uc3QgVU5BVkFJTEFCTEVfVEVYVCA9ICdVTkFWQUlMQUJMRSc7XG5cbi8qKlxuICogU3lzdmFyIGluc3RydWN0aW9ucyBhY2NvdW50IGFkZHJlc3Mg4oCUIHVzZWQgYnkgVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXJcbiAqIGluc3RydWN0aW9ucyB0byBsb2NhdGUgaW5saW5lIHByb29mIHZlcmlmaWNhdGlvbiBpbnN0cnVjdGlvbnMgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBJTlNUUlVDVElPTlNfU1lTVkFSX0FERFJFU1MgPSAnU3lzdmFyMW5zdHJ1Y3Rpb25zMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG5cbi8qKlxuICogQ2Fub25pY2FsIG9uLWNoYWluIHByb2dyYW0gaWQgb2YgdGhlIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbS5cbiAqXG4gKiBUaGlzIGlzIHRoZSBzYW1lIGFjcm9zcyBtYWlubmV0LCBkZXZuZXQsIGFuZCB0ZXN0bmV0IOKAlCBpdCBpcyBhIG5hdGl2ZVxuICogYnVpbHQtaW4gcHJvZ3JhbS4gQ2FsbGVycyBjYW4gb3ZlcnJpZGUgdmlhIENvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlclxuICogLnprUHJvb2ZQcm9ncmFtSWQoKSBpZiB0YXJnZXRpbmcgYSBjdXN0b20gZGVwbG95bWVudC5cbiAqXG4gKiBOb3RlOiBUaGUgZGVwcmVjYXRlZCB6ay10b2tlbi1wcm9vZiBwcm9ncmFtIGlkIGlzXG4gKiBgWmtUb2tlblByb29mMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMWAuXG4gKi9cbmV4cG9ydCBjb25zdCBaS19FTEdBTUFMX1BST09GX1BST0dSQU1fSUQgPSAnWmtFMUdhbWExUHJvb2YxMTExMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG5cbi8qKlxuICogVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXIgZXh0ZW5zaW9uIGRpc2NyaW1pbmF0b3IgKGJ5dGUgMCBvZiBpbnN0cnVjdGlvbiBkYXRhKS5cbiAqL1xuZXhwb3J0IGNvbnN0IENUX0VYVF9ESVNDUklNSU5BVE9SID0gMjc7XG5cbi8qKlxuICogVmFsaWQgQ1Qgc3ViLWluc3RydWN0aW9uIGRpc2NyaW1pbmF0b3JzIChieXRlIDEgYWZ0ZXIgQ1RfRVhUX0RJU0NSSU1JTkFUT1IpLlxuICogVXNlZCBmb3IgdHJhbnNhY3Rpb24gdHlwZSBkZXRlY3Rpb24gKGdldFRyYW5zYWN0aW9uVHlwZSAvIGRlcml2ZVRyYW5zYWN0aW9uVHlwZSkuXG4gKi9cbmV4cG9ydCBjb25zdCBDVF9TVUJfRElTQ1JJTUlOQVRPUlMgPSBuZXcgU2V0PG51bWJlcj4oW1xuICAyLCAvLyBDb25maWd1cmVBY2NvdW50XG4gIDUsIC8vIERlcG9zaXRcbiAgNiwgLy8gV2l0aGRyYXdcbiAgNywgLy8gVHJhbnNmZXJcbiAgOCwgLy8gQXBwbHlQZW5kaW5nQmFsYW5jZVxuXSk7XG5cbi8qKlxuICogTWF4aW11bSBvdmVyLXRoZS13aXJlIHNpemUgb2YgYSBTb2xhbmEgdHJhbnNhY3Rpb24gKGluIGJ5dGVzKVxuICpcbiAqIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2FuemEteHl6L2FnYXZlL2Jsb2IvdjIuMS4xMy9zZGsvcGFja2V0L3NyYy9saWIucnMjTDI3LUwyOVxuICpcbiAqIENhbGN1bGF0aW9uOlxuICogLSBJUHY2IG1pbmltdW0gTVRVOiAxMjgwIGJ5dGVzXG4gKiAtIElQdjYgaGVhZGVyOiA0MCBieXRlc1xuICogLSBGcmFnbWVudC9VRFAgaGVhZGVyOiA4IGJ5dGVzXG4gKiAtIFJlc3VsdDogMTI4MCAtIDQwIC0gOCA9IDEyMzIgYnl0ZXNcbiAqXG4gKiBUaGlzIGxpbWl0IGlzIGRlc2lnbmVkIHRvIGF2b2lkIHBhY2tldCBmcmFnbWVudGF0aW9uIG9uIHR5cGljYWwgaW50ZXJuZXQgaW5mcmFzdHJ1Y3R1cmUuXG4gKiBUcmFuc2FjdGlvbnMgZXhjZWVkaW5nIHRoaXMgbGltaXQgd2lsbCBmYWlsIHRvIHNlcmlhbGl6ZSB3aXRoIGEgUmFuZ2VFcnJvciBkdXJpbmdcbiAqIHRoZSBlbmNvZGluZyBvZiB0aGUgdHJhbnNhY3Rpb24gbWVzc2FnZS5cbiAqXG4gKiBSZWZlcmVuY2U6IGh0dHBzOi8vc29sYW5hLmNvbS9kb2NzL2NvcmUvdHJhbnNhY3Rpb25zI3RyYW5zYWN0aW9uLXNpemVcbiAqL1xuZXhwb3J0IGNvbnN0IFNPTEFOQV9UUkFOU0FDVElPTl9NQVhfU0laRSA9IDEyMzI7XG5cbmV4cG9ydCBjb25zdCBKSVRPX1NUQUtFX1BPT0xfQUREUkVTUyA9ICdKaXRvNEFQeWY2NDJKUFpQeDNoR2M2V1dKOHpQS3RSYlJzNFA4MTVBd2JiJztcbmV4cG9ydCBjb25zdCBKSVRPU09MX01JTlRfQUREUkVTUyA9ICdKMXRvc28xdUNrM1JMbWpvcmhUdHJWd1k5SEo3WDhWOXlZYWM2WTdrR0NQbic7XG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX1JFU0VSVkVfQUNDT1VOVCA9ICdCZ0tVWGRTMjlZY0hDRnJQbTVNOG9MSGlUelphTURqc2ViZ2dqb2FRNktGTCc7XG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX1JFU0VSVkVfQUNDT1VOVF9URVNUTkVUID0gJ3JyV0JRcVJxQlhZWnczQ21QQ0NjakZ4UTJEczRKRkpkN29SUUo5OTdkaHonO1xuZXhwb3J0IGNvbnN0IEpJVE9fTUFOQUdFUl9GRUVfQUNDT1VOVCA9ICdmZWVlRkxMc2FtNnhaSkZjNlVRRnJIcWt2VnQ0amZtVnZpMkJSTGtVWjRpJztcbmV4cG9ydCBjb25zdCBKSVRPX01BTkFHRVJfRkVFX0FDQ09VTlRfVEVTVE5FVCA9ICdESDd0bWpvUTV6anFjZ2ZZSlUyMkpxbVhoUDVFWTF0a2JZcGdWV1VTMm9Obyc7XG5cbi8qKlxuICogT24tY2hhaW4gcHJvZ3JhbSBpZCBvZiB0aGUgc1JGQy0zNyBUb2tlbiBBQ0wgcHJvZ3JhbS4gVGhpcyBzaW5nbGUgcHJvZ3JhbSBnYXRlcyBldmVyeVxuICogYWxsb3dsaXN0L2Jsb2NrbGlzdCAoRGVmYXVsdEFjY291bnRTdGF0ZSkgVG9rZW4tMjAyMiBtaW50LCBzbyB0aGUgdmFsdWUgaXMgZ2VuZXJpYyBhbmQgbmV2ZXJcbiAqIHRpZWQgdG8gYSBzcGVjaWZpYyBpc3N1ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfUFJPR1JBTV9JRCA9ICdUQUNMa1U2Q2lDZGtRTjJNam95RGtWZzJ5QUg5emt4aUhEc2l6dFE1MlRQJztcblxuLyoqXG4gKiBJbnN0cnVjdGlvbiBkaXNjcmltaW5hdG9yIChhIHNpbmdsZSB1OCBieXRlKSBmb3IgdGhlIFRva2VuIEFDTCBgVGhhd1Blcm1pc3Npb25sZXNzSWRlbXBvdGVudGBcbiAqIGluc3RydWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgVEhBV19QRVJNSVNTSU9OTEVTU19JREVNUE9URU5UX0RJU0NSSU1JTkFUT1IgPSA5O1xuXG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgVG9rZW4gQUNMIHByb2dyYW0pIGZvciBhIG1pbnQncyBNaW50Q29uZmlnIGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX01JTlRfQ09ORklHX1NFRUQgPSAnTUlOVF9DT05GSUcnO1xuLyoqIFBEQSBzZWVkIHByZWZpeCAodW5kZXIgdGhlIFRva2VuIEFDTCBwcm9ncmFtKSBmb3IgYSB0b2tlbiBhY2NvdW50J3MgdGhhdyBmbGFnIGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX0ZMQUdfQUNDT1VOVF9TRUVEID0gJ0ZMQUdfQUNDT1VOVCc7XG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgZ2F0aW5nIHByb2dyYW0pIGZvciBhIG1pbnQncyB0aGF3IEV4dHJhQWNjb3VudE1ldGFMaXN0IGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX1RIQVdfRVhUUkFfTUVUQVNfU0VFRCA9ICd0aGF3X2V4dHJhX2FjY291bnRfbWV0YXMnO1xuXG4vLyBTZGsgaW5zdHJ1Y3Rpb25zLCBtYWlubHkgdG8gY2hlY2sgZGVjb2RlZCB0eXBlcy5cbmV4cG9ydCBlbnVtIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0ge1xuICBBZHZhbmNlTm9uY2VBY2NvdW50ID0gJ0FkdmFuY2VOb25jZUFjY291bnQnLFxuICBDcmVhdGUgPSAnQ3JlYXRlJyxcbiAgSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCA9ICdJbml0aWFsaXplTm9uY2VBY2NvdW50JyxcbiAgU3Rha2luZ0luaXRpYWxpemUgPSAnSW5pdGlhbGl6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdEZWxlZ2F0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ0RlYWN0aXZhdGUnLFxuICBTdGFraW5nV2l0aGRyYXcgPSAnV2l0aGRyYXcnLFxuICBUcmFuc2ZlciA9ICdUcmFuc2ZlcicsXG4gIFRva2VuVHJhbnNmZXIgPSAnVG9rZW5UcmFuc2ZlcicsXG4gIE1lbW8gPSAnTWVtbycsXG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0luaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0Nsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ1JlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQWxsb2NhdGUgPSAnQWxsb2NhdGUnLFxuICBBc3NpZ24gPSAnQXNzaWduJyxcbiAgU3BsaXQgPSAnU3BsaXQnLFxuICBBdXRob3JpemUgPSAnQXV0aG9yaXplJyxcbiAgU2V0Q29tcHV0ZVVuaXRMaW1pdCA9ICdTZXRDb21wdXRlVW5pdExpbWl0JyxcbiAgU2V0UHJpb3JpdHlGZWUgPSAnU2V0UHJpb3JpdHlGZWUnLFxuICBNaW50VG8gPSAnTWludFRvJyxcbiAgQnVybiA9ICdCdXJuJyxcbiAgRGVwb3NpdFNvbCA9ICdEZXBvc2l0U29sJyxcbiAgV2l0aGRyYXdTdGFrZSA9ICdXaXRoZHJhd1N0YWtlJyxcbiAgV2l0aGRyYXdTb2wgPSAnV2l0aGRyYXdTb2wnLFxuICBBcHByb3ZlID0gJ0FwcHJvdmUnLFxuICBDdXN0b21JbnN0cnVjdGlvbiA9ICdDdXN0b21JbnN0cnVjdGlvbicsXG4gIFBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQgPSAnUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCcsXG4gIC8vIENvbmZpZGVudGlhbCBUcmFuc2ZlciBpbnN0cnVjdGlvbiB0eXBlcyAoVG9rZW4tMjAyMiBDVCBleHRlbnNpb24gKyB6ay1lbGdhbWFsLXByb29mKVxuICBDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQgPSAnQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50JyxcbiAgQXBwbHlQZW5kaW5nQmFsYW5jZSA9ICdBcHBseVBlbmRpbmdCYWxhbmNlJyxcbiAgQ29uZmlkZW50aWFsRGVwb3NpdCA9ICdDb25maWRlbnRpYWxEZXBvc2l0JyxcbiAgQ29uZmlkZW50aWFsV2l0aGRyYXcgPSAnQ29uZmlkZW50aWFsV2l0aGRyYXcnLFxuICBDb25maWRlbnRpYWxUcmFuc2ZlciA9ICdDb25maWRlbnRpYWxUcmFuc2ZlcicsXG4gIFZlcmlmeVB1YmtleVZhbGlkaXR5ID0gJ1ZlcmlmeVB1YmtleVZhbGlkaXR5JyxcbiAgVmVyaWZ5RXF1YWxpdHlQcm9vZiA9ICdWZXJpZnlFcXVhbGl0eVByb29mJyxcbiAgVmVyaWZ5VmFsaWRpdHlQcm9vZiA9ICdWZXJpZnlWYWxpZGl0eVByb29mJyxcbiAgVmVyaWZ5UmFuZ2VQcm9vZiA9ICdWZXJpZnlSYW5nZVByb29mJyxcbn1cblxuLy8gSW50ZXJuYWwgaW5zdHJ1Y3Rpb25zIHR5cGVzXG5leHBvcnQgZW51bSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB7XG4gIENyZWF0ZU5vbmNlQWNjb3VudCA9ICdDcmVhdGVOb25jZUFjY291bnQnLFxuICBTdGFraW5nQWN0aXZhdGUgPSAnQWN0aXZhdGUnLFxuICBTdGFraW5nRGVhY3RpdmF0ZSA9ICdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1dpdGhkcmF3JyxcbiAgVHJhbnNmZXIgPSAnVHJhbnNmZXInLFxuICBNZW1vID0gJ01lbW8nLFxuICBOb25jZUFkdmFuY2UgPSAnTm9uY2VBZHZhbmNlJyxcbiAgQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgUmVhbGxvY2F0ZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdSZWFsbG9jYXRlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50JyxcbiAgQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0Nsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ1JlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgVG9rZW5UcmFuc2ZlciA9ICdUb2tlblRyYW5zZmVyJyxcbiAgU3Rha2luZ0F1dGhvcml6ZSA9ICdBdXRob3JpemUnLFxuICBTdGFraW5nRGVsZWdhdGUgPSAnRGVsZWdhdGUnLFxuICBTZXRDb21wdXRlVW5pdExpbWl0ID0gJ1NldENvbXB1dGVVbml0TGltaXQnLFxuICBTZXRQcmlvcml0eUZlZSA9ICdTZXRQcmlvcml0eUZlZScsXG4gIE1pbnRUbyA9ICdNaW50VG8nLFxuICBCdXJuID0gJ0J1cm4nLFxuICBDdXN0b21JbnN0cnVjdGlvbiA9ICdDdXN0b21JbnN0cnVjdGlvbicsXG4gIFZlcnNpb25lZEN1c3RvbUluc3RydWN0aW9uID0gJ1ZlcnNpb25lZEN1c3RvbUluc3RydWN0aW9uJyxcbiAgQXBwcm92ZSA9ICdBcHByb3ZlJyxcbiAgV2l0aGRyYXdTdGFrZSA9ICdXaXRoZHJhd1N0YWtlJyxcbiAgUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCA9ICdQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50JyxcbiAgLy8gQ29uZmlkZW50aWFsIFRyYW5zZmVyIGluc3RydWN0aW9uIHR5cGVzIChUb2tlbi0yMDIyIENUIGV4dGVuc2lvbiArIHprLWVsZ2FtYWwtcHJvb2YpXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBBcHBseVBlbmRpbmdCYWxhbmNlID0gJ0FwcGx5UGVuZGluZ0JhbGFuY2UnLFxuICBDb25maWRlbnRpYWxEZXBvc2l0ID0gJ0NvbmZpZGVudGlhbERlcG9zaXQnLFxuICBDb25maWRlbnRpYWxXaXRoZHJhdyA9ICdDb25maWRlbnRpYWxXaXRoZHJhdycsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbiAgVmVyaWZ5UHVia2V5VmFsaWRpdHkgPSAnVmVyaWZ5UHVia2V5VmFsaWRpdHknLFxuICBWZXJpZnlFcXVhbGl0eVByb29mID0gJ1ZlcmlmeUVxdWFsaXR5UHJvb2YnLFxuICBWZXJpZnlWYWxpZGl0eVByb29mID0gJ1ZlcmlmeVZhbGlkaXR5UHJvb2YnLFxuICBWZXJpZnlSYW5nZVByb29mID0gJ1ZlcmlmeVJhbmdlUHJvb2YnLFxufVxuXG5leHBvcnQgY29uc3QgVkFMSURfU1lTVEVNX0lOU1RSVUNUSU9OX1RZUEVTOiBWYWxpZEluc3RydWN0aW9uVHlwZXNbXSA9IFtcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BZHZhbmNlTm9uY2VBY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkNyZWF0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nSW5pdGlhbGl6ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nRGVsZWdhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ0RlYWN0aXZhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ1dpdGhkcmF3LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlRyYW5zZmVyLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkluaXRpYWxpemVOb25jZUFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uTWVtbyxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Jbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5DbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uVG9rZW5UcmFuc2ZlcixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BbGxvY2F0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Bc3NpZ24sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3BsaXQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXV0aG9yaXplLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlNldENvbXB1dGVVbml0TGltaXQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU2V0UHJpb3JpdHlGZWUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uTWludFRvLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkJ1cm4sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXBwcm92ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5EZXBvc2l0U29sLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLldpdGhkcmF3U3Rha2UsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uV2l0aGRyYXdTb2wsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQ3VzdG9tSW5zdHJ1Y3Rpb24sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCxcbl07XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFdhbGxldCBJbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHdhbGxldEluaXRJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIENyZWF0ZTogMCxcbiAgSW5pdGlhbGl6ZU5vbmNlQWNjb3VudDogMSxcbiAgTWVtbzogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQ3JlYXRlOiAwLFxuICBJbml0aWFsaXplOiAxLFxuICBEZWxlZ2F0ZTogMixcbiAgTWVtbzogMyxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIE1hcmluYWRlIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgbWFyaW5hZGVTdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBDcmVhdGU6IDAsXG4gIEluaXRpYWxpemU6IDEsXG4gIE1lbW86IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlcG9zaXRTb2w6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdBY3RpdmF0ZVdpdGhBVEFJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgRGVwb3NpdFNvbDogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBBcHByb3ZlOiAwLFxuICBDcmVhdGU6IDEsXG4gIFdpdGhkcmF3U3Rha2U6IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIEF1dGhvcml6ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nQXV0aG9yaXplSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQXV0aG9yaXplOiAwLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBEZWxlZ2F0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nRGVsZWdhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBEZWxlZ2F0ZTogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlYWN0aXZhdGU6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBNYXJpbmFkZSBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgbWFyaW5hZGVTdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBNZW1vOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgUGFydGlhbCBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlZCAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdQYXJ0aWFsRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBBbGxvY2F0ZTogMSxcbiAgQXNzaWduOiAyLFxuICBTcGxpdDogMyxcbiAgRGVhY3RpdmF0ZTogNCxcbiAgTWVtbzogNSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgV2l0aGRyYXcgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ1dpdGhkcmF3SW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgV2l0aGRyYXc6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBBVEEgaW5pdCBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBhdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEFUQSBpbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGF0YUNsb3NlSW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSByZWNvdmVyIG5lc3RlZCBBVEEgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgYXRhUmVjb3Zlck5lc3RlZEluc3RydWN0aW9uSW5kZXhlcyA9IHtcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgbm9uY2VBZHZhbmNlSW5zdHJ1Y3Rpb24gPSAnQWR2YW5jZU5vbmNlQWNjb3VudCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEgPSAnMGEwMDAwMDAwMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEyID0gJzBhMDAwMDAwMDAwMDAwMDAnO1xuIl19
|
|
@@ -22,7 +22,7 @@ export interface TxData {
|
|
|
22
22
|
durableNonce?: DurableNonceParams;
|
|
23
23
|
instructionsData: InstructionParams[];
|
|
24
24
|
}
|
|
25
|
-
export type InstructionParams = Nonce | Memo | WalletInit | SetComputeUnitLimit | SetPriorityFee | Transfer | StakingActivate | StakingDeactivate | StakingWithdraw | AtaInit | AtaClose | AtaRecoverNested | TokenTransfer | StakingAuthorize | StakingDelegate | MintTo | Burn | Approve | CustomInstruction | VersionedCustomInstruction | PermissionlessThawIdempotent | ConfigureConfidentialTransferAccount | ApplyPendingBalance | ConfidentialDeposit | ConfidentialWithdraw | ConfidentialTransfer | VerifyPubkeyValidity | VerifyEqualityProof | VerifyValidityProof | VerifyRangeProof;
|
|
25
|
+
export type InstructionParams = Nonce | Memo | WalletInit | SetComputeUnitLimit | SetPriorityFee | Transfer | StakingActivate | StakingDeactivate | StakingWithdraw | AtaInit | ReallocateConfidentialTransferAccount | AtaClose | AtaRecoverNested | TokenTransfer | StakingAuthorize | StakingDelegate | MintTo | Burn | Approve | CustomInstruction | VersionedCustomInstruction | PermissionlessThawIdempotent | ConfigureConfidentialTransferAccount | ApplyPendingBalance | ConfidentialDeposit | ConfidentialWithdraw | ConfidentialTransfer | VerifyPubkeyValidity | VerifyEqualityProof | VerifyValidityProof | VerifyRangeProof;
|
|
26
26
|
export interface Memo {
|
|
27
27
|
type: InstructionBuilderTypes.Memo;
|
|
28
28
|
params: {
|
|
@@ -239,6 +239,16 @@ export interface AtaInit {
|
|
|
239
239
|
programId?: string;
|
|
240
240
|
};
|
|
241
241
|
}
|
|
242
|
+
export interface ReallocateConfidentialTransferAccount {
|
|
243
|
+
type: InstructionBuilderTypes.ReallocateConfidentialTransferAccount;
|
|
244
|
+
params: {
|
|
245
|
+
/** Token-2022 account receiving the ConfidentialTransferAccount extension. */
|
|
246
|
+
tokenAddress: string;
|
|
247
|
+
payerAddress: string;
|
|
248
|
+
ownerAddress: string;
|
|
249
|
+
programId?: string;
|
|
250
|
+
};
|
|
251
|
+
}
|
|
242
252
|
export interface AtaClose {
|
|
243
253
|
type: InstructionBuilderTypes.CloseAssociatedTokenAccount;
|
|
244
254
|
params: {
|
|
@@ -326,6 +336,8 @@ export interface ConfigureConfidentialTransferAccount {
|
|
|
326
336
|
tokenAddress: string;
|
|
327
337
|
mintAddress: string;
|
|
328
338
|
authorityAddress: string;
|
|
339
|
+
/** 32-byte ElGamal pubkey registered on the token account (hex). */
|
|
340
|
+
elgamalPubkey: string;
|
|
329
341
|
/** Instructions sysvar (inline proof) or context state account (pre-verified proof). Defaults to instructions sysvar. */
|
|
330
342
|
instructionsSysvarOrContextStateAddress?: string;
|
|
331
343
|
/** AES-encrypted zero balance (36 bytes hex). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
|