@gomomento/sdk-core 1.111.0 → 1.112.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/src/auth/credential-provider.d.ts +10 -16
  2. package/dist/src/auth/credential-provider.js +30 -66
  3. package/dist/src/clients/ICacheClient.d.ts +4 -2
  4. package/dist/src/clients/ICacheClient.js +1 -1
  5. package/dist/src/clients/IMomentoCache.d.ts +4 -2
  6. package/dist/src/clients/IMomentoCache.js +1 -1
  7. package/dist/src/config/retry/subscription-retry-eligibility-strategy.d.ts +7 -0
  8. package/dist/src/config/retry/subscription-retry-eligibility-strategy.js +3 -0
  9. package/dist/src/config/retry/subscription-retry-strategy.d.ts +11 -0
  10. package/dist/src/config/retry/subscription-retry-strategy.js +5 -0
  11. package/dist/src/errors/errors.d.ts +7 -0
  12. package/dist/src/errors/errors.js +12 -2
  13. package/dist/src/index.d.ts +6 -6
  14. package/dist/src/index.js +9 -8
  15. package/dist/src/internal/clients/cache/AbstractCacheClient.d.ts +17 -3
  16. package/dist/src/internal/clients/cache/AbstractCacheClient.js +18 -1
  17. package/dist/src/internal/clients/cache/IDataClient.d.ts +3 -2
  18. package/dist/src/internal/clients/cache/IDataClient.js +1 -1
  19. package/dist/src/internal/clients/cache/momento-cache.d.ts +4 -2
  20. package/dist/src/internal/clients/cache/momento-cache.js +4 -1
  21. package/dist/src/internal/clients/index.d.ts +0 -1
  22. package/dist/src/internal/clients/index.js +1 -2
  23. package/dist/src/internal/clients/pubsub/AbstractPubsubClient.d.ts +6 -3
  24. package/dist/src/internal/clients/pubsub/AbstractPubsubClient.js +23 -22
  25. package/dist/src/internal/clients/pubsub/AbstractTopicClient.d.ts +11 -2
  26. package/dist/src/internal/clients/pubsub/AbstractTopicClient.js +50 -7
  27. package/dist/src/internal/utils/auth.d.ts +4 -9
  28. package/dist/src/internal/utils/auth.js +8 -22
  29. package/dist/src/internal/utils/validators.d.ts +2 -1
  30. package/dist/src/internal/utils/validators.js +17 -2
  31. package/dist/src/messages/responses/cache-sorted-set-union-store.d.ts +26 -0
  32. package/dist/src/messages/responses/cache-sorted-set-union-store.js +34 -0
  33. package/dist/src/messages/responses/enums/cache/sorted-set/index.d.ts +4 -0
  34. package/dist/src/messages/responses/enums/cache/sorted-set/index.js +7 -2
  35. package/dist/src/utils/cache-call-options.d.ts +16 -0
  36. package/dist/src/utils/cache-call-options.js +8 -2
  37. package/dist/src/utils/index.d.ts +1 -0
  38. package/dist/src/utils/index.js +2 -1
  39. package/dist/src/utils/sorted-set-source.d.ts +4 -0
  40. package/dist/src/utils/sorted-set-source.js +3 -0
  41. package/dist/src/utils/topic-call-options.d.ts +4 -0
  42. package/dist/src/utils/topic-call-options.js +1 -1
  43. package/package.json +1 -1
  44. package/dist/src/clients/IStorageClient.d.ts +0 -13
  45. package/dist/src/clients/IStorageClient.js +0 -3
  46. package/dist/src/internal/clients/storage/AbstractStorageClient.d.ts +0 -21
  47. package/dist/src/internal/clients/storage/AbstractStorageClient.js +0 -48
  48. package/dist/src/internal/clients/storage/IStorageControlClient.d.ts +0 -7
  49. package/dist/src/internal/clients/storage/IStorageControlClient.js +0 -3
  50. package/dist/src/internal/clients/storage/IStorageDataClient.d.ts +0 -10
  51. package/dist/src/internal/clients/storage/IStorageDataClient.js +0 -3
  52. package/dist/src/internal/clients/storage/index.d.ts +0 -4
  53. package/dist/src/internal/clients/storage/index.js +0 -21
  54. package/dist/src/messages/responses/storage/control/create-store.d.ts +0 -34
  55. package/dist/src/messages/responses/storage/control/create-store.js +0 -43
  56. package/dist/src/messages/responses/storage/control/delete-store.d.ts +0 -28
  57. package/dist/src/messages/responses/storage/control/delete-store.js +0 -33
  58. package/dist/src/messages/responses/storage/control/index.d.ts +0 -3
  59. package/dist/src/messages/responses/storage/control/index.js +0 -7
  60. package/dist/src/messages/responses/storage/control/list-stores.d.ts +0 -37
  61. package/dist/src/messages/responses/storage/control/list-stores.js +0 -45
  62. package/dist/src/messages/responses/storage/index.d.ts +0 -2
  63. package/dist/src/messages/responses/storage/index.js +0 -19
  64. package/dist/src/messages/responses/storage/scalar/index.d.ts +0 -3
  65. package/dist/src/messages/responses/storage/scalar/index.js +0 -7
  66. package/dist/src/messages/responses/storage/scalar/storage-delete.d.ts +0 -28
  67. package/dist/src/messages/responses/storage/scalar/storage-delete.js +0 -33
  68. package/dist/src/messages/responses/storage/scalar/storage-get.d.ts +0 -79
  69. package/dist/src/messages/responses/storage/scalar/storage-get.js +0 -99
  70. package/dist/src/messages/responses/storage/scalar/storage-put.d.ts +0 -28
  71. package/dist/src/messages/responses/storage/scalar/storage-put.js +0 -33
  72. package/dist/src/messages/responses/storage/scalar/storage-value.d.ts +0 -61
  73. package/dist/src/messages/responses/storage/scalar/storage-value.js +0 -87
  74. package/dist/src/messages/store-info.d.ts +0 -16
  75. package/dist/src/messages/store-info.js +0 -24
@@ -2,14 +2,22 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbstractTopicClient = void 0;
4
4
  const index_1 = require("../../../index");
