@bitgo-beta/statics 15.1.1-beta.12 → 15.1.1-beta.1200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/.mocharc.js +2 -2
  2. package/CHANGELOG.md +3318 -0
  3. package/dist/src/account.d.ts +896 -73
  4. package/dist/src/account.d.ts.map +1 -1
  5. package/dist/src/account.js +1406 -149
  6. package/dist/src/ada.d.ts.map +1 -1
  7. package/dist/src/ada.js +9 -3
  8. package/dist/src/allCoinsAndTokens.d.ts +2 -0
  9. package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
  10. package/dist/src/allCoinsAndTokens.js +796 -0
  11. package/dist/src/avaxp.d.ts.map +1 -1
  12. package/dist/src/avaxp.js +10 -3
  13. package/dist/src/base.d.ts +1864 -34
  14. package/dist/src/base.d.ts.map +1 -1
  15. package/dist/src/base.js +1945 -50
  16. package/dist/src/coinFeatures.d.ts +103 -0
  17. package/dist/src/coinFeatures.d.ts.map +1 -0
  18. package/dist/src/coinFeatures.js +621 -0
  19. package/dist/src/coins/adaTokens.d.ts +2 -0
  20. package/dist/src/coins/adaTokens.d.ts.map +1 -0
  21. package/dist/src/coins/adaTokens.js +12 -0
  22. package/dist/src/coins/avaxTokens.d.ts +2 -0
  23. package/dist/src/coins/avaxTokens.d.ts.map +1 -0
  24. package/dist/src/coins/avaxTokens.js +123 -0
  25. package/dist/src/coins/botOfcTokens.d.ts +2 -0
  26. package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
  27. package/dist/src/coins/botOfcTokens.js +5 -0
  28. package/dist/src/coins/botTokens.d.ts +2 -0
  29. package/dist/src/coins/botTokens.d.ts.map +1 -0
  30. package/dist/src/coins/botTokens.js +5 -0
  31. package/dist/src/coins/bscTokens.d.ts +2 -0
  32. package/dist/src/coins/bscTokens.d.ts.map +1 -0
  33. package/dist/src/coins/bscTokens.js +171 -0
  34. package/dist/src/coins/cosmosTokens.d.ts +2 -0
  35. package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
  36. package/dist/src/coins/cosmosTokens.js +12 -0
  37. package/dist/src/coins/erc20Coins.d.ts +2 -0
  38. package/dist/src/coins/erc20Coins.d.ts.map +1 -0
  39. package/dist/src/coins/erc20Coins.js +1739 -0
  40. package/dist/src/coins/jettonTokens.d.ts +2 -0
  41. package/dist/src/coins/jettonTokens.d.ts.map +1 -0
  42. package/dist/src/coins/jettonTokens.js +13 -0
  43. package/dist/src/coins/nep141Tokens.d.ts +2 -0
  44. package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
  45. package/dist/src/coins/nep141Tokens.js +14 -0
  46. package/dist/src/coins/ofcCoins.d.ts +2 -0
  47. package/dist/src/coins/ofcCoins.d.ts.map +1 -0
  48. package/dist/src/coins/ofcCoins.js +691 -0
  49. package/dist/src/coins/ofcErc20Coins.d.ts +3 -0
  50. package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
  51. package/dist/src/coins/ofcErc20Coins.js +1535 -0
  52. package/dist/src/coins/polygonTokens.d.ts +2 -0
  53. package/dist/src/coins/polygonTokens.d.ts.map +1 -0
  54. package/dist/src/coins/polygonTokens.js +154 -0
  55. package/dist/src/coins/sip10Tokens.d.ts +2 -0
  56. package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
  57. package/dist/src/coins/sip10Tokens.js +25 -0
  58. package/dist/src/coins/solTokens.d.ts +3 -0
  59. package/dist/src/coins/solTokens.d.ts.map +1 -0
  60. package/dist/src/coins/solTokens.js +390 -0
  61. package/dist/src/coins/vetTokens.d.ts +2 -0
  62. package/dist/src/coins/vetTokens.d.ts.map +1 -0
  63. package/dist/src/coins/vetTokens.js +11 -0
  64. package/dist/src/coins.d.ts +11 -1
  65. package/dist/src/coins.d.ts.map +1 -1
  66. package/dist/src/coins.js +319 -1413
  67. package/dist/src/constants.d.ts +1 -0
  68. package/dist/src/constants.d.ts.map +1 -1
  69. package/dist/src/constants.js +3 -2
  70. package/dist/src/flrp.d.ts +40 -0
  71. package/dist/src/flrp.d.ts.map +1 -0
  72. package/dist/src/flrp.js +65 -0
  73. package/dist/src/index.d.ts +3 -1
  74. package/dist/src/index.d.ts.map +1 -1
  75. package/dist/src/index.js +26 -3
  76. package/dist/src/lightning.d.ts +43 -0
  77. package/dist/src/lightning.d.ts.map +1 -0
  78. package/dist/src/lightning.js +60 -0
  79. package/dist/src/map.d.ts +10 -0
  80. package/dist/src/map.d.ts.map +1 -1
  81. package/dist/src/map.js +118 -17
  82. package/dist/src/networkFeatureMapForTokens.d.ts +3 -0
  83. package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
  84. package/dist/src/networkFeatureMapForTokens.js +31 -0
  85. package/dist/src/networks.d.ts +1260 -4
  86. package/dist/src/networks.d.ts.map +1 -1
  87. package/dist/src/networks.js +1602 -43
  88. package/dist/src/ofc.d.ts +529 -3
  89. package/dist/src/ofc.d.ts.map +1 -1
  90. package/dist/src/ofc.js +1261 -28
  91. package/dist/src/tokenConfig.d.ts +232 -14
  92. package/dist/src/tokenConfig.d.ts.map +1 -1
  93. package/dist/src/tokenConfig.js +863 -244
  94. package/dist/src/utxo.d.ts +3 -1
  95. package/dist/src/utxo.d.ts.map +1 -1
  96. package/dist/src/utxo.js +85 -3
  97. package/dist/tsconfig.tsbuildinfo +1 -2744
  98. package/package.json +2 -2
  99. package/dist/resources/dot/index.d.ts +0 -3
  100. package/dist/resources/dot/index.d.ts.map +0 -1
  101. package/dist/resources/dot/index.js +0 -15
  102. package/dist/resources/dot/mainnet.d.ts +0 -2
  103. package/dist/resources/dot/mainnet.d.ts.map +0 -1
  104. package/dist/resources/dot/mainnet.js +0 -5
  105. package/dist/resources/dot/westend.d.ts +0 -2
  106. package/dist/resources/dot/westend.d.ts.map +0 -1
  107. package/dist/resources/dot/westend.js +0 -5
  108. package/resources/dot/index.ts +0 -2
  109. package/resources/dot/mainnet.ts +0 -2
  110. package/resources/dot/westend.ts +0 -2
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Networks = exports.BaseNetwork = exports.NetworkType = void 0;
3
+ exports.Networks = exports.FlareTestnet = exports.Flare = exports.FlarePTestnet = exports.FlareP = exports.BaseNetwork = exports.NetworkType = void 0;
4
4
  const base_1 = require("./base");
5
- const dot_1 = require("../resources/dot");
6
5
  var NetworkType;
7
6
  (function (NetworkType) {
8
7
  NetworkType["MAINNET"] = "mainnet";
9
8
  NetworkType["TESTNET"] = "testnet";
10
- })(NetworkType = exports.NetworkType || (exports.NetworkType = {}));
9
+ })(NetworkType || (exports.NetworkType = NetworkType = {}));
11
10
  class BaseNetwork {
12
11
  }
13
12
  exports.BaseNetwork = BaseNetwork;
@@ -28,7 +27,7 @@ class Algorand extends Mainnet {
28
27
  super(...arguments);
29
28
  this.name = 'Algorand';
30
29
  this.family = base_1.CoinFamily.ALGO;
31
- this.explorerUrl = 'https://algoexplorer.io/tx/';
30
+ this.explorerUrl = 'https://allo.info/tx/';
32
31
  }
33
32
  }
34
33
  class AlgorandTestnet extends Testnet {
@@ -36,7 +35,7 @@ class AlgorandTestnet extends Testnet {
36
35
  super(...arguments);
37
36
  this.name = 'AlgorandTestnet';
38
37
  this.family = base_1.CoinFamily.ALGO;
39
- this.explorerUrl = 'https://testnet.algoexplorer.io/tx/';
38
+ this.explorerUrl = 'https://explorer.bitquery.io/algorand_testnet/tx/';
40
39
  }
41
40
  }
42
41
  class Ada extends Mainnet {
@@ -47,7 +46,7 @@ class Ada extends Mainnet {
47
46
  this.utxolibName = 'cardano';
48
47
  this.poolDeposit = 500000000;
49
48
  this.stakeKeyDeposit = 2000000;
50
- this.explorerUrl = 'https://explorer.cardano.org/en';
49
+ this.explorerUrl = 'https://cexplorer.io/';
51
50
  this.coinsPerUtxoWord = 34482;
52
51
  this.maxTransactionSize = 8000;
53
52
  this.maxValueSize = 4000;
@@ -67,14 +66,86 @@ class AdaTestnet extends Testnet {
67
66
  this.stakeKeyDeposit = 2000000;
68
67
  }
69
68
  }
69
+ class Apt extends Mainnet {
70
+ constructor() {
71
+ super(...arguments);
72
+ this.name = 'Apt';
73
+ this.family = base_1.CoinFamily.APT;
74
+ this.explorerUrl = 'https://explorer.aptoslabs.com/txn/?network=mainnet';
75
+ this.accountExplorerUrl = 'https://explorer.aptoslabs.com/account/?network=mainnet';
76
+ this.blockExplorerUrl = 'https://explorer.aptoslabs.com/block/?network=mainnet';
77
+ }
78
+ }
79
+ class AptTestnet extends Testnet {
80
+ constructor() {
81
+ super(...arguments);
82
+ this.name = 'Testnet Apt';
83
+ this.family = base_1.CoinFamily.APT;
84
+ this.explorerUrl = 'https://explorer.aptoslabs.com/txn/?network=testnet';
85
+ this.accountExplorerUrl = 'https://explorer.aptoslabs.com/account/?network=testnet';
86
+ this.blockExplorerUrl = 'https://explorer.aptoslabs.com/block/?network=testnet';
87
+ }
88
+ }
89
+ class Icp extends Mainnet {
90
+ constructor() {
91
+ super(...arguments);
92
+ this.name = 'Internet Computer';
93
+ this.family = base_1.CoinFamily.ICP;
94
+ this.explorerUrl = 'https://dashboard.internetcomputer.org/transaction/';
95
+ this.accountExplorerUrl = 'https://dashboard.internetcomputer.org/account/';
96
+ }
97
+ }
98
+ class IcpTestnet extends Testnet {
99
+ constructor() {
100
+ super(...arguments);
101
+ this.name = 'Testnet Internet Computer';
102
+ this.family = base_1.CoinFamily.ICP;
103
+ this.explorerUrl = 'https://dashboard.internetcomputer.org/transaction/'; // ICP testnet explorer is not available, so using mainnet explorer
104
+ this.accountExplorerUrl = 'https://dashboard.internetcomputer.org/account/';
105
+ }
106
+ }
107
+ class Arbitrum extends Mainnet {
108
+ constructor() {
109
+ super(...arguments);
110
+ this.name = 'Arbitrum';
111
+ this.family = base_1.CoinFamily.ARBETH;
112
+ this.explorerUrl = 'https://arbiscan.io/tx/';
113
+ this.accountExplorerUrl = 'https://arbiscan.io/address/';
114
+ this.chainId = 42161;
115
+ this.nativeCoinOperationHashPrefix = '42161';
116
+ this.tokenOperationHashPrefix = '42161-ERC20';
117
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
118
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
119
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
120
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
121
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
122
+ }
123
+ }
124
+ class ArbitrumTestnet extends Testnet {
125
+ constructor() {
126
+ super(...arguments);
127
+ this.name = 'ArbitrumTestnet';
128
+ this.family = base_1.CoinFamily.ARBETH;
129
+ this.explorerUrl = 'https://sepolia.arbiscan.io/tx/';
130
+ this.accountExplorerUrl = 'https://sepolia.arbiscan.io/address/';
131
+ this.chainId = 421614;
132
+ this.nativeCoinOperationHashPrefix = '421614';
133
+ this.tokenOperationHashPrefix = '421614-ERC20';
134
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
135
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
136
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
137
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
138
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
139
+ }
140
+ }
70
141
  class AvalancheC extends Mainnet {
71
142
  constructor() {
72
143
  super(...arguments);
73
144
  // https://docs.avax.network/build/tutorials/smart-contracts/deploy-a-smart-contract-on-avalanche-using-remix-and-metamask#avalanche-mainnet-settings
74
145
  this.name = 'AvalancheC';
75
146
  this.family = base_1.CoinFamily.AVAXC;
76
- this.explorerUrl = 'https://snowtrace.io/tx/';
77
- this.accountExplorerUrl = 'https://snowtrace.io/address/';
147
+ this.explorerUrl = 'https://subnets.avax.network/c-chain/tx/';
148
+ this.accountExplorerUrl = 'https://subnets.avax.network/c-chain/address/';
78
149
  this.chainId = 43114;
79
150
  }
80
151
  }
@@ -84,8 +155,8 @@ class AvalancheCTestnet extends Testnet {
84
155
  // https://docs.avax.network/build/tutorials/smart-contracts/deploy-a-smart-contract-on-avalanche-using-remix-and-metamask#avalanche-mainnet-settings
85
156
  this.name = 'AvalancheCTestnet';
86
157
  this.family = base_1.CoinFamily.AVAXC;
87
- this.explorerUrl = 'https://testnet.snowtrace.io/tx/';
88
- this.accountExplorerUrl = 'https://testnet.snowtrace.io/address/';
158
+ this.explorerUrl = 'https://subnets-test.avax.network/c-chain/tx/';
159
+ this.accountExplorerUrl = 'https://subnets-test.avax.network/c-chain/address/';
89
160
  this.chainId = 43113;
90
161
  }
91
162
  }
@@ -104,6 +175,7 @@ class AvalancheP extends Mainnet {
104
175
  this.alias = 'P';
105
176
  this.vm = 'platformvm';
106
177
  this.txFee = '1000000'; // 1 MILLIAVAX
178
+ this.maxImportFee = '10000000'; // 0.01 AVAX
107
179
  this.createSubnetTx = '1000000000'; // 1 AVAX
108
180
  this.createChainTx = '1000000000'; // 1 AVAX
109
181
  this.creationTxFee = '10000000'; // 1 CENTIAVAX
@@ -132,6 +204,7 @@ class AvalanchePTestnet extends Testnet {
132
204
  this.hrp = 'fuji';
133
205
  this.vm = 'platformvm';
134
206
  this.txFee = '1000000'; // 1 MILLIAVAX
207
+ this.maxImportFee = '10000000'; // 0.01 AVAX
135
208
  this.createSubnetTx = '1000000000'; // 1 AVAX
136
209
  this.createChainTx = '1000000000'; // 1 AVAX
137
210
  this.creationTxFee = '10000000'; // 1 CENTIAVAX
@@ -150,9 +223,12 @@ class BinanceSmartChain extends Mainnet {
150
223
  super(...arguments);
151
224
  this.name = 'BinanceSmartChain';
152
225
  this.family = base_1.CoinFamily.BSC;
153
- this.explorerUrl = 'https://www.bscscan.com/tx/';
154
- this.accountExplorerUrl = 'https://www.bscscan.com/address/';
226
+ this.explorerUrl = 'https://bscscan.com/tx/';
227
+ this.accountExplorerUrl = 'https://bscscan.com/address/';
155
228
  this.chainId = 56;
229
+ this.nativeCoinOperationHashPrefix = '56';
230
+ this.tokenOperationHashPrefix = '56-ERC20';
231
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
156
232
  }
157
233
  }
158
234
  class BinanceSmartChainTestnet extends Testnet {
@@ -163,6 +239,33 @@ class BinanceSmartChainTestnet extends Testnet {
163
239
  this.explorerUrl = 'https://testnet.bscscan.com/tx/';
164
240
  this.accountExplorerUrl = 'https://testnet.bscscan.com/address/';
165
241
  this.chainId = 97;
242
+ this.nativeCoinOperationHashPrefix = '97';
243
+ this.tokenOperationHashPrefix = '97-ERC20';
244
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
245
+ }
246
+ }
247
+ class LightningBitcoin extends Mainnet {
248
+ constructor() {
249
+ super(...arguments);
250
+ this.name = 'LightningBitcoin';
251
+ this.family = base_1.CoinFamily.LNBTC;
252
+ this.utxolibName = 'bitcoin';
253
+ this.explorerUrl = 'https://mempool.space/lightning';
254
+ this.lightningServicePubKey = '0338508686f978ceffd7ce05404041b1a5b4f75a39bc92a6d355240ccc081f763e';
255
+ this.middlewarePubKey = '020d52f6458b17b565bc03516568d1a65c8cbd131ce03f2207567e4cd3322e82f3';
256
+ this.tatPubKey = '03953da20068c096858d3cca60f8c5b0e5a2f5d0383ecf9b6ab392d71e4f3e72df';
257
+ }
258
+ }
259
+ class LightningBitcoinTestnet extends Testnet {
260
+ constructor() {
261
+ super(...arguments);
262
+ this.name = 'LightningBitcoinTestnet';
263
+ this.family = base_1.CoinFamily.LNBTC;
264
+ this.utxolibName = 'testnet';
265
+ this.explorerUrl = 'https://mempool.space/testnet/lightning';
266
+ this.lightningServicePubKey = '024055021db1e7f019ebb783ab0b0810c21a819207d4cb1ec4a6e2150ac07f1482';
267
+ this.middlewarePubKey = '027cb3bc6b49fc385d282b42a7be232a94ffcbaffc7818b603b17722582bbf539b';
268
+ this.tatPubKey = '02e747c99c371eac9c14fb19913bec8a0e3e46e35ab1a45878e5b9afbb69899c1e';
166
269
  }
167
270
  }
168
271
  class Bitcoin extends Mainnet {
@@ -171,7 +274,7 @@ class Bitcoin extends Mainnet {
171
274
  this.name = 'Bitcoin';
172
275
  this.family = base_1.CoinFamily.BTC;
173
276
  this.utxolibName = 'bitcoin';
174
- this.explorerUrl = 'https://blockstream.info/tx/';
277
+ this.explorerUrl = 'https://mempool.space/tx/';
175
278
  }
176
279
  }
177
280
  class BitcoinTestnet extends Testnet {
@@ -180,7 +283,36 @@ class BitcoinTestnet extends Testnet {
180
283
  this.name = 'BitcoinTestnet';
181
284
  this.family = base_1.CoinFamily.BTC;
182
285
  this.utxolibName = 'testnet';
183
- this.explorerUrl = 'https://blockstream.info/testnet/tx/';
286
+ this.explorerUrl = 'https://mempool.space/testnet/tx/';
287
+ // Add our pubkey for our paygo wallet
288
+ this.paygoAddressAttestationPubkey = 'xpub6BKRgmCPX5oQiJgJ6Vq6BF8tDvZhwQki5dVVQohckK2ZJXtxj8K6M9pavLwt9piW33hZz17SWmG8QWsjJ1tHdde2Fs5UA3DFbApCtbdaGKn';
289
+ }
290
+ }
291
+ class BitcoinPublicSignet extends Testnet {
292
+ constructor() {
293
+ super(...arguments);
294
+ this.name = 'BitcoinPublicSignet';
295
+ this.family = base_1.CoinFamily.BTC;
296
+ this.utxolibName = 'bitcoinPublicSignet';
297
+ this.explorerUrl = 'https://mempool.space/signet/tx/';
298
+ }
299
+ }
300
+ class BitcoinTestnet4 extends Testnet {
301
+ constructor() {
302
+ super(...arguments);
303
+ this.name = 'BitcoinTestnet4';
304
+ this.family = base_1.CoinFamily.BTC;
305
+ this.utxolibName = 'bitcoinTestnet4';
306
+ this.explorerUrl = 'https://mempool.space/testnet4/tx/';
307
+ }
308
+ }
309
+ class BitcoinBitGoSignet extends Testnet {
310
+ constructor() {
311
+ super(...arguments);
312
+ this.name = 'BitcoinBitGoSignet';
313
+ this.family = base_1.CoinFamily.BTC;
314
+ this.utxolibName = 'bitcoinBitGoSignet';
315
+ this.explorerUrl = 'https://mempool.space/notanetwork/tx/';
184
316
  }
185
317
  }
186
318
  class BitcoinCash extends Mainnet {
@@ -198,7 +330,7 @@ class BitcoinCashTestnet extends Testnet {
198
330
  this.name = 'BitcoinCashTestnet';
199
331
  this.family = base_1.CoinFamily.BCH;
200
332
  this.utxolibName = 'bitcoincashTestnet';
201
- this.explorerUrl = 'https://www.blockchain.com/bch-testnet/tx/';
333
+ this.explorerUrl = 'https://tbch.loping.net/tx/';
202
334
  }
203
335
  }
204
336
  class BitcoinSV extends Mainnet {
@@ -301,7 +433,6 @@ class Polkadot extends Mainnet {
301
433
  this.genesisHash = '0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3';
302
434
  this.specVersion = 9140;
303
435
  this.chainName = 'Polkadot';
304
- this.metadataRpc = dot_1.mainnetMetadataRpc;
305
436
  this.txVersion = 9;
306
437
  }
307
438
  }
@@ -313,10 +444,9 @@ class PolkadotTestnet extends Testnet {
313
444
  this.explorerUrl = 'https://westend.subscan.io/extrinsic/';
314
445
  this.specName = 'westend';
315
446
  this.genesisHash = '0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e';
316
- this.specVersion = 9320;
447
+ this.specVersion = 9430;
317
448
  this.chainName = 'Westend';
318
- this.metadataRpc = dot_1.westendMetadataRpc;
319
- this.txVersion = 14;
449
+ this.txVersion = 22;
320
450
  }
321
451
  }
322
452
  class Celo extends Mainnet {
@@ -327,6 +457,8 @@ class Celo extends Mainnet {
327
457
  this.explorerUrl = 'https://explorer.celo.org/tx/';
328
458
  this.accountExplorerUrl = 'https://explorer.celo.org/address/';
329
459
  this.chainId = 42220;
460
+ this.nativeCoinOperationHashPrefix = 'CELO';
461
+ this.tokenOperationHashPrefix = 'CELO-ERC20';
330
462
  }
331
463
  }
332
464
  class CeloTestnet extends Testnet {
@@ -337,6 +469,8 @@ class CeloTestnet extends Testnet {
337
469
  this.explorerUrl = 'https://alfajores-blockscout.celo-testnet.org/tx/';
338
470
  this.accountExplorerUrl = 'https://alfajores-blockscout.celo-testnet.org/address/';
339
471
  this.chainId = 44787;
472
+ this.nativeCoinOperationHashPrefix = 'CELO';
473
+ this.tokenOperationHashPrefix = 'CELO-ERC20';
340
474
  }
341
475
  }
342
476
  // TODO update explorerUrl STLX-1657
@@ -365,11 +499,16 @@ class Ethereum extends Mainnet {
365
499
  this.family = base_1.CoinFamily.ETH;
366
500
  this.explorerUrl = 'https://etherscan.io/tx/';
367
501
  this.accountExplorerUrl = 'https://etherscan.io/address/';
502
+ this.blockExplorerUrl = 'https://etherscan.io/block/';
368
503
  // from https://github.com/ethereumjs/ethereumjs-common/blob/a978f630858f6843176bb20b277569785914e899/src/chains/index.ts
369
504
  this.chainId = 1;
370
- this.batcherContractAddress = '0x0c9b25dfe02b2c89cce86e1a0bd6c04a7aca01b6';
505
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
371
506
  this.forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
372
507
  this.forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
508
+ this.nativeCoinOperationHashPrefix = 'ETHER';
509
+ this.tokenOperationHashPrefix = 'ERC20';
510
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
511
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
373
512
  }
374
513
  }
375
514
  class Ethereum2 extends Mainnet {
@@ -392,6 +531,8 @@ class EthereumW extends Mainnet {
392
531
  this.batcherContractAddress = '';
393
532
  this.forwarderFactoryAddress = '';
394
533
  this.forwarderImplementationAddress = '';
534
+ this.nativeCoinOperationHashPrefix = 'ETHER';
535
+ this.tokenOperationHashPrefix = 'ERC20';
395
536
  }
396
537
  }
397
538
  class Pyrmont extends Testnet {
@@ -415,6 +556,8 @@ class Kovan extends Testnet {
415
556
  this.batcherContractAddress = '0xc0aaf2649e7b0f3950164681eca2b1a8f654a478';
416
557
  this.forwarderFactoryAddress = '0xa79a485294d226075ee65410bc94ea454f3e409d';
417
558
  this.forwarderImplementationAddress = '0xa946e748f25a5ec6878eb1a9f2e902028174c0b3';
559
+ this.nativeCoinOperationHashPrefix = 'ETHER';
560
+ this.tokenOperationHashPrefix = 'ERC20';
418
561
  }
419
562
  }
420
563
  class Goerli extends Testnet {
@@ -424,11 +567,52 @@ class Goerli extends Testnet {
424
567
  this.family = base_1.CoinFamily.ETH;
425
568
  this.explorerUrl = 'https://goerli.etherscan.io/tx/';
426
569
  this.accountExplorerUrl = 'https://goerli.etherscan.io/address/';
570
+ this.blockExplorerUrl = 'https://goerli.etherscan.io/block/';
427
571
  // from https://github.com/ethereumjs/ethereumjs-common/blob/a978f630858f6843176bb20b277569785914e899/src/chains/index.ts
428
572
  this.chainId = 5;
429
573
  this.batcherContractAddress = '0xe8e847cf573fc8ed75621660a36affd18c543d7e';
430
574
  this.forwarderFactoryAddress = '0xf5caa5e3e93afbc21bd19ef4f2691a37121f7917';
431
575
  this.forwarderImplementationAddress = '0x80d5c91e8cc21df69fc4d64f21dc2d83121c3999';
576
+ this.nativeCoinOperationHashPrefix = 'ETHER';
577
+ this.tokenOperationHashPrefix = 'ERC20';
578
+ }
579
+ }
580
+ class Holesky extends Testnet {
581
+ constructor() {
582
+ super(...arguments);
583
+ this.name = 'Holesky';
584
+ this.family = base_1.CoinFamily.ETH;
585
+ this.explorerUrl = 'https://holesky.etherscan.io/tx/';
586
+ this.accountExplorerUrl = 'https://holesky.etherscan.io/address/';
587
+ this.blockExplorerUrl = 'https://holesky.etherscan.io/block/';
588
+ // https://chainlist.org/chain/17000
589
+ this.chainId = 17000;
590
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
591
+ this.forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
592
+ this.forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
593
+ this.nativeCoinOperationHashPrefix = 'ETHER';
594
+ this.tokenOperationHashPrefix = 'ERC20';
595
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
596
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
597
+ }
598
+ }
599
+ class Hoodi extends Testnet {
600
+ constructor() {
601
+ super(...arguments);
602
+ this.name = 'Hoodi';
603
+ this.family = base_1.CoinFamily.ETH;
604
+ this.explorerUrl = 'https://hoodi.etherscan.io/tx/';
605
+ this.accountExplorerUrl = 'https://hoodi.etherscan.io/address/';
606
+ this.blockExplorerUrl = 'https://hoodi.etherscan.io/block/';
607
+ // https://chainlist.org/chain/560048
608
+ this.chainId = 560048;
609
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
610
+ this.forwarderFactoryAddress = '0x0e2874d6824fae4f61e446012317a9b86384bd8e';
611
+ this.forwarderImplementationAddress = '0x7441f20a59be97011842404b9aefd8d85fd81aa6';
612
+ this.nativeCoinOperationHashPrefix = 'ETHER';
613
+ this.tokenOperationHashPrefix = 'ERC20';
614
+ this.walletV4ForwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
615
+ this.walletV4ForwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
432
616
  }
433
617
  }
434
618
  class EthereumClassic extends Mainnet {
@@ -440,6 +624,8 @@ class EthereumClassic extends Mainnet {
440
624
  this.accountExplorerUrl = 'https://blockscout.com/etc/mainnet/address/';
441
625
  // from https://chainid.network/chains/
442
626
  this.chainId = 61;
627
+ this.nativeCoinOperationHashPrefix = 'ETC';
628
+ this.tokenOperationHashPrefix = 'ETC-ERC20';
443
629
  }
444
630
  }
445
631
  class EthereumClassicTestnet extends Testnet {
@@ -451,6 +637,8 @@ class EthereumClassicTestnet extends Testnet {
451
637
  this.accountExplorerUrl = 'https://blockscout.com/etc/mordor/address/';
452
638
  // from https://chainid.network/chains/
453
639
  this.chainId = 63;
640
+ this.nativeCoinOperationHashPrefix = 'ETC';
641
+ this.tokenOperationHashPrefix = 'ETC-ERC20';
454
642
  }
455
643
  }
456
644
  class Eos extends Mainnet {
@@ -474,7 +662,7 @@ class Hedera extends Mainnet {
474
662
  super(...arguments);
475
663
  this.name = 'Hedera';
476
664
  this.family = base_1.CoinFamily.HBAR;
477
- this.explorerUrl = 'https://explorer.kabuto.sh/mainnet/transaction/';
665
+ this.explorerUrl = 'https://hashscan.io/mainnet/transaction/';
478
666
  }
479
667
  }
480
668
  class HederaTestnet extends Testnet {
@@ -482,7 +670,7 @@ class HederaTestnet extends Testnet {
482
670
  super(...arguments);
483
671
  this.name = 'HederaTestnet';
484
672
  this.family = base_1.CoinFamily.HBAR;
485
- this.explorerUrl = 'https://explorer.kabuto.sh/testnet/transaction/';
673
+ this.explorerUrl = 'https://testnet.dragonglass.me/hedera/search?q=';
486
674
  }
487
675
  }
488
676
  class Litecoin extends Mainnet {
@@ -527,6 +715,8 @@ class Rbtc extends Mainnet {
527
715
  this.explorerUrl = 'https://explorer.rsk.co/tx/';
528
716
  this.accountExplorerUrl = 'https://explorer.rsk.co/address/';
529
717
  this.chainId = 30;
718
+ this.nativeCoinOperationHashPrefix = 'RSK';
719
+ this.tokenOperationHashPrefix = 'RSK-ERC20';
530
720
  }
531
721
  }
532
722
  class RbtcTestnet extends Testnet {
@@ -537,6 +727,8 @@ class RbtcTestnet extends Testnet {
537
727
  this.explorerUrl = 'https://explorer.testnet.rsk.co/tx/';
538
728
  this.accountExplorerUrl = 'https://explorer.testnet.rsk.co/address/';
539
729
  this.chainId = 31;
730
+ this.nativeCoinOperationHashPrefix = 'RSK';
731
+ this.tokenOperationHashPrefix = 'RSK-ERC20';
540
732
  }
541
733
  }
542
734
  class Stellar extends Mainnet {
@@ -592,7 +784,7 @@ class Atom extends Mainnet {
592
784
  super(...arguments);
593
785
  this.name = 'Cosmos Hub ATOM';
594
786
  this.family = base_1.CoinFamily.ATOM;
595
- this.explorerUrl = 'https://atomscan.com/transactions/';
787
+ this.explorerUrl = 'https://www.mintscan.io/cosmos/tx/';
596
788
  }
597
789
  }
