@bitgo/sdk-core 28.14.2 → 28.15.0

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 (195) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -2
  3. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +0 -2
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +1 -1
  7. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -2
  8. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +1 -1
  9. package/dist/src/account-lib/baseCoin/blsKeyPair.js +18 -8
  10. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +18 -8
  11. package/dist/src/account-lib/baseCoin/enum.js +5 -5
  12. package/dist/src/account-lib/baseCoin/errors.js +1 -1
  13. package/dist/src/account-lib/baseCoin/iface.d.ts +0 -2
  14. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  15. package/dist/src/account-lib/baseCoin/iface.js +6 -7
  16. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -2
  17. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  18. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +18 -8
  19. package/dist/src/account-lib/index.js +18 -8
  20. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +0 -3
  21. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  22. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +19 -9
  23. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +18 -8
  24. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +0 -2
  25. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  26. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +0 -2
  27. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  28. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +2 -2
  29. package/dist/src/account-lib/mpc/tss/eddsa/index.js +18 -8
  30. package/dist/src/account-lib/mpc/tss/index.js +18 -8
  31. package/dist/src/account-lib/mpc/util.js +3 -3
  32. package/dist/src/account-lib/staking/utils.js +3 -3
  33. package/dist/src/account-lib/util/crypto.d.ts +0 -2
  34. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  35. package/dist/src/account-lib/util/crypto.js +36 -26
  36. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +0 -2
  37. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  38. package/dist/src/account-lib/util/ed25519KeyDeriver.js +1 -1
  39. package/dist/src/api/bip32path.js +2 -3
  40. package/dist/src/bitgo/address-book/address-book.js +1 -1
  41. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +0 -3
  42. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  43. package/dist/src/bitgo/baseCoin/baseCoin.js +18 -8
  44. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +2 -4
  45. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  46. package/dist/src/bitgo/baseCoin/iBaseCoin.js +2 -2
  47. package/dist/src/bitgo/bip32util.d.ts +0 -2
  48. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  49. package/dist/src/bitgo/bip32util.js +20 -11
  50. package/dist/src/bitgo/bitcoin.d.ts +0 -2
  51. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  52. package/dist/src/bitgo/bitcoin.js +21 -12
  53. package/dist/src/bitgo/coinFactory.js +1 -1
  54. package/dist/src/bitgo/config.d.ts +26 -26
  55. package/dist/src/bitgo/config.js +20 -10
  56. package/dist/src/bitgo/ecdh.d.ts +0 -2
  57. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  58. package/dist/src/bitgo/ecdh.js +21 -12
  59. package/dist/src/bitgo/enterprise/enterprise.d.ts +0 -2
  60. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  61. package/dist/src/bitgo/enterprise/enterprise.js +18 -8
  62. package/dist/src/bitgo/enterprise/enterprises.js +18 -8
  63. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +0 -2
  64. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  65. package/dist/src/bitgo/environments.js +8 -8
  66. package/dist/src/bitgo/index.js +18 -8
  67. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +0 -2
  68. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  69. package/dist/src/bitgo/internal/internal.js +2 -3
  70. package/dist/src/bitgo/internal/keycard.js +2 -3
  71. package/dist/src/bitgo/keychain/decryptKeychain.js +2 -3
  72. package/dist/src/bitgo/keychain/iKeychains.d.ts +0 -2
  73. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  74. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  75. package/dist/src/bitgo/keychain/keychains.d.ts +0 -2
  76. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  77. package/dist/src/bitgo/keychain/keychains.js +18 -8
  78. package/dist/src/bitgo/keychain/ovcJsonCodec.js +18 -8
  79. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -2
  80. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  81. package/dist/src/bitgo/legacyBitcoin.js +21 -11
  82. package/dist/src/bitgo/lightning/codecs.js +20 -10
  83. package/dist/src/bitgo/lightning/custodial/iLightning.js +18 -8
  84. package/dist/src/bitgo/lightning/custodial/lightning.js +1 -1
  85. package/dist/src/bitgo/lightning/custodial/lightningUtils.js +22 -13
  86. package/dist/src/bitgo/lightning/custodial/lnurlCodec.js +3 -4
  87. package/dist/src/bitgo/lightning/lightningUtils.d.ts +0 -2
  88. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +1 -1
  89. package/dist/src/bitgo/lightning/lightningUtils.js +30 -20
  90. package/dist/src/bitgo/lightning/lightningWallet.js +4 -5
  91. package/dist/src/bitgo/lightning/signableJson.js +2 -3
  92. package/dist/src/bitgo/lightning/signature.js +20 -11
  93. package/dist/src/bitgo/market/markets.js +18 -8
  94. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  95. package/dist/src/bitgo/pendingApproval/pendingApproval.js +18 -8
  96. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +18 -8
  97. package/dist/src/bitgo/recovery/initiate.js +7 -8
  98. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  99. package/dist/src/bitgo/staking/stakingWallet.d.ts +1 -0
  100. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  101. package/dist/src/bitgo/staking/stakingWallet.js +15 -2
  102. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +0 -2
  103. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -1
  104. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +2 -3
  105. package/dist/src/bitgo/trading/network/decrypt-rsa.js +2 -3
  106. package/dist/src/bitgo/trading/network/decrypt.js +2 -3
  107. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +0 -2
  108. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -1
  109. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +2 -3
  110. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +2 -3
  111. package/dist/src/bitgo/trading/network/encrypt-rsa.js +2 -3
  112. package/dist/src/bitgo/trading/network/encrypt.js +3 -4
  113. package/dist/src/bitgo/trading/network/network.js +1 -1
  114. package/dist/src/bitgo/trading/network/utils.d.ts +0 -2
  115. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -1
  116. package/dist/src/bitgo/trading/network/utils.js +4 -5
  117. package/dist/src/bitgo/tss/bitgoPubKeys.js +5 -5
  118. package/dist/src/bitgo/tss/common.js +8 -9
  119. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +0 -3
  120. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  121. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +52 -42
  122. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +8 -9
  123. package/dist/src/bitgo/tss/ecdsa/index.js +18 -8
  124. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  125. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +0 -2
  126. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  127. package/dist/src/bitgo/tss/eddsa/eddsa.js +12 -12
  128. package/dist/src/bitgo/tss/eddsa/index.js +18 -8
  129. package/dist/src/bitgo/tss/index.js +18 -8
  130. package/dist/src/bitgo/tss/types.js +2 -2
  131. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +21 -12
  132. package/dist/src/bitgo/utils/blsUtils.js +1 -1
  133. package/dist/src/bitgo/utils/codecProps.js +19 -10
  134. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  135. package/dist/src/bitgo/utils/decode.js +21 -11
  136. package/dist/src/bitgo/utils/index.js +18 -8
  137. package/dist/src/bitgo/utils/mpcUtils.js +1 -1
  138. package/dist/src/bitgo/utils/notEmpty.js +2 -3
  139. package/dist/src/bitgo/utils/opengpgUtils.js +31 -22
  140. package/dist/src/bitgo/utils/postWithCodec.js +2 -3
  141. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  142. package/dist/src/bitgo/utils/triple.js +2 -3
  143. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +18 -8
  144. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +0 -2
  145. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  146. package/dist/src/bitgo/utils/tss/baseTypes.js +8 -8
  147. package/dist/src/bitgo/utils/tss/ecdsa/base.js +1 -1
  148. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +0 -2
  149. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  150. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +18 -8
  151. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +0 -2
  152. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -1
  153. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +22 -12
  154. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +2 -3
  155. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +0 -2
  156. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  157. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +19 -9
  158. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +18 -8
  159. package/dist/src/bitgo/utils/tss/eddsa/index.js +18 -8
  160. package/dist/src/bitgo/utils/tss/index.js +18 -8
  161. package/dist/src/bitgo/utils/util.js +18 -8
  162. package/dist/src/bitgo/utils/wallet.js +19 -10
  163. package/dist/src/bitgo/wallet/BuildParams.js +18 -8
  164. package/dist/src/bitgo/wallet/iWallet.d.ts +7 -0
  165. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  166. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  167. package/dist/src/bitgo/wallet/iWallets.js +18 -8
  168. package/dist/src/bitgo/wallet/wallet.js +19 -9
  169. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  170. package/dist/src/bitgo/wallet/wallets.js +43 -23
  171. package/dist/src/bitgo/webhook/webhooks.js +18 -8
  172. package/dist/src/coins/fiateur.d.ts +0 -2
  173. package/dist/src/coins/fiateur.d.ts.map +1 -1
  174. package/dist/src/coins/fiatgbp.d.ts +0 -2
  175. package/dist/src/coins/fiatgbp.d.ts.map +1 -1
  176. package/dist/src/coins/fiatusd.d.ts +0 -2
  177. package/dist/src/coins/fiatusd.d.ts.map +1 -1
  178. package/dist/src/coins/ofc.d.ts +0 -2
  179. package/dist/src/coins/ofc.d.ts.map +1 -1
  180. package/dist/src/coins/ofc.js +1 -1
  181. package/dist/src/coins/ofcToken.js +1 -1
  182. package/dist/src/coins/susd.d.ts +0 -2
  183. package/dist/src/coins/susd.d.ts.map +1 -1
  184. package/dist/src/common.js +22 -12
  185. package/dist/src/index.js +18 -8
  186. package/dist/src/units.js +5 -6
  187. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +18 -8
  188. package/dist/test/unit/bitgo/lightning/codecs.js +18 -8
  189. package/dist/test/unit/bitgo/lightning/lightningUtils.js +18 -8
  190. package/dist/test/unit/bitgo/lightning/signature.js +18 -8
  191. package/dist/test/unit/bitgo/utils/postWithCodec.js +18 -8
  192. package/dist/test/unit/bitgo/wallet/BuildParams.js +18 -8
  193. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +18 -8
  194. package/dist/tsconfig.tsbuildinfo +1 -1
  195. package/package.json +5 -4
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -474,4 +484,4 @@ class Keychains {
474
484
  }
475
485
  }
476
486
  exports.Keychains = Keychains;
