@bitgo-beta/statics 10.0.1-alpha.1 → 10.0.1-alpha.100

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 (55) hide show
  1. package/.mocharc.js +1 -1
  2. package/CHANGELOG.md +1791 -0
  3. package/dist/src/account.d.ts +251 -34
  4. package/dist/src/account.d.ts.map +1 -1
  5. package/dist/src/account.js +400 -53
  6. package/dist/src/ada.d.ts +3 -1
  7. package/dist/src/ada.d.ts.map +1 -1
  8. package/dist/src/ada.js +7 -2
  9. package/dist/src/avaxp.d.ts +3 -1
  10. package/dist/src/avaxp.d.ts.map +1 -1
  11. package/dist/src/avaxp.js +12 -3
  12. package/dist/src/base.d.ts +856 -16
  13. package/dist/src/base.d.ts.map +1 -1
  14. package/dist/src/base.js +916 -15
  15. package/dist/src/coins.d.ts +1 -0
  16. package/dist/src/coins.d.ts.map +1 -1
  17. package/dist/src/coins.js +2119 -1002
  18. package/dist/src/constants.d.ts +2 -0
  19. package/dist/src/constants.d.ts.map +1 -0
  20. package/dist/src/constants.js +5 -0
  21. package/dist/src/errors.d.ts +6 -0
  22. package/dist/src/errors.d.ts.map +1 -1
  23. package/dist/src/errors.js +16 -2
  24. package/dist/src/index.d.ts +1 -1
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/index.js +3 -2
  27. package/dist/src/map.d.ts +2 -0
  28. package/dist/src/map.d.ts.map +1 -1
  29. package/dist/src/map.js +26 -3
  30. package/dist/src/networks.d.ts +264 -3
  31. package/dist/src/networks.d.ts.map +1 -1
  32. package/dist/src/networks.js +388 -31
  33. package/dist/src/ofc.d.ts +111 -4
  34. package/dist/src/ofc.d.ts.map +1 -1
  35. package/dist/src/ofc.js +225 -6
  36. package/dist/src/tokenConfig.d.ts +36 -0
  37. package/dist/src/tokenConfig.d.ts.map +1 -1
  38. package/dist/src/tokenConfig.js +101 -1
  39. package/dist/src/utxo.d.ts +3 -1
  40. package/dist/src/utxo.d.ts.map +1 -1
  41. package/dist/src/utxo.js +6 -2
  42. package/dist/tsconfig.tsbuildinfo +1 -2717
  43. package/package.json +2 -2
  44. package/dist/resources/dot/index.d.ts +0 -3
  45. package/dist/resources/dot/index.d.ts.map +0 -1
  46. package/dist/resources/dot/index.js +0 -15
  47. package/dist/resources/dot/mainnet.d.ts +0 -2
  48. package/dist/resources/dot/mainnet.d.ts.map +0 -1
  49. package/dist/resources/dot/mainnet.js +0 -5
  50. package/dist/resources/dot/westend.d.ts +0 -2
  51. package/dist/resources/dot/westend.d.ts.map +0 -1
  52. package/dist/resources/dot/westend.js +0 -5
  53. package/resources/dot/index.ts +0 -2
  54. package/resources/dot/mainnet.ts +0 -2
  55. package/resources/dot/westend.ts +0 -2
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Networks = 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";
@@ -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://explorer.cardano.org/en/transaction?id=';
51
50
  this.coinsPerUtxoWord = 34482;
52
51
  this.maxTransactionSize = 8000;
53
52
  this.maxValueSize = 4000;
@@ -67,14 +66,38 @@ class AdaTestnet extends Testnet {
67
66
  this.stakeKeyDeposit = 2000000;
68
67
  }
69
68
  }
69
+ class Arbitrum extends Mainnet {
70
+ constructor() {
71
+ super(...arguments);
72
+ this.name = 'Arbitrum';
73
+ this.family = base_1.CoinFamily.ARBETH;
74
+ this.explorerUrl = 'https://arbiscan.io/tx/';
75
+ this.accountExplorerUrl = 'https://arbiscan.io/address/';
76
+ this.chainId = 42161;
77
+ this.nativeCoinOperationHashPrefix = '42161';
78
+ this.tokenOperationHashPrefix = '42161-ERC20';
79
+ }
80
+ }
81
+ class ArbitrumTestnet extends Testnet {
82
+ constructor() {
83
+ super(...arguments);
84
+ this.name = 'ArbitrumTestnet';
85
+ this.family = base_1.CoinFamily.ARBETH;
86
+ this.explorerUrl = 'https://sepolia.arbiscan.io/tx/';
87
+ this.accountExplorerUrl = 'https://sepolia.arbiscan.io/address/';
88
+ this.chainId = 421614;
89
+ this.nativeCoinOperationHashPrefix = '421614';
90
+ this.tokenOperationHashPrefix = '421614-ERC20';
91
+ }
92
+ }
70
93
  class AvalancheC extends Mainnet {
71
94
  constructor() {
72
95
  super(...arguments);
73
96
  // https://docs.avax.network/build/tutorials/smart-contracts/deploy-a-smart-contract-on-avalanche-using-remix-and-metamask#avalanche-mainnet-settings
74
97
  this.name = 'AvalancheC';
75
98
  this.family = base_1.CoinFamily.AVAXC;
76
- this.explorerUrl = 'https://cchain.explorer.avax.network/tx/';
77
- this.accountExplorerUrl = 'https://cchain.explorer.avax.network/address/';
99
+ this.explorerUrl = 'https://subnets.avax.network/c-chain/tx/';
100
+ this.accountExplorerUrl = 'https://subnets.avax.network/c-chain/address/';
78
101
  this.chainId = 43114;
79
102
  }
80
103
  }
@@ -84,8 +107,8 @@ class AvalancheCTestnet extends Testnet {
84
107
  // https://docs.avax.network/build/tutorials/smart-contracts/deploy-a-smart-contract-on-avalanche-using-remix-and-metamask#avalanche-mainnet-settings
85
108
  this.name = 'AvalancheCTestnet';
86
109
  this.family = base_1.CoinFamily.AVAXC;
87
- this.explorerUrl = 'https://cchain.explorer.avax-test.network/tx/';
88
- this.accountExplorerUrl = 'https://cchain.explorer.avax-test.network/address/';
110
+ this.explorerUrl = 'https://subnets-test.avax.network/c-chain/tx/';
111
+ this.accountExplorerUrl = 'https://subnets-test.avax.network/c-chain/address/';
89
112
  this.chainId = 43113;
90
113
  }
91
114
  }
@@ -94,8 +117,8 @@ class AvalancheP extends Mainnet {
94
117
  super(...arguments);
95
118
  this.name = 'AvalancheP';
96
119
  this.family = base_1.CoinFamily.AVAXP;
97
- this.explorerUrl = 'https://explorer-xp.avax.network/tx/';
98
- this.accountExplorerUrl = 'https://explorer-xp.avax.network/address/';
120
+ this.explorerUrl = 'https://subnets.avax.network/p-chain/tx/';
121
+ this.accountExplorerUrl = 'https://subnets.avax.network/p-chain/address/';
99
122
  this.blockchainID = '11111111111111111111111111111111LpoYY';
100
123
  this.cChainBlockchainID = '2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5';
101
124
  this.avaxAssetID = 'FvwEAhmxKfeiG8SnEvq42hc6whRyY3EFYAvebMqDNDGCgxN5Z';
@@ -104,6 +127,7 @@ class AvalancheP extends Mainnet {
104
127
  this.alias = 'P';
105
128
  this.vm = 'platformvm';
106
129
  this.txFee = '1000000'; // 1 MILLIAVAX
130
+ this.maxImportFee = '10000000'; // 0.01 AVAX
107
131
  this.createSubnetTx = '1000000000'; // 1 AVAX
108
132
  this.createChainTx = '1000000000'; // 1 AVAX
109
133
  this.creationTxFee = '10000000'; // 1 CENTIAVAX
@@ -122,8 +146,8 @@ class AvalanchePTestnet extends Testnet {
122
146
  super(...arguments);
123
147
  this.name = 'AvalanchePTestnet';
124
148
  this.family = base_1.CoinFamily.AVAXP;
125
- this.explorerUrl = 'https://explorer-xp.avax-test.network/tx/';
126
- this.accountExplorerUrl = 'https://explorer-xp.avax-test.network/address/';
149
+ this.explorerUrl = 'https://subnets-test.avax.network/p-chain/tx/';
150
+ this.accountExplorerUrl = 'https://subnets-test.avax.network/p-chain/address/';
127
151
  this.blockchainID = '11111111111111111111111111111111LpoYY';
128
152
  this.cChainBlockchainID = 'yH8D7ThNJkxmtkuv2jgBa4P1Rn3Qpr4pPr7QYNfcdoS6k6HWp';
129
153
  this.avaxAssetID = 'U8iRqJoiJm8xZHAacmvYyZVwqQx6uDNtQeP3CQ6fcgQk3JqnK';
@@ -132,6 +156,7 @@ class AvalanchePTestnet extends Testnet {
132
156
  this.hrp = 'fuji';
133
157
  this.vm = 'platformvm';
134
158
  this.txFee = '1000000'; // 1 MILLIAVAX
159
+ this.maxImportFee = '10000000'; // 0.01 AVAX
135
160
  this.createSubnetTx = '1000000000'; // 1 AVAX
136
161
  this.createChainTx = '1000000000'; // 1 AVAX
137
162
  this.creationTxFee = '10000000'; // 1 CENTIAVAX
@@ -150,8 +175,8 @@ class BinanceSmartChain extends Mainnet {
150
175
  super(...arguments);
151
176
  this.name = 'BinanceSmartChain';
152
177
  this.family = base_1.CoinFamily.BSC;
153
- this.explorerUrl = 'https://www.bscscan.com/';
154
- this.accountExplorerUrl = 'https://www.bscscan.com/';
178
+ this.explorerUrl = 'https://www.bscscan.com/tx/';
179
+ this.accountExplorerUrl = 'https://www.bscscan.com/address/';
155
180
  this.chainId = 56;
156
181
  }
157
182
  }
@@ -160,8 +185,8 @@ class BinanceSmartChainTestnet extends Testnet {
160
185
  super(...arguments);
161
186
  this.name = 'BinanceSmartChainTestnet';
162
187
  this.family = base_1.CoinFamily.BSC;
163
- this.explorerUrl = 'https://testnet.bscscan.com/';
164
- this.accountExplorerUrl = 'https://testnet.bscscan.com/';
188
+ this.explorerUrl = 'https://testnet.bscscan.com/tx/';
189
+ this.accountExplorerUrl = 'https://testnet.bscscan.com/address/';
165
190
  this.chainId = 97;
166
191
  }
167
192
  }
@@ -171,7 +196,7 @@ class Bitcoin extends Mainnet {
171
196
  this.name = 'Bitcoin';
172
197
  this.family = base_1.CoinFamily.BTC;
173
198
  this.utxolibName = 'bitcoin';
174
- this.explorerUrl = 'https://blockstream.info/tx/';
199
+ this.explorerUrl = 'https://mempool.space/tx/';
175
200
  }
176
201
  }
177
202
  class BitcoinTestnet extends Testnet {
@@ -180,7 +205,7 @@ class BitcoinTestnet extends Testnet {
180
205
  this.name = 'BitcoinTestnet';
181
206
  this.family = base_1.CoinFamily.BTC;
182
207
  this.utxolibName = 'testnet';
183
- this.explorerUrl = 'https://blockstream.info/testnet/tx/';
208
+ this.explorerUrl = 'https://mempool.space/testnet/tx/';
184
209
  }
185
210
  }
186
211
  class BitcoinCash extends Mainnet {
@@ -301,7 +326,6 @@ class Polkadot extends Mainnet {
301
326
  this.genesisHash = '0x91b171bb158e2d3848fa23a9f1c25182fb8e20313b2c1eb49219da7a70ce90c3';
302
327
  this.specVersion = 9140;
303
328
  this.chainName = 'Polkadot';
304
- this.metadataRpc = dot_1.mainnetMetadataRpc;
305
329
  this.txVersion = 9;
306
330
  }
307
331
  }
@@ -313,10 +337,9 @@ class PolkadotTestnet extends Testnet {
313
337
  this.explorerUrl = 'https://westend.subscan.io/extrinsic/';
314
338
  this.specName = 'westend';
315
339
  this.genesisHash = '0xe143f23803ac50e8f6f8e62695d1ce9e4e1d68aa36c1cd2cfd15340213f3423e';
316
- this.specVersion = 9160;
340
+ this.specVersion = 9430;
317
341
  this.chainName = 'Westend';
318
- this.metadataRpc = dot_1.westendMetadataRpc;
319
- this.txVersion = 9;
342
+ this.txVersion = 22;
320
343
  }
321
344
  }
322
345
  class Celo extends Mainnet {
@@ -327,6 +350,8 @@ class Celo extends Mainnet {
327
350
  this.explorerUrl = 'https://explorer.celo.org/tx/';
328
351
  this.accountExplorerUrl = 'https://explorer.celo.org/address/';
329
352
  this.chainId = 42220;
353
+ this.nativeCoinOperationHashPrefix = 'CELO';
354
+ this.tokenOperationHashPrefix = 'CELO-ERC20';
330
355
  }
331
356
  }
332
357
  class CeloTestnet extends Testnet {
@@ -337,6 +362,8 @@ class CeloTestnet extends Testnet {
337
362
  this.explorerUrl = 'https://alfajores-blockscout.celo-testnet.org/tx/';
338
363
  this.accountExplorerUrl = 'https://alfajores-blockscout.celo-testnet.org/address/';
339
364
  this.chainId = 44787;
365
+ this.nativeCoinOperationHashPrefix = 'CELO';
366
+ this.tokenOperationHashPrefix = 'CELO-ERC20';
340
367
  }
341
368
  }
342
369
  // TODO update explorerUrl STLX-1657
@@ -349,14 +376,13 @@ class Casper extends Mainnet {
349
376
  this.accountExplorerUrl = 'https://cspr.live/account/';
350
377
  }
351
378
  }
352
- // TODO update explorerUrl STLX-1657
353
379
  class CasperTestnet extends Testnet {
354
380
  constructor() {
355
381
  super(...arguments);
356
382
  this.name = 'CasperTestnet';
357
383
  this.family = base_1.CoinFamily.CSPR;
358
- this.explorerUrl = 'https://testnet.cspr.live/deploy/';
359
- this.accountExplorerUrl = 'https://testnet.cspr.live/account/';
384
+ this.explorerUrl = 'https://integration.cspr.live/deploy/';
385
+ this.accountExplorerUrl = 'https://integration.cspr.live/account/';
360
386
  }
361
387
  }
362
388
  class Ethereum extends Mainnet {
@@ -366,11 +392,14 @@ class Ethereum extends Mainnet {
366
392
  this.family = base_1.CoinFamily.ETH;
367
393
  this.explorerUrl = 'https://etherscan.io/tx/';
368
394
  this.accountExplorerUrl = 'https://etherscan.io/address/';
395
+ this.blockExplorerUrl = 'https://etherscan.io/block/';
369
396
  // from https://github.com/ethereumjs/ethereumjs-common/blob/a978f630858f6843176bb20b277569785914e899/src/chains/index.ts
370
397
  this.chainId = 1;
371
398
  this.batcherContractAddress = '0x0c9b25dfe02b2c89cce86e1a0bd6c04a7aca01b6';
372
399
  this.forwarderFactoryAddress = '0xffa397285ce46fb78c588a9e993286aac68c37cd';
373
400
  this.forwarderImplementationAddress = '0x059ffafdc6ef594230de44f824e2bd0a51ca5ded';
401
+ this.nativeCoinOperationHashPrefix = 'ETHER';
402
+ this.tokenOperationHashPrefix = 'ERC20';
374
403
  }
375
404
  }
376
405
  class Ethereum2 extends Mainnet {
@@ -393,6 +422,8 @@ class EthereumW extends Mainnet {
393
422
  this.batcherContractAddress = '';
394
423
  this.forwarderFactoryAddress = '';
395
424
  this.forwarderImplementationAddress = '';
425
+ this.nativeCoinOperationHashPrefix = 'ETHER';
426
+ this.tokenOperationHashPrefix = 'ERC20';
396
427
  }
397
428
  }
398
429
  class Pyrmont extends Testnet {
@@ -416,6 +447,8 @@ class Kovan extends Testnet {
416
447
  this.batcherContractAddress = '0xc0aaf2649e7b0f3950164681eca2b1a8f654a478';
417
448
  this.forwarderFactoryAddress = '0xa79a485294d226075ee65410bc94ea454f3e409d';
418
449
  this.forwarderImplementationAddress = '0xa946e748f25a5ec6878eb1a9f2e902028174c0b3';
450
+ this.nativeCoinOperationHashPrefix = 'ETHER';
451
+ this.tokenOperationHashPrefix = 'ERC20';
419
452
  }
420
453
  }
421
454
  class Goerli extends Testnet {
@@ -425,11 +458,31 @@ class Goerli extends Testnet {
425
458
  this.family = base_1.CoinFamily.ETH;
426
459
  this.explorerUrl = 'https://goerli.etherscan.io/tx/';
427
460
  this.accountExplorerUrl = 'https://goerli.etherscan.io/address/';
461
+ this.blockExplorerUrl = 'https://goerli.etherscan.io/block/';
428
462
  // from https://github.com/ethereumjs/ethereumjs-common/blob/a978f630858f6843176bb20b277569785914e899/src/chains/index.ts
429
463
  this.chainId = 5;
430
464
  this.batcherContractAddress = '0xe8e847cf573fc8ed75621660a36affd18c543d7e';
431
465
  this.forwarderFactoryAddress = '0xf5caa5e3e93afbc21bd19ef4f2691a37121f7917';
432
466
  this.forwarderImplementationAddress = '0x80d5c91e8cc21df69fc4d64f21dc2d83121c3999';
467
+ this.nativeCoinOperationHashPrefix = 'ETHER';
468
+ this.tokenOperationHashPrefix = 'ERC20';
469
+ }
470
+ }
471
+ class Holesky extends Testnet {
472
+ constructor() {
473
+ super(...arguments);
474
+ this.name = 'Holesky';
475
+ this.family = base_1.CoinFamily.ETH;
476
+ this.explorerUrl = 'https://holesky.beaconcha.in/tx/';
477
+ this.accountExplorerUrl = 'https://holesky.beaconcha.in/address/';
478
+ this.blockExplorerUrl = 'https://holesky.beaconcha.in/block/';
479
+ // https://chainlist.org/chain/17000
480
+ this.chainId = 17000;
481
+ this.batcherContractAddress = '0x8ae286c75a339ffabaed3a22088c52eb4f589780';
482
+ this.forwarderFactoryAddress = '0x23223fd7cfc5f34b20f38ebb9a489e1ff3c084d1';
483
+ this.forwarderImplementationAddress = '0xd4c24325b5ef514fbb1ecc76a9bb4dcb57a8341e';
484
+ this.nativeCoinOperationHashPrefix = 'ETHER';
485
+ this.tokenOperationHashPrefix = 'ERC20';
433
486
  }
434
487
  }
