@bitgo-beta/sdk-coin-hbar 2.0.73-alpha.11 → 2.0.73-alpha.111

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 (47) hide show
  1. package/dist/src/hbar.d.ts +3 -3
  2. package/dist/src/hbar.d.ts.map +1 -1
  3. package/dist/src/hbar.js +19 -5
  4. package/dist/test/fixtures/hbar.d.ts +6 -0
  5. package/dist/test/fixtures/hbar.d.ts.map +1 -0
  6. package/dist/test/fixtures/hbar.js +9 -0
  7. package/dist/test/resources/hbar.d.ts +67 -0
  8. package/dist/test/resources/hbar.d.ts.map +1 -0
  9. package/dist/test/resources/hbar.js +73 -0
  10. package/dist/test/unit/fixtures/hbarBackupKey.d.ts +4 -0
  11. package/dist/test/unit/fixtures/hbarBackupKey.d.ts.map +1 -0
  12. package/dist/test/unit/fixtures/hbarBackupKey.js +10 -0
  13. package/dist/test/unit/getBuilderFactory.d.ts +3 -0
  14. package/dist/test/unit/getBuilderFactory.d.ts.map +1 -0
  15. package/dist/test/unit/getBuilderFactory.js +10 -0
  16. package/dist/test/unit/hbar.d.ts +2 -0
  17. package/dist/test/unit/hbar.d.ts.map +1 -0
  18. package/dist/test/unit/hbar.js +1216 -0
  19. package/dist/test/unit/hbarToken.d.ts +2 -0
  20. package/dist/test/unit/hbarToken.d.ts.map +1 -0
  21. package/dist/test/unit/hbarToken.js +34 -0
  22. package/dist/test/unit/keyPair.d.ts +2 -0
  23. package/dist/test/unit/keyPair.d.ts.map +1 -0
  24. package/dist/test/unit/keyPair.js +179 -0
  25. package/dist/test/unit/transaction.d.ts +2 -0
  26. package/dist/test/unit/transaction.d.ts.map +1 -0
  27. package/dist/test/unit/transaction.js +94 -0
  28. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.d.ts +2 -0
  29. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.d.ts.map +1 -0
  30. package/dist/test/unit/transactionBuilder/tokenAssociateBuilder.js +215 -0
  31. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts +2 -0
  32. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.d.ts.map +1 -0
  33. package/dist/test/unit/transactionBuilder/tokenTransferBuilder.js +329 -0
  34. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts +2 -0
  35. package/dist/test/unit/transactionBuilder/transferBuilder.d.ts.map +1 -0
  36. package/dist/test/unit/transactionBuilder/transferBuilder.js +353 -0
  37. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts +2 -0
  38. package/dist/test/unit/transactionBuilder/walletInitialization.d.ts.map +1 -0
  39. package/dist/test/unit/transactionBuilder/walletInitialization.js +214 -0
  40. package/dist/test/unit/utils.d.ts +2 -0
  41. package/dist/test/unit/utils.d.ts.map +1 -0
  42. package/dist/test/unit/utils.js +275 -0
  43. package/dist/tsconfig.tsbuildinfo +1 -0
  44. package/package.json +12 -9
  45. package/.eslintignore +0 -5
  46. package/.mocharc.yml +0 -8
  47. package/CHANGELOG.md +0 -743
@@ -2,7 +2,7 @@
2
2
  * @prettier
3
3
  */
4
4
  import { CoinFamily, BaseCoin as StaticsBaseCoin } from '@bitgo-beta/statics';
5
- import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions as BaseVerifyAddressOptions, VerifyTransactionOptions, TransactionFee, TransactionRecipient as Recipient, TransactionPrebuild as BaseTransactionPrebuild, TransactionExplanation, Memo, TokenEnablementConfig, BaseBroadcastTransactionOptions, BaseBroadcastTransactionResult, MultisigType } from '@bitgo-beta/sdk-core';
5
+ import { BaseCoin, BitGoBase, KeyPair, ParsedTransaction, ParseTransactionOptions, SignedTransaction, SignTransactionOptions, VerifyAddressOptions as BaseVerifyAddressOptions, VerifyTransactionOptions, TransactionFee, TransactionRecipient as Recipient, TransactionPrebuild as BaseTransactionPrebuild, TransactionExplanation, Memo, TokenEnablementConfig, BaseBroadcastTransactionOptions, BaseBroadcastTransactionResult, MultisigType, AuditDecryptedKeyParams } from '@bitgo-beta/sdk-core';
6
6
  import { Client, Transaction as HbarTransaction, AccountBalanceJson } from '@hashgraph/sdk';
