@bitgo/sdk-core 26.3.0 → 26.4.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 (106) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/src/account-lib/baseCoin/blsKeyPair.js +26 -22
  3. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +20 -16
  4. package/dist/src/account-lib/baseCoin/enum.d.ts +3 -1
  5. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/enum.js +3 -1
  7. package/dist/src/account-lib/baseCoin/index.js +6 -2
  8. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +6 -2
  9. package/dist/src/account-lib/index.js +6 -2
  10. package/dist/src/account-lib/mpc/index.js +6 -2
  11. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +1 -0
  12. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  13. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +346 -342
  14. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +6 -2
  15. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +60 -60
  16. package/dist/src/account-lib/mpc/tss/eddsa/index.js +6 -2
  17. package/dist/src/account-lib/mpc/tss/index.js +6 -2
  18. package/dist/src/account-lib/staking/index.js +6 -2
  19. package/dist/src/account-lib/util/crypto.js +7 -3
  20. package/dist/src/account-lib/util/ed25519KeyDeriver.js +3 -3
  21. package/dist/src/api/index.js +6 -2
  22. package/dist/src/bitgo/address-book/index.js +6 -2
  23. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +1 -0
  24. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  25. package/dist/src/bitgo/baseCoin/baseCoin.js +7 -3
  26. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +1 -0
  27. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  28. package/dist/src/bitgo/baseCoin/index.js +6 -2
  29. package/dist/src/bitgo/bip32util.js +6 -2
  30. package/dist/src/bitgo/bitcoin.js +6 -2
  31. package/dist/src/bitgo/config.js +6 -2
  32. package/dist/src/bitgo/ecdh.js +6 -2
  33. package/dist/src/bitgo/enterprise/enterprise.js +10 -6
  34. package/dist/src/bitgo/enterprise/enterprises.js +6 -2
  35. package/dist/src/bitgo/enterprise/index.js +6 -2
  36. package/dist/src/bitgo/index.js +6 -2
  37. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  38. package/dist/src/bitgo/internal/index.js +6 -2
  39. package/dist/src/bitgo/internal/internal.js +4 -4
  40. package/dist/src/bitgo/internal/keycard.js +5 -5
  41. package/dist/src/bitgo/keychain/index.js +6 -2
  42. package/dist/src/bitgo/keychain/keychains.js +17 -13
  43. package/dist/src/bitgo/keychain/ovcJsonCodec.js +6 -2
  44. package/dist/src/bitgo/legacyBitcoin.js +7 -3
  45. package/dist/src/bitgo/lightning/iLightning.js +6 -2
  46. package/dist/src/bitgo/lightning/index.js +6 -2
  47. package/dist/src/bitgo/lightning/lightning.js +12 -12
  48. package/dist/src/bitgo/lightning/lightningUtils.js +8 -4
  49. package/dist/src/bitgo/market/index.js +6 -2
  50. package/dist/src/bitgo/market/markets.js +6 -2
  51. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  52. package/dist/src/bitgo/pendingApproval/pendingApproval.js +6 -2
  53. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +6 -2
  54. package/dist/src/bitgo/recovery/index.js +6 -2
  55. package/dist/src/bitgo/staking/iStakingWallet.d.ts +8 -0
  56. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  57. package/dist/src/bitgo/staking/iStakingWallet.js +1 -1
  58. package/dist/src/bitgo/staking/index.js +6 -2
  59. package/dist/src/bitgo/trading/index.js +6 -2
  60. package/dist/src/bitgo/trading/network/index.js +6 -2
  61. package/dist/src/bitgo/trading/network/network.js +2 -2
  62. package/dist/src/bitgo/tss/common.js +6 -6
  63. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +1 -0
  64. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  65. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +18 -14
  66. package/dist/src/bitgo/tss/ecdsa/index.js +6 -2
  67. package/dist/src/bitgo/tss/eddsa/eddsa.js +9 -9
  68. package/dist/src/bitgo/tss/eddsa/index.js +6 -2
  69. package/dist/src/bitgo/tss/index.js +6 -2
  70. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +7 -3
  71. package/dist/src/bitgo/utils/blsUtils.js +5 -5
  72. package/dist/src/bitgo/utils/codecProps.js +6 -2
  73. package/dist/src/bitgo/utils/decode.js +10 -6
  74. package/dist/src/bitgo/utils/index.js +6 -2
  75. package/dist/src/bitgo/utils/mpcUtils.js +8 -8
  76. package/dist/src/bitgo/utils/opengpgUtils.js +26 -22
  77. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +9 -5
  78. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +43 -39
  79. package/dist/src/bitgo/utils/tss/ecdsa/index.js +6 -2
  80. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +45 -41
  81. package/dist/src/bitgo/utils/tss/eddsa/index.js +6 -2
  82. package/dist/src/bitgo/utils/tss/index.js +6 -2
  83. package/dist/src/bitgo/utils/util.js +7 -3
  84. package/dist/src/bitgo/wallet/BuildParams.js +7 -3
  85. package/dist/src/bitgo/wallet/index.js +6 -2
  86. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  87. package/dist/src/bitgo/wallet/wallet.js +35 -35
  88. package/dist/src/bitgo/wallet/wallets.js +17 -13
  89. package/dist/src/bitgo/webhook/index.js +6 -2
  90. package/dist/src/bitgo/webhook/webhooks.js +6 -2
  91. package/dist/src/coins/index.js +6 -2
  92. package/dist/src/coins/ofc.js +2 -2
  93. package/dist/src/coins/ofcToken.js +2 -2
  94. package/dist/src/common.js +6 -2
  95. package/dist/src/index.js +6 -2
  96. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +22 -18
  97. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +7 -7
  98. package/dist/test/unit/bitgo/utils/notEmpty.js +3 -3
  99. package/dist/test/unit/bitgo/utils/postWithCodec.js +7 -3
  100. package/dist/test/unit/bitgo/wallet/BuildParams.js +6 -2
  101. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +6 -2
  102. package/dist/test/unit/openssl.js +4 -4
  103. package/dist/test/unit/units.js +63 -63
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +3 -4
  106. package/LICENSE +0 -191
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -88,4 +92,4 @@ params, expectedParams, optionalParams = [], optionalCallback) {
88
92
  return true;
89
93
  }
90
94
  exports.validateParams = validateParams;
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0dBRUc7QUFDSCwwQ0FBNEI7QUFDNUIsbUNBQWtEO0FBR3pDLDZGQUhBLG9CQUFZLE9BR0E7QUFFckIsSUFBSSxjQUF5QixDQUFDO0FBRTlCOzs7O0dBSUc7QUFDSCxTQUFnQixVQUFVLENBQUMsT0FBa0I7SUFDM0MsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQ3pCLGNBQWMsR0FBRyxTQUFTLENBQUM7S0FDNUI7U0FBTTtRQUNMLGVBQWU7UUFDZixjQUFjLEdBQUcsU0FBUyxDQUFDO0tBQzVCO0FBQ0gsQ0FBQztBQVBELGdDQU9DO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLFVBQVU7SUFDeEIsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQztBQUZELGdDQUVDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLGNBQWM7QUFDNUIsd0RBQXdEO0FBQ3hELE1BQWMsRUFDZCxjQUF3QixFQUN4QixpQkFBMkIsRUFBRSxFQUM3QixnQkFBa0Q7SUFFbEQsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsY0FBYyxHQUFHLGNBQWMsSUFBSSxFQUFFLENBQUM7SUFFdEMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLGFBQWE7UUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixHQUFHLGFBQWEsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxhQUFhLEdBQUcsYUFBYSxHQUFHLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDaEg7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxhQUFhO1FBQzVDLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRTtZQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixHQUFHLGFBQWEsR0FBRyxhQUFhLEdBQUcsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUNoSDtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7S0FDOUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFqQ0Qsd0NBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqL1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRzLCBWMU5ldHdvcmsgfSBmcm9tICcuL2JpdGdvJztcblxuLy8gcmUtZXhwb3J0IGZyb20gaGVyZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgcmVhc29uc1xuZXhwb3J0IHsgRW52aXJvbm1lbnRzIH07XG5cbmxldCBiaXRjb2luTmV0d29yazogVjFOZXR3b3JrO1xuXG4vKipcbiAqIFNldCB0aGUgZ2xvYmFsIEJpdGNvaW4gbmV0d29yay4gVXNlZCBmb3IgdjEgb25seS5cbiAqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0TmV0d29yayhuZXR3b3JrOiBWMU5ldHdvcmspOiB2b2lkIHtcbiAgaWYgKG5ldHdvcmsgPT09ICdiaXRjb2luJykge1xuICAgIGJpdGNvaW5OZXR3b3JrID0gJ2JpdGNvaW4nO1xuICB9IGVsc2Uge1xuICAgIC8vIHRlc3QgbmV0d29ya1xuICAgIGJpdGNvaW5OZXR3b3JrID0gJ3Rlc3RuZXQnO1xuICB9XG59XG5cbi8qKlxuICogR2V0IHRoZSBnbG9iYWwgQml0Y29pbiBuZXR3b3JrLiBVc2VkIGZvciB2MSBvbmx5LlxuICpcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXR3b3JrKCk6IFYxTmV0d29yayB7XG4gIHJldHVybiBiaXRjb2luTmV0d29yaztcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHBhcmFtZXRlcnMgdG8gYW4gU0RLIG1ldGhvZC5cbiAqIE9ubHkgdmFsaWRhdGVzIGZvciBzdHJpbmdzIC0gaWYgcGFyYW1ldGVyIGlzIGRpZmZlcmVudCwgY2hlY2sgdGhhdCBtYW51YWxseVxuICpcbiAqIEBkZXByZWNhdGVkXG4gKiBAcGFyYW0gcGFyYW1zIGRpY3Rpb25hcnkgb2YgcGFyYW1ldGVyIGtleS12YWx1ZSBwYWlyc1xuICogQHBhcmFtIGV4cGVjdGVkUGFyYW1zIGxpc3Qgb2YgZXhwZWN0ZWQgc3RyaW5nIHBhcmFtZXRlcnNcbiAqIEBwYXJhbSBvcHRpb25hbFBhcmFtcyBsaXN0IG9mIG9wdGlvbmFsIHN0cmluZyBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0gb3B0aW9uYWxDYWxsYmFjayBpZiBjYWxsYmFjayBwcm92aWRlZCwgbXVzdCBiZSBhIGZ1bmN0aW9uXG4gKiBAcmV0dXJucyB0cnVlIGlmIHZhbGlkYXRlZCwgdGhyb3dzIHdpdGggcmVhc29uIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVQYXJhbXMoXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIHBhcmFtczogb2JqZWN0LFxuICBleHBlY3RlZFBhcmFtczogc3RyaW5nW10sXG4gIG9wdGlvbmFsUGFyYW1zOiBzdHJpbmdbXSA9IFtdLFxuICBvcHRpb25hbENhbGxiYWNrPzogPFI+KGVycjogRXJyb3IsIHJlczogUikgPT4gdm9pZFxuKTogYm9vbGVhbiB7XG4gIGlmICghXy5pc09iamVjdChwYXJhbXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNdXN0IHBhc3MgaW4gcGFyYW1ldGVycyBkaWN0aW9uYXJ5Jyk7XG4gIH1cblxuICBleHBlY3RlZFBhcmFtcyA9IGV4cGVjdGVkUGFyYW1zIHx8IFtdO1xuXG4gIGV4cGVjdGVkUGFyYW1zLmZvckVhY2goZnVuY3Rpb24gKGV4cGVjdGVkUGFyYW0pIHtcbiAgICBpZiAoIXBhcmFtc1tleHBlY3RlZFBhcmFtXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHBhcmFtZXRlcjogJyArIGV4cGVjdGVkUGFyYW0pO1xuICAgIH1cbiAgICBpZiAoIV8uaXNTdHJpbmcocGFyYW1zW2V4cGVjdGVkUGFyYW1dKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RpbmcgcGFyYW1ldGVyIHN0cmluZzogJyArIGV4cGVjdGVkUGFyYW0gKyAnIGJ1dCBmb3VuZCAnICsgdHlwZW9mIHBhcmFtc1tleHBlY3RlZFBhcmFtXSk7XG4gICAgfVxuICB9KTtcblxuICBvcHRpb25hbFBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uIChvcHRpb25hbFBhcmFtKSB7XG4gICAgaWYgKHBhcmFtc1tvcHRpb25hbFBhcmFtXSAmJiAhXy5pc1N0cmluZyhwYXJhbXNbb3B0aW9uYWxQYXJhbV0pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGluZyBwYXJhbWV0ZXIgc3RyaW5nOiAnICsgb3B0aW9uYWxQYXJhbSArICcgYnV0IGZvdW5kICcgKyB0eXBlb2YgcGFyYW1zW29wdGlvbmFsUGFyYW1dKTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChvcHRpb25hbENhbGxiYWNrICYmICFfLmlzRnVuY3Rpb24ob3B0aW9uYWxDYWxsYmFjaykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2lsbGVnYWwgY2FsbGJhY2sgYXJndW1lbnQnKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztHQUVHO0FBQ0gsMENBQTRCO0FBQzVCLG1DQUFrRDtBQUd6Qyw2RkFIQSxvQkFBWSxPQUdBO0FBRXJCLElBQUksY0FBeUIsQ0FBQztBQUU5Qjs7OztHQUlHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLE9BQWtCO0lBQzNDLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtRQUN6QixjQUFjLEdBQUcsU0FBUyxDQUFDO0tBQzVCO1NBQU07UUFDTCxlQUFlO1FBQ2YsY0FBYyxHQUFHLFNBQVMsQ0FBQztLQUM1QjtBQUNILENBQUM7QUFQRCxnQ0FPQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixVQUFVO0lBQ3hCLE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFGRCxnQ0FFQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFnQixjQUFjO0FBQzVCLHdEQUF3RDtBQUN4RCxNQUFjLEVBQ2QsY0FBd0IsRUFDeEIsaUJBQTJCLEVBQUUsRUFDN0IsZ0JBQWtEO0lBRWxELElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztLQUN2RDtJQUVELGNBQWMsR0FBRyxjQUFjLElBQUksRUFBRSxDQUFDO0lBRXRDLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxhQUFhO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsR0FBRyxhQUFhLENBQUMsQ0FBQztTQUN4RDtRQUNELElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsYUFBYSxHQUFHLGFBQWEsR0FBRyxPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1NBQ2hIO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsYUFBYTtRQUM1QyxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUU7WUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsR0FBRyxhQUFhLEdBQUcsYUFBYSxHQUFHLE9BQU8sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDaEg7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksZ0JBQWdCLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0tBQzlDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBakNELHdDQWlDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKi9cbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEVudmlyb25tZW50cywgVjFOZXR3b3JrIH0gZnJvbSAnLi9iaXRnbyc7XG5cbi8vIHJlLWV4cG9ydCBmcm9tIGhlcmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJlYXNvbnNcbmV4cG9ydCB7IEVudmlyb25tZW50cyB9O1xuXG5sZXQgYml0Y29pbk5ldHdvcms6IFYxTmV0d29yaztcblxuLyoqXG4gKiBTZXQgdGhlIGdsb2JhbCBCaXRjb2luIG5ldHdvcmsuIFVzZWQgZm9yIHYxIG9ubHkuXG4gKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldE5ldHdvcmsobmV0d29yazogVjFOZXR3b3JrKTogdm9pZCB7XG4gIGlmIChuZXR3b3JrID09PSAnYml0Y29pbicpIHtcbiAgICBiaXRjb2luTmV0d29yayA9ICdiaXRjb2luJztcbiAgfSBlbHNlIHtcbiAgICAvLyB0ZXN0IG5ldHdvcmtcbiAgICBiaXRjb2luTmV0d29yayA9ICd0ZXN0bmV0JztcbiAgfVxufVxuXG4vKipcbiAqIEdldCB0aGUgZ2xvYmFsIEJpdGNvaW4gbmV0d29yay4gVXNlZCBmb3IgdjEgb25seS5cbiAqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29yaygpOiBWMU5ldHdvcmsge1xuICByZXR1cm4gYml0Y29pbk5ldHdvcms7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIHRoZSBpbnB1dCBwYXJhbWV0ZXJzIHRvIGFuIFNESyBtZXRob2QuXG4gKiBPbmx5IHZhbGlkYXRlcyBmb3Igc3RyaW5ncyAtIGlmIHBhcmFtZXRlciBpcyBkaWZmZXJlbnQsIGNoZWNrIHRoYXQgbWFudWFsbHlcbiAqXG4gKiBAZGVwcmVjYXRlZFxuICogQHBhcmFtIHBhcmFtcyBkaWN0aW9uYXJ5IG9mIHBhcmFtZXRlciBrZXktdmFsdWUgcGFpcnNcbiAqIEBwYXJhbSBleHBlY3RlZFBhcmFtcyBsaXN0IG9mIGV4cGVjdGVkIHN0cmluZyBwYXJhbWV0ZXJzXG4gKiBAcGFyYW0gb3B0aW9uYWxQYXJhbXMgbGlzdCBvZiBvcHRpb25hbCBzdHJpbmcgcGFyYW1ldGVyc1xuICogQHBhcmFtIG9wdGlvbmFsQ2FsbGJhY2sgaWYgY2FsbGJhY2sgcHJvdmlkZWQsIG11c3QgYmUgYSBmdW5jdGlvblxuICogQHJldHVybnMgdHJ1ZSBpZiB2YWxpZGF0ZWQsIHRocm93cyB3aXRoIHJlYXNvbiBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUGFyYW1zKFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICBwYXJhbXM6IG9iamVjdCxcbiAgZXhwZWN0ZWRQYXJhbXM6IHN0cmluZ1tdLFxuICBvcHRpb25hbFBhcmFtczogc3RyaW5nW10gPSBbXSxcbiAgb3B0aW9uYWxDYWxsYmFjaz86IDxSPihlcnI6IEVycm9yLCByZXM6IFIpID0+IHZvaWRcbik6IGJvb2xlYW4ge1xuICBpZiAoIV8uaXNPYmplY3QocGFyYW1zKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTXVzdCBwYXNzIGluIHBhcmFtZXRlcnMgZGljdGlvbmFyeScpO1xuICB9XG5cbiAgZXhwZWN0ZWRQYXJhbXMgPSBleHBlY3RlZFBhcmFtcyB8fCBbXTtcblxuICBleHBlY3RlZFBhcmFtcy5mb3JFYWNoKGZ1bmN0aW9uIChleHBlY3RlZFBhcmFtKSB7XG4gICAgaWYgKCFwYXJhbXNbZXhwZWN0ZWRQYXJhbV0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyBwYXJhbWV0ZXI6ICcgKyBleHBlY3RlZFBhcmFtKTtcbiAgICB9XG4gICAgaWYgKCFfLmlzU3RyaW5nKHBhcmFtc1tleHBlY3RlZFBhcmFtXSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0aW5nIHBhcmFtZXRlciBzdHJpbmc6ICcgKyBleHBlY3RlZFBhcmFtICsgJyBidXQgZm91bmQgJyArIHR5cGVvZiBwYXJhbXNbZXhwZWN0ZWRQYXJhbV0pO1xuICAgIH1cbiAgfSk7XG5cbiAgb3B0aW9uYWxQYXJhbXMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9uYWxQYXJhbSkge1xuICAgIGlmIChwYXJhbXNbb3B0aW9uYWxQYXJhbV0gJiYgIV8uaXNTdHJpbmcocGFyYW1zW29wdGlvbmFsUGFyYW1dKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RpbmcgcGFyYW1ldGVyIHN0cmluZzogJyArIG9wdGlvbmFsUGFyYW0gKyAnIGJ1dCBmb3VuZCAnICsgdHlwZW9mIHBhcmFtc1tvcHRpb25hbFBhcmFtXSk7XG4gICAgfVxuICB9KTtcblxuICBpZiAob3B0aW9uYWxDYWxsYmFjayAmJiAhXy5pc0Z1bmN0aW9uKG9wdGlvbmFsQ2FsbGJhY2spKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbGxlZ2FsIGNhbGxiYWNrIGFyZ3VtZW50Jyk7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==
package/dist/src/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -37,4 +41,4 @@ Object.defineProperty(exports, "EcdsaUtils", { enumerable: true, get: function (
37
41
  const common = __importStar(require("./common"));
38
42
  exports.common = common;
39
43
  __exportStar(require("./units"), exports);
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qiw0REFBNEM7QUFDNUMsd0NBQXNCO0FBQ3RCLDBDQUF3QjtBQUN4QixpREFBK0I7QUFDL0IsaURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQix5REFBMkQ7QUFDbEQsMkZBREEsa0JBQVUsT0FDQTtBQUNuQix5REFBMkQ7QUFDbEQsMkZBREEsa0JBQVUsT0FDQTtBQUluQixpREFBbUM7QUFFMUIsd0JBQU07QUFEZiwwQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY291bnQtbGliJztcbmV4cG9ydCAqIGFzIGFjY291bnRMaWIgZnJvbSAnLi9hY2NvdW50LWxpYic7XG5leHBvcnQgKiBmcm9tICcuL2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvJztcbmV4cG9ydCAqIGZyb20gJy4vYml0Z29qc0Vycm9yJztcbmV4cG9ydCAqIGFzIGNvaW5zIGZyb20gJy4vY29pbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVuc3NsJztcbmltcG9ydCB7IEVkZHNhVXRpbHMgfSBmcm9tICcuL2JpdGdvL3V0aWxzL3Rzcy9lZGRzYS9lZGRzYSc7XG5leHBvcnQgeyBFZGRzYVV0aWxzIH07XG5pbXBvcnQgeyBFY2RzYVV0aWxzIH0gZnJvbSAnLi9iaXRnby91dGlscy90c3MvZWNkc2EvZWNkc2EnO1xuZXhwb3J0IHsgRWNkc2FVdGlscyB9O1xuZXhwb3J0IHsgR1NoYXJlLCBTaWduU2hhcmUsIFlTaGFyZSB9IGZyb20gJy4vYWNjb3VudC1saWIvbXBjL3Rzcy9lZGRzYS90eXBlcyc7XG5leHBvcnQgeyBUc3NFY2RzYVN0ZXAxUmV0dXJuTWVzc2FnZSwgVHNzRWNkc2FTdGVwMlJldHVybk1lc3NhZ2UgfSBmcm9tICcuL2JpdGdvL3Rzcy90eXBlcyc7XG5leHBvcnQgeyBTU2hhcmUgfSBmcm9tICcuL2JpdGdvL3Rzcy9lY2RzYS90eXBlcyc7XG5pbXBvcnQgKiBhcyBjb21tb24gZnJvbSAnLi9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi91bml0cyc7XG5leHBvcnQgeyBjb21tb24gfTtcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBOEI7QUFDOUIsNERBQTRDO0FBQzVDLHdDQUFzQjtBQUN0QiwwQ0FBd0I7QUFDeEIsaURBQStCO0FBQy9CLGlEQUFpQztBQUNqQyw0Q0FBMEI7QUFDMUIseURBQTJEO0FBQ2xELDJGQURBLGtCQUFVLE9BQ0E7QUFDbkIseURBQTJEO0FBQ2xELDJGQURBLGtCQUFVLE9BQ0E7QUFJbkIsaURBQW1DO0FBRTFCLHdCQUFNO0FBRGYsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvdW50LWxpYic7XG5leHBvcnQgKiBhcyBhY2NvdW50TGliIGZyb20gJy4vYWNjb3VudC1saWInO1xuZXhwb3J0ICogZnJvbSAnLi9hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9iaXRnbyc7XG5leHBvcnQgKiBmcm9tICcuL2JpdGdvanNFcnJvcic7XG5leHBvcnQgKiBhcyBjb2lucyBmcm9tICcuL2NvaW5zJztcbmV4cG9ydCAqIGZyb20gJy4vb3BlbnNzbCc7XG5pbXBvcnQgeyBFZGRzYVV0aWxzIH0gZnJvbSAnLi9iaXRnby91dGlscy90c3MvZWRkc2EvZWRkc2EnO1xuZXhwb3J0IHsgRWRkc2FVdGlscyB9O1xuaW1wb3J0IHsgRWNkc2FVdGlscyB9IGZyb20gJy4vYml0Z28vdXRpbHMvdHNzL2VjZHNhL2VjZHNhJztcbmV4cG9ydCB7IEVjZHNhVXRpbHMgfTtcbmV4cG9ydCB7IEdTaGFyZSwgU2lnblNoYXJlLCBZU2hhcmUgfSBmcm9tICcuL2FjY291bnQtbGliL21wYy90c3MvZWRkc2EvdHlwZXMnO1xuZXhwb3J0IHsgVHNzRWNkc2FTdGVwMVJldHVybk1lc3NhZ2UsIFRzc0VjZHNhU3RlcDJSZXR1cm5NZXNzYWdlIH0gZnJvbSAnLi9iaXRnby90c3MvdHlwZXMnO1xuZXhwb3J0IHsgU1NoYXJlIH0gZnJvbSAnLi9iaXRnby90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0ICogYXMgY29tbW9uIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdW5pdHMnO1xuZXhwb3J0IHsgY29tbW9uIH07XG4iXX0=
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -50,11 +54,11 @@ describe('ecdsa tss', function () {
50
54
  keyCombined1.xShare.y.should.equal(keyCombined3.xShare.y);
51
55
  // Collect all VSS from nShares and verify Schnorr proofs against X_i.
52
56
  // Note that this is something WP needs to do after keyCombine/keyDerive.
53
- const Y = sdk_lib_mpc_1.hexToBigInt(keyCombined1.xShare.y);
57
+ const Y = (0, sdk_lib_mpc_1.hexToBigInt)(keyCombined1.xShare.y);
54
58
  const VSSs = [
55
- [sdk_lib_mpc_1.hexToBigInt(keyShare1.nShares[2].v)],
56
- [sdk_lib_mpc_1.hexToBigInt(keyShare2.nShares[3].v)],
57
- [sdk_lib_mpc_1.hexToBigInt(keyShare3.nShares[1].v)],
59
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare1.nShares[2].v)],
60
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare2.nShares[3].v)],
61
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare3.nShares[1].v)],
58
62
  ];