477
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2tleWNoYWluL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLG9EQUE0QjtBQUM1QiwwQ0FBNEI7QUFDNUIscURBQXVDO0FBR3ZDLG9DQUFpSDtBQWtCakgsaURBQXVGO0FBRXZGLE1BQWEsU0FBUztJQUlwQixZQUFZLEtBQWdCLEVBQUUsUUFBbUI7UUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQTBCO1FBQ2xDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyQixJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0M7UUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxD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U0FBUyxFQUFFLENBQUM7UUFDNUMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sOEJBQThCLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxDQUFDLENBQUMsQ0FBQztRQUVqRSxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUN0QyxRQUFRLEVBQUUsWUFBWTtZQUN0QixLQUFLLEVBQUUsV0FBVyxDQUFDLEdBQUc7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQUM7WUFDekIsWUFBWTtZQUNaLDhCQUE4QjtZQUM5QixHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUc7WUFDcEIsTUFBTSxFQUFFLE1BQU07U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEvZUQsOEJBK2VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHNzU2V0dGluZ3MgfSBmcm9tICdAYml0Z28vcHVibGljLXR5cGVzJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCAqIGFzIGNvbW1vbiBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgSUJhc2VDb2luLCBLZXljaGFpbnNUcmlwbGV0LCBLZXlQYWlyIH0gZnJvbSAnLi4vYmFzZUNvaW4nO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IEJsc1V0aWxzLCBkZWNvZGVPckVsc2UsIEVDRFNBVXRpbHMsIEVERFNBVXRpbHMsIGdlbmVyYXRlUmFuZG9tUGFzc3dvcmQsIFJlcXVlc3RUcmFjZXIgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICBBZGRLZXljaGFpbk9wdGlvbnMsXG4gIEFwaUtleVNoYXJlLFxuICBDaGFuZ2VkS2V5Y2hhaW5zLFxuICBDcmVhdGVCYWNrdXBPcHRpb25zLFxuICBDcmVhdGVCaXRHb09wdGlvbnMsXG4gIENyZWF0ZU1wY09wdGlvbnMsXG4gIEdldEtleWNoYWluT3B0aW9ucyxcbiAgR2V0S2V5c0ZvclNpZ25pbmdPcHRpb25zLFxuICBJS2V5Y2hhaW5zLFxuICBLZXljaGFpbixcbiAgTGlzdEtleWNoYWluT3B0aW9ucyxcbiAgTGlzdEtleWNoYWluc1Jlc3VsdCxcbiAgUmVjcmVhdGVNcGNPcHRpb25zLFxuICBVcGRhdGVQYXNzd29yZE9wdGlvbnMsXG4gIFVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmRPcHRpb25zLFxufSBmcm9tICcuL2lLZXljaGFpbnMnO1xuaW1wb3J0IHsgQml0R29LZXlGcm9tT3ZjU2hhcmVzLCBCaXRHb1RvT3ZjSlNPTiwgT3ZjVG9CaXRHb0pTT04gfSBmcm9tICcuL292Y0pzb25Db2RlYyc7XG5cbmV4cG9ydCBjbGFzcyBLZXljaGFpbnMgaW1wbGVtZW50cyBJS2V5Y2hhaW5zIHtcbiAgcHJpdmF0ZSByZWFkb25seSBiaXRnbzogQml0R29CYXNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhc2VDb2luOiBJQmFzZUNvaW47XG5cbiAgY29uc3RydWN0b3IoYml0Z286IEJpdEdvQmFzZSwgYmFzZUNvaW46IElCYXNlQ29pbikge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLmJhc2VDb2luID0gYmFzZUNvaW47XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEga2V5Y2hhaW4gYnkgSURcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zLmlkXG4gICAqIEBwYXJhbSBwYXJhbXMueHB1YiAob3B0aW9uYWwpXG4gICAqIEBwYXJhbSBwYXJhbXMuZXRoQWRkcmVzcyAob3B0aW9uYWwpXG4gICAqIEBwYXJhbSBwYXJhbXMucmVxSWQgKG9wdGlvbmFsKVxuICAgKi9cbiAgYXN5bmMgZ2V0KHBhcmFtczogR2V0S2V5Y2hhaW5PcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhwYXJhbXMsIFtdLCBbJ3hwdWInLCAnZXRoQWRkcmVzcyddKTtcblxuICAgIGlmIChfLmlzVW5kZWZpbmVkKHBhcmFtcy5pZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignaWQgbXVzdCBiZSBkZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSBwYXJhbXMuaWQ7XG4gICAgaWYgKHBhcmFtcy5yZXFJZCkge1xuICAgICAgdGhpcy5iaXRnby5zZXRSZXF1ZXN0VHJhY2VyKHBhcmFtcy5yZXFJZCk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvLmdldCh0aGlzLmJhc2VDb2luLnVybCgnL2tleS8nICsgZW5jb2RlVVJJQ29tcG9uZW50KGlkKSkpLnJlc3VsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIGxpc3QgdGhlIHVzZXJzIGtleWNoYWluc1xuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMubGltaXQgLSBNYXggbnVtYmVyIG9mIHJlc3VsdHMgaW4gYSBzaW5nbGUgY2FsbC5cbiAgICogQHBhcmFtIHBhcmFtcy5wcmV2SWQgLSBDb250aW51ZSBpdGVyYXRpbmcgKHByb3ZpZGVkIGJ5IG5leHRCYXRjaFByZXZJZCBpbiB0aGUgcHJldmlvdXMgbGlzdClcbiAgICogQHJldHVybnMgeyp9XG4gICAqL1xuICBhc3luYyBsaXN0KHBhcmFtczogTGlzdEtleWNoYWluT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxMaXN0S2V5Y2hhaW5zUmVzdWx0PiB7XG4gICAgY29uc3QgcXVlcnlPYmplY3Q6IGFueSA9IHt9O1xuXG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHBhcmFtcy5saW1pdCkpIHtcbiAgICAgIGlmICghXy5pc051bWJlcihwYXJhbXMubGltaXQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBsaW1pdCBhcmd1bWVudCwgZXhwZWN0aW5nIG51bWJlcicpO1xuICAgICAgfVxuICAgICAgcXVlcnlPYmplY3QubGltaXQgPSBwYXJhbXMubGltaXQ7XG4gICAgfVxuICAgIGlmICghXy5pc1VuZGVmaW5lZChwYXJhbXMucHJldklkKSkge1xuICAgICAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtcy5wcmV2SWQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwcmV2SWQgYXJndW1lbnQsIGV4cGVjdGluZyBzdHJpbmcnKTtcbiAgICAgIH1cbiAgICAgIHF1ZXJ5T2JqZWN0LnByZXZJZCA9IHBhcmFtcy5wcmV2SWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYml0Z28uZ2V0KHRoaXMuYmFzZUNvaW4udXJsKCcva2V5JykpLnF1ZXJ5KHF1ZXJ5T2JqZWN0KS5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdGhlIGRlY3J5cHRpb24gcGFzc3dvcmQgZm9yIGFsbCBwb3NzaWJsZSBrZXljaGFpbnMgYXNzb2NpYXRlZCB3aXRoIGEgdXNlci5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbiBpdGVyYXRlcyB0aHJvdWdoIGFsbCBrZXlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgdXNlciwgZGVjcnlwdHNcbiAgICogdGhlbSB3aXRoIHRoZSBvbGQgcGFzc3dvcmQgYW5kIHJlLWVuY3J5cHRzIHRoZW0gd2l0aCB0aGUgbmV3IHBhc3N3b3JkLlxuICAgKlxuICAgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgd2hlbiBhIHVzZXIgY2hhbmdlcyB0aGVpciBsb2dpbiBwYXNzd29yZCwgYW5kIGFyZSBleHBlY3RpbmdcbiAgICogdGhhdCB0aGVpciB3YWxsZXQgcGFzc3dvcmRzIGFyZSBjaGFuZ2VkIHRvIG1hdGNoIHRoZSBuZXcgbG9naW4gcGFzc3dvcmQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5vbGRQYXNzd29yZCAtIFRoZSBvbGQgcGFzc3dvcmQgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUga2V5XG4gICAqIEBwYXJhbSBwYXJhbXMubmV3UGFzc3dvcmQgLSBUaGUgbmV3IHBhc3N3b3JkIHRvIGJlIHVzZWQgZm9yIGVuY3J5cHRpbmcgdGhlIGtleVxuICAgKiBAcmV0dXJucyBjaGFuZ2VkS2V5cyBPYmplY3QgLSBlLmcuOlxuICAgKiAge1xuICAgKiAgICB4cHViMTogZW5jcnlwdGVkUHJ2LFxuICAgKiAgICAuLi5cbiAgICogIH1cbiAgICovXG4gIGFzeW5jIHVwZGF0ZVBhc3N3b3JkKHBhcmFtczogVXBkYXRlUGFzc3dvcmRPcHRpb25zKTogUHJvbWlzZTxDaGFuZ2VkS2V5Y2hhaW5zPiB7XG4gICAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgWydvbGRQYXNzd29yZCcsICduZXdQYXNzd29yZCddLCBbXSk7XG4gICAgY29uc3QgY2hhbmdlZEtleXM6IENoYW5nZWRLZXljaGFpbnMgPSB7fTtcbiAgICBsZXQgcHJldklkO1xuICAgIGxldCBrZXlzTGVmdCA9IHRydWU7XG4gICAgd2hpbGUgKGtleXNMZWZ0KSB7XG4gICAgICBjb25zdCByZXN1bHQ6IExpc3RLZXljaGFpbnNSZXN1bHQgPSBhd2FpdCB0aGlzLmxpc3QoeyBsaW1pdDogNTAwLCBwcmV2SWQgfSk7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiByZXN1bHQua2V5cykge1xuICAgICAgICBjb25zdCBvbGRFbmNyeXB0ZWRQcnYgPSBrZXkuZW5jcnlwdGVkUHJ2O1xuICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZChvbGRFbmNyeXB0ZWRQcnYpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkS2V5Y2hhaW4gPSB0aGlzLnVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmQoe1xuICAgICAgICAgICAga2V5Y2hhaW46IGtleSxcbiAgICAgICAgICAgIG9sZFBhc3N3b3JkOiBwYXJhbXMub2xkUGFzc3dvcmQsXG4gICAgICAgICAgICBuZXdQYXNzd29yZDogcGFyYW1zLm5ld1Bhc3N3b3JkLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmICh1cGRhdGVkS2V5Y2hhaW4uZW5jcnlwdGVkUHJ2KSB7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VkS2V5SWRlbnRpZmllciA9IHVwZGF0ZWRLZXljaGFpbi50eXBlID09PSAndHNzJyA/IHVwZGF0ZWRLZXljaGFpbi5pZCA6IHVwZGF0ZWRLZXljaGFpbi5wdWI7XG4gICAgICAgICAgICBpZiAoY2hhbmdlZEtleUlkZW50aWZpZXIpIHtcbiAgICAgICAgICAgICAgY2hhbmdlZEtleXNbY2hhbmdlZEtleUlkZW50aWZpZXJdID0gdXBkYXRlZEtleWNoYWluLmVuY3J5cHRlZFBydjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBpZiB0aGUgcGFzc3dvcmQgd2FzIGluY29ycmVjdCwgc2lsZW5jZSB0aGUgZXJyb3IsIHRocm93IG90aGVyd2lzZVxuICAgICAgICAgIGlmICghZS5tZXNzYWdlLmluY2x1ZGVzKCdwcml2YXRlIGtleSBpcyBpbmNvcnJlY3QnKSkge1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChyZXN1bHQubmV4dEJhdGNoUHJldklkKSB7XG4gICAgICAgIHByZXZJZCA9IHJlc3VsdC5uZXh0QmF0Y2hQcmV2SWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXlzTGVmdCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2hhbmdlZEtleXM7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBwYXNzd29yZCB1c2VkIHRvIGRlY3J5cHQgYSBzaW5nbGUga2V5Y2hhaW5cbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zLmtleWNoYWluIC0gVGhlIGtleWNoYWluIHdob3NlIHBhc3N3b3JkIHNob3VsZCBiZSB1cGRhdGVkXG4gICAqIEBwYXJhbSBwYXJhbXMub2xkUGFzc3dvcmQgLSBUaGUgb2xkIHBhc3N3b3JkIHVzZWQgZm9yIGVuY3J5cHRpbmcgdGhlIGtleVxuICAgKiBAcGFyYW0gcGFyYW1zLm5ld1Bhc3N3b3JkIC0gVGhlIG5ldyBwYXNzd29yZCB0byBiZSB1c2VkIGZvciBlbmNyeXB0aW5nIHRoZSBrZXlcbiAgICogQHJldHVybnMge29iamVjdH1cbiAgICovXG4gIHVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmQocGFyYW1zOiBVcGRhdGVTaW5nbGVLZXljaGFpblBhc3N3b3JkT3B0aW9ucyA9IHt9KTogS2V5Y2hhaW4ge1xuICAgIGlmICghXy5pc1N0cmluZyhwYXJhbXMub2xkUGFzc3dvcmQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIG9sZCBwYXNzd29yZCB0byBiZSBhIHN0cmluZycpO1xuICAgIH1cblxuICAgIGlmICghXy5pc1N0cmluZyhwYXJhbXMubmV3UGFzc3dvcmQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIG5ldyBwYXNzd29yZCB0byBiZSBhIHN0cmluZycpO1xuICAgIH1cblxuICAgIGlmICghXy5pc09iamVjdChwYXJhbXMua2V5Y2hhaW4pIHx8ICFfLmlzU3RyaW5nKHBhcmFtcy5rZXljaGFpbi5lbmNyeXB0ZWRQcnYpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2V4cGVjdGVkIGtleWNoYWluIHRvIGJlIGFuIG9iamVjdCB3aXRoIGFuIGVuY3J5cHRlZFBydiBwcm9wZXJ0eScpO1xuICAgIH1cblxuICAgIGNvbnN0IG9sZEVuY3J5cHRlZFBydiA9IHBhcmFtcy5rZXljaGFpbi5lbmNyeXB0ZWRQcnY7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY3J5cHRlZFBydiA9IHRoaXMuYml0Z28uZGVjcnlwdCh7IGlucHV0OiBvbGRFbmNyeXB0ZWRQcnYsIHBhc3N3b3JkOiBwYXJhbXMub2xkUGFzc3dvcmQgfSk7XG4gICAgICBjb25zdCBuZXdFbmNyeXB0ZWRQcnYgPSB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDogZGVjcnlwdGVkUHJ2LCBwYXNzd29yZDogcGFyYW1zLm5ld1Bhc3N3b3JkIH0pO1xuICAgICAgcmV0dXJuIF8uYXNzaWduKHt9LCBwYXJhbXMua2V5Y2hhaW4sIHsgZW5jcnlwdGVkUHJ2OiBuZXdFbmNyeXB0ZWRQcnYgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gY2F0Y2hpbmcgYW4gZXJyb3IgaGVyZSBtZWFucyB0aGF0IHRoZSBwYXNzd29yZCB3YXMgaW5jb3JyZWN0IG9yLCBsZXNzIGxpa2VseSwgdGhlIGlucHV0IHRvIGRlY3J5cHQgaXMgY29ycnVwdGVkXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Bhc3N3b3JkIHVzZWQgdG8gZGVjcnlwdCBrZXljaGFpbiBwcml2YXRlIGtleSBpcyBpbmNvcnJlY3QnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgcHVibGljL3ByaXZhdGUga2V5IHBhaXJcbiAgICogQHBhcmFtIHBhcmFtcyAtIG9wdGlvbmFsIHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zLnNlZWQgb3B0aW9uYWwgLSBzZWVkIHRvIHVzZSBmb3Iga2V5cGFpciBnZW5lcmF0aW9uXG4gICAqIEBwYXJhbSBwYXJhbXMuaXNSb290S2V5IG9wdGlvbmFsIC0gd2hldGhlciB0aGUgcmVzdWx0aW5nIGtleXBhaXIgc2hvdWxkIGJlIGEgcm9vdCBrZXlcbiAgICogQHJldHVybnMge0tleVBhaXJ9IC0gdGhlIGdlbmVyYXRlZCBrZXlwYWlyXG4gICAqL1xuICBjcmVhdGUocGFyYW1zOiB7IHNlZWQ/OiBCdWZmZXI7IGlzUm9vdEtleT86IGJvb2xlYW4gfSA9IHt9KTogS2V5UGFpciB7XG4gICAgaWYgKHBhcmFtcz8uaXNSb290S2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5iYXNlQ29pbi5nZW5lcmF0ZVJvb3RLZXlQYWlyKHBhcmFtcy5zZWVkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYmFzZUNvaW4uZ2VuZXJhdGVLZXlQYWlyKHBhcmFtcy5zZWVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBrZXljaGFpbiB0byBCaXRHbydzIHJlY29yZHNcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKi9cbiAgYXN5bmMgYWRkKHBhcmFtczogQWRkS2V5Y2hhaW5PcHRpb25zID0ge30pOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICAgIGNvbW1vbi52YWxpZGF0ZVBhcmFtcyhcbiAgICAgIHBhcmFtcyxcbiAgICAgIFtdLFxuICAgICAgW1xuICAgICAgICAncHViJyxcbiAgICAgICAgJ2VuY3J5cHRlZFBydicsXG4gICAgICAgICdrZXlUeXBlJyxcbiAgICAgICAgJ3R5cGUnLFxuICAgICAgICAnc291cmNlJyxcbiAgICAgICAgJ29yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZScsXG4gICAgICAgICdlbnRlcnByaXNlJyxcbiAgICAgICAgJ2Rlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQnLFxuICAgICAgXVxuICAgICk7XG5cbiAgICBpZiAoIV8uaXNVbmRlZmluZWQocGFyYW1zLmRpc2FibGVLUlNFbWFpbCkpIHtcbiAgICAgIGlmICghXy5pc0Jvb2xlYW4ocGFyYW1zLmRpc2FibGVLUlNFbWFpbCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGRpc2FibGVLUlNFbWFpbCBhcmd1bWVudCwgZXhwZWN0aW5nIGJvb2xlYW4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnJlcUlkKSB7XG4gICAgICB0aGlzLmJpdGdvLnNldFJlcXVlc3RUcmFjZXIocGFyYW1zLnJlcUlkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy5iYXNlQ29pbi51cmwoJy9rZXknKSlcbiAgICAgIC5zZW5kKHtcbiAgICAgICAgcHViOiBwYXJhbXMucHViLFxuICAgICAgICBjb21tb25QdWI6IHBhcmFtcy5jb21tb25QdWIsXG4gICAgICAgIGNvbW1vbktleWNoYWluOiBwYXJhbXMuY29tbW9uS2V5Y2hhaW4sXG4gICAgICAgIGVuY3J5cHRlZFBydjogcGFyYW1zLmVuY3J5cHRlZFBydixcbiAgICAgICAgdHlwZTogcGFyYW1zLnR5cGUsXG4gICAgICAgIGtleVR5cGU6IHBhcmFtcy5rZXlUeXBlLFxuICAgICAgICBzb3VyY2U6IHBhcmFtcy5zb3VyY2UsXG4gICAgICAgIHByb3ZpZGVyOiBwYXJhbXMucHJvdmlkZXIsXG4gICAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICAgICAgZW50ZXJwcmlzZTogcGFyYW1zLmVudGVycHJpc2UsXG4gICAgICAgIGRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQ6IHBhcmFtcy5kZXJpdmVkRnJvbVBhcmVudFdpdGhTZWVkLFxuICAgICAgICBkaXNhYmxlS1JTRW1haWw6IHBhcmFtcy5kaXNhYmxlS1JTRW1haWwsXG4gICAgICAgIGtyc1NwZWNpZmljOiBwYXJhbXMua3JzU3BlY2lmaWMsXG4gICAgICAgIGtleVNoYXJlczogcGFyYW1zLmtleVNoYXJlcyxcbiAgICAgICAgdXNlckdQR1B1YmxpY0tleTogcGFyYW1zLnVzZXJHUEdQdWJsaWNLZXksXG4gICAgICAgIGJhY2t1cEdQR1B1YmxpY0tleTogcGFyYW1zLmJhY2t1cEdQR1B1YmxpY0tleSxcbiAgICAgICAgYWxnb1VzZWQ6IHBhcmFtcy5hbGdvVXNlZCxcbiAgICAgICAgaXNEaXN0cmlidXRlZEN1c3RvZHk6IHBhcmFtcy5pc0Rpc3RyaWJ1dGVkQ3VzdG9keSxcbiAgICAgICAgaXNNUEN2MjogcGFyYW1zLmlzTVBDdjIsXG4gICAgICAgIGNvaW5TcGVjaWZpYzogcGFyYW1zLmNvaW5TcGVjaWZpYyxcbiAgICAgIH0pXG4gICAgICAucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgQml0R28ga2V5XG4gICAqIEBwYXJhbSBwYXJhbXMgKGVtcHR5KVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQml0R28ocGFyYW1zOiBDcmVhdGVCaXRHb09wdGlvbnMgPSB7fSk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBwYXJhbXMuc291cmNlID0gJ2JpdGdvJztcblxuICAgIHRoaXMuYmFzZUNvaW4ucHJlQ3JlYXRlQml0R28ocGFyYW1zIGFzIGFueSk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYWRkKHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgYmFja3VwIGtleVxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMucHJvdmlkZXIgKG9wdGlvbmFsKVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlQmFja3VwKHBhcmFtczogQ3JlYXRlQmFja3VwT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIHBhcmFtcy5zb3VyY2UgPSAnYmFja3VwJztcblxuICAgIGNvbnN0IGlzVHNzQmFja3VwS2V5ID0gcGFyYW1zLnBydiAmJiAocGFyYW1zLmNvbW1vbktleWNoYWluIHx8IHBhcmFtcy5jb21tb25QdWIpO1xuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQocGFyYW1zLnByb3ZpZGVyKSAmJiAhaXNUc3NCYWNrdXBLZXkpIHtcbiAgICAgIC8vIGlmIHRoZSBwcm92aWRlciBpcyB1bmRlZmluZWQsIHdlIGdlbmVyYXRlIGEgbG9jYWwga2V5IGFuZCBhZGQgdGhlIHNvdXJjZSBkZXRhaWxzXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLmNyZWF0ZSgpO1xuICAgICAgXy5leHRlbmQocGFyYW1zLCBrZXkpO1xuICAgICAgaWYgKHBhcmFtcy5wYXNzcGhyYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgXy5leHRlbmQocGFyYW1zLCB7IGVuY3J5cHRlZFBydjogdGhpcy5iaXRnby5lbmNyeXB0KHsgaW5wdXQ6IGtleS5wcnYsIHBhc3N3b3JkOiBwYXJhbXMucGFzc3BocmFzZSB9KSB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzZXJ2ZXJSZXNwb25zZSA9IGF3YWl0IHRoaXMuYWRkKHBhcmFtcyk7XG4gICAgcmV0dXJuIF8uZXh0ZW5kKHt9LCBzZXJ2ZXJSZXNwb25zZSwgXy5waWNrKHBhcmFtcywgWydwcnYnLCAnZW5jcnlwdGVkUHJ2JywgJ3Byb3ZpZGVyJywgJ3NvdXJjZSddKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBrZXlzIGZvciBzaWduaW5nIGZyb20gYSB3YWxsZXRcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxLZXljaGFpbltdPn1cbiAgICovXG4gIGFzeW5jIGdldEtleXNGb3JTaWduaW5nKHBhcmFtczogR2V0S2V5c0ZvclNpZ25pbmdPcHRpb25zID0ge30pOiBQcm9taXNlPEtleWNoYWluW10+IHtcbiAgICBpZiAoIV8uaXNPYmplY3QocGFyYW1zLndhbGxldCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSB3YWxsZXQnKTtcbiAgICB9XG4gICAgY29uc3Qgd2FsbGV0ID0gcGFyYW1zLndhbGxldDtcbiAgICBjb25zdCByZXFJZCA9IHBhcmFtcy5yZXFJZCB8fCBuZXcgUmVxdWVzdFRyYWNlcigpO1xuICAgIGNvbnN0IGlkcyA9IHdhbGxldC5iYXNlQ29pbi5rZXlJZHNGb3JTaWduaW5nKCk7XG4gICAgY29uc3Qga2V5Y2hhaW5RdWVyaWVzQmx1ZWJpcmRzID0gaWRzLm1hcCgoaWQpID0+IHRoaXMuZ2V0KHsgaWQ6IHdhbGxldC5rZXlJZHMoKVtpZF0sIHJlcUlkIH0pKTtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoa2V5Y2hhaW5RdWVyaWVzQmx1ZWJpcmRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBmdW5jdGlvbiB0byBjcmVhdGUgYW5kIHN0b3JlIE1QQyBrZXljaGFpbnMgd2l0aCBCaXRHby5cbiAgICogQHBhcmFtIHBhcmFtcyBwYXNzcGhyYXNlIHVzZWQgdG8gZW5jcnlwdCBzZWNyZXQgbWF0ZXJpYWxzXG4gICAqIEByZXR1cm4ge1Byb21pc2U8S2V5Y2hhaW5zVHJpcGxldD59IG5ld2x5IGNyZWF0ZWQgVXNlciwgQmFja3VwLCBhbmQgQml0R28ga2V5c1xuICAgKi9cbiAgYXN5bmMgY3JlYXRlTXBjKHBhcmFtczogQ3JlYXRlTXBjT3B0aW9ucyk6IFByb21pc2U8S2V5Y2hhaW5zVHJpcGxldD4ge1xuICAgIGxldCBNcGNVdGlscztcbiAgICBsZXQgbXVsdGlzaWdUeXBlVmVyc2lvbjogJ01QQ3YyJyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAocGFyYW1zLm11bHRpc2lnVHlwZSA9PT0gJ3RzcycgJiYgdGhpcy5iYXNlQ29pbi5nZXRNUENBbGdvcml0aG0oKSA9PT0gJ2VjZHNhJykge1xuICAgICAgY29uc3QgdHNzU2V0dGluZ3M6IFRzc1NldHRpbmdzID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgICAuZ2V0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCgnL2FwaS92Mi90c3Mvc2V0dGluZ3MnKSlcbiAgICAgICAgLnJlc3VsdCgpO1xuICAgICAgbXVsdGlzaWdUeXBlVmVyc2lvbiA9XG4gICAgICAgIHRzc1NldHRpbmdzLmNvaW5TZXR0aW5nc1t0aGlzLmJhc2VDb2luLmdldEZhbWlseSgpXT8ud2FsbGV0Q3JlYXRpb25TZXR0aW5ncz8ubXVsdGlTaWdUeXBlVmVyc2lvbjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHBhcmFtcy5tdWx0aXNpZ1R5cGUpIHtcbiAgICAgIGNhc2UgJ3Rzcyc6XG4gICAgICAgIE1wY1V0aWxzID1cbiAgICAgICAgICB0aGlzLmJhc2VDb2luLmdldE1QQ0FsZ29yaXRobSgpID09PSAnZWRkc2EnXG4gICAgICAgICAgICA/IEVERFNBVXRpbHMuZGVmYXVsdFxuICAgICAgICAgICAgOiBtdWx0aXNpZ1R5cGVWZXJzaW9uID09PSAnTVBDdjInXG4gICAgICAgICAgICA/IEVDRFNBVXRpbHMuRWNkc2FNUEN2MlV0aWxzXG4gICAgICAgICAgICA6IEVDRFNBVXRpbHMuRWNkc2FVdGlscztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdibHNka2cnOlxuICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZChwYXJhbXMucGFzc3BocmFzZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gcGFzc3BocmFzZScpO1xuICAgICAgICB9XG4gICAgICAgIE1wY1V0aWxzID0gQmxzVXRpbHM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBtdWx0aS1zaWcgdHlwZScpO1xuICAgIH1cbiAgICBjb25zdCBtcGNVdGlscyA9IG5ldyBNcGNVdGlscyh0aGlzLmJpdGdvLCB0aGlzLmJhc2VDb2luKTtcbiAgICByZXR1cm4gYXdhaXQgbXBjVXRpbHMuY3JlYXRlS2V5Y2hhaW5zKHtcbiAgICAgIHBhc3NwaHJhc2U6IHBhcmFtcy5wYXNzcGhyYXNlLFxuICAgICAgZW50ZXJwcmlzZTogcGFyYW1zLmVudGVycHJpc2UsXG4gICAgICBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGU6IHBhcmFtcy5vcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUsXG4gICAgICBiYWNrdXBQcm92aWRlcjogcGFyYW1zLmJhY2t1cFByb3ZpZGVyLFxuICAgICAgcmV0cm9maXQ6IHBhcmFtcy5yZXRyb2ZpdCxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlY3JlYXRlTXBjKHBhcmFtczogUmVjcmVhdGVNcGNPcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgYXNzZXJ0KHBhcmFtcy5jb2luLCBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gY29pbicpKTtcbiAgICBhc3NlcnQocGFyYW1zLndhbGxldElkLCBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gd2FsbGV0SWQnKSk7XG4gICAgYXNzZXJ0KHBhcmFtcy5vdHAsIG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBvdHAnKSk7XG4gICAgYXNzZXJ0KHBhcmFtcy5wYXNzcGhyYXNlLCBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gcGFzc3BocmFzZScpKTtcblxuICAgIGFzc2VydChcbiAgICAgIHBhcmFtcy5lbmNyeXB0ZWRNYXRlcmlhbC5lbmNyeXB0ZWRXYWxsZXRQYXNzcGhyYXNlLFxuICAgICAgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIGVuY3J5cHRlZFdhbGxldFBhc3NwaHJhc2UnKVxuICAgICk7XG4gICAgYXNzZXJ0KHBhcmFtcy5lbmNyeXB0ZWRNYXRlcmlhbC5lbmNyeXB0ZWRVc2VyS2V5LCBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gZW5jcnlwdGVkVXNlcktleScpKTtcbiAgICBhc3NlcnQocGFyYW1zLmVuY3J5cHRlZE1hdGVyaWFsLmVuY3J5cHRlZEJhY2t1cEtleSwgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIGVuY3J5cHRlZEJhY2t1cEtleScpKTtcblxuICAgIGF3YWl0IHRoaXMuYml0Z28ucG9zdCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoJy9hcGkvdjEvdXNlci91bmxvY2snKSkuc2VuZCh7IG90cDogcGFyYW1zLm90cCB9KS5yZXN1bHQoKTtcbiAgICBjb25zdCB7IHJlY292ZXJ5SW5mbyB9ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLnBvc3QodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKGAvYXBpL3YyLyR7cGFyYW1zLmNvaW59L3dhbGxldC8ke3BhcmFtcy53YWxsZXRJZH0vcGFzc2NvZGVyZWNvdmVyeWApKVxuICAgICAgLnJlc3VsdCgpO1xuXG4gICAgaWYgKCFyZWNvdmVyeUluZm8gfHwgISgncGFzc2NvZGVFbmNyeXB0aW9uQ29kZScgaW4gcmVjb3ZlcnlJbmZvKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdmYWlsZWQgdG8gZ2V0IHJlY292ZXJ5IGluZm8nKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWNyeXB0ZWRXYWxsZXRQYXNzcGhyYXNlID0gdGhpcy5iaXRnby5kZWNyeXB0KHtcbiAgICAgIGlucHV0OiBwYXJhbXMuZW5jcnlwdGVkTWF0ZXJpYWwuZW5jcnlwdGVkV2FsbGV0UGFzc3BocmFzZSxcbiAgICAgIHBhc3N3b3JkOiByZWNvdmVyeUluZm8ucGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlY3J5cHRlZFVzZXJLZXkgPSB0aGlzLmJpdGdvLmRlY3J5cHQoe1xuICAgICAgaW5wdXQ6IHBhcmFtcy5lbmNyeXB0ZWRNYXRlcmlhbC5lbmNyeXB0ZWRVc2VyS2V5LFxuICAgICAgcGFzc3dvcmQ6IGRlY3J5cHRlZFdhbGxldFBhc3NwaHJhc2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZWNyeXB0ZWRCYWNrdXBLZXkgPSB0aGlzLmJpdGdvLmRlY3J5cHQoe1xuICAgICAgaW5wdXQ6IHBhcmFtcy5lbmNyeXB0ZWRNYXRlcmlhbC5lbmNyeXB0ZWRCYWNrdXBLZXksXG4gICAgICBwYXNzd29yZDogZGVjcnlwdGVkV2FsbGV0UGFzc3BocmFzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLmNyZWF0ZU1wYyh7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBtdWx0aXNpZ1R5cGU6ICd0c3MnLFxuICAgICAgcmV0cm9maXQ6IHtcbiAgICAgICAgZGVjcnlwdGVkVXNlcktleSxcbiAgICAgICAgZGVjcnlwdGVkQmFja3VwS2V5LFxuICAgICAgICB3YWxsZXRJZDogcGFyYW1zLndhbGxldElkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBwYXJzZXMgdGhlIEpTT04gZG93bmxvYWRlZCBmcm9tIHRoZSBPVkMgZm9yIHBsYXRmb3JtIChCaXRHbyksXG4gICAqIGFuZCBjcmVhdGVzIGEgY29ycmVzcG9uZGluZyBUU1MgQml0R28ga2V5LiBJdCBhbHNvIHJldHVybnMgdGhlIEpTT04gdGhhdCBuZWVkc1xuICAgKiB0byBiZSB1cGxvYWRlZCBiYWNrIHRvIHRoZSBPVkNzIGNvbnRhaW5pbmcgdGhlIEJpdEdvIC0+IE9WQyBzaGFyZXMuXG4gICAqIEBwYXJhbSBvdmNPdXRwdXRKc29uIEpTT04gZm9ybWF0IG9mIHRoZSBmaWxlIGRvd25sb2FkZWQgZnJvbSB0aGUgT1ZDIGZvciBwbGF0Zm9ybVxuICAgKiBAcmV0dXJucyB7Qml0R29LZXlGcm9tT3ZjU2hhcmVzfVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlVHNzQml0R29LZXlGcm9tT3ZjU2hhcmVzKG92Y091dHB1dEpzb246IHVua25vd24pOiBQcm9taXNlPEJpdEdvS2V5RnJvbU92Y1NoYXJlcz4ge1xuICAgIGNvbnN0IGRlY29kZWRPdmNPdXRwdXQgPSBkZWNvZGVPckVsc2UoT3ZjVG9CaXRHb0pTT04ubmFtZSwgT3ZjVG9CaXRHb0pTT04sIG92Y091dHB1dEpzb24sIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IocykgcGFyc2luZyBPVkMgSlNPTjogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG5cbiAgICBpZiAoZGVjb2RlZE92Y091dHB1dC5zdGF0ZSAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdGF0ZSBleHBlY3RlZCB0byBiZSBcIjFcIi4gUGxlYXNlIGNvbXBsZXRlIHRoZSBmaXJzdCB0d28gT1ZDIG9wZXJhdGlvbnMnKTtcbiAgICB9XG5cbiAgICAvLyBPVkMtMSBpcyByZXNwb25zaWJsZSBmb3IgdGhlIFVzZXIga2V5XG4gICAgY29uc3Qgb3ZjMSA9IGRlY29kZWRPdmNPdXRwdXQub3ZjWzFdO1xuICAgIC8vIE9WQy0yIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgQmFja3VwIGtleVxuICAgIGNvbnN0IG92YzIgPSBkZWNvZGVkT3ZjT3V0cHV0Lm92Y1syXTtcblxuICAgIGNvbnN0IGtleVNoYXJlczogQXBpS2V5U2hhcmVbXSA9IFtcbiAgICAgIHtcbiAgICAgICAgZnJvbTogJ3VzZXInLFxuICAgICAgICB0bzogJ2JpdGdvJyxcbiAgICAgICAgcHVibGljU2hhcmU6IG92YzEub3ZjVG9CaXRnb1NoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICBwcml2YXRlU2hhcmU6IG92YzEub3ZjVG9CaXRnb1NoYXJlLnByaXZhdGVTaGFyZSxcbiAgICAgICAgcHJpdmF0ZVNoYXJlUHJvb2Y6IG92YzEub3ZjVG9CaXRnb1NoYXJlLnVTaWcudG9TdHJpbmcoKSA/PyAnJyxcbiAgICAgICAgdnNzUHJvb2Y6IG92YzEub3ZjVG9CaXRnb1NoYXJlLnZzc1Byb29mID8/ICcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZnJvbTogJ2JhY2t1cCcsXG4gICAgICAgIHRvOiAnYml0Z28nLFxuICAgICAgICBwdWJsaWNTaGFyZTogb3ZjMi5vdmNUb0JpdGdvU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgIHByaXZhdGVTaGFyZTogb3ZjMi5vdmNUb0JpdGdvU2hhcmUucHJpdmF0ZVNoYXJlLFxuICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogb3ZjMi5vdmNUb0JpdGdvU2hhcmUudVNpZy50b1N0cmluZygpID8/ICcnLFxuICAgICAgICB2c3NQcm9vZjogb3ZjMi5vdmNUb0JpdGdvU2hhcmUudnNzUHJvb2YgPz8gJycsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBrZXkgPSBhd2FpdCB0aGlzLmJhc2VDb2luLmtleWNoYWlucygpLmFkZCh7XG4gICAgICBzb3VyY2U6ICdiaXRnbycsXG4gICAgICBrZXlTaGFyZXMsXG4gICAgICBrZXlUeXBlOiAndHNzJyxcbiAgICAgIHVzZXJHUEdQdWJsaWNLZXk6IG92YzEuZ3BnUHViS2V5LFxuICAgICAgYmFja3VwR1BHUHVibGljS2V5OiBvdmMyLmdwZ1B1YktleSxcbiAgICB9KTtcbiAgICBhc3NlcnQoa2V5LmtleVNoYXJlcyk7XG4gICAgYXNzZXJ0KGtleS5jb21tb25LZXljaGFpbik7XG4gICAgYXNzZXJ0KGtleS53YWxsZXRIU01HUEdQdWJsaWNLZXlTaWdzKTtcblxuICAgIGNvbnN0IGJpdGdvVG9Vc2VyU2hhcmUgPSBrZXkua2V5U2hhcmVzLmZpbmQoXG4gICAgICAodmFsdWU6IHsgZnJvbTogc3RyaW5nOyB0bzogc3RyaW5nIH0pID0+IHZhbHVlLmZyb20gPT09ICdiaXRnbycgJiYgdmFsdWUudG8gPT09ICd1c2VyJ1xuICAgICk7XG4gICAgYXNzZXJ0KGJpdGdvVG9Vc2VyU2hhcmUpO1xuICAgIGFzc2VydChiaXRnb1RvVXNlclNoYXJlLnZzc1Byb29mKTtcbiAgICBhc3NlcnQoYml0Z29Ub1VzZXJTaGFyZS5wYWlsbGllclB1YmxpY0tleSk7XG4gICAgY29uc3QgYml0Z29Ub0JhY2t1cFNoYXJlID0ga2V5LmtleVNoYXJlcy5maW5kKFxuICAgICAgKHZhbHVlOiB7IGZyb206IHN0cmluZzsgdG86IHN0cmluZyB9KSA9PiB2YWx1ZS5mcm9tID09PSAnYml0Z28nICYmIHZhbHVlLnRvID09PSAnYmFja3VwJ1xuICAgICk7XG4gICAgYXNzZXJ0KGJpdGdvVG9CYWNrdXBTaGFyZSk7XG4gICAgYXNzZXJ0KGJpdGdvVG9CYWNrdXBTaGFyZS52c3NQcm9vZik7XG4gICAgYXNzZXJ0KGJpdGdvVG9CYWNrdXBTaGFyZS5wYWlsbGllclB1YmxpY0tleSk7XG5cbiAgICAvLyBDcmVhdGUgSlNPTiBkYXRhIHdpdGggcGxhdGZvcm0gc2hhcmVzIGZvciBPVkMtMSBhbmQgT1ZDLTJcbiAgICBjb25zdCBiaXRnb1RvT3ZjT3V0cHV0OiBCaXRHb1RvT3ZjSlNPTiA9IHtcbiAgICAgIHdhbGxldDoge1xuICAgICAgICAuLi5kZWNvZGVkT3ZjT3V0cHV0LFxuICAgICAgICBwbGF0Zm9ybToge1xuICAgICAgICAgIGNvbW1vbktleWNoYWluOiBrZXkuY29tbW9uS2V5Y2hhaW4sXG4gICAgICAgICAgd2FsbGV0R3BnUHViS2V5U2lnczoga2V5LndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MsXG4gICAgICAgICAgb3ZjOiB7XG4gICAgICAgICAgICAvLyBCaXRHbyB0byBVc2VyIChPVkMtMSlcbiAgICAgICAgICAgIDE6IHtcbiAgICAgICAgICAgICAgYml0Z29Ub092Y1NoYXJlOiB7XG4gICAgICAgICAgICAgICAgaTogMSxcbiAgICAgICAgICAgICAgICBqOiAzLFxuICAgICAgICAgICAgICAgIHB1YmxpY1NoYXJlOiBiaXRnb1RvVXNlclNoYXJlLnB1YmxpY1NoYXJlLFxuICAgICAgICAgICAgICAgIHByaXZhdGVTaGFyZTogYml0Z29Ub1VzZXJTaGFyZS5wcml2YXRlU2hhcmUsXG4gICAgICAgICAgICAgICAgcGFpbGxpZXJQdWJsaWNLZXk6IGJpdGdvVG9Vc2VyU2hhcmUucGFpbGxpZXJQdWJsaWNLZXksXG4gICAgICAgICAgICAgICAgdnNzUHJvb2Y6IGJpdGdvVG9Vc2VyU2hhcmUudnNzUHJvb2YsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gQml0R28gdG8gQmFja3VwIChPVkMtMilcbiAgICAgICAgICAgIDI6IHtcbiAgICAgICAgICAgICAgYml0Z29Ub092Y1NoYXJlOiB7XG4gICAgICAgICAgICAgICAgaTogMixcbiAgICAgICAgICAgICAgICBqOiAzLFxuICAgICAgICAgICAgICAgIHB1YmxpY1NoYXJlOiBiaXRnb1RvQmFja3VwU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZVNoYXJlOiBiaXRnb1RvQmFja3VwU2hhcmUucHJpdmF0ZVNoYXJlLFxuICAgICAgICAgICAgICAgIHBhaWxsaWVyUHVibGljS2V5OiBiaXRnb1RvQmFja3VwU2hhcmUucGFpbGxpZXJQdWJsaWNLZXksXG4gICAgICAgICAgICAgICAgdnNzUHJvb2Y6IGJpdGdvVG9CYWNrdXBTaGFyZS52c3NQcm9vZixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIE1hcmsgaXQgcmVhZHkgZm9yIG5leHQgb3BlcmF0aW9uLCBzaG91bGQgYmUgMlxuICAgIGJpdGdvVG9PdmNPdXRwdXQud2FsbGV0LnN0YXRlICs9IDE7XG5cbiAgICBjb25zdCBvdXRwdXQ6IEJpdEdvS2V5RnJvbU92Y1NoYXJlcyA9IHtcbiAgICAgIGJpdEdvS2V5SWQ6IGtleS5pZCxcbiAgICAgIGJpdEdvT3V0cHV0SnNvbkZvck92YzogYml0Z29Ub092Y091dHB1dCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShCaXRHb0tleUZyb21PdmNTaGFyZXMubmFtZSwgQml0R29LZXlGcm9tT3ZjU2hhcmVzLCBvdXRwdXQsIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgcHJvZHVjaW5nIHRoZSBvdXRwdXQ6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBrZXljaGFpbiBmb3Igb2ZjIHdhbGxldCB1c2luZyB0aGUgcGFzc3dvcmRcbiAgICogQHBhcmFtIHVzZXJQYXNzd29yZFxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgYXN5bmMgY3JlYXRlVXNlcktleWNoYWluKHVzZXJQYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIGNvbnN0IGtleWNoYWlucyA9IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCk7XG4gICAgY29uc3QgbmV3S2V5Y2hhaW4gPSBrZXljaGFpbnMuY3JlYXRlKCk7XG4gICAgY29uc3Qgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlID0gZ2VuZXJhdGVSYW5kb21QYXNzd29yZCg1KTtcblxuICAgIGNvbnN0IGVuY3J5cHRlZFBydiA9IHRoaXMuYml0Z28uZW5jcnlwdCh7XG4gICAgICBwYXNzd29yZDogdXNlclBhc3N3b3JkLFxuICAgICAgaW5wdXQ6IG5ld0tleWNoYWluLnBydixcbiAgICB9KTtcblxuICAgIHJldHVybiBhd2FpdCBrZXljaGFpbnMuYWRkKHtcbiAgICAgIGVuY3J5cHRlZFBydixcbiAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICAgIHB1YjogbmV3S2V5Y2hhaW4ucHViLFxuICAgICAgc291cmNlOiAndXNlcicsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
487
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2hhaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2tleWNoYWluL2tleWNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxvREFBNEI7QUFDNUIsMENBQTRCO0FBQzVCLHFEQUF1QztBQUd2QyxvQ0FBaUg7QUFrQmpILGlEQUF1RjtBQUV2RixNQUFhLFNBQVM7SUFJcEIsWUFBWSxLQUFnQixFQUFFLFFBQW1CO1FBQy9DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUEwQjtRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3JCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1RixD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TSxNQUFNLEdBQTBCO1lBQ3BDLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUNsQixxQkFBcUIsRUFBRSxnQkFBZ0I7U0FDeEMsQ0FBQztRQUVGLE9BQU8sSUFBQSxvQkFBWSxFQUFDLG9DQUFxQixDQUFDLElBQUksRUFBRSxvQ0FBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN4RixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsWUFBb0I7UUFDM0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkMsTUFBTSw4QkFBOEIsR0FBRyxJQUFBLDhCQUFzQixFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3RDLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLEtBQUssRUFBRSxXQUFXLENBQUMsR0FBRztTQUN2QixDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN6QixZQUFZO1lBQ1osOEJBQThCO1lBQzlCLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztZQUNwQixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQS9lRCw4QkErZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUc3NTZXR0aW5ncyB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICogYXMgY29tbW9uIGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBJQmFzZUNvaW4sIEtleWNoYWluc1RyaXBsZXQsIEtleVBhaXIgfSBmcm9tICcuLi9iYXNlQ29pbic7XG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgQmxzVXRpbHMsIGRlY29kZU9yRWxzZSwgRUNEU0FVdGlscywgRUREU0FVdGlscywgZ2VuZXJhdGVSYW5kb21QYXNzd29yZCwgUmVxdWVzdFRyYWNlciB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7XG4gIEFkZEtleWNoYWluT3B0aW9ucyxcbiAgQXBpS2V5U2hhcmUsXG4gIENoYW5nZWRLZXljaGFpbnMsXG4gIENyZWF0ZUJhY2t1cE9wdGlvbnMsXG4gIENyZWF0ZUJpdEdvT3B0aW9ucyxcbiAgQ3JlYXRlTXBjT3B0aW9ucyxcbiAgR2V0S2V5Y2hhaW5PcHRpb25zLFxuICBHZXRLZXlzRm9yU2lnbmluZ09wdGlvbnMsXG4gIElLZXljaGFpbnMsXG4gIEtleWNoYWluLFxuICBMaXN0S2V5Y2hhaW5PcHRpb25zLFxuICBMaXN0S2V5Y2hhaW5zUmVzdWx0LFxuICBSZWNyZWF0ZU1wY09wdGlvbnMsXG4gIFVwZGF0ZVBhc3N3b3JkT3B0aW9ucyxcbiAgVXBkYXRlU2luZ2xlS2V5Y2hhaW5QYXNzd29yZE9wdGlvbnMsXG59IGZyb20gJy4vaUtleWNoYWlucyc7XG5pbXBvcnQgeyBCaXRHb0tleUZyb21PdmNTaGFyZXMsIEJpdEdvVG9PdmNKU09OLCBPdmNUb0JpdEdvSlNPTiB9IGZyb20gJy4vb3ZjSnNvbkNvZGVjJztcblxuZXhwb3J0IGNsYXNzIEtleWNoYWlucyBpbXBsZW1lbnRzIElLZXljaGFpbnMge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZUNvaW46IElCYXNlQ29pbjtcblxuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBiYXNlQ29pbjogSUJhc2VDb2luKSB7XG4gICAgdGhpcy5iaXRnbyA9IGJpdGdvO1xuICAgIHRoaXMuYmFzZUNvaW4gPSBiYXNlQ29pbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBrZXljaGFpbiBieSBJRFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMuaWRcbiAgICogQHBhcmFtIHBhcmFtcy54cHViIChvcHRpb25hbClcbiAgICogQHBhcmFtIHBhcmFtcy5ldGhBZGRyZXNzIChvcHRpb25hbClcbiAgICogQHBhcmFtIHBhcmFtcy5yZXFJZCAob3B0aW9uYWwpXG4gICAqL1xuICBhc3luYyBnZXQocGFyYW1zOiBHZXRLZXljaGFpbk9wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKHBhcmFtcywgW10sIFsneHB1YicsICdldGhBZGRyZXNzJ10pO1xuXG4gICAgaWYgKF8uaXNVbmRlZmluZWQocGFyYW1zLmlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpZCBtdXN0IGJlIGRlZmluZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBpZCA9IHBhcmFtcy5pZDtcbiAgICBpZiAocGFyYW1zLnJlcUlkKSB7XG4gICAgICB0aGlzLmJpdGdvLnNldFJlcXVlc3RUcmFjZXIocGFyYW1zLnJlcUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYml0Z28uZ2V0KHRoaXMuYmFzZUNvaW4udXJsKCcva2V5LycgKyBlbmNvZGVVUklDb21wb25lbnQoaWQpKSkucmVzdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogbGlzdCB0aGUgdXNlcnMga2V5Y2hhaW5zXG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5saW1pdCAtIE1heCBudW1iZXIgb2YgcmVzdWx0cyBpbiBhIHNpbmdsZSBjYWxsLlxuICAgKiBAcGFyYW0gcGFyYW1zLnByZXZJZCAtIENvbnRpbnVlIGl0ZXJhdGluZyAocHJvdmlkZWQgYnkgbmV4dEJhdGNoUHJldklkIGluIHRoZSBwcmV2aW91cyBsaXN0KVxuICAgKiBAcmV0dXJucyB7Kn1cbiAgICovXG4gIGFzeW5jIGxpc3QocGFyYW1zOiBMaXN0S2V5Y2hhaW5PcHRpb25zID0ge30pOiBQcm9taXNlPExpc3RLZXljaGFpbnNSZXN1bHQ+IHtcbiAgICBjb25zdCBxdWVyeU9iamVjdDogYW55ID0ge307XG5cbiAgICBpZiAoIV8uaXNVbmRlZmluZWQocGFyYW1zLmxpbWl0KSkge1xuICAgICAgaWYgKCFfLmlzTnVtYmVyKHBhcmFtcy5saW1pdCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxpbWl0IGFyZ3VtZW50LCBleHBlY3RpbmcgbnVtYmVyJyk7XG4gICAgICB9XG4gICAgICBxdWVyeU9iamVjdC5saW1pdCA9IHBhcmFtcy5saW1pdDtcbiAgICB9XG4gICAgaWYgKCFfLmlzVW5kZWZpbmVkKHBhcmFtcy5wcmV2SWQpKSB7XG4gICAgICBpZiAoIV8uaXNTdHJpbmcocGFyYW1zLnByZXZJZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHByZXZJZCBhcmd1bWVudCwgZXhwZWN0aW5nIHN0cmluZycpO1xuICAgICAgfVxuICAgICAgcXVlcnlPYmplY3QucHJldklkID0gcGFyYW1zLnByZXZJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5iaXRnby5nZXQodGhpcy5iYXNlQ29pbi51cmwoJy9rZXknKSkucXVlcnkocXVlcnlPYmplY3QpLnJlc3VsdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSB0aGUgZGVjcnlwdGlvbiBwYXNzd29yZCBmb3IgYWxsIHBvc3NpYmxlIGtleWNoYWlucyBhc3NvY2lhdGVkIHdpdGggYSB1c2VyLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGl0ZXJhdGVzIHRocm91Z2ggYWxsIGtleXMgYXNzb2NpYXRlZCB3aXRoIHRoZSB1c2VyLCBkZWNyeXB0c1xuICAgKiB0aGVtIHdpdGggdGhlIG9sZCBwYXNzd29yZCBhbmQgcmUtZW5jcnlwdHMgdGhlbSB3aXRoIHRoZSBuZXcgcGFzc3dvcmQuXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIGEgdXNlciBjaGFuZ2VzIHRoZWlyIGxvZ2luIHBhc3N3b3JkLCBhbmQgYXJlIGV4cGVjdGluZ1xuICAgKiB0aGF0IHRoZWlyIHdhbGxldCBwYXNzd29yZHMgYXJlIGNoYW5nZWQgdG8gbWF0Y2ggdGhlIG5ldyBsb2dpbiBwYXNzd29yZC5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtc1xuICAgKiBAcGFyYW0gcGFyYW1zLm9sZFBhc3N3b3JkIC0gVGhlIG9sZCBwYXNzd29yZCB1c2VkIGZvciBlbmNyeXB0aW5nIHRoZSBrZXlcbiAgICogQHBhcmFtIHBhcmFtcy5uZXdQYXNzd29yZCAtIFRoZSBuZXcgcGFzc3dvcmQgdG8gYmUgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUga2V5XG4gICAqIEByZXR1cm5zIGNoYW5nZWRLZXlzIE9iamVjdCAtIGUuZy46XG4gICAqICB7XG4gICAqICAgIHhwdWIxOiBlbmNyeXB0ZWRQcnYsXG4gICAqICAgIC4uLlxuICAgKiAgfVxuICAgKi9cbiAgYXN5bmMgdXBkYXRlUGFzc3dvcmQocGFyYW1zOiBVcGRhdGVQYXNzd29yZE9wdGlvbnMpOiBQcm9taXNlPENoYW5nZWRLZXljaGFpbnM+IHtcbiAgICBjb21tb24udmFsaWRhdGVQYXJhbXMocGFyYW1zLCBbJ29sZFBhc3N3b3JkJywgJ25ld1Bhc3N3b3JkJ10sIFtdKTtcbiAgICBjb25zdCBjaGFuZ2VkS2V5czogQ2hhbmdlZEtleWNoYWlucyA9IHt9O1xuICAgIGxldCBwcmV2SWQ7XG4gICAgbGV0IGtleXNMZWZ0ID0gdHJ1ZTtcbiAgICB3aGlsZSAoa2V5c0xlZnQpIHtcbiAgICAgIGNvbnN0IHJlc3VsdDogTGlzdEtleWNoYWluc1Jlc3VsdCA9IGF3YWl0IHRoaXMubGlzdCh7IGxpbWl0OiA1MDAsIHByZXZJZCB9KTtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIHJlc3VsdC5rZXlzKSB7XG4gICAgICAgIGNvbnN0IG9sZEVuY3J5cHRlZFBydiA9IGtleS5lbmNyeXB0ZWRQcnY7XG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKG9sZEVuY3J5cHRlZFBydikpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRLZXljaGFpbiA9IHRoaXMudXBkYXRlU2luZ2xlS2V5Y2hhaW5QYXNzd29yZCh7XG4gICAgICAgICAgICBrZXljaGFpbjoga2V5LFxuICAgICAgICAgICAgb2xkUGFzc3dvcmQ6IHBhcmFtcy5vbGRQYXNzd29yZCxcbiAgICAgICAgICAgIG5ld1Bhc3N3b3JkOiBwYXJhbXMubmV3UGFzc3dvcmQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKHVwZGF0ZWRLZXljaGFpbi5lbmNyeXB0ZWRQcnYpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZWRLZXlJZGVudGlmaWVyID0gdXBkYXRlZEtleWNoYWluLnR5cGUgPT09ICd0c3MnID8gdXBkYXRlZEtleWNoYWluLmlkIDogdXBkYXRlZEtleWNoYWluLnB1YjtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VkS2V5SWRlbnRpZmllcikge1xuICAgICAgICAgICAgICBjaGFuZ2VkS2V5c1tjaGFuZ2VkS2V5SWRlbnRpZmllcl0gPSB1cGRhdGVkS2V5Y2hhaW4uZW5jcnlwdGVkUHJ2O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIGlmIHRoZSBwYXNzd29yZCB3YXMgaW5jb3JyZWN0LCBzaWxlbmNlIHRoZSBlcnJvciwgdGhyb3cgb3RoZXJ3aXNlXG4gICAgICAgICAgaWYgKCFlLm1lc3NhZ2UuaW5jbHVkZXMoJ3ByaXZhdGUga2V5IGlzIGluY29ycmVjdCcpKSB7XG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdC5uZXh0QmF0Y2hQcmV2SWQpIHtcbiAgICAgICAgcHJldklkID0gcmVzdWx0Lm5leHRCYXRjaFByZXZJZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGtleXNMZWZ0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjaGFuZ2VkS2V5cztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIHBhc3N3b3JkIHVzZWQgdG8gZGVjcnlwdCBhIHNpbmdsZSBrZXljaGFpblxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMua2V5Y2hhaW4gLSBUaGUga2V5Y2hhaW4gd2hvc2UgcGFzc3dvcmQgc2hvdWxkIGJlIHVwZGF0ZWRcbiAgICogQHBhcmFtIHBhcmFtcy5vbGRQYXNzd29yZCAtIFRoZSBvbGQgcGFzc3dvcmQgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUga2V5XG4gICAqIEBwYXJhbSBwYXJhbXMubmV3UGFzc3dvcmQgLSBUaGUgbmV3IHBhc3N3b3JkIHRvIGJlIHVzZWQgZm9yIGVuY3J5cHRpbmcgdGhlIGtleVxuICAgKiBAcmV0dXJucyB7b2JqZWN0fVxuICAgKi9cbiAgdXBkYXRlU2luZ2xlS2V5Y2hhaW5QYXNzd29yZChwYXJhbXM6IFVwZGF0ZVNpbmdsZUtleWNoYWluUGFzc3dvcmRPcHRpb25zID0ge30pOiBLZXljaGFpbiB7XG4gICAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtcy5vbGRQYXNzd29yZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgb2xkIHBhc3N3b3JkIHRvIGJlIGEgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtcy5uZXdQYXNzd29yZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQgbmV3IHBhc3N3b3JkIHRvIGJlIGEgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgaWYgKCFfLmlzT2JqZWN0KHBhcmFtcy5rZXljaGFpbikgfHwgIV8uaXNTdHJpbmcocGFyYW1zLmtleWNoYWluLmVuY3J5cHRlZFBydikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZXhwZWN0ZWQga2V5Y2hhaW4gdG8gYmUgYW4gb2JqZWN0IHdpdGggYW4gZW5jcnlwdGVkUHJ2IHByb3BlcnR5Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb2xkRW5jcnlwdGVkUHJ2ID0gcGFyYW1zLmtleWNoYWluLmVuY3J5cHRlZFBydjtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVjcnlwdGVkUHJ2ID0gdGhpcy5iaXRnby5kZWNyeXB0KHsgaW5wdXQ6IG9sZEVuY3J5cHRlZFBydiwgcGFzc3dvcmQ6IHBhcmFtcy5vbGRQYXNzd29yZCB9KTtcbiAgICAgIGNvbnN0IG5ld0VuY3J5cHRlZFBydiA9IHRoaXMuYml0Z28uZW5jcnlwdCh7IGlucHV0OiBkZWNyeXB0ZWRQcnYsIHBhc3N3b3JkOiBwYXJhbXMubmV3UGFzc3dvcmQgfSk7XG4gICAgICByZXR1cm4gXy5hc3NpZ24oe30sIHBhcmFtcy5rZXljaGFpbiwgeyBlbmNyeXB0ZWRQcnY6IG5ld0VuY3J5cHRlZFBydiB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBjYXRjaGluZyBhbiBlcnJvciBoZXJlIG1lYW5zIHRoYXQgdGhlIHBhc3N3b3JkIHdhcyBpbmNvcnJlY3Qgb3IsIGxlc3MgbGlrZWx5LCB0aGUgaW5wdXQgdG8gZGVjcnlwdCBpcyBjb3JydXB0ZWRcbiAgICAgIHRocm93IG5ldyBFcnJvcigncGFzc3dvcmQgdXNlZCB0byBkZWNyeXB0IGtleWNoYWluIHByaXZhdGUga2V5IGlzIGluY29ycmVjdCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBwdWJsaWMvcHJpdmF0ZSBrZXkgcGFpclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gb3B0aW9uYWwgcGFyYW1zXG4gICAqIEBwYXJhbSBwYXJhbXMuc2VlZCBvcHRpb25hbCAtIHNlZWQgdG8gdXNlIGZvciBrZXlwYWlyIGdlbmVyYXRpb25cbiAgICogQHBhcmFtIHBhcmFtcy5pc1Jvb3RLZXkgb3B0aW9uYWwgLSB3aGV0aGVyIHRoZSByZXN1bHRpbmcga2V5cGFpciBzaG91bGQgYmUgYSByb290IGtleVxuICAgKiBAcmV0dXJucyB7S2V5UGFpcn0gLSB0aGUgZ2VuZXJhdGVkIGtleXBhaXJcbiAgICovXG4gIGNyZWF0ZShwYXJhbXM6IHsgc2VlZD86IEJ1ZmZlcjsgaXNSb290S2V5PzogYm9vbGVhbiB9ID0ge30pOiBLZXlQYWlyIHtcbiAgICBpZiAocGFyYW1zPy5pc1Jvb3RLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmJhc2VDb2luLmdlbmVyYXRlUm9vdEtleVBhaXIocGFyYW1zLnNlZWQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5iYXNlQ29pbi5nZW5lcmF0ZUtleVBhaXIocGFyYW1zLnNlZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGtleWNoYWluIHRvIEJpdEdvJ3MgcmVjb3Jkc1xuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqL1xuICBhc3luYyBhZGQocGFyYW1zOiBBZGRLZXljaGFpbk9wdGlvbnMgPSB7fSk6IFByb21pc2U8S2V5Y2hhaW4+IHtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gICAgY29tbW9uLnZhbGlkYXRlUGFyYW1zKFxuICAgICAgcGFyYW1zLFxuICAgICAgW10sXG4gICAgICBbXG4gICAgICAgICdwdWInLFxuICAgICAgICAnZW5jcnlwdGVkUHJ2JyxcbiAgICAgICAgJ2tleVR5cGUnLFxuICAgICAgICAndHlwZScsXG4gICAgICAgICdzb3VyY2UnLFxuICAgICAgICAnb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlJyxcbiAgICAgICAgJ2VudGVycHJpc2UnLFxuICAgICAgICAnZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZCcsXG4gICAgICBdXG4gICAgKTtcblxuICAgIGlmICghXy5pc1VuZGVmaW5lZChwYXJhbXMuZGlzYWJsZUtSU0VtYWlsKSkge1xuICAgICAgaWYgKCFfLmlzQm9vbGVhbihwYXJhbXMuZGlzYWJsZUtSU0VtYWlsKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgZGlzYWJsZUtSU0VtYWlsIGFyZ3VtZW50LCBleHBlY3RpbmcgYm9vbGVhbicpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXJhbXMucmVxSWQpIHtcbiAgICAgIHRoaXMuYml0Z28uc2V0UmVxdWVzdFRyYWNlcihwYXJhbXMucmVxSWQpO1xuICAgIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLmJhc2VDb2luLnVybCgnL2tleScpKVxuICAgICAgLnNlbmQoe1xuICAgICAgICBwdWI6IHBhcmFtcy5wdWIsXG4gICAgICAgIGNvbW1vblB1YjogcGFyYW1zLmNvbW1vblB1YixcbiAgICAgICAgY29tbW9uS2V5Y2hhaW46IHBhcmFtcy5jb21tb25LZXljaGFpbixcbiAgICAgICAgZW5jcnlwdGVkUHJ2OiBwYXJhbXMuZW5jcnlwdGVkUHJ2LFxuICAgICAgICB0eXBlOiBwYXJhbXMudHlwZSxcbiAgICAgICAga2V5VHlwZTogcGFyYW1zLmtleVR5cGUsXG4gICAgICAgIHNvdXJjZTogcGFyYW1zLnNvdXJjZSxcbiAgICAgICAgcHJvdmlkZXI6IHBhcmFtcy5wcm92aWRlcixcbiAgICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlOiBwYXJhbXMub3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgICAgICBlbnRlcnByaXNlOiBwYXJhbXMuZW50ZXJwcmlzZSxcbiAgICAgICAgZGVyaXZlZEZyb21QYXJlbnRXaXRoU2VlZDogcGFyYW1zLmRlcml2ZWRGcm9tUGFyZW50V2l0aFNlZWQsXG4gICAgICAgIGRpc2FibGVLUlNFbWFpbDogcGFyYW1zLmRpc2FibGVLUlNFbWFpbCxcbiAgICAgICAga3JzU3BlY2lmaWM6IHBhcmFtcy5rcnNTcGVjaWZpYyxcbiAgICAgICAga2V5U2hhcmVzOiBwYXJhbXMua2V5U2hhcmVzLFxuICAgICAgICB1c2VyR1BHUHVibGljS2V5OiBwYXJhbXMudXNlckdQR1B1YmxpY0tleSxcbiAgICAgICAgYmFja3VwR1BHUHVibGljS2V5OiBwYXJhbXMuYmFja3VwR1BHUHVibGljS2V5LFxuICAgICAgICBhbGdvVXNlZDogcGFyYW1zLmFsZ29Vc2VkLFxuICAgICAgICBpc0Rpc3RyaWJ1dGVkQ3VzdG9keTogcGFyYW1zLmlzRGlzdHJpYnV0ZWRDdXN0b2R5LFxuICAgICAgICBpc01QQ3YyOiBwYXJhbXMuaXNNUEN2MixcbiAgICAgICAgY29pblNwZWNpZmljOiBwYXJhbXMuY29pblNwZWNpZmljLFxuICAgICAgfSlcbiAgICAgIC5yZXN1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBCaXRHbyBrZXlcbiAgICogQHBhcmFtIHBhcmFtcyAoZW1wdHkpXG4gICAqL1xuICBhc3luYyBjcmVhdGVCaXRHbyhwYXJhbXM6IENyZWF0ZUJpdEdvT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxLZXljaGFpbj4ge1xuICAgIHBhcmFtcy5zb3VyY2UgPSAnYml0Z28nO1xuXG4gICAgdGhpcy5iYXNlQ29pbi5wcmVDcmVhdGVCaXRHbyhwYXJhbXMgYXMgYW55KTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5hZGQocGFyYW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBiYWNrdXAga2V5XG4gICAqIEBwYXJhbSBwYXJhbXNcbiAgICogQHBhcmFtIHBhcmFtcy5wcm92aWRlciAob3B0aW9uYWwpXG4gICAqL1xuICBhc3luYyBjcmVhdGVCYWNrdXAocGFyYW1zOiBDcmVhdGVCYWNrdXBPcHRpb25zID0ge30pOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgcGFyYW1zLnNvdXJjZSA9ICdiYWNrdXAnO1xuXG4gICAgY29uc3QgaXNUc3NCYWNrdXBLZXkgPSBwYXJhbXMucHJ2ICYmIChwYXJhbXMuY29tbW9uS2V5Y2hhaW4gfHwgcGFyYW1zLmNvbW1vblB1Yik7XG5cbiAgICBpZiAoXy5pc1VuZGVmaW5lZChwYXJhbXMucHJvdmlkZXIpICYmICFpc1Rzc0JhY2t1cEtleSkge1xuICAgICAgLy8gaWYgdGhlIHByb3ZpZGVyIGlzIHVuZGVmaW5lZCwgd2UgZ2VuZXJhdGUgYSBsb2NhbCBrZXkgYW5kIGFkZCB0aGUgc291cmNlIGRldGFpbHNcbiAgICAgIGNvbnN0IGtleSA9IHRoaXMuY3JlYXRlKCk7XG4gICAgICBfLmV4dGVuZChwYXJhbXMsIGtleSk7XG4gICAgICBpZiAocGFyYW1zLnBhc3NwaHJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBfLmV4dGVuZChwYXJhbXMsIHsgZW5jcnlwdGVkUHJ2OiB0aGlzLmJpdGdvLmVuY3J5cHQoeyBpbnB1dDoga2V5LnBydiwgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzcGhyYXNlIH0pIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZlclJlc3BvbnNlID0gYXdhaXQgdGhpcy5hZGQocGFyYW1zKTtcbiAgICByZXR1cm4gXy5leHRlbmQoe30sIHNlcnZlclJlc3BvbnNlLCBfLnBpY2socGFyYW1zLCBbJ3BydicsICdlbmNyeXB0ZWRQcnYnLCAncHJvdmlkZXInLCAnc291cmNlJ10pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGtleXMgZm9yIHNpZ25pbmcgZnJvbSBhIHdhbGxldFxuICAgKiBAcGFyYW0gcGFyYW1zXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEtleWNoYWluW10+fVxuICAgKi9cbiAgYXN5bmMgZ2V0S2V5c0ZvclNpZ25pbmcocGFyYW1zOiBHZXRLZXlzRm9yU2lnbmluZ09wdGlvbnMgPSB7fSk6IFByb21pc2U8S2V5Y2hhaW5bXT4ge1xuICAgIGlmICghXy5pc09iamVjdChwYXJhbXMud2FsbGV0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIHdhbGxldCcpO1xuICAgIH1cbiAgICBjb25zdCB3YWxsZXQgPSBwYXJhbXMud2FsbGV0O1xuICAgIGNvbnN0IHJlcUlkID0gcGFyYW1zLnJlcUlkIHx8IG5ldyBSZXF1ZXN0VHJhY2VyKCk7XG4gICAgY29uc3QgaWRzID0gd2FsbGV0LmJhc2VDb2luLmtleUlkc0ZvclNpZ25pbmcoKTtcbiAgICBjb25zdCBrZXljaGFpblF1ZXJpZXNCbHVlYmlyZHMgPSBpZHMubWFwKChpZCkgPT4gdGhpcy5nZXQoeyBpZDogd2FsbGV0LmtleUlkcygpW2lkXSwgcmVxSWQgfSkpO1xuICAgIHJldHVybiBQcm9taXNlLmFsbChrZXljaGFpblF1ZXJpZXNCbHVlYmlyZHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhbmQgc3RvcmUgTVBDIGtleWNoYWlucyB3aXRoIEJpdEdvLlxuICAgKiBAcGFyYW0gcGFyYW1zIHBhc3NwaHJhc2UgdXNlZCB0byBlbmNyeXB0IHNlY3JldCBtYXRlcmlhbHNcbiAgICogQHJldHVybiB7UHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0Pn0gbmV3bHkgY3JlYXRlZCBVc2VyLCBCYWNrdXAsIGFuZCBCaXRHbyBrZXlzXG4gICAqL1xuICBhc3luYyBjcmVhdGVNcGMocGFyYW1zOiBDcmVhdGVNcGNPcHRpb25zKTogUHJvbWlzZTxLZXljaGFpbnNUcmlwbGV0PiB7XG4gICAgbGV0IE1wY1V0aWxzO1xuICAgIGxldCBtdWx0aXNpZ1R5cGVWZXJzaW9uOiAnTVBDdjInIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwYXJhbXMubXVsdGlzaWdUeXBlID09PSAndHNzJyAmJiB0aGlzLmJhc2VDb2luLmdldE1QQ0FsZ29yaXRobSgpID09PSAnZWNkc2EnKSB7XG4gICAgICBjb25zdCB0c3NTZXR0aW5nczogVHNzU2V0dGluZ3MgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAgIC5nZXQodGhpcy5iaXRnby5taWNyb3NlcnZpY2VzVXJsKCcvYXBpL3YyL3Rzcy9zZXR0aW5ncycpKVxuICAgICAgICAucmVzdWx0KCk7XG4gICAgICBtdWx0aXNpZ1R5cGVWZXJzaW9uID1cbiAgICAgICAgdHNzU2V0dGluZ3MuY29pblNldHRpbmdzW3RoaXMuYmFzZUNvaW4uZ2V0RmFtaWx5KCldPy53YWxsZXRDcmVhdGlvblNldHRpbmdzPy5tdWx0aVNpZ1R5cGVWZXJzaW9uO1xuICAgIH1cblxuICAgIHN3aXRjaCAocGFyYW1zLm11bHRpc2lnVHlwZSkge1xuICAgICAgY2FzZSAndHNzJzpcbiAgICAgICAgTXBjVXRpbHMgPVxuICAgICAgICAgIHRoaXMuYmFzZUNvaW4uZ2V0TVBDQWxnb3JpdGhtKCkgPT09ICdlZGRzYSdcbiAgICAgICAgICAgID8gRUREU0FVdGlscy5kZWZhdWx0XG4gICAgICAgICAgICA6IG11bHRpc2lnVHlwZVZlcnNpb24gPT09ICdNUEN2MidcbiAgICAgICAgICAgID8gRUNEU0FVdGlscy5FY2RzYU1QQ3YyVXRpbHNcbiAgICAgICAgICAgIDogRUNEU0FVdGlscy5FY2RzYVV0aWxzO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Jsc2RrZyc6XG4gICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHBhcmFtcy5wYXNzcGhyYXNlKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBwYXNzcGhyYXNlJyk7XG4gICAgICAgIH1cbiAgICAgICAgTXBjVXRpbHMgPSBCbHNVdGlscztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG11bHRpLXNpZyB0eXBlJyk7XG4gICAgfVxuICAgIGNvbnN0IG1wY1V0aWxzID0gbmV3IE1wY1V0aWxzKHRoaXMuYml0Z28sIHRoaXMuYmFzZUNvaW4pO1xuICAgIHJldHVybiBhd2FpdCBtcGNVdGlscy5jcmVhdGVLZXljaGFpbnMoe1xuICAgICAgcGFzc3BocmFzZTogcGFyYW1zLnBhc3NwaHJhc2UsXG4gICAgICBlbnRlcnByaXNlOiBwYXJhbXMuZW50ZXJwcmlzZSxcbiAgICAgIG9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZTogcGFyYW1zLm9yaWdpbmFsUGFzc2NvZGVFbmNyeXB0aW9uQ29kZSxcbiAgICAgIGJhY2t1cFByb3ZpZGVyOiBwYXJhbXMuYmFja3VwUHJvdmlkZXIsXG4gICAgICByZXRyb2ZpdDogcGFyYW1zLnJldHJvZml0LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcmVjcmVhdGVNcGMocGFyYW1zOiBSZWNyZWF0ZU1wY09wdGlvbnMpOiBQcm9taXNlPEtleWNoYWluc1RyaXBsZXQ+IHtcbiAgICBhc3NlcnQocGFyYW1zLmNvaW4sIG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBjb2luJykpO1xuICAgIGFzc2VydChwYXJhbXMud2FsbGV0SWQsIG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSB3YWxsZXRJZCcpKTtcbiAgICBhc3NlcnQocGFyYW1zLm90cCwgbmV3IEVycm9yKCdtaXNzaW5nIHJlcXVpcmVkIHBhcmFtIG90cCcpKTtcbiAgICBhc3NlcnQocGFyYW1zLnBhc3NwaHJhc2UsIG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBwYXNzcGhyYXNlJykpO1xuXG4gICAgYXNzZXJ0KFxuICAgICAgcGFyYW1zLmVuY3J5cHRlZE1hdGVyaWFsLmVuY3J5cHRlZFdhbGxldFBhc3NwaHJhc2UsXG4gICAgICBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gZW5jcnlwdGVkV2FsbGV0UGFzc3BocmFzZScpXG4gICAgKTtcbiAgICBhc3NlcnQocGFyYW1zLmVuY3J5cHRlZE1hdGVyaWFsLmVuY3J5cHRlZFVzZXJLZXksIG5ldyBFcnJvcignbWlzc2luZyByZXF1aXJlZCBwYXJhbSBlbmNyeXB0ZWRVc2VyS2V5JykpO1xuICAgIGFzc2VydChwYXJhbXMuZW5jcnlwdGVkTWF0ZXJpYWwuZW5jcnlwdGVkQmFja3VwS2V5LCBuZXcgRXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgcGFyYW0gZW5jcnlwdGVkQmFja3VwS2V5JykpO1xuXG4gICAgYXdhaXQgdGhpcy5iaXRnby5wb3N0KHRoaXMuYml0Z28ubWljcm9zZXJ2aWNlc1VybCgnL2FwaS92MS91c2VyL3VubG9jaycpKS5zZW5kKHsgb3RwOiBwYXJhbXMub3RwIH0pLnJlc3VsdCgpO1xuICAgIGNvbnN0IHsgcmVjb3ZlcnlJbmZvIH0gPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLmJpdGdvLm1pY3Jvc2VydmljZXNVcmwoYC9hcGkvdjIvJHtwYXJhbXMuY29pbn0vd2FsbGV0LyR7cGFyYW1zLndhbGxldElkfS9wYXNzY29kZXJlY292ZXJ5YCkpXG4gICAgICAucmVzdWx0KCk7XG5cbiAgICBpZiAoIXJlY292ZXJ5SW5mbyB8fCAhKCdwYXNzY29kZUVuY3J5cHRpb25Db2RlJyBpbiByZWNvdmVyeUluZm8pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZhaWxlZCB0byBnZXQgcmVjb3ZlcnkgaW5mbycpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlY3J5cHRlZFdhbGxldFBhc3NwaHJhc2UgPSB0aGlzLmJpdGdvLmRlY3J5cHQoe1xuICAgICAgaW5wdXQ6IHBhcmFtcy5lbmNyeXB0ZWRNYXRlcmlhbC5lbmNyeXB0ZWRXYWxsZXRQYXNzcGhyYXNlLFxuICAgICAgcGFzc3dvcmQ6IHJlY292ZXJ5SW5mby5wYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGVjcnlwdGVkVXNlcktleSA9IHRoaXMuYml0Z28uZGVjcnlwdCh7XG4gICAgICBpbnB1dDogcGFyYW1zLmVuY3J5cHRlZE1hdGVyaWFsLmVuY3J5cHRlZFVzZXJLZXksXG4gICAgICBwYXNzd29yZDogZGVjcnlwdGVkV2FsbGV0UGFzc3BocmFzZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlY3J5cHRlZEJhY2t1cEtleSA9IHRoaXMuYml0Z28uZGVjcnlwdCh7XG4gICAgICBpbnB1dDogcGFyYW1zLmVuY3J5cHRlZE1hdGVyaWFsLmVuY3J5cHRlZEJhY2t1cEtleSxcbiAgICAgIHBhc3N3b3JkOiBkZWNyeXB0ZWRXYWxsZXRQYXNzcGhyYXNlLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTXBjKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIG11bHRpc2lnVHlwZTogJ3RzcycsXG4gICAgICByZXRyb2ZpdDoge1xuICAgICAgICBkZWNyeXB0ZWRVc2VyS2V5LFxuICAgICAgICBkZWNyeXB0ZWRCYWNrdXBLZXksXG4gICAgICAgIHdhbGxldElkOiBwYXJhbXMud2FsbGV0SWQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IHBhcnNlcyB0aGUgSlNPTiBkb3dubG9hZGVkIGZyb20gdGhlIE9WQyBmb3IgcGxhdGZvcm0gKEJpdEdvKSxcbiAgICogYW5kIGNyZWF0ZXMgYSBjb3JyZXNwb25kaW5nIFRTUyBCaXRHbyBrZXkuIEl0IGFsc28gcmV0dXJucyB0aGUgSlNPTiB0aGF0IG5lZWRzXG4gICAqIHRvIGJlIHVwbG9hZGVkIGJhY2sgdG8gdGhlIE9WQ3MgY29udGFpbmluZyB0aGUgQml0R28gLT4gT1ZDIHNoYXJlcy5cbiAgICogQHBhcmFtIG92Y091dHB1dEpzb24gSlNPTiBmb3JtYXQgb2YgdGhlIGZpbGUgZG93bmxvYWRlZCBmcm9tIHRoZSBPVkMgZm9yIHBsYXRmb3JtXG4gICAqIEByZXR1cm5zIHtCaXRHb0tleUZyb21PdmNTaGFyZXN9XG4gICAqL1xuICBhc3luYyBjcmVhdGVUc3NCaXRHb0tleUZyb21PdmNTaGFyZXMob3ZjT3V0cHV0SnNvbjogdW5rbm93bik6IFByb21pc2U8Qml0R29LZXlGcm9tT3ZjU2hhcmVzPiB7XG4gICAgY29uc3QgZGVjb2RlZE92Y091dHB1dCA9IGRlY29kZU9yRWxzZShPdmNUb0JpdEdvSlNPTi5uYW1lLCBPdmNUb0JpdEdvSlNPTiwgb3ZjT3V0cHV0SnNvbiwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvcihzKSBwYXJzaW5nIE9WQyBKU09OOiAke2Vycm9yc31gKTtcbiAgICB9KTtcblxuICAgIGlmIChkZWNvZGVkT3ZjT3V0cHV0LnN0YXRlICE9PSAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1N0YXRlIGV4cGVjdGVkIHRvIGJlIFwiMVwiLiBQbGVhc2UgY29tcGxldGUgdGhlIGZpcnN0IHR3byBPVkMgb3BlcmF0aW9ucycpO1xuICAgIH1cblxuICAgIC8vIE9WQy0xIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgVXNlciBrZXlcbiAgICBjb25zdCBvdmMxID0gZGVjb2RlZE92Y091dHB1dC5vdmNbMV07XG4gICAgLy8gT1ZDLTIgaXMgcmVzcG9uc2libGUgZm9yIHRoZSBCYWNrdXAga2V5XG4gICAgY29uc3Qgb3ZjMiA9IGRlY29kZWRPdmNPdXRwdXQub3ZjWzJdO1xuXG4gICAgY29uc3Qga2V5U2hhcmVzOiBBcGlLZXlTaGFyZVtdID0gW1xuICAgICAge1xuICAgICAgICBmcm9tOiAndXNlcicsXG4gICAgICAgIHRvOiAnYml0Z28nLFxuICAgICAgICBwdWJsaWNTaGFyZTogb3ZjMS5vdmNUb0JpdGdvU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgIHByaXZhdGVTaGFyZTogb3ZjMS5vdmNUb0JpdGdvU2hhcmUucHJpdmF0ZVNoYXJlLFxuICAgICAgICBwcml2YXRlU2hhcmVQcm9vZjogb3ZjMS5vdmNUb0JpdGdvU2hhcmUudVNpZy50b1N0cmluZygpID8/ICcnLFxuICAgICAgICB2c3NQcm9vZjogb3ZjMS5vdmNUb0JpdGdvU2hhcmUudnNzUHJvb2YgPz8gJycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmcm9tOiAnYmFja3VwJyxcbiAgICAgICAgdG86ICdiaXRnbycsXG4gICAgICAgIHB1YmxpY1NoYXJlOiBvdmMyLm92Y1RvQml0Z29TaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgcHJpdmF0ZVNoYXJlOiBvdmMyLm92Y1RvQml0Z29TaGFyZS5wcml2YXRlU2hhcmUsXG4gICAgICAgIHByaXZhdGVTaGFyZVByb29mOiBvdmMyLm92Y1RvQml0Z29TaGFyZS51U2lnLnRvU3RyaW5nKCkgPz8gJycsXG4gICAgICAgIHZzc1Byb29mOiBvdmMyLm92Y1RvQml0Z29TaGFyZS52c3NQcm9vZiA/PyAnJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IGtleSA9IGF3YWl0IHRoaXMuYmFzZUNvaW4ua2V5Y2hhaW5zKCkuYWRkKHtcbiAgICAgIHNvdXJjZTogJ2JpdGdvJyxcbiAgICAgIGtleVNoYXJlcyxcbiAgICAgIGtleVR5cGU6ICd0c3MnLFxuICAgICAgdXNlckdQR1B1YmxpY0tleTogb3ZjMS5ncGdQdWJLZXksXG4gICAgICBiYWNrdXBHUEdQdWJsaWNLZXk6IG92YzIuZ3BnUHViS2V5LFxuICAgIH0pO1xuICAgIGFzc2VydChrZXkua2V5U2hhcmVzKTtcbiAgICBhc3NlcnQoa2V5LmNvbW1vbktleWNoYWluKTtcbiAgICBhc3NlcnQoa2V5LndhbGxldEhTTUdQR1B1YmxpY0tleVNpZ3MpO1xuXG4gICAgY29uc3QgYml0Z29Ub1VzZXJTaGFyZSA9IGtleS5rZXlTaGFyZXMuZmluZChcbiAgICAgICh2YWx1ZTogeyBmcm9tOiBzdHJpbmc7IHRvOiBzdHJpbmcgfSkgPT4gdmFsdWUuZnJvbSA9PT0gJ2JpdGdvJyAmJiB2YWx1ZS50byA9PT0gJ3VzZXInXG4gICAgKTtcbiAgICBhc3NlcnQoYml0Z29Ub1VzZXJTaGFyZSk7XG4gICAgYXNzZXJ0KGJpdGdvVG9Vc2VyU2hhcmUudnNzUHJvb2YpO1xuICAgIGFzc2VydChiaXRnb1RvVXNlclNoYXJlLnBhaWxsaWVyUHVibGljS2V5KTtcbiAgICBjb25zdCBiaXRnb1RvQmFja3VwU2hhcmUgPSBrZXkua2V5U2hhcmVzLmZpbmQoXG4gICAgICAodmFsdWU6IHsgZnJvbTogc3RyaW5nOyB0bzogc3RyaW5nIH0pID0+IHZhbHVlLmZyb20gPT09ICdiaXRnbycgJiYgdmFsdWUudG8gPT09ICdiYWNrdXAnXG4gICAgKTtcbiAgICBhc3NlcnQoYml0Z29Ub0JhY2t1cFNoYXJlKTtcbiAgICBhc3NlcnQoYml0Z29Ub0JhY2t1cFNoYXJlLnZzc1Byb29mKTtcbiAgICBhc3NlcnQoYml0Z29Ub0JhY2t1cFNoYXJlLnBhaWxsaWVyUHVibGljS2V5KTtcblxuICAgIC8vIENyZWF0ZSBKU09OIGRhdGEgd2l0aCBwbGF0Zm9ybSBzaGFyZXMgZm9yIE9WQy0xIGFuZCBPVkMtMlxuICAgIGNvbnN0IGJpdGdvVG9PdmNPdXRwdXQ6IEJpdEdvVG9PdmNKU09OID0ge1xuICAgICAgd2FsbGV0OiB7XG4gICAgICAgIC4uLmRlY29kZWRPdmNPdXRwdXQsXG4gICAgICAgIHBsYXRmb3JtOiB7XG4gICAgICAgICAgY29tbW9uS2V5Y2hhaW46IGtleS5jb21tb25LZXljaGFpbixcbiAgICAgICAgICB3YWxsZXRHcGdQdWJLZXlTaWdzOiBrZXkud2FsbGV0SFNNR1BHUHVibGljS2V5U2lncyxcbiAgICAgICAgICBvdmM6IHtcbiAgICAgICAgICAgIC8vIEJpdEdvIHRvIFVzZXIgKE9WQy0xKVxuICAgICAgICAgICAgMToge1xuICAgICAgICAgICAgICBiaXRnb1RvT3ZjU2hhcmU6IHtcbiAgICAgICAgICAgICAgICBpOiAxLFxuICAgICAgICAgICAgICAgIGo6IDMsXG4gICAgICAgICAgICAgICAgcHVibGljU2hhcmU6IGJpdGdvVG9Vc2VyU2hhcmUucHVibGljU2hhcmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZVNoYXJlOiBiaXRnb1RvVXNlclNoYXJlLnByaXZhdGVTaGFyZSxcbiAgICAgICAgICAgICAgICBwYWlsbGllclB1YmxpY0tleTogYml0Z29Ub1VzZXJTaGFyZS5wYWlsbGllclB1YmxpY0tleSxcbiAgICAgICAgICAgICAgICB2c3NQcm9vZjogYml0Z29Ub1VzZXJTaGFyZS52c3NQcm9vZixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBCaXRHbyB0byBCYWNrdXAgKE9WQy0yKVxuICAgICAgICAgICAgMjoge1xuICAgICAgICAgICAgICBiaXRnb1RvT3ZjU2hhcmU6IHtcbiAgICAgICAgICAgICAgICBpOiAyLFxuICAgICAgICAgICAgICAgIGo6IDMsXG4gICAgICAgICAgICAgICAgcHVibGljU2hhcmU6IGJpdGdvVG9CYWNrdXBTaGFyZS5wdWJsaWNTaGFyZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlU2hhcmU6IGJpdGdvVG9CYWNrdXBTaGFyZS5wcml2YXRlU2hhcmUsXG4gICAgICAgICAgICAgICAgcGFpbGxpZXJQdWJsaWNLZXk6IGJpdGdvVG9CYWNrdXBTaGFyZS5wYWlsbGllclB1YmxpY0tleSxcbiAgICAgICAgICAgICAgICB2c3NQcm9vZjogYml0Z29Ub0JhY2t1cFNoYXJlLnZzc1Byb29mLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgLy8gTWFyayBpdCByZWFkeSBmb3IgbmV4dCBvcGVyYXRpb24sIHNob3VsZCBiZSAyXG4gICAgYml0Z29Ub092Y091dHB1dC53YWxsZXQuc3RhdGUgKz0gMTtcblxuICAgIGNvbnN0IG91dHB1dDogQml0R29LZXlGcm9tT3ZjU2hhcmVzID0ge1xuICAgICAgYml0R29LZXlJZDoga2V5LmlkLFxuICAgICAgYml0R29PdXRwdXRKc29uRm9yT3ZjOiBiaXRnb1RvT3ZjT3V0cHV0LFxuICAgIH07XG5cbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKEJpdEdvS2V5RnJvbU92Y1NoYXJlcy5uYW1lLCBCaXRHb0tleUZyb21PdmNTaGFyZXMsIG91dHB1dCwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBwcm9kdWNpbmcgdGhlIG91dHB1dDogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGtleWNoYWluIGZvciBvZmMgd2FsbGV0IHVzaW5nIHRoZSBwYXNzd29yZFxuICAgKiBAcGFyYW0gdXNlclBhc3N3b3JkXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhc3luYyBjcmVhdGVVc2VyS2V5Y2hhaW4odXNlclBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPEtleWNoYWluPiB7XG4gICAgY29uc3Qga2V5Y2hhaW5zID0gdGhpcy5iYXNlQ29pbi5rZXljaGFpbnMoKTtcbiAgICBjb25zdCBuZXdLZXljaGFpbiA9IGtleWNoYWlucy5jcmVhdGUoKTtcbiAgICBjb25zdCBvcmlnaW5hbFBhc3Njb2RlRW5jcnlwdGlvbkNvZGUgPSBnZW5lcmF0ZVJhbmRvbVBhc3N3b3JkKDUpO1xuXG4gICAgY29uc3QgZW5jcnlwdGVkUHJ2ID0gdGhpcy5iaXRnby5lbmNyeXB0KHtcbiAgICAgIHBhc3N3b3JkOiB1c2VyUGFzc3dvcmQsXG4gICAgICBpbnB1dDogbmV3S2V5Y2hhaW4ucHJ2LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF3YWl0IGtleWNoYWlucy5hZGQoe1xuICAgICAgZW5jcnlwdGVkUHJ2LFxuICAgICAgb3JpZ2luYWxQYXNzY29kZUVuY3J5cHRpb25Db2RlLFxuICAgICAgcHViOiBuZXdLZXljaGFpbi5wdWIsXG4gICAgICBzb3VyY2U6ICd1c2VyJyxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.BitGoKeyFromOvcShares = exports.BitGoToOvcJSON = exports.OvcToBitGoJSON = exports.OvcToOtherShare = exports.OvcShare = void 0;
27
37
  /* eslint-disable no-redeclare */