435
488
  class EthereumClassic extends Mainnet {
@@ -441,6 +494,8 @@ class EthereumClassic extends Mainnet {
441
494
  this.accountExplorerUrl = 'https://blockscout.com/etc/mainnet/address/';
442
495
  // from https://chainid.network/chains/
443
496
  this.chainId = 61;
497
+ this.nativeCoinOperationHashPrefix = 'ETC';
498
+ this.tokenOperationHashPrefix = 'ETC-ERC20';
444
499
  }
445
500
  }
446
501
  class EthereumClassicTestnet extends Testnet {
@@ -452,6 +507,8 @@ class EthereumClassicTestnet extends Testnet {
452
507
  this.accountExplorerUrl = 'https://blockscout.com/etc/mordor/address/';
453
508
  // from https://chainid.network/chains/
454
509
  this.chainId = 63;
510
+ this.nativeCoinOperationHashPrefix = 'ETC';
511
+ this.tokenOperationHashPrefix = 'ETC-ERC20';
455
512
  }
456
513
  }
457
514
  class Eos extends Mainnet {
@@ -528,6 +585,8 @@ class Rbtc extends Mainnet {
528
585
  this.explorerUrl = 'https://explorer.rsk.co/tx/';
529
586
  this.accountExplorerUrl = 'https://explorer.rsk.co/address/';
530
587
  this.chainId = 30;
588
+ this.nativeCoinOperationHashPrefix = 'RSK';
589
+ this.tokenOperationHashPrefix = 'RSK-ERC20';
531
590
  }
532
591
  }
533
592
  class RbtcTestnet extends Testnet {
@@ -538,6 +597,8 @@ class RbtcTestnet extends Testnet {
538
597
  this.explorerUrl = 'https://explorer.testnet.rsk.co/tx/';
539
598
  this.accountExplorerUrl = 'https://explorer.testnet.rsk.co/address/';
540
599
  this.chainId = 31;
600
+ this.nativeCoinOperationHashPrefix = 'RSK';
601
+ this.tokenOperationHashPrefix = 'RSK-ERC20';
541
602
  }
542
603
  }
543
604
  class Stellar extends Mainnet {
@@ -577,8 +638,7 @@ class Sui extends Mainnet {
577
638
  super(...arguments);
578
639
  this.name = 'Sui';
579
640
  this.family = base_1.CoinFamily.SUI;
580
- // TODO(BG-58364): mysten is still only in devnet update to mainnet url when it's live
581
- this.explorerUrl = 'https://explorer.devnet.sui.io/transactions/';
641
+ this.explorerUrl = 'https://explorer.sui.io/txblock/?network=mainnet';
582
642
  }
583
643
  }
584
644
  class SuiTestnet extends Testnet {
@@ -586,7 +646,217 @@ class SuiTestnet extends Testnet {
586
646
  super(...arguments);
587
647
  this.name = 'Testnet Sui';
588
648
  this.family = base_1.CoinFamily.SUI;
589
- this.explorerUrl = 'https://explorer.devnet.sui.io/transactions/';
649
+ this.explorerUrl = 'https://explorer.sui.io/txblock/?network=testnet';
650
+ }
651
+ }
652
+ class Atom extends Mainnet {
653
+ constructor() {
654
+ super(...arguments);
655
+ this.name = 'Cosmos Hub ATOM';
656
+ this.family = base_1.CoinFamily.ATOM;
657
+ this.explorerUrl = 'https://atomscan.com/transactions/';
658
+ }
659
+ }
660
+ class AtomTestnet extends Testnet {
661
+ constructor() {
662
+ super(...arguments);
663
+ this.name = 'Testnet Cosmos Hub ATOM';
664
+ this.family = base_1.CoinFamily.ATOM;
665
+ this.explorerUrl = 'https://explorer.theta-testnet.polypore.xyz/transactions/';
666
+ }
667
+ }
668
+ class Osmo extends Mainnet {
669
+ constructor() {
670
+ super(...arguments);
671
+ this.name = 'Osmosis';
672
+ this.family = base_1.CoinFamily.OSMO;
673
+ this.explorerUrl = 'https://www.mintscan.io/osmosis/txs/';
674
+ }
675
+ }
676
+ class OsmoTestnet extends Testnet {
677
+ constructor() {
678
+ super(...arguments);
679
+ this.name = 'Testnet Osmosis';
680
+ this.family = base_1.CoinFamily.OSMO;
681
+ this.explorerUrl = 'https://testnet.osmosis.explorers.guru/transaction/';
682
+ }
683
+ }
684
+ class Tia extends Mainnet {
685
+ constructor() {
686
+ super(...arguments);
687
+ this.name = 'Celestia';
688
+ this.family = base_1.CoinFamily.TIA;
689
+ this.explorerUrl = 'https://www.mintscan.io/celestia/tx/';
690
+ }
691
+ }
692
+ class TiaTestnet extends Testnet {
693
+ constructor() {
694
+ super(...arguments);
695
+ this.name = 'Testnet Celestia';
696
+ this.family = base_1.CoinFamily.TIA;
697
+ this.explorerUrl = 'https://testnet.mintscan.io/celestia-testnet/txs/';
698
+ }
699
+ }
700
+ class Hash extends Mainnet {
701
+ constructor() {
702
+ super(...arguments);
703
+ this.name = 'Provenance';
704
+ this.family = base_1.CoinFamily.HASH;
705
+ this.explorerUrl = 'https://explorer.provenance.io/tx/';
706
+ }
707
+ }
708
+ class HashTestnet extends Testnet {
709
+ constructor() {
710
+ super(...arguments);
711
+ this.name = 'Testnet Provenance';
712
+ this.family = base_1.CoinFamily.HASH;
713
+ this.explorerUrl = 'https://explorer.test.provenance.io/tx/';
714
+ }
715
+ }
716
+ class Bld extends Mainnet {
717
+ constructor() {
718
+ super(...arguments);
719
+ this.name = 'Agoric';
720
+ this.family = base_1.CoinFamily.BLD;
721
+ this.explorerUrl = 'https://bigdipper.live/agoric/transactions/';
722
+ }
723
+ }
724
+ class BldTestnet extends Testnet {
725
+ constructor() {
726
+ super(...arguments);
727
+ this.name = 'Testnet Agoric';
728
+ this.family = base_1.CoinFamily.BLD;
729
+ this.explorerUrl = 'https://emerynet.explorer.agoric.net/agoric/tx/';
730
+ }
731
+ }
732
+ class Sei extends Mainnet {
733
+ constructor() {
734
+ super(...arguments);
735
+ this.name = 'Sei';
736
+ this.family = base_1.CoinFamily.SEI;
737
+ // TODO(BG-78997): Sei is still only in testnet update to mainnet url when it's live
738
+ this.explorerUrl = 'https://sei.explorers.guru/transaction/';
739
+ }
740
+ }
741
+ class SeiTestnet extends Testnet {
742
+ constructor() {
743
+ super(...arguments);
744
+ this.name = 'Testnet Sei';
745
+ this.family = base_1.CoinFamily.SEI;
746
+ this.explorerUrl = 'https://www.seiscan.app/atlantic-2/txs/';
747
+ }
748
+ }
749
+ class Zeta extends Mainnet {
750
+ constructor() {
751
+ super(...arguments);
752
+ this.name = 'Zeta';
753
+ this.family = base_1.CoinFamily.ZETA;
754
+ // TODO(WIN-142): Zeta is still only in testnet update to mainnet url when it's live
755
+ this.explorerUrl = 'https://explorer.zetachain.com/cc/tx/';
756
+ }
757
+ }
758
+ class ZetaTestnet extends Testnet {
759
+ constructor() {
760
+ super(...arguments);
761
+ this.name = 'Testnet Zeta';
762
+ this.family = base_1.CoinFamily.ZETA;
763
+ this.explorerUrl = 'https://zetachain.explorers.guru/transaction/';
764
+ }
765
+ }
766
+ class Injective extends Mainnet {
767
+ constructor() {
768
+ super(...arguments);
769
+ this.name = 'Injective';
770
+ this.family = base_1.CoinFamily.INJECTIVE;
771
+ this.explorerUrl = 'https://explorer.injective.network/transaction/';
772
+ }
773
+ }
774
+ class InjectiveTestnet extends Testnet {
775
+ constructor() {
776
+ super(...arguments);
777
+ this.name = 'InjectiveTestnet';
778
+ this.family = base_1.CoinFamily.INJECTIVE;
779
+ this.explorerUrl = 'https://testnet.explorer.injective.network/transaction/';
780
+ }
781
+ }
782
+ class Kava extends Mainnet {
783
+ constructor() {
784
+ super(...arguments);
785
+ this.name = 'Kava';
786
+ this.family = base_1.CoinFamily.KAVA;
787
+ this.explorerUrl = 'https://www.mintscan.io/kava/transactions/';
788
+ }
789
+ }
790
+ class KavaTestnet extends Testnet {
791
+ constructor() {
792
+ super(...arguments);
793
+ this.name = 'KavaTestnet';
794
+ this.family = base_1.CoinFamily.KAVA;
795
+ this.explorerUrl = 'https://testnet.mintscan.io/kava-testnet/txs/';
796
+ }
797
+ }
798
+ class Ton extends Mainnet {
799
+ constructor() {
800
+ super(...arguments);
801
+ this.name = 'Ton';
802
+ this.family = base_1.CoinFamily.TON;
803
+ this.explorerUrl = 'https://https://tonscan.org/';
804
+ }
805
+ }
806
+ class TonTestnet extends Testnet {
807
+ constructor() {
808
+ super(...arguments);
809
+ this.name = 'Testnet Ton';
810
+ this.family = base_1.CoinFamily.TON;
811
+ this.explorerUrl = 'https://https://testnet.tonscan.org/';
812
+ }
813
+ }
814
+ class Coreum extends Mainnet {
815
+ constructor() {
816
+ super(...arguments);
817
+ this.name = 'Coreum';
818
+ this.family = base_1.CoinFamily.COREUM;
819
+ this.explorerUrl = 'https://explorer.coreum.com/coreum/transactions/';
820
+ }
821
+ }
822
+ class CoreumTestnet extends Testnet {
823
+ constructor() {
824
+ super(...arguments);
825
+ this.name = 'CoreumTestnet';
826
+ this.family = base_1.CoinFamily.COREUM;
827
+ this.explorerUrl = 'https://explorer.testnet-1.coreum.dev/coreum/transactions/';
828
+ }
829
+ }
830
+ class Bera extends Mainnet {
831
+ constructor() {
832
+ super(...arguments);
833
+ this.name = 'Berachain';
834
+ this.family = base_1.CoinFamily.BERA;
835
+ this.explorerUrl = undefined;
836
+ }
837
+ }
838
+ class BeraTestnet extends Testnet {
839
+ constructor() {
840
+ super(...arguments);
841
+ this.name = 'BerachainTestnet';
842
+ this.family = base_1.CoinFamily.BERA;
843
+ this.explorerUrl = undefined;
844
+ }
845
+ }
846
+ class Islm extends Mainnet {
847
+ constructor() {
848
+ super(...arguments);
849
+ this.name = 'Haqq';
850
+ this.family = base_1.CoinFamily.ISLM;
851
+ this.explorerUrl = 'https://ping.pub/haqq/tx/';
852
+ }
853
+ }
854
+ class IslmTestnet extends Testnet {
855
+ constructor() {
856
+ super(...arguments);
857
+ this.name = 'HaqqTestnet';
858
+ this.family = base_1.CoinFamily.ISLM;
859
+ this.explorerUrl = 'https://testnet.ping.pub/haqq/tx/';
590
860
  }
591
861
  }
592
862
  class Stx extends Mainnet {
@@ -682,8 +952,8 @@ class Xtz extends Mainnet {
682
952
  super(...arguments);
683
953
  this.name = 'Xtz';
684
954
  this.family = base_1.CoinFamily.XTZ;
685
- this.explorerUrl = 'https://tezblock.io/transaction/';
686
- this.accountExplorerUrl = 'https://tezblock.io/account/';
955
+ this.explorerUrl = 'https://tzstats.com/';
956
+ this.accountExplorerUrl = 'https://tzstats.com/';
687
957
  }
688
958
  }
689
959
  class XtzTestnet extends Testnet {
@@ -691,8 +961,8 @@ class XtzTestnet extends Testnet {
691
961
  super(...arguments);
692
962
  this.name = 'XtzTestnet';
693
963
  this.family = base_1.CoinFamily.XTZ;
694
- this.explorerUrl = 'https://carthagenet.tezblock.io/transaction/';
695
- this.accountExplorerUrl = 'https://carthagenet.tezblock.io/account/';
964
+ this.explorerUrl = 'https://ghostnet.tzkt.io/';
965
+ this.accountExplorerUrl = 'https://ghostnet.tzkt.io/';
696
966
  }
697
967
  }
698
968
  class ZCash extends Mainnet {
@@ -745,6 +1015,9 @@ class Polygon extends Mainnet {
745
1015
  this.forwarderImplementationAddress = '0x5397d0869aba0d55e96d5716d383f6e1d8695ed7';
746
1016
  this.walletFactoryAddress = '0xa7198f48c58e91f01317e70cd24c5cce475c1555';
747
1017
  this.walletImplementationAddress = '0xe5dcdc13b628c2df813db1080367e929c1507ca0';
1018
+ this.batcherContractAddress = '0x7adc9b3d7521710321bec7dd6897d337e53c2493';
1019
+ this.nativeCoinOperationHashPrefix = 'POLYGON';
1020
+ this.tokenOperationHashPrefix = 'POLYGON-ERC20';
748
1021
  }
749
1022
  }
750
1023
  class PolygonTestnet extends Testnet {
@@ -759,21 +1032,77 @@ class PolygonTestnet extends Testnet {
759
1032
  this.forwarderImplementationAddress = '0xaa2216d72d7c149dfe4c3dd2154cd00994216506';
760
1033
  this.walletFactoryAddress = '0xe37c07faec87be075ce4002b5fedbde00a4fe9d5';
761
1034
  this.walletImplementationAddress = '0x11f8d70a4ee9d0962bb1160d776d4a996cfdff40';
1035
+ this.batcherContractAddress = '0xcdf01a31ea2a1d62951aac3a5743c4416f9da3fb';
1036
+ this.nativeCoinOperationHashPrefix = 'POLYGON';
1037
+ this.tokenOperationHashPrefix = 'POLYGON-ERC20';
1038
+ }
1039
+ }
1040
+ class Optimism extends Mainnet {
1041
+ constructor() {
1042
+ super(...arguments);
1043
+ this.name = 'Optimism';
1044
+ this.family = base_1.CoinFamily.OPETH;
1045
+ this.explorerUrl = 'https://optimistic.etherscan.io/tx/';
1046
+ this.accountExplorerUrl = 'https://optimistic.etherscan.io/address/';
1047
+ this.chainId = 10;
1048
+ this.nativeCoinOperationHashPrefix = '10';
1049
+ this.tokenOperationHashPrefix = '10-ERC20';
1050
+ }
1051
+ }
1052
+ class OptimismTestnet extends Testnet {
1053
+ constructor() {
1054
+ super(...arguments);
1055
+ this.name = 'OptimismTestnet';
1056
+ this.family = base_1.CoinFamily.OPETH;
1057
+ this.explorerUrl = 'https://sepolia-optimism.etherscan.io/tx/';
1058
+ this.accountExplorerUrl = 'https://sepolia-optimism.etherscan.io/address/';
1059
+ this.chainId = 11155420;
1060
+ this.nativeCoinOperationHashPrefix = '11155420';
1061
+ this.tokenOperationHashPrefix = '11155420-ERC20';
1062
+ }
1063
+ }
1064
+ class ZkSync extends Mainnet {
1065
+ constructor() {
1066
+ super(...arguments);
1067
+ this.name = 'ZkSync';
1068
+ this.family = base_1.CoinFamily.ZKETH;
1069
+ this.explorerUrl = 'https://explorer.zksync.io/tx/';
1070
+ this.accountExplorerUrl = 'https://explorer.zksync.io/address/';
1071
+ this.chainId = 324;
1072
+ this.nativeCoinOperationHashPrefix = '324';
1073
+ this.tokenOperationHashPrefix = '324-ERC20';
1074
+ }
1075
+ }
1076
+ class ZkSyncTestnet extends Testnet {
1077
+ constructor() {
1078
+ super(...arguments);
1079
+ this.name = 'ZkSyncTestnet';
1080
+ this.family = base_1.CoinFamily.ZKETH;
1081
+ this.explorerUrl = 'https://sepolia.explorer.zksync.io/tx/';
1082
+ this.accountExplorerUrl = 'https://sepolia.explorer.zksync.io/address/';
1083
+ this.chainId = 300;
1084
+ this.nativeCoinOperationHashPrefix = '300';
1085
+ this.tokenOperationHashPrefix = '300-ERC20';
762
1086
  }
763
1087
  }