59
63
  ecdsa.verifySchnorrProofX(Y, VSSs, 1, keyCombined1.xShare.schnorrProofX).should.be.true();
60
64
  ecdsa.verifySchnorrProofX(Y, VSSs, 2, keyCombined2.xShare.schnorrProofX).should.be.true();
@@ -63,11 +67,11 @@ describe('ecdsa tss', function () {
63
67
  const path = 'm/0/1/2';
64
68
  const keyDerive1 = ecdsa.keyDerive(keyShare1.pShare, [keyShare2.nShares[1], keyShare3.nShares[1]], path);
65
69
  // Note the VSSs used here are different from the ones used above.
66
- const derivedY = sdk_lib_mpc_1.hexToBigInt(keyDerive1.xShare.y);
70
+ const derivedY = (0, sdk_lib_mpc_1.hexToBigInt)(keyDerive1.xShare.y);
67
71
  const derivedVSSs = [
68
- [sdk_lib_mpc_1.hexToBigInt(keyDerive1.nShares[2].v)],
69
- [sdk_lib_mpc_1.hexToBigInt(keyShare2.nShares[3].v)],
70
- [sdk_lib_mpc_1.hexToBigInt(keyShare3.nShares[1].v)],
72
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyDerive1.nShares[2].v)],
73
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare2.nShares[3].v)],
74
+ [(0, sdk_lib_mpc_1.hexToBigInt)(keyShare3.nShares[1].v)],
71
75
  ];
72
76
  ecdsa.verifySchnorrProofX(derivedY, derivedVSSs, 1, keyDerive1.xShare.schnorrProofX).should.be.true();