@@ -86,4 +96,4 @@ exports.BitGoKeyFromOvcShares = t.strict({
86
96
  bitGoOutputJsonForOvc: exports.BitGoToOvcJSON,
87
97
  bitGoKeyId: t.string,
88
98
  }, 'BitGoKeyFromOvcShares');
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZjSnNvbkNvZGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2tleWNoYWluL292Y0pzb25Db2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUFpQztBQUNqQyx5Q0FBMkI7QUFFZCxRQUFBLFFBQVEsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUNwQztJQUNFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDTCxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDckIsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ3RCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNsQixDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDWCxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDWixDQUFDO0lBQ0YsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNSLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQzVCLENBQUM7Q0FDSCxFQUNELFVBQVUsQ0FDWCxDQUFDO0FBRVcsUUFBQSxlQUFlLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDM0M7SUFDRSxnQkFBUTtJQUNSLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDTCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07S0FDZixDQUFDO0NBQ0gsRUFDRCxpQkFBaUIsQ0FDbEIsQ0FBQztBQUVXLFFBQUEsY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3BDO0lBQ0UsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3BCLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNwQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZixHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNWLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1IsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ25CLGVBQWUsRUFBRSx1QkFBZTtTQUNqQyxDQUFDO1FBQ0YsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDUixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU07WUFDbkIsZUFBZSxFQUFFLHVCQUFlO1lBQ2hDLGFBQWEsRUFBRSx1QkFBZTtTQUMvQixDQUFDO0tBQ0gsQ0FBQztDQUNILEVBQ0QsZ0JBQWdCLENBQ2pCLENBQUM7QUFJVyxRQUFBLGNBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUNwQztJQUNFLE1BQU0sRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQ3JCLHNCQUFjO1FBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNMLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNmLGNBQWMsRUFBRSxDQUFDLENBQUMsTUFBTTtnQkFDeEIsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0JBQzdCLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNWLHdCQUF3QjtvQkFDeEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ1IsZUFBZSxFQUFFLGdCQUFRO3FCQUMxQixDQUFDO29CQUNGLDBCQUEwQjtvQkFDMUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7d0JBQ1IsZUFBZSxFQUFFLGdCQUFRO3FCQUMxQixDQUFDO2lCQUNILENBQUM7YUFDSCxDQUFDO1NBQ0gsQ0FBQztLQUNILENBQUM7Q0FDSCxFQUNELGdCQUFnQixDQUNqQixDQUFDO0FBSVcsUUFBQSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUMzQztJQUNFLHFCQUFxQixFQUFFLHNCQUFjO0lBQ3JDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNyQixFQUNELHVCQUF1QixDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVkZWNsYXJlICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuZXhwb3J0IGNvbnN0IE92Y1NoYXJlID0gdC5pbnRlcnNlY3Rpb24oXG4gIFtcbiAgICB0LnR5cGUoe1xuICAgICAgcHVibGljU2hhcmU6IHQuc3RyaW5nLFxuICAgICAgcHJpdmF0ZVNoYXJlOiB0LnN0cmluZyxcbiAgICAgIHZzc1Byb29mOiB0LnN0cmluZyxcbiAgICAgIGk6IHQubnVtYmVyLFxuICAgICAgajogdC5udW1iZXIsXG4gICAgfSksXG4gICAgdC5wYXJ0aWFsKHtcbiAgICAgIHBhaWxsaWVyUHVibGljS2V5OiB0LnN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ092Y1NoYXJlJ1xuKTtcblxuZXhwb3J0IGNvbnN0IE92Y1RvT3RoZXJTaGFyZSA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgT3ZjU2hhcmUsXG4gICAgdC50eXBlKHtcbiAgICAgIHVTaWc6IHQuc3RyaW5nLFxuICAgIH0pLFxuICBdLFxuICAnT3ZjVG9PdGhlclNoYXJlJ1xuKTtcblxuZXhwb3J0IGNvbnN0IE92Y1RvQml0R29KU09OID0gdC5zdHJpY3QoXG4gIHtcbiAgICB0c3NWZXJzaW9uOiB0LnN0cmluZyxcbiAgICB3YWxsZXRUeXBlOiB0LnN0cmluZyxcbiAgICBjb2luOiB0LnN0cmluZyxcbiAgICBzdGF0ZTogdC5udW1iZXIsXG4gICAgb3ZjOiB0LnR5cGUoe1xuICAgICAgMTogdC50eXBlKHtcbiAgICAgICAgZ3BnUHViS2V5OiB0LnN0cmluZyxcbiAgICAgICAgb3ZjVG9CaXRnb1NoYXJlOiBPdmNUb090aGVyU2hhcmUsXG4gICAgICB9KSxcbiAgICAgIDI6IHQudHlwZSh7XG4gICAgICAgIGdwZ1B1YktleTogdC5zdHJpbmcsXG4gICAgICAgIG92Y1RvQml0Z29TaGFyZTogT3ZjVG9PdGhlclNoYXJlLFxuICAgICAgICBvdmNUb092Y1NoYXJlOiBPdmNUb090aGVyU2hhcmUsXG4gICAgICB9KSxcbiAgICB9KSxcbiAgfSxcbiAgJ092Y1RvQml0R29KU09OJ1xuKTtcblxuZXhwb3J0IHR5cGUgT3ZjVG9CaXRHb0pTT04gPSB0LlR5cGVPZjx0eXBlb2YgT3ZjVG9CaXRHb0pTT04+O1xuXG5leHBvcnQgY29uc3QgQml0R29Ub092Y0pTT04gPSB0LnN0cmljdChcbiAge1xuICAgIHdhbGxldDogdC5pbnRlcnNlY3Rpb24oW1xuICAgICAgT3ZjVG9CaXRHb0pTT04sXG4gICAgICB0LnR5cGUoe1xuICAgICAgICBwbGF0Zm9ybTogdC50eXBlKHtcbiAgICAgICAgICBjb21tb25LZXljaGFpbjogdC5zdHJpbmcsXG4gICAgICAgICAgd2FsbGV0R3BnUHViS2V5U2lnczogdC5zdHJpbmcsXG4gICAgICAgICAgb3ZjOiB0LnR5cGUoe1xuICAgICAgICAgICAgLy8gQml0R28gdG8gVXNlciAoT1ZDLTEpXG4gICAgICAgICAgICAxOiB0LnR5cGUoe1xuICAgICAgICAgICAgICBiaXRnb1RvT3ZjU2hhcmU6IE92Y1NoYXJlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvLyBCaXRHbyB0byBCYWNrdXAgKE9WQy0yKVxuICAgICAgICAgICAgMjogdC50eXBlKHtcbiAgICAgICAgICAgICAgYml0Z29Ub092Y1NoYXJlOiBPdmNTaGFyZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgIF0pLFxuICB9LFxuICAnQml0Z29Ub092Y0pzb24nXG4pO1xuXG5leHBvcnQgdHlwZSBCaXRHb1RvT3ZjSlNPTiA9IHQuVHlwZU9mPHR5cGVvZiBCaXRHb1RvT3ZjSlNPTj47XG5cbmV4cG9ydCBjb25zdCBCaXRHb0tleUZyb21PdmNTaGFyZXMgPSB0LnN0cmljdChcbiAge1xuICAgIGJpdEdvT3V0cHV0SnNvbkZvck92YzogQml0R29Ub092Y0pTT04sXG4gICAgYml0R29LZXlJZDogdC5zdHJpbmcsXG4gIH0sXG4gICdCaXRHb0tleUZyb21PdmNTaGFyZXMnXG4pO1xuXG5leHBvcnQgdHlwZSBCaXRHb0tleUZyb21PdmNTaGFyZXMgPSB0LlR5cGVPZjx0eXBlb2YgQml0R29LZXlGcm9tT3ZjU2hhcmVzPjtcbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZjSnNvbkNvZGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2tleWNoYWluL292Y0pzb25Db2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMseUNBQTJCO0FBRWQsUUFBQSxRQUFRLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FDcEM7SUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ3JCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTTtRQUN0QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDbEIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ1gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQ1osQ0FBQztJQUNGLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDUixpQkFBaUIsRUFBRSxDQUFDLENBQUMsTUFBTTtLQUM1QixDQUFDO0NBQ0gsRUFDRCxVQUFVLENBQ1gsQ0FBQztBQUVXLFFBQUEsZUFBZSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQzNDO0lBQ0UsZ0JBQVE7SUFDUixDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ0wsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0tBQ2YsQ0FBQztDQUNILEVBQ0QsaUJBQWlCLENBQ2xCLENBQUM7QUFFVyxRQUFBLGNBQWMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUNwQztJQUNFLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNwQixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDcEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2YsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDVixDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNSLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTTtZQUNuQixlQUFlLEVBQUUsdUJBQWU7U0FDakMsQ0FBQztRQUNGLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1IsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ25CLGVBQWUsRUFBRSx1QkFBZTtZQUNoQyxhQUFhLEVBQUUsdUJBQWU7U0FDL0IsQ0FBQztLQUNILENBQUM7Q0FDSCxFQUNELGdCQUFnQixDQUNqQixDQUFDO0FBSVcsUUFBQSxjQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDcEM7SUFDRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNyQixzQkFBYztRQUNkLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDTCxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDZixjQUFjLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0JBQ3hCLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxNQUFNO2dCQUM3QixHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDVix3QkFBd0I7b0JBQ3hCLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNSLGVBQWUsRUFBRSxnQkFBUTtxQkFDMUIsQ0FBQztvQkFDRiwwQkFBMEI7b0JBQzFCLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDO3dCQUNSLGVBQWUsRUFBRSxnQkFBUTtxQkFDMUIsQ0FBQztpQkFDSCxDQUFDO2FBQ0gsQ0FBQztTQUNILENBQUM7S0FDSCxDQUFDO0NBQ0gsRUFDRCxnQkFBZ0IsQ0FDakIsQ0FBQztBQUlXLFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDM0M7SUFDRSxxQkFBcUIsRUFBRSxzQkFBYztJQUNyQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDckIsRUFDRCx1QkFBdUIsQ0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlZGVjbGFyZSAqL1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5cbmV4cG9ydCBjb25zdCBPdmNTaGFyZSA9IHQuaW50ZXJzZWN0aW9uKFxuICBbXG4gICAgdC50eXBlKHtcbiAgICAgIHB1YmxpY1NoYXJlOiB0LnN0cmluZyxcbiAgICAgIHByaXZhdGVTaGFyZTogdC5zdHJpbmcsXG4gICAgICB2c3NQcm9vZjogdC5zdHJpbmcsXG4gICAgICBpOiB0Lm51bWJlcixcbiAgICAgIGo6IHQubnVtYmVyLFxuICAgIH0pLFxuICAgIHQucGFydGlhbCh7XG4gICAgICBwYWlsbGllclB1YmxpY0tleTogdC5zdHJpbmcsXG4gICAgfSksXG4gIF0sXG4gICdPdmNTaGFyZSdcbik7XG5cbmV4cG9ydCBjb25zdCBPdmNUb090aGVyU2hhcmUgPSB0LmludGVyc2VjdGlvbihcbiAgW1xuICAgIE92Y1NoYXJlLFxuICAgIHQudHlwZSh7XG4gICAgICB1U2lnOiB0LnN0cmluZyxcbiAgICB9KSxcbiAgXSxcbiAgJ092Y1RvT3RoZXJTaGFyZSdcbik7XG5cbmV4cG9ydCBjb25zdCBPdmNUb0JpdEdvSlNPTiA9IHQuc3RyaWN0KFxuICB7XG4gICAgdHNzVmVyc2lvbjogdC5zdHJpbmcsXG4gICAgd2FsbGV0VHlwZTogdC5zdHJpbmcsXG4gICAgY29pbjogdC5zdHJpbmcsXG4gICAgc3RhdGU6IHQubnVtYmVyLFxuICAgIG92YzogdC50eXBlKHtcbiAgICAgIDE6IHQudHlwZSh7XG4gICAgICAgIGdwZ1B1YktleTogdC5zdHJpbmcsXG4gICAgICAgIG92Y1RvQml0Z29TaGFyZTogT3ZjVG9PdGhlclNoYXJlLFxuICAgICAgfSksXG4gICAgICAyOiB0LnR5cGUoe1xuICAgICAgICBncGdQdWJLZXk6IHQuc3RyaW5nLFxuICAgICAgICBvdmNUb0JpdGdvU2hhcmU6IE92Y1RvT3RoZXJTaGFyZSxcbiAgICAgICAgb3ZjVG9PdmNTaGFyZTogT3ZjVG9PdGhlclNoYXJlLFxuICAgICAgfSksXG4gICAgfSksXG4gIH0sXG4gICdPdmNUb0JpdEdvSlNPTidcbik7XG5cbmV4cG9ydCB0eXBlIE92Y1RvQml0R29KU09OID0gdC5UeXBlT2Y8dHlwZW9mIE92Y1RvQml0R29KU09OPjtcblxuZXhwb3J0IGNvbnN0IEJpdEdvVG9PdmNKU09OID0gdC5zdHJpY3QoXG4gIHtcbiAgICB3YWxsZXQ6IHQuaW50ZXJzZWN0aW9uKFtcbiAgICAgIE92Y1RvQml0R29KU09OLFxuICAgICAgdC50eXBlKHtcbiAgICAgICAgcGxhdGZvcm06IHQudHlwZSh7XG4gICAgICAgICAgY29tbW9uS2V5Y2hhaW46IHQuc3RyaW5nLFxuICAgICAgICAgIHdhbGxldEdwZ1B1YktleVNpZ3M6IHQuc3RyaW5nLFxuICAgICAgICAgIG92YzogdC50eXBlKHtcbiAgICAgICAgICAgIC8vIEJpdEdvIHRvIFVzZXIgKE9WQy0xKVxuICAgICAgICAgICAgMTogdC50eXBlKHtcbiAgICAgICAgICAgICAgYml0Z29Ub092Y1NoYXJlOiBPdmNTaGFyZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLy8gQml0R28gdG8gQmFja3VwIChPVkMtMilcbiAgICAgICAgICAgIDI6IHQudHlwZSh7XG4gICAgICAgICAgICAgIGJpdGdvVG9PdmNTaGFyZTogT3ZjU2hhcmUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICBdKSxcbiAgfSxcbiAgJ0JpdGdvVG9PdmNKc29uJ1xuKTtcblxuZXhwb3J0IHR5cGUgQml0R29Ub092Y0pTT04gPSB0LlR5cGVPZjx0eXBlb2YgQml0R29Ub092Y0pTT04+O1xuXG5leHBvcnQgY29uc3QgQml0R29LZXlGcm9tT3ZjU2hhcmVzID0gdC5zdHJpY3QoXG4gIHtcbiAgICBiaXRHb091dHB1dEpzb25Gb3JPdmM6IEJpdEdvVG9PdmNKU09OLFxuICAgIGJpdEdvS2V5SWQ6IHQuc3RyaW5nLFxuICB9LFxuICAnQml0R29LZXlGcm9tT3ZjU2hhcmVzJ1xuKTtcblxuZXhwb3J0IHR5cGUgQml0R29LZXlGcm9tT3ZjU2hhcmVzID0gdC5UeXBlT2Y8dHlwZW9mIEJpdEdvS2V5RnJvbU92Y1NoYXJlcz47XG4iXX0=
@@ -1,5 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
1
  import * as utxolib from '@bitgo/utxo-lib';