598
790
  class AtomTestnet extends Testnet {
@@ -600,7 +792,307 @@ class AtomTestnet extends Testnet {
600
792
  super(...arguments);
601
793
  this.name = 'Testnet Cosmos Hub ATOM';
602
794
  this.family = base_1.CoinFamily.ATOM;
603
- this.explorerUrl = 'https://explorer.theta-testnet.polypore.xyz/transactions/';
795
+ this.explorerUrl = 'https://explorer.polypore.xyz/provider/tx/';
796
+ }
797
+ }
798
+ class Osmo extends Mainnet {
799
+ constructor() {
800
+ super(...arguments);
801
+ this.name = 'Osmosis';
802
+ this.family = base_1.CoinFamily.OSMO;
803
+ this.explorerUrl = 'https://www.mintscan.io/osmosis/txs/';
804
+ }
805
+ }
806
+ class OsmoTestnet extends Testnet {
807
+ constructor() {
808
+ super(...arguments);
809
+ this.name = 'Testnet Osmosis';
810
+ this.family = base_1.CoinFamily.OSMO;
811
+ this.explorerUrl = 'https://testnet.osmosis.explorers.guru/transaction/';
812
+ }
813
+ }
814
+ class Tia extends Mainnet {
815
+ constructor() {
816
+ super(...arguments);
817
+ this.name = 'Celestia';
818
+ this.family = base_1.CoinFamily.TIA;
819
+ this.explorerUrl = 'https://www.mintscan.io/celestia/tx/';
820
+ }
821
+ }
822
+ class TiaTestnet extends Testnet {
823
+ constructor() {
824
+ super(...arguments);
825
+ this.name = 'Testnet Celestia';
826
+ this.family = base_1.CoinFamily.TIA;
827
+ this.explorerUrl = 'https://testnet.celestia.explorers.guru/transaction/';
828
+ }
829
+ }
830
+ class Hash extends Mainnet {
831
+ constructor() {
832
+ super(...arguments);
833
+ this.name = 'Provenance';
834
+ this.family = base_1.CoinFamily.HASH;
835
+ this.explorerUrl = 'https://explorer.provenance.io/tx/';
836
+ }
837
+ }
838
+ class HashTestnet extends Testnet {
839
+ constructor() {
840
+ super(...arguments);
841
+ this.name = 'Testnet Provenance';
842
+ this.family = base_1.CoinFamily.HASH;
843
+ this.explorerUrl = 'https://explorer.test.provenance.io/tx/';
844
+ }
845
+ }
846
+ class Bld extends Mainnet {
847
+ constructor() {
848
+ super(...arguments);
849
+ this.name = 'Agoric';
850
+ this.family = base_1.CoinFamily.BLD;
851
+ this.explorerUrl = 'https://bigdipper.live/agoric/transactions/';
852
+ }
853
+ }
854
+ class BldTestnet extends Testnet {
855
+ constructor() {
856
+ super(...arguments);
857
+ this.name = 'Testnet Agoric';
858
+ this.family = base_1.CoinFamily.BLD;
859
+ this.explorerUrl = 'https://emerynet.explorer.agoric.net/agoric/tx/';
860
+ }
861
+ }
862
+ class Sei extends Mainnet {
863
+ constructor() {
864
+ super(...arguments);
865
+ this.name = 'Sei';
866
+ this.family = base_1.CoinFamily.SEI;
867
+ this.explorerUrl = 'https://seistream.app/transactions/';
868
+ }
869
+ }
870
+ class SeiTestnet extends Testnet {
871
+ constructor() {
872
+ super(...arguments);
873
+ this.name = 'Testnet Sei';
874
+ this.family = base_1.CoinFamily.SEI;
875
+ this.explorerUrl = 'https://testnet.seistream.app/transactions/';
876
+ }
877
+ }
878
+ class Zeta extends Mainnet {
879
+ constructor() {
880
+ super(...arguments);
881
+ this.name = 'Zeta';
882
+ this.family = base_1.CoinFamily.ZETA;
883
+ this.explorerUrl = 'https://explorer.zetachain.com/cosmos/tx/';
884
+ }
885
+ }
886
+ class ZetaTestnet extends Testnet {
887
+ constructor() {
888
+ super(...arguments);
889
+ this.name = 'Testnet Zeta';
890
+ this.family = base_1.CoinFamily.ZETA;
891
+ this.explorerUrl = 'https://athens.explorer.zetachain.com/cosmos/tx/';
892
+ }
893
+ }
894
+ class Injective extends Mainnet {
895
+ constructor() {
896
+ super(...arguments);
897
+ this.name = 'Injective';
898
+ this.family = base_1.CoinFamily.INJECTIVE;
899
+ this.explorerUrl = 'https://www.mintscan.io/injective/tx/';
900
+ }
901
+ }
902
+ class InjectiveTestnet extends Testnet {
903
+ constructor() {
904
+ super(...arguments);
905
+ this.name = 'InjectiveTestnet';
906
+ this.family = base_1.CoinFamily.INJECTIVE;
907
+ this.explorerUrl = 'https://testnet.explorer.injective.network/transaction/';
908
+ }
909
+ }
910
+ class Kava extends Mainnet {
911
+ constructor() {
912
+ super(...arguments);
913
+ this.name = 'Kava';
914
+ this.family = base_1.CoinFamily.KAVA;
915
+ this.explorerUrl = 'https://www.mintscan.io/kava/transactions/';
916
+ }
917
+ }
918
+ class KavaTestnet extends Testnet {
919
+ constructor() {
920
+ super(...arguments);
921
+ this.name = 'KavaTestnet';
922
+ this.family = base_1.CoinFamily.KAVA;
923
+ this.explorerUrl = 'https://testnet.mintscan.io/kava-testnet/txs/';
924
+ }
925
+ }
926
+ class Ton extends Mainnet {
927
+ constructor() {
928
+ super(...arguments);
929
+ this.name = 'Ton';
930
+ this.family = base_1.CoinFamily.TON;
931
+ this.explorerUrl = 'https://tonscan.org/tx/';
932
+ }
933
+ }
934
+ class TonTestnet extends Testnet {
935
+ constructor() {
936
+ super(...arguments);
937
+ this.name = 'Testnet Ton';
938
+ this.family = base_1.CoinFamily.TON;
939
+ this.explorerUrl = 'https://testnet.tonscan.org/tx/';
940
+ }
941
+ }
942
+ class Coreum extends Mainnet {
943
+ constructor() {
944
+ super(...arguments);
945
+ this.name = 'Coreum';
946
+ this.family = base_1.CoinFamily.COREUM;
947
+ this.explorerUrl = 'https://www.mintscan.io/coreum/tx/';
948
+ }
949
+ }
950
+ class CoreumTestnet extends Testnet {
951
+ constructor() {
952
+ super(...arguments);
953
+ this.name = 'CoreumTestnet';
954
+ this.family = base_1.CoinFamily.COREUM;
955
+ this.explorerUrl = 'https://explorer.testnet-1.coreum.dev/coreum/transactions/';
956
+ }
957
+ }
958
+ class Rune extends Mainnet {
959
+ constructor() {
960
+ super(...arguments);
961
+ this.name = 'Rune';
962
+ this.family = base_1.CoinFamily.THOR;
963
+ this.explorerUrl = 'https://runescan.io/tx/';
964
+ }
965
+ }
966
+ class RuneTestNet extends Testnet {
967
+ constructor() {
968
+ super(...arguments);
969
+ this.name = 'RuneTestNet';
970
+ this.family = base_1.CoinFamily.THOR;
971
+ this.explorerUrl = 'https://runescan.io/tx/?network=stagenet';
972
+ }
973
+ }
974
+ class Baby extends Mainnet {
975
+ constructor() {
976
+ super(...arguments);
977
+ this.name = 'Babylon';
978
+ this.family = base_1.CoinFamily.BABY;
979
+ this.explorerUrl = 'https://babylon.explorers.guru/transaction/';
980
+ }
981
+ }
982
+ class BabyTestnet extends Testnet {
983
+ constructor() {
984
+ super(...arguments);
985
+ this.name = 'Testnet Babylon';
986
+ this.family = base_1.CoinFamily.BABY;
987
+ this.explorerUrl = 'https://testnet.babylon.explorers.guru/transaction/';
988
+ }
989
+ }
990
+ class Mantra extends Mainnet {
991
+ constructor() {
992
+ super(...arguments);
993
+ this.name = 'Mantra';
994
+ this.family = base_1.CoinFamily.MANTRA;
995
+ this.explorerUrl = 'https://explorer.mantrachain.io/MANTRA-1/tx/';
996
+ this.addressPrefix = 'mantra';
997
+ this.validatorPrefix = 'mantravaloper';
998
+ this.denom = 'uom';
999
+ this.gasAmount = '8000';
1000
+ this.gasLimit = 200000;
1001
+ this.validDenoms = ['om', 'uom'];
1002
+ }
1003
+ }
1004
+ class MantraTestnet extends Testnet {
1005
+ constructor() {
1006
+ super(...arguments);
1007
+ this.name = 'Testnet Mantra';
1008
+ this.family = base_1.CoinFamily.MANTRA;
1009
+ this.explorerUrl = 'https://explorer.mantrachain.io/MANTRA-Dukong/tx/';
1010
+ this.addressPrefix = 'mantra';
1011
+ this.validatorPrefix = 'mantravaloper';
1012
+ this.denom = 'uom';
1013
+ this.gasAmount = '8000';
1014
+ this.gasLimit = 200000;
1015
+ this.validDenoms = ['om', 'uom'];
1016
+ }
1017
+ }
1018
+ class Cronos extends Mainnet {
1019
+ constructor() {
1020
+ super(...arguments);
1021
+ this.name = 'Cronos POS';
1022
+ this.family = base_1.CoinFamily.CRONOS;
1023
+ this.explorerUrl = 'https://cronos-pos.org/explorer/tx/';
1024
+ }
1025
+ }
1026
+ class CronosTestnet extends Testnet {
1027
+ constructor() {
1028
+ super(...arguments);
1029
+ this.name = 'Testnet Cronos POS';
1030
+ this.family = base_1.CoinFamily.CRONOS;
1031
+ this.explorerUrl = 'https://cronos-pos.org/explorer/croeseid4/tx/';
1032
+ }
1033
+ }
1034
+ class FetchAi extends Mainnet {
1035
+ constructor() {
1036
+ super(...arguments);
1037
+ this.name = 'Fetch';
1038
+ this.family = base_1.CoinFamily.FETCHAI;
1039
+ this.explorerUrl = 'https://www.mintscan.io/fetchai';
1040
+ }
1041
+ }
1042
+ class FetchAiTestnet extends Testnet {
1043
+ constructor() {
1044
+ super(...arguments);
1045
+ this.name = 'Testnet Fetch';
1046
+ this.family = base_1.CoinFamily.FETCHAI;
1047
+ this.explorerUrl = 'https://explore-eridanus-1.fetch.ai/';
1048
+ }
1049
+ }
1050
+ class Initia extends Mainnet {
1051
+ constructor() {
1052
+ super(...arguments);
1053
+ this.name = 'Initia';
1054
+ this.family = base_1.CoinFamily.INITIA;
1055
+ this.explorerUrl = 'https://scan.initia.xyz/interwoven-1/txs/';
1056
+ }
1057
+ }
1058
+ class InitiaTestnet extends Testnet {
1059
+ constructor() {
1060
+ super(...arguments);
1061
+ this.name = 'Testnet Initia';
1062
+ this.family = base_1.CoinFamily.INITIA;
1063
+ this.explorerUrl = 'https://scan.testnet.initia.xyz/initiation-2/txs/';
1064
+ }
1065
+ }
1066
+ class Asi extends Mainnet {
1067
+ constructor() {
1068
+ super(...arguments);
1069
+ this.name = 'Fetch Native';
1070
+ this.family = base_1.CoinFamily.ASI;
1071
+ this.explorerUrl = 'https://companion.fetch.ai/fetchhub-4/transactions/';
1072
+ }
1073
+ }
1074
+ class AsiTestnet extends Testnet {
1075
+ constructor() {
1076
+ super(...arguments);
1077
+ this.name = 'Testnet Fetch Native';
1078
+ this.family = base_1.CoinFamily.ASI;
1079
+ this.explorerUrl = 'https://companion.fetch.ai/dorado-1/transactions/';
1080
+ }
1081
+ }
1082
+ class Islm extends Mainnet {
1083
+ constructor() {
1084
+ super(...arguments);
1085
+ this.name = 'Haqq';
1086
+ this.family = base_1.CoinFamily.ISLM;
1087
+ this.explorerUrl = 'https://ping.pub/haqq/tx/';
1088
+ }
1089
+ }
1090
+ class IslmTestnet extends Testnet {
1091
+ constructor() {
1092
+ super(...arguments);
1093
+ this.name = 'HaqqTestnet';
1094
+ this.family = base_1.CoinFamily.ISLM;
1095
+ this.explorerUrl = 'https://testnet.ping.pub/haqq/tx/';
604
1096
  }
605
1097
  }
606
1098
  class Stx extends Mainnet {
@@ -608,7 +1100,7 @@ class Stx extends Mainnet {
608
1100
  super(...arguments);
609
1101
  this.name = 'Stx';
610
1102
  this.family = base_1.CoinFamily.STX;
611
- this.explorerUrl = 'https://explorer.stacks.co/txid/';
1103
+ this.explorerUrl = 'https://explorer.hiro.so/txid/';
612
1104
  this.sendmanymemoContractAddress = 'SP3FBR2AGK5H9QBDH3EEN6DF8EK8JY7RX8QJ5SVTE';
613
1105
  this.stakingContractAddress = 'SP000000000000000000002Q6VF78';
614
1106
  }
@@ -618,7 +1110,7 @@ class StxTestnet extends Testnet {
618
1110
  super(...arguments);
619
1111
  this.name = 'StxTestnet';
620
1112
  this.family = base_1.CoinFamily.STX;
621
- this.explorerUrl = 'https://explorer.stacks.co/txid/?chain=testnet';
1113
+ this.explorerUrl = 'https://explorer.hiro.so/txid/?chain=testnet';
622
1114
  this.sendmanymemoContractAddress = 'ST3F1X4QGV2SM8XD96X45M6RTQXKA1PZJZZCQAB4B';
623
1115
  this.stakingContractAddress = 'ST000000000000000000002AMW42H';
624
1116
  }
@@ -655,11 +1147,33 @@ class Fiat extends Mainnet {
655
1147
  this.explorerUrl = undefined;
656
1148
  }
657
1149
  }