764
1088
  exports.Networks = {
765
1089
  main: {
766
1090
  ada: Object.freeze(new Ada()),
767
1091
  algorand: Object.freeze(new Algorand()),
1092
+ arbitrum: Object.freeze(new Arbitrum()),
1093
+ atom: Object.freeze(new Atom()),
768
1094
  avalancheC: Object.freeze(new AvalancheC()),
769
1095
  avalancheP: Object.freeze(new AvalancheP()),
770
1096
  bitcoin: Object.freeze(new Bitcoin()),
771
1097
  bitcoinCash: Object.freeze(new BitcoinCash()),
772
1098
  bitcoinGold: Object.freeze(new BitcoinGold()),
773
1099
  bitcoinSV: Object.freeze(new BitcoinSV()),
1100
+ bera: Object.freeze(new Bera()),
1101
+ bld: Object.freeze(new Bld()),
774
1102
  bsc: Object.freeze(new BinanceSmartChain()),
775
1103
  casper: Object.freeze(new Casper()),
776
1104
  celo: Object.freeze(new Celo()),
1105
+ coreum: Object.freeze(new Coreum()),
777
1106
  dash: Object.freeze(new Dash()),
778
1107
  dogecoin: Object.freeze(new Dogecoin()),
779
1108
  dot: Object.freeze(new Polkadot()),
@@ -784,31 +1113,46 @@ exports.Networks = {
784
1113
  ethereumClassic: Object.freeze(new EthereumClassic()),
785
1114
  ethereumW: Object.freeze(new EthereumW()),
786
1115
  fiat: Object.freeze(new Fiat()),
1116
+ hash: Object.freeze(new Hash()),
787
1117
  hedera: Object.freeze(new Hedera()),
1118
+ injective: Object.freeze(new Injective()),
1119
+ islm: Object.freeze(new Islm()),
1120
+ kava: Object.freeze(new Kava()),
788
1121
  litecoin: Object.freeze(new Litecoin()),
789
1122
  polygon: Object.freeze(new Polygon()),
790
1123
  ofc: Object.freeze(new Ofc()),
1124
+ optimism: Object.freeze(new Optimism()),
1125
+ osmo: Object.freeze(new Osmo()),
791
1126
  rbtc: Object.freeze(new Rbtc()),
792
1127
  stellar: Object.freeze(new Stellar()),
1128
+ sei: Object.freeze(new Sei()),
793
1129
  sol: Object.freeze(new Sol()),
794
1130
  sui: Object.freeze(new Sui()),
795
1131
  near: Object.freeze(new Near()),
796
1132
  stx: Object.freeze(new Stx()),
797
1133
  susd: Object.freeze(new SUSD()),
1134
+ tia: Object.freeze(new Tia()),
1135
+ ton: Object.freeze(new Ton()),
798
1136
  trx: Object.freeze(new Trx()),
799
1137
  xrp: Object.freeze(new Xrp()),
800
1138
  xtz: Object.freeze(new Xtz()),
801
1139
  zCash: Object.freeze(new ZCash()),
1140
+ zeta: Object.freeze(new Zeta()),
1141
+ zkSync: Object.freeze(new ZkSync()),
802
1142
  },
803
1143
  test: {
804
1144
  ada: Object.freeze(new AdaTestnet()),
805
1145
  algorand: Object.freeze(new AlgorandTestnet()),
1146
+ arbitrum: Object.freeze(new ArbitrumTestnet()),
1147
+ atom: Object.freeze(new AtomTestnet()),
806
1148
  avalancheC: Object.freeze(new AvalancheCTestnet()),
807
1149
  avalancheP: Object.freeze(new AvalanchePTestnet()),
808
1150
  bitcoin: Object.freeze(new BitcoinTestnet()),
809
1151
  bitcoinCash: Object.freeze(new BitcoinCashTestnet()),
810
1152
  bitcoinGold: Object.freeze(new BitcoinGoldTestnet()),
811
1153
  bitcoinSV: Object.freeze(new BitcoinSVTestnet()),
1154
+ bera: Object.freeze(new BeraTestnet()),
1155
+ bld: Object.freeze(new BldTestnet()),
812
1156
  bsc: Object.freeze(new BinanceSmartChainTestnet()),
813
1157
  casper: Object.freeze(new CasperTestnet()),
814
1158
  celo: Object.freeze(new CeloTestnet()),
@@ -820,23 +1164,36 @@ exports.Networks = {
820
1164
  fiat: Object.freeze(new FiatTestnet()),
821
1165
  pyrmont: Object.freeze(new Pyrmont()),
822
1166
  ethereumClassicTestnet: Object.freeze(new EthereumClassicTestnet()),
1167
+ hash: Object.freeze(new HashTestnet()),
823
1168
  hedera: Object.freeze(new HederaTestnet()),
1169
+ injective: Object.freeze(new InjectiveTestnet()),
1170
+ islm: Object.freeze(new IslmTestnet()),
1171
+ kava: Object.freeze(new KavaTestnet()),
824
1172
  kovan: Object.freeze(new Kovan()),
825
1173
  goerli: Object.freeze(new Goerli()),
1174
+ holesky: Object.freeze(new Holesky()),
826
1175
  litecoin: Object.freeze(new LitecoinTestnet()),
827
1176
  polygon: Object.freeze(new PolygonTestnet()),
828
1177
  ofc: Object.freeze(new OfcTestnet()),
1178
+ optimism: Object.freeze(new OptimismTestnet()),
1179
+ osmo: Object.freeze(new OsmoTestnet()),
829
1180
  rbtc: Object.freeze(new RbtcTestnet()),
830
1181
  stellar: Object.freeze(new StellarTestnet()),
1182
+ sei: Object.freeze(new SeiTestnet()),
831
1183
  sol: Object.freeze(new SolTestnet()),
832
1184
  sui: Object.freeze(new SuiTestnet()),
833
1185
  near: Object.freeze(new NearTestnet()),
834
1186
  stx: Object.freeze(new StxTestnet()),
835
1187
  susd: Object.freeze(new SUSDTestnet()),
1188
+ coreum: Object.freeze(new CoreumTestnet()),
1189
+ tia: Object.freeze(new TiaTestnet()),
1190
+ ton: Object.freeze(new TonTestnet()),
836
1191
  trx: Object.freeze(new TrxTestnet()),
837
1192
  xrp: Object.freeze(new XrpTestnet()),
838
1193
  xtz: Object.freeze(new XtzTestnet()),
839
1194
  zCash: Object.freeze(new ZCashTestnet()),
1195
+ zeta: Object.freeze(new ZetaTestnet()),
1196
+ zkSync: Object.freeze(new ZkSyncTestnet()),
840
1197
  },
841
1198
  };
842
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQW9DO0FBQ3BDLDBDQUEwRTtBQUUxRSxJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsa0NBQW1CLENBQUE7SUFDbkIsa0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBR3RCO0FBRUQsTUFBc0IsV0FBVztDQUtoQztBQUxELGtDQUtDO0FBcUZELE1BQWUsT0FBUSxTQUFRLFdBQVc7SUFBMUM7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDN0IsQ0FBQztDQUFBO0FBRUQsTUFBZSxPQUFRLFNBQVEsV0FBVztJQUExQzs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRCxNQUFNLFFBQVMsU0FBUSxPQUFPO0lBQTlCOztRQUNFLFNBQUksR0FBRyxVQUFVLENBQUM7UUFDbEIsV0FBTSxHQUFHLGlCQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsNkJBQTZCLENBQUM7SUFDOUMsQ0FBQztDQUFBO0FBRUQsTUFBTSxlQUFnQixTQUFRLE9BQU87SUFBckM7O1FBQ0UsU0FBSSxHQUFHLGlCQUFpQixDQUFDO1FBQ3pCLFdBQU0sR0FBRyxpQkFBVSxDQUFDLElBQUksQ0FBQztRQUN6QixnQkFBVyxHQUFHLHFDQUFxQyxDQUFDO0lBQ3RELENBQUM7Q0FBQTtBQUVELE1BQU0sR0FBSSxTQUFRLE9BQU87SUFBekI7O1FBQ0UsU0FBSSxHQUFHLFlBQVksQ0FBQztRQUNwQixXQUFNLEdBQUcsaUJBQVUsQ0FBQyxHQUFHLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEIsb0JBQWUsR0FBRyxP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LFNBQVMsRUFBRSxDQUFDO1FBQ3pDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNuQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7UUFDckMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7UUFDckMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksS0FB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TUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUM7S0FDekM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29pbkZhbWlseSB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBtYWlubmV0TWV0YWRhdGFScGMsIHdlc3RlbmRNZXRhZGF0YVJwYyB9IGZyb20gJy4uL3Jlc291cmNlcy9kb3QnO1xuXG5leHBvcnQgZW51bSBOZXR3b3JrVHlwZSB7XG4gIE1BSU5ORVQgPSAnbWFpbm5ldCcsXG4gIFRFU1RORVQgPSAndGVzdG5ldCcsXG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTmV0d29yayB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0eXBlOiBOZXR3b3JrVHlwZTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGZhbWlseTogQ29pbkZhbWlseTtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGV4cGxvcmVyVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXR4b05ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIC8vIE5ldHdvcmsgbmFtZSBhcyBkZWZpbmVkIGluIEBiaXRnby1iZXRhL3V0eG8tbGliIG5ldHdvcmtzLnRzXG4gIHV0eG9saWJOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gTmV0d29yayBuYW1lIGFzIGRlZmluZWQgaW4gQGJpdGdvLWJldGEvdXR4by1saWIgbmV0d29ya3MudHNcbiAgLy8gbWF5YmUgYWRkIG5ldHdvcmsgaWRlbnRpZmllciAvIG1hZ2ljIG5ldHdvcmsgbnVtYmVyXG4gIHV0eG9saWJOYW1lOiBzdHJpbmc7XG4gIHBvb2xEZXBvc2l0OiBudW1iZXI7XG4gIHN0YWtlS2V5RGVwb3NpdDogbnVtYmVyO1xuICBtYXhWYWx1ZVNpemU6IG51bWJlcjtcbiAgbWF4VHJhbnNhY3Rpb25TaXplOiBudW1iZXI7XG4gIGNvaW5zUGVyVXR4b1dvcmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdmFsYW5jaGVOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICByZWFkb25seSBhbGlhczogc3RyaW5nO1xuICByZWFkb25seSBibG9ja2NoYWluSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgY0NoYWluQmxvY2tjaGFpbklEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5ldHdvcmtJRDogbnVtYmVyO1xuICByZWFkb25seSBocnA6IHN0cmluZztcbiAgcmVhZG9ubHkgdm06IHN0cmluZztcbiAgcmVhZG9ubHkgY3JlYXRpb25UeEZlZTogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGVTdWJuZXRUeDogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGVDaGFpblR4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbkNvbnN1bXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heENvbnN1bXB0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heFN1cHBseTogc3RyaW5nO1xuICByZWFkb25seSBtaW5TdGFrZTogc3RyaW5nO1xuICByZWFkb25seSBtaW5TdGFrZUR1cmF0aW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1heFN0YWtlRHVyYXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWluRGVsZWdhdGlvblN0YWtlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pbkRlbGVnYXRpb25GZWU6IHN0cmluZztcbiAgLy8gY3VycmVudCB2YWxpZCBhc3NldCBpZCBpcyBBVkFYXG4gIHJlYWRvbmx5IGF2YXhBc3NldElEOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR4RmVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWNjb3VudE5ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIC8vIHNvbWUgY2hhaW5zIHBheSBmZWVzIHZpYSBhbiBlbnRlcnByaXNlIGdhcyB0YXNrLiBUaGUgYWNjb3VudCBleHBsb3JlciB1cmxcbiAgLy8gaXMgYSB1cmwgdGhhdCBjYW4gYmUgdXNlZCB0byBsb29rIHVwIHRoZSBhY2NvdW50IGZvciB0aGUgZ2FzIHRhbmsgb24tY2hhaW4uXG4gIHJlYWRvbmx5IGFjY291bnRFeHBsb3JlclVybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTcGVjaWZpY2F0aW9uIG5hbWUgdHlwZSBvZiB0aGUgY2hhaW4uIFVzZWQgaW4gc2V0dGluZyB1cCB0aGUgcmVnaXN0cnlcbiAqL1xuZXhwb3J0IHR5cGUgUG9sa2Fkb3RTcGVjTmFtZVR5cGUgPSAna3VzYW1hJyB8ICdwb2xrYWRvdCcgfCAnd2VzdGVuZCcgfCAnc3RhdGVtaW50JyB8ICdzdGF0ZW1pbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERvdE5ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIC8vIHNvbWUgY2hhaW5zIHBheSBmZWVzIHZpYSBhbiBlbnRlcnByaXNlIGdhcyB0YXNrLiBUaGUgYWNjb3VudCBleHBsb3JlciB1cmxcbiAgLy8gaXMgYSB1cmwgdGhhdCBjYW4gYmUgdXNlZCB0byBsb29rIHVwIHRoZSBhY2NvdW50IGZvciB0aGUgZ2FzIHRhbmsgb24tY2hhaW4uXG4gIHJlYWRvbmx5IHNwZWNOYW1lOiBQb2xrYWRvdFNwZWNOYW1lVHlwZTtcbiAgcmVhZG9ubHkgZ2VuZXNpc0hhc2g6IHN0cmluZztcbiAgcmVhZG9ubHkgc3BlY1ZlcnNpb246IG51bWJlcjtcbiAgcmVhZG9ubHkgY2hhaW5OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1ldGFkYXRhUnBjOiBgMHgke3N0cmluZ31gO1xuICByZWFkb25seSB0eFZlcnNpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGhlcmV1bU5ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIC8vIHVuaXF1ZSBjaGFpbiBpZCB1c2VkIGZvciByZXBsYXktcHJvdGVjdGluZyB0cmFuc2FjdGlvbnNcbiAgcmVhZG9ubHkgY2hhaW5JZDogbnVtYmVyO1xuICByZWFkb25seSBiYXRjaGVyQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICAvLyBmb3J3YXJkZXIgY29uZmlndXJhdGlvbiBhZGRyZXNzZXMgdXNlZCBmb3IgY2FsY3VsYXRpbmcgZm9yd2FyZGVyIHZlcnNpb24gMSBhZGRyZXNzZXNcbiAgcmVhZG9ubHkgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcm9uTmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgbWF4RmVlTGltaXQ6IHN0cmluZztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFja3NOZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICByZWFkb25seSBzZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcmVhZG9ubHkgc3Rha2luZ0NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBPZmNOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge31cblxuYWJzdHJhY3QgY2xhc3MgTWFpbm5ldCBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgdHlwZSA9IE5ldHdvcmtUeXBlLk1BSU5ORVQ7XG59XG5cbmFic3RyYWN0IGNsYXNzIFRlc3RuZXQgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIHR5cGUgPSBOZXR3b3JrVHlwZS5URVNUTkVUO1xufVxuXG5jbGFzcyBBbGdvcmFuZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQWxnb3JhbmQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFMR087XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYWxnb2V4cGxvcmVyLmlvL3R4Lyc7XG59XG5cbmNsYXNzIEFsZ29yYW5kVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQWxnb3JhbmRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BTEdPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYWxnb2V4cGxvcmVyLmlvL3R4Lyc7XG59XG5cbmNsYXNzIEFkYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBZGFOZXR3b3JrIHtcbiAgbmFtZSA9ICdBZGFDYXJkYW5vJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BREE7XG4gIHV0eG9saWJOYW1lID0gJ2NhcmRhbm8nO1xuICBwb29sRGVwb3NpdCA9IDUwMDAwMDAwMDtcbiAgc3Rha2VLZXlEZXBvc2l0ID0gMjAwMDAwMDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jYXJkYW5vLm9yZy9lbic7XG4gIGNvaW5zUGVyVXR4b1dvcmQgPSAzNDQ4MjtcbiAgbWF4VHJhbnNhY3Rpb25TaXplID0gODAwMDtcbiAgbWF4VmFsdWVTaXplID0gNDAwMDtcbn1cblxuY2xhc3MgQWRhVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBZGFOZXR3b3JrIHtcbiAgbmFtZSA9ICdBZGFDYXJkYW5vVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQURBO1xuICB1dHhvbGliTmFtZSA9ICdjYXJkYW5vVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcHJlcHJvZC5jZXhwbG9yZXIuaW8vJztcbiAgY29pbnNQZXJVdHhvV29yZCA9IDM0NDgyO1xuICBtYXhUcmFuc2FjdGlvblNpemUgPSA4MDAwO1xuICBtYXhWYWx1ZVNpemUgPSA0MDAwO1xuICBwb29sRGVwb3NpdCA9IDUwMDAwMDAwMDtcbiAgc3Rha2VLZXlEZXBvc2l0ID0gMjAwMDAwMDtcbn1cblxuY2xhc3MgQXZhbGFuY2hlQyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2NoYWluLmV4cGxvcmVyLmF2YXgubmV0d29yay90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jY2hhaW4uZXhwbG9yZXIuYXZheC5uZXR3b3JrL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQzMTE0O1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQ1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NjaGFpbi5leHBsb3Jlci5hdmF4LXRlc3QubmV0d29yay90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jY2hhaW4uZXhwbG9yZXIuYXZheC10ZXN0Lm5ldHdvcmsvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDMxMTM7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQXZhbGFuY2hlTmV0d29yayB7XG4gIG5hbWUgPSAnQXZhbGFuY2hlUCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWFA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIteHAuYXZheC5uZXR3b3JrL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLXhwLmF2YXgubmV0d29yay9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJzJxOWU0cjZNdTNVNjhuVTFmWWpnYlI2SnZ3clJ4MzZDb2hwQVg1VVF4c2U1NXgxUTUnO1xuICBhdmF4QXNzZXRJRCA9ICdGdndFQWhteEtmZWlHOFNuRXZxNDJoYzZ3aFJ5WTNFRllBdmViTXFETkRHQ2d4TjVaJztcbiAgbmV0d29ya0lEID0gMTtcbiAgaHJwID0gJ2F2YXgnO1xuICBhbGlhcyA9ICdQJztcbiAgdm0gPSAncGxhdGZvcm12bSc7XG4gIHR4RmVlID0gJzEwMDAwMDAnOyAvLyAxIE1JTExJQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcyMDAwMDAwMDAwMDAwJzsgLy8gMjAwMCBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnMTIwOTYwMCc7IC8vIDIgd2Vla3NcbiAgbWF4U3Rha2VEdXJhdGlvbiA9ICczMTUzNjAwMCc7IC8vIDEgeWVhclxuICBtaW5EZWxlZ2F0aW9uU3Rha2UgPSAnMjUwMDAwMDAwMDAnOyAvLyAyNSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEF2YWxhbmNoZU5ldHdvcmsge1xuICBuYW1lID0gJ0F2YWxhbmNoZVBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci14cC5hdmF4LXRlc3QubmV0d29yay90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci14cC5hdmF4LXRlc3QubmV0d29yay9hZGRyZXNzLyc7XG4gIGJsb2NrY2hhaW5JRCA9ICcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMUxwb1lZJztcbiAgY0NoYWluQmxvY2tjaGFpbklEID0gJ3lIOEQ3VGhOSmt4bXRrdXYyamdCYTRQMVJuM1FwcjRwUHI3UVlOZmNkb1M2azZIV3AnO1xuICBhdmF4QXNzZXRJRCA9ICdVOGlScUpvaUptOHhaSEFhY212WXlaVndxUXg2dUROdFFlUDNDUTZmY2dRazNKcW5LJztcbiAgbmV0d29ya0lEID0gNTtcbiAgYWxpYXMgPSAnUCc7XG4gIGhycCA9ICdmdWppJztcbiAgdm0gPSAncGxhdGZvcm12bSc7XG4gIHR4RmVlID0gJzEwMDAwMDAnOyAvLyAxIE1JTExJQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnODY0MDAnOyAvLyAxIGRheVxuICBtYXhTdGFrZUR1cmF0aW9uID0gJzMxNTM2MDAwJzsgLy8gMSB5ZWFyXG4gIG1pbkRlbGVnYXRpb25TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEJpbmFuY2VTbWFydENoYWluIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmluYW5jZVNtYXJ0Q2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYnNjc2Nhbi5jb20vJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJzY3NjYW4uY29tLyc7XG4gIGNoYWluSWQgPSA1Njtcbn1cblxuY2xhc3MgQmluYW5jZVNtYXJ0Q2hhaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmluYW5jZVNtYXJ0Q2hhaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CU0M7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC5ic2NzY2FuLmNvbS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJzY3NjYW4uY29tLyc7XG4gIGNoYWluSWQgPSA5Nztcbn1cblxuY2xhc3MgQml0Y29pbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRDO1xuICB1dHhvbGliTmFtZSA9ICd0ZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3N0cmVhbS5pbmZvL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgQml0Y29pbkNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5DYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0g7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5jYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYmxvY2tjaGFpbi5jb20vYmNoL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5DYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0g7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5jYXNoVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJsb2NrY2hhaW4uY29tL2JjaC10ZXN0bmV0L3R4Lyc7XG59XG5jbGFzcyBCaXRjb2luU1YgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5TVic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNWO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luc3YnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2JpdGNvaW4tc3YvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgQml0Y29pblNWVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblNWVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlNWO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luc3ZUZXN0bmV0JztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIEJpdGNvaW5Hb2xkIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luR29sZCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRHO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luZ29sZCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYnRnZXhwbG9yZXIuY29tL3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5Hb2xkVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkdvbGRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CVEc7XG4gIHV0eG9saWJOYW1lID0gJ2JpdGNvaW5nb2xkVGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBEYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5EQVNIO1xuICB1dHhvbGliTmFtZSA9ICdkYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9pbnNpZ2h0LmRhc2hldm8ub3JnL2luc2lnaHQvdHgvJztcbn1cblxuY2xhc3MgRGFzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0Rhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5EQVNIO1xuICB1dHhvbGliTmFtZSA9ICdkYXNoVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdG5ldC1pbnNpZ2h0LmRhc2hldm8ub3JnL2luc2lnaHQvdHgvJztcbn1cblxuY2xhc3MgRG9nZWNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0RvZ2Vjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET0dFO1xuICB1dHhvbGliTmFtZSA9ICdkb2dlY29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vZG9nZWNvaW4vdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgRG9nZWNvaW5UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEb2dlY29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPR0U7XG4gIHV0eG9saWJOYW1lID0gJ2RvZ2Vjb2luVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tleHBsb3Jlci5vbmUvZG9nZWNvaW4vdGVzdG5ldC90eC8nO1xufVxuXG5jbGFzcyBFQ2FzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRUNhc2gnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJDSEE7XG4gIHV0eG9saWJOYW1lID0gJ2VjYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9lY2FzaCc7XG59XG5cbmNsYXNzIEVDYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRUNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0hBO1xuICB1dHhvbGliTmFtZSA9ICdlY2FzaFRlc3QnO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgUG9sa2Fkb3QgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRG90TmV0d29yayB7XG4gIG5hbWUgPSAnUG9sa2Fkb3QnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2xrYWRvdC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICdwb2xrYWRvdCcgYXMgUG9sa2Fkb3RTcGVjTmFtZVR5cGU7XG4gIGdlbmVzaXNIYXNoID0gJzB4OTFiMTcxYmIxNThlMmQzODQ4ZmEyM2E5ZjFjMjUxODJmYjhlMjAzMTNiMmMxZWI0OTIxOWRhN2E3MGNlOTBjMyc7XG4gIHNwZWNWZXJzaW9uID0gOTE0MDtcbiAgY2hhaW5OYW1lID0gJ1BvbGthZG90JztcbiAgbWV0YWRhdGFScGMgPSBtYWlubmV0TWV0YWRhdGFScGMgYXMgYDB4JHtzdHJpbmd9YDtcbiAgdHhWZXJzaW9uID0gOTtcbn1cblxuY2xhc3MgUG9sa2Fkb3RUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIERvdE5ldHdvcmsge1xuICBuYW1lID0gJ1dlc3RlbmQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkRPVDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93ZXN0ZW5kLnN1YnNjYW4uaW8vZXh0cmluc2ljLyc7XG4gIHNwZWNOYW1lID0gJ3dlc3RlbmQnIGFzIFBvbGthZG90U3BlY05hbWVUeXBlO1xuICBnZW5lc2lzSGFzaCA9ICcweGUxNDNmMjM4MDNhYzUwZThmNmY4ZTYyNjk1ZDFjZTllNGUxZDY4YWEzNmMxY2QyY2ZkMTUzNDAyMTNmMzQyM2UnO1xuICBzcGVjVmVyc2lvbiA9IDkxNjA7XG4gIGNoYWluTmFtZSA9ICdXZXN0ZW5kJztcbiAgbWV0YWRhdGFScGMgPSB3ZXN0ZW5kTWV0YWRhdGFScGMgYXMgYDB4JHtzdHJpbmd9YDtcbiAgdHhWZXJzaW9uID0gOTtcbn1cblxuY2xhc3MgQ2VsbyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0NlbG8nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNFTE87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuY2Vsby5vcmcvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuY2Vsby5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDIyMjA7XG59XG5cbmNsYXNzIENlbG9UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ2Vsb1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNFTE87XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYWxmYWpvcmVzLWJsb2Nrc2NvdXQuY2Vsby10ZXN0bmV0Lm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbGZham9yZXMtYmxvY2tzY291dC5jZWxvLXRlc3RuZXQub3JnL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQ0Nzg3O1xufVxuXG4vLyBUT0RPIHVwZGF0ZSBleHBsb3JlclVybCBTVExYLTE2NTdcbmNsYXNzIENhc3BlciBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ2FzcGVyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DU1BSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2NzcHIubGl2ZS9kZXBsb3kvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY3Nwci5saXZlL2FjY291bnQvJztcbn1cblxuLy8gVE9ETyB1cGRhdGUgZXhwbG9yZXJVcmwgU1RMWC0xNjU3XG5jbGFzcyBDYXNwZXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXJUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DU1BSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuY3Nwci5saXZlL2RlcGxveS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmNzcHIubGl2ZS9hY2NvdW50Lyc7XG59XG5cbmNsYXNzIEV0aGVyZXVtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLWNvbW1vbi9ibG9iL2E5NzhmNjMwODU4ZjY4NDMxNzZiYjIwYjI3NzU2OTc4NTkxNGU4OTkvc3JjL2NoYWlucy9pbmRleC50c1xuICBjaGFpbklkID0gMTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweDBjOWIyNWRmZTAyYjJjODljY2U4NmUxYTBiZDZjMDRhN2FjYTAxYjYnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGZmYTM5NzI4NWNlNDZmYjc4YzU4OGE5ZTk5MzI4NmFhYzY4YzM3Y2QnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHgwNTlmZmFmZGM2ZWY1OTQyMzBkZTQ0ZjgyNGUyYmQwYTUxY2E1ZGVkJztcbn1cblxuY2xhc3MgRXRoZXJldW0yIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bTInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vdHgnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9hZGRyZXNzJztcbn1cblxuY2xhc3MgRXRoZXJldW1XIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0gUG9XJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEhXO1xuICBleHBsb3JlclVybCA9ICcnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnJztcbiAgY2hhaW5JZCA9IDEwMDAxO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcnO1xufVxuXG5jbGFzcyBQeXJtb250IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdQeXJtb250JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEgyO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL3B5cm1vbnQvdHgnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9weXJtb250L2FkZHJlc3MnO1xufVxuXG5jbGFzcyBLb3ZhbiBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ0tvdmFuJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va292YW4uZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2tvdmFuLmV0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDQyO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4YzBhYWYyNjQ5ZTdiMGYzOTUwMTY0NjgxZWNhMmIxYThmNjU0YTQ3OCc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4YTc5YTQ4NTI5NGQyMjYwNzVlZTY1NDEwYmM5NGVhNDU0ZjNlNDA5ZCc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGE5NDZlNzQ4ZjI1YTVlYzY4NzhlYjFhOWYyZTkwMjAyODE3NGMwYjMnO1xufVxuXG5jbGFzcyBHb2VybGkgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdHb2VybGknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2dvZXJsaS5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICAvLyBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlcmV1bWpzL2V0aGVyZXVtanMtY29tbW9uL2Jsb2IvYTk3OGY2MzA4NThmNjg0MzE3NmJiMjBiMjc3NTY5Nzg1OTE0ZTg5OS9zcmMvY2hhaW5zL2luZGV4LnRzXG4gIGNoYWluSWQgPSA1O1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4ZThlODQ3Y2Y1NzNmYzhlZDc1NjIxNjYwYTM2YWZmZDE4YzU0M2Q3ZSc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4ZjVjYWE1ZTNlOTNhZmJjMjFiZDE5ZWY0ZjI2OTFhMzcxMjFmNzkxNyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDgwZDVjOTFlOGNjMjFkZjY5ZmM0ZDY0ZjIxZGMyZDgzMTIxYzM5OTknO1xufVxuXG5jbGFzcyBFdGhlcmV1bUNsYXNzaWMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bUNsYXNzaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldC90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbWFpbm5ldC9hZGRyZXNzLyc7XG4gIC8vIGZyb20gIGh0dHBzOi8vY2hhaW5pZC5uZXR3b3JrL2NoYWlucy9cbiAgY2hhaW5JZCA9IDYxO1xufVxuXG5jbGFzcyBFdGhlcmV1bUNsYXNzaWNUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW1DbGFzc2ljVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2Nrc2NvdXQuY29tL2V0Yy9tb3Jkb3IvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21vcmRvci9hZGRyZXNzLyc7XG4gIC8vIGZyb20gIGh0dHBzOi8vY2hhaW5pZC5uZXR3b3JrL2NoYWlucy9cbiAgY2hhaW5JZCA9IDYzO1xufVxuXG5jbGFzcyBFb3MgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Vvcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRU9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmVvc25ldHdvcmsuY29tL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEVvc1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Vvc1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVPUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9reWxpbi5lb3N4LmlvL3R4Lyc7XG59XG5cbmNsYXNzIEhlZGVyYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSGVkZXJhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmthYnV0by5zaC9tYWlubmV0L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEhlZGVyYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0hlZGVyYVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhCQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIua2FidXRvLnNoL3Rlc3RuZXQvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgTGl0ZWNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0xpdGVjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MVEM7XG4gIHV0eG9saWJOYW1lID0gJ2xpdGVjb2luJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9saXRlY29pbi90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBMaXRlY29pblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0xpdGVjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTFRDO1xuICB1dHhvbGliTmFtZSA9ICdsaXRlY29pblRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrZXhwbG9yZXIub25lL2xpdGVjb2luL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgT2ZjIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIE9mY05ldHdvcmsge1xuICBuYW1lID0gJ09mYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0ZDO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgT2ZjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBPZmNOZXR3b3JrIHtcbiAgbmFtZSA9ICdPZmNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PRkM7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBSYnRjIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUmJ0Yyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUkJUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5yc2suY28vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucnNrLmNvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDMwO1xufVxuXG5jbGFzcyBSYnRjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1JidGNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5SQlRDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQucnNrLmNvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQucnNrLmNvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDMxO1xufVxuXG5jbGFzcyBTdGVsbGFyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdGVsbGFyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YTE07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3RlbGxhci5leHBlcnQvZXhwbG9yZXIvcHVibGljL3R4Lyc7XG59XG5cbmNsYXNzIFN0ZWxsYXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdGVsbGFyVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWExNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N0ZWxsYXIuZXhwZXJ0L2V4cGxvcmVyL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgU29sIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTb2wnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zb2xhbmEuY29tL3R4Lyc7XG59XG5cbmNsYXNzIFNvbFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NvbFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNPTDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zb2xhbmEuY29tL3R4Lz9jbHVzdGVyPWRldm5ldCc7XG59XG5cbmNsYXNzIFN1aSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU3VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVUk7XG4gIC8vICBUT0RPKEJHLTU4MzY0KTogbXlzdGVuIGlzIHN0aWxsIG9ubHkgaW4gZGV2bmV0IHVwZGF0ZSB0byBtYWlubmV0IHVybCB3aGVuIGl0J3MgbGl2ZVxuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmRldm5ldC5zdWkuaW8vdHJhbnNhY3Rpb25zLyc7XG59XG5cbmNsYXNzIFN1aVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgU3VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuZGV2bmV0LnN1aS5pby90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgU3R4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFN0YWNrc05ldHdvcmsge1xuICBuYW1lID0gJ1N0eCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1RYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN0YWNrcy5jby90eGlkLyc7XG4gIHNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzcyA9ICdTUDNGQlIyQUdLNUg5UUJESDNFRU42REY4RUs4Slk3Ulg4UUo1U1ZURSc7XG4gIHN0YWtpbmdDb250cmFjdEFkZHJlc3MgPSAnU1AwMDAwMDAwMDAwMDAwMDAwMDAwMDJRNlZGNzgnO1xufVxuXG5jbGFzcyBTdHhUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFN0YWNrc05ldHdvcmsge1xuICBuYW1lID0gJ1N0eFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNUWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zdGFja3MuY28vdHhpZC8/Y2hhaW49dGVzdG5ldCc7XG4gIHNlbmRtYW55bWVtb0NvbnRyYWN0QWRkcmVzcyA9ICdTVDNGMVg0UUdWMlNNOFhEOTZYNDVNNlJUUVhLQTFQWkpaWkNRQUI0Qic7XG4gIHN0YWtpbmdDb250cmFjdEFkZHJlc3MgPSAnU1QwMDAwMDAwMDAwMDAwMDAwMDAwMDJBTVc0MkgnO1xufVxuXG5jbGFzcyBTVVNEIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTVVNEJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVVNEO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgU1VTRFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NVU0RUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVVNEO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgRmlhdFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQmFzZU5ldHdvcmsge1xuICBuYW1lID0gJ0ZpYXRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GSUFUO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgRmlhdCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBCYXNlTmV0d29yayB7XG4gIG5hbWUgPSAnRmlhdCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRklBVDtcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIFRyeCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBUcm9uTmV0d29yayB7XG4gIG5hbWUgPSAnVHJ4JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5UUlg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdHJvbnNjYW4ub3JnLyMvdHJhbnNhY3Rpb24vJztcbiAgbWF4RmVlTGltaXQgPSAnNTAwMDAwMDAwMCc7XG4gIGNvbnRyYWN0Q2FsbEZlZUxpbWl0ID0gJzEwMDAwMDAwMCc7XG59XG5cbmNsYXNzIFRyeFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVHJvbk5ldHdvcmsge1xuICBuYW1lID0gJ1RyeFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRSWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zaGFzdGEudHJvbnNjYW4ub3JnLyMvdHJhbnNhY3Rpb24vJztcbiAgbWF4RmVlTGltaXQgPSAnNTAwMDAwMDAwMCc7XG4gIGNvbnRyYWN0Q2FsbEZlZUxpbWl0ID0gJzEwMDAwMDAwMCc7XG59XG5cbmNsYXNzIFhycCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWHJwJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YUlA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbGl2ZW5ldC54cnBsLm9yZy90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgWHJwVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnWHJwVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFJQO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3QuYml0aG9tcC5jb20vZXhwbG9yZXIvJztcbn1cblxuY2xhc3MgWHR6IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYdHonO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhUWjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXpibG9jay5pby90cmFuc2FjdGlvbi8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXpibG9jay5pby9hY2NvdW50Lyc7XG59XG5cbmNsYXNzIFh0elRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1h0elRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhUWjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jYXJ0aGFnZW5ldC50ZXpibG9jay5pby90cmFuc2FjdGlvbi8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jYXJ0aGFnZW5ldC50ZXpibG9jay5pby9hY2NvdW50Lyc7XG59XG5cbmNsYXNzIFpDYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdaQ2FzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWkVDO1xuICB1dHhvbGliTmFtZSA9ICd6Y2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW4uc28vdHgvWkVDLyc7XG59XG5cbmNsYXNzIFpDYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnWkNhc2hUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRUM7XG4gIHV0eG9saWJOYW1lID0gJ3pjYXNoVGVzdCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY2hhaW4uc28vdHgvWkVDVEVTVC8nO1xufVxuXG5jbGFzcyBOZWFyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdOZWFyJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ORUFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLm5lYXIub3JnL3RyYW5zYWN0aW9ucy8nO1xuICBmZWVSZXNlcnZlID0gJzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcbiAgc3RvcmFnZVJlc2VydmUgPSAnMjAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIGZlZVJlc2VydmUgKyBzdG9yYWdlUmVzZXJ2ZSBpcyBtaW5pbXVtIGFjY291bnQgYmFsYW5jZSBmb3IgYSBORUFSIHdhbGxldCBodHRwczovL2RvY3MubmVhci5vcmcvaW50ZWdyYXRvci9mYXEjaXMtdGhlcmUtYS1taW5pbXVtLWFjY291bnQtYmFsYW5jZVxufVxuXG5jbGFzcyBOZWFyVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnTmVhclRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk5FQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIudGVzdG5ldC5uZWFyLm9yZy90cmFuc2FjdGlvbnMvJztcbiAgZmVlUmVzZXJ2ZSA9ICc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7XG4gIHN0b3JhZ2VSZXNlcnZlID0gJzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAnOyAvLyBmZWVSZXNlcnZlICsgc3RvcmFnZVJlc2VydmUgaXMgbWluaW11bSBhY2NvdW50IGJhbGFuY2UgZm9yIGEgTkVBUiB3YWxsZXQgaHR0cHM6Ly9kb2NzLm5lYXIub3JnL2ludGVncmF0b3IvZmFxI2lzLXRoZXJlLWEtbWluaW11bS1hY2NvdW50LWJhbGFuY2Vcbn1cblxuY2xhc3MgUG9seWdvbiBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1BvbHlnb24nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlBPTFlHT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9seWdvbnNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3BvbHlnb25zY2FuLmNvbS9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMzc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4MjllZjQ2MDM1ZTlmYTNkNTcwYzU5OGQzMjY2NDI0Y2ExMTQxM2IwYyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweDUzOTdkMDg2OWFiYTBkNTVlOTZkNTcxNmQzODNmNmUxZDg2OTVlZDcnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweGE3MTk4ZjQ4YzU4ZTkxZjAxMzE3ZTcwY2QyNGM1Y2NlNDc1YzE1NTUnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhlNWRjZGMxM2I2MjhjMmRmODEzZGIxMDgwMzY3ZTkyOWMxNTA3Y2EwJztcbn1cblxuY2xhc3MgUG9seWdvblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdQb2x5Z29uVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUE9MWUdPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tdW1iYWkucG9seWdvbnNjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL211bWJhaS5wb2x5Z29uc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gODAwMDE7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJzB4N2QxMGNmZGNiNzYzMzc1ZmI1ZjBhMGU5MTAxZjQ5MGYwYmYxYjQzYSc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGFhMjIxNmQ3MmQ3YzE0OWRmZTRjM2RkMjE1NGNkMDA5OTQyMTY1MDYnO1xuICB3YWxsZXRGYWN0b3J5QWRkcmVzcyA9ICcweGUzN2MwN2ZhZWM4N2JlMDc1Y2U0MDAyYjVmZWRiZGUwMGE0ZmU5ZDUnO1xuICB3YWxsZXRJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHgxMWY4ZDcwYTRlZTlkMDk2MmJiMTE2MGQ3NzZkNGE5OTZjZmRmZjQwJztcbn1cblxuZXhwb3J0IGNvbnN0IE5ldHdvcmtzID0ge1xuICBtYWluOiB7XG4gICAgYWRhOiBPYmplY3QuZnJlZXplKG5ldyBBZGEoKSksXG4gICAgYWxnb3JhbmQ6IE9iamVjdC5mcmVlemUobmV3IEFsZ29yYW5kKCkpLFxuICAgIGF2YWxhbmNoZUM6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZUMoKSksXG4gICAgYXZhbGFuY2hlUDogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlUCgpKSxcbiAgICBiaXRjb2luOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luKCkpLFxuICAgIGJpdGNvaW5DYXNoOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luQ2FzaCgpKSxcbiAgICBiaXRjb2luR29sZDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkdvbGQoKSksXG4gICAgYml0Y29pblNWOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luU1YoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpbigpKSxcbiAgICBjYXNwZXI6IE9iamVjdC5mcmVlemUobmV3IENhc3BlcigpKSxcbiAgICBjZWxvOiBPYmplY3QuZnJlZXplKG5ldyBDZWxvKCkpLFxuICAgIGRhc2g6IE9iamVjdC5mcmVlemUobmV3IERhc2goKSksXG4gICAgZG9nZWNvaW46IE9iamVjdC5mcmVlemUobmV3IERvZ2Vjb2luKCkpLFxuICAgIGRvdDogT2JqZWN0LmZyZWV6ZShuZXcgUG9sa2Fkb3QoKSksXG4gICAgZUNhc2g6IE9iamVjdC5mcmVlemUobmV3IEVDYXNoKCkpLFxuICAgIGVvczogT2JqZWN0LmZyZWV6ZShuZXcgRW9zKCkpLFxuICAgIGV0aGVyZXVtOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bSgpKSxcbiAgICBldGhlcmV1bTI6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtMigpKSxcbiAgICBldGhlcmV1bUNsYXNzaWM6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtQ2xhc3NpYygpKSxcbiAgICBldGhlcmV1bVc6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtVygpKSxcbiAgICBmaWF0OiBPYmplY3QuZnJlZXplKG5ldyBGaWF0KCkpLFxuICAgIGhlZGVyYTogT2JqZWN0LmZyZWV6ZShuZXcgSGVkZXJhKCkpLFxuICAgIGxpdGVjb2luOiBPYmplY3QuZnJlZXplKG5ldyBMaXRlY29pbigpKSxcbiAgICBwb2x5Z29uOiBPYmplY3QuZnJlZXplKG5ldyBQb2x5Z29uKCkpLFxuICAgIG9mYzogT2JqZWN0LmZyZWV6ZShuZXcgT2ZjKCkpLFxuICAgIHJidGM6IE9iamVjdC5mcmVlemUobmV3IFJidGMoKSksXG4gICAgc3RlbGxhcjogT2JqZWN0LmZyZWV6ZShuZXcgU3RlbGxhcigpKSxcbiAgICBzb2w6IE9iamVjdC5mcmVlemUobmV3IFNvbCgpKSxcbiAgICBzdWk6IE9iamVjdC5mcmVlemUobmV3IFN1aSgpKSxcbiAgICBuZWFyOiBPYmplY3QuZnJlZXplKG5ldyBOZWFyKCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4KCkpLFxuICAgIHN1c2Q6IE9iamVjdC5mcmVlemUobmV3IFNVU0QoKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcngoKSksXG4gICAgeHJwOiBPYmplY3QuZnJlZXplKG5ldyBYcnAoKSksXG4gICAgeHR6OiBPYmplY3QuZnJlZXplKG5ldyBYdHooKSksXG4gICAgekNhc2g6IE9iamVjdC5mcmVlemUobmV3IFpDYXNoKCkpLFxuICB9LFxuICB0ZXN0OiB7XG4gICAgYWRhOiBPYmplY3QuZnJlZXplKG5ldyBBZGFUZXN0bmV0KCkpLFxuICAgIGFsZ29yYW5kOiBPYmplY3QuZnJlZXplKG5ldyBBbGdvcmFuZFRlc3RuZXQoKSksXG4gICAgYXZhbGFuY2hlQzogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlQ1Rlc3RuZXQoKSksXG4gICAgYXZhbGFuY2hlUDogT2JqZWN0LmZyZWV6ZShuZXcgQXZhbGFuY2hlUFRlc3RuZXQoKSksXG4gICAgYml0Y29pbjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblRlc3RuZXQoKSksXG4gICAgYml0Y29pbkNhc2g6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5DYXNoVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luR29sZDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkdvbGRUZXN0bmV0KCkpLFxuICAgIGJpdGNvaW5TVjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblNWVGVzdG5ldCgpKSxcbiAgICBic2M6IE9iamVjdC5mcmVlemUobmV3IEJpbmFuY2VTbWFydENoYWluVGVzdG5ldCgpKSxcbiAgICBjYXNwZXI6IE9iamVjdC5mcmVlemUobmV3IENhc3BlclRlc3RuZXQoKSksXG4gICAgY2VsbzogT2JqZWN0LmZyZWV6ZShuZXcgQ2Vsb1Rlc3RuZXQoKSksXG4gICAgZGFzaDogT2JqZWN0LmZyZWV6ZShuZXcgRGFzaFRlc3RuZXQoKSksXG4gICAgZG9nZWNvaW46IE9iamVjdC5mcmVlemUobmV3IERvZ2Vjb2luVGVzdG5ldCgpKSxcbiAgICBkb3Q6IE9iamVjdC5mcmVlemUobmV3IFBvbGthZG90VGVzdG5ldCgpKSxcbiAgICBlQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgRUNhc2hUZXN0bmV0KCkpLFxuICAgIGVvczogT2JqZWN0LmZyZWV6ZShuZXcgRW9zVGVzdG5ldCgpKSxcbiAgICBmaWF0OiBPYmplY3QuZnJlZXplKG5ldyBGaWF0VGVzdG5ldCgpKSxcbiAgICBweXJtb250OiBPYmplY3QuZnJlZXplKG5ldyBQeXJtb250KCkpLFxuICAgIGV0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQ6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQoKSksXG4gICAgaGVkZXJhOiBPYmplY3QuZnJlZXplKG5ldyBIZWRlcmFUZXN0bmV0KCkpLFxuICAgIGtvdmFuOiBPYmplY3QuZnJlZXplKG5ldyBLb3ZhbigpKSxcbiAgICBnb2VybGk6IE9iamVjdC5mcmVlemUobmV3IEdvZXJsaSgpKSxcbiAgICBsaXRlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgTGl0ZWNvaW5UZXN0bmV0KCkpLFxuICAgIHBvbHlnb246IE9iamVjdC5mcmVlemUobmV3IFBvbHlnb25UZXN0bmV0KCkpLFxuICAgIG9mYzogT2JqZWN0LmZyZWV6ZShuZXcgT2ZjVGVzdG5ldCgpKSxcbiAgICByYnRjOiBPYmplY3QuZnJlZXplKG5ldyBSYnRjVGVzdG5ldCgpKSxcbiAgICBzdGVsbGFyOiBPYmplY3QuZnJlZXplKG5ldyBTdGVsbGFyVGVzdG5ldCgpKSxcbiAgICBzb2w6IE9iamVjdC5mcmVlemUobmV3IFNvbFRlc3RuZXQoKSksXG4gICAgc3VpOiBPYmplY3QuZnJlZXplKG5ldyBTdWlUZXN0bmV0KCkpLFxuICAgIG5lYXI6IE9iamVjdC5mcmVlemUobmV3IE5lYXJUZXN0bmV0KCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4VGVzdG5ldCgpKSxcbiAgICBzdXNkOiBPYmplY3QuZnJlZXplKG5ldyBTVVNEVGVzdG5ldCgpKSxcbiAgICB0cng6IE9iamVjdC5mcmVlemUobmV3IFRyeFRlc3RuZXQoKSksXG4gICAgeHJwOiBPYmplY3QuZnJlZXplKG5ldyBYcnBUZXN0bmV0KCkpLFxuICAgIHh0ejogT2JqZWN0LmZyZWV6ZShuZXcgWHR6VGVzdG5ldCgpKSxcbiAgICB6Q2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgWkNhc2hUZXN0bmV0KCkpLFxuICB9LFxufTtcbiJdfQ==
1199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV0d29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQW9DO0FBRXBDLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFHdEI7QUFFRCxNQUFzQixXQUFXO0NBS2hDO0FBTEQsa0NBS0M7QUF3RkQsTUFBZSxPQUFRLFNBQVEsV0FBVztJQUExQzs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUM3QixDQUFDO0NBQUE7QUFFRCxNQUFlLE9BQVEsU0FBUSxXQUFXO0lBQTFDOztRQUNFLFNBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO0lBQzdCLENBQUM7Q0FBQTtBQUVELE1BQU0sUUFBUyxTQUFRLE9BQU87SUFBOUI7O1FBQ0UsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUNsQixXQUFNLEdBQUcsaUJBQVUsQ0FBQyxJQUFJLENBQUM7UUFDekIsZ0JBQVcsR0FBRyw2QkFBNkIsQ0FBQztJQUM5QyxDQUFDO0NBQUE7QUFFRCxNQUFNLGVBQWdCLFNBQVEsT0FBTztJQUFyQzs7UUFDRSxTQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDekIsV0FBTSxHQUFHLGlCQUFVLENBQUMsSUFBSSxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcscUNBQXFDLENBQUM7SUFDdEQsQ0FBQztDQUFBO0FBRUQsTUFBTSxHQUFJLFNBQVEsT0FBTztJQUF6Qjs7UUFDRSxTQUFJLEdBQUcsWUFBWSxDQUFDO1FBQ3BCLFdBQU0sR0FBRyxpQkFBVSxDQUFDLEdBQUcsQ0FBQztRQUN4QixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUN4QixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUN4QixvQkFBZSxHQUFHLE9BQU8sQ0FBQztRQUMx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Q0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUM3QixHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDN0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9CLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFD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LFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksZUFBZSxFQUFFLENBQUM7UUFDOUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUM1QyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksZUFBZSxFQUFFLENBQUM7UUFDOUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksY0FBYyxFQUFFLENBQUM7UUFDNUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUN0QyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDdEMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUMxQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNwQyxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDcEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUM7S0FDM0M7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29pbkZhbWlseSB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBlbnVtIE5ldHdvcmtUeXBlIHtcbiAgTUFJTk5FVCA9ICdtYWlubmV0JyxcbiAgVEVTVE5FVCA9ICd0ZXN0bmV0Jyxcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VOZXR3b3JrIHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHR5cGU6IE5ldHdvcmtUeXBlO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZmFtaWx5OiBDb2luRmFtaWx5O1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZXhwbG9yZXJVcmw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVdHhvTmV0d29yayBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgLy8gTmV0d29yayBuYW1lIGFzIGRlZmluZWQgaW4gQGJpdGdvLWJldGEvdXR4by1saWIgbmV0d29ya3MudHNcbiAgdXR4b2xpYk5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICAvLyBOZXR3b3JrIG5hbWUgYXMgZGVmaW5lZCBpbiBAYml0Z28tYmV0YS91dHhvLWxpYiBuZXR3b3Jrcy50c1xuICAvLyBtYXliZSBhZGQgbmV0d29yayBpZGVudGlmaWVyIC8gbWFnaWMgbmV0d29yayBudW1iZXJcbiAgdXR4b2xpYk5hbWU6IHN0cmluZztcbiAgcG9vbERlcG9zaXQ6IG51bWJlcjtcbiAgc3Rha2VLZXlEZXBvc2l0OiBudW1iZXI7XG4gIG1heFZhbHVlU2l6ZTogbnVtYmVyO1xuICBtYXhUcmFuc2FjdGlvblNpemU6IG51bWJlcjtcbiAgY29pbnNQZXJVdHhvV29yZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF2YWxhbmNoZU5ldHdvcmsgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIHJlYWRvbmx5IGFsaWFzOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJsb2NrY2hhaW5JRDogc3RyaW5nO1xuICByZWFkb25seSBjQ2hhaW5CbG9ja2NoYWluSUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbmV0d29ya0lEOiBudW1iZXI7XG4gIHJlYWRvbmx5IGhycDogc3RyaW5nO1xuICByZWFkb25seSB2bTogc3RyaW5nO1xuICByZWFkb25seSBjcmVhdGlvblR4RmVlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNyZWF0ZVN1Ym5ldFR4OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNyZWF0ZUNoYWluVHg6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluQ29uc3VtcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4Q29uc3VtcHRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4U3VwcGx5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pblN0YWtlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1pblN0YWtlRHVyYXRpb246IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4U3Rha2VEdXJhdGlvbjogc3RyaW5nO1xuICByZWFkb25seSBtaW5EZWxlZ2F0aW9uU3Rha2U6IHN0cmluZztcbiAgcmVhZG9ubHkgbWluRGVsZWdhdGlvbkZlZTogc3RyaW5nO1xuICAvLyBjdXJyZW50IHZhbGlkIGFzc2V0IGlkIGlzIEFWQVhcbiAgcmVhZG9ubHkgYXZheEFzc2V0SUQ6IHN0cmluZztcbiAgcmVhZG9ubHkgdHhGZWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbWF4SW1wb3J0RmVlOiBzdHJpbmc7IC8vIDAuMDEgQVZBWFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnROZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge1xuICAvLyBzb21lIGNoYWlucyBwYXkgZmVlcyB2aWEgYW4gZW50ZXJwcmlzZSBnYXMgdGFzay4gVGhlIGFjY291bnQgZXhwbG9yZXIgdXJsXG4gIC8vIGlzIGEgdXJsIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9vayB1cCB0aGUgYWNjb3VudCBmb3IgdGhlIGdhcyB0YW5rIG9uLWNoYWluLlxuICByZWFkb25seSBhY2NvdW50RXhwbG9yZXJVcmw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJsb2NrRXhwbG9yZXJVcmw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3BlY2lmaWNhdGlvbiBuYW1lIHR5cGUgb2YgdGhlIGNoYWluLiBVc2VkIGluIHNldHRpbmcgdXAgdGhlIHJlZ2lzdHJ5XG4gKi9cbmV4cG9ydCB0eXBlIFBvbGthZG90U3BlY05hbWVUeXBlID0gJ2t1c2FtYScgfCAncG9sa2Fkb3QnIHwgJ3dlc3RlbmQnIHwgJ3N0YXRlbWludCcgfCAnc3RhdGVtaW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBEb3ROZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICAvLyBzb21lIGNoYWlucyBwYXkgZmVlcyB2aWEgYW4gZW50ZXJwcmlzZSBnYXMgdGFzay4gVGhlIGFjY291bnQgZXhwbG9yZXIgdXJsXG4gIC8vIGlzIGEgdXJsIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9vayB1cCB0aGUgYWNjb3VudCBmb3IgdGhlIGdhcyB0YW5rIG9uLWNoYWluLlxuICByZWFkb25seSBzcGVjTmFtZTogUG9sa2Fkb3RTcGVjTmFtZVR5cGU7XG4gIHJlYWRvbmx5IGdlbmVzaXNIYXNoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNwZWNWZXJzaW9uOiBudW1iZXI7XG4gIHJlYWRvbmx5IGNoYWluTmFtZTogc3RyaW5nO1xuICByZWFkb25seSB0eFZlcnNpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdGhlcmV1bU5ldHdvcmsgZXh0ZW5kcyBBY2NvdW50TmV0d29yayB7XG4gIC8vIHVuaXF1ZSBjaGFpbiBpZCB1c2VkIGZvciByZXBsYXktcHJvdGVjdGluZyB0cmFuc2FjdGlvbnNcbiAgcmVhZG9ubHkgY2hhaW5JZDogbnVtYmVyO1xuICByZWFkb25seSBiYXRjaGVyQ29udHJhY3RBZGRyZXNzPzogc3RyaW5nO1xuICAvLyBmb3J3YXJkZXIgY29uZmlndXJhdGlvbiBhZGRyZXNzZXMgdXNlZCBmb3IgY2FsY3VsYXRpbmcgZm9yd2FyZGVyIHZlcnNpb24gMSBhZGRyZXNzZXNcbiAgcmVhZG9ubHkgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcz86IHN0cmluZztcbiAgcmVhZG9ubHkgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcm9uTmV0d29yayBleHRlbmRzIEFjY291bnROZXR3b3JrIHtcbiAgbWF4RmVlTGltaXQ6IHN0cmluZztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFja3NOZXR3b3JrIGV4dGVuZHMgQWNjb3VudE5ldHdvcmsge1xuICByZWFkb25seSBzZW5kbWFueW1lbW9Db250cmFjdEFkZHJlc3M6IHN0cmluZztcbiAgcmVhZG9ubHkgc3Rha2luZ0NvbnRyYWN0QWRkcmVzczogc3RyaW5nO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBPZmNOZXR3b3JrIGV4dGVuZHMgQmFzZU5ldHdvcmsge31cblxuYWJzdHJhY3QgY2xhc3MgTWFpbm5ldCBleHRlbmRzIEJhc2VOZXR3b3JrIHtcbiAgdHlwZSA9IE5ldHdvcmtUeXBlLk1BSU5ORVQ7XG59XG5cbmFic3RyYWN0IGNsYXNzIFRlc3RuZXQgZXh0ZW5kcyBCYXNlTmV0d29yayB7XG4gIHR5cGUgPSBOZXR3b3JrVHlwZS5URVNUTkVUO1xufVxuXG5jbGFzcyBBbGdvcmFuZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQWxnb3JhbmQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFMR087XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYWxnb2V4cGxvcmVyLmlvL3R4Lyc7XG59XG5cbmNsYXNzIEFsZ29yYW5kVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQWxnb3JhbmRUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BTEdPO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYWxnb2V4cGxvcmVyLmlvL3R4Lyc7XG59XG5cbmNsYXNzIEFkYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBZGFOZXR3b3JrIHtcbiAgbmFtZSA9ICdBZGFDYXJkYW5vJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BREE7XG4gIHV0eG9saWJOYW1lID0gJ2NhcmRhbm8nO1xuICBwb29sRGVwb3NpdCA9IDUwMDAwMDAwMDtcbiAgc3Rha2VLZXlEZXBvc2l0ID0gMjAwMDAwMDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jYXJkYW5vLm9yZy9lbi90cmFuc2FjdGlvbj9pZD0nO1xuICBjb2luc1BlclV0eG9Xb3JkID0gMzQ0ODI7XG4gIG1heFRyYW5zYWN0aW9uU2l6ZSA9IDgwMDA7XG4gIG1heFZhbHVlU2l6ZSA9IDQwMDA7XG59XG5cbmNsYXNzIEFkYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWRhTmV0d29yayB7XG4gIG5hbWUgPSAnQWRhQ2FyZGFub1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFEQTtcbiAgdXR4b2xpYk5hbWUgPSAnY2FyZGFub1Rlc3RuZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3ByZXByb2QuY2V4cGxvcmVyLmlvLyc7XG4gIGNvaW5zUGVyVXR4b1dvcmQgPSAzNDQ4MjtcbiAgbWF4VHJhbnNhY3Rpb25TaXplID0gODAwMDtcbiAgbWF4VmFsdWVTaXplID0gNDAwMDtcbiAgcG9vbERlcG9zaXQgPSA1MDAwMDAwMDA7XG4gIHN0YWtlS2V5RGVwb3NpdCA9IDIwMDAwMDA7XG59XG5cbmNsYXNzIEFyYml0cnVtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQXJiaXRydW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFSQkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hcmJpc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hcmJpc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MjE2MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDIxNjEnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDIxNjEtRVJDMjAnO1xufVxuXG5jbGFzcyBBcmJpdHJ1bVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdBcmJpdHJ1bVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFSQkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLmFyYmlzY2FuLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEuYXJiaXNjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDIxNjE0O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICc0MjE2MTQnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnNDIxNjE0LUVSQzIwJztcbn1cblxuY2xhc3MgQXZhbGFuY2hlQyBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvYy1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9jLWNoYWluL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDQzMTE0O1xufVxuXG5jbGFzcyBBdmFsYW5jaGVDVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIC8vIGh0dHBzOi8vZG9jcy5hdmF4Lm5ldHdvcmsvYnVpbGQvdHV0b3JpYWxzL3NtYXJ0LWNvbnRyYWN0cy9kZXBsb3ktYS1zbWFydC1jb250cmFjdC1vbi1hdmFsYW5jaGUtdXNpbmctcmVtaXgtYW5kLW1ldGFtYXNrI2F2YWxhbmNoZS1tYWlubmV0LXNldHRpbmdzXG4gIG5hbWUgPSAnQXZhbGFuY2hlQ1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkFWQVhDO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3N1Ym5ldHMtdGVzdC5hdmF4Lm5ldHdvcmsvYy1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL2MtY2hhaW4vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDMxMTM7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVAgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQXZhbGFuY2hlTmV0d29yayB7XG4gIG5hbWUgPSAnQXZhbGFuY2hlUCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQVZBWFA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy5hdmF4Lm5ldHdvcmsvcC1jaGFpbi90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLmF2YXgubmV0d29yay9wLWNoYWluL2FkZHJlc3MvJztcbiAgYmxvY2tjaGFpbklEID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExTHBvWVknO1xuICBjQ2hhaW5CbG9ja2NoYWluSUQgPSAnMnE5ZTRyNk11M1U2OG5VMWZZamdiUjZKdndyUngzNkNvaHBBWDVVUXhzZTU1eDFRNSc7XG4gIGF2YXhBc3NldElEID0gJ0Z2d0VBaG14S2ZlaUc4U25FdnE0MmhjNndoUnlZM0VGWUF2ZWJNcUROREdDZ3hONVonO1xuICBuZXR3b3JrSUQgPSAxO1xuICBocnAgPSAnYXZheCc7XG4gIGFsaWFzID0gJ1AnO1xuICB2bSA9ICdwbGF0Zm9ybXZtJztcbiAgdHhGZWUgPSAnMTAwMDAwMCc7IC8vIDEgTUlMTElBVkFYXG4gIG1heEltcG9ydEZlZSA9ICcxMDAwMDAwMCc7IC8vIDAuMDEgQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcyMDAwMDAwMDAwMDAwJzsgLy8gMjAwMCBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnMTIwOTYwMCc7IC8vIDIgd2Vla3NcbiAgbWF4U3Rha2VEdXJhdGlvbiA9ICczMTUzNjAwMCc7IC8vIDEgeWVhclxuICBtaW5EZWxlZ2F0aW9uU3Rha2UgPSAnMjUwMDAwMDAwMDAnOyAvLyAyNSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEF2YWxhbmNoZVBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEF2YWxhbmNoZU5ldHdvcmsge1xuICBuYW1lID0gJ0F2YWxhbmNoZVBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVkFYUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdWJuZXRzLXRlc3QuYXZheC5uZXR3b3JrL3AtY2hhaW4vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3VibmV0cy10ZXN0LmF2YXgubmV0d29yay9wLWNoYWluL2FkZHJlc3MvJztcbiAgYmxvY2tjaGFpbklEID0gJzExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExTHBvWVknO1xuICBjQ2hhaW5CbG9ja2NoYWluSUQgPSAneUg4RDdUaE5Ka3htdGt1djJqZ0JhNFAxUm4zUXByNHBQcjdRWU5mY2RvUzZrNkhXcCc7XG4gIGF2YXhBc3NldElEID0gJ1U4aVJxSm9pSm04eFpIQWFjbXZZeVpWd3FReDZ1RE50UWVQM0NRNmZjZ1FrM0pxbksnO1xuICBuZXR3b3JrSUQgPSA1O1xuICBhbGlhcyA9ICdQJztcbiAgaHJwID0gJ2Z1amknO1xuICB2bSA9ICdwbGF0Zm9ybXZtJztcbiAgdHhGZWUgPSAnMTAwMDAwMCc7IC8vIDEgTUlMTElBVkFYXG4gIG1heEltcG9ydEZlZSA9ICcxMDAwMDAwMCc7IC8vIDAuMDEgQVZBWFxuICBjcmVhdGVTdWJuZXRUeCA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIGNyZWF0ZUNoYWluVHggPSAnMTAwMDAwMDAwMCc7IC8vIDEgQVZBWFxuICBjcmVhdGlvblR4RmVlID0gJzEwMDAwMDAwJzsgLy8gMSBDRU5USUFWQVhcbiAgbWluQ29uc3VtcHRpb24gPSAnMC4xJztcbiAgbWF4Q29uc3VtcHRpb24gPSAnMC4xMic7XG4gIG1heFN1cHBseSA9ICc3MjAwMDAwMDAwMDAwMDAwMDAnOyAvLyA3MjAgbWlsIHRva2Vuc1xuICBtaW5TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pblN0YWtlRHVyYXRpb24gPSAnODY0MDAnOyAvLyAxIGRheVxuICBtYXhTdGFrZUR1cmF0aW9uID0gJzMxNTM2MDAwJzsgLy8gMSB5ZWFyXG4gIG1pbkRlbGVnYXRpb25TdGFrZSA9ICcxMDAwMDAwMDAwJzsgLy8gMSBBVkFYXG4gIG1pbkRlbGVnYXRpb25GZWUgPSAnMic7XG59XG5cbmNsYXNzIEJpbmFuY2VTbWFydENoYWluIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQmluYW5jZVNtYXJ0Q2hhaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cuYnNjc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJzY3NjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDU2O1xufVxuXG5jbGFzcyBCaW5hbmNlU21hcnRDaGFpblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaW5hbmNlU21hcnRDaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0LmJzY3NjYW4uY29tL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuYnNjc2Nhbi5jb20vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gOTc7XG59XG5cbmNsYXNzIEJpdGNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJUQztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbic7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJUQztcbiAgdXR4b2xpYk5hbWUgPSAndGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbWVtcG9vbC5zcGFjZS90ZXN0bmV0L3R4Lyc7XG59XG5cbmNsYXNzIEJpdGNvaW5DYXNoIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luQ2FzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luY2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LmJsb2NrY2hhaW4uY29tL2JjaC90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5DYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luY2FzaFRlc3RuZXQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5ibG9ja2NoYWluLmNvbS9iY2gtdGVzdG5ldC90eC8nO1xufVxuY2xhc3MgQml0Y29pblNWIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdCaXRjb2luU1YnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTVjtcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbnN2JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9iaXRjb2luLXN2L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEJpdGNvaW5TVlRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5TVlRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJTVjtcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbnN2VGVzdG5ldCc7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBCaXRjb2luR29sZCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnQml0Y29pbkdvbGQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJURztcbiAgdXR4b2xpYk5hbWUgPSAnYml0Y29pbmdvbGQnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2J0Z2V4cGxvcmVyLmNvbS90eC8nO1xufVxuXG5jbGFzcyBCaXRjb2luR29sZFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0JpdGNvaW5Hb2xkVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQlRHO1xuICB1dHhvbGliTmFtZSA9ICdiaXRjb2luZ29sZFRlc3RuZXQnO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgRGFzaCBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRGFzaCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuREFTSDtcbiAgdXR4b2xpYk5hbWUgPSAnZGFzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW5zaWdodC5kYXNoZXZvLm9yZy9pbnNpZ2h0L3R4Lyc7XG59XG5cbmNsYXNzIERhc2hUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuREFTSDtcbiAgdXR4b2xpYk5hbWUgPSAnZGFzaFRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQtaW5zaWdodC5kYXNoZXZvLm9yZy9pbnNpZ2h0L3R4Lyc7XG59XG5cbmNsYXNzIERvZ2Vjb2luIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdEb2dlY29pbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRE9HRTtcbiAgdXR4b2xpYk5hbWUgPSAnZG9nZWNvaW4nO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrY2hhaXIuY29tL2RvZ2Vjb2luL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIERvZ2Vjb2luVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBVdHhvTmV0d29yayB7XG4gIG5hbWUgPSAnRG9nZWNvaW5UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET0dFO1xuICB1dHhvbGliTmFtZSA9ICdkb2dlY29pblRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrZXhwbG9yZXIub25lL2RvZ2Vjb2luL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgRUNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0VDYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CQ0hBO1xuICB1dHhvbGliTmFtZSA9ICdlY2FzaCc7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tjaGFpci5jb20vZWNhc2gnO1xufVxuXG5jbGFzcyBFQ2FzaFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0VDYXNoVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkNIQTtcbiAgdXR4b2xpYk5hbWUgPSAnZWNhc2hUZXN0JztcbiAgZXhwbG9yZXJVcmwgPSB1bmRlZmluZWQ7XG59XG5cbmNsYXNzIFBvbGthZG90IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIERvdE5ldHdvcmsge1xuICBuYW1lID0gJ1BvbGthZG90JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9sa2Fkb3Quc3Vic2Nhbi5pby9leHRyaW5zaWMvJztcbiAgc3BlY05hbWUgPSAncG9sa2Fkb3QnIGFzIFBvbGthZG90U3BlY05hbWVUeXBlO1xuICBnZW5lc2lzSGFzaCA9ICcweDkxYjE3MWJiMTU4ZTJkMzg0OGZhMjNhOWYxYzI1MTgyZmI4ZTIwMzEzYjJjMWViNDkyMTlkYTdhNzBjZTkwYzMnO1xuICBzcGVjVmVyc2lvbiA9IDkxNDA7XG4gIGNoYWluTmFtZSA9ICdQb2xrYWRvdCc7XG4gIHR4VmVyc2lvbiA9IDk7XG59XG5cbmNsYXNzIFBvbGthZG90VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBEb3ROZXR3b3JrIHtcbiAgbmFtZSA9ICdXZXN0ZW5kJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5ET1Q7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd2VzdGVuZC5zdWJzY2FuLmlvL2V4dHJpbnNpYy8nO1xuICBzcGVjTmFtZSA9ICd3ZXN0ZW5kJyBhcyBQb2xrYWRvdFNwZWNOYW1lVHlwZTtcbiAgZ2VuZXNpc0hhc2ggPSAnMHhlMTQzZjIzODAzYWM1MGU4ZjZmOGU2MjY5NWQxY2U5ZTRlMWQ2OGFhMzZjMWNkMmNmZDE1MzQwMjEzZjM0MjNlJztcbiAgc3BlY1ZlcnNpb24gPSA5NDMwO1xuICBjaGFpbk5hbWUgPSAnV2VzdGVuZCc7XG4gIHR4VmVyc2lvbiA9IDIyO1xufVxuXG5jbGFzcyBDZWxvIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnQ2Vsbyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0VMTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jZWxvLm9yZy9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSA0MjIyMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnQ0VMTyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdDRUxPLUVSQzIwJztcbn1cblxuY2xhc3MgQ2Vsb1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdDZWxvVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ0VMTztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9hbGZham9yZXMtYmxvY2tzY291dC5jZWxvLXRlc3RuZXQub3JnL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2FsZmFqb3Jlcy1ibG9ja3Njb3V0LmNlbG8tdGVzdG5ldC5vcmcvYWRkcmVzcy8nO1xuICBjaGFpbklkID0gNDQ3ODc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0NFTE8nO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnQ0VMTy1FUkMyMCc7XG59XG5cbi8vIFRPRE8gdXBkYXRlIGV4cGxvcmVyVXJsIFNUTFgtMTY1N1xuY2xhc3MgQ2FzcGVyIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNTUFI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vY3Nwci5saXZlL2RlcGxveS8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jc3ByLmxpdmUvYWNjb3VudC8nO1xufVxuXG5jbGFzcyBDYXNwZXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDYXNwZXJUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5DU1BSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2ludGVncmF0aW9uLmNzcHIubGl2ZS9kZXBsb3kvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vaW50ZWdyYXRpb24uY3Nwci5saXZlL2FjY291bnQvJztcbn1cblxuY2xhc3MgRXRoZXJldW0gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBibG9ja0V4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXRoZXJzY2FuLmlvL2Jsb2NrLyc7XG4gIC8vIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtanMvZXRoZXJldW1qcy1jb21tb24vYmxvYi9hOTc4ZjYzMDg1OGY2ODQzMTc2YmIyMGIyNzc1Njk3ODU5MTRlODk5L3NyYy9jaGFpbnMvaW5kZXgudHNcbiAgY2hhaW5JZCA9IDE7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHgwYzliMjVkZmUwMmIyYzg5Y2NlODZlMWEwYmQ2YzA0YTdhY2EwMWI2JztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhmZmEzOTcyODVjZTQ2ZmI3OGM1ODhhOWU5OTMyODZhYWM2OGMzN2NkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MDU5ZmZhZmRjNmVmNTk0MjMwZGU0NGY4MjRlMmJkMGE1MWNhNWRlZCc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbn1cblxuY2xhc3MgRXRoZXJldW0yIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bTInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vdHgnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9iZWFjb25zY2FuLmNvbS9hZGRyZXNzJztcbn1cblxuY2xhc3MgRXRoZXJldW1XIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW0gUG9XJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEhXO1xuICBleHBsb3JlclVybCA9ICcnO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnJztcbiAgY2hhaW5JZCA9IDEwMDAxO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJyc7XG4gIGZvcndhcmRlckZhY3RvcnlBZGRyZXNzID0gJyc7XG4gIGZvcndhcmRlckltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcnO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEhFUic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFUkMyMCc7XG59XG5cbmNsYXNzIFB5cm1vbnQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1B5cm1vbnQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmVhY29uc2Nhbi5jb20vcHlybW9udC90eCc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2JlYWNvbnNjYW4uY29tL3B5cm1vbnQvYWRkcmVzcyc7XG59XG5cbmNsYXNzIEtvdmFuIGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnS292YW4nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9rb3Zhbi5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8va292YW4uZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLWNvbW1vbi9ibG9iL2E5NzhmNjMwODU4ZjY4NDMxNzZiYjIwYjI3NzU2OTc4NTkxNGU4OTkvc3JjL2NoYWlucy9pbmRleC50c1xuICBjaGFpbklkID0gNDI7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjMGFhZjI2NDllN2IwZjM5NTAxNjQ2ODFlY2EyYjFhOGY2NTRhNDc4JztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHhhNzlhNDg1Mjk0ZDIyNjA3NWVlNjU0MTBiYzk0ZWE0NTRmM2U0MDlkJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4YTk0NmU3NDhmMjVhNWVjNjg3OGViMWE5ZjJlOTAyMDI4MTc0YzBiMyc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbn1cblxuY2xhc3MgR29lcmxpIGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnR29lcmxpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZ29lcmxpLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9nb2VybGkuZXRoZXJzY2FuLmlvL2FkZHJlc3MvJztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2dvZXJsaS5ldGhlcnNjYW4uaW8vYmxvY2svJztcbiAgLy8gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZXRoZXJldW1qcy9ldGhlcmV1bWpzLWNvbW1vbi9ibG9iL2E5NzhmNjMwODU4ZjY4NDMxNzZiYjIwYjI3NzU2OTc4NTkxNGU4OTkvc3JjL2NoYWlucy9pbmRleC50c1xuICBjaGFpbklkID0gNTtcbiAgYmF0Y2hlckNvbnRyYWN0QWRkcmVzcyA9ICcweGU4ZTg0N2NmNTczZmM4ZWQ3NTYyMTY2MGEzNmFmZmQxOGM1NDNkN2UnO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweGY1Y2FhNWUzZTkzYWZiYzIxYmQxOWVmNGYyNjkxYTM3MTIxZjc5MTcnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHg4MGQ1YzkxZThjYzIxZGY2OWZjNGQ2NGYyMWRjMmQ4MzEyMWMzOTk5JztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRIRVInO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVJDMjAnO1xufVxuXG5jbGFzcyBIb2xlc2t5IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnSG9sZXNreSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2hvbGVza3kuYmVhY29uY2hhLmluL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2hvbGVza3kuYmVhY29uY2hhLmluL2FkZHJlc3MvJztcbiAgYmxvY2tFeHBsb3JlclVybCA9ICdodHRwczovL2hvbGVza3kuYmVhY29uY2hhLmluL2Jsb2NrLyc7XG4gIC8vIGh0dHBzOi8vY2hhaW5saXN0Lm9yZy9jaGFpbi8xNzAwMFxuICBjaGFpbklkID0gMTcwMDA7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHg4YWUyODZjNzVhMzM5ZmZhYmFlZDNhMjIwODhjNTJlYjRmNTg5NzgwJztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgyMzIyM2ZkN2NmYzVmMzRiMjBmMzhlYmI5YTQ4OWUxZmYzYzA4NGQxJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4ZDRjMjQzMjViNWVmNTE0ZmJiMWVjYzc2YTliYjRkY2I1N2E4MzQxZSc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUSEVSJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VSQzIwJztcbn1cblxuY2xhc3MgRXRoZXJldW1DbGFzc2ljIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnRXRoZXJldW1DbGFzc2ljJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21haW5uZXQvdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21haW5uZXQvYWRkcmVzcy8nO1xuICAvLyBmcm9tICBodHRwczovL2NoYWluaWQubmV0d29yay9jaGFpbnMvXG4gIGNoYWluSWQgPSA2MTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnRVRDJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUQy1FUkMyMCc7XG59XG5cbmNsYXNzIEV0aGVyZXVtQ2xhc3NpY1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdFdGhlcmV1bUNsYXNzaWNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5FVEM7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vYmxvY2tzY291dC5jb20vZXRjL21vcmRvci90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja3Njb3V0LmNvbS9ldGMvbW9yZG9yL2FkZHJlc3MvJztcbiAgLy8gZnJvbSAgaHR0cHM6Ly9jaGFpbmlkLm5ldHdvcmsvY2hhaW5zL1xuICBjaGFpbklkID0gNjM7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ0VUQyc7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdFVEMtRVJDMjAnO1xufVxuXG5jbGFzcyBFb3MgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Vvcyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuRU9TO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmVvc25ldHdvcmsuY29tL3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEVvc1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Vvc1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkVPUztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9reWxpbi5lb3N4LmlvL3R4Lyc7XG59XG5cbmNsYXNzIEhlZGVyYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSGVkZXJhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQkFSO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLmthYnV0by5zaC9tYWlubmV0L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEhlZGVyYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0hlZGVyYVRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhCQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIua2FidXRvLnNoL3Rlc3RuZXQvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgTGl0ZWNvaW4gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0xpdGVjb2luJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5MVEM7XG4gIHV0eG9saWJOYW1lID0gJ2xpdGVjb2luJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9ibG9ja2NoYWlyLmNvbS9saXRlY29pbi90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBMaXRlY29pblRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ0xpdGVjb2luVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTFRDO1xuICB1dHhvbGliTmFtZSA9ICdsaXRlY29pblRlc3QnO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2Jsb2NrZXhwbG9yZXIub25lL2xpdGVjb2luL3Rlc3RuZXQvdHgvJztcbn1cblxuY2xhc3MgT2ZjIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIE9mY05ldHdvcmsge1xuICBuYW1lID0gJ09mYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT0ZDO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgT2ZjVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBPZmNOZXR3b3JrIHtcbiAgbmFtZSA9ICdPZmNUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PRkM7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBSYnRjIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUmJ0Yyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUkJUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5yc2suY28vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucnNrLmNvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDMwO1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdSU0snO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUlNLLUVSQzIwJztcbn1cblxuY2xhc3MgUmJ0Y1Rlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdSYnRjVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUkJUQztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0LnJzay5jby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0LnJzay5jby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAzMTtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUlNLJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1JTSy1FUkMyMCc7XG59XG5cbmNsYXNzIFN0ZWxsYXIgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1N0ZWxsYXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhMTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zdGVsbGFyLmV4cGVydC9leHBsb3Jlci9wdWJsaWMvdHgvJztcbn1cblxuY2xhc3MgU3RlbGxhclRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1N0ZWxsYXJUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YTE07XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc3RlbGxhci5leHBlcnQvZXhwbG9yZXIvdGVzdG5ldC90eC8nO1xufVxuXG5jbGFzcyBTb2wgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NvbCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU09MO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnNvbGFuYS5jb20vdHgvJztcbn1cblxuY2xhc3MgU29sVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU29sVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU09MO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnNvbGFuYS5jb20vdHgvP2NsdXN0ZXI9ZGV2bmV0Jztcbn1cblxuY2xhc3MgU3VpIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdTdWknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVSTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zdWkuaW8vdHhibG9jay8/bmV0d29yaz1tYWlubmV0Jztcbn1cblxuY2xhc3MgU3VpVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBTdWknO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVSTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5zdWkuaW8vdHhibG9jay8/bmV0d29yaz10ZXN0bmV0Jztcbn1cblxuY2xhc3MgQXRvbSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ29zbW9zIEh1YiBBVE9NJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVE9NO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2F0b21zY2FuLmNvbS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgQXRvbVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQ29zbW9zIEh1YiBBVE9NJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5BVE9NO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRoZXRhLXRlc3RuZXQucG9seXBvcmUueHl6L3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBPc21vIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdPc21vc2lzJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PU01PO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3d3dy5taW50c2Nhbi5pby9vc21vc2lzL3R4cy8nO1xufVxuXG5jbGFzcyBPc21vVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBPc21vc2lzJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PU01PO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQub3Ntb3Npcy5leHBsb3JlcnMuZ3VydS90cmFuc2FjdGlvbi8nO1xufVxuXG5jbGFzcyBUaWEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0NlbGVzdGlhJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5USUE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3Lm1pbnRzY2FuLmlvL2NlbGVzdGlhL3R4Lyc7XG59XG5cbmNsYXNzIFRpYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgQ2VsZXN0aWEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRJQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90ZXN0bmV0Lm1pbnRzY2FuLmlvL2NlbGVzdGlhLXRlc3RuZXQvdHhzLyc7XG59XG5cbmNsYXNzIEhhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Byb3ZlbmFuY2UnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkhBU0g7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIucHJvdmVuYW5jZS5pby90eC8nO1xufVxuXG5jbGFzcyBIYXNoVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBQcm92ZW5hbmNlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5IQVNIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3QucHJvdmVuYW5jZS5pby90eC8nO1xufVxuXG5jbGFzcyBCbGQgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0Fnb3JpYyc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQkxEO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2JpZ2RpcHBlci5saXZlL2Fnb3JpYy90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgQmxkVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBBZ29yaWMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJMRDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9lbWVyeW5ldC5leHBsb3Jlci5hZ29yaWMubmV0L2Fnb3JpYy90eC8nO1xufVxuXG5jbGFzcyBTZWkgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NlaSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU0VJO1xuICAvLyAgVE9ETyhCRy03ODk5Nyk6IFNlaSBpcyBzdGlsbCBvbmx5IGluIHRlc3RuZXQgdXBkYXRlIHRvIG1haW5uZXQgdXJsIHdoZW4gaXQncyBsaXZlXG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vc2VpLmV4cGxvcmVycy5ndXJ1L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIFNlaVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rlc3RuZXQgU2VpJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TRUk7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vd3d3LnNlaXNjYW4uYXBwL2F0bGFudGljLTIvdHhzLyc7XG59XG5cbmNsYXNzIFpldGEgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1pldGEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpFVEE7XG4gIC8vICBUT0RPKFdJTi0xNDIpOiBaZXRhIGlzIHN0aWxsIG9ubHkgaW4gdGVzdG5ldCB1cGRhdGUgdG8gbWFpbm5ldCB1cmwgd2hlbiBpdCdzIGxpdmVcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci56ZXRhY2hhaW4uY29tL2NjL3R4Lyc7XG59XG5cbmNsYXNzIFpldGFUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdUZXN0bmV0IFpldGEnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpFVEE7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vemV0YWNoYWluLmV4cGxvcmVycy5ndXJ1L3RyYW5zYWN0aW9uLyc7XG59XG5cbmNsYXNzIEluamVjdGl2ZSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW5qZWN0aXZlJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JTkpFQ1RJVkU7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuaW5qZWN0aXZlLm5ldHdvcmsvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgSW5qZWN0aXZlVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnSW5qZWN0aXZlVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuSU5KRUNUSVZFO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQuZXhwbG9yZXIuaW5qZWN0aXZlLm5ldHdvcmsvdHJhbnNhY3Rpb24vJztcbn1cblxuY2xhc3MgS2F2YSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnS2F2YSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuS0FWQTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly93d3cubWludHNjYW4uaW8va2F2YS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgS2F2YVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0thdmFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5LQVZBO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQubWludHNjYW4uaW8va2F2YS10ZXN0bmV0L3R4cy8nO1xufVxuXG5jbGFzcyBUb24gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1Rvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVE9OO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2h0dHBzOi8vdG9uc2Nhbi5vcmcvJztcbn1cblxuY2xhc3MgVG9uVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnVGVzdG5ldCBUb24nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9odHRwczovL3Rlc3RuZXQudG9uc2Nhbi5vcmcvJztcbn1cblxuY2xhc3MgQ29yZXVtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdDb3JldW0nO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkNPUkVVTTtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci5jb3JldW0uY29tL2NvcmV1bS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgQ29yZXVtVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQ29yZXVtVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuQ09SRVVNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnRlc3RuZXQtMS5jb3JldW0uZGV2L2NvcmV1bS90cmFuc2FjdGlvbnMvJztcbn1cblxuY2xhc3MgQmVyYSBleHRlbmRzIE1haW5uZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnQmVyYWNoYWluJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5CRVJBO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgQmVyYVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0JlcmFjaGFpblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkJFUkE7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBJc2xtIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdIYXFxJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JU0xNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3BpbmcucHViL2hhcXEvdHgvJztcbn1cblxuY2xhc3MgSXNsbVRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ0hhcXFUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5JU0xNO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3Rlc3RuZXQucGluZy5wdWIvaGFxcS90eC8nO1xufVxuXG5jbGFzcyBTdHggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgU3RhY2tzTmV0d29yayB7XG4gIG5hbWUgPSAnU3R4JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5TVFg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIuc3RhY2tzLmNvL3R4aWQvJztcbiAgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzID0gJ1NQM0ZCUjJBR0s1SDlRQkRIM0VFTjZERjhFSzhKWTdSWDhRSjVTVlRFJztcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9ICdTUDAwMDAwMDAwMDAwMDAwMDAwMDAwMlE2VkY3OCc7XG59XG5cbmNsYXNzIFN0eFRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgU3RhY2tzTmV0d29yayB7XG4gIG5hbWUgPSAnU3R4VGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuU1RYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnN0YWNrcy5jby90eGlkLz9jaGFpbj10ZXN0bmV0JztcbiAgc2VuZG1hbnltZW1vQ29udHJhY3RBZGRyZXNzID0gJ1NUM0YxWDRRR1YyU004WEQ5Nlg0NU02UlRRWEtBMVBaSlpaQ1FBQjRCJztcbiAgc3Rha2luZ0NvbnRyYWN0QWRkcmVzcyA9ICdTVDAwMDAwMDAwMDAwMDAwMDAwMDAwMkFNVzQySCc7XG59XG5cbmNsYXNzIFNVU0QgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1NVU0QnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBTVVNEVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBBY2NvdW50TmV0d29yayB7XG4gIG5hbWUgPSAnU1VTRFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlNVU0Q7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBCYXNlTmV0d29yayB7XG4gIG5hbWUgPSAnRmlhdFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LkZJQVQ7XG4gIGV4cGxvcmVyVXJsID0gdW5kZWZpbmVkO1xufVxuXG5jbGFzcyBGaWF0IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEJhc2VOZXR3b3JrIHtcbiAgbmFtZSA9ICdGaWF0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5GSUFUO1xuICBleHBsb3JlclVybCA9IHVuZGVmaW5lZDtcbn1cblxuY2xhc3MgVHJ4IGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIFRyb25OZXR3b3JrIHtcbiAgbmFtZSA9ICdUcngnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlRSWDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly90cm9uc2Nhbi5vcmcvIy90cmFuc2FjdGlvbi8nO1xuICBtYXhGZWVMaW1pdCA9ICc1MDAwMDAwMDAwJztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQgPSAnMTAwMDAwMDAwJztcbn1cblxuY2xhc3MgVHJ4VGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBUcm9uTmV0d29yayB7XG4gIG5hbWUgPSAnVHJ4VGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuVFJYO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NoYXN0YS50cm9uc2Nhbi5vcmcvIy90cmFuc2FjdGlvbi8nO1xuICBtYXhGZWVMaW1pdCA9ICc1MDAwMDAwMDAwJztcbiAgY29udHJhY3RDYWxsRmVlTGltaXQgPSAnMTAwMDAwMDAwJztcbn1cblxuY2xhc3MgWHJwIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYcnAnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhSUDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9saXZlbmV0LnhycGwub3JnL3RyYW5zYWN0aW9ucy8nO1xufVxuXG5jbGFzcyBYcnBUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdYcnBUZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5YUlA7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vdGVzdC5iaXRob21wLmNvbS9leHBsb3Jlci8nO1xufVxuXG5jbGFzcyBYdHogZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1h0eic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuWFRaO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3R6c3RhdHMuY29tLyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3R6c3RhdHMuY29tLyc7XG59XG5cbmNsYXNzIFh0elRlc3RuZXQgZXh0ZW5kcyBUZXN0bmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ1h0elRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlhUWjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9naG9zdG5ldC50emt0LmlvLyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL2dob3N0bmV0LnR6a3QuaW8vJztcbn1cblxuY2xhc3MgWkNhc2ggZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgVXR4b05ldHdvcmsge1xuICBuYW1lID0gJ1pDYXNoJztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5aRUM7XG4gIHV0eG9saWJOYW1lID0gJ3pjYXNoJztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jaGFpbi5zby90eC9aRUMvJztcbn1cblxuY2xhc3MgWkNhc2hUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIFV0eG9OZXR3b3JrIHtcbiAgbmFtZSA9ICdaQ2FzaFRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpFQztcbiAgdXR4b2xpYk5hbWUgPSAnemNhc2hUZXN0JztcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9jaGFpbi5zby90eC9aRUNURVNULyc7XG59XG5cbmNsYXNzIE5lYXIgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgQWNjb3VudE5ldHdvcmsge1xuICBuYW1lID0gJ05lYXInO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5Lk5FQVI7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vZXhwbG9yZXIubmVhci5vcmcvdHJhbnNhY3Rpb25zLyc7XG4gIGZlZVJlc2VydmUgPSAnNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnO1xuICBzdG9yYWdlUmVzZXJ2ZSA9ICcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gZmVlUmVzZXJ2ZSArIHN0b3JhZ2VSZXNlcnZlIGlzIG1pbmltdW0gYWNjb3VudCBiYWxhbmNlIGZvciBhIE5FQVIgd2FsbGV0IGh0dHBzOi8vZG9jcy5uZWFyLm9yZy9pbnRlZ3JhdG9yL2ZhcSNpcy10aGVyZS1hLW1pbmltdW0tYWNjb3VudC1iYWxhbmNlXG59XG5cbmNsYXNzIE5lYXJUZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEFjY291bnROZXR3b3JrIHtcbiAgbmFtZSA9ICdOZWFyVGVzdG5ldCc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuTkVBUjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci50ZXN0bmV0Lm5lYXIub3JnL3RyYW5zYWN0aW9ucy8nO1xuICBmZWVSZXNlcnZlID0gJzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJztcbiAgc3RvcmFnZVJlc2VydmUgPSAnMjAwMDAwMDAwMDAwMDAwMDAwMDAwMCc7IC8vIGZlZVJlc2VydmUgKyBzdG9yYWdlUmVzZXJ2ZSBpcyBtaW5pbXVtIGFjY291bnQgYmFsYW5jZSBmb3IgYSBORUFSIHdhbGxldCBodHRwczovL2RvY3MubmVhci5vcmcvaW50ZWdyYXRvci9mYXEjaXMtdGhlcmUtYS1taW5pbXVtLWFjY291bnQtYmFsYW5jZVxufVxuXG5jbGFzcyBQb2x5Z29uIGV4dGVuZHMgTWFpbm5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUG9seWdvbic7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuUE9MWUdPTjtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9wb2x5Z29uc2Nhbi5jb20vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vcG9seWdvbnNjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDEzNztcbiAgZm9yd2FyZGVyRmFjdG9yeUFkZHJlc3MgPSAnMHgyOWVmNDYwMzVlOWZhM2Q1NzBjNTk4ZDMyNjY0MjRjYTExNDEzYjBjJztcbiAgZm9yd2FyZGVySW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4NTM5N2QwODY5YWJhMGQ1NWU5NmQ1NzE2ZDM4M2Y2ZTFkODY5NWVkNyc7XG4gIHdhbGxldEZhY3RvcnlBZGRyZXNzID0gJzB4YTcxOThmNDhjNThlOTFmMDEzMTdlNzBjZDI0YzVjY2U0NzVjMTU1NSc7XG4gIHdhbGxldEltcGxlbWVudGF0aW9uQWRkcmVzcyA9ICcweGU1ZGNkYzEzYjYyOGMyZGY4MTNkYjEwODAzNjdlOTI5YzE1MDdjYTAnO1xuICBiYXRjaGVyQ29udHJhY3RBZGRyZXNzID0gJzB4N2FkYzliM2Q3NTIxNzEwMzIxYmVjN2RkNjg5N2QzMzdlNTNjMjQ5Myc7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJ1BPTFlHT04nO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUE9MWUdPTi1FUkMyMCc7XG59XG5cbmNsYXNzIFBvbHlnb25UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnUG9seWdvblRlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlBPTFlHT047XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vbXVtYmFpLnBvbHlnb25zY2FuLmNvbS90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9tdW1iYWkucG9seWdvbnNjYW4uY29tL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDgwMDAxO1xuICBmb3J3YXJkZXJGYWN0b3J5QWRkcmVzcyA9ICcweDdkMTBjZmRjYjc2MzM3NWZiNWYwYTBlOTEwMWY0OTBmMGJmMWI0M2EnO1xuICBmb3J3YXJkZXJJbXBsZW1lbnRhdGlvbkFkZHJlc3MgPSAnMHhhYTIyMTZkNzJkN2MxNDlkZmU0YzNkZDIxNTRjZDAwOTk0MjE2NTA2JztcbiAgd2FsbGV0RmFjdG9yeUFkZHJlc3MgPSAnMHhlMzdjMDdmYWVjODdiZTA3NWNlNDAwMmI1ZmVkYmRlMDBhNGZlOWQ1JztcbiAgd2FsbGV0SW1wbGVtZW50YXRpb25BZGRyZXNzID0gJzB4MTFmOGQ3MGE0ZWU5ZDA5NjJiYjExNjBkNzc2ZDRhOTk2Y2ZkZmY0MCc7XG4gIGJhdGNoZXJDb250cmFjdEFkZHJlc3MgPSAnMHhjZGYwMWEzMWVhMmExZDYyOTUxYWFjM2E1NzQzYzQ0MTZmOWRhM2ZiJztcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnUE9MWUdPTic7XG4gIHRva2VuT3BlcmF0aW9uSGFzaFByZWZpeCA9ICdQT0xZR09OLUVSQzIwJztcbn1cblxuY2xhc3MgT3B0aW1pc20gZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdPcHRpbWlzbSc7XG4gIGZhbWlseSA9IENvaW5GYW1pbHkuT1BFVEg7XG4gIGV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vb3B0aW1pc3RpYy5ldGhlcnNjYW4uaW8vdHgvJztcbiAgYWNjb3VudEV4cGxvcmVyVXJsID0gJ2h0dHBzOi8vb3B0aW1pc3RpYy5ldGhlcnNjYW4uaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMTA7XG4gIG5hdGl2ZUNvaW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEwJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzEwLUVSQzIwJztcbn1cblxuY2xhc3MgT3B0aW1pc21UZXN0bmV0IGV4dGVuZHMgVGVzdG5ldCBpbXBsZW1lbnRzIEV0aGVyZXVtTmV0d29yayB7XG4gIG5hbWUgPSAnT3B0aW1pc21UZXN0bmV0JztcbiAgZmFtaWx5ID0gQ29pbkZhbWlseS5PUEVUSDtcbiAgZXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLW9wdGltaXNtLmV0aGVyc2Nhbi5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9zZXBvbGlhLW9wdGltaXNtLmV0aGVyc2Nhbi5pby9hZGRyZXNzLyc7XG4gIGNoYWluSWQgPSAxMTE1NTQyMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExNTU0MjAnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMTExNTU0MjAtRVJDMjAnO1xufVxuXG5jbGFzcyBaa1N5bmMgZXh0ZW5kcyBNYWlubmV0IGltcGxlbWVudHMgRXRoZXJldW1OZXR3b3JrIHtcbiAgbmFtZSA9ICdaa1N5bmMnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpLRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL2V4cGxvcmVyLnprc3luYy5pby90eC8nO1xuICBhY2NvdW50RXhwbG9yZXJVcmwgPSAnaHR0cHM6Ly9leHBsb3Jlci56a3N5bmMuaW8vYWRkcmVzcy8nO1xuICBjaGFpbklkID0gMzI0O1xuICBuYXRpdmVDb2luT3BlcmF0aW9uSGFzaFByZWZpeCA9ICczMjQnO1xuICB0b2tlbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMzI0LUVSQzIwJztcbn1cblxuY2xhc3MgWmtTeW5jVGVzdG5ldCBleHRlbmRzIFRlc3RuZXQgaW1wbGVtZW50cyBFdGhlcmV1bU5ldHdvcmsge1xuICBuYW1lID0gJ1prU3luY1Rlc3RuZXQnO1xuICBmYW1pbHkgPSBDb2luRmFtaWx5LlpLRVRIO1xuICBleHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEuZXhwbG9yZXIuemtzeW5jLmlvL3R4Lyc7XG4gIGFjY291bnRFeHBsb3JlclVybCA9ICdodHRwczovL3NlcG9saWEuZXhwbG9yZXIuemtzeW5jLmlvL2FkZHJlc3MvJztcbiAgY2hhaW5JZCA9IDMwMDtcbiAgbmF0aXZlQ29pbk9wZXJhdGlvbkhhc2hQcmVmaXggPSAnMzAwJztcbiAgdG9rZW5PcGVyYXRpb25IYXNoUHJlZml4ID0gJzMwMC1FUkMyMCc7XG59XG5cbmV4cG9ydCBjb25zdCBOZXR3b3JrcyA9IHtcbiAgbWFpbjoge1xuICAgIGFkYTogT2JqZWN0LmZyZWV6ZShuZXcgQWRhKCkpLFxuICAgIGFsZ29yYW5kOiBPYmplY3QuZnJlZXplKG5ldyBBbGdvcmFuZCgpKSxcbiAgICBhcmJpdHJ1bTogT2JqZWN0LmZyZWV6ZShuZXcgQXJiaXRydW0oKSksXG4gICAgYXRvbTogT2JqZWN0LmZyZWV6ZShuZXcgQXRvbSgpKSxcbiAgICBhdmFsYW5jaGVDOiBPYmplY3QuZnJlZXplKG5ldyBBdmFsYW5jaGVDKCkpLFxuICAgIGF2YWxhbmNoZVA6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZVAoKSksXG4gICAgYml0Y29pbjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbigpKSxcbiAgICBiaXRjb2luQ2FzaDogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pbkNhc2goKSksXG4gICAgYml0Y29pbkdvbGQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5Hb2xkKCkpLFxuICAgIGJpdGNvaW5TVjogT2JqZWN0LmZyZWV6ZShuZXcgQml0Y29pblNWKCkpLFxuICAgIGJlcmE6IE9iamVjdC5mcmVlemUobmV3IEJlcmEoKSksXG4gICAgYmxkOiBPYmplY3QuZnJlZXplKG5ldyBCbGQoKSksXG4gICAgYnNjOiBPYmplY3QuZnJlZXplKG5ldyBCaW5hbmNlU21hcnRDaGFpbigpKSxcbiAgICBjYXNwZXI6IE9iamVjdC5mcmVlemUobmV3IENhc3BlcigpKSxcbiAgICBjZWxvOiBPYmplY3QuZnJlZXplKG5ldyBDZWxvKCkpLFxuICAgIGNvcmV1bTogT2JqZWN0LmZyZWV6ZShuZXcgQ29yZXVtKCkpLFxuICAgIGRhc2g6IE9iamVjdC5mcmVlemUobmV3IERhc2goKSksXG4gICAgZG9nZWNvaW46IE9iamVjdC5mcmVlemUobmV3IERvZ2Vjb2luKCkpLFxuICAgIGRvdDogT2JqZWN0LmZyZWV6ZShuZXcgUG9sa2Fkb3QoKSksXG4gICAgZUNhc2g6IE9iamVjdC5mcmVlemUobmV3IEVDYXNoKCkpLFxuICAgIGVvczogT2JqZWN0LmZyZWV6ZShuZXcgRW9zKCkpLFxuICAgIGV0aGVyZXVtOiBPYmplY3QuZnJlZXplKG5ldyBFdGhlcmV1bSgpKSxcbiAgICBldGhlcmV1bTI6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtMigpKSxcbiAgICBldGhlcmV1bUNsYXNzaWM6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtQ2xhc3NpYygpKSxcbiAgICBldGhlcmV1bVc6IE9iamVjdC5mcmVlemUobmV3IEV0aGVyZXVtVygpKSxcbiAgICBmaWF0OiBPYmplY3QuZnJlZXplKG5ldyBGaWF0KCkpLFxuICAgIGhhc2g6IE9iamVjdC5mcmVlemUobmV3IEhhc2goKSksXG4gICAgaGVkZXJhOiBPYmplY3QuZnJlZXplKG5ldyBIZWRlcmEoKSksXG4gICAgaW5qZWN0aXZlOiBPYmplY3QuZnJlZXplKG5ldyBJbmplY3RpdmUoKSksXG4gICAgaXNsbTogT2JqZWN0LmZyZWV6ZShuZXcgSXNsbSgpKSxcbiAgICBrYXZhOiBPYmplY3QuZnJlZXplKG5ldyBLYXZhKCkpLFxuICAgIGxpdGVjb2luOiBPYmplY3QuZnJlZXplKG5ldyBMaXRlY29pbigpKSxcbiAgICBwb2x5Z29uOiBPYmplY3QuZnJlZXplKG5ldyBQb2x5Z29uKCkpLFxuICAgIG9mYzogT2JqZWN0LmZyZWV6ZShuZXcgT2ZjKCkpLFxuICAgIG9wdGltaXNtOiBPYmplY3QuZnJlZXplKG5ldyBPcHRpbWlzbSgpKSxcbiAgICBvc21vOiBPYmplY3QuZnJlZXplKG5ldyBPc21vKCkpLFxuICAgIHJidGM6IE9iamVjdC5mcmVlemUobmV3IFJidGMoKSksXG4gICAgc3RlbGxhcjogT2JqZWN0LmZyZWV6ZShuZXcgU3RlbGxhcigpKSxcbiAgICBzZWk6IE9iamVjdC5mcmVlemUobmV3IFNlaSgpKSxcbiAgICBzb2w6IE9iamVjdC5mcmVlemUobmV3IFNvbCgpKSxcbiAgICBzdWk6IE9iamVjdC5mcmVlemUobmV3IFN1aSgpKSxcbiAgICBuZWFyOiBPYmplY3QuZnJlZXplKG5ldyBOZWFyKCkpLFxuICAgIHN0eDogT2JqZWN0LmZyZWV6ZShuZXcgU3R4KCkpLFxuICAgIHN1c2Q6IE9iamVjdC5mcmVlemUobmV3IFNVU0QoKSksXG4gICAgdGlhOiBPYmplY3QuZnJlZXplKG5ldyBUaWEoKSksXG4gICAgdG9uOiBPYmplY3QuZnJlZXplKG5ldyBUb24oKSksXG4gICAgdHJ4OiBPYmplY3QuZnJlZXplKG5ldyBUcngoKSksXG4gICAgeHJwOiBPYmplY3QuZnJlZXplKG5ldyBYcnAoKSksXG4gICAgeHR6OiBPYmplY3QuZnJlZXplKG5ldyBYdHooKSksXG4gICAgekNhc2g6IE9iamVjdC5mcmVlemUobmV3IFpDYXNoKCkpLFxuICAgIHpldGE6IE9iamVjdC5mcmVlemUobmV3IFpldGEoKSksXG4gICAgemtTeW5jOiBPYmplY3QuZnJlZXplKG5ldyBaa1N5bmMoKSksXG4gIH0sXG4gIHRlc3Q6IHtcbiAgICBhZGE6IE9iamVjdC5mcmVlemUobmV3IEFkYVRlc3RuZXQoKSksXG4gICAgYWxnb3JhbmQ6IE9iamVjdC5mcmVlemUobmV3IEFsZ29yYW5kVGVzdG5ldCgpKSxcbiAgICBhcmJpdHJ1bTogT2JqZWN0LmZyZWV6ZShuZXcgQXJiaXRydW1UZXN0bmV0KCkpLFxuICAgIGF0b206IE9iamVjdC5mcmVlemUobmV3IEF0b21UZXN0bmV0KCkpLFxuICAgIGF2YWxhbmNoZUM6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZUNUZXN0bmV0KCkpLFxuICAgIGF2YWxhbmNoZVA6IE9iamVjdC5mcmVlemUobmV3IEF2YWxhbmNoZVBUZXN0bmV0KCkpLFxuICAgIGJpdGNvaW46IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5UZXN0bmV0KCkpLFxuICAgIGJpdGNvaW5DYXNoOiBPYmplY3QuZnJlZXplKG5ldyBCaXRjb2luQ2FzaFRlc3RuZXQoKSksXG4gICAgYml0Y29pbkdvbGQ6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5Hb2xkVGVzdG5ldCgpKSxcbiAgICBiaXRjb2luU1Y6IE9iamVjdC5mcmVlemUobmV3IEJpdGNvaW5TVlRlc3RuZXQoKSksXG4gICAgYmVyYTogT2JqZWN0LmZyZWV6ZShuZXcgQmVyYVRlc3RuZXQoKSksXG4gICAgYmxkOiBPYmplY3QuZnJlZXplKG5ldyBCbGRUZXN0bmV0KCkpLFxuICAgIGJzYzogT2JqZWN0LmZyZWV6ZShuZXcgQmluYW5jZVNtYXJ0Q2hhaW5UZXN0bmV0KCkpLFxuICAgIGNhc3BlcjogT2JqZWN0LmZyZWV6ZShuZXcgQ2FzcGVyVGVzdG5ldCgpKSxcbiAgICBjZWxvOiBPYmplY3QuZnJlZXplKG5ldyBDZWxvVGVzdG5ldCgpKSxcbiAgICBkYXNoOiBPYmplY3QuZnJlZXplKG5ldyBEYXNoVGVzdG5ldCgpKSxcbiAgICBkb2dlY29pbjogT2JqZWN0LmZyZWV6ZShuZXcgRG9nZWNvaW5UZXN0bmV0KCkpLFxuICAgIGRvdDogT2JqZWN0LmZyZWV6ZShuZXcgUG9sa2Fkb3RUZXN0bmV0KCkpLFxuICAgIGVDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBFQ2FzaFRlc3RuZXQoKSksXG4gICAgZW9zOiBPYmplY3QuZnJlZXplKG5ldyBFb3NUZXN0bmV0KCkpLFxuICAgIGZpYXQ6IE9iamVjdC5mcmVlemUobmV3IEZpYXRUZXN0bmV0KCkpLFxuICAgIHB5cm1vbnQ6IE9iamVjdC5mcmVlemUobmV3IFB5cm1vbnQoKSksXG4gICAgZXRoZXJldW1DbGFzc2ljVGVzdG5ldDogT2JqZWN0LmZyZWV6ZShuZXcgRXRoZXJldW1DbGFzc2ljVGVzdG5ldCgpKSxcbiAgICBoYXNoOiBPYmplY3QuZnJlZXplKG5ldyBIYXNoVGVzdG5ldCgpKSxcbiAgICBoZWRlcmE6IE9iamVjdC5mcmVlemUobmV3IEhlZGVyYVRlc3RuZXQoKSksXG4gICAgaW5qZWN0aXZlOiBPYmplY3QuZnJlZXplKG5ldyBJbmplY3RpdmVUZXN0bmV0KCkpLFxuICAgIGlzbG06IE9iamVjdC5mcmVlemUobmV3IElzbG1UZXN0bmV0KCkpLFxuICAgIGthdmE6IE9iamVjdC5mcmVlemUobmV3IEthdmFUZXN0bmV0KCkpLFxuICAgIGtvdmFuOiBPYmplY3QuZnJlZXplKG5ldyBLb3ZhbigpKSxcbiAgICBnb2VybGk6IE9iamVjdC5mcmVlemUobmV3IEdvZXJsaSgpKSxcbiAgICBob2xlc2t5OiBPYmplY3QuZnJlZXplKG5ldyBIb2xlc2t5KCkpLFxuICAgIGxpdGVjb2luOiBPYmplY3QuZnJlZXplKG5ldyBMaXRlY29pblRlc3RuZXQoKSksXG4gICAgcG9seWdvbjogT2JqZWN0LmZyZWV6ZShuZXcgUG9seWdvblRlc3RuZXQoKSksXG4gICAgb2ZjOiBPYmplY3QuZnJlZXplKG5ldyBPZmNUZXN0bmV0KCkpLFxuICAgIG9wdGltaXNtOiBPYmplY3QuZnJlZXplKG5ldyBPcHRpbWlzbVRlc3RuZXQoKSksXG4gICAgb3NtbzogT2JqZWN0LmZyZWV6ZShuZXcgT3Ntb1Rlc3RuZXQoKSksXG4gICAgcmJ0YzogT2JqZWN0LmZyZWV6ZShuZXcgUmJ0Y1Rlc3RuZXQoKSksXG4gICAgc3RlbGxhcjogT2JqZWN0LmZyZWV6ZShuZXcgU3RlbGxhclRlc3RuZXQoKSksXG4gICAgc2VpOiBPYmplY3QuZnJlZXplKG5ldyBTZWlUZXN0bmV0KCkpLFxuICAgIHNvbDogT2JqZWN0LmZyZWV6ZShuZXcgU29sVGVzdG5ldCgpKSxcbiAgICBzdWk6IE9iamVjdC5mcmVlemUobmV3IFN1aVRlc3RuZXQoKSksXG4gICAgbmVhcjogT2JqZWN0LmZyZWV6ZShuZXcgTmVhclRlc3RuZXQoKSksXG4gICAgc3R4OiBPYmplY3QuZnJlZXplKG5ldyBTdHhUZXN0bmV0KCkpLFxuICAgIHN1c2Q6IE9iamVjdC5mcmVlemUobmV3IFNVU0RUZXN0bmV0KCkpLFxuICAgIGNvcmV1bTogT2JqZWN0LmZyZWV6ZShuZXcgQ29yZXVtVGVzdG5ldCgpKSxcbiAgICB0aWE6IE9iamVjdC5mcmVlemUobmV3IFRpYVRlc3RuZXQoKSksXG4gICAgdG9uOiBPYmplY3QuZnJlZXplKG5ldyBUb25UZXN0bmV0KCkpLFxuICAgIHRyeDogT2JqZWN0LmZyZWV6ZShuZXcgVHJ4VGVzdG5ldCgpKSxcbiAgICB4cnA6IE9iamVjdC5mcmVlemUobmV3IFhycFRlc3RuZXQoKSksXG4gICAgeHR6OiBPYmplY3QuZnJlZXplKG5ldyBYdHpUZXN0bmV0KCkpLFxuICAgIHpDYXNoOiBPYmplY3QuZnJlZXplKG5ldyBaQ2FzaFRlc3RuZXQoKSksXG4gICAgemV0YTogT2JqZWN0LmZyZWV6ZShuZXcgWmV0YVRlc3RuZXQoKSksXG4gICAgemtTeW5jOiBPYmplY3QuZnJlZXplKG5ldyBaa1N5bmNUZXN0bmV0KCkpLFxuICB9LFxufTtcbiJdfQ==