@bitgo-beta/sdk-coin-trx 1.0.2-beta.232 → 1.0.2-beta.2321
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/resources/protobuf/Contract.proto +32 -0
- package/dist/resources/protobuf/tron.d.ts +1478 -214
- package/dist/resources/protobuf/tron.js +6312 -2600
- package/dist/resources/protobuf/tron.proto +6 -0
- package/dist/src/index.js +6 -2
- package/dist/src/lib/accountCreateTxBuilder.d.ts +60 -0
- package/dist/src/lib/accountCreateTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/accountCreateTxBuilder.js +191 -0
- package/dist/src/lib/constants.d.ts +4 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +7 -0
- package/dist/src/lib/contractCallBuilder.d.ts +1 -35
- package/dist/src/lib/contractCallBuilder.d.ts.map +1 -1
- package/dist/src/lib/contractCallBuilder.js +13 -76
- package/dist/src/lib/delegateResourceTxBuilder.d.ts +27 -0
- package/dist/src/lib/delegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/delegateResourceTxBuilder.js +104 -0
- package/dist/src/lib/enum.d.ts +40 -1
- package/dist/src/lib/enum.d.ts.map +1 -1
- package/dist/src/lib/enum.js +44 -4
- package/dist/src/lib/freezeBalanceTxBuilder.d.ts +71 -0
- package/dist/src/lib/freezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/freezeBalanceTxBuilder.js +217 -0
- package/dist/src/lib/iface.d.ts +248 -2
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/index.js +23 -9
- package/dist/src/lib/keyPair.d.ts +0 -1
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +31 -18
- package/dist/src/lib/resourceManagementTxBuilder.d.ts +72 -0
- package/dist/src/lib/resourceManagementTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/resourceManagementTxBuilder.js +150 -0
- package/dist/src/lib/tokenTransferBuilder.d.ts +1 -1
- package/dist/src/lib/tokenTransferBuilder.d.ts.map +1 -1
- package/dist/src/lib/tokenTransferBuilder.js +5 -3
- package/dist/src/lib/transaction.d.ts +3 -0
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +115 -6
- package/dist/src/lib/transactionBuilder.d.ts +53 -6
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +121 -22
- package/dist/src/lib/undelegateResourceTxBuilder.d.ts +27 -0
- package/dist/src/lib/undelegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/undelegateResourceTxBuilder.js +104 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts +65 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/unfreezeBalanceTxBuilder.js +210 -0
- package/dist/src/lib/utils.d.ts +115 -8
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +534 -55
- package/dist/src/lib/voteWitnessTxBuilder.d.ts +62 -0
- package/dist/src/lib/voteWitnessTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/voteWitnessTxBuilder.js +219 -0
- package/dist/src/lib/withdrawBuilder.d.ts +49 -0
- package/dist/src/lib/withdrawBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawBuilder.js +167 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts +49 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.d.ts.map +1 -0
- package/dist/src/lib/withdrawExpireUnfreezeTxBuilder.js +167 -0
- package/dist/src/lib/wrappedBuilder.d.ts +67 -1
- package/dist/src/lib/wrappedBuilder.d.ts.map +1 -1
- package/dist/src/lib/wrappedBuilder.js +114 -4
- package/dist/src/trx.d.ts +146 -8
- package/dist/src/trx.d.ts.map +1 -1
- package/dist/src/trx.js +705 -160
- package/dist/src/trxToken.d.ts +2 -2
- package/dist/src/trxToken.d.ts.map +1 -1
- package/dist/src/trxToken.js +22 -7
- package/dist/test/fixtures.d.ts +40 -0
- package/dist/test/fixtures.d.ts.map +1 -0
- package/dist/test/fixtures.js +46 -0
- package/dist/test/resources.d.ts +614 -0
- package/dist/test/resources.d.ts.map +1 -0
- package/dist/test/resources.js +782 -0
- package/dist/test/unit/index.d.ts +2 -0
- package/dist/test/unit/index.d.ts.map +1 -0
- package/dist/test/unit/index.js +19 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +163 -0
- package/dist/test/unit/transaction.d.ts +2 -0
- package/dist/test/unit/transaction.d.ts.map +1 -0
- package/dist/test/unit/transaction.js +38 -0
- package/dist/test/unit/transactionBuilder/accountCreateTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/accountCreateTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/accountCreateTxBuilder.js +248 -0
- package/dist/test/unit/transactionBuilder/contractCallBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/contractCallBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/contractCallBuilder.js +315 -0
- package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/delegateResourceTxBuilder.js +339 -0
- package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/freezeBalanceTxBuilder.js +365 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +87 -0
- package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/undelegateResourceTxBuilder.js +339 -0
- package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/unfreezeBalanceTxBuilder.js +336 -0
- package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/voteWitnessTxBuilder.js +277 -0
- package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/withdrawBalanceBuilder.js +213 -0
- package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/withdrawExpireUnfreezeTxBuilder.js +213 -0
- package/dist/test/unit/transactionBuilder/wrappedBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder/wrappedBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder/wrappedBuilder.js +68 -0
- package/dist/test/unit/transactionBuilder.d.ts +2 -0
- package/dist/test/unit/transactionBuilder.d.ts.map +1 -0
- package/dist/test/unit/transactionBuilder.js +178 -0
- package/dist/test/unit/trx.d.ts +2 -0
- package/dist/test/unit/trx.d.ts.map +1 -0
- package/dist/test/unit/trx.js +843 -0
- package/dist/test/unit/trxToken.d.ts +2 -0
- package/dist/test/unit/trxToken.d.ts.map +1 -0
- package/dist/test/unit/trxToken.js +152 -0
- package/dist/test/unit/util.d.ts +2 -0
- package/dist/test/unit/util.d.ts.map +1 -0
- package/dist/test/unit/util.js +156 -0
- package/dist/test/unit/verifyTransaction.d.ts +2 -0
- package/dist/test/unit/verifyTransaction.d.ts.map +1 -0
- package/dist/test/unit/verifyTransaction.js +695 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +22 -16
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
- package/CHANGELOG.md +0 -118
- package/resources/README.md +0 -31
- package/resources/protobuf/Contract.proto +0 -256
- package/resources/protobuf/Discover.proto +0 -44
- package/resources/protobuf/tron.d.ts +0 -11205
- package/resources/protobuf/tron.js +0 -33480
- package/resources/protobuf/tron.proto +0 -677
|
@@ -0,0 +1,782 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// There is a file called "trx" in resources directory but it should be
|
|
3
|
+
// removed in the future and add that data to this file.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.UnsignedInvalidTimeStampBuildTransaction = exports.UnsignedInvalidExpirationBuildTransaction = exports.UnsignedBuildInvalidIDTransaction = exports.UnsignedBuildEmptyIDTransaction = exports.InvalidIDTransaction = exports.SignedAccountPermissionUpdateContractTx = exports.UnsignedAccountPermissionUpdateContractTx = exports.AccountPermissionUpdateContractPriv = exports.UnsignedTransferContractTx = exports.SecondSigOnBuildTransaction = exports.FirstSigOnBuildTransaction = exports.UnsignedBuildTransaction = exports.SampleRawTokenSendTxn = exports.TssTestRecoverData = exports.TestRecoverData = exports.SecondExpectedSig = exports.FirstExpectedSig = exports.SecondExpectedKeyAddress = exports.FirstExpectedKeyAddress = exports.SecondPrivateKey = exports.FirstPrivateKey = exports.ACCOUNT_CREATE_CONTRACT = exports.UNDELEGATE_RESOURCE_CONTRACT = exports.DELEGATE_RESOURCE_CONTRACT = exports.TOKEN_TX_CONTRACT_2 = exports.TOKEN_TX_CONTRACT = exports.VOTE_WITNESS_CONTRACT = exports.WITHDRAW_BALANCE_CONTRACT = exports.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT = exports.UNFREEZE_BALANCE_V2_CONTRACT = exports.FREEZE_BALANCE_V2_CONTRACT = exports.TX_CONTRACT = exports.CONTRACTS = exports.PARTICIPANTS = exports.TOKEN_TXID = exports.TOKEN_TRANSFER_DATA_2 = exports.TOKEN_TRANSFER_RECIPIENT = exports.USDT_CONTRACT_ADDRESS = exports.UNFROZEN_BALANCE = exports.UNDELEGATION_BALANCE = exports.DELEGATION_BALANCE = exports.FROZEN_BALANCE = exports.RESOURCE_BANDWIDTH = exports.RESOURCE_ENERGY = exports.TOKEN_TRANSFER_DATA = exports.EXPIRATION = exports.MINT_CONFIRM_DATA = exports.BLOCK_HASH = exports.BLOCK_NUMBER = exports.FEE_LIMIT = void 0;
|
|
6
|
+
exports.validWithdrawUnsignedTx = exports.validUnfreezeUnsignedTx = exports.mockTokenTx = exports.UnsignedInvalidContractBuildTransaction = void 0;
|
|
7
|
+
exports.baseAddressBalance = baseAddressBalance;
|
|
8
|
+
exports.receiveAddressBalance = receiveAddressBalance;
|
|
9
|
+
exports.creationTransaction = creationTransaction;
|
|
10
|
+
// # Contract call data fields
|
|
11
|
+
exports.FEE_LIMIT = '10000';
|
|
12
|
+
exports.BLOCK_NUMBER = 51407;
|
|
13
|
+
exports.BLOCK_HASH = '0000000000badb0d89177fd84c5d9196021cc1085b9e689b3e9a6195cac8bcae';
|
|
14
|
+
exports.MINT_CONFIRM_DATA = '2bf90baa1273140c3e1b5756b242cc88cd7c4dd8a61bf85cb5c1dd5f50ba61e066b53a15';
|
|
15
|
+
exports.EXPIRATION = 60000;
|
|
16
|
+
exports.TOKEN_TRANSFER_DATA = 'a9059cbb0000000000000000000000004887974f42a789ef6d4dfc7ba28b1583219434b3000000000000000000000000000000000000000000000000000000003b9aca00';
|
|
17
|
+
exports.RESOURCE_ENERGY = 'ENERGY';
|
|
18
|
+
exports.RESOURCE_BANDWIDTH = 'BANDWIDTH';
|
|
19
|
+
exports.FROZEN_BALANCE = '1000000';
|
|
20
|
+
exports.DELEGATION_BALANCE = '1000000';
|
|
21
|
+
exports.UNDELEGATION_BALANCE = '1000000';
|
|
22
|
+
exports.UNFROZEN_BALANCE = '1000000';
|
|
23
|
+
exports.USDT_CONTRACT_ADDRESS = 'TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs';
|
|
24
|
+
exports.TOKEN_TRANSFER_RECIPIENT = 'TGai5uHgBcoLERrzDXMepqZB8Et7D8nV8K';
|
|
25
|
+
exports.TOKEN_TRANSFER_DATA_2 = 'a9059cbb0000000000000000000000008483618ca85c35a9b923d98bebca718f5a1db2790000000000000000000000000000000000000000000000000000000005f5e100';
|
|
26
|
+
exports.TOKEN_TXID = 'fe21c49f4febd9089125e3a006943c145721d8fcb7ab84136f8c6663ff92f8ed';
|
|
27
|
+
exports.PARTICIPANTS = {
|
|
28
|
+
from: {
|
|
29
|
+
address: 'TVYygaQGXRKvc4GBeDXBWh4FRDVSdTeCua',
|
|
30
|
+
pk: 'e71c05b814f44ac519b4b9029227fccc1d9bf3e1456f4840a2c9aa87d7f6dd3b',
|
|
31
|
+
},
|
|
32
|
+
custodian: {
|
|
33
|
+
address: 'TLWh67P93KgtnZNCtGnEHM1H33Nhq2uvvN',
|
|
34
|
+
pk: 'c4b3a04836efc2ee2917235f55ccfb2dcf6b8341e5ea0405da5ba10cd526dfed',
|
|
35
|
+
bitcoinAddress: '2MytEhVhDLyEzmfeSA7yJ46yf5GhuKZ6gce',
|
|
36
|
+
},
|
|
37
|
+
merchant: {
|
|
38
|
+
address: 'TBmTq8r22tfd4csEyxEcaKiKRVdkha5Xr2',
|
|
39
|
+
pk: 'bbf446b0d3c07a6e19675af24242f9718a734fd4d080e8a62b1f6d6a337bc18f',
|
|
40
|
+
bitcoinAddress: '2NDjgTKnakBynrwSoyFpSinMsx9PPfubd2e',
|
|
41
|
+
},
|
|
42
|
+
multisig: {
|
|
43
|
+
address: 'TFfsxb2oxGwswbmaNwVzFU8v8zecyGqfyj',
|
|
44
|
+
pk: '477a9a5491a3bac32ec5f431ebab90143dbc251bbbb016a625e8c096fd6365d4',
|
|
45
|
+
},
|
|
46
|
+
to: {
|
|
47
|
+
address: 'TLBPLGBuYhQmdzQAEQvBhw7LKzcw1TSSG9',
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
exports.CONTRACTS = {
|
|
51
|
+
token: 'TUARZw4YBWF1BECZE7v36QZRQy9MFjvjH5',
|
|
52
|
+
controller: 'TXjhEMM1oHfSdPaXQSZ2V4CmC76v8EL8xo',
|
|
53
|
+
members: 'TSDWGQigVD8awFNetpfpJLVnkCGByDgdDt',
|
|
54
|
+
factory: 'TRHsfoMda4ADiSUPnJ9XL3PhyNw6X14UMi',
|
|
55
|
+
};
|
|
56
|
+
exports.TX_CONTRACT = [
|
|
57
|
+
{
|
|
58
|
+
parameter: {
|
|
59
|
+
value: {
|
|
60
|
+
data: exports.MINT_CONFIRM_DATA,
|
|
61
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
62
|
+
contract_address: '41a811a706c9d6e5062835063c08165ea7990927c2',
|
|
63
|
+
},
|
|
64
|
+
type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
|
|
65
|
+
},
|
|
66
|
+
type: 'TriggerSmartContract',
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
exports.FREEZE_BALANCE_V2_CONTRACT = [
|
|
70
|
+
{
|
|
71
|
+
parameter: {
|
|
72
|
+
value: {
|
|
73
|
+
resource: 'ENERGY',
|
|
74
|
+
frozen_balance: 1000000,
|
|
75
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
76
|
+
},
|
|
77
|
+
type_url: 'type.googleapis.com/protocol.FreezeBalanceV2Contract',
|
|
78
|
+
},
|
|
79
|
+
type: 'FreezeBalanceV2Contract',
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
exports.UNFREEZE_BALANCE_V2_CONTRACT = [
|
|
83
|
+
{
|
|
84
|
+
parameter: {
|
|
85
|
+
value: {
|
|
86
|
+
resource: 'ENERGY',
|
|
87
|
+
unfreeze_balance: 1000000,
|
|
88
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
89
|
+
},
|
|
90
|
+
type_url: 'type.googleapis.com/protocol.UnfreezeBalanceV2Contract',
|
|
91
|
+
},
|
|
92
|
+
type: 'UnfreezeBalanceV2Contract',
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
exports.WITHDRAW_EXPIRE_UNFREEZE_CONTRACT = [
|
|
96
|
+
{
|
|
97
|
+
parameter: {
|
|
98
|
+
value: {
|
|
99
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
100
|
+
},
|
|
101
|
+
type_url: 'type.googleapis.com/protocol.WithdrawExpireUnfreezeContract',
|
|
102
|
+
},
|
|
103
|
+
type: 'WithdrawExpireUnfreezeContract',
|
|
104
|
+
},
|
|
105
|
+
];
|
|
106
|
+
exports.WITHDRAW_BALANCE_CONTRACT = [
|
|
107
|
+
{
|
|
108
|
+
parameter: {
|
|
109
|
+
value: {
|
|
110
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
111
|
+
},
|
|
112
|
+
type_url: 'type.googleapis.com/protocol.WithdrawBalanceContract',
|
|
113
|
+
},
|
|
114
|
+
type: 'WithdrawBalanceContract',
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
exports.VOTE_WITNESS_CONTRACT = [
|
|
118
|
+
{
|
|
119
|
+
parameter: {
|
|
120
|
+
value: {
|
|
121
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
122
|
+
votes: [
|
|
123
|
+
{
|
|
124
|
+
vote_address: '41F16412B9A17EE9408646E2A21E16478F72ED1E95',
|
|
125
|
+
vote_count: 1000,
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
vote_address: '41CF9E12E0F48573C84BC88D8FF7C50567485AAA24',
|
|
129
|
+
vote_count: 2000,
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
type_url: 'type.googleapis.com/protocol.VoteWitnessContract',
|
|
134
|
+
},
|
|
135
|
+
type: 'VoteWitnessContract',
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
exports.TOKEN_TX_CONTRACT = [
|
|
139
|
+
{
|
|
140
|
+
parameter: {
|
|
141
|
+
value: {
|
|
142
|
+
data: exports.TOKEN_TRANSFER_DATA,
|
|
143
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
144
|
+
contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0',
|
|
145
|
+
},
|
|
146
|
+
type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
|
|
147
|
+
},
|
|
148
|
+
type: 'TriggerSmartContract',
|
|
149
|
+
},
|
|
150
|
+
];
|
|
151
|
+
exports.TOKEN_TX_CONTRACT_2 = [
|
|
152
|
+
{
|
|
153
|
+
parameter: {
|
|
154
|
+
value: {
|
|
155
|
+
data: exports.TOKEN_TRANSFER_DATA_2,
|
|
156
|
+
owner_address: '41c51fbeea78910b15b1d3e8a9b62914ca94d1a4ac',
|
|
157
|
+
contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0',
|
|
158
|
+
},
|
|
159
|
+
type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
|
|
160
|
+
},
|
|
161
|
+
type: 'TriggerSmartContract',
|
|
162
|
+
},
|
|
163
|
+
];
|
|
164
|
+
exports.DELEGATE_RESOURCE_CONTRACT = [
|
|
165
|
+
{
|
|
166
|
+
parameter: {
|
|
167
|
+
value: {
|
|
168
|
+
resource: 'ENERGY',
|
|
169
|
+
balance: 1000000,
|
|
170
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
171
|
+
receiver_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
172
|
+
},
|
|
173
|
+
type_url: 'type.googleapis.com/protocol.DelegateResourceContract',
|
|
174
|
+
},
|
|
175
|
+
type: 'DelegateResourceContract',
|
|
176
|
+
},
|
|
177
|
+
];
|
|
178
|
+
exports.UNDELEGATE_RESOURCE_CONTRACT = [
|
|
179
|
+
{
|
|
180
|
+
parameter: {
|
|
181
|
+
value: {
|
|
182
|
+
resource: 'ENERGY',
|
|
183
|
+
balance: 1000000,
|
|
184
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
185
|
+
receiver_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
186
|
+
},
|
|
187
|
+
type_url: 'type.googleapis.com/protocol.UnDelegateResourceContract',
|
|
188
|
+
},
|
|
189
|
+
type: 'UnDelegateResourceContract',
|
|
190
|
+
},
|
|
191
|
+
];
|
|
192
|
+
// owner = TLWh67P93KgtnZNCtGnEHM1H33Nhq2uvvN (custodian), account = TLBPLGBuYhQmdzQAEQvBhw7LKzcw1TSSG9 (to)
|
|
193
|
+
exports.ACCOUNT_CREATE_CONTRACT = [
|
|
194
|
+
{
|
|
195
|
+
parameter: {
|
|
196
|
+
value: {
|
|
197
|
+
owner_address: '4173a5993cd182ae152adad8203163f780c65a8aa5',
|
|
198
|
+
account_address: '416ffedf93921506c3efdb510f7c4f256036c48a6a',
|
|
199
|
+
},
|
|
200
|
+
type_url: 'type.googleapis.com/protocol.AccountCreateContract',
|
|
201
|
+
},
|
|
202
|
+
type: 'AccountCreateContract',
|
|
203
|
+
},
|
|
204
|
+
];
|
|
205
|
+
// DO NOT RE-USE THIS PRV FOR REAL MONEY
|
|
206
|
+
exports.FirstPrivateKey = '2DBEAC1C22849F47514445A56AEF2EF164528A502DE4BD289E23EA1E2D4C4B06';
|
|
207
|
+
exports.SecondPrivateKey = 'FB3AA887E0BE3FAC9D75E661DAFF4A7FE0E91AAB13DA9775CD8586D7CB9B7640';
|
|
208
|
+
exports.FirstExpectedKeyAddress = 'TTsGwnTLQ4eryFJpDvJSfuGQxPXRCjXvZz';
|
|
209
|
+
exports.SecondExpectedKeyAddress = 'TDzm1tCXM2YS1PDa3GoXSvxdy4AgwVbBPE';
|
|
210
|
+
exports.FirstExpectedSig = 'bd08e6cd876bb573dd00a32870b58b70ea8b7908f5131686502589941bfa4fdda76b8c81bbbcfc549be6d4988657cea122df7da46c72041def2683d6ecb04a7401';
|
|
211
|
+
exports.SecondExpectedSig = 'f3cabe2f4aed13e2342c78c7bf4626ea36cd6509a44418c24866814d3426703686be9ef21bd993324c520565beee820201f2a50a9ac971732410d3eb69cdb2a600';
|
|
212
|
+
exports.TestRecoverData = {
|
|
213
|
+
userKey: 'xpub6BvMpt8ke8tCycBBw6uDob6PyNBkHbTyEztaRuwdMZhpiFk1mXpS7P7iv4c4w7XWFFRySMokUuFUqqgpZxK5wLxm6pgjpkNFhKsMaXTJoUN',
|
|
214
|
+
backupKey: 'xpub687kC8LeSJwj1gYQr4Js2BHbLK1nFeLvMzsDmH2LKMNrqAHNfeCw1sp61cbf2WxeY1QssaUBh9EFJbJ9LBuPivv7XDsFPVaFYj19ueCNczT',
|
|
215
|
+
bitgoKey: 'xpub661MyMwAqRbcFHCRyasU67NCA7V7goqUFPXvzsEiJd4SchCKyPtigHALvve5wtBdyHMZCWqpGzEsrQtfz6mE9m5QXWDantgbkmu56xvLwe3',
|
|
216
|
+
baseAddress: 'TTgisRP7EJWMgpLXvbNHoHh5UotkjkBPoo',
|
|
217
|
+
firstReceiveAddress: 'TXD3WiQZGCKTbYjNyxpzyaT8TtNkeTq12V',
|
|
218
|
+
secondReceiveAddress: 'TCeoT36uUTtzatTnPh77veqTy4utYujXW6',
|
|
219
|
+
recoveryDestination: 'TWkzN4WjxkyoRTmFHaMQ9po77uEerngjyQ',
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* TSS recovery test data.
|
|
223
|
+
*
|
|
224
|
+
* bitgoKey is a compressed secp256k1 public key (66 hex chars) used as the commonKeychain.
|
|
225
|
+
* The wallet address is derived from it via new TronKeyPair({ pub: bitgoKey }).getAddress().
|
|
226
|
+
* userPrvKey is the raw secp256k1 private key hex that the encrypted userKey decrypts to.
|
|
227
|
+
* userKey is a placeholder encrypted blob; tests mock decrypt to return userPrvKey directly.
|
|
228
|
+
*/
|
|
229
|
+
exports.TssTestRecoverData = {
|
|
230
|
+
// compressed pub of PARTICIPANTS.from.pk — used as commonKeychain (bitgoKey)
|
|
231
|
+
bitgoKey: '03f130498035202e4fb73ff376e05817a935de2af8b3a2f12633b1926e47255b13',
|
|
232
|
+
// Tron address derived from bitgoKey via new TronKeyPair({ pub: bitgoKey }).getAddress()
|
|
233
|
+
walletAddress: 'TVYygaQGXRKvc4GBeDXBWh4FRDVSdTeCua',
|
|
234
|
+
// placeholder xpub strings that make getIsUnsignedSweep() return true
|
|
235
|
+
userKey: 'xpub6BvMpt8ke8tCycBBw6uDob6PyNBkHbTyEztaRuwdMZhpiFk1mXpS7P7iv4c4w7XWFFRySMokUuFUqqgpZxK5wLxm6pgjpkNFhKsMaXTJoUN',
|
|
236
|
+
backupKey: 'xpub687kC8LeSJwj1gYQr4Js2BHbLK1nFeLvMzsDmH2LKMNrqAHNfeCw1sp61cbf2WxeY1QssaUBh9EFJbJ9LBuPivv7XDsFPVaFYj19ueCNczT',
|
|
237
|
+
// encrypted userKey JSON (placeholder — tests mock decrypt)
|
|
238
|
+
encryptedUserKey: '{"iv":"abc","v":1,"iter":10000,"ks":256,"ts":64,"mode":"ccm","adata":"","cipher":"aes","ct":"xyz"}',
|
|
239
|
+
walletPassphrase: 'testpassphrase123',
|
|
240
|
+
// raw secp256k1 private key hex returned when decrypt is called (PARTICIPANTS.custodian.pk)
|
|
241
|
+
userPrvKey: 'c4b3a04836efc2ee2917235f55ccfb2dcf6b8341e5ea0405da5ba10cd526dfed',
|
|
242
|
+
recoveryDestination: 'TWkzN4WjxkyoRTmFHaMQ9po77uEerngjyQ',
|
|
243
|
+
};
|
|
244
|
+
function baseAddressBalance(trxBalance, trc20Balances = []) {
|
|
245
|
+
return {
|
|
246
|
+
data: [
|
|
247
|
+
{
|
|
248
|
+
owner_permission: {
|
|
249
|
+
keys: [
|
|
250
|
+
{
|
|
251
|
+
address: 'TTgisRP7EJWMgpLXvbNHoHh5UotkjkBPoo',
|
|
252
|
+
weight: 1,
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
address: 'TBDy8HAy8vvhoqKc5V1hHQatfjZHM1MhPb',
|
|
256
|
+
weight: 1,
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
address: 'TPHPDfQ8Vs3Yp5UKDLHr5MjoVUrr5Y69m9',
|
|
260
|
+
weight: 1,
|
|
261
|
+
},
|
|
262
|
+
],
|
|
263
|
+
threshold: 2,
|
|
264
|
+
permission_name: 'owner',
|
|
265
|
+
},
|
|
266
|
+
balance: trxBalance,
|
|
267
|
+
trc20: trc20Balances,
|
|
268
|
+
active_permission: [
|
|
269
|
+
{
|
|
270
|
+
operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000',
|
|
271
|
+
keys: [
|
|
272
|
+
{
|
|
273
|
+
address: 'TTgisRP7EJWMgpLXvbNHoHh5UotkjkBPoo',
|
|
274
|
+
weight: 1,
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
address: 'TBDy8HAy8vvhoqKc5V1hHQatfjZHM1MhPb',
|
|
278
|
+
weight: 1,
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
address: 'TPHPDfQ8Vs3Yp5UKDLHr5MjoVUrr5Y69m9',
|
|
282
|
+
weight: 1,
|
|
283
|
+
},
|
|
284
|
+
],
|
|
285
|
+
threshold: 2,
|
|
286
|
+
id: 2,
|
|
287
|
+
type: 'Active',
|
|
288
|
+
permission_name: 'active0',
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
function receiveAddressBalance(balance, address, trc20Balances = []) {
|
|
296
|
+
return {
|
|
297
|
+
data: [
|
|
298
|
+
{
|
|
299
|
+
owner_permission: {
|
|
300
|
+
keys: [
|
|
301
|
+
{
|
|
302
|
+
address: address,
|
|
303
|
+
weight: 1,
|
|
304
|
+
},
|
|
305
|
+
],
|
|
306
|
+
threshold: 1,
|
|
307
|
+
permission_name: 'owner',
|
|
308
|
+
},
|
|
309
|
+
active_permission: [
|
|
310
|
+
{
|
|
311
|
+
operations: '7fff1fc0033ec30f000000000000000000000000000000000000000000000000',
|
|
312
|
+
keys: [
|
|
313
|
+
{
|
|
314
|
+
address: address,
|
|
315
|
+
weight: 1,
|
|
316
|
+
},
|
|
317
|
+
],
|
|
318
|
+
threshold: 1,
|
|
319
|
+
id: 2,
|
|
320
|
+
type: 'Active',
|
|
321
|
+
permission_name: 'active',
|
|
322
|
+
},
|
|
323
|
+
],
|
|
324
|
+
balance: balance,
|
|
325
|
+
trc20: trc20Balances,
|
|
326
|
+
},
|
|
327
|
+
],
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
function creationTransaction(fromAddress, toAddress, amount) {
|
|
331
|
+
return {
|
|
332
|
+
visible: false,
|
|
333
|
+
txID: 'cc675f47b56f84c011ee87c7c0dde5a5fd662b48139805aaf3c488409e3aaf3b',
|
|
334
|
+
raw_data: {
|
|
335
|
+
contract: [
|
|
336
|
+
{
|
|
337
|
+
parameter: {
|
|
338
|
+
value: {
|
|
339
|
+
amount: amount,
|
|
340
|
+
owner_address: fromAddress,
|
|
341
|
+
to_address: toAddress,
|
|
342
|
+
},
|
|
343
|
+
type_url: 'type.googleapis.com/protocol.TransferContract',
|
|
344
|
+
},
|
|
345
|
+
type: 'TransferContract',
|
|
346
|
+
},
|
|
347
|
+
],
|
|
348
|
+
ref_block_bytes: '37d3',
|
|
349
|
+
ref_block_hash: 'a47d2ac2189487b9',
|
|
350
|
+
expiration: 1693441548000,
|
|
351
|
+
timestamp: 1693441489854,
|
|
352
|
+
},
|
|
353
|
+
raw_data_hex: '0a0237d32208a47d2ac2189487b940e0bdedc7a4315a68080112640a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412330a1541e8f88b4e239e85c92255b043450a34b65a329a54121541c25420255c2c5a2dd54ef69f92ef261e6bd4216a1880c2d72f70bef7e9c7a431',
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
exports.SampleRawTokenSendTxn = {
|
|
357
|
+
result: {
|
|
358
|
+
result: true,
|
|
359
|
+
},
|
|
360
|
+
transaction: {
|
|
361
|
+
visible: false,
|
|
362
|
+
txID: 'f8179caab4c781676cb33940948533e209dc7fe2135bbd6e00f60597862b86be',
|
|
363
|
+
raw_data: {
|
|
364
|
+
contract: [
|
|
365
|
+
{
|
|
366
|
+
parameter: {
|
|
367
|
+
value: {
|
|
368
|
+
data: 'a9059cbb000000000000000000000000e40b19afca3dde4ce8fcbc57ab41f8c326ab0cf2000000000000000000000000000000000000000000000000000000004190ab00',
|
|
369
|
+
owner_address: '41c25420255c2c5a2dd54ef69f92ef261e6bd4216a',
|
|
370
|
+
contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0',
|
|
371
|
+
},
|
|
372
|
+
type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
|
|
373
|
+
},
|
|
374
|
+
type: 'TriggerSmartContract',
|
|
375
|
+
},
|
|
376
|
+
],
|
|
377
|
+
ref_block_bytes: 'cba3',
|
|
378
|
+
ref_block_hash: 'e14cc425da3cfd94',
|
|
379
|
+
expiration: 1693357620000,
|
|
380
|
+
fee_limit: 100000000,
|
|
381
|
+
timestamp: 1693357561339,
|
|
382
|
+
},
|
|
383
|
+
raw_data_hex: '0a02cba32208e14cc425da3cfd9440a0f6ea9fa4315aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a1541c25420255c2c5a2dd54ef69f92ef261e6bd4216a12154142a1e39aefa49290f2b3f9ed688d7cecf86cd6e02244a9059cbb000000000000000000000000e40b19afca3dde4ce8fcbc57ab41f8c326ab0cf2000000000000000000000000000000000000000000000000000000004190ab0070fbabe79fa431900180c2d72f',
|
|
384
|
+
},
|
|
385
|
+
};
|
|
386
|
+
exports.UnsignedBuildTransaction = {
|
|
387
|
+
visible: false,
|
|
388
|
+
txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
|
|
389
|
+
raw_data: {
|
|
390
|
+
contract: [
|
|
391
|
+
{
|
|
392
|
+
parameter: {
|
|
393
|
+
value: {
|
|
394
|
+
amount: 1718,
|
|
395
|
+
owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
|
|
396
|
+
to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
|
|
397
|
+
},
|
|
398
|
+
type_url: 'type.googleapis.com/protocol.TransferContract',
|
|
399
|
+
},
|
|
400
|
+
type: 'TransferContract',
|
|
401
|
+
},
|
|
402
|
+
],
|
|
403
|
+
ref_block_bytes: '90e4',
|
|
404
|
+
ref_block_hash: 'a018bf9892ddb138',
|
|
405
|
+
expiration: 1571811468000,
|
|
406
|
+
timestamp: 1571811410819,
|
|
407
|
+
},
|
|
408
|
+
raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
|
|
409
|
+
};
|
|
410
|
+
exports.FirstSigOnBuildTransaction = (() => {
|
|
411
|
+
const modifiedBuild = JSON.parse(JSON.stringify(exports.UnsignedBuildTransaction));
|
|
412
|
+
modifiedBuild['signature'] = [];
|
|
413
|
+
modifiedBuild['signature'].push('bd08e6cd876bb573dd00a32870b58b70ea8b7908f5131686502589941bfa4fdda76b8c81bbbcfc549be6d4988657cea122df7da46c72041def2683d6ecb04a7401');
|
|
414
|
+
return modifiedBuild;
|
|
415
|
+
})();
|
|
416
|
+
exports.SecondSigOnBuildTransaction = (() => {
|
|
417
|
+
const modifiedBuild = JSON.parse(JSON.stringify(exports.UnsignedBuildTransaction));
|
|
418
|
+
modifiedBuild['signature'] = [];
|
|
419
|
+
modifiedBuild['signature'].push('f3cabe2f4aed13e2342c78c7bf4626ea36cd6509a44418c24866814d3426703686be9ef21bd993324c520565beee820201f2a50a9ac971732410d3eb69cdb2a600');
|
|
420
|
+
modifiedBuild['signature'].push('bd08e6cd876bb573dd00a32870b58b70ea8b7908f5131686502589941bfa4fdda76b8c81bbbcfc549be6d4988657cea122df7da46c72041def2683d6ecb04a7401');
|
|
421
|
+
return modifiedBuild;
|
|
422
|
+
})();
|
|
423
|
+
exports.UnsignedTransferContractTx = {
|
|
424
|
+
tx: {
|
|
425
|
+
visible: false,
|
|
426
|
+
txID: 'ee0bbf72b238361577a9dc41d79f7a74f6ba9efe472c21bfd3e7dc850c9e9020',
|
|
427
|
+
raw_data: {
|
|
428
|
+
contract: [
|
|
429
|
+
{
|
|
430
|
+
parameter: {
|
|
431
|
+
value: {
|
|
432
|
+
amount: 10,
|
|
433
|
+
owner_address: '41e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd',
|
|
434
|
+
to_address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
|
|
435
|
+
},
|
|
436
|
+
type_url: 'type.googleapis.com/protocol.TransferContract',
|
|
437
|
+
},
|
|
438
|
+
type: 'TransferContract',
|
|
439
|
+
},
|
|
440
|
+
],
|
|
441
|
+
ref_block_bytes: '5123',
|
|
442
|
+
ref_block_hash: '52a26dea963a47bc',
|
|
443
|
+
expiration: 1569463320000,
|
|
444
|
+
timestamp: 1569463261623,
|
|
445
|
+
},
|
|
446
|
+
raw_data_hex: '0a025123220852a26dea963a47bc40c0fbb6dad62d5a65080112610a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412300a1541e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd1215412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577180a70b7b3b3dad62d',
|
|
447
|
+
signature: [],
|
|
448
|
+
},
|
|
449
|
+
sig: '0a9944316924ec7fba4895f1ea1e7cc95f9e2b828ae268a48a8dbeddef40c6f5e127170a95aed9f3f5425b13058d0cb6ef1f5c2213190e482e87043691f22e6800',
|
|
450
|
+
};
|
|
451
|
+
exports.AccountPermissionUpdateContractPriv = '88413601C267316040413C68AAB35651F8C7AB05EC8FFEF42D42DDA16AA3732C';
|
|
452
|
+
exports.UnsignedAccountPermissionUpdateContractTx = {
|
|
453
|
+
visible: false,
|
|
454
|
+
txID: '7d5407d81d4e95f4c3c28f8849947b91fbfa9c5b102bfd5b48fe77e63c68107d',
|
|
455
|
+
raw_data: {
|
|
456
|
+
contract: [
|
|
457
|
+
{
|
|
458
|
+
parameter: {
|
|
459
|
+
value: {
|
|
460
|
+
owner: {
|
|
461
|
+
keys: [
|
|
462
|
+
{
|
|
463
|
+
address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
|
|
464
|
+
weight: 1,
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
|
|
468
|
+
weight: 1,
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
address: '41e0c0f581d7d02d40826c1c6cbee71f625d6344d0',
|
|
472
|
+
weight: 1,
|
|
473
|
+
},
|
|
474
|
+
],
|
|
475
|
+
threshold: 2,
|
|
476
|
+
permission_name: 'owner',
|
|
477
|
+
},
|
|
478
|
+
owner_address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
|
|
479
|
+
actives: [
|
|
480
|
+
{
|
|
481
|
+
operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000',
|
|
482
|
+
keys: [
|
|
483
|
+
{
|
|
484
|
+
address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
|
|
485
|
+
weight: 1,
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
|
|
489
|
+
weight: 1,
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
address: '41e0c0f581d7d02d40826c1c6cbee71f625d6344d0',
|
|
493
|
+
weight: 1,
|
|
494
|
+
},
|
|
495
|
+
],
|
|
496
|
+
threshold: 2,
|
|
497
|
+
type: 'Active',
|
|
498
|
+
permission_name: 'active0',
|
|
499
|
+
},
|
|
500
|
+
],
|
|
501
|
+
},
|
|
502
|
+
type_url: 'type.googleapis.com/protocol.AccountPermissionUpdateContract',
|
|
503
|
+
},
|
|
504
|
+
type: 'AccountPermissionUpdateContract',
|
|
505
|
+
},
|
|
506
|
+
],
|
|
507
|
+
ref_block_bytes: 'eeb2',
|
|
508
|
+
ref_block_hash: '97904e2922d6b5e8',
|
|
509
|
+
expiration: 1572473529000,
|
|
510
|
+
timestamp: 1572473469065,
|
|
511
|
+
},
|
|
512
|
+
raw_data_hex: '0a02eeb2220897904e2922d6b5e840a8c5e7f5e12d5abc02082e12b7020a3c747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e4163636f756e745065726d697373696f6e557064617465436f6e747261637412f6010a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c125a1a056f776e657220023a190a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c10013a190a15412c2ba4a9ff6c53207dc5b686bfecf75ea7b8057710013a190a1541e0c0f581d7d02d40826c1c6cbee71f625d6344d0100122800108021a0761637469766530200232207fff1fc0037e00000000000000000000000000000000000000000000000000003a190a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c10013a190a15412c2ba4a9ff6c53207dc5b686bfecf75ea7b8057710013a190a1541e0c0f581d7d02d40826c1c6cbee71f625d6344d010017089f1e3f5e12d',
|
|
513
|
+
};
|
|
514
|
+
exports.SignedAccountPermissionUpdateContractTx = {
|
|
515
|
+
visible: false,
|
|
516
|
+
txID: '7d5407d81d4e95f4c3c28f8849947b91fbfa9c5b102bfd5b48fe77e63c68107d',
|
|
517
|
+
raw_data: {
|
|
518
|
+
contract: [
|
|
519
|
+
{
|
|
520
|
+
parameter: {
|
|
521
|
+
value: {
|
|
522
|
+
owner: {
|
|
523
|
+
keys: [
|
|
524
|
+
{
|
|
525
|
+
address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
|
|
526
|
+
weight: 1,
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
|
|
530
|
+
weight: 1,
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
address: '41e0c0f581d7d02d40826c1c6cbee71f625d6344d0',
|
|
534
|
+
weight: 1,
|
|
535
|
+
},
|
|
536
|
+
],
|
|
537
|
+
threshold: 2,
|
|
538
|
+
permission_name: 'owner',
|
|
539
|
+
},
|
|
540
|
+
owner_address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
|
|
541
|
+
actives: [
|
|
542
|
+
{
|
|
543
|
+
operations: '7fff1fc0037e0000000000000000000000000000000000000000000000000000',
|
|
544
|
+
keys: [
|
|
545
|
+
{
|
|
546
|
+
address: '41ca42a499a2eee394323baa2c2f7d8a764ce0689c',
|
|
547
|
+
weight: 1,
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
address: '412c2ba4a9ff6c53207dc5b686bfecf75ea7b80577',
|
|
551
|
+
weight: 1,
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
address: '41e0c0f581d7d02d40826c1c6cbee71f625d6344d0',
|
|
555
|
+
weight: 1,
|
|
556
|
+
},
|
|
557
|
+
],
|
|
558
|
+
threshold: 2,
|
|
559
|
+
type: 'Active',
|
|
560
|
+
permission_name: 'active0',
|
|
561
|
+
},
|
|
562
|
+
],
|
|
563
|
+
},
|
|
564
|
+
type_url: 'type.googleapis.com/protocol.AccountPermissionUpdateContract',
|
|
565
|
+
},
|
|
566
|
+
type: 'AccountPermissionUpdateContract',
|
|
567
|
+
},
|
|
568
|
+
],
|
|
569
|
+
ref_block_bytes: 'eeb2',
|
|
570
|
+
ref_block_hash: '97904e2922d6b5e8',
|
|
571
|
+
expiration: 1572473529000,
|
|
572
|
+
timestamp: 1572473469065,
|
|
573
|
+
},
|
|
574
|
+
raw_data_hex: '0a02eeb2220897904e2922d6b5e840a8c5e7f5e12d5abc02082e12b7020a3c747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e4163636f756e745065726d697373696f6e557064617465436f6e747261637412f6010a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c125a1a056f776e657220023a190a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c10013a190a15412c2ba4a9ff6c53207dc5b686bfecf75ea7b8057710013a190a1541e0c0f581d7d02d40826c1c6cbee71f625d6344d0100122800108021a0761637469766530200232207fff1fc0037e00000000000000000000000000000000000000000000000000003a190a1541ca42a499a2eee394323baa2c2f7d8a764ce0689c10013a190a15412c2ba4a9ff6c53207dc5b686bfecf75ea7b8057710013a190a1541e0c0f581d7d02d40826c1c6cbee71f625d6344d010017089f1e3f5e12d',
|
|
575
|
+
signature: [
|
|
576
|
+
'2bc5030727d42ed642c2806a3c1a5a0393408b159541f2163df4ba692c5c1240e2dde5a2aae4ecad465414e60b5aeca8522d0a2b6606f88a326658809161334f00',
|
|
577
|
+
],
|
|
578
|
+
};
|
|
579
|
+
exports.InvalidIDTransaction = {
|
|
580
|
+
visible: false,
|
|
581
|
+
txID: '90b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
|
|
582
|
+
raw_data: {
|
|
583
|
+
contract: [
|
|
584
|
+
{
|
|
585
|
+
parameter: {
|
|
586
|
+
value: {
|
|
587
|
+
amount: 1718,
|
|
588
|
+
owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
|
|
589
|
+
to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
|
|
590
|
+
},
|
|
591
|
+
type_url: 'type.googleapis.com/protocol.TransferContract',
|
|
592
|
+
},
|
|
593
|
+
type: 'TransferContract',
|
|
594
|
+
},
|
|
595
|
+
],
|
|
596
|
+
ref_block_bytes: '90e4',
|
|
597
|
+
ref_block_hash: 'a018bf9892ddb138',
|
|
598
|
+
expiration: 1571811468000,
|
|
599
|
+
timestamp: 1571811410819,
|
|
600
|
+
},
|
|
601
|
+
raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
|
|
602
|
+
};
|
|
603
|
+
exports.UnsignedBuildEmptyIDTransaction = {
|
|
604
|
+
visible: false,
|
|
605
|
+
txID: '',
|
|
606
|
+
raw_data: {
|
|
607
|
+
contract: [
|
|
608
|
+
{
|
|
609
|
+
parameter: {
|
|
610
|
+
value: {
|
|
611
|
+
amount: 1718,
|
|
612
|
+
owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
|
|
613
|
+
to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
|
|
614
|
+
},
|
|
615
|
+
type_url: 'type.googleapis.com/protocol.TransferContract',
|
|
616
|
+
},
|
|
617
|
+
type: 'TransferContract',
|
|
618
|
+
},
|
|
619
|
+
],
|
|
620
|
+
ref_block_bytes: '90e4',
|
|
621
|
+
ref_block_hash: 'a018bf9892ddb138',
|
|
622
|
+
expiration: 1571811468000,
|
|
623
|
+
timestamp: 1571811410819,
|
|
624
|
+
},
|
|
625
|
+
raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
|
|
626
|
+
};
|
|
627
|
+
exports.UnsignedBuildInvalidIDTransaction = {
|
|
628
|
+
visible: false,
|
|
629
|
+
txID: '80b8b9ebfd51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
|
|
630
|
+
raw_data: {
|
|
631
|
+
contract: [
|
|
632
|
+
{
|
|
633
|
+
parameter: {
|
|
634
|
+
value: {
|
|
635
|
+
amount: 1718,
|
|
636
|
+
owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
|
|
637
|
+
to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
|
|
638
|
+
},
|
|
639
|
+
type_url: 'type.googleapis.com/protocol.TransferContract',
|
|
640
|
+
},
|
|
641
|
+
type: 'TransferContract',
|
|
642
|
+
},
|
|
643
|
+
],
|
|
644
|
+
ref_block_bytes: '90e4',
|
|
645
|
+
ref_block_hash: 'a018bf9892ddb138',
|
|
646
|
+
expiration: 1571811468000,
|
|
647
|
+
timestamp: 1571811410819,
|
|
648
|
+
},
|
|
649
|
+
raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
|
|
650
|
+
};
|
|
651
|
+
exports.UnsignedInvalidExpirationBuildTransaction = {
|
|
652
|
+
visible: false,
|
|
653
|
+
txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
|
|
654
|
+
raw_data: {
|
|
655
|
+
contract: [
|
|
656
|
+
{
|
|
657
|
+
parameter: {
|
|
658
|
+
value: {
|
|
659
|
+
amount: 1718,
|
|
660
|
+
owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
|
|
661
|
+
to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
|
|
662
|
+
},
|
|
663
|
+
type_url: 'type.googleapis.com/protocol.TransferContract',
|
|
664
|
+
},
|
|
665
|
+
type: 'TransferContract',
|
|
666
|
+
},
|
|
667
|
+
],
|
|
668
|
+
ref_block_bytes: '90e4',
|
|
669
|
+
ref_block_hash: 'a018bf9892ddb138',
|
|
670
|
+
expiration: 1571811468900,
|
|
671
|
+
timestamp: 1571811410819,
|
|
672
|
+
},
|
|
673
|
+
raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
|
|
674
|
+
};
|
|
675
|
+
exports.UnsignedInvalidTimeStampBuildTransaction = {
|
|
676
|
+
visible: false,
|
|
677
|
+
txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
|
|
678
|
+
raw_data: {
|
|
679
|
+
contract: [
|
|
680
|
+
{
|
|
681
|
+
parameter: {
|
|
682
|
+
value: {
|
|
683
|
+
amount: 1718,
|
|
684
|
+
owner_address: '41c4530f6bfa902b7398ac773da56106a15af15f92',
|
|
685
|
+
to_address: '4189ffaf9da8c6fae32189b2e6dce228249b1129aa',
|
|
686
|
+
},
|
|
687
|
+
type_url: 'type.googleapis.com/protocol.TransferContract',
|
|
688
|
+
},
|
|
689
|
+
type: 'TransferContract',
|
|
690
|
+
},
|
|
691
|
+
],
|
|
692
|
+
ref_block_bytes: '90e4',
|
|
693
|
+
ref_block_hash: 'a018bf9892ddb138',
|
|
694
|
+
expiration: 1571811468000,
|
|
695
|
+
timestamp: 1581811410819,
|
|
696
|
+
},
|
|
697
|
+
raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
|
|
698
|
+
};
|
|
699
|
+
exports.UnsignedInvalidContractBuildTransaction = {
|
|
700
|
+
visible: false,
|
|
701
|
+
txID: '80b8b9eaed51c8bba3b49f7f0e7cc5f21ac99a6f3e2893c663b544bf2c695b1d',
|
|
702
|
+
raw_data: {
|
|
703
|
+
ref_block_bytes: '90e4',
|
|
704
|
+
ref_block_hash: 'a018bf9892ddb138',
|
|
705
|
+
expiration: 1571811468000,
|
|
706
|
+
timestamp: 1571811410819,
|
|
707
|
+
},
|
|
708
|
+
raw_data_hex: '0a0290e42208a018bf9892ddb13840e0c58ebadf2d5a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a1541c4530f6bfa902b7398ac773da56106a15af15f9212154189ffaf9da8c6fae32189b2e6dce228249b1129aa18b60d7083878bbadf2d',
|
|
709
|
+
};
|
|
710
|
+
exports.mockTokenTx = {
|
|
711
|
+
signature: [],
|
|
712
|
+
txID: '636a94d8662c51cbc7e1bdccc6ccc0d531827582bb7d73f8bbc0eea7f86df590',
|
|
713
|
+
raw_data: {
|
|
714
|
+
contractType: 2,
|
|
715
|
+
contract: [
|
|
716
|
+
{
|
|
717
|
+
parameter: {
|
|
718
|
+
value: {
|
|
719
|
+
data: 'a9059cbb0000000000000000000000004887974f42a789ef6d4dfc7ba28b1583219434b3000000000000000000000000000000000000000000000000000000003b9aca00',
|
|
720
|
+
owner_address: '414887974f42a789ef6d4dfc7ba28b1583219434b3',
|
|
721
|
+
contract_address: '4142a1e39aefa49290f2b3f9ed688d7cecf86cd6e0',
|
|
722
|
+
},
|
|
723
|
+
type_url: 'type.googleapis.com/protocol.TriggerSmartContract',
|
|
724
|
+
},
|
|
725
|
+
type: 'TriggerSmartContract',
|
|
726
|
+
},
|
|
727
|
+
],
|
|
728
|
+
ref_block_bytes: 'c8cf',
|
|
729
|
+
ref_block_hash: '89177fd84c5d9196',
|
|
730
|
+
expiration: 1670543993164,
|
|
731
|
+
timestamp: 1670540393164,
|
|
732
|
+
fee_limit: 150000000,
|
|
733
|
+
},
|
|
734
|
+
raw_data_hex: '0a02c8cf220889177fd84c5d919640ccd2b9a1cf305aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a15414887974f42a789ef6d4dfc7ba28b1583219434b312154142a1e39aefa49290f2b3f9ed688d7cecf86cd6e02244a9059cbb0000000000000000000000004887974f42a789ef6d4dfc7ba28b1583219434b3000000000000000000000000000000000000000000000000000000003b9aca0070ccf5dd9fcf30900180a3c347',
|
|
735
|
+
};
|
|
736
|
+
exports.validUnfreezeUnsignedTx = {
|
|
737
|
+
visible: false,
|
|
738
|
+
txID: '227b7c700ea3bf507a7d8b3627b6e9db1d7e6116681f2e125c16fc40e6a19235',
|
|
739
|
+
raw_data: {
|
|
740
|
+
contract: [
|
|
741
|
+
{
|
|
742
|
+
parameter: {
|
|
743
|
+
value: {
|
|
744
|
+
resource: 'ENERGY',
|
|
745
|
+
owner_address: '41e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd',
|
|
746
|
+
unfreeze_balance: 1000000,
|
|
747
|
+
},
|
|
748
|
+
type_url: 'type.googleapis.com/protocol.UnfreezeBalanceV2Contract',
|
|
749
|
+
},
|
|
750
|
+
type: 'UnfreezeBalanceV2Contract',
|
|
751
|
+
},
|
|
752
|
+
],
|
|
753
|
+
ref_block_bytes: '67b9',
|
|
754
|
+
ref_block_hash: '3aef8803c1aceb03',
|
|
755
|
+
expiration: 1745312676000,
|
|
756
|
+
timestamp: 1745312617917,
|
|
757
|
+
},
|
|
758
|
+
raw_data_hex: '0a0267b922083aef8803c1aceb0340a0f1f7e5e5325a5b083712570a36747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e556e667265657a6542616c616e63655632436f6e7472616374121d0a1541e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd10c0843d180170bdabf4e5e532',
|
|
759
|
+
};
|
|
760
|
+
exports.validWithdrawUnsignedTx = {
|
|
761
|
+
visible: false,
|
|
762
|
+
txID: '7a9d37540e56f3f61ed0f97cd8a5213652c90c4b75dad876da9c35291d231367',
|
|
763
|
+
raw_data: {
|
|
764
|
+
contract: [
|
|
765
|
+
{
|
|
766
|
+
parameter: {
|
|
767
|
+
value: {
|
|
768
|
+
owner_address: '41E5E00FC1CDB3921B8340C20B2B65B543C84AA1DD',
|
|
769
|
+
},
|
|
770
|
+
type_url: 'type.googleapis.com/protocol.WithdrawExpireUnfreezeContract',
|
|
771
|
+
},
|
|
772
|
+
type: 'WithdrawExpireUnfreezeContract',
|
|
773
|
+
},
|
|
774
|
+
],
|
|
775
|
+
ref_block_bytes: '5b4c',
|
|
776
|
+
ref_block_hash: 'c989a213a861c2a1',
|
|
777
|
+
expiration: 1714088400000,
|
|
778
|
+
timestamp: 1714031128253,
|
|
779
|
+
},
|
|
780
|
+
raw_data_hex: '0a025b4c2208c989a213a861c2a140c0c1dee8f30d5a66080112620a32747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5769746864726177457870697265556e667265657a65436f6e747261637412280a1541e5e00fc1cdb3921b8340c20b2b65b543c84aa1dd70fde8f3e8f30d',
|
|
781
|
+
};
|
|
782
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9yZXNvdXJjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVFQUF1RTtBQUN2RSx3REFBd0Q7Ozs7QUEwUXhELGdEQWtEQztBQUVELHNEQWtDQztBQUVELGtEQTBCQztBQTFYRCw4QkFBOEI7QUFFakIsUUFBQSxTQUFTLEdBQUcsT0FBTyxDQUFDO0FBQ3BCLFFBQUEsWUFBWSxHQUFHLEtBQUssQ0FBQztBQUNyQixRQUFBLFVBQVUsR0FBRyxrRUFBa0UsQ0FBQztBQUNoRixRQUFBLGlCQUFpQixHQUFHLDBFQUEwRSxDQUFDO0FBQy9GLFFBQUEsVUFBVSxHQUFHLEtBQUssQ0FBQztBQUNuQixRQUFBLG1CQUFtQixHQUM5QiwwSUFBMEksQ0FBQztBQUNoSSxRQUFBLGVBQWUsR0FBRyxRQUFRLENBQUM7QUFDM0IsUUFBQSxrQkFBa0IsR0FBRyxXQUFXLENBQUM7QUFDakMsUUFBQSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCLFFBQUEsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO0FBQy9CLFFBQUEsb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0FBQ2pDLFFBQUEsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0FBQzdCLFFBQUEscUJBQXFCLEdBQUcsb0NBQW9DLENBQUM7QUFDN0QsUUFBQSx3QkFBd0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUNoRSxRQUFBLHFCQUFxQixHQUNoQywwSUFBMEksQ0FBQztBQUNoSSxRQUFBLFVBQVUsR0FBRyxrRUFBa0UsQ0FBQztBQUVoRixRQUFBLFlBQVksR0FBRztJQUMxQixJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUUsb0NBQW9DO1FBQzdDLEVBQUUsRUFBRSxrRUFBa0U7S0FDdkU7SUFDRCxTQUFTLEVBQUU7UUFDVCxPQUFPLEVBQUUsb0NBQW9DO1FBQzdDLEVBQUUsRUFBRSxrRUFBa0U7UUFDdEUsY0FBYyxFQUFFLHFDQUFxQztLQUN0RDtJ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QkFDRCxRQUFRLEVBQUUsd0RBQXdEO2lCQUNuRTtnQkFDRCxJQUFJLEVBQUUsMkJBQTJCO2FBQ2xDO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixjQUFjLEVBQUUsa0JBQWtCO1FBQ2xDLFVBQVUsRUFBRSxhQUFhO1FBQ3pCLFNBQVMsRUFBRSxhQUFhO0tBQ3pCO0lBQ0QsWUFBWSxFQUNWLG9QQUFvUDtDQUN2UCxDQUFDO0FBRVcsUUFBQSx1QkFBdUIsR0FBRztJQUNyQyxPQUFPLEVBQUUsS0FBSztJQUNkLElBQUksRUFBRSxrRUFBa0U7SUFDeEUsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRTt3QkFDTCxhQUFhLEVBQUUsNENBQTRDO3FCQUM1RDtvQkFDRCxRQUFRLEVBQUUsNkRBQTZEO2lCQUN4RTtnQkFDRCxJQUFJLEVBQUUsZ0NBQWdDO2FBQ3ZDO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsTUFBTTtRQUN2QixjQUFjLEVBQUUsa0JBQWtCO1FBQ2xDLFVBQVUsRUFBRSxhQUFhO1FBQ3pCLFNBQVMsRUFBRSxhQUFhO0tBQ3pCO0lBQ0QsWUFBWSxFQUNWLGtQQUFrUDtDQUNyUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhlcmUgaXMgYSBmaWxlIGNhbGxlZCBcInRyeFwiIGluIHJlc291cmNlcyBkaXJlY3RvcnkgYnV0IGl0IHNob3VsZCBiZVxuLy8gcmVtb3ZlZCBpbiB0aGUgZnV0dXJlIGFuZCBhZGQgdGhhdCBkYXRhIHRvIHRoaXMgZmlsZS5cblxuLy8gIyBDb250cmFjdCBjYWxsIGRhdGEgZmllbGRzXG5cbmV4cG9ydCBjb25zdCBGRUVfTElNSVQgPSAnMTAwMDAnO1xuZXhwb3J0IGNvbnN0IEJMT0NLX05VTUJFUiA9IDUxNDA3O1xuZXhwb3J0IGNvbnN0IEJMT0NLX0hBU0ggPSAnMDAwMDAwMDAwMGJhZGIwZDg5MTc3ZmQ4NGM1ZDkxOTYwMjFjYzEwODViOWU2ODliM2U5YTYxOTVjYWM4YmNhZSc7XG5leHBvcnQgY29uc3QgTUlOVF9DT05GSVJNX0RBVEEgPSAnMmJmOTBiYWExMjczMTQwYzNlMWI1NzU2YjI0MmNjODhjZDdjNGRkOGE2MWJmODVjYjVjMWRkNWY1MGJhNjFlMDY2YjUzYTE1JztcbmV4cG9ydCBjb25zdCBFWFBJUkFUSU9OID0gNjAwMDA7XG5leHBvcnQgY29uc3QgVE9LRU5fVFJBTlNGRVJfREFUQSA9XG4gICdhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4ODc5NzRmNDJhNzg5ZWY2ZDRkZmM3YmEyOGIxNTgzMjE5NDM0YjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNiOWFjYTAwJztcbmV4cG9ydCBjb25zdCBSRVNPVVJDRV9FTkVSR1kgPSAnRU5FUkdZJztcbmV4cG9ydCBjb25zdCBSRVNPVVJDRV9CQU5EV0lEVEggPSAnQkFORFdJRFRIJztcbmV4cG9ydCBjb25zdCBGUk9aRU5fQkFMQU5DRSA9ICcxMDAwMDAwJztcbmV4cG9ydCBjb25zdCBERUxFR0FUSU9OX0JBTEFOQ0UgPSAnMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgVU5ERUxFR0FUSU9OX0JBTEFOQ0UgPSAnMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgVU5GUk9aRU5fQkFMQU5DRSA9ICcxMDAwMDAwJztcbmV4cG9ydCBjb25zdCBVU0RUX0NPTlRSQUNUX0FERFJFU1MgPSAnVEczWFh5RXhCa1BwOW56ZGFqRFpzb3pFdTRCa2FTSm96cyc7XG5leHBvcnQgY29uc3QgVE9LRU5fVFJBTlNGRVJfUkVDSVBJRU5UID0gJ1RHYWk1dUhnQmNvTEVScnpEWE1lcHFaQjhFdDdEOG5WOEsnO1xuZXhwb3J0IGNvbnN0IFRPS0VOX1RSQU5TRkVSX0RBVEFfMiA9XG4gICdhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0ODM2MThjYTg1YzM1YTliOTIzZDk4YmViY2E3MThmNWExZGIyNzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1ZjVlMTAwJztcbmV4cG9ydCBjb25zdCBUT0tFTl9UWElEID0gJ2ZlMjFjNDlmNGZlYmQ5MDg5MTI1ZTNhMDA2OTQzYzE0NTcyMWQ4ZmNiN2FiODQxMzZmOGM2NjYzZmY5MmY4ZWQnO1xuXG5leHBvcnQgY29uc3QgUEFSVElDSVBBTlRTID0ge1xuICBmcm9tOiB7XG4gICAgYWRkcmVzczogJ1RWWXlnYVFHWFJLdmM0R0JlRFhCV2g0RlJEVlNkVGVDdWEnLFxuICAgIHBrOiAnZTcxYzA1YjgxNGY0NGFjNTE5YjRiOTAyOTIyN2ZjY2MxZDliZjNlMTQ1NmY0ODQwYTJjOWFhODdkN2Y2ZGQzYicsXG4gIH0sXG4gIGN1c3RvZGlhbjoge1xuICAgIGFkZHJlc3M6ICdUTFdoNjdQOTNLZ3RuWk5DdEduRUhNMUgzM05ocTJ1dnZOJyxcbiAgICBwazogJ2M0YjNhMDQ4MzZlZmMyZWUyOTE3MjM1ZjU1Y2NmYjJkY2Y2YjgzNDFlNWVhMDQwNWRhNWJhMTBjZDUyNmRmZWQnLFxuICAgIGJpdGNvaW5BZGRyZXNzOiAnMk15dEVoVmhETHlFem1mZVNBN3lKNDZ5ZjVHaHVLWjZnY2UnLFxuICB9LFxuICBtZXJjaGFudDoge1xuICAgIGFkZHJlc3M6ICdUQm1UcThyMjJ0ZmQ0Y3NFeXhFY2FLaUtSVmRraGE1WHIyJyxcbiAgICBwazogJ2JiZjQ0NmIwZDNjMDdhNmUxOTY3NWFmMjQyNDJmOTcxOGE3MzRmZDRkMDgwZThhNjJiMWY2ZDZhMzM3YmMxOGYnLFxuICAgIGJpdGNvaW5BZGRyZXNzOiAnMk5EamdUS25ha0J5bnJ3U295RnBTaW5Nc3g5UFBmdWJkMmUnLFxuICB9LFxuICBtdWx0aXNpZzoge1xuICAgIGFkZHJlc3M6ICdURmZzeGIyb3hHd3N3Ym1hTndWekZVOHY4emVjeUdxZnlqJyxcbiAgICBwazogJzQ3N2E5YTU0OTFhM2JhYzMyZWM1ZjQzMWViYWI5MDE0M2RiYzI1MWJiYmIwMTZhNjI1ZThjMDk2ZmQ2MzY1ZDQnLFxuICB9LFxuICB0bzoge1xuICAgIGFkZHJlc3M6ICdUTEJQTEdCdVloUW1kelFBRVF2Qmh3N0xLemN3MVRTU0c5JyxcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBDT05UUkFDVFMgPSB7XG4gIHRva2VuOiAnVFVBUlp3NFlCV0YxQkVDWkU3djM2UVpSUXk5TUZqdmpINScsXG4gIGNvbnRyb2xsZXI6ICdUWGpoRU1NMW9IZlNkUGFYUVNaMlY0Q21DNzZ2OEVMOHhvJyxcbiAgbWVtYmVyczogJ1RTRFdHUWlnVkQ4YXdGTmV0cGZwSkxWbmtDR0J5RGdkRHQnLFxuICBmYWN0b3J5OiAnVFJIc2ZvTWRhNEFEaVNVUG5KOVhMM1BoeU53NlgxNFVNaScsXG59O1xuXG5leHBvcnQgY29uc3QgVFhfQ09OVFJBQ1QgPSBbXG4gIHtcbiAgICBwYXJhbWV0ZXI6IHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIGRhdGE6IE1JTlRfQ09ORklSTV9EQVRBLFxuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgICAgY29udHJhY3RfYWRkcmVzczogJzQxYTgxMWE3MDZjOWQ2ZTUwNjI4MzUwNjNjMDgxNjVlYTc5OTA5MjdjMicsXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0JyxcbiAgICB9LFxuICAgIHR5cGU6ICdUcmlnZ2VyU21hcnRDb250cmFjdCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgRlJFRVpFX0JBTEFOQ0VfVjJfQ09OVFJBQ1QgPSBbXG4gIHtcbiAgICBwYXJhbWV0ZXI6IHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHJlc291cmNlOiAnRU5FUkdZJyxcbiAgICAgICAgZnJvemVuX2JhbGFuY2U6IDEwMDAwMDAsXG4gICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnLFxuICAgICAgfSxcbiAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5GcmVlemVCYWxhbmNlVjJDb250cmFjdCcsXG4gICAgfSxcbiAgICB0eXBlOiAnRnJlZXplQmFsYW5jZVYyQ29udHJhY3QnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IFVORlJFRVpFX0JBTEFOQ0VfVjJfQ09OVFJBQ1QgPSBbXG4gIHtcbiAgICBwYXJhbWV0ZXI6IHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIHJlc291cmNlOiAnRU5FUkdZJyxcbiAgICAgICAgdW5mcmVlemVfYmFsYW5jZTogMTAwMDAwMCxcbiAgICAgICAgb3duZXJfYWRkcmVzczogJzQxNzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScsXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlVuZnJlZXplQmFsYW5jZVYyQ29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ1VuZnJlZXplQmFsYW5jZVYyQ29udHJhY3QnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IFdJVEhEUkFXX0VYUElSRV9VTkZSRUVaRV9DT05UUkFDVCA9IFtcbiAge1xuICAgIHBhcmFtZXRlcjoge1xuICAgICAgdmFsdWU6IHtcbiAgICAgICAgb3duZXJfYWRkcmVzczogJzQxNzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScsXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLldpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdCcsXG4gICAgfSxcbiAgICB0eXBlOiAnV2l0aGRyYXdFeHBpcmVVbmZyZWV6ZUNvbnRyYWN0JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBXSVRIRFJBV19CQUxBTkNFX0NPTlRSQUNUID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgIH0sXG4gICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuV2l0aGRyYXdCYWxhbmNlQ29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ1dpdGhkcmF3QmFsYW5jZUNvbnRyYWN0JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBWT1RFX1dJVE5FU1NfQ09OVFJBQ1QgPSBbXG4gIHtcbiAgICBwYXJhbWV0ZXI6IHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnLFxuICAgICAgICB2b3RlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZvdGVfYWRkcmVzczogJzQxRjE2NDEyQjlBMTdFRTk0MDg2NDZFMkEyMUUxNjQ3OEY3MkVEMUU5NScsXG4gICAgICAgICAgICB2b3RlX2NvdW50OiAxMDAwLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdm90ZV9hZGRyZXNzOiAnNDFDRjlFMTJFMEY0ODU3M0M4NEJDODhEOEZGN0M1MDU2NzQ4NUFBQTI0JyxcbiAgICAgICAgICAgIHZvdGVfY291bnQ6IDIwMDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVm90ZVdpdG5lc3NDb250cmFjdCcsXG4gICAgfSxcbiAgICB0eXBlOiAnVm90ZVdpdG5lc3NDb250cmFjdCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgVE9LRU5fVFhfQ09OVFJBQ1QgPSBbXG4gIHtcbiAgICBwYXJhbWV0ZXI6IHtcbiAgICAgIHZhbHVlOiB7XG4gICAgICAgIGRhdGE6IFRPS0VOX1RSQU5TRkVSX0RBVEEsXG4gICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnLFxuICAgICAgICBjb250cmFjdF9hZGRyZXNzOiAnNDE0MmExZTM5YWVmYTQ5MjkwZjJiM2Y5ZWQ2ODhkN2NlY2Y4NmNkNmUwJyxcbiAgICAgIH0sXG4gICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJpZ2dlclNtYXJ0Q29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ1RyaWdnZXJTbWFydENvbnRyYWN0JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9UWF9DT05UUkFDVF8yID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICBkYXRhOiBUT0tFTl9UUkFOU0ZFUl9EQVRBXzIsXG4gICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MWM1MWZiZWVhNzg5MTBiMTViMWQzZThhOWI2MjkxNGNhOTRkMWE0YWMnLFxuICAgICAgICBjb250cmFjdF9hZGRyZXNzOiAnNDE0MmExZTM5YWVmYTQ5MjkwZjJiM2Y5ZWQ2ODhkN2NlY2Y4NmNkNmUwJyxcbiAgICAgIH0sXG4gICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJpZ2dlclNtYXJ0Q29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ1RyaWdnZXJTbWFydENvbnRyYWN0JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBERUxFR0FURV9SRVNPVVJDRV9DT05UUkFDVCA9IFtcbiAge1xuICAgIHBhcmFtZXRlcjoge1xuICAgICAgdmFsdWU6IHtcbiAgICAgICAgcmVzb3VyY2U6ICdFTkVSR1knLFxuICAgICAgICBiYWxhbmNlOiAxMDAwMDAwLFxuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgICAgcmVjZWl2ZXJfYWRkcmVzczogJzQxNzNhNTk5M2NkMTgyYWUxNTJhZGFkODIwMzE2M2Y3ODBjNjVhOGFhNScsXG4gICAgICB9LFxuICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLkRlbGVnYXRlUmVzb3VyY2VDb250cmFjdCcsXG4gICAgfSxcbiAgICB0eXBlOiAnRGVsZWdhdGVSZXNvdXJjZUNvbnRyYWN0JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBVTkRFTEVHQVRFX1JFU09VUkNFX0NPTlRSQUNUID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICByZXNvdXJjZTogJ0VORVJHWScsXG4gICAgICAgIGJhbGFuY2U6IDEwMDAwMDAsXG4gICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MTczYTU5OTNjZDE4MmFlMTUyYWRhZDgyMDMxNjNmNzgwYzY1YThhYTUnLFxuICAgICAgICByZWNlaXZlcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgIH0sXG4gICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVW5EZWxlZ2F0ZVJlc291cmNlQ29udHJhY3QnLFxuICAgIH0sXG4gICAgdHlwZTogJ1VuRGVsZWdhdGVSZXNvdXJjZUNvbnRyYWN0JyxcbiAgfSxcbl07XG5cbi8vIG93bmVyID0gVExXaDY3UDkzS2d0blpOQ3RHbkVITTFIMzNOaHEydXZ2TiAoY3VzdG9kaWFuKSwgYWNjb3VudCA9IFRMQlBMR0J1WWhRbWR6UUFFUXZCaHc3TEt6Y3cxVFNTRzkgKHRvKVxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfQ1JFQVRFX0NPTlRSQUNUID0gW1xuICB7XG4gICAgcGFyYW1ldGVyOiB7XG4gICAgICB2YWx1ZToge1xuICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE3M2E1OTkzY2QxODJhZTE1MmFkYWQ4MjAzMTYzZjc4MGM2NWE4YWE1JyxcbiAgICAgICAgYWNjb3VudF9hZGRyZXNzOiAnNDE2ZmZlZGY5MzkyMTUwNmMzZWZkYjUxMGY3YzRmMjU2MDM2YzQ4YTZhJyxcbiAgICAgIH0sXG4gICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuQWNjb3VudENyZWF0ZUNvbnRyYWN0JyxcbiAgICB9LFxuICAgIHR5cGU6ICdBY2NvdW50Q3JlYXRlQ29udHJhY3QnLFxuICB9LFxuXTtcblxuLy8gRE8gTk9UIFJFLVVTRSBUSElTIFBSViBGT1IgUkVBTCBNT05FWVxuZXhwb3J0IGNvbnN0IEZpcnN0UHJpdmF0ZUtleSA9ICcyREJFQUMxQzIyODQ5RjQ3NTE0NDQ1QTU2QUVGMkVGMTY0NTI4QTUwMkRFNEJEMjg5RTIzRUExRTJENEM0QjA2JztcbmV4cG9ydCBjb25zdCBTZWNvbmRQcml2YXRlS2V5ID0gJ0ZCM0FBODg3RTBCRTNGQUM5RDc1RTY2MURBRkY0QTdGRTBFOTFBQUIxM0RBOTc3NUNEODU4NkQ3Q0I5Qjc2NDAnO1xuXG5leHBvcnQgY29uc3QgRmlyc3RFeHBlY3RlZEtleUFkZHJlc3MgPSAnVFRzR3duVExRNGVyeUZKcER2SlNmdUdReFBYUkNqWHZaeic7XG5leHBvcnQgY29uc3QgU2Vjb25kRXhwZWN0ZWRLZXlBZGRyZXNzID0gJ1REem0xdENYTTJZUzFQRGEzR29YU3Z4ZHk0QWd3VmJCUEUnO1xuXG5leHBvcnQgY29uc3QgRmlyc3RFeHBlY3RlZFNpZyA9XG4gICdiZDA4ZTZjZDg3NmJiNTczZGQwMGEzMjg3MGI1OGI3MGVhOGI3OTA4ZjUxMzE2ODY1MDI1ODk5NDFiZmE0ZmRkYTc2YjhjODFiYmJjZmM1NDliZTZkNDk4ODY1N2NlYTEyMmRmN2RhNDZjNzIwNDFkZWYyNjgzZDZlY2IwNGE3NDAxJztcbmV4cG9ydCBjb25zdCBTZWNvbmRFeHBlY3RlZFNpZyA9XG4gICdmM2NhYmUyZjRhZWQxM2UyMzQyYzc4YzdiZjQ2MjZlYTM2Y2Q2NTA5YTQ0NDE4YzI0ODY2ODE0ZDM0MjY3MDM2ODZiZTllZjIxYmQ5OTMzMjRjNTIwNTY1YmVlZTgyMDIwMWYyYTUwYTlhYzk3MTczMjQxMGQzZWI2OWNkYjJhNjAwJztcblxuZXhwb3J0IGNvbnN0IFRlc3RSZWNvdmVyRGF0YSA9IHtcbiAgdXNlcktleTpcbiAgICAneHB1YjZCdk1wdDhrZTh0Q3ljQkJ3NnVEb2I2UHlOQmtIYlR5RXp0YVJ1d2RNWmhwaUZrMW1YcFM3UDdpdjRjNHc3WFdGRlJ5U01va1V1RlVxcWdwWnhLNXdMeG02cGdqcGtORmhLc01hWFRKb1VOJyxcbiAgYmFja3VwS2V5OlxuICAgICd4cHViNjg3a0M4TGVTSndqMWdZUXI0SnMyQkhiTEsxbkZlTHZNenNEbUgyTEtNTnJxQUhOZmVDdzFzcDYxY2JmMld4ZVkxUXNzYVVCaDlFRkpiSjlMQnVQaXZ2N1hEc0ZQVmFGWWoxOXVlQ05jelQnLFxuICBiaXRnb0tleTpcbiAgICAneHB1YjY2MU15TXdBcVJiY0ZIQ1J5YXNVNjdOQ0E3Vjdnb3FVRlBYdnpzRWlKZDRTY2hDS3lQdGlnSEFMdnZlNXd0QmR5SE1aQ1dxcEd6RXNyUXRmejZtRTltNVFYV0RhbnRnYmttdTU2eHZMd2UzJyxcbiAgYmFzZUFkZHJlc3M6ICdUVGdpc1JQN0VKV01ncExYdmJOSG9IaDVVb3RramtCUG9vJyxcbiAgZmlyc3RSZWNlaXZlQWRkcmVzczogJ1RYRDNXaVFaR0NLVGJZak55eHB6eWFUOFR0TmtlVHExMlYnLFxuICBzZWNvbmRSZWNlaXZlQWRkcmVzczogJ1RDZW9UMzZ1VVR0emF0VG5QaDc3dmVxVHk0dXRZdWpYVzYnLFxuICByZWNvdmVyeURlc3RpbmF0aW9uOiAnVFdrek40V2p4a3lvUlRtRkhhTVE5cG83N3VFZXJuZ2p5UScsXG59O1xuXG4vKipcbiAqIFRTUyByZWNvdmVyeSB0ZXN0IGRhdGEuXG4gKlxuICogYml0Z29LZXkgaXMgYSBjb21wcmVzc2VkIHNlY3AyNTZrMSBwdWJsaWMga2V5ICg2NiBoZXggY2hhcnMpIHVzZWQgYXMgdGhlIGNvbW1vbktleWNoYWluLlxuICogVGhlIHdhbGxldCBhZGRyZXNzIGlzIGRlcml2ZWQgZnJvbSBpdCB2aWEgbmV3IFRyb25LZXlQYWlyKHsgcHViOiBiaXRnb0tleSB9KS5nZXRBZGRyZXNzKCkuXG4gKiB1c2VyUHJ2S2V5IGlzIHRoZSByYXcgc2VjcDI1NmsxIHByaXZhdGUga2V5IGhleCB0aGF0IHRoZSBlbmNyeXB0ZWQgdXNlcktleSBkZWNyeXB0cyB0by5cbiAqIHVzZXJLZXkgaXMgYSBwbGFjZWhvbGRlciBlbmNyeXB0ZWQgYmxvYjsgdGVzdHMgbW9jayBkZWNyeXB0IHRvIHJldHVybiB1c2VyUHJ2S2V5IGRpcmVjdGx5LlxuICovXG5leHBvcnQgY29uc3QgVHNzVGVzdFJlY292ZXJEYXRhID0ge1xuICAvLyBjb21wcmVzc2VkIHB1YiBvZiBQQVJUSUNJUEFOVFMuZnJvbS5wayDigJQgdXNlZCBhcyBjb21tb25LZXljaGFpbiAoYml0Z29LZXkpXG4gIGJpdGdvS2V5OiAnMDNmMTMwNDk4MDM1MjAyZTRmYjczZmYzNzZlMDU4MTdhOTM1ZGUyYWY4YjNhMmYxMjYzM2IxOTI2ZTQ3MjU1YjEzJyxcbiAgLy8gVHJvbiBhZGRyZXNzIGRlcml2ZWQgZnJvbSBiaXRnb0tleSB2aWEgbmV3IFRyb25LZXlQYWlyKHsgcHViOiBiaXRnb0tleSB9KS5nZXRBZGRyZXNzKClcbiAgd2FsbGV0QWRkcmVzczogJ1RWWXlnYVFHWFJLdmM0R0JlRFhCV2g0RlJEVlNkVGVDdWEnLFxuICAvLyBwbGFjZWhvbGRlciB4cHViIHN0cmluZ3MgdGhhdCBtYWtlIGdldElzVW5zaWduZWRTd2VlcCgpIHJldHVybiB0cnVlXG4gIHVzZXJLZXk6XG4gICAgJ3hwdWI2QnZNcHQ4a2U4dEN5Y0JCdzZ1RG9iNlB5TkJrSGJUeUV6dGFSdXdkTVpocGlGazFtWHBTN1A3aXY0YzR3N1hXRkZSeVNNb2tVdUZVcXFncFp4SzV3THhtNnBnanBrTkZoS3NNYVhUSm9VTicsXG4gIGJhY2t1cEtleTpcbiAgICAneHB1YjY4N2tDOExlU0p3ajFnWVFyNEpzMkJIYkxLMW5GZUx2TXpzRG1IMkxLTU5ycUFITmZlQ3cxc3A2MWNiZjJXeGVZMVFzc2FVQmg5RUZKYko5TEJ1UGl2djdYRHNGUFZhRllqMTl1ZUNOY3pUJyxcbiAgLy8gZW5jcnlwdGVkIHVzZXJLZXkgSlNPTiAocGxhY2Vob2xkZXIg4oCUIHRlc3RzIG1vY2sgZGVjcnlwdClcbiAgZW5jcnlwdGVkVXNlcktleTpcbiAgICAne1wiaXZcIjpcImFiY1wiLFwidlwiOjEsXCJpdGVyXCI6MTAwMDAsXCJrc1wiOjI1NixcInRzXCI6NjQsXCJtb2RlXCI6XCJjY21cIixcImFkYXRhXCI6XCJcIixcImNpcGhlclwiOlwiYWVzXCIsXCJjdFwiOlwieHl6XCJ9JyxcbiAgd2FsbGV0UGFzc3BocmFzZTogJ3Rlc3RwYXNzcGhyYXNlMTIzJyxcbiAgLy8gcmF3IHNlY3AyNTZrMSBwcml2YXRlIGtleSBoZXggcmV0dXJuZWQgd2hlbiBkZWNyeXB0IGlzIGNhbGxlZCAoUEFSVElDSVBBTlRTLmN1c3RvZGlhbi5waylcbiAgdXNlclBydktleTogJ2M0YjNhMDQ4MzZlZmMyZWUyOTE3MjM1ZjU1Y2NmYjJkY2Y2YjgzNDFlNWVhMDQwNWRhNWJhMTBjZDUyNmRmZWQnLFxuICByZWNvdmVyeURlc3RpbmF0aW9uOiAnVFdrek40V2p4a3lvUlRtRkhhTVE5cG83N3VFZXJuZ2p5UScsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gYmFzZUFkZHJlc3NCYWxhbmNlKHRyeEJhbGFuY2U6IG51bWJlciwgdHJjMjBCYWxhbmNlczogYW55W10gPSBbXSkge1xuICByZXR1cm4ge1xuICAgIGRhdGE6IFtcbiAgICAgIHtcbiAgICAgICAgb3duZXJfcGVybWlzc2lvbjoge1xuICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWRkcmVzczogJ1RUZ2lzUlA3RUpXTWdwTFh2Yk5Ib0hoNVVvdGtqa0JQb28nLFxuICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBhZGRyZXNzOiAnVEJEeThIQXk4dnZob3FLYzVWMWhIUWF0ZmpaSE0xTWhQYicsXG4gICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGFkZHJlc3M6ICdUUEhQRGZROFZzM1lwNVVLRExIcjVNam9WVXJyNVk2OW05JyxcbiAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRocmVzaG9sZDogMixcbiAgICAgICAgICBwZXJtaXNzaW9uX25hbWU6ICdvd25lcicsXG4gICAgICAgIH0sXG4gICAgICAgIGJhbGFuY2U6IHRyeEJhbGFuY2UsXG4gICAgICAgIHRyYzIwOiB0cmMyMEJhbGFuY2VzLFxuICAgICAgICBhY3RpdmVfcGVybWlzc2lvbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9wZXJhdGlvbnM6ICc3ZmZmMWZjMDAzN2UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFkZHJlc3M6ICdUVGdpc1JQN0VKV01ncExYdmJOSG9IaDVVb3RramtCUG9vJyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiAnVEJEeThIQXk4dnZob3FLYzVWMWhIUWF0ZmpaSE0xTWhQYicsXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogJ1RQSFBEZlE4VnMzWXA1VUtETEhyNU1qb1ZVcnI1WTY5bTknLFxuICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0aHJlc2hvbGQ6IDIsXG4gICAgICAgICAgICBpZDogMixcbiAgICAgICAgICAgIHR5cGU6ICdBY3RpdmUnLFxuICAgICAgICAgICAgcGVybWlzc2lvbl9uYW1lOiAnYWN0aXZlMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY2VpdmVBZGRyZXNzQmFsYW5jZShiYWxhbmNlOiBudW1iZXIsIGFkZHJlc3M6IHN0cmluZywgdHJjMjBCYWxhbmNlczogYW55W10gPSBbXSkge1xuICByZXR1cm4ge1xuICAgIGRhdGE6IFtcbiAgICAgIHtcbiAgICAgICAgb3duZXJfcGVybWlzc2lvbjoge1xuICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYWRkcmVzczogYWRkcmVzcyxcbiAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgICAgICBwZXJtaXNzaW9uX25hbWU6ICdvd25lcicsXG4gICAgICAgIH0sXG4gICAgICAgIGFjdGl2ZV9wZXJtaXNzaW9uOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3BlcmF0aW9uczogJzdmZmYxZmMwMDMzZWMzMGYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnLFxuICAgICAgICAgICAga2V5czogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogYWRkcmVzcyxcbiAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdGhyZXNob2xkOiAxLFxuICAgICAgICAgICAgaWQ6IDIsXG4gICAgICAgICAgICB0eXBlOiAnQWN0aXZlJyxcbiAgICAgICAgICAgIHBlcm1pc3Npb25fbmFtZTogJ2FjdGl2ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgYmFsYW5jZTogYmFsYW5jZSxcbiAgICAgICAgdHJjMjA6IHRyYzIwQmFsYW5jZXMsXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGlvblRyYW5zYWN0aW9uKGZyb21BZGRyZXNzOiBzdHJpbmcsIHRvQWRkcmVzczogc3RyaW5nLCBhbW91bnQ6IG51bWJlcikge1xuICByZXR1cm4ge1xuICAgIHZpc2libGU6IGZhbHNlLFxuICAgIHR4SUQ6ICdjYzY3NWY0N2I1NmY4NGMwMTFlZTg3YzdjMGRkZTVhNWZkNjYyYjQ4MTM5ODA1YWFmM2M0ODg0MDllM2FhZjNiJyxcbiAgICByYXdfZGF0YToge1xuICAgICAgY29udHJhY3Q6IFtcbiAgICAgICAge1xuICAgICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgYW1vdW50OiBhbW91bnQsXG4gICAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6IGZyb21BZGRyZXNzLFxuICAgICAgICAgICAgICB0b19hZGRyZXNzOiB0b0FkZHJlc3MsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZTogJ1RyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlZl9ibG9ja19ieXRlczogJzM3ZDMnLFxuICAgICAgcmVmX2Jsb2NrX2hhc2g6ICdhNDdkMmFjMjE4OTQ4N2I5JyxcbiAgICAgIGV4cGlyYXRpb246IDE2OTM0NDE1NDgwMDAsXG4gICAgICB0aW1lc3RhbXA6IDE2OTM0NDE0ODk4NTQsXG4gICAgfSxcbiAgICByYXdfZGF0YV9oZXg6XG4gICAgICAnMGEwMjM3ZDMyMjA4YTQ3ZDJhYzIxODk0ODdiOTQwZTBiZGVkYzdhNDMxNWE2ODA4MDExMjY0MGEyZDc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NDcyNjE2ZTczNjY2NTcyNDM2ZjZlNzQ3MjYxNjM3NDEyMzMwYTE1NDFlOGY4OGI0ZTIzOWU4NWM5MjI1NWIwNDM0NTBhMzRiNjVhMzI5YTU0MTIxNTQxYzI1NDIwMjU1YzJjNWEyZGQ1NGVmNjlmOTJlZjI2MWU2YmQ0MjE2YTE4ODBjMmQ3MmY3MGJlZjdlOWM3YTQzMScsXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBTYW1wbGVSYXdUb2tlblNlbmRUeG4gPSB7XG4gIHJlc3VsdDoge1xuICAgIHJlc3VsdDogdHJ1ZSxcbiAgfSxcbiAgdHJhbnNhY3Rpb246IHtcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICB0eElEOiAnZjgxNzljYWFiNGM3ODE2NzZjYjMzOTQwOTQ4NTMzZTIwOWRjN2ZlMjEzNWJiZDZlMDBmNjA1OTc4NjJiODZiZScsXG4gICAgcmF3X2RhdGE6IHtcbiAgICAgIGNvbnRyYWN0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIGRhdGE6ICdhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU0MGIxOWFmY2EzZGRlNGNlOGZjYmM1N2FiNDFmOGMzMjZhYjBjZjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxOTBhYjAwJyxcbiAgICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxYzI1NDIwMjU1YzJjNWEyZGQ1NGVmNjlmOTJlZjI2MWU2YmQ0MjE2YScsXG4gICAgICAgICAgICAgIGNvbnRyYWN0X2FkZHJlc3M6ICc0MTQyYTFlMzlhZWZhNDkyOTBmMmIzZjllZDY4OGQ3Y2VjZjg2Y2Q2ZTAnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmlnZ2VyU21hcnRDb250cmFjdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlOiAnVHJpZ2dlclNtYXJ0Q29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlZl9ibG9ja19ieXRlczogJ2NiYTMnLFxuICAgICAgcmVmX2Jsb2NrX2hhc2g6ICdlMTRjYzQyNWRhM2NmZDk0JyxcbiAgICAgIGV4cGlyYXRpb246IDE2OTMzNTc2MjAwMDAsXG4gICAgICBmZWVfbGltaXQ6IDEwMDAwMDAwMCxcbiAgICAgIHRpbWVzdGFtcDogMTY5MzM1NzU2MTMzOSxcbiAgICB9LFxuICAgIHJhd19kYXRhX2hleDpcbiAgICAgICcwYTAyY2JhMzIyMDhlMTRjYzQyNWRhM2NmZDk0NDBhMGY2ZWE5ZmE0MzE1YWFlMDEwODFmMTJhOTAxMGEzMTc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NDcyNjk2NzY3NjU3MjUzNmQ2MTcyNzQ0MzZmNmU3NDcyNjE2Mzc0MTI3NDBhMTU0MWMyNTQyMDI1NWMyYzVhMmRkNTRlZjY5ZjkyZWYyNjFlNmJkNDIxNmExMjE1NDE0MmExZTM5YWVmYTQ5MjkwZjJiM2Y5ZWQ2ODhkN2NlY2Y4NmNkNmUwMjI0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTQwYjE5YWZjYTNkZGU0Y2U4ZmNiYzU3YWI0MWY4YzMyNmFiMGNmMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDE5MGFiMDA3MGZiYWJlNzlmYTQzMTkwMDE4MGMyZDcyZicsXG4gIH0sXG59O1xuXG5leHBvcnQgY29uc3QgVW5zaWduZWRCdWlsZFRyYW5zYWN0aW9uID0ge1xuICB2aXNpYmxlOiBmYWxzZSxcbiAgdHhJRDogJzgwYjhiOWVhZWQ1MWM4YmJhM2I0OWY3ZjBlN2NjNWYyMWFjOTlhNmYzZTI4OTNjNjYzYjU0NGJmMmM2OTViMWQnLFxuICByYXdfZGF0YToge1xuICAgIGNvbnRyYWN0OiBbXG4gICAgICB7XG4gICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBhbW91bnQ6IDE3MTgsXG4gICAgICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDFjNDUzMGY2YmZhOTAyYjczOThhYzc3M2RhNTYxMDZhMTVhZjE1ZjkyJyxcbiAgICAgICAgICAgIHRvX2FkZHJlc3M6ICc0MTg5ZmZhZjlkYThjNmZhZTMyMTg5YjJlNmRjZTIyODI0OWIxMTI5YWEnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAnVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVmX2Jsb2NrX2J5dGVzOiAnOTBlNCcsXG4gICAgcmVmX2Jsb2NrX2hhc2g6ICdhMDE4YmY5ODkyZGRiMTM4JyxcbiAgICBleHBpcmF0aW9uOiAxNTcxODExNDY4MDAwLFxuICAgIHRpbWVzdGFtcDogMTU3MTgxMTQxMDgxOSxcbiAgfSxcbiAgcmF3X2RhdGFfaGV4OlxuICAgICcwYTAyOTBlNDIyMDhhMDE4YmY5ODkyZGRiMTM4NDBlMGM1OGViYWRmMmQ1YTY2MDgwMTEyNjIwYTJkNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU0NzI2MTZlNzM2NjY1NzI0MzZmNmU3NDcyNjE2Mzc0MTIzMTBhMTU0MWM0NTMwZjZiZmE5MDJiNzM5OGFjNzczZGE1NjEwNmExNWFmMTVmOTIxMjE1NDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhMThiNjBkNzA4Mzg3OGJiYWRmMmQnLFxufTtcblxuZXhwb3J0IGNvbnN0IEZpcnN0U2lnT25CdWlsZFRyYW5zYWN0aW9uID0gKCgpID0+IHtcbiAgY29uc3QgbW9kaWZpZWRCdWlsZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoVW5zaWduZWRCdWlsZFRyYW5zYWN0aW9uKSk7XG4gIG1vZGlmaWVkQnVpbGRbJ3NpZ25hdHVyZSddID0gW107XG4gIG1vZGlmaWVkQnVpbGRbJ3NpZ25hdHVyZSddLnB1c2goXG4gICAgJ2JkMDhlNmNkODc2YmI1NzNkZDAwYTMyODcwYjU4YjcwZWE4Yjc5MDhmNTEzMTY4NjUwMjU4OTk0MWJmYTRmZGRhNzZiOGM4MWJiYmNmYzU0OWJlNmQ0OTg4NjU3Y2VhMTIyZGY3ZGE0NmM3MjA0MWRlZjI2ODNkNmVjYjA0YTc0MDEnXG4gICk7XG4gIHJldHVybiBtb2RpZmllZEJ1aWxkO1xufSkoKTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZFNpZ09uQnVpbGRUcmFuc2FjdGlvbiA9ICgoKSA9PiB7XG4gIGNvbnN0IG1vZGlmaWVkQnVpbGQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KFVuc2lnbmVkQnVpbGRUcmFuc2FjdGlvbikpO1xuICBtb2RpZmllZEJ1aWxkWydzaWduYXR1cmUnXSA9IFtdO1xuICBtb2RpZmllZEJ1aWxkWydzaWduYXR1cmUnXS5wdXNoKFxuICAgICdmM2NhYmUyZjRhZWQxM2UyMzQyYzc4YzdiZjQ2MjZlYTM2Y2Q2NTA5YTQ0NDE4YzI0ODY2ODE0ZDM0MjY3MDM2ODZiZTllZjIxYmQ5OTMzMjRjNTIwNTY1YmVlZTgyMDIwMWYyYTUwYTlhYzk3MTczMjQxMGQzZWI2OWNkYjJhNjAwJ1xuICApO1xuICBtb2RpZmllZEJ1aWxkWydzaWduYXR1cmUnXS5wdXNoKFxuICAgICdiZDA4ZTZjZDg3NmJiNTczZGQwMGEzMjg3MGI1OGI3MGVhOGI3OTA4ZjUxMzE2ODY1MDI1ODk5NDFiZmE0ZmRkYTc2YjhjODFiYmJjZmM1NDliZTZkNDk4ODY1N2NlYTEyMmRmN2RhNDZjNzIwNDFkZWYyNjgzZDZlY2IwNGE3NDAxJ1xuICApO1xuICByZXR1cm4gbW9kaWZpZWRCdWlsZDtcbn0pKCk7XG5cbmV4cG9ydCBjb25zdCBVbnNpZ25lZFRyYW5zZmVyQ29udHJhY3RUeCA9IHtcbiAgdHg6IHtcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICB0eElEOiAnZWUwYmJmNzJiMjM4MzYxNTc3YTlkYzQxZDc5ZjdhNzRmNmJhOWVmZTQ3MmMyMWJmZDNlN2RjODUwYzllOTAyMCcsXG4gICAgcmF3X2RhdGE6IHtcbiAgICAgIGNvbnRyYWN0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgIGFtb3VudDogMTAsXG4gICAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MWU1ZTAwZmMxY2RiMzkyMWI4MzQwYzIwYjJiNjViNTQzYzg0YWExZGQnLFxuICAgICAgICAgICAgICB0b19hZGRyZXNzOiAnNDEyYzJiYTRhOWZmNmM1MzIwN2RjNWI2ODZiZmVjZjc1ZWE3YjgwNTc3JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlOiAnVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcmVmX2Jsb2NrX2J5dGVzOiAnNTEyMycsXG4gICAgICByZWZfYmxvY2tfaGFzaDogJzUyYTI2ZGVhOTYzYTQ3YmMnLFxuICAgICAgZXhwaXJhdGlvbjogMTU2OTQ2MzMyMDAwMCxcbiAgICAgIHRpbWVzdGFtcDogMTU2OTQ2MzI2MTYyMyxcbiAgICB9LFxuICAgIHJhd19kYXRhX2hleDpcbiAgICAgICcwYTAyNTEyMzIyMDg1MmEyNmRlYTk2M2E0N2JjNDBjMGZiYjZkYWQ2MmQ1YTY1MDgwMTEyNjEwYTJkNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU0NzI2MTZlNzM2NjY1NzI0MzZmNmU3NDcyNjE2Mzc0MTIzMDBhMTU0MWU1ZTAwZmMxY2RiMzkyMWI4MzQwYzIwYjJiNjViNTQzYzg0YWExZGQxMjE1NDEyYzJiYTRhOWZmNmM1MzIwN2RjNWI2ODZiZmVjZjc1ZWE3YjgwNTc3MTgwYTcwYjdiM2IzZGFkNjJkJyxcbiAgICBzaWduYXR1cmU6IFtdLFxuICB9LFxuICBzaWc6ICcwYTk5NDQzMTY5MjRlYzdmYmE0ODk1ZjFlYTFlN2NjOTVmOWUyYjgyOGFlMjY4YTQ4YThkYmVkZGVmNDBjNmY1ZTEyNzE3MGE5NWFlZDlmM2Y1NDI1YjEzMDU4ZDBjYjZlZjFmNWMyMjEzMTkwZTQ4MmU4NzA0MzY5MWYyMmU2ODAwJyxcbn07XG5cbmV4cG9ydCBjb25zdCBBY2NvdW50UGVybWlzc2lvblVwZGF0ZUNvbnRyYWN0UHJpdiA9ICc4ODQxMzYwMUMyNjczMTYwNDA0MTNDNjhBQUIzNTY1MUY4QzdBQjA1RUM4RkZFRjQyRDQyRERBMTZBQTM3MzJDJztcbmV4cG9ydCBjb25zdCBVbnNpZ25lZEFjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3RUeCA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICc3ZDU0MDdkODFkNGU5NWY0YzNjMjhmODg0OTk0N2I5MWZiZmE5YzViMTAyYmZkNWI0OGZlNzdlNjNjNjgxMDdkJyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgb3duZXI6IHtcbiAgICAgICAgICAgICAga2V5czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICc0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMnLFxuICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWRkcmVzczogJzQxMmMyYmE0YTlmZjZjNTMyMDdkYzViNjg2YmZlY2Y3NWVhN2I4MDU3NycsXG4gICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhZGRyZXNzOiAnNDFlMGMwZjU4MWQ3ZDAyZDQwODI2YzFjNmNiZWU3MWY2MjVkNjM0NGQwJyxcbiAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDIsXG4gICAgICAgICAgICAgIHBlcm1pc3Npb25fbmFtZTogJ293bmVyJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDFjYTQyYTQ5OWEyZWVlMzk0MzIzYmFhMmMyZjdkOGE3NjRjZTA2ODljJyxcbiAgICAgICAgICAgIGFjdGl2ZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9wZXJhdGlvbnM6ICc3ZmZmMWZjMDAzN2UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJyxcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICc0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMnLFxuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiAnNDEyYzJiYTRhOWZmNmM1MzIwN2RjNWI2ODZiZmVjZjc1ZWE3YjgwNTc3JyxcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogJzQxZTBjMGY1ODFkN2QwMmQ0MDgyNmMxYzZjYmVlNzFmNjI1ZDYzNDRkMCcsXG4gICAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDIsXG4gICAgICAgICAgICAgICAgdHlwZTogJ0FjdGl2ZScsXG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbl9uYW1lOiAnYWN0aXZlMCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLkFjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAnQWNjb3VudFBlcm1pc3Npb25VcGRhdGVDb250cmFjdCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVmX2Jsb2NrX2J5dGVzOiAnZWViMicsXG4gICAgcmVmX2Jsb2NrX2hhc2g6ICc5NzkwNGUyOTIyZDZiNWU4JyxcbiAgICBleHBpcmF0aW9uOiAxNTcyNDczNTI5MDAwLFxuICAgIHRpbWVzdGFtcDogMTU3MjQ3MzQ2OTA2NSxcbiAgfSxcbiAgcmF3X2RhdGFfaGV4OlxuICAgICcwYTAyZWViMjIyMDg5NzkwNGUyOTIyZDZiNWU4NDBhOGM1ZTdmNWUxMmQ1YWJjMDIwODJlMTJiNzAyMGEzYzc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU0MTYzNjM2Zjc1NmU3NDUwNjU3MjZkNjk3MzczNjk2ZjZlNTU3MDY0NjE3NDY1NDM2ZjZlNzQ3MjYxNjM3NDEyZjYwMTBhMTU0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMxMjVhMWEwNTZmNzc2ZTY1NzIyMDAyM2ExOTBhMTU0MWNhNDJhNDk5YTJlZWUzOTQzMjNiYWEyYzJmN2Q4YTc2NGNlMDY4OWMxMDAxM2ExOTBhMTU0MTJjMmJhNGE5ZmY2YzUzMjA3ZGM1YjY4NmJmZWNmNzVlYTdiODA1NzcxMDAxM2ExOTBhMTU0MWUwYzBmNTgxZDdkMDJkNDA4MjZjMWM2Y2JlZTcxZjYyNWQ2MzQ0ZDAxMDAxMjI4MDAxMDgwMjFhMDc2MTYzNzQ2OTc2NjUzMDIwMDIzMjIwN2ZmZjFmYzAwMzdlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNhMTkwYTE1NDFjYTQyYTQ5OWEyZWVlMzk0MzIzYmFhMmMyZjdkOGE3NjRjZTA2ODljMTAwMTNhMTkwYTE1NDEyYzJiYTRhOWZmNmM1MzIwN2RjNWI2ODZiZmVjZjc1ZWE3YjgwNTc3MTAwMTNhMTkwYTE1NDFlMGMwZjU4MWQ3ZDAyZDQwODI2YzFjNmNiZWU3MWY2MjVkNjM0NGQwMTAwMTcwODlmMWUzZjVlMTJkJyxcbn07XG5cbmV4cG9ydCBjb25zdCBTaWduZWRBY2NvdW50UGVybWlzc2lvblVwZGF0ZUNvbnRyYWN0VHggPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB0eElEOiAnN2Q1NDA3ZDgxZDRlOTVmNGMzYzI4Zjg4NDk5NDdiOTFmYmZhOWM1YjEwMmJmZDViNDhmZTc3ZTYzYzY4MTA3ZCcsXG4gIHJhd19kYXRhOiB7XG4gICAgY29udHJhY3Q6IFtcbiAgICAgIHtcbiAgICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIG93bmVyOiB7XG4gICAgICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhZGRyZXNzOiAnNDFjYTQyYTQ5OWEyZWVlMzk0MzIzYmFhMmMyZjdkOGE3NjRjZTA2ODljJyxcbiAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICc0MTJjMmJhNGE5ZmY2YzUzMjA3ZGM1YjY4NmJmZWNmNzVlYTdiODA1NzcnLFxuICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWRkcmVzczogJzQxZTBjMGY1ODFkN2QwMmQ0MDgyNmMxYzZjYmVlNzFmNjI1ZDYzNDRkMCcsXG4gICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgdGhyZXNob2xkOiAyLFxuICAgICAgICAgICAgICBwZXJtaXNzaW9uX25hbWU6ICdvd25lcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxY2E0MmE0OTlhMmVlZTM5NDMyM2JhYTJjMmY3ZDhhNzY0Y2UwNjg5YycsXG4gICAgICAgICAgICBhY3RpdmVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcGVyYXRpb25zOiAnN2ZmZjFmYzAwMzdlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcsXG4gICAgICAgICAgICAgICAga2V5czogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiAnNDFjYTQyYTQ5OWEyZWVlMzk0MzIzYmFhMmMyZjdkOGE3NjRjZTA2ODljJyxcbiAgICAgICAgICAgICAgICAgICAgd2VpZ2h0OiAxLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkcmVzczogJzQxMmMyYmE0YTlmZjZjNTMyMDdkYzViNjg2YmZlY2Y3NWVhN2I4MDU3NycsXG4gICAgICAgICAgICAgICAgICAgIHdlaWdodDogMSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6ICc0MWUwYzBmNTgxZDdkMDJkNDA4MjZjMWM2Y2JlZTcxZjYyNWQ2MzQ0ZDAnLFxuICAgICAgICAgICAgICAgICAgICB3ZWlnaHQ6IDEsXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAyLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdBY3RpdmUnLFxuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25fbmFtZTogJ2FjdGl2ZTAnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5BY2NvdW50UGVybWlzc2lvblVwZGF0ZUNvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ0FjY291bnRQZXJtaXNzaW9uVXBkYXRlQ29udHJhY3QnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlZl9ibG9ja19ieXRlczogJ2VlYjInLFxuICAgIHJlZl9ibG9ja19oYXNoOiAnOTc5MDRlMjkyMmQ2YjVlOCcsXG4gICAgZXhwaXJhdGlvbjogMTU3MjQ3MzUyOTAwMCxcbiAgICB0aW1lc3RhbXA6IDE1NzI0NzM0NjkwNjUsXG4gIH0sXG4gIHJhd19kYXRhX2hleDpcbiAgICAnMGEwMmVlYjIyMjA4OTc5MDRlMjkyMmQ2YjVlODQwYThjNWU3ZjVlMTJkNWFiYzAyMDgyZTEyYjcwMjBhM2M3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNDE2MzYzNmY3NTZlNzQ1MDY1NzI2ZDY5NzM3MzY5NmY2ZTU1NzA2NDYxNzQ2NTQzNmY2ZTc0NzI2MTYzNzQxMmY2MDEwYTE1NDFjYTQyYTQ5OWEyZWVlMzk0MzIzYmFhMmMyZjdkOGE3NjRjZTA2ODljMTI1YTFhMDU2Zjc3NmU2NTcyMjAwMjNhMTkwYTE1NDFjYTQyYTQ5OWEyZWVlMzk0MzIzYmFhMmMyZjdkOGE3NjRjZTA2ODljMTAwMTNhMTkwYTE1NDEyYzJiYTRhOWZmNmM1MzIwN2RjNWI2ODZiZmVjZjc1ZWE3YjgwNTc3MTAwMTNhMTkwYTE1NDFlMGMwZjU4MWQ3ZDAyZDQwODI2YzFjNmNiZWU3MWY2MjVkNjM0NGQwMTAwMTIyODAwMTA4MDIxYTA3NjE2Mzc0Njk3NjY1MzAyMDAyMzIyMDdmZmYxZmMwMDM3ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzYTE5MGExNTQxY2E0MmE0OTlhMmVlZTM5NDMyM2JhYTJjMmY3ZDhhNzY0Y2UwNjg5YzEwMDEzYTE5MGExNTQxMmMyYmE0YTlmZjZjNTMyMDdkYzViNjg2YmZlY2Y3NWVhN2I4MDU3NzEwMDEzYTE5MGExNTQxZTBjMGY1ODFkN2QwMmQ0MDgyNmMxYzZjYmVlNzFmNjI1ZDYzNDRkMDEwMDE3MDg5ZjFlM2Y1ZTEyZCcsXG4gIHNpZ25hdHVyZTogW1xuICAgICcyYmM1MDMwNzI3ZDQyZWQ2NDJjMjgwNmEzYzFhNWEwMzkzNDA4YjE1OTU0MWYyMTYzZGY0YmE2OTJjNWMxMjQwZTJkZGU1YTJhYWU0ZWNhZDQ2NTQxNGU2MGI1YWVjYTg1MjJkMGEyYjY2MDZmODhhMzI2NjU4ODA5MTYxMzM0ZjAwJyxcbiAgXSxcbn07XG5leHBvcnQgY29uc3QgSW52YWxpZElEVHJhbnNhY3Rpb24gPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB0eElEOiAnOTBiOGI5ZWFlZDUxYzhiYmEzYjQ5ZjdmMGU3Y2M1ZjIxYWM5OWE2ZjNlMjg5M2M2NjNiNTQ0YmYyYzY5NWIxZCcsXG4gIHJhd19kYXRhOiB7XG4gICAgY29udHJhY3Q6IFtcbiAgICAgIHtcbiAgICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGFtb3VudDogMTcxOCxcbiAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MWM0NTMwZjZiZmE5MDJiNzM5OGFjNzczZGE1NjEwNmExNWFmMTVmOTInLFxuICAgICAgICAgICAgdG9fYWRkcmVzczogJzQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdUcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICByZWZfYmxvY2tfYnl0ZXM6ICc5MGU0JyxcbiAgICByZWZfYmxvY2tfaGFzaDogJ2EwMThiZjk4OTJkZGIxMzgnLFxuICAgIGV4cGlyYXRpb246IDE1NzE4MTE0NjgwMDAsXG4gICAgdGltZXN0YW1wOiAxNTcxODExNDEwODE5LFxuICB9LFxuICByYXdfZGF0YV9oZXg6XG4gICAgJzBhMDI5MGU0MjIwOGEwMThiZjk4OTJkZGIxMzg0MGUwYzU4ZWJhZGYyZDVhNjYwODAxMTI2MjBhMmQ3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTQ3MjYxNmU3MzY2NjU3MjQzNmY2ZTc0NzI2MTYzNzQxMjMxMGExNTQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MjEyMTU0MTg5ZmZhZjlkYThjNmZhZTMyMTg5YjJlNmRjZTIyODI0OWIxMTI5YWExOGI2MGQ3MDgzODc4YmJhZGYyZCcsXG59O1xuZXhwb3J0IGNvbnN0IFVuc2lnbmVkQnVpbGRFbXB0eUlEVHJhbnNhY3Rpb24gPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB0eElEOiAnJyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgYW1vdW50OiAxNzE4LFxuICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MicsXG4gICAgICAgICAgICB0b19hZGRyZXNzOiAnNDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ1RyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlZl9ibG9ja19ieXRlczogJzkwZTQnLFxuICAgIHJlZl9ibG9ja19oYXNoOiAnYTAxOGJmOTg5MmRkYjEzOCcsXG4gICAgZXhwaXJhdGlvbjogMTU3MTgxMTQ2ODAwMCxcbiAgICB0aW1lc3RhbXA6IDE1NzE4MTE0MTA4MTksXG4gIH0sXG4gIHJhd19kYXRhX2hleDpcbiAgICAnMGEwMjkwZTQyMjA4YTAxOGJmOTg5MmRkYjEzODQwZTBjNThlYmFkZjJkNWE2NjA4MDExMjYyMGEyZDc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NDcyNjE2ZTczNjY2NTcyNDM2ZjZlNzQ3MjYxNjM3NDEyMzEwYTE1NDFjNDUzMGY2YmZhOTAyYjczOThhYzc3M2RhNTYxMDZhMTVhZjE1ZjkyMTIxNTQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYTE4YjYwZDcwODM4NzhiYmFkZjJkJyxcbn07XG5cbmV4cG9ydCBjb25zdCBVbnNpZ25lZEJ1aWxkSW52YWxpZElEVHJhbnNhY3Rpb24gPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB0eElEOiAnODBiOGI5ZWJmZDUxYzhiYmEzYjQ5ZjdmMGU3Y2M1ZjIxYWM5OWE2ZjNlMjg5M2M2NjNiNTQ0YmYyYzY5NWIxZCcsXG4gIHJhd19kYXRhOiB7XG4gICAgY29udHJhY3Q6IFtcbiAgICAgIHtcbiAgICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGFtb3VudDogMTcxOCxcbiAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MWM0NTMwZjZiZmE5MDJiNzM5OGFjNzczZGE1NjEwNmExNWFmMTVmOTInLFxuICAgICAgICAgICAgdG9fYWRkcmVzczogJzQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdUcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICByZWZfYmxvY2tfYnl0ZXM6ICc5MGU0JyxcbiAgICByZWZfYmxvY2tfaGFzaDogJ2EwMThiZjk4OTJkZGIxMzgnLFxuICAgIGV4cGlyYXRpb246IDE1NzE4MTE0NjgwMDAsXG4gICAgdGltZXN0YW1wOiAxNTcxODExNDEwODE5LFxuICB9LFxuICByYXdfZGF0YV9oZXg6XG4gICAgJzBhMDI5MGU0MjIwOGEwMThiZjk4OTJkZGIxMzg0MGUwYzU4ZWJhZGYyZDVhNjYwODAxMTI2MjBhMmQ3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTQ3MjYxNmU3MzY2NjU3MjQzNmY2ZTc0NzI2MTYzNzQxMjMxMGExNTQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MjEyMTU0MTg5ZmZhZjlkYThjNmZhZTMyMTg5YjJlNmRjZTIyODI0OWIxMTI5YWExOGI2MGQ3MDgzODc4YmJhZGYyZCcsXG59O1xuXG5leHBvcnQgY29uc3QgVW5zaWduZWRJbnZhbGlkRXhwaXJhdGlvbkJ1aWxkVHJhbnNhY3Rpb24gPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB0eElEOiAnODBiOGI5ZWFlZDUxYzhiYmEzYjQ5ZjdmMGU3Y2M1ZjIxYWM5OWE2ZjNlMjg5M2M2NjNiNTQ0YmYyYzY5NWIxZCcsXG4gIHJhd19kYXRhOiB7XG4gICAgY29udHJhY3Q6IFtcbiAgICAgIHtcbiAgICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIGFtb3VudDogMTcxOCxcbiAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MWM0NTMwZjZiZmE5MDJiNzM5OGFjNzczZGE1NjEwNmExNWFmMTVmOTInLFxuICAgICAgICAgICAgdG9fYWRkcmVzczogJzQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlX3VybDogJ3R5cGUuZ29vZ2xlYXBpcy5jb20vcHJvdG9jb2wuVHJhbnNmZXJDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdUcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICByZWZfYmxvY2tfYnl0ZXM6ICc5MGU0JyxcbiAgICByZWZfYmxvY2tfaGFzaDogJ2EwMThiZjk4OTJkZGIxMzgnLFxuICAgIGV4cGlyYXRpb246IDE1NzE4MTE0Njg5MDAsXG4gICAgdGltZXN0YW1wOiAxNTcxODExNDEwODE5LFxuICB9LFxuICByYXdfZGF0YV9oZXg6XG4gICAgJzBhMDI5MGU0MjIwOGEwMThiZjk4OTJkZGIxMzg0MGUwYzU4ZWJhZGYyZDVhNjYwODAxMTI2MjBhMmQ3NDc5NzA2NTJlNjc2ZjZmNjc2YzY1NjE3MDY5NzMyZTYzNmY2ZDJmNzA3MjZmNzQ2ZjYzNmY2YzJlNTQ3MjYxNmU3MzY2NjU3MjQzNmY2ZTc0NzI2MTYzNzQxMjMxMGExNTQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MjEyMTU0MTg5ZmZhZjlkYThjNmZhZTMyMTg5YjJlNmRjZTIyODI0OWIxMTI5YWExOGI2MGQ3MDgzODc4YmJhZGYyZCcsXG59O1xuXG5leHBvcnQgY29uc3QgVW5zaWduZWRJbnZhbGlkVGltZVN0YW1wQnVpbGRUcmFuc2FjdGlvbiA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICc4MGI4YjllYWVkNTFjOGJiYTNiNDlmN2YwZTdjYzVmMjFhYzk5YTZmM2UyODkzYzY2M2I1NDRiZjJjNjk1YjFkJyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgYW1vdW50OiAxNzE4LFxuICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxYzQ1MzBmNmJmYTkwMmI3Mzk4YWM3NzNkYTU2MTA2YTE1YWYxNWY5MicsXG4gICAgICAgICAgICB0b19hZGRyZXNzOiAnNDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGVfdXJsOiAndHlwZS5nb29nbGVhcGlzLmNvbS9wcm90b2NvbC5UcmFuc2ZlckNvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ1RyYW5zZmVyQ29udHJhY3QnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlZl9ibG9ja19ieXRlczogJzkwZTQnLFxuICAgIHJlZl9ibG9ja19oYXNoOiAnYTAxOGJmOTg5MmRkYjEzOCcsXG4gICAgZXhwaXJhdGlvbjogMTU3MTgxMTQ2ODAwMCxcbiAgICB0aW1lc3RhbXA6IDE1ODE4MTE0MTA4MTksXG4gIH0sXG4gIHJhd19kYXRhX2hleDpcbiAgICAnMGEwMjkwZTQyMjA4YTAxOGJmOTg5MmRkYjEzODQwZTBjNThlYmFkZjJkNWE2NjA4MDExMjYyMGEyZDc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NDcyNjE2ZTczNjY2NTcyNDM2ZjZlNzQ3MjYxNjM3NDEyMzEwYTE1NDFjNDUzMGY2YmZhOTAyYjczOThhYzc3M2RhNTYxMDZhMTVhZjE1ZjkyMTIxNTQxODlmZmFmOWRhOGM2ZmFlMzIxODliMmU2ZGNlMjI4MjQ5YjExMjlhYTE4YjYwZDcwODM4NzhiYmFkZjJkJyxcbn07XG5cbmV4cG9ydCBjb25zdCBVbnNpZ25lZEludmFsaWRDb250cmFjdEJ1aWxkVHJhbnNhY3Rpb24gPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB0eElEOiAnODBiOGI5ZWFlZDUxYzhiYmEzYjQ5ZjdmMGU3Y2M1ZjIxYWM5OWE2ZjNlMjg5M2M2NjNiNTQ0YmYyYzY5NWIxZCcsXG4gIHJhd19kYXRhOiB7XG4gICAgcmVmX2Jsb2NrX2J5dGVzOiAnOTBlNCcsXG4gICAgcmVmX2Jsb2NrX2hhc2g6ICdhMDE4YmY5ODkyZGRiMTM4JyxcbiAgICBleHBpcmF0aW9uOiAxNTcxODExNDY4MDAwLFxuICAgIHRpbWVzdGFtcDogMTU3MTgxMTQxMDgxOSxcbiAgfSxcbiAgcmF3X2RhdGFfaGV4OlxuICAgICcwYTAyOTBlNDIyMDhhMDE4YmY5ODkyZGRiMTM4NDBlMGM1OGViYWRmMmQ1YTY2MDgwMTEyNjIwYTJkNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU0NzI2MTZlNzM2NjY1NzI0MzZmNmU3NDcyNjE2Mzc0MTIzMTBhMTU0MWM0NTMwZjZiZmE5MDJiNzM5OGFjNzczZGE1NjEwNmExNWFmMTVmOTIxMjE1NDE4OWZmYWY5ZGE4YzZmYWUzMjE4OWIyZTZkY2UyMjgyNDliMTEyOWFhMThiNjBkNzA4Mzg3OGJiYWRmMmQnLFxufTtcblxuZXhwb3J0IGNvbnN0IG1vY2tUb2tlblR4ID0ge1xuICBzaWduYXR1cmU6IFtdLFxuICB0eElEOiAnNjM2YTk0ZDg2NjJjNTFjYmM3ZTFiZGNjYzZjY2MwZDUzMTgyNzU4MmJiN2Q3M2Y4YmJjMGVlYTdmODZkZjU5MCcsXG4gIHJhd19kYXRhOiB7XG4gICAgY29udHJhY3RUeXBlOiAyLFxuICAgIGNvbnRyYWN0OiBbXG4gICAgICB7XG4gICAgICAgIHBhcmFtZXRlcjoge1xuICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICBkYXRhOiAnYTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0ODg3OTc0ZjQyYTc4OWVmNmQ0ZGZjN2JhMjhiMTU4MzIxOTQzNGIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzYjlhY2EwMCcsXG4gICAgICAgICAgICBvd25lcl9hZGRyZXNzOiAnNDE0ODg3OTc0ZjQyYTc4OWVmNmQ0ZGZjN2JhMjhiMTU4MzIxOTQzNGIzJyxcbiAgICAgICAgICAgIGNvbnRyYWN0X2FkZHJlc3M6ICc0MTQyYTFlMzlhZWZhNDkyOTBmMmIzZjllZDY4OGQ3Y2VjZjg2Y2Q2ZTAnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlRyaWdnZXJTbWFydENvbnRyYWN0JyxcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogJ1RyaWdnZXJTbWFydENvbnRyYWN0JyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICByZWZfYmxvY2tfYnl0ZXM6ICdjOGNmJyxcbiAgICByZWZfYmxvY2tfaGFzaDogJzg5MTc3ZmQ4NGM1ZDkxOTYnLFxuICAgIGV4cGlyYXRpb246IDE2NzA1NDM5OTMxNjQsXG4gICAgdGltZXN0YW1wOiAxNjcwNTQwMzkzMTY0LFxuICAgIGZlZV9saW1pdDogMTUwMDAwMDAwLFxuICB9LFxuICByYXdfZGF0YV9oZXg6XG4gICAgJzBhMDJjOGNmMjIwODg5MTc3ZmQ4NGM1ZDkxOTY0MGNjZDJiOWExY2YzMDVhYWUwMTA4MWYxMmE5MDEwYTMxNzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU0NzI2OTY3Njc2NTcyNTM2ZDYxNzI3NDQzNmY2ZTc0NzI2MTYzNzQxMjc0MGExNTQxNDg4Nzk3NGY0MmE3ODllZjZkNGRmYzdiYTI4YjE1ODMyMTk0MzRiMzEyMTU0MTQyYTFlMzlhZWZhNDkyOTBmMmIzZjllZDY4OGQ3Y2VjZjg2Y2Q2ZTAyMjQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0ODg3OTc0ZjQyYTc4OWVmNmQ0ZGZjN2JhMjhiMTU4MzIxOTQzNGIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzYjlhY2EwMDcwY2NmNWRkOWZjZjMwOTAwMTgwYTNjMzQ3Jyxcbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZFVuZnJlZXplVW5zaWduZWRUeCA9IHtcbiAgdmlzaWJsZTogZmFsc2UsXG4gIHR4SUQ6ICcyMjdiN2M3MDBlYTNiZjUwN2E3ZDhiMzYyN2I2ZTlkYjFkN2U2MTE2NjgxZjJlMTI1YzE2ZmM0MGU2YTE5MjM1JyxcbiAgcmF3X2RhdGE6IHtcbiAgICBjb250cmFjdDogW1xuICAgICAge1xuICAgICAgICBwYXJhbWV0ZXI6IHtcbiAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgcmVzb3VyY2U6ICdFTkVSR1knLFxuICAgICAgICAgICAgb3duZXJfYWRkcmVzczogJzQxZTVlMDBmYzFjZGIzOTIxYjgzNDBjMjBiMmI2NWI1NDNjODRhYTFkZCcsXG4gICAgICAgICAgICB1bmZyZWV6ZV9iYWxhbmNlOiAxMDAwMDAwLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLlVuZnJlZXplQmFsYW5jZVYyQ29udHJhY3QnLFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAnVW5mcmVlemVCYWxhbmNlVjJDb250cmFjdCcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgcmVmX2Jsb2NrX2J5dGVzOiAnNjdiOScsXG4gICAgcmVmX2Jsb2NrX2hhc2g6ICczYWVmODgwM2MxYWNlYjAzJyxcbiAgICBleHBpcmF0aW9uOiAxNzQ1MzEyNjc2MDAwLFxuICAgIHRpbWVzdGFtcDogMTc0NTMxMjYxNzkxNyxcbiAgfSxcbiAgcmF3X2RhdGFfaGV4OlxuICAgICcwYTAyNjdiOTIyMDgzYWVmODgwM2MxYWNlYjAzNDBhMGYxZjdlNWU1MzI1YTViMDgzNzEyNTcwYTM2NzQ3OTcwNjUyZTY3NmY2ZjY3NmM2NTYxNzA2OTczMmU2MzZmNmQyZjcwNzI2Zjc0NmY2MzZmNmMyZTU1NmU2NjcyNjU2NTdhNjU0MjYxNmM2MTZlNjM2NTU2MzI0MzZmNmU3NDcyNjE2Mzc0MTIxZDBhMTU0MWU1ZTAwZmMxY2RiMzkyMWI4MzQwYzIwYjJiNjViNTQzYzg0YWExZGQxMGMwODQzZDE4MDE3MGJkYWJmNGU1ZTUzMicsXG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRXaXRoZHJhd1Vuc2lnbmVkVHggPSB7XG4gIHZpc2libGU6IGZhbHNlLFxuICB0eElEOiAnN2E5ZDM3NTQwZTU2ZjNmNjFlZDBmOTdjZDhhNTIxMzY1MmM5MGM0Yjc1ZGFkODc2ZGE5YzM1MjkxZDIzMTM2NycsXG4gIHJhd19kYXRhOiB7XG4gICAgY29udHJhY3Q6IFtcbiAgICAgIHtcbiAgICAgICAgcGFyYW1ldGVyOiB7XG4gICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgIG93bmVyX2FkZHJlc3M6ICc0MUU1RTAwRkMxQ0RCMzkyMUI4MzQwQzIwQjJCNjVCNTQzQzg0QUExREQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHlwZV91cmw6ICd0eXBlLmdvb2dsZWFwaXMuY29tL3Byb3RvY29sLldpdGhkcmF3RXhwaXJlVW5mcmVlemVDb250cmFjdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdXaXRoZHJhd0V4cGlyZVVuZnJlZXplQ29udHJhY3QnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlZl9ibG9ja19ieXRlczogJzViNGMnLFxuICAgIHJlZl9ibG9ja19oYXNoOiAnYzk4OWEyMTNhODYxYzJhMScsXG4gICAgZXhwaXJhdGlvbjogMTcxNDA4ODQwMDAwMCxcbiAgICB0aW1lc3RhbXA6IDE3MTQwMzExMjgyNTMsXG4gIH0sXG4gIHJhd19kYXRhX2hleDpcbiAgICAnMGEwMjViNGMyMjA4Yzk4OWEyMTNhODYxYzJhMTQwYzBjMWRlZThmMzBkNWE2NjA4MDExMjYyMGEzMjc0Nzk3MDY1MmU2NzZmNmY2NzZjNjU2MTcwNjk3MzJlNjM2ZjZkMmY3MDcyNmY3NDZmNjM2ZjZjMmU1NzY5NzQ2ODY0NzI2MTc3NDU3ODcwNjk3MjY1NTU2ZTY2NzI2NTY1N2E2NTQzNmY2ZTc0NzI2MTYzNzQxMjI4MGExNTQxZTVlMDBmYzFjZGIzOTIxYjgzNDBjMjBiMmI2NWI1NDNjODRhYTFkZDcwZmRlOGYzZThmMzBkJyxcbn07XG4iXX0=
|