1150
+ class Bittensor extends Mainnet {
1151
+ constructor() {
1152
+ super(...arguments);
1153
+ this.name = 'Tao';
1154
+ this.family = base_1.CoinFamily.TAO;
1155
+ this.explorerUrl = 'https://taostats.io/extrinsic/';
1156
+ }
1157
+ }
1158
+ class BittensorTestnet extends Testnet {
1159
+ constructor() {
1160
+ super(...arguments);
1161
+ this.name = 'Testnet Tao';
1162
+ this.family = base_1.CoinFamily.TAO;
1163
+ this.explorerUrl = 'https://explorer.finney.opentensor.ai/#/';
1164
+ this.specName = 'node-subtensor';
1165
+ this.genesisHash = '0x8f9cf856bf558a14440e75569c9e58594757048d7b3a84b5d25f6bd978263105';
1166
+ this.specVersion = 224;
1167
+ this.chainName = 'bittensor';
1168
+ this.txVersion = 1;
1169
+ }
1170
+ }
658
1171
  class Trx extends Mainnet {
659
1172
  constructor() {
660
1173
  super(...arguments);
661
1174
  this.name = 'Trx';
662
1175
  this.family = base_1.CoinFamily.TRX;
1176
+ this.accountExplorerUrl = 'https://tronscan.org/#/address/';
663
1177
  this.explorerUrl = 'https://tronscan.org/#/transaction/';
664
1178
  this.maxFeeLimit = '5000000000';
665
1179
  this.contractCallFeeLimit = '100000000';
@@ -670,6 +1184,7 @@ class TrxTestnet extends Testnet {
670
1184
  super(...arguments);
671
1185
  this.name = 'TrxTestnet';
672
1186
  this.family = base_1.CoinFamily.TRX;
1187
+ this.accountExplorerUrl = 'https://shasta.tronscan.org/#/address/';
673
1188
  this.explorerUrl = 'https://shasta.tronscan.org/#/transaction/';
674
1189
  this.maxFeeLimit = '5000000000';
675
1190
  this.contractCallFeeLimit = '100000000';
@@ -688,7 +1203,7 @@ class XrpTestnet extends Testnet {
688
1203
  super(...arguments);
689
1204
  this.name = 'XrpTestnet';
690
1205
  this.family = base_1.CoinFamily.XRP;
691
- this.explorerUrl = 'https://test.bithomp.com/explorer/';
1206
+ this.explorerUrl = 'https://test.xrplexplorer.com/explorer/';
692
1207
  }
693
1208
  }
694
1209
  class Xtz extends Mainnet {
@@ -696,8 +1211,8 @@ class Xtz extends Mainnet {
696
1211
  super(...arguments);
697
1212
  this.name = 'Xtz';
698
1213
  this.family = base_1.CoinFamily.XTZ;
699
- this.explorerUrl = 'https://tezblock.io/transaction/';
700
- this.accountExplorerUrl = 'https://tezblock.io/account/';
1214
+ this.explorerUrl = 'https://tzstats.com/';
1215
+ this.accountExplorerUrl = 'https://tzstats.com/';
701
1216
  }
702
1217
  }
703
1218
  class XtzTestnet extends Testnet {
@@ -705,8 +1220,8 @@ class XtzTestnet extends Testnet {
705
1220
  super(...arguments);
706
1221
  this.name = 'XtzTestnet';
707
1222
  this.family = base_1.CoinFamily.XTZ;
708
- this.explorerUrl = 'https://carthagenet.tezblock.io/transaction/';
709
- this.accountExplorerUrl = 'https://carthagenet.tezblock.io/account/';
1223
+ this.explorerUrl = 'https://ghostnet.tzkt.io/';
1224
+ this.accountExplorerUrl = 'https://ghostnet.tzkt.io/';
710
1225
  }
711
1226
  }
712
1227
  class ZCash extends Mainnet {
@@ -732,7 +1247,7 @@ class Near extends Mainnet {
732
1247
  super(...arguments);
733
1248
  this.name = 'Near';
734
1249
  this.family = base_1.CoinFamily.NEAR;
735
- this.explorerUrl = 'https://explorer.near.org/transactions/';
1250
+ this.explorerUrl = 'https://nearblocks.io/txns/';
736
1251
  this.feeReserve = '50000000000000000000000';
737
1252
  this.storageReserve = '2000000000000000000000'; // feeReserve + storageReserve is minimum account balance for a NEAR wallet https://docs.near.org/integrator/faq#is-there-a-minimum-account-balance
738
1253
  }
@@ -742,7 +1257,7 @@ class NearTestnet extends Testnet {
742
1257
  super(...arguments);
743
1258
  this.name = 'NearTestnet';
744
1259
  this.family = base_1.CoinFamily.NEAR;
745
- this.explorerUrl = 'https://explorer.testnet.near.org/transactions/';
1260
+ this.explorerUrl = 'https://testnet.nearblocks.io/txns/';
746
1261
  this.feeReserve = '50000000000000000000000';
747
1262
  this.storageReserve = '2000000000000000000000'; // feeReserve + storageReserve is minimum account balance for a NEAR wallet https://docs.near.org/integrator/faq#is-there-a-minimum-account-balance
748
1263
  }
@@ -759,7 +1274,9 @@ class Polygon extends Mainnet {
759
1274
  this.forwarderImplementationAddress = '0x5397d0869aba0d55e96d5716d383f6e1d8695ed7';
760
1275
  this.walletFactoryAddress = '0xa7198f48c58e91f01317e70cd24c5cce475c1555';
761
1276
  this.walletImplementationAddress = '0xe5dcdc13b628c2df813db1080367e929c1507ca0';
762
- this.batcherContractAddress = '0x7adc9b3d7521710321bec7dd6897d337e53c2493';
1277
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1278
+ this.nativeCoinOperationHashPrefix = 'POLYGON';
1279
+ this.tokenOperationHashPrefix = 'POLYGON-ERC20';
763
1280
  }
764
1281
  }
765
1282
  class PolygonTestnet extends Testnet {
@@ -767,30 +1284,964 @@ class PolygonTestnet extends Testnet {
767
1284
  super(...arguments);
768
1285
  this.name = 'PolygonTestnet';
769
1286
  this.family = base_1.CoinFamily.POLYGON;
770
- this.explorerUrl = 'https://mumbai.polygonscan.com/tx/';
771
- this.accountExplorerUrl = 'https://mumbai.polygonscan.com/address/';
772
- this.chainId = 80001;
773
- this.forwarderFactoryAddress = '0x7d10cfdcb763375fb5f0a0e9101f490f0bf1b43a';
774
- this.forwarderImplementationAddress = '0xaa2216d72d7c149dfe4c3dd2154cd00994216506';
775
- this.walletFactoryAddress = '0xe37c07faec87be075ce4002b5fedbde00a4fe9d5';
776
- this.walletImplementationAddress = '0x11f8d70a4ee9d0962bb1160d776d4a996cfdff40';
777
- this.batcherContractAddress = '0xcdf01a31ea2a1d62951aac3a5743c4416f9da3fb';
1287
+ this.explorerUrl = 'https://amoy.polygonscan.com/tx/';
1288
+ this.accountExplorerUrl = 'https://amoy.polygonscan.com/address/';
1289
+ this.chainId = 80002;
1290
+ this.forwarderFactoryAddress = '0x23223fd7cfc5f34b20f38ebb9a489e1ff3c084d1';
1291
+ this.forwarderImplementationAddress = '0xd4c24325b5ef514fbb1ecc76a9bb4dcb57a8341e';
1292
+ this.walletFactoryAddress = '0xe9c16033e01bf9f94bf9f99fc0fefcfb8b124992';
1293
+ this.walletImplementationAddress = '0xf8360c213e4f44cce03e48cb9281254de2a7a566';
1294
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1295
+ this.nativeCoinOperationHashPrefix = 'POLYGON';
1296
+ this.tokenOperationHashPrefix = 'POLYGON-ERC20';
1297
+ }
1298
+ }
1299
+ class Optimism extends Mainnet {
1300
+ constructor() {
1301
+ super(...arguments);
1302
+ this.name = 'Optimism';
1303
+ this.family = base_1.CoinFamily.OPETH;
1304
+ this.explorerUrl = 'https://optimistic.etherscan.io/tx/';
1305
+ this.accountExplorerUrl = 'https://optimistic.etherscan.io/address/';
1306
+ this.chainId = 10;
1307
+ this.nativeCoinOperationHashPrefix = '10';
1308
+ this.tokenOperationHashPrefix = '10-ERC20';
1309
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1310
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1311
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1312
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1313
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
1314
+ }
1315
+ }
1316
+ class OptimismTestnet extends Testnet {
1317
+ constructor() {
1318
+ super(...arguments);
1319
+ this.name = 'OptimismTestnet';
1320
+ this.family = base_1.CoinFamily.OPETH;
1321
+ this.explorerUrl = 'https://sepolia-optimism.etherscan.io/tx/';
1322
+ this.accountExplorerUrl = 'https://sepolia-optimism.etherscan.io/address/';
1323
+ this.chainId = 11155420;
1324
+ this.nativeCoinOperationHashPrefix = '11155420';
1325
+ this.tokenOperationHashPrefix = '11155420-ERC20';
1326
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1327
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1328
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1329
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1330
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
1331
+ }
1332
+ }
1333
+ class ZkSync extends Mainnet {
1334
+ constructor() {
1335
+ super(...arguments);
1336
+ this.name = 'ZkSync';
1337
+ this.family = base_1.CoinFamily.ZKETH;
1338
+ this.explorerUrl = 'https://explorer.zksync.io/tx/';
1339
+ this.accountExplorerUrl = 'https://explorer.zksync.io/address/';
1340
+ this.chainId = 324;
1341
+ this.nativeCoinOperationHashPrefix = '324';
1342
+ this.tokenOperationHashPrefix = '324-ERC20';
1343
+ }
1344
+ }
1345
+ class ZkSyncTestnet extends Testnet {
1346
+ constructor() {
1347
+ super(...arguments);
1348
+ this.name = 'ZkSyncTestnet';
1349
+ this.family = base_1.CoinFamily.ZKETH;
1350
+ this.explorerUrl = 'https://sepolia.explorer.zksync.io/tx/';
1351
+ this.accountExplorerUrl = 'https://sepolia.explorer.zksync.io/address/';
1352
+ this.chainId = 300;
1353
+ this.nativeCoinOperationHashPrefix = '300';
1354
+ this.tokenOperationHashPrefix = '300-ERC20';
1355
+ this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
1356
+ this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
1357
+ this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
1358
+ this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
1359
+ }
1360
+ }
1361
+ class Berachain extends Mainnet {
1362
+ constructor() {
1363
+ super(...arguments);
1364
+ this.name = 'Bera';
1365
+ this.family = base_1.CoinFamily.BERA;
1366
+ this.explorerUrl = 'https://berascan.com/tx/';
1367
+ this.accountExplorerUrl = 'https://berascan.com/address/';
1368
+ this.chainId = 80094;
1369
+ this.nativeCoinOperationHashPrefix = '80094';
1370
+ this.tokenOperationHashPrefix = '80094-ERC20';
1371
+ this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
1372
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1373
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1374
+ }
1375
+ }
1376
+ class BerachainTestnet extends Testnet {
1377
+ constructor() {
1378
+ super(...arguments);
1379
+ this.name = 'BeraTestnet';
1380
+ this.family = base_1.CoinFamily.BERA;
1381
+ this.explorerUrl = 'https://testnet.berascan.com/tx/';
1382
+ this.accountExplorerUrl = 'https://testnet.berascan.com/address/';
1383
+ this.chainId = 80000;
1384
+ this.nativeCoinOperationHashPrefix = '80000';
1385
+ this.tokenOperationHashPrefix = '80000-ERC20';
1386
+ this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
1387
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1388
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1389
+ }
1390
+ }
1391
+ class Oas extends Mainnet {
1392
+ constructor() {
1393
+ super(...arguments);
1394
+ this.name = 'Oas';
1395
+ this.family = base_1.CoinFamily.OAS;
1396
+ this.explorerUrl = 'https://explorer.oasys.games/tx/';
1397
+ this.accountExplorerUrl = 'https://explorer.oasys.games/address/';
1398
+ this.chainId = 248;
1399
+ this.nativeCoinOperationHashPrefix = '248';
1400
+ this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
1401
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1402
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1403
+ }
1404
+ }
1405
+ class OasTestnet extends Testnet {
1406
+ constructor() {
1407
+ super(...arguments);
1408
+ this.name = 'OasTestnet';
1409
+ this.family = base_1.CoinFamily.OAS;
1410
+ this.explorerUrl = 'https://explorer.testnet.oasys.games/tx/';
1411
+ this.accountExplorerUrl = 'https://explorer.testnet.oasys.games/address/';
1412
+ this.chainId = 9372;
1413
+ this.nativeCoinOperationHashPrefix = '9372';
1414
+ this.batcherContractAddress = '0xedf1a0016d9c41d2ad0c275e1ba708361a90c0d1';
1415
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1416
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1417
+ }
1418
+ }
1419
+ class Coredao extends Mainnet {
1420
+ constructor() {
1421
+ super(...arguments);
1422
+ this.name = 'Coredao';
1423
+ this.family = base_1.CoinFamily.COREDAO;
1424
+ this.explorerUrl = 'https://scan.coredao.org/tx/';
1425
+ this.accountExplorerUrl = 'https://scan.coredao.org/address/';
1426
+ this.chainId = 1116;
1427
+ this.nativeCoinOperationHashPrefix = '1116';
1428
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1429
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1430
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1431
+ }
1432
+ }
1433
+ class CoredaoTestnet extends Testnet {
1434
+ constructor() {
1435
+ super(...arguments);
1436
+ this.name = 'CoredaoTestnet';
1437
+ this.family = base_1.CoinFamily.COREDAO;
1438
+ this.explorerUrl = 'https://scan.test2.btcs.network/tx/';
1439
+ this.accountExplorerUrl = 'https://scan.test2.btcs.network/address/';
1440
+ this.chainId = 1114;
1441
+ this.nativeCoinOperationHashPrefix = '1114';
1442
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1443
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1444
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1445
+ }
1446
+ }
1447
+ class IP extends Mainnet {
1448
+ constructor() {
1449
+ super(...arguments);
1450
+ this.name = 'Story';
1451
+ this.family = base_1.CoinFamily.IP;
1452
+ this.explorerUrl = 'https://www.storyscan.io/tx/';
1453
+ this.accountExplorerUrl = 'https://www.storyscan.io/address/';
1454
+ this.chainId = 1514;
1455
+ this.nativeCoinOperationHashPrefix = '1514';
1456
+ }
1457
+ }
1458
+ class IPTestnet extends Testnet {
1459
+ constructor() {
1460
+ super(...arguments);
1461
+ this.name = 'StoryTestnet';
1462
+ this.family = base_1.CoinFamily.IP;
1463
+ this.explorerUrl = 'https://aeneid.explorer.story.foundation/transactions/';
1464
+ this.accountExplorerUrl = 'https://aeneid.storyscan.io/address/';
1465
+ this.chainId = 1315;
1466
+ this.nativeCoinOperationHashPrefix = '1315';
1467
+ }
1468
+ }
1469
+ class ApeChain extends Mainnet {
1470
+ constructor() {
1471
+ super(...arguments);
1472
+ this.name = 'ApeChain';
1473
+ this.family = base_1.CoinFamily.APECHAIN;
1474
+ this.explorerUrl = 'https://apescan.io/tx/';
1475
+ this.accountExplorerUrl = 'https://apescan.io/address/';
1476
+ this.chainId = 33139;
1477
+ this.nativeCoinOperationHashPrefix = '33139';
1478
+ }
1479
+ }
1480
+ class ApeChainTestnet extends Testnet {
1481
+ constructor() {
1482
+ super(...arguments);
1483
+ this.name = 'ApeChainTestnet';
1484
+ this.family = base_1.CoinFamily.APECHAIN;
1485
+ this.explorerUrl = 'https://curtis.apescan.io/tx/';
1486
+ this.accountExplorerUrl = 'https://curtis.apescan.io/address/';
1487
+ this.chainId = 33111;
1488
+ this.nativeCoinOperationHashPrefix = '33111';
1489
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1490
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1491
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1492
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1493
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1494
+ }
1495
+ }
1496
+ class Pharos extends Mainnet {
1497
+ constructor() {
1498
+ super(...arguments);
1499
+ this.name = 'Pharos';
1500
+ this.family = base_1.CoinFamily.PHRS;
1501
+ this.explorerUrl = ''; // TODO: WIN-5787 Add mainnet url when available
1502
+ this.accountExplorerUrl = ''; // TODO: WIN-5787 Add mainnet url when available
1503
+ this.chainId = 688688; // TODO: WIN-5787 Add mainnet id when available
1504
+ this.nativeCoinOperationHashPrefix = '688688';
1505
+ }
1506
+ }
1507
+ class PharosTestnet extends Testnet {
1508
+ constructor() {
1509
+ super(...arguments);
1510
+ this.name = 'PharosTestnet';
1511
+ this.family = base_1.CoinFamily.PHRS;
1512
+ this.explorerUrl = 'https://testnet.pharosscan.xyz/tx/';
1513
+ this.accountExplorerUrl = 'https://testnet.pharosscan.xyz/address/';
1514
+ this.chainId = 688688;
1515
+ this.nativeCoinOperationHashPrefix = '688688';
1516
+ }
1517
+ }
1518
+ class Creditcoin extends Mainnet {
1519
+ constructor() {
1520
+ super(...arguments);
1521
+ this.name = 'Creditcoin';
1522
+ this.family = base_1.CoinFamily.CTC;
1523
+ this.explorerUrl = 'https://creditcoin.blockscout.com/tx/';
1524
+ this.accountExplorerUrl = 'https://creditcoin.blockscout.com/address/';
1525
+ this.chainId = 102030;
1526
+ this.nativeCoinOperationHashPrefix = '102030';
1527
+ }
1528
+ }
1529
+ class Plasma extends Mainnet {
1530
+ constructor() {
1531
+ super(...arguments);
1532
+ this.name = 'Plasma';
1533
+ this.family = base_1.CoinFamily.XPL;
1534
+ this.explorerUrl = 'https://plasmascan.to/tx/';
1535
+ this.accountExplorerUrl = 'https://plasmascan.to/address/';
1536
+ this.chainId = 9745;
1537
+ this.nativeCoinOperationHashPrefix = '9745';
1538
+ }
1539
+ }
1540
+ class PlasmaTestnet extends Testnet {
1541
+ constructor() {
1542
+ super(...arguments);
1543
+ this.name = 'PlasmaTestnet';
1544
+ this.family = base_1.CoinFamily.XPL;
1545
+ this.explorerUrl = 'https://testnet.plasmascan.to/tx/';
1546
+ this.accountExplorerUrl = 'https://testnet.plasmascan.to/address/';
1547
+ this.chainId = 9746;
1548
+ this.nativeCoinOperationHashPrefix = '9746';
1549
+ }
1550
+ }
1551
+ class HypeEVMTestnet extends Testnet {
1552
+ constructor() {
1553
+ super(...arguments);
1554
+ this.name = 'HyperliquidEVMTestnet';
1555
+ this.family = base_1.CoinFamily.HYPEEVM;
1556
+ this.explorerUrl = 'https://testnet.purrsec.com/tx/';
1557
+ this.accountExplorerUrl = 'https://testnet.purrsec.com/address/';
1558
+ this.chainId = 998;
1559
+ this.nativeCoinOperationHashPrefix = '998';
1560
+ }
1561
+ }
1562
+ class HypeEVM extends Mainnet {
1563
+ constructor() {
1564
+ super(...arguments);
1565
+ this.name = 'HyperliquidEVM';
1566
+ this.family = base_1.CoinFamily.HYPEEVM;
1567
+ this.explorerUrl = 'https://hyperevm-explorer.vercel.app/tx/';
1568
+ this.accountExplorerUrl = 'https://hyperevm-explorer.vercel.app/address/';
1569
+ this.chainId = 999;
1570
+ this.nativeCoinOperationHashPrefix = '999';
1571
+ }
1572
+ }
1573
+ class KavaEVMTestnet extends Testnet {
1574
+ constructor() {
1575
+ super(...arguments);
1576
+ this.name = 'KavaEVMTestnet';
1577
+ this.family = base_1.CoinFamily.KAVAEVM;
1578
+ this.explorerUrl = 'https://testnet.kavascan.com/tx/';
1579
+ this.accountExplorerUrl = 'https://testnet.kavascan.com/address/';
1580
+ this.chainId = 2221;
1581
+ this.nativeCoinOperationHashPrefix = '2221';
1582
+ }
1583
+ }
1584
+ class KavaEVM extends Mainnet {
1585
+ constructor() {
1586
+ super(...arguments);
1587
+ this.name = 'KavaEVM';
1588
+ this.family = base_1.CoinFamily.KAVAEVM;
1589
+ this.explorerUrl = 'https://kavascan.com/tx/';
1590
+ this.accountExplorerUrl = 'https://kavascan.com/address/';
1591
+ this.chainId = 2222;
1592
+ this.nativeCoinOperationHashPrefix = '2222';
1593
+ }
1594
+ }
1595
+ class LineaETH extends Mainnet {
1596
+ constructor() {
1597
+ super(...arguments);
1598
+ this.name = 'Linea Ethereum Testnet';
1599
+ this.family = base_1.CoinFamily.LINEAETH;
1600
+ this.explorerUrl = 'https://lineascan.build/tx/';
1601
+ this.accountExplorerUrl = 'https://lineascan.build/address/';
1602
+ this.chainId = 59144;
1603
+ this.nativeCoinOperationHashPrefix = '59144';
1604
+ }
1605
+ }
1606
+ class LineaETHTestnet extends Testnet {
1607
+ constructor() {
1608
+ super(...arguments);
1609
+ this.name = 'Linea Ethereum Testnet';
1610
+ this.family = base_1.CoinFamily.LINEAETH;
1611
+ this.explorerUrl = 'https://sepolia.lineascan.build/tx/';
1612
+ this.accountExplorerUrl = 'https://sepolia.lineascan.build/address/';
1613
+ this.chainId = 59141;
1614
+ this.nativeCoinOperationHashPrefix = '59141';
1615
+ }
1616
+ }
1617
+ class CreditcoinTestnet extends Testnet {
1618
+ constructor() {
1619
+ super(...arguments);
1620
+ this.name = 'CreditcoinTestnet';
1621
+ this.family = base_1.CoinFamily.CTC;
1622
+ this.explorerUrl = 'https://creditcoin-testnet.blockscout.com/tx/';
1623
+ this.accountExplorerUrl = 'https://creditcoin-testnet.blockscout.com/address/';
1624
+ this.chainId = 102031;
1625
+ this.nativeCoinOperationHashPrefix = '102031';
1626
+ }
1627
+ }
1628
+ class Sonic extends Mainnet {
1629
+ constructor() {
1630
+ super(...arguments);
1631
+ this.name = 'Sonic';
1632
+ this.family = base_1.CoinFamily.SONIC;
1633
+ this.explorerUrl = 'https://sonicscan.org/tx/';
1634
+ this.accountExplorerUrl = 'https://sonicscan.org/address/';
1635
+ this.chainId = 146;
1636
+ this.nativeCoinOperationHashPrefix = '146';
1637
+ }
1638
+ }
1639
+ class SonicTestnet extends Testnet {
1640
+ constructor() {
1641
+ super(...arguments);
1642
+ this.name = 'SonicTestnet';
1643
+ this.family = base_1.CoinFamily.SONIC;
1644
+ this.explorerUrl = 'https://testnet.sonicscan.org/tx/';
1645
+ this.accountExplorerUrl = 'https://testnet.sonicscan.org/address/';
1646
+ this.chainId = 57054;
1647
+ this.nativeCoinOperationHashPrefix = '57054';
1648
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1649
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1650
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1651
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1652
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1653
+ }
1654
+ }
1655
+ class Kaia extends Mainnet {
1656
+ constructor() {
1657
+ super(...arguments);
1658
+ this.name = 'Kaia';
1659
+ this.family = base_1.CoinFamily.KAIA;
1660
+ this.explorerUrl = 'https://kaiascan.io/tx/';
1661
+ this.accountExplorerUrl = 'https://kaiascan.io/address/';
1662
+ this.chainId = 8217;
1663
+ this.nativeCoinOperationHashPrefix = '8217';
1664
+ }
1665
+ }
1666
+ class KaiaTestnet extends Testnet {
1667
+ constructor() {
1668
+ super(...arguments);
1669
+ this.name = 'KaiaTestnet';
1670
+ this.family = base_1.CoinFamily.KAIA;
1671
+ this.explorerUrl = 'https://kairos.kaiascan.io/tx/';
1672
+ this.accountExplorerUrl = 'https://kairos.kaiascan.io/address/';
1673
+ this.chainId = 1001;
1674
+ this.nativeCoinOperationHashPrefix = '1001';
1675
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1676
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1677
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1678
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1679
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1680
+ }
1681
+ }
1682
+ class Irys extends Mainnet {
1683
+ constructor() {
1684
+ super(...arguments);
1685
+ this.name = 'Irys';
1686
+ this.family = base_1.CoinFamily.IRYS;
1687
+ this.explorerUrl = ''; //WIN-6191 add mainnet url when available
1688
+ this.accountExplorerUrl = ''; //WIN-6191 add mainnet url when available
1689
+ this.chainId = 1270; //WIN-6191 add mainnet id when available
1690
+ this.nativeCoinOperationHashPrefix = '1270';
1691
+ }
1692
+ }
1693
+ class IrysTestnet extends Testnet {
1694
+ constructor() {
1695
+ super(...arguments);
1696
+ this.name = 'IrysTestnet';
1697
+ this.family = base_1.CoinFamily.IRYS;
1698
+ this.explorerUrl = 'https://testnet-explorer.irys.xyz/tx/';
1699
+ this.accountExplorerUrl = 'https://testnet-explorer.irys.xyz/address/';
1700
+ this.chainId = 1270;
1701
+ this.nativeCoinOperationHashPrefix = '1270';
1702
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1703
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1704
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1705
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1706
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1707
+ }
1708
+ }
1709
+ class Og extends Mainnet {
1710
+ constructor() {
1711
+ super(...arguments);
1712
+ this.name = 'Zero Gravity';
1713
+ this.family = base_1.CoinFamily.OG;
1714
+ this.explorerUrl = 'https://chainscan.0g.ai/tx/';
1715
+ this.accountExplorerUrl = 'https://chainscan.0g.ai/address/';
1716
+ this.chainId = 16661;
1717
+ this.nativeCoinOperationHashPrefix = '16661';
1718
+ }
1719
+ }
1720
+ class OgTestnet extends Testnet {
1721
+ constructor() {
1722
+ super(...arguments);
1723
+ this.name = 'Zero Gravity Testnet';
1724
+ this.family = base_1.CoinFamily.OG;
1725
+ this.explorerUrl = 'https://chainscan-galileo.0g.ai/tx/';
1726
+ this.accountExplorerUrl = 'https://chainscan-galileo.0g.ai/address/';
1727
+ this.chainId = 16601;
1728
+ this.nativeCoinOperationHashPrefix = '16601';
1729
+ }
1730
+ }
1731
+ class Xdc extends Mainnet {
1732
+ constructor() {
1733
+ super(...arguments);
1734
+ this.name = 'XdcChain';
1735
+ this.family = base_1.CoinFamily.XDC;
1736
+ this.explorerUrl = 'https://xdcscan.com/tx/';
1737
+ this.accountExplorerUrl = 'https://xdcscan.com/address/';
1738
+ this.chainId = 50;
1739
+ this.nativeCoinOperationHashPrefix = '50';
1740
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1741
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1742
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1743
+ }
1744
+ }
1745
+ class XdcTestnet extends Testnet {
1746
+ constructor() {
1747
+ super(...arguments);
1748
+ this.name = 'XdcChainTestnet';
1749
+ this.family = base_1.CoinFamily.XDC;
1750
+ this.explorerUrl = 'https://testnet.xdcscan.com/tx/';
1751
+ this.accountExplorerUrl = 'https://testnet.xdcscan.com/address/';
1752
+ this.chainId = 51;
1753
+ this.nativeCoinOperationHashPrefix = '51';
1754
+ this.batcherContractAddress = '0xebe27913fcc7510eadf10643a8f86bf5492a9541';
1755
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1756
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1757
+ }
1758
+ }
1759
+ class Wemix extends Mainnet {
1760
+ constructor() {
1761
+ super(...arguments);
1762
+ this.name = 'WemixChain';
1763
+ this.family = base_1.CoinFamily.WEMIX;
1764
+ this.explorerUrl = 'https://explorer.wemix.com/tx/';
1765
+ this.accountExplorerUrl = 'https://explorer.wemix.com/address/';
1766
+ this.chainId = 1111;
1767
+ this.nativeCoinOperationHashPrefix = '1111';
1768
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1769
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1770
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1771
+ }
1772
+ }
1773
+ class WemixTestnet extends Testnet {
1774
+ constructor() {
1775
+ super(...arguments);
1776
+ this.name = 'WemixChainTestnet';
1777
+ this.family = base_1.CoinFamily.WEMIX;
1778
+ this.explorerUrl = 'https://explorer.test.wemix.com/tx/';
1779
+ this.accountExplorerUrl = 'https://explorer.test.wemix.com/address/';
1780
+ this.chainId = 1112;
1781
+ this.nativeCoinOperationHashPrefix = '1112';
1782
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
1783
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1784
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1785
+ }
1786
+ }
1787
+ class MonadTestnet extends Testnet {
1788
+ constructor() {
1789
+ super(...arguments);
1790
+ this.name = 'MonadTestnet';
1791
+ this.family = base_1.CoinFamily.MON;
1792
+ this.explorerUrl = 'https://testnet.monadexplorer.com/tx/';
1793
+ this.accountExplorerUrl = 'https://testnet.monadexplorer.com/address/';
1794
+ this.chainId = 10143;
1795
+ this.nativeCoinOperationHashPrefix = '10143';
1796
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1797
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1798
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1799
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1800
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1801
+ }
1802
+ }
1803
+ class Monad extends Mainnet {
1804
+ constructor() {
1805
+ super(...arguments);
1806
+ this.name = 'Monad';
1807
+ this.family = base_1.CoinFamily.MON;
1808
+ this.explorerUrl = 'https://mainnet-beta.monvision.io/tx';
1809
+ this.chainId = 143;
1810
+ this.nativeCoinOperationHashPrefix = '143';
1811
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1812
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1813
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1814
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1815
+ }
1816
+ }
1817
+ class World extends Mainnet {
1818
+ constructor() {
1819
+ super(...arguments);
1820
+ this.name = 'Worldchain';
1821
+ this.family = base_1.CoinFamily.WORLD;
1822
+ this.explorerUrl = 'https://worldscan.org/tx/';
1823
+ this.accountExplorerUrl = 'https://worldscan.org/address/';
1824
+ this.chainId = 480;
1825
+ this.nativeCoinOperationHashPrefix = '480';
1826
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1827
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1828
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1829
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1830
+ }
1831
+ }
1832
+ class WorldTestnet extends Testnet {
1833
+ constructor() {
1834
+ super(...arguments);
1835
+ this.name = 'WorldchainTestnet';
1836
+ this.family = base_1.CoinFamily.WORLD;
1837
+ this.explorerUrl = 'https://sepolia.worldscan.org/tx/';
1838
+ this.accountExplorerUrl = 'https://sepolia.worldscan.org/address/';
1839
+ this.chainId = 4801;
1840
+ this.nativeCoinOperationHashPrefix = '4801';
1841
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1842
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1843
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1844
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1845
+ }
1846
+ }
1847
+ class Soneium extends Mainnet {
1848
+ constructor() {
1849
+ super(...arguments);
1850
+ this.name = 'Soneium';
1851
+ this.family = base_1.CoinFamily.SONEIUM;
1852
+ this.explorerUrl = 'https://soneium.blockscout.com/tx/';
1853
+ this.accountExplorerUrl = 'https://soneium.blockscout.com/address/';
1854
+ this.chainId = 1868;
1855
+ this.nativeCoinOperationHashPrefix = '1868';
1856
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1857
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1858
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1859
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1860
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1861
+ }
1862
+ }
1863
+ class SoneiumTestnet extends Testnet {
1864
+ constructor() {
1865
+ super(...arguments);
1866
+ this.name = 'SoneiumTestnet';
1867
+ this.family = base_1.CoinFamily.SONEIUM;
1868
+ this.explorerUrl = 'https://soneium-minato.blockscout.com/tx/';
1869
+ this.accountExplorerUrl = 'https://soneium-minato.blockscout.com/address/';
1870
+ this.chainId = 1946;
1871
+ this.nativeCoinOperationHashPrefix = '1946';
1872
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1873
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1874
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1875
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1876
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1877
+ }
1878
+ }
1879
+ class SeiEvm extends Mainnet {
1880
+ constructor() {
1881
+ super(...arguments);
1882
+ this.name = 'Seievm';
1883
+ this.family = base_1.CoinFamily.SEIEVM;
1884
+ this.explorerUrl = 'https://seitrace.com/tx/';
1885
+ this.accountExplorerUrl = 'https://seitrace.com/address/';
1886
+ this.chainId = 1329;
1887
+ this.nativeCoinOperationHashPrefix = '1329';
1888
+ }
1889
+ }
1890
+ class SeiEvmTestnet extends Testnet {
1891
+ constructor() {
1892
+ super(...arguments);
1893
+ this.name = 'SeiEvmTestnet';
1894
+ this.family = base_1.CoinFamily.SEIEVM;
1895
+ this.explorerUrl = 'https://seitrace.com/tx/';
1896
+ this.accountExplorerUrl = 'https://seitrace.com/address/';
1897
+ this.chainId = 1328;
1898
+ this.nativeCoinOperationHashPrefix = '1328';
1899
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1900
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1901
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1902
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1903
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1904
+ }
1905
+ }
1906
+ class SomniaTestnet extends Testnet {
1907
+ constructor() {
1908
+ super(...arguments);
1909
+ this.name = 'SomniaTestnet';
1910
+ this.family = base_1.CoinFamily.STT;
1911
+ this.explorerUrl = 'https://shannon-explorer.somnia.network/tx/';
1912
+ this.accountExplorerUrl = 'https://shannon-explorer.somnia.network/address/';
1913
+ this.chainId = 50312;
1914
+ this.nativeCoinOperationHashPrefix = '50312';
1915
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1916
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1917
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1918
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1919
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1920
+ }
1921
+ }
1922
+ class Somi extends Mainnet {
1923
+ constructor() {
1924
+ super(...arguments);
1925
+ this.name = 'Somnia';
1926
+ this.family = base_1.CoinFamily.SOMI;
1927
+ this.explorerUrl = 'https://mainnet.somnia.w3us.site/tx/';
1928
+ this.chainId = 5031;
1929
+ this.nativeCoinOperationHashPrefix = '5031';
1930
+ this.walletImplementationAddress = '0x944fef03af368414f29dc31a72061b8d64f568d2';
1931
+ this.walletFactoryAddress = '0x809ee567e413543af1caebcdb247f6a67eafc8dd';
1932
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
1933
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
1934
+ this.batcherContractAddress = '0x3e1e5d78e44f15593b3b61ed278f12c27f0ff33e';
1935
+ }
1936
+ }
1937
+ class FlareP extends Mainnet {
1938
+ constructor() {
1939
+ super(...arguments);
1940
+ this.name = 'FlareP';
1941
+ this.family = base_1.CoinFamily.FLRP;
1942
+ this.explorerUrl = 'https://flarescan.com/blockchain/pvm/transactions/';
1943
+ this.accountExplorerUrl = 'https://flarescan.com/blockchain/pvm/address/';
1944
+ this.blockchainID = '11111111111111111111111111111111LpoYY';
1945
+ this.cChainBlockchainID = '2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5';
1946
+ this.networkID = 14;
1947
+ this.hrp = 'flare';
1948
+ this.alias = 'P';
1949
+ this.vm = 'platformvm';
1950
+ this.txFee = '1000000'; // defaults
1951
+ this.maxImportFee = '10000000'; // defaults
1952
+ this.createSubnetTx = '100000000'; // defaults
1953
+ this.createChainTx = '100000000'; // defaults
1954
+ this.creationTxFee = '10000000'; // defaults
1955
+ this.minConsumption = '0.1';
1956
+ this.maxConsumption = '0.12';
1957
+ this.maxSupply = '103688266974000000000'; // 103B tokens
1958
+ this.minStake = '1000000000000000'; // 1M FLR
1959
+ this.minStakeDuration = '5256000'; // 2 months
1960
+ this.maxStakeDuration = '31536000'; // 1 year
1961
+ this.minDelegationStake = '50000000000000'; // 50000 FLR
1962
+ this.minDelegationFee = '0';
1963
+ }
1964
+ }
1965
+ exports.FlareP = FlareP;
1966
+ class FlarePTestnet extends Testnet {
1967
+ constructor() {
1968
+ super(...arguments);
1969
+ this.name = 'FlarePTestnet';
1970
+ this.family = base_1.CoinFamily.FLRP;
1971
+ this.explorerUrl = 'https://coston2.testnet.flarescan.com/blockchain/pvm/transactions';
1972
+ this.accountExplorerUrl = 'https://coston2.testnet.flarescan.com/blockchain/pvm/address/';
1973
+ this.blockchainID = '11111111111111111111111111111111LpoYY';
1974
+ this.cChainBlockchainID = 'vE8M98mEQH6wk56sStD1ML8HApTgSqfJZLk9gQ3Fsd4i6m3Bi';
1975
+ this.networkID = 114;
1976
+ this.hrp = 'costwo';
1977
+ this.alias = 'P';
1978
+ this.vm = 'platformvm';
1979
+ this.txFee = '1000000'; // defaults
1980
+ this.maxImportFee = '10000000'; // defaults
1981
+ this.createSubnetTx = '100000000'; // defaults
1982
+ this.createChainTx = '100000000'; // defaults
1983
+ this.creationTxFee = '10000000'; // defaults
1984
+ this.minConsumption = '0.1';
1985
+ this.maxConsumption = '0.12';
1986
+ this.maxSupply = '79000000000000000000000'; // 79 trillion tokens
1987
+ this.minStake = '1000000000000000'; // 1M FLR
1988
+ this.minStakeDuration = '5256000'; // 2 months
1989
+ this.maxStakeDuration = '31536000'; // 1 year
1990
+ this.minDelegationStake = '50000000000000'; // 50000 FLR
1991
+ this.minDelegationFee = '0';
1992
+ }
1993
+ }
1994
+ exports.FlarePTestnet = FlarePTestnet;
1995
+ class Flare extends Mainnet {
1996
+ constructor() {
1997
+ super(...arguments);
1998
+ this.name = 'Flarechain';
1999
+ this.family = base_1.CoinFamily.FLR;
2000
+ this.explorerUrl = 'https://flare-explorer.flare.network/tx/';
2001
+ this.accountExplorerUrl = 'https://flare-explorer.flare.network/address/';
2002
+ this.chainId = 14;
2003
+ this.nativeCoinOperationHashPrefix = '14';
2004
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
2005
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2006
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2007
+ }
2008
+ }
2009
+ exports.Flare = Flare;
2010
+ class FlareTestnet extends Testnet {
2011
+ constructor() {
2012
+ super(...arguments);
2013
+ this.name = 'FlarechainTestnet';
2014
+ this.family = base_1.CoinFamily.FLR;
2015
+ this.explorerUrl = 'https://coston2-explorer.flare.network/tx/';
2016
+ this.accountExplorerUrl = 'https://coston2-explorer.flare.network/address/';
2017
+ this.chainId = 114;
2018
+ this.nativeCoinOperationHashPrefix = '114';
2019
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
2020
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2021
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2022
+ }
2023
+ }
2024
+ exports.FlareTestnet = FlareTestnet;
2025
+ class Songbird extends Mainnet {
2026
+ constructor() {
2027
+ super(...arguments);
2028
+ this.name = 'Songbirdchain';
2029
+ this.family = base_1.CoinFamily.SGB;
2030
+ this.explorerUrl = 'https://songbird-explorer.flare.network/tx/';
2031
+ this.accountExplorerUrl = 'https://songbird-explorer.flare.network/address/';
2032
+ this.chainId = 19;
2033
+ this.nativeCoinOperationHashPrefix = '19';
2034
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
2035
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2036
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2037
+ }
2038
+ }
2039
+ class SongbirdTestnet extends Testnet {
2040
+ constructor() {
2041
+ super(...arguments);
2042
+ this.name = 'SongbirdchainTestnet';
2043
+ this.family = base_1.CoinFamily.SGB;
2044
+ this.explorerUrl = 'https://coston-explorer.flare.network/tx/';
2045
+ this.accountExplorerUrl = 'https://coston-explorer.flare.network/address/';
2046
+ this.chainId = 16;
2047
+ this.nativeCoinOperationHashPrefix = '16';
2048
+ this.batcherContractAddress = '0xc5d7a3b4c490c6242fb28f20e5fe33cd983372a3';
2049
+ this.forwarderFactoryAddress = '0x37996e762fa8b671869740c79eb33f625b3bf92a';
2050
+ this.forwarderImplementationAddress = '0xd5fe1c1f216b775dfd30638fa7164d41321ef79b';
2051
+ }
2052
+ }
2053
+ class BaseChainTestnet extends Testnet {
2054
+ constructor() {
2055
+ super(...arguments);
2056
+ //BaseETH testnet
2057
+ this.name = 'BaseChainTestnet';
2058
+ this.family = base_1.CoinFamily.BASEETH;
2059
+ this.explorerUrl = 'https://sepolia.basescan.org/tx/';
2060
+ this.accountExplorerUrl = 'https://sepolia.basescan.org/address/';
2061
+ this.chainId = 84532;
2062
+ this.nativeCoinOperationHashPrefix = '84532';
2063
+ this.tokenOperationHashPrefix = '84532-ERC20';
2064
+ this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
2065
+ this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
2066
+ this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
2067
+ this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
2068
+ }
2069
+ }
2070
+ class BaseChain extends Mainnet {
2071
+ constructor() {
2072
+ super(...arguments);
2073
+ //BaseETH
2074
+ this.name = 'BaseChain';
2075
+ this.family = base_1.CoinFamily.BASEETH;
2076
+ this.explorerUrl = 'https://basescan.org/tx/';
2077
+ this.accountExplorerUrl = 'https://basescan.org/address/';
2078
+ this.chainId = 8453;
2079
+ this.nativeCoinOperationHashPrefix = '8453';
2080
+ this.tokenOperationHashPrefix = '8453-ERC20';
2081
+ this.forwarderFactoryAddress = '0xdd498702f44c4da08eb9e08d3f015eefe5cb71fc';
2082
+ this.forwarderImplementationAddress = '0xbe69cae311191fb45e648ed20847f06fad2dbab4';
2083
+ this.walletFactoryAddress = '0x4550e1e7616d3364877fc6c9324938dab678621a';
2084
+ this.walletImplementationAddress = '0x92db2759d1dca129a0d9d46877f361be819184c4';
2085
+ }
2086
+ }
2087
+ class Polymesh extends Mainnet {
2088
+ constructor() {
2089
+ super(...arguments);
2090
+ this.name = 'Polymesh';
2091
+ this.family = base_1.CoinFamily.POLYX;
2092
+ this.explorerUrl = 'https://polymesh.subscan.io/extrinsic/';
2093
+ this.specName = 'polymesh_mainnet';
2094
+ this.genesisHash = '0x6fbd74e5e1d0a61d52ccfe9d4adaed16dd3a7caa37c6bc4d0c2fa12e8b2f4063';
2095
+ this.specVersion = 7002000;
2096
+ this.chainName = 'Polymesh Mainnet';
2097
+ this.txVersion = 7;
2098
+ }
2099
+ }
2100
+ class PolymeshTestnet extends Testnet {
2101
+ constructor() {
2102
+ super(...arguments);
2103
+ this.name = 'PolymeshTestnet';
2104
+ this.family = base_1.CoinFamily.POLYX;
2105
+ this.explorerUrl = 'https://polymesh-testnet.subscan.io/extrinsic/';
2106
+ this.specName = 'polymesh_testnet';
2107
+ this.genesisHash = '0x2ace05e703aa50b48c0ccccfc8b424f7aab9a1e2c424ed12e45d20b1e8ffd0d6';
2108
+ this.specVersion = 7002000;
2109
+ this.chainName = 'Polymesh Testnet';
2110
+ this.txVersion = 7;
2111
+ }
2112
+ }
2113
+ class Vet extends Mainnet {
2114
+ constructor() {
2115
+ super(...arguments);
2116
+ this.name = 'VeChain';
2117
+ this.family = base_1.CoinFamily.VET;
2118
+ this.explorerUrl = 'https://explore.vechain.org/transactions/';
2119
+ this.accountExplorerUrl = 'https://explore.vechain.org/accounts/';
2120
+ this.chainId = 100009;
2121
+ this.forwarderFactoryAddress = '0x65343e18c376d2fc8c3cf10cd146d63e2e0dc9ef';
2122
+ this.forwarderImplementationAddress = '0x62de34c87f847d385af07f6c25dbd97b1fffefc0';
2123
+ }
2124
+ }
2125
+ class VetTestnet extends Testnet {
2126
+ constructor() {
2127
+ super(...arguments);
2128
+ this.name = 'VeChainTestnet';
2129
+ this.family = base_1.CoinFamily.VET;
2130
+ this.explorerUrl = 'https://explore-testnet.vechain.org/transactions/';
2131
+ this.accountExplorerUrl = 'https://explore-testnet.vechain.org/accounts/';
2132
+ this.chainId = 100010;
2133
+ this.forwarderFactoryAddress = '0x65343e18c376d2fc8c3cf10cd146d63e2e0dc9ef';
2134
+ this.forwarderImplementationAddress = '0x62de34c87f847d385af07f6c25dbd97b1fffefc0';
2135
+ }
2136
+ }
2137
+ class Iota extends Mainnet {
2138
+ constructor() {
2139
+ super(...arguments);
2140
+ this.name = 'Iota';
2141
+ this.family = base_1.CoinFamily.IOTA;
2142
+ this.explorerUrl = 'https://explorer.iota.org/?network=mainnet';
2143
+ }
2144
+ }
2145
+ class IotaTestnet extends Testnet {
2146
+ constructor() {
2147
+ super(...arguments);
2148
+ this.name = 'Testnet Iota';
2149
+ this.family = base_1.CoinFamily.IOTA;
2150
+ this.explorerUrl = 'https://explorer.iota.org/?network=testnet';
2151
+ }
2152
+ }
2153
+ class Flow extends Mainnet {
2154
+ constructor() {
2155
+ super(...arguments);
2156
+ this.name = 'Flow';
2157
+ this.family = base_1.CoinFamily.FLOW;
2158
+ this.explorerUrl = 'https://evm.flowscan.io/tx/';
2159
+ this.accountExplorerUrl = 'https://evm.flowscan.io/address/';
2160
+ this.chainId = 747;
2161
+ this.nativeCoinOperationHashPrefix = '747';
2162
+ }
2163
+ }
2164
+ class FlowTestnet extends Testnet {
2165
+ constructor() {
2166
+ super(...arguments);
2167
+ this.name = 'FlowTestnet';
2168
+ this.family = base_1.CoinFamily.FLOW;
2169
+ this.explorerUrl = 'https://evm.flowscan.io/tx/';
2170
+ this.accountExplorerUrl = 'https://evm-testnet.flowscan.io/address/';
2171
+ this.chainId = 545;
2172
+ this.nativeCoinOperationHashPrefix = '545';
2173
+ }
2174
+ }
2175
+ // TODO update MegaETH explorer urls and chainId when available
2176
+ class MegaETH extends Mainnet {
2177
+ constructor() {
2178
+ super(...arguments);
2179
+ this.name = 'MegaETH';
2180
+ this.family = base_1.CoinFamily.MEGAETH;
2181
+ this.explorerUrl = 'https://www.megaexplorer.xyz/tx';
2182
+ this.accountExplorerUrl = 'https://www.megaexplorer.xyz/address/';
2183
+ this.chainId = 6342;
2184
+ this.nativeCoinOperationHashPrefix = '6342';
2185
+ }
2186
+ }
2187
+ class MegaETHTestnet extends Testnet {
2188
+ constructor() {
2189
+ super(...arguments);
2190
+ this.name = 'MegaETHTestnet';
2191
+ this.family = base_1.CoinFamily.MEGAETH;
2192
+ this.explorerUrl = 'https://www.megaexplorer.xyz/tx';
2193
+ this.accountExplorerUrl = 'https://www.megaexplorer.xyz/address/';
2194
+ this.chainId = 6342;
2195
+ this.nativeCoinOperationHashPrefix = '6342';
2196
+ }
2197
+ }
2198
+ class Plume extends Mainnet {
2199
+ constructor() {
2200
+ super(...arguments);
2201
+ this.name = 'Plume';
2202
+ this.family = base_1.CoinFamily.PLUME;
2203
+ this.explorerUrl = 'https://explorer.plume.org/tx/';
2204
+ this.accountExplorerUrl = 'https://explorer.plume.org/address/';
2205
+ this.chainId = 98866;
2206
+ this.nativeCoinOperationHashPrefix = '98866';
2207
+ }
2208
+ }
2209
+ class PlumeTestnet extends Testnet {
2210
+ constructor() {
2211
+ super(...arguments);
2212
+ this.name = 'PlumeTestnet';
2213
+ this.family = base_1.CoinFamily.PLUME;
2214
+ this.explorerUrl = 'https://testnet-explorer.plume.org/tx/';
2215
+ this.accountExplorerUrl = 'https://testnet-explorer.plume.org/address/';
2216
+ this.chainId = 98867;
2217
+ this.nativeCoinOperationHashPrefix = '98867';
778
2218
  }
779
2219
  }
780
2220
  exports.Networks = {
781
2221
  main: {
782
2222
  ada: Object.freeze(new Ada()),
783
2223
  algorand: Object.freeze(new Algorand()),
2224
+ apechain: Object.freeze(new ApeChain()),
2225
+ apt: Object.freeze(new Apt()),
2226
+ arbitrum: Object.freeze(new Arbitrum()),
2227
+ asi: Object.freeze(new Asi()),
784
2228
  atom: Object.freeze(new Atom()),
785
2229
  avalancheC: Object.freeze(new AvalancheC()),
786
2230
  avalancheP: Object.freeze(new AvalancheP()),
2231
+ baby: Object.freeze(new Baby()),
2232
+ basechain: Object.freeze(new BaseChain()),
787
2233
  bitcoin: Object.freeze(new Bitcoin()),
788
2234
  bitcoinCash: Object.freeze(new BitcoinCash()),
789
2235
  bitcoinGold: Object.freeze(new BitcoinGold()),
790
2236
  bitcoinSV: Object.freeze(new BitcoinSV()),
2237
+ bera: Object.freeze(new Berachain()),
2238
+ bld: Object.freeze(new Bld()),
791
2239
  bsc: Object.freeze(new BinanceSmartChain()),
792
2240
  casper: Object.freeze(new Casper()),
793
2241
  celo: Object.freeze(new Celo()),
2242
+ coredao: Object.freeze(new Coredao()),
2243
+ coreum: Object.freeze(new Coreum()),
2244
+ cronos: Object.freeze(new Cronos()),
794
2245
  dash: Object.freeze(new Dash()),
795
2246
  dogecoin: Object.freeze(new Dogecoin()),
796
2247
  dot: Object.freeze(new Polkadot()),
@@ -801,60 +2252,168 @@ exports.Networks = {
801
2252
  ethereumClassic: Object.freeze(new EthereumClassic()),
802
2253
  ethereumW: Object.freeze(new EthereumW()),
803
2254
  fiat: Object.freeze(new Fiat()),
2255
+ fetchai: Object.freeze(new FetchAi()),
2256
+ flow: Object.freeze(new Flow()),
2257
+ flr: Object.freeze(new Flare()),
2258
+ flrP: Object.freeze(new FlareP()),
2259
+ hash: Object.freeze(new Hash()),
804
2260
  hedera: Object.freeze(new Hedera()),
2261
+ icp: Object.freeze(new Icp()),
2262
+ ip: Object.freeze(new IP()),
2263
+ initia: Object.freeze(new Initia()),
2264
+ iota: Object.freeze(new Iota()),
2265
+ injective: Object.freeze(new Injective()),
2266
+ irys: Object.freeze(new Irys()),
2267
+ islm: Object.freeze(new Islm()),
2268
+ kaia: Object.freeze(new Kaia()),
2269
+ kava: Object.freeze(new Kava()),
2270
+ kavaevm: Object.freeze(new KavaEVM()),
2271
+ lnbtc: Object.freeze(new LightningBitcoin()),
805
2272
  litecoin: Object.freeze(new Litecoin()),
2273
+ megaeth: Object.freeze(new MegaETH()),
2274
+ mon: Object.freeze(new Monad()),
2275
+ mantra: Object.freeze(new Mantra()),
2276
+ plume: Object.freeze(new Plume()),
806
2277
  polygon: Object.freeze(new Polygon()),
2278
+ polyx: Object.freeze(new Polymesh()),
2279
+ phrs: Object.freeze(new Pharos()),
2280
+ ctc: Object.freeze(new Creditcoin()),
2281
+ hypeevm: Object.freeze(new HypeEVM()),
2282
+ lineaeth: Object.freeze(new LineaETH()),
2283
+ oas: Object.freeze(new Oas()),
2284
+ og: Object.freeze(new Og()),
807
2285
  ofc: Object.freeze(new Ofc()),
2286
+ optimism: Object.freeze(new Optimism()),
2287
+ osmo: Object.freeze(new Osmo()),
808
2288
  rbtc: Object.freeze(new Rbtc()),
2289
+ rune: Object.freeze(new Rune()),
809
2290
  stellar: Object.freeze(new Stellar()),
2291
+ sei: Object.freeze(new Sei()),
2292
+ seievm: Object.freeze(new SeiEvm()),
2293
+ sgb: Object.freeze(new Songbird()),
810
2294
  sol: Object.freeze(new Sol()),
2295
+ sonic: Object.freeze(new Sonic()),
811
2296
  sui: Object.freeze(new Sui()),
812
2297
  near: Object.freeze(new Near()),
813
2298
  stx: Object.freeze(new Stx()),
2299
+ somi: Object.freeze(new Somi()),
2300
+ soneium: Object.freeze(new Soneium()),
814
2301
  susd: Object.freeze(new SUSD()),
2302
+ tao: Object.freeze(new Bittensor()),
2303
+ tia: Object.freeze(new Tia()),
2304
+ ton: Object.freeze(new Ton()),
815
2305
  trx: Object.freeze(new Trx()),
2306
+ vet: Object.freeze(new Vet()),
2307
+ wemix: Object.freeze(new Wemix()),
2308
+ world: Object.freeze(new World()),
2309
+ xdc: Object.freeze(new Xdc()),
2310
+ xpl: Object.freeze(new Plasma()),
816
2311
  xrp: Object.freeze(new Xrp()),
817
2312
  xtz: Object.freeze(new Xtz()),
818
2313
  zCash: Object.freeze(new ZCash()),
2314
+ zeta: Object.freeze(new Zeta()),
2315
+ zkSync: Object.freeze(new ZkSync()),
819
2316
  },
820
2317
  test: {
821
2318
  ada: Object.freeze(new AdaTestnet()),
822
2319
  algorand: Object.freeze(new AlgorandTestnet()),
2320
+ apechain: Object.freeze(new ApeChainTestnet()),
2321
+ apt: Object.freeze(new AptTestnet()),
2322
+ arbitrum: Object.freeze(new ArbitrumTestnet()),
2323
+ asi: Object.freeze(new AsiTestnet()),
823
2324
  atom: Object.freeze(new AtomTestnet()),
824
2325
  avalancheC: Object.freeze(new AvalancheCTestnet()),
825
2326
  avalancheP: Object.freeze(new AvalanchePTestnet()),
2327
+ baby: Object.freeze(new BabyTestnet()),
2328
+ basechain: Object.freeze(new BaseChainTestnet()),
826
2329
  bitcoin: Object.freeze(new BitcoinTestnet()),
2330
+ bitcoinPublicSignet: Object.freeze(new BitcoinPublicSignet()),
2331
+ bitcoinTestnet4: Object.freeze(new BitcoinTestnet4()),
2332
+ bitcoinBitGoSignet: Object.freeze(new BitcoinBitGoSignet()),
827
2333
  bitcoinCash: Object.freeze(new BitcoinCashTestnet()),
828
2334
  bitcoinGold: Object.freeze(new BitcoinGoldTestnet()),
829
2335
  bitcoinSV: Object.freeze(new BitcoinSVTestnet()),
2336
+ bera: Object.freeze(new BerachainTestnet()),
2337
+ bld: Object.freeze(new BldTestnet()),
830
2338
  bsc: Object.freeze(new BinanceSmartChainTestnet()),
831
2339
  casper: Object.freeze(new CasperTestnet()),
2340
+ coredao: Object.freeze(new CoredaoTestnet()),
832
2341
  celo: Object.freeze(new CeloTestnet()),
2342
+ cronos: Object.freeze(new CronosTestnet()),
833
2343
  dash: Object.freeze(new DashTestnet()),
834
2344
  dogecoin: Object.freeze(new DogecoinTestnet()),
835
2345
  dot: Object.freeze(new PolkadotTestnet()),
836
2346
  eCash: Object.freeze(new ECashTestnet()),
837
2347
  eos: Object.freeze(new EosTestnet()),
838
2348
  fiat: Object.freeze(new FiatTestnet()),
2349
+ fetchai: Object.freeze(new FetchAiTestnet()),
2350
+ flow: Object.freeze(new FlowTestnet()),
2351
+ flr: Object.freeze(new FlareTestnet()),
2352
+ flrP: Object.freeze(new FlarePTestnet()),
2353
+ mon: Object.freeze(new MonadTestnet()),
2354
+ megaeth: Object.freeze(new MegaETHTestnet()),
839
2355
  pyrmont: Object.freeze(new Pyrmont()),
2356
+ plume: Object.freeze(new PlumeTestnet()),
840
2357
  ethereumClassicTestnet: Object.freeze(new EthereumClassicTestnet()),
2358
+ hash: Object.freeze(new HashTestnet()),
841
2359
  hedera: Object.freeze(new HederaTestnet()),
2360
+ icp: Object.freeze(new IcpTestnet()),
2361
+ ip: Object.freeze(new IPTestnet()),
2362
+ initia: Object.freeze(new InitiaTestnet()),
2363
+ injective: Object.freeze(new InjectiveTestnet()),
2364
+ iota: Object.freeze(new IotaTestnet()),
2365
+ irys: Object.freeze(new IrysTestnet()),
2366
+ islm: Object.freeze(new IslmTestnet()),
2367
+ kava: Object.freeze(new KavaTestnet()),
2368
+ kavaevm: Object.freeze(new KavaEVMTestnet()),
842
2369
  kovan: Object.freeze(new Kovan()),
843
2370
  goerli: Object.freeze(new Goerli()),
2371
+ holesky: Object.freeze(new Holesky()),
2372
+ hoodi: Object.freeze(new Hoodi()),
2373
+ lnbtc: Object.freeze(new LightningBitcoinTestnet()),
844
2374
  litecoin: Object.freeze(new LitecoinTestnet()),
2375
+ mantra: Object.freeze(new MantraTestnet()),
845
2376
  polygon: Object.freeze(new PolygonTestnet()),
2377
+ polyx: Object.freeze(new PolymeshTestnet()),
2378
+ phrs: Object.freeze(new PharosTestnet()),
2379
+ ctc: Object.freeze(new CreditcoinTestnet()),
2380
+ hypeevm: Object.freeze(new HypeEVMTestnet()),
2381
+ lineaeth: Object.freeze(new LineaETHTestnet()),
2382
+ oas: Object.freeze(new OasTestnet()),
2383
+ og: Object.freeze(new OgTestnet()),
846
2384
  ofc: Object.freeze(new OfcTestnet()),
2385
+ optimism: Object.freeze(new OptimismTestnet()),
2386
+ osmo: Object.freeze(new OsmoTestnet()),
847
2387
  rbtc: Object.freeze(new RbtcTestnet()),
2388
+ rune: Object.freeze(new RuneTestNet()),
2389
+ sgb: Object.freeze(new SongbirdTestnet()),
848
2390
  stellar: Object.freeze(new StellarTestnet()),
2391
+ sei: Object.freeze(new SeiTestnet()),
2392
+ seievm: Object.freeze(new SeiEvmTestnet()),
849
2393
  sol: Object.freeze(new SolTestnet()),
850
2394
  sui: Object.freeze(new SuiTestnet()),
851
2395
  near: Object.freeze(new NearTestnet()),
852
2396
  stx: Object.freeze(new StxTestnet()),
2397
+ stt: Object.freeze(new SomniaTestnet()),
2398
+ soneium: Object.freeze(new SoneiumTestnet()),
2399
+ sonic: Object.freeze(new SonicTestnet()),
2400
+ kaia: Object.freeze(new KaiaTestnet()),
853
2401
  susd: Object.freeze(new SUSDTestnet()),
2402
+ coreum: Object.freeze(new CoreumTestnet()),
2403
+ tao: Object.freeze(new BittensorTestnet()),
2404
+ tia: Object.freeze(new TiaTestnet()),
2405
+ ton: Object.freeze(new TonTestnet()),
854
2406
  trx: Object.freeze(new TrxTestnet()),
2407
+ vet: Object.freeze(new VetTestnet()),
2408
+ wemix: Object.freeze(new WemixTestnet()),
2409
+ world: Object.freeze(new WorldTestnet()),
2410
+ xdc: Object.freeze(new XdcTestnet()),
2411
+ xpl: Object.freeze(new PlasmaTestnet()),
855
2412
  xrp: Object.freeze(new XrpTestnet()),
856
2413
  xtz: Object.freeze(new XtzTestnet()),
857
2414
  zCash: Object.freeze(new ZCashTestnet()),
2415
+ zeta: Object.freeze(new ZetaTestnet()),
2416
+ zkSync: Object.freeze(new ZkSyncTestnet()),
858
2417
  },
859
2418
  };
860
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQW9DO0FBQ3BDLDBDQUEwRTtBQUUxRSxJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsa0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBR3RCO0FBRUQsTUFBc0IsV0FBVztDQUtoQztBQUxELGtDQUtDO0FBcUZELE1BQWUsT0FBUSxTQUFRLFdBQVc7SUFBMUM7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztDQUFBO0FBRUQsTUFBZSxPQUFRLFNBQVEsV0FBVztJQUExQzs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRCxNQUFNLFFBQVMsU0FBUSxPQUFPO0lBQTlCOztRQUNFLFNBQUksR0FBRyxVQUFVLENBQUM7UUFDbEIsV0FBTSxHQUFHLGlCQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsNkJBQTZCLENBQUM7SUFDOUMsQ0FBQztDQUFBO0FBRUQsTUFBTSxlQUFnQixTQUFRLE9BQU87SUFBckM7O1FBQ0UsU0FBSSxHQUFHLGlCQUFpQixDQUFDO1FBQ3pCLFdBQU0sR0FBRyxpQkFBVSxDQUFDLElBQUksQ0FBQztRQUN6QixnQkFBVyxHQUFHLHFDQUFxQyxDQUFDO0lBQ3RELENBQUM7Q0FBQTtBQUVELE1BQU0sR0FBSSxTQUFRLE9BQU87SUFBekI7O1FBQ0UsU0FBSSxHQUFHLFlBQVksQ0FBQztRQUNwQixXQUFNLEdBQUcsaUJBQVUsQ0FBQyxHQUFHLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEIsb0JBQWUsR0FBRyxP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SUFBSSxjQUFjLEVBQUUsQ0FBQztRQUM1QyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUM1QyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUN6QztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2luRmFtaWx5IH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IG1haW5uZXRNZXRhZGF0YVJwYywgd2VzdGVuZE1ldGFkYXRhUnBjIH0gZnJvbSAnLi4vcmVzb3VyY2VzL2RvdCc7XG5cbmV4cG9ydCBlbnVtIE5ldHdvcmtUeXBlIHtcbiAgTUFJTk5FVCA9ICdtYWlubmV0JyxcbiAgVEVTVE5FVCA9ICd0ZXN0bmV0Jyxcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VOZXR3b3JrIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHR5cGU6IE5ldHdvcmtUeXBlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZmFtaWx5OiBDb2luRmFtaWx5O1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZXhwbG9yZXJVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVdHhvTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gTmV0d29yayBuYW1lIGFzIGRlZmluZWQgaW4gQGJpdGdvLWJldGEvdXR4by1saWIgbmV0d29ya3MudHNcbiAgdXR4b2xpYk5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICAvLyBOZXR3b3JrIG5hbWUgYXMgZGVmaW5lZCBpbiBAYml0Z28tYmV0YS91dHhvLWxpYiBuZXR3b3Jrcy50c1xuICAvLyBtYXliZSBhZGQgbmV0d29yayBpZGVudGlmaWVyIC8gbWFnaWMgbmV0d29yayBudW1iZXJcbiAgdXR4b2xpYk5hbWU6IHN0cmluZztcbiAgcG9vbERlcG9zaXQ6IG51bWJlcjtcbiAgc3Rha2VLZXlEZXBvc2l0OiBudW1iZXI7XG4gIG1heFZhbHVlU2l6ZTogbnVtYmVyO1xuICBtYXhUcmFuc2FjdGlvblNpemU6IG51bWJlcjtcbiAgY29pbnNQZXJVdHhvV29yZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF2YWxhbmNoZU5ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIHJlYWRvbmx5IGFsaWFzOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJsb2NrY2hhaW5JRDogc3RyaW5nO1xuICByZWFkb25seSBjQ2hhaW5CbG9ja2NoYWluSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbmV0d29ya0lEOiBudW1iZXI7XG4gIHJlYWRvbmx5IGhycDogc3RyaW5nO1xuICByZWFkb25seSB2bTogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGlvblR4RmVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNyZWF0ZVN1Ym5ldFR4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNyZWF0ZUNoYWluVHg6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluQ29uc3VtcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4Q29uc3VtcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4U3VwcGx5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pblN0YWtlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pblN0YWtlRHVyYXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4U3Rha2VEdXJhdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtaW5EZWxlZ2F0aW9uU3Rha2U6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluRGVsZWdhdGlvbkZlZTogc3RyaW5nO1xuICAvLyBjdXJyZW50IHZhbGlkIGFzc2V0IGlkIGlzIEFWQVhcbiAgcmVhZG9ubHkgYXZheEFzc2V0SUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgdHhGZWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50TmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gc29tZSBjaGFpbnMgcGF5IGZlZXMgdmlhIGFuIGVudGVycHJpc2UgZ2FzIHRhc2suIFRoZSBhY2NvdW50IGV4cGxvcmVyIHVybFxuICAvLyBpcyBhIHVybCB0aGF0IGNhbiBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIGFjY291bnQgZm9yIHRoZSBnYXMgdGFuayBvbi1jaGFpbi5cbiAgcmVhZG9ubHkgYWNjb3VudEV4cGxvcmVyVXJsPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNwZWNpZmljYXRpb24gbmFtZSB0eXBlIG9mIHRoZSBjaGFpbi4gVXNlZCBpbiBzZXR0aW5nIHVwIHRoZSByZWdpc3RyeVxuICovXG5leHBvcnQgdHlwZSBQb2xrYWRvdFNwZWNOYW1lVHlwZSA9ICdrdXNhbWEnIHwgJ3BvbGthZG90JyB8ICd3ZXN0ZW5kJyB8ICdzdGF0ZW1pbnQnIHwgJ3N0YXRlbWluZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG90TmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gc29tZSBjaGFpbnMgcGF5IGZlZXMgdmlhIGFuIGVudGVycHJpc2UgZ2FzIHRhc2suIFRoZSBhY2NvdW50IGV4cGxvcmVyIHVybFxuICAvLyBpcyBhIHVybCB0aGF0IGNhbiBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIGFjY291bnQgZm9yIHRoZSBnYXMgdGFuayBvbi1jaGFpbi5cbiAgcmVhZG9ubHkgc3BlY05hbWU6IFBvbGthZG90U3BlY05hbWVUeXBlO1xuICByZWFkb25seSBnZW5lc2lzSGFzaDogc3RyaW5nO1xuICByZWFkb25seSBzcGVjVmVyc2lvbjogbnVtYmVyO1xuICByZWFkb25seSBjaGFpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbWV0YWRhdGFScGM6IGAweCR7c3RyaW5nfWA7XG4gIHJlYWRvbmx5IHR4VmVyc2lvbjogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV0aGVyZXVtTmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gdW5pcXVlIGNoYWluIGlkIHVzZWQgZm9yIHJlcGxheS1wcm90ZWN0aW5nIHRyYW5zYWN0aW9uc1xuICByZWFkb25seSBjaGFpbklkOiBudW1iZXI7XG4gIHJlYWRvbmx5IGJhdGNoZXJDb250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIC8vIGZvcndhcmRlciBjb25maWd1cmF0aW9uIGFkZHJlc3NlcyB1c2VkIGZvciBjYWxjdWxhdGluZyBmb3J3YXJkZXIgdmVyc2lvbiAxIGFkZHJlc3Nlc1xuICByZWFkb25seSBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyb25OZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICBtYXhGZWVMaW1pdDogc3RyaW5nO1xuICBjb250cmFjdENhbGxGZWVMaW1pdDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrc05ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIHJlYWRvbmx5IHNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xuICByZWFkb25seSBzdGFraW5nQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIE9mY05ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7fVxuXG5hYnN0cmFjdCBjbGFzcyBNYWlubmV0IGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICB0eXBlID0gTmV0d29ya1R5cGUuTUFJTk5FVDtcbn1cblxuYWJzdHJhY3QgY2xhc3MgVGVzdG5ldCBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgdHlwZSA9IE5ldHdvcmtUeXBlLlRFU1RORVQ7XG59XG5cbmNsYXNzIEFsZ29yYW5kIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBbGdvcmFuZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQUxHTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbGdvZXhwbG9yZXIuaW8vdHgvJztcbn1cblxuY2xhc3MgQWxnb3JhbmRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBbGdvcmFuZFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFMR087XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5hbGdvZXhwbG9yZXIuaW8vdHgvJztcbn1cblxuY2xhc3MgQWRhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFkYU5ldHdvcmsge1xuICBuYW1lID0gJ0FkYUNhcmRhbm8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFEQTtcbiAgdXR4b2xpYk5hbWUgPSAnY2FyZGFubyc7XG4gIHBvb2xEZXBvc2l0ID0gNTAwMDAwMDAwO1xuICBzdGFrZUtleURlcG9zaXQgPSAyMDAwMDAwO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmNhcmRhbm8ub3JnL2VuJztcbiAgY29pbnNQZXJVdHhvV29yZCA9IDM0NDgyO1xuICBtYXhUcmFuc2FjdGlvblNpemUgPSA4MDAwO1xuICBtYXhWYWx1ZVNpemUgPSA0MDAwO1xufVxuXG5jbGFzcyBBZGFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFkYU5ldHdvcmsge1xuICBuYW1lID0gJ0FkYUNhcmRhbm9UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BREE7XG4gIHV0eG9saWJOYW1lID0gJ2NhcmRhbm9UZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wcmVwcm9kLmNleHBsb3Jlci5pby8nO1xuICBjb2luc1BlclV0eG9Xb3JkID0gMzQ0ODI7XG4gIG1heFRyYW5zYWN0aW9uU2l6ZSA9IDgwMDA7XG4gIG1heFZhbHVlU2l6ZSA9IDQwMDA7XG4gIHBvb2xEZXBvc2l0ID0gNTAwMDAwMDAwO1xuICBzdGFrZUtleURlcG9zaXQgPSAyMDAwMDAwO1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgLy8gaHR0cHM6Ly9kb2NzLmF2YXgubmV0d29yay9idWlsZC90dXRvcmlhbHMvc21hcnQtY29udHJhY3RzL2RlcGxveS1hLXNtYXJ0LWNvbnRyYWN0LW9uLWF2YWxhbmNoZS11c2luZy1yZW1peC1hbmQtbWV0YW1hc2sjYXZhbGFuY2hlLW1haW5uZXQtc2V0dGluZ3NcbiAgbmFtZSA9ICdBdmFsYW5jaGVDJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zbm93dHJhY2UuaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc25vd3RyYWNlLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQzMTE0O1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQ1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuc25vd3RyYWNlLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuc25vd3RyYWNlLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQzMTEzO1xufVxuXG5jbGFzcyBBdmFsYW5jaGVQIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEF2YWxhbmNoZU5ldHdvcmsge1xuICBuYW1lID0gJ0F2YWxhbmNoZVAnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMuYXZheC5uZXR3b3JrL3AtY2hhaW4vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvcC1jaGFpbi9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJzJxOWU0cjZNdTNVNjhuVTFmWWpnYlI2SnZ3clJ4MzZDb2hwQVg1VVF4c2U1NXgxUTUnO1xuICBhdmF4QXNzZXRJRCA9ICdGdndFQWhteEtmZWlHOFNuRXZxNDJoYzZ3aFJ5WTNFRllBdmViTXFETkRHQ2d4TjVaJztcbiAgbmV0d29ya0lEID0gMTtcbiAgaHJwID0gJ2F2YXgnO1xuICBhbGlhcyA9ICdQJztcbiAgdm0gPSAncGxhdGZvcm12bSc7XG4gIHR4RmVlID0gJzEwMDAwMDAnOyAvLyAxIE1JTExJQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcyMDAwMDAwMDAwMDAwJzsgLy8gMjAwMCBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnMTIwOTYwMCc7IC8vIDIgd2Vla3NcbiAgbWF4U3Rha2VEdXJhdGlvbiA9ICczMTUzNjAwMCc7IC8vIDEgeWVhclxuICBtaW5EZWxlZ2F0aW9uU3Rha2UgPSAnMjUwMDAwMDAwMDAnOyAvLyAyNSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEF2YWxhbmNoZU5ldHdvcmsge1xuICBuYW1lID0gJ0F2YWxhbmNoZVBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL3AtY2hhaW4vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy10ZXN0LmF2YXgubmV0d29yay9wLWNoYWluL2FkZHJlc3MvJztcbiAgYmxvY2tjaGFpbklEID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExTHBvWVknO1xuICBjQ2hhaW5CbG9ja2NoYWluSUQgPSAneUg4RDdUaE5Ka3htdGt1djJqZ0JhNFAxUm4zUXByNHBQcjdRWU5mY2RvUzZrNkhXcCc7XG4gIGF2YXhBc3NldElEID0gJ1U4aVJxSm9pSm04eFpIQWFjbXZZeVpWd3FReDZ1RE50UWVQM0NRNmZjZ1FrM0pxbksnO1xuICBuZXR3b3JrSUQgPSA1O1xuICBhbGlhcyA9ICdQJztcbiAgaHJwID0gJ2Z1amknO1xuICB2bSA9ICdwbGF0Zm9ybXZtJztcbiAgdHhGZWUgPSAnMTAwMDAwMCc7IC8vIDEgTUlMTElBVkFYXG4gIGNyZWF0ZVN1Ym5ldFR4ID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgY3JlYXRlQ2hhaW5UeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0aW9uVHhGZWUgPSAnMTAwMDAwMDAnOyAvLyAxIENFTlRJQVZBWFxuICBtaW5Db25zdW1wdGlvbiA9ICcwLjEnO1xuICBtYXhDb25zdW1wdGlvbiA9ICcwLjEyJztcbiAgbWF4U3VwcGx5ID0gJzcyMDAwMDAwMDAwMDAwMDAwMCc7IC8vIDcyMCBtaWwgdG9rZW5zXG4gIG1pblN0YWtlID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgbWluU3Rha2VEdXJhdGlvbiA9ICc4NjQwMCc7IC8vIDEgZGF5XG4gIG1heFN0YWtlRHVyYXRpb24gPSAnMzE1MzYwMDAnOyAvLyAxIHllYXJcbiAgbWluRGVsZWdhdGlvblN0YWtlID0gJzEwMDAwMDAwMDAnOyAvLyAxIEFWQVhcbiAgbWluRGVsZWdhdGlvbkZlZSA9ICcyJztcbn1cblxuY2xhc3MgQmluYW5jZVNtYXJ0Q2hhaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaW5hbmNlU21hcnRDaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5ic2NzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYnNjc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNTY7XG59XG5cbmNsYXNzIEJpbmFuY2VTbWFydENoYWluVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0JpbmFuY2VTbWFydENoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYnNjc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5ic2NzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5Nztcbn1cblxuY2xhc3MgQml0Y29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICd0ZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgQml0Y29pbkNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5DYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0g7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5jYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYmxvY2tjaGFpbi5jb20vYmNoL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5DYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0g7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5jYXNoVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJsb2NrY2hhaW4uY29tL2JjaC10ZXN0bmV0L3R4Lyc7XG59XG5jbGFzcyBCaXRjb2luU1YgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5TVic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNWO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luc3YnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2JpdGNvaW4tc3YvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgQml0Y29pblNWVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblNWVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNWO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luc3ZUZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIEJpdGNvaW5Hb2xkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luR29sZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRHO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luZ29sZCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYnRnZXhwbG9yZXIuY29tL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5Hb2xkVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkdvbGRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CVEc7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5nb2xkVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBEYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5EQVNIO1xuICB1dHhvbGliTmFtZSA9ICdkYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9pbnNpZ2h0LmRhc2hldm8ub3JnL2luc2lnaHQvdHgvJztcbn1cblxuY2xhc3MgRGFzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0Rhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5EQVNIO1xuICB1dHhvbGliTmFtZSA9ICdkYXNoVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC1pbnNpZ2h0LmRhc2hldm8ub3JnL2luc2lnaHQvdHgvJztcbn1cblxuY2xhc3MgRG9nZWNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0RvZ2Vjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET0dFO1xuICB1dHhvbGliTmFtZSA9ICdkb2dlY29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vZG9nZWNvaW4vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgRG9nZWNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEb2dlY29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPR0U7XG4gIHV0eG9saWJOYW1lID0gJ2RvZ2Vjb2luVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tleHBsb3Jlci5vbmUvZG9nZWNvaW4vdGVzdG5ldC90eC8nO1xufVxuXG5jbGFzcyBFQ2FzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRUNhc2gnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJDSEE7XG4gIHV0eG9saWJOYW1lID0gJ2VjYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9lY2FzaCc7XG59XG5cbmNsYXNzIEVDYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRUNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0hBO1xuICB1dHhvbGliTmFtZSA9ICdlY2FzaFRlc3QnO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgUG9sa2Fkb3QgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRG90TmV0d29yayB7XG4gIG5hbWUgPSAnUG9sa2Fkb3QnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2xrYWRvdC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICdwb2xrYWRvdCcgYXMgUG9sa2Fkb3RTcGVjTmFtZVR5cGU7XG4gIGdlbmVzaXNIYXNoID0gJzB4OTFiMTcxYmIxNThlMmQzODQ4ZmEyM2E5ZjFjMjUxODJmYjhlMjAzMTNiMmMxZWI0OTIxOWRhN2E3MGNlOTBjMyc7XG4gIHNwZWNWZXJzaW9uID0gOTE0MDtcbiAgY2hhaW5OYW1lID0gJ1BvbGthZG90JztcbiAgbWV0YWRhdGFScGMgPSBtYWlubmV0TWV0YWRhdGFScGMgYXMgYDB4JHtzdHJpbmd9YDtcbiAgdHhWZXJzaW9uID0gOTtcbn1cblxuY2xhc3MgUG9sa2Fkb3RUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIERvdE5ldHdvcmsge1xuICBuYW1lID0gJ1dlc3RlbmQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93ZXN0ZW5kLnN1YnNjYW4uaW8vZXh0cmluc2ljLyc7XG4gIHNwZWNOYW1lID0gJ3dlc3RlbmQnIGFzIFBvbGthZG90U3BlY05hbWVUeXBlO1xuICBnZW5lc2lzSGFzaCA9ICcweGUxNDNmMjM4MDNhYzUwZThmNmY4ZTYyNjk1ZDFjZTllNGUxZDY4YWEzNmMxY2QyY2ZkMTUzNDAyMTNmMzQyM2UnO1xuICBzcGVjVmVyc2lvbiA9IDkzMjA7XG4gIGNoYWluTmFtZSA9ICdXZXN0ZW5kJztcbiAgbWV0YWRhdGFScGMgPSB3ZXN0ZW5kTWV0YWRhdGFScGMgYXMgYDB4JHtzdHJpbmd9YDtcbiAgdHhWZXJzaW9uID0gMTQ7XG59XG5cbmNsYXNzIENlbG8gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxvJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DRUxPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmNlbG8ub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmNlbG8ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQyMjIwO1xufVxuXG5jbGFzcyBDZWxvVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0NlbG9UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DRUxPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2FsZmFqb3Jlcy1ibG9ja3Njb3V0LmNlbG8tdGVzdG5ldC5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYWxmYWpvcmVzLWJsb2Nrc2NvdXQuY2Vsby10ZXN0bmV0Lm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0NDc4Nztcbn1cblxuLy8gVE9ETyB1cGRhdGUgZXhwbG9yZXJVcmwgU1RMWC0xNjU3XG5jbGFzcyBDYXNwZXIgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Nhc3Blcic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1NQUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jc3ByLmxpdmUvZGVwbG95Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2NzcHIubGl2ZS9hY2NvdW50Lyc7XG59XG5cbmNsYXNzIENhc3BlclRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Nhc3BlclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNTUFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW50ZWdyYXRpb24uY3Nwci5saXZlL2RlcGxveS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9pbnRlZ3JhdGlvbi5jc3ByLmxpdmUvYWNjb3VudC8nO1xufVxuXG5jbGFzcyBFdGhlcmV1bSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDE7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgwYzliMjVkZmUwMmIyYzg5Y2NlODZlMWEwYmQ2YzA0YTdhY2EwMWI2JztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhmZmEzOTcyODVjZTQ2ZmI3OGM1ODhhOWU5OTMyODZhYWM2OGMzN2NkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MDU5ZmZhZmRjNmVmNTk0MjMwZGU0NGY4MjRlMmJkMGE1MWNhNWRlZCc7XG59XG5cbmNsYXNzIEV0aGVyZXVtMiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0yJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEgyO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vYWRkcmVzcyc7XG59XG5cbmNsYXNzIEV0aGVyZXVtVyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtIFBvVyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIVztcbiAgZXhwbG9yZXJVcmwgPSAnJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJyc7XG4gIGNoYWluSWQgPSAxMDAwMTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnJztcbn1cblxuY2xhc3MgUHlybW9udCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUHlybW9udCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIMjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9weXJtb250L3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vcHlybW9udC9hZGRyZXNzJztcbn1cblxuY2xhc3MgS292YW4gZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdLb3Zhbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2tvdmFuLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rb3Zhbi5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICAvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bWpzL2V0aGVyZXVtanMtY29tbW9uL2Jsb2IvYTk3OGY2MzA4NThmNjg0MzE3NmJiMjBiMjc3NTY5Nzg1OTE0ZTg5OS9zcmMvY2hhaW5zL2luZGV4LnRzXG4gIGNoYWluSWQgPSA0MjtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGMwYWFmMjY0OWU3YjBmMzk1MDE2NDY4MWVjYTJiMWE4ZjY1NGE0NzgnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGE3OWE0ODUyOTRkMjI2MDc1ZWU2NTQxMGJjOTRlYTQ1NGYzZTQwOWQnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhhOTQ2ZTc0OGYyNWE1ZWM2ODc4ZWIxYTlmMmU5MDIwMjgxNzRjMGIzJztcbn1cblxuY2xhc3MgR29lcmxpIGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnR29lcmxpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLWNvbW1vbi9ibG9iL2E5NzhmNjMwODU4ZjY4NDMxNzZiYjIwYjI3NzU2OTc4NTkxNGU4OTkvc3JjL2NoYWlucy9pbmRleC50c1xuICBjaGFpbklkID0gNTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGU4ZTg0N2NmNTczZmM4ZWQ3NTYyMTY2MGEzNmFmZmQxOGM1NDNkN2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGY1Y2FhNWUzZTkzYWZiYzIxYmQxOWVmNGYyNjkxYTM3MTIxZjc5MTcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg4MGQ1YzkxZThjYzIxZGY2OWZjNGQ2NGYyMWRjMmQ4MzEyMWMzOTk5Jztcbn1cblxuY2xhc3MgRXRoZXJldW1DbGFzc2ljIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW1DbGFzc2ljJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21haW5uZXQvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21haW5uZXQvYWRkcmVzcy8nO1xuICAvLyBmcm9tICBodHRwczovL2NoYWluaWQubmV0d29yay9jaGFpbnMvXG4gIGNoYWluSWQgPSA2MTtcbn1cblxuY2xhc3MgRXRoZXJldW1DbGFzc2ljVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbW9yZG9yL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQuY29tL2V0Yy9tb3Jkb3IvYWRkcmVzcy8nO1xuICAvLyBmcm9tICBodHRwczovL2NoYWluaWQubmV0d29yay9jaGFpbnMvXG4gIGNoYWluSWQgPSA2Mztcbn1cblxuY2xhc3MgRW9zIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdFb3MnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVPUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5lb3NuZXR3b3JrLmNvbS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBFb3NUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdFb3NUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FT1M7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va3lsaW4uZW9zeC5pby90eC8nO1xufVxuXG5jbGFzcyBIZWRlcmEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0hlZGVyYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSEJBUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5rYWJ1dG8uc2gvbWFpbm5ldC90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBIZWRlcmFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIZWRlcmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmthYnV0by5zaC90ZXN0bmV0L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIExpdGVjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaXRlY29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTFRDO1xuICB1dHhvbGliTmFtZSA9ICdsaXRlY29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vbGl0ZWNvaW4vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgTGl0ZWNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaXRlY29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkxUQztcbiAgdXR4b2xpYk5hbWUgPSAnbGl0ZWNvaW5UZXN0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2V4cGxvcmVyLm9uZS9saXRlY29pbi90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIE9mYyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBPZmNOZXR3b3JrIHtcbiAgbmFtZSA9ICdPZmMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9GQztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIE9mY1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgT2ZjTmV0d29yayB7XG4gIG5hbWUgPSAnT2ZjVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0ZDO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgUmJ0YyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1JidGMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlJCVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucnNrLmNvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnJzay5jby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMDtcbn1cblxuY2xhc3MgUmJ0Y1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdSYnRjVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUkJUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0LnJzay5jby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0LnJzay5jby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMTtcbn1cblxuY2xhc3MgU3RlbGxhciBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3RlbGxhcic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWExNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N0ZWxsYXIuZXhwZXJ0L2V4cGxvcmVyL3B1YmxpYy90eC8nO1xufVxuXG5jbGFzcyBTdGVsbGFyVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3RlbGxhclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdGVsbGFyLmV4cGVydC9leHBsb3Jlci90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIFNvbCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU29sJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT0w7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc29sYW5hLmNvbS90eC8nO1xufVxuXG5jbGFzcyBTb2xUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTb2xUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT0w7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc29sYW5hLmNvbS90eC8/Y2x1c3Rlcj1kZXZuZXQnO1xufVxuXG5jbGFzcyBTdWkgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1N1aSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN1aS5pby90eGJsb2NrLz9uZXR3b3JrPW1haW5uZXQnO1xufVxuXG5jbGFzcyBTdWlUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IFN1aSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN1aS5pby90eGJsb2NrLz9uZXR3b3JrPXRlc3RuZXQnO1xufVxuXG5jbGFzcyBBdG9tIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDb3Ntb3MgSHViIEFUT00nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFUT007XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYXRvbXNjYW4uY29tL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBBdG9tVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBDb3Ntb3MgSHViIEFUT00nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFUT007XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGhldGEtdGVzdG5ldC5wb2x5cG9yZS54eXovdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIFN0eCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBTdGFja3NOZXR3b3JrIHtcbiAgbmFtZSA9ICdTdHgnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNUWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zdGFja3MuY28vdHhpZC8nO1xuICBzZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3MgPSAnU1AzRkJSMkFHSzVIOVFCREgzRUVONkRGOEVLOEpZN1JYOFFKNVNWVEUnO1xuICBzdGFraW5nQ29udHJhY3RBZGRyZXNzID0gJ1NQMDAwMDAwMDAwMDAwMDAwMDAwMDAyUTZWRjc4Jztcbn1cblxuY2xhc3MgU3R4VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBTdGFja3NOZXR3b3JrIHtcbiAgbmFtZSA9ICdTdHhUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVFg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3RhY2tzLmNvL3R4aWQvP2NoYWluPXRlc3RuZXQnO1xuICBzZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3MgPSAnU1QzRjFYNFFHVjJTTThYRDk2WDQ1TTZSVFFYS0ExUFpKWlpDUUFCNEInO1xuICBzdGFraW5nQ29udHJhY3RBZGRyZXNzID0gJ1NUMDAwMDAwMDAwMDAwMDAwMDAwMDAyQU1XNDJIJztcbn1cblxuY2xhc3MgU1VTRCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU1VTRCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1VTRDtcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIFNVU0RUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTVVNEVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1VTRDtcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIEZpYXRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEJhc2VOZXR3b3JrIHtcbiAgbmFtZSA9ICdGaWF0VGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRklBVDtcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIEZpYXQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQmFzZU5ldHdvcmsge1xuICBuYW1lID0gJ0ZpYXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZJQVQ7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBUcnggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVHJvbk5ldHdvcmsge1xuICBuYW1lID0gJ1RyeCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVFJYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Ryb25zY2FuLm9yZy8jL3RyYW5zYWN0aW9uLyc7XG4gIG1heEZlZUxpbWl0ID0gJzUwMDAwMDAwMDAnO1xuICBjb250cmFjdENhbGxGZWVMaW1pdCA9ICcxMDAwMDAwMDAnO1xufVxuXG5jbGFzcyBUcnhUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFRyb25OZXR3b3JrIHtcbiAgbmFtZSA9ICdUcnhUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UUlg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2hhc3RhLnRyb25zY2FuLm9yZy8jL3RyYW5zYWN0aW9uLyc7XG4gIG1heEZlZUxpbWl0ID0gJzUwMDAwMDAwMDAnO1xuICBjb250cmFjdENhbGxGZWVMaW1pdCA9ICcxMDAwMDAwMDAnO1xufVxuXG5jbGFzcyBYcnAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1hycCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFJQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2xpdmVuZXQueHJwbC5vcmcvdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIFhycFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1hycFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhSUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0LmJpdGhvbXAuY29tL2V4cGxvcmVyLyc7XG59XG5cbmNsYXNzIFh0eiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWHR6JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YVFo7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGV6YmxvY2suaW8vdHJhbnNhY3Rpb24vJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGV6YmxvY2suaW8vYWNjb3VudC8nO1xufVxuXG5jbGFzcyBYdHpUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYdHpUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YVFo7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2FydGhhZ2VuZXQudGV6YmxvY2suaW8vdHJhbnNhY3Rpb24vJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2FydGhhZ2VuZXQudGV6YmxvY2suaW8vYWNjb3VudC8nO1xufVxuXG5jbGFzcyBaQ2FzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnWkNhc2gnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpFQztcbiAgdXR4b2xpYk5hbWUgPSAnemNhc2gnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NoYWluLnNvL3R4L1pFQy8nO1xufVxuXG5jbGFzcyBaQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ1pDYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWkVDO1xuICB1dHhvbGliTmFtZSA9ICd6Y2FzaFRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NoYWluLnNvL3R4L1pFQ1RFU1QvJztcbn1cblxuY2xhc3MgTmVhciBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnTmVhcic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTkVBUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5uZWFyLm9yZy90cmFuc2FjdGlvbnMvJztcbiAgZmVlUmVzZXJ2ZSA9ICc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIHN0b3JhZ2VSZXNlcnZlID0gJzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAnOyAvLyBmZWVSZXNlcnZlICsgc3RvcmFnZVJlc2VydmUgaXMgbWluaW11bSBhY2NvdW50IGJhbGFuY2UgZm9yIGEgTkVBUiB3YWxsZXQgaHR0cHM6Ly9kb2NzLm5lYXIub3JnL2ludGVncmF0b3IvZmFxI2lzLXRoZXJlLWEtbWluaW11bS1hY2NvdW50LWJhbGFuY2Vcbn1cblxuY2xhc3MgTmVhclRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ05lYXJUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ORUFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQubmVhci5vcmcvdHJhbnNhY3Rpb25zLyc7XG4gIGZlZVJlc2VydmUgPSAnNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuICBzdG9yYWdlUmVzZXJ2ZSA9ICcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gZmVlUmVzZXJ2ZSArIHN0b3JhZ2VSZXNlcnZlIGlzIG1pbmltdW0gYWNjb3VudCBiYWxhbmNlIGZvciBhIE5FQVIgd2FsbGV0IGh0dHBzOi8vZG9jcy5uZWFyLm9yZy9pbnRlZ3JhdG9yL2ZhcSNpcy10aGVyZS1hLW1pbmltdW0tYWNjb3VudC1iYWxhbmNlXG59XG5cbmNsYXNzIFBvbHlnb24gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdQb2x5Z29uJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QT0xZR09OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3BvbHlnb25zY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2x5Z29uc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTM3O1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDI5ZWY0NjAzNWU5ZmEzZDU3MGM1OThkMzI2NjQyNGNhMTE0MTNiMGMnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg1Mzk3ZDA4NjlhYmEwZDU1ZTk2ZDU3MTZkMzgzZjZlMWQ4Njk1ZWQ3JztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHhhNzE5OGY0OGM1OGU5MWYwMTMxN2U3MGNkMjRjNWNjZTQ3NWMxNTU1JztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZTVkY2RjMTNiNjI4YzJkZjgxM2RiMTA4MDM2N2U5MjljMTUwN2NhMCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHg3YWRjOWIzZDc1MjE3MTAzMjFiZWM3ZGQ2ODk3ZDMzN2U1M2MyNDkzJztcbn1cblxuY2xhc3MgUG9seWdvblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdQb2x5Z29uVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUE9MWUdPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tdW1iYWkucG9seWdvbnNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL211bWJhaS5wb2x5Z29uc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gODAwMDE7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4N2QxMGNmZGNiNzYzMzc1ZmI1ZjBhMGU5MTAxZjQ5MGYwYmYxYjQzYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGFhMjIxNmQ3MmQ3YzE0OWRmZTRjM2RkMjE1NGNkMDA5OTQyMTY1MDYnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweGUzN2MwN2ZhZWM4N2JlMDc1Y2U0MDAyYjVmZWRiZGUwMGE0ZmU5ZDUnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHgxMWY4ZDcwYTRlZTlkMDk2MmJiMTE2MGQ3NzZkNGE5OTZjZmRmZjQwJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGNkZjAxYTMxZWEyYTFkNjI5NTFhYWMzYTU3NDNjNDQxNmY5ZGEzZmInO1xufVxuXG5leHBvcnQgY29uc3QgTmV0d29ya3MgPSB7XG4gIG1haW46IHtcbiAgICBhZGE6IE9iamVjdC5mcmVlemUobmV3IEFkYSgpKSxcbiAgICBhbGdvcmFuZDogT2JqZWN0LmZyZWV6ZShuZXcgQWxnb3JhbmQoKSksXG4gICAgYXRvbTogT2JqZWN0LmZyZWV6ZShuZXcgQXRvbSgpKSxcbiAgICBhdmFsYW5jaGVDOiBPYmplY3QuZnJlZXplKG5ldyBBdmFsYW5jaGVDKCkpLFxuICAgIGF2YWxhbmNoZVA6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZVAoKSksXG4gICAgYml0Y29pbjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbigpKSxcbiAgICBiaXRjb2luQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkNhc2goKSksXG4gICAgYml0Y29pbkdvbGQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5Hb2xkKCkpLFxuICAgIGJpdGNvaW5TVjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblNWKCkpLFxuICAgIGJzYzogT2JqZWN0LmZyZWV6ZShuZXcgQmluYW5jZVNtYXJ0Q2hhaW4oKSksXG4gICAgY2FzcGVyOiBPYmplY3QuZnJlZXplKG5ldyBDYXNwZXIoKSksXG4gICAgY2VsbzogT2JqZWN0LmZyZWV6ZShuZXcgQ2VsbygpKSxcbiAgICBkYXNoOiBPYmplY3QuZnJlZXplKG5ldyBEYXNoKCkpLFxuICAgIGRvZ2Vjb2luOiBPYmplY3QuZnJlZXplKG5ldyBEb2dlY29pbigpKSxcbiAgICBkb3Q6IE9iamVjdC5mcmVlemUobmV3IFBvbGthZG90KCkpLFxuICAgIGVDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBFQ2FzaCgpKSxcbiAgICBlb3M6IE9iamVjdC5mcmVlemUobmV3IEVvcygpKSxcbiAgICBldGhlcmV1bTogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW0oKSksXG4gICAgZXRoZXJldW0yOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bTIoKSksXG4gICAgZXRoZXJldW1DbGFzc2ljOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bUNsYXNzaWMoKSksXG4gICAgZXRoZXJldW1XOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bVcoKSksXG4gICAgZmlhdDogT2JqZWN0LmZyZWV6ZShuZXcgRmlhdCgpKSxcbiAgICBoZWRlcmE6IE9iamVjdC5mcmVlemUobmV3IEhlZGVyYSgpKSxcbiAgICBsaXRlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgTGl0ZWNvaW4oKSksXG4gICAgcG9seWdvbjogT2JqZWN0LmZyZWV6ZShuZXcgUG9seWdvbigpKSxcbiAgICBvZmM6IE9iamVjdC5mcmVlemUobmV3IE9mYygpKSxcbiAgICByYnRjOiBPYmplY3QuZnJlZXplKG5ldyBSYnRjKCkpLFxuICAgIHN0ZWxsYXI6IE9iamVjdC5mcmVlemUobmV3IFN0ZWxsYXIoKSksXG4gICAgc29sOiBPYmplY3QuZnJlZXplKG5ldyBTb2woKSksXG4gICAgc3VpOiBPYmplY3QuZnJlZXplKG5ldyBTdWkoKSksXG4gICAgbmVhcjogT2JqZWN0LmZyZWV6ZShuZXcgTmVhcigpKSxcbiAgICBzdHg6IE9iamVjdC5mcmVlemUobmV3IFN0eCgpKSxcbiAgICBzdXNkOiBPYmplY3QuZnJlZXplKG5ldyBTVVNEKCkpLFxuICAgIHRyeDogT2JqZWN0LmZyZWV6ZShuZXcgVHJ4KCkpLFxuICAgIHhycDogT2JqZWN0LmZyZWV6ZShuZXcgWHJwKCkpLFxuICAgIHh0ejogT2JqZWN0LmZyZWV6ZShuZXcgWHR6KCkpLFxuICAgIHpDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBaQ2FzaCgpKSxcbiAgfSxcbiAgdGVzdDoge1xuICAgIGFkYTogT2JqZWN0LmZyZWV6ZShuZXcgQWRhVGVzdG5ldCgpKSxcbiAgICBhbGdvcmFuZDogT2JqZWN0LmZyZWV6ZShuZXcgQWxnb3JhbmRUZXN0bmV0KCkpLFxuICAgIGF0b206IE9iamVjdC5mcmVlemUobmV3IEF0b21UZXN0bmV0KCkpLFxuICAgIGF2YWxhbmNoZUM6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZUNUZXN0bmV0KCkpLFxuICAgIGF2YWxhbmNoZVA6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZVBUZXN0bmV0KCkpLFxuICAgIGJpdGNvaW46IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5UZXN0bmV0KCkpLFxuICAgIGJpdGNvaW5DYXNoOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luQ2FzaFRlc3RuZXQoKSksXG4gICAgYml0Y29pbkdvbGQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5Hb2xkVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luU1Y6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5TVlRlc3RuZXQoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpblRlc3RuZXQoKSksXG4gICAgY2FzcGVyOiBPYmplY3QuZnJlZXplKG5ldyBDYXNwZXJUZXN0bmV0KCkpLFxuICAgIGNlbG86IE9iamVjdC5mcmVlemUobmV3IENlbG9UZXN0bmV0KCkpLFxuICAgIGRhc2g6IE9iamVjdC5mcmVlemUobmV3IERhc2hUZXN0bmV0KCkpLFxuICAgIGRvZ2Vjb2luOiBPYmplY3QuZnJlZXplKG5ldyBEb2dlY29pblRlc3RuZXQoKSksXG4gICAgZG90OiBPYmplY3QuZnJlZXplKG5ldyBQb2xrYWRvdFRlc3RuZXQoKSksXG4gICAgZUNhc2g6IE9iamVjdC5mcmVlemUobmV3IEVDYXNoVGVzdG5ldCgpKSxcbiAgICBlb3M6IE9iamVjdC5mcmVlemUobmV3IEVvc1Rlc3RuZXQoKSksXG4gICAgZmlhdDogT2JqZWN0LmZyZWV6ZShuZXcgRmlhdFRlc3RuZXQoKSksXG4gICAgcHlybW9udDogT2JqZWN0LmZyZWV6ZShuZXcgUHlybW9udCgpKSxcbiAgICBldGhlcmV1bUNsYXNzaWNUZXN0bmV0OiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bUNsYXNzaWNUZXN0bmV0KCkpLFxuICAgIGhlZGVyYTogT2JqZWN0LmZyZWV6ZShuZXcgSGVkZXJhVGVzdG5ldCgpKSxcbiAgICBrb3ZhbjogT2JqZWN0LmZyZWV6ZShuZXcgS292YW4oKSksXG4gICAgZ29lcmxpOiBPYmplY3QuZnJlZXplKG5ldyBHb2VybGkoKSksXG4gICAgbGl0ZWNvaW46IE9iamVjdC5mcmVlemUobmV3IExpdGVjb2luVGVzdG5ldCgpKSxcbiAgICBwb2x5Z29uOiBPYmplY3QuZnJlZXplKG5ldyBQb2x5Z29uVGVzdG5ldCgpKSxcbiAgICBvZmM6IE9iamVjdC5mcmVlemUobmV3IE9mY1Rlc3RuZXQoKSksXG4gICAgcmJ0YzogT2JqZWN0LmZyZWV6ZShuZXcgUmJ0Y1Rlc3RuZXQoKSksXG4gICAgc3RlbGxhcjogT2JqZWN0LmZyZWV6ZShuZXcgU3RlbGxhclRlc3RuZXQoKSksXG4gICAgc29sOiBPYmplY3QuZnJlZXplKG5ldyBTb2xUZXN0bmV0KCkpLFxuICAgIHN1aTogT2JqZWN0LmZyZWV6ZShuZXcgU3VpVGVzdG5ldCgpKSxcbiAgICBuZWFyOiBPYmplY3QuZnJlZXplKG5ldyBOZWFyVGVzdG5ldCgpKSxcbiAgICBzdHg6IE9iamVjdC5mcmVlemUobmV3IFN0eFRlc3RuZXQoKSksXG4gICAgc3VzZDogT2JqZWN0LmZyZWV6ZShuZXcgU1VTRFRlc3RuZXQoKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcnhUZXN0bmV0KCkpLFxuICAgIHhycDogT2JqZWN0LmZyZWV6ZShuZXcgWHJwVGVzdG5ldCgpKSxcbiAgICB4dHo6IE9iamVjdC5mcmVlemUobmV3IFh0elRlc3RuZXQoKSksXG4gICAgekNhc2g6IE9iamVjdC5mcmVlemUobmV3IFpDYXNoVGVzdG5ldCgpKSxcbiAgfSxcbn07XG4iXX0=
2419
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0NBLGlDQUFvQztBQUVwQyxJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsa0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLFdBQVcsMkJBQVgsV0FBVyxRQUd0QjtBQUVELE1BQXNCLFdBQVc7Q0FLaEM7QUFMRCxrQ0FLQztBQWlJRCxNQUFlLE9BQVEsU0FBUSxXQUFXO0lBQTFDOztRQUNFLFNBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FBQTtBQUVELE1BQWUsT0FBUSxTQUFRLFdBQVc7SUFBMUM7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztDQUFBO0FBRUQsTUFBTSxRQUFTLFNBQVEsT0FBTztJQUE5Qjs7UUFDRSxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBQ2xCLFdBQU0sR0FBRyxpQkFBVSxDQUFDLElBQUksQ0FBQztRQUN6QixnQkFBVyxHQUFHLHVCQUF1QixDQUFDO0lBQ3hDLENBQUM7Q0FBQTtBQUVELE1BQU0sZUFBZ0IsU0FBUSxPQUFPO0lBQXJDOztRQUNFLFNBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUN6QixXQUFNLEdBQUcsaUJBQVUsQ0FBQyxJQUFJLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxtREFBbUQsQ0FBQztJQUNwRSxDQUFDO0NBQUE7QUFFRCxNQUFNLEdBQUksU0FBUSxPQUFPO0lBQXpCOztRQUNFLFNBQUksR0FBRyxZQUFZLENBQUM7UUFDcEIsV0FBTSxHQUFHLGlCQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsT0FBTyxDQUFDO1FBQzFCLGdCQUFXLEdB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QUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsRUFBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMzQixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUM7UUFDdkMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7UUFDbkMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNsQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDakMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3JDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNuQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDakMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNqQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7UUFDaEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDakMsSUFBSSxFQUFF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SSxhQUFhLEVBQUUsQ0FBQztRQUN2QyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUM7S0FDM0M7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRmxhcmVOZXR3b3JrIGludGVyZmFjZSBmb3IgRmxhcmUtZmFtaWx5IGNoYWluc1xuZXhwb3J0IGludGVyZmFjZSBGbGFyZU5ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIG5hbWU6IHN0cmluZztcbiAgZmFtaWx5OiBDb2luRmFtaWx5O1xuICBleHBsb3JlclVybDogc3RyaW5nO1xuICBhY2NvdW50RXhwbG9yZXJVcmw6IHN0cmluZztcbiAgY2hhaW5JZD86IG51bWJlcjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXg/OiBzdHJpbmc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3M/OiBzdHJpbmc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzPzogc3RyaW5nO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3M/OiBzdHJpbmc7XG4gIGJsb2NrY2hhaW5JRD86IHN0cmluZztcbiAgY0NoYWluQmxvY2tjaGFpbklEPzogc3RyaW5nO1xuICBuZXR3b3JrSUQ/OiBudW1iZXI7XG4gIGhycD86IHN0cmluZztcbiAgYWxpYXM/OiBzdHJpbmc7XG4gIHZtPzogc3RyaW5nO1xuICB0eEZlZT86IHN0cmluZztcbiAgbWF4SW1wb3J0RmVlPzogc3RyaW5nO1xuICBjcmVhdGVTdWJuZXRUeD86IHN0cmluZztcbiAgY3JlYXRlQ2hhaW5UeD86IHN0cmluZztcbiAgY3JlYXRpb25UeEZlZT86IHN0cmluZztcbiAgbWluQ29uc3VtcHRpb24/OiBzdHJpbmc7XG4gIG1heENvbnN1bXB0aW9uPzogc3RyaW5nO1xuICBtYXhTdXBwbHk/OiBzdHJpbmc7XG4gIG1pblN0YWtlPzogc3RyaW5nO1xuICBtaW5TdGFrZUR1cmF0aW9uPzogc3RyaW5nO1xuICBtYXhTdGFrZUR1cmF0aW9uPzogc3RyaW5nO1xuICBtaW5EZWxlZ2F0aW9uU3Rha2U/OiBzdHJpbmc7XG4gIG1pbkRlbGVnYXRpb25GZWU/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IENvaW5GYW1pbHkgfSBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgZW51bSBOZXR3b3JrVHlwZSB7XG4gIE1BSU5ORVQgPSAnbWFpbm5ldCcsXG4gIFRFU1RORVQgPSAndGVzdG5ldCcsXG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTmV0d29yayB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0eXBlOiBOZXR3b3JrVHlwZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGZhbWlseTogQ29pbkZhbWlseTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGV4cGxvcmVyVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXR4b05ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIC8vIE5ldHdvcmsgbmFtZSBhcyBkZWZpbmVkIGluIEBiaXRnby1iZXRhL3V0eG8tbGliIG5ldHdvcmtzLnRzXG4gIHV0eG9saWJOYW1lOiBzdHJpbmc7XG4gIHBheWdvQWRkcmVzc0F0dGVzdGF0aW9uUHVia2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ05ldHdvcmsgZXh0ZW5kcyBVdHhvTmV0d29yayB7XG4gIC8qKlxuICAgKiBUaGUgcHVibGljIGtleSBvZiB0aGUgTGlnaHRuaW5nIHNlcnZpY2UsIHVzZWQgZm9yIGRlcml2aW5nIHRoZSBzaGFyZWQgRWxsaXB0aWMgQ3VydmUgRGlmZmllLUhlbGxtYW4gKEVDREgpIHNlY3JldFxuICAgKiBiZXR3ZWVuIHRoZSB1c2VyJ3MgZXh0ZW5kZWQgcHJpdmF0ZSBrZXkgYW5kIHRoZSBMaWdodG5pbmcgc2VydmljZS4gVGhpcyBrZXkgZmFjaWxpdGF0ZXMgc2VjdXJlIGNvbW11bmljYXRpb25cbiAgICogYnkgZW5hYmxpbmcgdGhlIGNyZWF0aW9uIG9mIGEgc2hhcmVkIHNlY3JldCBmb3IgZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiBvZiBkYXRhLlxuICAgKi9cbiAgbGlnaHRuaW5nU2VydmljZVB1YktleTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHB1YmxpYyBrZXkgb2YgdGhlIG1pZGRsZXdhcmUgc2VydmljZSwgdXNlZCBmb3IgZGVyaXZpbmcgdGhlIHNoYXJlZCBFbGxpcHRpYyBDdXJ2ZSBEaWZmaWUtSGVsbG1hbiAoRUNESCkgc2VjcmV0XG4gICAqIGJldHdlZW4gdGhlIHVzZXIncyBleHRlbmRlZCBwcml2YXRlIGtleSBhbmQgdGhlIG1pZGRsZXdhcmUgc2VydmljZS5cbiAgICovXG4gIG1pZGRsZXdhcmVQdWJLZXk6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMga2V5IG9mIHRoZSBUQVQgc2VydmljZSwgdXNlZCBmb3IgZGVyaXZpbmcgdGhlIHNoYXJlZCBFbGxpcHRpYyBDdXJ2ZSBEaWZmaWUtSGVsbG1hbiAoRUNESCkgc2VjcmV0XG4gICAqIGJldHdlZW4gdGhlIHVzZXIncyBleHRlbmRlZCBwcml2YXRlIGtleSBhbmQgdGhlIFRBVCBzZXJ2aWNlLlxuICAgKi9cbiAgdGF0UHViS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gTmV0d29yayBuYW1lIGFzIGRlZmluZWQgaW4gQGJpdGdvLWJldGEvdXR4by1saWIgbmV0d29ya3MudHNcbiAgLy8gbWF5YmUgYWRkIG5ldHdvcmsgaWRlbnRpZmllciAvIG1hZ2ljIG5ldHdvcmsgbnVtYmVyXG4gIHV0eG9saWJOYW1lOiBzdHJpbmc7XG4gIHBvb2xEZXBvc2l0OiBudW1iZXI7XG4gIHN0YWtlS2V5RGVwb3NpdDogbnVtYmVyO1xuICBtYXhWYWx1ZVNpemU6IG51bWJlcjtcbiAgbWF4VHJhbnNhY3Rpb25TaXplOiBudW1iZXI7XG4gIGNvaW5zUGVyVXR4b1dvcmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdmFsYW5jaGVOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICByZWFkb25seSBhbGlhczogc3RyaW5nO1xuICByZWFkb25seSBibG9ja2NoYWluSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY0NoYWluQmxvY2tjaGFpbklEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5ldHdvcmtJRDogbnVtYmVyO1xuICByZWFkb25seSBocnA6IHN0cmluZztcbiAgcmVhZG9ubHkgdm06IHN0cmluZztcbiAgcmVhZG9ubHkgY3JlYXRpb25UeEZlZTogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGVTdWJuZXRUeDogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGVDaGFpblR4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbkNvbnN1bXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heENvbnN1bXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heFN1cHBseTogc3RyaW5nO1xuICByZWFkb25seSBtaW5TdGFrZTogc3RyaW5nO1xuICByZWFkb25seSBtaW5TdGFrZUR1cmF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heFN0YWtlRHVyYXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWluRGVsZWdhdGlvblN0YWtlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbkRlbGVnYXRpb25GZWU6IHN0cmluZztcbiAgLy8gY3VycmVudCB2YWxpZCBhc3NldCBpZCBpcyBBVkFYXG4gIHJlYWRvbmx5IGF2YXhBc3NldElEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR4RmVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heEltcG9ydEZlZTogc3RyaW5nOyAvLyAwLjAxIEFWQVhcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50TmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gc29tZSBjaGFpbnMgcGF5IGZlZXMgdmlhIGFuIGVudGVycHJpc2UgZ2FzIHRhc2suIFRoZSBhY2NvdW50IGV4cGxvcmVyIHVybFxuICAvLyBpcyBhIHVybCB0aGF0IGNhbiBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIGFjY291bnQgZm9yIHRoZSBnYXMgdGFuayBvbi1jaGFpbi5cbiAgcmVhZG9ubHkgYWNjb3VudEV4cGxvcmVyVXJsPzogc3RyaW5nO1xuICByZWFkb25seSBibG9ja0V4cGxvcmVyVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvc21vc05ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIHJlYWRvbmx5IGFkZHJlc3NQcmVmaXg6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsaWRhdG9yUHJlZml4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlbm9tOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGdhc0Ftb3VudDogc3RyaW5nO1xuICByZWFkb25seSBnYXNMaW1pdDogbnVtYmVyO1xuICByZWFkb25seSB2YWxpZERlbm9tczogc3RyaW5nW107XG59XG5cbi8qKlxuICogU3BlY2lmaWNhdGlvbiBuYW1lIHR5cGUgb2YgdGhlIGNoYWluLiBVc2VkIGluIHNldHRpbmcgdXAgdGhlIHJlZ2lzdHJ5XG4gKi9cbmV4cG9ydCB0eXBlIFBvbGthZG90U3BlY05hbWVUeXBlID0gJ2t1c2FtYScgfCAncG9sa2Fkb3QnIHwgJ3dlc3RlbmQnIHwgJ3N0YXRlbWludCcgfCAnc3RhdGVtaW5lJztcblxuZXhwb3J0IHR5cGUgU3Vic3RyYXRlU3BlY05hbWVUeXBlID1cbiAgfCAna3VzYW1hJ1xuICB8ICdwb2xrYWRvdCdcbiAgfCAnd2VzdGVuZCdcbiAgfCAnc3RhdGVtaW50J1xuICB8ICdzdGF0ZW1pbmUnXG4gIHwgJ25vZGUtc3VidGVuc29yJ1xuICB8ICdwb2x5bWVzaF90ZXN0bmV0J1xuICB8ICdwb2x5bWVzaF9tYWlubmV0JztcblxuZXhwb3J0IGludGVyZmFjZSBEb3ROZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICAvLyBzb21lIGNoYWlucyBwYXkgZmVlcyB2aWEgYW4gZW50ZXJwcmlzZSBnYXMgdGFzay4gVGhlIGFjY291bnQgZXhwbG9yZXIgdXJsXG4gIC8vIGlzIGEgdXJsIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9vayB1cCB0aGUgYWNjb3VudCBmb3IgdGhlIGdhcyB0YW5rIG9uLWNoYWluLlxuICByZWFkb25seSBzcGVjTmFtZTogUG9sa2Fkb3RTcGVjTmFtZVR5cGU7XG4gIHJlYWRvbmx5IGdlbmVzaXNIYXNoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNwZWNWZXJzaW9uOiBudW1iZXI7XG4gIHJlYWRvbmx5IGNoYWluTmFtZTogc3RyaW5nO1xuICByZWFkb25seSB0eFZlcnNpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGhlcmV1bU5ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIC8vIHVuaXF1ZSBjaGFpbiBpZCB1c2VkIGZvciByZXBsYXktcHJvdGVjdGluZyB0cmFuc2FjdGlvbnNcbiAgcmVhZG9ubHkgY2hhaW5JZDogbnVtYmVyO1xuICByZWFkb25seSBiYXRjaGVyQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICAvLyBmb3J3YXJkZXIgY29uZmlndXJhdGlvbiBhZGRyZXNzZXMgdXNlZCBmb3IgY2FsY3VsYXRpbmcgZm9yd2FyZGVyIHZlcnNpb24gMSBhZGRyZXNzZXNcbiAgcmVhZG9ubHkgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeD86IHN0cmluZztcbiAgcmVhZG9ubHkgd2FsbGV0VjRGb3J3YXJkZXJGYWN0b3J5QWRkcmVzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgd2FsbGV0VjRGb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3M/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJvbk5ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIG1heEZlZUxpbWl0OiBzdHJpbmc7XG4gIGNvbnRyYWN0Q2FsbEZlZUxpbWl0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tzTmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgcmVhZG9ubHkgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWtpbmdDb250cmFjdEFkZHJlc3M6IHN0cmluZztcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgT2ZjTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHt9XG5cbmFic3RyYWN0IGNsYXNzIE1haW5uZXQgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIHR5cGUgPSBOZXR3b3JrVHlwZS5NQUlOTkVUO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBUZXN0bmV0IGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICB0eXBlID0gTmV0d29ya1R5cGUuVEVTVE5FVDtcbn1cblxuY2xhc3MgQWxnb3JhbmQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0FsZ29yYW5kJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BTEdPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2FsbG8uaW5mby90eC8nO1xufVxuXG5jbGFzcyBBbGdvcmFuZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0FsZ29yYW5kVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQUxHTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5iaXRxdWVyeS5pby9hbGdvcmFuZF90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIEFkYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBZGFOZXR3b3JrIHtcbiAgbmFtZSA9ICdBZGFDYXJkYW5vJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BREE7XG4gIHV0eG9saWJOYW1lID0gJ2NhcmRhbm8nO1xuICBwb29sRGVwb3NpdCA9IDUwMDAwMDAwMDtcbiAgc3Rha2VLZXlEZXBvc2l0ID0gMjAwMDAwMDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jZXhwbG9yZXIuaW8vJztcbiAgY29pbnNQZXJVdHhvV29yZCA9IDM0NDgyO1xuICBtYXhUcmFuc2FjdGlvblNpemUgPSA4MDAwO1xuICBtYXhWYWx1ZVNpemUgPSA0MDAwO1xufVxuXG5jbGFzcyBBZGFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFkYU5ldHdvcmsge1xuICBuYW1lID0gJ0FkYUNhcmRhbm9UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BREE7XG4gIHV0eG9saWJOYW1lID0gJ2NhcmRhbm9UZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wcmVwcm9kLmNleHBsb3Jlci5pby8nO1xuICBjb2luc1BlclV0eG9Xb3JkID0gMzQ0ODI7XG4gIG1heFRyYW5zYWN0aW9uU2l6ZSA9IDgwMDA7XG4gIG1heFZhbHVlU2l6ZSA9IDQwMDA7XG4gIHBvb2xEZXBvc2l0ID0gNTAwMDAwMDAwO1xuICBzdGFrZUtleURlcG9zaXQgPSAyMDAwMDAwO1xufVxuXG5jbGFzcyBBcHQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0FwdCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVBUO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmFwdG9zbGFicy5jb20vdHhuLz9uZXR3b3JrPW1haW5uZXQnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5hcHRvc2xhYnMuY29tL2FjY291bnQvP25ldHdvcms9bWFpbm5ldCc7XG4gIGJsb2NrRXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5hcHRvc2xhYnMuY29tL2Jsb2NrLz9uZXR3b3JrPW1haW5uZXQnO1xufVxuXG5jbGFzcyBBcHRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IEFwdCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVBUO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmFwdG9zbGFicy5jb20vdHhuLz9uZXR3b3JrPXRlc3RuZXQnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5hcHRvc2xhYnMuY29tL2FjY291bnQvP25ldHdvcms9dGVzdG5ldCc7XG4gIGJsb2NrRXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5hcHRvc2xhYnMuY29tL2Jsb2NrLz9uZXR3b3JrPXRlc3RuZXQnO1xufVxuXG5jbGFzcyBJY3AgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0ludGVybmV0IENvbXB1dGVyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JQ1A7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZGFzaGJvYXJkLmludGVybmV0Y29tcHV0ZXIub3JnL3RyYW5zYWN0aW9uLyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Rhc2hib2FyZC5pbnRlcm5ldGNvbXB1dGVyLm9yZy9hY2NvdW50Lyc7XG59XG5cbmNsYXNzIEljcFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgSW50ZXJuZXQgQ29tcHV0ZXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklDUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9kYXNoYm9hcmQuaW50ZXJuZXRjb21wdXRlci5vcmcvdHJhbnNhY3Rpb24vJzsgLy8gSUNQIHRlc3RuZXQgZXhwbG9yZXIgaXMgbm90IGF2YWlsYWJsZSwgc28gdXNpbmcgbWFpbm5ldCBleHBsb3JlclxuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9kYXNoYm9hcmQuaW50ZXJuZXRjb21wdXRlci5vcmcvYWNjb3VudC8nO1xufVxuXG5jbGFzcyBBcmJpdHJ1bSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0FyYml0cnVtJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUkJFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYXJiaXNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYXJiaXNjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDIxNjE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzQyMTYxJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzQyMTYxLUVSQzIwJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG59XG5cbmNsYXNzIEFyYml0cnVtVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0FyYml0cnVtVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVJCRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEuYXJiaXNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5hcmJpc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MjE2MTQ7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzQyMTYxNCc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc0MjE2MTQtRVJDMjAnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgQXZhbGFuY2hlQyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvYy1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9jLWNoYWluL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQzMTE0O1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQ1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMtdGVzdC5hdmF4Lm5ldHdvcmsvYy1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL2MtY2hhaW4vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDMxMTM7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQXZhbGFuY2hlTmV0d29yayB7XG4gIG5hbWUgPSAnQXZhbGFuY2hlUCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWFA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvcC1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9wLWNoYWluL2FkZHJlc3MvJztcbiAgYmxvY2tjaGFpbklEID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExTHBvWVknO1xuICBjQ2hhaW5CbG9ja2NoYWluSUQgPSAnMnE5ZTRyNk11M1U2OG5VMWZZamdiUjZKdndyUngzNkNvaHBBWDVVUXhzZTU1eDFRNSc7XG4gIGF2YXhBc3NldElEID0gJ0Z2d0VBaG14S2ZlaUc4U25FdnE0MmhjNndoUnlZM0VGWUF2ZWJNcUROREdDZ3hONVonO1xuICBuZXR3b3JrSUQgPSAxO1xuICBocnAgPSAnYXZheCc7XG4gIGFsaWFzID0gJ1AnO1xuICB2bSA9ICdwbGF0Zm9ybXZtJztcbiAgdHhGZWUgPSAnMTAwMDAwMCc7IC8vIDEgTUlMTElBVkFYXG4gIG1heEltcG9ydEZlZSA9ICcxMDAwMDAwMCc7IC8vIDAuMDEgQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcyMDAwMDAwMDAwMDAwJzsgLy8gMjAwMCBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnMTIwOTYwMCc7IC8vIDIgd2Vla3NcbiAgbWF4U3Rha2VEdXJhdGlvbiA9ICczMTUzNjAwMCc7IC8vIDEgeWVhclxuICBtaW5EZWxlZ2F0aW9uU3Rha2UgPSAnMjUwMDAwMDAwMDAnOyAvLyAyNSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEF2YWxhbmNoZU5ldHdvcmsge1xuICBuYW1lID0gJ0F2YWxhbmNoZVBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL3AtY2hhaW4vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy10ZXN0LmF2YXgubmV0d29yay9wLWNoYWluL2FkZHJlc3MvJztcbiAgYmxvY2tjaGFpbklEID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExTHBvWVknO1xuICBjQ2hhaW5CbG9ja2NoYWluSUQgPSAneUg4RDdUaE5Ka3htdGt1djJqZ0JhNFAxUm4zUXByNHBQcjdRWU5mY2RvUzZrNkhXcCc7XG4gIGF2YXhBc3NldElEID0gJ1U4aVJxSm9pSm04eFpIQWFjbXZZeVpWd3FReDZ1RE50UWVQM0NRNmZjZ1FrM0pxbksnO1xuICBuZXR3b3JrSUQgPSA1O1xuICBhbGlhcyA9ICdQJztcbiAgaHJwID0gJ2Z1amknO1xuICB2bSA9ICdwbGF0Zm9ybXZtJztcbiAgdHhGZWUgPSAnMTAwMDAwMCc7IC8vIDEgTUlMTElBVkFYXG4gIG1heEltcG9ydEZlZSA9ICcxMDAwMDAwMCc7IC8vIDAuMDEgQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnODY0MDAnOyAvLyAxIGRheVxuICBtYXhTdGFrZUR1cmF0aW9uID0gJzMxNTM2MDAwJzsgLy8gMSB5ZWFyXG4gIG1pbkRlbGVnYXRpb25TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEJpbmFuY2VTbWFydENoYWluIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmluYW5jZVNtYXJ0Q2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ic2NzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ic2NzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA1NjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTYnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTYtRVJDMjAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG59XG5cbmNsYXNzIEJpbmFuY2VTbWFydENoYWluVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0JpbmFuY2VTbWFydENoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYnNjc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5ic2NzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5NztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTcnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTctRVJDMjAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG59XG5cbmNsYXNzIExpZ2h0bmluZ0JpdGNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgTGlnaHRuaW5nTmV0d29yayB7XG4gIG5hbWUgPSAnTGlnaHRuaW5nQml0Y29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTE5CVEM7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW4nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL21lbXBvb2wuc3BhY2UvbGlnaHRuaW5nJztcbiAgbGlnaHRuaW5nU2VydmljZVB1YktleSA9ICcwMzM4NTA4Njg2Zjk3OGNlZmZkN2NlMDU0MDQwNDFiMWE1YjRmNzVhMzliYzkyYTZkMzU1MjQwY2NjMDgxZjc2M2UnO1xuICBtaWRkbGV3YXJlUHViS2V5ID0gJzAyMGQ1MmY2NDU4YjE3YjU2NWJjMDM1MTY1NjhkMWE2NWM4Y2JkMTMxY2UwM2YyMjA3NTY3ZTRjZDMzMjJlODJmMyc7XG4gIHRhdFB1YktleSA9ICcwMzk1M2RhMjAwNjhjMDk2ODU4ZDNjY2E2MGY4YzViMGU1YTJmNWQwMzgzZWNmOWI2YWIzOTJkNzFlNGYzZTcyZGYnO1xufVxuXG5jbGFzcyBMaWdodG5pbmdCaXRjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBMaWdodG5pbmdOZXR3b3JrIHtcbiAgbmFtZSA9ICdMaWdodG5pbmdCaXRjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTE5CVEM7XG4gIHV0eG9saWJOYW1lID0gJ3Rlc3RuZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL21lbXBvb2wuc3BhY2UvdGVzdG5ldC9saWdodG5pbmcnO1xuICBsaWdodG5pbmdTZXJ2aWNlUHViS2V5ID0gJzAyNDA1NTAyMWRiMWU3ZjAxOWViYjc4M2FiMGIwODEwYzIxYTgxOTIwN2Q0Y2IxZWM0YTZlMjE1MGFjMDdmMTQ4Mic7XG4gIG1pZGRsZXdhcmVQdWJLZXkgPSAnMDI3Y2IzYmM2YjQ5ZmMzODVkMjgyYjQyYTdiZTIzMmE5NGZmY2JhZmZjNzgxOGI2MDNiMTc3MjI1ODJiYmY1MzliJztcbiAgdGF0UHViS2V5ID0gJzAyZTc0N2M5OWMzNzFlYWM5YzE0ZmIxOTkxM2JlYzhhMGUzZTQ2ZTM1YWIxYTQ1ODc4ZTViOWFmYmI2OTg5OWMxZSc7XG59XG5cbmNsYXNzIEJpdGNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJUQztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJUQztcbiAgdXR4b2xpYk5hbWUgPSAndGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90ZXN0bmV0L3R4Lyc7XG4gIC8vIEFkZCBvdXIgcHVia2V5IGZvciBvdXIgcGF5Z28gd2FsbGV0XG4gIHBheWdvQWRkcmVzc0F0dGVzdGF0aW9uUHVia2V5ID1cbiAgICAneHB1YjZCS1JnbUNQWDVvUWlKZ0o2VnE2QkY4dER2Wmh3UWtpNWRWVlFvaGNrSzJaSlh0eGo4SzZNOXBhdkx3dDlwaVczM2haejE3U1dtRzhRV3NqSjF0SGRkZTJGczVVQTNERmJBcEN0YmRhR0tuJztcbn1cblxuY2xhc3MgQml0Y29pblB1YmxpY1NpZ25ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblB1YmxpY1NpZ25ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luUHVibGljU2lnbmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL3NpZ25ldC90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luVGVzdG5ldDQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5UZXN0bmV0NCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luVGVzdG5ldDQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL21lbXBvb2wuc3BhY2UvdGVzdG5ldDQvdHgvJztcbn1cblxuY2xhc3MgQml0Y29pbkJpdEdvU2lnbmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luQml0R29TaWduZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJUQztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbkJpdEdvU2lnbmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tZW1wb29sLnNwYWNlL25vdGFuZXR3b3JrL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5DYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luQ2FzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luY2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJsb2NrY2hhaW4uY29tL2JjaC90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5DYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luY2FzaFRlc3RuZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3RiY2gubG9waW5nLm5ldC90eC8nO1xufVxuY2xhc3MgQml0Y29pblNWIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luU1YnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTVjtcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbnN2JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9iaXRjb2luLXN2L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEJpdGNvaW5TVlRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5TVlRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTVjtcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbnN2VGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBCaXRjb2luR29sZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkdvbGQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJURztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbmdvbGQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2J0Z2V4cGxvcmVyLmNvbS90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luR29sZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5Hb2xkVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRHO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luZ29sZFRlc3RuZXQnO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgRGFzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRGFzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuREFTSDtcbiAgdXR4b2xpYk5hbWUgPSAnZGFzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW5zaWdodC5kYXNoZXZvLm9yZy9pbnNpZ2h0L3R4Lyc7XG59XG5cbmNsYXNzIERhc2hUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuREFTSDtcbiAgdXR4b2xpYk5hbWUgPSAnZGFzaFRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQtaW5zaWdodC5kYXNoZXZvLm9yZy9pbnNpZ2h0L3R4Lyc7XG59XG5cbmNsYXNzIERvZ2Vjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEb2dlY29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRE9HRTtcbiAgdXR4b2xpYk5hbWUgPSAnZG9nZWNvaW4nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2RvZ2Vjb2luL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIERvZ2Vjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRG9nZWNvaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET0dFO1xuICB1dHhvbGliTmFtZSA9ICdkb2dlY29pblRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrZXhwbG9yZXIub25lL2RvZ2Vjb2luL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgRUNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0VDYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0hBO1xuICB1dHhvbGliTmFtZSA9ICdlY2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vZWNhc2gnO1xufVxuXG5jbGFzcyBFQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0VDYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIQTtcbiAgdXR4b2xpYk5hbWUgPSAnZWNhc2hUZXN0JztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIFBvbGthZG90IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIERvdE5ldHdvcmsge1xuICBuYW1lID0gJ1BvbGthZG90JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9sa2Fkb3Quc3Vic2Nhbi5pby9leHRyaW5zaWMvJztcbiAgc3BlY05hbWUgPSAncG9sa2Fkb3QnIGFzIFBvbGthZG90U3BlY05hbWVUeXBlO1xuICBnZW5lc2lzSGFzaCA9ICcweDkxYjE3MWJiMTU4ZTJkMzg0OGZhMjNhOWYxYzI1MTgyZmI4ZTIwMzEzYjJjMWViNDkyMTlkYTdhNzBjZTkwYzMnO1xuICBzcGVjVmVyc2lvbiA9IDkxNDA7XG4gIGNoYWluTmFtZSA9ICdQb2xrYWRvdCc7XG4gIHR4VmVyc2lvbiA9IDk7XG59XG5cbmNsYXNzIFBvbGthZG90VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBEb3ROZXR3b3JrIHtcbiAgbmFtZSA9ICdXZXN0ZW5kJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd2VzdGVuZC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICd3ZXN0ZW5kJyBhcyBQb2xrYWRvdFNwZWNOYW1lVHlwZTtcbiAgZ2VuZXNpc0hhc2ggPSAnMHhlMTQzZjIzODAzYWM1MGU4ZjZmOGU2MjY5NWQxY2U5ZTRlMWQ2OGFhMzZjMWNkMmNmZDE1MzQwMjEzZjM0MjNlJztcbiAgc3BlY1ZlcnNpb24gPSA5NDMwO1xuICBjaGFpbk5hbWUgPSAnV2VzdGVuZCc7XG4gIHR4VmVyc2lvbiA9IDIyO1xufVxuXG5jbGFzcyBDZWxvIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ2Vsbyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0VMTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MjIyMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnQ0VMTyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdDRUxPLUVSQzIwJztcbn1cblxuY2xhc3MgQ2Vsb1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxvVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0VMTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbGZham9yZXMtYmxvY2tzY291dC5jZWxvLXRlc3RuZXQub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2FsZmFqb3Jlcy1ibG9ja3Njb3V0LmNlbG8tdGVzdG5ldC5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDQ3ODc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0NFTE8nO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnQ0VMTy1FUkMyMCc7XG59XG5cbi8vIFRPRE8gdXBkYXRlIGV4cGxvcmVyVXJsIFNUTFgtMTY1N1xuY2xhc3MgQ2FzcGVyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNTUFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY3Nwci5saXZlL2RlcGxveS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jc3ByLmxpdmUvYWNjb3VudC8nO1xufVxuXG5jbGFzcyBDYXNwZXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXJUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DU1BSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2ludGVncmF0aW9uLmNzcHIubGl2ZS9kZXBsb3kvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW50ZWdyYXRpb24uY3Nwci5saXZlL2FjY291bnQvJztcbn1cblxuY2xhc3MgRXRoZXJldW0gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBibG9ja0V4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXRoZXJzY2FuLmlvL2Jsb2NrLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDE7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhlYmUyNzkxM2ZjYzc1MTBlYWRmMTA2NDNhOGY4NmJmNTQ5MmE5NTQxJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhmZmEzOTcyODVjZTQ2ZmI3OGM1ODhhOWU5OTMyODZhYWM2OGMzN2NkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MDU5ZmZhZmRjNmVmNTk0MjMwZGU0NGY4MjRlMmJkMGE1MWNhNWRlZCc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbiAgd2FsbGV0VjRGb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICB3YWxsZXRWNEZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuXG5jbGFzcyBFdGhlcmV1bTIgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtMic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIMjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS90eCc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL2FkZHJlc3MnO1xufVxuXG5jbGFzcyBFdGhlcmV1bVcgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bSBQb1cnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSFc7XG4gIGV4cGxvcmVyVXJsID0gJyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICcnO1xuICBjaGFpbklkID0gMTAwMDE7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJyc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbn1cblxuY2xhc3MgUHlybW9udCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUHlybW9udCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIMjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9weXJtb250L3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vcHlybW9udC9hZGRyZXNzJztcbn1cblxuY2xhc3MgS292YW4gZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdLb3Zhbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2tvdmFuLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rb3Zhbi5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICAvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bWpzL2V0aGVyZXVtanMtY29tbW9uL2Jsb2IvYTk3OGY2MzA4NThmNjg0MzE3NmJiMjBiMjc3NTY5Nzg1OTE0ZTg5OS9zcmMvY2hhaW5zL2luZGV4LnRzXG4gIGNoYWluSWQgPSA0MjtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGMwYWFmMjY0OWU3YjBmMzk1MDE2NDY4MWVjYTJiMWE4ZjY1NGE0NzgnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGE3OWE0ODUyOTRkMjI2MDc1ZWU2NTQxMGJjOTRlYTQ1NGYzZTQwOWQnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhhOTQ2ZTc0OGYyNWE1ZWM2ODc4ZWIxYTlmMmU5MDIwMjgxNzRjMGIzJztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRIRVInO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVJDMjAnO1xufVxuXG5jbGFzcyBHb2VybGkgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdHb2VybGknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2dvZXJsaS5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBibG9ja0V4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pby9ibG9jay8nO1xuICAvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bWpzL2V0aGVyZXVtanMtY29tbW9uL2Jsb2IvYTk3OGY2MzA4NThmNjg0MzE3NmJiMjBiMjc3NTY5Nzg1OTE0ZTg5OS9zcmMvY2hhaW5zL2luZGV4LnRzXG4gIGNoYWluSWQgPSA1O1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZThlODQ3Y2Y1NzNmYzhlZDc1NjIxNjYwYTM2YWZmZDE4YzU0M2Q3ZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4ZjVjYWE1ZTNlOTNhZmJjMjFiZDE5ZWY0ZjI2OTFhMzcxMjFmNzkxNyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDgwZDVjOTFlOGNjMjFkZjY5ZmM0ZDY0ZjIxZGMyZDgzMTIxYzM5OTknO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEhFUic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFUkMyMCc7XG59XG5cbmNsYXNzIEhvbGVza3kgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdIb2xlc2t5JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaG9sZXNreS5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaG9sZXNreS5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBibG9ja0V4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaG9sZXNreS5ldGhlcnNjYW4uaW8vYmxvY2svJztcbiAgLy8gaHR0cHM6Ly9jaGFpbmxpc3Qub3JnL2NoYWluLzE3MDAwXG4gIGNoYWluSWQgPSAxNzAwMDtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGViZTI3OTEzZmNjNzUxMGVhZGYxMDY0M2E4Zjg2YmY1NDkyYTk1NDEnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGZmYTM5NzI4NWNlNDZmYjc4YzU4OGE5ZTk5MzI4NmFhYzY4YzM3Y2QnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHgwNTlmZmFmZGM2ZWY1OTQyMzBkZTQ0ZjgyNGUyYmQwYTUxY2E1ZGVkJztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRIRVInO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVJDMjAnO1xuICB3YWxsZXRWNEZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIHdhbGxldFY0Rm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIEhvb2RpIGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnSG9vZGknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ob29kaS5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaG9vZGkuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2hvb2RpLmV0aGVyc2Nhbi5pby9ibG9jay8nO1xuICAvLyBodHRwczovL2NoYWlubGlzdC5vcmcvY2hhaW4vNTYwMDQ4XG4gIGNoYWluSWQgPSA1NjAwNDg7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgwZTI4NzRkNjgyNGZhZTRmNjFlNDQ2MDEyMzE3YTliODYzODRiZDhlJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4NzQ0MWYyMGE1OWJlOTcwMTE4NDI0MDRiOWFlZmQ4ZDg1ZmQ4MWFhNic7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbiAgd2FsbGV0VjRGb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICB3YWxsZXRWNEZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuXG5jbGFzcyBFdGhlcmV1bUNsYXNzaWMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bUNsYXNzaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldC90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldC9hZGRyZXNzLyc7XG4gIC8vIGZyb20gIGh0dHBzOi8vY2hhaW5pZC5uZXR3b3JrL2NoYWlucy9cbiAgY2hhaW5JZCA9IDYxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEMnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRDLUVSQzIwJztcbn1cblxuY2xhc3MgRXRoZXJldW1DbGFzc2ljVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0V0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbW9yZG9yL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQuY29tL2V0Yy9tb3Jkb3IvYWRkcmVzcy8nO1xuICAvLyBmcm9tICBodHRwczovL2NoYWluaWQubmV0d29yay9jaGFpbnMvXG4gIGNoYWluSWQgPSA2MztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRDJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUQy1FUkMyMCc7XG59XG5cbmNsYXNzIEVvcyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnRW9zJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FT1M7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuZW9zbmV0d29yay5jb20vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgRW9zVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnRW9zVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRU9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2t5bGluLmVvc3guaW8vdHgvJztcbn1cblxuY2xhc3MgSGVkZXJhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIZWRlcmEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhCQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaGFzaHNjYW4uaW8vbWFpbm5ldC90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBIZWRlcmFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIZWRlcmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuZHJhZ29uZ2xhc3MubWUvaGVkZXJhL3NlYXJjaD9xPSc7XG59XG5cbmNsYXNzIExpdGVjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaXRlY29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTFRDO1xuICB1dHhvbGliTmFtZSA9ICdsaXRlY29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vbGl0ZWNvaW4vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgTGl0ZWNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaXRlY29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkxUQztcbiAgdXR4b2xpYk5hbWUgPSAnbGl0ZWNvaW5UZXN0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2V4cGxvcmVyLm9uZS9saXRlY29pbi90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIE9mYyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBPZmNOZXR3b3JrIHtcbiAgbmFtZSA9ICdPZmMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9GQztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIE9mY1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgT2ZjTmV0d29yayB7XG4gIG5hbWUgPSAnT2ZjVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0ZDO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgUmJ0YyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1JidGMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlJCVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucnNrLmNvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnJzay5jby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUlNLJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1JTSy1FUkMyMCc7XG59XG5cbmNsYXNzIFJidGNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUmJ0Y1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlJCVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5yc2suY28vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5yc2suY28vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMzE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1JTSyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdSU0stRVJDMjAnO1xufVxuXG5jbGFzcyBTdGVsbGFyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdGVsbGFyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YTE07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3RlbGxhci5leHBlcnQvZXhwbG9yZXIvcHVibGljL3R4Lyc7XG59XG5cbmNsYXNzIFN0ZWxsYXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdGVsbGFyVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWExNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N0ZWxsYXIuZXhwZXJ0L2V4cGxvcmVyL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgU29sIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTb2wnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zb2xhbmEuY29tL3R4Lyc7XG59XG5cbmNsYXNzIFNvbFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NvbFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zb2xhbmEuY29tL3R4Lz9jbHVzdGVyPWRldm5ldCc7XG59XG5cbmNsYXNzIFN1aSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3VpLmlvL3R4YmxvY2svP25ldHdvcms9bWFpbm5ldCc7XG59XG5cbmNsYXNzIFN1aVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgU3VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3VpLmlvL3R4YmxvY2svP25ldHdvcms9dGVzdG5ldCc7XG59XG5cbmNsYXNzIEF0b20gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Nvc21vcyBIdWIgQVRPTSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVRPTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vY29zbW9zL3R4Lyc7XG59XG5cbmNsYXNzIEF0b21UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IENvc21vcyBIdWIgQVRPTSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVRPTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5wb2x5cG9yZS54eXovcHJvdmlkZXIvdHgvJztcbn1cblxuY2xhc3MgT3NtbyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnT3Ntb3Npcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1NNTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vb3Ntb3Npcy90eHMvJztcbn1cblxuY2xhc3MgT3Ntb1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgT3Ntb3Npcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1NNTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0Lm9zbW9zaXMuZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgVGlhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxlc3RpYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVElBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5taW50c2Nhbi5pby9jZWxlc3RpYS90eC8nO1xufVxuXG5jbGFzcyBUaWFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IENlbGVzdGlhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5USUE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5jZWxlc3RpYS5leHBsb3JlcnMuZ3VydS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBIYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdQcm92ZW5hbmNlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQVNIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnByb3ZlbmFuY2UuaW8vdHgvJztcbn1cblxuY2xhc3MgSGFzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgUHJvdmVuYW5jZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSEFTSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0LnByb3ZlbmFuY2UuaW8vdHgvJztcbn1cblxuY2xhc3MgQmxkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdBZ29yaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJMRDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iaWdkaXBwZXIubGl2ZS9hZ29yaWMvdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIEJsZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQWdvcmljJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CTEQ7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZW1lcnluZXQuZXhwbG9yZXIuYWdvcmljLm5ldC9hZ29yaWMvdHgvJztcbn1cblxuY2xhc3MgU2VpIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTZWknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNFSTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZWlzdHJlYW0uYXBwL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBTZWlUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IFNlaSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU0VJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuc2Vpc3RyZWFtLmFwcC90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgWmV0YSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWmV0YSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWkVUQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci56ZXRhY2hhaW4uY29tL2Nvc21vcy90eC8nO1xufVxuXG5jbGFzcyBaZXRhVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBaZXRhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRVRBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2F0aGVucy5leHBsb3Jlci56ZXRhY2hhaW4uY29tL2Nvc21vcy90eC8nO1xufVxuXG5jbGFzcyBJbmplY3RpdmUgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0luamVjdGl2ZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU5KRUNUSVZFO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5taW50c2Nhbi5pby9pbmplY3RpdmUvdHgvJztcbn1cblxuY2xhc3MgSW5qZWN0aXZlVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW5qZWN0aXZlVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU5KRUNUSVZFO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuZXhwbG9yZXIuaW5qZWN0aXZlLm5ldHdvcmsvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgS2F2YSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnS2F2YSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FWQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8va2F2YS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgS2F2YVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0thdmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5LQVZBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQubWludHNjYW4uaW8va2F2YS10ZXN0bmV0L3R4cy8nO1xufVxuXG5jbGFzcyBUb24gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVE9OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3RvbnNjYW4ub3JnL3R4Lyc7XG59XG5cbmNsYXNzIFRvblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgVG9uJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC50b25zY2FuLm9yZy90eC8nO1xufVxuXG5jbGFzcyBDb3JldW0gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0NvcmV1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRVVNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5taW50c2Nhbi5pby9jb3JldW0vdHgvJztcbn1cblxuY2xhc3MgQ29yZXVtVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZXVtVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRVVNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQtMS5jb3JldW0uZGV2L2NvcmV1bS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgUnVuZSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUnVuZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVEhPUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ydW5lc2Nhbi5pby90eC8nO1xufVxuXG5jbGFzcyBSdW5lVGVzdE5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUnVuZVRlc3ROZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRIT1I7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcnVuZXNjYW4uaW8vdHgvP25ldHdvcms9c3RhZ2VuZXQnO1xufVxuXG5jbGFzcyBCYWJ5IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdCYWJ5bG9uJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQUJZO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JhYnlsb24uZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgQmFieVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQmFieWxvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkFCWTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJhYnlsb24uZXhwbG9yZXJzLmd1cnUvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgTWFudHJhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIENvc21vc05ldHdvcmsge1xuICBuYW1lID0gJ01hbnRyYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTUFOVFJBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLm1hbnRyYWNoYWluLmlvL01BTlRSQS0xL3R4Lyc7XG4gIGFkZHJlc3NQcmVmaXggPSAnbWFudHJhJztcbiAgdmFsaWRhdG9yUHJlZml4ID0gJ21hbnRyYXZhbG9wZXInO1xuICBkZW5vbSA9ICd1b20nO1xuICBnYXNBbW91bnQgPSAnODAwMCc7XG4gIGdhc0xpbWl0ID0gMjAwMDAwO1xuICB2YWxpZERlbm9tcyA9IFsnb20nLCAndW9tJ107XG59XG5cbmNsYXNzIE1hbnRyYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQ29zbW9zTmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBNYW50cmEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk1BTlRSQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5tYW50cmFjaGFpbi5pby9NQU5UUkEtRHVrb25nL3R4Lyc7XG4gIGFkZHJlc3NQcmVmaXggPSAnbWFudHJhJztcbiAgdmFsaWRhdG9yUHJlZml4ID0gJ21hbnRyYXZhbG9wZXInO1xuICBkZW5vbSA9ICd1b20nO1xuICBnYXNBbW91bnQgPSAnODAwMCc7XG4gIGdhc0xpbWl0ID0gMjAwMDAwO1xuICB2YWxpZERlbm9tcyA9IFsnb20nLCAndW9tJ107XG59XG5cbmNsYXNzIENyb25vcyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ3Jvbm9zIFBPUyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1JPTk9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Nyb25vcy1wb3Mub3JnL2V4cGxvcmVyL3R4Lyc7XG59XG5cbmNsYXNzIENyb25vc1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQ3Jvbm9zIFBPUyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1JPTk9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Nyb25vcy1wb3Mub3JnL2V4cGxvcmVyL2Nyb2VzZWlkNC90eC8nO1xufVxuXG5jbGFzcyBGZXRjaEFpIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdGZXRjaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRkVUQ0hBSTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8vZmV0Y2hhaSc7XG59XG5cbmNsYXNzIEZldGNoQWlUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IEZldGNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GRVRDSEFJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmUtZXJpZGFudXMtMS5mZXRjaC5haS8nO1xufVxuXG5jbGFzcyBJbml0aWEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0luaXRpYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU5JVElBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NjYW4uaW5pdGlhLnh5ei9pbnRlcndvdmVuLTEvdHhzLyc7XG59XG5cbmNsYXNzIEluaXRpYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgSW5pdGlhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JTklUSUE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Nhbi50ZXN0bmV0LmluaXRpYS54eXovaW5pdGlhdGlvbi0yL3R4cy8nO1xufVxuXG5jbGFzcyBBc2kgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0ZldGNoIE5hdGl2ZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVNJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NvbXBhbmlvbi5mZXRjaC5haS9mZXRjaGh1Yi00L3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBBc2lUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IEZldGNoIE5hdGl2ZSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVNJO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NvbXBhbmlvbi5mZXRjaC5haS9kb3JhZG8tMS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgSXNsbSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSGFxcSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVNMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9waW5nLnB1Yi9oYXFxL3R4Lyc7XG59XG5cbmNsYXNzIElzbG1UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIYXFxVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVNMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnBpbmcucHViL2hhcXEvdHgvJztcbn1cblxuY2xhc3MgU3R4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFN0YWNrc05ldHdvcmsge1xuICBuYW1lID0gJ1N0eCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1RYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmhpcm8uc28vdHhpZC8nO1xuICBzZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3MgPSAnU1AzRkJSMkFHSzVIOVFCREgzRUVONkRGOEVLOEpZN1JYOFFKNVNWVEUnO1xuICBzdGFraW5nQ29udHJhY3RBZGRyZXNzID0gJ1NQMDAwMDAwMDAwMDAwMDAwMDAwMDAyUTZWRjc4Jztcbn1cblxuY2xhc3MgU3R4VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBTdGFja3NOZXR3b3JrIHtcbiAgbmFtZSA9ICdTdHhUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVFg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuaGlyby5zby90eGlkLz9jaGFpbj10ZXN0bmV0JztcbiAgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzID0gJ1NUM0YxWDRRR1YyU004WEQ5Nlg0NU02UlRRWEtBMVBaSlpaQ1FBQjRCJztcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9ICdTVDAwMDAwMDAwMDAwMDAwMDAwMDAwMkFNVzQySCc7XG59XG5cbmNsYXNzIFNVU0QgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NVU0QnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBTVVNEVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU1VTRFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBCYXNlTmV0d29yayB7XG4gIG5hbWUgPSAnRmlhdFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZJQVQ7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEJhc2VOZXR3b3JrIHtcbiAgbmFtZSA9ICdGaWF0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GSUFUO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgQml0dGVuc29yIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUYW8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90YW9zdGF0cy5pby9leHRyaW5zaWMvJztcbn1cblxuY2xhc3MgQml0dGVuc29yVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBUYW8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5maW5uZXkub3BlbnRlbnNvci5haS8jLyc7XG4gIHNwZWNOYW1lID0gJ25vZGUtc3VidGVuc29yJyBhcyBTdWJzdHJhdGVTcGVjTmFtZVR5cGU7XG4gIGdlbmVzaXNIYXNoID0gJzB4OGY5Y2Y4NTZiZjU1OGExNDQ0MGU3NTU2OWM5ZTU4NTk0NzU3MDQ4ZDdiM2E4NGI1ZDI1ZjZiZDk3ODI2MzEwNSc7XG4gIHNwZWNWZXJzaW9uID0gMjI0O1xuICBjaGFpbk5hbWUgPSAnYml0dGVuc29yJztcbiAgdHhWZXJzaW9uID0gMTtcbn1cblxuY2xhc3MgVHJ4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFRyb25OZXR3b3JrIHtcbiAgbmFtZSA9ICdUcngnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRSWDtcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdHJvbnNjYW4ub3JnLyMvYWRkcmVzcy8nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Ryb25zY2FuLm9yZy8jL3RyYW5zYWN0aW9uLyc7XG4gIG1heEZlZUxpbWl0ID0gJzUwMDAwMDAwMDAnO1xuICBjb250cmFjdENhbGxGZWVMaW1pdCA9ICcxMDAwMDAwMDAnO1xufVxuXG5jbGFzcyBUcnhUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFRyb25OZXR3b3JrIHtcbiAgbmFtZSA9ICdUcnhUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UUlg7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NoYXN0YS50cm9uc2Nhbi5vcmcvIy9hZGRyZXNzLyc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2hhc3RhLnRyb25zY2FuLm9yZy8jL3RyYW5zYWN0aW9uLyc7XG4gIG1heEZlZUxpbWl0ID0gJzUwMDAwMDAwMDAnO1xuICBjb250cmFjdENhbGxGZWVMaW1pdCA9ICcxMDAwMDAwMDAnO1xufVxuXG5jbGFzcyBYcnAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1hycCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFJQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2xpdmVuZXQueHJwbC5vcmcvdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIFhycFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1hycFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhSUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0LnhycGxleHBsb3Jlci5jb20vZXhwbG9yZXIvJztcbn1cblxuY2xhc3MgWHR6IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYdHonO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhUWjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90enN0YXRzLmNvbS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90enN0YXRzLmNvbS8nO1xufVxuXG5jbGFzcyBYdHpUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYdHpUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YVFo7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ2hvc3RuZXQudHprdC5pby8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9naG9zdG5ldC50emt0LmlvLyc7XG59XG5cbmNsYXNzIFpDYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdaQ2FzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWkVDO1xuICB1dHhvbGliTmFtZSA9ICd6Y2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW4uc28vdHgvWkVDLyc7XG59XG5cbmNsYXNzIFpDYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnWkNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRUM7XG4gIHV0eG9saWJOYW1lID0gJ3pjYXNoVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW4uc28vdHgvWkVDVEVTVC8nO1xufVxuXG5jbGFzcyBOZWFyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdOZWFyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ORUFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL25lYXJibG9ja3MuaW8vdHhucy8nO1xuICBmZWVSZXNlcnZlID0gJzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcbiAgc3RvcmFnZVJlc2VydmUgPSAnMjAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIGZlZVJlc2VydmUgKyBzdG9yYWdlUmVzZXJ2ZSBpcyBtaW5pbXVtIGFjY291bnQgYmFsYW5jZSBmb3IgYSBORUFSIHdhbGxldCBodHRwczovL2RvY3MubmVhci5vcmcvaW50ZWdyYXRvci9mYXEjaXMtdGhlcmUtYS1taW5pbXVtLWFjY291bnQtYmFsYW5jZVxufVxuXG5jbGFzcyBOZWFyVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnTmVhclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk5FQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5uZWFyYmxvY2tzLmlvL3R4bnMvJztcbiAgZmVlUmVzZXJ2ZSA9ICc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIHN0b3JhZ2VSZXNlcnZlID0gJzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAnOyAvLyBmZWVSZXNlcnZlICsgc3RvcmFnZVJlc2VydmUgaXMgbWluaW11bSBhY2NvdW50IGJhbGFuY2UgZm9yIGEgTkVBUiB3YWxsZXQgaHR0cHM6Ly9kb2NzLm5lYXIub3JnL2ludGVncmF0b3IvZmFxI2lzLXRoZXJlLWEtbWluaW11bS1hY2NvdW50LWJhbGFuY2Vcbn1cblxuY2xhc3MgUG9seWdvbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1BvbHlnb24nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlBPTFlHT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9seWdvbnNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3BvbHlnb25zY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMzc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4MjllZjQ2MDM1ZTlmYTNkNTcwYzU5OGQzMjY2NDI0Y2ExMTQxM2IwYyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDUzOTdkMDg2OWFiYTBkNTVlOTZkNTcxNmQzODNmNmUxZDg2OTVlZDcnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweGE3MTk4ZjQ4YzU4ZTkxZjAxMzE3ZTcwY2QyNGM1Y2NlNDc1YzE1NTUnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhlNWRjZGMxM2I2MjhjMmRmODEzZGIxMDgwMzY3ZTkyOWMxNTA3Y2EwJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdQT0xZR09OJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1BPTFlHT04tRVJDMjAnO1xufVxuXG5jbGFzcyBQb2x5Z29uVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1BvbHlnb25UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QT0xZR09OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Ftb3kucG9seWdvbnNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Ftb3kucG9seWdvbnNjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDgwMDAyO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDIzMjIzZmQ3Y2ZjNWYzNGIyMGYzOGViYjlhNDg5ZTFmZjNjMDg0ZDEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNGMyNDMyNWI1ZWY1MTRmYmIxZWNjNzZhOWJiNGRjYjU3YTgzNDFlJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHhlOWMxNjAzM2UwMWJmOWY5NGJmOWY5OWZjMGZlZmNmYjhiMTI0OTkyJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZjgzNjBjMjEzZTRmNDRjY2UwM2U0OGNiOTI4MTI1NGRlMmE3YTU2Nic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUE9MWUdPTic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdQT0xZR09OLUVSQzIwJztcbn1cblxuY2xhc3MgT3B0aW1pc20gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdPcHRpbWlzbSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1BFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vb3B0aW1pc3RpYy5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vb3B0aW1pc3RpYy5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTA7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEwJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEwLUVSQzIwJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWJlMjc5MTNmY2M3NTEwZWFkZjEwNjQzYThmODZiZjU0OTJhOTU0MSc7XG59XG5cbmNsYXNzIE9wdGltaXNtVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ09wdGltaXNtVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1BFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS1vcHRpbWlzbS5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS1vcHRpbWlzbS5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTExNTU0MjA7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTU1NDIwJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTU1NDIwLUVSQzIwJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWJlMjc5MTNmY2M3NTEwZWFkZjEwNjQzYThmODZiZjU0OTJhOTU0MSc7XG59XG5cbmNsYXNzIFprU3luYyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1prU3luYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWktFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuemtzeW5jLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnprc3luYy5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMjQ7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzMyNCc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICczMjQtRVJDMjAnO1xufVxuXG5jbGFzcyBaa1N5bmNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnWmtTeW5jVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWktFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5leHBsb3Jlci56a3N5bmMuaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Vwb2xpYS5leHBsb3Jlci56a3N5bmMuaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMzAwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICczMDAnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMzAwLUVSQzIwJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhkZDQ5ODcwMmY0NGM0ZGEwOGViOWUwOGQzZjAxNWVlZmU1Y2I3MWZjJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4YmU2OWNhZTMxMTE5MWZiNDVlNjQ4ZWQyMDg0N2YwNmZhZDJkYmFiNCc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4NDU1MGUxZTc2MTZkMzM2NDg3N2ZjNmM5MzI0OTM4ZGFiNjc4NjIxYSc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDkyZGIyNzU5ZDFkY2ExMjlhMGQ5ZDQ2ODc3ZjM2MWJlODE5MTg0YzQnO1xufVxuXG5jbGFzcyBCZXJhY2hhaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCZXJhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CRVJBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JlcmFzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZXJhc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gODAwOTQ7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzgwMDk0JztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzgwMDk0LUVSQzIwJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGVkZjFhMDAxNmQ5YzQxZDJhZDBjMjc1ZTFiYTcwODM2MWE5MGMwZDEnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgQmVyYWNoYWluVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0JlcmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CRVJBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYmVyYXNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYmVyYXNjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDgwMDAwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4MDAwMCc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4MDAwMC1FUkMyMCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhlZGYxYTAwMTZkOWM0MWQyYWQwYzI3NWUxYmE3MDgzNjFhOTBjMGQxJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIE9hcyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ09hcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0FTO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLm9hc3lzLmdhbWVzL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLm9hc3lzLmdhbWVzL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDI0ODtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMjQ4JztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGVkZjFhMDAxNmQ5YzQxZDJhZDBjMjc1ZTFiYTcwODM2MWE5MGMwZDEnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgT2FzVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ09hc1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk9BUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0Lm9hc3lzLmdhbWVzL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQub2FzeXMuZ2FtZXMvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gOTM3MjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTM3Mic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhlZGYxYTAwMTZkOWM0MWQyYWQwYzI3NWUxYmE3MDgzNjFhOTBjMGQxJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmNsYXNzIENvcmVkYW8gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDb3JlZGFvJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DT1JFREFPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NjYW4uY29yZWRhby5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2Nhbi5jb3JlZGFvLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMTE2O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMTE2JztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGM1ZDdhM2I0YzQ5MGM2MjQyZmIyOGYyMGU1ZmUzM2NkOTgzMzcyYTMnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgQ29yZWRhb1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDb3JlZGFvVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRURBTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zY2FuLnRlc3QyLmJ0Y3MubmV0d29yay90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zY2FuLnRlc3QyLmJ0Y3MubmV0d29yay9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMTE0O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMTE0JztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGM1ZDdhM2I0YzQ5MGM2MjQyZmIyOGYyMGU1ZmUzM2NkOTgzMzcyYTMnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgSVAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTdG9yeSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LnN0b3J5c2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuc3RvcnlzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE1MTQ7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzE1MTQnO1xufVxuXG5jbGFzcyBJUFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTdG9yeVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2FlbmVpZC5leHBsb3Jlci5zdG9yeS5mb3VuZGF0aW9uL3RyYW5zYWN0aW9ucy8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hZW5laWQuc3RvcnlzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEzMTU7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEzMTUnO1xufVxuXG5jbGFzcyBBcGVDaGFpbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0FwZUNoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUEVDSEFJTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hcGVzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2FwZXNjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMzMxMzk7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzMzMTM5Jztcbn1cblxuY2xhc3MgQXBlQ2hhaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQXBlQ2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BUEVDSEFJTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jdXJ0aXMuYXBlc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jdXJ0aXMuYXBlc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMzExMTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMzMxMTEnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbn1cblxuY2xhc3MgUGhhcm9zIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGhhcm9zJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QSFJTO1xuICBleHBsb3JlclVybCA9ICcnOyAvLyBUT0RPOiBXSU4tNTc4NyBBZGQgbWFpbm5ldCB1cmwgd2hlbiBhdmFpbGFibGVcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJyc7IC8vIFRPRE86IFdJTi01Nzg3IEFkZCBtYWlubmV0IHVybCB3aGVuIGF2YWlsYWJsZVxuICBjaGFpbklkID0gNjg4Njg4OyAvLyBUT0RPOiBXSU4tNTc4NyBBZGQgbWFpbm5ldCBpZCB3aGVuIGF2YWlsYWJsZVxuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc2ODg2ODgnO1xufVxuXG5jbGFzcyBQaGFyb3NUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGhhcm9zVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUEhSUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnBoYXJvc3NjYW4ueHl6L3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQucGhhcm9zc2Nhbi54eXovYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNjg4Njg4O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc2ODg2ODgnO1xufVxuXG5jbGFzcyBDcmVkaXRjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ3JlZGl0Y29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ1RDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NyZWRpdGNvaW4uYmxvY2tzY291dC5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY3JlZGl0Y29pbi5ibG9ja3Njb3V0LmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMDIwMzA7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEwMjAzMCc7XG59XG5cbmNsYXNzIFBsYXNtYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1BsYXNtYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFBMO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3BsYXNtYXNjYW4udG8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcGxhc21hc2Nhbi50by9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5NzQ1O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc5NzQ1Jztcbn1cblxuY2xhc3MgUGxhc21hVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1BsYXNtYVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhQTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnBsYXNtYXNjYW4udG8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5wbGFzbWFzY2FuLnRvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDk3NDY7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzk3NDYnO1xufVxuXG5jbGFzcyBIeXBlRVZNVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0h5cGVybGlxdWlkRVZNVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSFlQRUVWTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnB1cnJzZWMuY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQucHVycnNlYy5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gOTk4O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc5OTgnO1xufVxuXG5jbGFzcyBIeXBlRVZNIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnSHlwZXJsaXF1aWRFVk0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhZUEVFVk07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaHlwZXJldm0tZXhwbG9yZXIudmVyY2VsLmFwcC90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9oeXBlcmV2bS1leHBsb3Jlci52ZXJjZWwuYXBwL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDk5OTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTk5Jztcbn1cblxuY2xhc3MgS2F2YUVWTVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdLYXZhRVZNVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FWQUVWTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmthdmFzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmthdmFzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAyMjIxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcyMjIxJztcbn1cblxuY2xhc3MgS2F2YUVWTSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0thdmFFVk0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LktBVkFFVk07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va2F2YXNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2thdmFzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAyMjIyO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcyMjIyJztcbn1cblxuY2xhc3MgTGluZWFFVEggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdMaW5lYSBFdGhlcmV1bSBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MSU5FQUVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9saW5lYXNjYW4uYnVpbGQvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbGluZWFzY2FuLmJ1aWxkL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU5MTQ0O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc1OTE0NCc7XG59XG5cbmNsYXNzIExpbmVhRVRIVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0xpbmVhIEV0aGVyZXVtIFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkxJTkVBRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEubGluZWFzY2FuLmJ1aWxkL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEubGluZWFzY2FuLmJ1aWxkL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU5MTQxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc1OTE0MSc7XG59XG5cbmNsYXNzIENyZWRpdGNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ3JlZGl0Y29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jcmVkaXRjb2luLXRlc3RuZXQuYmxvY2tzY291dC5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY3JlZGl0Y29pbi10ZXN0bmV0LmJsb2Nrc2NvdXQuY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEwMjAzMTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTAyMDMxJztcbn1cblxuY2xhc3MgU29uaWMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTb25pYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU09OSUM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc29uaWNzY2FuLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25pY3NjYW4ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE0NjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTQ2Jztcbn1cblxuY2xhc3MgU29uaWNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnU29uaWNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT05JQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LnNvbmljc2Nhbi5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5zb25pY3NjYW4ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU3MDU0O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc1NzA1NCc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xufVxuXG5jbGFzcyBLYWlhIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnS2FpYSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FJQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rYWlhc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rYWlhc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA4MjE3O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4MjE3Jztcbn1cblxuY2xhc3MgS2FpYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdLYWlhVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FJQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rYWlyb3Mua2FpYXNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va2Fpcm9zLmthaWFzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEwMDE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEwMDEnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgSXJ5cyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0lyeXMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LklSWVM7XG4gIGV4cGxvcmVyVXJsID0gJyc7IC8vV0lOLTYxOTEgYWRkIG1haW5uZXQgdXJsIHdoZW4gYXZhaWxhYmxlXG4gIGFjY291bnRFeHBsb3JlclVybCA9ICcnOyAvL1dJTi02MTkxIGFkZCBtYWlubmV0IHVybCB3aGVuIGF2YWlsYWJsZVxuICBjaGFpbklkID0gMTI3MDsgLy9XSU4tNjE5MSBhZGQgbWFpbm5ldCBpZCB3aGVuIGF2YWlsYWJsZVxuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMjcwJztcbn1cblxuY2xhc3MgSXJ5c1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdJcnlzVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSVJZUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLmlyeXMueHl6L3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQtZXhwbG9yZXIuaXJ5cy54eXovYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTI3MDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTI3MCc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xufVxuXG5jbGFzcyBPZyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1plcm8gR3Jhdml0eSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0c7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW5zY2FuLjBnLmFpL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2NoYWluc2Nhbi4wZy5haS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxNjY2MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTY2NjEnO1xufVxuXG5jbGFzcyBPZ1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdaZXJvIEdyYXZpdHkgVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0c7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW5zY2FuLWdhbGlsZW8uMGcuYWkvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW5zY2FuLWdhbGlsZW8uMGcuYWkvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTY2MDE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzE2NjAxJztcbn1cblxuY2xhc3MgWGRjIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnWGRjQ2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhEQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly94ZGNzY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly94ZGNzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA1MDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzVkN2EzYjRjNDkwYzYyNDJmYjI4ZjIwZTVmZTMzY2Q5ODMzNzJhMyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgWGRjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1hkY0NoYWluVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWERDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQueGRjc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC54ZGNzY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA1MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTEnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZWJlMjc5MTNmY2M3NTEwZWFkZjEwNjQzYThmODZiZjU0OTJhOTU0MSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgV2VtaXggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdXZW1peENoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5XRU1JWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci53ZW1peC5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIud2VtaXguY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDExMTE7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTEnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzVkN2EzYjRjNDkwYzYyNDJmYjI4ZjIwZTVmZTMzY2Q5ODMzNzJhMyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgV2VtaXhUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnV2VtaXhDaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LldFTUlYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3Qud2VtaXguY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3Qud2VtaXguY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDExMTI7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExMTInO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzVkN2EzYjRjNDkwYzYyNDJmYjI4ZjIwZTVmZTMzY2Q5ODMzNzJhMyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuY2xhc3MgTW9uYWRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnTW9uYWRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5NT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5tb25hZGV4cGxvcmVyLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0Lm1vbmFkZXhwbG9yZXIuY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEwMTQzO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMDE0Myc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xufVxuY2xhc3MgTW9uYWQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdNb25hZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTU9OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL21haW5uZXQtYmV0YS5tb252aXNpb24uaW8vdHgnO1xuICBjaGFpbklkID0gMTQzO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxNDMnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgV29ybGQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdXb3JsZGNoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5XT1JMRDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93b3JsZHNjYW4ub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3dvcmxkc2Nhbi5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDgwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc0ODAnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cblxuY2xhc3MgV29ybGRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnV29ybGRjaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LldPUkxEO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEud29ybGRzY2FuLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLndvcmxkc2Nhbi5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDgwMTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDgwMSc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgzZTFlNWQ3OGU0NGYxNTU5M2IzYjYxZWQyNzhmMTJjMjdmMGZmMzNlJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xufVxuXG5jbGFzcyBTb25laXVtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnU29uZWl1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU09ORUlVTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25laXVtLmJsb2Nrc2NvdXQuY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NvbmVpdW0uYmxvY2tzY291dC5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTg2ODtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTg2OCc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDk0NGZlZjAzYWYzNjg0MTRmMjlkYzMxYTcyMDYxYjhkNjRmNTY4ZDInO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xufVxuXG5jbGFzcyBTb25laXVtVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NvbmVpdW1UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TT05FSVVNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NvbmVpdW0tbWluYXRvLmJsb2Nrc2NvdXQuY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NvbmVpdW0tbWluYXRvLmJsb2Nrc2NvdXQuY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE5NDY7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzE5NDYnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgU2VpRXZtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnU2VpZXZtJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TRUlFVk07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2VpdHJhY2UuY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NlaXRyYWNlLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMzI5O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxMzI5Jztcbn1cblxuY2xhc3MgU2VpRXZtVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NlaUV2bVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNFSUVWTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZWl0cmFjZS5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2VpdHJhY2UuY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEzMjg7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEzMjgnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDgwOWVlNTY3ZTQxMzU0M2FmMWNhZWJjZGIyNDdmNmE2N2VhZmM4ZGQnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4Mzc5OTZlNzYyZmE4YjY3MTg2OTc0MGM3OWViMzNmNjI1YjNiZjkyYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5NDRmZWYwM2FmMzY4NDE0ZjI5ZGMzMWE3MjA2MWI4ZDY0ZjU2OGQyJztcbn1cblxuY2xhc3MgU29tbmlhVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NvbW5pYVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNUVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zaGFubm9uLWV4cGxvcmVyLnNvbW5pYS5uZXR3b3JrL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NoYW5ub24tZXhwbG9yZXIuc29tbmlhLm5ldHdvcmsvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNTAzMTI7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzUwMzEyJztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHg4MDllZTU2N2U0MTM1NDNhZjFjYWViY2RiMjQ3ZjZhNjdlYWZjOGRkJztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDNlMWU1ZDc4ZTQ0ZjE1NTkzYjNiNjFlZDI3OGYxMmMyN2YwZmYzM2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG59XG5cbmNsYXNzIFNvbWkgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdTb21uaWEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWFpbm5ldC5zb21uaWEudzN1cy5zaXRlL3R4Lyc7XG4gIGNoYWluSWQgPSA1MDMxO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc1MDMxJztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4OTQ0ZmVmMDNhZjM2ODQxNGYyOWRjMzFhNzIwNjFiOGQ2NGY1NjhkMic7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4ODA5ZWU1NjdlNDEzNTQzYWYxY2FlYmNkYjI0N2Y2YTY3ZWFmYzhkZCc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGQ1ZmUxYzFmMjE2Yjc3NWRmZDMwNjM4ZmE3MTY0ZDQxMzIxZWY3OWInO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4M2UxZTVkNzhlNDRmMTU1OTNiM2I2MWVkMjc4ZjEyYzI3ZjBmZjMzZSc7XG59XG5cbmV4cG9ydCBjbGFzcyBGbGFyZVAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRmxhcmVOZXR3b3JrIHtcbiAgbmFtZSA9ICdGbGFyZVAnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZMUlA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZmxhcmVzY2FuLmNvbS9ibG9ja2NoYWluL3B2bS90cmFuc2FjdGlvbnMvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZmxhcmVzY2FuLmNvbS9ibG9ja2NoYWluL3B2bS9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJzJxOWU0cjZNdTNVNjhuVTFmWWpnYlI2SnZ3clJ4MzZDb2hwQVg1VVF4c2U1NXgxUTUnO1xuICBuZXR3b3JrSUQgPSAxNDtcbiAgaHJwID0gJ2ZsYXJlJztcbiAgYWxpYXMgPSAnUCc7XG4gIHZtID0gJ3BsYXRmb3Jtdm0nO1xuICB0eEZlZSA9ICcxMDAwMDAwJzsgLy8gZGVmYXVsdHNcbiAgbWF4SW1wb3J0RmVlID0gJzEwMDAwMDAwJzsgLy8gZGVmYXVsdHNcbiAgY3JlYXRlU3VibmV0VHggPSAnMTAwMDAwMDAwJzsgLy8gZGVmYXVsdHNcbiAgY3JlYXRlQ2hhaW5UeCA9ICcxMDAwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gZGVmYXVsdHNcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICcxMDM2ODgyNjY5NzQwMDAwMDAwMDAnOyAvLyAxMDNCIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcxMDAwMDAwMDAwMDAwMDAwJzsgLy8gMU0gRkxSXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnNTI1NjAwMCc7IC8vIDIgbW9udGhzXG4gIG1heFN0YWtlRHVyYXRpb24gPSAnMzE1MzYwMDAnOyAvLyAxIHllYXJcbiAgbWluRGVsZWdhdGlvblN0YWtlID0gJzUwMDAwMDAwMDAwMDAwJzsgLy8gNTAwMDAgRkxSXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMCc7XG59XG5cbmV4cG9ydCBjbGFzcyBGbGFyZVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEZsYXJlTmV0d29yayB7XG4gIG5hbWUgPSAnRmxhcmVQVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRkxSUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jb3N0b24yLnRlc3RuZXQuZmxhcmVzY2FuLmNvbS9ibG9ja2NoYWluL3B2bS90cmFuc2FjdGlvbnMnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jb3N0b24yLnRlc3RuZXQuZmxhcmVzY2FuLmNvbS9ibG9ja2NoYWluL3B2bS9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJ3ZFOE05OG1FUUg2d2s1NnNTdEQxTUw4SEFwVGdTcWZKWkxrOWdRM0ZzZDRpNm0zQmknO1xuICBuZXR3b3JrSUQgPSAxMTQ7XG4gIGhycCA9ICdjb3N0d28nO1xuICBhbGlhcyA9ICdQJztcbiAgdm0gPSAncGxhdGZvcm12bSc7XG4gIHR4RmVlID0gJzEwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBtYXhJbXBvcnRGZWUgPSAnMTAwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBjcmVhdGVDaGFpblR4ID0gJzEwMDAwMDAwMCc7IC8vIGRlZmF1bHRzXG4gIGNyZWF0aW9uVHhGZWUgPSAnMTAwMDAwMDAnOyAvLyBkZWZhdWx0c1xuICBtaW5Db25zdW1wdGlvbiA9ICcwLjEnO1xuICBtYXhDb25zdW1wdGlvbiA9ICcwLjEyJztcbiAgbWF4U3VwcGx5ID0gJzc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gNzkgdHJpbGxpb24gdG9rZW5zXG4gIG1pblN0YWtlID0gJzEwMDAwMDAwMDAwMDAwMDAnOyAvLyAxTSBGTFJcbiAgbWluU3Rha2VEdXJhdGlvbiA9ICc1MjU2MDAwJzsgLy8gMiBtb250aHNcbiAgbWF4U3Rha2VEdXJhdGlvbiA9ICczMTUzNjAwMCc7IC8vIDEgeWVhclxuICBtaW5EZWxlZ2F0aW9uU3Rha2UgPSAnNTAwMDAwMDAwMDAwMDAnOyAvLyA1MDAwMCBGTFJcbiAgbWluRGVsZWdhdGlvbkZlZSA9ICcwJztcbn1cblxuZXhwb3J0IGNsYXNzIEZsYXJlIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEZsYXJlTmV0d29yaywgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdGbGFyZWNoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GTFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZmxhcmUtZXhwbG9yZXIuZmxhcmUubmV0d29yay90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9mbGFyZS1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDE0O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICcxNCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjNWQ3YTNiNGM0OTBjNjI0MmZiMjhmMjBlNWZlMzNjZDk4MzM3MmEzJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5cbmV4cG9ydCBjbGFzcyBGbGFyZVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRmxhcmVOZXR3b3JrLCBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0ZsYXJlY2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GTFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY29zdG9uMi1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2Nvc3RvbjItZXhwbG9yZXIuZmxhcmUubmV0d29yay9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMTQ7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzExNCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjNWQ3YTNiNGM0OTBjNjI0MmZiMjhmMjBlNWZlMzNjZDk4MzM3MmEzJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgzNzk5NmU3NjJmYThiNjcxODY5NzQwYzc5ZWIzM2Y2MjViM2JmOTJhJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDVmZTFjMWYyMTZiNzc1ZGZkMzA2MzhmYTcxNjRkNDEzMjFlZjc5Yic7XG59XG5jbGFzcyBTb25nYmlyZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NvbmdiaXJkY2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNHQjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zb25nYmlyZC1leHBsb3Jlci5mbGFyZS5uZXR3b3JrL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NvbmdiaXJkLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTk7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzE5JztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGM1ZDdhM2I0YzQ5MGM2MjQyZmIyOGYyMGU1ZmUzM2NkOTgzMzcyYTMnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cbmNsYXNzIFNvbmdiaXJkVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1NvbmdiaXJkY2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TR0I7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY29zdG9uLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY29zdG9uLWV4cGxvcmVyLmZsYXJlLm5ldHdvcmsvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTY7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzE2JztcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGM1ZDdhM2I0YzQ5MGM2MjQyZmIyOGYyMGU1ZmUzM2NkOTgzMzcyYTMnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDM3OTk2ZTc2MmZhOGI2NzE4Njk3NDBjNzllYjMzZjYyNWIzYmY5MmEnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhkNWZlMWMxZjIxNmI3NzVkZmQzMDYzOGZhNzE2NGQ0MTMyMWVmNzliJztcbn1cbmNsYXNzIEJhc2VDaGFpblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgLy9CYXNlRVRIIHRlc3RuZXRcbiAgbmFtZSA9ICdCYXNlQ2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQVNFRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEuYmFzZXNjYW4ub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEuYmFzZXNjYW4ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDg0NTMyO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4NDUzMic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc4NDUzMi1FUkMyMCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4ZGQ0OTg3MDJmNDRjNGRhMDhlYjllMDhkM2YwMTVlZWZlNWNiNzFmYyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGJlNjljYWUzMTExOTFmYjQ1ZTY0OGVkMjA4NDdmMDZmYWQyZGJhYjQnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDQ1NTBlMWU3NjE2ZDMzNjQ4NzdmYzZjOTMyNDkzOGRhYjY3ODYyMWEnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5MmRiMjc1OWQxZGNhMTI5YTBkOWQ0Njg3N2YzNjFiZTgxOTE4NGM0Jztcbn1cblxuY2xhc3MgQmFzZUNoYWluIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIC8vQmFzZUVUSFxuICBuYW1lID0gJ0Jhc2VDaGFpbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkFTRUVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iYXNlc2Nhbi5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmFzZXNjYW4ub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDg0NTM7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzg0NTMnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnODQ1My1FUkMyMCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4ZGQ0OTg3MDJmNDRjNGRhMDhlYjllMDhkM2YwMTVlZWZlNWNiNzFmYyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGJlNjljYWUzMTExOTFmYjQ1ZTY0OGVkMjA4NDdmMDZmYWQyZGJhYjQnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweDQ1NTBlMWU3NjE2ZDMzNjQ4NzdmYzZjOTMyNDkzOGRhYjY3ODYyMWEnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg5MmRiMjc1OWQxZGNhMTI5YTBkOWQ0Njg3N2YzNjFiZTgxOTE4NGM0Jztcbn1cblxuY2xhc3MgUG9seW1lc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1BvbHltZXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QT0xZWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2x5bWVzaC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICdwb2x5bWVzaF9tYWlubmV0JztcbiAgZ2VuZXNpc0hhc2ggPSAnMHg2ZmJkNzRlNWUxZDBhNjFkNTJjY2ZlOWQ0YWRhZWQxNmRkM2E3Y2FhMzdjNmJjNGQwYzJmYTEyZThiMmY0MDYzJztcbiAgc3BlY1ZlcnNpb24gPSA3MDAyMDAwO1xuICBjaGFpbk5hbWUgPSAnUG9seW1lc2ggTWFpbm5ldCc7XG4gIHR4VmVyc2lvbiA9IDc7XG59XG5cbmNsYXNzIFBvbHltZXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnUG9seW1lc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QT0xZWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2x5bWVzaC10ZXN0bmV0LnN1YnNjYW4uaW8vZXh0cmluc2ljLyc7XG4gIHNwZWNOYW1lID0gJ3BvbHltZXNoX3Rlc3RuZXQnIGFzIFN1YnN0cmF0ZVNwZWNOYW1lVHlwZTtcbiAgZ2VuZXNpc0hhc2ggPSAnMHgyYWNlMDVlNzAzYWE1MGI0OGMwY2NjY2ZjOGI0MjRmN2FhYjlhMWUyYzQyNGVkMTJlNDVkMjBiMWU4ZmZkMGQ2JztcbiAgc3BlY1ZlcnNpb24gPSA3MDAyMDAwO1xuICBjaGFpbk5hbWUgPSAnUG9seW1lc2ggVGVzdG5ldCc7XG4gIHR4VmVyc2lvbiA9IDc7XG59XG5cbmNsYXNzIFZldCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1ZlQ2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlZFVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3JlLnZlY2hhaW4ub3JnL3RyYW5zYWN0aW9ucy8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3JlLnZlY2hhaW4ub3JnL2FjY291bnRzLyc7XG4gIGNoYWluSWQgPSAxMDAwMDk7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4NjUzNDNlMThjMzc2ZDJmYzhjM2NmMTBjZDE0NmQ2M2UyZTBkYzllZic7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDYyZGUzNGM4N2Y4NDdkMzg1YWYwN2Y2YzI1ZGJkOTdiMWZmZmVmYzAnO1xufVxuXG5jbGFzcyBWZXRUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnVmVDaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlZFVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3JlLXRlc3RuZXQudmVjaGFpbi5vcmcvdHJhbnNhY3Rpb25zLyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmUtdGVzdG5ldC52ZWNoYWluLm9yZy9hY2NvdW50cy8nO1xuICBjaGFpbklkID0gMTAwMDEwO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDY1MzQzZTE4YzM3NmQyZmM4YzNjZjEwY2QxNDZkNjNlMmUwZGM5ZWYnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg2MmRlMzRjODdmODQ3ZDM4NWFmMDdmNmMyNWRiZDk3YjFmZmZlZmMwJztcbn1cblxuY2xhc3MgSW90YSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW90YSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU9UQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5pb3RhLm9yZy8/bmV0d29yaz1tYWlubmV0Jztcbn1cblxuY2xhc3MgSW90YVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgSW90YSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU9UQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5pb3RhLm9yZy8/bmV0d29yaz10ZXN0bmV0Jztcbn1cblxuY2xhc3MgRmxvdyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0Zsb3cnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZMT1c7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXZtLmZsb3dzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V2bS5mbG93c2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA3NDc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzc0Nyc7XG59XG5cbmNsYXNzIEZsb3dUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRmxvd1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZMT1c7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXZtLmZsb3dzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V2bS10ZXN0bmV0LmZsb3dzY2FuLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU0NTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNTQ1Jztcbn1cblxuLy8gVE9ETyB1cGRhdGUgTWVnYUVUSCBleHBsb3JlciB1cmxzIGFuZCBjaGFpbklkIHdoZW4gYXZhaWxhYmxlXG5jbGFzcyBNZWdhRVRIIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnTWVnYUVUSCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTUVHQUVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWVnYWV4cGxvcmVyLnh5ei90eCc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3d3dy5tZWdhZXhwbG9yZXIueHl6L2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDYzNDI7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzYzNDInO1xufVxuXG5jbGFzcyBNZWdhRVRIVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ01lZ2FFVEhUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5NRUdBRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5tZWdhZXhwbG9yZXIueHl6L3R4JztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm1lZ2FleHBsb3Jlci54eXovYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNjM0MjtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNjM0Mic7XG59XG5cbmNsYXNzIFBsdW1lIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGx1bWUnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlBMVU1FO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnBsdW1lLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5wbHVtZS5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gOTg4NjY7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzk4ODY2Jztcbn1cblxuY2xhc3MgUGx1bWVUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUGx1bWVUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5QTFVNRTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLnBsdW1lLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LWV4cGxvcmVyLnBsdW1lLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA5ODg2NztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnOTg4NjcnO1xufVxuXG5leHBvcnQgY29uc3QgTmV0d29ya3MgPSB7XG4gIG1haW46IHtcbiAgICBhZGE6IE9iamVjdC5mcmVlemUobmV3IEFkYSgpKSxcbiAgICBhbGdvcmFuZDogT2JqZWN0LmZyZWV6ZShuZXcgQWxnb3JhbmQoKSksXG4gICAgYXBlY2hhaW46IE9iamVjdC5mcmVlemUobmV3IEFwZUNoYWluKCkpLFxuICAgIGFwdDogT2JqZWN0LmZyZWV6ZShuZXcgQXB0KCkpLFxuICAgIGFyYml0cnVtOiBPYmplY3QuZnJlZXplKG5ldyBBcmJpdHJ1bSgpKSxcbiAgICBhc2k6IE9iamVjdC5mcmVlemUobmV3IEFzaSgpKSxcbiAgICBhdG9tOiBPYmplY3QuZnJlZXplKG5ldyBBdG9tKCkpLFxuICAgIGF2YWxhbmNoZUM6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZUMoKSksXG4gICAgYXZhbGFuY2hlUDogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlUCgpKSxcbiAgICBiYWJ5OiBPYmplY3QuZnJlZXplKG5ldyBCYWJ5KCkpLFxuICAgIGJhc2VjaGFpbjogT2JqZWN0LmZyZWV6ZShuZXcgQmFzZUNoYWluKCkpLFxuICAgIGJpdGNvaW46IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW4oKSksXG4gICAgYml0Y29pbkNhc2g6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5DYXNoKCkpLFxuICAgIGJpdGNvaW5Hb2xkOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luR29sZCgpKSxcbiAgICBiaXRjb2luU1Y6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5TVigpKSxcbiAgICBiZXJhOiBPYmplY3QuZnJlZXplKG5ldyBCZXJhY2hhaW4oKSksXG4gICAgYmxkOiBPYmplY3QuZnJlZXplKG5ldyBCbGQoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpbigpKSxcbiAgICBjYXNwZXI6IE9iamVjdC5mcmVlemUobmV3IENhc3BlcigpKSxcbiAgICBjZWxvOiBPYmplY3QuZnJlZXplKG5ldyBDZWxvKCkpLFxuICAgIGNvcmVkYW86IE9iamVjdC5mcmVlemUobmV3IENvcmVkYW8oKSksXG4gICAgY29yZXVtOiBPYmplY3QuZnJlZXplKG5ldyBDb3JldW0oKSksXG4gICAgY3Jvbm9zOiBPYmplY3QuZnJlZXplKG5ldyBDcm9ub3MoKSksXG4gICAgZGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgRGFzaCgpKSxcbiAgICBkb2dlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgRG9nZWNvaW4oKSksXG4gICAgZG90OiBPYmplY3QuZnJlZXplKG5ldyBQb2xrYWRvdCgpKSxcbiAgICBlQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgRUNhc2goKSksXG4gICAgZW9zOiBPYmplY3QuZnJlZXplKG5ldyBFb3MoKSksXG4gICAgZXRoZXJldW06IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtKCkpLFxuICAgIGV0aGVyZXVtMjogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW0yKCkpLFxuICAgIGV0aGVyZXVtQ2xhc3NpYzogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW1DbGFzc2ljKCkpLFxuICAgIGV0aGVyZXVtVzogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW1XKCkpLFxuICAgIGZpYXQ6IE9iamVjdC5mcmVlemUobmV3IEZpYXQoKSksXG4gICAgZmV0Y2hhaTogT2JqZWN0LmZyZWV6ZShuZXcgRmV0Y2hBaSgpKSxcbiAgICBmbG93OiBPYmplY3QuZnJlZXplKG5ldyBGbG93KCkpLFxuICAgIGZscjogT2JqZWN0LmZyZWV6ZShuZXcgRmxhcmUoKSksXG4gICAgZmxyUDogT2JqZWN0LmZyZWV6ZShuZXcgRmxhcmVQKCkpLFxuICAgIGhhc2g6IE9iamVjdC5mcmVlemUobmV3IEhhc2goKSksXG4gICAgaGVkZXJhOiBPYmplY3QuZnJlZXplKG5ldyBIZWRlcmEoKSksXG4gICAgaWNwOiBPYmplY3QuZnJlZXplKG5ldyBJY3AoKSksXG4gICAgaXA6IE9iamVjdC5mcmVlemUobmV3IElQKCkpLFxuICAgIGluaXRpYTogT2JqZWN0LmZyZWV6ZShuZXcgSW5pdGlhKCkpLFxuICAgIGlvdGE6IE9iamVjdC5mcmVlemUobmV3IElvdGEoKSksXG4gICAgaW5qZWN0aXZlOiBPYmplY3QuZnJlZXplKG5ldyBJbmplY3RpdmUoKSksXG4gICAgaXJ5czogT2JqZWN0LmZyZWV6ZShuZXcgSXJ5cygpKSxcbiAgICBpc2xtOiBPYmplY3QuZnJlZXplKG5ldyBJc2xtKCkpLFxuICAgIGthaWE6IE9iamVjdC5mcmVlemUobmV3IEthaWEoKSksXG4gICAga2F2YTogT2JqZWN0LmZyZWV6ZShuZXcgS2F2YSgpKSxcbiAgICBrYXZhZXZtOiBPYmplY3QuZnJlZXplKG5ldyBLYXZhRVZNKCkpLFxuICAgIGxuYnRjOiBPYmplY3QuZnJlZXplKG5ldyBMaWdodG5pbmdCaXRjb2luKCkpLFxuICAgIGxpdGVjb2luOiBPYmplY3QuZnJlZXplKG5ldyBMaXRlY29pbigpKSxcbiAgICBtZWdhZXRoOiBPYmplY3QuZnJlZXplKG5ldyBNZWdhRVRIKCkpLFxuICAgIG1vbjogT2JqZWN0LmZyZWV6ZShuZXcgTW9uYWQoKSksXG4gICAgbWFudHJhOiBPYmplY3QuZnJlZXplKG5ldyBNYW50cmEoKSksXG4gICAgcGx1bWU6IE9iamVjdC5mcmVlemUobmV3IFBsdW1lKCkpLFxuICAgIHBvbHlnb246IE9iamVjdC5mcmVlemUobmV3IFBvbHlnb24oKSksXG4gICAgcG9seXg6IE9iamVjdC5mcmVlemUobmV3IFBvbHltZXNoKCkpLFxuICAgIHBocnM6IE9iamVjdC5mcmVlemUobmV3IFBoYXJvcygpKSxcbiAgICBjdGM6IE9iamVjdC5mcmVlemUobmV3IENyZWRpdGNvaW4oKSksXG4gICAgaHlwZWV2bTogT2JqZWN0LmZyZWV6ZShuZXcgSHlwZUVWTSgpKSxcbiAgICBsaW5lYWV0aDogT2JqZWN0LmZyZWV6ZShuZXcgTGluZWFFVEgoKSksXG4gICAgb2FzOiBPYmplY3QuZnJlZXplKG5ldyBPYXMoKSksXG4gICAgb2c6IE9iamVjdC5mcmVlemUobmV3IE9nKCkpLFxuICAgIG9mYzogT2JqZWN0LmZyZWV6ZShuZXcgT2ZjKCkpLFxuICAgIG9wdGltaXNtOiBPYmplY3QuZnJlZXplKG5ldyBPcHRpbWlzbSgpKSxcbiAgICBvc21vOiBPYmplY3QuZnJlZXplKG5ldyBPc21vKCkpLFxuICAgIHJidGM6IE9iamVjdC5mcmVlemUobmV3IFJidGMoKSksXG4gICAgcnVuZTogT2JqZWN0LmZyZWV6ZShuZXcgUnVuZSgpKSxcbiAgICBzdGVsbGFyOiBPYmplY3QuZnJlZXplKG5ldyBTdGVsbGFyKCkpLFxuICAgIHNlaTogT2JqZWN0LmZyZWV6ZShuZXcgU2VpKCkpLFxuICAgIHNlaWV2bTogT2JqZWN0LmZyZWV6ZShuZXcgU2VpRXZtKCkpLFxuICAgIHNnYjogT2JqZWN0LmZyZWV6ZShuZXcgU29uZ2JpcmQoKSksXG4gICAgc29sOiBPYmplY3QuZnJlZXplKG5ldyBTb2woKSksXG4gICAgc29uaWM6IE9iamVjdC5mcmVlemUobmV3IFNvbmljKCkpLFxuICAgIHN1aTogT2JqZWN0LmZyZWV6ZShuZXcgU3VpKCkpLFxuICAgIG5lYXI6IE9iamVjdC5mcmVlemUobmV3IE5lYXIoKSksXG4gICAgc3R4OiBPYmplY3QuZnJlZXplKG5ldyBTdHgoKSksXG4gICAgc29taTogT2JqZWN0LmZyZWV6ZShuZXcgU29taSgpKSxcbiAgICBzb25laXVtOiBPYmplY3QuZnJlZXplKG5ldyBTb25laXVtKCkpLFxuICAgIHN1c2Q6IE9iamVjdC5mcmVlemUobmV3IFNVU0QoKSksXG4gICAgdGFvOiBPYmplY3QuZnJlZXplKG5ldyBCaXR0ZW5zb3IoKSksXG4gICAgdGlhOiBPYmplY3QuZnJlZXplKG5ldyBUaWEoKSksXG4gICAgdG9uOiBPYmplY3QuZnJlZXplKG5ldyBUb24oKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcngoKSksXG4gICAgdmV0OiBPYmplY3QuZnJlZXplKG5ldyBWZXQoKSksXG4gICAgd2VtaXg6IE9iamVjdC5mcmVlemUobmV3IFdlbWl4KCkpLFxuICAgIHdvcmxkOiBPYmplY3QuZnJlZXplKG5ldyBXb3JsZCgpKSxcbiAgICB4ZGM6IE9iamVjdC5mcmVlemUobmV3IFhkYygpKSxcbiAgICB4cGw6IE9iamVjdC5mcmVlemUobmV3IFBsYXNtYSgpKSxcbiAgICB4cnA6IE9iamVjdC5mcmVlemUobmV3IFhycCgpKSxcbiAgICB4dHo6IE9iamVjdC5mcmVlemUobmV3IFh0eigpKSxcbiAgICB6Q2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgWkNhc2goKSksXG4gICAgemV0YTogT2JqZWN0LmZyZWV6ZShuZXcgWmV0YSgpKSxcbiAgICB6a1N5bmM6IE9iamVjdC5mcmVlemUobmV3IFprU3luYygpKSxcbiAgfSxcbiAgdGVzdDoge1xuICAgIGFkYTogT2JqZWN0LmZyZWV6ZShuZXcgQWRhVGVzdG5ldCgpKSxcbiAgICBhbGdvcmFuZDogT2JqZWN0LmZyZWV6ZShuZXcgQWxnb3JhbmRUZXN0bmV0KCkpLFxuICAgIGFwZWNoYWluOiBPYmplY3QuZnJlZXplKG5ldyBBcGVDaGFpblRlc3RuZXQoKSksXG4gICAgYXB0OiBPYmplY3QuZnJlZXplKG5ldyBBcHRUZXN0bmV0KCkpLFxuICAgIGFyYml0cnVtOiBPYmplY3QuZnJlZXplKG5ldyBBcmJpdHJ1bVRlc3RuZXQoKSksXG4gICAgYXNpOiBPYmplY3QuZnJlZXplKG5ldyBBc2lUZXN0bmV0KCkpLFxuICAgIGF0b206IE9iamVjdC5mcmVlemUobmV3IEF0b21UZXN0bmV0KCkpLFxuICAgIGF2YWxhbmNoZUM6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZUNUZXN0bmV0KCkpLFxuICAgIGF2YWxhbmNoZVA6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZVBUZXN0bmV0KCkpLFxuICAgIGJhYnk6IE9iamVjdC5mcmVlemUobmV3IEJhYnlUZXN0bmV0KCkpLFxuICAgIGJhc2VjaGFpbjogT2JqZWN0LmZyZWV6ZShuZXcgQmFzZUNoYWluVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luUHVibGljU2lnbmV0OiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luUHVibGljU2lnbmV0KCkpLFxuICAgIGJpdGNvaW5UZXN0bmV0NDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblRlc3RuZXQ0KCkpLFxuICAgIGJpdGNvaW5CaXRHb1NpZ25ldDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkJpdEdvU2lnbmV0KCkpLFxuICAgIGJpdGNvaW5DYXNoOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luQ2FzaFRlc3RuZXQoKSksXG4gICAgYml0Y29pbkdvbGQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5Hb2xkVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luU1Y6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5TVlRlc3RuZXQoKSksXG4gICAgYmVyYTogT2JqZWN0LmZyZWV6ZShuZXcgQmVyYWNoYWluVGVzdG5ldCgpKSxcbiAgICBibGQ6IE9iamVjdC5mcmVlemUobmV3IEJsZFRlc3RuZXQoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpblRlc3RuZXQoKSksXG4gICAgY2FzcGVyOiBPYmplY3QuZnJlZXplKG5ldyBDYXNwZXJUZXN0bmV0KCkpLFxuICAgIGNvcmVkYW86IE9iamVjdC5mcmVlemUobmV3IENvcmVkYW9UZXN0bmV0KCkpLFxuICAgIGNlbG86IE9iamVjdC5mcmVlemUobmV3IENlbG9UZXN0bmV0KCkpLFxuICAgIGNyb25vczogT2JqZWN0LmZyZWV6ZShuZXcgQ3Jvbm9zVGVzdG5ldCgpKSxcbiAgICBkYXNoOiBPYmplY3QuZnJlZXplKG5ldyBEYXNoVGVzdG5ldCgpKSxcbiAgICBkb2dlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgRG9nZWNvaW5UZXN0bmV0KCkpLFxuICAgIGRvdDogT2JqZWN0LmZyZWV6ZShuZXcgUG9sa2Fkb3RUZXN0bmV0KCkpLFxuICAgIGVDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBFQ2FzaFRlc3RuZXQoKSksXG4gICAgZW9zOiBPYmplY3QuZnJlZXplKG5ldyBFb3NUZXN0bmV0KCkpLFxuICAgIGZpYXQ6IE9iamVjdC5mcmVlemUobmV3IEZpYXRUZXN0bmV0KCkpLFxuICAgIGZldGNoYWk6IE9iamVjdC5mcmVlemUobmV3IEZldGNoQWlUZXN0bmV0KCkpLFxuICAgIGZsb3c6IE9iamVjdC5mcmVlemUobmV3IEZsb3dUZXN0bmV0KCkpLFxuICAgIGZscjogT2JqZWN0LmZyZWV6ZShuZXcgRmxhcmVUZXN0bmV0KCkpLFxuICAgIGZsclA6IE9iamVjdC5mcmVlemUobmV3IEZsYXJlUFRlc3RuZXQoKSksXG4gICAgbW9uOiBPYmplY3QuZnJlZXplKG5ldyBNb25hZFRlc3RuZXQoKSksXG4gICAgbWVnYWV0aDogT2JqZWN0LmZyZWV6ZShuZXcgTWVnYUVUSFRlc3RuZXQoKSksXG4gICAgcHlybW9udDogT2JqZWN0LmZyZWV6ZShuZXcgUHlybW9udCgpKSxcbiAgICBwbHVtZTogT2JqZWN0LmZyZWV6ZShuZXcgUGx1bWVUZXN0bmV0KCkpLFxuICAgIGV0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQ6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQoKSksXG4gICAgaGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgSGFzaFRlc3RuZXQoKSksXG4gICAgaGVkZXJhOiBPYmplY3QuZnJlZXplKG5ldyBIZWRlcmFUZXN0bmV0KCkpLFxuICAgIGljcDogT2JqZWN0LmZyZWV6ZShuZXcgSWNwVGVzdG5ldCgpKSxcbiAgICBpcDogT2JqZWN0LmZyZWV6ZShuZXcgSVBUZXN0bmV0KCkpLFxuICAgIGluaXRpYTogT2JqZWN0LmZyZWV6ZShuZXcgSW5pdGlhVGVzdG5ldCgpKSxcbiAgICBpbmplY3RpdmU6IE9iamVjdC5mcmVlemUobmV3IEluamVjdGl2ZVRlc3RuZXQoKSksXG4gICAgaW90YTogT2JqZWN0LmZyZWV6ZShuZXcgSW90YVRlc3RuZXQoKSksXG4gICAgaXJ5czogT2JqZWN0LmZyZWV6ZShuZXcgSXJ5c1Rlc3RuZXQoKSksXG4gICAgaXNsbTogT2JqZWN0LmZyZWV6ZShuZXcgSXNsbVRlc3RuZXQoKSksXG4gICAga2F2YTogT2JqZWN0LmZyZWV6ZShuZXcgS2F2YVRlc3RuZXQoKSksXG4gICAga2F2YWV2bTogT2JqZWN0LmZyZWV6ZShuZXcgS2F2YUVWTVRlc3RuZXQoKSksXG4gICAga292YW46IE9iamVjdC5mcmVlemUobmV3IEtvdmFuKCkpLFxuICAgIGdvZXJsaTogT2JqZWN0LmZyZWV6ZShuZXcgR29lcmxpKCkpLFxuICAgIGhvbGVza3k6IE9iamVjdC5mcmVlemUobmV3IEhvbGVza3koKSksXG4gICAgaG9vZGk6IE9iamVjdC5mcmVlemUobmV3IEhvb2RpKCkpLFxuICAgIGxuYnRjOiBPYmplY3QuZnJlZXplKG5ldyBMaWdodG5pbmdCaXRjb2luVGVzdG5ldCgpKSxcbiAgICBsaXRlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgTGl0ZWNvaW5UZXN0bmV0KCkpLFxuICAgIG1hbnRyYTogT2JqZWN0LmZyZWV6ZShuZXcgTWFudHJhVGVzdG5ldCgpKSxcbiAgICBwb2x5Z29uOiBPYmplY3QuZnJlZXplKG5ldyBQb2x5Z29uVGVzdG5ldCgpKSxcbiAgICBwb2x5eDogT2JqZWN0LmZyZWV6ZShuZXcgUG9seW1lc2hUZXN0bmV0KCkpLFxuICAgIHBocnM6IE9iamVjdC5mcmVlemUobmV3IFBoYXJvc1Rlc3RuZXQoKSksXG4gICAgY3RjOiBPYmplY3QuZnJlZXplKG5ldyBDcmVkaXRjb2luVGVzdG5ldCgpKSxcbiAgICBoeXBlZXZtOiBPYmplY3QuZnJlZXplKG5ldyBIeXBlRVZNVGVzdG5ldCgpKSxcbiAgICBsaW5lYWV0aDogT2JqZWN0LmZyZWV6ZShuZXcgTGluZWFFVEhUZXN0bmV0KCkpLFxuICAgIG9hczogT2JqZWN0LmZyZWV6ZShuZXcgT2FzVGVzdG5ldCgpKSxcbiAgICBvZzogT2JqZWN0LmZyZWV6ZShuZXcgT2dUZXN0bmV0KCkpLFxuICAgIG9mYzogT2JqZWN0LmZyZWV6ZShuZXcgT2ZjVGVzdG5ldCgpKSxcbiAgICBvcHRpbWlzbTogT2JqZWN0LmZyZWV6ZShuZXcgT3B0aW1pc21UZXN0bmV0KCkpLFxuICAgIG9zbW86IE9iamVjdC5mcmVlemUobmV3IE9zbW9UZXN0bmV0KCkpLFxuICAgIHJidGM6IE9iamVjdC5mcmVlemUobmV3IFJidGNUZXN0bmV0KCkpLFxuICAgIHJ1bmU6IE9iamVjdC5mcmVlemUobmV3IFJ1bmVUZXN0TmV0KCkpLFxuICAgIHNnYjogT2JqZWN0LmZyZWV6ZShuZXcgU29uZ2JpcmRUZXN0bmV0KCkpLFxuICAgIHN0ZWxsYXI6IE9iamVjdC5mcmVlemUobmV3IFN0ZWxsYXJUZXN0bmV0KCkpLFxuICAgIHNlaTogT2JqZWN0LmZyZWV6ZShuZXcgU2VpVGVzdG5ldCgpKSxcbiAgICBzZWlldm06IE9iamVjdC5mcmVlemUobmV3IFNlaUV2bVRlc3RuZXQoKSksXG4gICAgc29sOiBPYmplY3QuZnJlZXplKG5ldyBTb2xUZXN0bmV0KCkpLFxuICAgIHN1aTogT2JqZWN0LmZyZWV6ZShuZXcgU3VpVGVzdG5ldCgpKSxcbiAgICBuZWFyOiBPYmplY3QuZnJlZXplKG5ldyBOZWFyVGVzdG5ldCgpKSxcbiAgICBzdHg6IE9iamVjdC5mcmVlemUobmV3IFN0eFRlc3RuZXQoKSksXG4gICAgc3R0OiBPYmplY3QuZnJlZXplKG5ldyBTb21uaWFUZXN0bmV0KCkpLFxuICAgIHNvbmVpdW06IE9iamVjdC5mcmVlemUobmV3IFNvbmVpdW1UZXN0bmV0KCkpLFxuICAgIHNvbmljOiBPYmplY3QuZnJlZXplKG5ldyBTb25pY1Rlc3RuZXQoKSksXG4gICAga2FpYTogT2JqZWN0LmZyZWV6ZShuZXcgS2FpYVRlc3RuZXQoKSksXG4gICAgc3VzZDogT2JqZWN0LmZyZWV6ZShuZXcgU1VTRFRlc3RuZXQoKSksXG4gICAgY29yZXVtOiBPYmplY3QuZnJlZXplKG5ldyBDb3JldW1UZXN0bmV0KCkpLFxuICAgIHRhbzogT2JqZWN0LmZyZWV6ZShuZXcgQml0dGVuc29yVGVzdG5ldCgpKSxcbiAgICB0aWE6IE9iamVjdC5mcmVlemUobmV3IFRpYVRlc3RuZXQoKSksXG4gICAgdG9uOiBPYmplY3QuZnJlZXplKG5ldyBUb25UZXN0bmV0KCkpLFxuICAgIHRyeDogT2JqZWN0LmZyZWV6ZShuZXcgVHJ4VGVzdG5ldCgpKSxcbiAgICB2ZXQ6IE9iamVjdC5mcmVlemUobmV3IFZldFRlc3RuZXQoKSksXG4gICAgd2VtaXg6IE9iamVjdC5mcmVlemUobmV3IFdlbWl4VGVzdG5ldCgpKSxcbiAgICB3b3JsZDogT2JqZWN0LmZyZWV6ZShuZXcgV29ybGRUZXN0bmV0KCkpLFxuICAgIHhkYzogT2JqZWN0LmZyZWV6ZShuZXcgWGRjVGVzdG5ldCgpKSxcbiAgICB4cGw6IE9iamVjdC5mcmVlemUobmV3IFBsYXNtYVRlc3RuZXQoKSksXG4gICAgeHJwOiBPYmplY3QuZnJlZXplKG5ldyBYcnBUZXN0bmV0KCkpLFxuICAgIHh0ejogT2JqZWN0LmZyZWV6ZShuZXcgWHR6VGVzdG5ldCgpKSxcbiAgICB6Q2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgWkNhc2hUZXN0bmV0KCkpLFxuICAgIHpldGE6IE9iamVjdC5mcmVlemUobmV3IFpldGFUZXN0bmV0KCkpLFxuICAgIHprU3luYzogT2JqZWN0LmZyZWV6ZShuZXcgWmtTeW5jVGVzdG5ldCgpKSxcbiAgfSxcbn07XG4iXX0=