4
2
  import { BIP32Interface, ECPairInterface } from '@bitgo/utxo-lib';
5
3
  interface ECPairCompat extends ECPairInterface {
@@ -1 +1 @@
1
- {"version":3,"file":"legacyBitcoin.d.ts","sourceRoot":"","sources":["../../../src/bitgo/legacyBitcoin.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAS,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIzE,UAAU,YAAa,SAAQ,eAAe;IAC5C,kBAAkB,IAAI,MAAM,CAAC;CAC9B;AAUD,wBAAgB,aAAa,IAAI,YAAY,CAE5C;AAED;;GAEG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,cAAc;IAEzC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;WAEa,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;WAInC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAItC,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;IAIlB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAGrC;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAehD;AAED,eAAO,MAAM,QAAQ,8CAAmB,CAAC;AAEzC,eAAO,MAAM,OAAO;0BACI,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;wBAI5C,MAAM,WAAW,MAAM,GAAG,MAAM;CAGrD,CAAC"}
1
+ {"version":3,"file":"legacyBitcoin.d.ts","sourceRoot":"","sources":["../../../src/bitgo/legacyBitcoin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAS,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIzE,UAAU,YAAa,SAAQ,eAAe;IAC5C,kBAAkB,IAAI,MAAM,CAAC;CAC9B;AAUD,wBAAgB,aAAa,IAAI,YAAY,CAE5C;AAED;;GAEG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,cAAc;IAEzC,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;WAEa,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;WAInC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAItC,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;IAIlB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAGrC;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAehD;AAED,eAAO,MAAM,QAAQ,8CAAmB,CAAC;AAEzC,eAAO,MAAM,OAAO;0BACI,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;wBAI5C,MAAM,WAAW,MAAM,GAAG,MAAM;CAGrD,CAAC"}
@@ -15,15 +15,27 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.address = exports.networks = exports.hdPath = exports.HDNode = exports.makeRandomKey = void 0;
36
+ exports.address = exports.networks = exports.HDNode = void 0;
37
+ exports.makeRandomKey = makeRandomKey;
38
+ exports.hdPath = hdPath;
27
39
  const utxolib = __importStar(require("@bitgo/utxo-lib"));
28
40
  const utxo_lib_1 = require("@bitgo/utxo-lib");
29
41
  const api_1 = require("../api");
@@ -38,7 +50,6 @@ function createECPairCompat(ecPair) {
38
50
  function makeRandomKey() {
39
51
  return createECPairCompat(bitcoinUtil.makeRandomKey());
40
52
  }
41
- exports.makeRandomKey = makeRandomKey;
42
53
  /**
43
54
  * Implementation of legacy "HDNode" class as used by certain components
44
55
  */
@@ -88,7 +99,6 @@ function hdPath(hdNode) {
88
99
  },
89
100
  };
90
101
  }
91
- exports.hdPath = hdPath;
92
102
  exports.networks = utxolib.networks;
93
103
  exports.address = {
94
104
  fromBase58Check(addr) {
@@ -98,4 +108,4 @@ exports.address = {
98
108
  return utxolib.address.toBase58Check(hash, version, utxolib.networks.bitcoin);
99
109
  },
100
110
  };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5Qml0Y29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaXRnby9sZWdhY3lCaXRjb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQTJDO0FBQzNDLDhDQUF5RTtBQUN6RSxnQ0FBNEM7QUFDNUMsdURBQXlDO0FBTXpDLFNBQVMsa0JBQWtCLENBQUMsTUFBdUI7SUFDakQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUMzQixrQkFBa0I7WUFDaEIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsYUFBYTtJQUMzQixPQUFPLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFGRCxzQ0FFQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxNQUFNO0lBQ2pCLFlBQW9CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQUcsQ0FBQztJQUU3QyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDdEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxnQkFBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDbEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLFVBQVUsQ0FBQyxDQUFTO1FBQ3pCLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBQSx3QkFBa0IsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBbENELHdCQWtDQztBQU9ELFNBQWdCLE1BQU0sQ0FBQyxNQUFjO0lBQ25DLE9BQU87UUFDTCxNQUFNLENBQUMsSUFBWTtZQUNqQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELFNBQVMsQ0FBQyxJQUFZO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2FBQzNFO2lCQUFNO2dCQUNMLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDekU7UUFDSCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFmRCx3QkFlQztBQUVZLFFBQUEsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFFNUIsUUFBQSxPQUFPLEdBQUc7SUFDckIsZUFBZSxDQUFDLElBQVk7UUFDMUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVksRUFBRSxPQUFlO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlLCBFQ1BhaXJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgc2FuaXRpemVMZWdhY3lQYXRoIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCAqIGFzIGJpdGNvaW5VdGlsIGZyb20gJy4vYml0Y29pbic7XG5cbmludGVyZmFjZSBFQ1BhaXJDb21wYXQgZXh0ZW5kcyBFQ1BhaXJJbnRlcmZhY2Uge1xuICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFQ1BhaXJDb21wYXQoZWNQYWlyOiBFQ1BhaXJJbnRlcmZhY2UpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihlY1BhaXIsIHtcbiAgICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyIHtcbiAgICAgIHJldHVybiBlY1BhaXIucHVibGljS2V5O1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVJhbmRvbUtleSgpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KGJpdGNvaW5VdGlsLm1ha2VSYW5kb21LZXkoKSk7XG59XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgbGVnYWN5IFwiSEROb2RlXCIgY2xhc3MgYXMgdXNlZCBieSBjZXJ0YWluIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEhETm9kZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmlwMzI6IEJJUDMySW50ZXJmYWNlKSB7fVxuXG4gIGdldCBwdWJsaWNLZXkoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi5wdWJsaWNLZXk7XG4gIH1cblxuICBnZXQgcHJpdmF0ZUtleSgpOiBCdWZmZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLnByaXZhdGVLZXk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21TZWVkQnVmZmVyKGJ1ZjogQnVmZmVyKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZShiaXAzMi5mcm9tU2VlZChidWYpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJhc2U1OChzdHI6IHN0cmluZyk6IEhETm9kZSB7XG4gICAgcmV0dXJuIG5ldyBIRE5vZGUoYmlwMzIuZnJvbUJhc2U1OChzdHIpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05ldXRlcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLmlzTmV1dGVyZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXV0ZXJlZCgpOiBIRE5vZGUge1xuICAgIHJldHVybiBuZXcgSEROb2RlKHRoaXMuYmlwMzIubmV1dGVyZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgdG9CYXNlNTgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi50b0Jhc2U1OCgpO1xuICB9XG5cbiAgcHVibGljIGRlcml2ZVBhdGgocDogc3RyaW5nKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZSh0aGlzLmJpcDMyLmRlcml2ZVBhdGgoc2FuaXRpemVMZWdhY3lQYXRoKHApKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmFibGUge1xuICBkZXJpdmVLZXkocGF0aDogc3RyaW5nKTogRUNQYWlyQ29tcGF0O1xuICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGRQYXRoKGhkTm9kZTogSEROb2RlKTogRGVyaXZhYmxlIHtcbiAgcmV0dXJuIHtcbiAgICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlIHtcbiAgICAgIHJldHVybiBoZE5vZGUuZGVyaXZlUGF0aChwYXRoKTtcbiAgICB9LFxuXG4gICAgZGVyaXZlS2V5KHBhdGg6IHN0cmluZyk6IEVDUGFpckNvbXBhdCB7XG4gICAgICBjb25zdCBub2RlID0gaGROb2RlLmRlcml2ZVBhdGgocGF0aCk7XG4gICAgICBpZiAobm9kZS5wcml2YXRlS2V5KSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVFQ1BhaXJDb21wYXQodXR4b2xpYi5FQ1BhaXIuZnJvbVByaXZhdGVLZXkobm9kZS5wcml2YXRlS2V5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KHV0eG9saWIuRUNQYWlyLmZyb21QdWJsaWNLZXkobm9kZS5wdWJsaWNLZXkpKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgbmV0d29ya3MgPSB1dHhvbGliLm5ldHdvcmtzO1xuXG5leHBvcnQgY29uc3QgYWRkcmVzcyA9IHtcbiAgZnJvbUJhc2U1OENoZWNrKGFkZHI6IHN0cmluZyk6IHsgaGFzaDogQnVmZmVyOyB2ZXJzaW9uOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHV0eG9saWIuYWRkcmVzcy5mcm9tQmFzZTU4Q2hlY2soYWRkciwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcblxuICB0b0Jhc2U1OENoZWNrKGhhc2g6IEJ1ZmZlciwgdmVyc2lvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzLnRvQmFzZTU4Q2hlY2soaGFzaCwgdmVyc2lvbiwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcbn07XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5Qml0Y29pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaXRnby9sZWdhY3lCaXRjb2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxzQ0FFQztBQThDRCx3QkFlQztBQWhGRCx5REFBMkM7QUFDM0MsOENBQXlFO0FBQ3pFLGdDQUE0QztBQUM1Qyx1REFBeUM7QUFNekMsU0FBUyxrQkFBa0IsQ0FBQyxNQUF1QjtJQUNqRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQzNCLGtCQUFrQjtZQUNoQixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFnQixhQUFhO0lBQzNCLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxNQUFNO0lBQ2pCLFlBQW9CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQUcsQ0FBQztJQUU3QyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDdEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxnQkFBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDbEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxnQkFBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLFVBQVUsQ0FBQyxDQUFTO1FBQ3pCLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBQSx3QkFBa0IsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBbENELHdCQWtDQztBQU9ELFNBQWdCLE1BQU0sQ0FBQyxNQUFjO0lBQ25DLE9BQU87UUFDTCxNQUFNLENBQUMsSUFBWTtZQUNqQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUVELFNBQVMsQ0FBQyxJQUFZO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDNUUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDMUUsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7QUFFNUIsUUFBQSxPQUFPLEdBQUc7SUFDckIsZUFBZSxDQUFDLElBQVk7UUFDMUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQVksRUFBRSxPQUFlO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hGLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgYmlwMzIsIEJJUDMySW50ZXJmYWNlLCBFQ1BhaXJJbnRlcmZhY2UgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgc2FuaXRpemVMZWdhY3lQYXRoIH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCAqIGFzIGJpdGNvaW5VdGlsIGZyb20gJy4vYml0Y29pbic7XG5cbmludGVyZmFjZSBFQ1BhaXJDb21wYXQgZXh0ZW5kcyBFQ1BhaXJJbnRlcmZhY2Uge1xuICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFQ1BhaXJDb21wYXQoZWNQYWlyOiBFQ1BhaXJJbnRlcmZhY2UpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihlY1BhaXIsIHtcbiAgICBnZXRQdWJsaWNLZXlCdWZmZXIoKTogQnVmZmVyIHtcbiAgICAgIHJldHVybiBlY1BhaXIucHVibGljS2V5O1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVJhbmRvbUtleSgpOiBFQ1BhaXJDb21wYXQge1xuICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KGJpdGNvaW5VdGlsLm1ha2VSYW5kb21LZXkoKSk7XG59XG5cbi8qKlxuICogSW1wbGVtZW50YXRpb24gb2YgbGVnYWN5IFwiSEROb2RlXCIgY2xhc3MgYXMgdXNlZCBieSBjZXJ0YWluIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEhETm9kZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYmlwMzI6IEJJUDMySW50ZXJmYWNlKSB7fVxuXG4gIGdldCBwdWJsaWNLZXkoKTogQnVmZmVyIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi5wdWJsaWNLZXk7XG4gIH1cblxuICBnZXQgcHJpdmF0ZUtleSgpOiBCdWZmZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLnByaXZhdGVLZXk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21TZWVkQnVmZmVyKGJ1ZjogQnVmZmVyKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZShiaXAzMi5mcm9tU2VlZChidWYpKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUJhc2U1OChzdHI6IHN0cmluZyk6IEhETm9kZSB7XG4gICAgcmV0dXJuIG5ldyBIRE5vZGUoYmlwMzIuZnJvbUJhc2U1OChzdHIpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc05ldXRlcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJpcDMyLmlzTmV1dGVyZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZXV0ZXJlZCgpOiBIRE5vZGUge1xuICAgIHJldHVybiBuZXcgSEROb2RlKHRoaXMuYmlwMzIubmV1dGVyZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgdG9CYXNlNTgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5iaXAzMi50b0Jhc2U1OCgpO1xuICB9XG5cbiAgcHVibGljIGRlcml2ZVBhdGgocDogc3RyaW5nKTogSEROb2RlIHtcbiAgICByZXR1cm4gbmV3IEhETm9kZSh0aGlzLmJpcDMyLmRlcml2ZVBhdGgoc2FuaXRpemVMZWdhY3lQYXRoKHApKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXJpdmFibGUge1xuICBkZXJpdmVLZXkocGF0aDogc3RyaW5nKTogRUNQYWlyQ29tcGF0O1xuICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGRQYXRoKGhkTm9kZTogSEROb2RlKTogRGVyaXZhYmxlIHtcbiAgcmV0dXJuIHtcbiAgICBkZXJpdmUocGF0aDogc3RyaW5nKTogSEROb2RlIHtcbiAgICAgIHJldHVybiBoZE5vZGUuZGVyaXZlUGF0aChwYXRoKTtcbiAgICB9LFxuXG4gICAgZGVyaXZlS2V5KHBhdGg6IHN0cmluZyk6IEVDUGFpckNvbXBhdCB7XG4gICAgICBjb25zdCBub2RlID0gaGROb2RlLmRlcml2ZVBhdGgocGF0aCk7XG4gICAgICBpZiAobm9kZS5wcml2YXRlS2V5KSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVFQ1BhaXJDb21wYXQodXR4b2xpYi5FQ1BhaXIuZnJvbVByaXZhdGVLZXkobm9kZS5wcml2YXRlS2V5KSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY3JlYXRlRUNQYWlyQ29tcGF0KHV0eG9saWIuRUNQYWlyLmZyb21QdWJsaWNLZXkobm9kZS5wdWJsaWNLZXkpKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgbmV0d29ya3MgPSB1dHhvbGliLm5ldHdvcmtzO1xuXG5leHBvcnQgY29uc3QgYWRkcmVzcyA9IHtcbiAgZnJvbUJhc2U1OENoZWNrKGFkZHI6IHN0cmluZyk6IHsgaGFzaDogQnVmZmVyOyB2ZXJzaW9uOiBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHV0eG9saWIuYWRkcmVzcy5mcm9tQmFzZTU4Q2hlY2soYWRkciwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcblxuICB0b0Jhc2U1OENoZWNrKGhhc2g6IEJ1ZmZlciwgdmVyc2lvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzLnRvQmFzZTU4Q2hlY2soaGFzaCwgdmVyc2lvbiwgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luKTtcbiAgfSxcbn07XG4iXX0=
@@ -15,15 +15,26 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.UpdateLightningWallet = exports.LightningWalletCoinSpecific = exports.WatchOnly = exports.WatchOnlyAccount = exports.LightningAuthKeychain = exports.LightningKeychain = exports.LightningAuthKeychainCoinSpecific = exports.KeyPurpose = exports.IPAddress = exports.getCodecPair = void 0;
36
+ exports.UpdateLightningWallet = exports.LightningWalletCoinSpecific = exports.WatchOnly = exports.WatchOnlyAccount = exports.LightningAuthKeychain = exports.LightningKeychain = exports.LightningAuthKeychainCoinSpecific = exports.KeyPurpose = exports.IPAddress = void 0;
37
+ exports.getCodecPair = getCodecPair;
27
38
  /* eslint-disable no-redeclare */
28
39
  const t = __importStar(require("io-ts"));
29
40
  const net_1 = require("net");
@@ -31,7 +42,6 @@ const io_ts_types_1 = require("io-ts-types");
31
42
  function getCodecPair(innerCodec) {
32
43
  return t.union([t.type({ lnbtc: innerCodec }), t.type({ tlnbtc: innerCodec })]);
33
44
  }
34
- exports.getCodecPair = getCodecPair;
35
45
  exports.IPAddress = t.brand(t.string, (input) => (0, net_1.isIP)(input) !== 0, // Type guard that checks if the string is a valid IP
36
46
  'IPAddress');
37
47
  exports.KeyPurpose = t.union([t.literal('userAuth'), t.literal('nodeAuth')], 'KeyPurpose');
@@ -72,4 +82,4 @@ exports.UpdateLightningWallet = t.partial({
72
82
  coinSpecific: exports.LightningWalletCoinSpecific,
73
83
  signature: t.string,
74
84
  }, 'UpdateLightningWallet');
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9jb2RlY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMseUNBQTJCO0FBQzNCLDZCQUEyQjtBQUMzQiw2Q0FBNkM7QUFFN0MsU0FBZ0IsWUFBWSxDQUMxQixVQUFhO0lBRWIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQUpELG9DQUlDO0FBTVksUUFBQSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FDOUIsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLEtBQUssRUFBOEMsRUFBRSxDQUFDLElBQUEsVUFBSSxFQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxxREFBcUQ7QUFDL0gsV0FBVyxDQUNaLENBQUM7QUFJVyxRQUFBLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFJbkYsUUFBQSxpQ0FBaUMsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxrQkFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRWxGLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDdkM7SUFDRSxFQUFFLEVBQUUsNEJBQWM7SUFDbEIsR0FBRyxFQUFFLDRCQUFjO0lBQ25CLFlBQVksRUFBRSw0QkFBYztJQUM1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Q0FDMUIsRUFDRCxtQkFBbUIsQ0FDcEIsQ0FBQztBQUlXLFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDM0M7SUFDRSxFQUFFLEVBQUUsNEJBQWM7SUFDbEIsR0FBRyxFQUFFLDRCQUFjO0lBQ25CLFlBQVksRUFBRSw0QkFBYztJQUM1QixZQUFZLEVBQUUseUNBQWlDO0lBQy9DLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztDQUMxQixFQUNELHVCQUF1QixDQUN4QixDQUFDO0FBSVcsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNqQixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2pCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNmLENBQUMsQ0FBQztBQUlVLFFBQUEsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUIsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDdkMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDaEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsd0JBQWdCLENBQUM7Q0FDcEMsQ0FBQyxDQUFDO0FBSVUsUUFBQSwyQkFBMkIsR0FBRyxZQUFZLENBQ3JELENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDUiw0QkFBNEIsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUN0QyxRQUFRLEVBQUUsaUJBQVM7SUFDbkIsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3ZCLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQy9CLFNBQVMsRUFBRSxpQkFBUztJQUNwQix1QkFBdUIsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNsQyxDQUFDLENBQ0gsQ0FBQztBQUlXLFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FDNUM7SUFDRSxZQUFZLEVBQUUsbUNBQTJCO0lBQ3pDLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNwQixFQUNELHVCQUF1QixDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVkZWNsYXJlICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcbmltcG9ydCB7IGlzSVAgfSBmcm9tICduZXQnO1xuaW1wb3J0IHsgTm9uRW1wdHlTdHJpbmcgfSBmcm9tICdpby10cy10eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2RlY1BhaXI8QyBleHRlbmRzIHQuTWl4ZWQ+KFxuICBpbm5lckNvZGVjOiBDXG4pOiB0LlVuaW9uQzxbdC5UeXBlQzx7IGxuYnRjOiBDIH0+LCB0LlR5cGVDPHsgdGxuYnRjOiBDIH0+XT4ge1xuICByZXR1cm4gdC51bmlvbihbdC50eXBlKHsgbG5idGM6IGlubmVyQ29kZWMgfSksIHQudHlwZSh7IHRsbmJ0YzogaW5uZXJDb2RlYyB9KV0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQQWRkcmVzc0JyYW5kIHtcbiAgcmVhZG9ubHkgSVBBZGRyZXNzOiB1bmlxdWUgc3ltYm9sOyAvLyBFbnN1cmVzIHVuaXF1ZW5lc3MgYWNyb3NzIG1vZHVsZXNcbn1cblxuZXhwb3J0IGNvbnN0IElQQWRkcmVzcyA9IHQuYnJhbmQoXG4gIHQuc3RyaW5nLFxuICAoaW5wdXQpOiBpbnB1dCBpcyB0LkJyYW5kZWQ8c3RyaW5nLCBJUEFkZHJlc3NCcmFuZD4gPT4gaXNJUChpbnB1dCkgIT09IDAsIC8vIFR5cGUgZ3VhcmQgdGhhdCBjaGVja3MgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIElQXG4gICdJUEFkZHJlc3MnXG4pO1xuXG5leHBvcnQgdHlwZSBJUEFkZHJlc3MgPSB0LlR5cGVPZjx0eXBlb2YgSVBBZGRyZXNzPjtcblxuZXhwb3J0IGNvbnN0IEtleVB1cnBvc2UgPSB0LnVuaW9uKFt0LmxpdGVyYWwoJ3VzZXJBdXRoJyksIHQubGl0ZXJhbCgnbm9kZUF1dGgnKV0sICdLZXlQdXJwb3NlJyk7XG5cbmV4cG9ydCB0eXBlIEtleVB1cnBvc2UgPSB0LlR5cGVPZjx0eXBlb2YgS2V5UHVycG9zZT47XG5cbmV4cG9ydCBjb25zdCBMaWdodG5pbmdBdXRoS2V5Y2hhaW5Db2luU3BlY2lmaWMgPSBnZXRDb2RlY1BhaXIodC50eXBlKHsgcHVycG9zZTogS2V5UHVycG9zZSB9KSk7XG5cbmV4cG9ydCBjb25zdCBMaWdodG5pbmdLZXljaGFpbiA9IHQuc3RyaWN0KFxuICB7XG4gICAgaWQ6IE5vbkVtcHR5U3RyaW5nLFxuICAgIHB1YjogTm9uRW1wdHlTdHJpbmcsXG4gICAgZW5jcnlwdGVkUHJ2OiBOb25FbXB0eVN0cmluZyxcbiAgICBzb3VyY2U6IHQubGl0ZXJhbCgndXNlcicpLFxuICB9LFxuICAnTGlnaHRuaW5nS2V5Y2hhaW4nXG4pO1xuXG5leHBvcnQgdHlwZSBMaWdodG5pbmdLZXljaGFpbiA9IHQuVHlwZU9mPHR5cGVvZiBMaWdodG5pbmdLZXljaGFpbj47XG5cbmV4cG9ydCBjb25zdCBMaWdodG5pbmdBdXRoS2V5Y2hhaW4gPSB0LnN0cmljdChcbiAge1xuICAgIGlkOiBOb25FbXB0eVN0cmluZyxcbiAgICBwdWI6IE5vbkVtcHR5U3RyaW5nLFxuICAgIGVuY3J5cHRlZFBydjogTm9uRW1wdHlTdHJpbmcsXG4gICAgY29pblNwZWNpZmljOiBMaWdodG5pbmdBdXRoS2V5Y2hhaW5Db2luU3BlY2lmaWMsXG4gICAgc291cmNlOiB0LmxpdGVyYWwoJ3VzZXInKSxcbiAgfSxcbiAgJ0xpZ2h0bmluZ0F1dGhLZXljaGFpbidcbik7XG5cbmV4cG9ydCB0eXBlIExpZ2h0bmluZ0F1dGhLZXljaGFpbiA9IHQuVHlwZU9mPHR5cGVvZiBMaWdodG5pbmdBdXRoS2V5Y2hhaW4+O1xuXG5leHBvcnQgY29uc3QgV2F0Y2hPbmx5QWNjb3VudCA9IHQudHlwZSh7XG4gIHB1cnBvc2U6IHQubnVtYmVyLFxuICBjb2luX3R5cGU6IHQubnVtYmVyLFxuICBhY2NvdW50OiB0Lm51bWJlcixcbiAgeHB1YjogdC5zdHJpbmcsXG59KTtcblxuZXhwb3J0IHR5cGUgV2F0Y2hPbmx5QWNjb3VudCA9IHQuVHlwZU9mPHR5cGVvZiBXYXRjaE9ubHlBY2NvdW50PjtcblxuZXhwb3J0IGNvbnN0IFdhdGNoT25seSA9IHQudHlwZSh7XG4gIG1hc3Rlcl9rZXlfYmlydGhkYXlfdGltZXN0YW1wOiB0LnN0cmluZyxcbiAgbWFzdGVyX2tleV9maW5nZXJwcmludDogdC5zdHJpbmcsXG4gIGFjY291bnRzOiB0LmFycmF5KFdhdGNoT25seUFjY291bnQpLFxufSk7XG5cbmV4cG9ydCB0eXBlIFdhdGNoT25seSA9IHQuVHlwZU9mPHR5cGVvZiBXYXRjaE9ubHk+O1xuXG5leHBvcnQgY29uc3QgTGlnaHRuaW5nV2FsbGV0Q29pblNwZWNpZmljID0gZ2V0Q29kZWNQYWlyKFxuICB0LnBhcnRpYWwoe1xuICAgIGVuY3J5cHRlZFNpZ25lckFkbWluTWFjYXJvb246IHQuc3RyaW5nLFxuICAgIHNpZ25lcklQOiBJUEFkZHJlc3MsXG4gICAgc2lnbmVyVGxzQ2VydDogdC5zdHJpbmcsXG4gICAgZW5jcnlwdGVkU2lnbmVyVGxzS2V5OiB0LnN0cmluZyxcbiAgICB3YXRjaE9ubHk6IFdhdGNoT25seSxcbiAgICBlbmNyeXB0ZWRTaWduZXJNYWNhcm9vbjogdC5zdHJpbmcsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBMaWdodG5pbmdXYWxsZXRDb2luU3BlY2lmaWMgPSB0LlR5cGVPZjx0eXBlb2YgTGlnaHRuaW5nV2FsbGV0Q29pblNwZWNpZmljPjtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUxpZ2h0bmluZ1dhbGxldCA9IHQucGFydGlhbChcbiAge1xuICAgIGNvaW5TcGVjaWZpYzogTGlnaHRuaW5nV2FsbGV0Q29pblNwZWNpZmljLFxuICAgIHNpZ25hdHVyZTogdC5zdHJpbmcsXG4gIH0sXG4gICdVcGRhdGVMaWdodG5pbmdXYWxsZXQnXG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVMaWdodG5pbmdXYWxsZXQgPSB0LlR5cGVPZjx0eXBlb2YgVXBkYXRlTGlnaHRuaW5nV2FsbGV0PjtcbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9jb2RlY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0Esb0NBSUM7QUFURCxpQ0FBaUM7QUFDakMseUNBQTJCO0FBQzNCLDZCQUEyQjtBQUMzQiw2Q0FBNkM7QUFFN0MsU0FBZ0IsWUFBWSxDQUMxQixVQUFhO0lBRWIsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQU1ZLFFBQUEsU0FBUyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQzlCLENBQUMsQ0FBQyxNQUFNLEVBQ1IsQ0FBQyxLQUFLLEVBQThDLEVBQUUsQ0FBQyxJQUFBLFVBQUksRUFBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUscURBQXFEO0FBQy9ILFdBQVcsQ0FDWixDQUFDO0FBSVcsUUFBQSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBSW5GLFFBQUEsaUNBQWlDLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVsRixRQUFBLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3ZDO0lBQ0UsRUFBRSxFQUFFLDRCQUFjO0lBQ2xCLEdBQUcsRUFBRSw0QkFBYztJQUNuQixZQUFZLEVBQUUsNEJBQWM7SUFDNUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0NBQzFCLEVBQ0QsbUJBQW1CLENBQ3BCLENBQUM7QUFJVyxRQUFBLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQzNDO0lBQ0UsRUFBRSxFQUFFLDRCQUFjO0lBQ2xCLEdBQUcsRUFBRSw0QkFBYztJQUNuQixZQUFZLEVBQUUsNEJBQWM7SUFDNUIsWUFBWSxFQUFFLHlDQUFpQztJQUMvQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Q0FDMUIsRUFDRCx1QkFBdUIsQ0FDeEIsQ0FBQztBQUlXLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNyQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDakIsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ25CLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNqQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDZixDQUFDLENBQUM7QUFJVSxRQUFBLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlCLDZCQUE2QixFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3ZDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2hDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLHdCQUFnQixDQUFDO0NBQ3BDLENBQUMsQ0FBQztBQUlVLFFBQUEsMkJBQTJCLEdBQUcsWUFBWSxDQUNyRCxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ1IsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDdEMsUUFBUSxFQUFFLGlCQUFTO0lBQ25CLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUN2QixxQkFBcUIsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUMvQixTQUFTLEVBQUUsaUJBQVM7SUFDcEIsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDbEMsQ0FBQyxDQUNILENBQUM7QUFJVyxRQUFBLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxPQUFPLENBQzVDO0lBQ0UsWUFBWSxFQUFFLG1DQUEyQjtJQUN6QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDcEIsRUFDRCx1QkFBdUIsQ0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlZGVjbGFyZSAqL1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBpc0lQIH0gZnJvbSAnbmV0JztcbmltcG9ydCB7IE5vbkVtcHR5U3RyaW5nIH0gZnJvbSAnaW8tdHMtdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29kZWNQYWlyPEMgZXh0ZW5kcyB0Lk1peGVkPihcbiAgaW5uZXJDb2RlYzogQ1xuKTogdC5VbmlvbkM8W3QuVHlwZUM8eyBsbmJ0YzogQyB9PiwgdC5UeXBlQzx7IHRsbmJ0YzogQyB9Pl0+IHtcbiAgcmV0dXJuIHQudW5pb24oW3QudHlwZSh7IGxuYnRjOiBpbm5lckNvZGVjIH0pLCB0LnR5cGUoeyB0bG5idGM6IGlubmVyQ29kZWMgfSldKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUEFkZHJlc3NCcmFuZCB7XG4gIHJlYWRvbmx5IElQQWRkcmVzczogdW5pcXVlIHN5bWJvbDsgLy8gRW5zdXJlcyB1bmlxdWVuZXNzIGFjcm9zcyBtb2R1bGVzXG59XG5cbmV4cG9ydCBjb25zdCBJUEFkZHJlc3MgPSB0LmJyYW5kKFxuICB0LnN0cmluZyxcbiAgKGlucHV0KTogaW5wdXQgaXMgdC5CcmFuZGVkPHN0cmluZywgSVBBZGRyZXNzQnJhbmQ+ID0+IGlzSVAoaW5wdXQpICE9PSAwLCAvLyBUeXBlIGd1YXJkIHRoYXQgY2hlY2tzIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBJUFxuICAnSVBBZGRyZXNzJ1xuKTtcblxuZXhwb3J0IHR5cGUgSVBBZGRyZXNzID0gdC5UeXBlT2Y8dHlwZW9mIElQQWRkcmVzcz47XG5cbmV4cG9ydCBjb25zdCBLZXlQdXJwb3NlID0gdC51bmlvbihbdC5saXRlcmFsKCd1c2VyQXV0aCcpLCB0LmxpdGVyYWwoJ25vZGVBdXRoJyldLCAnS2V5UHVycG9zZScpO1xuXG5leHBvcnQgdHlwZSBLZXlQdXJwb3NlID0gdC5UeXBlT2Y8dHlwZW9mIEtleVB1cnBvc2U+O1xuXG5leHBvcnQgY29uc3QgTGlnaHRuaW5nQXV0aEtleWNoYWluQ29pblNwZWNpZmljID0gZ2V0Q29kZWNQYWlyKHQudHlwZSh7IHB1cnBvc2U6IEtleVB1cnBvc2UgfSkpO1xuXG5leHBvcnQgY29uc3QgTGlnaHRuaW5nS2V5Y2hhaW4gPSB0LnN0cmljdChcbiAge1xuICAgIGlkOiBOb25FbXB0eVN0cmluZyxcbiAgICBwdWI6IE5vbkVtcHR5U3RyaW5nLFxuICAgIGVuY3J5cHRlZFBydjogTm9uRW1wdHlTdHJpbmcsXG4gICAgc291cmNlOiB0LmxpdGVyYWwoJ3VzZXInKSxcbiAgfSxcbiAgJ0xpZ2h0bmluZ0tleWNoYWluJ1xuKTtcblxuZXhwb3J0IHR5cGUgTGlnaHRuaW5nS2V5Y2hhaW4gPSB0LlR5cGVPZjx0eXBlb2YgTGlnaHRuaW5nS2V5Y2hhaW4+O1xuXG5leHBvcnQgY29uc3QgTGlnaHRuaW5nQXV0aEtleWNoYWluID0gdC5zdHJpY3QoXG4gIHtcbiAgICBpZDogTm9uRW1wdHlTdHJpbmcsXG4gICAgcHViOiBOb25FbXB0eVN0cmluZyxcbiAgICBlbmNyeXB0ZWRQcnY6IE5vbkVtcHR5U3RyaW5nLFxuICAgIGNvaW5TcGVjaWZpYzogTGlnaHRuaW5nQXV0aEtleWNoYWluQ29pblNwZWNpZmljLFxuICAgIHNvdXJjZTogdC5saXRlcmFsKCd1c2VyJyksXG4gIH0sXG4gICdMaWdodG5pbmdBdXRoS2V5Y2hhaW4nXG4pO1xuXG5leHBvcnQgdHlwZSBMaWdodG5pbmdBdXRoS2V5Y2hhaW4gPSB0LlR5cGVPZjx0eXBlb2YgTGlnaHRuaW5nQXV0aEtleWNoYWluPjtcblxuZXhwb3J0IGNvbnN0IFdhdGNoT25seUFjY291bnQgPSB0LnR5cGUoe1xuICBwdXJwb3NlOiB0Lm51bWJlcixcbiAgY29pbl90eXBlOiB0Lm51bWJlcixcbiAgYWNjb3VudDogdC5udW1iZXIsXG4gIHhwdWI6IHQuc3RyaW5nLFxufSk7XG5cbmV4cG9ydCB0eXBlIFdhdGNoT25seUFjY291bnQgPSB0LlR5cGVPZjx0eXBlb2YgV2F0Y2hPbmx5QWNjb3VudD47XG5cbmV4cG9ydCBjb25zdCBXYXRjaE9ubHkgPSB0LnR5cGUoe1xuICBtYXN0ZXJfa2V5X2JpcnRoZGF5X3RpbWVzdGFtcDogdC5zdHJpbmcsXG4gIG1hc3Rlcl9rZXlfZmluZ2VycHJpbnQ6IHQuc3RyaW5nLFxuICBhY2NvdW50czogdC5hcnJheShXYXRjaE9ubHlBY2NvdW50KSxcbn0pO1xuXG5leHBvcnQgdHlwZSBXYXRjaE9ubHkgPSB0LlR5cGVPZjx0eXBlb2YgV2F0Y2hPbmx5PjtcblxuZXhwb3J0IGNvbnN0IExpZ2h0bmluZ1dhbGxldENvaW5TcGVjaWZpYyA9IGdldENvZGVjUGFpcihcbiAgdC5wYXJ0aWFsKHtcbiAgICBlbmNyeXB0ZWRTaWduZXJBZG1pbk1hY2Fyb29uOiB0LnN0cmluZyxcbiAgICBzaWduZXJJUDogSVBBZGRyZXNzLFxuICAgIHNpZ25lclRsc0NlcnQ6IHQuc3RyaW5nLFxuICAgIGVuY3J5cHRlZFNpZ25lclRsc0tleTogdC5zdHJpbmcsXG4gICAgd2F0Y2hPbmx5OiBXYXRjaE9ubHksXG4gICAgZW5jcnlwdGVkU2lnbmVyTWFjYXJvb246IHQuc3RyaW5nLFxuICB9KVxuKTtcblxuZXhwb3J0IHR5cGUgTGlnaHRuaW5nV2FsbGV0Q29pblNwZWNpZmljID0gdC5UeXBlT2Y8dHlwZW9mIExpZ2h0bmluZ1dhbGxldENvaW5TcGVjaWZpYz47XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVMaWdodG5pbmdXYWxsZXQgPSB0LnBhcnRpYWwoXG4gIHtcbiAgICBjb2luU3BlY2lmaWM6IExpZ2h0bmluZ1dhbGxldENvaW5TcGVjaWZpYyxcbiAgICBzaWduYXR1cmU6IHQuc3RyaW5nLFxuICB9LFxuICAnVXBkYXRlTGlnaHRuaW5nV2FsbGV0J1xuKTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlTGlnaHRuaW5nV2FsbGV0ID0gdC5UeXBlT2Y8dHlwZW9mIFVwZGF0ZUxpZ2h0bmluZ1dhbGxldD47XG4iXX0=
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.LnurlPayResponse = exports.GetPaymentsResponse = exports.GetInvoicesResponse = exports.GetBalanceResponse = exports.PayInvoiceResponse = exports.DepositResponse = exports.CreateDepositAddressResponse = exports.CreateInvoiceResponse = exports.WithdrawResponse = exports.WPTransfer = exports.WPTransferEntry = void 0;
27
37
  /* eslint-disable no-redeclare */
@@ -107,4 +117,4 @@ exports.LnurlPayResponse = t.strict({
107
117
  /** A json array in string format describing the payment */
108
118
  metadata: t.string,
109
119
  });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUxpZ2h0bmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvY3VzdG9kaWFsL2lMaWdodG5pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMseUNBQTJCO0FBOENkLFFBQUEsZUFBZSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQ3RDO0lBQ0UsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNqQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPO0lBQ25CLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztJQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDaEIsRUFDRCxpQkFBaUIsQ0FDbEIsQ0FBQztBQUlXLFFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzlCO0lBQ0UsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsdUJBQWUsQ0FBQztJQUNqQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDWixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2QsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2YsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2hCLEVBQ0QsWUFBWSxDQUNiLENBQUM7QUFJVyxRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3RDO0lBQ0UsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2YsRUFDRCwwQkFBMEIsQ0FDM0IsQ0FBQztBQUlXLFFBQUEscUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDM0M7SUFDRSxL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LEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2xCLGVBQWUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ3RCLENBQUMsQ0FBQztBQUVVLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUkzQyxRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBQzVCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQiw0RUFBNEU7SUFDNUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLDRFQUE0RTtJQUM1RSxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDckIsMkRBQTJEO0lBQzNELFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNuQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZWRlY2xhcmUgKi9cbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUludm9pY2VQYXJhbXMge1xuICB2YWx1ZTogbnVtYmVyO1xuICBtZW1vPzogc3RyaW5nO1xuICBleHBpcnk/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlnaHRuaW5nV2l0aGRyYXdhbFBhcmFtcyB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGRlc3RpbmF0aW9uPzogc3RyaW5nO1xuICBzZXF1ZW5jZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ0RlcG9zaXRQYXJhbXMge1xuICBhbW91bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXlJbnZvaWNlUGFyYW1zIHtcbiAgaW52b2ljZTogc3RyaW5nO1xuICBzZXF1ZW5jZUlkPzogc3RyaW5nO1xuICBjb21tZW50Pzogc3RyaW5nO1xuICBmZWVMaW1pdFJhdGlvPzogbnVtYmVyO1xuICBmZWVMaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRJbnZvaWNlc1F1ZXJ5IHtcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgc3RhcnREYXRlPzogc3RyaW5nO1xuICBlbmREYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBheW1lbnRzUXVlcnkge1xuICBzdGF0dXM/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICBzdGFydERhdGU/OiBzdHJpbmc7XG4gIGVuZERhdGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG51cmxQYXlQYXJhbXMge1xuICBjYWxsYmFjazogc3RyaW5nO1xuICBtaWxsaXNhdEFtb3VudDogc3RyaW5nO1xuICBtZXRhZGF0YTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgV1BUcmFuc2ZlckVudHJ5ID0gdC5wYXJ0aWFsKFxuICB7XG4gICAgd2FsbGV0OiB0LnN0cmluZyxcbiAgICBhZGRyZXNzOiB0LnN0cmluZyxcbiAgICB2YWx1ZTogdC5udW1iZXIsXG4gICAgdmFsdWVTdHJpbmc6IHQuc3RyaW5nLFxuICAgIGlzQ2hhbmdlOiB0LmJvb2xlYW4sXG4gICAgaXNQYXlHbzogdC5ib29sZWFuLFxuICAgIHRva2VuOiB0LnN0cmluZyxcbiAgfSxcbiAgJ1dQVHJhbnNmZXJFbnRyeSdcbik7XG5cbmV4cG9ydCB0eXBlIFdQVHJhbnNmZXJFbnRyeSA9IHQuVHlwZU9mPHR5cGVvZiBXUFRyYW5zZmVyRW50cnk+O1xuXG5leHBvcnQgY29uc3QgV1BUcmFuc2ZlciA9IHQudHlwZShcbiAge1xuICAgIGVudHJpZXM6IHQuYXJyYXkoV1BUcmFuc2ZlckVudHJ5KSxcbiAgICBpZDogdC5zdHJpbmcsXG4gICAgaGVpZ2h0SWQ6IHQuc3RyaW5nLFxuICAgIHR5cGU6IHQuc3RyaW5nLFxuICAgIHZhbHVlOiB0Lm51bWJlcixcbiAgICBzdGF0ZTogdC5zdHJpbmcsXG4gIH0sXG4gICdXUFRyYW5zZmVyJ1xuKTtcblxuZXhwb3J0IHR5cGUgV1BUcmFuc2ZlciA9IHQuVHlwZU9mPHR5cGVvZiBXUFRyYW5zZmVyPjtcblxuZXhwb3J0IGNvbnN0IFdpdGhkcmF3UmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIHR4aWQ6IHQuc3RyaW5nLFxuICB9LFxuICAnQ3JlYXRlV2l0aGRyYXdhbFJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgV2l0aGRyYXdSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBXaXRoZHJhd1Jlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUludm9pY2VSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgdmFsdWU6IHQubnVtYmVyLFxuICAgIG1lbW86IHQudW5pb24oW3Quc3RyaW5nLCB0LnVuZGVmaW5lZF0pLFxuICAgIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgICBpbnZvaWNlOiB0LnN0cmluZyxcbiAgICB3YWxsZXRJZDogdC5zdHJpbmcsXG4gICAgc3RhdHVzOiB0LnN0cmluZyxcbiAgICBleHBpcmVzQXQ6IHQuc3RyaW5nLFxuICB9LFxuICAnQ3JlYXRlSW52b2ljZVJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSW52b2ljZVJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIENyZWF0ZUludm9pY2VSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBhZGRyZXNzOiB0LnN0cmluZyxcbiAgfSxcbiAgJ0NyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgRGVwb3NpdFJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBzdGF0dXM6IHQuc3RyaW5nLFxuICAgIHRyYW5zZmVyOiBXUFRyYW5zZmVyLFxuICB9LFxuICAnRGVwb3NpdFJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgRGVwb3NpdFJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIERlcG9zaXRSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBQYXlJbnZvaWNlUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgICB0cmFuc2ZlcjogV1BUcmFuc2ZlcixcbiAgICBzdGF0dXM6IHQuc3RyaW5nLFxuICB9LFxuICAnUGF5SW52b2ljZVJlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgUGF5SW52b2ljZVJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIFBheUludm9pY2VSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBHZXRCYWxhbmNlUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIGJhbGFuY2U6IHQubnVtYmVyLFxuICAgIGF2YWlsYWJsZUJhbGFuY2U6IHQubnVtYmVyLFxuICAgIG1heGltdW1CYWxhbmNlOiB0Lm51bWJlcixcbiAgfSxcbiAgJ0dldEJhbGFuY2VSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIEdldEJhbGFuY2VSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBHZXRCYWxhbmNlUmVzcG9uc2U+O1xuXG5jb25zdCBJbnZvaWNlSW5mbyA9IHQuc3RyaWN0KHtcbiAgcGF5bWVudEhhc2g6IHQuc3RyaW5nLFxuICB3YWxsZXRJZDogdC5zdHJpbmcsXG4gIHN0YXR1czogdC51bmlvbihbdC5saXRlcmFsKCdvcGVuJyksIHQubGl0ZXJhbCgnc2V0dGxlZCcpLCB0LmxpdGVyYWwoJ2NhbmNlbGVkJyldKSxcbiAgdmFsdWU6IHQubnVtYmVyLFxuICBleHBpcmVzQXQ6IHQuc3RyaW5nLFxuICBjcmVhdGVkQXQ6IHQuc3RyaW5nLFxuICB1cGRhdGVkQXQ6IHQuc3RyaW5nLFxuICBhbXRQYWlkU2F0czogdC51bmlvbihbdC5udW1iZXIsIHQudW5kZWZpbmVkXSksXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldEludm9pY2VzUmVzcG9uc2UgPSB0LmFycmF5KEludm9pY2VJbmZvKTtcblxuZXhwb3J0IHR5cGUgR2V0SW52b2ljZXNSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBHZXRJbnZvaWNlc1Jlc3BvbnNlPjtcblxuY29uc3QgUGF5bWVudEluZm8gPSB0LnN0cmljdCh7XG4gIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICBzdGF0dXM6IHQudW5pb24oW3QubGl0ZXJhbCgnaW5fZmxpZ2h0JyksIHQubGl0ZXJhbCgnc2V0dGxlZCcpLCB0LmxpdGVyYWwoJ2ZhaWxlZCcpXSksXG4gIGFtb3VudDogdC51bmlvbihbdC5udW1iZXIsIHQudW5kZWZpbmVkXSksXG4gIGludm9pY2U6IHQuc3RyaW5nLFxuICBzZW5kUXVldWVJZDogdC5zdHJpbmcsXG4gIGZhaWx1cmVSZWFzb246IHQudW5pb24oW3Quc3RyaW5nLCB0LnVuZGVmaW5lZF0pLFxuICBmZWU6IHQudW5pb24oW3QubnVtYmVyLCB0LnVuZGVmaW5lZF0pLFxuICBmZWVMaW1pdDogdC5udW1iZXIsXG4gIHBheW1lbnRQcmVpbWFnZTogdC51bmlvbihbdC5zdHJpbmcsIHQudW5kZWZpbmVkXSksXG4gIGRlc3RpbmF0aW9uOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgY29uc3QgR2V0UGF5bWVudHNSZXNwb25zZSA9IHQuYXJyYXkoUGF5bWVudEluZm8pO1xuXG5leHBvcnQgdHlwZSBHZXRQYXltZW50c1Jlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIEdldFBheW1lbnRzUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgTG51cmxQYXlSZXNwb25zZSA9IHQuc3RyaWN0KHtcbiAgdGFnOiB0LmxpdGVyYWwoJ3BheVJlcXVlc3QnKSxcbiAgY2FsbGJhY2s6IHQuc3RyaW5nLFxuICAvKiogVGhlIG1heGltdW0gYW1vdW50IGluIG1pbGxpc2F0b3NoaXMgd2UgY2FuIHBheSBmb3IgdGhpcyBMTlJVTCByZXF1ZXN0ICovXG4gIG1heFNlbmRhYmxlOiB0Lm51bWJlcixcbiAgLyoqIFRoZSBtaW5pbXVtIGFtb3VudCBpbiBtaWxsaXNhdG9zaGlzIHdlIGNhbiBwYXkgZm9yIHRoaXMgTE5SVUwgcmVxdWVzdCAqL1xuICBtaW5TZW5kYWJsZTogdC5udW1iZXIsXG4gIC8qKiBBIGpzb24gYXJyYXkgaW4gc3RyaW5nIGZvcm1hdCBkZXNjcmliaW5nIHRoZSBwYXltZW50ICovXG4gIG1ldGFkYXRhOiB0LnN0cmluZyxcbn0pO1xuXG5leHBvcnQgdHlwZSBMbnVybFBheVJlc3BvbnNlID0gdC5UeXBlT2Y8dHlwZW9mIExudXJsUGF5UmVzcG9uc2U+O1xuXG5leHBvcnQgdHlwZSBEZWNvZGVkTG51cmxQYXlSZXF1ZXN0ID0gTG51cmxQYXlSZXNwb25zZSAmIHtcbiAgLyoqXG4gICAqIEZyb20gaHR0cHM6Ly9naXRodWIuY29tL2ZpYXRqYWYvbG51cmwtcmZjL2Jsb2IvbHVkcy8wNi5tZCNwYXktdG8tc3RhdGljLXFybmZjbGlua1xuICAgKiBhIHBheW1lbnQgZGlhbG9nIG11c3QgaW5jbHVkZTogRG9tYWluIG5hbWUgZXh0cmFjdGVkIGZyb20gTE5VUkwgcXVlcnkgc3RyaW5nLlxuICAgKi9cbiAgZG9tYWluOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElMaWdodG5pbmcge1xuICBjcmVhdGVJbnZvaWNlKHBhcmFtczogQ3JlYXRlSW52b2ljZVBhcmFtcyk6IFByb21pc2U8Q3JlYXRlSW52b2ljZVJlc3BvbnNlPjtcbiAgY3JlYXRlRGVwb3NpdEFkZHJlc3MoKTogUHJvbWlzZTxDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlPjtcbiAgcGF5SW52b2ljZShwYXJhbXM6IFBheUludm9pY2VQYXJhbXMpOiBQcm9taXNlPFBheUludm9pY2VSZXNwb25zZT47XG4gIGdldEJhbGFuY2UoKTogUHJvbWlzZTxHZXRCYWxhbmNlUmVzcG9uc2U+O1xuICB3aXRoZHJhdyhwYXJhbXM6IExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMpOiBQcm9taXNlPFdpdGhkcmF3UmVzcG9uc2U+O1xuICBkZXBvc2l0KHBhcmFtczogTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyk6IFByb21pc2U8RGVwb3NpdFJlc3BvbnNlPjtcbiAgZ2V0SW52b2ljZXMocXVlcnk/OiBHZXRJbnZvaWNlc1F1ZXJ5KTogUHJvbWlzZTxHZXRJbnZvaWNlc1Jlc3BvbnNlPjtcbiAgZGVjb2RlTG51cmxQYXkobG51cmw6IHN0cmluZyk6IFByb21pc2U8RGVjb2RlZExudXJsUGF5UmVxdWVzdD47XG4gIGZldGNoTG51cmxQYXlJbnZvaWNlKHBhcmFtczogTG51cmxQYXlQYXJhbXMpOiBQcm9taXNlPHN0cmluZz47XG4gIGdldFBheW1lbnRzKHF1ZXJ5PzogR2V0UGF5bWVudHNRdWVyeSk6IFByb21pc2U8R2V0UGF5bWVudHNSZXNwb25zZT47XG59XG4iXX0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaUxpZ2h0bmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvY3VzdG9kaWFsL2lMaWdodG5pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQWlDO0FBQ2pDLHlDQUEyQjtBQThDZCxRQUFBLGVBQWUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUN0QztJQUNFLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDakIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2YsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTztJQUNuQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87SUFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO0NBQ2hCLEVBQ0QsaUJBQWlCLENBQ2xCLENBQUM7QUFJVyxRQUFBLFVBQVUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM5QjtJQUNFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUFlLENBQUM7SUFDakMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ1osUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ2xCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNkLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNmLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNoQixFQUNELFlBQVksQ0FDYixDQUFDO0FBSVcsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUN0QztJQUNFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTTtDQUNmLEVBQ0QsMEJBQTBCLENBQzNCLENBQUM7QUFJVyxRQUFBLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENB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LENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNsQixlQUFlLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtDQUN0QixDQUFDLENBQUM7QUFFVSxRQUFBLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7QUFJM0MsUUFBQSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUM1QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDbEIsNEVBQTRFO0lBQzVFLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTTtJQUNyQiw0RUFBNEU7SUFDNUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNO0lBQ3JCLDJEQUEyRDtJQUMzRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU07Q0FDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVkZWNsYXJlICovXG5pbXBvcnQgKiBhcyB0IGZyb20gJ2lvLXRzJztcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVJbnZvaWNlUGFyYW1zIHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgbWVtbz86IHN0cmluZztcbiAgZXhwaXJ5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMge1xuICB2YWx1ZTogbnVtYmVyO1xuICBkZXN0aW5hdGlvbj86IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaWdodG5pbmdEZXBvc2l0UGFyYW1zIHtcbiAgYW1vdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5SW52b2ljZVBhcmFtcyB7XG4gIGludm9pY2U6IHN0cmluZztcbiAgc2VxdWVuY2VJZD86IHN0cmluZztcbiAgY29tbWVudD86IHN0cmluZztcbiAgZmVlTGltaXRSYXRpbz86IG51bWJlcjtcbiAgZmVlTGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0SW52b2ljZXNRdWVyeSB7XG4gIHN0YXR1cz86IHN0cmluZztcbiAgbGltaXQ/OiBudW1iZXI7XG4gIHN0YXJ0RGF0ZT86IHN0cmluZztcbiAgZW5kRGF0ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRQYXltZW50c1F1ZXJ5IHtcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgc3RhcnREYXRlPzogc3RyaW5nO1xuICBlbmREYXRlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExudXJsUGF5UGFyYW1zIHtcbiAgY2FsbGJhY2s6IHN0cmluZztcbiAgbWlsbGlzYXRBbW91bnQ6IHN0cmluZztcbiAgbWV0YWRhdGE6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFdQVHJhbnNmZXJFbnRyeSA9IHQucGFydGlhbChcbiAge1xuICAgIHdhbGxldDogdC5zdHJpbmcsXG4gICAgYWRkcmVzczogdC5zdHJpbmcsXG4gICAgdmFsdWU6IHQubnVtYmVyLFxuICAgIHZhbHVlU3RyaW5nOiB0LnN0cmluZyxcbiAgICBpc0NoYW5nZTogdC5ib29sZWFuLFxuICAgIGlzUGF5R286IHQuYm9vbGVhbixcbiAgICB0b2tlbjogdC5zdHJpbmcsXG4gIH0sXG4gICdXUFRyYW5zZmVyRW50cnknXG4pO1xuXG5leHBvcnQgdHlwZSBXUFRyYW5zZmVyRW50cnkgPSB0LlR5cGVPZjx0eXBlb2YgV1BUcmFuc2ZlckVudHJ5PjtcblxuZXhwb3J0IGNvbnN0IFdQVHJhbnNmZXIgPSB0LnR5cGUoXG4gIHtcbiAgICBlbnRyaWVzOiB0LmFycmF5KFdQVHJhbnNmZXJFbnRyeSksXG4gICAgaWQ6IHQuc3RyaW5nLFxuICAgIGhlaWdodElkOiB0LnN0cmluZyxcbiAgICB0eXBlOiB0LnN0cmluZyxcbiAgICB2YWx1ZTogdC5udW1iZXIsXG4gICAgc3RhdGU6IHQuc3RyaW5nLFxuICB9LFxuICAnV1BUcmFuc2Zlcidcbik7XG5cbmV4cG9ydCB0eXBlIFdQVHJhbnNmZXIgPSB0LlR5cGVPZjx0eXBlb2YgV1BUcmFuc2Zlcj47XG5cbmV4cG9ydCBjb25zdCBXaXRoZHJhd1Jlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICB0eGlkOiB0LnN0cmluZyxcbiAgfSxcbiAgJ0NyZWF0ZVdpdGhkcmF3YWxSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIFdpdGhkcmF3UmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgV2l0aGRyYXdSZXNwb25zZT47XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVJbnZvaWNlUmVzcG9uc2UgPSB0LnN0cmljdChcbiAge1xuICAgIHZhbHVlOiB0Lm51bWJlcixcbiAgICBtZW1vOiB0LnVuaW9uKFt0LnN0cmluZywgdC51bmRlZmluZWRdKSxcbiAgICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gICAgaW52b2ljZTogdC5zdHJpbmcsXG4gICAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICAgIHN0YXR1czogdC5zdHJpbmcsXG4gICAgZXhwaXJlc0F0OiB0LnN0cmluZyxcbiAgfSxcbiAgJ0NyZWF0ZUludm9pY2VSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUludm9pY2VSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBDcmVhdGVJbnZvaWNlUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgYWRkcmVzczogdC5zdHJpbmcsXG4gIH0sXG4gICdDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlJ1xuKTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IERlcG9zaXRSZXNwb25zZSA9IHQuc3RyaWN0KFxuICB7XG4gICAgc3RhdHVzOiB0LnN0cmluZyxcbiAgICB0cmFuc2ZlcjogV1BUcmFuc2ZlcixcbiAgfSxcbiAgJ0RlcG9zaXRSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIERlcG9zaXRSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBEZXBvc2l0UmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgUGF5SW52b2ljZVJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gICAgdHJhbnNmZXI6IFdQVHJhbnNmZXIsXG4gICAgc3RhdHVzOiB0LnN0cmluZyxcbiAgfSxcbiAgJ1BheUludm9pY2VSZXNwb25zZSdcbik7XG5cbmV4cG9ydCB0eXBlIFBheUludm9pY2VSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBQYXlJbnZvaWNlUmVzcG9uc2U+O1xuXG5leHBvcnQgY29uc3QgR2V0QmFsYW5jZVJlc3BvbnNlID0gdC5zdHJpY3QoXG4gIHtcbiAgICBiYWxhbmNlOiB0Lm51bWJlcixcbiAgICBhdmFpbGFibGVCYWxhbmNlOiB0Lm51bWJlcixcbiAgICBtYXhpbXVtQmFsYW5jZTogdC5udW1iZXIsXG4gIH0sXG4gICdHZXRCYWxhbmNlUmVzcG9uc2UnXG4pO1xuXG5leHBvcnQgdHlwZSBHZXRCYWxhbmNlUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgR2V0QmFsYW5jZVJlc3BvbnNlPjtcblxuY29uc3QgSW52b2ljZUluZm8gPSB0LnN0cmljdCh7XG4gIHBheW1lbnRIYXNoOiB0LnN0cmluZyxcbiAgd2FsbGV0SWQ6IHQuc3RyaW5nLFxuICBzdGF0dXM6IHQudW5pb24oW3QubGl0ZXJhbCgnb3BlbicpLCB0LmxpdGVyYWwoJ3NldHRsZWQnKSwgdC5saXRlcmFsKCdjYW5jZWxlZCcpXSksXG4gIHZhbHVlOiB0Lm51bWJlcixcbiAgZXhwaXJlc0F0OiB0LnN0cmluZyxcbiAgY3JlYXRlZEF0OiB0LnN0cmluZyxcbiAgdXBkYXRlZEF0OiB0LnN0cmluZyxcbiAgYW10UGFpZFNhdHM6IHQudW5pb24oW3QubnVtYmVyLCB0LnVuZGVmaW5lZF0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHZXRJbnZvaWNlc1Jlc3BvbnNlID0gdC5hcnJheShJbnZvaWNlSW5mbyk7XG5cbmV4cG9ydCB0eXBlIEdldEludm9pY2VzUmVzcG9uc2UgPSB0LlR5cGVPZjx0eXBlb2YgR2V0SW52b2ljZXNSZXNwb25zZT47XG5cbmNvbnN0IFBheW1lbnRJbmZvID0gdC5zdHJpY3Qoe1xuICBwYXltZW50SGFzaDogdC5zdHJpbmcsXG4gIHdhbGxldElkOiB0LnN0cmluZyxcbiAgc3RhdHVzOiB0LnVuaW9uKFt0LmxpdGVyYWwoJ2luX2ZsaWdodCcpLCB0LmxpdGVyYWwoJ3NldHRsZWQnKSwgdC5saXRlcmFsKCdmYWlsZWQnKV0pLFxuICBhbW91bnQ6IHQudW5pb24oW3QubnVtYmVyLCB0LnVuZGVmaW5lZF0pLFxuICBpbnZvaWNlOiB0LnN0cmluZyxcbiAgc2VuZFF1ZXVlSWQ6IHQuc3RyaW5nLFxuICBmYWlsdXJlUmVhc29uOiB0LnVuaW9uKFt0LnN0cmluZywgdC51bmRlZmluZWRdKSxcbiAgZmVlOiB0LnVuaW9uKFt0Lm51bWJlciwgdC51bmRlZmluZWRdKSxcbiAgZmVlTGltaXQ6IHQubnVtYmVyLFxuICBwYXltZW50UHJlaW1hZ2U6IHQudW5pb24oW3Quc3RyaW5nLCB0LnVuZGVmaW5lZF0pLFxuICBkZXN0aW5hdGlvbjogdC5zdHJpbmcsXG59KTtcblxuZXhwb3J0IGNvbnN0IEdldFBheW1lbnRzUmVzcG9uc2UgPSB0LmFycmF5KFBheW1lbnRJbmZvKTtcblxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudHNSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBHZXRQYXltZW50c1Jlc3BvbnNlPjtcblxuZXhwb3J0IGNvbnN0IExudXJsUGF5UmVzcG9uc2UgPSB0LnN0cmljdCh7XG4gIHRhZzogdC5saXRlcmFsKCdwYXlSZXF1ZXN0JyksXG4gIGNhbGxiYWNrOiB0LnN0cmluZyxcbiAgLyoqIFRoZSBtYXhpbXVtIGFtb3VudCBpbiBtaWxsaXNhdG9zaGlzIHdlIGNhbiBwYXkgZm9yIHRoaXMgTE5SVUwgcmVxdWVzdCAqL1xuICBtYXhTZW5kYWJsZTogdC5udW1iZXIsXG4gIC8qKiBUaGUgbWluaW11bSBhbW91bnQgaW4gbWlsbGlzYXRvc2hpcyB3ZSBjYW4gcGF5IGZvciB0aGlzIExOUlVMIHJlcXVlc3QgKi9cbiAgbWluU2VuZGFibGU6IHQubnVtYmVyLFxuICAvKiogQSBqc29uIGFycmF5IGluIHN0cmluZyBmb3JtYXQgZGVzY3JpYmluZyB0aGUgcGF5bWVudCAqL1xuICBtZXRhZGF0YTogdC5zdHJpbmcsXG59KTtcblxuZXhwb3J0IHR5cGUgTG51cmxQYXlSZXNwb25zZSA9IHQuVHlwZU9mPHR5cGVvZiBMbnVybFBheVJlc3BvbnNlPjtcblxuZXhwb3J0IHR5cGUgRGVjb2RlZExudXJsUGF5UmVxdWVzdCA9IExudXJsUGF5UmVzcG9uc2UgJiB7XG4gIC8qKlxuICAgKiBGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9maWF0amFmL2xudXJsLXJmYy9ibG9iL2x1ZHMvMDYubWQjcGF5LXRvLXN0YXRpYy1xcm5mY2xpbmtcbiAgICogYSBwYXltZW50IGRpYWxvZyBtdXN0IGluY2x1ZGU6IERvbWFpbiBuYW1lIGV4dHJhY3RlZCBmcm9tIExOVVJMIHF1ZXJ5IHN0cmluZy5cbiAgICovXG4gIGRvbWFpbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJTGlnaHRuaW5nIHtcbiAgY3JlYXRlSW52b2ljZShwYXJhbXM6IENyZWF0ZUludm9pY2VQYXJhbXMpOiBQcm9taXNlPENyZWF0ZUludm9pY2VSZXNwb25zZT47XG4gIGNyZWF0ZURlcG9zaXRBZGRyZXNzKCk6IFByb21pc2U8Q3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZT47XG4gIHBheUludm9pY2UocGFyYW1zOiBQYXlJbnZvaWNlUGFyYW1zKTogUHJvbWlzZTxQYXlJbnZvaWNlUmVzcG9uc2U+O1xuICBnZXRCYWxhbmNlKCk6IFByb21pc2U8R2V0QmFsYW5jZVJlc3BvbnNlPjtcbiAgd2l0aGRyYXcocGFyYW1zOiBMaWdodG5pbmdXaXRoZHJhd2FsUGFyYW1zKTogUHJvbWlzZTxXaXRoZHJhd1Jlc3BvbnNlPjtcbiAgZGVwb3NpdChwYXJhbXM6IExpZ2h0bmluZ0RlcG9zaXRQYXJhbXMpOiBQcm9taXNlPERlcG9zaXRSZXNwb25zZT47XG4gIGdldEludm9pY2VzKHF1ZXJ5PzogR2V0SW52b2ljZXNRdWVyeSk6IFByb21pc2U8R2V0SW52b2ljZXNSZXNwb25zZT47XG4gIGRlY29kZUxudXJsUGF5KGxudXJsOiBzdHJpbmcpOiBQcm9taXNlPERlY29kZWRMbnVybFBheVJlcXVlc3Q+O1xuICBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+O1xuICBnZXRQYXltZW50cyhxdWVyeT86IEdldFBheW1lbnRzUXVlcnkpOiBQcm9taXNlPEdldFBheW1lbnRzUmVzcG9uc2U+O1xufVxuIl19