7
7
  export interface HbarSignTransactionOptions extends SignTransactionOptions {
8
8
  txPrebuild: TransactionPrebuild;
@@ -150,8 +150,6 @@ export declare class Hbar extends BaseCoin {
150
150
  convertFromStellarSeed(seed: string): string | null;
151
151
  isValidPub(pub: string): boolean;
152
152
  supportsDeriveKeyWithSeed(): boolean;
153
- /** {@inheritDoc } **/
154
- supportsMultisig(): boolean;
155
153
  /** inherited doc */
156
154
  getDefaultMultisigType(): MultisigType;
157
155
  getTokenEnablementConfig(): TokenEnablementConfig;
@@ -163,6 +161,8 @@ export declare class Hbar extends BaseCoin {
163
161
  txId: string;
164
162
  status: string;
165
163
  }>;
164
+ /** @inheritDoc */
165
+ auditDecryptedKey({ prv, publicKey, multiSigType }: AuditDecryptedKeyParams): void;
166
166
  }
167
167
  export {};
168
168
  //# sourceMappingURL=hbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hbar.d.ts","sourceRoot":"","sources":["../../src/hbar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hbar.d.ts","sourceRoot":"","sources":["../../src/hbar.ts"],"names":[],"mappings":"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"}
package/dist/src/hbar.js CHANGED
@@ -150,6 +150,7 @@ class Hbar extends sdk_core_1.BaseCoin {
150
150
  const recipients = txParams.recipients.map((recipient) => ({
151
151
  ...recipient,
152
152
  amount: txParams.type === 'enabletoken' ? '0' : recipient.amount,
153
+ address: Utils.getAddressDetails(recipient.address).address,
153
154
  }));
154
155
  if (coinConfig.isToken) {
155
156
  recipients.forEach((recipient) => {
@@ -427,10 +428,6 @@ class Hbar extends sdk_core_1.BaseCoin {
427
428
  supportsDeriveKeyWithSeed() {
428
429
  return false;
429
430
  }
430
- /** {@inheritDoc } **/
431
- supportsMultisig() {
432
- return true;
433
- }
434
431
  /** inherited doc */
435
432
  getDefaultMultisigType() {
436
433
  return sdk_core_1.multisigTypes.onchain;
@@ -478,6 +475,23 @@ class Hbar extends sdk_core_1.BaseCoin {
478
475
  const transactionReceipt = await transactionResponse.getReceipt(client);
479
476
  return { txId: transactionResponse.transactionId.toString(), status: transactionReceipt.status.toString() };
480
477
  }
478
+ /** @inheritDoc */
479
+ auditDecryptedKey({ prv, publicKey, multiSigType }) {
480
+ if (multiSigType === 'tss') {
481
+ throw new Error('Unsupported multiSigType');
482
+ }
483
+ let hbarKeyPair;
484
+ try {
485
+ hbarKeyPair = new lib_1.KeyPair({ prv });
486
+ }
487
+ catch (e) {
488
+ throw new Error(`Invalid private key: ${e.message}`);
489
+ }
490
+ const genPubKey = hbarKeyPair.getKeys().pub;
491
+ if (publicKey && publicKey !== genPubKey) {
492
+ throw new Error('Invalid public key');
493
+ }
494
+ }
481
495
  }
482
496
  exports.Hbar = Hbar;
483
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsaURBQXFGO0FBQ3JGLG1EQXFCOEI7QUFDOUIsK0NBQXlDO0FBQ3pDLHFEQUF1QztBQUN2QyxtREFBZ0Q7QUFDaEQsK0JBQXVGO0FBQ3ZGLG1EQUFxQztBQUNyQywwQ0FBNEI7QUFDNUIsd0NBTXdCO0FBQ3hCLDJDQUFrRDtBQXVGbEQsTUFBYSxJQUFLLFNBQVEsbUJBQVE7SUFHaEMsWUFBWSxLQUFnQixFQUFFLFdBQXVDO1FBQ25FLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILHdCQUF3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LENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUM5RyxDQUFDO0NBQ0Y7QUE3ZkQsb0JBNmZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0IHsgQ29pbkZhbWlseSwgQmFzZUNvaW4gYXMgU3RhdGljc0Jhc2VDb2luLCBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQmFzZUNvaW4sXG4gIEJpdEdvQmFzZSxcbiAgS2V5UGFpcixcbiAgUGFyc2VkVHJhbnNhY3Rpb24sXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBTaWduZWRUcmFuc2FjdGlvbixcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVmVyaWZ5QWRkcmVzc09wdGlvbnMgYXMgQmFzZVZlcmlmeUFkZHJlc3NPcHRpb25zLFxuICBWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFRyYW5zYWN0aW9uRmVlLFxuICBUcmFuc2FjdGlvblJlY2lwaWVudCBhcyBSZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uUHJlYnVpbGQgYXMgQmFzZVRyYW5zYWN0aW9uUHJlYnVpbGQsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIE1lbW8sXG4gIFRva2VuRW5hYmxlbWVudENvbmZpZyxcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgQmFzZUJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0LFxuICBOb3RTdXBwb3J0ZWQsXG4gIE11bHRpc2lnVHlwZSxcbiAgbXVsdGlzaWdUeXBlcyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCAqIGFzIHN0ZWxsYXIgZnJvbSAnc3RlbGxhci1zZGsnO1xuaW1wb3J0IHsgU2VlZFZhbGlkYXRvciB9IGZyb20gJy4vc2VlZFZhbGlkYXRvcic7XG5pbXBvcnQgeyBLZXlQYWlyIGFzIEhiYXJLZXlQYWlyLCBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBUcmFuc2FjdGlvbiB9IGZyb20gJy4vbGliJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vbGliL3V0aWxzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7XG4gIENsaWVudCxcbiAgVHJhbnNhY3Rpb24gYXMgSGJhclRyYW5zYWN0aW9uLFxuICBBY2NvdW50QmFsYW5jZVF1ZXJ5LFxuICBBY2NvdW50QmFsYW5jZUpzb24sXG4gIEhiYXIgYXMgSGJhclVuaXQsXG59IGZyb20gJ0BoYXNoZ3JhcGgvc2RrJztcbmltcG9ydCB7IFBVQkxJQ19LRVlfUFJFRklYIH0gZnJvbSAnLi9saWIva2V5UGFpcic7XG5leHBvcnQgaW50ZXJmYWNlIEhiYXJTaWduVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIHBydjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR4SW5mbyB7XG4gIHJlY2lwaWVudHM6IFJlY2lwaWVudFtdO1xuICBmcm9tOiBzdHJpbmc7XG4gIHR4aWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblByZWJ1aWxkIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uUHJlYnVpbGQge1xuICB0eEhleDogc3RyaW5nO1xuICB0eEluZm86IFR4SW5mbztcbiAgZmVlSW5mbzogVHJhbnNhY3Rpb25GZWU7XG4gIHNvdXJjZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eEhleD86IHN0cmluZztcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleDogc3RyaW5nO1xuICB9O1xuICBmZWVJbmZvPzogVHJhbnNhY3Rpb25GZWU7XG4gIC8vIFRPRE8oQkctMjQ4MDkpOiBnZXQgdGhlIG1lbW8gZnJvbSB0aGUgdG9Kc29uXG4gIG1lbW8/OiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGJhclZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIG1lbW8/OiBNZW1vO1xufVxuXG5pbnRlcmZhY2UgVmVyaWZ5QWRkcmVzc09wdGlvbnMgZXh0ZW5kcyBCYXNlVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICBiYXNlQWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5T3B0aW9ucyB7XG4gIGJhY2t1cEtleTogc3RyaW5nO1xuICB1c2VyS2V5OiBzdHJpbmc7XG4gIHJvb3RBZGRyZXNzOiBzdHJpbmc7XG4gIHJlY292ZXJ5RGVzdGluYXRpb246IHN0cmluZztcbiAgYml0Z29LZXk/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIG1heEZlZT86IHN0cmluZztcbiAgbm9kZUlkPzogc3RyaW5nO1xuICBzdGFydFRpbWU/OiBzdHJpbmc7XG4gIHRva2VuSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlJbmZvIHtcbiAgaWQ6IHN0cmluZztcbiAgdHg6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBzdGFydFRpbWU6IHN0cmluZztcbiAgbm9kZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2ZmbGluZVZhdWx0VHhJbmZvIHtcbiAgdHhIZXg6IHN0cmluZztcbiAgdXNlcktleTogc3RyaW5nO1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgYml0Z29LZXk/OiBzdHJpbmc7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBtYXhGZWU6IHN0cmluZztcbiAgcmVjaXBpZW50czogUmVjaXBpZW50W107XG4gIGFtb3VudDogc3RyaW5nO1xuICBzdGFydFRpbWU6IHN0cmluZztcbiAgdmFsaWREdXJhdGlvbjogc3RyaW5nO1xuICBub2RlSWQ6IHN0cmluZztcbiAgbWVtbzogc3RyaW5nO1xuICBqc29uPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBzdGFydFRpbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQgZXh0ZW5kcyBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQge1xuICBzdGF0dXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBIYmFyIGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogQ29pbkZhbWlseSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZhbWlseTtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mdWxsTmFtZTtcbiAgfVxuXG4gIGdldEJhc2VGYWN0b3IoKSB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLl9zdGF0aWNzQ29pbi5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBIYmFyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyB2YWx1ZSBvZiAwXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCAwIHZhbHVlLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoaXMgaXMgYSB2YWxpZCBiYXNlNTggb3IgaGV4IGFkZHJlc3NcbiAgICogQHBhcmFtIGFkZHJlc3NcbiAgICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gVXRpbHMuaXNWYWxpZEFkZHJlc3NXaXRoUGF5bWVudElkKGFkZHJlc3MpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKiogaW5oZXJpdGRvYyAqL1xuICBkZXJpdmVLZXlXaXRoU2VlZCgpOiB7IGRlcml2YXRpb25QYXRoOiBzdHJpbmc7IGtleTogc3RyaW5nIH0ge1xuICAgIHRocm93IG5ldyBOb3RTdXBwb3J0ZWQoJ21ldGhvZCBkZXJpdmVLZXlXaXRoU2VlZCBub3Qgc3VwcG9ydGVkIGZvciBlZGRzYSBjdXJ2ZScpO1xuICB9XG5cbiAgLyoqIGluaGVyaXRkb2MgKi9cbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICBjb25zdCBrZXlQYWlyID0gc2VlZCA/IG5ldyBIYmFyS2V5UGFpcih7IHNlZWQgfSkgOiBuZXcgSGJhcktleVBhaXIoKTtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG5cbiAgICBpZiAoIWtleXMucHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0tleXBhaXIgZ2VuZXJhdGlvbiBmYWlsZWQgdG8gZ2VuZXJhdGUgYSBwcnYnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHViOiBrZXlzLnB1YixcbiAgICAgIHBydjoga2V5cy5wcnYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZG9jICovXG4gIGdlbmVyYXRlUm9vdEtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXIge1xuICAgIGNvbnN0IGtleVBhaXIgPSBzZWVkID8gbmV3IEhiYXJLZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBIYmFyS2V5UGFpcigpO1xuICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyLmdldEtleXModHJ1ZSk7XG4gICAgaWYgKCFrZXlzLnBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBydiBpbiBrZXkgZ2VuZXJhdGlvbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcHJ2OiBrZXlzLnBydiArIGtleXMucHViLCBwdWI6IGtleXMucHViIH07XG4gIH1cblxuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFkZHJlc3MgaXMgdmFsaWQsIHRoZW4gbWFrZSBzdXJlIGl0IG1hdGNoZXMgdGhlIGJhc2UgYWRkcmVzcy5cbiAgICpcbiAgICogQHBhcmFtIHtWZXJpZnlBZGRyZXNzT3B0aW9uc30gcGFyYW1zXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwYXJhbXMuYWRkcmVzcyAtIHRoZSBhZGRyZXNzIHRvIHZlcmlmeVxuICAgKiBAcGFyYW0ge1N0cmluZ30gcGFyYW1zLmJhc2VBZGRyZXNzIC0gdGhlIGJhc2UgYWRkcmVzcyBmcm9tIHRoZSB3YWxsZXRcbiAgICovXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBhZGRyZXNzLCBiYXNlQWRkcmVzcyB9ID0gcGFyYW1zO1xuICAgIHJldHVybiBVdGlscy5pc1NhbWVCYXNlQWRkcmVzcyhhZGRyZXNzLCBiYXNlQWRkcmVzcyk7XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IEhiYXJWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBhc3NldCBuYW1lIHRvIHRyYW5zZmVyIGFtb3VudCBtYXBcbiAgICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSk7XG4gICAgY29uc3QgeyB0eFBhcmFtczogdHhQYXJhbXMsIHR4UHJlYnVpbGQ6IHR4UHJlYnVpbGQsIG1lbW86IG1lbW8gfSA9IHBhcmFtcztcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihjb2luQ29uZmlnKTtcbiAgICBpZiAoIXR4UHJlYnVpbGQudHhIZXgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCB0eCBwcmVidWlsZCBwcm9wZXJ0eSB0eEhleCcpO1xuICAgIH1cblxuICAgIHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbih0eFByZWJ1aWxkLnR4SGV4KTtcbiAgICBjb25zdCBleHBsYWluVHhQYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMgPSB7XG4gICAgICB0eEhleDogdHhQcmVidWlsZC50eEhleCxcbiAgICAgIGZlZUluZm86IHR4UHJlYnVpbGQuZmVlSW5mbyxcbiAgICAgIG1lbW86IG1lbW8sXG4gICAgfTtcbiAgICBjb25zdCBleHBsYWluZWRUeCA9IGF3YWl0IHRoaXMuZXhwbGFpblRyYW5zYWN0aW9uKGV4cGxhaW5UeFBhcmFtcyk7XG5cbiAgICBpZiAoIXR4UGFyYW1zLnJlY2lwaWVudHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCB0eCBwYXJhbXMgcHJvcGVydHkgcmVjaXBpZW50cycpO1xuICAgIH1cblxuICAgIC8vIGZvciBlbmFibGV0b2tlbiwgcmVjaXBpZW50IG91dHB1dCBhbW91bnQgaXMgMFxuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB0eFBhcmFtcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiAoe1xuICAgICAgLi4ucmVjaXBpZW50LFxuICAgICAgYW1vdW50OiB0eFBhcmFtcy50eXBlID09PSAnZW5hYmxldG9rZW4nID8gJzAnIDogcmVjaXBpZW50LmFtb3VudCxcbiAgICB9KSk7XG4gICAgaWYgKGNvaW5Db25maWcuaXNUb2tlbikge1xuICAgICAgcmVjaXBpZW50cy5mb3JFYWNoKChyZWNpcGllbnQpID0+IHtcbiAgICAgICAgaWYgKHJlY2lwaWVudC50b2tlbk5hbWUgIT09IHVuZGVmaW5lZCAmJiByZWNpcGllbnQudG9rZW5OYW1lICE9PSBjb2luQ29uZmlnLm5hbWUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luY29ycmVjdCB0b2tlbiBuYW1lIHNwZWNpZmllZCBpbiByZWNpcGllbnRzJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVjaXBpZW50LnRva2VuTmFtZSA9IGNvaW5Db25maWcubmFtZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIHZlcmlmeSByZWNpcGllbnRzIGZyb20gcGFyYW1zIGFuZCBleHBsYWluZWRUeFxuICAgIGNvbnN0IGZpbHRlcmVkUmVjaXBpZW50cyA9IHJlY2lwaWVudHM/Lm1hcCgocmVjaXBpZW50KSA9PiBfLnBpY2socmVjaXBpZW50LCBbJ2FkZHJlc3MnLCAnYW1vdW50JywgJ3Rva2VuTmFtZSddKSk7XG4gICAgY29uc3QgZmlsdGVyZWRPdXRwdXRzID0gZXhwbGFpbmVkVHgub3V0cHV0cy5tYXAoKG91dHB1dCkgPT4gXy5waWNrKG91dHB1dCwgWydhZGRyZXNzJywgJ2Ftb3VudCcsICd0b2tlbk5hbWUnXSkpO1xuXG4gICAgaWYgKCFfLmlzRXF1YWwoZmlsdGVyZWRPdXRwdXRzLCBmaWx0ZXJlZFJlY2lwaWVudHMpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1R4IG91dHB1dHMgZG9lcyBub3QgbWF0Y2ggd2l0aCBleHBlY3RlZCB0eFBhcmFtcyByZWNpcGllbnRzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQXNzZW1ibGUga2V5Y2hhaW4gYW5kIGhhbGYtc2lnbiBwcmVidWlsdCB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMudHhQcmVidWlsZCB7T2JqZWN0fSBwcmVidWlsZCBvYmplY3QgcmV0dXJuZWQgYnkgcGxhdGZvcm1cbiAgICogQHBhcmFtIHBhcmFtcy5wcnYge1N0cmluZ30gdXNlciBwcnZcbiAgICogQHJldHVybnMgUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj5cbiAgICovXG4gIGFzeW5jIHNpZ25UcmFuc2FjdGlvbihwYXJhbXM6IEhiYXJTaWduVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbj4ge1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmdldEJ1aWxkZXJGYWN0b3J5KCk7XG4gICAgY29uc3QgdHhCdWlsZGVyID0gZmFjdG9yeS5mcm9tKHBhcmFtcy50eFByZWJ1aWxkLnR4SGV4KTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogcGFyYW1zLnBydiB9KTtcblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICBpZiAoIXRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgbWVzc2FnZWQgcGFzc2VkIHRvIHNpZ25NZXNzYWdlJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICB0eEhleDogdHJhbnNhY3Rpb24udG9Ccm9hZGNhc3RGb3JtYXQoKSxcbiAgICB9O1xuICAgIHJldHVybiB0cmFuc2FjdGlvbi5zaWduYXR1cmUubGVuZ3RoID49IDIgPyByZXNwb25zZSA6IHsgaGFsZlNpZ25lZDogcmVzcG9uc2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaWduIG1lc3NhZ2Ugd2l0aCBwcml2YXRlIGtleVxuICAgKlxuICAgKiBAcGFyYW0ga2V5XG4gICAqIEBwYXJhbSBtZXNzYWdlXG4gICAqIEByZXR1cm4ge0J1ZmZlcn0gQSBzaWduYXR1cmUgb3ZlciB0aGUgZ2l2ZW4gbWVzc2FnZSB1c2luZyB0aGUgZ2l2ZW4ga2V5XG4gICAqL1xuICBhc3luYyBzaWduTWVzc2FnZShrZXk6IEtleVBhaXIsIG1lc3NhZ2U6IHN0cmluZyB8IEJ1ZmZlcik6IFByb21pc2U8QnVmZmVyPiB7XG4gICAgY29uc3QgbXNnID0gQnVmZmVyLmlzQnVmZmVyKG1lc3NhZ2UpID8gbWVzc2FnZS50b1N0cmluZygndXRmOCcpIDogbWVzc2FnZTtcbiAgICAvLyByZWNvbnN0aXR1dGUga2V5cyBhbmQgc2lnblxuICAgIHJldHVybiBCdWZmZXIuZnJvbShuZXcgSGJhcktleVBhaXIoeyBwcnY6IGtleS5wcnYgfSkuc2lnbk1lc3NhZ2UobXNnKSk7XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIGEgZnVuZHMgcmVjb3ZlcnkgdHJhbnNhY3Rpb24gd2l0aG91dCBCaXRHby5cbiAgICogV2UgbmVlZCB0byBkbyB0aHJlZSBxdWVyaWVzIGR1cmluZyB0aGlzOlxuICAgKiAxKSBOb2RlIHF1ZXJ5IC0gaG93IG11Y2ggbW9uZXkgaXMgaW4gdGhlIGFjY291bnRcbiAgICogMikgQnVpbGQgdHJhbnNhY3Rpb24gLSBidWlsZCBvdXIgdHJhbnNhY3Rpb24gZm9yIHRoZSBhbW91bnRcbiAgICogMykgU2VuZCBzaWduZWQgYnVpbGQgLSBzZW5kIG91ciBzaWduZWQgYnVpbGQgdG8gYSBwdWJsaWMgbm9kZVxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVjb3ZlcihwYXJhbXM6IFJlY292ZXJ5T3B0aW9ucyk6IFByb21pc2U8UmVjb3ZlcnlJbmZvIHwgT2ZmbGluZVZhdWx0VHhJbmZvPiB7XG4gICAgY29uc3QgaXNVbnNpZ25lZFN3ZWVwID1cbiAgICAgIChwYXJhbXMuYmFja3VwS2V5LnN0YXJ0c1dpdGgoUFVCTElDX0tFWV9QUkVGSVgpICYmIHBhcmFtcy51c2VyS2V5LnN0YXJ0c1dpdGgoUFVCTElDX0tFWV9QUkVGSVgpKSB8fFxuICAgICAgKFV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocGFyYW1zLnVzZXJLZXkpICYmIFV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocGFyYW1zLmJhY2t1cEtleSkpO1xuXG4gICAgLy8gVmFsaWRhdGUgdGhlIHJvb3QgYWRkcmVzc1xuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhwYXJhbXMucm9vdEFkZHJlc3MpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcm9vdEFkZHJlc3MsIGdvdDogJyArIHBhcmFtcy5yb290QWRkcmVzcyk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3NcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEFkZHJlc3MocGFyYW1zLnJlY292ZXJ5RGVzdGluYXRpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcmVjb3ZlcnlEZXN0aW5hdGlvbiwgZ290OiAnICsgcGFyYW1zLnJlY292ZXJ5RGVzdGluYXRpb24pO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIG5vZGVJZFxuICAgIGlmIChwYXJhbXMubm9kZUlkICYmICFVdGlscy5pc1ZhbGlkQWRkcmVzcyhwYXJhbXMubm9kZUlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIG5vZGVJZCwgZ290OiAnICsgcGFyYW1zLm5vZGVJZCk7XG4gICAgfVxuXG4gICAgLy8gdmFsaWRhdGUgZmVlXG4gICAgaWYgKHBhcmFtcy5tYXhGZWUgJiYgIVV0aWxzLmlzVmFsaWRBbW91bnQocGFyYW1zLm1heEZlZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBtYXhGZWUsIGdvdDogJyArIHBhcmFtcy5tYXhGZWUpO1xuICAgIH1cblxuICAgIC8vIHZhbGlkYXRlIHN0YXJ0VGltZVxuXG4gICAgaWYgKHBhcmFtcy5zdGFydFRpbWUpIHtcbiAgICAgIFV0aWxzLnZhbGlkYXRlU3RhcnRUaW1lKHBhcmFtcy5zdGFydFRpbWUpO1xuICAgIH1cblxuICAgIGlmIChpc1Vuc2lnbmVkU3dlZXAgJiYgIXBhcmFtcy5zdGFydFRpbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignc3RhcnQgdGltZSBpcyByZXF1aXJlZCBmb3IgdW5zaWduZWQgc3dlZXAnKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzVW5zaWduZWRTd2VlcCAmJiAhcGFyYW1zLndhbGxldFBhc3NwaHJhc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignd2FsbGV0UGFzc3BocmFzZSBpcyByZXF1aXJlZCBmb3Igbm9uLWJpdGdvIHJlY292ZXJ5Jyk7XG4gICAgfVxuXG4gICAgbGV0IHVzZXJQcnY6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBsZXQgYmFja1VwOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgaWYgKCFpc1Vuc2lnbmVkU3dlZXApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHVzZXJQcnYgPSB0aGlzLmJpdGdvLmRlY3J5cHQoeyBpbnB1dDogcGFyYW1zLnVzZXJLZXksIHBhc3N3b3JkOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB9KTtcbiAgICAgICAgYmFja1VwID0gdGhpcy5iaXRnby5kZWNyeXB0KHsgaW5wdXQ6IHBhcmFtcy5iYWNrdXBLZXksIHBhc3N3b3JkOiBwYXJhbXMud2FsbGV0UGFzc3BocmFzZSB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICd1bmFibGUgdG8gZGVjcnlwdCB1c2VyS2V5IG9yIGJhY2t1cEtleSB3aXRoIHRoZSB3YWxsZXRQYXNzcGhyYXNlIHByb3ZpZGVkLCBnb3QgZXJyb3I6ICcgKyBlLm1lc3NhZ2VcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB2YWxpZGF0ZSB1c2VyS2V5IGZvciB1bnNpZ25lZCBzd2VlcFxuICAgIGlmIChpc1Vuc2lnbmVkU3dlZXAgJiYgIVV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocGFyYW1zLnVzZXJLZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgdXNlcktleSwgZ290OiAnICsgcGFyYW1zLnVzZXJLZXkpO1xuICAgIH1cblxuICAgIC8vIHZhbGlkYXRlIGJhY2t1cEtleSBmb3IgdW5zaWduZWQgc3dlZXBcbiAgICBpZiAoaXNVbnNpZ25lZFN3ZWVwICYmICFVdGlscy5pc1ZhbGlkUHVibGljS2V5KHBhcmFtcy5iYWNrdXBLZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgYmFja3VwS2V5LCBnb3Q6ICcgKyBwYXJhbXMuYmFja3VwS2V5KTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGFkZHJlc3M6IGRlc3RpbmF0aW9uQWRkcmVzcywgbWVtb0lkIH0gPSBVdGlscy5nZXRBZGRyZXNzRGV0YWlscyhwYXJhbXMucmVjb3ZlcnlEZXN0aW5hdGlvbik7XG4gICAgY29uc3Qgbm9kZUlkID0gcGFyYW1zLm5vZGVJZCA/IHBhcmFtcy5ub2RlSWQgOiAnMC4wLjMnO1xuICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuZ2V0SGJhckNsaWVudCgpO1xuICAgIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCB0aGlzLmdldEFjY291bnRCYWxhbmNlKHBhcmFtcy5yb290QWRkcmVzcywgY2xpZW50KTtcbiAgICBjb25zdCBmZWUgPSBwYXJhbXMubWF4RmVlID8gcGFyYW1zLm1heEZlZSA6ICcxMDAwMDAwMCc7IC8vIGRlZmF1bHQgZmVlIHRvIDEgaGJhclxuICAgIGNvbnN0IG5hdGl2ZUJhbGFuY2UgPSBIYmFyVW5pdC5mcm9tU3RyaW5nKGJhbGFuY2UuaGJhcnMpLnRvVGlueWJhcnMoKS50b1N0cmluZygpO1xuICAgIGNvbnN0IHNwZW5kYWJsZUFtb3VudCA9IG5ldyBCaWdOdW1iZXIobmF0aXZlQmFsYW5jZSkubWludXMoZmVlKTtcblxuICAgIGxldCB0eEJ1aWxkZXI7XG4gICAgaWYgKCFwYXJhbXMudG9rZW5JZCkge1xuICAgICAgaWYgKHNwZW5kYWJsZUFtb3VudC5pc1plcm8oKSB8fCBzcGVuZGFibGVBbW91bnQuaXNOZWdhdGl2ZSgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW5zdWZmaWNpZW50IGJhbGFuY2UgdG8gcmVjb3ZlciwgZ290IGJhbGFuY2U6ICR7bmF0aXZlQmFsYW5jZX0gZmVlOiAke2ZlZX1gKTtcbiAgICAgIH1cbiAgICAgIHR4QnVpbGRlciA9IHRoaXMuZ2V0QnVpbGRlckZhY3RvcnkoKS5nZXRUcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zZW5kKHsgYWRkcmVzczogZGVzdGluYXRpb25BZGRyZXNzLCBhbW91bnQ6IHNwZW5kYWJsZUFtb3VudC50b1N0cmluZygpIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc3BlbmRhYmxlQW1vdW50LmlzTmVnYXRpdmUoKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEluc3VmZmljaWVudCBuYXRpdmUgYmFsYW5jZSB0byByZWNvdmVyIHRva2VucywgZ290IG5hdGl2ZSBiYWxhbmNlOiAke25hdGl2ZUJhbGFuY2V9IGZlZTogJHtmZWV9YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgdG9rZW5CYWxhbmNlID0gYmFsYW5jZS50b2tlbnMuZmluZCgodG9rZW4pID0+IHRva2VuLnRva2VuSWQgPT09IHBhcmFtcy50b2tlbklkKTtcbiAgICAgIGNvbnN0IHRva2VuID0gVXRpbHMuZ2V0SGVkZXJhVG9rZW5OYW1lRnJvbUlkKHBhcmFtcy50b2tlbklkKTtcbiAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCB0b2tlbjogJHtwYXJhbXMudG9rZW5JZH1gKTtcbiAgICAgIH1cbiAgICAgIGlmICghdG9rZW5CYWxhbmNlIHx8IG5ldyBCaWdOdW1iZXIodG9rZW5CYWxhbmNlLmJhbGFuY2UpLmlzWmVybygpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW5zdWZmaWNpZW50IGJhbGFuY2UgdG8gcmVjb3ZlciB0b2tlbjogJHtwYXJhbXMudG9rZW5JZH0gZm9yIGFjY291bnQ6ICR7cGFyYW1zLnJvb3RBZGRyZXNzfWApO1xuICAgICAgfVxuICAgICAgdHhCdWlsZGVyID0gdGhpcy5nZXRCdWlsZGVyRmFjdG9yeSgpLmdldFRva2VuVHJhbnNmZXJCdWlsZGVyKCk7XG4gICAgICB0eEJ1aWxkZXIuc2VuZCh7IGFkZHJlc3M6IGRlc3RpbmF0aW9uQWRkcmVzcywgYW1vdW50OiB0b2tlbkJhbGFuY2UuYmFsYW5jZSwgdG9rZW5OYW1lOiB0b2tlbi5uYW1lIH0pO1xuICAgIH1cblxuICAgIHR4QnVpbGRlci5ub2RlKHsgbm9kZUlkIH0pO1xuICAgIHR4QnVpbGRlci5mZWUoeyBmZWUgfSk7XG4gICAgdHhCdWlsZGVyLnNvdXJjZSh7IGFkZHJlc3M6IHBhcmFtcy5yb290QWRkcmVzcyB9KTtcbiAgICB0eEJ1aWxkZXIudmFsaWREdXJhdGlvbigxODApO1xuICAgIGlmIChtZW1vSWQpIHtcbiAgICAgIHR4QnVpbGRlci5tZW1vKG1lbW9JZCk7XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5zdGFydFRpbWUpIHtcbiAgICAgIHR4QnVpbGRlci5zdGFydFRpbWUoVXRpbHMubm9ybWFsaXplU3RhcnR0aW1lKHBhcmFtcy5zdGFydFRpbWUpKTtcbiAgICB9XG4gICAgaWYgKGlzVW5zaWduZWRTd2VlcCkge1xuICAgICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIGNvbnN0IHR4SnNvbiA9IHR4LnRvSnNvbigpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHhIZXg6IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksXG4gICAgICAgIGNvaW46IHRoaXMuZ2V0Q2hhaW4oKSxcbiAgICAgICAgaWQ6IHR4SnNvbi5pZCxcbiAgICAgICAgc3RhcnRUaW1lOiB0eEpzb24uc3RhcnRUaW1lLFxuICAgICAgICB2YWxpZER1cmF0aW9uOiB0eEpzb24udmFsaWREdXJhdGlvbixcbiAgICAgICAgbm9kZUlkOiB0eEpzb24ubm9kZSxcbiAgICAgICAgbWVtbzogdHhKc29uLm1lbW8sXG4gICAgICAgIHVzZXJLZXk6IHBhcmFtcy51c2VyS2V5LFxuICAgICAgICBiYWNrdXBLZXk6IHBhcmFtcy5iYWNrdXBLZXksXG4gICAgICAgIGJpdGdvS2V5OiBwYXJhbXMuYml0Z29LZXksXG4gICAgICAgIG1heEZlZTogZmVlLFxuICAgICAgICBhZGRyZXNzOiBwYXJhbXMucm9vdEFkZHJlc3MsXG4gICAgICAgIHJlY2lwaWVudHM6IHR4SnNvbi5pbnN0cnVjdGlvbnNEYXRhLnBhcmFtcy5yZWNpcGllbnRzLFxuICAgICAgICBhbW91bnQ6IHR4SnNvbi5hbW91bnQsXG4gICAgICAgIGpzb246IHR4SnNvbixcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IHVzZXJQcnYgfSk7XG4gICAgdHhCdWlsZGVyLnNpZ24oeyBrZXk6IGJhY2tVcCB9KTtcblxuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHg6IHR4LnRvQnJvYWRjYXN0Rm9ybWF0KCksXG4gICAgICBpZDogdHgudG9Kc29uKCkuaWQsXG4gICAgICBjb2luOiB0aGlzLmdldENoYWluKCksXG4gICAgICBzdGFydFRpbWU6IHR4LnRvSnNvbigpLnN0YXJ0VGltZSxcbiAgICAgIG5vZGVJZDogdHgudG9Kc29uKCkubm9kZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cGxhaW4gYSBIZWRlcmEgdHJhbnNhY3Rpb24gZnJvbSB0eEhleFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBhc3luYyBleHBsYWluVHJhbnNhY3Rpb24ocGFyYW1zOiBFeHBsYWluVHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxUcmFuc2FjdGlvbkV4cGxhbmF0aW9uPiB7XG4gICAgY29uc3QgdHhIZXggPSBwYXJhbXMudHhIZXggfHwgKHBhcmFtcy5oYWxmU2lnbmVkICYmIHBhcmFtcy5oYWxmU2lnbmVkLnR4SGV4KTtcbiAgICBpZiAoIXR4SGV4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgZXhwbGFpbiB0eCBwYXJhbWV0ZXJzJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuZ2V0QnVpbGRlckZhY3RvcnkoKTtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmZyb20odHhIZXgpO1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdHhCdWlsZGVyLmJ1aWxkKCk7XG4gICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG5cbiAgICBsZXQgb3V0cHV0QW1vdW50ID0gbmV3IEJpZ051bWJlcigwKTtcbiAgICBjb25zdCBvdXRwdXRzOiB7IGFkZHJlc3M6IHN0cmluZzsgYW1vdW50OiBzdHJpbmc7IG1lbW86IHN0cmluZzsgdG9rZW5OYW1lPzogc3RyaW5nIH1bXSA9IFtdO1xuICAgIC8vIFRPRE8oQkctMjQ4MDkpOiBnZXQgdGhlIG1lbW8gZnJvbSB0aGUgdG9Kc29uXG4gICAgbGV0IG1lbW8gPSAnJztcbiAgICBpZiAocGFyYW1zLm1lbW8pIHtcbiAgICAgIG1lbW8gPSBwYXJhbXMubWVtby52YWx1ZTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR4SnNvbi5pbnN0cnVjdGlvbnNEYXRhLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2NyeXB0b1RyYW5zZmVyJzpcbiAgICAgICAgY29uc3QgcmVjaXBpZW50cyA9IHR4SnNvbi5pbnN0cnVjdGlvbnNEYXRhLnBhcmFtcy5yZWNpcGllbnRzIHx8IFtdO1xuICAgICAgICByZWNpcGllbnRzLmZvckVhY2goKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICAgIGlmICghcmVjaXBpZW50LnRva2VuTmFtZSkge1xuICAgICAgICAgICAgLy8gdG9rZW4gdHJhbnNmZXIgZG9lc24ndCBjaGFuZ2Ugb3V0cHV0QW1vdW50XG4gICAgICAgICAgICBvdXRwdXRBbW91bnQgPSBvdXRwdXRBbW91bnQucGx1cyhyZWNpcGllbnQuYW1vdW50KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3V0cHV0cy5wdXNoKHtcbiAgICAgICAgICAgIGFkZHJlc3M6IHJlY2lwaWVudC5hZGRyZXNzLFxuICAgICAgICAgICAgYW1vdW50OiByZWNpcGllbnQuYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICAgICAgICBtZW1vLFxuICAgICAgICAgICAgLi4uKHJlY2lwaWVudC50b2tlbk5hbWUgJiYge1xuICAgICAgICAgICAgICB0b2tlbk5hbWU6IHJlY2lwaWVudC50b2tlbk5hbWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICd0b2tlbkFzc29jaWF0ZSc6XG4gICAgICAgIGNvbnN0IHRva2VucyA9IHR4SnNvbi5pbnN0cnVjdGlvbnNEYXRhLnBhcmFtcy50b2tlbk5hbWVzIHx8IFtdO1xuICAgICAgICBjb25zdCBhY2NvdW50SWQgPSB0eEpzb24uaW5zdHJ1Y3Rpb25zRGF0YS5wYXJhbXMuYWNjb3VudElkO1xuICAgICAgICB0b2tlbnMuZm9yRWFjaCgodG9rZW4pID0+IHtcbiAgICAgICAgICBvdXRwdXRzLnB1c2goe1xuICAgICAgICAgICAgYWRkcmVzczogYWNjb3VudElkLFxuICAgICAgICAgICAgYW1vdW50OiAnMCcsXG4gICAgICAgICAgICBtZW1vLFxuICAgICAgICAgICAgdG9rZW5OYW1lOiB0b2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zYWN0aW9uIGZvcm1hdCBvdXRzaWRlIG9mIGNyeXB0b1RyYW5zZmVyIG5vdCBzdXBwb3J0ZWQgZm9yIGV4cGxhbmF0aW9uLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGRpc3BsYXlPcmRlciA9IFtcbiAgICAgICdpZCcsXG4gICAgICAnb3V0cHV0QW1vdW50JyxcbiAgICAgICdjaGFuZ2VBbW91bnQnLFxuICAgICAgJ291dHB1dHMnLFxuICAgICAgJ2NoYW5nZU91dHB1dHMnLFxuICAgICAgJ2ZlZScsXG4gICAgICAndGltZXN0YW1wJyxcbiAgICAgICdleHBpcmF0aW9uJyxcbiAgICAgICdtZW1vJyxcbiAgICBdO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0eEpzb24uaWQsXG4gICAgICBvdXRwdXRzLFxuICAgICAgb3V0cHV0QW1vdW50OiBvdXRwdXRBbW91bnQudG9TdHJpbmcoKSxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLCAvLyBhY2NvdW50IGJhc2VkIGRvZXMgbm90IHVzZSBjaGFuZ2Ugb3V0cHV0c1xuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsIC8vIGFjY291bnQgYmFzZSBkb2VzIG5vdCBtYWtlIGNoYW5nZVxuICAgICAgZmVlOiBwYXJhbXMuZmVlSW5mbz8uZmVlIHx8IHR4SnNvbi5mZWUsIC8vIGluIHRoZSBpbnN0YW5jZSBubyBmZWVJbmZvIGlzIHBhc3NlZCBpbiBhcyBhIHBhcmFtLCBzaG93IHRoZSBmZWUgZ2l2ZW4gYnkgdGhlIHR4SlNPTlxuICAgICAgdGltZXN0YW1wOiB0eEpzb24uc3RhcnRUaW1lLFxuICAgICAgZXhwaXJhdGlvbjogdHhKc29uLnZhbGlkRHVyYXRpb24sXG4gICAgfSBhcyBhbnk7XG4gIH1cblxuICBpc1N0ZWxsYXJTZWVkKHNlZWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTZWVkVmFsaWRhdG9yLmlzVmFsaWRFZDI1NTE5U2VlZEZvckNvaW4oc2VlZCwgQ29pbkZhbWlseS5YTE0pO1xuICB9XG5cbiAgY29udmVydEZyb21TdGVsbGFyU2VlZChzZWVkOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAvLyBhc3N1bWUgdGhpcyBpcyBhIHRydXN0IGN1c3RvZGlhbCBzZWVkIGlmIGl0cyBhIHZhbGlkIGVkMjU1MTkgcHJ2XG4gICAgaWYgKCF0aGlzLmlzU3RlbGxhclNlZWQoc2VlZCkgfHwgU2VlZFZhbGlkYXRvci5oYXNDb21wZXRpbmdTZWVkRm9ybWF0cyhzZWVkKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKFNlZWRWYWxpZGF0b3IuaXNWYWxpZEVkMjU1MTlTZWVkRm9yQ29pbihzZWVkLCBDb2luRmFtaWx5LlhMTSkpIHtcbiAgICAgIGNvbnN0IGtleUZyb21TZWVkID0gbmV3IEhiYXJLZXlQYWlyKHsgc2VlZDogc3RlbGxhci5TdHJLZXkuZGVjb2RlRWQyNTUxOVNlY3JldFNlZWQoc2VlZCkgfSk7XG4gICAgICBjb25zdCBrZXlzID0ga2V5RnJvbVNlZWQuZ2V0S2V5cygpO1xuICAgICAgaWYgKGtleXMgIT09IHVuZGVmaW5lZCAmJiBrZXlzLnBydikge1xuICAgICAgICByZXR1cm4ga2V5cy5wcnY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpc1ZhbGlkUHViKHB1Yjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocHViKTtcbiAgfVxuXG4gIHN1cHBvcnRzRGVyaXZlS2V5V2l0aFNlZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqIHtAaW5oZXJpdERvYyB9ICoqL1xuICBzdXBwb3J0c011bHRpc2lnKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqIGluaGVyaXRlZCBkb2MgKi9cbiAgZ2V0RGVmYXVsdE11bHRpc2lnVHlwZSgpOiBNdWx0aXNpZ1R5cGUge1xuICAgIHJldHVybiBtdWx0aXNpZ1R5cGVzLm9uY2hhaW47XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW5FbmFibGVtZW50Q29uZmlnKCk6IFRva2VuRW5hYmxlbWVudENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcXVpcmVzVG9rZW5FbmFibGVtZW50OiB0cnVlLFxuICAgICAgc3VwcG9ydHNNdWx0aXBsZVRva2VuRW5hYmxlbWVudHM6IHRydWUsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QnVpbGRlckZhY3RvcnkoKTogVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5KGNvaW5zLmdldCh0aGlzLmdldENoYWluKCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SGJhckNsaWVudCgpOiBDbGllbnQge1xuICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuYml0Z28uZ2V0RW52KCkgPT09ICdwcm9kJyA/IENsaWVudC5mb3JNYWlubmV0KCkgOiBDbGllbnQuZm9yVGVzdG5ldCgpO1xuICAgIHJldHVybiBjbGllbnQ7XG4gIH1cblxuICBhc3luYyBnZXRBY2NvdW50QmFsYW5jZShhY2NvdW50SWQ6IHN0cmluZywgY2xpZW50OiBDbGllbnQpOiBQcm9taXNlPEFjY291bnRCYWxhbmNlSnNvbj4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBiYWxhbmNlID0gYXdhaXQgbmV3IEFjY291bnRCYWxhbmNlUXVlcnkoKS5zZXRBY2NvdW50SWQoYWNjb3VudElkKS5leGVjdXRlKGNsaWVudCk7XG5cbiAgICAgIHJldHVybiBiYWxhbmNlLnRvSlNPTigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGdldCBhY2NvdW50IGJhbGFuY2UsIGVycm9yOiAnICsgZS5tZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBicm9hZGNhc3RUcmFuc2FjdGlvbih7XG4gICAgc2VyaWFsaXplZFNpZ25lZFRyYW5zYWN0aW9uLFxuICAgIHN0YXJ0VGltZSxcbiAgfTogQnJvYWRjYXN0VHJhbnNhY3Rpb25PcHRpb25zKTogUHJvbWlzZTxCcm9hZGNhc3RUcmFuc2FjdGlvblJlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBoYmFyVHggPSBIYmFyVHJhbnNhY3Rpb24uZnJvbUJ5dGVzKFV0aWxzLnRvVWludDhBcnJheShzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24pKTtcblxuICAgICAgaWYgKHN0YXJ0VGltZSkge1xuICAgICAgICBVdGlscy5pc1ZhbGlkVGltZVN0cmluZyhzdGFydFRpbWUpO1xuICAgICAgICB3aGlsZSAoIVV0aWxzLnNob3VsZEJyb2FkY2FzdE5vdyhzdGFydFRpbWUpKSB7XG4gICAgICAgICAgYXdhaXQgVXRpbHMuc2xlZXAoMTAwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuY2xpZW50QnJvYWRjYXN0VHJhbnNhY3Rpb24oaGJhclR4KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBicm9hZGNhc3QgdHJhbnNhY3Rpb24sIGVycm9yOiAnICsgZS5tZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjbGllbnRCcm9hZGNhc3RUcmFuc2FjdGlvbihoYmFyVHg6IEhiYXJUcmFuc2FjdGlvbikge1xuICAgIGNvbnN0IGNsaWVudCA9IHRoaXMuZ2V0SGJhckNsaWVudCgpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uUmVzcG9uc2UgPSBhd2FpdCBoYmFyVHguZXhlY3V0ZShjbGllbnQpO1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uUmVjZWlwdCA9IGF3YWl0IHRyYW5zYWN0aW9uUmVzcG9uc2UuZ2V0UmVjZWlwdChjbGllbnQpO1xuXG4gICAgcmV0dXJuIHsgdHhJZDogdHJhbnNhY3Rpb25SZXNwb25zZS50cmFuc2FjdGlvbklkLnRvU3RyaW5nKCksIHN0YXR1czogdHJhbnNhY3Rpb25SZWNlaXB0LnN0YXR1cy50b1N0cmluZygpIH07XG4gIH1cbn1cbiJdfQ==
497
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsaURBQXFGO0FBQ3JGLG1EQXNCOEI7QUFDOUIsK0NBQXlDO0FBQ3pDLHFEQUF1QztBQUN2QyxtREFBZ0Q7QUFDaEQsK0JBQXVGO0FBQ3ZGLG1EQUFxQztBQUNyQywwQ0FBNEI7QUFDNUIsd0NBTXdCO0FBQ3hCLDJDQUFrRDtBQXVGbEQsTUFBYSxJQUFLLFNBQVEsbUJBQVE7SUFHaEMsWUFBWSxLQUFnQixFQUFFLFdBQXVDO1FBQ25FLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUViLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQWdCLEVBQUUsV0FBdUM7UUFDN0UsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILHdCQUF3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SSxFQUFFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDOUcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUEyQjtRQUN6RSxJQUFJLFlBQVksS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUVELElBQUksV0FBVyxDQUFDO1FBRWhCLElBQUksQ0FBQztZQUNILFdBQVcsR0FBRyxJQUFJLGFBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUM1QyxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE1Z0JELG9CQTRnQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwcmV0dGllclxuICovXG5pbXBvcnQgeyBDb2luRmFtaWx5LCBCYXNlQ29pbiBhcyBTdGF0aWNzQmFzZUNvaW4sIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBCYXNlQ29pbixcbiAgQml0R29CYXNlLFxuICBLZXlQYWlyLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMsXG4gIFNpZ25lZFRyYW5zYWN0aW9uLFxuICBTaWduVHJhbnNhY3Rpb25PcHRpb25zLFxuICBWZXJpZnlBZGRyZXNzT3B0aW9ucyBhcyBCYXNlVmVyaWZ5QWRkcmVzc09wdGlvbnMsXG4gIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVHJhbnNhY3Rpb25GZWUsXG4gIFRyYW5zYWN0aW9uUmVjaXBpZW50IGFzIFJlY2lwaWVudCxcbiAgVHJhbnNhY3Rpb25QcmVidWlsZCBhcyBCYXNlVHJhbnNhY3Rpb25QcmVidWlsZCxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgTWVtbyxcbiAgVG9rZW5FbmFibGVtZW50Q29uZmlnLFxuICBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25PcHRpb25zLFxuICBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQsXG4gIE5vdFN1cHBvcnRlZCxcbiAgTXVsdGlzaWdUeXBlLFxuICBtdWx0aXNpZ1R5cGVzLFxuICBBdWRpdERlY3J5cHRlZEtleVBhcmFtcyxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmlnTnVtYmVyIH0gZnJvbSAnYmlnbnVtYmVyLmpzJztcbmltcG9ydCAqIGFzIHN0ZWxsYXIgZnJvbSAnc3RlbGxhci1zZGsnO1xuaW1wb3J0IHsgU2VlZFZhbGlkYXRvciB9IGZyb20gJy4vc2VlZFZhbGlkYXRvcic7XG5pbXBvcnQgeyBLZXlQYWlyIGFzIEhiYXJLZXlQYWlyLCBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LCBUcmFuc2FjdGlvbiB9IGZyb20gJy4vbGliJztcbmltcG9ydCAqIGFzIFV0aWxzIGZyb20gJy4vbGliL3V0aWxzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7XG4gIENsaWVudCxcbiAgVHJhbnNhY3Rpb24gYXMgSGJhclRyYW5zYWN0aW9uLFxuICBBY2NvdW50QmFsYW5jZVF1ZXJ5LFxuICBBY2NvdW50QmFsYW5jZUpzb24sXG4gIEhiYXIgYXMgSGJhclVuaXQsXG59IGZyb20gJ0BoYXNoZ3JhcGgvc2RrJztcbmltcG9ydCB7IFBVQkxJQ19LRVlfUFJFRklYIH0gZnJvbSAnLi9saWIva2V5UGFpcic7XG5leHBvcnQgaW50ZXJmYWNlIEhiYXJTaWduVHJhbnNhY3Rpb25PcHRpb25zIGV4dGVuZHMgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIHBydjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR4SW5mbyB7XG4gIHJlY2lwaWVudHM6IFJlY2lwaWVudFtdO1xuICBmcm9tOiBzdHJpbmc7XG4gIHR4aWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvblByZWJ1aWxkIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uUHJlYnVpbGQge1xuICB0eEhleDogc3RyaW5nO1xuICB0eEluZm86IFR4SW5mbztcbiAgZmVlSW5mbzogVHJhbnNhY3Rpb25GZWU7XG4gIHNvdXJjZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMge1xuICB0eEhleD86IHN0cmluZztcbiAgaGFsZlNpZ25lZD86IHtcbiAgICB0eEhleDogc3RyaW5nO1xuICB9O1xuICBmZWVJbmZvPzogVHJhbnNhY3Rpb25GZWU7XG4gIC8vIFRPRE8oQkctMjQ4MDkpOiBnZXQgdGhlIG1lbW8gZnJvbSB0aGUgdG9Kc29uXG4gIG1lbW8/OiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGJhclZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9ucyB7XG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ7XG4gIG1lbW8/OiBNZW1vO1xufVxuXG5pbnRlcmZhY2UgVmVyaWZ5QWRkcmVzc09wdGlvbnMgZXh0ZW5kcyBCYXNlVmVyaWZ5QWRkcmVzc09wdGlvbnMge1xuICBiYXNlQWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY292ZXJ5T3B0aW9ucyB7XG4gIGJhY2t1cEtleTogc3RyaW5nO1xuICB1c2VyS2V5OiBzdHJpbmc7XG4gIHJvb3RBZGRyZXNzOiBzdHJpbmc7XG4gIHJlY292ZXJ5RGVzdGluYXRpb246IHN0cmluZztcbiAgYml0Z29LZXk/OiBzdHJpbmc7XG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmc7XG4gIG1heEZlZT86IHN0cmluZztcbiAgbm9kZUlkPzogc3RyaW5nO1xuICBzdGFydFRpbWU/OiBzdHJpbmc7XG4gIHRva2VuSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3ZlcnlJbmZvIHtcbiAgaWQ6IHN0cmluZztcbiAgdHg6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBzdGFydFRpbWU6IHN0cmluZztcbiAgbm9kZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2ZmbGluZVZhdWx0VHhJbmZvIHtcbiAgdHhIZXg6IHN0cmluZztcbiAgdXNlcktleTogc3RyaW5nO1xuICBiYWNrdXBLZXk6IHN0cmluZztcbiAgYml0Z29LZXk/OiBzdHJpbmc7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgY29pbjogc3RyaW5nO1xuICBtYXhGZWU6IHN0cmluZztcbiAgcmVjaXBpZW50czogUmVjaXBpZW50W107XG4gIGFtb3VudDogc3RyaW5nO1xuICBzdGFydFRpbWU6IHN0cmluZztcbiAgdmFsaWREdXJhdGlvbjogc3RyaW5nO1xuICBub2RlSWQ6IHN0cmluZztcbiAgbWVtbzogc3RyaW5nO1xuICBqc29uPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyb2FkY2FzdFRyYW5zYWN0aW9uT3B0aW9ucyBleHRlbmRzIEJhc2VCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMge1xuICBzdGFydFRpbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQgZXh0ZW5kcyBCYXNlQnJvYWRjYXN0VHJhbnNhY3Rpb25SZXN1bHQge1xuICBzdGF0dXM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBIYmFyIGV4dGVuZHMgQmFzZUNvaW4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRpY3NDb2luOiBSZWFkb25seTxTdGF0aWNzQmFzZUNvaW4+O1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHN0YXRpY3NDb2luPzogUmVhZG9ubHk8U3RhdGljc0Jhc2VDb2luPikge1xuICAgIHN1cGVyKGJpdGdvKTtcblxuICAgIGlmICghc3RhdGljc0NvaW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIgc3RhdGljc0NvaW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdGF0aWNzQ29pbiA9IHN0YXRpY3NDb2luO1xuICB9XG5cbiAgZ2V0Q2hhaW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLm5hbWU7XG4gIH1cblxuICBnZXRGYW1pbHkoKTogQ29pbkZhbWlseSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRpY3NDb2luLmZhbWlseTtcbiAgfVxuXG4gIGdldEZ1bGxOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9zdGF0aWNzQ29pbi5mdWxsTmFtZTtcbiAgfVxuXG4gIGdldEJhc2VGYWN0b3IoKSB7XG4gICAgcmV0dXJuIE1hdGgucG93KDEwLCB0aGlzLl9zdGF0aWNzQ29pbi5kZWNpbWFsUGxhY2VzKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVJbnN0YW5jZShiaXRnbzogQml0R29CYXNlLCBzdGF0aWNzQ29pbj86IFJlYWRvbmx5PFN0YXRpY3NCYXNlQ29pbj4pOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBIYmFyKGJpdGdvLCBzdGF0aWNzQ29pbik7XG4gIH1cblxuICAvKipcbiAgICogRmxhZyBmb3Igc2VuZGluZyB2YWx1ZSBvZiAwXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIG9rYXkgdG8gc2VuZCAwIHZhbHVlLCBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIHZhbHVlbGVzc1RyYW5zZmVyQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoaXMgaXMgYSB2YWxpZCBiYXNlNTggb3IgaGV4IGFkZHJlc3NcbiAgICogQHBhcmFtIGFkZHJlc3NcbiAgICovXG4gIGlzVmFsaWRBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gVXRpbHMuaXNWYWxpZEFkZHJlc3NXaXRoUGF5bWVudElkKGFkZHJlc3MpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvKiogaW5oZXJpdGRvYyAqL1xuICBkZXJpdmVLZXlXaXRoU2VlZCgpOiB7IGRlcml2YXRpb25QYXRoOiBzdHJpbmc7IGtleTogc3RyaW5nIH0ge1xuICAgIHRocm93IG5ldyBOb3RTdXBwb3J0ZWQoJ21ldGhvZCBkZXJpdmVLZXlXaXRoU2VlZCBub3Qgc3VwcG9ydGVkIGZvciBlZGRzYSBjdXJ2ZScpO1xuICB9XG5cbiAgLyoqIGluaGVyaXRkb2MgKi9cbiAgZ2VuZXJhdGVLZXlQYWlyKHNlZWQ/OiBCdWZmZXIpOiBLZXlQYWlyIHtcbiAgICBjb25zdCBrZXlQYWlyID0gc2VlZCA/IG5ldyBIYmFyS2V5UGFpcih7IHNlZWQgfSkgOiBuZXcgSGJhcktleVBhaXIoKTtcbiAgICBjb25zdCBrZXlzID0ga2V5UGFpci5nZXRLZXlzKCk7XG5cbiAgICBpZiAoIWtleXMucHJ2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0tleXBhaXIgZ2VuZXJhdGlvbiBmYWlsZWQgdG8gZ2VuZXJhdGUgYSBwcnYnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHViOiBrZXlzLnB1YixcbiAgICAgIHBydjoga2V5cy5wcnYsXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBpbmhlcml0ZG9jICovXG4gIGdlbmVyYXRlUm9vdEtleVBhaXIoc2VlZD86IEJ1ZmZlcik6IEtleVBhaXIge1xuICAgIGNvbnN0IGtleVBhaXIgPSBzZWVkID8gbmV3IEhiYXJLZXlQYWlyKHsgc2VlZCB9KSA6IG5ldyBIYmFyS2V5UGFpcigpO1xuICAgIGNvbnN0IGtleXMgPSBrZXlQYWlyLmdldEtleXModHJ1ZSk7XG4gICAgaWYgKCFrZXlzLnBydikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBydiBpbiBrZXkgZ2VuZXJhdGlvbi4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcHJ2OiBrZXlzLnBydiArIGtleXMucHViLCBwdWI6IGtleXMucHViIH07XG4gIH1cblxuICBhc3luYyBwYXJzZVRyYW5zYWN0aW9uKHBhcmFtczogUGFyc2VUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPiB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFkZHJlc3MgaXMgdmFsaWQsIHRoZW4gbWFrZSBzdXJlIGl0IG1hdGNoZXMgdGhlIGJhc2UgYWRkcmVzcy5cbiAgICpcbiAgICogQHBhcmFtIHtWZXJpZnlBZGRyZXNzT3B0aW9uc30gcGFyYW1zXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBwYXJhbXMuYWRkcmVzcyAtIHRoZSBhZGRyZXNzIHRvIHZlcmlmeVxuICAgKiBAcGFyYW0ge1N0cmluZ30gcGFyYW1zLmJhc2VBZGRyZXNzIC0gdGhlIGJhc2UgYWRkcmVzcyBmcm9tIHRoZSB3YWxsZXRcbiAgICovXG4gIGFzeW5jIGlzV2FsbGV0QWRkcmVzcyhwYXJhbXM6IFZlcmlmeUFkZHJlc3NPcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBhZGRyZXNzLCBiYXNlQWRkcmVzcyB9ID0gcGFyYW1zO1xuICAgIHJldHVybiBVdGlscy5pc1NhbWVCYXNlQWRkcmVzcyhhZGRyZXNzLCBiYXNlQWRkcmVzcyk7XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbihwYXJhbXM6IEhiYXJWZXJpZnlUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAvLyBhc3NldCBuYW1lIHRvIHRyYW5zZmVyIGFtb3VudCBtYXBcbiAgICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSk7XG4gICAgY29uc3QgeyB0eFBhcmFtczogdHhQYXJhbXMsIHR4UHJlYnVpbGQ6IHR4UHJlYnVpbGQsIG1lbW86IG1lbW8gfSA9IHBhcmFtcztcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IG5ldyBUcmFuc2FjdGlvbihjb2luQ29uZmlnKTtcbiAgICBpZiAoIXR4UHJlYnVpbGQudHhIZXgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCB0eCBwcmVidWlsZCBwcm9wZXJ0eSB0eEhleCcpO1xuICAgIH1cblxuICAgIHRyYW5zYWN0aW9uLmZyb21SYXdUcmFuc2FjdGlvbih0eFByZWJ1aWxkLnR4SGV4KTtcbiAgICBjb25zdCBleHBsYWluVHhQYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMgPSB7XG4gICAgICB0eEhleDogdHhQcmVidWlsZC50eEhleCxcbiAgICAgIGZlZUluZm86IHR4UHJlYnVpbGQuZmVlSW5mbyxcbiAgICAgIG1lbW86IG1lbW8sXG4gICAgfTtcbiAgICBjb25zdCBleHBsYWluZWRUeCA9IGF3YWl0IHRoaXMuZXhwbGFpblRyYW5zYWN0aW9uKGV4cGxhaW5UeFBhcmFtcyk7XG5cbiAgICBpZiAoIXR4UGFyYW1zLnJlY2lwaWVudHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCB0eCBwYXJhbXMgcHJvcGVydHkgcmVjaXBpZW50cycpO1xuICAgIH1cblxuICAgIC8vIGZvciBlbmFibGV0b2tlbiwgcmVjaXBpZW50IG91dHB1dCBhbW91bnQgaXMgMFxuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB0eFBhcmFtcy5yZWNpcGllbnRzLm1hcCgocmVjaXBpZW50KSA9PiAoe1xuICAgICAgLi4ucmVjaXBpZW50LFxuICAgICAgYW1vdW50OiB0eFBhcmFtcy50eXBlID09PSAnZW5hYmxldG9rZW4nID8gJzAnIDogcmVjaXBpZW50LmFtb3VudCxcbiAgICAgIGFkZHJlc3M6IFV0aWxzLmdldEFkZHJlc3NEZXRhaWxzKHJlY2lwaWVudC5hZGRyZXNzKS5hZGRyZXNzLFxuICAgIH0pKTtcbiAgICBpZiAoY29pbkNvbmZpZy5pc1Rva2VuKSB7XG4gICAgICByZWNpcGllbnRzLmZvckVhY2goKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICBpZiAocmVjaXBpZW50LnRva2VuTmFtZSAhPT0gdW5kZWZpbmVkICYmIHJlY2lwaWVudC50b2tlbk5hbWUgIT09IGNvaW5Db25maWcubmFtZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW5jb3JyZWN0IHRva2VuIG5hbWUgc3BlY2lmaWVkIGluIHJlY2lwaWVudHMnKTtcbiAgICAgICAgfVxuICAgICAgICByZWNpcGllbnQudG9rZW5OYW1lID0gY29pbkNvbmZpZy5uYW1lO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gdmVyaWZ5IHJlY2lwaWVudHMgZnJvbSBwYXJhbXMgYW5kIGV4cGxhaW5lZFR4XG4gICAgY29uc3QgZmlsdGVyZWRSZWNpcGllbnRzID0gcmVjaXBpZW50cz8ubWFwKChyZWNpcGllbnQpID0+IF8ucGljayhyZWNpcGllbnQsIFsnYWRkcmVzcycsICdhbW91bnQnLCAndG9rZW5OYW1lJ10pKTtcbiAgICBjb25zdCBmaWx0ZXJlZE91dHB1dHMgPSBleHBsYWluZWRUeC5vdXRwdXRzLm1hcCgob3V0cHV0KSA9PiBfLnBpY2sob3V0cHV0LCBbJ2FkZHJlc3MnLCAnYW1vdW50JywgJ3Rva2VuTmFtZSddKSk7XG5cbiAgICBpZiAoIV8uaXNFcXVhbChmaWx0ZXJlZE91dHB1dHMsIGZpbHRlcmVkUmVjaXBpZW50cykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVHggb3V0cHV0cyBkb2VzIG5vdCBtYXRjaCB3aXRoIGV4cGVjdGVkIHR4UGFyYW1zIHJlY2lwaWVudHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NlbWJsZSBrZXljaGFpbiBhbmQgaGFsZi1zaWduIHByZWJ1aWx0IHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy50eFByZWJ1aWxkIHtPYmplY3R9IHByZWJ1aWxkIG9iamVjdCByZXR1cm5lZCBieSBwbGF0Zm9ybVxuICAgKiBAcGFyYW0gcGFyYW1zLnBydiB7U3RyaW5nfSB1c2VyIHBydlxuICAgKiBAcmV0dXJucyBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPlxuICAgKi9cbiAgYXN5bmMgc2lnblRyYW5zYWN0aW9uKHBhcmFtczogSGJhclNpZ25UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFNpZ25lZFRyYW5zYWN0aW9uPiB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuZ2V0QnVpbGRlckZhY3RvcnkoKTtcbiAgICBjb25zdCB0eEJ1aWxkZXIgPSBmYWN0b3J5LmZyb20ocGFyYW1zLnR4UHJlYnVpbGQudHhIZXgpO1xuICAgIHR4QnVpbGRlci5zaWduKHsga2V5OiBwYXJhbXMucHJ2IH0pO1xuXG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcblxuICAgIGlmICghdHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtZXNzYWdlZCBwYXNzZWQgdG8gc2lnbk1lc3NhZ2UnKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IHtcbiAgICAgIHR4SGV4OiB0cmFuc2FjdGlvbi50b0Jyb2FkY2FzdEZvcm1hdCgpLFxuICAgIH07XG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLnNpZ25hdHVyZS5sZW5ndGggPj0gMiA/IHJlc3BvbnNlIDogeyBoYWxmU2lnbmVkOiByZXNwb25zZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNpZ24gbWVzc2FnZSB3aXRoIHByaXZhdGUga2V5XG4gICAqXG4gICAqIEBwYXJhbSBrZXlcbiAgICogQHBhcmFtIG1lc3NhZ2VcbiAgICogQHJldHVybiB7QnVmZmVyfSBBIHNpZ25hdHVyZSBvdmVyIHRoZSBnaXZlbiBtZXNzYWdlIHVzaW5nIHRoZSBnaXZlbiBrZXlcbiAgICovXG4gIGFzeW5jIHNpZ25NZXNzYWdlKGtleTogS2V5UGFpciwgbWVzc2FnZTogc3RyaW5nIHwgQnVmZmVyKTogUHJvbWlzZTxCdWZmZXI+IHtcbiAgICBjb25zdCBtc2cgPSBCdWZmZXIuaXNCdWZmZXIobWVzc2FnZSkgPyBtZXNzYWdlLnRvU3RyaW5nKCd1dGY4JykgOiBtZXNzYWdlO1xuICAgIC8vIHJlY29uc3RpdHV0ZSBrZXlzIGFuZCBzaWduXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKG5ldyBIYmFyS2V5UGFpcih7IHBydjoga2V5LnBydiB9KS5zaWduTWVzc2FnZShtc2cpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBmdW5kcyByZWNvdmVyeSB0cmFuc2FjdGlvbiB3aXRob3V0IEJpdEdvLlxuICAgKiBXZSBuZWVkIHRvIGRvIHRocmVlIHF1ZXJpZXMgZHVyaW5nIHRoaXM6XG4gICAqIDEpIE5vZGUgcXVlcnkgLSBob3cgbXVjaCBtb25leSBpcyBpbiB0aGUgYWNjb3VudFxuICAgKiAyKSBCdWlsZCB0cmFuc2FjdGlvbiAtIGJ1aWxkIG91ciB0cmFuc2FjdGlvbiBmb3IgdGhlIGFtb3VudFxuICAgKiAzKSBTZW5kIHNpZ25lZCBidWlsZCAtIHNlbmQgb3VyIHNpZ25lZCBidWlsZCB0byBhIHB1YmxpYyBub2RlXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIHB1YmxpYyBhc3luYyByZWNvdmVyKHBhcmFtczogUmVjb3ZlcnlPcHRpb25zKTogUHJvbWlzZTxSZWNvdmVyeUluZm8gfCBPZmZsaW5lVmF1bHRUeEluZm8+IHtcbiAgICBjb25zdCBpc1Vuc2lnbmVkU3dlZXAgPVxuICAgICAgKHBhcmFtcy5iYWNrdXBLZXkuc3RhcnRzV2l0aChQVUJMSUNfS0VZX1BSRUZJWCkgJiYgcGFyYW1zLnVzZXJLZXkuc3RhcnRzV2l0aChQVUJMSUNfS0VZX1BSRUZJWCkpIHx8XG4gICAgICAoVXRpbHMuaXNWYWxpZFB1YmxpY0tleShwYXJhbXMudXNlcktleSkgJiYgVXRpbHMuaXNWYWxpZFB1YmxpY0tleShwYXJhbXMuYmFja3VwS2V5KSk7XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgcm9vdCBhZGRyZXNzXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRBZGRyZXNzKHBhcmFtcy5yb290QWRkcmVzcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCByb290QWRkcmVzcywgZ290OiAnICsgcGFyYW1zLnJvb3RBZGRyZXNzKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSB0aGUgZGVzdGluYXRpb24gYWRkcmVzc1xuICAgIGlmICghdGhpcy5pc1ZhbGlkQWRkcmVzcyhwYXJhbXMucmVjb3ZlcnlEZXN0aW5hdGlvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCByZWNvdmVyeURlc3RpbmF0aW9uLCBnb3Q6ICcgKyBwYXJhbXMucmVjb3ZlcnlEZXN0aW5hdGlvbik7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgbm9kZUlkXG4gICAgaWYgKHBhcmFtcy5ub2RlSWQgJiYgIVV0aWxzLmlzVmFsaWRBZGRyZXNzKHBhcmFtcy5ub2RlSWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgbm9kZUlkLCBnb3Q6ICcgKyBwYXJhbXMubm9kZUlkKTtcbiAgICB9XG5cbiAgICAvLyB2YWxpZGF0ZSBmZWVcbiAgICBpZiAocGFyYW1zLm1heEZlZSAmJiAhVXRpbHMuaXNWYWxpZEFtb3VudChwYXJhbXMubWF4RmVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIG1heEZlZSwgZ290OiAnICsgcGFyYW1zLm1heEZlZSk7XG4gICAgfVxuXG4gICAgLy8gdmFsaWRhdGUgc3RhcnRUaW1lXG5cbiAgICBpZiAocGFyYW1zLnN0YXJ0VGltZSkge1xuICAgICAgVXRpbHMudmFsaWRhdGVTdGFydFRpbWUocGFyYW1zLnN0YXJ0VGltZSk7XG4gICAgfVxuXG4gICAgaWYgKGlzVW5zaWduZWRTd2VlcCAmJiAhcGFyYW1zLnN0YXJ0VGltZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzdGFydCB0aW1lIGlzIHJlcXVpcmVkIGZvciB1bnNpZ25lZCBzd2VlcCcpO1xuICAgIH1cblxuICAgIGlmICghaXNVbnNpZ25lZFN3ZWVwICYmICFwYXJhbXMud2FsbGV0UGFzc3BocmFzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd3YWxsZXRQYXNzcGhyYXNlIGlzIHJlcXVpcmVkIGZvciBub24tYml0Z28gcmVjb3ZlcnknKTtcbiAgICB9XG5cbiAgICBsZXQgdXNlclBydjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGxldCBiYWNrVXA6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAoIWlzVW5zaWduZWRTd2VlcCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdXNlclBydiA9IHRoaXMuYml0Z28uZGVjcnlwdCh7IGlucHV0OiBwYXJhbXMudXNlcktleSwgcGFzc3dvcmQ6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIH0pO1xuICAgICAgICBiYWNrVXAgPSB0aGlzLmJpdGdvLmRlY3J5cHQoeyBpbnB1dDogcGFyYW1zLmJhY2t1cEtleSwgcGFzc3dvcmQ6IHBhcmFtcy53YWxsZXRQYXNzcGhyYXNlIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ3VuYWJsZSB0byBkZWNyeXB0IHVzZXJLZXkgb3IgYmFja3VwS2V5IHdpdGggdGhlIHdhbGxldFBhc3NwaHJhc2UgcHJvdmlkZWQsIGdvdCBlcnJvcjogJyArIGUubWVzc2FnZVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHZhbGlkYXRlIHVzZXJLZXkgZm9yIHVuc2lnbmVkIHN3ZWVwXG4gICAgaWYgKGlzVW5zaWduZWRTd2VlcCAmJiAhVXRpbHMuaXNWYWxpZFB1YmxpY0tleShwYXJhbXMudXNlcktleSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCB1c2VyS2V5LCBnb3Q6ICcgKyBwYXJhbXMudXNlcktleSk7XG4gICAgfVxuXG4gICAgLy8gdmFsaWRhdGUgYmFja3VwS2V5IGZvciB1bnNpZ25lZCBzd2VlcFxuICAgIGlmIChpc1Vuc2lnbmVkU3dlZXAgJiYgIVV0aWxzLmlzVmFsaWRQdWJsaWNLZXkocGFyYW1zLmJhY2t1cEtleSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBiYWNrdXBLZXksIGdvdDogJyArIHBhcmFtcy5iYWNrdXBLZXkpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgYWRkcmVzczogZGVzdGluYXRpb25BZGRyZXNzLCBtZW1vSWQgfSA9IFV0aWxzLmdldEFkZHJlc3NEZXRhaWxzKHBhcmFtcy5yZWNvdmVyeURlc3RpbmF0aW9uKTtcbiAgICBjb25zdCBub2RlSWQgPSBwYXJhbXMubm9kZUlkID8gcGFyYW1zLm5vZGVJZCA6ICcwLjAuMyc7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5nZXRIYmFyQ2xpZW50KCk7XG4gICAgY29uc3QgYmFsYW5jZSA9IGF3YWl0IHRoaXMuZ2V0QWNjb3VudEJhbGFuY2UocGFyYW1zLnJvb3RBZGRyZXNzLCBjbGllbnQpO1xuICAgIGNvbnN0IGZlZSA9IHBhcmFtcy5tYXhGZWUgPyBwYXJhbXMubWF4RmVlIDogJzEwMDAwMDAwJzsgLy8gZGVmYXVsdCBmZWUgdG8gMSBoYmFyXG4gICAgY29uc3QgbmF0aXZlQmFsYW5jZSA9IEhiYXJVbml0LmZyb21TdHJpbmcoYmFsYW5jZS5oYmFycykudG9UaW55YmFycygpLnRvU3RyaW5nKCk7XG4gICAgY29uc3Qgc3BlbmRhYmxlQW1vdW50ID0gbmV3IEJpZ051bWJlcihuYXRpdmVCYWxhbmNlKS5taW51cyhmZWUpO1xuXG4gICAgbGV0IHR4QnVpbGRlcjtcbiAgICBpZiAoIXBhcmFtcy50b2tlbklkKSB7XG4gICAgICBpZiAoc3BlbmRhYmxlQW1vdW50LmlzWmVybygpIHx8IHNwZW5kYWJsZUFtb3VudC5pc05lZ2F0aXZlKCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnN1ZmZpY2llbnQgYmFsYW5jZSB0byByZWNvdmVyLCBnb3QgYmFsYW5jZTogJHtuYXRpdmVCYWxhbmNlfSBmZWU6ICR7ZmVlfWApO1xuICAgICAgfVxuICAgICAgdHhCdWlsZGVyID0gdGhpcy5nZXRCdWlsZGVyRmFjdG9yeSgpLmdldFRyYW5zZmVyQnVpbGRlcigpO1xuICAgICAgdHhCdWlsZGVyLnNlbmQoeyBhZGRyZXNzOiBkZXN0aW5hdGlvbkFkZHJlc3MsIGFtb3VudDogc3BlbmRhYmxlQW1vdW50LnRvU3RyaW5nKCkgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzcGVuZGFibGVBbW91bnQuaXNOZWdhdGl2ZSgpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgSW5zdWZmaWNpZW50IG5hdGl2ZSBiYWxhbmNlIHRvIHJlY292ZXIgdG9rZW5zLCBnb3QgbmF0aXZlIGJhbGFuY2U6ICR7bmF0aXZlQmFsYW5jZX0gZmVlOiAke2ZlZX1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCB0b2tlbkJhbGFuY2UgPSBiYWxhbmNlLnRva2Vucy5maW5kKCh0b2tlbikgPT4gdG9rZW4udG9rZW5JZCA9PT0gcGFyYW1zLnRva2VuSWQpO1xuICAgICAgY29uc3QgdG9rZW4gPSBVdGlscy5nZXRIZWRlcmFUb2tlbk5hbWVGcm9tSWQocGFyYW1zLnRva2VuSWQpO1xuICAgICAgaWYgKCF0b2tlbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHRva2VuOiAke3BhcmFtcy50b2tlbklkfWApO1xuICAgICAgfVxuICAgICAgaWYgKCF0b2tlbkJhbGFuY2UgfHwgbmV3IEJpZ051bWJlcih0b2tlbkJhbGFuY2UuYmFsYW5jZSkuaXNaZXJvKCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnN1ZmZpY2llbnQgYmFsYW5jZSB0byByZWNvdmVyIHRva2VuOiAke3BhcmFtcy50b2tlbklkfSBmb3IgYWNjb3VudDogJHtwYXJhbXMucm9vdEFkZHJlc3N9YCk7XG4gICAgICB9XG4gICAgICB0eEJ1aWxkZXIgPSB0aGlzLmdldEJ1aWxkZXJGYWN0b3J5KCkuZ2V0VG9rZW5UcmFuc2ZlckJ1aWxkZXIoKTtcbiAgICAgIHR4QnVpbGRlci5zZW5kKHsgYWRkcmVzczogZGVzdGluYXRpb25BZGRyZXNzLCBhbW91bnQ6IHRva2VuQmFsYW5jZS5iYWxhbmNlLCB0b2tlbk5hbWU6IHRva2VuLm5hbWUgfSk7XG4gICAgfVxuXG4gICAgdHhCdWlsZGVyLm5vZGUoeyBub2RlSWQgfSk7XG4gICAgdHhCdWlsZGVyLmZlZSh7IGZlZSB9KTtcbiAgICB0eEJ1aWxkZXIuc291cmNlKHsgYWRkcmVzczogcGFyYW1zLnJvb3RBZGRyZXNzIH0pO1xuICAgIHR4QnVpbGRlci52YWxpZER1cmF0aW9uKDE4MCk7XG4gICAgaWYgKG1lbW9JZCkge1xuICAgICAgdHhCdWlsZGVyLm1lbW8obWVtb0lkKTtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnN0YXJ0VGltZSkge1xuICAgICAgdHhCdWlsZGVyLnN0YXJ0VGltZShVdGlscy5ub3JtYWxpemVTdGFydHRpbWUocGFyYW1zLnN0YXJ0VGltZSkpO1xuICAgIH1cbiAgICBpZiAoaXNVbnNpZ25lZFN3ZWVwKSB7XG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHR4QnVpbGRlci5idWlsZCgpO1xuICAgICAgY29uc3QgdHhKc29uID0gdHgudG9Kc29uKCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eEhleDogdHgudG9Ccm9hZGNhc3RGb3JtYXQoKSxcbiAgICAgICAgY29pbjogdGhpcy5nZXRDaGFpbigpLFxuICAgICAgICBpZDogdHhKc29uLmlkLFxuICAgICAgICBzdGFydFRpbWU6IHR4SnNvbi5zdGFydFRpbWUsXG4gICAgICAgIHZhbGlkRHVyYXRpb246IHR4SnNvbi52YWxpZER1cmF0aW9uLFxuICAgICAgICBub2RlSWQ6IHR4SnNvbi5ub2RlLFxuICAgICAgICBtZW1vOiB0eEpzb24ubWVtbyxcbiAgICAgICAgdXNlcktleTogcGFyYW1zLnVzZXJLZXksXG4gICAgICAgIGJhY2t1cEtleTogcGFyYW1zLmJhY2t1cEtleSxcbiAgICAgICAgYml0Z29LZXk6IHBhcmFtcy5iaXRnb0tleSxcbiAgICAgICAgbWF4RmVlOiBmZWUsXG4gICAgICAgIGFkZHJlc3M6IHBhcmFtcy5yb290QWRkcmVzcyxcbiAgICAgICAgcmVjaXBpZW50czogdHhKc29uLmluc3RydWN0aW9uc0RhdGEucGFyYW1zLnJlY2lwaWVudHMsXG4gICAgICAgIGFtb3VudDogdHhKc29uLmFtb3VudCxcbiAgICAgICAganNvbjogdHhKc29uLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogdXNlclBydiB9KTtcbiAgICB0eEJ1aWxkZXIuc2lnbih7IGtleTogYmFja1VwIH0pO1xuXG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcblxuICAgIHJldHVybiB7XG4gICAgICB0eDogdHgudG9Ccm9hZGNhc3RGb3JtYXQoKSxcbiAgICAgIGlkOiB0eC50b0pzb24oKS5pZCxcbiAgICAgIGNvaW46IHRoaXMuZ2V0Q2hhaW4oKSxcbiAgICAgIHN0YXJ0VGltZTogdHgudG9Kc29uKCkuc3RhcnRUaW1lLFxuICAgICAgbm9kZUlkOiB0eC50b0pzb24oKS5ub2RlLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRXhwbGFpbiBhIEhlZGVyYSB0cmFuc2FjdGlvbiBmcm9tIHR4SGV4XG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICovXG4gIGFzeW5jIGV4cGxhaW5UcmFuc2FjdGlvbihwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPFRyYW5zYWN0aW9uRXhwbGFuYXRpb24+IHtcbiAgICBjb25zdCB0eEhleCA9IHBhcmFtcy50eEhleCB8fCAocGFyYW1zLmhhbGZTaWduZWQgJiYgcGFyYW1zLmhhbGZTaWduZWQudHhIZXgpO1xuICAgIGlmICghdHhIZXgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBleHBsYWluIHR4IHBhcmFtZXRlcnMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5nZXRCdWlsZGVyRmFjdG9yeSgpO1xuICAgIGNvbnN0IHR4QnVpbGRlciA9IGZhY3RvcnkuZnJvbSh0eEhleCk7XG4gICAgY29uc3QgdHggPSBhd2FpdCB0eEJ1aWxkZXIuYnVpbGQoKTtcbiAgICBjb25zdCB0eEpzb24gPSB0eC50b0pzb24oKTtcblxuICAgIGxldCBvdXRwdXRBbW91bnQgPSBuZXcgQmlnTnVtYmVyKDApO1xuICAgIGNvbnN0IG91dHB1dHM6IHsgYWRkcmVzczogc3RyaW5nOyBhbW91bnQ6IHN0cmluZzsgbWVtbzogc3RyaW5nOyB0b2tlbk5hbWU/OiBzdHJpbmcgfVtdID0gW107XG4gICAgLy8gVE9ETyhCRy0yNDgwOSk6IGdldCB0aGUgbWVtbyBmcm9tIHRoZSB0b0pzb25cbiAgICBsZXQgbWVtbyA9ICcnO1xuICAgIGlmIChwYXJhbXMubWVtbykge1xuICAgICAgbWVtbyA9IHBhcmFtcy5tZW1vLnZhbHVlO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHhKc29uLmluc3RydWN0aW9uc0RhdGEudHlwZSkge1xuICAgICAgY2FzZSAnY3J5cHRvVHJhbnNmZXInOlxuICAgICAgICBjb25zdCByZWNpcGllbnRzID0gdHhKc29uLmluc3RydWN0aW9uc0RhdGEucGFyYW1zLnJlY2lwaWVudHMgfHwgW107XG4gICAgICAgIHJlY2lwaWVudHMuZm9yRWFjaCgocmVjaXBpZW50KSA9PiB7XG4gICAgICAgICAgaWYgKCFyZWNpcGllbnQudG9rZW5OYW1lKSB7XG4gICAgICAgICAgICAvLyB0b2tlbiB0cmFuc2ZlciBkb2Vzbid0IGNoYW5nZSBvdXRwdXRBbW91bnRcbiAgICAgICAgICAgIG91dHB1dEFtb3VudCA9IG91dHB1dEFtb3VudC5wbHVzKHJlY2lwaWVudC5hbW91bnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvdXRwdXRzLnB1c2goe1xuICAgICAgICAgICAgYWRkcmVzczogcmVjaXBpZW50LmFkZHJlc3MsXG4gICAgICAgICAgICBhbW91bnQ6IHJlY2lwaWVudC5hbW91bnQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIG1lbW8sXG4gICAgICAgICAgICAuLi4ocmVjaXBpZW50LnRva2VuTmFtZSAmJiB7XG4gICAgICAgICAgICAgIHRva2VuTmFtZTogcmVjaXBpZW50LnRva2VuTmFtZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3Rva2VuQXNzb2NpYXRlJzpcbiAgICAgICAgY29uc3QgdG9rZW5zID0gdHhKc29uLmluc3RydWN0aW9uc0RhdGEucGFyYW1zLnRva2VuTmFtZXMgfHwgW107XG4gICAgICAgIGNvbnN0IGFjY291bnRJZCA9IHR4SnNvbi5pbnN0cnVjdGlvbnNEYXRhLnBhcmFtcy5hY2NvdW50SWQ7XG4gICAgICAgIHRva2Vucy5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgICAgICAgIG91dHB1dHMucHVzaCh7XG4gICAgICAgICAgICBhZGRyZXNzOiBhY2NvdW50SWQsXG4gICAgICAgICAgICBhbW91bnQ6ICcwJyxcbiAgICAgICAgICAgIG1lbW8sXG4gICAgICAgICAgICB0b2tlbk5hbWU6IHRva2VuLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVHJhbnNhY3Rpb24gZm9ybWF0IG91dHNpZGUgb2YgY3J5cHRvVHJhbnNmZXIgbm90IHN1cHBvcnRlZCBmb3IgZXhwbGFuYXRpb24uJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gW1xuICAgICAgJ2lkJyxcbiAgICAgICdvdXRwdXRBbW91bnQnLFxuICAgICAgJ2NoYW5nZUFtb3VudCcsXG4gICAgICAnb3V0cHV0cycsXG4gICAgICAnY2hhbmdlT3V0cHV0cycsXG4gICAgICAnZmVlJyxcbiAgICAgICd0aW1lc3RhbXAnLFxuICAgICAgJ2V4cGlyYXRpb24nLFxuICAgICAgJ21lbW8nLFxuICAgIF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgaWQ6IHR4SnNvbi5pZCxcbiAgICAgIG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQ6IG91dHB1dEFtb3VudC50b1N0cmluZygpLFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sIC8vIGFjY291bnQgYmFzZWQgZG9lcyBub3QgdXNlIGNoYW5nZSBvdXRwdXRzXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJywgLy8gYWNjb3VudCBiYXNlIGRvZXMgbm90IG1ha2UgY2hhbmdlXG4gICAgICBmZWU6IHBhcmFtcy5mZWVJbmZvPy5mZWUgfHwgdHhKc29uLmZlZSwgLy8gaW4gdGhlIGluc3RhbmNlIG5vIGZlZUluZm8gaXMgcGFzc2VkIGluIGFzIGEgcGFyYW0sIHNob3cgdGhlIGZlZSBnaXZlbiBieSB0aGUgdHhKU09OXG4gICAgICB0aW1lc3RhbXA6IHR4SnNvbi5zdGFydFRpbWUsXG4gICAgICBleHBpcmF0aW9uOiB0eEpzb24udmFsaWREdXJhdGlvbixcbiAgICB9IGFzIGFueTtcbiAgfVxuXG4gIGlzU3RlbGxhclNlZWQoc2VlZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFNlZWRWYWxpZGF0b3IuaXNWYWxpZEVkMjU1MTlTZWVkRm9yQ29pbihzZWVkLCBDb2luRmFtaWx5LlhMTSk7XG4gIH1cblxuICBjb252ZXJ0RnJvbVN0ZWxsYXJTZWVkKHNlZWQ6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIC8vIGFzc3VtZSB0aGlzIGlzIGEgdHJ1c3QgY3VzdG9kaWFsIHNlZWQgaWYgaXRzIGEgdmFsaWQgZWQyNTUxOSBwcnZcbiAgICBpZiAoIXRoaXMuaXNTdGVsbGFyU2VlZChzZWVkKSB8fCBTZWVkVmFsaWRhdG9yLmhhc0NvbXBldGluZ1NlZWRGb3JtYXRzKHNlZWQpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoU2VlZFZhbGlkYXRvci5pc1ZhbGlkRWQyNTUxOVNlZWRGb3JDb2luKHNlZWQsIENvaW5GYW1pbHkuWExNKSkge1xuICAgICAgY29uc3Qga2V5RnJvbVNlZWQgPSBuZXcgSGJhcktleVBhaXIoeyBzZWVkOiBzdGVsbGFyLlN0cktleS5kZWNvZGVFZDI1NTE5U2VjcmV0U2VlZChzZWVkKSB9KTtcbiAgICAgIGNvbnN0IGtleXMgPSBrZXlGcm9tU2VlZC5nZXRLZXlzKCk7XG4gICAgICBpZiAoa2V5cyAhPT0gdW5kZWZpbmVkICYmIGtleXMucHJ2KSB7XG4gICAgICAgIHJldHVybiBrZXlzLnBydjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlzVmFsaWRQdWIocHViOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gVXRpbHMuaXNWYWxpZFB1YmxpY0tleShwdWIpO1xuICB9XG5cbiAgc3VwcG9ydHNEZXJpdmVLZXlXaXRoU2VlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKiogaW5oZXJpdGVkIGRvYyAqL1xuICBnZXREZWZhdWx0TXVsdGlzaWdUeXBlKCk6IE11bHRpc2lnVHlwZSB7XG4gICAgcmV0dXJuIG11bHRpc2lnVHlwZXMub25jaGFpbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb2tlbkVuYWJsZW1lbnRDb25maWcoKTogVG9rZW5FbmFibGVtZW50Q29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmVxdWlyZXNUb2tlbkVuYWJsZW1lbnQ6IHRydWUsXG4gICAgICBzdXBwb3J0c011bHRpcGxlVG9rZW5FbmFibGVtZW50czogdHJ1ZSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdWlsZGVyRmFjdG9yeSgpOiBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkoY29pbnMuZ2V0KHRoaXMuZ2V0Q2hhaW4oKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIYmFyQ2xpZW50KCk6IENsaWVudCB7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5iaXRnby5nZXRFbnYoKSA9PT0gJ3Byb2QnID8gQ2xpZW50LmZvck1haW5uZXQoKSA6IENsaWVudC5mb3JUZXN0bmV0KCk7XG4gICAgcmV0dXJuIGNsaWVudDtcbiAgfVxuXG4gIGFzeW5jIGdldEFjY291bnRCYWxhbmNlKGFjY291bnRJZDogc3RyaW5nLCBjbGllbnQ6IENsaWVudCk6IFByb21pc2U8QWNjb3VudEJhbGFuY2VKc29uPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJhbGFuY2UgPSBhd2FpdCBuZXcgQWNjb3VudEJhbGFuY2VRdWVyeSgpLnNldEFjY291bnRJZChhY2NvdW50SWQpLmV4ZWN1dGUoY2xpZW50KTtcblxuICAgICAgcmV0dXJuIGJhbGFuY2UudG9KU09OKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZ2V0IGFjY291bnQgYmFsYW5jZSwgZXJyb3I6ICcgKyBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGJyb2FkY2FzdFRyYW5zYWN0aW9uKHtcbiAgICBzZXJpYWxpemVkU2lnbmVkVHJhbnNhY3Rpb24sXG4gICAgc3RhcnRUaW1lLFxuICB9OiBCcm9hZGNhc3RUcmFuc2FjdGlvbk9wdGlvbnMpOiBQcm9taXNlPEJyb2FkY2FzdFRyYW5zYWN0aW9uUmVzdWx0PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGhiYXJUeCA9IEhiYXJUcmFuc2FjdGlvbi5mcm9tQnl0ZXMoVXRpbHMudG9VaW50OEFycmF5KHNlcmlhbGl6ZWRTaWduZWRUcmFuc2FjdGlvbikpO1xuXG4gICAgICBpZiAoc3RhcnRUaW1lKSB7XG4gICAgICAgIFV0aWxzLmlzVmFsaWRUaW1lU3RyaW5nKHN0YXJ0VGltZSk7XG4gICAgICAgIHdoaWxlICghVXRpbHMuc2hvdWxkQnJvYWRjYXN0Tm93KHN0YXJ0VGltZSkpIHtcbiAgICAgICAgICBhd2FpdCBVdGlscy5zbGVlcCgxMDAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jbGllbnRCcm9hZGNhc3RUcmFuc2FjdGlvbihoYmFyVHgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGJyb2FkY2FzdCB0cmFuc2FjdGlvbiwgZXJyb3I6ICcgKyBlLm1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNsaWVudEJyb2FkY2FzdFRyYW5zYWN0aW9uKGhiYXJUeDogSGJhclRyYW5zYWN0aW9uKSB7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5nZXRIYmFyQ2xpZW50KCk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25SZXNwb25zZSA9IGF3YWl0IGhiYXJUeC5leGVjdXRlKGNsaWVudCk7XG4gICAgY29uc3QgdHJhbnNhY3Rpb25SZWNlaXB0ID0gYXdhaXQgdHJhbnNhY3Rpb25SZXNwb25zZS5nZXRSZWNlaXB0KGNsaWVudCk7XG5cbiAgICByZXR1cm4geyB0eElkOiB0cmFuc2FjdGlvblJlc3BvbnNlLnRyYW5zYWN0aW9uSWQudG9TdHJpbmcoKSwgc3RhdHVzOiB0cmFuc2FjdGlvblJlY2VpcHQuc3RhdHVzLnRvU3RyaW5nKCkgfTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBhdWRpdERlY3J5cHRlZEtleSh7IHBydiwgcHVibGljS2V5LCBtdWx0aVNpZ1R5cGUgfTogQXVkaXREZWNyeXB0ZWRLZXlQYXJhbXMpIHtcbiAgICBpZiAobXVsdGlTaWdUeXBlID09PSAndHNzJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBtdWx0aVNpZ1R5cGUnKTtcbiAgICB9XG5cbiAgICBsZXQgaGJhcktleVBhaXI7XG5cbiAgICB0cnkge1xuICAgICAgaGJhcktleVBhaXIgPSBuZXcgSGJhcktleVBhaXIoeyBwcnYgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByaXZhdGUga2V5OiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gICAgY29uc3QgZ2VuUHViS2V5ID0gaGJhcktleVBhaXIuZ2V0S2V5cygpLnB1YjtcbiAgICBpZiAocHVibGljS2V5ICYmIHB1YmxpY0tleSAhPT0gZ2VuUHViS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcHVibGljIGtleScpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,6 @@
1
+ export declare const rawTransactionForExplain = "{\"txHex\":\"224a0a140a0c0888cb98fb0510d2a8d3b20212041895d2021202180418d7e9462202087872260a240a100a08080010001895d20210ffd78ab2100a100a08080010001893d2021080d88ab210\",\"txInfo\":{\"id\":\"0.0.43285@1600529800.643093586\",\"hash\":\"987d0a89b58fbcc988f2cf00bcac1c0126db0ef4a8634dcc42fa3b38a2c9092e73c57b794938d82e75feb6d04f8d4f33\",\"data\":\"0a140a0c0888cb98fb0510d2a8d3b20212041895d2021202180418d7e9462202087872260a240a100a08080010001895d20210ffd78ab2100a100a08080010001893d2021080d88ab210\",\"fee\":1160407,\"from\":\"0.0.43285\",\"startTime\":\"1600529800.643093586\",\"validDuration\":\"120\",\"node\":\"0.0.4\",\"memo\":\"\",\"amount\":\"2200000000\",\"to\":\"0.0.43283\"},\"feeInfo\":{\"size\":1000,\"fee\":1160407,\"feeRate\":1160407},\"recipients\":[{\"amount\":\"2200000000\",\"address\":\"0.0.43283\",\"recipientLabel\":null,\"memo\":{\"type\":\"id\",\"value\":\"1\"}}],\"walletId\":\"5f64df896fe0d400126128ca1e0942ea\",\"walletContractAddress\":\"0.0.43285\",\"amount\":\"2200000000\",\"address\":\"0.0.43283\",\"receivedCoin\":{\"name\":\"thbar\",\"svg\":\"hbar\",\"family\":\"hbar\",\"modifier\":100000000,\"modifierExp\":8,\"fullDisplay\":\"Testnet Hedera HBAR\",\"shortDisplay\":\"THBAR\",\"hasMarketData\":true,\"hasTokens\":false},\"coin\":\"thbar\",\"memo\":{\"type\":\"id\",\"value\":\"1\"}}";
2
+ export declare const UNSIGNED_TOKEN_TRANSFER = "22580a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722812260a080800100018da991a120c0a080800100018a8fb041013120c0a080800100018d5d0041014";
3
+ export declare const UNSIGNED_MULTI_TRANSFER = "225c0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722c0a2a0a0c0a080800100018a8fb0410310a0c0a080800100018d5d00410140a0c0a080800100018f3e804101e";
4
+ export declare const UNSIGNED_TOKEN_MULTI_TRANSFER = "22660a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401723612340a080800100018da991a120c0a080800100018a8fb041031120c0a080800100018d5d0041014120c0a080800100018f3e804101e";
5
+ export declare const UNSIGNED_TOKEN_ASSOCIATE = "22450a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401c202140a080800100018a8fb0412080800100018da991a";
6
+ //# sourceMappingURL=hbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hbar.d.ts","sourceRoot":"","sources":["../../../test/fixtures/hbar.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,oyCAConC,CAAC;AAC1pC,eAAO,MAAM,uBAAuB,yLACoJ,CAAC;AACzL,eAAO,MAAM,uBAAuB,iMAC4J,CAAC;AACjM,eAAO,MAAM,6BAA6B,qNAC0K,CAAC;AACrN,eAAO,MAAM,wBAAwB,mJAC6G,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UNSIGNED_TOKEN_ASSOCIATE = exports.UNSIGNED_TOKEN_MULTI_TRANSFER = exports.UNSIGNED_MULTI_TRANSFER = exports.UNSIGNED_TOKEN_TRANSFER = exports.rawTransactionForExplain = void 0;
4
+ exports.rawTransactionForExplain = '{"txHex":"224a0a140a0c0888cb98fb0510d2a8d3b20212041895d2021202180418d7e9462202087872260a240a100a08080010001895d20210ffd78ab2100a100a08080010001893d2021080d88ab210","txInfo":{"id":"0.0.43285@1600529800.643093586","hash":"987d0a89b58fbcc988f2cf00bcac1c0126db0ef4a8634dcc42fa3b38a2c9092e73c57b794938d82e75feb6d04f8d4f33","data":"0a140a0c0888cb98fb0510d2a8d3b20212041895d2021202180418d7e9462202087872260a240a100a08080010001895d20210ffd78ab2100a100a08080010001893d2021080d88ab210","fee":1160407,"from":"0.0.43285","startTime":"1600529800.643093586","validDuration":"120","node":"0.0.4","memo":"","amount":"2200000000","to":"0.0.43283"},"feeInfo":{"size":1000,"fee":1160407,"feeRate":1160407},"recipients":[{"amount":"2200000000","address":"0.0.43283","recipientLabel":null,"memo":{"type":"id","value":"1"}}],"walletId":"5f64df896fe0d400126128ca1e0942ea","walletContractAddress":"0.0.43285","amount":"2200000000","address":"0.0.43283","receivedCoin":{"name":"thbar","svg":"hbar","family":"hbar","modifier":100000000,"modifierExp":8,"fullDisplay":"Testnet Hedera HBAR","shortDisplay":"THBAR","hasMarketData":true,"hasTokens":false},"coin":"thbar","memo":{"type":"id","value":"1"}}';
5
+ exports.UNSIGNED_TOKEN_TRANSFER = '22580a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722812260a080800100018da991a120c0a080800100018a8fb041013120c0a080800100018d5d0041014';
6
+ exports.UNSIGNED_MULTI_TRANSFER = '225c0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722c0a2a0a0c0a080800100018a8fb0410310a0c0a080800100018d5d00410140a0c0a080800100018f3e804101e';
7
+ exports.UNSIGNED_TOKEN_MULTI_TRANSFER = '22660a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401723612340a080800100018da991a120c0a080800100018a8fb041031120c0a080800100018d5d0041014120c0a080800100018f3e804101e';
8
+ exports.UNSIGNED_TOKEN_ASSOCIATE = '22450a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401c202140a080800100018a8fb0412080800100018da991a';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvZml4dHVyZXMvaGJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLHdCQUF3QixHQUNuQyx1cENBQXVwQyxDQUFDO0FBQzdvQyxRQUFBLHVCQUF1QixHQUNsQyxzTEFBc0wsQ0FBQztBQUM1SyxRQUFBLHVCQUF1QixHQUNsQyw4TEFBOEwsQ0FBQztBQUNwTCxRQUFBLDZCQUE2QixHQUN4QyxrTkFBa04sQ0FBQztBQUN4TSxRQUFBLHdCQUF3QixHQUNuQyxnSkFBZ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCByYXdUcmFuc2FjdGlvbkZvckV4cGxhaW4gPVxuICAne1widHhIZXhcIjpcIjIyNGEwYTE0MGEwYzA4ODhjYjk4ZmIwNTEwZDJhOGQzYjIwMjEyMDQxODk1ZDIwMjEyMDIxODA0MThkN2U5NDYyMjAyMDg3ODcyMjYwYTI0MGExMDBhMDgwODAwMTAwMDE4OTVkMjAyMTBmZmQ3OGFiMjEwMGExMDBhMDgwODAwMTAwMDE4OTNkMjAyMTA4MGQ4OGFiMjEwXCIsXCJ0eEluZm9cIjp7XCJpZFwiOlwiMC4wLjQzMjg1QDE2MDA1Mjk4MDAuNjQzMDkzNTg2XCIsXCJoYXNoXCI6XCI5ODdkMGE4OWI1OGZiY2M5ODhmMmNmMDBiY2FjMWMwMTI2ZGIwZWY0YTg2MzRkY2M0MmZhM2IzOGEyYzkwOTJlNzNjNTdiNzk0OTM4ZDgyZTc1ZmViNmQwNGY4ZDRmMzNcIixcImRhdGFcIjpcIjBhMTQwYTBjMDg4OGNiOThmYjA1MTBkMmE4ZDNiMjAyMTIwNDE4OTVkMjAyMTIwMjE4MDQxOGQ3ZTk0NjIyMDIwODc4NzIyNjBhMjQwYTEwMGEwODA4MDAxMDAwMTg5NWQyMDIxMGZmZDc4YWIyMTAwYTEwMGEwODA4MDAxMDAwMTg5M2QyMDIxMDgwZDg4YWIyMTBcIixcImZlZVwiOjExNjA0MDcsXCJmcm9tXCI6XCIwLjAuNDMyODVcIixcInN0YXJ0VGltZVwiOlwiMTYwMDUyOTgwMC42NDMwOTM1ODZcIixcInZhbGlkRHVyYXRpb25cIjpcIjEyMFwiLFwibm9kZVwiOlwiMC4wLjRcIixcIm1lbW9cIjpcIlwiLFwiYW1vdW50XCI6XCIyMjAwMDAwMDAwXCIsXCJ0b1wiOlwiMC4wLjQzMjgzXCJ9LFwiZmVlSW5mb1wiOntcInNpemVcIjoxMDAwLFwiZmVlXCI6MTE2MDQwNyxcImZlZVJhdGVcIjoxMTYwNDA3fSxcInJlY2lwaWVudHNcIjpbe1wiYW1vdW50XCI6XCIyMjAwMDAwMDAwXCIsXCJhZGRyZXNzXCI6XCIwLjAuNDMyODNcIixcInJlY2lwaWVudExhYmVsXCI6bnVsbCxcIm1lbW9cIjp7XCJ0eXBlXCI6XCJpZFwiLFwidmFsdWVcIjpcIjFcIn19XSxcIndhbGxldElkXCI6XCI1ZjY0ZGY4OTZmZTBkNDAwMTI2MTI4Y2ExZTA5NDJlYVwiLFwid2FsbGV0Q29udHJhY3RBZGRyZXNzXCI6XCIwLjAuNDMyODVcIixcImFtb3VudFwiOlwiMjIwMDAwMDAwMFwiLFwiYWRkcmVzc1wiOlwiMC4wLjQzMjgzXCIsXCJyZWNlaXZlZENvaW5cIjp7XCJuYW1lXCI6XCJ0aGJhclwiLFwic3ZnXCI6XCJoYmFyXCIsXCJmYW1pbHlcIjpcImhiYXJcIixcIm1vZGlmaWVyXCI6MTAwMDAwMDAwLFwibW9kaWZpZXJFeHBcIjo4LFwiZnVsbERpc3BsYXlcIjpcIlRlc3RuZXQgSGVkZXJhIEhCQVJcIixcInNob3J0RGlzcGxheVwiOlwiVEhCQVJcIixcImhhc01hcmtldERhdGFcIjp0cnVlLFwiaGFzVG9rZW5zXCI6ZmFsc2V9LFwiY29pblwiOlwidGhiYXJcIixcIm1lbW9cIjp7XCJ0eXBlXCI6XCJpZFwiLFwidmFsdWVcIjpcIjFcIn19JztcbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UT0tFTl9UUkFOU0ZFUiA9XG4gICcyMjU4MGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGE4ZmIwNDEyMDcwODAwMTAwMDE4YTkxMjE4ODA5NGViZGMwMzIyMDMwOGI0MDE3MjI4MTIyNjBhMDgwODAwMTAwMDE4ZGE5OTFhMTIwYzBhMDgwODAwMTAwMDE4YThmYjA0MTAxMzEyMGMwYTA4MDgwMDEwMDAxOGQ1ZDAwNDEwMTQnO1xuZXhwb3J0IGNvbnN0IFVOU0lHTkVEX01VTFRJX1RSQU5TRkVSID1cbiAgJzIyNWMwYTE4MGEwYzA4OWRlZDhhZjkwNTEwYWFjNWQ4YjEwMTEyMDgwODAwMTAwMDE4YThmYjA0MTIwNzA4MDAxMDAwMThhOTEyMTg4MDk0ZWJkYzAzMjIwMzA4YjQwMTcyMmMwYTJhMGEwYzBhMDgwODAwMTAwMDE4YThmYjA0MTAzMTBhMGMwYTA4MDgwMDEwMDAxOGQ1ZDAwNDEwMTQwYTBjMGEwODA4MDAxMDAwMThmM2U4MDQxMDFlJztcbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UT0tFTl9NVUxUSV9UUkFOU0ZFUiA9XG4gICcyMjY2MGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGE4ZmIwNDEyMDcwODAwMTAwMDE4YTkxMjE4ODA5NGViZGMwMzIyMDMwOGI0MDE3MjM2MTIzNDBhMDgwODAwMTAwMDE4ZGE5OTFhMTIwYzBhMDgwODAwMTAwMDE4YThmYjA0MTAzMTEyMGMwYTA4MDgwMDEwMDAxOGQ1ZDAwNDEwMTQxMjBjMGEwODA4MDAxMDAwMThmM2U4MDQxMDFlJztcbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UT0tFTl9BU1NPQ0lBVEUgPVxuICAnMjI0NTBhMTgwYTBjMDg5ZGVkOGFmOTA1MTBhYWM1ZDhiMTAxMTIwODA4MDAxMDAwMThhOGZiMDQxMjA3MDgwMDEwMDAxOGE5MTIxODgwOTRlYmRjMDMyMjAzMDhiNDAxYzIwMjE0MGEwODA4MDAxMDAwMThhOGZiMDQxMjA4MDgwMDEwMDAxOGRhOTkxYSc7XG4iXX0=
@@ -0,0 +1,67 @@
1
+ import { KeyPair } from '../../src';
2
+ export declare const ACCOUNT_1: {
3
+ accountId: string;
4
+ prvKeyWithPrefix: string;
5
+ pubKeyWithPrefix: string;
6
+ privateKeyBytes: Uint8Array<ArrayBuffer>;
7
+ publicKeyBytes: Uint8Array<ArrayBuffer>;
8
+ };
9
+ export declare const OPERATOR: {
10
+ accountId: string;
11
+ publicKey: string;
12
+ privateKey: string;
13
+ };
14
+ export declare const ACCOUNT_2: {
15
+ accountId: string;
16
+ privateKey: string;
17
+ publicKey: string;
18
+ };
19
+ export declare const ACCOUNT_3: {
20
+ accountId: string;
21
+ privateKey: string;
22
+ publicKey: string;
23
+ };
24
+ export declare const ed25519PrivKeyPrefix = "302e020100300506032b657004220420";
25
+ export declare const ed25519PubKeyPrefix = "302a300506032b6570032100";
26
+ export declare const OWNER1: string;
27
+ export declare const OWNER2: string;
28
+ export declare const OWNER3: string;
29
+ export declare const FEE = "1000000000";
30
+ export declare const VALID_ADDRESS: {
31
+ address: string;
32
+ };
33
+ export declare const INVALID_ADDRESS: {
34
+ address: string;
35
+ };
36
+ export declare const WALLET_INITIALIZATION = "229f010a100a080888e1e0f8051000120418d5d00412021804188094ebdc03220208785a7d0a722a700802126c0a2212201c5b8332673e2bdd7d677970e549e05157ea6a94f41a5da5020903c1c391f8ef0a221220265f7cc91c0330ef27a626ff8688da761ab0543d33ba63c8315e2c91b6c595af0a22122003ad12643db2a6ba5cf8a1da14d4bd5ee46625f88886d01cc70d2d9c6ee2266610004a0508d0c8e103";
37
+ export declare const NON_SIGNED_TRANSFER_TRANSACTION = "224e0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401721e0a1c0a0c0a080800100018a8fb0410130a0c0a080800100018d5d0041014";
38
+ export declare const NON_SIGNED_MULTI_TRANSFER_TRANSACTION = "225c0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722c0a2a0a0c0a080800100018a8fb0410310a0c0a080800100018d5d00410140a0c0a080800100018f3e804101e";
39
+ export declare const SIGNED_MAINNET_TRANSFER_TRANSACTION_ID = "a865ffcc8bbf01eaf236b8f9823c47ef5b89fc94378f75d13161659eb60d27f8556861c17f7d4d42ba32b00267364b4f";
40
+ export declare const SIGNED_MAINNET_TRANSFER_TRANSACTION = "1acc010a640a201b34d547b392e17da4eae3e0ff9be421a4f143907e44826983b70a927a1357291a407850ab62c0641d9d48c8606beb3766216f4ad3d0a561e0fde899b0dd097d5918297e95501aa0e1e7d04aef150237e2301533c35133d89a4de4a04f87f292c4030a640a20c10789d379cabf39a055a9ce296e724d5abc255c38fd8432d1a583281dbc1e201a409bd5c84200a29001d43111a15f9a3deef878119ba86d969fb92e4810ceccefb9cebd9ef0a6d80c6a09f73edc7c66e1388fb06152b71344d6f669933762fcfc0c22510a180a0c0894cba28306109faab4800112080800100018988e01120608001000180418a5b907220308b40172240a220a0f0a080800100018988e0110ffc1d72f0a0f0a080800100018f8cf031080c2d72f";
41
+ export declare const SIGNED_TRANSFER_TRANSACTION = "1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40c886ac3600c29184e7d9fc76ed9679ce47849a9e38739d0ee4e0dbba85bc32b66248cc933cbd159215625cbb3b896719e54a731e89cdcf1d5b2e4c0229204d02224e0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401721e0a1c0a0c0a080800100018a8fb0410130a0c0a080800100018d5d0041014";
42
+ export declare const SIGNED_MULTI_TRANSFER_TRANSACTION = "1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a4077af6e477918925deafd500414a388753c234e10d40e1e1f9a6fb11160b120e3654717259ad54316f43085aa605b7285b3eec24250e96daf6af4aa650d43d605225c0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722c0a2a0a0c0a080800100018a8fb0410310a0c0a080800100018d5d00410140a0c0a080800100018f3e804101e";
43
+ export declare const THREE_TIMES_SIGNED_TRANSACTION = "1ab2020a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a407494747088c0a1df08b6436f91aaad709e815d2392913dc3bff8779ca62ce1a6da7a6588c627c2910cf47aca9f4ffc70c6b7974f52bd8625c842884f47ec67010a640a20592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312611a40bdaebe136d857e4c36f7690252697ab2c770d02da759073104650c3a32ca6c567ddc5261f8426e3b455d273783a9a2885085367c6ec3526cd9ad883056b1a4000a640a20fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e911a40ea670e00613eb62b13cfd68eb5e74a48f3f9ac285d110bb0b14eec8b8138c1316d27c15e0e332e1301d2f4cb3175d3d34892cfecd9f149d605849a3d9f41cf09224d0a180a0c089ded8af90510aac5d8b10112080800100018a8fb041206080010001804188094ebdc03220308b401721e0a1c0a0c0a080800100018a8fb0410130a0c0a080800100018d5d0041014";
44
+ export declare const ENCODED_TRANSACTION = "not defined";
45
+ export declare const errorMessageOddLengthOrNonHexPrivateKey = "Invalid private key length. Must be a hex and multiple of 2";
46
+ export declare const errorMessageInvalidPrivateKey = "Invalid private key";
47
+ export declare const errorMessageInvalidPublicKey = "Invalid public key:";
48
+ export declare const errorMessageMissingPrivateKey = "Missing private key";
49
+ export declare const errorMessageNotPossibleToDeriveAddress = "Address derivation is not supported in Hedera";
50
+ export declare const errorMessageFailedToParse = "Failed to parse correct key";
51
+ export declare const INVALID_KEYPAIR_PRV: KeyPair;
52
+ export declare const KEYPAIR_PRV: KeyPair;
53
+ export declare const WALLET_TXDATA: Uint8Array<ArrayBuffer>;
54
+ export declare const WALLET_SIGNED_TRANSACTION = "1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40ff00c43d4da6d33abf90b2de7d36db8cea62248a6b8ef35be7741c43e762f1208fe5224ac79cd53e59df48913418e976320f789a091cf67a23278a12781b490d22a3010a140a0c0883aa91f9051080feab9b01120418d5d00412021804188094ebdc03220208785a7d0a722a700802126c0a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312610a221220fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e9110004a0508d0c8e103";
55
+ export declare const WALLET_BUILDER_SIGNED_TRANSACTION = "1a660a640a20d32b7b1eb103c10a6c8f6ec575b8002816e9725d95485b3d5509aa8c89b4528b1a40e91c6804cd4e27650e74bba8a8cd9d9f509a007360a4bd697789d295ef3a7f72680f59cd01fa742581326864c8ca8f16a7d2b73dc9138d3bbe9ec5e29e69990a22ac010a180a0c089ded8af90510aac5d8b10112080800100018d5d0041206080010001804188094ebdc03220308b4015a7d0a722a700802126c0a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312610a221220fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e9110004a0508d0c8e103";
56
+ export declare const WALLET_BUILDER_SIGNED_TWICE_TRANSACTION = "1acc010a640a20d32b7b1eb103c10a6c8f6ec575b8002816e9725d95485b3d5509aa8c89b4528b1a40e91c6804cd4e27650e74bba8a8cd9d9f509a007360a4bd697789d295ef3a7f72680f59cd01fa742581326864c8ca8f16a7d2b73dc9138d3bbe9ec5e29e69990a0a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40e86c50ff3d5df00b8e3f3f301c8e29582a5293cc5994e833611d97118cf92bad9024e2f3051c4c2aeec4812bd5857389688fec0810e8147091ccde8d2e428b0122ac010a180a0c089ded8af90510aac5d8b10112080800100018d5d0041206080010001804188094ebdc03220308b4015a7d0a722a700802126c0a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312610a221220fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e9110004a0508d0c8e103";
57
+ export declare const WALLET_INIT_2_OWNERS = "227f0a140a0c089ded8af90510aac5d8b101120418d5d00412021804188094ebdc03220208785a590a4e2a4c080212480a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f883126110004a0508d0c8e103";
58
+ export declare const SIGNED_TOKEN_TRANSFER_TRANSACTION = "1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40b3ca41d1ed567a6c52ae901f5dd924d00cbc3dfea938b0aed1e0fd1902a3bd0a5b4850d223d3a2226cbe18dc0a2aae7582eea33c1318f57e16904de3545e6c0d22580a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722812260a080800100018da991a120c0a080800100018a8fb041013120c0a080800100018d5d0041014";
59
+ export declare const NON_SIGNED_TOKEN_TRANSFER_TRANSACTION = "22580a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722812260a080800100018da991a120c0a080800100018a8fb041013120c0a080800100018d5d0041014";
60
+ export declare const SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION = "22670a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401723712350a090800100018d3fa8a01120c0a080800100018a8fb041031120c0a080800100018d5d0041014120c0a080800100018f3e804101e";
61
+ export declare const NON_SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION = "22660a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401723612340a080800100018da991a120c0a080800100018a8fb041031120c0a080800100018d5d0041014120c0a080800100018f3e804101e";
62
+ export declare const NON_SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION_SERIALIZED = "1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a408d5a5a149aa3b842fc2bff25dbe932782ebb0f5db7770bc34c72dbf07f6abfa5485045efd86dad13f66673e0769462ddc61b49f9c24f3f2c69fa7c559459230422660a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401723612340a080800100018da991a120c0a080800100018a8fb041031120c0a080800100018d5d0041014120c0a080800100018f3e804101e";
63
+ export declare const THREE_TIMES_SIGNED_TOKEN_TRANSACTION = "1ab2020a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40632b595ee568ca06824993f94fcad8db33189e1838cd390712159627bd9d0d8ec78712ff7e975c5c695bce96d80ede288d3d05752b0b7aea868ce5dd5f16c00f0a640a20592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312611a403cb28488655ac9218a7964a1990247756390bb1faddee11f65cc4d6fc9dd3db331fcd211905611b7589ad3fedde87e6361260494903acdb5a45b19580a06f10c0a640a20fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e911a40049392a214f70e2cca8f58d652eeb64f0161d6d7f7a4972d07cfe2513f555338df1cd0be95bb85951f6bf20f16fc44680fefc921fcd4fbb54e9bc5ae3a212d0322570a180a0c089ded8af90510aac5d8b10112080800100018a8fb041206080010001804188094ebdc03220308b401722812260a080800100018da991a120c0a080800100018a8fb041013120c0a080800100018d5d0041014";
64
+ export declare const SIGNED_TOKEN_ASSOCIATE_TRANSACTION = "1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40acf1576d775563529a074834a60f495526da3e32881ebc01a4ad93371a73b04f483f6a3731514ff7899387246ddafb1c1401cb4c01d0921256ce20b04b1b470122450a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401c202140a080800100018a8fb0412080800100018da991a";
65
+ export declare const NON_SIGNED_TOKEN_ASSOCIATE_TRANSACTION = "22450a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401c202140a080800100018a8fb0412080800100018da991a";
66
+ export declare const THREE_TIMES_SIGNED_TOKEN_ASSOCIATE_TRANSACTION = "1ab2020a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a403c4c86d35bbd3fccdb97137d16b60c3d774c5a51dff18100040fb509f72d230a352944553ac001046d79e9e99e6245bfbfea495dcf0c76b63d497ba69e9e560a0a640a20592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312611a4044b5522c474953de2e08ea4df4d2d6a2f437f4014a9467bc0c11de9913d4630da5eb9a7f98c08de4aad07e5c4a3cba092958df8059b5b4c9c68e0f74117f69050a640a20fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e911a40c847b91651c95a47fb3b6e776e421645df7b5a6ebbc328701b204f7e0648c7199d2345f5bb85b422400bc1f18111409e70e346dec14c7e2e5592c89d5bda1b0c22440a180a0c089ded8af90510aac5d8b10112080800100018a8fb041206080010001804188094ebdc03220308b401c202140a080800100018a8fb0412080800100018da991a";
67
+ //# sourceMappingURL=hbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hbar.d.ts","sourceRoot":"","sources":["../../../test/resources/hbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,eAAO,MAAM,SAAS;;;;;;CAUrB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;CAIpB,CAAC;AAGF,eAAO,MAAM,SAAS;;;;CAIrB,CAAC;AAGF,eAAO,MAAM,SAAS;;;;CAIrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AAEvE,eAAO,MAAM,mBAAmB,6BAA6B,CAAC;AAE9D,eAAO,MAAM,MAAM,QAA6B,CAAC;AAEjD,eAAO,MAAM,MAAM,QAAsB,CAAC;AAE1C,eAAO,MAAM,MAAM,QAAsB,CAAC;AAE1C,eAAO,MAAM,GAAG,eAAe,CAAC;AAEhC,eAAO,MAAM,aAAa;;CAA4B,CAAC;AAEvD,eAAO,MAAM,eAAe;;CAA2B,CAAC;AAExD,eAAO,MAAM,qBAAqB,yUACsS,CAAC;AAEzU,eAAO,MAAM,+BAA+B,qKACwH,CAAC;AAErK,eAAO,MAAM,qCAAqC,iMAC8I,CAAC;AAEjM,eAAO,MAAM,sCAAsC,qGACiD,CAAC;AAErG,eAAO,MAAM,mCAAmC,ykBACwhB,CAAC;AAEzkB,eAAO,MAAM,2BAA2B,qXAC4U,CAAC;AAErX,eAAO,MAAM,iCAAiC,iZACkW,CAAC;AAEjZ,eAAO,MAAM,8BAA8B,6wBACiuB,CAAC;AAE7wB,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD,eAAO,MAAM,uCAAuC,gEAAgE,CAAC;AAErH,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AAEnE,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,eAAO,MAAM,6BAA6B,wBAAwB,CAAC;AAEnE,eAAO,MAAM,sCAAsC,kDAAkD,CAAC;AAEtG,eAAO,MAAM,yBAAyB,gCAAgC,CAAC;AAEvE,eAAO,MAAM,mBAAmB,SAE9B,CAAC;AAEH,eAAO,MAAM,WAAW,SAEtB,CAAC;AAEH,eAAO,MAAM,aAAa,yBAKzB,CAAC;AAEF,eAAO,MAAM,yBAAyB,iiBAC0f,CAAC;AAEjiB,eAAO,MAAM,iCAAiC,mjBACogB,CAAC;AAEnjB,eAAO,MAAM,uCAAuC,iwBAC4sB,CAAC;AAEjwB,eAAO,MAAM,oBAAoB,uQACqO,CAAC;AAEvQ,eAAO,MAAM,iCAAiC,yYAC0V,CAAC;AAEzY,eAAO,MAAM,qCAAqC,yLACsI,CAAC;AAEzL,eAAO,MAAM,uCAAuC,uNACkK,CAAC;AAEvN,eAAO,MAAM,2CAA2C,qNAC4J,CAAC;AAErN,eAAO,MAAM,sDAAsD,qaACiW,CAAC;AAEra,eAAO,MAAM,oCAAoC,iyBAC+uB,CAAC;AAEjyB,eAAO,MAAM,kCAAkC,mWACmT,CAAC;AAEnW,eAAO,MAAM,sCAAsC,mJAC+F,CAAC;AAEnJ,eAAO,MAAM,8CAA8C,2vBAC+rB,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.THREE_TIMES_SIGNED_TOKEN_ASSOCIATE_TRANSACTION = exports.NON_SIGNED_TOKEN_ASSOCIATE_TRANSACTION = exports.SIGNED_TOKEN_ASSOCIATE_TRANSACTION = exports.THREE_TIMES_SIGNED_TOKEN_TRANSACTION = exports.NON_SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION_SERIALIZED = exports.NON_SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION = exports.SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION = exports.NON_SIGNED_TOKEN_TRANSFER_TRANSACTION = exports.SIGNED_TOKEN_TRANSFER_TRANSACTION = exports.WALLET_INIT_2_OWNERS = exports.WALLET_BUILDER_SIGNED_TWICE_TRANSACTION = exports.WALLET_BUILDER_SIGNED_TRANSACTION = exports.WALLET_SIGNED_TRANSACTION = exports.WALLET_TXDATA = exports.KEYPAIR_PRV = exports.INVALID_KEYPAIR_PRV = exports.errorMessageFailedToParse = exports.errorMessageNotPossibleToDeriveAddress = exports.errorMessageMissingPrivateKey = exports.errorMessageInvalidPublicKey = exports.errorMessageInvalidPrivateKey = exports.errorMessageOddLengthOrNonHexPrivateKey = exports.ENCODED_TRANSACTION = exports.THREE_TIMES_SIGNED_TRANSACTION = exports.SIGNED_MULTI_TRANSFER_TRANSACTION = exports.SIGNED_TRANSFER_TRANSACTION = exports.SIGNED_MAINNET_TRANSFER_TRANSACTION = exports.SIGNED_MAINNET_TRANSFER_TRANSACTION_ID = exports.NON_SIGNED_MULTI_TRANSFER_TRANSACTION = exports.NON_SIGNED_TRANSFER_TRANSACTION = exports.WALLET_INITIALIZATION = exports.INVALID_ADDRESS = exports.VALID_ADDRESS = exports.FEE = exports.OWNER3 = exports.OWNER2 = exports.OWNER1 = exports.ed25519PubKeyPrefix = exports.ed25519PrivKeyPrefix = exports.ACCOUNT_3 = exports.ACCOUNT_2 = exports.OPERATOR = exports.ACCOUNT_1 = void 0;
4
+ const src_1 = require("../../src");
5
+ // ACCOUNT_1 has public and private keys with prefix
6
+ exports.ACCOUNT_1 = {
7
+ accountId: '0.0.81320',
8
+ prvKeyWithPrefix: '302e020100300506032b65700422042062b0b669de0ab5e91b4328e1431859a5ca47e7426e701019272f5c2d52825b01',
9
+ pubKeyWithPrefix: '302a300506032b65700321005a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf9',
10
+ privateKeyBytes: Uint8Array.from(Buffer.from('62b0b669de0ab5e91b4328e1431859a5ca47e7426e701019272f5c2d52825b01', 'hex')),
11
+ publicKeyBytes: Uint8Array.from(Buffer.from('5a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf9', 'hex')),
12
+ };
13
+ exports.OPERATOR = {
14
+ accountId: '0.0.75861',
15
+ publicKey: '302a300506032b6570032100d32b7b1eb103c10a6c8f6ec575b8002816e9725d95485b3d5509aa8c89b4528b',
16
+ privateKey: '302e020100300506032b65700422042088b5af9484cef4b0aab6e0ba1002313fdfdfacfdf23d6d0957dc5f2c24fc3b81',
17
+ };
18
+ // ACCOUNT_2 has public and private keys without prefix
19
+ exports.ACCOUNT_2 = {
20
+ accountId: '0.0.75861',
21
+ privateKey: '5bb72603f237c0993f7973d37fdade32c71aa94aee686aa79d260acba1882d9a',
22
+ publicKey: '592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f8831261',
23
+ };
24
+ // ACCOUNT_3 has public and private keys without prefix
25
+ exports.ACCOUNT_3 = {
26
+ accountId: '0.0.78963',
27
+ privateKey: '310a775bcc36016275d64cb8e4508e19437708852e42a3948a641b664be800a9',
28
+ publicKey: 'fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e91',
29
+ };
30
+ exports.ed25519PrivKeyPrefix = '302e020100300506032b657004220420';
31
+ exports.ed25519PubKeyPrefix = '302a300506032b6570032100';
32
+ exports.OWNER1 = exports.ACCOUNT_1.pubKeyWithPrefix;
33
+ exports.OWNER2 = exports.ACCOUNT_2.publicKey;
34
+ exports.OWNER3 = exports.ACCOUNT_3.publicKey;
35
+ exports.FEE = '1000000000';
36
+ exports.VALID_ADDRESS = { address: '10.0.24141' };
37
+ exports.INVALID_ADDRESS = { address: '1002.4141' };
38
+ exports.WALLET_INITIALIZATION = '229f010a100a080888e1e0f8051000120418d5d00412021804188094ebdc03220208785a7d0a722a700802126c0a2212201c5b8332673e2bdd7d677970e549e05157ea6a94f41a5da5020903c1c391f8ef0a221220265f7cc91c0330ef27a626ff8688da761ab0543d33ba63c8315e2c91b6c595af0a22122003ad12643db2a6ba5cf8a1da14d4bd5ee46625f88886d01cc70d2d9c6ee2266610004a0508d0c8e103';
39
+ exports.NON_SIGNED_TRANSFER_TRANSACTION = '224e0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401721e0a1c0a0c0a080800100018a8fb0410130a0c0a080800100018d5d0041014';
40
+ exports.NON_SIGNED_MULTI_TRANSFER_TRANSACTION = '225c0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722c0a2a0a0c0a080800100018a8fb0410310a0c0a080800100018d5d00410140a0c0a080800100018f3e804101e';
41
+ exports.SIGNED_MAINNET_TRANSFER_TRANSACTION_ID = 'a865ffcc8bbf01eaf236b8f9823c47ef5b89fc94378f75d13161659eb60d27f8556861c17f7d4d42ba32b00267364b4f';
42
+ exports.SIGNED_MAINNET_TRANSFER_TRANSACTION = '1acc010a640a201b34d547b392e17da4eae3e0ff9be421a4f143907e44826983b70a927a1357291a407850ab62c0641d9d48c8606beb3766216f4ad3d0a561e0fde899b0dd097d5918297e95501aa0e1e7d04aef150237e2301533c35133d89a4de4a04f87f292c4030a640a20c10789d379cabf39a055a9ce296e724d5abc255c38fd8432d1a583281dbc1e201a409bd5c84200a29001d43111a15f9a3deef878119ba86d969fb92e4810ceccefb9cebd9ef0a6d80c6a09f73edc7c66e1388fb06152b71344d6f669933762fcfc0c22510a180a0c0894cba28306109faab4800112080800100018988e01120608001000180418a5b907220308b40172240a220a0f0a080800100018988e0110ffc1d72f0a0f0a080800100018f8cf031080c2d72f';
43
+ exports.SIGNED_TRANSFER_TRANSACTION = '1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40c886ac3600c29184e7d9fc76ed9679ce47849a9e38739d0ee4e0dbba85bc32b66248cc933cbd159215625cbb3b896719e54a731e89cdcf1d5b2e4c0229204d02224e0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401721e0a1c0a0c0a080800100018a8fb0410130a0c0a080800100018d5d0041014';
44
+ exports.SIGNED_MULTI_TRANSFER_TRANSACTION = '1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a4077af6e477918925deafd500414a388753c234e10d40e1e1f9a6fb11160b120e3654717259ad54316f43085aa605b7285b3eec24250e96daf6af4aa650d43d605225c0a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722c0a2a0a0c0a080800100018a8fb0410310a0c0a080800100018d5d00410140a0c0a080800100018f3e804101e';
45
+ exports.THREE_TIMES_SIGNED_TRANSACTION = '1ab2020a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a407494747088c0a1df08b6436f91aaad709e815d2392913dc3bff8779ca62ce1a6da7a6588c627c2910cf47aca9f4ffc70c6b7974f52bd8625c842884f47ec67010a640a20592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312611a40bdaebe136d857e4c36f7690252697ab2c770d02da759073104650c3a32ca6c567ddc5261f8426e3b455d273783a9a2885085367c6ec3526cd9ad883056b1a4000a640a20fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e911a40ea670e00613eb62b13cfd68eb5e74a48f3f9ac285d110bb0b14eec8b8138c1316d27c15e0e332e1301d2f4cb3175d3d34892cfecd9f149d605849a3d9f41cf09224d0a180a0c089ded8af90510aac5d8b10112080800100018a8fb041206080010001804188094ebdc03220308b401721e0a1c0a0c0a080800100018a8fb0410130a0c0a080800100018d5d0041014';
46
+ exports.ENCODED_TRANSACTION = 'not defined';
47
+ exports.errorMessageOddLengthOrNonHexPrivateKey = 'Invalid private key length. Must be a hex and multiple of 2';
48
+ exports.errorMessageInvalidPrivateKey = 'Invalid private key';
49
+ exports.errorMessageInvalidPublicKey = 'Invalid public key:';
50
+ exports.errorMessageMissingPrivateKey = 'Missing private key';
51
+ exports.errorMessageNotPossibleToDeriveAddress = 'Address derivation is not supported in Hedera';
52
+ exports.errorMessageFailedToParse = 'Failed to parse correct key';
53
+ exports.INVALID_KEYPAIR_PRV = new src_1.KeyPair({
54
+ prv: '8CAA00AE63638B0542A304823D66D96FF317A576F692663DB2F85E60FAB2590C',
55
+ });
56
+ exports.KEYPAIR_PRV = new src_1.KeyPair({
57
+ prv: '302e020100300506032b65700422042062b0b669de0ab5e91b4328e1431859a5ca47e7426e701019272f5c2d52825b01',
58
+ });
59
+ exports.WALLET_TXDATA = Uint8Array.from(Buffer.from('22a3010a140a0c0883aa91f9051080feab9b01120418d5d00412021804188094ebdc03220208785a7d0a722a700802126c0a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312610a221220fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e9110004a0508d0c8e103', 'hex'));
60
+ exports.WALLET_SIGNED_TRANSACTION = '1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40ff00c43d4da6d33abf90b2de7d36db8cea62248a6b8ef35be7741c43e762f1208fe5224ac79cd53e59df48913418e976320f789a091cf67a23278a12781b490d22a3010a140a0c0883aa91f9051080feab9b01120418d5d00412021804188094ebdc03220208785a7d0a722a700802126c0a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312610a221220fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e9110004a0508d0c8e103';
61
+ exports.WALLET_BUILDER_SIGNED_TRANSACTION = '1a660a640a20d32b7b1eb103c10a6c8f6ec575b8002816e9725d95485b3d5509aa8c89b4528b1a40e91c6804cd4e27650e74bba8a8cd9d9f509a007360a4bd697789d295ef3a7f72680f59cd01fa742581326864c8ca8f16a7d2b73dc9138d3bbe9ec5e29e69990a22ac010a180a0c089ded8af90510aac5d8b10112080800100018d5d0041206080010001804188094ebdc03220308b4015a7d0a722a700802126c0a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312610a221220fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e9110004a0508d0c8e103';
62
+ exports.WALLET_BUILDER_SIGNED_TWICE_TRANSACTION = '1acc010a640a20d32b7b1eb103c10a6c8f6ec575b8002816e9725d95485b3d5509aa8c89b4528b1a40e91c6804cd4e27650e74bba8a8cd9d9f509a007360a4bd697789d295ef3a7f72680f59cd01fa742581326864c8ca8f16a7d2b73dc9138d3bbe9ec5e29e69990a0a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40e86c50ff3d5df00b8e3f3f301c8e29582a5293cc5994e833611d97118cf92bad9024e2f3051c4c2aeec4812bd5857389688fec0810e8147091ccde8d2e428b0122ac010a180a0c089ded8af90510aac5d8b10112080800100018d5d0041206080010001804188094ebdc03220308b4015a7d0a722a700802126c0a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312610a221220fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e9110004a0508d0c8e103';
63
+ exports.WALLET_INIT_2_OWNERS = '227f0a140a0c089ded8af90510aac5d8b101120418d5d00412021804188094ebdc03220208785a590a4e2a4c080212480a2212205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf90a221220592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f883126110004a0508d0c8e103';
64
+ exports.SIGNED_TOKEN_TRANSFER_TRANSACTION = '1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40b3ca41d1ed567a6c52ae901f5dd924d00cbc3dfea938b0aed1e0fd1902a3bd0a5b4850d223d3a2226cbe18dc0a2aae7582eea33c1318f57e16904de3545e6c0d22580a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722812260a080800100018da991a120c0a080800100018a8fb041013120c0a080800100018d5d0041014';
65
+ exports.NON_SIGNED_TOKEN_TRANSFER_TRANSACTION = '22580a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401722812260a080800100018da991a120c0a080800100018a8fb041013120c0a080800100018d5d0041014';
66
+ exports.SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION = '22670a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401723712350a090800100018d3fa8a01120c0a080800100018a8fb041031120c0a080800100018d5d0041014120c0a080800100018f3e804101e';
67
+ exports.NON_SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION = '22660a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401723612340a080800100018da991a120c0a080800100018a8fb041031120c0a080800100018d5d0041014120c0a080800100018f3e804101e';
68
+ exports.NON_SIGNED_TOKEN_MULTI_TRANSFER_TRANSACTION_SERIALIZED = '1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a408d5a5a149aa3b842fc2bff25dbe932782ebb0f5db7770bc34c72dbf07f6abfa5485045efd86dad13f66673e0769462ddc61b49f9c24f3f2c69fa7c559459230422660a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401723612340a080800100018da991a120c0a080800100018a8fb041031120c0a080800100018d5d0041014120c0a080800100018f3e804101e';
69
+ exports.THREE_TIMES_SIGNED_TOKEN_TRANSACTION = '1ab2020a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40632b595ee568ca06824993f94fcad8db33189e1838cd390712159627bd9d0d8ec78712ff7e975c5c695bce96d80ede288d3d05752b0b7aea868ce5dd5f16c00f0a640a20592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312611a403cb28488655ac9218a7964a1990247756390bb1faddee11f65cc4d6fc9dd3db331fcd211905611b7589ad3fedde87e6361260494903acdb5a45b19580a06f10c0a640a20fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e911a40049392a214f70e2cca8f58d652eeb64f0161d6d7f7a4972d07cfe2513f555338df1cd0be95bb85951f6bf20f16fc44680fefc921fcd4fbb54e9bc5ae3a212d0322570a180a0c089ded8af90510aac5d8b10112080800100018a8fb041206080010001804188094ebdc03220308b401722812260a080800100018da991a120c0a080800100018a8fb041013120c0a080800100018d5d0041014';
70
+ exports.SIGNED_TOKEN_ASSOCIATE_TRANSACTION = '1a660a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a40acf1576d775563529a074834a60f495526da3e32881ebc01a4ad93371a73b04f483f6a3731514ff7899387246ddafb1c1401cb4c01d0921256ce20b04b1b470122450a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401c202140a080800100018a8fb0412080800100018da991a';
71
+ exports.NON_SIGNED_TOKEN_ASSOCIATE_TRANSACTION = '22450a180a0c089ded8af90510aac5d8b10112080800100018a8fb0412070800100018a912188094ebdc03220308b401c202140a080800100018a8fb0412080800100018da991a';
72
+ exports.THREE_TIMES_SIGNED_TOKEN_ASSOCIATE_TRANSACTION = '1ab2020a640a205a9111b5e6881ff20b9243a42ac1a9a67fa16cd4f01e58bab30c1fe611ea8cf91a403c4c86d35bbd3fccdb97137d16b60c3d774c5a51dff18100040fb509f72d230a352944553ac001046d79e9e99e6245bfbfea495dcf0c76b63d497ba69e9e560a0a640a20592a4fbb7263c59d450e651df96620dc9208ee7c7d9d6f2fdcb91c53f88312611a4044b5522c474953de2e08ea4df4d2d6a2f437f4014a9467bc0c11de9913d4630da5eb9a7f98c08de4aad07e5c4a3cba092958df8059b5b4c9c68e0f74117f69050a640a20fa344793601cef71348f994f30a168c2dd55f357426a180a5a724d7e03585e911a40c847b91651c95a47fb3b6e776e421645df7b5a6ebbc328701b204f7e0648c7199d2345f5bb85b422400bc1f18111409e70e346dec14c7e2e5592c89d5bda1b0c22440a180a0c089ded8af90510aac5d8b10112080800100018a8fb041206080010001804188094ebdc03220308b401c202140a080800100018a8fb0412080800100018da991a';
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvcmVzb3VyY2VzL2hiYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW9DO0FBRXBDLG9EQUFvRDtBQUN2QyxRQUFBLFNBQVMsR0FBRztJQUN2QixTQUFTLEVBQUUsV0FBVztJQUN0QixnQkFBZ0IsRUFBRSxrR0FBa0c7SUFDcEgsZ0JBQWdCLEVBQUUsMEZBQTBGO0lBQzVHLGVBQWUsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLGtFQUFrRSxFQUFFLEtBQUssQ0FBQyxDQUN2RjtJQUNELGNBQWMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLGtFQUFrRSxFQUFFLEtBQUssQ0FBQyxDQUN2RjtDQUNGLENBQUM7QUFFVyxRQUFBLFFBQVEsR0FBRztJQUN0QixTQUFTLEVBQUUsV0FBVztJQUN0QixTQUFTLEVBQUUsMEZBQTBGO0lBQ3JHLFVBQVUsRUFBRSxrR0FBa0c7Q0FDL0csQ0FBQztBQUVGLHVEQUF1RDtBQUMxQyxRQUFBLFNBQVMsR0FBRztJQUN2QixTQUFTLEVBQUUsV0FBVztJQUN0QixVQUFVLEVBQUUsa0VBQWtFO0lBQzlFLFNBQVMsRUFBRSxrRUFBa0U7Q0FDOUUsQ0FBQztBQUVGLHVEQUF1RDtBQUMxQyxRQUFBLFNBQVMsR0FBRztJQUN2QixTQUFTLEVBQUUsV0FBVztJQUN0QixVQUFVLEVBQUUsa0VBQWtFO0lBQzlFLFNBQVMsRUFBRSxrRUFBa0U7Q0FDOUUsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsa0NBQWtDLENBQUM7QUFFMUQsUUFBQSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FBQztBQUVqRCxRQUFBLE1BQU0sR0FBRyxpQkFBUyxDQUFDLGdCQUFnQixDQUFDO0FBRXBDLFFBQUEsTUFBTSxHQUFHLGlCQUFTLENBQUMsU0FBUyxDQUFDO0FBRTdCLFFBQUEsTUFBTSxHQUFHLGlCQUFTLENBQUMsU0FBUyxDQUFDO0FBRTdCLFFBQUEsR0FBRyxHQUFHLFlBQVksQ0FBQztBQUVuQixRQUFBLGFBQWEsR0FBRyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUUxQyxRQUFBLGVBQWUsR0FBRyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztBQUUzQyxRQUFBLHFCQUFxQixHQUNoQyxzVUFBc1UsQ0FBQztBQUU1VCxRQUFBLCtCQUErQixHQUMxQyxrS0FBa0ssQ0FBQztBQUV4SixRQUFBLHFDQUFxQyxHQUNoRCw4TEFBOEwsQ0FBQztBQUVwTCxRQUFBLHNDQUFzQyxHQUNqRCxrR0FBa0csQ0FBQztBQUV4RixRQUFBLG1DQUFtQyxHQUM5Qyxza0JBQXNrQixDQUFDO0FBRTVqQixRQUFBLDJCQUEyQixHQUN0QyxrWEFBa1gsQ0FBQztBQUV4VyxRQUFBLGlDQUFpQyxHQUM1Qyw4WUFBOFksQ0FBQztBQUVwWSxRQUFBLDhCQUE4QixHQUN6Qywwd0JBQTB3QixDQUFDO0FBRWh3QixRQUFBLG1CQUFtQixHQUFHLGFBQWEsQ0FBQztBQUVwQyxRQUFBLHVDQUF1QyxHQUFHLDZEQUE2RCxDQUFDO0FBRXhHLFFBQUEsNkJBQTZCLEdBQUcscUJBQXFCLENBQUM7QUFFdEQsUUFBQSw0QkFBNEIsR0FBRyxxQkFBcUIsQ0FBQztBQUVyRCxRQUFBLDZCQUE2QixHQUFHLHFCQUFxQixDQUFDO0FBRXRELFFBQUEsc0NBQXNDLEdBQUcsK0NBQStDLENBQUM7QUFFekYsUUFBQSx5QkFBeUIsR0FBRyw2QkFBNkIsQ0FBQztBQUUxRCxRQUFBLG1CQUFtQixHQUFHLElBQUksYUFBTyxDQUFDO0lBQzdDLEdBQUcsRUFBRSxrRUFBa0U7Q0FDeEUsQ0FBQyxDQUFDO0FBRVUsUUFBQSxXQUFXLEdBQUcsSUFBSSxhQUFPLENBQUM7SUFDckMsR0FBRyxFQUFFLGtHQUFrRztDQUN4RyxDQUFDLENBQUM7QUFFVSxRQUFBLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUMxQyxNQUFNLENBQUMsSUFBSSxDQUNULDhVQUE4VSxFQUM5VSxLQUFLLENBQ04sQ0FDRixDQUFDO0FBRVcsUUFBQSx5QkFBeUIsR0FDcEMsOGhCQUE4aEIsQ0FBQztBQUVwaEIsUUFBQSxpQ0FBaUMsR0FDNUMsZ2pCQUFnakIsQ0FBQztBQUV0aUIsUUFBQSx1Q0FBdUMsR0FDbEQsOHZCQUE4dkIsQ0FBQztBQUVwdkIsUUFBQSxvQkFBb0IsR0FDL0Isb1FBQW9RLENBQUM7QUFFMVAsUUFBQSxpQ0FBaUMsR0FDNUMsc1lBQXNZLENBQUM7QUFFNVgsUUFBQSxxQ0FBcUMsR0FDaEQsc0xBQXNMLENBQUM7QUFFNUssUUFBQSx1Q0FBdUMsR0FDbEQsb05BQW9OLENBQUM7QUFFMU0sUUFBQSwyQ0FBMkMsR0FDdEQsa05BQWtOLENBQUM7QUFFeE0sUUFBQSxzREFBc0QsR0FDakUsa2FBQWthLENBQUM7QUFFeFosUUFBQSxvQ0FBb0MsR0FDL0MsOHhCQUE4eEIsQ0FBQztBQUVweEIsUUFBQSxrQ0FBa0MsR0FDN0MsZ1dBQWdXLENBQUM7QUFFdFYsUUFBQSxzQ0FBc0MsR0FDakQsZ0pBQWdKLENBQUM7QUFFdEksUUFBQSw4Q0FBOEMsR0FDekQsd3ZCQUF3dkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuLi8uLi9zcmMnO1xuXG4vLyBBQ0NPVU5UXzEgaGFzIHB1YmxpYyBhbmQgcHJpdmF0ZSBrZXlzIHdpdGggcHJlZml4XG5leHBvcnQgY29uc3QgQUNDT1VOVF8xID0ge1xuICBhY2NvdW50SWQ6ICcwLjAuODEzMjAnLFxuICBwcnZLZXlXaXRoUHJlZml4OiAnMzAyZTAyMDEwMDMwMDUwNjAzMmI2NTcwMDQyMjA0MjA2MmIwYjY2OWRlMGFiNWU5MWI0MzI4ZTE0MzE4NTlhNWNhNDdlNzQyNmU3MDEwMTkyNzJmNWMyZDUyODI1YjAxJyxcbiAgcHViS2V5V2l0aFByZWZpeDogJzMwMmEzMDA1MDYwMzJiNjU3MDAzMjEwMDVhOTExMWI1ZTY4ODFmZjIwYjkyNDNhNDJhYzFhOWE2N2ZhMTZjZDRmMDFlNThiYWIzMGMxZmU2MTFlYThjZjknLFxuICBwcml2YXRlS2V5Qnl0ZXM6IFVpbnQ4QXJyYXkuZnJvbShcbiAgICBCdWZmZXIuZnJvbSgnNjJiMGI2NjlkZTBhYjVlOTFiNDMyOGUxNDMxODU5YTVjYTQ3ZTc0MjZlNzAxMDE5MjcyZjVjMmQ1MjgyNWIwMScsICdoZXgnKVxuICApLFxuICBwdWJsaWNLZXlCeXRlczogVWludDhBcnJheS5mcm9tKFxuICAgIEJ1ZmZlci5mcm9tKCc1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5JywgJ2hleCcpXG4gICksXG59O1xuXG5leHBvcnQgY29uc3QgT1BFUkFUT1IgPSB7XG4gIGFjY291bnRJZDogJzAuMC43NTg2MScsXG4gIHB1YmxpY0tleTogJzMwMmEzMDA1MDYwMzJiNjU3MDAzMjEwMGQzMmI3YjFlYjEwM2MxMGE2YzhmNmVjNTc1YjgwMDI4MTZlOTcyNWQ5NTQ4NWIzZDU1MDlhYThjODliNDUyOGInLFxuICBwcml2YXRlS2V5OiAnMzAyZTAyMDEwMDMwMDUwNjAzMmI2NTcwMDQyMjA0MjA4OGI1YWY5NDg0Y2VmNGIwYWFiNmUwYmExMDAyMzEzZmRmZGZhY2ZkZjIzZDZkMDk1N2RjNWYyYzI0ZmMzYjgxJyxcbn07XG5cbi8vIEFDQ09VTlRfMiBoYXMgcHVibGljIGFuZCBwcml2YXRlIGtleXMgd2l0aG91dCBwcmVmaXhcbmV4cG9ydCBjb25zdCBBQ0NPVU5UXzIgPSB7XG4gIGFjY291bnRJZDogJzAuMC43NTg2MScsXG4gIHByaXZhdGVLZXk6ICc1YmI3MjYwM2YyMzdjMDk5M2Y3OTczZDM3ZmRhZGUzMmM3MWFhOTRhZWU2ODZhYTc5ZDI2MGFjYmExODgyZDlhJyxcbiAgcHVibGljS2V5OiAnNTkyYTRmYmI3MjYzYzU5ZDQ1MGU2NTFkZjk2NjIwZGM5MjA4ZWU3YzdkOWQ2ZjJmZGNiOTFjNTNmODgzMTI2MScsXG59O1xuXG4vLyBBQ0NPVU5UXzMgaGFzIHB1YmxpYyBhbmQgcHJpdmF0ZSBrZXlzIHdpdGhvdXQgcHJlZml4XG5leHBvcnQgY29uc3QgQUNDT1VOVF8zID0ge1xuICBhY2NvdW50SWQ6ICcwLjAuNzg5NjMnLFxuICBwcml2YXRlS2V5OiAnMzEwYTc3NWJjYzM2MDE2Mjc1ZDY0Y2I4ZTQ1MDhlMTk0Mzc3MDg4NTJlNDJhMzk0OGE2NDFiNjY0YmU4MDBhOScsXG4gIHB1YmxpY0tleTogJ2ZhMzQ0NzkzNjAxY2VmNzEzNDhmOTk0ZjMwYTE2OGMyZGQ1NWYzNTc0MjZhMTgwYTVhNzI0ZDdlMDM1ODVlOTEnLFxufTtcblxuZXhwb3J0IGNvbnN0IGVkMjU1MTlQcml2S2V5UHJlZml4ID0gJzMwMmUwMjAxMDAzMDA1MDYwMzJiNjU3MDA0MjIwNDIwJztcblxuZXhwb3J0IGNvbnN0IGVkMjU1MTlQdWJLZXlQcmVmaXggPSAnMzAyYTMwMDUwNjAzMmI2NTcwMDMyMTAwJztcblxuZXhwb3J0IGNvbnN0IE9XTkVSMSA9IEFDQ09VTlRfMS5wdWJLZXlXaXRoUHJlZml4O1xuXG5leHBvcnQgY29uc3QgT1dORVIyID0gQUNDT1VOVF8yLnB1YmxpY0tleTtcblxuZXhwb3J0IGNvbnN0IE9XTkVSMyA9IEFDQ09VTlRfMy5wdWJsaWNLZXk7XG5cbmV4cG9ydCBjb25zdCBGRUUgPSAnMTAwMDAwMDAwMCc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9BRERSRVNTID0geyBhZGRyZXNzOiAnMTAuMC4yNDE0MScgfTtcblxuZXhwb3J0IGNvbnN0IElOVkFMSURfQUREUkVTUyA9IHsgYWRkcmVzczogJzEwMDIuNDE0MScgfTtcblxuZXhwb3J0IGNvbnN0IFdBTExFVF9JTklUSUFMSVpBVElPTiA9XG4gICcyMjlmMDEwYTEwMGEwODA4ODhlMWUwZjgwNTEwMDAxMjA0MThkNWQwMDQxMjAyMTgwNDE4ODA5NGViZGMwMzIyMDIwODc4NWE3ZDBhNzIyYTcwMDgwMjEyNmMwYTIyMTIyMDFjNWI4MzMyNjczZTJiZGQ3ZDY3Nzk3MGU1NDllMDUxNTdlYTZhOTRmNDFhNWRhNTAyMDkwM2MxYzM5MWY4ZWYwYTIyMTIyMDI2NWY3Y2M5MWMwMzMwZWYyN2E2MjZmZjg2ODhkYTc2MWFiMDU0M2QzM2JhNjNjODMxNWUyYzkxYjZjNTk1YWYwYTIyMTIyMDAzYWQxMjY0M2RiMmE2YmE1Y2Y4YTFkYTE0ZDRiZDVlZTQ2NjI1Zjg4ODg2ZDAxY2M3MGQyZDljNmVlMjI2NjYxMDAwNGEwNTA4ZDBjOGUxMDMnO1xuXG5leHBvcnQgY29uc3QgTk9OX1NJR05FRF9UUkFOU0ZFUl9UUkFOU0FDVElPTiA9XG4gICcyMjRlMGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGE4ZmIwNDEyMDcwODAwMTAwMDE4YTkxMjE4ODA5NGViZGMwMzIyMDMwOGI0MDE3MjFlMGExYzBhMGMwYTA4MDgwMDEwMDAxOGE4ZmIwNDEwMTMwYTBjMGEwODA4MDAxMDAwMThkNWQwMDQxMDE0JztcblxuZXhwb3J0IGNvbnN0IE5PTl9TSUdORURfTVVMVElfVFJBTlNGRVJfVFJBTlNBQ1RJT04gPVxuICAnMjI1YzBhMTgwYTBjMDg5ZGVkOGFmOTA1MTBhYWM1ZDhiMTAxMTIwODA4MDAxMDAwMThhOGZiMDQxMjA3MDgwMDEwMDAxOGE5MTIxODgwOTRlYmRjMDMyMjAzMDhiNDAxNzIyYzBhMmEwYTBjMGEwODA4MDAxMDAwMThhOGZiMDQxMDMxMGEwYzBhMDgwODAwMTAwMDE4ZDVkMDA0MTAxNDBhMGMwYTA4MDgwMDEwMDAxOGYzZTgwNDEwMWUnO1xuXG5leHBvcnQgY29uc3QgU0lHTkVEX01BSU5ORVRfVFJBTlNGRVJfVFJBTlNBQ1RJT05fSUQgPVxuICAnYTg2NWZmY2M4YmJmMDFlYWYyMzZiOGY5ODIzYzQ3ZWY1Yjg5ZmM5NDM3OGY3NWQxMzE2MTY1OWViNjBkMjdmODU1Njg2MWMxN2Y3ZDRkNDJiYTMyYjAwMjY3MzY0YjRmJztcblxuZXhwb3J0IGNvbnN0IFNJR05FRF9NQUlOTkVUX1RSQU5TRkVSX1RSQU5TQUNUSU9OID1cbiAgJzFhY2MwMTBhNjQwYTIwMWIzNGQ1NDdiMzkyZTE3ZGE0ZWFlM2UwZmY5YmU0MjFhNGYxNDM5MDdlNDQ4MjY5ODNiNzBhOTI3YTEzNTcyOTFhNDA3ODUwYWI2MmMwNjQxZDlkNDhjODYwNmJlYjM3NjYyMTZmNGFkM2QwYTU2MWUwZmRlODk5YjBkZDA5N2Q1OTE4Mjk3ZTk1NTAxYWEwZTFlN2QwNGFlZjE1MDIzN2UyMzAxNTMzYzM1MTMzZDg5YTRkZTRhMDRmODdmMjkyYzQwMzBhNjQwYTIwYzEwNzg5ZDM3OWNhYmYzOWEwNTVhOWNlMjk2ZTcyNGQ1YWJjMjU1YzM4ZmQ4NDMyZDFhNTgzMjgxZGJjMWUyMDFhNDA5YmQ1Yzg0MjAwYTI5MDAxZDQzMTExYTE1ZjlhM2RlZWY4NzgxMTliYTg2ZDk2OWZiOTJlNDgxMGNlY2NlZmI5Y2ViZDllZjBhNmQ4MGM2YTA5ZjczZWRjN2M2NmUxMzg4ZmIwNjE1MmI3MTM0NGQ2ZjY2OTkzMzc2MmZjZmMwYzIyNTEwYTE4MGEwYzA4OTRjYmEyODMwNjEwOWZhYWI0ODAwMTEyMDgwODAwMTAwMDE4OTg4ZTAxMTIwNjA4MDAxMDAwMTgwNDE4YTViOTA3MjIwMzA4YjQwMTcyMjQwYTIyMGEwZjBhMDgwODAwMTAwMDE4OTg4ZTAxMTBmZmMxZDcyZjBhMGYwYTA4MDgwMDEwMDAxOGY4Y2YwMzEwODBjMmQ3MmYnO1xuXG5leHBvcnQgY29uc3QgU0lHTkVEX1RSQU5TRkVSX1RSQU5TQUNUSU9OID1cbiAgJzFhNjYwYTY0MGEyMDVhOTExMWI1ZTY4ODFmZjIwYjkyNDNhNDJhYzFhOWE2N2ZhMTZjZDRmMDFlNThiYWIzMGMxZmU2MTFlYThjZjkxYTQwYzg4NmFjMzYwMGMyOTE4NGU3ZDlmYzc2ZWQ5Njc5Y2U0Nzg0OWE5ZTM4NzM5ZDBlZTRlMGRiYmE4NWJjMzJiNjYyNDhjYzkzM2NiZDE1OTIxNTYyNWNiYjNiODk2NzE5ZTU0YTczMWU4OWNkY2YxZDViMmU0YzAyMjkyMDRkMDIyMjRlMGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGE4ZmIwNDEyMDcwODAwMTAwMDE4YTkxMjE4ODA5NGViZGMwMzIyMDMwOGI0MDE3MjFlMGExYzBhMGMwYTA4MDgwMDEwMDAxOGE4ZmIwNDEwMTMwYTBjMGEwODA4MDAxMDAwMThkNWQwMDQxMDE0JztcblxuZXhwb3J0IGNvbnN0IFNJR05FRF9NVUxUSV9UUkFOU0ZFUl9UUkFOU0FDVElPTiA9XG4gICcxYTY2MGE2NDBhMjA1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5MWE0MDc3YWY2ZTQ3NzkxODkyNWRlYWZkNTAwNDE0YTM4ODc1M2MyMzRlMTBkNDBlMWUxZjlhNmZiMTExNjBiMTIwZTM2NTQ3MTcyNTlhZDU0MzE2ZjQzMDg1YWE2MDViNzI4NWIzZWVjMjQyNTBlOTZkYWY2YWY0YWE2NTBkNDNkNjA1MjI1YzBhMTgwYTBjMDg5ZGVkOGFmOTA1MTBhYWM1ZDhiMTAxMTIwODA4MDAxMDAwMThhOGZiMDQxMjA3MDgwMDEwMDAxOGE5MTIxODgwOTRlYmRjMDMyMjAzMDhiNDAxNzIyYzBhMmEwYTBjMGEwODA4MDAxMDAwMThhOGZiMDQxMDMxMGEwYzBhMDgwODAwMTAwMDE4ZDVkMDA0MTAxNDBhMGMwYTA4MDgwMDEwMDAxOGYzZTgwNDEwMWUnO1xuXG5leHBvcnQgY29uc3QgVEhSRUVfVElNRVNfU0lHTkVEX1RSQU5TQUNUSU9OID1cbiAgJzFhYjIwMjBhNjQwYTIwNWE5MTExYjVlNjg4MWZmMjBiOTI0M2E0MmFjMWE5YTY3ZmExNmNkNGYwMWU1OGJhYjMwYzFmZTYxMWVhOGNmOTFhNDA3NDk0NzQ3MDg4YzBhMWRmMDhiNjQzNmY5MWFhYWQ3MDllODE1ZDIzOTI5MTNkYzNiZmY4Nzc5Y2E2MmNlMWE2ZGE3YTY1ODhjNjI3YzI5MTBjZjQ3YWNhOWY0ZmZjNzBjNmI3OTc0ZjUyYmQ4NjI1Yzg0Mjg4NGY0N2VjNjcwMTBhNjQwYTIwNTkyYTRmYmI3MjYzYzU5ZDQ1MGU2NTFkZjk2NjIwZGM5MjA4ZWU3YzdkOWQ2ZjJmZGNiOTFjNTNmODgzMTI2MTFhNDBiZGFlYmUxMzZkODU3ZTRjMzZmNzY5MDI1MjY5N2FiMmM3NzBkMDJkYTc1OTA3MzEwNDY1MGMzYTMyY2E2YzU2N2RkYzUyNjFmODQyNmUzYjQ1NWQyNzM3ODNhOWEyODg1MDg1MzY3YzZlYzM1MjZjZDlhZDg4MzA1NmIxYTQwMDBhNjQwYTIwZmEzNDQ3OTM2MDFjZWY3MTM0OGY5OTRmMzBhMTY4YzJkZDU1ZjM1NzQyNmExODBhNWE3MjRkN2UwMzU4NWU5MTFhNDBlYTY3MGUwMDYxM2ViNjJiMTNjZmQ2OGViNWU3NGE0OGYzZjlhYzI4NWQxMTBiYjBiMTRlZWM4YjgxMzhjMTMxNmQyN2MxNWUwZTMzMmUxMzAxZDJmNGNiMzE3NWQzZDM0ODkyY2ZlY2Q5ZjE0OWQ2MDU4NDlhM2Q5ZjQxY2YwOTIyNGQwYTE4MGEwYzA4OWRlZDhhZjkwNTEwYWFjNWQ4YjEwMTEyMDgwODAwMTAwMDE4YThmYjA0MTIwNjA4MDAxMDAwMTgwNDE4ODA5NGViZGMwMzIyMDMwOGI0MDE3MjFlMGExYzBhMGMwYTA4MDgwMDEwMDAxOGE4ZmIwNDEwMTMwYTBjMGEwODA4MDAxMDAwMThkNWQwMDQxMDE0JztcblxuZXhwb3J0IGNvbnN0IEVOQ09ERURfVFJBTlNBQ1RJT04gPSAnbm90IGRlZmluZWQnO1xuXG5leHBvcnQgY29uc3QgZXJyb3JNZXNzYWdlT2RkTGVuZ3RoT3JOb25IZXhQcml2YXRlS2V5ID0gJ0ludmFsaWQgcHJpdmF0ZSBrZXkgbGVuZ3RoLiBNdXN0IGJlIGEgaGV4IGFuZCBtdWx0aXBsZSBvZiAyJztcblxuZXhwb3J0IGNvbnN0IGVycm9yTWVzc2FnZUludmFsaWRQcml2YXRlS2V5ID0gJ0ludmFsaWQgcHJpdmF0ZSBrZXknO1xuXG5leHBvcnQgY29uc3QgZXJyb3JNZXNzYWdlSW52YWxpZFB1YmxpY0tleSA9ICdJbnZhbGlkIHB1YmxpYyBrZXk6JztcblxuZXhwb3J0IGNvbnN0IGVycm9yTWVzc2FnZU1pc3NpbmdQcml2YXRlS2V5ID0gJ01pc3NpbmcgcHJpdmF0ZSBrZXknO1xuXG5leHBvcnQgY29uc3QgZXJyb3JNZXNzYWdlTm90UG9zc2libGVUb0Rlcml2ZUFkZHJlc3MgPSAnQWRkcmVzcyBkZXJpdmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgaW4gSGVkZXJhJztcblxuZXhwb3J0IGNvbnN0IGVycm9yTWVzc2FnZUZhaWxlZFRvUGFyc2UgPSAnRmFpbGVkIHRvIHBhcnNlIGNvcnJlY3Qga2V5JztcblxuZXhwb3J0IGNvbnN0IElOVkFMSURfS0VZUEFJUl9QUlYgPSBuZXcgS2V5UGFpcih7XG4gIHBydjogJzhDQUEwMEFFNjM2MzhCMDU0MkEzMDQ4MjNENjZEOTZGRjMxN0E1NzZGNjkyNjYzREIyRjg1RTYwRkFCMjU5MEMnLFxufSk7XG5cbmV4cG9ydCBjb25zdCBLRVlQQUlSX1BSViA9IG5ldyBLZXlQYWlyKHtcbiAgcHJ2OiAnMzAyZTAyMDEwMDMwMDUwNjAzMmI2NTcwMDQyMjA0MjA2MmIwYjY2OWRlMGFiNWU5MWI0MzI4ZTE0MzE4NTlhNWNhNDdlNzQyNmU3MDEwMTkyNzJmNWMyZDUyODI1YjAxJyxcbn0pO1xuXG5leHBvcnQgY29uc3QgV0FMTEVUX1RYREFUQSA9IFVpbnQ4QXJyYXkuZnJvbShcbiAgQnVmZmVyLmZyb20oXG4gICAgJzIyYTMwMTBhMTQwYTBjMDg4M2FhOTFmOTA1MTA4MGZlYWI5YjAxMTIwNDE4ZDVkMDA0MTIwMjE4MDQxODgwOTRlYmRjMDMyMjAyMDg3ODVhN2QwYTcyMmE3MDA4MDIxMjZjMGEyMjEyMjA1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5MGEyMjEyMjA1OTJhNGZiYjcyNjNjNTlkNDUwZTY1MWRmOTY2MjBkYzkyMDhlZTdjN2Q5ZDZmMmZkY2I5MWM1M2Y4ODMxMjYxMGEyMjEyMjBmYTM0NDc5MzYwMWNlZjcxMzQ4Zjk5NGYzMGExNjhjMmRkNTVmMzU3NDI2YTE4MGE1YTcyNGQ3ZTAzNTg1ZTkxMTAwMDRhMDUwOGQwYzhlMTAzJyxcbiAgICAnaGV4J1xuICApXG4pO1xuXG5leHBvcnQgY29uc3QgV0FMTEVUX1NJR05FRF9UUkFOU0FDVElPTiA9XG4gICcxYTY2MGE2NDBhMjA1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5MWE0MGZmMDBjNDNkNGRhNmQzM2FiZjkwYjJkZTdkMzZkYjhjZWE2MjI0OGE2YjhlZjM1YmU3NzQxYzQzZTc2MmYxMjA4ZmU1MjI0YWM3OWNkNTNlNTlkZjQ4OTEzNDE4ZTk3NjMyMGY3ODlhMDkxY2Y2N2EyMzI3OGExMjc4MWI0OTBkMjJhMzAxMGExNDBhMGMwODgzYWE5MWY5MDUxMDgwZmVhYjliMDExMjA0MThkNWQwMDQxMjAyMTgwNDE4ODA5NGViZGMwMzIyMDIwODc4NWE3ZDBhNzIyYTcwMDgwMjEyNmMwYTIyMTIyMDVhOTExMWI1ZTY4ODFmZjIwYjkyNDNhNDJhYzFhOWE2N2ZhMTZjZDRmMDFlNThiYWIzMGMxZmU2MTFlYThjZjkwYTIyMTIyMDU5MmE0ZmJiNzI2M2M1OWQ0NTBlNjUxZGY5NjYyMGRjOTIwOGVlN2M3ZDlkNmYyZmRjYjkxYzUzZjg4MzEyNjEwYTIyMTIyMGZhMzQ0NzkzNjAxY2VmNzEzNDhmOTk0ZjMwYTE2OGMyZGQ1NWYzNTc0MjZhMTgwYTVhNzI0ZDdlMDM1ODVlOTExMDAwNGEwNTA4ZDBjOGUxMDMnO1xuXG5leHBvcnQgY29uc3QgV0FMTEVUX0JVSUxERVJfU0lHTkVEX1RSQU5TQUNUSU9OID1cbiAgJzFhNjYwYTY0MGEyMGQzMmI3YjFlYjEwM2MxMGE2YzhmNmVjNTc1YjgwMDI4MTZlOTcyNWQ5NTQ4NWIzZDU1MDlhYThjODliNDUyOGIxYTQwZTkxYzY4MDRjZDRlMjc2NTBlNzRiYmE4YThjZDlkOWY1MDlhMDA3MzYwYTRiZDY5Nzc4OWQyOTVlZjNhN2Y3MjY4MGY1OWNkMDFmYTc0MjU4MTMyNjg2NGM4Y2E4ZjE2YTdkMmI3M2RjOTEzOGQzYmJlOWVjNWUyOWU2OTk5MGEyMmFjMDEwYTE4MGEwYzA4OWRlZDhhZjkwNTEwYWFjNWQ4YjEwMTEyMDgwODAwMTAwMDE4ZDVkMDA0MTIwNjA4MDAxMDAwMTgwNDE4ODA5NGViZGMwMzIyMDMwOGI0MDE1YTdkMGE3MjJhNzAwODAyMTI2YzBhMjIxMjIwNWE5MTExYjVlNjg4MWZmMjBiOTI0M2E0MmFjMWE5YTY3ZmExNmNkNGYwMWU1OGJhYjMwYzFmZTYxMWVhOGNmOTBhMjIxMjIwNTkyYTRmYmI3MjYzYzU5ZDQ1MGU2NTFkZjk2NjIwZGM5MjA4ZWU3YzdkOWQ2ZjJmZGNiOTFjNTNmODgzMTI2MTBhMjIxMjIwZmEzNDQ3OTM2MDFjZWY3MTM0OGY5OTRmMzBhMTY4YzJkZDU1ZjM1NzQyNmExODBhNWE3MjRkN2UwMzU4NWU5MTEwMDA0YTA1MDhkMGM4ZTEwMyc7XG5cbmV4cG9ydCBjb25zdCBXQUxMRVRfQlVJTERFUl9TSUdORURfVFdJQ0VfVFJBTlNBQ1RJT04gPVxuICAnMWFjYzAxMGE2NDBhMjBkMzJiN2IxZWIxMDNjMTBhNmM4ZjZlYzU3NWI4MDAyODE2ZTk3MjVkOTU0ODViM2Q1NTA5YWE4Yzg5YjQ1MjhiMWE0MGU5MWM2ODA0Y2Q0ZTI3NjUwZTc0YmJhOGE4Y2Q5ZDlmNTA5YTAwNzM2MGE0YmQ2OTc3ODlkMjk1ZWYzYTdmNzI2ODBmNTljZDAxZmE3NDI1ODEzMjY4NjRjOGNhOGYxNmE3ZDJiNzNkYzkxMzhkM2JiZTllYzVlMjllNjk5OTBhMGE2NDBhMjA1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5MWE0MGU4NmM1MGZmM2Q1ZGYwMGI4ZTNmM2YzMDFjOGUyOTU4MmE1MjkzY2M1OTk0ZTgzMzYxMWQ5NzExOGNmOTJiYWQ5MDI0ZTJmMzA1MWM0YzJhZWVjNDgxMmJkNTg1NzM4OTY4OGZlYzA4MTBlODE0NzA5MWNjZGU4ZDJlNDI4YjAxMjJhYzAxMGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGQ1ZDAwNDEyMDYwODAwMTAwMDE4MDQxODgwOTRlYmRjMDMyMjAzMDhiNDAxNWE3ZDBhNzIyYTcwMDgwMjEyNmMwYTIyMTIyMDVhOTExMWI1ZTY4ODFmZjIwYjkyNDNhNDJhYzFhOWE2N2ZhMTZjZDRmMDFlNThiYWIzMGMxZmU2MTFlYThjZjkwYTIyMTIyMDU5MmE0ZmJiNzI2M2M1OWQ0NTBlNjUxZGY5NjYyMGRjOTIwOGVlN2M3ZDlkNmYyZmRjYjkxYzUzZjg4MzEyNjEwYTIyMTIyMGZhMzQ0NzkzNjAxY2VmNzEzNDhmOTk0ZjMwYTE2OGMyZGQ1NWYzNTc0MjZhMTgwYTVhNzI0ZDdlMDM1ODVlOTExMDAwNGEwNTA4ZDBjOGUxMDMnO1xuXG5leHBvcnQgY29uc3QgV0FMTEVUX0lOSVRfMl9PV05FUlMgPVxuICAnMjI3ZjBhMTQwYTBjMDg5ZGVkOGFmOTA1MTBhYWM1ZDhiMTAxMTIwNDE4ZDVkMDA0MTIwMjE4MDQxODgwOTRlYmRjMDMyMjAyMDg3ODVhNTkwYTRlMmE0YzA4MDIxMjQ4MGEyMjEyMjA1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5MGEyMjEyMjA1OTJhNGZiYjcyNjNjNTlkNDUwZTY1MWRmOTY2MjBkYzkyMDhlZTdjN2Q5ZDZmMmZkY2I5MWM1M2Y4ODMxMjYxMTAwMDRhMDUwOGQwYzhlMTAzJztcblxuZXhwb3J0IGNvbnN0IFNJR05FRF9UT0tFTl9UUkFOU0ZFUl9UUkFOU0FDVElPTiA9XG4gICcxYTY2MGE2NDBhMjA1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5MWE0MGIzY2E0MWQxZWQ1NjdhNmM1MmFlOTAxZjVkZDkyNGQwMGNiYzNkZmVhOTM4YjBhZWQxZTBmZDE5MDJhM2JkMGE1YjQ4NTBkMjIzZDNhMjIyNmNiZTE4ZGMwYTJhYWU3NTgyZWVhMzNjMTMxOGY1N2UxNjkwNGRlMzU0NWU2YzBkMjI1ODBhMTgwYTBjMDg5ZGVkOGFmOTA1MTBhYWM1ZDhiMTAxMTIwODA4MDAxMDAwMThhOGZiMDQxMjA3MDgwMDEwMDAxOGE5MTIxODgwOTRlYmRjMDMyMjAzMDhiNDAxNzIyODEyMjYwYTA4MDgwMDEwMDAxOGRhOTkxYTEyMGMwYTA4MDgwMDEwMDAxOGE4ZmIwNDEwMTMxMjBjMGEwODA4MDAxMDAwMThkNWQwMDQxMDE0JztcblxuZXhwb3J0IGNvbnN0IE5PTl9TSUdORURfVE9LRU5fVFJBTlNGRVJfVFJBTlNBQ1RJT04gPVxuICAnMjI1ODBhMTgwYTBjMDg5ZGVkOGFmOTA1MTBhYWM1ZDhiMTAxMTIwODA4MDAxMDAwMThhOGZiMDQxMjA3MDgwMDEwMDAxOGE5MTIxODgwOTRlYmRjMDMyMjAzMDhiNDAxNzIyODEyMjYwYTA4MDgwMDEwMDAxOGRhOTkxYTEyMGMwYTA4MDgwMDEwMDAxOGE4ZmIwNDEwMTMxMjBjMGEwODA4MDAxMDAwMThkNWQwMDQxMDE0JztcblxuZXhwb3J0IGNvbnN0IFNJR05FRF9UT0tFTl9NVUxUSV9UUkFOU0ZFUl9UUkFOU0FDVElPTiA9XG4gICcyMjY3MGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGE4ZmIwNDEyMDcwODAwMTAwMDE4YTkxMjE4ODA5NGViZGMwMzIyMDMwOGI0MDE3MjM3MTIzNTBhMDkwODAwMTAwMDE4ZDNmYThhMDExMjBjMGEwODA4MDAxMDAwMThhOGZiMDQxMDMxMTIwYzBhMDgwODAwMTAwMDE4ZDVkMDA0MTAxNDEyMGMwYTA4MDgwMDEwMDAxOGYzZTgwNDEwMWUnO1xuXG5leHBvcnQgY29uc3QgTk9OX1NJR05FRF9UT0tFTl9NVUxUSV9UUkFOU0ZFUl9UUkFOU0FDVElPTiA9XG4gICcyMjY2MGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGE4ZmIwNDEyMDcwODAwMTAwMDE4YTkxMjE4ODA5NGViZGMwMzIyMDMwOGI0MDE3MjM2MTIzNDBhMDgwODAwMTAwMDE4ZGE5OTFhMTIwYzBhMDgwODAwMTAwMDE4YThmYjA0MTAzMTEyMGMwYTA4MDgwMDEwMDAxOGQ1ZDAwNDEwMTQxMjBjMGEwODA4MDAxMDAwMThmM2U4MDQxMDFlJztcblxuZXhwb3J0IGNvbnN0IE5PTl9TSUdORURfVE9LRU5fTVVMVElfVFJBTlNGRVJfVFJBTlNBQ1RJT05fU0VSSUFMSVpFRCA9XG4gICcxYTY2MGE2NDBhMjA1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5MWE0MDhkNWE1YTE0OWFhM2I4NDJmYzJiZmYyNWRiZTkzMjc4MmViYjBmNWRiNzc3MGJjMzRjNzJkYmYwN2Y2YWJmYTU0ODUwNDVlZmQ4NmRhZDEzZjY2NjczZTA3Njk0NjJkZGM2MWI0OWY5YzI0ZjNmMmM2OWZhN2M1NTk0NTkyMzA0MjI2NjBhMTgwYTBjMDg5ZGVkOGFmOTA1MTBhYWM1ZDhiMTAxMTIwODA4MDAxMDAwMThhOGZiMDQxMjA3MDgwMDEwMDAxOGE5MTIxODgwOTRlYmRjMDMyMjAzMDhiNDAxNzIzNjEyMzQwYTA4MDgwMDEwMDAxOGRhOTkxYTEyMGMwYTA4MDgwMDEwMDAxOGE4ZmIwNDEwMzExMjBjMGEwODA4MDAxMDAwMThkNWQwMDQxMDE0MTIwYzBhMDgwODAwMTAwMDE4ZjNlODA0MTAxZSc7XG5cbmV4cG9ydCBjb25zdCBUSFJFRV9USU1FU19TSUdORURfVE9LRU5fVFJBTlNBQ1RJT04gPVxuICAnMWFiMjAyMGE2NDBhMjA1YTkxMTFiNWU2ODgxZmYyMGI5MjQzYTQyYWMxYTlhNjdmYTE2Y2Q0ZjAxZTU4YmFiMzBjMWZlNjExZWE4Y2Y5MWE0MDYzMmI1OTVlZTU2OGNhMDY4MjQ5OTNmOTRmY2FkOGRiMzMxODllMTgzOGNkMzkwNzEyMTU5NjI3YmQ5ZDBkOGVjNzg3MTJmZjdlOTc1YzVjNjk1YmNlOTZkODBlZGUyODhkM2QwNTc1MmIwYjdhZWE4NjhjZTVkZDVmMTZjMDBmMGE2NDBhMjA1OTJhNGZiYjcyNjNjNTlkNDUwZTY1MWRmOTY2MjBkYzkyMDhlZTdjN2Q5ZDZmMmZkY2I5MWM1M2Y4ODMxMjYxMWE0MDNjYjI4NDg4NjU1YWM5MjE4YTc5NjRhMTk5MDI0Nzc1NjM5MGJiMWZhZGRlZTExZjY1Y2M0ZDZmYzlkZDNkYjMzMWZjZDIxMTkwNTYxMWI3NTg5YWQzZmVkZGU4N2U2MzYxMjYwNDk0OTAzYWNkYjVhNDViMTk1ODBhMDZmMTBjMGE2NDBhMjBmYTM0NDc5MzYwMWNlZjcxMzQ4Zjk5NGYzMGExNjhjMmRkNTVmMzU3NDI2YTE4MGE1YTcyNGQ3ZTAzNTg1ZTkxMWE0MDA0OTM5MmEyMTRmNzBlMmNjYThmNThkNjUyZWViNjRmMDE2MWQ2ZDdmN2E0OTcyZDA3Y2ZlMjUxM2Y1NTUzMzhkZjFjZDBiZTk1YmI4NTk1MWY2YmYyMGYxNmZjNDQ2ODBmZWZjOTIxZmNkNGZiYjU0ZTliYzVhZTNhMjEyZDAzMjI1NzBhMTgwYTBjMDg5ZGVkOGFmOTA1MTBhYWM1ZDhiMTAxMTIwODA4MDAxMDAwMThhOGZiMDQxMjA2MDgwMDEwMDAxODA0MTg4MDk0ZWJkYzAzMjIwMzA4YjQwMTcyMjgxMjI2MGEwODA4MDAxMDAwMThkYTk5MWExMjBjMGEwODA4MDAxMDAwMThhOGZiMDQxMDEzMTIwYzBhMDgwODAwMTAwMDE4ZDVkMDA0MTAxNCc7XG5cbmV4cG9ydCBjb25zdCBTSUdORURfVE9LRU5fQVNTT0NJQVRFX1RSQU5TQUNUSU9OID1cbiAgJzFhNjYwYTY0MGEyMDVhOTExMWI1ZTY4ODFmZjIwYjkyNDNhNDJhYzFhOWE2N2ZhMTZjZDRmMDFlNThiYWIzMGMxZmU2MTFlYThjZjkxYTQwYWNmMTU3NmQ3NzU1NjM1MjlhMDc0ODM0YTYwZjQ5NTUyNmRhM2UzMjg4MWViYzAxYTRhZDkzMzcxYTczYjA0ZjQ4M2Y2YTM3MzE1MTRmZjc4OTkzODcyNDZkZGFmYjFjMTQwMWNiNGMwMWQwOTIxMjU2Y2UyMGIwNGIxYjQ3MDEyMjQ1MGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGE4ZmIwNDEyMDcwODAwMTAwMDE4YTkxMjE4ODA5NGViZGMwMzIyMDMwOGI0MDFjMjAyMTQwYTA4MDgwMDEwMDAxOGE4ZmIwNDEyMDgwODAwMTAwMDE4ZGE5OTFhJztcblxuZXhwb3J0IGNvbnN0IE5PTl9TSUdORURfVE9LRU5fQVNTT0NJQVRFX1RSQU5TQUNUSU9OID1cbiAgJzIyNDUwYTE4MGEwYzA4OWRlZDhhZjkwNTEwYWFjNWQ4YjEwMTEyMDgwODAwMTAwMDE4YThmYjA0MTIwNzA4MDAxMDAwMThhOTEyMTg4MDk0ZWJkYzAzMjIwMzA4YjQwMWMyMDIxNDBhMDgwODAwMTAwMDE4YThmYjA0MTIwODA4MDAxMDAwMThkYTk5MWEnO1xuXG5leHBvcnQgY29uc3QgVEhSRUVfVElNRVNfU0lHTkVEX1RPS0VOX0FTU09DSUFURV9UUkFOU0FDVElPTiA9XG4gICcxYWIyMDIwYTY0MGEyMDVhOTExMWI1ZTY4ODFmZjIwYjkyNDNhNDJhYzFhOWE2N2ZhMTZjZDRmMDFlNThiYWIzMGMxZmU2MTFlYThjZjkxYTQwM2M0Yzg2ZDM1YmJkM2ZjY2RiOTcxMzdkMTZiNjBjM2Q3NzRjNWE1MWRmZjE4MTAwMDQwZmI1MDlmNzJkMjMwYTM1Mjk0NDU1M2FjMDAxMDQ2ZDc5ZTllOTllNjI0NWJmYmZlYTQ5NWRjZjBjNzZiNjNkNDk3YmE2OWU5ZTU2MGEwYTY0MGEyMDU5MmE0ZmJiNzI2M2M1OWQ0NTBlNjUxZGY5NjYyMGRjOTIwOGVlN2M3ZDlkNmYyZmRjYjkxYzUzZjg4MzEyNjExYTQwNDRiNTUyMmM0NzQ5NTNkZTJlMDhlYTRkZjRkMmQ2YTJmNDM3ZjQwMTRhOTQ2N2JjMGMxMWRlOTkxM2Q0NjMwZGE1ZWI5YTdmOThjMDhkZTRhYWQwN2U1YzRhM2NiYTA5Mjk1OGRmODA1OWI1YjRjOWM2OGUwZjc0MTE3ZjY5MDUwYTY0MGEyMGZhMzQ0NzkzNjAxY2VmNzEzNDhmOTk0ZjMwYTE2OGMyZGQ1NWYzNTc0MjZhMTgwYTVhNzI0ZDdlMDM1ODVlOTExYTQwYzg0N2I5MTY1MWM5NWE0N2ZiM2I2ZTc3NmU0MjE2NDVkZjdiNWE2ZWJiYzMyODcwMWIyMDRmN2UwNjQ4YzcxOTlkMjM0NWY1YmI4NWI0MjI0MDBiYzFmMTgxMTE0MDllNzBlMzQ2ZGVjMTRjN2UyZTU1OTJjODlkNWJkYTFiMGMyMjQ0MGExODBhMGMwODlkZWQ4YWY5MDUxMGFhYzVkOGIxMDExMjA4MDgwMDEwMDAxOGE4ZmIwNDEyMDYwODAwMTAwMDE4MDQxODgwOTRlYmRjMDMyMjAzMDhiNDAxYzIwMjE0MGEwODA4MDAxMDAwMThhOGZiMDQxMjA4MDgwMDEwMDAxOGRhOTkxYSc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export declare const hbarBackupKey: {
2
+ key: string;
3
+ };
4
+ //# sourceMappingURL=hbarBackupKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hbarBackupKey.d.ts","sourceRoot":"","sources":["../../../../test/unit/fixtures/hbarBackupKey.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;CAMzB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hbarBackupKey = void 0;
4
+ exports.hbarBackupKey = {
5
+ key: '{"iv":"O+i3jZCOSwiM306upG25zA==","v":1,"iter":10000,"ks":256,"ts":64,"mode"' +
6
+ ':"ccm","adata":"","cipher":"aes","salt":"nZfeSkx8WKM=","ct":"8uYgLUJ17EsF+X' +
7
+ 'P6PAic3NP/AjGlXPHUh2eKfEpDBwcrsU9yDwEee0Z+CZwMd3vMkqr6JKHxgibvBEfdycA+GbZI9' +
8
+ '3ZEg8LZIpo0Q5wzWYcSn2m42XFadnpMB6wpTHdZqHk6BXcosLI="}',
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJhckJhY2t1cEtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9maXh0dXJlcy9oYmFyQmFja3VwS2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsYUFBYSxHQUFHO0lBQzNCLEdBQUcsRUFDRCw2RUFBNkU7UUFDN0UsNkVBQTZFO1FBQzdFLDZFQUE2RTtRQUM3RSx1REFBdUQ7Q0FDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBoYmFyQmFja3VwS2V5ID0ge1xuICBrZXk6XG4gICAgJ3tcIml2XCI6XCJPK2kzalpDT1N3aU0zMDZ1cEcyNXpBPT1cIixcInZcIjoxLFwiaXRlclwiOjEwMDAwLFwia3NcIjoyNTYsXCJ0c1wiOjY0LFwibW9kZVwiJyArXG4gICAgJzpcImNjbVwiLFwiYWRhdGFcIjpcIlwiLFwiY2lwaGVyXCI6XCJhZXNcIixcInNhbHRcIjpcIm5aZmVTa3g4V0tNPVwiLFwiY3RcIjpcIjh1WWdMVUoxN0VzRitYJyArXG4gICAgJ1A2UEFpYzNOUC9BakdsWFBIVWgyZUtmRXBEQndjcnNVOXlEd0VlZTBaK0Nad01kM3ZNa3FyNkpLSHhnaWJ2QkVmZHljQStHYlpJOScgK1xuICAgICczWkVnOExaSXBvMFE1d3pXWWNTbjJtNDJYRmFkbnBNQjZ3cFRIZFpxSGs2Qlhjb3NMST1cIn0nLFxufTtcbiJdfQ==