5
+ const errors_1 = require("../../../errors");
6
+ class StreamClientWithCount {
7
+ constructor(client) {
8
+ this.numActiveSubscriptions = 0;
9
+ this.client = client;
10
+ }
11
+ }
5
12
  class AbstractTopicClient {
6
13
  constructor(logger, pubsubStreamClients, pubsubUnaryClients, webhookClient) {
7
14
  this.nextPubsubStreamClientIndex = 0;
8
15
  this.nextPubsubUnaryClientIndex = 0;
9
16
  this.logger = logger;
10
- this.pubsubStreamClients = pubsubStreamClients;
17
+ this.pubsubStreamClients = pubsubStreamClients.map(client => new StreamClientWithCount(client));
11
18
  this.pubsubUnaryClients = pubsubUnaryClients;
12
19
  this.webhookClient = webhookClient;
20
+ this.maxConcurrentSubscriptions = 100 * this.pubsubStreamClients.length;
13
21
  }
14
22
  /**
15
23
  * Publishes a value to a topic.
@@ -37,7 +45,23 @@ class AbstractTopicClient {
37
45
  * {@link TopicSubscribe.Error} on failure.
38
46
  */
39
47
  async subscribe(cacheName, topicName, options) {
40
- return await this.getNextSubscribeClient().subscribe(cacheName, topicName, options);
48
+ try {
49
+ const { client, decrementSubscriptionCount } = this.getNextSubscribeClient();
50
+ const subscribeOptions = {
51
+ ...options,
52
+ onSubscriptionEnd: () => {
53
+ var _a;
54
+ // Call any existing onSubscriptionEnd handler
55
+ (_a = options.onSubscriptionEnd) === null || _a === void 0 ? void 0 : _a.call(options);
56
+ // Decrement the subscription count
57
+ decrementSubscriptionCount();
58
+ },
59
+ };
60
+ return await client.subscribe(cacheName, topicName, subscribeOptions);
61
+ }
62
+ catch (e) {
63
+ return new index_1.TopicSubscribe.Error(e);
64
+ }
41
65
  }
42
66
  /**
43
67
  * Deletes a webhook
@@ -122,11 +146,30 @@ class AbstractTopicClient {
122
146
  return client;
123
147
  }
124
148
  getNextSubscribeClient() {
125
- const client = this.pubsubStreamClients[this.nextPubsubStreamClientIndex];
126
- this.nextPubsubStreamClientIndex =
127
- (this.nextPubsubStreamClientIndex + 1) % this.pubsubStreamClients.length;
128
- return client;
149
+ // Check if there's any client with capacity
150
+ let totalActiveStreams = 0;
151
+ for (const clientWithCount of this.pubsubStreamClients) {
152
+ totalActiveStreams += clientWithCount.numActiveSubscriptions;
153
+ }
154
+ if (totalActiveStreams < this.maxConcurrentSubscriptions) {
155
+ // Try to get a client with capacity for another subscription.
156
+ // Allow up to maxConcurrentSubscriptions attempts.
157
+ for (let i = 0; i < this.maxConcurrentSubscriptions; i++) {
158
+ const clientWithCount = this.pubsubStreamClients[this.nextPubsubStreamClientIndex % this.pubsubStreamClients.length];
159
+ if (clientWithCount.numActiveSubscriptions < 100) {
160
+ this.nextPubsubStreamClientIndex++;
161
+ clientWithCount.numActiveSubscriptions++;
162
+ return {
163
+ client: clientWithCount.client,
164
+ decrementSubscriptionCount: () => {
165
+ clientWithCount.numActiveSubscriptions--;
166
+ },
167
+ };
168
+ }
169
+ }
170
+ }
171
+ throw new errors_1.ClientResourceExhaustedError('Already at maximum number of subscriptions');
129
172
  }
130
173
  }
131
174
  exports.AbstractTopicClient = AbstractTopicClient;
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RUb3BpY0NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3B1YnN1Yi9BYnN0cmFjdFRvcGljQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQVd3QjtBQUt4QixNQUFzQixtQkFBbUI7SUFTdkMsWUFDRSxNQUFxQixFQUNyQixtQkFBb0MsRUFDcEMsa0JBQW1DLEVBQ25DLGFBQTZCO1FBUHZCLGdDQUEyQixHQUFHLENBQUMsQ0FBQztRQUNoQywrQkFBMEIsR0FBRyxDQUFDLENBQUM7UUFRckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQy9DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksS0FBSyxDQUFDLE9BQU8sQ0FDbEIsU0FBaUIsRUFDakIsU0FBaUIsRUFDakIsS0FBMEI7UUFFMUIsT0FBTyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FDOUMsU0FBUyxFQUNULFNBQVMsRUFDVCxLQUFLLENBQ04sQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLEtBQUssQ0FBQyxTQUFTLENBQ3BCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLE9BQTZCO1FBRTdCLE9BQU8sTUFBTSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxTQUFTLENBQ2xELFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxDQUNSLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsYUFBYSxDQUN4QixTQUFpQixFQUNqQixXQUFtQjtRQUVuQixPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBaUI7UUFDekMsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLEtBQUssQ0FBQyxVQUFVLENBQ3JCLFNBQWlCLEVBQ2pCLFdBQW1CLEVBQ25CLE9BQThCO1FBRTlCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDaEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsS0FBSyxHQUFHLElBQUksaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUM7UUFDRCxPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7WUFDekMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLEVBQUUsRUFBRTtnQkFDRixTQUFTO2dCQUNULFdBQVc7YUFDWjtZQUNELFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDM0IsU0FBaUIsRUFDakIsV0FBbUI7UUFFbkIsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQzlCLFNBQWlCLEVBQ2pCLFdBQW1CO1FBRW5CLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDO1lBQ2xELFNBQVM7WUFDVCxXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLDBCQUEwQjtZQUM3QixDQUFDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO1FBQ3pFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUyxzQkFBc0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQywyQkFBMkI7WUFDOUIsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUMzRSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUE5S0Qsa0RBOEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJVG9waWNDbGllbnR9IGZyb20gJy4uLy4uLy4uL2NsaWVudHMvSVRvcGljQ2xpZW50JztcbmltcG9ydCB7XG4gIE1vbWVudG9Mb2dnZXIsXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBMaXN0V2ViaG9va3MsXG4gIFB1dFdlYmhvb2ssXG4gIERlbGV0ZVdlYmhvb2ssXG4gIEdldFdlYmhvb2tTZWNyZXQsXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFJvdGF0ZVdlYmhvb2tTZWNyZXQsXG59IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7SVB1YnN1YkNsaWVudH0gZnJvbSAnLi9JUHVic3ViQ2xpZW50JztcbmltcG9ydCB7SVdlYmhvb2tDbGllbnR9IGZyb20gJy4vSVdlYmhvb2tDbGllbnQnO1xuaW1wb3J0IHtQdXRXZWJob29rQ2FsbE9wdGlvbnN9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3dlYmhvb2stY2FsbC1vcHRpb25zJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VG9waWNDbGllbnQgaW1wbGVtZW50cyBJVG9waWNDbGllbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nZ2VyOiBNb21lbnRvTG9nZ2VyO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHVic3ViQ2xpZW50czogSVB1YnN1YkNsaWVudFtdO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHVic3ViU3RyZWFtQ2xpZW50czogSVB1YnN1YkNsaWVudFtdO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHVic3ViVW5hcnlDbGllbnRzOiBJUHVic3ViQ2xpZW50W107XG4gIHByb3RlY3RlZCByZWFkb25seSB3ZWJob29rQ2xpZW50OiBJV2ViaG9va0NsaWVudDtcbiAgcHJpdmF0ZSBuZXh0UHVic3ViU3RyZWFtQ2xpZW50SW5kZXggPSAwO1xuICBwcml2YXRlIG5leHRQdWJzdWJVbmFyeUNsaWVudEluZGV4ID0gMDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgbG9nZ2VyOiBNb21lbnRvTG9nZ2VyLFxuICAgIHB1YnN1YlN0cmVhbUNsaWVudHM6IElQdWJzdWJDbGllbnRbXSxcbiAgICBwdWJzdWJVbmFyeUNsaWVudHM6IElQdWJzdWJDbGllbnRbXSxcbiAgICB3ZWJob29rQ2xpZW50OiBJV2ViaG9va0NsaWVudFxuICApIHtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlcjtcbiAgICB0aGlzLnB1YnN1YlN0cmVhbUNsaWVudHMgPSBwdWJzdWJTdHJlYW1DbGllbnRzO1xuICAgIHRoaXMucHVic3ViVW5hcnlDbGllbnRzID0gcHVic3ViVW5hcnlDbGllbnRzO1xuICAgIHRoaXMud2ViaG9va0NsaWVudCA9IHdlYmhvb2tDbGllbnQ7XG4gIH1cblxuICAvKipcbiAgICogUHVibGlzaGVzIGEgdmFsdWUgdG8gYSB0b3BpYy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSB0byBjb250YWluaW5nIHRoZSB0b3BpYyB0byBwdWJsaXNoIHRvLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdG9waWNOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRvcGljIHRvIHB1Ymxpc2ggdG8uXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgVWludDhBcnJheX0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gcHVibGlzaC5cbiAgICogQHJldHVybnMge1Byb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgVG9waWNQdWJsaXNoLlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBUb3BpY1B1Ymxpc2guRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcHVibGlzaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmdldE5leHRQdWJsaXNoQ2xpZW50KCkucHVibGlzaChcbiAgICAgIGNhY2hlTmFtZSxcbiAgICAgIHRvcGljTmFtZSxcbiAgICAgIHZhbHVlXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIGEgdG9waWMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgdG8gY29udGFpbmluZyB0aGUgdG9waWMgdG8gc3Vic2NyaWJlIHRvLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdG9waWNOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRvcGljIHRvIHN1YnNjcmliZSB0by5cbiAgICogQHBhcmFtIHtTdWJzY3JpYmVDYWxsT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgc3Vic2NyaXB0aW9uLiBEZWZhdWx0cyB0byBuby1vcCBoYW5kbGVycy5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb3B0aW9ucy5vbkl0ZW0gLSBUaGUgY2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gZGF0YSBpcyByZWNlaXZlZC4gRGVmYXVsdHMgdG8gbm8tb3AuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMub25FcnJvciAtIFRoZSBjYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhbiBlcnJvciBpcyByZWNlaXZlZC4gRGVmYXVsdHMgdG8gbm8tb3AuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgVG9waWNTdWJzY3JpYmUuU3Vic2NyaXB0aW9ufSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgVG9waWNTdWJzY3JpYmUuRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc3Vic2NyaWJlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFN1YnNjcmliZUNhbGxPcHRpb25zXG4gICk6IFByb21pc2U8VG9waWNTdWJzY3JpYmUuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXROZXh0U3Vic2NyaWJlQ2xpZW50KCkuc3Vic2NyaWJlKFxuICAgICAgY2FjaGVOYW1lLFxuICAgICAgdG9waWNOYW1lLFxuICAgICAgb3B0aW9uc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhIHdlYmhvb2tcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSBhc3NvY2lhdGVkIHdpdGggdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdlYmhvb2tOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdlYmhvb2tcbiAgICogQHJldHVybnMge1Byb21pc2U8RGVsZXRlV2ViaG9vay5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIERlbGV0ZVdlYmhvb2suU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIERlbGV0ZVdlYmhvb2suRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlV2ViaG9vayhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB3ZWJob29rTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8RGVsZXRlV2ViaG9vay5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQuZGVsZXRlV2ViaG9vayh7Y2FjaGVOYW1lLCB3ZWJob29rTmFtZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RzIHdlYmhvb2tzIGFzc29jaWF0ZWQgd2l0aCBhIGNhY2hlXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgY2FjaGUgdG8gbGlzdCB3ZWJob29rcyBhc3NvY2lhdGVkIHdpdGggaXRcbiAgICogQHJldHVybnMge1Byb21pc2U8TGlzdFdlYmhvb2tzLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgTGlzdFdlYmhvb2tzLlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBMaXN0V2ViaG9va3MuRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgbGlzdFdlYmhvb2tzKGNhY2hlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxMaXN0V2ViaG9va3MuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50Lmxpc3RXZWJob29rcyhjYWNoZU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgd2ViaG9vaywgb3IgdXBkYXRlcyBhbiBleGlzdGluZyBvbmVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSB0byBhc3NvY2lhdGUgdGhlIHdlYmhvb2sgd2l0aFxuICAgKiBAcGFyYW0ge3N0cmluZ30gd2ViaG9va05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge1B1dFdlYmhvb2tDYWxsT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge3N0cmluZ30gdG9waWNOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHRvcGljIGZvciB0aGUgd2ViaG9vayB0byBsaXN0ZW4gdG9cbiAgICogQHBhcmFtIHtXZWJob29rRGVzdGluYXRpb24gfCBzdHJpbmd9IHdlYmhvb2tEZXN0aW5hdGlvbiAtIFRoZSB1cmwgdG8gYXNzb2NpYXRlIHRoZSB3ZWJob29rIHdpdGhcbiAgICogQHJldHVybnMge1Byb21pc2U8UHV0V2ViaG9vay5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFB1dFdlYmhvb2suU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFB1dFdlYmhvb2suRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcHV0V2ViaG9vayhcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB3ZWJob29rTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFB1dFdlYmhvb2tDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFB1dFdlYmhvb2suUmVzcG9uc2U+IHtcbiAgICBsZXQgX2Rlc3QgPSBvcHRpb25zLmRlc3RpbmF0aW9uO1xuICAgIGlmICh0eXBlb2YgX2Rlc3QgPT09ICdzdHJpbmcnKSB7XG4gICAgICBfZGVzdCA9IG5ldyBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uKF9kZXN0KTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5wdXRXZWJob29rKHtcbiAgICAgIHRvcGljTmFtZTogb3B0aW9ucy50b3BpY05hbWUsXG4gICAgICBpZDoge1xuICAgICAgICBjYWNoZU5hbWUsXG4gICAgICAgIHdlYmhvb2tOYW1lLFxuICAgICAgfSxcbiAgICAgIGRlc3RpbmF0aW9uOiBfZGVzdCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzaWduaW5nIHNlY3JldCBmb3IgYSB3ZWJob29rXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3ZWJob29rTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3ZWJob29rXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEdldFdlYmhvb2tTZWNyZXQuUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBHZXRXZWJob29rU2VjcmV0LlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBHZXRXZWJob29rU2VjcmV0LkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFdlYmhvb2tTZWNyZXQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgd2ViaG9va05hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPEdldFdlYmhvb2tTZWNyZXQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50LmdldFdlYmhvb2tTZWNyZXQoe2NhY2hlTmFtZSwgd2ViaG9va05hbWV9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb3RhdGVzIHRoZSBzaWduaW5nIHNlY3JldCBmb3IgYSB3ZWJob29rXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3ZWJob29rTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3ZWJob29rXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJvdGF0ZVdlYmhvb2tTZWNyZXQuUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBSb3RhdGVXZWJob29rU2VjcmV0LlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBSb3RhdGVXZWJob29rU2VjcmV0LkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJvdGF0ZVdlYmhvb2tTZWNyZXQoXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgd2ViaG9va05hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPFJvdGF0ZVdlYmhvb2tTZWNyZXQuUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50LnJvdGF0ZVdlYmhvb2tTZWNyZXQoe1xuICAgICAgY2FjaGVOYW1lLFxuICAgICAgd2ViaG9va05hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0TmV4dFB1Ymxpc2hDbGllbnQoKTogSVB1YnN1YkNsaWVudCB7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5wdWJzdWJVbmFyeUNsaWVudHNbdGhpcy5uZXh0UHVic3ViVW5hcnlDbGllbnRJbmRleF07XG4gICAgdGhpcy5uZXh0UHVic3ViVW5hcnlDbGllbnRJbmRleCA9XG4gICAgICAodGhpcy5uZXh0UHVic3ViVW5hcnlDbGllbnRJbmRleCArIDEpICUgdGhpcy5wdWJzdWJVbmFyeUNsaWVudHMubGVuZ3RoO1xuICAgIHJldHVybiBjbGllbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0TmV4dFN1YnNjcmliZUNsaWVudCgpOiBJUHVic3ViQ2xpZW50IHtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLnB1YnN1YlN0cmVhbUNsaWVudHNbdGhpcy5uZXh0UHVic3ViU3RyZWFtQ2xpZW50SW5kZXhdO1xuICAgIHRoaXMubmV4dFB1YnN1YlN0cmVhbUNsaWVudEluZGV4ID1cbiAgICAgICh0aGlzLm5leHRQdWJzdWJTdHJlYW1DbGllbnRJbmRleCArIDEpICUgdGhpcy5wdWJzdWJTdHJlYW1DbGllbnRzLmxlbmd0aDtcbiAgICByZXR1cm4gY2xpZW50O1xuICB9XG59XG4iXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RUb3BpY0NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3B1YnN1Yi9BYnN0cmFjdFRvcGljQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQVd3QjtBQUl4Qiw0Q0FBdUU7QUFPdkUsTUFBTSxxQkFBcUI7SUFJekIsWUFBWSxNQUFxQjtRQUhqQywyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFJekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBRUQsTUFBc0IsbUJBQW1CO0lBVXZDLFlBQ0UsTUFBcUIsRUFDckIsbUJBQW9DLEVBQ3BDLGtCQUFtQyxFQUNuQyxhQUE2QjtRQVJ2QixnQ0FBMkIsR0FBRyxDQUFDLENBQUM7UUFDaEMsK0JBQTBCLEdBQUcsQ0FBQyxDQUFDO1FBU3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQ2hELE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FDNUMsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQ2xCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLEtBQTBCO1FBRTFCLE9BQU8sTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQzlDLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxDQUNOLENBQUM7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RCxrQkFBa0IsSUFBSSxlQUFlLENBQUMsc0JBQXNCLENBQUM7U0FDOUQ7UUFDRCxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUN4RCw4REFBOEQ7WUFDOUQsbURBQW1EO1lBQ25ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hELE1BQU0sZUFBZSxHQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQ3RCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUNuRSxDQUFDO2dCQUNKLElBQUksZUFBZSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7b0JBQ25DLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO29CQUN6QyxPQUFPO3dCQUNMLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTTt3QkFDOUIsMEJBQTBCLEVBQUUsR0FBRyxFQUFFOzRCQUMvQixlQUFlLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzt3QkFDM0MsQ0FBQztxQkFDRixDQUFDO2lCQUNIO2FBQ0Y7U0FDRjtRQUVELE1BQU0sSUFBSSxxQ0FBNEIsQ0FDcEMsNENBQTRDLENBQzdDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF6TkQsa0RBeU5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJVG9waWNDbGllbnR9IGZyb20gJy4uLy4uLy4uL2NsaWVudHMvSVRvcGljQ2xpZW50JztcbmltcG9ydCB7XG4gIE1vbWVudG9Mb2dnZXIsXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBMaXN0V2ViaG9va3MsXG4gIFB1dFdlYmhvb2ssXG4gIERlbGV0ZVdlYmhvb2ssXG4gIEdldFdlYmhvb2tTZWNyZXQsXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFJvdGF0ZVdlYmhvb2tTZWNyZXQsXG59IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7SVB1YnN1YkNsaWVudH0gZnJvbSAnLi9JUHVic3ViQ2xpZW50JztcbmltcG9ydCB7SVdlYmhvb2tDbGllbnR9IGZyb20gJy4vSVdlYmhvb2tDbGllbnQnO1xuaW1wb3J0IHtQdXRXZWJob29rQ2FsbE9wdGlvbnN9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3dlYmhvb2stY2FsbC1vcHRpb25zJztcbmltcG9ydCB7Q2xpZW50UmVzb3VyY2VFeGhhdXN0ZWRFcnJvciwgU2RrRXJyb3J9IGZyb20gJy4uLy4uLy4uL2Vycm9ycyc7XG5cbmludGVyZmFjZSBJU3RyZWFtQ2xpZW50V2l0aENvdW50IHtcbiAgbnVtQWN0aXZlU3Vic2NyaXB0aW9uczogbnVtYmVyO1xuICBjbGllbnQ6IElQdWJzdWJDbGllbnQ7XG59XG5cbmNsYXNzIFN0cmVhbUNsaWVudFdpdGhDb3VudCBpbXBsZW1lbnRzIElTdHJlYW1DbGllbnRXaXRoQ291bnQge1xuICBudW1BY3RpdmVTdWJzY3JpcHRpb25zID0gMDtcbiAgY2xpZW50OiBJUHVic3ViQ2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogSVB1YnN1YkNsaWVudCkge1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRvcGljQ2xpZW50IGltcGxlbWVudHMgSVRvcGljQ2xpZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvZ2dlcjogTW9tZW50b0xvZ2dlcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHB1YnN1YkNsaWVudHM6IElQdWJzdWJDbGllbnRbXTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHB1YnN1YlN0cmVhbUNsaWVudHM6IElTdHJlYW1DbGllbnRXaXRoQ291bnRbXTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHB1YnN1YlVuYXJ5Q2xpZW50czogSVB1YnN1YkNsaWVudFtdO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgd2ViaG9va0NsaWVudDogSVdlYmhvb2tDbGllbnQ7XG4gIHByaXZhdGUgbmV4dFB1YnN1YlN0cmVhbUNsaWVudEluZGV4ID0gMDtcbiAgcHJpdmF0ZSBuZXh0UHVic3ViVW5hcnlDbGllbnRJbmRleCA9IDA7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4Q29uY3VycmVudFN1YnNjcmlwdGlvbnM7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGxvZ2dlcjogTW9tZW50b0xvZ2dlcixcbiAgICBwdWJzdWJTdHJlYW1DbGllbnRzOiBJUHVic3ViQ2xpZW50W10sXG4gICAgcHVic3ViVW5hcnlDbGllbnRzOiBJUHVic3ViQ2xpZW50W10sXG4gICAgd2ViaG9va0NsaWVudDogSVdlYmhvb2tDbGllbnRcbiAgKSB7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XG4gICAgdGhpcy5wdWJzdWJTdHJlYW1DbGllbnRzID0gcHVic3ViU3RyZWFtQ2xpZW50cy5tYXAoXG4gICAgICBjbGllbnQgPT4gbmV3IFN0cmVhbUNsaWVudFdpdGhDb3VudChjbGllbnQpXG4gICAgKTtcbiAgICB0aGlzLnB1YnN1YlVuYXJ5Q2xpZW50cyA9IHB1YnN1YlVuYXJ5Q2xpZW50cztcbiAgICB0aGlzLndlYmhvb2tDbGllbnQgPSB3ZWJob29rQ2xpZW50O1xuICAgIHRoaXMubWF4Q29uY3VycmVudFN1YnNjcmlwdGlvbnMgPSAxMDAgKiB0aGlzLnB1YnN1YlN0cmVhbUNsaWVudHMubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2hlcyBhIHZhbHVlIHRvIGEgdG9waWMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgdG8gY29udGFpbmluZyB0aGUgdG9waWMgdG8gcHVibGlzaCB0by5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvcGljTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyB0byBwdWJsaXNoIHRvLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IFVpbnQ4QXJyYXl9IHZhbHVlIC0gVGhlIHZhbHVlIHRvIHB1Ymxpc2guXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFRvcGljUHVibGlzaC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgVG9waWNQdWJsaXNoLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHB1Ymxpc2goXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgdG9waWNOYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxUb3BpY1B1Ymxpc2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXROZXh0UHVibGlzaENsaWVudCgpLnB1Ymxpc2goXG4gICAgICBjYWNoZU5hbWUsXG4gICAgICB0b3BpY05hbWUsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byBhIHRvcGljLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIHRvIGNvbnRhaW5pbmcgdGhlIHRvcGljIHRvIHN1YnNjcmliZSB0by5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvcGljTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyB0byBzdWJzY3JpYmUgdG8uXG4gICAqIEBwYXJhbSB7U3Vic2NyaWJlQ2FsbE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHN1YnNjcmlwdGlvbi4gRGVmYXVsdHMgdG8gbm8tb3AgaGFuZGxlcnMuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMub25JdGVtIC0gVGhlIGNhbGxiYWNrIHRvIGludm9rZSB3aGVuIGRhdGEgaXMgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIG5vLW9wLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLm9uRXJyb3IgLSBUaGUgY2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYW4gZXJyb3IgaXMgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIG5vLW9wLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUb3BpY1N1YnNjcmliZS5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbn0gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFRvcGljU3Vic2NyaWJlLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHN1YnNjcmliZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtjbGllbnQsIGRlY3JlbWVudFN1YnNjcmlwdGlvbkNvdW50fSA9XG4gICAgICAgIHRoaXMuZ2V0TmV4dFN1YnNjcmliZUNsaWVudCgpO1xuICAgICAgY29uc3Qgc3Vic2NyaWJlT3B0aW9ucyA9IHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgb25TdWJzY3JpcHRpb25FbmQ6ICgpID0+IHtcbiAgICAgICAgICAvLyBDYWxsIGFueSBleGlzdGluZyBvblN1YnNjcmlwdGlvbkVuZCBoYW5kbGVyXG4gICAgICAgICAgb3B0aW9ucy5vblN1YnNjcmlwdGlvbkVuZD8uKCk7XG4gICAgICAgICAgLy8gRGVjcmVtZW50IHRoZSBzdWJzY3JpcHRpb24gY291bnRcbiAgICAgICAgICBkZWNyZW1lbnRTdWJzY3JpcHRpb25Db3VudCgpO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHJldHVybiBhd2FpdCBjbGllbnQuc3Vic2NyaWJlKGNhY2hlTmFtZSwgdG9waWNOYW1lLCBzdWJzY3JpYmVPcHRpb25zKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbmV3IFRvcGljU3Vic2NyaWJlLkVycm9yKGUgYXMgU2RrRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgd2ViaG9va1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge3N0cmluZ30gd2ViaG9va05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2ViaG9va1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxEZWxldGVXZWJob29rLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgRGVsZXRlV2ViaG9vay5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgRGVsZXRlV2ViaG9vay5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVXZWJob29rKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHdlYmhvb2tOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxEZWxldGVXZWJob29rLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5kZWxldGVXZWJob29rKHtjYWNoZU5hbWUsIHdlYmhvb2tOYW1lfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdHMgd2ViaG9va3MgYXNzb2NpYXRlZCB3aXRoIGEgY2FjaGVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBjYWNoZSB0byBsaXN0IHdlYmhvb2tzIGFzc29jaWF0ZWQgd2l0aCBpdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxMaXN0V2ViaG9va3MuUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBMaXN0V2ViaG9va3MuU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIExpc3RXZWJob29rcy5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsaXN0V2ViaG9va3MoY2FjaGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPExpc3RXZWJob29rcy5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQubGlzdFdlYmhvb2tzKGNhY2hlTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB3ZWJob29rLCBvciB1cGRhdGVzIGFuIGV4aXN0aW5nIG9uZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIHRvIGFzc29jaWF0ZSB0aGUgd2ViaG9vayB3aXRoXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3ZWJob29rTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7UHV0V2ViaG9va0NhbGxPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0b3BpY05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdG9waWMgZm9yIHRoZSB3ZWJob29rIHRvIGxpc3RlbiB0b1xuICAgKiBAcGFyYW0ge1dlYmhvb2tEZXN0aW5hdGlvbiB8IHN0cmluZ30gd2ViaG9va0Rlc3RpbmF0aW9uIC0gVGhlIHVybCB0byBhc3NvY2lhdGUgdGhlIHdlYmhvb2sgd2l0aFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxQdXRXZWJob29rLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgUHV0V2ViaG9vay5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgUHV0V2ViaG9vay5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBwdXRXZWJob29rKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHdlYmhvb2tOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUHV0V2ViaG9va0NhbGxPcHRpb25zXG4gICk6IFByb21pc2U8UHV0V2ViaG9vay5SZXNwb25zZT4ge1xuICAgIGxldCBfZGVzdCA9IG9wdGlvbnMuZGVzdGluYXRpb247XG4gICAgaWYgKHR5cGVvZiBfZGVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIF9kZXN0ID0gbmV3IFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24oX2Rlc3QpO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50LnB1dFdlYmhvb2soe1xuICAgICAgdG9waWNOYW1lOiBvcHRpb25zLnRvcGljTmFtZSxcbiAgICAgIGlkOiB7XG4gICAgICAgIGNhY2hlTmFtZSxcbiAgICAgICAgd2ViaG9va05hbWUsXG4gICAgICB9LFxuICAgICAgZGVzdGluYXRpb246IF9kZXN0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNpZ25pbmcgc2VjcmV0IGZvciBhIHdlYmhvb2tcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSBhc3NvY2lhdGVkIHdpdGggdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdlYmhvb2tOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdlYmhvb2tcbiAgICogQHJldHVybnMge1Byb21pc2U8R2V0V2ViaG9va1NlY3JldC5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIEdldFdlYmhvb2tTZWNyZXQuU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIEdldFdlYmhvb2tTZWNyZXQuRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0V2ViaG9va1NlY3JldChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB3ZWJob29rTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8R2V0V2ViaG9va1NlY3JldC5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQuZ2V0V2ViaG9va1NlY3JldCh7Y2FjaGVOYW1lLCB3ZWJob29rTmFtZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdGF0ZXMgdGhlIHNpZ25pbmcgc2VjcmV0IGZvciBhIHdlYmhvb2tcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSBhc3NvY2lhdGVkIHdpdGggdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdlYmhvb2tOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdlYmhvb2tcbiAgICogQHJldHVybnMge1Byb21pc2U8Um90YXRlV2ViaG9va1NlY3JldC5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFJvdGF0ZVdlYmhvb2tTZWNyZXQuU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFJvdGF0ZVdlYmhvb2tTZWNyZXQuRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcm90YXRlV2ViaG9va1NlY3JldChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB3ZWJob29rTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Um90YXRlV2ViaG9va1NlY3JldC5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQucm90YXRlV2ViaG9va1NlY3JldCh7XG4gICAgICBjYWNoZU5hbWUsXG4gICAgICB3ZWJob29rTmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXROZXh0UHVibGlzaENsaWVudCgpOiBJUHVic3ViQ2xpZW50IHtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLnB1YnN1YlVuYXJ5Q2xpZW50c1t0aGlzLm5leHRQdWJzdWJVbmFyeUNsaWVudEluZGV4XTtcbiAgICB0aGlzLm5leHRQdWJzdWJVbmFyeUNsaWVudEluZGV4ID1cbiAgICAgICh0aGlzLm5leHRQdWJzdWJVbmFyeUNsaWVudEluZGV4ICsgMSkgJSB0aGlzLnB1YnN1YlVuYXJ5Q2xpZW50cy5sZW5ndGg7XG4gICAgcmV0dXJuIGNsaWVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXROZXh0U3Vic2NyaWJlQ2xpZW50KCk6IHtcbiAgICBjbGllbnQ6IElQdWJzdWJDbGllbnQ7XG4gICAgZGVjcmVtZW50U3Vic2NyaXB0aW9uQ291bnQ6ICgpID0+IHZvaWQ7XG4gIH0ge1xuICAgIC8vIENoZWNrIGlmIHRoZXJlJ3MgYW55IGNsaWVudCB3aXRoIGNhcGFjaXR5XG4gICAgbGV0IHRvdGFsQWN0aXZlU3RyZWFtcyA9IDA7XG4gICAgZm9yIChjb25zdCBjbGllbnRXaXRoQ291bnQgb2YgdGhpcy5wdWJzdWJTdHJlYW1DbGllbnRzKSB7XG4gICAgICB0b3RhbEFjdGl2ZVN0cmVhbXMgKz0gY2xpZW50V2l0aENvdW50Lm51bUFjdGl2ZVN1YnNjcmlwdGlvbnM7XG4gICAgfVxuICAgIGlmICh0b3RhbEFjdGl2ZVN0cmVhbXMgPCB0aGlzLm1heENvbmN1cnJlbnRTdWJzY3JpcHRpb25zKSB7XG4gICAgICAvLyBUcnkgdG8gZ2V0IGEgY2xpZW50IHdpdGggY2FwYWNpdHkgZm9yIGFub3RoZXIgc3Vic2NyaXB0aW9uLlxuICAgICAgLy8gQWxsb3cgdXAgdG8gbWF4Q29uY3VycmVudFN1YnNjcmlwdGlvbnMgYXR0ZW1wdHMuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubWF4Q29uY3VycmVudFN1YnNjcmlwdGlvbnM7IGkrKykge1xuICAgICAgICBjb25zdCBjbGllbnRXaXRoQ291bnQgPVxuICAgICAgICAgIHRoaXMucHVic3ViU3RyZWFtQ2xpZW50c1tcbiAgICAgICAgICAgIHRoaXMubmV4dFB1YnN1YlN0cmVhbUNsaWVudEluZGV4ICUgdGhpcy5wdWJzdWJTdHJlYW1DbGllbnRzLmxlbmd0aFxuICAgICAgICAgIF07XG4gICAgICAgIGlmIChjbGllbnRXaXRoQ291bnQubnVtQWN0aXZlU3Vic2NyaXB0aW9ucyA8IDEwMCkge1xuICAgICAgICAgIHRoaXMubmV4dFB1YnN1YlN0cmVhbUNsaWVudEluZGV4Kys7XG4gICAgICAgICAgY2xpZW50V2l0aENvdW50Lm51bUFjdGl2ZVN1YnNjcmlwdGlvbnMrKztcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2xpZW50OiBjbGllbnRXaXRoQ291bnQuY2xpZW50LFxuICAgICAgICAgICAgZGVjcmVtZW50U3Vic2NyaXB0aW9uQ291bnQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgY2xpZW50V2l0aENvdW50Lm51bUFjdGl2ZVN1YnNjcmlwdGlvbnMtLTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGllbnRSZXNvdXJjZUV4aGF1c3RlZEVycm9yKFxuICAgICAgJ0FscmVhZHkgYXQgbWF4aW11bSBudW1iZXIgb2Ygc3Vic2NyaXB0aW9ucydcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -18,18 +18,13 @@ interface TokenAndEndpoints {
18
18
  controlEndpoint: string | undefined;
19
19
  cacheEndpoint: string | undefined;
20
20
  tokenEndpoint: string | undefined;
21
- storageEndpoint: string | undefined;
22
21
  authToken: string;
23
22
  }
24
- export interface Endpoint {
25
- endpoint: string;
26
- secureConnection?: boolean;
27
- }
28
23
  export interface AllEndpoints {
29
- controlEndpoint: Endpoint;
30
- cacheEndpoint: Endpoint;
31
- tokenEndpoint: Endpoint;
32
- storageEndpoint: Endpoint;
24
+ controlEndpoint: string;
25
+ cacheEndpoint: string;
26
+ tokenEndpoint: string;
27
+ secureConnection?: boolean;
33
28
  }
34
29
  export declare function populateAllEndpointsFromBaseEndpoint(endpointOverride: BaseEndpointOverride): AllEndpoints;
35
30
  /**
@@ -15,22 +15,10 @@ function populateAllEndpointsFromBaseEndpoint(endpointOverride) {
15
15
  prefix = `${endpointOverride.endpointPrefix}.`;
16
16
  }
17
17
  return {
18
- controlEndpoint: {
19
- endpoint: `${prefix}control.${endpointOverride.baseEndpoint}`,
20
- secureConnection: endpointOverride.secureConnection,
21
- },
22
- cacheEndpoint: {
23
- endpoint: `${prefix}cache.${endpointOverride.baseEndpoint}`,
24
- secureConnection: endpointOverride.secureConnection,
25
- },
26
- tokenEndpoint: {
27
- endpoint: `${prefix}token.${endpointOverride.baseEndpoint}`,
28
- secureConnection: endpointOverride.secureConnection,
29
- },
30
- storageEndpoint: {
31
- endpoint: `${prefix}storage.${endpointOverride.baseEndpoint}`,
32
- secureConnection: endpointOverride.secureConnection,
33
- },
18
+ controlEndpoint: `${prefix}control.${endpointOverride.baseEndpoint}`,
19
+ cacheEndpoint: `${prefix}cache.${endpointOverride.baseEndpoint}`,
20
+ tokenEndpoint: `${prefix}token.${endpointOverride.baseEndpoint}`,
21
+ secureConnection: endpointOverride.secureConnection,
34
22
  };
35
23
  }
36
24
  exports.populateAllEndpointsFromBaseEndpoint = populateAllEndpointsFromBaseEndpoint;
@@ -57,10 +45,9 @@ const decodeAuthToken = (token) => {
57
45
  baseEndpoint: base64DecodedToken.endpoint,
58
46
  });
59
47
  return {
60
- controlEndpoint: endpoints.controlEndpoint.endpoint,
61
- cacheEndpoint: endpoints.cacheEndpoint.endpoint,
62
- tokenEndpoint: endpoints.tokenEndpoint.endpoint,
63
- storageEndpoint: endpoints.storageEndpoint.endpoint,
48
+ controlEndpoint: endpoints.controlEndpoint,
49
+ cacheEndpoint: endpoints.cacheEndpoint,
50
+ tokenEndpoint: endpoints.tokenEndpoint,
64
51
  authToken: base64DecodedToken.api_key,
65
52
  };
66
53
  }
@@ -73,7 +60,6 @@ const decodeAuthToken = (token) => {
73
60
  controlEndpoint: decodedLegacyToken.cp,
74
61
  cacheEndpoint: decodedLegacyToken.c,
75
62
  tokenEndpoint: decodedLegacyToken.c,
76
- storageEndpoint: decodedLegacyToken.c,
77
63
  authToken: token,
78
64
  };
79
65
  }
@@ -87,4 +73,4 @@ exports.decodeAuthToken = decodeAuthToken;
87
73
  class InternalSuperUserPermissions extends permission_scope_1.PredefinedScope {
88
74
  }
89
75
  exports.InternalSuperUserPermissions = InternalSuperUserPermissions;
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQyx5RUFBbUU7QUFtQm5FLFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQXdCRCxTQUFnQixvQ0FBb0MsQ0FDbEQsZ0JBQXNDO0lBRXRDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQztLQUNoRDtJQUNELE9BQU87UUFDTCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQzdELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtTQUNwRDtRQUNELGFBQWEsRUFBRTtZQUNiLFFBQVEsRUFBRSxHQUFHLE1BQU0sU0FBUyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7WUFDM0QsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1NBQ3BEO1FBQ0QsYUFBYSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEdBQUcsTUFBTSxTQUFTLGdCQUFnQixDQUFDLFlBQVksRUFBRTtZQUMzRCxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7U0FDcEQ7UUFDRCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQzdELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtTQUNwRDtLQUNGLENBQUM7QUFDSixDQUFDO0FBekJELG9GQXlCQztBQUVEOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFxQixFQUFFO0lBQ25FLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksNkJBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN4RDtJQUVELElBQUk7UUFDRix5R0FBeUc7UUFDekcsZ0hBQWdIO1FBQ2hILHFIQUFxSDtRQUNySCx5SEFBeUg7UUFDekgsZ0NBQWdDO1FBQ2hDLElBQUksSUFBQSxxQkFBUSxFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDbkMsSUFBQSx5QkFBZ0IsRUFBQyxLQUFLLENBQUMsQ0FDQSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9ELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQ3pEO1lBQ0QsTUFBTSxTQUFTLEdBQUcsb0NBQW9DLENBQUM7Z0JBQ3JELFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO2FBQzFDLENBQUMsQ0FBQztZQUNILE9BQU87Z0JBQ0wsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUTtnQkFDbkQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDL0MsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLENBQUMsUUFBUTtnQkFDL0MsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUTtnQkFDbkQsU0FBUyxFQUFFLGtCQUFrQixDQUFDLE9BQU87YUFDdEMsQ0FBQztTQUNIO2FBQU07WUFDTCxrSEFBa0g7WUFDbEgsZ0hBQWdIO1lBQ2hILG9IQUFvSDtZQUNwSCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFlLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLE9BQU87Z0JBQ0wsZUFBZSxFQUFFLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ3RDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNuQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkMsZUFBZSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3JDLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUM7U0FDSDtLQUNGO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViw0RUFBNEU7UUFDNUUsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyxDQUFDO0FBN0NXLFFBQUEsZUFBZSxtQkE2QzFCO0FBRUYsTUFBYSw0QkFBNkIsU0FBUSxrQ0FBZTtDQUFHO0FBQXBFLG9FQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW52YWxpZEFyZ3VtZW50RXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgand0RGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnO1xuaW1wb3J0IHtpc0Jhc2U2NH0gZnJvbSAnLi92YWxpZGF0b3JzJztcbmltcG9ydCB7ZGVjb2RlRnJvbUJhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuaW1wb3J0IHtQcmVkZWZpbmVkU2NvcGV9IGZyb20gJy4uLy4uL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuaW1wb3J0IHtCYXNlRW5kcG9pbnRPdmVycmlkZX0gZnJvbSAnLi4vLi4vYXV0aCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q2xhaW1zIHtcbiAgLyoqXG4gICAqIGNvbnRyb2wgcGxhbmUgZW5kcG9pbnRcbiAgICovXG4gIGNwOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBjYWNoZSBlbmRwb2ludFxuICAgKi9cbiAgYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2U2NERlY29kZWRWMVRva2VuIHtcbiAgYXBpX2tleTogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVBdXRoVG9rZW5DbGFpbXM8VD4oYXV0aFRva2VuOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIGp3dERlY29kZTxUPihhdXRoVG9rZW4pO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5BbmRFbmRwb2ludHMge1xuICAvLyBJZiB3ZSBkZWNvZGUgYSBKV1QgdGhhdCBkb2Vzbid0IGFjdHVhbGx5IGhhdmUgdGhlIGNvbnRyb2xFbmRwb2ludC9jYWNoZUVuZHBvaW50IGNsYWltcywgdGhlbiB0aGV5IHdpbGwgY29tZSBiYWNrXG4gIC8vIGFzIHVuZGVmaW5lZDsgdGh1cyB3ZSBuZWVkIHRoZSB0eXBlcyBoZXJlIHRvIGJlIGBzdHJpbmcgfCB1bmRlZmluZWRgLlxuICBjb250cm9sRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FjaGVFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHN0b3JhZ2VFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBhdXRoVG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludCB7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIHNlY3VyZUNvbm5lY3Rpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsbEVuZHBvaW50cyB7XG4gIGNvbnRyb2xFbmRwb2ludDogRW5kcG9pbnQ7XG4gIGNhY2hlRW5kcG9pbnQ6IEVuZHBvaW50O1xuICB0b2tlbkVuZHBvaW50OiBFbmRwb2ludDtcbiAgc3RvcmFnZUVuZHBvaW50OiBFbmRwb2ludDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgZW5kcG9pbnRPdmVycmlkZTogQmFzZUVuZHBvaW50T3ZlcnJpZGVcbik6IEFsbEVuZHBvaW50cyB7XG4gIGxldCBwcmVmaXggPSAnJztcbiAgaWYgKGVuZHBvaW50T3ZlcnJpZGUuZW5kcG9pbnRQcmVmaXgpIHtcbiAgICBwcmVmaXggPSBgJHtlbmRwb2ludE92ZXJyaWRlLmVuZHBvaW50UHJlZml4fS5gO1xuICB9XG4gIHJldHVybiB7XG4gICAgY29udHJvbEVuZHBvaW50OiB7XG4gICAgICBlbmRwb2ludDogYCR7cHJlZml4fWNvbnRyb2wuJHtlbmRwb2ludE92ZXJyaWRlLmJhc2VFbmRwb2ludH1gLFxuICAgICAgc2VjdXJlQ29ubmVjdGlvbjogZW5kcG9pbnRPdmVycmlkZS5zZWN1cmVDb25uZWN0aW9uLFxuICAgIH0sXG4gICAgY2FjaGVFbmRwb2ludDoge1xuICAgICAgZW5kcG9pbnQ6IGAke3ByZWZpeH1jYWNoZS4ke2VuZHBvaW50T3ZlcnJpZGUuYmFzZUVuZHBvaW50fWAsXG4gICAgICBzZWN1cmVDb25uZWN0aW9uOiBlbmRwb2ludE92ZXJyaWRlLnNlY3VyZUNvbm5lY3Rpb24sXG4gICAgfSxcbiAgICB0b2tlbkVuZHBvaW50OiB7XG4gICAgICBlbmRwb2ludDogYCR7cHJlZml4fXRva2VuLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgICB9LFxuICAgIHN0b3JhZ2VFbmRwb2ludDoge1xuICAgICAgZW5kcG9pbnQ6IGAke3ByZWZpeH1zdG9yYWdlLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgICB9LFxuICB9O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b2tlblxuICogQHJldHVybnMgVG9rZW5BbmRFbmRwb2ludHNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlY29kZUF1dGhUb2tlbiA9ICh0b2tlbj86IHN0cmluZyk6IFRva2VuQW5kRW5kcG9pbnRzID0+IHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbWFsZm9ybWVkIGF1dGggdG9rZW4nKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gdjEgYXBpIHRva2VucyBkb24ndCBoYXZlIGFuIGVuZHBvaW50IGFzIHBhcnQgb2YgdGhlaXIgY2xhaW1zLiBJbnN0ZWFkLCB3aGVuIHRoZSBTREsgcmV0dXJucyB0b2tlbnMsIHdlXG4gICAgLy8gZ2l2ZSBpdCB0byB0aGVtIGFzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIG9mICd7IFwiYXBpX2tleVwiOiBcIjx0aGUga2V5PlwiLCBcImVuZHBvaW50XCI6IFwicHJvZC5tb21lbnRvaHEuY29tXCIgfScuXG4gICAgLy8gU2luY2UgaW4gdGhlIG5lYXIgZnV0dXJlLCBtb3N0IGN1c3RvbWVycyBhcmUgZ29pbmcgdG8gYmUgdXNpbmcgdGhlc2UgbmV3ZXIgdG9rZW5zLCB3ZSBhcmUgZmlyc3QgY2hlY2tpbmcgdG8gc2VlIGlmXG4gICAgLy8gdGhleSBhcmUgYmFzZTY0IGVuY29kZWQsIHdoaWNoIHdpbGwgdGVsbCB1cyB0aGF0IHRoZXkgYXJlIG91ciB2MSBhcGkgdG9rZW5zLiBJZiBpdHMgbm90LCB3ZSB3aWxsIGZhbGwgYmFjayB0byBkZWNvZGluZ1xuICAgIC8vIGl0IGFzIG9uZSBvZiBvdXIgbGVnYWN5IGp3dHMuXG4gICAgaWYgKGlzQmFzZTY0KHRva2VuKSkge1xuICAgICAgY29uc3QgYmFzZTY0RGVjb2RlZFRva2VuID0gSlNPTi5wYXJzZShcbiAgICAgICAgZGVjb2RlRnJvbUJhc2U2NCh0b2tlbilcbiAgICAgICkgYXMgQmFzZTY0RGVjb2RlZFYxVG9rZW47XG4gICAgICBpZiAoIWJhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludCB8fCAhYmFzZTY0RGVjb2RlZFRva2VuLmFwaV9rZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdmYWlsZWQgdG8gcGFyc2UgdG9rZW4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVuZHBvaW50cyA9IHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludCh7XG4gICAgICAgIGJhc2VFbmRwb2ludDogYmFzZTY0RGVjb2RlZFRva2VuLmVuZHBvaW50LFxuICAgICAgfSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250cm9sRW5kcG9pbnQ6IGVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuZW5kcG9pbnQsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGVuZHBvaW50cy5jYWNoZUVuZHBvaW50LmVuZHBvaW50LFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBlbmRwb2ludHMudG9rZW5FbmRwb2ludC5lbmRwb2ludCxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBlbmRwb2ludHMuc3RvcmFnZUVuZHBvaW50LmVuZHBvaW50LFxuICAgICAgICBhdXRoVG9rZW46IGJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBkZWNvZGUgZnVuY3Rpb24gdXNlcyBnZW5lcmljcyB0byBhZHZlcnRpc2UgdGhhdCB3ZSB3aWxsIHVzdWFsbHkgZXhwZWN0IHRvIGZpbmQgdGhlIExlZ2FjeUNsYWltcy4gIEhvd2V2ZXIsXG4gICAgICAvLyBpZiB0aGUgdG9rZW4gaXMgYSB2YWxpZCBKV1QgYnV0IG5vdCBhY3R1YWxseSBvbmUgb2Ygb3VyIGxlZ2FjeSB0b2tlbnMsIHRoZSBlbmRwb2ludCBjbGFpbXMgd2lsbCBiZSB1bmRlZmluZWQsXG4gICAgICAvLyB3aGljaCBpcyB3aHkgdGhlIHJldHVybiB0eXBlIGZvciB0aGlzIGZ1bmN0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBjb250cm9sRW5kcG9pbnQvY2FjaGVFbmRwb2ludCBtYXkgYmUgdW5kZWZpbmVkLlxuICAgICAgY29uc3QgZGVjb2RlZExlZ2FjeVRva2VuID0gZGVjb2RlQXV0aFRva2VuQ2xhaW1zPExlZ2FjeUNsYWltcz4odG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uY3AsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgYXV0aFRva2VuOiB0b2tlbixcbiAgICAgIH07XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgZmFpbGVkIHRvIHBhcnNlIHRva2VuOiAke2V9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN1cGVyVXNlclBlcm1pc3Npb25zIGV4dGVuZHMgUHJlZGVmaW5lZFNjb3BlIHt9XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQyx5RUFBbUU7QUFtQm5FLFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQWtCRCxTQUFnQixvQ0FBb0MsQ0FDbEQsZ0JBQXNDO0lBRXRDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQztLQUNoRDtJQUNELE9BQU87UUFDTCxlQUFlLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1FBQ3BFLGFBQWEsRUFBRSxHQUFHLE1BQU0sU0FBUyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7UUFDaEUsYUFBYSxFQUFFLEdBQUcsTUFBTSxTQUFTLGdCQUFnQixDQUFDLFlBQVksRUFBRTtRQUNoRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7S0FDcEQsQ0FBQztBQUNKLENBQUM7QUFiRCxvRkFhQztBQUVEOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFxQixFQUFFO0lBQ25FLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksNkJBQW9CLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUN4RDtJQUVELElBQUk7UUFDRix5R0FBeUc7UUFDekcsZ0hBQWdIO1FBQ2hILHFIQUFxSDtRQUNySCx5SEFBeUg7UUFDekgsZ0NBQWdDO1FBQ2hDLElBQUksSUFBQSxxQkFBUSxFQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDbkMsSUFBQSx5QkFBZ0IsRUFBQyxLQUFLLENBQUMsQ0FDQSxDQUFDO1lBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9ELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO2FBQ3pEO1lBQ0QsTUFBTSxTQUFTLEdBQUcsb0NBQW9DLENBQUM7Z0JBQ3JELFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO2FBQzFDLENBQUMsQ0FBQztZQUNILE9BQU87Z0JBQ0wsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlO2dCQUMxQyxhQUFhLEVBQUUsU0FBUyxDQUFDLGFBQWE7Z0JBQ3RDLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtnQkFDdEMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLE9BQU87YUFDdEMsQ0FBQztTQUNIO2FBQU07WUFDTCxrSEFBa0g7WUFDbEgsZ0hBQWdIO1lBQ2hILG9IQUFvSDtZQUNwSCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFlLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLE9BQU87Z0JBQ0wsZUFBZSxFQUFFLGtCQUFrQixDQUFDLEVBQUU7Z0JBQ3RDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNuQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkMsU0FBUyxFQUFFLEtBQUs7YUFDakIsQ0FBQztTQUNIO0tBQ0Y7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLDRFQUE0RTtRQUM1RSxNQUFNLElBQUksNkJBQW9CLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDL0Q7QUFDSCxDQUFDLENBQUM7QUEzQ1csUUFBQSxlQUFlLG1CQTJDMUI7QUFFRixNQUFhLDRCQUE2QixTQUFRLGtDQUFlO0NBQUc7QUFBcEUsb0VBQW9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnZhbGlkQXJndW1lbnRFcnJvcn0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCBqd3REZWNvZGUgZnJvbSAnand0LWRlY29kZSc7XG5pbXBvcnQge2lzQmFzZTY0fSBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHtkZWNvZGVGcm9tQmFzZTY0fSBmcm9tICcuL3N0cmluZyc7XG5pbXBvcnQge1ByZWRlZmluZWRTY29wZX0gZnJvbSAnLi4vLi4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZSc7XG5pbXBvcnQge0Jhc2VFbmRwb2ludE92ZXJyaWRlfSBmcm9tICcuLi8uLi9hdXRoJztcblxuZXhwb3J0IGludGVyZmFjZSBMZWdhY3lDbGFpbXMge1xuICAvKipcbiAgICogY29udHJvbCBwbGFuZSBlbmRwb2ludFxuICAgKi9cbiAgY3A6IHN0cmluZztcbiAgLyoqXG4gICAqIGNhY2hlIGVuZHBvaW50XG4gICAqL1xuICBjOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZTY0RGVjb2RlZFYxVG9rZW4ge1xuICBhcGlfa2V5OiBzdHJpbmc7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGRlY29kZUF1dGhUb2tlbkNsYWltczxUPihhdXRoVG9rZW46IHN0cmluZyk6IFQge1xuICByZXR1cm4gand0RGVjb2RlPFQ+KGF1dGhUb2tlbik7XG59XG5cbmludGVyZmFjZSBUb2tlbkFuZEVuZHBvaW50cyB7XG4gIC8vIElmIHdlIGRlY29kZSBhIEpXVCB0aGF0IGRvZXNuJ3QgYWN0dWFsbHkgaGF2ZSB0aGUgY29udHJvbEVuZHBvaW50L2NhY2hlRW5kcG9pbnQgY2xhaW1zLCB0aGVuIHRoZXkgd2lsbCBjb21lIGJhY2tcbiAgLy8gYXMgdW5kZWZpbmVkOyB0aHVzIHdlIG5lZWQgdGhlIHR5cGVzIGhlcmUgdG8gYmUgYHN0cmluZyB8IHVuZGVmaW5lZGAuXG4gIGNvbnRyb2xFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjYWNoZUVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHRva2VuRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgYXV0aFRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxsRW5kcG9pbnRzIHtcbiAgY29udHJvbEVuZHBvaW50OiBzdHJpbmc7XG4gIGNhY2hlRW5kcG9pbnQ6IHN0cmluZztcbiAgdG9rZW5FbmRwb2ludDogc3RyaW5nO1xuICBzZWN1cmVDb25uZWN0aW9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgZW5kcG9pbnRPdmVycmlkZTogQmFzZUVuZHBvaW50T3ZlcnJpZGVcbik6IEFsbEVuZHBvaW50cyB7XG4gIGxldCBwcmVmaXggPSAnJztcbiAgaWYgKGVuZHBvaW50T3ZlcnJpZGUuZW5kcG9pbnRQcmVmaXgpIHtcbiAgICBwcmVmaXggPSBgJHtlbmRwb2ludE92ZXJyaWRlLmVuZHBvaW50UHJlZml4fS5gO1xuICB9XG4gIHJldHVybiB7XG4gICAgY29udHJvbEVuZHBvaW50OiBgJHtwcmVmaXh9Y29udHJvbC4ke2VuZHBvaW50T3ZlcnJpZGUuYmFzZUVuZHBvaW50fWAsXG4gICAgY2FjaGVFbmRwb2ludDogYCR7cHJlZml4fWNhY2hlLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICB0b2tlbkVuZHBvaW50OiBgJHtwcmVmaXh9dG9rZW4uJHtlbmRwb2ludE92ZXJyaWRlLmJhc2VFbmRwb2ludH1gLFxuICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgfTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9rZW5cbiAqIEByZXR1cm5zIFRva2VuQW5kRW5kcG9pbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBkZWNvZGVBdXRoVG9rZW4gPSAodG9rZW4/OiBzdHJpbmcpOiBUb2tlbkFuZEVuZHBvaW50cyA9PiB7XG4gIGlmICghdG9rZW4pIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ21hbGZvcm1lZCBhdXRoIHRva2VuJyk7XG4gIH1cblxuICB0cnkge1xuICAgIC8vIHYxIGFwaSB0b2tlbnMgZG9uJ3QgaGF2ZSBhbiBlbmRwb2ludCBhcyBwYXJ0IG9mIHRoZWlyIGNsYWltcy4gSW5zdGVhZCwgd2hlbiB0aGUgU0RLIHJldHVybnMgdG9rZW5zLCB3ZVxuICAgIC8vIGdpdmUgaXQgdG8gdGhlbSBhcyBhIGJhc2U2NCBlbmNvZGVkIHN0cmluZyBvZiAneyBcImFwaV9rZXlcIjogXCI8dGhlIGtleT5cIiwgXCJlbmRwb2ludFwiOiBcInByb2QubW9tZW50b2hxLmNvbVwiIH0nLlxuICAgIC8vIFNpbmNlIGluIHRoZSBuZWFyIGZ1dHVyZSwgbW9zdCBjdXN0b21lcnMgYXJlIGdvaW5nIHRvIGJlIHVzaW5nIHRoZXNlIG5ld2VyIHRva2Vucywgd2UgYXJlIGZpcnN0IGNoZWNraW5nIHRvIHNlZSBpZlxuICAgIC8vIHRoZXkgYXJlIGJhc2U2NCBlbmNvZGVkLCB3aGljaCB3aWxsIHRlbGwgdXMgdGhhdCB0aGV5IGFyZSBvdXIgdjEgYXBpIHRva2Vucy4gSWYgaXRzIG5vdCwgd2Ugd2lsbCBmYWxsIGJhY2sgdG8gZGVjb2RpbmdcbiAgICAvLyBpdCBhcyBvbmUgb2Ygb3VyIGxlZ2FjeSBqd3RzLlxuICAgIGlmIChpc0Jhc2U2NCh0b2tlbikpIHtcbiAgICAgIGNvbnN0IGJhc2U2NERlY29kZWRUb2tlbiA9IEpTT04ucGFyc2UoXG4gICAgICAgIGRlY29kZUZyb21CYXNlNjQodG9rZW4pXG4gICAgICApIGFzIEJhc2U2NERlY29kZWRWMVRva2VuO1xuICAgICAgaWYgKCFiYXNlNjREZWNvZGVkVG9rZW4uZW5kcG9pbnQgfHwgIWJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignZmFpbGVkIHRvIHBhcnNlIHRva2VuJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBlbmRwb2ludHMgPSBwb3B1bGF0ZUFsbEVuZHBvaW50c0Zyb21CYXNlRW5kcG9pbnQoe1xuICAgICAgICBiYXNlRW5kcG9pbnQ6IGJhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBlbmRwb2ludHMuY29udHJvbEVuZHBvaW50LFxuICAgICAgICBjYWNoZUVuZHBvaW50OiBlbmRwb2ludHMuY2FjaGVFbmRwb2ludCxcbiAgICAgICAgdG9rZW5FbmRwb2ludDogZW5kcG9pbnRzLnRva2VuRW5kcG9pbnQsXG4gICAgICAgIGF1dGhUb2tlbjogYmFzZTY0RGVjb2RlZFRva2VuLmFwaV9rZXksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGRlY29kZSBmdW5jdGlvbiB1c2VzIGdlbmVyaWNzIHRvIGFkdmVydGlzZSB0aGF0IHdlIHdpbGwgdXN1YWxseSBleHBlY3QgdG8gZmluZCB0aGUgTGVnYWN5Q2xhaW1zLiAgSG93ZXZlcixcbiAgICAgIC8vIGlmIHRoZSB0b2tlbiBpcyBhIHZhbGlkIEpXVCBidXQgbm90IGFjdHVhbGx5IG9uZSBvZiBvdXIgbGVnYWN5IHRva2VucywgdGhlIGVuZHBvaW50IGNsYWltcyB3aWxsIGJlIHVuZGVmaW5lZCxcbiAgICAgIC8vIHdoaWNoIGlzIHdoeSB0aGUgcmV0dXJuIHR5cGUgZm9yIHRoaXMgZnVuY3Rpb24gc3BlY2lmaWVzIHRoYXQgdGhlIGNvbnRyb2xFbmRwb2ludC9jYWNoZUVuZHBvaW50IG1heSBiZSB1bmRlZmluZWQuXG4gICAgICBjb25zdCBkZWNvZGVkTGVnYWN5VG9rZW4gPSBkZWNvZGVBdXRoVG9rZW5DbGFpbXM8TGVnYWN5Q2xhaW1zPih0b2tlbik7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250cm9sRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jcCxcbiAgICAgICAgY2FjaGVFbmRwb2ludDogZGVjb2RlZExlZ2FjeVRva2VuLmMsXG4gICAgICAgIHRva2VuRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICBhdXRoVG9rZW46IHRva2VuLFxuICAgICAgfTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKGBmYWlsZWQgdG8gcGFyc2UgdG9rZW46ICR7ZX1gKTtcbiAgfVxufTtcblxuZXhwb3J0IGNsYXNzIEludGVybmFsU3VwZXJVc2VyUGVybWlzc2lvbnMgZXh0ZW5kcyBQcmVkZWZpbmVkU2NvcGUge31cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ExpiresIn } from '../../utils';
1
+ import { ExpiresIn, SortedSetSource } from '../../utils';
2
2
  export declare function validateStoreName(name: string): void;
3
3
  export declare function validateCacheName(name: string): void;
4
4
  export declare function validateCacheKeyOrPrefix(name: string): void;
@@ -31,3 +31,4 @@ export declare function validateLeaderboardOffset(offset: number): void;
31
31
  export declare function validateLeaderboardCount(count: number): void;
32
32
  export declare function validateLeaderboardNumberOfElements(numElements: number): void;
33
33
  export declare function validateMaxConcurrentRequests(limit: number): void;
34
+ export declare function validateSortedSetSources(sources: SortedSetSource[]): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateMaxConcurrentRequests = exports.validateLeaderboardNumberOfElements = exports.validateLeaderboardCount = exports.validateLeaderboardOffset = exports.validateLeaderboardRanks = exports.validateLeaderboardName = exports.isBase64 = exports.validateDisposableTokenTokenID = exports.validateDisposableTokenExpiry = exports.validateTimeout = exports.validateValidForSeconds = exports.validateTtlSeconds = exports.validateTtlMinutes = exports.validateTopK = exports.validateNumDimensions = exports.validateIndexName = exports.validateWebhookName = exports.validateTopicName = exports.validateListSliceStartEnd = exports.validateListName = exports.validateDictionaryName = exports.validateSortedSetCount = exports.validateSortedSetOffset = exports.validateSortedSetScores = exports.validateSortedSetRanks = exports.validateSortedSetName = exports.validateSetPopCount = exports.validateSetSampleLimit = exports.validateSetName = exports.validateCacheKeyOrPrefix = exports.validateCacheName = exports.validateStoreName = void 0;
3
+ exports.validateSortedSetSources = exports.validateMaxConcurrentRequests = exports.validateLeaderboardNumberOfElements = exports.validateLeaderboardCount = exports.validateLeaderboardOffset = exports.validateLeaderboardRanks = exports.validateLeaderboardName = exports.isBase64 = exports.validateDisposableTokenTokenID = exports.validateDisposableTokenExpiry = exports.validateTimeout = exports.validateValidForSeconds = exports.validateTtlSeconds = exports.validateTtlMinutes = exports.validateTopK = exports.validateNumDimensions = exports.validateIndexName = exports.validateWebhookName = exports.validateTopicName = exports.validateListSliceStartEnd = exports.validateListName = exports.validateDictionaryName = exports.validateSortedSetCount = exports.validateSortedSetOffset = exports.validateSortedSetScores = exports.validateSortedSetRanks = exports.validateSortedSetName = exports.validateSetPopCount = exports.validateSetSampleLimit = exports.validateSetName = exports.validateCacheKeyOrPrefix = exports.validateCacheName = exports.validateStoreName = void 0;
4
4
  const errors_1 = require("../../errors");
5
5
  const string_1 = require("./string");
6
6
  function validateStoreName(name) {
@@ -228,4 +228,19 @@ function validateMaxConcurrentRequests(limit) {
228
228
  }
229
229
  }
230
230
  exports.validateMaxConcurrentRequests = validateMaxConcurrentRequests;
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUVsRCxxQ0FBMEQ7QUFFMUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFKRCw4Q0FJQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLElBQVk7SUFDNUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDO0FBSkQsOENBSUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFZO0lBQ25ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0tBQzdFO0FBQ0gsQ0FBQztBQUpELDREQUlDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLElBQVk7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDOUQ7QUFDSCxDQUFDO0FBSkQsMENBSUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxLQUFhO0lBQ2xELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNiLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQztBQUpELHdEQUlDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBYTtJQUMvQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7UUFDYixN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QUFDLEVBQUU7UUFDYixNQUFNLElBQUksNkJBQW9CLENBQzVCLDJEQUEyRCxDQUM1RCxDQUFDO0tBQ0g7QUFDSCxDQUFDO0FBTkQsc0VBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludmFsaWRBcmd1bWVudEVycm9yfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtFeHBpcmVzSW59IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7ZGVjb2RlRnJvbUJhc2U2NCwgZW5jb2RlVG9CYXNlNjR9IGZyb20gJy4vc3RyaW5nJztcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU3RvcmVOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc3RvcmUgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NhY2hlIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDYWNoZUtleU9yUHJlZml4KG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY2FjaGUga2V5IG9yIGtleSBwcmVmaXggbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTZXROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc2V0IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTZXRTYW1wbGVMaW1pdChsaW1pdDogbnVtYmVyKSB7XG4gIGlmIChsaW1pdCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2xpbWl0IG11c3QgYmUgbm9uLW5lZ2F0aXZlICg+PSAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldFBvcENvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgaWYgKGNvdW50IDwgMSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY291bnQgbXVzdCBiZSBwb3NpdGl2ZSAoPiAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzb3J0ZWQgc2V0IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRSYW5rcyhzdGFydF9yYW5rOiBudW1iZXIsIGVuZF9yYW5rPzogbnVtYmVyKSB7XG4gIGlmIChlbmRfcmFuayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChzdGFydF9yYW5rID4gMCAmJiBlbmRfcmFuayA+IDAgJiYgc3RhcnRfcmFuayA+IGVuZF9yYW5rKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzdGFydCByYW5rIG11c3QgYmUgbGVzcyB0aGFuIGVuZCByYW5rJyk7XG4gIH1cbiAgaWYgKHN0YXJ0X3JhbmsgPCAwICYmIGVuZF9yYW5rIDwgMCAmJiBzdGFydF9yYW5rID49IGVuZF9yYW5rKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ25lZ2F0aXZlIHN0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gbmVnYXRpdmUgZW5kIHJhbmsnXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRTY29yZXMobWluU2NvcmU/OiBudW1iZXIsIG1heFNjb3JlPzogbnVtYmVyKSB7XG4gIGlmIChtaW5TY29yZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIGlmIChtYXhTY29yZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIGlmIChtaW5TY29yZSA+IG1heFNjb3JlKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ21pblNjb3JlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIG1heFNjb3JlJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0T2Zmc2V0KG9mZnNldDogbnVtYmVyKSB7XG4gIGlmIChvZmZzZXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdvZmZzZXQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0Q291bnQoY291bnQ6IG51bWJlcikge1xuICBpZiAoY291bnQgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjb3VudCBtdXN0IGJlIHN0cmljdGx5IHBvc2l0aXZlICg+IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGljdGlvbmFyeU5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdkaWN0aW9uYXJ5IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMaXN0TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2xpc3QgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxpc3RTbGljZVN0YXJ0RW5kKFxuICBzdGFydEluZGV4PzogbnVtYmVyLFxuICBlbmRJbmRleD86IG51bWJlclxuKSB7XG4gIGlmIChzdGFydEluZGV4ID09PSB1bmRlZmluZWQgfHwgZW5kSW5kZXggPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICAvLyBjYW4ndCB2YWxpZGF0ZSBib3VuZHMgZm9yIHN0YXJ0IGFuZCBpbmRleCBvZiBlaXRoZXIgb3IgYXJlIG5lZ2F0aXZlIHdpdGhvdXQgbGlzdCBsZW5ndGhcbiAgaWYgKHN0YXJ0SW5kZXggPiAwIHx8IGVuZEluZGV4IDwgMCkgcmV0dXJuO1xuICBpZiAoZW5kSW5kZXggPD0gc3RhcnRJbmRleCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdlbmRJbmRleCAoZXhjbHVzaXZlKSBtdXN0IGJlIGxhcmdlciB0aGFuIHN0YXJ0SW5kZXggKGluY2x1c2l2ZSknXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUb3BpY05hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0b3BpYyBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlV2ViaG9va05hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd3ZWJob29rIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVJbmRleE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdpbmRleCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTnVtRGltZW5zaW9ucyhudW1EaW1lbnNpb25zOiBudW1iZXIpIHtcbiAgaWYgKG51bURpbWVuc2lvbnMgPD0gMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbnVtRGltZW5zaW9ucyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVG9wSyh0b3BLOiBudW1iZXIpIHtcbiAgaWYgKHRvcEsgPD0gMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndG9wSyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVHRsTWludXRlcyh0dGxNaW51dGVzOiBudW1iZXIpIHtcbiAgaWYgKHR0bE1pbnV0ZXMgPCAwIHx8ICFOdW1iZXIuaXNTYWZlSW50ZWdlcih0dGxNaW51dGVzKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndHRsTWludXRlcyBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcicpO1xuICB9XG59XG5cbi8vIEN1cnJlbnRseSBhY2NlcHRpbmcgdHRsIGluIHNlY29uZHMsIGJ1dCBpZiBzb21lb25lIHJlcXVlc3RzIHN1cHBvcnQgZm9yIG1pbGxpcyxcbi8vIHRoZSB2YWxpZGF0b3Igd2lsbCBuZWVkIHRvIGNoZWNrIGZvciBOdW1iZXIuaXNTYWZlSW50ZWdlcih0dGwgKiAxMDAwKS5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVR0bFNlY29uZHModHRsOiBudW1iZXIpIHtcbiAgaWYgKHR0bCA8IDAgfHwgIU51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bCkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICBgdHRsIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCByZWNlaXZlZCAke3R0bH1gXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVWYWxpZEZvclNlY29uZHModmFsaWRGb3JTZWNvbmRzOiBudW1iZXIpIHtcbiAgaWYgKHZhbGlkRm9yU2Vjb25kcyA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3ZhbGlkRm9yU2Vjb25kcyBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVGltZW91dCh0aW1lb3V0OiBudW1iZXIpIHtcbiAgaWYgKHRpbWVvdXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0aW1lb3V0IG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEaXNwb3NhYmxlVG9rZW5FeHBpcnkoZXhwaXJlc0luOiBFeHBpcmVzSW4pIHtcbiAgaWYgKCFleHBpcmVzSW4uZG9lc0V4cGlyZSgpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdkaXNwb3NhYmxlIHRva2VucyBtdXN0IGhhdmUgYW4gZXhwaXJ5Jyk7XG4gIH1cbiAgaWYgKGV4cGlyZXNJbi5zZWNvbmRzKCkgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdkaXNwb3NhYmxlIHRva2VuIGV4cGlyeSBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbiAgaWYgKGV4cGlyZXNJbi5zZWNvbmRzKCkgPiA2MCAqIDYwKSB7XG4gICAgLy8gNjAgc2Vjb25kcyAqIDYwIG1pbnV0ZXNcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnZGlzcG9zYWJsZSB0b2tlbnMgbXVzdCBleHBpcmUgd2l0aGluIDEgaG91cidcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURpc3Bvc2FibGVUb2tlblRva2VuSUQodG9rZW5JZDogc3RyaW5nKSB7XG4gIGlmICh0b2tlbklkLmxlbmd0aCA+IDY0KSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ1Rva2VuSUQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gNjQgY2hhcmFjdGVycy4nXG4gICAgKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0VtcHR5KHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiAhc3RyLnRyaW0oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQmFzZTY0KHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGVuY29kZVRvQmFzZTY0KGRlY29kZUZyb21CYXNlNjQoc3RyKSkgPT09IHN0cjtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdsZWFkZXJib2FyZCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmRSYW5rcyhzdGFydF9yYW5rOiBudW1iZXIsIGVuZF9yYW5rOiBudW1iZXIpIHtcbiAgaWYgKHN0YXJ0X3JhbmsgPiAwICYmIGVuZF9yYW5rID4gMCAmJiBzdGFydF9yYW5rID49IGVuZF9yYW5rKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzdGFydCByYW5rIG11c3QgYmUgbGVzcyB0aGFuIGVuZCByYW5rJyk7XG4gIH1cbiAgaWYgKHN0YXJ0X3JhbmsgPCAwIHx8IGVuZF9yYW5rIDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigncmFua3MgbXVzdCBiZSBwb3NpdGl2ZScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkT2Zmc2V0KG9mZnNldDogbnVtYmVyKSB7XG4gIGlmIChvZmZzZXQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdvZmZzZXQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmRDb3VudChjb3VudDogbnVtYmVyKSB7XG4gIGlmIChjb3VudCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NvdW50IG11c3QgYmUgc3RyaWN0bHkgcG9zaXRpdmUgKD4gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZE51bWJlck9mRWxlbWVudHMobnVtRWxlbWVudHM6IG51bWJlcikge1xuICBpZiAobnVtRWxlbWVudHMgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdtdXN0IHByb3ZpZGUgYXQgbGVhc3Qgb25lIGVsZW1lbnQnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVNYXhDb25jdXJyZW50UmVxdWVzdHMobGltaXQ6IG51bWJlcikge1xuICBpZiAobGltaXQgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ2NvbmN1cnJlbnQgcmVxdWVzdHMgbGltaXQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKSdcbiAgICApO1xuICB9XG59XG4iXX0=
231
+ function validateSortedSetSources(sources) {
232
+ if (!sources) {
233
+ throw new errors_1.InvalidArgumentError('At least one sources is required');
234
+ }
235
+ for (const source of sources) {
236
+ const { sortedSetName, weight } = source;
237
+ if (typeof sortedSetName !== 'string' || sortedSetName.length === 0) {
238
+ throw new errors_1.InvalidArgumentError('sortedSetName must be a non-empty string');
239
+ }
240
+ if (!Number.isFinite(weight)) {
241
+ throw new errors_1.InvalidArgumentError('weight must be a finite number');
242
+ }
243
+ }
244
+ }
245
+ exports.validateSortedSetSources = validateSortedSetSources;
246
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUVsRCxxQ0FBMEQ7QUFFMUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFKRCw4Q0FJQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLElBQVk7SUFDNUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDaEU7QUFDSCxDQUFDO0FBSkQsOENBSUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxJQUFZO0lBQ25ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO0tBQzdFO0FBQ0gsQ0FBQztBQUpELDREQUlDO0FBRUQsU0FBZ0IsZUFBZSxDQUFDLElBQVk7SUFDMUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDOUQ7QUFDSCxDQUFDO0FBSkQsMENBSUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxLQUFhO0lBQ2xELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNiLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0tBQ3JFO0FBQ0gsQ0FBQztBQUpELHdEQUlDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBYTtJQUMvQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7UUFDYixN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QUFDLEVBQUU7UUFDYixNQUFNLElBQUksNkJBQW9CLENBQzVCLDJEQUEyRCxDQUM1RCxDQUFDO0tBQ0g7QUFDSCxDQUFDO0FBTkQsc0VBTUM7QUFFRCxTQUFnQix3QkFBd0IsQ0FBQyxPQUEwQjtJQUNqRSxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osTUFBTSxJQUFJLDZCQUFvQixDQUFDLGtDQUFrQyxDQUFDLENBQUM7S0FDcEU7SUFDRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRTtRQUM1QixNQUFNLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBQyxHQUFHLE1BQU0sQ0FBQztRQUV2QyxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNuRSxNQUFNLElBQUksNkJBQW9CLENBQzVCLDBDQUEwQyxDQUMzQyxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksNkJBQW9CLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNsRTtLQUNGO0FBQ0gsQ0FBQztBQWpCRCw0REFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludmFsaWRBcmd1bWVudEVycm9yfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtFeHBpcmVzSW4sIFNvcnRlZFNldFNvdXJjZX0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtkZWNvZGVGcm9tQmFzZTY0LCBlbmNvZGVUb0Jhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTdG9yZU5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzdG9yZSBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ2FjaGVOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY2FjaGUgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlS2V5T3JQcmVmaXgobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjYWNoZSBrZXkgb3Iga2V5IHByZWZpeCBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdzZXQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNldFNhbXBsZUxpbWl0KGxpbWl0OiBudW1iZXIpIHtcbiAgaWYgKGxpbWl0IDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGltaXQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU2V0UG9wQ291bnQoY291bnQ6IG51bWJlcikge1xuICBpZiAoY291bnQgPCAxKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdjb3VudCBtdXN0IGJlIHBvc2l0aXZlICg+IDApJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3NvcnRlZCBzZXQgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldFJhbmtzKHN0YXJ0X3Jhbms6IG51bWJlciwgZW5kX3Jhbms/OiBudW1iZXIpIHtcbiAgaWYgKGVuZF9yYW5rID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHN0YXJ0X3JhbmsgPiAwICYmIGVuZF9yYW5rID4gMCAmJiBzdGFydF9yYW5rID4gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3N0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHJhbmsnKTtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA8IDAgJiYgZW5kX3JhbmsgPCAwICYmIHN0YXJ0X3JhbmsgPj0gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnbmVnYXRpdmUgc3RhcnQgcmFuayBtdXN0IGJlIGxlc3MgdGhhbiBuZWdhdGl2ZSBlbmQgcmFuaydcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldFNjb3JlcyhtaW5TY29yZT86IG51bWJlciwgbWF4U2NvcmU/OiBudW1iZXIpIHtcbiAgaWYgKG1pblNjb3JlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKG1heFNjb3JlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKG1pblNjb3JlID4gbWF4U2NvcmUpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnbWluU2NvcmUgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gbWF4U2NvcmUnXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRPZmZzZXQob2Zmc2V0OiBudW1iZXIpIHtcbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ29mZnNldCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoPj0gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXRDb3VudChjb3VudDogbnVtYmVyKSB7XG4gIGlmIChjb3VudCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NvdW50IG11c3QgYmUgc3RyaWN0bHkgcG9zaXRpdmUgKD4gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEaWN0aW9uYXJ5TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2RpY3Rpb25hcnkgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxpc3ROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbGlzdCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGlzdFNsaWNlU3RhcnRFbmQoXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXIsXG4gIGVuZEluZGV4PzogbnVtYmVyXG4pIHtcbiAgaWYgKHN0YXJ0SW5kZXggPT09IHVuZGVmaW5lZCB8fCBlbmRJbmRleCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIC8vIGNhbid0IHZhbGlkYXRlIGJvdW5kcyBmb3Igc3RhcnQgYW5kIGluZGV4IG9mIGVpdGhlciBvciBhcmUgbmVnYXRpdmUgd2l0aG91dCBsaXN0IGxlbmd0aFxuICBpZiAoc3RhcnRJbmRleCA+IDAgfHwgZW5kSW5kZXggPCAwKSByZXR1cm47XG4gIGlmIChlbmRJbmRleCA8PSBzdGFydEluZGV4KSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgJ2VuZEluZGV4IChleGNsdXNpdmUpIG11c3QgYmUgbGFyZ2VyIHRoYW4gc3RhcnRJbmRleCAoaW5jbHVzaXZlKSdcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVRvcGljTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3RvcGljIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVXZWJob29rTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3dlYmhvb2sgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUluZGV4TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2luZGV4IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOdW1EaW1lbnNpb25zKG51bURpbWVuc2lvbnM6IG51bWJlcikge1xuICBpZiAobnVtRGltZW5zaW9ucyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdudW1EaW1lbnNpb25zIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUb3BLKHRvcEs6IG51bWJlcikge1xuICBpZiAodG9wSyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0b3BLIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUdGxNaW51dGVzKHR0bE1pbnV0ZXM6IG51bWJlcikge1xuICBpZiAodHRsTWludXRlcyA8IDAgfHwgIU51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bE1pbnV0ZXMpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0dGxNaW51dGVzIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyJyk7XG4gIH1cbn1cblxuLy8gQ3VycmVudGx5IGFjY2VwdGluZyB0dGwgaW4gc2Vjb25kcywgYnV0IGlmIHNvbWVvbmUgcmVxdWVzdHMgc3VwcG9ydCBmb3IgbWlsbGlzLFxuLy8gdGhlIHZhbGlkYXRvciB3aWxsIG5lZWQgdG8gY2hlY2sgZm9yIE51bWJlci5pc1NhZmVJbnRlZ2VyKHR0bCAqIDEwMDApLlxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVHRsU2Vjb25kcyh0dGw6IG51bWJlcikge1xuICBpZiAodHRsIDwgMCB8fCAhTnVtYmVyLmlzU2FmZUludGVnZXIodHRsKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgIGB0dGwgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIHJlY2VpdmVkICR7dHRsfWBcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVZhbGlkRm9yU2Vjb25kcyh2YWxpZEZvclNlY29uZHM6IG51bWJlcikge1xuICBpZiAodmFsaWRGb3JTZWNvbmRzIDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndmFsaWRGb3JTZWNvbmRzIG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcikge1xuICBpZiAodGltZW91dCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3RpbWVvdXQgbXVzdCBiZSBwb3NpdGl2ZScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURpc3Bvc2FibGVUb2tlbkV4cGlyeShleHBpcmVzSW46IEV4cGlyZXNJbikge1xuICBpZiAoIWV4cGlyZXNJbi5kb2VzRXhwaXJlKCkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Rpc3Bvc2FibGUgdG9rZW5zIG11c3QgaGF2ZSBhbiBleHBpcnknKTtcbiAgfVxuICBpZiAoZXhwaXJlc0luLnNlY29uZHMoKSA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Rpc3Bvc2FibGUgdG9rZW4gZXhwaXJ5IG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxuICBpZiAoZXhwaXJlc0luLnNlY29uZHMoKSA+IDYwICogNjApIHtcbiAgICAvLyA2MCBzZWNvbmRzICogNjAgbWludXRlc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdkaXNwb3NhYmxlIHRva2VucyBtdXN0IGV4cGlyZSB3aXRoaW4gMSBob3VyJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGlzcG9zYWJsZVRva2VuVG9rZW5JRCh0b2tlbklkOiBzdHJpbmcpIHtcbiAgaWYgKHRva2VuSWQubGVuZ3RoID4gNjQpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnVG9rZW5JRCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byA2NCBjaGFyYWN0ZXJzLidcbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzRW1wdHkoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuICFzdHIudHJpbSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNCYXNlNjQoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZW5jb2RlVG9CYXNlNjQoZGVjb2RlRnJvbUJhc2U2NChzdHIpKSA9PT0gc3RyO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2xlYWRlcmJvYXJkIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZFJhbmtzKHN0YXJ0X3Jhbms6IG51bWJlciwgZW5kX3Jhbms6IG51bWJlcikge1xuICBpZiAoc3RhcnRfcmFuayA+IDAgJiYgZW5kX3JhbmsgPiAwICYmIHN0YXJ0X3JhbmsgPj0gZW5kX3JhbmspIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3N0YXJ0IHJhbmsgbXVzdCBiZSBsZXNzIHRoYW4gZW5kIHJhbmsnKTtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA8IDAgfHwgZW5kX3JhbmsgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdyYW5rcyBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGVhZGVyYm9hcmRPZmZzZXQob2Zmc2V0OiBudW1iZXIpIHtcbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ29mZnNldCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoPj0gMCknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMZWFkZXJib2FyZENvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgaWYgKGNvdW50IDwgMSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY291bnQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxlYWRlcmJvYXJkTnVtYmVyT2ZFbGVtZW50cyhudW1FbGVtZW50czogbnVtYmVyKSB7XG4gIGlmIChudW1FbGVtZW50cyA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ211c3QgcHJvdmlkZSBhdCBsZWFzdCBvbmUgZWxlbWVudCcpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU1heENvbmN1cnJlbnRSZXF1ZXN0cyhsaW1pdDogbnVtYmVyKSB7XG4gIGlmIChsaW1pdCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnY29uY3VycmVudCByZXF1ZXN0cyBsaW1pdCBtdXN0IGJlIHN0cmljdGx5IHBvc2l0aXZlICg+IDApJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0U291cmNlcyhzb3VyY2VzOiBTb3J0ZWRTZXRTb3VyY2VbXSkge1xuICBpZiAoIXNvdXJjZXMpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ0F0IGxlYXN0IG9uZSBzb3VyY2VzIGlzIHJlcXVpcmVkJyk7XG4gIH1cbiAgZm9yIChjb25zdCBzb3VyY2Ugb2Ygc291cmNlcykge1xuICAgIGNvbnN0IHtzb3J0ZWRTZXROYW1lLCB3ZWlnaHR9ID0gc291cmNlO1xuXG4gICAgaWYgKHR5cGVvZiBzb3J0ZWRTZXROYW1lICE9PSAnc3RyaW5nJyB8fCBzb3J0ZWRTZXROYW1lLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgICAnc29ydGVkU2V0TmFtZSBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZydcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFOdW1iZXIuaXNGaW5pdGUod2VpZ2h0KSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd3ZWlnaHQgbXVzdCBiZSBhIGZpbml0ZSBudW1iZXInKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { SdkError } from '../../errors';
2
+ import { BaseResponseError, BaseResponseSuccess } from './response-base';
3
+ import { CacheSortedSetUnionStoreResponse } from './enums';
4
+ interface IResponse {
5
+ readonly type: CacheSortedSetUnionStoreResponse;
6
+ }
7
+ /**
8
+ * Indicates a Successful sorted set union store request.
9
+ */
10
+ export declare class Success extends BaseResponseSuccess implements IResponse {
11
+ readonly type: CacheSortedSetUnionStoreResponse.Success;
12
+ private readonly _length;
13
+ constructor(length: number);
14
+ /**
15
+ * Returns the length of the sorted set
16
+ * @returns {number}
17
+ */
18
+ length(): number;
19
+ toString(): string;
20
+ }
21
+ export declare class Error extends BaseResponseError implements IResponse {
22
+ readonly type: CacheSortedSetUnionStoreResponse.Error;
23
+ constructor(error: SdkError);
24
+ }
25
+ export type Response = Success | Error;
26
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Error = exports.Success = void 0;
4
+ const response_base_1 = require("./response-base");
5
+ const enums_1 = require("./enums");
6
+ /**
7
+ * Indicates a Successful sorted set union store request.
8
+ */
9
+ class Success extends response_base_1.BaseResponseSuccess {
10
+ constructor(length) {
11
+ super();
12
+ this.type = enums_1.CacheSortedSetUnionStoreResponse.Success;
13
+ this._length = length;
14
+ }
15
+ /**
16
+ * Returns the length of the sorted set
17
+ * @returns {number}
18
+ */
19
+ length() {
20
+ return this._length;
21
+ }
22
+ toString() {
23
+ return `${super.toString()}: length ${this._length}`;
24
+ }
25
+ }
26
+ exports.Success = Success;
27
+ class Error extends response_base_1.BaseResponseError {
28
+ constructor(error) {
29
+ super(error);
30
+ this.type = enums_1.CacheSortedSetUnionStoreResponse.Error;
31
+ }
32
+ }
33
+ exports.Error = Error;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtc29ydGVkLXNldC11bmlvbi1zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC11bmlvbi1zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtREFBdUU7QUFDdkUsbUNBQXlEO0FBTXpEOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsbUNBQW1CO0lBSzlDLFlBQVksTUFBYztRQUN4QixLQUFLLEVBQUUsQ0FBQztRQUxELFNBQUksR0FDWCx3Q0FBZ0MsQ0FBQyxPQUFPLENBQUM7UUFLekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUNEOzs7T0FHRztJQUNJLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNlLFFBQVE7UUFDdEIsT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsWUFBWSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkQsQ0FBQztDQUNGO0FBbkJELDBCQW1CQztBQUVELE1BQWEsS0FBTSxTQUFRLGlDQUFpQjtJQUkxQyxZQUFZLEtBQWU7UUFDekIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSk4sU0FBSSxHQUNYLHdDQUFnQyxDQUFDLEtBQUssQ0FBQztJQUl6QyxDQUFDO0NBQ0Y7QUFQRCxzQkFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge0Jhc2VSZXNwb25zZUVycm9yLCBCYXNlUmVzcG9uc2VTdWNjZXNzfSBmcm9tICcuL3Jlc3BvbnNlLWJhc2UnO1xuaW1wb3J0IHtDYWNoZVNvcnRlZFNldFVuaW9uU3RvcmVSZXNwb25zZX0gZnJvbSAnLi9lbnVtcyc7XG5cbmludGVyZmFjZSBJUmVzcG9uc2Uge1xuICByZWFkb25seSB0eXBlOiBDYWNoZVNvcnRlZFNldFVuaW9uU3RvcmVSZXNwb25zZTtcbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgYSBTdWNjZXNzZnVsIHNvcnRlZCBzZXQgdW5pb24gc3RvcmUgcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1Y2Nlc3MgZXh0ZW5kcyBCYXNlUmVzcG9uc2VTdWNjZXNzIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdHlwZTogQ2FjaGVTb3J0ZWRTZXRVbmlvblN0b3JlUmVzcG9uc2UuU3VjY2VzcyA9XG4gICAgQ2FjaGVTb3J0ZWRTZXRVbmlvblN0b3JlUmVzcG9uc2UuU3VjY2VzcztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9sZW5ndGg6IG51bWJlcjtcbiAgY29uc3RydWN0b3IobGVuZ3RoOiBudW1iZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2xlbmd0aCA9IGxlbmd0aDtcbiAgfVxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSBzb3J0ZWQgc2V0XG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBwdWJsaWMgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xlbmd0aDtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7c3VwZXIudG9TdHJpbmcoKX06IGxlbmd0aCAke3RoaXMuX2xlbmd0aH1gO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFcnJvciBleHRlbmRzIEJhc2VSZXNwb25zZUVycm9yIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdHlwZTogQ2FjaGVTb3J0ZWRTZXRVbmlvblN0b3JlUmVzcG9uc2UuRXJyb3IgPVxuICAgIENhY2hlU29ydGVkU2V0VW5pb25TdG9yZVJlc3BvbnNlLkVycm9yO1xuXG4gIGNvbnN0cnVjdG9yKGVycm9yOiBTZGtFcnJvcikge1xuICAgIHN1cGVyKGVycm9yKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZXNwb25zZSA9IFN1Y2Nlc3MgfCBFcnJvcjtcbiJdfQ==
@@ -48,3 +48,7 @@ export declare enum CacheSortedSetRemoveElementsResponse {
48
48
  Success = "Success",
49
49
  Error = "Error"
50
50
  }
51
+ export declare enum CacheSortedSetUnionStoreResponse {
52
+ Success = "Success",
53
+ Error = "Error"
54
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CacheSortedSetRemoveElementsResponse = exports.CacheSortedSetRemoveElementResponse = exports.CacheSortedSetPutElementsResponse = exports.CacheSortedSetPutElementResponse = exports.CacheSortedSetLengthByScoreResponse = exports.CacheSortedSetLengthResponse = exports.CacheSortedSetIncrementScoreResponse = exports.CacheSortedSetGetScoresResponse = exports.CacheSortedSetGetScoreResponse = exports.CacheSortedSetGetRankResponse = exports.CacheSortedSetFetchResponse = void 0;
3
+ exports.CacheSortedSetUnionStoreResponse = exports.CacheSortedSetRemoveElementsResponse = exports.CacheSortedSetRemoveElementResponse = exports.CacheSortedSetPutElementsResponse = exports.CacheSortedSetPutElementResponse = exports.CacheSortedSetLengthByScoreResponse = exports.CacheSortedSetLengthResponse = exports.CacheSortedSetIncrementScoreResponse = exports.CacheSortedSetGetScoresResponse = exports.CacheSortedSetGetScoreResponse = exports.CacheSortedSetGetRankResponse = exports.CacheSortedSetFetchResponse = void 0;
4
4
  var CacheSortedSetFetchResponse;
5
5
  (function (CacheSortedSetFetchResponse) {
6
6
  CacheSortedSetFetchResponse["Hit"] = "Hit";
@@ -62,4 +62,9 @@ var CacheSortedSetRemoveElementsResponse;
62
62
  CacheSortedSetRemoveElementsResponse["Success"] = "Success";
63
63
  CacheSortedSetRemoveElementsResponse["Error"] = "Error";
64
64
  })(CacheSortedSetRemoveElementsResponse = exports.CacheSortedSetRemoveElementsResponse || (exports.CacheSortedSetRemoveElementsResponse = {}));
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zL2NhY2hlL3NvcnRlZC1zZXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSwyQkFJWDtBQUpELFdBQVksMkJBQTJCO0lBQ3JDLDBDQUFXLENBQUE7SUFDWCw0Q0FBYSxDQUFBO0lBQ2IsOENBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSlcsMkJBQTJCLEdBQTNCLG1DQUEyQixLQUEzQixtQ0FBMkIsUUFJdEM7QUFFRCxJQUFZLDZCQUlYO0FBSkQsV0FBWSw2QkFBNkI7SUFDdkMsNENBQVcsQ0FBQTtJQUNYLDhDQUFhLENBQUE7SUFDYixnREFBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyw2QkFBNkIsR0FBN0IscUNBQTZCLEtBQTdCLHFDQUE2QixRQUl4QztBQUVELElBQVksOEJBSVg7QUFKRCxXQUFZLDhCQUE4QjtJQUN4Qyw2Q0FBVyxDQUFBO0lBQ1gsK0NBQWEsQ0FBQTtJQUNiLGlEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLDhCQUE4QixHQUE5QixzQ0FBOEIsS0FBOUIsc0NBQThCLFFBSXpDO0FBRUQsSUFBWSwrQkFJWDtBQUpELFdBQVksK0JBQStCO0lBQ3pDLDhDQUFXLENBQUE7SUFDWCxnREFBYSxDQUFBO0lBQ2Isa0RBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSlcsK0JBQStCLEdBQS9CLHVDQUErQixLQUEvQix1Q0FBK0IsUUFJMUM7QUFFRCxJQUFZLG9DQUdYO0FBSEQsV0FBWSxvQ0FBb0M7SUFDOUMsMkRBQW1CLENBQUE7SUFDbkIsdURBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsb0NBQW9DLEdBQXBDLDRDQUFvQyxLQUFwQyw0Q0FBb0MsUUFHL0M7QUFFRCxJQUFZLDRCQUlYO0FBSkQsV0FBWSw0QkFBNEI7SUFDdEMsMkNBQVcsQ0FBQTtJQUNYLDZDQUFhLENBQUE7SUFDYiwrQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyw0QkFBNEIsR0FBNUIsb0NBQTRCLEtBQTVCLG9DQUE0QixRQUl2QztBQUVELElBQVksbUNBSVg7QUFKRCxXQUFZLG1DQUFtQztJQUM3QyxrREFBVyxDQUFBO0lBQ1gsb0RBQWEsQ0FBQTtJQUNiLHNEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLG1DQUFtQyxHQUFuQywyQ0FBbUMsS0FBbkMsMkNBQW1DLFFBSTlDO0FBRUQsSUFBWSxnQ0FHWDtBQUhELFdBQVksZ0NBQWdDO0lBQzFDLHVEQUFtQixDQUFBO0lBQ25CLG1EQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGdDQUFnQyxHQUFoQyx3Q0FBZ0MsS0FBaEMsd0NBQWdDLFFBRzNDO0FBRUQsSUFBWSxpQ0FHWDtBQUhELFdBQVksaUNBQWlDO0lBQzNDLHdEQUFtQixDQUFBO0lBQ25CLG9EQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGlDQUFpQyxHQUFqQyx5Q0FBaUMsS0FBakMseUNBQWlDLFFBRzVDO0FBRUQsSUFBWSxtQ0FHWDtBQUhELFdBQVksbUNBQW1DO0lBQzdDLDBEQUFtQixDQUFBO0lBQ25CLHNEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLG1DQUFtQyxHQUFuQywyQ0FBbUMsS0FBbkMsMkNBQW1DLFFBRzlDO0FBRUQsSUFBWSxvQ0FHWDtBQUhELFdBQVksb0NBQW9DO0lBQzlDLDJEQUFtQixDQUFBO0lBQ25CLHVEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLG9DQUFvQyxHQUFwQyw0Q0FBb0MsS0FBcEMsNENBQW9DLFFBRy9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRGZXRjaFJlc3BvbnNlIHtcbiAgSGl0ID0gJ0hpdCcsXG4gIE1pc3MgPSAnTWlzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRHZXRSYW5rUmVzcG9uc2Uge1xuICBIaXQgPSAnSGl0JyxcbiAgTWlzcyA9ICdNaXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldEdldFNjb3JlUmVzcG9uc2Uge1xuICBIaXQgPSAnSGl0JyxcbiAgTWlzcyA9ICdNaXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldEdldFNjb3Jlc1Jlc3BvbnNlIHtcbiAgSGl0ID0gJ0hpdCcsXG4gIE1pc3MgPSAnTWlzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRJbmNyZW1lbnRTY29yZVJlc3BvbnNlIHtcbiAgU3VjY2VzcyA9ICdTdWNjZXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldExlbmd0aFJlc3BvbnNlIHtcbiAgSGl0ID0gJ0hpdCcsXG4gIE1pc3MgPSAnTWlzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlUmVzcG9uc2Uge1xuICBIaXQgPSAnSGl0JyxcbiAgTWlzcyA9ICdNaXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRSZXNwb25zZSB7XG4gIFN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50c1Jlc3BvbnNlIHtcbiAgU3VjY2VzcyA9ICdTdWNjZXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRSZXNwb25zZSB7XG4gIFN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50c1Jlc3BvbnNlIHtcbiAgU3VjY2VzcyA9ICdTdWNjZXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuIl19
65
+ var CacheSortedSetUnionStoreResponse;
66
+ (function (CacheSortedSetUnionStoreResponse) {
67
+ CacheSortedSetUnionStoreResponse["Success"] = "Success";
68
+ CacheSortedSetUnionStoreResponse["Error"] = "Error";
69
+ })(CacheSortedSetUnionStoreResponse = exports.CacheSortedSetUnionStoreResponse || (exports.CacheSortedSetUnionStoreResponse = {}));
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2VudW1zL2NhY2hlL3NvcnRlZC1zZXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSwyQkFJWDtBQUpELFdBQVksMkJBQTJCO0lBQ3JDLDBDQUFXLENBQUE7SUFDWCw0Q0FBYSxDQUFBO0lBQ2IsOENBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSlcsMkJBQTJCLEdBQTNCLG1DQUEyQixLQUEzQixtQ0FBMkIsUUFJdEM7QUFFRCxJQUFZLDZCQUlYO0FBSkQsV0FBWSw2QkFBNkI7SUFDdkMsNENBQVcsQ0FBQTtJQUNYLDhDQUFhLENBQUE7SUFDYixnREFBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyw2QkFBNkIsR0FBN0IscUNBQTZCLEtBQTdCLHFDQUE2QixRQUl4QztBQUVELElBQVksOEJBSVg7QUFKRCxXQUFZLDhCQUE4QjtJQUN4Qyw2Q0FBVyxDQUFBO0lBQ1gsK0NBQWEsQ0FBQTtJQUNiLGlEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLDhCQUE4QixHQUE5QixzQ0FBOEIsS0FBOUIsc0NBQThCLFFBSXpDO0FBRUQsSUFBWSwrQkFJWDtBQUpELFdBQVksK0JBQStCO0lBQ3pDLDhDQUFXLENBQUE7SUFDWCxnREFBYSxDQUFBO0lBQ2Isa0RBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSlcsK0JBQStCLEdBQS9CLHVDQUErQixLQUEvQix1Q0FBK0IsUUFJMUM7QUFFRCxJQUFZLG9DQUdYO0FBSEQsV0FBWSxvQ0FBb0M7SUFDOUMsMkRBQW1CLENBQUE7SUFDbkIsdURBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsb0NBQW9DLEdBQXBDLDRDQUFvQyxLQUFwQyw0Q0FBb0MsUUFHL0M7QUFFRCxJQUFZLDRCQUlYO0FBSkQsV0FBWSw0QkFBNEI7SUFDdEMsMkNBQVcsQ0FBQTtJQUNYLDZDQUFhLENBQUE7SUFDYiwrQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFKVyw0QkFBNEIsR0FBNUIsb0NBQTRCLEtBQTVCLG9DQUE0QixRQUl2QztBQUVELElBQVksbUNBSVg7QUFKRCxXQUFZLG1DQUFtQztJQUM3QyxrREFBVyxDQUFBO0lBQ1gsb0RBQWEsQ0FBQTtJQUNiLHNEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLG1DQUFtQyxHQUFuQywyQ0FBbUMsS0FBbkMsMkNBQW1DLFFBSTlDO0FBRUQsSUFBWSxnQ0FHWDtBQUhELFdBQVksZ0NBQWdDO0lBQzFDLHVEQUFtQixDQUFBO0lBQ25CLG1EQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGdDQUFnQyxHQUFoQyx3Q0FBZ0MsS0FBaEMsd0NBQWdDLFFBRzNDO0FBRUQsSUFBWSxpQ0FHWDtBQUhELFdBQVksaUNBQWlDO0lBQzNDLHdEQUFtQixDQUFBO0lBQ25CLG9EQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGlDQUFpQyxHQUFqQyx5Q0FBaUMsS0FBakMseUNBQWlDLFFBRzVDO0FBRUQsSUFBWSxtQ0FHWDtBQUhELFdBQVksbUNBQW1DO0lBQzdDLDBEQUFtQixDQUFBO0lBQ25CLHNEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLG1DQUFtQyxHQUFuQywyQ0FBbUMsS0FBbkMsMkNBQW1DLFFBRzlDO0FBRUQsSUFBWSxvQ0FHWDtBQUhELFdBQVksb0NBQW9DO0lBQzlDLDJEQUFtQixDQUFBO0lBQ25CLHVEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLG9DQUFvQyxHQUFwQyw0Q0FBb0MsS0FBcEMsNENBQW9DLFFBRy9DO0FBRUQsSUFBWSxnQ0FHWDtBQUhELFdBQVksZ0NBQWdDO0lBQzFDLHVEQUFtQixDQUFBO0lBQ25CLG1EQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGdDQUFnQyxHQUFoQyx3Q0FBZ0MsS0FBaEMsd0NBQWdDLFFBRzNDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRGZXRjaFJlc3BvbnNlIHtcbiAgSGl0ID0gJ0hpdCcsXG4gIE1pc3MgPSAnTWlzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRHZXRSYW5rUmVzcG9uc2Uge1xuICBIaXQgPSAnSGl0JyxcbiAgTWlzcyA9ICdNaXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldEdldFNjb3JlUmVzcG9uc2Uge1xuICBIaXQgPSAnSGl0JyxcbiAgTWlzcyA9ICdNaXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldEdldFNjb3Jlc1Jlc3BvbnNlIHtcbiAgSGl0ID0gJ0hpdCcsXG4gIE1pc3MgPSAnTWlzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRJbmNyZW1lbnRTY29yZVJlc3BvbnNlIHtcbiAgU3VjY2VzcyA9ICdTdWNjZXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldExlbmd0aFJlc3BvbnNlIHtcbiAgSGl0ID0gJ0hpdCcsXG4gIE1pc3MgPSAnTWlzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlUmVzcG9uc2Uge1xuICBIaXQgPSAnSGl0JyxcbiAgTWlzcyA9ICdNaXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRSZXNwb25zZSB7XG4gIFN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50c1Jlc3BvbnNlIHtcbiAgU3VjY2VzcyA9ICdTdWNjZXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRSZXNwb25zZSB7XG4gIFN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cblxuZXhwb3J0IGVudW0gQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50c1Jlc3BvbnNlIHtcbiAgU3VjY2VzcyA9ICdTdWNjZXNzJyxcbiAgRXJyb3IgPSAnRXJyb3InLFxufVxuXG5leHBvcnQgZW51bSBDYWNoZVNvcnRlZFNldFVuaW9uU3RvcmVSZXNwb25zZSB7XG4gIFN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIEVycm9yID0gJ0Vycm9yJyxcbn1cbiJdfQ==
@@ -122,6 +122,22 @@ export interface SortedSetLengthByScoreCallOptions {
122
122
  */
123
123
  maxScore?: number;
124
124
  }
125
+ export declare enum SortedSetAggregate {
126
+ SUM = 0,
127
+ MIN = 1,
128
+ MAX = 2
129
+ }
130
+ export interface SortedSetUnionStoreCallOptions {
131
+ /**
132
+ * A function to determine the final score for an element that exists in multiple source sets.
133
+ * If the function is not specified, the aggregate function defaults to SUM.
134
+ */
135
+ aggregate?: SortedSetAggregate;
136
+ /**
137
+ * The time to live in seconds of the object being modified.
138
+ */
139
+ ttl?: CollectionTtl;
140
+ }
125
141
  export interface ListRetainCallOptions extends CollectionCallOptions {
126
142
  /**
127
143
  * Starting inclusive index of operation.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LeaderboardOrder = exports.SortedSetOrder = exports.ttlOrFromCacheTtl = void 0;
3
+ exports.LeaderboardOrder = exports.SortedSetAggregate = exports.SortedSetOrder = exports.ttlOrFromCacheTtl = void 0;
4
4
  const collection_ttl_1 = require("./collection-ttl");
5
5
  /**
6
6
  * Returns the TTL from the options or refresh with the cache TTL.
@@ -18,9 +18,15 @@ var SortedSetOrder;
18
18
  SortedSetOrder["Ascending"] = "ASC";
19
19
  SortedSetOrder["Descending"] = "DESC";
20
20
  })(SortedSetOrder = exports.SortedSetOrder || (exports.SortedSetOrder = {}));
21
+ var SortedSetAggregate;
22
+ (function (SortedSetAggregate) {
23
+ SortedSetAggregate[SortedSetAggregate["SUM"] = 0] = "SUM";
24
+ SortedSetAggregate[SortedSetAggregate["MIN"] = 1] = "MIN";
25
+ SortedSetAggregate[SortedSetAggregate["MAX"] = 2] = "MAX";
26
+ })(SortedSetAggregate = exports.SortedSetAggregate || (exports.SortedSetAggregate = {}));
21
27
  var LeaderboardOrder;
22
28
  (function (LeaderboardOrder) {
23
29
  LeaderboardOrder["Ascending"] = "ASC";
24
30
  LeaderboardOrder["Descending"] = "DESC";
25
31
  })(LeaderboardOrder = exports.LeaderboardOrder || (exports.LeaderboardOrder = {}));
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtY2FsbC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2NhY2hlLWNhbGwtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBK0M7QUEwQy9DOzs7OztHQUtHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQy9CLE9BQStCOztJQUUvQixPQUFPLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEdBQUcsbUNBQUksOEJBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUN0RCxDQUFDO0FBSkQsOENBSUM7QUFnQkQsSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLG1DQUFpQixDQUFBO0lBQ2pCLHFDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUd6QjtBQWtHRCxJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIscUNBQWlCLENBQUE7SUFDakIsdUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb2xsZWN0aW9uVHRsfSBmcm9tICcuL2NvbGxlY3Rpb24tdHRsJztcblxuZXhwb3J0IGludGVyZmFjZSBTY2FsYXJDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGltZSB0byBsaXZlIGluIHNlY29uZHMgb2YgdGhlIG9iamVjdCBiZWluZyBtb2RpZmllZC5cbiAgICovXG4gIHR0bD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wcmVzc2FibGVDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbXByZXNzIHRoZSBkYXRhLlxuICAgKi9cbiAgY29tcHJlc3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY29tcHJlc3NhYmxlQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBkZWNvbXByZXNzIHRoZSBkYXRhLiBPdmVycmlkZXMgdGhlIGNsaWVudC13aWRlIGF1dG9tYXRpYyBkZWNvbXByZXNzaW9uIHNldHRpbmcuXG4gICAqL1xuICBkZWNvbXByZXNzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXRDYWxsT3B0aW9uc1xuICBleHRlbmRzIFNjYWxhckNhbGxPcHRpb25zLFxuICAgIENvbXByZXNzYWJsZUNhbGxPcHRpb25zIHt9XG5leHBvcnQgdHlwZSBTZXRCYXRjaENhbGxPcHRpb25zID0gU2V0Q2FsbE9wdGlvbnM7XG5cbmV4cG9ydCB0eXBlIEdldENhbGxPcHRpb25zID0gRGVjb21wcmVzc2FibGVDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIEdldEJhdGNoQ2FsbE9wdGlvbnMgPSBHZXRDYWxsT3B0aW9ucztcblxuZXhwb3J0IGludGVyZmFjZSBTZXRJZkFic2VudENhbGxPcHRpb25zXG4gIGV4dGVuZHMgU2NhbGFyQ2FsbE9wdGlvbnMsXG4gICAgQ29tcHJlc3NhYmxlQ2FsbE9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGxlbmd0aCBvZiB0aGUgVFRMIGFuZCB3aGV0aGVyIGl0IHNob3VsZCBiZSByZWZyZXNoZWQgd2hlbiB0aGUgY29sbGVjdGlvbiBpcyBtb2RpZmllZC5cbiAgICovXG4gIHR0bD86IENvbGxlY3Rpb25UdGw7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgVFRMIGZyb20gdGhlIG9wdGlvbnMgb3IgcmVmcmVzaCB3aXRoIHRoZSBjYWNoZSBUVEwuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdG8gZ2V0IHRoZSBUVEwgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBUVEwgZnJvbSB0aGUgb3B0aW9ucyBvciBhIGRlZmF1bHQgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dGxPckZyb21DYWNoZVR0bChcbiAgb3B0aW9ucz86IENvbGxlY3Rpb25DYWxsT3B0aW9uc1xuKTogQ29sbGVjdGlvblR0bCB7XG4gIHJldHVybiBvcHRpb25zPy50dGwgPz8gQ29sbGVjdGlvblR0bC5mcm9tQ2FjaGVUdGwoKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGcm9udFRydW5jYXRhYmxlQ2FsbE9wdGlvbnMgZXh0ZW5kcyBDb2xsZWN0aW9uQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogSWYgdGhlIGNvbGxlY3Rpb24gZXhjZWVkcyB0aGlzIGxlbmd0aCwgcmVtb3ZlIGV4Y2VzcyBmcm9tIHRoZSBzdGFydCBvZiB0aGUgbGlzdC4gTXVzdCBiZSBwb3NpdGl2ZS5cbiAgICovXG4gIHRydW5jYXRlRnJvbnRUb1NpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFja1RydW5jYXRhYmxlQ2FsbE9wdGlvbnMgZXh0ZW5kcyBDb2xsZWN0aW9uQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogSWYgdGhlIGNvbGxlY3Rpb24gZXhjZWVkcyB0aGlzIGxlbmd0aCwgcmVtb3ZlIGV4Y2VzcyBmcm9tIHRoZSBlbmQgb2YgdGhlIGxpc3QuIE11c3QgYmUgcG9zaXRpdmUuXG4gICAqL1xuICB0cnVuY2F0ZUJhY2tUb1NpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIFNvcnRlZFNldE9yZGVyIHtcbiAgQXNjZW5kaW5nID0gJ0FTQycsXG4gIERlc2NlbmRpbmcgPSAnREVTQycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydGVkU2V0RmV0Y2hCeVJhbmtDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcmFuayBvZiB0aGUgZmlyc3QgZWxlbWVudCB0byByZXR1cm4sIGluY2x1c2l2ZS5cbiAgICogSWYgbmVnYXRpdmUsIHRoZSByYW5rIGlzIHJlbGF0aXZlIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXG4gICAqIElmIHRoZSByYW5rIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBmaXJzdCBlbGVtZW50IGlzIHVzZWQuXG4gICAqL1xuICBzdGFydFJhbms/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgcmFuayBvZiB0aGUgbGFzdCBlbGVtZW50IHRvIHJldHVybiwgZXhjbHVzaXZlLlxuICAgKiBJZiBuZWdhdGl2ZSwgdGhlIHJhbmsgaXMgcmVsYXRpdmUgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC5cbiAgICogSWYgdGhlIHJhbmsgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJhbmdlIGV4dGVuZHMgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC5cbiAgICovXG4gIGVuZFJhbms/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgb3JkZXIgaW4gd2hpY2ggdG8gcmV0dXJuIHRoZSBlbGVtZW50cy5cbiAgICogSWYgdGhlIG9yZGVyIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlbGVtZW50cyBhcmUgcmV0dXJuZWQgaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgKiBJZiBkZXNjZW5kaW5nIG9yZGVyIGlzIHVzZWQsIHRoZSBzdGFydCBhbmQgZW5kIHJhbmtzIGFyZSBpbnRlcnByZXRlZCBhcyBpZlxuICAgKiB0aGUgbGlzdCB3ZXJlIHJldmVyc2VkLlxuICAgKi9cbiAgb3JkZXI/OiBTb3J0ZWRTZXRPcmRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0ZWRTZXRGZXRjaEJ5U2NvcmVDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzY29yZSBvZiB0aGUgZWxlbWVudHMgdG8gcmV0dXJuLCBpbmNsdXNpdmUuXG4gICAqIElmIHRoZSBtaW5pbXVtIHNjb3JlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByYW5nZSBleHRlbmRzIHRvIHRoZSBsb3dlc3Qgc2NvcmUuXG4gICAqL1xuICBtaW5TY29yZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHNjb3JlIG9mIHRoZSBlbGVtZW50cyB0byByZXR1cm4sIGluY2x1c2l2ZS5cbiAgICogSWYgdGhlIG1heGltdW0gc2NvcmUgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJhbmdlIGV4dGVuZHMgdG8gdGhlIGhpZ2hlc3Qgc2NvcmUuXG4gICAqL1xuICBtYXhTY29yZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBvcmRlciBpbiB3aGljaCB0byByZXR1cm4gdGhlIGVsZW1lbnRzLlxuICAgKiBJZiB0aGUgb3JkZXIgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVsZW1lbnRzIGFyZSByZXR1cm5lZCBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBvcmRlcj86IFNvcnRlZFNldE9yZGVyO1xuICAvKipcbiAgICogVGhlIGluZGV4IG9mZnNldCBvZiB0aGUgZmlyc3QgZWxlbWVudCB0byByZXR1cm4sIHJlbGF0aXZlIHRvIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSByZXN1bHQgc2V0LlxuICAgKiBJZiBzcGVjaWZpZWQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApLlxuICAgKiBEZWZhdWx0cyB0byB6ZXJvLCBpZS4gdGhlIHN0YXJ0IGF0IGZpcnN0IGVsZW1lbnQgaW4gdGhlIHJlc3VsdCBzZXQuXG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmV0dXJuLlxuICAgKiBJZiBzcGVjaWZpZWQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKS5cbiAgICogRGVmYXVsdHMgdG8gYWxsIGVsZW1lbnRzIGluIHRoZSByZXN1bHQgc2V0LlxuICAgKi9cbiAgY291bnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydGVkU2V0R2V0UmFua0NhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBvcmRlciBpbiB3aGljaCBzb3J0ZWQgc2V0IHdpbGwgYmUgc29ydGVkIHRvIGRldGVybWluZSB0aGUgcmFuay5cbiAgICogSWYgdGhlIG9yZGVyIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gYXNjZW5kaW5nIG9yZGVyIGlzIHVzZWQuXG4gICAqL1xuICBvcmRlcj86IFNvcnRlZFNldE9yZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRlZFNldExlbmd0aEJ5U2NvcmVDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzY29yZSBvZiB0aGUgZWxlbWVudHMgdG8gaW5jbHVkZSB3aGVuIGNvdW50aW5nIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgc2V0LCBpbmNsdXNpdmUuXG4gICAqIElmIHRoZSBtaW5pbXVtIHNjb3JlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByYW5nZSBleHRlbmRzIHRvIHRoZSBsb3dlc3Qgc2NvcmUuXG4gICAqL1xuICBtaW5TY29yZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHNjb3JlIG9mIHRoZSBlbGVtZW50cyB0byBpbmNsdWRlIHdoZW4gY291bnRpbmcgbnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBzZXQsIGluY2x1c2l2ZS5cbiAgICogSWYgdGhlIG1heGltdW0gc2NvcmUgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJhbmdlIGV4dGVuZHMgdG8gdGhlIGhpZ2hlc3Qgc2NvcmUuXG4gICAqL1xuICBtYXhTY29yZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UmV0YWluQ2FsbE9wdGlvbnMgZXh0ZW5kcyBDb2xsZWN0aW9uQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogU3RhcnRpbmcgaW5jbHVzaXZlIGluZGV4IG9mIG9wZXJhdGlvbi5cbiAgICovXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEVuZGluZyBleGNsdXNpdmUgaW5kZXggb2Ygb3BlcmF0aW9uLlxuICAgKi9cbiAgZW5kSW5kZXg/OiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIExpc3RGZXRjaENhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFN0YXJ0aW5nIGluY2x1c2l2ZSBpbmRleCBvZiBvcGVyYXRpb24uXG4gICAqL1xuICBzdGFydEluZGV4PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBFbmRpbmcgZXhjbHVzaXZlIGluZGV4IG9mIG9wZXJhdGlvbi5cbiAgICovXG4gIGVuZEluZGV4PzogbnVtYmVyO1xufVxuXG5leHBvcnQgZW51bSBMZWFkZXJib2FyZE9yZGVyIHtcbiAgQXNjZW5kaW5nID0gJ0FTQycsIC8vIDAgaXMgdGhlIGxvd2VzdC1zY29yaW5nIHJhbmtcbiAgRGVzY2VuZGluZyA9ICdERVNDJywgLy8gMCBpcyB0aGUgaGlnaGVzdC1zY29yaW5nIHJhbmsuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVhZGVyYm9hcmRHZXRSYW5rQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG9yZGVyIGluIHdoaWNoIHRvIHJldHVybiB0aGUgZWxlbWVudHMuXG4gICAqIElmIHRoZSBvcmRlciBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZWxlbWVudHMgYXJlIHJldHVybmVkIGluIGFzY2VuZGluZyBvcmRlci5cbiAgICogSWYgZGVzY2VuZGluZyBvcmRlciBpcyB1c2VkLCB0aGUgc3RhcnQgYW5kIGVuZCByYW5rcyBhcmUgaW50ZXJwcmV0ZWQgYXMgaWZcbiAgICogdGhlIGxlYWRlcmJvYXJkIHdlcmUgcmV2ZXJzZWQuXG4gICAqL1xuICBvcmRlcj86IExlYWRlcmJvYXJkT3JkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVhZGVyYm9hcmRGZXRjaEJ5UmFua0NhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBvcmRlciBpbiB3aGljaCB0byByZXR1cm4gdGhlIGVsZW1lbnRzLlxuICAgKiBJZiB0aGUgb3JkZXIgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVsZW1lbnRzIGFyZSByZXR1cm5lZCBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAqIElmIGRlc2NlbmRpbmcgb3JkZXIgaXMgdXNlZCwgdGhlIHN0YXJ0IGFuZCBlbmQgcmFua3MgYXJlIGludGVycHJldGVkIGFzIGlmXG4gICAqIHRoZSBsZWFkZXJib2FyZCB3ZXJlIHJldmVyc2VkLlxuICAgKi9cbiAgb3JkZXI/OiBMZWFkZXJib2FyZE9yZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExlYWRlcmJvYXJkRmV0Y2hCeVNjb3JlQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gc2NvcmUgb2YgdGhlIGVsZW1lbnRzIHRvIHJldHVybiwgaW5jbHVzaXZlLlxuICAgKiBJZiB0aGUgbWluaW11bSBzY29yZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgcmFuZ2UgZXh0ZW5kcyB0byB0aGUgbG93ZXN0IHNjb3JlLlxuICAgKi9cbiAgbWluU2NvcmU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBzY29yZSBvZiB0aGUgZWxlbWVudHMgdG8gcmV0dXJuLCBleGNsdXNpdmUuXG4gICAqIElmIHRoZSBtYXhpbXVtIHNjb3JlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByYW5nZSBleHRlbmRzIHRvIHRoZSBoaWdoZXN0IHNjb3JlLlxuICAgKi9cbiAgbWF4U2NvcmU/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgb3JkZXIgaW4gd2hpY2ggdG8gcmV0dXJuIHRoZSBlbGVtZW50cy5cbiAgICogSWYgdGhlIG9yZGVyIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlbGVtZW50cyBhcmUgcmV0dXJuZWQgaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgKi9cbiAgb3JkZXI/OiBMZWFkZXJib2FyZE9yZGVyO1xuICAvKipcbiAgICogVGhlIGluZGV4IG9mZnNldCBvZiB0aGUgZmlyc3QgZWxlbWVudCB0byByZXR1cm4sIHJlbGF0aXZlIHRvIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSByZXN1bHQgc2V0LlxuICAgKiBJZiBzcGVjaWZpZWQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApLlxuICAgKiBEZWZhdWx0cyB0byB6ZXJvLCBpZS4gdGhlIHN0YXJ0IGF0IGZpcnN0IGVsZW1lbnQgaW4gdGhlIHJlc3VsdCBzZXQuXG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmV0dXJuLlxuICAgKiBJZiBzcGVjaWZpZWQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKS5cbiAgICogRGVmYXVsdHMgdG8gODE5MiwgdGhlIG1heGltdW0gbnVtYmVyIG9mIGVsZW1lbnRzIHRoYXQgY2FuIGJlIHJldHVybmVkIGF0IGEgdGltZS5cbiAgICovXG4gIGNvdW50PzogbnVtYmVyO1xufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtY2FsbC1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2NhY2hlLWNhbGwtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBK0M7QUF5Qy9DOzs7OztHQUtHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQy9CLE9BQStCOztJQUUvQixPQUFPLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLEdBQUcsbUNBQUksOEJBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUN0RCxDQUFDO0FBSkQsOENBSUM7QUFnQkQsSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLG1DQUFpQixDQUFBO0lBQ2pCLHFDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQUd6QjtBQTBFRCxJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIseURBQU8sQ0FBQTtJQUNQLHlEQUFPLENBQUE7SUFDUCx5REFBTyxDQUFBO0FBQ1QsQ0FBQyxFQUpXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBSTdCO0FBcUNELElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUMxQixxQ0FBaUIsQ0FBQTtJQUNqQix1Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUFHM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbGxlY3Rpb25UdGx9IGZyb20gJy4vY29sbGVjdGlvbi10dGwnO1xuZXhwb3J0IGludGVyZmFjZSBTY2FsYXJDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGltZSB0byBsaXZlIGluIHNlY29uZHMgb2YgdGhlIG9iamVjdCBiZWluZyBtb2RpZmllZC5cbiAgICovXG4gIHR0bD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wcmVzc2FibGVDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvbXByZXNzIHRoZSBkYXRhLlxuICAgKi9cbiAgY29tcHJlc3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlY29tcHJlc3NhYmxlQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBkZWNvbXByZXNzIHRoZSBkYXRhLiBPdmVycmlkZXMgdGhlIGNsaWVudC13aWRlIGF1dG9tYXRpYyBkZWNvbXByZXNzaW9uIHNldHRpbmcuXG4gICAqL1xuICBkZWNvbXByZXNzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXRDYWxsT3B0aW9uc1xuICBleHRlbmRzIFNjYWxhckNhbGxPcHRpb25zLFxuICAgIENvbXByZXNzYWJsZUNhbGxPcHRpb25zIHt9XG5leHBvcnQgdHlwZSBTZXRCYXRjaENhbGxPcHRpb25zID0gU2V0Q2FsbE9wdGlvbnM7XG5cbmV4cG9ydCB0eXBlIEdldENhbGxPcHRpb25zID0gRGVjb21wcmVzc2FibGVDYWxsT3B0aW9ucztcbmV4cG9ydCB0eXBlIEdldEJhdGNoQ2FsbE9wdGlvbnMgPSBHZXRDYWxsT3B0aW9ucztcblxuZXhwb3J0IGludGVyZmFjZSBTZXRJZkFic2VudENhbGxPcHRpb25zXG4gIGV4dGVuZHMgU2NhbGFyQ2FsbE9wdGlvbnMsXG4gICAgQ29tcHJlc3NhYmxlQ2FsbE9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBDb2xsZWN0aW9uQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGxlbmd0aCBvZiB0aGUgVFRMIGFuZCB3aGV0aGVyIGl0IHNob3VsZCBiZSByZWZyZXNoZWQgd2hlbiB0aGUgY29sbGVjdGlvbiBpcyBtb2RpZmllZC5cbiAgICovXG4gIHR0bD86IENvbGxlY3Rpb25UdGw7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgVFRMIGZyb20gdGhlIG9wdGlvbnMgb3IgcmVmcmVzaCB3aXRoIHRoZSBjYWNoZSBUVEwuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgVGhlIG9wdGlvbnMgdG8gZ2V0IHRoZSBUVEwgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBUVEwgZnJvbSB0aGUgb3B0aW9ucyBvciBhIGRlZmF1bHQgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dGxPckZyb21DYWNoZVR0bChcbiAgb3B0aW9ucz86IENvbGxlY3Rpb25DYWxsT3B0aW9uc1xuKTogQ29sbGVjdGlvblR0bCB7XG4gIHJldHVybiBvcHRpb25zPy50dGwgPz8gQ29sbGVjdGlvblR0bC5mcm9tQ2FjaGVUdGwoKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGcm9udFRydW5jYXRhYmxlQ2FsbE9wdGlvbnMgZXh0ZW5kcyBDb2xsZWN0aW9uQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogSWYgdGhlIGNvbGxlY3Rpb24gZXhjZWVkcyB0aGlzIGxlbmd0aCwgcmVtb3ZlIGV4Y2VzcyBmcm9tIHRoZSBzdGFydCBvZiB0aGUgbGlzdC4gTXVzdCBiZSBwb3NpdGl2ZS5cbiAgICovXG4gIHRydW5jYXRlRnJvbnRUb1NpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFja1RydW5jYXRhYmxlQ2FsbE9wdGlvbnMgZXh0ZW5kcyBDb2xsZWN0aW9uQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogSWYgdGhlIGNvbGxlY3Rpb24gZXhjZWVkcyB0aGlzIGxlbmd0aCwgcmVtb3ZlIGV4Y2VzcyBmcm9tIHRoZSBlbmQgb2YgdGhlIGxpc3QuIE11c3QgYmUgcG9zaXRpdmUuXG4gICAqL1xuICB0cnVuY2F0ZUJhY2tUb1NpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIFNvcnRlZFNldE9yZGVyIHtcbiAgQXNjZW5kaW5nID0gJ0FTQycsXG4gIERlc2NlbmRpbmcgPSAnREVTQycsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydGVkU2V0RmV0Y2hCeVJhbmtDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgcmFuayBvZiB0aGUgZmlyc3QgZWxlbWVudCB0byByZXR1cm4sIGluY2x1c2l2ZS5cbiAgICogSWYgbmVnYXRpdmUsIHRoZSByYW5rIGlzIHJlbGF0aXZlIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXG4gICAqIElmIHRoZSByYW5rIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBmaXJzdCBlbGVtZW50IGlzIHVzZWQuXG4gICAqL1xuICBzdGFydFJhbms/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgcmFuayBvZiB0aGUgbGFzdCBlbGVtZW50IHRvIHJldHVybiwgZXhjbHVzaXZlLlxuICAgKiBJZiBuZWdhdGl2ZSwgdGhlIHJhbmsgaXMgcmVsYXRpdmUgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC5cbiAgICogSWYgdGhlIHJhbmsgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJhbmdlIGV4dGVuZHMgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC5cbiAgICovXG4gIGVuZFJhbms/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgb3JkZXIgaW4gd2hpY2ggdG8gcmV0dXJuIHRoZSBlbGVtZW50cy5cbiAgICogSWYgdGhlIG9yZGVyIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlbGVtZW50cyBhcmUgcmV0dXJuZWQgaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgKiBJZiBkZXNjZW5kaW5nIG9yZGVyIGlzIHVzZWQsIHRoZSBzdGFydCBhbmQgZW5kIHJhbmtzIGFyZSBpbnRlcnByZXRlZCBhcyBpZlxuICAgKiB0aGUgbGlzdCB3ZXJlIHJldmVyc2VkLlxuICAgKi9cbiAgb3JkZXI/OiBTb3J0ZWRTZXRPcmRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTb3J0ZWRTZXRGZXRjaEJ5U2NvcmVDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzY29yZSBvZiB0aGUgZWxlbWVudHMgdG8gcmV0dXJuLCBpbmNsdXNpdmUuXG4gICAqIElmIHRoZSBtaW5pbXVtIHNjb3JlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByYW5nZSBleHRlbmRzIHRvIHRoZSBsb3dlc3Qgc2NvcmUuXG4gICAqL1xuICBtaW5TY29yZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHNjb3JlIG9mIHRoZSBlbGVtZW50cyB0byByZXR1cm4sIGluY2x1c2l2ZS5cbiAgICogSWYgdGhlIG1heGltdW0gc2NvcmUgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJhbmdlIGV4dGVuZHMgdG8gdGhlIGhpZ2hlc3Qgc2NvcmUuXG4gICAqL1xuICBtYXhTY29yZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBvcmRlciBpbiB3aGljaCB0byByZXR1cm4gdGhlIGVsZW1lbnRzLlxuICAgKiBJZiB0aGUgb3JkZXIgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVsZW1lbnRzIGFyZSByZXR1cm5lZCBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBvcmRlcj86IFNvcnRlZFNldE9yZGVyO1xuICAvKipcbiAgICogVGhlIGluZGV4IG9mZnNldCBvZiB0aGUgZmlyc3QgZWxlbWVudCB0byByZXR1cm4sIHJlbGF0aXZlIHRvIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSByZXN1bHQgc2V0LlxuICAgKiBJZiBzcGVjaWZpZWQgbXVzdCBiZSBub24tbmVnYXRpdmUgKD49IDApLlxuICAgKiBEZWZhdWx0cyB0byB6ZXJvLCBpZS4gdGhlIHN0YXJ0IGF0IGZpcnN0IGVsZW1lbnQgaW4gdGhlIHJlc3VsdCBzZXQuXG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgdG8gcmV0dXJuLlxuICAgKiBJZiBzcGVjaWZpZWQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKS5cbiAgICogRGVmYXVsdHMgdG8gYWxsIGVsZW1lbnRzIGluIHRoZSByZXN1bHQgc2V0LlxuICAgKi9cbiAgY291bnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydGVkU2V0R2V0UmFua0NhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBvcmRlciBpbiB3aGljaCBzb3J0ZWQgc2V0IHdpbGwgYmUgc29ydGVkIHRvIGRldGVybWluZSB0aGUgcmFuay5cbiAgICogSWYgdGhlIG9yZGVyIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gYXNjZW5kaW5nIG9yZGVyIGlzIHVzZWQuXG4gICAqL1xuICBvcmRlcj86IFNvcnRlZFNldE9yZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRlZFNldExlbmd0aEJ5U2NvcmVDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzY29yZSBvZiB0aGUgZWxlbWVudHMgdG8gaW5jbHVkZSB3aGVuIGNvdW50aW5nIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgc2V0LCBpbmNsdXNpdmUuXG4gICAqIElmIHRoZSBtaW5pbXVtIHNjb3JlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByYW5nZSBleHRlbmRzIHRvIHRoZSBsb3dlc3Qgc2NvcmUuXG4gICAqL1xuICBtaW5TY29yZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHNjb3JlIG9mIHRoZSBlbGVtZW50cyB0byBpbmNsdWRlIHdoZW4gY291bnRpbmcgbnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBzZXQsIGluY2x1c2l2ZS5cbiAgICogSWYgdGhlIG1heGltdW0gc2NvcmUgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJhbmdlIGV4dGVuZHMgdG8gdGhlIGhpZ2hlc3Qgc2NvcmUuXG4gICAqL1xuICBtYXhTY29yZT86IG51bWJlcjtcbn1cbmV4cG9ydCBlbnVtIFNvcnRlZFNldEFnZ3JlZ2F0ZSB7XG4gIFNVTSA9IDAsXG4gIE1JTiA9IDEsXG4gIE1BWCA9IDIsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydGVkU2V0VW5pb25TdG9yZUNhbGxPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSBmaW5hbCBzY29yZSBmb3IgYW4gZWxlbWVudCB0aGF0IGV4aXN0cyBpbiBtdWx0aXBsZSBzb3VyY2Ugc2V0cy5cbiAgICogSWYgdGhlIGZ1bmN0aW9uIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBhZ2dyZWdhdGUgZnVuY3Rpb24gZGVmYXVsdHMgdG8gU1VNLlxuICAgKi9cbiAgYWdncmVnYXRlPzogU29ydGVkU2V0QWdncmVnYXRlO1xuICAvKipcbiAgICogVGhlIHRpbWUgdG8gbGl2ZSBpbiBzZWNvbmRzIG9mIHRoZSBvYmplY3QgYmVpbmcgbW9kaWZpZWQuXG4gICAqL1xuICB0dGw/OiBDb2xsZWN0aW9uVHRsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RSZXRhaW5DYWxsT3B0aW9ucyBleHRlbmRzIENvbGxlY3Rpb25DYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTdGFydGluZyBpbmNsdXNpdmUgaW5kZXggb2Ygb3BlcmF0aW9uLlxuICAgKi9cbiAgc3RhcnRJbmRleD86IG51bWJlcjtcblxuICAvKipcbiAgICogRW5kaW5nIGV4Y2x1c2l2ZSBpbmRleCBvZiBvcGVyYXRpb24uXG4gICAqL1xuICBlbmRJbmRleD86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEZldGNoQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogU3RhcnRpbmcgaW5jbHVzaXZlIGluZGV4IG9mIG9wZXJhdGlvbi5cbiAgICovXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEVuZGluZyBleGNsdXNpdmUgaW5kZXggb2Ygb3BlcmF0aW9uLlxuICAgKi9cbiAgZW5kSW5kZXg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIExlYWRlcmJvYXJkT3JkZXIge1xuICBBc2NlbmRpbmcgPSAnQVNDJywgLy8gMCBpcyB0aGUgbG93ZXN0LXNjb3JpbmcgcmFua1xuICBEZXNjZW5kaW5nID0gJ0RFU0MnLCAvLyAwIGlzIHRoZSBoaWdoZXN0LXNjb3JpbmcgcmFuay5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZWFkZXJib2FyZEdldFJhbmtDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgb3JkZXIgaW4gd2hpY2ggdG8gcmV0dXJuIHRoZSBlbGVtZW50cy5cbiAgICogSWYgdGhlIG9yZGVyIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlbGVtZW50cyBhcmUgcmV0dXJuZWQgaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgKiBJZiBkZXNjZW5kaW5nIG9yZGVyIGlzIHVzZWQsIHRoZSBzdGFydCBhbmQgZW5kIHJhbmtzIGFyZSBpbnRlcnByZXRlZCBhcyBpZlxuICAgKiB0aGUgbGVhZGVyYm9hcmQgd2VyZSByZXZlcnNlZC5cbiAgICovXG4gIG9yZGVyPzogTGVhZGVyYm9hcmRPcmRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZWFkZXJib2FyZEZldGNoQnlSYW5rQ2FsbE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG9yZGVyIGluIHdoaWNoIHRvIHJldHVybiB0aGUgZWxlbWVudHMuXG4gICAqIElmIHRoZSBvcmRlciBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZWxlbWVudHMgYXJlIHJldHVybmVkIGluIGFzY2VuZGluZyBvcmRlci5cbiAgICogSWYgZGVzY2VuZGluZyBvcmRlciBpcyB1c2VkLCB0aGUgc3RhcnQgYW5kIGVuZCByYW5rcyBhcmUgaW50ZXJwcmV0ZWQgYXMgaWZcbiAgICogdGhlIGxlYWRlcmJvYXJkIHdlcmUgcmV2ZXJzZWQuXG4gICAqL1xuICBvcmRlcj86IExlYWRlcmJvYXJkT3JkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVhZGVyYm9hcmRGZXRjaEJ5U2NvcmVDYWxsT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzY29yZSBvZiB0aGUgZWxlbWVudHMgdG8gcmV0dXJuLCBpbmNsdXNpdmUuXG4gICAqIElmIHRoZSBtaW5pbXVtIHNjb3JlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSByYW5nZSBleHRlbmRzIHRvIHRoZSBsb3dlc3Qgc2NvcmUuXG4gICAqL1xuICBtaW5TY29yZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHNjb3JlIG9mIHRoZSBlbGVtZW50cyB0byByZXR1cm4sIGV4Y2x1c2l2ZS5cbiAgICogSWYgdGhlIG1heGltdW0gc2NvcmUgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJhbmdlIGV4dGVuZHMgdG8gdGhlIGhpZ2hlc3Qgc2NvcmUuXG4gICAqL1xuICBtYXhTY29yZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBvcmRlciBpbiB3aGljaCB0byByZXR1cm4gdGhlIGVsZW1lbnRzLlxuICAgKiBJZiB0aGUgb3JkZXIgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVsZW1lbnRzIGFyZSByZXR1cm5lZCBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBvcmRlcj86IExlYWRlcmJvYXJkT3JkZXI7XG4gIC8qKlxuICAgKiBUaGUgaW5kZXggb2Zmc2V0IG9mIHRoZSBmaXJzdCBlbGVtZW50IHRvIHJldHVybiwgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlIHJlc3VsdCBzZXQuXG4gICAqIElmIHNwZWNpZmllZCBtdXN0IGJlIG5vbi1uZWdhdGl2ZSAoPj0gMCkuXG4gICAqIERlZmF1bHRzIHRvIHplcm8sIGllLiB0aGUgc3RhcnQgYXQgZmlyc3QgZWxlbWVudCBpbiB0aGUgcmVzdWx0IHNldC5cbiAgICovXG4gIG9mZnNldD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyB0byByZXR1cm4uXG4gICAqIElmIHNwZWNpZmllZCBtdXN0IGJlIHN0cmljdGx5IHBvc2l0aXZlICg+IDApLlxuICAgKiBEZWZhdWx0cyB0byA4MTkyLCB0aGUgbWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgdGhhdCBjYW4gYmUgcmV0dXJuZWQgYXQgYSB0aW1lLlxuICAgKi9cbiAgY291bnQ/OiBudW1iZXI7XG59XG4iXX0=
@@ -6,3 +6,4 @@ export * from './itemType';
6
6
  export * from './webhook-destination';
7
7
  export * from './set-batch-item';
8
8
  export * from './time';
9
+ export * from './sorted-set-source';
@@ -22,4 +22,5 @@ __exportStar(require("./itemType"), exports);
22
22
  __exportStar(require("./webhook-destination"), exports);
23
23
  __exportStar(require("./set-batch-item"), exports);
24
24
  __exportStar(require("./time"), exports);
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQyxtREFBaUM7QUFDakMsdURBQXFDO0FBQ3JDLCtDQUE2QjtBQUM3Qiw2Q0FBMkI7QUFDM0Isd0RBQXNDO0FBQ3RDLG1EQUFpQztBQUNqQyx5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhY2hlLWNhbGwtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb24tdHRsJztcbmV4cG9ydCAqIGZyb20gJy4vdG9waWMtY2FsbC1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwaXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2l0ZW1UeXBlJztcbmV4cG9ydCAqIGZyb20gJy4vd2ViaG9vay1kZXN0aW5hdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NldC1iYXRjaC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZSc7XG4iXX0=
25
+ __exportStar(require("./sorted-set-source"), exports);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQyxtREFBaUM7QUFDakMsdURBQXFDO0FBQ3JDLCtDQUE2QjtBQUM3Qiw2Q0FBMkI7QUFDM0Isd0RBQXNDO0FBQ3RDLG1EQUFpQztBQUNqQyx5Q0FBdUI7QUFDdkIsc0RBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWNoZS1jYWxsLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsZWN0aW9uLXR0bCc7XG5leHBvcnQgKiBmcm9tICcuL3RvcGljLWNhbGwtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2V4cGlyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9pdGVtVHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3dlYmhvb2stZGVzdGluYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zZXQtYmF0Y2gtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0ZWQtc2V0LXNvdXJjZSc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export type SortedSetSource = {
2
+ sortedSetName: string;
3
+ weight: number;
4
+ };