@bitgo-beta/account-lib 2.24.1-alpha.51 → 2.24.1-alpha.53

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,34 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.9.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/account-lib@4.8.1...@bitgo/account-lib@4.9.0) (2023-06-21)
7
+
8
+ ### Features
9
+
10
+ - **sdk-coin-bld:** agoric sdk along with testcases ([ed60702](https://github.com/BitGo/BitGoJS/commit/ed607029abc9f85babbe05475248b2d2718cf667))
11
+ - **sdk-coin-hash:** provenance sdk init along with testcases ([3862212](https://github.com/BitGo/BitGoJS/commit/38622127b29558aaefa6a135a284a727f94a057b))
12
+ - **sdk-coin-sei:** sei sdk init along with testcases ([d7fac3f](https://github.com/BitGo/BitGoJS/commit/d7fac3f17ca99535a9d0aa81acd6d1d84bf5d54d))
13
+
14
+ ## [4.8.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/account-lib@4.8.0...@bitgo/account-lib@4.8.1) (2023-06-14)
15
+
16
+ **Note:** Version bump only for package @bitgo/account-lib
17
+
18
+ # [4.8.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/account-lib@4.7.1...@bitgo/account-lib@4.8.0) (2023-06-13)
19
+
20
+ ### Features
21
+
22
+ - **abstract-cosmos:** sdk abstract-cosmos and sdk osmo refactored ([d1bb5f6](https://github.com/BitGo/BitGoJS/commit/d1bb5f614533b1cc119b434510539673061d2c2a))
23
+ - **account-lib:** add osmo ([4e4d69b](https://github.com/BitGo/BitGoJS/commit/4e4d69b77923aaae9f91e4c98d60c050259d9712))
24
+ - **account-lib:** add osmo ([d8eeaa4](https://github.com/BitGo/BitGoJS/commit/d8eeaa43db3204f8b1591186e1978f853710af50))
25
+ - **sdk-coin-tia:** celestia sdk along with testcases ([1d104e0](https://github.com/BitGo/BitGoJS/commit/1d104e0d0ac0c813d16cd6da759b1a904bab4641))
26
+ - **sdk-core:** make paillier proofs mandatory ([4c62dd8](https://github.com/BitGo/BitGoJS/commit/4c62dd8bae41b0a66a4aa840c16f2cdf5abc9997))
27
+
28
+ ## [4.7.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/account-lib@4.7.0...@bitgo/account-lib@4.7.1) (2023-06-07)
29
+
30
+ ### Bug Fixes
31
+
32
+ - **sdk-coin-trx:** os agnostic commands ([6a740f2](https://github.com/BitGo/BitGoJS/commit/6a740f22ac8e79bdadbe28ee14a8a62cb554bd65))
33
+
6
34
  # [4.7.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/account-lib@4.6.0...@bitgo/account-lib@4.7.0) (2023-06-05)
7
35
 
8
36
  ### Bug Fixes
package/README.md CHANGED
@@ -13,7 +13,7 @@ Below is the list of coins supported by this library -- as well as those that
13
13
  are on the roadmap.
14
14
 
15
15
  | Coin | Mainnet Ticker | Testnet Ticker | Supported In Library |
16
- |:-----------------|:---------------|:---------------|:---------------------|
16
+ | :--------------- | :------------- | :------------- | :------------------- |
17
17
  | Alogrand | algo | talgo | Yes |
18
18
  | CELO | celo | tcelo | Yes |
19
19
  | Ethereum | eth | teth | Yes |
@@ -44,6 +44,14 @@ import { AvaxpLib as AvaxP } from '@bitgo-beta/sdk-coin-avaxp';
44
44
  export { AvaxP };
45
45
  import * as Tia from '@bitgo-beta/sdk-coin-tia';
46
46
  export { Tia };
47
+ import * as Bld from '@bitgo-beta/sdk-coin-bld';
48
+ export { Bld };
49
+ import * as Hash from '@bitgo-beta/sdk-coin-hash';
50
+ export { Hash };
51
+ import * as Sei from '@bitgo-beta/sdk-coin-sei';
52
+ export { Sei };
53
+ import * as Injective from '@bitgo-beta/sdk-coin-injective';
54
+ export { Injective };
47
55
  import * as Sol from '@bitgo-beta/sdk-coin-sol';
48
56
  export { Sol };
49
57
  import * as Dot from '@bitgo-beta/sdk-coin-dot';
@@ -52,6 +60,8 @@ import * as Near from '@bitgo-beta/sdk-coin-near';
52
60
  export { Near };
53
61
  import * as Bsc from '@bitgo-beta/sdk-coin-bsc';
54
62
  export { Bsc };
63
+ import * as Bnb from '@bitgo-beta/sdk-coin-bnb';
64
+ export { Bnb };
55
65
  import * as Polygon from '@bitgo-beta/sdk-coin-polygon';
56
66
  export { Polygon };
57
67
  import * as Sui from '@bitgo-beta/sdk-coin-sui';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
19
  return result;
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.register = exports.getBuilder = exports.supportedCoins = exports.Sui = exports.Polygon = exports.Bsc = exports.Near = exports.Dot = exports.Sol = exports.Tia = exports.AvaxP = exports.Osmo = exports.Atom = exports.Algo = exports.Stx = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth2 = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.Ed25519KeyDeriver = exports.crypto = exports.Eddsa = exports.Ed25519BIP32 = void 0;
22
+ exports.register = exports.getBuilder = exports.supportedCoins = exports.Sui = exports.Polygon = exports.Bnb = exports.Bsc = exports.Near = exports.Dot = exports.Sol = exports.Injective = exports.Sei = exports.Hash = exports.Bld = exports.Tia = exports.AvaxP = exports.Osmo = exports.Atom = exports.Algo = exports.Stx = exports.Cspr = exports.Hbar = exports.Celo = exports.Rbtc = exports.AvaxC = exports.Etc = exports.Eth2 = exports.Eth = exports.Xtz = exports.Trx = exports.BaseCoin = exports.Ed25519KeyDeriver = exports.crypto = exports.Eddsa = exports.Ed25519BIP32 = void 0;
23
23
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
24
24
  Object.defineProperty(exports, "Ed25519BIP32", { enumerable: true, get: function () { return sdk_core_1.Ed25519BIP32; } });
25
25
  Object.defineProperty(exports, "Ed25519KeyDeriver", { enumerable: true, get: function () { return sdk_core_1.Ed25519KeyDeriver; } });
@@ -68,6 +68,14 @@ const sdk_coin_avaxp_1 = require("@bitgo-beta/sdk-coin-avaxp");
68
68
  Object.defineProperty(exports, "AvaxP", { enumerable: true, get: function () { return sdk_coin_avaxp_1.AvaxpLib; } });
69
69
  const Tia = __importStar(require("@bitgo-beta/sdk-coin-tia"));
70
70
  exports.Tia = Tia;
71
+ const Bld = __importStar(require("@bitgo-beta/sdk-coin-bld"));
72
+ exports.Bld = Bld;
73
+ const Hash = __importStar(require("@bitgo-beta/sdk-coin-hash"));
74
+ exports.Hash = Hash;
75
+ const Sei = __importStar(require("@bitgo-beta/sdk-coin-sei"));
76
+ exports.Sei = Sei;
77
+ const Injective = __importStar(require("@bitgo-beta/sdk-coin-injective"));
78
+ exports.Injective = Injective;
71
79
  const Sol = __importStar(require("@bitgo-beta/sdk-coin-sol"));
72
80
  exports.Sol = Sol;
73
81
  const Dot = __importStar(require("@bitgo-beta/sdk-coin-dot"));
@@ -76,6 +84,8 @@ const Near = __importStar(require("@bitgo-beta/sdk-coin-near"));
76
84
  exports.Near = Near;
77
85
  const Bsc = __importStar(require("@bitgo-beta/sdk-coin-bsc"));
78
86
  exports.Bsc = Bsc;
87
+ const Bnb = __importStar(require("@bitgo-beta/sdk-coin-bnb"));
88
+ exports.Bnb = Bnb;
79
89
  const Polygon = __importStar(require("@bitgo-beta/sdk-coin-polygon"));
80
90
  exports.Polygon = Polygon;
81
91
  const Sui = __importStar(require("@bitgo-beta/sdk-coin-sui"));
@@ -98,6 +108,8 @@ const coinBuilderMap = {
98
108
  tavaxc: AvaxC.TransactionBuilder,
99
109
  bsc: Bsc.TransactionBuilder,
100
110
  tbsc: Bsc.TransactionBuilder,
111
+ bnb: Bnb.TransactionBuilder,
112
+ tbnb: Bnb.TransactionBuilder,
101
113
  avaxp: sdk_coin_avaxp_1.AvaxpLib.TransactionBuilderFactory,
102
114
  tavaxp: sdk_coin_avaxp_1.AvaxpLib.TransactionBuilderFactory,
103
115
  hbar: Hbar.TransactionBuilderFactory,
@@ -123,6 +135,14 @@ const coinBuilderMap = {
123
135
  tatom: Atom.TransactionBuilderFactory,
124
136
  osmo: Osmo.TransactionBuilderFactory,
125
137
  tosmo: Osmo.TransactionBuilderFactory,
138
+ bld: Bld.TransactionBuilderFactory,
139
+ tbld: Bld.TransactionBuilderFactory,
140
+ hash: Hash.TransactionBuilderFactory,
141
+ thash: Hash.TransactionBuilderFactory,
142
+ sei: Sei.TransactionBuilderFactory,
143
+ tsei: Sei.TransactionBuilderFactory,
144
+ injective: Injective.TransactionBuilderFactory,
145
+ tinjective: Injective.TransactionBuilderFactory,
126
146
  };
127
147
  /**
128
148
  * Get the list of coin tickers supported by this library.
@@ -157,4 +177,4 @@ function register(coinName, builderFactory) {
157
177
  return factory;
158
178
  }
159
179
  exports.register = register;
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQVM4QjtBQUVyQiw2RkFQUCx1QkFBWSxPQU9PO0FBUVosa0dBZFAsNEJBQWlCLE9BY087QUFSSCxzRkFMckIsZ0JBQUssT0FLcUI7QUFENUIsaURBQW9FO0FBR3BFOzs7R0FHRztBQUNVLFFBQUEsTUFBTSxHQUFHLDBCQUFlLENBQUM7QUFJdEM7OztHQUdHO0FBQ1UsUUFBQSxRQUFRLEdBQUcsNkJBQWtCLENBQUM7QUFFM0MsUUFBUTtBQUNSLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLDJEQUF5RDtBQUNoRCxvRkFEVSxxQkFBRyxPQUNWO0FBRVosOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosa0VBQW9EO0FBQzNDLHNCQUFLO0FBRWQsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsNkRBQTREO0FBQ25ELHFGQURXLHVCQUFJLE9BQ1g7QUFFYiwyREFBeUQ7QUFDaEQsb0ZBRFUscUJBQUcsT0FDVjtBQUVaLDZEQUE0RDtBQUNuRCxxRkFEVyx1QkFBSSxPQUNYO0FBRWIsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsK0RBQStEO0FBQ3RELHNGQURZLHlCQUFLLE9BQ1o7QUFFZCw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWixnRUFBa0Q7QUFDekMsb0JBQUk7QUFFYiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWixzRUFBd0Q7QUFDL0MsMEJBQU87QUFFaEIsOERBQWdEO0FBQ3ZDLGtC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Q2hCLGNBQThEO0lBRTlELE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0Msc0NBQXNDO0lBQ3RDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxnRkFBZ0Y7SUFDM0gsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQVRELDRCQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZUJ1aWxkZXIsXG4gIEJhc2VUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBCdWlsZFRyYW5zYWN0aW9uRXJyb3IsXG4gIEVkMjU1MTlCSVAzMixcbiAgRWQyNTUxOUtleURlcml2ZXIsXG4gIEVkZHNhLFxuICBhY2NvdW50TGliQmFzZUNvaW4sXG4gIGFjb3VudExpYkNyeXB0byxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZywgY29pbnMgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmV4cG9ydCB7IEVkMjU1MTlCSVAzMiwgRWRkc2EgfTtcblxuLyoqXG4gKiBEZXByZWNhdGVkIGFmdGVyIHZlcnNpb24gMi4xOS4wXG4gKiBSZXRhaW5lZCBmb3Igc2hvcnQgdGVybSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAtIG1pZ3JhdGUgdG86IEBiaXRnby1iZXRhL3Nkay1hcGkgYW5kIEBiaXRnby1iZXRhL3Nkay1jb3JlXG4gKi9cbmV4cG9ydCBjb25zdCBjcnlwdG8gPSBhY291bnRMaWJDcnlwdG87XG5cbmV4cG9ydCB7IEVkMjU1MTlLZXlEZXJpdmVyIH07XG5cbi8qKlxuICogRGVwcmVjYXRlZCBhZnRlciB2ZXJzaW9uIDIuMTkuMFxuICogUmV0YWluZWQgZm9yIHNob3J0IHRlcm0gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgLSBtaWdyYXRlIHRvOiBAYml0Z28tYmV0YS9zZGstYXBpIGFuZCBAYml0Z28tYmV0YS9zZGstY29yZVxuICovXG5leHBvcnQgY29uc3QgQmFzZUNvaW4gPSBhY2NvdW50TGliQmFzZUNvaW47XG5cbi8vIGNvaW5zXG5pbXBvcnQgKiBhcyBUcnggZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tdHJ4JztcbmV4cG9ydCB7IFRyeCB9O1xuXG5pbXBvcnQgeyBYdHpMaWIgYXMgWHR6IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4teHR6JztcbmV4cG9ydCB7IFh0eiB9O1xuXG5pbXBvcnQgKiBhcyBFdGggZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tZXRoJztcbmV4cG9ydCB7IEV0aCB9O1xuXG5pbXBvcnQgKiBhcyBFdGgyIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0aDInO1xuZXhwb3J0IHsgRXRoMiB9O1xuXG5pbXBvcnQgKiBhcyBFdGMgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tZXRjJztcbmV4cG9ydCB7IEV0YyB9O1xuXG5pbXBvcnQgKiBhcyBBdmF4QyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1hdmF4Yyc7XG5leHBvcnQgeyBBdmF4QyB9O1xuXG5pbXBvcnQgKiBhcyBSYnRjIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXJidGMnO1xuZXhwb3J0IHsgUmJ0YyB9O1xuXG5pbXBvcnQgKiBhcyBDZWxvIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWNlbG8nO1xuZXhwb3J0IHsgQ2VsbyB9O1xuXG5pbXBvcnQgKiBhcyBIYmFyIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWhiYXInO1xuZXhwb3J0IHsgSGJhciB9O1xuXG5pbXBvcnQgeyBDc3ByTGliIGFzIENzcHIgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1jc3ByJztcbmV4cG9ydCB7IENzcHIgfTtcblxuaW1wb3J0IHsgU3R4TGliIGFzIFN0eCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXN0eCc7XG5leHBvcnQgeyBTdHggfTtcblxuaW1wb3J0IHsgQWxnb0xpYiBhcyBBbGdvIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYWxnbyc7XG5leHBvcnQgeyBBbGdvIH07XG5cbmltcG9ydCAqIGFzIEF0b20gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXRvbSc7XG5leHBvcnQgeyBBdG9tIH07XG5cbmltcG9ydCAqIGFzIE9zbW8gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tb3Ntbyc7XG5leHBvcnQgeyBPc21vIH07XG5cbmltcG9ydCB7IEF2YXhwTGliIGFzIEF2YXhQIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXZheHAnO1xuZXhwb3J0IHsgQXZheFAgfTtcblxuaW1wb3J0ICogYXMgVGlhIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXRpYSc7XG5leHBvcnQgeyBUaWEgfTtcblxuaW1wb3J0ICogYXMgU29sIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXNvbCc7XG5leHBvcnQgeyBTb2wgfTtcblxuaW1wb3J0ICogYXMgRG90IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWRvdCc7XG5leHBvcnQgeyBEb3QgfTtcblxuaW1wb3J0ICogYXMgTmVhciBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1uZWFyJztcbmV4cG9ydCB7IE5lYXIgfTtcblxuaW1wb3J0ICogYXMgQnNjIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWJzYyc7XG5leHBvcnQgeyBCc2MgfTtcblxuaW1wb3J0ICogYXMgUG9seWdvbiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1wb2x5Z29uJztcbmV4cG9ydCB7IFBvbHlnb24gfTtcblxuaW1wb3J0ICogYXMgU3VpIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXN1aSc7XG5leHBvcnQgeyBTdWkgfTtcblxuY29uc3QgY29pbkJ1aWxkZXJNYXAgPSB7XG4gIHRyeDogVHJ4LldyYXBwZWRCdWlsZGVyLFxuICB0dHJ4OiBUcnguV3JhcHBlZEJ1aWxkZXIsXG4gIHh0ejogWHR6LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHh0ejogWHR6LlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZXRjOiBFdGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXRjOiBFdGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRldGg6IEV0aC5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGd0ZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICByYnRjOiBSYnRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdHJidGM6IFJidGMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBjZWxvOiBDZWxvLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGNlbG86IENlbG8uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBhdmF4YzogQXZheEMuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YXZheGM6IEF2YXhDLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYnNjOiBCc2MuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0YnNjOiBCc2MuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBhdmF4cDogQXZheFAuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGF2YXhwOiBBdmF4UC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBoYmFyOiBIYmFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRoYmFyOiBIYmFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGNzcHI6IENzcHIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGNzcHI6IENzcHIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgc3R4OiBTdHguVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHN0eDogU3R4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGFsZ286IEFsZ28uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGFsZ286IEFsZ28uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgc29sOiBTb2wuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHNvbDogU29sLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGRvdDogRG90LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRkb3Q6IERvdC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBuZWFyOiBOZWFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHBvbHlnb246IFBvbHlnb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0cG9seWdvbjogUG9seWdvbi5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHN1aTogU3VpLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzdWk6IFN1aS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aWE6IFRpYS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0dGlhOiBUaWEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYXRvbTogQXRvbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YXRvbTogQXRvbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBvc21vOiBPc21vLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRvc21vOiBPc21vLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG59O1xuXG4vKipcbiAqIEdldCB0aGUgbGlzdCBvZiBjb2luIHRpY2tlcnMgc3VwcG9ydGVkIGJ5IHRoaXMgbGlicmFyeS5cbiAqL1xuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZENvaW5zID0gT2JqZWN0LmtleXMoY29pbkJ1aWxkZXJNYXApO1xuXG4vKipcbiAqIEdldCBhIHRyYW5zYWN0aW9uIGJ1aWxkZXIgZm9yIHRoZSBnaXZlbiBjb2luLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2luTmFtZSBPbmUgb2YgdGhlIHtAY29kZSBzdXBwb3J0ZWRDb2luc31cbiAqIEByZXR1cm5zIHthbnl9IEFuIGluc3RhbmNlIG9mIGEge0Bjb2RlIFRyYW5zYWN0aW9uQnVpbGRlcn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1aWxkZXIoY29pbk5hbWU6IHN0cmluZyk6IEJhc2VCdWlsZGVyIHtcbiAgY29uc3QgYnVpbGRlckNsYXNzID0gY29pbkJ1aWxkZXJNYXBbY29pbk5hbWVdO1xuICBpZiAoIWJ1aWxkZXJDbGFzcykge1xuICAgIHRocm93IG5ldyBCdWlsZFRyYW5zYWN0aW9uRXJyb3IoYENvaW4gJHtjb2luTmFtZX0gbm90IHN1cHBvcnRlZGApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBidWlsZGVyQ2xhc3MoY29pbnMuZ2V0KGNvaW5OYW1lKSk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXIgYSBuZXcgY29pbiBpbnN0YW5jZSB3aXRoIGl0cyBidWlsZGVyIGZhY3RvcnlcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY29pbk5hbWUgY29pbiBuYW1lIGFzIGl0IHdhcyByZWdpc3RlcmVkIGluIEBiaXRnby1iZXRhL3N0YXRpY3NcbiAqIEBwYXJhbSB7YW55fSBidWlsZGVyRmFjdG9yeSB0aGUgYnVpbGRlciBmYWN0b3J5IGNsYXNzIGZvciB0aGF0IGNvaW5cbiAqIEByZXR1cm5zIHthbnl9IHRoZSBmYWN0b3J5IGluc3RhbmNlIGZvciB0aGUgcmVnaXN0ZXJlZCBjb2luXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlcjxUIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uQnVpbGRlckZhY3Rvcnk+KFxuICBjb2luTmFtZTogc3RyaW5nLFxuICBidWlsZGVyRmFjdG9yeTogeyBuZXcgKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPik6IFQgfSxcbik6IFQge1xuICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KGNvaW5OYW1lKTtcbiAgY29uc3QgZmFjdG9yeSA9IG5ldyBidWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcbiAgLy8gY29pbkJ1aWxkZXJNYXBbY29pbk5hbWVdID0gZmFjdG9yeTtcbiAgY29pbkJ1aWxkZXJNYXBbY29pbk5hbWVdID0gYnVpbGRlckZhY3Rvcnk7IC8vIEZvciBub3cgcmVnaXN0ZXIgdGhlIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHVudGlsIHJlaW1wbGVtZW50IGdldEJ1aWxkZXIgbWV0aG9kXG4gIHJldHVybiBmYWN0b3J5O1xufVxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQVM4QjtBQUVyQiw2RkFQUCx1QkFBWSxPQU9PO0FBUVosa0dBZFAsNEJBQWlCLE9BY087QUFSSCxzRkFMckIsZ0JBQUssT0FLcUI7QUFENUIsaURBQW9FO0FBR3BFOzs7R0FHRztBQUNVLFFBQUEsTUFBTSxHQUFHLDBCQUFlLENBQUM7QUFJdEM7OztHQUdHO0FBQ1UsUUFBQSxRQUFRLEdBQUcsNkJBQWtCLENBQUM7QUFFM0MsUUFBUTtBQUNSLDhEQUFnRDtBQUN2QyxrQkFBRztBQUVaLDJEQUF5RDtBQUNoRCxvRkFEVSxxQkFBRyxPQUNWO0FBRVosOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosa0VBQW9EO0FBQzNDLHNCQUFLO0FBRWQsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsNkRBQTREO0FBQ25ELHFGQURXLHVCQUFJLE9BQ1g7QUFFYiwyREFBeUQ7QUFDaEQsb0ZBRFUscUJBQUcsT0FDVjtBQUVaLDZEQUE0RDtBQUNuRCxxRkFEVyx1QkFBSSxPQUNYO0FBRWIsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsZ0VBQWtEO0FBQ3pDLG9CQUFJO0FBRWIsK0RBQStEO0FBQ3RELHNGQURZLHlCQUFLLE9BQ1o7QUFFZCw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWixnRUFBa0Q7QUFDekMsb0JBQUk7QUFFYiw4REFBZ0Q7QUFDdkMsa0JBQUc7QUFFWiwwRUFBNEQ7QUFDbkQsOEJBQVM7QUFFbEIsOERBQWdEO0FBQ3ZDLGtCQUFHO0FBRVosOERBQWdEO0FBQ3ZDLGtC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O0lBQ25DLFNBQVMsRUFBRSxTQUFTLENBQUMseUJBQXlCO0lBQzlDLFVBQVUsRUFBRSxTQUFTLENBQUMseUJBQXlCO0NBQ2hELENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFFMUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixVQUFVLENBQUMsUUFBZ0I7SUFDekMsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDakIsTUFBTSxJQUFJLGdDQUFxQixDQUFDLFFBQVEsUUFBUSxnQkFBZ0IsQ0FBQyxDQUFDO0tBQ25FO0lBRUQsT0FBTyxJQUFJLFlBQVksQ0FBQyxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQVBELGdDQU9DO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsUUFBUSxDQUN0QixRQUFnQixFQUNoQixjQUE4RDtJQUU5RCxNQUFNLFVBQVUsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLHNDQUFzQztJQUN0QyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsZ0ZBQWdGO0lBQzNILE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFURCw0QkFTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VCdWlsZGVyLFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgQnVpbGRUcmFuc2FjdGlvbkVycm9yLFxuICBFZDI1NTE5QklQMzIsXG4gIEVkMjU1MTlLZXlEZXJpdmVyLFxuICBFZGRzYSxcbiAgYWNjb3VudExpYkJhc2VDb2luLFxuICBhY291bnRMaWJDcnlwdG8sXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcsIGNvaW5zIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5leHBvcnQgeyBFZDI1NTE5QklQMzIsIEVkZHNhIH07XG5cbi8qKlxuICogRGVwcmVjYXRlZCBhZnRlciB2ZXJzaW9uIDIuMTkuMFxuICogUmV0YWluZWQgZm9yIHNob3J0IHRlcm0gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgLSBtaWdyYXRlIHRvOiBAYml0Z28tYmV0YS9zZGstYXBpIGFuZCBAYml0Z28tYmV0YS9zZGstY29yZVxuICovXG5leHBvcnQgY29uc3QgY3J5cHRvID0gYWNvdW50TGliQ3J5cHRvO1xuXG5leHBvcnQgeyBFZDI1NTE5S2V5RGVyaXZlciB9O1xuXG4vKipcbiAqIERlcHJlY2F0ZWQgYWZ0ZXIgdmVyc2lvbiAyLjE5LjBcbiAqIFJldGFpbmVkIGZvciBzaG9ydCB0ZXJtIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IC0gbWlncmF0ZSB0bzogQGJpdGdvLWJldGEvc2RrLWFwaSBhbmQgQGJpdGdvLWJldGEvc2RrLWNvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IEJhc2VDb2luID0gYWNjb3VudExpYkJhc2VDb2luO1xuXG4vLyBjb2luc1xuaW1wb3J0ICogYXMgVHJ4IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXRyeCc7XG5leHBvcnQgeyBUcnggfTtcblxuaW1wb3J0IHsgWHR6TGliIGFzIFh0eiB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLXh0eic7XG5leHBvcnQgeyBYdHogfTtcblxuaW1wb3J0ICogYXMgRXRoIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0aCc7XG5leHBvcnQgeyBFdGggfTtcblxuaW1wb3J0ICogYXMgRXRoMiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ldGgyJztcbmV4cG9ydCB7IEV0aDIgfTtcblxuaW1wb3J0ICogYXMgRXRjIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWV0Yyc7XG5leHBvcnQgeyBFdGMgfTtcblxuaW1wb3J0ICogYXMgQXZheEMgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tYXZheGMnO1xuZXhwb3J0IHsgQXZheEMgfTtcblxuaW1wb3J0ICogYXMgUmJ0YyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1yYnRjJztcbmV4cG9ydCB7IFJidGMgfTtcblxuaW1wb3J0ICogYXMgQ2VsbyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1jZWxvJztcbmV4cG9ydCB7IENlbG8gfTtcblxuaW1wb3J0ICogYXMgSGJhciBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1oYmFyJztcbmV4cG9ydCB7IEhiYXIgfTtcblxuaW1wb3J0IHsgQ3NwckxpYiBhcyBDc3ByIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tY3Nwcic7XG5leHBvcnQgeyBDc3ByIH07XG5cbmltcG9ydCB7IFN0eExpYiBhcyBTdHggfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zdHgnO1xuZXhwb3J0IHsgU3R4IH07XG5cbmltcG9ydCB7IEFsZ29MaWIgYXMgQWxnbyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWFsZ28nO1xuZXhwb3J0IHsgQWxnbyB9O1xuXG5pbXBvcnQgKiBhcyBBdG9tIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWF0b20nO1xuZXhwb3J0IHsgQXRvbSB9O1xuXG5pbXBvcnQgKiBhcyBPc21vIGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLW9zbW8nO1xuZXhwb3J0IHsgT3NtbyB9O1xuXG5pbXBvcnQgeyBBdmF4cExpYiBhcyBBdmF4UCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb2luLWF2YXhwJztcbmV4cG9ydCB7IEF2YXhQIH07XG5cbmltcG9ydCAqIGFzIFRpYSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi10aWEnO1xuZXhwb3J0IHsgVGlhIH07XG5cbmltcG9ydCAqIGFzIEJsZCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ibGQnO1xuZXhwb3J0IHsgQmxkIH07XG5cbmltcG9ydCAqIGFzIEhhc2ggZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4taGFzaCc7XG5leHBvcnQgeyBIYXNoIH07XG5cbmltcG9ydCAqIGFzIFNlaSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zZWknO1xuZXhwb3J0IHsgU2VpIH07XG5cbmltcG9ydCAqIGFzIEluamVjdGl2ZSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1pbmplY3RpdmUnO1xuZXhwb3J0IHsgSW5qZWN0aXZlIH07XG5cbmltcG9ydCAqIGFzIFNvbCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zb2wnO1xuZXhwb3J0IHsgU29sIH07XG5cbmltcG9ydCAqIGFzIERvdCBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1kb3QnO1xuZXhwb3J0IHsgRG90IH07XG5cbmltcG9ydCAqIGFzIE5lYXIgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tbmVhcic7XG5leHBvcnQgeyBOZWFyIH07XG5cbmltcG9ydCAqIGFzIEJzYyBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ic2MnO1xuZXhwb3J0IHsgQnNjIH07XG5cbmltcG9ydCAqIGFzIEJuYiBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1ibmInO1xuZXhwb3J0IHsgQm5iIH07XG5cbmltcG9ydCAqIGFzIFBvbHlnb24gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvaW4tcG9seWdvbic7XG5leHBvcnQgeyBQb2x5Z29uIH07XG5cbmltcG9ydCAqIGFzIFN1aSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29pbi1zdWknO1xuZXhwb3J0IHsgU3VpIH07XG5cbmNvbnN0IGNvaW5CdWlsZGVyTWFwID0ge1xuICB0cng6IFRyeC5XcmFwcGVkQnVpbGRlcixcbiAgdHRyeDogVHJ4LldyYXBwZWRCdWlsZGVyLFxuICB4dHo6IFh0ei5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHR4dHo6IFh0ei5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGV0YzogRXRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGV0YzogRXRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0ZXRoOiBFdGguVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBndGV0aDogRXRoLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgcmJ0YzogUmJ0Yy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRyYnRjOiBSYnRjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgY2VsbzogQ2Vsby5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHRjZWxvOiBDZWxvLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYXZheGM6IEF2YXhDLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGF2YXhjOiBBdmF4Qy5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgdGJzYzogQnNjLlRyYW5zYWN0aW9uQnVpbGRlcixcbiAgYm5iOiBCbmIuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0Ym5iOiBCbmIuVHJhbnNhY3Rpb25CdWlsZGVyLFxuICBhdmF4cDogQXZheFAuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGF2YXhwOiBBdmF4UC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBoYmFyOiBIYmFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRoYmFyOiBIYmFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGNzcHI6IENzcHIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGNzcHI6IENzcHIuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgc3R4OiBTdHguVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHN0eDogU3R4LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGFsZ286IEFsZ28uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdGFsZ286IEFsZ28uVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgc29sOiBTb2wuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgdHNvbDogU29sLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGRvdDogRG90LlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRkb3Q6IERvdC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBuZWFyOiBOZWFyLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHBvbHlnb246IFBvbHlnb24uVHJhbnNhY3Rpb25CdWlsZGVyLFxuICB0cG9seWdvbjogUG9seWdvbi5UcmFuc2FjdGlvbkJ1aWxkZXIsXG4gIHN1aTogU3VpLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzdWk6IFN1aS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aWE6IFRpYS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0dGlhOiBUaWEuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgYXRvbTogQXRvbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0YXRvbTogQXRvbS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBvc21vOiBPc21vLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRvc21vOiBPc21vLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIGJsZDogQmxkLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRibGQ6IEJsZC5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBoYXNoOiBIYXNoLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRoYXNoOiBIYXNoLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHNlaTogU2VpLlRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnksXG4gIHRzZWk6IFNlaS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICBpbmplY3RpdmU6IEluamVjdGl2ZS5UcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5LFxuICB0aW5qZWN0aXZlOiBJbmplY3RpdmUuVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbn07XG5cbi8qKlxuICogR2V0IHRoZSBsaXN0IG9mIGNvaW4gdGlja2VycyBzdXBwb3J0ZWQgYnkgdGhpcyBsaWJyYXJ5LlxuICovXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkQ29pbnMgPSBPYmplY3Qua2V5cyhjb2luQnVpbGRlck1hcCk7XG5cbi8qKlxuICogR2V0IGEgdHJhbnNhY3Rpb24gYnVpbGRlciBmb3IgdGhlIGdpdmVuIGNvaW4uXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvaW5OYW1lIE9uZSBvZiB0aGUge0Bjb2RlIHN1cHBvcnRlZENvaW5zfVxuICogQHJldHVybnMge2FueX0gQW4gaW5zdGFuY2Ugb2YgYSB7QGNvZGUgVHJhbnNhY3Rpb25CdWlsZGVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnVpbGRlcihjb2luTmFtZTogc3RyaW5nKTogQmFzZUJ1aWxkZXIge1xuICBjb25zdCBidWlsZGVyQ2xhc3MgPSBjb2luQnVpbGRlck1hcFtjb2luTmFtZV07XG4gIGlmICghYnVpbGRlckNsYXNzKSB7XG4gICAgdGhyb3cgbmV3IEJ1aWxkVHJhbnNhY3Rpb25FcnJvcihgQ29pbiAke2NvaW5OYW1lfSBub3Qgc3VwcG9ydGVkYCk7XG4gIH1cblxuICByZXR1cm4gbmV3IGJ1aWxkZXJDbGFzcyhjb2lucy5nZXQoY29pbk5hbWUpKTtcbn1cblxuLyoqXG4gKiBSZWdpc3RlciBhIG5ldyBjb2luIGluc3RhbmNlIHdpdGggaXRzIGJ1aWxkZXIgZmFjdG9yeVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjb2luTmFtZSBjb2luIG5hbWUgYXMgaXQgd2FzIHJlZ2lzdGVyZWQgaW4gQGJpdGdvLWJldGEvc3RhdGljc1xuICogQHBhcmFtIHthbnl9IGJ1aWxkZXJGYWN0b3J5IHRoZSBidWlsZGVyIGZhY3RvcnkgY2xhc3MgZm9yIHRoYXQgY29pblxuICogQHJldHVybnMge2FueX0gdGhlIGZhY3RvcnkgaW5zdGFuY2UgZm9yIHRoZSByZWdpc3RlcmVkIGNvaW5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyPFQgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeT4oXG4gIGNvaW5OYW1lOiBzdHJpbmcsXG4gIGJ1aWxkZXJGYWN0b3J5OiB7IG5ldyAoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KTogVCB9LFxuKTogVCB7XG4gIGNvbnN0IGNvaW5Db25maWcgPSBjb2lucy5nZXQoY29pbk5hbWUpO1xuICBjb25zdCBmYWN0b3J5ID0gbmV3IGJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuICAvLyBjb2luQnVpbGRlck1hcFtjb2luTmFtZV0gPSBmYWN0b3J5O1xuICBjb2luQnVpbGRlck1hcFtjb2luTmFtZV0gPSBidWlsZGVyRmFjdG9yeTsgLy8gRm9yIG5vdyByZWdpc3RlciB0aGUgY29uc3RydWN0b3IgZnVuY3Rpb24gdW50aWwgcmVpbXBsZW1lbnQgZ2V0QnVpbGRlciBtZXRob2RcbiAgcmV0dXJuIGZhY3Rvcnk7XG59XG4iXX0=