73
77
  const keyCombined2FromKeyDerive1 = ecdsa.keyCombine(keyShare2.pShare, [
@@ -88,8 +92,8 @@ describe('ecdsa tss', function () {
88
92
  const [index1, index2] = [keyCombined1.xShare.i, keyCombined2.xShare.i];
89
93
  const [paillierN1to2, paillierN2to1] = [keyCombined1.yShares[index2].n, keyCombined2.yShares[index1].n];
90
94
  const [paillierChallenger1to2, paillierChallenger2to1] = await Promise.all([
91
- sdk_lib_mpc_1.EcdsaPaillierProof.generateP(sdk_lib_mpc_1.hexToBigInt(paillierN1to2)),
92
- sdk_lib_mpc_1.EcdsaPaillierProof.generateP(sdk_lib_mpc_1.hexToBigInt(paillierN2to1)),
95
+ sdk_lib_mpc_1.EcdsaPaillierProof.generateP((0, sdk_lib_mpc_1.hexToBigInt)(paillierN1to2)),
96
+ sdk_lib_mpc_1.EcdsaPaillierProof.generateP((0, sdk_lib_mpc_1.hexToBigInt)(paillierN2to1)),
93
97
  ]);
94
98
  const [xShare1, xShare2] = [
95
99
  ecdsa.appendChallenge(keyCombined1.xShare, serializeNtilde1, sdk_lib_mpc_1.EcdsaTypes.serializePaillierChallenge({ p: paillierChallenger1to2 })),
@@ -191,14 +195,14 @@ describe('ecdsa tss', function () {
191
195
  sign1.y.should.equal(sign2.y);
192
196
  sign1.m.toString('hex').should.equal(sign2.m.toString('hex'));
193
197
  // Change the s share of sign1, and recalcualte its V along with the commitment/proof by following protocol.
194
- const bad_s = sdk_lib_mpc_1.hexToBigInt(sign1.s) + BigInt(1);
195
- const bad_V = tss_1.Ecdsa.curve.pointAdd(tss_1.Ecdsa.curve.pointMultiply(sdk_lib_mpc_1.hexToBigInt(sign1.R), bad_s), tss_1.Ecdsa.curve.basePointMult(sign1.l));
198
+ const bad_s = (0, sdk_lib_mpc_1.hexToBigInt)(sign1.s) + BigInt(1);
199
+ const bad_V = tss_1.Ecdsa.curve.pointAdd(tss_1.Ecdsa.curve.pointMultiply((0, sdk_lib_mpc_1.hexToBigInt)(sign1.R), bad_s), tss_1.Ecdsa.curve.basePointMult(sign1.l));
196
200
  const comDecom_V_A = sdk_lib_mpc_1.HashCommitment.createCommitment(Buffer.concat([
197
- sdk_lib_mpc_1.bigIntToBufferBE(bad_V, tss_1.Ecdsa.curve.pointBytes),
198
- sdk_lib_mpc_1.bigIntToBufferBE(sign1.A, tss_1.Ecdsa.curve.pointBytes),
201
+ (0, sdk_lib_mpc_1.bigIntToBufferBE)(bad_V, tss_1.Ecdsa.curve.pointBytes),
202
+ (0, sdk_lib_mpc_1.bigIntToBufferBE)(sign1.A, tss_1.Ecdsa.curve.pointBytes),
199
203
  ]));
200
- const zkVProof = sdk_lib_mpc_1.EcdsaZkVProof.createZkVProof(bad_V, bad_s, sign1.l, sdk_lib_mpc_1.hexToBigInt(sign1.R), tss_1.Ecdsa.curve, sign1.proofContext);
201
- sign1.s = sdk_lib_mpc_1.bigIntToBufferBE(bad_s, 32).toString('hex');
204
+ const zkVProof = sdk_lib_mpc_1.EcdsaZkVProof.createZkVProof(bad_V, bad_s, sign1.l, (0, sdk_lib_mpc_1.hexToBigInt)(sign1.R), tss_1.Ecdsa.curve, sign1.proofContext);
205
+ sign1.s = (0, sdk_lib_mpc_1.bigIntToBufferBE)(bad_s, 32).toString('hex');
202
206
  sign1.V = bad_V;
203
207
  sign1.comDecomVA = comDecom_V_A;
204
208
  sign1.zkVProofV = zkVProof;
@@ -214,4 +218,4 @@ describe('ecdsa tss', function () {
214
218
  (() => ecdsa.verifyUTShares(UT2, [publicUTShares_1])).should.throw('Sum of all U_i does not match sum of all T_i');
215
219
  });
216
220
  });
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9lY2RzYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBa0Q7QUFDbEQsa0JBQWdCO0FBQ2hCLGtEQUEwQjtBQUMxQixvREFRNEI7QUFDNUIsbUVBQWtFO0FBTWxFLHlDQUE4QztBQUU5QyxRQUFRLENBQUMsV0FBVyxFQUFFO0lBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBSyxFQUFFLENBQUM7SUFFMUIsSUFBSSxZQUEyQixFQUFFLFlBQTJCLENBQUM7SUFFN0QsTUFBTSxDQUFDLG9DQUFvQyxFQUFFLEtBQUs7UUFDaEQsTUFBTSxlQUFlLEdBQUcsZUFBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUV6RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDJCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RSxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDMUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLEdBQUc7WUFDakQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakYsQ0FBQztRQUVGLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRCxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUQsc0VBQXNFO1FBQ3RFLHlFQUF5RTtRQUN6RSxNQUFNLENBQUMsR0FBRyx5QkFBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFN0MsTUFBTSxJQUFJLEdBQUc7WUFDWCxDQUFDLHlCQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDLHlCQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQztZQUN0QyxDQUFDLHlCQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQztTQUN2QyxDQUFDO1FBRUYsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRixLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFGLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFMUYsNkVBQTZFO1FBQzdFLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUN2QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV6RyxrRUFBa0U7UUFDbEUsTUFBTSxRQUFRLEdBQUcseUJBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLENBQUMseUJBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDO1lBQ3ZDLENBQUMseUJBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDO1lBQ3RDLENBQUMseUJBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDO1NBQ3ZDLENBQUM7UUFDRixLQUFLLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXRHLE1BQU0sMEJBQTBCLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ3BFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3JCLENBQUMsQ0FBQztRQUNILEtBQUs7YUFDRixtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO2FBQzlGLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEIsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDM0MsNkJBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO1lBQ25DLDZCQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztTQUNwQyxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsR0FBRztZQUMzQyx3QkFBVSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztZQUM3Qyx3QkFBVSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztTQUM5QyxDQUFDO1FBRUYsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEUsTUFBTSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEcsTUFBTSxDQUFDLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ3pFLGdDQUFrQixDQUFDLFNBQVMsQ0FBQyx5QkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hELGdDQUFrQixDQUFDLFNBQVMsQ0FBQyx5QkFBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3pELENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDekIsS0FBSyxDQUFDLGVBQWUsQ0FDbkIsWUFBWSxDQUFDLE1BQU0sRUFDbkIsZ0JBQWdCLEVBQ2hCLHdCQUFVLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUNyRTtZQUNELEtBQUssQ0FBQyxlQUFlLENBQ25CLFlBQVksQ0FBQyxNQUFNLEVBQ25CLGdCQUFnQixFQUNoQix3QkFBVSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FDckU7U0FDRixDQUFDO1FBRUYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FDbkMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDNUIsZ0JBQWdCLEVBQ2hCLHdCQUFVLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxDQUNyRSxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsTUFBTSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUzRCxNQUFNLGNBQWMsR0FBRyxNQUFNLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsRCxNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxjQUFjLEdBQUcsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUM7WUFDbEQsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO1lBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtTQUMxQixDQUFDLENBQUM7UUFDSCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDO1lBQ3BELE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTztZQUMvQixNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU07U0FDOUIsQ0FBQyxDQUFDO1FBRUgsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLEdBQUc7WUFDN0IsS0FBSyxDQUFDLFdBQVcsQ0FBQztnQkFDaEIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO2dCQUM3QixTQUFTLEVBQUU7b0JBQ1QsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDM0IsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDNUI7YUFDRixDQUFDO1lBQ0YsS0FBSyxDQUFDLFdBQVcsQ0FBQztnQkFDaEIsTUFBTSxFQUFFLGdCQUFnQixDQUFDLE1BQU07Z0JBQy9CLFNBQVMsRUFBRTtvQkFDVCxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQy9CLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDaEM7YUFDRixDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFLEtBQUs7UUFDckMsaUlBQWlJO1FBQ2pJLDBHQUEwRztRQUMxRyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTVDLG1CQUFtQjtRQUNuQixrR0FBa0c7UUFDbEcsdUNBQXVDO1FBQ3ZDLGlDQUFpQztRQUNqQyxrRUFBa0U7UUFDbEUsNEVBQTRFO1FBQzVFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDckIsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RixLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQy9GLENBQUM7UUFFRixLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRTlELDZHQUE2RztRQUM3Ryx5RkFBeUY7UUFDekYscURBQXFEO1FBQ3JELHFEQUFxRDtRQUVyRCxtRkFBbUY7UUFDbkYsNkdBQTZHO1FBQzdHLHNFQUFzRTtRQUN0RSx3RUFBd0U7UUFDeEUsc0VBQXNFO1FBQ3RFLHFGQUFxRjtRQUNyRiwrRUFBK0U7UUFDL0UsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFnQyxFQUFFLEtBQWdDLENBQUMsQ0FBQztRQUNsSCxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHO1lBQ2pCLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMvQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDaEQsQ0FBQztRQUVGLHdFQUF3RTtRQUN4RSxvRUFBb0U7UUFDcEUseUZBQXlGO1FBQ3pGLG1EQUFtRDtRQUNuRCxtREFBbUQ7UUFFbkQsbUZBQW1GO1FBQ25GLHlHQUF5RztRQUN6RyxzRUFBc0U7UUFDdEUsdUVBQXVFO1FBQ3ZFLHVFQUF1RTtRQUN2RSxrR0FBa0c7UUFDbEcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFvQixFQUFFLEdBQW9CLENBQUMsQ0FBQztRQUMxRixNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxHQUFHO1lBQy9CLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDOUMsQ0FBQztRQUVGLG9GQUFvRjtRQUNwRiw4REFBOEQ7UUFDOUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4REFBOEQsRUFBRSxLQUFLO1FBQ3RFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFNUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRztZQUNyQixLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlGLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0YsQ0FBQztRQUVGLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFOUQsNEdBQTRHO1FBQzVHLE1BQU0sS0FBSyxHQUFHLHlCQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvQyxNQUFNLEtBQUssR0FBRyxXQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDaEMsV0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMseUJBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ3RELFdBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDbkMsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLDRCQUFjLENBQUMsZ0JBQWdCLENBQ2xELE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDWiw4QkFBZ0IsQ0FBQyxLQUFLLEVBQUUsV0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDL0MsOEJBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztTQUNsRCxDQUFDLENBQ0gsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLDJCQUFhLENBQUMsY0FBYyxDQUMzQyxLQUFLLEVBQ0wsS0FBSyxFQUNMLEtBQUssQ0FBQyxDQUFDLEVBQ1AseUJBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ3BCLFdBQUssQ0FBQyxLQUFLLEVBQ1gsS0FBSyxDQUFDLFlBQVksQ0FDbkIsQ0FBQztRQUVGLEtBQUssQ0FBQyxDQUFDLEdBQUcsOEJBQWdCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNoQixLQUFLLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQztRQUNoQyxLQUFLLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUUzQixnQkFBZ0I7UUFDaEIsTUFBTSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFnQyxFQUFFLEtBQWdDLENBQUMsQ0FBQztRQUNsSCxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHO1lBQ2pCLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUMvQyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDaEQsQ0FBQztRQUVGLGlEQUFpRDtRQUNqRCxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQW9CLEVBQUUsR0FBb0IsQ0FBQyxDQUFDO1FBQzFGLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDbkgsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUNySCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGFpbGxpZXJCaWdpbnQgZnJvbSAncGFpbGxpZXItYmlnaW50JztcbmltcG9ydCAnc2hvdWxkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQge1xuICBFY2RzYVBhaWxsaWVyUHJvb2YsXG4gIEVjZHNhUmFuZ2VQcm9vZixcbiAgRWNkc2FUeXBlcyxcbiAgRWNkc2Faa1ZQcm9vZixcbiAgSGFzaENvbW1pdG1lbnQsXG4gIGhleFRvQmlnSW50LFxuICBiaWdJbnRUb0J1ZmZlckJFLFxufSBmcm9tICdAYml0Z28vc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgRWNkc2EgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5pbXBvcnQge1xuICBQdWJsaWNVVFNoYXJlLFxuICBQdWJsaWNWQVNoYXJlV2l0aFByb29mcyxcbiAgU2lnbkNvbWJpbmVSVCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL21wYy90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0IHsgcGFpbGxpZXJLZXlQYWlycyB9IGZyb20gJy4vZml4dHVyZXMnO1xuXG5kZXNjcmliZSgnZWNkc2EgdHNzJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBlY2RzYSA9IG5ldyBFY2RzYSgpO1xuXG4gIGxldCBzaWduQ29tYmluZTE6IFNpZ25Db21iaW5lUlQsIHNpZ25Db21iaW5lMjogU2lnbkNvbWJpbmVSVDtcblxuICBiZWZvcmUoJ2dlbmVyYXRlIGtleSBhbmQgc2lnbiBwaGFzZSAxIHRvIDQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgcGFpbGxpZXJLZXlTdHViID0gc2lub24uc3R1YihwYWlsbGllckJpZ2ludCwgJ2dlbmVyYXRlUmFuZG9tS2V5cycpO1xuXG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgwKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzBdKSk7XG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgxKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzFdKSk7XG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgyKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzJdKSk7XG5cbiAgICBjb25zdCBba2V5U2hhcmUxLCBrZXlTaGFyZTIsIGtleVNoYXJlM10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBlY2RzYS5rZXlTaGFyZSgxLCAyLCAzKSxcbiAgICAgIGVjZHNhLmtleVNoYXJlKDIsIDIsIDMpLFxuICAgICAgZWNkc2Eua2V5U2hhcmUoMywgMiwgMyksXG4gICAgXSk7XG5cbiAgICBjb25zdCBba2V5Q29tYmluZWQxLCBrZXlDb21iaW5lZDIsIGtleUNvbWJpbmVkM10gPSBbXG4gICAgICBlY2RzYS5rZXlDb21iaW5lKGtleVNoYXJlMS5wU2hhcmUsIFtrZXlTaGFyZTIublNoYXJlc1sxXSwga2V5U2hhcmUzLm5TaGFyZXNbMV1dKSxcbiAgICAgIGVjZHNhLmtleUNvbWJpbmUoa2V5U2hhcmUyLnBTaGFyZSwgW2tleVNoYXJlMS5uU2hhcmVzWzJdLCBrZXlTaGFyZTMublNoYXJlc1syXV0pLFxuICAgICAgZWNkc2Eua2V5Q29tYmluZShrZXlTaGFyZTMucFNoYXJlLCBba2V5U2hhcmUxLm5TaGFyZXNbM10sIGtleVNoYXJlMi5uU2hhcmVzWzNdXSksXG4gICAgXTtcblxuICAgIGtleUNvbWJpbmVkMS54U2hhcmUueS5zaG91bGQuZXF1YWwoa2V5Q29tYmluZWQyLnhTaGFyZS55KTtcbiAgICBrZXlDb21iaW5lZDEueFNoYXJlLnkuc2hvdWxkLmVxdWFsKGtleUNvbWJpbmVkMy54U2hhcmUueSk7XG5cbiAgICAvLyBDb2xsZWN0IGFsbCBWU1MgZnJvbSBuU2hhcmVzIGFuZCB2ZXJpZnkgU2Nobm9yciBwcm9vZnMgYWdhaW5zdCBYX2kuXG4gICAgLy8gTm90ZSB0aGF0IHRoaXMgaXMgc29tZXRoaW5nIFdQIG5lZWRzIHRvIGRvIGFmdGVyIGtleUNvbWJpbmUva2V5RGVyaXZlLlxuICAgIGNvbnN0IFkgPSBoZXhUb0JpZ0ludChrZXlDb21iaW5lZDEueFNoYXJlLnkpO1xuXG4gICAgY29uc3QgVlNTcyA9IFtcbiAgICAgIFtoZXhUb0JpZ0ludChrZXlTaGFyZTEublNoYXJlc1syXS52ISldLFxuICAgICAgW2hleFRvQmlnSW50KGtleVNoYXJlMi5uU2hhcmVzWzNdLnYhKV0sXG4gICAgICBbaGV4VG9CaWdJbnQoa2V5U2hhcmUzLm5TaGFyZXNbMV0udiEpXSxcbiAgICBdO1xuXG4gICAgZWNkc2EudmVyaWZ5U2Nobm9yclByb29mWChZLCBWU1NzLCAxLCBrZXlDb21iaW5lZDEueFNoYXJlLnNjaG5vcnJQcm9vZlgpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgZWNkc2EudmVyaWZ5U2Nobm9yclByb29mWChZLCBWU1NzLCAyLCBrZXlDb21iaW5lZDIueFNoYXJlLnNjaG5vcnJQcm9vZlgpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgZWNkc2EudmVyaWZ5U2Nobm9yclByb29mWChZLCBWU1NzLCAzLCBrZXlDb21iaW5lZDMueFNoYXJlLnNjaG5vcnJQcm9vZlgpLnNob3VsZC5iZS50cnVlKCk7XG5cbiAgICAvLyBWZXJpZnkgU2Nobm9yciBwcm9vZnMgYWdhaW5zdCBYX2kgZm9yIGtleURlcml2ZSBhbmQgc3Vic2VxdWVudCBrZXlDb21iaW5lLlxuICAgIGNvbnN0IHBhdGggPSAnbS8wLzEvMic7XG4gICAgY29uc3Qga2V5RGVyaXZlMSA9IGVjZHNhLmtleURlcml2ZShrZXlTaGFyZTEucFNoYXJlLCBba2V5U2hhcmUyLm5TaGFyZXNbMV0sIGtleVNoYXJlMy5uU2hhcmVzWzFdXSwgcGF0aCk7XG5cbiAgICAvLyBOb3RlIHRoZSBWU1NzIHVzZWQgaGVyZSBhcmUgZGlmZmVyZW50IGZyb20gdGhlIG9uZXMgdXNlZCBhYm92ZS5cbiAgICBjb25zdCBkZXJpdmVkWSA9IGhleFRvQmlnSW50KGtleURlcml2ZTEueFNoYXJlLnkpO1xuICAgIGNvbnN0IGRlcml2ZWRWU1NzID0gW1xuICAgICAgW2hleFRvQmlnSW50KGtleURlcml2ZTEublNoYXJlc1syXS52ISldLFxuICAgICAgW2hleFRvQmlnSW50KGtleVNoYXJlMi5uU2hhcmVzWzNdLnYhKV0sXG4gICAgICBbaGV4VG9CaWdJbnQoa2V5U2hhcmUzLm5TaGFyZXNbMV0udiEpXSxcbiAgICBdO1xuICAgIGVjZHNhLnZlcmlmeVNjaG5vcnJQcm9vZlgoZGVyaXZlZFksIGRlcml2ZWRWU1NzLCAxLCBrZXlEZXJpdmUxLnhTaGFyZS5zY2hub3JyUHJvb2ZYKS5zaG91bGQuYmUudHJ1ZSgpO1xuXG4gICAgY29uc3Qga2V5Q29tYmluZWQyRnJvbUtleURlcml2ZTEgPSBlY2RzYS5rZXlDb21iaW5lKGtleVNoYXJlMi5wU2hhcmUsIFtcbiAgICAgIGtleURlcml2ZTEublNoYXJlc1syXSxcbiAgICAgIGtleVNoYXJlMy5uU2hhcmVzWzJdLFxuICAgIF0pO1xuICAgIGVjZHNhXG4gICAgICAudmVyaWZ5U2Nobm9yclByb29mWChkZXJpdmVkWSwgZGVyaXZlZFZTU3MsIDIsIGtleUNvbWJpbmVkMkZyb21LZXlEZXJpdmUxLnhTaGFyZS5zY2hub3JyUHJvb2ZYKVxuICAgICAgLnNob3VsZC5iZS50cnVlKCk7XG5cbiAgICBjb25zdCBbbnRpbGRlMSwgbnRpbGRlMl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBFY2RzYVJhbmdlUHJvb2YuZ2VuZXJhdGVOdGlsZGUoNTEyKSxcbiAgICAgIEVjZHNhUmFuZ2VQcm9vZi5nZW5lcmF0ZU50aWxkZSg1MTIpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgW3NlcmlhbGl6ZU50aWxkZTEsIHNlcmlhbGl6ZU50aWxkZTJdID0gW1xuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKG50aWxkZTEpLFxuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKG50aWxkZTIpLFxuICAgIF07XG5cbiAgICBjb25zdCBbaW5kZXgxLCBpbmRleDJdID0gW2tleUNvbWJpbmVkMS54U2hhcmUuaSwga2V5Q29tYmluZWQyLnhTaGFyZS5pXTtcblxuICAgIGNvbnN0IFtwYWlsbGllck4xdG8yLCBwYWlsbGllck4ydG8xXSA9IFtrZXlDb21iaW5lZDEueVNoYXJlc1tpbmRleDJdLm4sIGtleUNvbWJpbmVkMi55U2hhcmVzW2luZGV4MV0ubl07XG5cbiAgICBjb25zdCBbcGFpbGxpZXJDaGFsbGVuZ2VyMXRvMiwgcGFpbGxpZXJDaGFsbGVuZ2VyMnRvMV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBFY2RzYVBhaWxsaWVyUHJvb2YuZ2VuZXJhdGVQKGhleFRvQmlnSW50KHBhaWxsaWVyTjF0bzIpKSxcbiAgICAgIEVjZHNhUGFpbGxpZXJQcm9vZi5nZW5lcmF0ZVAoaGV4VG9CaWdJbnQocGFpbGxpZXJOMnRvMSkpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgW3hTaGFyZTEsIHhTaGFyZTJdID0gW1xuICAgICAgZWNkc2EuYXBwZW5kQ2hhbGxlbmdlKFxuICAgICAgICBrZXlDb21iaW5lZDEueFNoYXJlLFxuICAgICAgICBzZXJpYWxpemVOdGlsZGUxLFxuICAgICAgICBFY2RzYVR5cGVzLnNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlKHsgcDogcGFpbGxpZXJDaGFsbGVuZ2VyMXRvMiB9KVxuICAgICAgKSxcbiAgICAgIGVjZHNhLmFwcGVuZENoYWxsZW5nZShcbiAgICAgICAga2V5Q29tYmluZWQyLnhTaGFyZSxcbiAgICAgICAgc2VyaWFsaXplTnRpbGRlMixcbiAgICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZSh7IHA6IHBhaWxsaWVyQ2hhbGxlbmdlcjJ0bzEgfSlcbiAgICAgICksXG4gICAgXTtcblxuICAgIGNvbnN0IHlTaGFyZTIgPSBlY2RzYS5hcHBlbmRDaGFsbGVuZ2UoXG4gICAgICBrZXlDb21iaW5lZDEueVNoYXJlc1tpbmRleDJdLFxuICAgICAgc2VyaWFsaXplTnRpbGRlMixcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoeyBwOiBwYWlsbGllckNoYWxsZW5nZXIydG8xIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHNpZ25TaGFyZXMgPSBhd2FpdCBlY2RzYS5zaWduU2hhcmUoeFNoYXJlMSwgeVNoYXJlMik7XG5cbiAgICBjb25zdCBzaWduQ29udmVydFMyMSA9IGF3YWl0IGVjZHNhLnNpZ25Db252ZXJ0U3RlcDEoe1xuICAgICAgeFNoYXJlOiB4U2hhcmUyLFxuICAgICAgeVNoYXJlOiBrZXlDb21iaW5lZDIueVNoYXJlc1tpbmRleDFdLFxuICAgICAga1NoYXJlOiBzaWduU2hhcmVzLmtTaGFyZSxcbiAgICB9KTtcbiAgICBjb25zdCBzaWduQ29udmVydFMxMiA9IGF3YWl0IGVjZHNhLnNpZ25Db252ZXJ0U3RlcDIoe1xuICAgICAgYVNoYXJlOiBzaWduQ29udmVydFMyMS5hU2hhcmUsXG4gICAgICB3U2hhcmU6IHNpZ25TaGFyZXMud1NoYXJlLFxuICAgIH0pO1xuICAgIGNvbnN0IHNpZ25Db252ZXJ0UzIxXzIgPSBhd2FpdCBlY2RzYS5zaWduQ29udmVydFN0ZXAzKHtcbiAgICAgIG11U2hhcmU6IHNpZ25Db252ZXJ0UzEyLm11U2hhcmUsXG4gICAgICBiU2hhcmU6IHNpZ25Db252ZXJ0UzIxLmJTaGFyZSxcbiAgICB9KTtcblxuICAgIFtzaWduQ29tYmluZTEsIHNpZ25Db21iaW5lMl0gPSBbXG4gICAgICBlY2RzYS5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMTIuZ1NoYXJlLFxuICAgICAgICBzaWduSW5kZXg6IHtcbiAgICAgICAgICBpOiBzaWduQ29udmVydFMxMi5tdVNoYXJlLmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMTIubXVTaGFyZS5qLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBlY2RzYS5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMjFfMi5nU2hhcmUsXG4gICAgICAgIHNpZ25JbmRleDoge1xuICAgICAgICAgIGk6IHNpZ25Db252ZXJ0UzIxXzIuc2lnbkluZGV4LmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMjFfMi5zaWduSW5kZXguaixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIF07XG4gIH0pO1xuXG4gIGl0KCdzaWduIHBoYXNlIDUgc2hvdWxkIHN1Y2NlZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVE9ETyhIU00tMTI5KTogVGhlcmUgaXMgYSBidWcgc2lnbmluZyB1bmhhc2hlZCBtZXNzYWdlIChhbHRob3VnaCB0aGlzIGRldmlhdGVzIGZyb20gRFNBIHNwZWMpIGlmIHRoZSBtZXNzYWdlIGlzIGEgbGl0dGxlIGxvbmcuXG4gICAgLy8gICAgICAgU29tZSBkaXNjcmVwYW5jeSBiZXR3ZWVuIEVjZHNhLnNpZ24gYW5kIHNlY3AyNTZrMS5yZWNvdmVyUHVibGljS2V5IG9uIGhhbmRsaW5nIHRoZSBtZXNzYWdlIGlucHV0LlxuICAgIGNvbnN0IG1lc3NhZ2UgPSBCdWZmZXIuZnJvbSgnR0cxOCBQSEFTRSA1Jyk7XG5cbiAgICAvLyBTdGFydGluZyBwaGFzZSA1XG4gICAgLy8gSW4gYWRkaXRpb24gdG8gcmV0dXJuaW5nIHNfaSwgRWNkc2Euc2lnbigpIG5vdyBhbHNvIGNhbGN1bGF0ZXMgZGF0YSBuZWVkZWQgZm9yIHN0ZXBzIDVBIGFuZCA1QjpcbiAgICAvLyAgIC0gc2FtcGxlIHJhbmRvbSBsX2kgYW5kIHJob19pICg1QSlcbiAgICAvLyAgIC0gY29tcHV0ZXMgVl9pIGFuZCBBX2kgKDVCKV1cbiAgICAvLyAgIC0gY29tcHV0ZXMgY29tbWl0bWVudCBhbmQgZGVjb21taXRtZW50IG9mIChWX2ksIEFfaSkgKDVBLCA1QilcbiAgICAvLyAgIC0gZ2VuZXJhdGVzIHByb29mcyBvZiBrbm93bGVkZ2Ugb2Ygc19pLCBsX2ksIHJob19pIHcuci50LiBWX2ksIEFfaSAoNUIpXG4gICAgY29uc3QgW3NpZ24xLCBzaWduMl0gPSBbXG4gICAgICBlY2RzYS5nZW5lcmF0ZVZBUHJvb2ZzKG1lc3NhZ2UsIGVjZHNhLnNpZ24obWVzc2FnZSwgc2lnbkNvbWJpbmUxLm9TaGFyZSwgc2lnbkNvbWJpbmUyLmRTaGFyZSkpLFxuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMi5vU2hhcmUsIHNpZ25Db21iaW5lMS5kU2hhcmUpKSxcbiAgICBdO1xuXG4gICAgc2lnbjEuUi5zaG91bGQuZXF1YWwoc2lnbjIuUik7XG4gICAgc2lnbjEueS5zaG91bGQuZXF1YWwoc2lnbjIueSk7XG4gICAgc2lnbjEubS50b1N0cmluZygnaGV4Jykuc2hvdWxkLmVxdWFsKHNpZ24yLm0udG9TdHJpbmcoJ2hleCcpKTtcblxuICAgIC8vIFN0ZXAgNUE6IENhbGN1bGF0aW9ucyBkb25lIGJ5IEVjZHNhLnNpZ24oKSBhYm92ZSwgYW5kIGJyb2FkY2FzdCBjb21taXRtZW50IG9mIChWX2ksIEFfaSkgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGJlIHNlbnQgdmlhIGNvbW11bmljYXRpb24gY2hhbm5lbCBhdCB0aGUgZW5kIG9mIDVBLlxuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRWQTEgPSBzaWduMS5jb21EZWNvbVZBLmNvbW1pdG1lbnQ7XG4gICAgLy8gY29uc3QgY29tbWl0bWVudFZBMiA9IHNpZ24yLmNvbURlY29tVkEuY29tbWl0bWVudDtcblxuICAgIC8vIFN0ZXAgNUI6IEFmdGVyIGhhdmluZyByZWNlaXZlZCBhbGwgY29tbWl0bWVudHMgb2YgKFZfaSwgQV9pKSBmcm9tIG90aGVyIHBhcnRpZXMsXG4gICAgLy8gICAgICAgICAgZWFjaCBwYXJ0eSB3aWxsIGJyb2FkY2FzdCBkZWNvbW1pdG1lbnQgb2YgKFZfaSwgQV9pKSBhbmQgWksgcHJvb2ZzIHJldHVybmVkIGJ5IEVjZHNhLnNpZ24oKSBhYm92ZVxuICAgIC8vICAgICAgICAgIHRvIG90aGVyIHBhcnRpZXMuICBUaGVuIEVjZHNhLnZlcmlmeVZBU2hhcmVzKCkgYmVsb3cgd2lsbDpcbiAgICAvLyAgIC0gdmVyaWZ5IGNvbW1pdG1lbnRzIG9mIChWX2ksIEFfaSkgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0aWVzICg1QilcbiAgICAvLyAgIC0gdmVyaWZ5IFpLIHByb29mcyBvZiAoVl9pLCBBX2kpIHJlY2VpdmVkIGZyb20gb3RoZXIgcGFydGllcyAoNUIpXG4gICAgLy8gICAtIGNhbGN1bGF0ZSBWIG91dCBvZiBHLCB5LCByLCBtLCBhbmQgYWxsIFZfaSwgY2FsY3VsYXRlIEEgYXMgc3VtIG9mIGFsbCBBX2kgKDVCKVxuICAgIC8vICAgLSBjYWxjdWxhdGUgVV9pIGFuZCBUX2kgYW5kIGNvbW1pdG1lbnQgYW5kIGRlY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpICg1QylcbiAgICBjb25zdCBbcHVibGljVkFTaGFyZXNfMSwgcHVibGljVkFTaGFyZXNfMl0gPSBbc2lnbjEgYXMgUHVibGljVkFTaGFyZVdpdGhQcm9vZnMsIHNpZ24yIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzXTtcbiAgICBjb25zdCBbVVQxLCBVVDJdID0gW1xuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjEsIFtwdWJsaWNWQVNoYXJlc18yXSksXG4gICAgICBlY2RzYS52ZXJpZnlWQVNoYXJlcyhzaWduMiwgW3B1YmxpY1ZBU2hhcmVzXzFdKSxcbiAgICBdO1xuXG4gICAgLy8gU3RlcCA1QzogQ2FsY3VsYXRpb25zIG9mIFVfaSwgVF9pIGRvbmUgYnkgRWNkc2EudmVyaWZ5VkFTaGFyZXMgYWJvdmUsXG4gICAgLy8gICAgICAgICAgYW5kIGJyb2FkY2FzdCBjb21taXRtZW50IG9mIChVX2ksIFRfaSkgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGJlIHNlbnQgdmlhIGNvbW11bmljYXRpb24gY2hhbm5lbCBhdCB0aGUgZW5kIG9mIDVDLlxuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRVVDEgPSBVVDEuY29tRGVjb21VVC5jb21taXRtZW50O1xuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRVVDIgPSBVVDIuY29tRGVjb21VVC5jb21taXRtZW50O1xuXG4gICAgLy8gU3RlcCA1RDogQWZ0ZXIgaGF2aW5nIHJlY2VpdmVkIGFsbCBjb21taXRtZW50cyBvZiAoVV9pLCBUX2kpIGZyb20gb3RoZXIgcGFydGllcyxcbiAgICAvLyAgICAgICAgICBlYWNoIHBhcnR5IHdpbGwgYnJvYWRjYXN0IGRlY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpIHJldHVybmVkIGJ5IEVjZHNhLnZlcmlmeVZBU2hhcmVzKCkgYWJvdmVcbiAgICAvLyAgICAgICAgICB0byBvdGhlciBwYXJ0aWVzLiAgVGhlbiBFY2RzYS52ZXJpZnlVVFNoYXJlcygpIGJlbG93IHdpbGw6XG4gICAgLy8gIC0gdmVyaWZ5IGNvbW1pdG1lbnRzIG9mIChVX2ksIFRfaSkgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0aWVzICg1RClcbiAgICAvLyAgLSBjYWxjdWxhdGUgVSBhcyBzdW0gb2YgYWxsIFVfaSwgY2FsY3VsYXRlIFQgYXMgc3VtIG9mIGFsbCBUX2kgKDVEKVxuICAgIC8vICAtIGlmIFUgZXF1YWxzIFQsIHRoZW4gcmV0dXJuIG93biBTU2hhcmUgd2hpY2ggaXMgYmVpbmcgcmV0dXJuZWQgYnkgRWNkc2Euc2lnbigpIHJpZ2h0IG5vdyAoNUUpXG4gICAgY29uc3QgW3B1YmxpY1VUU2hhcmVzXzEsIHB1YmxpY1VUU2hhcmVzXzJdID0gW1VUMSBhcyBQdWJsaWNVVFNoYXJlLCBVVDIgYXMgUHVibGljVVRTaGFyZV07XG4gICAgY29uc3QgW3NpZ25hdHVyZTEsIHNpZ25hdHVyZTJdID0gW1xuICAgICAgZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQxLCBbcHVibGljVVRTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQyLCBbcHVibGljVVRTaGFyZXNfMV0pLFxuICAgIF07XG5cbiAgICAvLyBTdGVwIDVFOiBCcm9hZGNhc3Qgc19pIHJldHVybmVkIGJ5IEVjZHNhLnZlcmlmeVVUU2hhcmVzKCkgYWJvdmUgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBWZXJpZnkgdGhlIHN1bSBvZiBzX2kgc2hvdWxkIGJlIGEgdmFsaWQgc2lnbmF0dXJlLlxuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGVjZHNhLmNvbnN0cnVjdFNpZ25hdHVyZShbc2lnbmF0dXJlMSwgc2lnbmF0dXJlMl0pO1xuICAgIGVjZHNhLnZlcmlmeShtZXNzYWdlLCBzaWduYXR1cmUpLnNob3VsZC5iZS50cnVlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaWduIHBoYXNlIDUgZmFpbCAtIG1hbGljaW91cyBwbGF5ZXIgY2hlYXRzIHdpdGggYmFkIHMgc2hhcmUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IEJ1ZmZlci5mcm9tKCdHRzE4IFBIQVNFIDUnKTtcblxuICAgIGNvbnN0IFtzaWduMSwgc2lnbjJdID0gW1xuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMS5vU2hhcmUsIHNpZ25Db21iaW5lMi5kU2hhcmUpKSxcbiAgICAgIGVjZHNhLmdlbmVyYXRlVkFQcm9vZnMobWVzc2FnZSwgZWNkc2Euc2lnbihtZXNzYWdlLCBzaWduQ29tYmluZTIub1NoYXJlLCBzaWduQ29tYmluZTEuZFNoYXJlKSksXG4gICAgXTtcblxuICAgIHNpZ24xLlIuc2hvdWxkLmVxdWFsKHNpZ24yLlIpO1xuICAgIHNpZ24xLnkuc2hvdWxkLmVxdWFsKHNpZ24yLnkpO1xuICAgIHNpZ24xLm0udG9TdHJpbmcoJ2hleCcpLnNob3VsZC5lcXVhbChzaWduMi5tLnRvU3RyaW5nKCdoZXgnKSk7XG5cbiAgICAvLyBDaGFuZ2UgdGhlIHMgc2hhcmUgb2Ygc2lnbjEsIGFuZCByZWNhbGN1YWx0ZSBpdHMgViBhbG9uZyB3aXRoIHRoZSBjb21taXRtZW50L3Byb29mIGJ5IGZvbGxvd2luZyBwcm90b2NvbC5cbiAgICBjb25zdCBiYWRfcyA9IGhleFRvQmlnSW50KHNpZ24xLnMpICsgQmlnSW50KDEpO1xuXG4gICAgY29uc3QgYmFkX1YgPSBFY2RzYS5jdXJ2ZS5wb2ludEFkZChcbiAgICAgIEVjZHNhLmN1cnZlLnBvaW50TXVsdGlwbHkoaGV4VG9CaWdJbnQoc2lnbjEuUiksIGJhZF9zKSxcbiAgICAgIEVjZHNhLmN1cnZlLmJhc2VQb2ludE11bHQoc2lnbjEubClcbiAgICApO1xuXG4gICAgY29uc3QgY29tRGVjb21fVl9BID0gSGFzaENvbW1pdG1lbnQuY3JlYXRlQ29tbWl0bWVudChcbiAgICAgIEJ1ZmZlci5jb25jYXQoW1xuICAgICAgICBiaWdJbnRUb0J1ZmZlckJFKGJhZF9WLCBFY2RzYS5jdXJ2ZS5wb2ludEJ5dGVzKSxcbiAgICAgICAgYmlnSW50VG9CdWZmZXJCRShzaWduMS5BLCBFY2RzYS5jdXJ2ZS5wb2ludEJ5dGVzKSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICBjb25zdCB6a1ZQcm9vZiA9IEVjZHNhWmtWUHJvb2YuY3JlYXRlWmtWUHJvb2YoXG4gICAgICBiYWRfVixcbiAgICAgIGJhZF9zLFxuICAgICAgc2lnbjEubCxcbiAgICAgIGhleFRvQmlnSW50KHNpZ24xLlIpLFxuICAgICAgRWNkc2EuY3VydmUsXG4gICAgICBzaWduMS5wcm9vZkNvbnRleHRcbiAgICApO1xuXG4gICAgc2lnbjEucyA9IGJpZ0ludFRvQnVmZmVyQkUoYmFkX3MsIDMyKS50b1N0cmluZygnaGV4Jyk7XG4gICAgc2lnbjEuViA9IGJhZF9WO1xuICAgIHNpZ24xLmNvbURlY29tVkEgPSBjb21EZWNvbV9WX0E7XG4gICAgc2lnbjEuemtWUHJvb2ZWID0gemtWUHJvb2Y7XG5cbiAgICAvLyA1QiB3aWxsIHBhc3MuXG4gICAgY29uc3QgW3B1YmxpY1ZBU2hhcmVzXzEsIHB1YmxpY1ZBU2hhcmVzXzJdID0gW3NpZ24xIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzLCBzaWduMiBhcyBQdWJsaWNWQVNoYXJlV2l0aFByb29mc107XG4gICAgY29uc3QgW1VUMSwgVVQyXSA9IFtcbiAgICAgIGVjZHNhLnZlcmlmeVZBU2hhcmVzKHNpZ24xLCBbcHVibGljVkFTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjIsIFtwdWJsaWNWQVNoYXJlc18xXSksXG4gICAgXTtcblxuICAgIC8vIEJ1dCB2ZXJpZmljYXRpb24gYXQgYmVnaW5uaW5nIG9mIDVFIHdpbGwgZmFpbC5cbiAgICBjb25zdCBbcHVibGljVVRTaGFyZXNfMSwgcHVibGljVVRTaGFyZXNfMl0gPSBbVVQxIGFzIFB1YmxpY1VUU2hhcmUsIFVUMiBhcyBQdWJsaWNVVFNoYXJlXTtcbiAgICAoKCkgPT4gZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQxLCBbcHVibGljVVRTaGFyZXNfMl0pKS5zaG91bGQudGhyb3coJ1N1bSBvZiBhbGwgVV9pIGRvZXMgbm90IG1hdGNoIHN1bSBvZiBhbGwgVF9pJyk7XG4gICAgKCgpID0+IGVjZHNhLnZlcmlmeVVUU2hhcmVzKFVUMiwgW3B1YmxpY1VUU2hhcmVzXzFdKSkuc2hvdWxkLnRocm93KCdTdW0gb2YgYWxsIFVfaSBkb2VzIG5vdCBtYXRjaCBzdW0gb2YgYWxsIFRfaScpO1xuICB9KTtcbn0pO1xuIl19
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNkc2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYWNjb3VudC1saWIvbXBjL3Rzcy9lY2RzYS9lY2RzYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0VBQWtEO0FBQ2xELGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsb0RBUTRCO0FBQzVCLG1FQUFrRTtBQU1sRSx5Q0FBOEM7QUFFOUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtJQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLFdBQUssRUFBRSxDQUFDO0lBRTFCLElBQUksWUFBMkIsRUFBRSxZQUEyQixDQUFDO0lBRTdELE1BQU0sQ0FBQyxvQ0FBb0MsRUFBRSxLQUFLO1FBQ2hELE1BQU0sZUFBZSxHQUFHLGVBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFFekUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywyQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywyQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQywyQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEUsTUFBTSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQzFELEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFB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R0FBRyxDQUFDLEdBQW9CLEVBQUUsR0FBb0IsQ0FBQyxDQUFDO1FBQzFGLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDbkgsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztJQUNySCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGFpbGxpZXJCaWdpbnQgZnJvbSAncGFpbGxpZXItYmlnaW50JztcbmltcG9ydCAnc2hvdWxkJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5pbXBvcnQge1xuICBFY2RzYVBhaWxsaWVyUHJvb2YsXG4gIEVjZHNhUmFuZ2VQcm9vZixcbiAgRWNkc2FUeXBlcyxcbiAgRWNkc2Faa1ZQcm9vZixcbiAgSGFzaENvbW1pdG1lbnQsXG4gIGhleFRvQmlnSW50LFxuICBiaWdJbnRUb0J1ZmZlckJFLFxufSBmcm9tICdAYml0Z28vc2RrLWxpYi1tcGMnO1xuaW1wb3J0IHsgRWNkc2EgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYWNjb3VudC1saWIvbXBjL3Rzcyc7XG5pbXBvcnQge1xuICBQdWJsaWNVVFNoYXJlLFxuICBQdWJsaWNWQVNoYXJlV2l0aFByb29mcyxcbiAgU2lnbkNvbWJpbmVSVCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FjY291bnQtbGliL21wYy90c3MvZWNkc2EvdHlwZXMnO1xuaW1wb3J0IHsgcGFpbGxpZXJLZXlQYWlycyB9IGZyb20gJy4vZml4dHVyZXMnO1xuXG5kZXNjcmliZSgnZWNkc2EgdHNzJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBlY2RzYSA9IG5ldyBFY2RzYSgpO1xuXG4gIGxldCBzaWduQ29tYmluZTE6IFNpZ25Db21iaW5lUlQsIHNpZ25Db21iaW5lMjogU2lnbkNvbWJpbmVSVDtcblxuICBiZWZvcmUoJ2dlbmVyYXRlIGtleSBhbmQgc2lnbiBwaGFzZSAxIHRvIDQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgcGFpbGxpZXJLZXlTdHViID0gc2lub24uc3R1YihwYWlsbGllckJpZ2ludCwgJ2dlbmVyYXRlUmFuZG9tS2V5cycpO1xuXG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgwKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzBdKSk7XG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgxKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzFdKSk7XG4gICAgcGFpbGxpZXJLZXlTdHViLm9uQ2FsbCgyKS5yZXR1cm5zKFByb21pc2UucmVzb2x2ZShwYWlsbGllcktleVBhaXJzWzJdKSk7XG5cbiAgICBjb25zdCBba2V5U2hhcmUxLCBrZXlTaGFyZTIsIGtleVNoYXJlM10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBlY2RzYS5rZXlTaGFyZSgxLCAyLCAzKSxcbiAgICAgIGVjZHNhLmtleVNoYXJlKDIsIDIsIDMpLFxuICAgICAgZWNkc2Eua2V5U2hhcmUoMywgMiwgMyksXG4gICAgXSk7XG5cbiAgICBjb25zdCBba2V5Q29tYmluZWQxLCBrZXlDb21iaW5lZDIsIGtleUNvbWJpbmVkM10gPSBbXG4gICAgICBlY2RzYS5rZXlDb21iaW5lKGtleVNoYXJlMS5wU2hhcmUsIFtrZXlTaGFyZTIublNoYXJlc1sxXSwga2V5U2hhcmUzLm5TaGFyZXNbMV1dKSxcbiAgICAgIGVjZHNhLmtleUNvbWJpbmUoa2V5U2hhcmUyLnBTaGFyZSwgW2tleVNoYXJlMS5uU2hhcmVzWzJdLCBrZXlTaGFyZTMublNoYXJlc1syXV0pLFxuICAgICAgZWNkc2Eua2V5Q29tYmluZShrZXlTaGFyZTMucFNoYXJlLCBba2V5U2hhcmUxLm5TaGFyZXNbM10sIGtleVNoYXJlMi5uU2hhcmVzWzNdXSksXG4gICAgXTtcblxuICAgIGtleUNvbWJpbmVkMS54U2hhcmUueS5zaG91bGQuZXF1YWwoa2V5Q29tYmluZWQyLnhTaGFyZS55KTtcbiAgICBrZXlDb21iaW5lZDEueFNoYXJlLnkuc2hvdWxkLmVxdWFsKGtleUNvbWJpbmVkMy54U2hhcmUueSk7XG5cbiAgICAvLyBDb2xsZWN0IGFsbCBWU1MgZnJvbSBuU2hhcmVzIGFuZCB2ZXJpZnkgU2Nobm9yciBwcm9vZnMgYWdhaW5zdCBYX2kuXG4gICAgLy8gTm90ZSB0aGF0IHRoaXMgaXMgc29tZXRoaW5nIFdQIG5lZWRzIHRvIGRvIGFmdGVyIGtleUNvbWJpbmUva2V5RGVyaXZlLlxuICAgIGNvbnN0IFkgPSBoZXhUb0JpZ0ludChrZXlDb21iaW5lZDEueFNoYXJlLnkpO1xuXG4gICAgY29uc3QgVlNTcyA9IFtcbiAgICAgIFtoZXhUb0JpZ0ludChrZXlTaGFyZTEublNoYXJlc1syXS52ISldLFxuICAgICAgW2hleFRvQmlnSW50KGtleVNoYXJlMi5uU2hhcmVzWzNdLnYhKV0sXG4gICAgICBbaGV4VG9CaWdJbnQoa2V5U2hhcmUzLm5TaGFyZXNbMV0udiEpXSxcbiAgICBdO1xuXG4gICAgZWNkc2EudmVyaWZ5U2Nobm9yclByb29mWChZLCBWU1NzLCAxLCBrZXlDb21iaW5lZDEueFNoYXJlLnNjaG5vcnJQcm9vZlgpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgZWNkc2EudmVyaWZ5U2Nobm9yclByb29mWChZLCBWU1NzLCAyLCBrZXlDb21iaW5lZDIueFNoYXJlLnNjaG5vcnJQcm9vZlgpLnNob3VsZC5iZS50cnVlKCk7XG4gICAgZWNkc2EudmVyaWZ5U2Nobm9yclByb29mWChZLCBWU1NzLCAzLCBrZXlDb21iaW5lZDMueFNoYXJlLnNjaG5vcnJQcm9vZlgpLnNob3VsZC5iZS50cnVlKCk7XG5cbiAgICAvLyBWZXJpZnkgU2Nobm9yciBwcm9vZnMgYWdhaW5zdCBYX2kgZm9yIGtleURlcml2ZSBhbmQgc3Vic2VxdWVudCBrZXlDb21iaW5lLlxuICAgIGNvbnN0IHBhdGggPSAnbS8wLzEvMic7XG4gICAgY29uc3Qga2V5RGVyaXZlMSA9IGVjZHNhLmtleURlcml2ZShrZXlTaGFyZTEucFNoYXJlLCBba2V5U2hhcmUyLm5TaGFyZXNbMV0sIGtleVNoYXJlMy5uU2hhcmVzWzFdXSwgcGF0aCk7XG5cbiAgICAvLyBOb3RlIHRoZSBWU1NzIHVzZWQgaGVyZSBhcmUgZGlmZmVyZW50IGZyb20gdGhlIG9uZXMgdXNlZCBhYm92ZS5cbiAgICBjb25zdCBkZXJpdmVkWSA9IGhleFRvQmlnSW50KGtleURlcml2ZTEueFNoYXJlLnkpO1xuICAgIGNvbnN0IGRlcml2ZWRWU1NzID0gW1xuICAgICAgW2hleFRvQmlnSW50KGtleURlcml2ZTEublNoYXJlc1syXS52ISldLFxuICAgICAgW2hleFRvQmlnSW50KGtleVNoYXJlMi5uU2hhcmVzWzNdLnYhKV0sXG4gICAgICBbaGV4VG9CaWdJbnQoa2V5U2hhcmUzLm5TaGFyZXNbMV0udiEpXSxcbiAgICBdO1xuICAgIGVjZHNhLnZlcmlmeVNjaG5vcnJQcm9vZlgoZGVyaXZlZFksIGRlcml2ZWRWU1NzLCAxLCBrZXlEZXJpdmUxLnhTaGFyZS5zY2hub3JyUHJvb2ZYKS5zaG91bGQuYmUudHJ1ZSgpO1xuXG4gICAgY29uc3Qga2V5Q29tYmluZWQyRnJvbUtleURlcml2ZTEgPSBlY2RzYS5rZXlDb21iaW5lKGtleVNoYXJlMi5wU2hhcmUsIFtcbiAgICAgIGtleURlcml2ZTEublNoYXJlc1syXSxcbiAgICAgIGtleVNoYXJlMy5uU2hhcmVzWzJdLFxuICAgIF0pO1xuICAgIGVjZHNhXG4gICAgICAudmVyaWZ5U2Nobm9yclByb29mWChkZXJpdmVkWSwgZGVyaXZlZFZTU3MsIDIsIGtleUNvbWJpbmVkMkZyb21LZXlEZXJpdmUxLnhTaGFyZS5zY2hub3JyUHJvb2ZYKVxuICAgICAgLnNob3VsZC5iZS50cnVlKCk7XG5cbiAgICBjb25zdCBbbnRpbGRlMSwgbnRpbGRlMl0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBFY2RzYVJhbmdlUHJvb2YuZ2VuZXJhdGVOdGlsZGUoNTEyKSxcbiAgICAgIEVjZHNhUmFuZ2VQcm9vZi5nZW5lcmF0ZU50aWxkZSg1MTIpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgW3NlcmlhbGl6ZU50aWxkZTEsIHNlcmlhbGl6ZU50aWxkZTJdID0gW1xuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKG50aWxkZTEpLFxuICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVOdGlsZGVXaXRoUHJvb2ZzKG50aWxkZTIpLFxuICAgIF07XG5cbiAgICBjb25zdCBbaW5kZXgxLCBpbmRleDJdID0gW2tleUNvbWJpbmVkMS54U2hhcmUuaSwga2V5Q29tYmluZWQyLnhTaGFyZS5pXTtcblxuICAgIGNvbnN0IFtwYWlsbGllck4xdG8yLCBwYWlsbGllck4ydG8xXSA9IFtrZXlDb21iaW5lZDEueVNoYXJlc1tpbmRleDJdLm4sIGtleUNvbWJpbmVkMi55U2hhcmVzW2luZGV4MV0ubl07XG5cbiAgICBjb25zdCBbcGFpbGxpZXJDaGFsbGVuZ2VyMXRvMiwgcGFpbGxpZXJDaGFsbGVuZ2VyMnRvMV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBFY2RzYVBhaWxsaWVyUHJvb2YuZ2VuZXJhdGVQKGhleFRvQmlnSW50KHBhaWxsaWVyTjF0bzIpKSxcbiAgICAgIEVjZHNhUGFpbGxpZXJQcm9vZi5nZW5lcmF0ZVAoaGV4VG9CaWdJbnQocGFpbGxpZXJOMnRvMSkpLFxuICAgIF0pO1xuXG4gICAgY29uc3QgW3hTaGFyZTEsIHhTaGFyZTJdID0gW1xuICAgICAgZWNkc2EuYXBwZW5kQ2hhbGxlbmdlKFxuICAgICAgICBrZXlDb21iaW5lZDEueFNoYXJlLFxuICAgICAgICBzZXJpYWxpemVOdGlsZGUxLFxuICAgICAgICBFY2RzYVR5cGVzLnNlcmlhbGl6ZVBhaWxsaWVyQ2hhbGxlbmdlKHsgcDogcGFpbGxpZXJDaGFsbGVuZ2VyMXRvMiB9KVxuICAgICAgKSxcbiAgICAgIGVjZHNhLmFwcGVuZENoYWxsZW5nZShcbiAgICAgICAga2V5Q29tYmluZWQyLnhTaGFyZSxcbiAgICAgICAgc2VyaWFsaXplTnRpbGRlMixcbiAgICAgICAgRWNkc2FUeXBlcy5zZXJpYWxpemVQYWlsbGllckNoYWxsZW5nZSh7IHA6IHBhaWxsaWVyQ2hhbGxlbmdlcjJ0bzEgfSlcbiAgICAgICksXG4gICAgXTtcblxuICAgIGNvbnN0IHlTaGFyZTIgPSBlY2RzYS5hcHBlbmRDaGFsbGVuZ2UoXG4gICAgICBrZXlDb21iaW5lZDEueVNoYXJlc1tpbmRleDJdLFxuICAgICAgc2VyaWFsaXplTnRpbGRlMixcbiAgICAgIEVjZHNhVHlwZXMuc2VyaWFsaXplUGFpbGxpZXJDaGFsbGVuZ2UoeyBwOiBwYWlsbGllckNoYWxsZW5nZXIydG8xIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHNpZ25TaGFyZXMgPSBhd2FpdCBlY2RzYS5zaWduU2hhcmUoeFNoYXJlMSwgeVNoYXJlMik7XG5cbiAgICBjb25zdCBzaWduQ29udmVydFMyMSA9IGF3YWl0IGVjZHNhLnNpZ25Db252ZXJ0U3RlcDEoe1xuICAgICAgeFNoYXJlOiB4U2hhcmUyLFxuICAgICAgeVNoYXJlOiBrZXlDb21iaW5lZDIueVNoYXJlc1tpbmRleDFdLFxuICAgICAga1NoYXJlOiBzaWduU2hhcmVzLmtTaGFyZSxcbiAgICB9KTtcbiAgICBjb25zdCBzaWduQ29udmVydFMxMiA9IGF3YWl0IGVjZHNhLnNpZ25Db252ZXJ0U3RlcDIoe1xuICAgICAgYVNoYXJlOiBzaWduQ29udmVydFMyMS5hU2hhcmUsXG4gICAgICB3U2hhcmU6IHNpZ25TaGFyZXMud1NoYXJlLFxuICAgIH0pO1xuICAgIGNvbnN0IHNpZ25Db252ZXJ0UzIxXzIgPSBhd2FpdCBlY2RzYS5zaWduQ29udmVydFN0ZXAzKHtcbiAgICAgIG11U2hhcmU6IHNpZ25Db252ZXJ0UzEyLm11U2hhcmUsXG4gICAgICBiU2hhcmU6IHNpZ25Db252ZXJ0UzIxLmJTaGFyZSxcbiAgICB9KTtcblxuICAgIFtzaWduQ29tYmluZTEsIHNpZ25Db21iaW5lMl0gPSBbXG4gICAgICBlY2RzYS5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMTIuZ1NoYXJlLFxuICAgICAgICBzaWduSW5kZXg6IHtcbiAgICAgICAgICBpOiBzaWduQ29udmVydFMxMi5tdVNoYXJlLmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMTIubXVTaGFyZS5qLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgICBlY2RzYS5zaWduQ29tYmluZSh7XG4gICAgICAgIGdTaGFyZTogc2lnbkNvbnZlcnRTMjFfMi5nU2hhcmUsXG4gICAgICAgIHNpZ25JbmRleDoge1xuICAgICAgICAgIGk6IHNpZ25Db252ZXJ0UzIxXzIuc2lnbkluZGV4LmksXG4gICAgICAgICAgajogc2lnbkNvbnZlcnRTMjFfMi5zaWduSW5kZXguaixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIF07XG4gIH0pO1xuXG4gIGl0KCdzaWduIHBoYXNlIDUgc2hvdWxkIHN1Y2NlZWQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVE9ETyhIU00tMTI5KTogVGhlcmUgaXMgYSBidWcgc2lnbmluZyB1bmhhc2hlZCBtZXNzYWdlIChhbHRob3VnaCB0aGlzIGRldmlhdGVzIGZyb20gRFNBIHNwZWMpIGlmIHRoZSBtZXNzYWdlIGlzIGEgbGl0dGxlIGxvbmcuXG4gICAgLy8gICAgICAgU29tZSBkaXNjcmVwYW5jeSBiZXR3ZWVuIEVjZHNhLnNpZ24gYW5kIHNlY3AyNTZrMS5yZWNvdmVyUHVibGljS2V5IG9uIGhhbmRsaW5nIHRoZSBtZXNzYWdlIGlucHV0LlxuICAgIGNvbnN0IG1lc3NhZ2UgPSBCdWZmZXIuZnJvbSgnR0cxOCBQSEFTRSA1Jyk7XG5cbiAgICAvLyBTdGFydGluZyBwaGFzZSA1XG4gICAgLy8gSW4gYWRkaXRpb24gdG8gcmV0dXJuaW5nIHNfaSwgRWNkc2Euc2lnbigpIG5vdyBhbHNvIGNhbGN1bGF0ZXMgZGF0YSBuZWVkZWQgZm9yIHN0ZXBzIDVBIGFuZCA1QjpcbiAgICAvLyAgIC0gc2FtcGxlIHJhbmRvbSBsX2kgYW5kIHJob19pICg1QSlcbiAgICAvLyAgIC0gY29tcHV0ZXMgVl9pIGFuZCBBX2kgKDVCKV1cbiAgICAvLyAgIC0gY29tcHV0ZXMgY29tbWl0bWVudCBhbmQgZGVjb21taXRtZW50IG9mIChWX2ksIEFfaSkgKDVBLCA1QilcbiAgICAvLyAgIC0gZ2VuZXJhdGVzIHByb29mcyBvZiBrbm93bGVkZ2Ugb2Ygc19pLCBsX2ksIHJob19pIHcuci50LiBWX2ksIEFfaSAoNUIpXG4gICAgY29uc3QgW3NpZ24xLCBzaWduMl0gPSBbXG4gICAgICBlY2RzYS5nZW5lcmF0ZVZBUHJvb2ZzKG1lc3NhZ2UsIGVjZHNhLnNpZ24obWVzc2FnZSwgc2lnbkNvbWJpbmUxLm9TaGFyZSwgc2lnbkNvbWJpbmUyLmRTaGFyZSkpLFxuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMi5vU2hhcmUsIHNpZ25Db21iaW5lMS5kU2hhcmUpKSxcbiAgICBdO1xuXG4gICAgc2lnbjEuUi5zaG91bGQuZXF1YWwoc2lnbjIuUik7XG4gICAgc2lnbjEueS5zaG91bGQuZXF1YWwoc2lnbjIueSk7XG4gICAgc2lnbjEubS50b1N0cmluZygnaGV4Jykuc2hvdWxkLmVxdWFsKHNpZ24yLm0udG9TdHJpbmcoJ2hleCcpKTtcblxuICAgIC8vIFN0ZXAgNUE6IENhbGN1bGF0aW9ucyBkb25lIGJ5IEVjZHNhLnNpZ24oKSBhYm92ZSwgYW5kIGJyb2FkY2FzdCBjb21taXRtZW50IG9mIChWX2ksIEFfaSkgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGJlIHNlbnQgdmlhIGNvbW11bmljYXRpb24gY2hhbm5lbCBhdCB0aGUgZW5kIG9mIDVBLlxuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRWQTEgPSBzaWduMS5jb21EZWNvbVZBLmNvbW1pdG1lbnQ7XG4gICAgLy8gY29uc3QgY29tbWl0bWVudFZBMiA9IHNpZ24yLmNvbURlY29tVkEuY29tbWl0bWVudDtcblxuICAgIC8vIFN0ZXAgNUI6IEFmdGVyIGhhdmluZyByZWNlaXZlZCBhbGwgY29tbWl0bWVudHMgb2YgKFZfaSwgQV9pKSBmcm9tIG90aGVyIHBhcnRpZXMsXG4gICAgLy8gICAgICAgICAgZWFjaCBwYXJ0eSB3aWxsIGJyb2FkY2FzdCBkZWNvbW1pdG1lbnQgb2YgKFZfaSwgQV9pKSBhbmQgWksgcHJvb2ZzIHJldHVybmVkIGJ5IEVjZHNhLnNpZ24oKSBhYm92ZVxuICAgIC8vICAgICAgICAgIHRvIG90aGVyIHBhcnRpZXMuICBUaGVuIEVjZHNhLnZlcmlmeVZBU2hhcmVzKCkgYmVsb3cgd2lsbDpcbiAgICAvLyAgIC0gdmVyaWZ5IGNvbW1pdG1lbnRzIG9mIChWX2ksIEFfaSkgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0aWVzICg1QilcbiAgICAvLyAgIC0gdmVyaWZ5IFpLIHByb29mcyBvZiAoVl9pLCBBX2kpIHJlY2VpdmVkIGZyb20gb3RoZXIgcGFydGllcyAoNUIpXG4gICAgLy8gICAtIGNhbGN1bGF0ZSBWIG91dCBvZiBHLCB5LCByLCBtLCBhbmQgYWxsIFZfaSwgY2FsY3VsYXRlIEEgYXMgc3VtIG9mIGFsbCBBX2kgKDVCKVxuICAgIC8vICAgLSBjYWxjdWxhdGUgVV9pIGFuZCBUX2kgYW5kIGNvbW1pdG1lbnQgYW5kIGRlY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpICg1QylcbiAgICBjb25zdCBbcHVibGljVkFTaGFyZXNfMSwgcHVibGljVkFTaGFyZXNfMl0gPSBbc2lnbjEgYXMgUHVibGljVkFTaGFyZVdpdGhQcm9vZnMsIHNpZ24yIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzXTtcbiAgICBjb25zdCBbVVQxLCBVVDJdID0gW1xuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjEsIFtwdWJsaWNWQVNoYXJlc18yXSksXG4gICAgICBlY2RzYS52ZXJpZnlWQVNoYXJlcyhzaWduMiwgW3B1YmxpY1ZBU2hhcmVzXzFdKSxcbiAgICBdO1xuXG4gICAgLy8gU3RlcCA1QzogQ2FsY3VsYXRpb25zIG9mIFVfaSwgVF9pIGRvbmUgYnkgRWNkc2EudmVyaWZ5VkFTaGFyZXMgYWJvdmUsXG4gICAgLy8gICAgICAgICAgYW5kIGJyb2FkY2FzdCBjb21taXRtZW50IG9mIChVX2ksIFRfaSkgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBUaGUgZm9sbG93aW5nIHZhbHVlcyB3aWxsIGJlIHNlbnQgdmlhIGNvbW11bmljYXRpb24gY2hhbm5lbCBhdCB0aGUgZW5kIG9mIDVDLlxuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRVVDEgPSBVVDEuY29tRGVjb21VVC5jb21taXRtZW50O1xuICAgIC8vIGNvbnN0IGNvbW1pdG1lbnRVVDIgPSBVVDIuY29tRGVjb21VVC5jb21taXRtZW50O1xuXG4gICAgLy8gU3RlcCA1RDogQWZ0ZXIgaGF2aW5nIHJlY2VpdmVkIGFsbCBjb21taXRtZW50cyBvZiAoVV9pLCBUX2kpIGZyb20gb3RoZXIgcGFydGllcyxcbiAgICAvLyAgICAgICAgICBlYWNoIHBhcnR5IHdpbGwgYnJvYWRjYXN0IGRlY29tbWl0bWVudCBvZiAoVV9pLCBUX2kpIHJldHVybmVkIGJ5IEVjZHNhLnZlcmlmeVZBU2hhcmVzKCkgYWJvdmVcbiAgICAvLyAgICAgICAgICB0byBvdGhlciBwYXJ0aWVzLiAgVGhlbiBFY2RzYS52ZXJpZnlVVFNoYXJlcygpIGJlbG93IHdpbGw6XG4gICAgLy8gIC0gdmVyaWZ5IGNvbW1pdG1lbnRzIG9mIChVX2ksIFRfaSkgcmVjZWl2ZWQgZnJvbSBvdGhlciBwYXJ0aWVzICg1RClcbiAgICAvLyAgLSBjYWxjdWxhdGUgVSBhcyBzdW0gb2YgYWxsIFVfaSwgY2FsY3VsYXRlIFQgYXMgc3VtIG9mIGFsbCBUX2kgKDVEKVxuICAgIC8vICAtIGlmIFUgZXF1YWxzIFQsIHRoZW4gcmV0dXJuIG93biBTU2hhcmUgd2hpY2ggaXMgYmVpbmcgcmV0dXJuZWQgYnkgRWNkc2Euc2lnbigpIHJpZ2h0IG5vdyAoNUUpXG4gICAgY29uc3QgW3B1YmxpY1VUU2hhcmVzXzEsIHB1YmxpY1VUU2hhcmVzXzJdID0gW1VUMSBhcyBQdWJsaWNVVFNoYXJlLCBVVDIgYXMgUHVibGljVVRTaGFyZV07XG4gICAgY29uc3QgW3NpZ25hdHVyZTEsIHNpZ25hdHVyZTJdID0gW1xuICAgICAgZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQxLCBbcHVibGljVVRTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQyLCBbcHVibGljVVRTaGFyZXNfMV0pLFxuICAgIF07XG5cbiAgICAvLyBTdGVwIDVFOiBCcm9hZGNhc3Qgc19pIHJldHVybmVkIGJ5IEVjZHNhLnZlcmlmeVVUU2hhcmVzKCkgYWJvdmUgdG8gb3RoZXIgcGFydGllcy5cbiAgICAvLyAgICAgICAgICBWZXJpZnkgdGhlIHN1bSBvZiBzX2kgc2hvdWxkIGJlIGEgdmFsaWQgc2lnbmF0dXJlLlxuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGVjZHNhLmNvbnN0cnVjdFNpZ25hdHVyZShbc2lnbmF0dXJlMSwgc2lnbmF0dXJlMl0pO1xuICAgIGVjZHNhLnZlcmlmeShtZXNzYWdlLCBzaWduYXR1cmUpLnNob3VsZC5iZS50cnVlKCk7XG4gIH0pO1xuXG4gIGl0KCdzaWduIHBoYXNlIDUgZmFpbCAtIG1hbGljaW91cyBwbGF5ZXIgY2hlYXRzIHdpdGggYmFkIHMgc2hhcmUnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IEJ1ZmZlci5mcm9tKCdHRzE4IFBIQVNFIDUnKTtcblxuICAgIGNvbnN0IFtzaWduMSwgc2lnbjJdID0gW1xuICAgICAgZWNkc2EuZ2VuZXJhdGVWQVByb29mcyhtZXNzYWdlLCBlY2RzYS5zaWduKG1lc3NhZ2UsIHNpZ25Db21iaW5lMS5vU2hhcmUsIHNpZ25Db21iaW5lMi5kU2hhcmUpKSxcbiAgICAgIGVjZHNhLmdlbmVyYXRlVkFQcm9vZnMobWVzc2FnZSwgZWNkc2Euc2lnbihtZXNzYWdlLCBzaWduQ29tYmluZTIub1NoYXJlLCBzaWduQ29tYmluZTEuZFNoYXJlKSksXG4gICAgXTtcblxuICAgIHNpZ24xLlIuc2hvdWxkLmVxdWFsKHNpZ24yLlIpO1xuICAgIHNpZ24xLnkuc2hvdWxkLmVxdWFsKHNpZ24yLnkpO1xuICAgIHNpZ24xLm0udG9TdHJpbmcoJ2hleCcpLnNob3VsZC5lcXVhbChzaWduMi5tLnRvU3RyaW5nKCdoZXgnKSk7XG5cbiAgICAvLyBDaGFuZ2UgdGhlIHMgc2hhcmUgb2Ygc2lnbjEsIGFuZCByZWNhbGN1YWx0ZSBpdHMgViBhbG9uZyB3aXRoIHRoZSBjb21taXRtZW50L3Byb29mIGJ5IGZvbGxvd2luZyBwcm90b2NvbC5cbiAgICBjb25zdCBiYWRfcyA9IGhleFRvQmlnSW50KHNpZ24xLnMpICsgQmlnSW50KDEpO1xuXG4gICAgY29uc3QgYmFkX1YgPSBFY2RzYS5jdXJ2ZS5wb2ludEFkZChcbiAgICAgIEVjZHNhLmN1cnZlLnBvaW50TXVsdGlwbHkoaGV4VG9CaWdJbnQoc2lnbjEuUiksIGJhZF9zKSxcbiAgICAgIEVjZHNhLmN1cnZlLmJhc2VQb2ludE11bHQoc2lnbjEubClcbiAgICApO1xuXG4gICAgY29uc3QgY29tRGVjb21fVl9BID0gSGFzaENvbW1pdG1lbnQuY3JlYXRlQ29tbWl0bWVudChcbiAgICAgIEJ1ZmZlci5jb25jYXQoW1xuICAgICAgICBiaWdJbnRUb0J1ZmZlckJFKGJhZF9WLCBFY2RzYS5jdXJ2ZS5wb2ludEJ5dGVzKSxcbiAgICAgICAgYmlnSW50VG9CdWZmZXJCRShzaWduMS5BLCBFY2RzYS5jdXJ2ZS5wb2ludEJ5dGVzKSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICBjb25zdCB6a1ZQcm9vZiA9IEVjZHNhWmtWUHJvb2YuY3JlYXRlWmtWUHJvb2YoXG4gICAgICBiYWRfVixcbiAgICAgIGJhZF9zLFxuICAgICAgc2lnbjEubCxcbiAgICAgIGhleFRvQmlnSW50KHNpZ24xLlIpLFxuICAgICAgRWNkc2EuY3VydmUsXG4gICAgICBzaWduMS5wcm9vZkNvbnRleHRcbiAgICApO1xuXG4gICAgc2lnbjEucyA9IGJpZ0ludFRvQnVmZmVyQkUoYmFkX3MsIDMyKS50b1N0cmluZygnaGV4Jyk7XG4gICAgc2lnbjEuViA9IGJhZF9WO1xuICAgIHNpZ24xLmNvbURlY29tVkEgPSBjb21EZWNvbV9WX0E7XG4gICAgc2lnbjEuemtWUHJvb2ZWID0gemtWUHJvb2Y7XG5cbiAgICAvLyA1QiB3aWxsIHBhc3MuXG4gICAgY29uc3QgW3B1YmxpY1ZBU2hhcmVzXzEsIHB1YmxpY1ZBU2hhcmVzXzJdID0gW3NpZ24xIGFzIFB1YmxpY1ZBU2hhcmVXaXRoUHJvb2ZzLCBzaWduMiBhcyBQdWJsaWNWQVNoYXJlV2l0aFByb29mc107XG4gICAgY29uc3QgW1VUMSwgVVQyXSA9IFtcbiAgICAgIGVjZHNhLnZlcmlmeVZBU2hhcmVzKHNpZ24xLCBbcHVibGljVkFTaGFyZXNfMl0pLFxuICAgICAgZWNkc2EudmVyaWZ5VkFTaGFyZXMoc2lnbjIsIFtwdWJsaWNWQVNoYXJlc18xXSksXG4gICAgXTtcblxuICAgIC8vIEJ1dCB2ZXJpZmljYXRpb24gYXQgYmVnaW5uaW5nIG9mIDVFIHdpbGwgZmFpbC5cbiAgICBjb25zdCBbcHVibGljVVRTaGFyZXNfMSwgcHVibGljVVRTaGFyZXNfMl0gPSBbVVQxIGFzIFB1YmxpY1VUU2hhcmUsIFVUMiBhcyBQdWJsaWNVVFNoYXJlXTtcbiAgICAoKCkgPT4gZWNkc2EudmVyaWZ5VVRTaGFyZXMoVVQxLCBbcHVibGljVVRTaGFyZXNfMl0pKS5zaG91bGQudGhyb3coJ1N1bSBvZiBhbGwgVV9pIGRvZXMgbm90IG1hdGNoIHN1bSBvZiBhbGwgVF9pJyk7XG4gICAgKCgpID0+IGVjZHNhLnZlcmlmeVVUU2hhcmVzKFVUMiwgW3B1YmxpY1VUU2hhcmVzXzFdKSkuc2hvdWxkLnRocm93KCdTdW0gb2YgYWxsIFVfaSBkb2VzIG5vdCBtYXRjaCBzdW0gb2YgYWxsIFRfaScpO1xuICB9KTtcbn0pO1xuIl19
@@ -8,7 +8,7 @@ const src_1 = require("../../../../src");
8
8
  describe('getUtxoCoinScriptTypes', function () {
9
9
  it('success', function () {
10
10
  const fn = (coin, arr) => {
11
- const scriptTypes = src_1.getUtxoCoinScriptTypes2Of3(coin);
11
+ const scriptTypes = (0, src_1.getUtxoCoinScriptTypes2Of3)(coin);
12
12
  return arr.find((v) => scriptTypes.includes(v));
13
13
  };
14
14
  assert_1.default.ok(fn('btc', ['p2sh', 'p2shP2wsh', 'p2wsh', 'p2tr', 'p2trMusig2']));
@@ -16,16 +16,16 @@ describe('getUtxoCoinScriptTypes', function () {
16
16
  assert_1.default.ok(fn('doge', ['p2sh']));
17
17
  });
18
18
  it('fail for invalid coin name', function () {
19
- assert_1.default.throws(() => src_1.getUtxoCoinScriptTypes2Of3('dummy'), (e) => e.message === `coin 'dummy' is not defined`);
19
+ assert_1.default.throws(() => (0, src_1.getUtxoCoinScriptTypes2Of3)('dummy'), (e) => e.message === `coin 'dummy' is not defined`);
20
20
  });
21
21
  it('fail for non-utxo coin name', function () {
22
- assert_1.default.throws(() => src_1.getUtxoCoinScriptTypes2Of3('eth'), (e) => e.message === 'coin eth is not a utxo coin');
22
+ assert_1.default.throws(() => (0, src_1.getUtxoCoinScriptTypes2Of3)('eth'), (e) => e.message === 'coin eth is not a utxo coin');
23
23
  });
24
24
  });
25
25
  describe('getUtxoCoinScriptTypesForWalletType', function () {
26
26
  it('success', function () {
27
27
  const fn = (coin, walletType, arr) => {
28
- const scriptTypes = src_1.getUtxoCoinScriptTypes2Of3(coin);
28
+ const scriptTypes = (0, src_1.getUtxoCoinScriptTypes2Of3)(coin);
29
29
  return arr.find((v) => scriptTypes.includes(v));
30
30
  };
31
31
  assert_1.default.ok(fn('btc', 'hot', ['p2sh', 'p2shP2wsh', 'p2wsh', 'p2tr', 'p2trMusig2']));
@@ -36,10 +36,10 @@ describe('getUtxoCoinScriptTypesForWalletType', function () {
36
36
  assert_1.default.ok(fn('doge', 'cold', ['p2sh']));
37
37
  });
38
38
  it('fail for invalid coin name', function () {
39
- assert_1.default.throws(() => src_1.getUtxoCoinScriptTypes2Of3('dummy'), (e) => e.message === `coin 'dummy' is not defined`);
39
+ assert_1.default.throws(() => (0, src_1.getUtxoCoinScriptTypes2Of3)('dummy'), (e) => e.message === `coin 'dummy' is not defined`);
40
40
  });
41
41
  it('fail for non-utxo coin name', function () {
42
- assert_1.default.throws(() => src_1.getUtxoCoinScriptTypes2Of3('eth'), (e) => e.message === 'coin eth is not a utxo coin');
42
+ assert_1.default.throws(() => (0, src_1.getUtxoCoinScriptTypes2Of3)('eth'), (e) => e.message === 'coin eth is not a utxo coin');
43
43
  });
44
44
  });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RVdHhvQ29pblV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vdXRpbHMvYWJzdHJhY3RVdHhvQ29pblV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIseUNBQTZEO0FBRzdELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxFQUFFLENBQUMsU0FBUyxFQUFFO1FBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBaUQsRUFBRSxFQUFFO1lBQzdFLE1BQU0sV0FBVyxHQUFHLGdDQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQztRQUNGLGdCQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLGdCQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRCxnQkFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDRCQUE0QixFQUFFO1FBQy9CLGdCQUFNLENBQUMsTUFBTSxDQUNYLEdBQUcsRUFBRSxDQUFDLGdDQUEwQixDQUFDLE9BQU8sQ0FBQyxFQUN6QyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyw2QkFBNkIsQ0FDeEQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFO1FBQ2hDLGdCQUFNLENBQUMsTUFBTSxDQUNYLEdBQUcsRUFBRSxDQUFDLGdDQUEwQixDQUFDLEtBQUssQ0FBQyxFQUN2QyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyw2QkFBNkIsQ0FDeEQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMscUNBQXFDLEVBQUU7SUFDOUMsRUFBRSxDQUFDLFNBQVMsRUFBRTtRQUNaLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBWSxFQUFFLFVBQTBCLEVBQUUsR0FBaUQsRUFBRSxFQUFFO1lBQ3pHLE1BQU0sV0FBVyxHQUFHLGdDQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQztRQUNGLGdCQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRixnQkFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxnQkFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELGdCQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNEJBQTRCLEVBQUU7UUFDL0IsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFLENBQUMsZ0NBQTBCLENBQUMsT0FBTyxDQUFDLEVBQ3pDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLDZCQUE2QixDQUN4RCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNkJBQTZCLEVBQUU7UUFDaEMsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFLENBQUMsZ0NBQTBCLENBQUMsS0FBSyxDQUFDLEVBQ3ZDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLDZCQUE2QixDQUN4RCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5kZXNjcmliZSgnZ2V0VXR4b0NvaW5TY3JpcHRUeXBlcycsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZm4gPSAoY29pbjogc3RyaW5nLCBhcnI6IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mM1tdKSA9PiB7XG4gICAgICBjb25zdCBzY3JpcHRUeXBlcyA9IGdldFV0eG9Db2luU2NyaXB0VHlwZXMyT2YzKGNvaW4pO1xuICAgICAgcmV0dXJuIGFyci5maW5kKCh2KSA9PiBzY3JpcHRUeXBlcy5pbmNsdWRlcyh2KSk7XG4gICAgfTtcbiAgICBhc3NlcnQub2soZm4oJ2J0YycsIFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJ3c2gnLCAncDJ0cicsICdwMnRyTXVzaWcyJ10pKTtcbiAgICBhc3NlcnQub2soZm4oJ2x0YycsIFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJ3c2gnXSkpO1xuICAgIGFzc2VydC5vayhmbignZG9nZScsIFsncDJzaCddKSk7XG4gIH0pO1xuXG4gIGl0KCdmYWlsIGZvciBpbnZhbGlkIGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgKCkgPT4gZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMoJ2R1bW15JyksXG4gICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09IGBjb2luICdkdW1teScgaXMgbm90IGRlZmluZWRgXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2ZhaWwgZm9yIG5vbi11dHhvIGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgKCkgPT4gZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMoJ2V0aCcpLFxuICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnY29pbiBldGggaXMgbm90IGEgdXR4byBjb2luJ1xuICAgICk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdnZXRVdHhvQ29pblNjcmlwdFR5cGVzRm9yV2FsbGV0VHlwZScsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZm4gPSAoY29pbjogc3RyaW5nLCB3YWxsZXRUeXBlOiAnaG90JyB8ICdjb2xkJywgYXJyOiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuU2NyaXB0VHlwZTJPZjNbXSkgPT4ge1xuICAgICAgY29uc3Qgc2NyaXB0VHlwZXMgPSBnZXRVdHhvQ29pblNjcmlwdFR5cGVzMk9mMyhjb2luKTtcbiAgICAgIHJldHVybiBhcnIuZmluZCgodikgPT4gc2NyaXB0VHlwZXMuaW5jbHVkZXModikpO1xuICAgIH07XG4gICAgYXNzZXJ0Lm9rKGZuKCdidGMnLCAnaG90JywgWydwMnNoJywgJ3Ayc2hQMndzaCcsICdwMndzaCcsICdwMnRyJywgJ3AydHJNdXNpZzInXSkpO1xuICAgIGFzc2VydC5vayhmbignYnRjJywgJ2NvbGQnLCBbJ3Ayc2gnLCAncDJzaFAyd3NoJywgJ3Ayd3NoJywgJ3AydHInXSkpO1xuICAgIGFzc2VydC5vayhmbignbHRjJywgJ2hvdCcsIFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJ3c2gnXSkpO1xuICAgIGFzc2VydC5vayhmbignbHRjJywgJ2NvbGQnLCBbJ3Ayc2gnLCAncDJzaFAyd3NoJywgJ3Ayd3NoJ10pKTtcbiAgICBhc3NlcnQub2soZm4oJ2RvZ2UnLCAnaG90JywgWydwMnNoJ10pKTtcbiAgICBhc3NlcnQub2soZm4oJ2RvZ2UnLCAnY29sZCcsIFsncDJzaCddKSk7XG4gIH0pO1xuXG4gIGl0KCdmYWlsIGZvciBpbnZhbGlkIGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgKCkgPT4gZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMoJ2R1bW15JyksXG4gICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09IGBjb2luICdkdW1teScgaXMgbm90IGRlZmluZWRgXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2ZhaWwgZm9yIG5vbi11dHhvIGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgKCkgPT4gZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMoJ2V0aCcpLFxuICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnY29pbiBldGggaXMgbm90IGEgdXR4byBjb2luJ1xuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3RVdHhvQ29pblV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vdXRpbHMvYWJzdHJhY3RVdHhvQ29pblV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvREFBNEI7QUFFNUIseUNBQTZEO0FBRzdELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxFQUFFLENBQUMsU0FBUyxFQUFFO1FBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxJQUFZLEVBQUUsR0FBaUQsRUFBRSxFQUFFO1lBQzdFLE1BQU0sV0FBVyxHQUFHLElBQUEsZ0NBQTBCLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDckQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDO1FBQ0YsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELGdCQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsNEJBQTRCLEVBQUU7UUFDL0IsZ0JBQU0sQ0FBQyxNQUFNLENBQ1gsR0FBRyxFQUFFLENBQUMsSUFBQSxnQ0FBMEIsRUFBQyxPQUFPLENBQUMsRUFDekMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssNkJBQTZCLENBQ3hELENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw2QkFBNkIsRUFBRTtRQUNoQyxnQkFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFHLEVBQUUsQ0FBQyxJQUFBLGdDQUEwQixFQUFDLEtBQUssQ0FBQyxFQUN2QyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyw2QkFBNkIsQ0FDeEQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMscUNBQXFDLEVBQUU7SUFDOUMsRUFBRSxDQUFDLFNBQVMsRUFBRTtRQUNaLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBWSxFQUFFLFVBQTBCLEVBQUUsR0FBaUQsRUFBRSxFQUFFO1lBQ3pHLE1BQU0sV0FBVyxHQUFHLElBQUEsZ0NBQTBCLEVBQUMsSUFBSSxDQUFDLENBQUM7WUFDckQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDO1FBQ0YsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLGdCQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLGdCQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsZ0JBQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RCxnQkFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxnQkFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw0QkFBNEIsRUFBRTtRQUMvQixnQkFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFHLEVBQUUsQ0FBQyxJQUFBLGdDQUEwQixFQUFDLE9BQU8sQ0FBQyxFQUN6QyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyw2QkFBNkIsQ0FDeEQsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDZCQUE2QixFQUFFO1FBQ2hDLGdCQUFNLENBQUMsTUFBTSxDQUNYLEdBQUcsRUFBRSxDQUFDLElBQUEsZ0NBQTBCLEVBQUMsS0FBSyxDQUFDLEVBQ3ZDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLDZCQUE2QixDQUN4RCxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuXG5kZXNjcmliZSgnZ2V0VXR4b0NvaW5TY3JpcHRUeXBlcycsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZm4gPSAoY29pbjogc3RyaW5nLCBhcnI6IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mM1tdKSA9PiB7XG4gICAgICBjb25zdCBzY3JpcHRUeXBlcyA9IGdldFV0eG9Db2luU2NyaXB0VHlwZXMyT2YzKGNvaW4pO1xuICAgICAgcmV0dXJuIGFyci5maW5kKCh2KSA9PiBzY3JpcHRUeXBlcy5pbmNsdWRlcyh2KSk7XG4gICAgfTtcbiAgICBhc3NlcnQub2soZm4oJ2J0YycsIFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJ3c2gnLCAncDJ0cicsICdwMnRyTXVzaWcyJ10pKTtcbiAgICBhc3NlcnQub2soZm4oJ2x0YycsIFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJ3c2gnXSkpO1xuICAgIGFzc2VydC5vayhmbignZG9nZScsIFsncDJzaCddKSk7XG4gIH0pO1xuXG4gIGl0KCdmYWlsIGZvciBpbnZhbGlkIGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgKCkgPT4gZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMoJ2R1bW15JyksXG4gICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09IGBjb2luICdkdW1teScgaXMgbm90IGRlZmluZWRgXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2ZhaWwgZm9yIG5vbi11dHhvIGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgKCkgPT4gZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMoJ2V0aCcpLFxuICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnY29pbiBldGggaXMgbm90IGEgdXR4byBjb2luJ1xuICAgICk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdnZXRVdHhvQ29pblNjcmlwdFR5cGVzRm9yV2FsbGV0VHlwZScsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgZm4gPSAoY29pbjogc3RyaW5nLCB3YWxsZXRUeXBlOiAnaG90JyB8ICdjb2xkJywgYXJyOiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuU2NyaXB0VHlwZTJPZjNbXSkgPT4ge1xuICAgICAgY29uc3Qgc2NyaXB0VHlwZXMgPSBnZXRVdHhvQ29pblNjcmlwdFR5cGVzMk9mMyhjb2luKTtcbiAgICAgIHJldHVybiBhcnIuZmluZCgodikgPT4gc2NyaXB0VHlwZXMuaW5jbHVkZXModikpO1xuICAgIH07XG4gICAgYXNzZXJ0Lm9rKGZuKCdidGMnLCAnaG90JywgWydwMnNoJywgJ3Ayc2hQMndzaCcsICdwMndzaCcsICdwMnRyJywgJ3AydHJNdXNpZzInXSkpO1xuICAgIGFzc2VydC5vayhmbignYnRjJywgJ2NvbGQnLCBbJ3Ayc2gnLCAncDJzaFAyd3NoJywgJ3Ayd3NoJywgJ3AydHInXSkpO1xuICAgIGFzc2VydC5vayhmbignbHRjJywgJ2hvdCcsIFsncDJzaCcsICdwMnNoUDJ3c2gnLCAncDJ3c2gnXSkpO1xuICAgIGFzc2VydC5vayhmbignbHRjJywgJ2NvbGQnLCBbJ3Ayc2gnLCAncDJzaFAyd3NoJywgJ3Ayd3NoJ10pKTtcbiAgICBhc3NlcnQub2soZm4oJ2RvZ2UnLCAnaG90JywgWydwMnNoJ10pKTtcbiAgICBhc3NlcnQub2soZm4oJ2RvZ2UnLCAnY29sZCcsIFsncDJzaCddKSk7XG4gIH0pO1xuXG4gIGl0KCdmYWlsIGZvciBpbnZhbGlkIGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgKCkgPT4gZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMoJ2R1bW15JyksXG4gICAgICAoZTogYW55KSA9PiBlLm1lc3NhZ2UgPT09IGBjb2luICdkdW1teScgaXMgbm90IGRlZmluZWRgXG4gICAgKTtcbiAgfSk7XG5cbiAgaXQoJ2ZhaWwgZm9yIG5vbi11dHhvIGNvaW4gbmFtZScsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnQudGhyb3dzKFxuICAgICAgKCkgPT4gZ2V0VXR4b0NvaW5TY3JpcHRUeXBlczJPZjMoJ2V0aCcpLFxuICAgICAgKGU6IGFueSkgPT4gZS5tZXNzYWdlID09PSAnY29pbiBldGggaXMgbm90IGEgdXR4byBjb2luJ1xuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -6,10 +6,10 @@ describe('notEmpty', () => {
6
6
  const notEmptyValues = [1, '123', { something: true }, {}];
7
7
  const emptyValues = [undefined, null];
8
8
  it('should return true', () => {
9
- notEmptyValues.forEach((vaue) => src_1.notEmpty(vaue).should.equal(true));
9
+ notEmptyValues.forEach((vaue) => (0, src_1.notEmpty)(vaue).should.equal(true));
10
10
  });
11
11
  it('should return false', () => {
12
- emptyValues.forEach((vaue) => src_1.notEmpty(vaue).should.equal(false));
12
+ emptyValues.forEach((vaue) => (0, src_1.notEmpty)(vaue).should.equal(false));
13
13
  });
14
14
  });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90RW1wdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vdXRpbHMvbm90RW1wdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQkFBZ0I7QUFDaEIseUNBQTJDO0FBQzNDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO0lBQ3hCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV0QyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO1FBQzVCLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGNBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO1FBQzdCLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGNBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnc2hvdWxkJztcbmltcG9ydCB7IG5vdEVtcHR5IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjJztcbmRlc2NyaWJlKCdub3RFbXB0eScsICgpID0+IHtcbiAgY29uc3Qgbm90RW1wdHlWYWx1ZXMgPSBbMSwgJzEyMycsIHsgc29tZXRoaW5nOiB0cnVlIH0sIHt9XTtcbiAgY29uc3QgZW1wdHlWYWx1ZXMgPSBbdW5kZWZpbmVkLCBudWxsXTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB0cnVlJywgKCkgPT4ge1xuICAgIG5vdEVtcHR5VmFsdWVzLmZvckVhY2goKHZhdWUpID0+IG5vdEVtcHR5KHZhdWUpLnNob3VsZC5lcXVhbCh0cnVlKSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIGZhbHNlJywgKCkgPT4ge1xuICAgIGVtcHR5VmFsdWVzLmZvckVhY2goKHZhdWUpID0+IG5vdEVtcHR5KHZhdWUpLnNob3VsZC5lcXVhbChmYWxzZSkpO1xuICB9KTtcbn0pO1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90RW1wdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vdXRpbHMvbm90RW1wdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQkFBZ0I7QUFDaEIseUNBQTJDO0FBQzNDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFO0lBQ3hCLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxNQUFNLFdBQVcsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV0QyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFO1FBQzVCLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUEsY0FBUSxFQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7UUFDN0IsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxjQUFRLEVBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBub3RFbXB0eSB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYyc7XG5kZXNjcmliZSgnbm90RW1wdHknLCAoKSA9PiB7XG4gIGNvbnN0IG5vdEVtcHR5VmFsdWVzID0gWzEsICcxMjMnLCB7IHNvbWV0aGluZzogdHJ1ZSB9LCB7fV07XG4gIGNvbnN0IGVtcHR5VmFsdWVzID0gW3VuZGVmaW5lZCwgbnVsbF07XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gdHJ1ZScsICgpID0+IHtcbiAgICBub3RFbXB0eVZhbHVlcy5mb3JFYWNoKCh2YXVlKSA9PiBub3RFbXB0eSh2YXVlKS5zaG91bGQuZXF1YWwodHJ1ZSkpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiBmYWxzZScsICgpID0+IHtcbiAgICBlbXB0eVZhbHVlcy5mb3JFYWNoKCh2YXVlKSA9PiBub3RFbXB0eSh2YXVlKS5zaG91bGQuZXF1YWwoZmFsc2UpKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -28,7 +32,7 @@ const superagent_1 = require("superagent");
28
32
  const postWithCodec_1 = require("../../../../src/bitgo/utils/postWithCodec");
29
33
  describe('postWithCodec', function () {
30
34
  function getRequest(codec, body, { useEncodedBody = true } = {}) {
31
- const request = postWithCodec_1.postWithCodec(superagent_1.agent(), 'http://example.com', codec, body, {
35
+ const request = (0, postWithCodec_1.postWithCodec)((0, superagent_1.agent)(), 'http://example.com', codec, body, {
32
36
  useEncodedBody,
33
37
  });
34
38
  return {
@@ -56,4 +60,4 @@ describe('postWithCodec', function () {
56
60
  });
57
61
  });
58
62
  });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdFdpdGhDb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby91dGlscy9wb3N0V2l0aENvZGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG9EQUE0QjtBQUM1Qix5Q0FBMkI7QUFDM0IsMkNBQXNEO0FBRXRELDZFQUEwRTtBQUUxRSxRQUFRLENBQUMsZUFBZSxFQUFFO0lBRXhCLFNBQVMsVUFBVSxDQUNqQixLQUFtQixFQUNuQixJQUFPLEVBQ1AsRUFBRSxjQUFjLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRTtRQUs5QixNQUFNLE9BQU8sR0FBRyw2QkFBYSxDQUFDLGtCQUFLLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQ3hFLGNBQWM7U0FDZixDQU9BLENBQUM7UUFDRixPQUFPO1lBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3ZCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSztTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMscUJBQXFCLENBQzVCLE9BR0MsRUFDRCxJQUFhO1FBRWIsZ0JBQU0sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWxHLEVBQUUsQ0FBQywrQ0FBK0MsRUFBRTtRQUNsRCxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUV6RSxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbURBQW1ELEVBQUU7UUFDdEQsZ0JBQWdCO1FBQ2hCLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLGtCQUFrQjtRQUNsQixxQkFBcUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXhGLHdDQUF3QztRQUN4QyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFTLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUNqRyxHQUFHLEVBQUUsS0FBSztZQUNWLEdBQUcsRUFBRSxDQUFDO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIHQgZnJvbSAnaW8tdHMnO1xuaW1wb3J0IHsgYWdlbnQsIFN1cGVyQWdlbnRSZXF1ZXN0IH0gZnJvbSAnc3VwZXJhZ2VudCc7XG5cbmltcG9ydCB7IHBvc3RXaXRoQ29kZWMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vdXRpbHMvcG9zdFdpdGhDb2RlYyc7XG5cbmRlc2NyaWJlKCdwb3N0V2l0aENvZGVjJywgZnVuY3Rpb24gKCkge1xuICB0eXBlIEhlYWRlcnMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgZnVuY3Rpb24gZ2V0UmVxdWVzdDxBIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIE8gZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXG4gICAgY29kZWM6IHQuVHlwZTxBLCBPPixcbiAgICBib2R5OiBBLFxuICAgIHsgdXNlRW5jb2RlZEJvZHkgPSB0cnVlIH0gPSB7fVxuICApOiB7XG4gICAgYm9keTogdW5rbm93bjtcbiAgICBoZWFkZXJzOiBIZWFkZXJzO1xuICB9IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gcG9zdFdpdGhDb2RlYyhhZ2VudCgpLCAnaHR0cDovL2V4YW1wbGUuY29tJywgY29kZWMsIGJvZHksIHtcbiAgICAgIHVzZUVuY29kZWRCb2R5LFxuICAgIH0pIGFzIFN1cGVyQWdlbnRSZXF1ZXN0ICYge1xuICAgICAgLypcbiAgICAgIFNvbWUgcHJpdmF0ZSBwcm9wZXJ0aWVzLiBBIGJpdCB1Z2x5LCBidXQgdGhlIGFsdGVybmF0aXZlIGlzIHRvIG1ha2UgYW4gYWN0dWFsIHJlcXVlc3QgYWdhaW5zdFxuICAgICAgYSBub2NrLCBhbmQgdGVhc2Ugb3V0IHRoZSBoZWFkZXJzIGZyb20gdGhlcmUuIE5vdCBwcmV0dHkgZWl0aGVyLlxuICAgICAgKi9cbiAgICAgIF9kYXRhOiB1bmtub3duO1xuICAgICAgaGVhZGVyOiBIZWFkZXJzO1xuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVyLFxuICAgICAgYm9keTogcmVxdWVzdC5fZGF0YSxcbiAgICB9O1xuICB9XG5cbiAgZnVuY3Rpb24gYXNzZXJ0UmVxdWVzdENvbnRhaW5zKFxuICAgIHJlcXVlc3Q6IHtcbiAgICAgIGJvZHk6IHVua25vd247XG4gICAgICBoZWFkZXJzOiBIZWFkZXJzO1xuICAgIH0sXG4gICAgYm9keTogdW5rbm93blxuICApIHtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHJlcXVlc3QuYm9keSwgYm9keSk7XG4gIH1cblxuICBjb25zdCBjb2RlYyA9IHQuZXhhY3QodC5pbnRlcnNlY3Rpb24oW3QudHlwZSh7IGZvbzogdC5zdHJpbmcgfSksIHQucGFydGlhbCh7IGJhcjogdC51bmtub3duIH0pXSkpO1xuXG4gIGl0KCdoYXMgZXhwZWN0ZWQgdmFsdWVzIHdpdGggdmFsdWUgbWF0Y2hpbmcgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKGdldFJlcXVlc3QoY29kZWMsIHsgZm9vOiAnYmFyJyB9KSwgeyBmb286ICdiYXInIH0pO1xuXG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKGdldFJlcXVlc3QoY29kZWMsIHsgZm9vOiAnYmFyJywgYmFyOiBudWxsIH0pLCB7IGZvbzogJ2JhcicsIGJhcjogbnVsbCB9KTtcbiAgfSk7XG5cbiAgaXQoJ2hhcyBleHBlY3RlZCB2YWx1ZXMgd2l0aCB2YWx1ZSBub3QgbWF0Y2hpbmcgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gaW52YWxpZCB2YWx1ZVxuICAgIGFzc2VydFJlcXVlc3RDb250YWlucyhnZXRSZXF1ZXN0KGNvZGVjLCB7IGZvbzogbnVsbCB9IGFzIGFueSksIHsgZm9vOiBudWxsIH0pO1xuXG4gICAgLy8gbm9uLWV4YWN0IHZhbHVlXG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKGdldFJlcXVlc3QoY29kZWMsIHsgZm9vOiAnYmFyJywgYm9vOiAxIH0gYXMgYW55KSwgeyBmb286ICdiYXInIH0pO1xuXG4gICAgLy8gbm9uLWV4YWN0IHZhbHVlLCB1c2VFbmNvZGVkQm9keT1mYWxzZVxuICAgIGFzc2VydFJlcXVlc3RDb250YWlucyhnZXRSZXF1ZXN0KGNvZGVjLCB7IGZvbzogJ2JhcicsIGJvbzogMSB9IGFzIGFueSwgeyB1c2VFbmNvZGVkQm9keTogZmFsc2UgfSksIHtcbiAgICAgIGZvbzogJ2JhcicsXG4gICAgICBib286IDEsXG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdFdpdGhDb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby91dGlscy9wb3N0V2l0aENvZGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIseUNBQTJCO0FBQzNCLDJDQUFzRDtBQUV0RCw2RUFBMEU7QUFFMUUsUUFBUSxDQUFDLGVBQWUsRUFBRTtJQUV4QixTQUFTLFVBQVUsQ0FDakIsS0FBbUIsRUFDbkIsSUFBTyxFQUNQLEVBQUUsY0FBYyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUU7UUFLOUIsTUFBTSxPQUFPLEdBQUcsSUFBQSw2QkFBYSxFQUFDLElBQUEsa0JBQUssR0FBRSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDeEUsY0FBYztTQUNmLENBT0EsQ0FBQztRQUNGLE9BQU87WUFDTCxPQUFPLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdkIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxxQkFBcUIsQ0FDNUIsT0FHQyxFQUNELElBQWE7UUFFYixnQkFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEcsRUFBRSxDQUFDLCtDQUErQyxFQUFFO1FBQ2xELHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXpFLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxtREFBbUQsRUFBRTtRQUN0RCxnQkFBZ0I7UUFDaEIscUJBQXFCLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQVMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFOUUsa0JBQWtCO1FBQ2xCLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQVMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFeEYsd0NBQXdDO1FBQ3hDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQVMsRUFBRSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ2pHLEdBQUcsRUFBRSxLQUFLO1lBQ1YsR0FBRyxFQUFFLENBQUM7U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgdCBmcm9tICdpby10cyc7XG5pbXBvcnQgeyBhZ2VudCwgU3VwZXJBZ2VudFJlcXVlc3QgfSBmcm9tICdzdXBlcmFnZW50JztcblxuaW1wb3J0IHsgcG9zdFdpdGhDb2RlYyB9IGZyb20gJy4uLy4uLy4uLy4uL3NyYy9iaXRnby91dGlscy9wb3N0V2l0aENvZGVjJztcblxuZGVzY3JpYmUoJ3Bvc3RXaXRoQ29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gIHR5cGUgSGVhZGVycyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBmdW5jdGlvbiBnZXRSZXF1ZXN0PEEgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgTyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICBjb2RlYzogdC5UeXBlPEEsIE8+LFxuICAgIGJvZHk6IEEsXG4gICAgeyB1c2VFbmNvZGVkQm9keSA9IHRydWUgfSA9IHt9XG4gICk6IHtcbiAgICBib2R5OiB1bmtub3duO1xuICAgIGhlYWRlcnM6IEhlYWRlcnM7XG4gIH0ge1xuICAgIGNvbnN0IHJlcXVlc3QgPSBwb3N0V2l0aENvZGVjKGFnZW50KCksICdodHRwOi8vZXhhbXBsZS5jb20nLCBjb2RlYywgYm9keSwge1xuICAgICAgdXNlRW5jb2RlZEJvZHksXG4gICAgfSkgYXMgU3VwZXJBZ2VudFJlcXVlc3QgJiB7XG4gICAgICAvKlxuICAgICAgU29tZSBwcml2YXRlIHByb3BlcnRpZXMuIEEgYml0IHVnbHksIGJ1dCB0aGUgYWx0ZXJuYXRpdmUgaXMgdG8gbWFrZSBhbiBhY3R1YWwgcmVxdWVzdCBhZ2FpbnN0XG4gICAgICBhIG5vY2ssIGFuZCB0ZWFzZSBvdXQgdGhlIGhlYWRlcnMgZnJvbSB0aGVyZS4gTm90IHByZXR0eSBlaXRoZXIuXG4gICAgICAqL1xuICAgICAgX2RhdGE6IHVua25vd247XG4gICAgICBoZWFkZXI6IEhlYWRlcnM7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXIsXG4gICAgICBib2R5OiByZXF1ZXN0Ll9kYXRhLFxuICAgIH07XG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnRSZXF1ZXN0Q29udGFpbnMoXG4gICAgcmVxdWVzdDoge1xuICAgICAgYm9keTogdW5rbm93bjtcbiAgICAgIGhlYWRlcnM6IEhlYWRlcnM7XG4gICAgfSxcbiAgICBib2R5OiB1bmtub3duXG4gICkge1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwocmVxdWVzdC5ib2R5LCBib2R5KTtcbiAgfVxuXG4gIGNvbnN0IGNvZGVjID0gdC5leGFjdCh0LmludGVyc2VjdGlvbihbdC50eXBlKHsgZm9vOiB0LnN0cmluZyB9KSwgdC5wYXJ0aWFsKHsgYmFyOiB0LnVua25vd24gfSldKSk7XG5cbiAgaXQoJ2hhcyBleHBlY3RlZCB2YWx1ZXMgd2l0aCB2YWx1ZSBtYXRjaGluZyBjb2RlYycsIGZ1bmN0aW9uICgpIHtcbiAgICBhc3NlcnRSZXF1ZXN0Q29udGFpbnMoZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInIH0pLCB7IGZvbzogJ2JhcicgfSk7XG5cbiAgICBhc3NlcnRSZXF1ZXN0Q29udGFpbnMoZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInLCBiYXI6IG51bGwgfSksIHsgZm9vOiAnYmFyJywgYmFyOiBudWxsIH0pO1xuICB9KTtcblxuICBpdCgnaGFzIGV4cGVjdGVkIHZhbHVlcyB3aXRoIHZhbHVlIG5vdCBtYXRjaGluZyBjb2RlYycsIGZ1bmN0aW9uICgpIHtcbiAgICAvLyBpbnZhbGlkIHZhbHVlXG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKGdldFJlcXVlc3QoY29kZWMsIHsgZm9vOiBudWxsIH0gYXMgYW55KSwgeyBmb286IG51bGwgfSk7XG5cbiAgICAvLyBub24tZXhhY3QgdmFsdWVcbiAgICBhc3NlcnRSZXF1ZXN0Q29udGFpbnMoZ2V0UmVxdWVzdChjb2RlYywgeyBmb286ICdiYXInLCBib286IDEgfSBhcyBhbnkpLCB7IGZvbzogJ2JhcicgfSk7XG5cbiAgICAvLyBub24tZXhhY3QgdmFsdWUsIHVzZUVuY29kZWRCb2R5PWZhbHNlXG4gICAgYXNzZXJ0UmVxdWVzdENvbnRhaW5zKGdldFJlcXVlc3QoY29kZWMsIHsgZm9vOiAnYmFyJywgYm9vOiAxIH0gYXMgYW55LCB7IHVzZUVuY29kZWRCb2R5OiBmYWxzZSB9KSwge1xuICAgICAgZm9vOiAnYmFyJyxcbiAgICAgIGJvbzogMSxcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -51,4 +55,4 @@ describe('BuildParams', function () {
51
55
  });
52
56
  });
53
57
  });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVpbGRQYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vd2FsbGV0L0J1aWxkUGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUNqQywwRUFBdUU7QUFFdkUsUUFBUSxDQUFDLGFBQWEsRUFBRTtJQUN0QixFQUFFLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FDcEIseUJBQVcsQ0FBQyxNQUFNLENBQUM7WUFDakIsV0FBVyxFQUFFLE1BQU07WUFDbkIsUUFBUSxFQUFFLE1BQU07WUFDaEIsa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixVQUFVLEVBQUU7Z0JBQ1Y7b0JBQ0UsTUFBTSxFQUFFLE9BQU87b0JBQ2YsT0FBTyxFQUFFLHFDQUFxQztpQkFDL0M7YUFDRjtTQUNLLENBQUMsRUFDVDtZQUNFLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLE1BQU0sRUFBRSxPQUFPO29CQUNmLE9BQU8sRUFBRSxxQ0FBcUM7aUJBQy9DO2FBQ0Y7U0FDRixDQUNGLENBQUM7UUFFRixNQUFNLENBQUMsZUFBZSxDQUNwQix5QkFBVyxDQUFDLE1BQU0sQ0FBQztZQUNqQixRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDWCxDQUFDLEVBQ1Q7WUFDRSxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUM7U0FDbEIsQ0FDRixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgQnVpbGRQYXJhbXMgfSBmcm9tICcuLi8uLi8uLi8uLi9zcmMvYml0Z28vd2FsbGV0L0J1aWxkUGFyYW1zJztcblxuZGVzY3JpYmUoJ0J1aWxkUGFyYW1zJywgZnVuY3Rpb24gKCkge1xuICBpdCgnZW5mb3JjZXMgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIEJ1aWxkUGFyYW1zLmVuY29kZSh7XG4gICAgICAgIGFkZHJlc3NUeXBlOiAncDJzaCcsXG4gICAgICAgIHR4Rm9ybWF0OiAncHNidCcsXG4gICAgICAgIGlzUmVwbGFjZWFibGVCeUZlZTogdHJ1ZSxcbiAgICAgICAgcmVjaXBpZW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFtb3VudDogJzEwMDAwJyxcbiAgICAgICAgICAgIGFkZHJlc3M6ICcyTjlFZ285S2lkaVpSOHRNUDgyZzZSYWdnUXRjYlI5ek56SCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0gYXMgYW55KSxcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICAgICAgdHhGb3JtYXQ6ICdwc2J0JyxcbiAgICAgICAgaXNSZXBsYWNlYWJsZUJ5RmVlOiB0cnVlLFxuICAgICAgICByZWNpcGllbnRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYW1vdW50OiAnMTAwMDAnLFxuICAgICAgICAgICAgYWRkcmVzczogJzJOOUVnbzlLaWRpWlI4dE1QODJnNlJhZ2dRdGNiUjl6TnpIJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfVxuICAgICk7XG5cbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFxuICAgICAgQnVpbGRQYXJhbXMuZW5jb2RlKHtcbiAgICAgICAgcmJmVHhJZHM6IFsndHgxJ10sXG4gICAgICB9IGFzIGFueSksXG4gICAgICB7XG4gICAgICAgIHJiZlR4SWRzOiBbJ3R4MSddLFxuICAgICAgfVxuICAgICk7XG4gIH0pO1xufSk7XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVpbGRQYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90ZXN0L3VuaXQvYml0Z28vd2FsbGV0L0J1aWxkUGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsMEVBQXVFO0FBRXZFLFFBQVEsQ0FBQyxhQUFhLEVBQUU7SUFDdEIsRUFBRSxDQUFDLGdCQUFnQixFQUFFO1FBQ25CLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLHlCQUFXLENBQUMsTUFBTSxDQUFDO1lBQ2pCLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLE1BQU0sRUFBRSxPQUFPO29CQUNmLE9BQU8sRUFBRSxxQ0FBcUM7aUJBQy9DO2FBQ0Y7U0FDSyxDQUFDLEVBQ1Q7WUFDRSxXQUFXLEVBQUUsTUFBTTtZQUNuQixRQUFRLEVBQUUsTUFBTTtZQUNoQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLFVBQVUsRUFBRTtnQkFDVjtvQkFDRSxNQUFNLEVBQUUsT0FBTztvQkFDZixPQUFPLEVBQUUscUNBQXFDO2lCQUMvQzthQUNGO1NBQ0YsQ0FDRixDQUFDO1FBRUYsTUFBTSxDQUFDLGVBQWUsQ0FDcEIseUJBQVcsQ0FBQyxNQUFNLENBQUM7WUFDakIsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ1gsQ0FBQyxFQUNUO1lBQ0UsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ2xCLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IEJ1aWxkUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3dhbGxldC9CdWlsZFBhcmFtcyc7XG5cbmRlc2NyaWJlKCdCdWlsZFBhcmFtcycsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ2VuZm9yY2VzIGNvZGVjJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoXG4gICAgICBCdWlsZFBhcmFtcy5lbmNvZGUoe1xuICAgICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgICAgICB0eEZvcm1hdDogJ3BzYnQnLFxuICAgICAgICBpc1JlcGxhY2VhYmxlQnlGZWU6IHRydWUsXG4gICAgICAgIHJlY2lwaWVudHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbW91bnQ6ICcxMDAwMCcsXG4gICAgICAgICAgICBhZGRyZXNzOiAnMk45RWdvOUtpZGlaUjh0TVA4Mmc2UmFnZ1F0Y2JSOXpOekgnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9IGFzIGFueSksXG4gICAgICB7XG4gICAgICAgIGFkZHJlc3NUeXBlOiAncDJzaCcsXG4gICAgICAgIHR4Rm9ybWF0OiAncHNidCcsXG4gICAgICAgIGlzUmVwbGFjZWFibGVCeUZlZTogdHJ1ZSxcbiAgICAgICAgcmVjaXBpZW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFtb3VudDogJzEwMDAwJyxcbiAgICAgICAgICAgIGFkZHJlc3M6ICcyTjlFZ285S2lkaVpSOHRNUDgyZzZSYWdnUXRjYlI5ek56SCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICApO1xuXG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIEJ1aWxkUGFyYW1zLmVuY29kZSh7XG4gICAgICAgIHJiZlR4SWRzOiBbJ3R4MSddLFxuICAgICAgfSBhcyBhbnkpLFxuICAgICAge1xuICAgICAgICByYmZUeElkczogWyd0eDEnXSxcbiAgICAgIH1cbiAgICApO1xuICB9KTtcbn0pO1xuIl19
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -41,4 +45,4 @@ describe('SendTransactionRequest', function () {
41
45
  });
42
46
  });
43
47
  });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFDakMsc0RBQWlEO0FBRWpELFFBQVEsQ0FBQyx3QkFBd0IsRUFBRTtJQUNqQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7UUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FDcEIseUJBQVUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsV0FBVyxFQUFFLE1BQU07WUFDbkIsUUFBUSxFQUFFLE1BQU07WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsS0FBSztTQUNSLENBQUMsRUFDVDtZQUNFLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsMkJBQTJCO1NBQzVCLENBQ0YsQ0FBQztRQUVGLE1BQU0sQ0FBQyxlQUFlLENBQUMseUJBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sQ0FBQyxlQUFlLENBQUMseUJBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBUyxDQUFDLEVBQUU7WUFDbEcsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsTUFBTTtTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeyBUeFNlbmRCb2R5IH0gZnJvbSAnQGJpdGdvL3B1YmxpYy10eXBlcyc7XG5cbmRlc2NyaWJlKCdTZW5kVHJhbnNhY3Rpb25SZXF1ZXN0JywgZnVuY3Rpb24gKCkge1xuICBpdCgnZW5mb3JjZXMgY29kZWMnLCBmdW5jdGlvbiAoKSB7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChcbiAgICAgIFR4U2VuZEJvZHkuZW5jb2RlKHtcbiAgICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICAgICAgdHhGb3JtYXQ6ICdwc2J0JyxcbiAgICAgICAgY29tbWVudDogJ2ZvbycsXG4gICAgICAgIHVua25vd246ICdiYXInLFxuICAgICAgfSBhcyBhbnkpLFxuICAgICAge1xuICAgICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgICAgICB0eEZvcm1hdDogJ3BzYnQnLFxuICAgICAgICBjb21tZW50OiAnZm9vJyxcbiAgICAgICAgLy8gZHJvcHMgdW5rbm93biBwcm9wZXJ0aWVzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoVHhTZW5kQm9keS5lbmNvZGUoeyB0eEhleDogJzAwJyB9KSwgeyB0eEhleDogJzAwJyB9KTtcbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFR4U2VuZEJvZHkuZW5jb2RlKHsgdHhIZXg6ICcwMCcsIGFkZHJlc3NUeXBlOiAncDJzaCcsIGJhcjogJ29taXQnIH0gYXMgYW55KSwge1xuICAgICAgdHhIZXg6ICcwMCcsXG4gICAgICBhZGRyZXNzVHlwZTogJ3Ayc2gnLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Rlc3QvdW5pdC9iaXRnby93YWxsZXQvU2VuZFRyYW5zYWN0aW9uUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBQ2pDLHNEQUFpRDtBQUVqRCxRQUFRLENBQUMsd0JBQXdCLEVBQUU7SUFDakMsRUFBRSxDQUFDLGdCQUFnQixFQUFFO1FBQ25CLE1BQU0sQ0FBQyxlQUFlLENBQ3BCLHlCQUFVLENBQUMsTUFBTSxDQUFDO1lBQ2hCLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLEtBQUs7U0FDUixDQUFDLEVBQ1Q7WUFDRSxXQUFXLEVBQUUsTUFBTTtZQUNuQixRQUFRLEVBQUUsTUFBTTtZQUNoQixPQUFPLEVBQUUsS0FBSztZQUNkLDJCQUEyQjtTQUM1QixDQUNGLENBQUM7UUFFRixNQUFNLENBQUMsZUFBZSxDQUFDLHlCQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RSxNQUFNLENBQUMsZUFBZSxDQUFDLHlCQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQVMsQ0FBQyxFQUFFO1lBQ2xHLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgVHhTZW5kQm9keSB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuXG5kZXNjcmliZSgnU2VuZFRyYW5zYWN0aW9uUmVxdWVzdCcsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ2VuZm9yY2VzIGNvZGVjJywgZnVuY3Rpb24gKCkge1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoXG4gICAgICBUeFNlbmRCb2R5LmVuY29kZSh7XG4gICAgICAgIGFkZHJlc3NUeXBlOiAncDJzaCcsXG4gICAgICAgIHR4Rm9ybWF0OiAncHNidCcsXG4gICAgICAgIGNvbW1lbnQ6ICdmb28nLFxuICAgICAgICB1bmtub3duOiAnYmFyJyxcbiAgICAgIH0gYXMgYW55KSxcbiAgICAgIHtcbiAgICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICAgICAgdHhGb3JtYXQ6ICdwc2J0JyxcbiAgICAgICAgY29tbWVudDogJ2ZvbycsXG4gICAgICAgIC8vIGRyb3BzIHVua25vd24gcHJvcGVydGllc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKFR4U2VuZEJvZHkuZW5jb2RlKHsgdHhIZXg6ICcwMCcgfSksIHsgdHhIZXg6ICcwMCcgfSk7XG4gICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChUeFNlbmRCb2R5LmVuY29kZSh7IHR4SGV4OiAnMDAnLCBhZGRyZXNzVHlwZTogJ3Ayc2gnLCBiYXI6ICdvbWl0JyB9IGFzIGFueSksIHtcbiAgICAgIHR4SGV4OiAnMDAnLFxuICAgICAgYWRkcmVzc1R5cGU6ICdwMnNoJyxcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -17,15 +17,15 @@ describe('openssl', function () {
17
17
  const openssl = new sdk_lib_mpc_1.OpenSSL();
18
18
  await openssl.init();
19
19
  const safePrime = await openssl.generateSafePrime(512);
20
- bigint_crypto_utils_1.bitLength(safePrime).should.equal(512);
20
+ (0, bigint_crypto_utils_1.bitLength)(safePrime).should.equal(512);
21
21
  });
22
22
  it('should generate a safe prime number', async function () {
23
23
  const openssl = new sdk_lib_mpc_1.OpenSSL();
24
24
  await openssl.init();
25
25
  const safePrime = await openssl.generateSafePrime(512);
26
- let isPrime = await bigint_crypto_utils_1.isProbablyPrime(safePrime);
26
+ let isPrime = await (0, bigint_crypto_utils_1.isProbablyPrime)(safePrime);
27
27
  isPrime.should.be.true();
28
- isPrime = await bigint_crypto_utils_1.isProbablyPrime((safePrime - BigInt(1)) / BigInt(2));
28
+ isPrime = await (0, bigint_crypto_utils_1.isProbablyPrime)((safePrime - BigInt(1)) / BigInt(2));
29
29
  isPrime.should.be.true();
30
30
  });
31
31
  it('should be able to generate multiple safe primes with the same openssl instance', async function () {
@@ -36,4 +36,4 @@ describe('openssl', function () {
36
36
  });
37
37
  }
38
38
  });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnNzbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9vcGVuc3NsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0JBQWdCO0FBQ2hCLG9EQUFrRTtBQUNsRSw2REFBaUU7QUFDakUsOENBQW1EO0FBRW5ELFFBQVEsQ0FBQyxTQUFTLEVBQUU7SUFDbEIsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEtBQUs7UUFDNUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBTyxFQUFFLENBQUM7UUFDOUIsTUFBTSxPQUFPO2FBQ1YsaUJBQWlCLENBQUMsaUNBQW1CLENBQUM7YUFDdEMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUVBQW1FLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztJQUVILHdEQUF3RDtJQUN4RCxJQUFJLCtCQUFrQixHQUFHLEVBQUUsRUFBRTtRQUMzQixFQUFFLENBQUMsNERBQTRELEVBQUUsS0FBSztZQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCwrQkFBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMscUNBQXFDLEVBQUUsS0FBSztZQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCxJQUFJLE9BQU8sR0FBRyxNQUFNLHFDQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsT0FBTyxHQUFHLE1BQU0scUNBQWUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxnRkFBZ0YsRUFBRSxLQUFLO1lBQ3hGLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBPcGVuU1NMLCBtaW5Nb2R1bHVzQml0TGVuZ3RoIH0gZnJvbSAnQGJpdGdvL3Nkay1saWItbXBjJztcbmltcG9ydCB7IGJpdExlbmd0aCwgaXNQcm9iYWJseVByaW1lIH0gZnJvbSAnYmlnaW50LWNyeXB0by11dGlscyc7XG5pbXBvcnQgeyBOT0RFX01BSk9SX1ZFUlNJT04gfSBmcm9tICcuLi9ub2RlLnV0aWxzJztcblxuZGVzY3JpYmUoJ29wZW5zc2wnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgbW9kdWxlIGlzIG5vdCBpbml0aWFsaXplZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBvcGVuc3NsID0gbmV3IE9wZW5TU0woKTtcbiAgICBhd2FpdCBvcGVuc3NsXG4gICAgICAuZ2VuZXJhdGVTYWZlUHJpbWUobWluTW9kdWx1c0JpdExlbmd0aClcbiAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdUaGUgT3BlblNTbCBjbGFzcyBpcyBub3QgaW5pdGlhbGl6ZWQhIFBsZWFzZSBjYWxsIE9wZW5TU0wuaW5pdCgpLicpO1xuICB9KTtcblxuICAvLyBub2RlIDE0IHJlcXVpcmVzIC0tZXhwZXJpbWVudGFsLXdhc20tYmlnaW50IG5vZGUgZmxhZ1xuICBpZiAoTk9ERV9NQUpPUl9WRVJTSU9OID4gMTQpIHtcbiAgICBpdCgnc2hvdWxkIGdlbmVyYXRlIGEgc2FmZSBwcmltZSBudW1iZXIgb2YgYSBjZXJ0YWluIGJpdExlbmd0aCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9wZW5zc2wgPSBuZXcgT3BlblNTTCgpO1xuICAgICAgYXdhaXQgb3BlbnNzbC5pbml0KCk7XG4gICAgICBjb25zdCBzYWZlUHJpbWUgPSBhd2FpdCBvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMik7XG4gICAgICBiaXRMZW5ndGgoc2FmZVByaW1lKS5zaG91bGQuZXF1YWwoNTEyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBzYWZlIHByaW1lIG51bWJlcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9wZW5zc2wgPSBuZXcgT3BlblNTTCgpO1xuICAgICAgYXdhaXQgb3BlbnNzbC5pbml0KCk7XG4gICAgICBjb25zdCBzYWZlUHJpbWUgPSBhd2FpdCBvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMik7XG4gICAgICBsZXQgaXNQcmltZSA9IGF3YWl0IGlzUHJvYmFibHlQcmltZShzYWZlUHJpbWUpO1xuICAgICAgaXNQcmltZS5zaG91bGQuYmUudHJ1ZSgpO1xuICAgICAgaXNQcmltZSA9IGF3YWl0IGlzUHJvYmFibHlQcmltZSgoc2FmZVByaW1lIC0gQmlnSW50KDEpKSAvIEJpZ0ludCgyKSk7XG4gICAgICBpc1ByaW1lLnNob3VsZC5iZS50cnVlKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gZ2VuZXJhdGUgbXVsdGlwbGUgc2FmZSBwcmltZXMgd2l0aCB0aGUgc2FtZSBvcGVuc3NsIGluc3RhbmNlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3BlbnNzbCA9IG5ldyBPcGVuU1NMKCk7XG4gICAgICBhd2FpdCBvcGVuc3NsLmluaXQoKTtcbiAgICAgIGNvbnN0IHNhZmVQcmltZXMgPSBhd2FpdCBQcm9taXNlLmFsbChbb3BlbnNzbC5nZW5lcmF0ZVNhZmVQcmltZSg1MTIpLCBvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMildKTtcbiAgICAgIHNhZmVQcmltZXMubGVuZ3RoLnNob3VsZC5lcXVhbCgyKTtcbiAgICB9KTtcbiAgfVxufSk7XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbnNzbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvdW5pdC9vcGVuc3NsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsa0JBQWdCO0FBQ2hCLG9EQUFrRTtBQUNsRSw2REFBaUU7QUFDakUsOENBQW1EO0FBRW5ELFFBQVEsQ0FBQyxTQUFTLEVBQUU7SUFDbEIsRUFBRSxDQUFDLG9EQUFvRCxFQUFFLEtBQUs7UUFDNUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBTyxFQUFFLENBQUM7UUFDOUIsTUFBTSxPQUFPO2FBQ1YsaUJBQWlCLENBQUMsaUNBQW1CLENBQUM7YUFDdEMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUVBQW1FLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUMsQ0FBQztJQUVILHdEQUF3RDtJQUN4RCxJQUFJLCtCQUFrQixHQUFHLEVBQUUsRUFBRTtRQUMzQixFQUFFLENBQUMsNERBQTRELEVBQUUsS0FBSztZQUNwRSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNyQixNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2RCxJQUFBLCtCQUFTLEVBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLO1lBQzdDLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sU0FBUyxHQUFHLE1BQU0sT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELElBQUksT0FBTyxHQUFHLE1BQU0sSUFBQSxxQ0FBZSxFQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLE9BQU8sR0FBRyxNQUFNLElBQUEscUNBQWUsRUFBQyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxnRkFBZ0YsRUFBRSxLQUFLO1lBQ3hGLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZHLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBPcGVuU1NMLCBtaW5Nb2R1bHVzQml0TGVuZ3RoIH0gZnJvbSAnQGJpdGdvL3Nkay1saWItbXBjJztcbmltcG9ydCB7IGJpdExlbmd0aCwgaXNQcm9iYWJseVByaW1lIH0gZnJvbSAnYmlnaW50LWNyeXB0by11dGlscyc7XG5pbXBvcnQgeyBOT0RFX01BSk9SX1ZFUlNJT04gfSBmcm9tICcuLi9ub2RlLnV0aWxzJztcblxuZGVzY3JpYmUoJ29wZW5zc2wnLCBmdW5jdGlvbiAoKSB7XG4gIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgaWYgbW9kdWxlIGlzIG5vdCBpbml0aWFsaXplZCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBjb25zdCBvcGVuc3NsID0gbmV3IE9wZW5TU0woKTtcbiAgICBhd2FpdCBvcGVuc3NsXG4gICAgICAuZ2VuZXJhdGVTYWZlUHJpbWUobWluTW9kdWx1c0JpdExlbmd0aClcbiAgICAgIC5zaG91bGQuYmUucmVqZWN0ZWRXaXRoKCdUaGUgT3BlblNTbCBjbGFzcyBpcyBub3QgaW5pdGlhbGl6ZWQhIFBsZWFzZSBjYWxsIE9wZW5TU0wuaW5pdCgpLicpO1xuICB9KTtcblxuICAvLyBub2RlIDE0IHJlcXVpcmVzIC0tZXhwZXJpbWVudGFsLXdhc20tYmlnaW50IG5vZGUgZmxhZ1xuICBpZiAoTk9ERV9NQUpPUl9WRVJTSU9OID4gMTQpIHtcbiAgICBpdCgnc2hvdWxkIGdlbmVyYXRlIGEgc2FmZSBwcmltZSBudW1iZXIgb2YgYSBjZXJ0YWluIGJpdExlbmd0aCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9wZW5zc2wgPSBuZXcgT3BlblNTTCgpO1xuICAgICAgYXdhaXQgb3BlbnNzbC5pbml0KCk7XG4gICAgICBjb25zdCBzYWZlUHJpbWUgPSBhd2FpdCBvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMik7XG4gICAgICBiaXRMZW5ndGgoc2FmZVByaW1lKS5zaG91bGQuZXF1YWwoNTEyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZ2VuZXJhdGUgYSBzYWZlIHByaW1lIG51bWJlcicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG9wZW5zc2wgPSBuZXcgT3BlblNTTCgpO1xuICAgICAgYXdhaXQgb3BlbnNzbC5pbml0KCk7XG4gICAgICBjb25zdCBzYWZlUHJpbWUgPSBhd2FpdCBvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMik7XG4gICAgICBsZXQgaXNQcmltZSA9IGF3YWl0IGlzUHJvYmFibHlQcmltZShzYWZlUHJpbWUpO1xuICAgICAgaXNQcmltZS5zaG91bGQuYmUudHJ1ZSgpO1xuICAgICAgaXNQcmltZSA9IGF3YWl0IGlzUHJvYmFibHlQcmltZSgoc2FmZVByaW1lIC0gQmlnSW50KDEpKSAvIEJpZ0ludCgyKSk7XG4gICAgICBpc1ByaW1lLnNob3VsZC5iZS50cnVlKCk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGJlIGFibGUgdG8gZ2VuZXJhdGUgbXVsdGlwbGUgc2FmZSBwcmltZXMgd2l0aCB0aGUgc2FtZSBvcGVuc3NsIGluc3RhbmNlJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3Qgb3BlbnNzbCA9IG5ldyBPcGVuU1NMKCk7XG4gICAgICBhd2FpdCBvcGVuc3NsLmluaXQoKTtcbiAgICAgIGNvbnN0IHNhZmVQcmltZXMgPSBhd2FpdCBQcm9taXNlLmFsbChbb3BlbnNzbC5nZW5lcmF0ZVNhZmVQcmltZSg1MTIpLCBvcGVuc3NsLmdlbmVyYXRlU2FmZVByaW1lKDUxMildKTtcbiAgICAgIHNhZmVQcmltZXMubGVuZ3RoLnNob3VsZC5lcXVhbCgyKTtcbiAgICB9KTtcbiAgfVxufSk7XG4iXX0=