@bitgo/sdk-core 28.14.2 → 28.15.1

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 +18 -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 +47 -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 +6 -5
@@ -3,7 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.envRequiresBitgoPubGpgKeyConfig = exports.isBitgoMpcPubKey = exports.getBitgoMpcGpgPubKey = exports.bitgoMpcGpgPubKeys = void 0;
6
+ exports.bitgoMpcGpgPubKeys = void 0;
7
+ exports.getBitgoMpcGpgPubKey = getBitgoMpcGpgPubKey;
8
+ exports.isBitgoMpcPubKey = isBitgoMpcPubKey;
9
+ exports.envRequiresBitgoPubGpgKeyConfig = envRequiresBitgoPubGpgKeyConfig;
7
10
  const assert_1 = __importDefault(require("assert"));
8
11
  exports.bitgoMpcGpgPubKeys = {
9
12
  mpcv1: {
@@ -49,13 +52,10 @@ function getBitgoMpcGpgPubKey(env, pubKeyType, mpcVersion) {
49
52
  }
50
53
  return exports.bitgoMpcGpgPubKeys[mpcVersion][pubKeyType][env];
51
54
  }
52
- exports.getBitgoMpcGpgPubKey = getBitgoMpcGpgPubKey;
53
55
  function isBitgoMpcPubKey(key, mpcvVersion) {
54
56
  return Object.values(exports.bitgoMpcGpgPubKeys[mpcvVersion]).some((envKeys) => Object.values(envKeys).includes(key));
55
57
  }
56
- exports.isBitgoMpcPubKey = isBitgoMpcPubKey;
57
58
  function envRequiresBitgoPubGpgKeyConfig(env) {
58
59
  return env === 'prod' || env === 'test' || env === 'staging' || env === 'adminProd' || env === 'adminTest';
59
60
  }
60
- exports.envRequiresBitgoPubGpgKeyConfig = envRequiresBitgoPubGpgKeyConfig;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29QdWJLZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9iaXRnb1B1YktleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBR2YsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxLQUFLLEVBQUU7UUFDTCxLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsbTJCQUFtMkI7WUFDejJCLElBQUksRUFBRSxtMUJBQW0xQjtTQUMxMUI7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsbTJCQUFtMkI7WUFDejJCLElBQUksRUFBRSxxcUJBQXFxQjtTQUM1cUI7S0FDRjtJQUNELEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSwyMkNBQTIyQztZQUNqM0MsSUFBSSxFQUFFLEVBQUU7U0FDVDtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSwyMkNBQTIyQztZQUNqM0MsSUFBSSxFQUFFLG0xQ0FBbTFDO1NBQzExQztLQUNGO0NBQ0YsQ0FBQztBQUVGLFNBQWdCLG9CQUFvQixDQUNsQyxHQUFvQixFQUNwQixVQUE4QixFQUM5QixVQUE2QjtJQUU3QixJQUFBLGdCQUFNLEVBQ0osVUFBVSxJQUFJLDBCQUFrQixFQUNoQyxvREFBb0QsVUFBVSw0QkFBNEIsQ0FDM0YsQ0FBQztJQUNGLElBQUEsZ0JBQU0sRUFDSixVQUFVLElBQUksMEJBQWtCLENBQUMsVUFBVSxDQUFDLEVBQzVDLG9EQUFvRCxVQUFVLDZCQUE2QixDQUM1RixDQUFDO0lBQ0YsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUU7UUFDdkcsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQzFFO0lBQ0QsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUU7UUFDekMsMENBQTBDO1FBQzFDLEdBQUcsR0FBRyxNQUFNLENBQUM7S0FDZDtJQUNELElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRTtRQUN2QixHQUFHLEdBQUcsTUFBTSxDQUFDO0tBQ2Q7SUFDRCxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssT0FBTyxFQUFFO1FBQ3RFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0VBQXNFLENBQUMsQ0FBQztLQUN6RjtJQUNELElBQUksVUFBVSxLQUFLLE9BQU8sRUFBRTtRQUMxQixvQ0FBb0M7UUFDcEMsVUFBVSxHQUFHLFFBQVEsQ0FBQztLQUN2QjtJQUNELE9BQU8sMEJBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQS9CRCxvREErQkM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsV0FBOEI7SUFDMUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLDBCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2hILENBQUM7QUFGRCw0Q0FFQztBQUVELFNBQWdCLCtCQUErQixDQUFDLEdBQW9CO0lBQ2xFLE9BQU8sR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLFdBQVcsSUFBSSxHQUFHLEtBQUssV0FBVyxDQUFDO0FBQzdHLENBQUM7QUFGRCwwRUFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEVudmlyb25tZW50TmFtZSB9IGZyb20gJy4uL2Vudmlyb25tZW50cyc7XG5cbmV4cG9ydCBjb25zdCBiaXRnb01wY0dwZ1B1YktleXMgPSB7XG4gIG1wY3YxOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWXFFVTVoTUZLNEVFQUFvQ0F3UURkYkFJWnJzYmxFWElhdnlnMmdvNnA5b0cwU3FXVGdGc2RIVGNcXG5CaHFkSVMvV2pROHBqNzVxK3ZMcUZ0VjlobEltWUdJbnNJV2g5N2ZzaWd6QjJvd3l6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQUZRVUNZcUVVNXdJTENRSVZDQUlXQUFJYkF3SWVcXG5BUUFoQ1JDSk5Sc0lER3VuZXhZaEJIUkw1RC84blJNM29wUW5Yb2sxR3dnTWE2ZDd0ZzhBLzI0QTlhd3FcXG5TQ0p4N1JkZGlVekZIY0toVnZ2bzNSNU43YkhhT0dQM1RQNzlBUDBUYXZGMld6aFVYbVpTanQzSUsyM09cXG43L2FrbmJpalZlcTUyZ2hiV2IxU3dzSjFCQkFUQ0FBR0JRSmlvUlRuQUNFSkVBV3VBMzVLSmd0Z0ZpRUVcXG5adHRMUFIwS2NZdmpndkpDQmE0RGZrb21DMkJzcndEL1orNDN6T3crV3BmUEh4ZSt5cHlWb2c1Zm5PS2xcXG5Yd2xlSDZ6RHZxVVdtV2tBL2lhSEM2dWxsWWtTRzRNdjY4azZxYnRnUi9wbXMvWDdya2ZhMFFRRkp5NXBcXG56bE1FWXFFVTVoSUZLNEVFQUFvQ0F3U3NMcW1mb25qTUYzbzBuWjVKSHZMcG1mVEExUklWRHNBRW9ST05cXG50WkE2ckFBMjNwR2w2czNJeXQ0L2ZYOUFkem9oM0VFbE9qTXNnaThBajNkRnB1cWlBd0VJQjhKNEJCZ1RcXG5DQUFKQlFKaW9SVG5BaHNNQUNFSkVJazFHd2dNYTZkN0ZpRUVkRXZrUC95ZEV6ZWlsQ2RlaVRVYkNBeHJcXG5wM3ZNN0FEOUdQcDZIaFlORWgyVlZDRHRGU3QxNEJuaTVGVk01aWNwVkRvNnc5aWJ2V0FBLzJUaTNKdjRcXG5JaEl4bDgxL3dxQWdxaWdJYmxyejZ2anRhZ3I5L3lrWFFDVzNcXG49c2tDb1xcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZNG02WkJNRks0RUVBQW9DQXdSU1R3ZFhnaVkrRUJOajJKZ056aXNVeWdjVkdWeHAxRnYrcFQ2NFxcblRzSjY0eTlGcjVoOWxqcU1Jc21NME1XbjloY3pwbWRBRUhwa1NnMjY0d0FQTmNJV3pRdENhWFJIYnlCT1xcbmFYUnliOEtFQkJNVENBQTJCUUpqaWJwbUFnc0pDUkRIZ3ZyV3F4NjVId0lWQ0FJV0FBSWJBd0llQVJZaFxcbkJMZ256STlDbjZVYW1ObEoyTWVDK3Rhckhya2ZBQUJFd2dEL1cwK0xYcEhFTXRTblNoZjdyU2c3dFFmR1xcbjFCYjZiZTJZMXV0ZCthdWovRWNBL2pHSk84TXRlanhjVkdCcEgvWnJPREwrRDB5Uy9JMllEM252ZUx0RFxcbkQ1ejN3blVFRUJNSUFDY0ZBbU9KdW1rSkVIdVMxdm9BZDVmSkZpRUUxWHhiZmJicjV6TEdxTko3ZTVMV1xcbitnQjNsOGtBQVB0bUFQMFdablcvY2dHQ1d6RzFOWWJBVTFzSlV3WWRzcE0xV0RMQnlqbW81SmtDclFEK1xcbk9LLzZVOHp2bVFFY29PcTBZWEFyaGIreVdRRERIREVrTHhScHRCK0tPOG5PVXdSamlicGtFZ1VyZ1FRQVxcbkNnSURCT1V2bi9vTktabmpFTXRuQWJCNmhvb3M4dkRmOG1xeUlidEdSakRpbDFUM3QxOXEyS2U2eEZGb1xcbkorVTJ3NGd0RnhqREVSOGlnYXMramE0UDN1N0VGbE1EQVFnSHduZ0VHQk1JQUNvRkFtT0p1bWdKRU1lQ1xcbit0YXJIcmtmQWhzTUZpRUV1Q2ZNajBLZnBScVkyVW5ZeDRMNjFxc2V1UjhBQU5IUEFQOTZsdndHVDNBMFxcbk5OejFXQXIrU24xM21SM2s4YXJmZXFjdloxRkNtaW9Nb2dEOUd6SklhSmxiQWJkc1JCNFFuTGtSY0tKT1xcbm5NSDEzUEtxOXFNNnRnNFVRRk09XFxuPVNEMGhcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZcUVVNWhNRks0RUVBQW9DQXdRRGRiQUlacnNibEVYSWF2eWcyZ282cDlvRzBTcVdUZ0ZzZEhUY1xcbkJocWRJUy9XalE4cGo3NXErdkxxRnRWOWhsSW1ZR0luc0lXaDk3ZnNpZ3pCMm93eXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBRlFVQ1lxRVU1d0lMQ1FJVkNBSVdBQUliQXdJZVxcbkFRQWhDUkNKTlJzSURHdW5leFloQkhSTDVELzhuUk0zb3BRblhvazFHd2dNYTZkN3RnOEEvMjRBOWF3cVxcblNDSng3UmRkaVV6RkhjS2hWdnZvM1I1TjdiSGFPR1AzVFA3OUFQMFRhdkYyV3poVVhtWlNqdDNJSzIzT1xcbjcvYWtuYmlqVmVxNTJnaGJXYjFTd3NKMUJCQVRDQUFHQlFKaW9SVG5BQ0VKRUFXdUEzNUtKZ3RnRmlFRVxcblp0dExQUjBLY1l2amd2SkNCYTREZmtvbUMyQnNyd0QvWis0M3pPdytXcGZQSHhlK3lweVZvZzVmbk9LbFxcblh3bGVINnpEdnFVV21Xa0EvaWFIQzZ1bGxZa1NHNE12NjhrNnFidGdSL3Btcy9YN3JrZmEwUVFGSnk1cFxcbnpsTUVZcUVVNWhJRks0RUVBQW9DQXdTc0xxbWZvbmpNRjNvMG5aNUpIdkxwbWZUQTFSSVZEc0FFb1JPTlxcbnRaQTZyQUEyM3BHbDZzM0l5dDQvZlg5QWR6b2gzRUVsT2pNc2dpOEFqM2RGcHVxaUF3RUlCOEo0QkJnVFxcbkNBQUpCUUppb1JUbkFoc01BQ0VKRUlrMUd3Z01hNmQ3RmlFRWRFdmtQL3lkRXplaWxDZGVpVFViQ0F4clxcbnAzdk03QUQ5R1BwNkhoWU5FaDJWVkNEdEZTdDE0Qm5pNUZWTTVpY3BWRG82dzlpYnZXQUEvMlRpM0p2NFxcbkloSXhsODEvd3FBZ3FpZ0libHJ6NnZqdGFncjkveWtYUUNXM1xcbj1za0NvXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVlxS0tRUk1GSzRFRUFBb0NBd1JPV0piSDNVQ1BkWlRQRUpYcFBaY2t0d3RESndpbDRRSGxYWkVMXFxuY1ViRkVUYm9xL2NZMjJ3K3VHMElsUnlwZGJvNitzRHVhZWczZGZqYTJpb3E2VHRKelFWQ2FYUkhiOEtFXFxuQkJNVENBQVZCUUppb29wREFnc0pBaFVJQWhZQUFoc0RBaDRCQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvXFxuWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltMUFEK1A5Y2xFM2tqNzY0WW1ySERPY1JQbC8rdFgyQ29VRDByXFxuYmRTWXlKeWZDd0FBL0FzMEYwVUZiUHpseFBTYVpoVi9qUXhCK1BzRjRMVml3RGRoNFY0cFV0bjl6bE1FXFxuWXFLS1FSSUZLNEVFQUFvQ0F3UWg1d0JyT2t0cUplNEc1c2JTT2R5dzFybjEvMUV2a080aGo4UjRDM1VBXFxuSzdBcHo1OTlYYmk2anQzcEQycmhkdUwxRm5TNXpoemlZU0Jra28vQjJJdzhBd0VJQjhKNEJCZ1RDQUFKXFxuQlFKaW9vcEVBaHNNQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltXFxuVndEOER3S2RkZlpHK1ZnUXRYcnpoNTIzUndrMGpsK0V3ZGNWMmg2QWlLb1YvM0FBL2pWK3lTMytLVEhrXFxuNlE4OVRHUjJRZnRwY2t3Y1VUS09OOXB1R2U5K3VsYW5cXG49T3FadVxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gIH0sXG4gIG1wY3YyOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWmlGM0NCTUZLNEVFQUFvQ0F3UVdEN1BhNzUyZkFsNHowUHhmV1ZDMDVkODl2Zm84MFB5VVEzRXJcXG5MWGxoR0xraWsrTmtBbC9EQmQ4ZGlON2k0a1R2Um9JbzB4ckhVK2xaZ2RndCtjdDV6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQU5nVUNaaUYzQ0FJTENRa1E1eWN1ZXpiYlZPa0NcXG5GUWdDRmdBQ0d3TUNIZ0VXSVFSUHI2R05pRTd0UnYwcDRhZm5KeTU3TnR0VTZRQUFiQVlBK3dSdlNMT2FcXG5lMGlSRU94MDBIaFlXUDAzMEdoTjk4QmNadGVoVDlpVFpNVjhBUDk3T3RrcnRxNmpieTJmN1BkRVY3dXZcXG5kNGFpa1RhNUJnbnBLdmw4eXFMNGNjS0VCQkFUQ0FBMkJRSm1JWGNLQWdzSkNSQ1pSQmZjaDVNVWN3SVZcXG5DQUlXQUFJYkF3SWVBUlloQkFtWEJTMFRZRXZtQy8zTDlKbEVGOXlIa3hSekFBQkoxd0QrS3lJMWo5bnVcXG5ZV3ZEeHdEQitKQkdNdDdtaWM3N2FqQk9nYUNhYkVaMGoxTUEvMlJDT2lWMmNPTDN4MUFPem9zcW9mc2hcXG5pQTFzOUJwUzE0eEF3cktKUHdZK3psTUVaaUYzQ0JJRks0RUVBQW9DQXdTZ0xzNjBrTHpoSEQzbzFzRGdcXG4wZlEvUUh3NmhncTlQUTVMdmlsVXZ1SUdZRFI3OXNQd3JNdXd5N3dVY09RZ0p2d0lPSkhvbW1EcTVuaitcXG5LZmdBdEU2dUF3RUlCOEtFQkJnVENBQTJCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJcXG5EQUllQVJZaEJFK3ZvWTJJVHUxRy9TbmhwK2NuTG5zMjIxVHBBQURXbVFEL2JWOXNCa3d5WWZZZkpZVFNcXG5xdlRtdWJDZXNRRFk1UmFudjl3WXZ2N1JpTFFBL2l3WDZaSHdkYnZRRlZ1aTBHcnZWMmlGYUNIdXQxcG5cXG5GNFlDRHFwVUtpZHd6azhFWmlGM0NCTUZLNEVFQUFvQ0F3VGZtL0haeHd2dWJQL3JyMktPVTg4bWtETDlcXG5qY1dqZlF4MXVGWjltbElnTUJWMysrT2d0a1ZFMGVFZStsTldwd2drc0dPR3JCV2VRM0swWFJGMFlsVXBcXG53c0JLQkJnVENBQzhCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJBZ0llQVlVZ0JCZ1RcXG5DQUEyQlFKbUlYY0pBZ3NKQ1JCckVNVHEyb09ZaGdJVkNBSVdBQUliQWdJZUFSWWhCTEZnMXpJY3dBbWNcXG5SaEdkT21zUXhPcmFnNWlHQUFBeG9BRC9ZTlBoTW1mM2w0UWg3ZnBya21Pam9VMEN2RmlpUCtrY3hUcjlcXG5tOWx1VmhVQS9SdmhJQjRzcXJBY1NEN1pHVklRY0VJMTRyZEFGZW9rNEhpZ3oyY0dmOVI2RmlFRVQ2K2hcXG5qWWhPN1ViOUtlR241eWN1ZXpiYlZPa0FBUG5hQVAwZFlweWE3RXp2TjVRNlJwSXpxTEZOOWl6eUd0NFFcXG42a2Vac3ZuVmJXOXFKQUQ5Rmo3dEFBTVViYnN0ei9LeDlSWThxb0lPRlR1U3dhZURYbkpNckk5djg0dz1cXG49dXpWQlxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJycsXG4gICAgfSxcbiAgICBvbnByZW06IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWmlGM0NCTUZLNEVFQUFvQ0F3UVdEN1BhNzUyZkFsNHowUHhmV1ZDMDVkODl2Zm84MFB5VVEzRXJcXG5MWGxoR0xraWsrTmtBbC9EQmQ4ZGlON2k0a1R2Um9JbzB4ckhVK2xaZ2RndCtjdDV6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQU5nVUNaaUYzQ0FJTENRa1E1eWN1ZXpiYlZPa0NcXG5GUWdDRmdBQ0d3TUNIZ0VXSVFSUHI2R05pRTd0UnYwcDRhZm5KeTU3TnR0VTZRQUFiQVlBK3dSdlNMT2FcXG5lMGlSRU94MDBIaFlXUDAzMEdoTjk4QmNadGVoVDlpVFpNVjhBUDk3T3RrcnRxNmpieTJmN1BkRVY3dXZcXG5kNGFpa1RhNUJnbnBLdmw4eXFMNGNjS0VCQkFUQ0FBMkJRSm1JWGNLQWdzSkNSQ1pSQmZjaDVNVWN3SVZcXG5DQUlXQUFJYkF3SWVBUlloQkFtWEJTMFRZRXZtQy8zTDlKbEVGOXlIa3hSekFBQkoxd0QrS3lJMWo5bnVcXG5ZV3ZEeHdEQitKQkdNdDdtaWM3N2FqQk9nYUNhYkVaMGoxTUEvMlJDT2lWMmNPTDN4MUFPem9zcW9mc2hcXG5pQTFzOUJwUzE0eEF3cktKUHdZK3psTUVaaUYzQ0JJRks0RUVBQW9DQXdTZ0xzNjBrTHpoSEQzbzFzRGdcXG4wZlEvUUh3NmhncTlQUTVMdmlsVXZ1SUdZRFI3OXNQd3JNdXd5N3dVY09RZ0p2d0lPSkhvbW1EcTVuaitcXG5LZmdBdEU2dUF3RUlCOEtFQkJnVENBQTJCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJcXG5EQUllQVJZaEJFK3ZvWTJJVHUxRy9TbmhwK2NuTG5zMjIxVHBBQURXbVFEL2JWOXNCa3d5WWZZZkpZVFNcXG5xdlRtdWJDZXNRRFk1UmFudjl3WXZ2N1JpTFFBL2l3WDZaSHdkYnZRRlZ1aTBHcnZWMmlGYUNIdXQxcG5cXG5GNFlDRHFwVUtpZHd6azhFWmlGM0NCTUZLNEVFQUFvQ0F3VGZtL0haeHd2dWJQL3JyMktPVTg4bWtETDlcXG5qY1dqZlF4MXVGWjltbElnTUJWMysrT2d0a1ZFMGVFZStsTldwd2drc0dPR3JCV2VRM0swWFJGMFlsVXBcXG53c0JLQkJnVENBQzhCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJBZ0llQVlVZ0JCZ1RcXG5DQUEyQlFKbUlYY0pBZ3NKQ1JCckVNVHEyb09ZaGdJVkNBSVdBQUliQWdJZUFSWWhCTEZnMXpJY3dBbWNcXG5SaEdkT21zUXhPcmFnNWlHQUFBeG9BRC9ZTlBoTW1mM2w0UWg3ZnBya21Pam9VMEN2RmlpUCtrY3hUcjlcXG5tOWx1VmhVQS9SdmhJQjRzcXJBY1NEN1pHVklRY0VJMTRyZEFGZW9rNEhpZ3oyY0dmOVI2RmlFRVQ2K2hcXG5qWWhPN1ViOUtlR241eWN1ZXpiYlZPa0FBUG5hQVAwZFlweWE3RXp2TjVRNlJwSXpxTEZOOWl6eUd0NFFcXG42a2Vac3ZuVmJXOXFKQUQ5Rmo3dEFBTVViYnN0ei9LeDlSWThxb0lPRlR1U3dhZURYbkpNckk5djg0dz1cXG49dXpWQlxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVabUh5S0JNRks0RUVBQW9DQXdTK3RCWS8yUDQ3RzBtZ1lSaHE5MGpLNDc1ZjAyZjNmM1c0VmJLQVxcblN3ZDlzNmFJNXNwazdHZVlzalJ2UDZyQmY0dkZJakxqN1R5N0syVjAzclpQUWM4YnpRVkNhWFJIYjhLRVxcbkJCTVRDQUEyQlFKbVlmSXBBZ3NKQ1JBS01CNEFUQTVWN1FJVkNBSVdBQUliQXdJZUFSWWhCQUlkZmxMQlxcbks0ZGVIb2srZ1Fvd0hnQk1EbFh0QUFDUnBBRC9VVWJUc0ZFa2p0K0NDSm1WcTJ2NWw2b29jUjloWFhrVFxcbnpoUlFLUUl3U2lnQS9SVnZTMlJzb1pMa2FMNjhHVUhMeTYzWFZIdEcxNDlwTjNCWVB3YjYzRWNRd29RRVxcbkVCTUlBRFlGQW1aaDhpb0NDd2tKRUZsaDJETE02SVZOQWhVSUFoWUFBaHNEQWg0QkZpRUVzYjlmMVZBMFxcbjlyT0xnRk0rV1dIWU1zem9oVTBBQUZDOEFQNHdIMG5kbXpDU2cyTy9hK1pmcVcyeUE0NjVCRnZETTFpalxcbnZNdENKWVN4ekFEL1JqY2ZEZmtONElwamFhMkxSdUh4ZkhaYnZnQ2dvT0Noc0pMdjRLUUxUYWZPVXdSbVxcbllmSW9FZ1VyZ1FRQUNnSURCTStXMDFLRVVhQW04YTNoTUJXRzlFU2h5TnJaeGJ0djlyeWQ4SklJeGVFYlxcbkVja0xUVlF2SWVyM1l2RFV5amVZL3Y4M1ZDUmRtNkg1Y2FoVjkyc3lkcklEQVFnSHdvUUVHQk1JQURZRlxcbkFtWmg4aWtDQ3drSkVBb3dIZ0JNRGxYdEFoVUlBaFlBQWhzTUFoNEJGaUVFQWgxK1VzRXJoMTRlaVQ2QlxcbkNqQWVBRXdPVmUwQUFFY1NBUDlIOTZ0L3o5dUtlOWxBb3EyZDlEdDNIcnE5ZU02c0xRMitjVmJsbmdQK1xcbkRRRC9kQ3FIWVF6RGRzdWM5WTNIbVdiaENLMVVtNmV3cHBrY3QxdjVsbWJhSjFiT1R3Um1ZZklvRXdVclxcbmdRUUFDZ0lEQkpESW9mV09Mai9Ka0JGa1pEaDNhKytMTkVIOFRCTmxEWnZVN3ROZlVSWFdBcHhWMlZBYlxcbkZCS1lkZE4wM1ExU0JwTVIwR2tQbDQyckg3d2hZZGVhRUJIQ3dFb0VHQk1JQUx3RkFtWmg4aW9DQ3drSlxcbkVBb3dIZ0JNRGxYdEFoVUlBaFlBQWhzQ0FoNEJoU0FFR0JNSUFEWUZBbVpoOGlvQ0N3a0pFR0FmQnNNVFxcbkZ6VmpBaFVJQWhZQUFoc0NBaDRCRmlFRTJ6QUdIU2FMbnN3cUl2QnJZQjhHd3hNWE5XTUFBTnJvQVAwZlxcbnRGUHVtS0Z3UXJDZjdPTUhRV3Nlc3JRWXBLVDZaNjVWYmV3Qm9HYUdpZ0QvVWtlZXlnVHRseXpUVjJZRlxcbk5BaldBemFRdFhXbW16UmduT2owSUt1YjM5TVdJUVFDSFg1U3dTdUhYaDZKUG9FS01CNEFUQTVWN1FBQVxcblRqTUEvakRTVlhKTmJsci9rU0xORlRvcmRnRGpLUDBuTjFhRWx2RlVGaC9RRVZUMEFQOWxtZjJGYy9vN1xcbnlZT0dQUGc0T3Z2VTZvZHJUc3VOZ2xqdlBxQmxhQ2MyRUE9PVxcbj1aTGt0XFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCaXRnb01wY0dwZ1B1YktleShcbiAgZW52OiBFbnZpcm9ubWVudE5hbWUsXG4gIHB1YktleVR5cGU6ICduaXRybycgfCAnb25wcmVtJyxcbiAgbXBjVmVyc2lvbjogJ21wY3YxJyB8ICdtcGN2Midcbik6IHN0cmluZyB7XG4gIGFzc2VydChcbiAgICBtcGNWZXJzaW9uIGluIGJpdGdvTXBjR3BnUHViS2V5cyxcbiAgICBgSW52YWxpZCBtcGNWZXJzaW9uIGluIGdldEJpdGdvTXBjR3BnUHViS2V5LCBnb3Q6ICR7bXBjVmVyc2lvbn0sIGV4cGVjdGVkOiBtcGN2MSBvciBtcGN2MmBcbiAgKTtcbiAgYXNzZXJ0KFxuICAgIHB1YktleVR5cGUgaW4gYml0Z29NcGNHcGdQdWJLZXlzW21wY1ZlcnNpb25dLFxuICAgIGBJbnZhbGlkIHB1YktleVR5cGUgaW4gZ2V0Qml0Z29NcGNHcGdQdWJLZXksIGdvdDogJHtwdWJLZXlUeXBlfSwgZXhwZWN0ZWQ6IG5pdHJvIG9yIG9ucHJlbWBcbiAgKTtcbiAgaWYgKGVudiAhPT0gJ3Byb2QnICYmIGVudiAhPT0gJ3Rlc3QnICYmIGVudiAhPT0gJ3N0YWdpbmcnICYmIGVudiAhPT0gJ2FkbWluUHJvZCcgJiYgZW52ICE9PSAnYWRtaW5UZXN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBlbnZpcm9ubWVudCB0byBnZXQgYSBCaXRHbyBNUEMgR1BHIHB1YmxpYyBrZXknKTtcbiAgfVxuICBpZiAoZW52ICE9PSAncHJvZCcgJiYgZW52ICE9PSAnYWRtaW5Qcm9kJykge1xuICAgIC8vIGRlZmF1bHQgdG8gdGVzdCBncGcga2V5cyBpZiBub3QgaW4gcHJvZFxuICAgIGVudiA9ICd0ZXN0JztcbiAgfVxuICBpZiAoZW52ID09PSAnYWRtaW5Qcm9kJykge1xuICAgIGVudiA9ICdwcm9kJztcbiAgfVxuICBpZiAocHViS2V5VHlwZSA9PT0gJ25pdHJvJyAmJiBlbnYgPT09ICdwcm9kJyAmJiBtcGNWZXJzaW9uID09PSAnbXBjdjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOaXRybyBtcGN2MiBwdWIga2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgeWV0LicpO1xuICB9XG4gIGlmIChwdWJLZXlUeXBlICE9PSAnbml0cm8nKSB7XG4gICAgLy8gVGhpcyB3aWxsIGJlIHRoZSBkZWZhdWx0IGtleSB0eXBlXG4gICAgcHViS2V5VHlwZSA9ICdvbnByZW0nO1xuICB9XG4gIHJldHVybiBiaXRnb01wY0dwZ1B1YktleXNbbXBjVmVyc2lvbl1bcHViS2V5VHlwZV1bZW52XTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQml0Z29NcGNQdWJLZXkoa2V5OiBzdHJpbmcsIG1wY3ZWZXJzaW9uOiAnbXBjdjEnIHwgJ21wY3YyJyk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhiaXRnb01wY0dwZ1B1YktleXNbbXBjdlZlcnNpb25dKS5zb21lKChlbnZLZXlzKSA9PiBPYmplY3QudmFsdWVzKGVudktleXMpLmluY2x1ZGVzKGtleSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW52UmVxdWlyZXNCaXRnb1B1YkdwZ0tleUNvbmZpZyhlbnY6IEVudmlyb25tZW50TmFtZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZW52ID09PSAncHJvZCcgfHwgZW52ID09PSAndGVzdCcgfHwgZW52ID09PSAnc3RhZ2luZycgfHwgZW52ID09PSAnYWRtaW5Qcm9kJyB8fCBlbnYgPT09ICdhZG1pblRlc3QnO1xufVxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0Z29QdWJLZXlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9iaXRnb1B1YktleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBMEJBLG9EQStCQztBQUVELDRDQUVDO0FBRUQsMEVBRUM7QUFqRUQsb0RBQTRCO0FBR2YsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxLQUFLLEVBQUU7UUFDTCxLQUFLLEVBQUU7WUFDTCxJQUFJLEVBQUUsbTJCQUFtMkI7WUFDejJCLElBQUksRUFBRSxtMUJBQW0xQjtTQUMxMUI7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsbTJCQUFtMkI7WUFDejJCLElBQUksRUFBRSxxcUJBQXFxQjtTQUM1cUI7S0FDRjtJQUNELEtBQUssRUFBRTtRQUNMLEtBQUssRUFBRTtZQUNMLElBQUksRUFBRSwyMkNBQTIyQztZQUNqM0MsSUFBSSxFQUFFLEVBQUU7U0FDVDtRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSwyMkNBQTIyQztZQUNqM0MsSUFBSSxFQUFFLG0xQ0FBbTFDO1NBQzExQztLQUNGO0NBQ0YsQ0FBQztBQUVGLFNBQWdCLG9CQUFvQixDQUNsQyxHQUFvQixFQUNwQixVQUE4QixFQUM5QixVQUE2QjtJQUU3QixJQUFBLGdCQUFNLEVBQ0osVUFBVSxJQUFJLDBCQUFrQixFQUNoQyxvREFBb0QsVUFBVSw0QkFBNEIsQ0FDM0YsQ0FBQztJQUNGLElBQUEsZ0JBQU0sRUFDSixVQUFVLElBQUksMEJBQWtCLENBQUMsVUFBVSxDQUFDLEVBQzVDLG9EQUFvRCxVQUFVLDZCQUE2QixDQUM1RixDQUFDO0lBQ0YsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN4RyxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDMUMsMENBQTBDO1FBQzFDLEdBQUcsR0FBRyxNQUFNLENBQUM7SUFDZixDQUFDO0lBQ0QsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDeEIsR0FBRyxHQUFHLE1BQU0sQ0FBQztJQUNmLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxPQUFPLElBQUksR0FBRyxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFDRCxJQUFJLFVBQVUsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUMzQixvQ0FBb0M7UUFDcEMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBQ0QsT0FBTywwQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsR0FBVyxFQUFFLFdBQThCO0lBQzFFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoSCxDQUFDO0FBRUQsU0FBZ0IsK0JBQStCLENBQUMsR0FBb0I7SUFDbEUsT0FBTyxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxJQUFJLEdBQUcsS0FBSyxXQUFXLENBQUM7QUFDN0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEVudmlyb25tZW50TmFtZSB9IGZyb20gJy4uL2Vudmlyb25tZW50cyc7XG5cbmV4cG9ydCBjb25zdCBiaXRnb01wY0dwZ1B1YktleXMgPSB7XG4gIG1wY3YxOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWXFFVTVoTUZLNEVFQUFvQ0F3UURkYkFJWnJzYmxFWElhdnlnMmdvNnA5b0cwU3FXVGdGc2RIVGNcXG5CaHFkSVMvV2pROHBqNzVxK3ZMcUZ0VjlobEltWUdJbnNJV2g5N2ZzaWd6QjJvd3l6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQUZRVUNZcUVVNXdJTENRSVZDQUlXQUFJYkF3SWVcXG5BUUFoQ1JDSk5Sc0lER3VuZXhZaEJIUkw1RC84blJNM29wUW5Yb2sxR3dnTWE2ZDd0ZzhBLzI0QTlhd3FcXG5TQ0p4N1JkZGlVekZIY0toVnZ2bzNSNU43YkhhT0dQM1RQNzlBUDBUYXZGMld6aFVYbVpTanQzSUsyM09cXG43L2FrbmJpalZlcTUyZ2hiV2IxU3dzSjFCQkFUQ0FBR0JRSmlvUlRuQUNFSkVBV3VBMzVLSmd0Z0ZpRUVcXG5adHRMUFIwS2NZdmpndkpDQmE0RGZrb21DMkJzcndEL1orNDN6T3crV3BmUEh4ZSt5cHlWb2c1Zm5PS2xcXG5Yd2xlSDZ6RHZxVVdtV2tBL2lhSEM2dWxsWWtTRzRNdjY4azZxYnRnUi9wbXMvWDdya2ZhMFFRRkp5NXBcXG56bE1FWXFFVTVoSUZLNEVFQUFvQ0F3U3NMcW1mb25qTUYzbzBuWjVKSHZMcG1mVEExUklWRHNBRW9ST05cXG50WkE2ckFBMjNwR2w2czNJeXQ0L2ZYOUFkem9oM0VFbE9qTXNnaThBajNkRnB1cWlBd0VJQjhKNEJCZ1RcXG5DQUFKQlFKaW9SVG5BaHNNQUNFSkVJazFHd2dNYTZkN0ZpRUVkRXZrUC95ZEV6ZWlsQ2RlaVRVYkNBeHJcXG5wM3ZNN0FEOUdQcDZIaFlORWgyVlZDRHRGU3QxNEJuaTVGVk01aWNwVkRvNnc5aWJ2V0FBLzJUaTNKdjRcXG5JaEl4bDgxL3dxQWdxaWdJYmxyejZ2anRhZ3I5L3lrWFFDVzNcXG49c2tDb1xcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZNG02WkJNRks0RUVBQW9DQXdSU1R3ZFhnaVkrRUJOajJKZ056aXNVeWdjVkdWeHAxRnYrcFQ2NFxcblRzSjY0eTlGcjVoOWxqcU1Jc21NME1XbjloY3pwbWRBRUhwa1NnMjY0d0FQTmNJV3pRdENhWFJIYnlCT1xcbmFYUnliOEtFQkJNVENBQTJCUUpqaWJwbUFnc0pDUkRIZ3ZyV3F4NjVId0lWQ0FJV0FBSWJBd0llQVJZaFxcbkJMZ256STlDbjZVYW1ObEoyTWVDK3Rhckhya2ZBQUJFd2dEL1cwK0xYcEhFTXRTblNoZjdyU2c3dFFmR1xcbjFCYjZiZTJZMXV0ZCthdWovRWNBL2pHSk84TXRlanhjVkdCcEgvWnJPREwrRDB5Uy9JMllEM252ZUx0RFxcbkQ1ejN3blVFRUJNSUFDY0ZBbU9KdW1rSkVIdVMxdm9BZDVmSkZpRUUxWHhiZmJicjV6TEdxTko3ZTVMV1xcbitnQjNsOGtBQVB0bUFQMFdablcvY2dHQ1d6RzFOWWJBVTFzSlV3WWRzcE0xV0RMQnlqbW81SmtDclFEK1xcbk9LLzZVOHp2bVFFY29PcTBZWEFyaGIreVdRRERIREVrTHhScHRCK0tPOG5PVXdSamlicGtFZ1VyZ1FRQVxcbkNnSURCT1V2bi9vTktabmpFTXRuQWJCNmhvb3M4dkRmOG1xeUlidEdSakRpbDFUM3QxOXEyS2U2eEZGb1xcbkorVTJ3NGd0RnhqREVSOGlnYXMramE0UDN1N0VGbE1EQVFnSHduZ0VHQk1JQUNvRkFtT0p1bWdKRU1lQ1xcbit0YXJIcmtmQWhzTUZpRUV1Q2ZNajBLZnBScVkyVW5ZeDRMNjFxc2V1UjhBQU5IUEFQOTZsdndHVDNBMFxcbk5OejFXQXIrU24xM21SM2s4YXJmZXFjdloxRkNtaW9Nb2dEOUd6SklhSmxiQWJkc1JCNFFuTGtSY0tKT1xcbm5NSDEzUEtxOXFNNnRnNFVRRk09XFxuPVNEMGhcXG4tLS0tLUVORCBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuJyxcbiAgICB9LFxuICAgIG9ucHJlbToge1xuICAgICAgdGVzdDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVZcUVVNWhNRks0RUVBQW9DQXdRRGRiQUlacnNibEVYSWF2eWcyZ282cDlvRzBTcVdUZ0ZzZEhUY1xcbkJocWRJUy9XalE4cGo3NXErdkxxRnRWOWhsSW1ZR0luc0lXaDk3ZnNpZ3pCMm93eXpSaG9jMjBnUEdoelxcbmJVQjBaWE4wTG1KcGRHZHZMbU52YlQ3Q2hBUVRFd2dBRlFVQ1lxRVU1d0lMQ1FJVkNBSVdBQUliQXdJZVxcbkFRQWhDUkNKTlJzSURHdW5leFloQkhSTDVELzhuUk0zb3BRblhvazFHd2dNYTZkN3RnOEEvMjRBOWF3cVxcblNDSng3UmRkaVV6RkhjS2hWdnZvM1I1TjdiSGFPR1AzVFA3OUFQMFRhdkYyV3poVVhtWlNqdDNJSzIzT1xcbjcvYWtuYmlqVmVxNTJnaGJXYjFTd3NKMUJCQVRDQUFHQlFKaW9SVG5BQ0VKRUFXdUEzNUtKZ3RnRmlFRVxcblp0dExQUjBLY1l2amd2SkNCYTREZmtvbUMyQnNyd0QvWis0M3pPdytXcGZQSHhlK3lweVZvZzVmbk9LbFxcblh3bGVINnpEdnFVV21Xa0EvaWFIQzZ1bGxZa1NHNE12NjhrNnFidGdSL3Btcy9YN3JrZmEwUVFGSnk1cFxcbnpsTUVZcUVVNWhJRks0RUVBQW9DQXdTc0xxbWZvbmpNRjNvMG5aNUpIdkxwbWZUQTFSSVZEc0FFb1JPTlxcbnRaQTZyQUEyM3BHbDZzM0l5dDQvZlg5QWR6b2gzRUVsT2pNc2dpOEFqM2RGcHVxaUF3RUlCOEo0QkJnVFxcbkNBQUpCUUppb1JUbkFoc01BQ0VKRUlrMUd3Z01hNmQ3RmlFRWRFdmtQL3lkRXplaWxDZGVpVFViQ0F4clxcbnAzdk03QUQ5R1BwNkhoWU5FaDJWVkNEdEZTdDE0Qm5pNUZWTTVpY3BWRG82dzlpYnZXQUEvMlRpM0p2NFxcbkloSXhsODEvd3FBZ3FpZ0libHJ6NnZqdGFncjkveWtYUUNXM1xcbj1za0NvXFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgICBwcm9kOiAnLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tXFxuXFxueGs4RVlxS0tRUk1GSzRFRUFBb0NBd1JPV0piSDNVQ1BkWlRQRUpYcFBaY2t0d3RESndpbDRRSGxYWkVMXFxuY1ViRkVUYm9xL2NZMjJ3K3VHMElsUnlwZGJvNitzRHVhZWczZGZqYTJpb3E2VHRKelFWQ2FYUkhiOEtFXFxuQkJNVENBQVZCUUppb29wREFnc0pBaFVJQWhZQUFoc0RBaDRCQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvXFxuWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltMUFEK1A5Y2xFM2tqNzY0WW1ySERPY1JQbC8rdFgyQ29VRDByXFxuYmRTWXlKeWZDd0FBL0FzMEYwVUZiUHpseFBTYVpoVi9qUXhCK1BzRjRMVml3RGRoNFY0cFV0bjl6bE1FXFxuWXFLS1FSSUZLNEVFQUFvQ0F3UWg1d0JyT2t0cUplNEc1c2JTT2R5dzFybjEvMUV2a080aGo4UjRDM1VBXFxuSzdBcHo1OTlYYmk2anQzcEQycmhkdUwxRm5TNXpoemlZU0Jra28vQjJJdzhBd0VJQjhKNEJCZ1RDQUFKXFxuQlFKaW9vcEVBaHNNQUNFSkVGWE9NalphdDV2TUZpRUVGWVMvWHZkaHQ4aU10bXlQVmM0eU5scTNtOHltXFxuVndEOER3S2RkZlpHK1ZnUXRYcnpoNTIzUndrMGpsK0V3ZGNWMmg2QWlLb1YvM0FBL2pWK3lTMytLVEhrXFxuNlE4OVRHUjJRZnRwY2t3Y1VUS09OOXB1R2U5K3VsYW5cXG49T3FadVxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgIH0sXG4gIH0sXG4gIG1wY3YyOiB7XG4gICAgbml0cm86IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWmlGM0NCTUZLNEVFQUFvQ0F3UVdEN1BhNzUyZkFsNHowUHhmV1ZDMDVkODl2Zm84MFB5VVEzRXJcXG5MWGxoR0xraWsrTmtBbC9EQmQ4ZGlON2k0a1R2Um9JbzB4ckhVK2xaZ2RndCtjdDV6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQU5nVUNaaUYzQ0FJTENRa1E1eWN1ZXpiYlZPa0NcXG5GUWdDRmdBQ0d3TUNIZ0VXSVFSUHI2R05pRTd0UnYwcDRhZm5KeTU3TnR0VTZRQUFiQVlBK3dSdlNMT2FcXG5lMGlSRU94MDBIaFlXUDAzMEdoTjk4QmNadGVoVDlpVFpNVjhBUDk3T3RrcnRxNmpieTJmN1BkRVY3dXZcXG5kNGFpa1RhNUJnbnBLdmw4eXFMNGNjS0VCQkFUQ0FBMkJRSm1JWGNLQWdzSkNSQ1pSQmZjaDVNVWN3SVZcXG5DQUlXQUFJYkF3SWVBUlloQkFtWEJTMFRZRXZtQy8zTDlKbEVGOXlIa3hSekFBQkoxd0QrS3lJMWo5bnVcXG5ZV3ZEeHdEQitKQkdNdDdtaWM3N2FqQk9nYUNhYkVaMGoxTUEvMlJDT2lWMmNPTDN4MUFPem9zcW9mc2hcXG5pQTFzOUJwUzE0eEF3cktKUHdZK3psTUVaaUYzQ0JJRks0RUVBQW9DQXdTZ0xzNjBrTHpoSEQzbzFzRGdcXG4wZlEvUUh3NmhncTlQUTVMdmlsVXZ1SUdZRFI3OXNQd3JNdXd5N3dVY09RZ0p2d0lPSkhvbW1EcTVuaitcXG5LZmdBdEU2dUF3RUlCOEtFQkJnVENBQTJCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJcXG5EQUllQVJZaEJFK3ZvWTJJVHUxRy9TbmhwK2NuTG5zMjIxVHBBQURXbVFEL2JWOXNCa3d5WWZZZkpZVFNcXG5xdlRtdWJDZXNRRFk1UmFudjl3WXZ2N1JpTFFBL2l3WDZaSHdkYnZRRlZ1aTBHcnZWMmlGYUNIdXQxcG5cXG5GNFlDRHFwVUtpZHd6azhFWmlGM0NCTUZLNEVFQUFvQ0F3VGZtL0haeHd2dWJQL3JyMktPVTg4bWtETDlcXG5qY1dqZlF4MXVGWjltbElnTUJWMysrT2d0a1ZFMGVFZStsTldwd2drc0dPR3JCV2VRM0swWFJGMFlsVXBcXG53c0JLQkJnVENBQzhCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJBZ0llQVlVZ0JCZ1RcXG5DQUEyQlFKbUlYY0pBZ3NKQ1JCckVNVHEyb09ZaGdJVkNBSVdBQUliQWdJZUFSWWhCTEZnMXpJY3dBbWNcXG5SaEdkT21zUXhPcmFnNWlHQUFBeG9BRC9ZTlBoTW1mM2w0UWg3ZnBya21Pam9VMEN2RmlpUCtrY3hUcjlcXG5tOWx1VmhVQS9SdmhJQjRzcXJBY1NEN1pHVklRY0VJMTRyZEFGZW9rNEhpZ3oyY0dmOVI2RmlFRVQ2K2hcXG5qWWhPN1ViOUtlR241eWN1ZXpiYlZPa0FBUG5hQVAwZFlweWE3RXp2TjVRNlJwSXpxTEZOOWl6eUd0NFFcXG42a2Vac3ZuVmJXOXFKQUQ5Rmo3dEFBTVViYnN0ei9LeDlSWThxb0lPRlR1U3dhZURYbkpNckk5djg0dz1cXG49dXpWQlxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJycsXG4gICAgfSxcbiAgICBvbnByZW06IHtcbiAgICAgIHRlc3Q6ICctLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG5cXG54azhFWmlGM0NCTUZLNEVFQUFvQ0F3UVdEN1BhNzUyZkFsNHowUHhmV1ZDMDVkODl2Zm84MFB5VVEzRXJcXG5MWGxoR0xraWsrTmtBbC9EQmQ4ZGlON2k0a1R2Um9JbzB4ckhVK2xaZ2RndCtjdDV6UmhvYzIwZ1BHaHpcXG5iVUIwWlhOMExtSnBkR2R2TG1OdmJUN0NoQVFURXdnQU5nVUNaaUYzQ0FJTENRa1E1eWN1ZXpiYlZPa0NcXG5GUWdDRmdBQ0d3TUNIZ0VXSVFSUHI2R05pRTd0UnYwcDRhZm5KeTU3TnR0VTZRQUFiQVlBK3dSdlNMT2FcXG5lMGlSRU94MDBIaFlXUDAzMEdoTjk4QmNadGVoVDlpVFpNVjhBUDk3T3RrcnRxNmpieTJmN1BkRVY3dXZcXG5kNGFpa1RhNUJnbnBLdmw4eXFMNGNjS0VCQkFUQ0FBMkJRSm1JWGNLQWdzSkNSQ1pSQmZjaDVNVWN3SVZcXG5DQUlXQUFJYkF3SWVBUlloQkFtWEJTMFRZRXZtQy8zTDlKbEVGOXlIa3hSekFBQkoxd0QrS3lJMWo5bnVcXG5ZV3ZEeHdEQitKQkdNdDdtaWM3N2FqQk9nYUNhYkVaMGoxTUEvMlJDT2lWMmNPTDN4MUFPem9zcW9mc2hcXG5pQTFzOUJwUzE0eEF3cktKUHdZK3psTUVaaUYzQ0JJRks0RUVBQW9DQXdTZ0xzNjBrTHpoSEQzbzFzRGdcXG4wZlEvUUh3NmhncTlQUTVMdmlsVXZ1SUdZRFI3OXNQd3JNdXd5N3dVY09RZ0p2d0lPSkhvbW1EcTVuaitcXG5LZmdBdEU2dUF3RUlCOEtFQkJnVENBQTJCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJcXG5EQUllQVJZaEJFK3ZvWTJJVHUxRy9TbmhwK2NuTG5zMjIxVHBBQURXbVFEL2JWOXNCa3d5WWZZZkpZVFNcXG5xdlRtdWJDZXNRRFk1UmFudjl3WXZ2N1JpTFFBL2l3WDZaSHdkYnZRRlZ1aTBHcnZWMmlGYUNIdXQxcG5cXG5GNFlDRHFwVUtpZHd6azhFWmlGM0NCTUZLNEVFQUFvQ0F3VGZtL0haeHd2dWJQL3JyMktPVTg4bWtETDlcXG5qY1dqZlF4MXVGWjltbElnTUJWMysrT2d0a1ZFMGVFZStsTldwd2drc0dPR3JCV2VRM0swWFJGMFlsVXBcXG53c0JLQkJnVENBQzhCUUptSVhjSkFnc0pDUkRuSnk1N050dFU2UUlWQ0FJV0FBSWJBZ0llQVlVZ0JCZ1RcXG5DQUEyQlFKbUlYY0pBZ3NKQ1JCckVNVHEyb09ZaGdJVkNBSVdBQUliQWdJZUFSWWhCTEZnMXpJY3dBbWNcXG5SaEdkT21zUXhPcmFnNWlHQUFBeG9BRC9ZTlBoTW1mM2w0UWg3ZnBya21Pam9VMEN2RmlpUCtrY3hUcjlcXG5tOWx1VmhVQS9SdmhJQjRzcXJBY1NEN1pHVklRY0VJMTRyZEFGZW9rNEhpZ3oyY0dmOVI2RmlFRVQ2K2hcXG5qWWhPN1ViOUtlR241eWN1ZXpiYlZPa0FBUG5hQVAwZFlweWE3RXp2TjVRNlJwSXpxTEZOOWl6eUd0NFFcXG42a2Vac3ZuVmJXOXFKQUQ5Rmo3dEFBTVViYnN0ei9LeDlSWThxb0lPRlR1U3dhZURYbkpNckk5djg0dz1cXG49dXpWQlxcbi0tLS0tRU5EIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS1cXG4nLFxuICAgICAgcHJvZDogJy0tLS0tQkVHSU4gUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcblxcbnhrOEVabUh5S0JNRks0RUVBQW9DQXdTK3RCWS8yUDQ3RzBtZ1lSaHE5MGpLNDc1ZjAyZjNmM1c0VmJLQVxcblN3ZDlzNmFJNXNwazdHZVlzalJ2UDZyQmY0dkZJakxqN1R5N0syVjAzclpQUWM4YnpRVkNhWFJIYjhLRVxcbkJCTVRDQUEyQlFKbVlmSXBBZ3NKQ1JBS01CNEFUQTVWN1FJVkNBSVdBQUliQXdJZUFSWWhCQUlkZmxMQlxcbks0ZGVIb2srZ1Fvd0hnQk1EbFh0QUFDUnBBRC9VVWJUc0ZFa2p0K0NDSm1WcTJ2NWw2b29jUjloWFhrVFxcbnpoUlFLUUl3U2lnQS9SVnZTMlJzb1pMa2FMNjhHVUhMeTYzWFZIdEcxNDlwTjNCWVB3YjYzRWNRd29RRVxcbkVCTUlBRFlGQW1aaDhpb0NDd2tKRUZsaDJETE02SVZOQWhVSUFoWUFBaHNEQWg0QkZpRUVzYjlmMVZBMFxcbjlyT0xnRk0rV1dIWU1zem9oVTBBQUZDOEFQNHdIMG5kbXpDU2cyTy9hK1pmcVcyeUE0NjVCRnZETTFpalxcbnZNdENKWVN4ekFEL1JqY2ZEZmtONElwamFhMkxSdUh4ZkhaYnZnQ2dvT0Noc0pMdjRLUUxUYWZPVXdSbVxcbllmSW9FZ1VyZ1FRQUNnSURCTStXMDFLRVVhQW04YTNoTUJXRzlFU2h5TnJaeGJ0djlyeWQ4SklJeGVFYlxcbkVja0xUVlF2SWVyM1l2RFV5amVZL3Y4M1ZDUmRtNkg1Y2FoVjkyc3lkcklEQVFnSHdvUUVHQk1JQURZRlxcbkFtWmg4aWtDQ3drSkVBb3dIZ0JNRGxYdEFoVUlBaFlBQWhzTUFoNEJGaUVFQWgxK1VzRXJoMTRlaVQ2QlxcbkNqQWVBRXdPVmUwQUFFY1NBUDlIOTZ0L3o5dUtlOWxBb3EyZDlEdDNIcnE5ZU02c0xRMitjVmJsbmdQK1xcbkRRRC9kQ3FIWVF6RGRzdWM5WTNIbVdiaENLMVVtNmV3cHBrY3QxdjVsbWJhSjFiT1R3Um1ZZklvRXdVclxcbmdRUUFDZ0lEQkpESW9mV09Mai9Ka0JGa1pEaDNhKytMTkVIOFRCTmxEWnZVN3ROZlVSWFdBcHhWMlZBYlxcbkZCS1lkZE4wM1ExU0JwTVIwR2tQbDQyckg3d2hZZGVhRUJIQ3dFb0VHQk1JQUx3RkFtWmg4aW9DQ3drSlxcbkVBb3dIZ0JNRGxYdEFoVUlBaFlBQWhzQ0FoNEJoU0FFR0JNSUFEWUZBbVpoOGlvQ0N3a0pFR0FmQnNNVFxcbkZ6VmpBaFVJQWhZQUFoc0NBaDRCRmlFRTJ6QUdIU2FMbnN3cUl2QnJZQjhHd3hNWE5XTUFBTnJvQVAwZlxcbnRGUHVtS0Z3UXJDZjdPTUhRV3Nlc3JRWXBLVDZaNjVWYmV3Qm9HYUdpZ0QvVWtlZXlnVHRseXpUVjJZRlxcbk5BaldBemFRdFhXbW16UmduT2owSUt1YjM5TVdJUVFDSFg1U3dTdUhYaDZKUG9FS01CNEFUQTVWN1FBQVxcblRqTUEvakRTVlhKTmJsci9rU0xORlRvcmRnRGpLUDBuTjFhRWx2RlVGaC9RRVZUMEFQOWxtZjJGYy9vN1xcbnlZT0dQUGc0T3Z2VTZvZHJUc3VOZ2xqdlBxQmxhQ2MyRUE9PVxcbj1aTGt0XFxuLS0tLS1FTkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLVxcbicsXG4gICAgfSxcbiAgfSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCaXRnb01wY0dwZ1B1YktleShcbiAgZW52OiBFbnZpcm9ubWVudE5hbWUsXG4gIHB1YktleVR5cGU6ICduaXRybycgfCAnb25wcmVtJyxcbiAgbXBjVmVyc2lvbjogJ21wY3YxJyB8ICdtcGN2Midcbik6IHN0cmluZyB7XG4gIGFzc2VydChcbiAgICBtcGNWZXJzaW9uIGluIGJpdGdvTXBjR3BnUHViS2V5cyxcbiAgICBgSW52YWxpZCBtcGNWZXJzaW9uIGluIGdldEJpdGdvTXBjR3BnUHViS2V5LCBnb3Q6ICR7bXBjVmVyc2lvbn0sIGV4cGVjdGVkOiBtcGN2MSBvciBtcGN2MmBcbiAgKTtcbiAgYXNzZXJ0KFxuICAgIHB1YktleVR5cGUgaW4gYml0Z29NcGNHcGdQdWJLZXlzW21wY1ZlcnNpb25dLFxuICAgIGBJbnZhbGlkIHB1YktleVR5cGUgaW4gZ2V0Qml0Z29NcGNHcGdQdWJLZXksIGdvdDogJHtwdWJLZXlUeXBlfSwgZXhwZWN0ZWQ6IG5pdHJvIG9yIG9ucHJlbWBcbiAgKTtcbiAgaWYgKGVudiAhPT0gJ3Byb2QnICYmIGVudiAhPT0gJ3Rlc3QnICYmIGVudiAhPT0gJ3N0YWdpbmcnICYmIGVudiAhPT0gJ2FkbWluUHJvZCcgJiYgZW52ICE9PSAnYWRtaW5UZXN0Jykge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBlbnZpcm9ubWVudCB0byBnZXQgYSBCaXRHbyBNUEMgR1BHIHB1YmxpYyBrZXknKTtcbiAgfVxuICBpZiAoZW52ICE9PSAncHJvZCcgJiYgZW52ICE9PSAnYWRtaW5Qcm9kJykge1xuICAgIC8vIGRlZmF1bHQgdG8gdGVzdCBncGcga2V5cyBpZiBub3QgaW4gcHJvZFxuICAgIGVudiA9ICd0ZXN0JztcbiAgfVxuICBpZiAoZW52ID09PSAnYWRtaW5Qcm9kJykge1xuICAgIGVudiA9ICdwcm9kJztcbiAgfVxuICBpZiAocHViS2V5VHlwZSA9PT0gJ25pdHJvJyAmJiBlbnYgPT09ICdwcm9kJyAmJiBtcGNWZXJzaW9uID09PSAnbXBjdjInKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOaXRybyBtcGN2MiBwdWIga2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgeWV0LicpO1xuICB9XG4gIGlmIChwdWJLZXlUeXBlICE9PSAnbml0cm8nKSB7XG4gICAgLy8gVGhpcyB3aWxsIGJlIHRoZSBkZWZhdWx0IGtleSB0eXBlXG4gICAgcHViS2V5VHlwZSA9ICdvbnByZW0nO1xuICB9XG4gIHJldHVybiBiaXRnb01wY0dwZ1B1YktleXNbbXBjVmVyc2lvbl1bcHViS2V5VHlwZV1bZW52XTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQml0Z29NcGNQdWJLZXkoa2V5OiBzdHJpbmcsIG1wY3ZWZXJzaW9uOiAnbXBjdjEnIHwgJ21wY3YyJyk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhiaXRnb01wY0dwZ1B1YktleXNbbXBjdlZlcnNpb25dKS5zb21lKChlbnZLZXlzKSA9PiBPYmplY3QudmFsdWVzKGVudktleXMpLmluY2x1ZGVzKGtleSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW52UmVxdWlyZXNCaXRnb1B1YkdwZ0tleUNvbmZpZyhlbnY6IEVudmlyb25tZW50TmFtZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gZW52ID09PSAncHJvZCcgfHwgZW52ID09PSAndGVzdCcgfHwgZW52ID09PSAnc3RhZ2luZycgfHwgZW52ID09PSAnYWRtaW5Qcm9kJyB8fCBlbnYgPT09ICdhZG1pblRlc3QnO1xufVxuIl19
@@ -3,7 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTxRequestChallenge = exports.commonVerifyWalletSignature = exports.exchangeEddsaCommitments = exports.sendTxRequest = exports.sendSignatureShareV2 = exports.sendSignatureShare = exports.getTxRequest = void 0;
6
+ exports.getTxRequest = getTxRequest;
7
+ exports.sendSignatureShare = sendSignatureShare;
8
+ exports.sendSignatureShareV2 = sendSignatureShareV2;
9
+ exports.sendTxRequest = sendTxRequest;
10
+ exports.exchangeEddsaCommitments = exchangeEddsaCommitments;
11
+ exports.commonVerifyWalletSignature = commonVerifyWalletSignature;
12
+ exports.getTxRequestChallenge = getTxRequestChallenge;
7
13
  const assert_1 = __importDefault(require("assert"));
8
14
  const utils_1 = require("../utils");
9
15
  /**
@@ -28,7 +34,6 @@ async function getTxRequest(bitgo, walletId, txRequestId, reqId) {
28
34
  }
29
35
  return txRequestRes.txRequests[0];
30
36
  }
31
- exports.getTxRequest = getTxRequest;
32
37
  /**
33
38
  * Sends a Signature Share
34
39
  *
@@ -69,7 +74,6 @@ async function sendSignatureShare(bitgo, walletId, txRequestId, signatureShare,
69
74
  })
70
75
  .result();
71
76
  }
72
- exports.sendSignatureShare = sendSignatureShare;
73
77
  /**
74
78
  * Sends a Signature Share using the sign txRequest route
75
79
  *
@@ -105,7 +109,6 @@ async function sendSignatureShareV2(bitgo, walletId, txRequestId, signatureShare
105
109
  bitgo.setRequestTracer(reqTracer);
106
110
  return bitgo.post(bitgo.url(urlPath, 2)).send(requestBody).result();
107
111
  }
108
- exports.sendSignatureShareV2 = sendSignatureShareV2;
109
112
  /**
110
113
  * Sends a Transaction Request for broadcast once signing is complete
111
114
  *
@@ -123,7 +126,6 @@ async function sendTxRequest(bitgo, walletId, txRequestId, requestType, reqId) {
123
126
  bitgo.setRequestTracer(reqTracer);
124
127
  return bitgo.post(bitgo.url(urlPath, 2)).send().result();
125
128
  }
126
- exports.sendTxRequest = sendTxRequest;
127
129
  /**
128
130
  * Sends the client commitment and encrypted signer share to the server, getting back the server commitment
129
131
  * @param {BitGoBase} bitgo - the bitgo instance
@@ -145,7 +147,6 @@ async function exchangeEddsaCommitments(bitgo, walletId, txRequestId, commitment
145
147
  bitgo.setRequestTracer(reqTracer);
146
148
  return await bitgo.post(bitgo.url(urlPath, 2)).send({ commitmentShare, encryptedSignerShare }).result();
147
149
  }
148
- exports.exchangeEddsaCommitments = exchangeEddsaCommitments;
149
150
  /**
150
151
  * Verifies that a TSS wallet signature was produced with the expected key and that the signed data contains the
151
152
  * expected common keychain as well as the expected user and backup key ids
@@ -173,7 +174,6 @@ async function commonVerifyWalletSignature(params) {
173
174
  (0, assert_1.default)(backupKeyId === Buffer.from(rawNotations[2].value).toString(), 'wallet signature does not match backup key id');
174
175
  return rawNotations;
175
176
  }
176
- exports.commonVerifyWalletSignature = commonVerifyWalletSignature;
177
177
  /**
178
178
  * Gets challenge for a tx request from BitGo
179
179
  * supports Message and regular Transaction
@@ -200,5 +200,4 @@ async function getTxRequestChallenge(bitgo, walletId, txRequestId, index, reques
200
200
  bitgo.setRequestTracer(reqTracer);
201
201
  return await bitgo.post(bitgo.url(urlPath, 2)).send({ paillierModulus }).result();
202
202
  }
203
- exports.getTxRequestChallenge = getTxRequestChallenge;
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQTRCO0FBSzVCLG9DQVNrQjtBQUdsQjs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxZQUFZLENBQ2hDLEtBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLEtBQXNCO0lBRXRCLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLHFCQUFhLEVBQUUsQ0FBQztJQUMvQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxLQUFLO1NBQzdCLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsR0FBRyxRQUFRLEdBQUcsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3hELEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1NBQ3BELEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDUixNQUFNLEVBQUUsQ0FBQztJQUVaLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLFdBQVcsRUFBRSxDQUFDLENBQUM7S0FDcEU7SUFFRCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQW5CRCxvQ0FtQkM7QUFFRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0ksS0FBSyxVQUFVLGtCQUFrQixDQUN0QyxLQUFnQixFQUNoQixRQUFnQixFQUNoQixXQUFtQixFQUNuQixjQUFvQyxFQUNwQyxXQUF3QixFQUN4QixXQUFvQixFQUNwQixlQUFrQyxPQUFPLEVBQ3pDLFVBQTJCLE1BQU0sRUFDakMsZ0JBQXlCLEVBQ3pCLEtBQXNCO0lBRXRCLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNsQixRQUFRLFdBQVcsRUFBRTtRQUNuQixLQUFLLG1CQUFXLENBQUMsRUFBRTtZQUNqQixJQUFJLFlBQVksS0FBSyxPQUFPLElBQUksT0FBTyxLQUFLLE1BQU0sRUFBRTtnQkFDbEQsUUFBUSxHQUFHLGlCQUFpQixDQUFDO2FBQzlCO1lBQ0QsTUFBTTtRQUNSLEtBQUssbUJBQVcsQ0FBQyxPQUFPO1lBQ3RCLElBQUksWUFBWSxLQUFLLE9BQU8sSUFBSSxPQUFPLEtBQUssTUFBTSxFQUFFO2dCQUNsRCxRQUFRLEdBQUcsYUFBYSxDQUFDO2FBQzFCO1lBQ0QsTUFBTTtLQUNUO0lBQ0QsTUFBTSxPQUFPLEdBQUcsVUFBVSxHQUFHLFFBQVEsR0FBRyxjQUFjLEdBQUcsV0FBVyxHQUFHLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQztJQUNyRyxNQUFNLFNBQVMsR0FBRyxLQUFLLElBQUksSUFBSSxxQkFBYSxFQUFFLENBQUM7SUFDL0MsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLE9BQU8sS0FBSztTQUNULElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzQixJQUFJLENBQUM7UUFDSixjQUFjO1FBQ2QsV0FBVztRQUNYLGdCQUFnQjtLQUNqQixDQUFDO1NBQ0QsTUFBTSxFQUFFLENBQUM7QUFDZCxDQUFDO0FBcENELGdEQW9DQztBQUVEOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0ksS0FBSyxVQUFVLG9CQUFvQixDQUN4QyxLQUFnQixFQUNoQixRQUFnQixFQUNoQixXQUFtQixFQUNuQixlQUF1QyxFQUN2QyxXQUF3QixFQUN4QixZQUErQixFQUMvQixrQkFBMEIsRUFDMUIsV0FBb0IsRUFDcEIsbUJBQXlDLEVBQ3pDLEtBQXNCO0lBRXRCLE1BQU0sUUFBUSxHQUFHLFdBQVcsS0FBSyxtQkFBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNwRixNQUFNLE9BQU8sR0FBRyxVQUFVLEdBQUcsUUFBUSxHQUFHLGNBQWMsR0FBRyxXQUFXLEdBQUcsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxRixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7SUFDZCxJQUFJLG1CQUFtQixLQUFLLE9BQU8sSUFBSSxZQUFZLEtBQUssT0FBTyxFQUFFO1FBQy9ELElBQUksR0FBRyxZQUFZLENBQUM7S0FDckI7U0FBTSxJQUFJLG1CQUFtQixLQUFLLFNBQVMsSUFBSSxZQUFZLEtBQUssT0FBTyxFQUFFO1FBQ3hFLElBQUksR0FBRyxZQUFZLENBQUM7S0FDckI7SUFDRCxNQUFNLFdBQVcsR0FBRztRQUNsQixJQUFJO1FBQ0osZUFBZTtRQUNmLFdBQVc7UUFDWCxrQkFBa0I7S0FDbkIsQ0FBQztJQUNGLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLHFCQUFhLEVBQUUsQ0FBQztJQUMvQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3RFLENBQUM7QUE3QkQsb0RBNkJDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0ksS0FBSyxVQUFVLGFBQWEsQ0FDakMsS0FBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsV0FBd0IsRUFDeEIsS0FBc0I7SUFFdEIsTUFBTSxRQUFRLEdBQUcsV0FBVyxLQUFLLG1CQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3BGLE1BQU0sT0FBTyxHQUFHLFVBQVUsR0FBRyxRQUFRLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFGLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLHFCQUFhLEVBQUUsQ0FBQztJQUMvQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDM0QsQ0FBQztBQVpELHNDQVlDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNJLEtBQUssVUFBVSx3QkFBd0IsQ0FDNUMsS0FBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsZUFBc0MsRUFDdEMsb0JBQWdELEVBQ2hELFVBQTJCLE1BQU0sRUFDakMsS0FBc0I7SUFFdEIsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLElBQUksT0FBTyxLQUFLLE1BQU0sRUFBRTtRQUN0QixRQUFRLEdBQUcsaUJBQWlCLENBQUM7S0FDOUI7SUFDRCxNQUFNLE9BQU8sR0FBRyxVQUFVLEdBQUcsUUFBUSxHQUFHLGNBQWMsR0FBRyxXQUFXLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1RixNQUFNLFNBQVMsR0FBRyxLQUFLLElBQUksSUFBSSxxQkFBYSxFQUFFLENBQUM7SUFDL0MsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLE9BQU8sTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUMxRyxDQUFDO0FBakJELDREQWlCQztBQUVEOzs7R0FHRztBQUNJLEtBQUssVUFBVSwyQkFBMkIsQ0FBQyxNQU1qRDtJQUNDLE1BQU0sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRXJGLHNIQUFzSDtJQUN0SCw4R0FBOEc7SUFDOUcsNkJBQTZCO0lBQzdCLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsS0FBSyxRQUFRLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxFQUFFO1FBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUM5QztJQUVELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFBLGdDQUF3QixFQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUYsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztLQUM5QztJQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBRTNELDZEQUE2RDtJQUM3RCx1RkFBdUY7SUFDdkYsTUFBTSxZQUFZLEdBQTRCLFdBQVcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBRW5HLElBQUEsZ0JBQU0sRUFBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO0lBRS9ELElBQUEsZ0JBQU0sRUFDSixjQUFjLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQ2hFLGlEQUFpRCxDQUNsRCxDQUFDO0lBQ0YsSUFBQSxnQkFBTSxFQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSw2Q0FBNkMsQ0FBQyxDQUFDO0lBQ25ILElBQUEsZ0JBQU0sRUFDSixXQUFXLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQzdELCtDQUErQyxDQUNoRCxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQXhDRCxrRUF3Q0M7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0ksS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxLQUFnQixFQUNoQixRQUFnQixFQUNoQixXQUFtQixFQUNuQixLQUFhLEVBQ2IsV0FBd0IsRUFDeEIsZUFBdUIsRUFDdkIsS0FBc0I7SUFFdEIsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLFFBQVEsV0FBVyxFQUFFO1FBQ25CLEtBQUssbUJBQVcsQ0FBQyxFQUFFO1lBQ2pCLFFBQVEsR0FBRyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDcEMsTUFBTTtRQUNSLEtBQUssbUJBQVcsQ0FBQyxPQUFPO1lBQ3RCLFFBQVEsR0FBRyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQ2hDLE1BQU07S0FDVDtJQUNELE1BQU0sT0FBTyxHQUFHLFVBQVUsR0FBRyxRQUFRLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxRQUFRLEdBQUcsWUFBWSxDQUFDO0lBQy9GLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxJQUFJLHFCQUFhLEVBQUUsQ0FBQztJQUMvQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsT0FBTyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3BGLENBQUM7QUF0QkQsc0RBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IG9wZW5wZ3AgZnJvbSAnb3BlbnBncCc7XG5cbmltcG9ydCB7IEJpdEdvQmFzZSB9IGZyb20gJy4uL2JpdGdvQmFzZSc7XG5pbXBvcnQgeyBUeFJlcXVlc3RDaGFsbGVuZ2VSZXNwb25zZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgUmVxdWVzdFR5cGUsXG4gIFR4UmVxdWVzdCxcbiAgdmVyaWZ5UHJpbWFyeVVzZXJXcmFwcGVyLFxuICBTaWduYXR1cmVTaGFyZVJlY29yZCxcbiAgQ29tbWl0bWVudFNoYXJlUmVjb3JkLFxuICBFbmNyeXB0ZWRTaWduZXJTaGFyZVJlY29yZCxcbiAgRXhjaGFuZ2VDb21taXRtZW50UmVzcG9uc2UsXG4gIFJlcXVlc3RUcmFjZXIsXG59IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IElSZXF1ZXN0VHJhY2VyIH0gZnJvbSAnLi4vLi4vYXBpJztcblxuLyoqXG4gKiBHZXRzIHRoZSBsYXRlc3QgVHggUmVxdWVzdCBieSBpZFxuICpcbiAqIEBwYXJhbSB7Qml0R29CYXNlfSBiaXRnbyAtIHRoZSBiaXRnbyBpbnN0YW5jZVxuICogQHBhcmFtIHtTdHJpbmd9IHdhbGxldElkIC0gdGhlIHdhbGxldCBpZFxuICogQHBhcmFtIHtTdHJpbmd9IHR4UmVxdWVzdElkIC0gdGhlIHR4UmVxdWVzdCBpZFxuICogQHBhcmFtIHtJUmVxdWVzdFRyYWNlcn0gcmVxSWQgLSB0aGUgcmVxdWVzdCB0cmFjZXIgcmVxdWVzdCBpZFxuICogQHJldHVybnMge1Byb21pc2U8VHhSZXF1ZXN0Pn1cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFR4UmVxdWVzdChcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgd2FsbGV0SWQ6IHN0cmluZyxcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZyxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxUeFJlcXVlc3Q+IHtcbiAgY29uc3QgcmVxVHJhY2VyID0gcmVxSWQgfHwgbmV3IFJlcXVlc3RUcmFjZXIoKTtcbiAgYml0Z28uc2V0UmVxdWVzdFRyYWNlcihyZXFUcmFjZXIpO1xuICBjb25zdCB0eFJlcXVlc3RSZXMgPSBhd2FpdCBiaXRnb1xuICAgIC5nZXQoYml0Z28udXJsKCcvd2FsbGV0LycgKyB3YWxsZXRJZCArICcvdHhyZXF1ZXN0cycsIDIpKVxuICAgIC5xdWVyeSh7IHR4UmVxdWVzdElkczogdHhSZXF1ZXN0SWQsIGxhdGVzdDogJ3RydWUnIH0pXG4gICAgLnJldHJ5KDMpXG4gICAgLnJlc3VsdCgpO1xuXG4gIGlmICh0eFJlcXVlc3RSZXMudHhSZXF1ZXN0cy5sZW5ndGggPD0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgVHhSZXF1ZXN0IHdpdGggaWQgJHt0eFJlcXVlc3RJZH1gKTtcbiAgfVxuXG4gIHJldHVybiB0eFJlcXVlc3RSZXMudHhSZXF1ZXN0c1swXTtcbn1cblxuLyoqXG4gKiBTZW5kcyBhIFNpZ25hdHVyZSBTaGFyZVxuICpcbiAqIEBwYXJhbSB7Qml0R29CYXNlfSBiaXRnbyAtIHRoZSBiaXRnbyBpbnN0YW5jZVxuICogQHBhcmFtIHtTdHJpbmd9IHdhbGxldElkIC0gdGhlIHdhbGxldCBpZCAgKlxuICogQHBhcmFtIHtTdHJpbmd9IHR4UmVxdWVzdElkIC0gdGhlIHR4UmVxdWVzdCBJZFxuICogQHBhcmFtIHtTaWduYXR1cmVTaGFyZVJlY29yZH0gc2lnbmF0dXJlU2hhcmUgLSBhIFNpZ25hdHVyZSBTaGFyZVxuICogQHBhcmFtIHJlcXVlc3RUeXBlIC0gVGhlIHR5cGUgb2YgcmVxdWVzdCBiZWluZyBzdWJtaXR0ZWQgKGVpdGhlciB0eCBvciBtZXNzYWdlIGZvciBzaWduaW5nKVxuICogQHBhcmFtIHNpZ25lclNoYXJlXG4gKiBAcGFyYW0gbXBjQWxnb3JpdGhtXG4gKiBAcGFyYW0gYXBpTW9kZVxuICogQHBhcmFtIHtJUmVxdWVzdFRyYWNlcn0gcmVxSWQgLSB0aGUgcmVxdWVzdCB0cmFjZXIgcmVxdWVzdCBpZFxuICogQHJldHVybnMge1Byb21pc2U8U2lnbmF0dXJlU2hhcmVSZWNvcmQ+fSAtIGEgU2lnbmF0dXJlIFNoYXJlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kU2lnbmF0dXJlU2hhcmUoXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHdhbGxldElkOiBzdHJpbmcsXG4gIHR4UmVxdWVzdElkOiBzdHJpbmcsXG4gIHNpZ25hdHVyZVNoYXJlOiBTaWduYXR1cmVTaGFyZVJlY29yZCxcbiAgcmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlLFxuICBzaWduZXJTaGFyZT86IHN0cmluZyxcbiAgbXBjQWxnb3JpdGhtOiAnZWRkc2EnIHwgJ2VjZHNhJyA9ICdlZGRzYScsXG4gIGFwaU1vZGU6ICdmdWxsJyB8ICdsaXRlJyA9ICdsaXRlJyxcbiAgdXNlclB1YmxpY0dwZ0tleT86IHN0cmluZyxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxTaWduYXR1cmVTaGFyZVJlY29yZD4ge1xuICBsZXQgYWRkZW5kdW0gPSAnJztcbiAgc3dpdGNoIChyZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgUmVxdWVzdFR5cGUudHg6XG4gICAgICBpZiAobXBjQWxnb3JpdGhtID09PSAnZWNkc2EnIHx8IGFwaU1vZGUgPT09ICdmdWxsJykge1xuICAgICAgICBhZGRlbmR1bSA9ICcvdHJhbnNhY3Rpb25zLzAnO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBSZXF1ZXN0VHlwZS5tZXNzYWdlOlxuICAgICAgaWYgKG1wY0FsZ29yaXRobSA9PT0gJ2VjZHNhJyB8fCBhcGlNb2RlID09PSAnZnVsbCcpIHtcbiAgICAgICAgYWRkZW5kdW0gPSAnL21lc3NhZ2VzLzAnO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gIH1cbiAgY29uc3QgdXJsUGF0aCA9ICcvd2FsbGV0LycgKyB3YWxsZXRJZCArICcvdHhyZXF1ZXN0cy8nICsgdHhSZXF1ZXN0SWQgKyBhZGRlbmR1bSArICcvc2lnbmF0dXJlc2hhcmVzJztcbiAgY29uc3QgcmVxVHJhY2VyID0gcmVxSWQgfHwgbmV3IFJlcXVlc3RUcmFjZXIoKTtcbiAgYml0Z28uc2V0UmVxdWVzdFRyYWNlcihyZXFUcmFjZXIpO1xuICByZXR1cm4gYml0Z29cbiAgICAucG9zdChiaXRnby51cmwodXJsUGF0aCwgMikpXG4gICAgLnNlbmQoe1xuICAgICAgc2lnbmF0dXJlU2hhcmUsXG4gICAgICBzaWduZXJTaGFyZSxcbiAgICAgIHVzZXJQdWJsaWNHcGdLZXksXG4gICAgfSlcbiAgICAucmVzdWx0KCk7XG59XG5cbi8qKlxuICogU2VuZHMgYSBTaWduYXR1cmUgU2hhcmUgdXNpbmcgdGhlIHNpZ24gdHhSZXF1ZXN0IHJvdXRlXG4gKlxuICogQHBhcmFtIHtCaXRHb0Jhc2V9IGJpdGdvIC0gdGhlIGJpdGdvIGluc3RhbmNlXG4gKiBAcGFyYW0ge1N0cmluZ30gd2FsbGV0SWQgLSB0aGUgd2FsbGV0IGlkICAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHhSZXF1ZXN0SWQgLSB0aGUgdHhSZXF1ZXN0IElkXG4gKiBAcGFyYW0gc2lnbmF0dXJlU2hhcmVzXG4gKiBAcGFyYW0gcmVxdWVzdFR5cGUgLSBUaGUgdHlwZSBvZiByZXF1ZXN0IGJlaW5nIHN1Ym1pdHRlZCAoZWl0aGVyIHR4IG9yIG1lc3NhZ2UgZm9yIHNpZ25pbmcpXG4gKiBAcGFyYW0gc2lnbmVyU2hhcmVcbiAqIEBwYXJhbSBtcGNBbGdvcml0aG1cbiAqIEBwYXJhbSBtdWx0aXNpZ1R5cGVWZXJzaW9uXG4gKiBAcGFyYW0gc2lnbmVyR3BnUHVibGljS2V5XG4gKiBAcGFyYW0gcmVxSWRcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNpZ25hdHVyZVNoYXJlUmVjb3JkPn0gLSBhIFNpZ25hdHVyZSBTaGFyZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VuZFNpZ25hdHVyZVNoYXJlVjIoXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHdhbGxldElkOiBzdHJpbmcsXG4gIHR4UmVxdWVzdElkOiBzdHJpbmcsXG4gIHNpZ25hdHVyZVNoYXJlczogU2lnbmF0dXJlU2hhcmVSZWNvcmRbXSxcbiAgcmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlLFxuICBtcGNBbGdvcml0aG06ICdlZGRzYScgfCAnZWNkc2EnLFxuICBzaWduZXJHcGdQdWJsaWNLZXk6IHN0cmluZyxcbiAgc2lnbmVyU2hhcmU/OiBzdHJpbmcsXG4gIG11bHRpc2lnVHlwZVZlcnNpb24/OiAnTVBDdjInIHwgdW5kZWZpbmVkLFxuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyXG4pOiBQcm9taXNlPFR4UmVxdWVzdD4ge1xuICBjb25zdCBhZGRlbmR1bSA9IHJlcXVlc3RUeXBlID09PSBSZXF1ZXN0VHlwZS50eCA/ICcvdHJhbnNhY3Rpb25zLzAnIDogJy9tZXNzYWdlcy8wJztcbiAgY29uc3QgdXJsUGF0aCA9ICcvd2FsbGV0LycgKyB3YWxsZXRJZCArICcvdHhyZXF1ZXN0cy8nICsgdHhSZXF1ZXN0SWQgKyBhZGRlbmR1bSArICcvc2lnbic7XG4gIGxldCB0eXBlID0gJyc7XG4gIGlmIChtdWx0aXNpZ1R5cGVWZXJzaW9uID09PSAnTVBDdjInICYmIG1wY0FsZ29yaXRobSA9PT0gJ2VjZHNhJykge1xuICAgIHR5cGUgPSAnZWNkc2FNcGNWMic7XG4gIH0gZWxzZSBpZiAobXVsdGlzaWdUeXBlVmVyc2lvbiA9PT0gdW5kZWZpbmVkICYmIG1wY0FsZ29yaXRobSA9PT0gJ2VkZHNhJykge1xuICAgIHR5cGUgPSAnZWRkc2FNcGNWMSc7XG4gIH1cbiAgY29uc3QgcmVxdWVzdEJvZHkgPSB7XG4gICAgdHlwZSxcbiAgICBzaWduYXR1cmVTaGFyZXMsXG4gICAgc2lnbmVyU2hhcmUsXG4gICAgc2lnbmVyR3BnUHVibGljS2V5LFxuICB9O1xuICBjb25zdCByZXFUcmFjZXIgPSByZXFJZCB8fCBuZXcgUmVxdWVzdFRyYWNlcigpO1xuICBiaXRnby5zZXRSZXF1ZXN0VHJhY2VyKHJlcVRyYWNlcik7XG4gIHJldHVybiBiaXRnby5wb3N0KGJpdGdvLnVybCh1cmxQYXRoLCAyKSkuc2VuZChyZXF1ZXN0Qm9keSkucmVzdWx0KCk7XG59XG5cbi8qKlxuICogU2VuZHMgYSBUcmFuc2FjdGlvbiBSZXF1ZXN0IGZvciBicm9hZGNhc3Qgb25jZSBzaWduaW5nIGlzIGNvbXBsZXRlXG4gKlxuICogQHBhcmFtIHtCaXRHb0Jhc2V9IGJpdGdvIC0gdGhlIGJpdGdvIGluc3RhbmNlXG4gKiBAcGFyYW0ge1N0cmluZ30gd2FsbGV0SWQgLSB0aGUgd2FsbGV0IGlkICAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdHhSZXF1ZXN0SWQgLSB0aGUgdHhSZXF1ZXN0IElkXG4gKiBAcGFyYW0gcmVxdWVzdFR5cGUgLSBUaGUgdHlwZSBvZiByZXF1ZXN0IGJlaW5nIHN1Ym1pdHRlZCAoZWl0aGVyIHR4IG9yIG1lc3NhZ2UgZm9yIHNpZ25pbmcpXG4gKiBAcGFyYW0ge0lSZXF1ZXN0VHJhY2VyfSByZXFJZCAtIHJlcXVlc3QgdHJhY2VyIHJlcXVlc3QgaWRcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNpZ25hdHVyZVNoYXJlUmVjb3JkPn0gLSBhIFNpZ25hdHVyZSBTaGFyZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VuZFR4UmVxdWVzdChcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgd2FsbGV0SWQ6IHN0cmluZyxcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZyxcbiAgcmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlLFxuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyXG4pOiBQcm9taXNlPFR4UmVxdWVzdD4ge1xuICBjb25zdCBhZGRlbmR1bSA9IHJlcXVlc3RUeXBlID09PSBSZXF1ZXN0VHlwZS50eCA/ICcvdHJhbnNhY3Rpb25zLzAnIDogJy9tZXNzYWdlcy8wJztcbiAgY29uc3QgdXJsUGF0aCA9ICcvd2FsbGV0LycgKyB3YWxsZXRJZCArICcvdHhyZXF1ZXN0cy8nICsgdHhSZXF1ZXN0SWQgKyBhZGRlbmR1bSArICcvc2VuZCc7XG4gIGNvbnN0IHJlcVRyYWNlciA9IHJlcUlkIHx8IG5ldyBSZXF1ZXN0VHJhY2VyKCk7XG4gIGJpdGdvLnNldFJlcXVlc3RUcmFjZXIocmVxVHJhY2VyKTtcbiAgcmV0dXJuIGJpdGdvLnBvc3QoYml0Z28udXJsKHVybFBhdGgsIDIpKS5zZW5kKCkucmVzdWx0KCk7XG59XG5cbi8qKlxuICogU2VuZHMgdGhlIGNsaWVudCBjb21taXRtZW50IGFuZCBlbmNyeXB0ZWQgc2lnbmVyIHNoYXJlIHRvIHRoZSBzZXJ2ZXIsIGdldHRpbmcgYmFjayB0aGUgc2VydmVyIGNvbW1pdG1lbnRcbiAqIEBwYXJhbSB7Qml0R29CYXNlfSBiaXRnbyAtIHRoZSBiaXRnbyBpbnN0YW5jZVxuICogQHBhcmFtIHtzdHJpbmd9IHdhbGxldElkIC0gdGhlIHdhbGxldCBpZFxuICogQHBhcmFtIHtzdHJpbmd9IHR4UmVxdWVzdElkIC0gdGhlIHR4UmVxdWVzdCBJZFxuICogQHBhcmFtIHtDb21taXRtZW50U2hhcmVSZWNvcmR9IGNvbW1pdG1lbnRTaGFyZSAtIHRoZSBjbGllbnQgY29tbWl0bWVudCBzaGFyZVxuICogQHBhcmFtIHtFbmNyeXB0ZWRTaWduZXJTaGFyZVJlY29yZH0gZW5jcnlwdGVkU2lnbmVyU2hhcmUgLSB0aGUgY2xpZW50IGVuY3J5cHRlZCBzaWduZXIgc2hhcmVcbiAqIEBwYXJhbSB7c3RyaW5nfSBbYXBpTW9kZV0gLSB0aGUgdHhSZXF1ZXN0IGFwaSBtb2RlIChmdWxsIG9yIGxpdGUpIC0gZGVmYXVsdHMgdG8gbGl0ZVxuICogQHBhcmFtIHtJUmVxdWVzdFRyYWNlcn0gcmVxSWQgLSB0aGUgcmVxdWVzdCB0cmFjZXIgcmVxdWVzdCBJZFxuICogQHJldHVybnMge1Byb21pc2U8RXhjaGFuZ2VDb21taXRtZW50UmVzcG9uc2U+fSAtIHRoZSBzZXJ2ZXIgY29tbWl0bWVudCBzaGFyZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhjaGFuZ2VFZGRzYUNvbW1pdG1lbnRzKFxuICBiaXRnbzogQml0R29CYXNlLFxuICB3YWxsZXRJZDogc3RyaW5nLFxuICB0eFJlcXVlc3RJZDogc3RyaW5nLFxuICBjb21taXRtZW50U2hhcmU6IENvbW1pdG1lbnRTaGFyZVJlY29yZCxcbiAgZW5jcnlwdGVkU2lnbmVyU2hhcmU6IEVuY3J5cHRlZFNpZ25lclNoYXJlUmVjb3JkLFxuICBhcGlNb2RlOiAnZnVsbCcgfCAnbGl0ZScgPSAnbGl0ZScsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8RXhjaGFuZ2VDb21taXRtZW50UmVzcG9uc2U+IHtcbiAgbGV0IGFkZGVuZHVtID0gJyc7XG4gIGlmIChhcGlNb2RlID09PSAnZnVsbCcpIHtcbiAgICBhZGRlbmR1bSA9ICcvdHJhbnNhY3Rpb25zLzAnO1xuICB9XG4gIGNvbnN0IHVybFBhdGggPSAnL3dhbGxldC8nICsgd2FsbGV0SWQgKyAnL3R4cmVxdWVzdHMvJyArIHR4UmVxdWVzdElkICsgYWRkZW5kdW0gKyAnL2NvbW1pdCc7XG4gIGNvbnN0IHJlcVRyYWNlciA9IHJlcUlkIHx8IG5ldyBSZXF1ZXN0VHJhY2VyKCk7XG4gIGJpdGdvLnNldFJlcXVlc3RUcmFjZXIocmVxVHJhY2VyKTtcbiAgcmV0dXJuIGF3YWl0IGJpdGdvLnBvc3QoYml0Z28udXJsKHVybFBhdGgsIDIpKS5zZW5kKHsgY29tbWl0bWVudFNoYXJlLCBlbmNyeXB0ZWRTaWduZXJTaGFyZSB9KS5yZXN1bHQoKTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IGEgVFNTIHdhbGxldCBzaWduYXR1cmUgd2FzIHByb2R1Y2VkIHdpdGggdGhlIGV4cGVjdGVkIGtleSBhbmQgdGhhdCB0aGUgc2lnbmVkIGRhdGEgY29udGFpbnMgdGhlXG4gKiBleHBlY3RlZCBjb21tb24ga2V5Y2hhaW4gYXMgd2VsbCBhcyB0aGUgZXhwZWN0ZWQgdXNlciBhbmQgYmFja3VwIGtleSBpZHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbW1vblZlcmlmeVdhbGxldFNpZ25hdHVyZShwYXJhbXM6IHtcbiAgd2FsbGV0U2lnbmF0dXJlOiBvcGVucGdwLktleTtcbiAgYml0Z29QdWI6IG9wZW5wZ3AuS2V5O1xuICBjb21tb25LZXljaGFpbjogc3RyaW5nO1xuICB1c2VyS2V5SWQ6IHN0cmluZztcbiAgYmFja3VwS2V5SWQ6IHN0cmluZztcbn0pOiBQcm9taXNlPHsgdmFsdWU6IEFycmF5QnVmZmVyIH1bXT4ge1xuICBjb25zdCB7IHdhbGxldFNpZ25hdHVyZSwgYml0Z29QdWIsIGNvbW1vbktleWNoYWluLCB1c2VyS2V5SWQsIGJhY2t1cEtleUlkIH0gPSBwYXJhbXM7XG5cbiAgLy8gQnkgZW5zdXJpbmcgdGhhdCB0aGUgZmluZ2VycHJpbnRzIG9mIHRoZSB3YWxsZXRTaWduYXR1cmUgYW5kIHRoZSBiaXRnb1B1YiBhcmUgZGlmZmVyZW50IGFuZCB0aGF0IGFueSBvZiB0aGUgcmVzdWx0c1xuICAvLyBmcm9tIGNhbGxpbmcgdmVyaWZ5UHJpbWFyeVVzZXIgaXMgdmFsaWQgd2Uga25vdyB0aGF0IHRoZSBzaWduYXR1cmUgd2FzIGFjdHVhbGx5IHByb2R1Y2VkIGJ5IHRoZSBwcml2YXRlIGtleVxuICAvLyBiZWxvbmdpbmcgdG8gdGhlIGJpdGdvUHViLlxuICBpZiAod2FsbGV0U2lnbmF0dXJlLmtleVBhY2tldC5nZXRGaW5nZXJwcmludCgpID09PSBiaXRnb1B1Yi5rZXlQYWNrZXQuZ2V0RmluZ2VycHJpbnQoKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBIU00gR1BHIHNpZ25hdHVyZScpO1xuICB9XG5cbiAgY29uc3QgdmVyaWZpY2F0aW9uUmVzdWx0ID0gYXdhaXQgdmVyaWZ5UHJpbWFyeVVzZXJXcmFwcGVyKHdhbGxldFNpZ25hdHVyZSwgYml0Z29QdWIsIGZhbHNlKTtcbiAgY29uc3QgaXNWYWxpZCA9IHZlcmlmaWNhdGlvblJlc3VsdC5zb21lKChyZXN1bHQpID0+IHJlc3VsdC52YWxpZCk7XG4gIGlmICghaXNWYWxpZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBIU00gR1BHIHNpZ25hdHVyZScpO1xuICB9XG4gIGNvbnN0IHByaW1hcnlVc2VyID0gYXdhaXQgd2FsbGV0U2lnbmF0dXJlLmdldFByaW1hcnlVc2VyKCk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAvLyBAdHMtaWdub3JlIHRoZSByYXdOb3RhdGlvbnMgcHJvcGVydHkgaXMgbWlzc2luZyBmcm9tIHRoZSB0eXBlIGJ1dCBpdCBhY3R1YWxseSBleGlzdHNcbiAgY29uc3QgcmF3Tm90YXRpb25zOiB7IHZhbHVlOiBVaW50OEFycmF5IH1bXSA9IHByaW1hcnlVc2VyLnVzZXIub3RoZXJDZXJ0aWZpY2F0aW9uc1swXS5yYXdOb3RhdGlvbnM7XG5cbiAgYXNzZXJ0KHJhd05vdGF0aW9ucy5sZW5ndGggPT09IDUsICdpbnZhbGlkIHdhbGxldCBzaWduYXR1cmVzJyk7XG5cbiAgYXNzZXJ0KFxuICAgIGNvbW1vbktleWNoYWluID09PSBCdWZmZXIuZnJvbShyYXdOb3RhdGlvbnNbMF0udmFsdWUpLnRvU3RyaW5nKCksXG4gICAgJ3dhbGxldCBzaWduYXR1cmUgZG9lcyBub3QgbWF0Y2ggY29tbW9uIGtleWNoYWluJ1xuICApO1xuICBhc3NlcnQodXNlcktleUlkID09PSBCdWZmZXIuZnJvbShyYXdOb3RhdGlvbnNbMV0udmFsdWUpLnRvU3RyaW5nKCksIGB3YWxsZXQgc2lnbmF0dXJlIGRvZXMgbm90IG1hdGNoIHVzZXIga2V5IGlkYCk7XG4gIGFzc2VydChcbiAgICBiYWNrdXBLZXlJZCA9PT0gQnVmZmVyLmZyb20ocmF3Tm90YXRpb25zWzJdLnZhbHVlKS50b1N0cmluZygpLFxuICAgICd3YWxsZXQgc2lnbmF0dXJlIGRvZXMgbm90IG1hdGNoIGJhY2t1cCBrZXkgaWQnXG4gICk7XG5cbiAgcmV0dXJuIHJhd05vdGF0aW9ucztcbn1cblxuLyoqXG4gKiBHZXRzIGNoYWxsZW5nZSBmb3IgYSB0eCByZXF1ZXN0IGZyb20gQml0R29cbiAqIHN1cHBvcnRzIE1lc3NhZ2UgYW5kIHJlZ3VsYXIgVHJhbnNhY3Rpb25cbiAqIEBwYXJhbSBiaXRnb1xuICogQHBhcmFtIHdhbGxldElkXG4gKiBAcGFyYW0gdHhSZXF1ZXN0SWRcbiAqIEBwYXJhbSBpbmRleFxuICogQHBhcmFtIHJlcXVlc3RUeXBlXG4gKiBAcGFyYW0gcGFpbGxpZXJNb2R1bHVzXG4gKiBAcGFyYW0gcmVxSWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFR4UmVxdWVzdENoYWxsZW5nZShcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgd2FsbGV0SWQ6IHN0cmluZyxcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZyxcbiAgaW5kZXg6IHN0cmluZyxcbiAgcmVxdWVzdFR5cGU6IFJlcXVlc3RUeXBlLFxuICBwYWlsbGllck1vZHVsdXM6IHN0cmluZyxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxUeFJlcXVlc3RDaGFsbGVuZ2VSZXNwb25zZT4ge1xuICBsZXQgYWRkZW5kdW0gPSAnJztcbiAgc3dpdGNoIChyZXF1ZXN0VHlwZSkge1xuICAgIGNhc2UgUmVxdWVzdFR5cGUudHg6XG4gICAgICBhZGRlbmR1bSA9ICcvdHJhbnNhY3Rpb25zLycgKyBpbmRleDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgUmVxdWVzdFR5cGUubWVzc2FnZTpcbiAgICAgIGFkZGVuZHVtID0gJy9tZXNzYWdlcy8nICsgaW5kZXg7XG4gICAgICBicmVhaztcbiAgfVxuICBjb25zdCB1cmxQYXRoID0gJy93YWxsZXQvJyArIHdhbGxldElkICsgJy90eHJlcXVlc3RzLycgKyB0eFJlcXVlc3RJZCArIGFkZGVuZHVtICsgJy9jaGFsbGVuZ2UnO1xuICBjb25zdCByZXFUcmFjZXIgPSByZXFJZCB8fCBuZXcgUmVxdWVzdFRyYWNlcigpO1xuICBiaXRnby5zZXRSZXF1ZXN0VHJhY2VyKHJlcVRyYWNlcik7XG4gIHJldHVybiBhd2FpdCBiaXRnby5wb3N0KGJpdGdvLnVybCh1cmxQYXRoLCAyKSkuc2VuZCh7IHBhaWxsaWVyTW9kdWx1cyB9KS5yZXN1bHQoKTtcbn1cbiJdfQ==
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3Rzcy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUEwQkEsb0NBbUJDO0FBZ0JELGdEQW9DQztBQWlCRCxvREE2QkM7QUFZRCxzQ0FZQztBQWFELDREQWlCQztBQU1ELGtFQXdDQztBQWFELHNEQXNCQztBQXRSRCxvREFBNEI7QUFLNUIsb0NBU2tCO0FBR2xCOzs7Ozs7OztHQVFHO0FBQ0ksS0FBSyxVQUFVLFlBQVksQ0FDaEMsS0FBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsS0FBc0I7SUFFdEIsTUFBTSxTQUFTLEdBQUcsS0FBSyxJQUFJLElBQUkscUJBQWEsRUFBRSxDQUFDO0lBQy9DLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxNQUFNLFlBQVksR0FBRyxNQUFNLEtBQUs7U0FDN0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLFFBQVEsR0FBRyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDeEQsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDcEQsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNSLE1BQU0sRUFBRSxDQUFDO0lBRVosSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQ3RDLEtBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFdBQW1CLEVB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RSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBvcGVucGdwIGZyb20gJ29wZW5wZ3AnO1xuXG5pbXBvcnQgeyBCaXRHb0Jhc2UgfSBmcm9tICcuLi9iaXRnb0Jhc2UnO1xuaW1wb3J0IHsgVHhSZXF1ZXN0Q2hhbGxlbmdlUmVzcG9uc2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gIFJlcXVlc3RUeXBlLFxuICBUeFJlcXVlc3QsXG4gIHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcixcbiAgU2lnbmF0dXJlU2hhcmVSZWNvcmQsXG4gIENvbW1pdG1lbnRTaGFyZVJlY29yZCxcbiAgRW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmQsXG4gIEV4Y2hhbmdlQ29tbWl0bWVudFJlc3BvbnNlLFxuICBSZXF1ZXN0VHJhY2VyLFxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBJUmVxdWVzdFRyYWNlciB9IGZyb20gJy4uLy4uL2FwaSc7XG5cbi8qKlxuICogR2V0cyB0aGUgbGF0ZXN0IFR4IFJlcXVlc3QgYnkgaWRcbiAqXG4gKiBAcGFyYW0ge0JpdEdvQmFzZX0gYml0Z28gLSB0aGUgYml0Z28gaW5zdGFuY2VcbiAqIEBwYXJhbSB7U3RyaW5nfSB3YWxsZXRJZCAtIHRoZSB3YWxsZXQgaWRcbiAqIEBwYXJhbSB7U3RyaW5nfSB0eFJlcXVlc3RJZCAtIHRoZSB0eFJlcXVlc3QgaWRcbiAqIEBwYXJhbSB7SVJlcXVlc3RUcmFjZXJ9IHJlcUlkIC0gdGhlIHJlcXVlc3QgdHJhY2VyIHJlcXVlc3QgaWRcbiAqIEByZXR1cm5zIHtQcm9taXNlPFR4UmVxdWVzdD59XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUeFJlcXVlc3QoXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHdhbGxldElkOiBzdHJpbmcsXG4gIHR4UmVxdWVzdElkOiBzdHJpbmcsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8VHhSZXF1ZXN0PiB7XG4gIGNvbnN0IHJlcVRyYWNlciA9IHJlcUlkIHx8IG5ldyBSZXF1ZXN0VHJhY2VyKCk7XG4gIGJpdGdvLnNldFJlcXVlc3RUcmFjZXIocmVxVHJhY2VyKTtcbiAgY29uc3QgdHhSZXF1ZXN0UmVzID0gYXdhaXQgYml0Z29cbiAgICAuZ2V0KGJpdGdvLnVybCgnL3dhbGxldC8nICsgd2FsbGV0SWQgKyAnL3R4cmVxdWVzdHMnLCAyKSlcbiAgICAucXVlcnkoeyB0eFJlcXVlc3RJZHM6IHR4UmVxdWVzdElkLCBsYXRlc3Q6ICd0cnVlJyB9KVxuICAgIC5yZXRyeSgzKVxuICAgIC5yZXN1bHQoKTtcblxuICBpZiAodHhSZXF1ZXN0UmVzLnR4UmVxdWVzdHMubGVuZ3RoIDw9IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIFR4UmVxdWVzdCB3aXRoIGlkICR7dHhSZXF1ZXN0SWR9YCk7XG4gIH1cblxuICByZXR1cm4gdHhSZXF1ZXN0UmVzLnR4UmVxdWVzdHNbMF07XG59XG5cbi8qKlxuICogU2VuZHMgYSBTaWduYXR1cmUgU2hhcmVcbiAqXG4gKiBAcGFyYW0ge0JpdEdvQmFzZX0gYml0Z28gLSB0aGUgYml0Z28gaW5zdGFuY2VcbiAqIEBwYXJhbSB7U3RyaW5nfSB3YWxsZXRJZCAtIHRoZSB3YWxsZXQgaWQgICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB0eFJlcXVlc3RJZCAtIHRoZSB0eFJlcXVlc3QgSWRcbiAqIEBwYXJhbSB7U2lnbmF0dXJlU2hhcmVSZWNvcmR9IHNpZ25hdHVyZVNoYXJlIC0gYSBTaWduYXR1cmUgU2hhcmVcbiAqIEBwYXJhbSByZXF1ZXN0VHlwZSAtIFRoZSB0eXBlIG9mIHJlcXVlc3QgYmVpbmcgc3VibWl0dGVkIChlaXRoZXIgdHggb3IgbWVzc2FnZSBmb3Igc2lnbmluZylcbiAqIEBwYXJhbSBzaWduZXJTaGFyZVxuICogQHBhcmFtIG1wY0FsZ29yaXRobVxuICogQHBhcmFtIGFwaU1vZGVcbiAqIEBwYXJhbSB7SVJlcXVlc3RUcmFjZXJ9IHJlcUlkIC0gdGhlIHJlcXVlc3QgdHJhY2VyIHJlcXVlc3QgaWRcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNpZ25hdHVyZVNoYXJlUmVjb3JkPn0gLSBhIFNpZ25hdHVyZSBTaGFyZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VuZFNpZ25hdHVyZVNoYXJlKFxuICBiaXRnbzogQml0R29CYXNlLFxuICB3YWxsZXRJZDogc3RyaW5nLFxuICB0eFJlcXVlc3RJZDogc3RyaW5nLFxuICBzaWduYXR1cmVTaGFyZTogU2lnbmF0dXJlU2hhcmVSZWNvcmQsXG4gIHJlcXVlc3RUeXBlOiBSZXF1ZXN0VHlwZSxcbiAgc2lnbmVyU2hhcmU/OiBzdHJpbmcsXG4gIG1wY0FsZ29yaXRobTogJ2VkZHNhJyB8ICdlY2RzYScgPSAnZWRkc2EnLFxuICBhcGlNb2RlOiAnZnVsbCcgfCAnbGl0ZScgPSAnbGl0ZScsXG4gIHVzZXJQdWJsaWNHcGdLZXk/OiBzdHJpbmcsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8U2lnbmF0dXJlU2hhcmVSZWNvcmQ+IHtcbiAgbGV0IGFkZGVuZHVtID0gJyc7XG4gIHN3aXRjaCAocmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlIFJlcXVlc3RUeXBlLnR4OlxuICAgICAgaWYgKG1wY0FsZ29yaXRobSA9PT0gJ2VjZHNhJyB8fCBhcGlNb2RlID09PSAnZnVsbCcpIHtcbiAgICAgICAgYWRkZW5kdW0gPSAnL3RyYW5zYWN0aW9ucy8wJztcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgUmVxdWVzdFR5cGUubWVzc2FnZTpcbiAgICAgIGlmIChtcGNBbGdvcml0aG0gPT09ICdlY2RzYScgfHwgYXBpTW9kZSA9PT0gJ2Z1bGwnKSB7XG4gICAgICAgIGFkZGVuZHVtID0gJy9tZXNzYWdlcy8wJztcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICB9XG4gIGNvbnN0IHVybFBhdGggPSAnL3dhbGxldC8nICsgd2FsbGV0SWQgKyAnL3R4cmVxdWVzdHMvJyArIHR4UmVxdWVzdElkICsgYWRkZW5kdW0gKyAnL3NpZ25hdHVyZXNoYXJlcyc7XG4gIGNvbnN0IHJlcVRyYWNlciA9IHJlcUlkIHx8IG5ldyBSZXF1ZXN0VHJhY2VyKCk7XG4gIGJpdGdvLnNldFJlcXVlc3RUcmFjZXIocmVxVHJhY2VyKTtcbiAgcmV0dXJuIGJpdGdvXG4gICAgLnBvc3QoYml0Z28udXJsKHVybFBhdGgsIDIpKVxuICAgIC5zZW5kKHtcbiAgICAgIHNpZ25hdHVyZVNoYXJlLFxuICAgICAgc2lnbmVyU2hhcmUsXG4gICAgICB1c2VyUHVibGljR3BnS2V5LFxuICAgIH0pXG4gICAgLnJlc3VsdCgpO1xufVxuXG4vKipcbiAqIFNlbmRzIGEgU2lnbmF0dXJlIFNoYXJlIHVzaW5nIHRoZSBzaWduIHR4UmVxdWVzdCByb3V0ZVxuICpcbiAqIEBwYXJhbSB7Qml0R29CYXNlfSBiaXRnbyAtIHRoZSBiaXRnbyBpbnN0YW5jZVxuICogQHBhcmFtIHtTdHJpbmd9IHdhbGxldElkIC0gdGhlIHdhbGxldCBpZCAgKlxuICogQHBhcmFtIHtTdHJpbmd9IHR4UmVxdWVzdElkIC0gdGhlIHR4UmVxdWVzdCBJZFxuICogQHBhcmFtIHNpZ25hdHVyZVNoYXJlc1xuICogQHBhcmFtIHJlcXVlc3RUeXBlIC0gVGhlIHR5cGUgb2YgcmVxdWVzdCBiZWluZyBzdWJtaXR0ZWQgKGVpdGhlciB0eCBvciBtZXNzYWdlIGZvciBzaWduaW5nKVxuICogQHBhcmFtIHNpZ25lclNoYXJlXG4gKiBAcGFyYW0gbXBjQWxnb3JpdGhtXG4gKiBAcGFyYW0gbXVsdGlzaWdUeXBlVmVyc2lvblxuICogQHBhcmFtIHNpZ25lckdwZ1B1YmxpY0tleVxuICogQHBhcmFtIHJlcUlkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxTaWduYXR1cmVTaGFyZVJlY29yZD59IC0gYSBTaWduYXR1cmUgU2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRTaWduYXR1cmVTaGFyZVYyKFxuICBiaXRnbzogQml0R29CYXNlLFxuICB3YWxsZXRJZDogc3RyaW5nLFxuICB0eFJlcXVlc3RJZDogc3RyaW5nLFxuICBzaWduYXR1cmVTaGFyZXM6IFNpZ25hdHVyZVNoYXJlUmVjb3JkW10sXG4gIHJlcXVlc3RUeXBlOiBSZXF1ZXN0VHlwZSxcbiAgbXBjQWxnb3JpdGhtOiAnZWRkc2EnIHwgJ2VjZHNhJyxcbiAgc2lnbmVyR3BnUHVibGljS2V5OiBzdHJpbmcsXG4gIHNpZ25lclNoYXJlPzogc3RyaW5nLFxuICBtdWx0aXNpZ1R5cGVWZXJzaW9uPzogJ01QQ3YyJyB8IHVuZGVmaW5lZCxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxUeFJlcXVlc3Q+IHtcbiAgY29uc3QgYWRkZW5kdW0gPSByZXF1ZXN0VHlwZSA9PT0gUmVxdWVzdFR5cGUudHggPyAnL3RyYW5zYWN0aW9ucy8wJyA6ICcvbWVzc2FnZXMvMCc7XG4gIGNvbnN0IHVybFBhdGggPSAnL3dhbGxldC8nICsgd2FsbGV0SWQgKyAnL3R4cmVxdWVzdHMvJyArIHR4UmVxdWVzdElkICsgYWRkZW5kdW0gKyAnL3NpZ24nO1xuICBsZXQgdHlwZSA9ICcnO1xuICBpZiAobXVsdGlzaWdUeXBlVmVyc2lvbiA9PT0gJ01QQ3YyJyAmJiBtcGNBbGdvcml0aG0gPT09ICdlY2RzYScpIHtcbiAgICB0eXBlID0gJ2VjZHNhTXBjVjInO1xuICB9IGVsc2UgaWYgKG11bHRpc2lnVHlwZVZlcnNpb24gPT09IHVuZGVmaW5lZCAmJiBtcGNBbGdvcml0aG0gPT09ICdlZGRzYScpIHtcbiAgICB0eXBlID0gJ2VkZHNhTXBjVjEnO1xuICB9XG4gIGNvbnN0IHJlcXVlc3RCb2R5ID0ge1xuICAgIHR5cGUsXG4gICAgc2lnbmF0dXJlU2hhcmVzLFxuICAgIHNpZ25lclNoYXJlLFxuICAgIHNpZ25lckdwZ1B1YmxpY0tleSxcbiAgfTtcbiAgY29uc3QgcmVxVHJhY2VyID0gcmVxSWQgfHwgbmV3IFJlcXVlc3RUcmFjZXIoKTtcbiAgYml0Z28uc2V0UmVxdWVzdFRyYWNlcihyZXFUcmFjZXIpO1xuICByZXR1cm4gYml0Z28ucG9zdChiaXRnby51cmwodXJsUGF0aCwgMikpLnNlbmQocmVxdWVzdEJvZHkpLnJlc3VsdCgpO1xufVxuXG4vKipcbiAqIFNlbmRzIGEgVHJhbnNhY3Rpb24gUmVxdWVzdCBmb3IgYnJvYWRjYXN0IG9uY2Ugc2lnbmluZyBpcyBjb21wbGV0ZVxuICpcbiAqIEBwYXJhbSB7Qml0R29CYXNlfSBiaXRnbyAtIHRoZSBiaXRnbyBpbnN0YW5jZVxuICogQHBhcmFtIHtTdHJpbmd9IHdhbGxldElkIC0gdGhlIHdhbGxldCBpZCAgKlxuICogQHBhcmFtIHtTdHJpbmd9IHR4UmVxdWVzdElkIC0gdGhlIHR4UmVxdWVzdCBJZFxuICogQHBhcmFtIHJlcXVlc3RUeXBlIC0gVGhlIHR5cGUgb2YgcmVxdWVzdCBiZWluZyBzdWJtaXR0ZWQgKGVpdGhlciB0eCBvciBtZXNzYWdlIGZvciBzaWduaW5nKVxuICogQHBhcmFtIHtJUmVxdWVzdFRyYWNlcn0gcmVxSWQgLSByZXF1ZXN0IHRyYWNlciByZXF1ZXN0IGlkXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxTaWduYXR1cmVTaGFyZVJlY29yZD59IC0gYSBTaWduYXR1cmUgU2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbmRUeFJlcXVlc3QoXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHdhbGxldElkOiBzdHJpbmcsXG4gIHR4UmVxdWVzdElkOiBzdHJpbmcsXG4gIHJlcXVlc3RUeXBlOiBSZXF1ZXN0VHlwZSxcbiAgcmVxSWQ/OiBJUmVxdWVzdFRyYWNlclxuKTogUHJvbWlzZTxUeFJlcXVlc3Q+IHtcbiAgY29uc3QgYWRkZW5kdW0gPSByZXF1ZXN0VHlwZSA9PT0gUmVxdWVzdFR5cGUudHggPyAnL3RyYW5zYWN0aW9ucy8wJyA6ICcvbWVzc2FnZXMvMCc7XG4gIGNvbnN0IHVybFBhdGggPSAnL3dhbGxldC8nICsgd2FsbGV0SWQgKyAnL3R4cmVxdWVzdHMvJyArIHR4UmVxdWVzdElkICsgYWRkZW5kdW0gKyAnL3NlbmQnO1xuICBjb25zdCByZXFUcmFjZXIgPSByZXFJZCB8fCBuZXcgUmVxdWVzdFRyYWNlcigpO1xuICBiaXRnby5zZXRSZXF1ZXN0VHJhY2VyKHJlcVRyYWNlcik7XG4gIHJldHVybiBiaXRnby5wb3N0KGJpdGdvLnVybCh1cmxQYXRoLCAyKSkuc2VuZCgpLnJlc3VsdCgpO1xufVxuXG4vKipcbiAqIFNlbmRzIHRoZSBjbGllbnQgY29tbWl0bWVudCBhbmQgZW5jcnlwdGVkIHNpZ25lciBzaGFyZSB0byB0aGUgc2VydmVyLCBnZXR0aW5nIGJhY2sgdGhlIHNlcnZlciBjb21taXRtZW50XG4gKiBAcGFyYW0ge0JpdEdvQmFzZX0gYml0Z28gLSB0aGUgYml0Z28gaW5zdGFuY2VcbiAqIEBwYXJhbSB7c3RyaW5nfSB3YWxsZXRJZCAtIHRoZSB3YWxsZXQgaWRcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eFJlcXVlc3RJZCAtIHRoZSB0eFJlcXVlc3QgSWRcbiAqIEBwYXJhbSB7Q29tbWl0bWVudFNoYXJlUmVjb3JkfSBjb21taXRtZW50U2hhcmUgLSB0aGUgY2xpZW50IGNvbW1pdG1lbnQgc2hhcmVcbiAqIEBwYXJhbSB7RW5jcnlwdGVkU2lnbmVyU2hhcmVSZWNvcmR9IGVuY3J5cHRlZFNpZ25lclNoYXJlIC0gdGhlIGNsaWVudCBlbmNyeXB0ZWQgc2lnbmVyIHNoYXJlXG4gKiBAcGFyYW0ge3N0cmluZ30gW2FwaU1vZGVdIC0gdGhlIHR4UmVxdWVzdCBhcGkgbW9kZSAoZnVsbCBvciBsaXRlKSAtIGRlZmF1bHRzIHRvIGxpdGVcbiAqIEBwYXJhbSB7SVJlcXVlc3RUcmFjZXJ9IHJlcUlkIC0gdGhlIHJlcXVlc3QgdHJhY2VyIHJlcXVlc3QgSWRcbiAqIEByZXR1cm5zIHtQcm9taXNlPEV4Y2hhbmdlQ29tbWl0bWVudFJlc3BvbnNlPn0gLSB0aGUgc2VydmVyIGNvbW1pdG1lbnQgc2hhcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4Y2hhbmdlRWRkc2FDb21taXRtZW50cyhcbiAgYml0Z286IEJpdEdvQmFzZSxcbiAgd2FsbGV0SWQ6IHN0cmluZyxcbiAgdHhSZXF1ZXN0SWQ6IHN0cmluZyxcbiAgY29tbWl0bWVudFNoYXJlOiBDb21taXRtZW50U2hhcmVSZWNvcmQsXG4gIGVuY3J5cHRlZFNpZ25lclNoYXJlOiBFbmNyeXB0ZWRTaWduZXJTaGFyZVJlY29yZCxcbiAgYXBpTW9kZTogJ2Z1bGwnIHwgJ2xpdGUnID0gJ2xpdGUnLFxuICByZXFJZD86IElSZXF1ZXN0VHJhY2VyXG4pOiBQcm9taXNlPEV4Y2hhbmdlQ29tbWl0bWVudFJlc3BvbnNlPiB7XG4gIGxldCBhZGRlbmR1bSA9ICcnO1xuICBpZiAoYXBpTW9kZSA9PT0gJ2Z1bGwnKSB7XG4gICAgYWRkZW5kdW0gPSAnL3RyYW5zYWN0aW9ucy8wJztcbiAgfVxuICBjb25zdCB1cmxQYXRoID0gJy93YWxsZXQvJyArIHdhbGxldElkICsgJy90eHJlcXVlc3RzLycgKyB0eFJlcXVlc3RJZCArIGFkZGVuZHVtICsgJy9jb21taXQnO1xuICBjb25zdCByZXFUcmFjZXIgPSByZXFJZCB8fCBuZXcgUmVxdWVzdFRyYWNlcigpO1xuICBiaXRnby5zZXRSZXF1ZXN0VHJhY2VyKHJlcVRyYWNlcik7XG4gIHJldHVybiBhd2FpdCBiaXRnby5wb3N0KGJpdGdvLnVybCh1cmxQYXRoLCAyKSkuc2VuZCh7IGNvbW1pdG1lbnRTaGFyZSwgZW5jcnlwdGVkU2lnbmVyU2hhcmUgfSkucmVzdWx0KCk7XG59XG5cbi8qKlxuICogVmVyaWZpZXMgdGhhdCBhIFRTUyB3YWxsZXQgc2lnbmF0dXJlIHdhcyBwcm9kdWNlZCB3aXRoIHRoZSBleHBlY3RlZCBrZXkgYW5kIHRoYXQgdGhlIHNpZ25lZCBkYXRhIGNvbnRhaW5zIHRoZVxuICogZXhwZWN0ZWQgY29tbW9uIGtleWNoYWluIGFzIHdlbGwgYXMgdGhlIGV4cGVjdGVkIHVzZXIgYW5kIGJhY2t1cCBrZXkgaWRzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb21tb25WZXJpZnlXYWxsZXRTaWduYXR1cmUocGFyYW1zOiB7XG4gIHdhbGxldFNpZ25hdHVyZTogb3BlbnBncC5LZXk7XG4gIGJpdGdvUHViOiBvcGVucGdwLktleTtcbiAgY29tbW9uS2V5Y2hhaW46IHN0cmluZztcbiAgdXNlcktleUlkOiBzdHJpbmc7XG4gIGJhY2t1cEtleUlkOiBzdHJpbmc7XG59KTogUHJvbWlzZTx7IHZhbHVlOiBBcnJheUJ1ZmZlciB9W10+IHtcbiAgY29uc3QgeyB3YWxsZXRTaWduYXR1cmUsIGJpdGdvUHViLCBjb21tb25LZXljaGFpbiwgdXNlcktleUlkLCBiYWNrdXBLZXlJZCB9ID0gcGFyYW1zO1xuXG4gIC8vIEJ5IGVuc3VyaW5nIHRoYXQgdGhlIGZpbmdlcnByaW50cyBvZiB0aGUgd2FsbGV0U2lnbmF0dXJlIGFuZCB0aGUgYml0Z29QdWIgYXJlIGRpZmZlcmVudCBhbmQgdGhhdCBhbnkgb2YgdGhlIHJlc3VsdHNcbiAgLy8gZnJvbSBjYWxsaW5nIHZlcmlmeVByaW1hcnlVc2VyIGlzIHZhbGlkIHdlIGtub3cgdGhhdCB0aGUgc2lnbmF0dXJlIHdhcyBhY3R1YWxseSBwcm9kdWNlZCBieSB0aGUgcHJpdmF0ZSBrZXlcbiAgLy8gYmVsb25naW5nIHRvIHRoZSBiaXRnb1B1Yi5cbiAgaWYgKHdhbGxldFNpZ25hdHVyZS5rZXlQYWNrZXQuZ2V0RmluZ2VycHJpbnQoKSA9PT0gYml0Z29QdWIua2V5UGFja2V0LmdldEZpbmdlcnByaW50KCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgSFNNIEdQRyBzaWduYXR1cmUnKTtcbiAgfVxuXG4gIGNvbnN0IHZlcmlmaWNhdGlvblJlc3VsdCA9IGF3YWl0IHZlcmlmeVByaW1hcnlVc2VyV3JhcHBlcih3YWxsZXRTaWduYXR1cmUsIGJpdGdvUHViLCBmYWxzZSk7XG4gIGNvbnN0IGlzVmFsaWQgPSB2ZXJpZmljYXRpb25SZXN1bHQuc29tZSgocmVzdWx0KSA9PiByZXN1bHQudmFsaWQpO1xuICBpZiAoIWlzVmFsaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgSFNNIEdQRyBzaWduYXR1cmUnKTtcbiAgfVxuICBjb25zdCBwcmltYXJ5VXNlciA9IGF3YWl0IHdhbGxldFNpZ25hdHVyZS5nZXRQcmltYXJ5VXNlcigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgLy8gQHRzLWlnbm9yZSB0aGUgcmF3Tm90YXRpb25zIHByb3BlcnR5IGlzIG1pc3NpbmcgZnJvbSB0aGUgdHlwZSBidXQgaXQgYWN0dWFsbHkgZXhpc3RzXG4gIGNvbnN0IHJhd05vdGF0aW9uczogeyB2YWx1ZTogVWludDhBcnJheSB9W10gPSBwcmltYXJ5VXNlci51c2VyLm90aGVyQ2VydGlmaWNhdGlvbnNbMF0ucmF3Tm90YXRpb25zO1xuXG4gIGFzc2VydChyYXdOb3RhdGlvbnMubGVuZ3RoID09PSA1LCAnaW52YWxpZCB3YWxsZXQgc2lnbmF0dXJlcycpO1xuXG4gIGFzc2VydChcbiAgICBjb21tb25LZXljaGFpbiA9PT0gQnVmZmVyLmZyb20ocmF3Tm90YXRpb25zWzBdLnZhbHVlKS50b1N0cmluZygpLFxuICAgICd3YWxsZXQgc2lnbmF0dXJlIGRvZXMgbm90IG1hdGNoIGNvbW1vbiBrZXljaGFpbidcbiAgKTtcbiAgYXNzZXJ0KHVzZXJLZXlJZCA9PT0gQnVmZmVyLmZyb20ocmF3Tm90YXRpb25zWzFdLnZhbHVlKS50b1N0cmluZygpLCBgd2FsbGV0IHNpZ25hdHVyZSBkb2VzIG5vdCBtYXRjaCB1c2VyIGtleSBpZGApO1xuICBhc3NlcnQoXG4gICAgYmFja3VwS2V5SWQgPT09IEJ1ZmZlci5mcm9tKHJhd05vdGF0aW9uc1syXS52YWx1ZSkudG9TdHJpbmcoKSxcbiAgICAnd2FsbGV0IHNpZ25hdHVyZSBkb2VzIG5vdCBtYXRjaCBiYWNrdXAga2V5IGlkJ1xuICApO1xuXG4gIHJldHVybiByYXdOb3RhdGlvbnM7XG59XG5cbi8qKlxuICogR2V0cyBjaGFsbGVuZ2UgZm9yIGEgdHggcmVxdWVzdCBmcm9tIEJpdEdvXG4gKiBzdXBwb3J0cyBNZXNzYWdlIGFuZCByZWd1bGFyIFRyYW5zYWN0aW9uXG4gKiBAcGFyYW0gYml0Z29cbiAqIEBwYXJhbSB3YWxsZXRJZFxuICogQHBhcmFtIHR4UmVxdWVzdElkXG4gKiBAcGFyYW0gaW5kZXhcbiAqIEBwYXJhbSByZXF1ZXN0VHlwZVxuICogQHBhcmFtIHBhaWxsaWVyTW9kdWx1c1xuICogQHBhcmFtIHJlcUlkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUeFJlcXVlc3RDaGFsbGVuZ2UoXG4gIGJpdGdvOiBCaXRHb0Jhc2UsXG4gIHdhbGxldElkOiBzdHJpbmcsXG4gIHR4UmVxdWVzdElkOiBzdHJpbmcsXG4gIGluZGV4OiBzdHJpbmcsXG4gIHJlcXVlc3RUeXBlOiBSZXF1ZXN0VHlwZSxcbiAgcGFpbGxpZXJNb2R1bHVzOiBzdHJpbmcsXG4gIHJlcUlkPzogSVJlcXVlc3RUcmFjZXJcbik6IFByb21pc2U8VHhSZXF1ZXN0Q2hhbGxlbmdlUmVzcG9uc2U+IHtcbiAgbGV0IGFkZGVuZHVtID0gJyc7XG4gIHN3aXRjaCAocmVxdWVzdFR5cGUpIHtcbiAgICBjYXNlIFJlcXVlc3RUeXBlLnR4OlxuICAgICAgYWRkZW5kdW0gPSAnL3RyYW5zYWN0aW9ucy8nICsgaW5kZXg7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFJlcXVlc3RUeXBlLm1lc3NhZ2U6XG4gICAgICBhZGRlbmR1bSA9ICcvbWVzc2FnZXMvJyArIGluZGV4O1xuICAgICAgYnJlYWs7XG4gIH1cbiAgY29uc3QgdXJsUGF0aCA9ICcvd2FsbGV0LycgKyB3YWxsZXRJZCArICcvdHhyZXF1ZXN0cy8nICsgdHhSZXF1ZXN0SWQgKyBhZGRlbmR1bSArICcvY2hhbGxlbmdlJztcbiAgY29uc3QgcmVxVHJhY2VyID0gcmVxSWQgfHwgbmV3IFJlcXVlc3RUcmFjZXIoKTtcbiAgYml0Z28uc2V0UmVxdWVzdFRyYWNlcihyZXFUcmFjZXIpO1xuICByZXR1cm4gYXdhaXQgYml0Z28ucG9zdChiaXRnby51cmwodXJsUGF0aCwgMikpLnNlbmQoeyBwYWlsbGllck1vZHVsdXMgfSkucmVzdWx0KCk7XG59XG4iXX0=
@@ -1,6 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
1
  import { AShare, BShare, CombinedKey, CreateUserOmicronAndDeltaShareRT, DecryptableNShare, DShare, EncryptedNShare, GShare, KeyShare, NShare, OShare, ReceivedShareType, SendShareToBitgoRT, SendShareType, Signature, SignatureShare, SignShare, WShare, XShareWithChallenges, YShareWithChallenges } from './types';
5
2
  import { RequestType, SignatureShareRecord, SignatureShareType } from '../../utils';
6
3
  import { ShareKeyPosition } from '../types';
@@ -1 +1 @@
1
- {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ecdsa.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/tss/ecdsa/ecdsa.ts"],"names":[],"mappings":"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"}