@gomomento/sdk-core 1.102.2 → 1.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -55,6 +55,8 @@ export declare abstract class CredentialProvider {
55
55
  */
56
56
  abstract isTokenEndpointSecure(): boolean;
57
57
  /**
58
+ * @deprecated - use the static method forMomentoLocal instead
59
+ *
58
60
  * Modifies the instance of the credential provider to override endpoints to
59
61
  * allow insecure connections to the momento-local service for testing purposes
60
62
  */
@@ -66,6 +68,13 @@ export declare abstract class CredentialProvider {
66
68
  static fromEnvironmentVariable(props: EnvMomentoTokenProviderProps | string): CredentialProvider;
67
69
  static fromEnvVar(props: EnvMomentoTokenProviderProps | string): CredentialProvider;
68
70
  static fromString(props: StringMomentoTokenProviderProps | string): CredentialProvider;
71
+ /**
72
+ * Allow insecure connections to momento-local service for testing purposes.
73
+ * Does not require a Momento API key.
74
+ * @param props configuration options for connecting to momento-local
75
+ * @returns CredentialProvider
76
+ */
77
+ static forMomentoLocal(props: MomentoLocalProviderProps): CredentialProvider;
69
78
  }
70
79
  declare abstract class CredentialProviderBase implements CredentialProvider {
71
80
  abstract getAuthToken(): string;
@@ -138,4 +147,33 @@ export declare class EnvMomentoTokenProvider extends StringMomentoTokenProvider
138
147
  constructor(props: EnvMomentoTokenProviderProps | string);
139
148
  }
140
149
  export declare function getDefaultCredentialProvider(): CredentialProvider;
150
+ export interface MomentoLocalProviderProps extends CredentialProviderProps {
151
+ /**
152
+ * The hostname of the momento-local service
153
+ */
154
+ hostname?: string;
155
+ /**
156
+ * The port of the momento-local service
157
+ */
158
+ port?: number;
159
+ }
160
+ export declare class MomentoLocalProvider implements CredentialProvider {
161
+ private readonly allEndpoints;
162
+ private readonly endpointsOverridden;
163
+ /**
164
+ * @param {MomentoLocalProviderProps} props configuration options for connecting to momento-local
165
+ */
166
+ constructor(props?: MomentoLocalProviderProps);
167
+ getAuthToken(): string;
168
+ getCacheEndpoint(): string;
169
+ isCacheEndpointSecure(): boolean;
170
+ getControlEndpoint(): string;
171
+ isControlEndpointSecure(): boolean;
172
+ getTokenEndpoint(): string;
173
+ isTokenEndpointSecure(): boolean;
174
+ getStorageEndpoint(): string;
175
+ isStorageEndpointSecure(): boolean;
176
+ areEndpointsOverridden(): boolean;
177
+ withMomentoLocal(): CredentialProvider;
178
+ }
141
179
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDefaultCredentialProvider = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = void 0;
3
+ exports.MomentoLocalProvider = exports.getDefaultCredentialProvider = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = void 0;
4
4
  const utils_1 = require("../internal/utils");
5
5
  function isBaseEndpointOverride(endpointOverrides) {
6
6
  return endpointOverrides.baseEndpoint !== undefined;
@@ -27,6 +27,15 @@ class CredentialProvider {
27
27
  static fromString(props) {
28
28
  return new StringMomentoTokenProvider(props);
29
29
  }
30
+ /**
31
+ * Allow insecure connections to momento-local service for testing purposes.
32
+ * Does not require a Momento API key.
33
+ * @param props configuration options for connecting to momento-local
34
+ * @returns CredentialProvider
35
+ */
36
+ static forMomentoLocal(props) {
37
+ return new MomentoLocalProvider(props);
38
+ }
30
39
  }
31
40
  exports.CredentialProvider = CredentialProvider;
32
41
  class CredentialProviderBase {
@@ -149,19 +158,7 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
149
158
  return this.endpointsOverridden;
150
159
  }
151
160
  withMomentoLocal() {
152
- const momentoLocalOverride = {
153
- endpoint: '127.0.0.1:8080',
154
- secureConnection: false,
155
- };
156
- return new StringMomentoTokenProvider({
157
- authToken: this.apiKey,
158
- endpointOverrides: {
159
- cacheEndpoint: momentoLocalOverride,
160
- controlEndpoint: momentoLocalOverride,
161
- tokenEndpoint: momentoLocalOverride,
162
- storageEndpoint: momentoLocalOverride,
163
- },
164
- });
161
+ return new MomentoLocalProvider();
165
162
  }
166
163
  }
167
164
  exports.StringMomentoTokenProvider = StringMomentoTokenProvider;
@@ -194,4 +191,85 @@ function getDefaultCredentialProvider() {
194
191
  return CredentialProvider.fromEnvVar('MOMENTO_API_KEY');
195
192
  }
196
193
  exports.getDefaultCredentialProvider = getDefaultCredentialProvider;
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBSzJCO0FBVTNCLFNBQVMsc0JBQXNCLENBQzdCLGlCQUFvQztJQUVwQyxPQUFRLGlCQUEwQyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUM7QUFDaEYsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixpQkFBb0M7SUFFcEMsTUFBTSxZQUFZLEdBQUcsaUJBQWlDLENBQUM7SUFDdkQsT0FBTyxDQUNMLFlBQVksQ0FBQyxhQUFhLEtBQUssU0FBUztRQUN4QyxZQUFZLENBQUMsZUFBZSxLQUFLLFNBQVM7UUFDMUMsWUFBWSxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQ3pDLENBQUM7QUFDSixDQUFDO0FBU0Q7Ozs7O0dBS0c7QUFDSCxNQUFzQixrQkFBa0I7SUF5RHRDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsS0FBNEM7UUFFNUMsT0FBTyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUNmLEtBQTRDO1FBRTVDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FDZixLQUErQztRQUUvQyxPQUFPLElBQUksMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBMUVELGdEQTBFQztBQUVELE1BQWUsc0JBQXNCO0lBdUJuQyxPQUFPO1FBQ0wsNkRBQTZEO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFD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LENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRkQsb0VBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbGxFbmRwb2ludHMsXG4gIGRlY29kZUF1dGhUb2tlbixcbiAgZnJvbUVudHJpZXMsXG4gIHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludCxcbn0gZnJvbSAnLi4vaW50ZXJuYWwvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VFbmRwb2ludE92ZXJyaWRlIHtcbiAgYmFzZUVuZHBvaW50OiBzdHJpbmc7XG4gIGVuZHBvaW50UHJlZml4Pzogc3RyaW5nO1xuICBzZWN1cmVDb25uZWN0aW9uPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgRW5kcG9pbnRPdmVycmlkZXMgPSBCYXNlRW5kcG9pbnRPdmVycmlkZSB8IEFsbEVuZHBvaW50cztcblxuZnVuY3Rpb24gaXNCYXNlRW5kcG9pbnRPdmVycmlkZShcbiAgZW5kcG9pbnRPdmVycmlkZXM6IEVuZHBvaW50T3ZlcnJpZGVzXG4pOiBlbmRwb2ludE92ZXJyaWRlcyBpcyBCYXNlRW5kcG9pbnRPdmVycmlkZSB7XG4gIHJldHVybiAoZW5kcG9pbnRPdmVycmlkZXMgYXMgQmFzZUVuZHBvaW50T3ZlcnJpZGUpLmJhc2VFbmRwb2ludCAhPT0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBpc0FsbEVuZHBvaW50cyhcbiAgZW5kcG9pbnRPdmVycmlkZXM6IEVuZHBvaW50T3ZlcnJpZGVzXG4pOiBlbmRwb2ludE92ZXJyaWRlcyBpcyBBbGxFbmRwb2ludHMge1xuICBjb25zdCBhbGxFbmRwb2ludHMgPSBlbmRwb2ludE92ZXJyaWRlcyBhcyBBbGxFbmRwb2ludHM7XG4gIHJldHVybiAoXG4gICAgYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFsbEVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFsbEVuZHBvaW50cy50b2tlbkVuZHBvaW50ICE9PSB1bmRlZmluZWRcbiAgKTtcbn1cblxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgYXJndW1lbnRzIGZvciBpbnN0YW50aWF0aW5nIGFuIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyXG4gKi9cbmludGVyZmFjZSBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIGVuZHBvaW50T3ZlcnJpZGVzPzogRW5kcG9pbnRPdmVycmlkZXM7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgaW5mb3JtYXRpb24gdGhhdCB0aGUgQ2FjaGVDbGllbnQgbmVlZHMgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byBhbmQgYXV0aGVudGljYXRlIHdpdGhcbiAqIHRoZSBNb21lbnRvIHNlcnZpY2UuXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIENyZWRlbnRpYWxQcm92aWRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEF1dGggdG9rZW4gcHJvdmlkZWQgYnkgdXNlciwgcmVxdWlyZWQgdG8gYXV0aGVudGljYXRlIHdpdGggdGhlIHNlcnZpY2VcbiAgICovXG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gY29udHJvbCBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiBjb25uZWN0aW5nIHRvIHRoZSBjb250cm9sIHBsYW5lIGVuZHBvaW50IGNvbm5lY3Rpb24gd2l0aCBUTFM7IGZhbHNlIGlmIG5vdCB1c2luZyBUTFNcbiAgICovXG4gIGFic3RyYWN0IGlzQ29udHJvbEVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gZGF0YSBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgY29ubmVjdGluZyB0byB0aGUgZGF0YSBwbGFuZSBlbmRwb2ludCBjb25uZWN0aW9uIHdpdGggVExTOyBmYWxzZSBpZiBub3QgdXNpbmcgVExTXG4gICAqL1xuICBhYnN0cmFjdCBpc0NhY2hlRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byBzdG9yYWdlIG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldFN0b3JhZ2VFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIGNvbm5lY3RpbmcgdG8gdGhlIHN0b3JhZ2UgZW5kcG9pbnQgY29ubmVjdGlvbiB3aXRoIFRMUzsgZmFsc2UgaWYgbm90IHVzaW5nIFRMU1xuICAgKi9cbiAgYWJzdHJhY3QgaXNTdG9yYWdlRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byB0b2tlbiBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgY29ubmVjdGluZyB0byB0aGUgdG9rZW4gZW5kcG9pbnQgY29ubmVjdGlvbiB3aXRoIFRMUzsgZmFsc2UgaWYgbm90IHVzaW5nIFRMU1xuICAgKi9cbiAgYWJzdHJhY3QgaXNUb2tlbkVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE1vZGlmaWVzIHRoZSBpbnN0YW5jZSBvZiB0aGUgY3JlZGVudGlhbCBwcm92aWRlciB0byBvdmVycmlkZSBlbmRwb2ludHMgdG9cbiAgICogYWxsb3cgaW5zZWN1cmUgY29ubmVjdGlvbnMgdG8gdGhlIG1vbWVudG8tbG9jYWwgc2VydmljZSBmb3IgdGVzdGluZyBwdXJwb3Nlc1xuICAgKi9cbiAgYWJzdHJhY3Qgd2l0aE1vbWVudG9Mb2NhbCgpOiBDcmVkZW50aWFsUHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIHRoZSBlbmRwb2ludHMgd2VyZSBtYW51YWxseSBvdmVycmlkZGVuIGF0IGNvbnN0cnVjdGlvbiB0aW1lOyBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGFyZUVuZHBvaW50c092ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICBzdGF0aWMgZnJvbUVudmlyb25tZW50VmFyaWFibGUoXG4gICAgcHJvcHM6IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgfCBzdHJpbmdcbiAgKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyKHByb3BzKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRW52VmFyKFxuICAgIHByb3BzOiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzIHwgc3RyaW5nXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZyhcbiAgICBwcm9wczogU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyB8IHN0cmluZ1xuICApOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIocHJvcHMpO1xuICB9XG59XG5cbmFic3RyYWN0IGNsYXNzIENyZWRlbnRpYWxQcm92aWRlckJhc2UgaW1wbGVtZW50cyBDcmVkZW50aWFsUHJvdmlkZXIge1xuICBhYnN0cmFjdCBnZXRBdXRoVG9rZW4oKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldENhY2hlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGlzQ2FjaGVFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNDb250cm9sRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBnZXRTdG9yYWdlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGlzU3RvcmFnZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNUb2tlbkVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IHdpdGhNb21lbnRvTG9jYWwoKTogQ3JlZGVudGlhbFByb3ZpZGVyO1xuXG4gIHZhbHVlT2YoKTogb2JqZWN0IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMpLmZpbHRlcigoW2tdKSA9PiBrICE9PSAnYXV0aFRva2VuJyk7XG4gICAgY29uc3QgY2xvbmUgPSBmcm9tRW50cmllcyhlbnRyaWVzKTtcbiAgICByZXR1cm4gY2xvbmUudmFsdWVPZigpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b0FwaUtleVByb3ZpZGVyUHJvcHNcbiAgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBhcGlLZXkgdGhlIG1vbWVudG8gQVBJIGtleVxuICAgKi9cbiAgYXBpS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b0F1dGhUb2tlblByb3ZpZGVyUHJvcHNcbiAgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBhdXRoVG9rZW4gdGhlIG1vbWVudG8gYXV0aCB0b2tlblxuICAgKi9cbiAgYXV0aFRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgPVxuICB8IFN0cmluZ01vbWVudG9BcGlLZXlQcm92aWRlclByb3BzXG4gIHwgU3RyaW5nTW9tZW50b0F1dGhUb2tlblByb3ZpZGVyUHJvcHM7XG5cbi8qKlxuICogUmVhZHMgYW5kIHBhcnNlcyBhIG1vbWVudG8gYXV0aCB0b2tlbiBzdG9yZWQgaW4gYSBTdHJpbmdcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBhbGxFbmRwb2ludHM6IEFsbEVuZHBvaW50cztcbiAgcHJpdmF0ZSByZWFkb25seSBlbmRwb2ludHNPdmVycmlkZGVuOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1N0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgcHJvcHMgPT09ICdzdHJpbmcnKSB7XG4gICAgICBwcm9wcyA9IHthcGlLZXk6IHByb3BzfTtcbiAgICB9XG4gICAgc3VwZXIoKTtcbiAgICBsZXQga2V5OiBzdHJpbmc7XG4gICAgaWYgKCdhdXRoVG9rZW4nIGluIHByb3BzKSB7XG4gICAgICBrZXkgPSBwcm9wcy5hdXRoVG9rZW47XG4gICAgfSBlbHNlIGlmICgnYXBpS2V5JyBpbiBwcm9wcykge1xuICAgICAga2V5ID0gcHJvcHMuYXBpS2V5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcHJvcGVydHk6IGF1dGhUb2tlbiBvciBhcGlLZXknKTtcbiAgICB9XG4gICAgY29uc3QgZGVjb2RlZFRva2VuID0gZGVjb2RlQXV0aFRva2VuKGtleSk7XG4gICAgdGhpcy5hcGlLZXkgPSBkZWNvZGVkVG9rZW4uYXV0aFRva2VuO1xuICAgIGlmIChwcm9wcy5lbmRwb2ludE92ZXJyaWRlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmVuZHBvaW50c092ZXJyaWRkZW4gPSBmYWxzZTtcbiAgICAgIGlmIChkZWNvZGVkVG9rZW4uY29udHJvbEVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY29udHJvbCBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgY29udHJvbEVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY2FjaGUgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNhY2hlRW5kcG9pbnQgZXhwbGljaXRseS4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoZGVjb2RlZFRva2VuLnRva2VuRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ01hbGZvcm1lZCB0b2tlbjsgdW5hYmxlIHRvIGRldGVybWluZSB0b2tlbiBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgdG9rZW5FbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWNvZGVkVG9rZW4uc3RvcmFnZUVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgc3RvcmFnZSBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgc3RvcmFnZUVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5hbGxFbmRwb2ludHMgPSB7XG4gICAgICAgIGNvbnRyb2xFbmRwb2ludDoge1xuICAgICAgICAgIGVuZHBvaW50OiBkZWNvZGVkVG9rZW4uY29udHJvbEVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICBjYWNoZUVuZHBvaW50OiB7XG4gICAgICAgICAgZW5kcG9pbnQ6IGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICB0b2tlbkVuZHBvaW50OiB7XG4gICAgICAgICAgZW5kcG9pbnQ6IGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICBzdG9yYWdlRW5kcG9pbnQ6IHtcbiAgICAgICAgICBlbmRwb2ludDogZGVjb2RlZFRva2VuLnN0b3JhZ2VFbmRwb2ludCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0FsbEVuZHBvaW50cyhwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzO1xuICAgIH0gZWxzZSBpZiAoaXNCYXNlRW5kcG9pbnRPdmVycmlkZShwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgICAgICAgcHJvcHMuZW5kcG9pbnRPdmVycmlkZXNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICBgVW5zdXBwb3J0ZWQgZW5kcG9pbnRPdmVycmlkZXM6ICR7cHJvcHMuZW5kcG9pbnRPdmVycmlkZXN9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRBdXRoVG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcGlLZXk7XG4gIH1cblxuICBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc0NhY2hlRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc0NvbnRyb2xFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGdldFRva2VuRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5lbmRwb2ludDtcbiAgfVxuXG4gIGlzVG9rZW5FbmRwb2ludFNlY3VyZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uO1xuICB9XG5cbiAgZ2V0U3RvcmFnZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnN0b3JhZ2VFbmRwb2ludC5lbmRwb2ludDtcbiAgfVxuXG4gIGlzU3RvcmFnZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFsbEVuZHBvaW50cy5zdG9yYWdlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnN0b3JhZ2VFbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uO1xuICB9XG5cbiAgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmRwb2ludHNPdmVycmlkZGVuO1xuICB9XG5cbiAgd2l0aE1vbWVudG9Mb2NhbCgpOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIGNvbnN0IG1vbWVudG9Mb2NhbE92ZXJyaWRlID0ge1xuICAgICAgZW5kcG9pbnQ6ICcxMjcuMC4wLjE6ODA4MCcsXG4gICAgICBzZWN1cmVDb25uZWN0aW9uOiBmYWxzZSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIoe1xuICAgICAgYXV0aFRva2VuOiB0aGlzLmFwaUtleSxcbiAgICAgIGVuZHBvaW50T3ZlcnJpZGVzOiB7XG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IG1vbWVudG9Mb2NhbE92ZXJyaWRlLFxuICAgICAgICBjb250cm9sRW5kcG9pbnQ6IG1vbWVudG9Mb2NhbE92ZXJyaWRlLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBtb21lbnRvTG9jYWxPdmVycmlkZSxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBtb21lbnRvTG9jYWxPdmVycmlkZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzIGV4dGVuZHMgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogdGhlIG5hbWUgb2YgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGZyb20gd2hpY2ggdGhlIGF1dGggdG9rZW4gd2lsbCBiZSByZWFkXG4gICAqL1xuICBlbnZpcm9ubWVudFZhcmlhYmxlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlYWRzIGFuZCBwYXJzZXMgYSBtb21lbnRvIGF1dGggdG9rZW4gc3RvcmVkIGFzIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICogQGV4cG9ydFxuICogQGNsYXNzIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlciBleHRlbmRzIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyIHtcbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEBwYXJhbSB7RW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc30gcHJvcHMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgdG9rZW4gcHJvdmlkZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzIHwgc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBwcm9wcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHByb3BzID0ge2Vudmlyb25tZW50VmFyaWFibGVOYW1lOiBwcm9wc307XG4gICAgfVxuICAgIGNvbnN0IGF1dGhUb2tlbiA9IHByb2Nlc3MuZW52W3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lXTtcbiAgICBpZiAoIWF1dGhUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAke3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhUb2tlbjogYXV0aFRva2VuLFxuICAgICAgZW5kcG9pbnRPdmVycmlkZXM6IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzLFxuICAgIH0pO1xuICAgIHRoaXMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcigpOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICByZXR1cm4gQ3JlZGVudGlhbFByb3ZpZGVyLmZyb21FbnZWYXIoJ01PTUVOVE9fQVBJX0tFWScpO1xufVxuIl19
194
+ class MomentoLocalProvider {
195
+ /**
196
+ * @param {MomentoLocalProviderProps} props configuration options for connecting to momento-local
197
+ */
198
+ constructor(props) {
199
+ const hostname = (props === null || props === void 0 ? void 0 : props.hostname) || '127.0.0.1';
200
+ const port = (props === null || props === void 0 ? void 0 : props.port) || 8080;
201
+ const momentoLocalEndpoint = {
202
+ endpoint: `${hostname}:${port}`,
203
+ secureConnection: false,
204
+ };
205
+ if (props === undefined || props.endpointOverrides === undefined) {
206
+ this.endpointsOverridden = false;
207
+ this.allEndpoints = {
208
+ controlEndpoint: momentoLocalEndpoint,
209
+ cacheEndpoint: momentoLocalEndpoint,
210
+ tokenEndpoint: momentoLocalEndpoint,
211
+ storageEndpoint: momentoLocalEndpoint,
212
+ };
213
+ }
214
+ else if (isAllEndpoints(props.endpointOverrides)) {
215
+ this.endpointsOverridden = true;
216
+ this.allEndpoints = props.endpointOverrides;
217
+ }
218
+ else if (isBaseEndpointOverride(props.endpointOverrides)) {
219
+ this.endpointsOverridden = true;
220
+ this.allEndpoints = (0, utils_1.populateAllEndpointsFromBaseEndpoint)(props.endpointOverrides);
221
+ }
222
+ else {
223
+ throw new Error(
224
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
225
+ `Unsupported endpointOverrides: ${props.endpointOverrides}`);
226
+ }
227
+ }
228
+ getAuthToken() {
229
+ return '';
230
+ }
231
+ getCacheEndpoint() {
232
+ return this.allEndpoints.cacheEndpoint.endpoint;
233
+ }
234
+ isCacheEndpointSecure() {
235
+ if (this.allEndpoints.cacheEndpoint.secureConnection === undefined) {
236
+ return true;
237
+ }
238
+ return this.allEndpoints.cacheEndpoint.secureConnection;
239
+ }
240
+ getControlEndpoint() {
241
+ return this.allEndpoints.controlEndpoint.endpoint;
242
+ }
243
+ isControlEndpointSecure() {
244
+ if (this.allEndpoints.controlEndpoint.secureConnection === undefined) {
245
+ return true;
246
+ }
247
+ return this.allEndpoints.controlEndpoint.secureConnection;
248
+ }
249
+ getTokenEndpoint() {
250
+ return this.allEndpoints.tokenEndpoint.endpoint;
251
+ }
252
+ isTokenEndpointSecure() {
253
+ if (this.allEndpoints.tokenEndpoint.secureConnection === undefined) {
254
+ return true;
255
+ }
256
+ return this.allEndpoints.tokenEndpoint.secureConnection;
257
+ }
258
+ getStorageEndpoint() {
259
+ return this.allEndpoints.storageEndpoint.endpoint;
260
+ }
261
+ isStorageEndpointSecure() {
262
+ if (this.allEndpoints.storageEndpoint.secureConnection === undefined) {
263
+ return true;
264
+ }
265
+ return this.allEndpoints.storageEndpoint.secureConnection;
266
+ }
267
+ areEndpointsOverridden() {
268
+ return this.endpointsOverridden;
269
+ }
270
+ withMomentoLocal() {
271
+ return new MomentoLocalProvider();
272
+ }
273
+ }
274
+ exports.MomentoLocalProvider = MomentoLocalProvider;
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBSzJCO0FBVTNCLFNBQVMsc0JBQXNCLENBQzdCLGlCQUFvQztJQUVwQyxPQUFRLGlCQUEwQyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUM7QUFDaEYsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixpQkFBb0M7SUFFcEMsTUFBTSxZQUFZLEdBQUcsaUJBQWlDLENBQUM7SUFDdkQsT0FBTyxDQUNMLFlBQVksQ0FBQyxhQUFhLEtBQUssU0FBUztRQUN4QyxZQUFZLENBQUMsZUFBZSxLQUFLLFNBQVM7UUFDMUMsWUFBWSxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQ3pDLENBQUM7QUFDSixDQUFDO0FBU0Q7Ozs7O0dBS0c7QUFDSCxNQUFzQixrQkFBa0I7SUEyRHRDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FDNUIsS0FBNEM7UUFFNUMsT0FBTyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUNmLEtBQTRDO1FBRTVDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FDZixLQUErQztRQUUvQyxPQUFPLElBQUksMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFnQztRQUNyRCxPQUFPLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBdEZELGdEQXNGQztBQUVELE1BQWUsc0JBQXNCO0lBdUJuQyxPQUFPO1FBQ0wsNkRBQTZEO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0s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QWUsQ0FBQyxnQkFBZ0IsQ0FBQztJQUM1RCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUE3RkQsb0RBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWxsRW5kcG9pbnRzLFxuICBkZWNvZGVBdXRoVG9rZW4sXG4gIGZyb21FbnRyaWVzLFxuICBwb3B1bGF0ZUFsbEVuZHBvaW50c0Zyb21CYXNlRW5kcG9pbnQsXG59IGZyb20gJy4uL2ludGVybmFsL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRW5kcG9pbnRPdmVycmlkZSB7XG4gIGJhc2VFbmRwb2ludDogc3RyaW5nO1xuICBlbmRwb2ludFByZWZpeD86IHN0cmluZztcbiAgc2VjdXJlQ29ubmVjdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIEVuZHBvaW50T3ZlcnJpZGVzID0gQmFzZUVuZHBvaW50T3ZlcnJpZGUgfCBBbGxFbmRwb2ludHM7XG5cbmZ1bmN0aW9uIGlzQmFzZUVuZHBvaW50T3ZlcnJpZGUoXG4gIGVuZHBvaW50T3ZlcnJpZGVzOiBFbmRwb2ludE92ZXJyaWRlc1xuKTogZW5kcG9pbnRPdmVycmlkZXMgaXMgQmFzZUVuZHBvaW50T3ZlcnJpZGUge1xuICByZXR1cm4gKGVuZHBvaW50T3ZlcnJpZGVzIGFzIEJhc2VFbmRwb2ludE92ZXJyaWRlKS5iYXNlRW5kcG9pbnQgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaXNBbGxFbmRwb2ludHMoXG4gIGVuZHBvaW50T3ZlcnJpZGVzOiBFbmRwb2ludE92ZXJyaWRlc1xuKTogZW5kcG9pbnRPdmVycmlkZXMgaXMgQWxsRW5kcG9pbnRzIHtcbiAgY29uc3QgYWxsRW5kcG9pbnRzID0gZW5kcG9pbnRPdmVycmlkZXMgYXMgQWxsRW5kcG9pbnRzO1xuICByZXR1cm4gKFxuICAgIGFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50ICE9PSB1bmRlZmluZWQgJiZcbiAgICBhbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50ICE9PSB1bmRlZmluZWQgJiZcbiAgICBhbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludCAhPT0gdW5kZWZpbmVkXG4gICk7XG59XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIGFyZ3VtZW50cyBmb3IgaW5zdGFudGlhdGluZyBhbiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5pbnRlcmZhY2UgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICBlbmRwb2ludE92ZXJyaWRlcz86IEVuZHBvaW50T3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGluZm9ybWF0aW9uIHRoYXQgdGhlIENhY2hlQ2xpZW50IG5lZWRzIGluIG9yZGVyIHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24gdG8gYW5kIGF1dGhlbnRpY2F0ZSB3aXRoXG4gKiB0aGUgTW9tZW50byBzZXJ2aWNlLlxuICogQGV4cG9ydFxuICogQGludGVyZmFjZSBDcmVkZW50aWFsUHJvdmlkZXJcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENyZWRlbnRpYWxQcm92aWRlciB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBBdXRoIHRva2VuIHByb3ZpZGVkIGJ5IHVzZXIsIHJlcXVpcmVkIHRvIGF1dGhlbnRpY2F0ZSB3aXRoIHRoZSBzZXJ2aWNlXG4gICAqL1xuICBhYnN0cmFjdCBnZXRBdXRoVG9rZW4oKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgaG9zdCB3aGljaCB0aGUgTW9tZW50byBjbGllbnQgd2lsbCBjb25uZWN0IHRvIGZvciBNb21lbnRvIGNvbnRyb2wgcGxhbmUgb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0Q29udHJvbEVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgY29ubmVjdGluZyB0byB0aGUgY29udHJvbCBwbGFuZSBlbmRwb2ludCBjb25uZWN0aW9uIHdpdGggVExTOyBmYWxzZSBpZiBub3QgdXNpbmcgVExTXG4gICAqL1xuICBhYnN0cmFjdCBpc0NvbnRyb2xFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgaG9zdCB3aGljaCB0aGUgTW9tZW50byBjbGllbnQgd2lsbCBjb25uZWN0IHRvIGZvciBNb21lbnRvIGRhdGEgcGxhbmUgb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIGNvbm5lY3RpbmcgdG8gdGhlIGRhdGEgcGxhbmUgZW5kcG9pbnQgY29ubmVjdGlvbiB3aXRoIFRMUzsgZmFsc2UgaWYgbm90IHVzaW5nIFRMU1xuICAgKi9cbiAgYWJzdHJhY3QgaXNDYWNoZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gc3RvcmFnZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRTdG9yYWdlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiBjb25uZWN0aW5nIHRvIHRoZSBzdG9yYWdlIGVuZHBvaW50IGNvbm5lY3Rpb24gd2l0aCBUTFM7IGZhbHNlIGlmIG5vdCB1c2luZyBUTFNcbiAgICovXG4gIGFic3RyYWN0IGlzU3RvcmFnZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gdG9rZW4gb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIGNvbm5lY3RpbmcgdG8gdGhlIHRva2VuIGVuZHBvaW50IGNvbm5lY3Rpb24gd2l0aCBUTFM7IGZhbHNlIGlmIG5vdCB1c2luZyBUTFNcbiAgICovXG4gIGFic3RyYWN0IGlzVG9rZW5FbmRwb2ludFNlY3VyZSgpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHVzZSB0aGUgc3RhdGljIG1ldGhvZCBmb3JNb21lbnRvTG9jYWwgaW5zdGVhZFxuICAgKlxuICAgKiBNb2RpZmllcyB0aGUgaW5zdGFuY2Ugb2YgdGhlIGNyZWRlbnRpYWwgcHJvdmlkZXIgdG8gb3ZlcnJpZGUgZW5kcG9pbnRzIHRvXG4gICAqIGFsbG93IGluc2VjdXJlIGNvbm5lY3Rpb25zIHRvIHRoZSBtb21lbnRvLWxvY2FsIHNlcnZpY2UgZm9yIHRlc3RpbmcgcHVycG9zZXNcbiAgICovXG4gIGFic3RyYWN0IHdpdGhNb21lbnRvTG9jYWwoKTogQ3JlZGVudGlhbFByb3ZpZGVyO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiB0aGUgZW5kcG9pbnRzIHdlcmUgbWFudWFsbHkgb3ZlcnJpZGRlbiBhdCBjb25zdHJ1Y3Rpb24gdGltZTsgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBhYnN0cmFjdCBhcmVFbmRwb2ludHNPdmVycmlkZGVuKCk6IGJvb2xlYW47XG5cbiAgc3RhdGljIGZyb21FbnZpcm9ubWVudFZhcmlhYmxlKFxuICAgIHByb3BzOiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzIHwgc3RyaW5nXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUVudlZhcihcbiAgICBwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyB8IHN0cmluZ1xuICApOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIocHJvcHMpO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdHJpbmcoXG4gICAgcHJvcHM6IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgfCBzdHJpbmdcbiAgKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyKHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvdyBpbnNlY3VyZSBjb25uZWN0aW9ucyB0byBtb21lbnRvLWxvY2FsIHNlcnZpY2UgZm9yIHRlc3RpbmcgcHVycG9zZXMuXG4gICAqIERvZXMgbm90IHJlcXVpcmUgYSBNb21lbnRvIEFQSSBrZXkuXG4gICAqIEBwYXJhbSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGNvbm5lY3RpbmcgdG8gbW9tZW50by1sb2NhbFxuICAgKiBAcmV0dXJucyBDcmVkZW50aWFsUHJvdmlkZXJcbiAgICovXG4gIHN0YXRpYyBmb3JNb21lbnRvTG9jYWwocHJvcHM6IE1vbWVudG9Mb2NhbFByb3ZpZGVyUHJvcHMpOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgTW9tZW50b0xvY2FsUHJvdmlkZXIocHJvcHMpO1xuICB9XG59XG5cbmFic3RyYWN0IGNsYXNzIENyZWRlbnRpYWxQcm92aWRlckJhc2UgaW1wbGVtZW50cyBDcmVkZW50aWFsUHJvdmlkZXIge1xuICBhYnN0cmFjdCBnZXRBdXRoVG9rZW4oKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldENhY2hlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGlzQ2FjaGVFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNDb250cm9sRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBnZXRTdG9yYWdlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGlzU3RvcmFnZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNUb2tlbkVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIGFic3RyYWN0IHdpdGhNb21lbnRvTG9jYWwoKTogQ3JlZGVudGlhbFByb3ZpZGVyO1xuXG4gIHZhbHVlT2YoKTogb2JqZWN0IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMpLmZpbHRlcigoW2tdKSA9PiBrICE9PSAnYXV0aFRva2VuJyk7XG4gICAgY29uc3QgY2xvbmUgPSBmcm9tRW50cmllcyhlbnRyaWVzKTtcbiAgICByZXR1cm4gY2xvbmUudmFsdWVPZigpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b0FwaUtleVByb3ZpZGVyUHJvcHNcbiAgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBhcGlLZXkgdGhlIG1vbWVudG8gQVBJIGtleVxuICAgKi9cbiAgYXBpS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b0F1dGhUb2tlblByb3ZpZGVyUHJvcHNcbiAgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBhdXRoVG9rZW4gdGhlIG1vbWVudG8gYXV0aCB0b2tlblxuICAgKi9cbiAgYXV0aFRva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgPVxuICB8IFN0cmluZ01vbWVudG9BcGlLZXlQcm92aWRlclByb3BzXG4gIHwgU3RyaW5nTW9tZW50b0F1dGhUb2tlblByb3ZpZGVyUHJvcHM7XG5cbi8qKlxuICogUmVhZHMgYW5kIHBhcnNlcyBhIG1vbWVudG8gYXV0aCB0b2tlbiBzdG9yZWQgaW4gYSBTdHJpbmdcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlLZXk6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBhbGxFbmRwb2ludHM6IEFsbEVuZHBvaW50cztcbiAgcHJpdmF0ZSByZWFkb25seSBlbmRwb2ludHNPdmVycmlkZGVuOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1N0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyB8IHN0cmluZykge1xuICAgIGlmICh0eXBlb2YgcHJvcHMgPT09ICdzdHJpbmcnKSB7XG4gICAgICBwcm9wcyA9IHthcGlLZXk6IHByb3BzfTtcbiAgICB9XG4gICAgc3VwZXIoKTtcbiAgICBsZXQga2V5OiBzdHJpbmc7XG4gICAgaWYgKCdhdXRoVG9rZW4nIGluIHByb3BzKSB7XG4gICAgICBrZXkgPSBwcm9wcy5hdXRoVG9rZW47XG4gICAgfSBlbHNlIGlmICgnYXBpS2V5JyBpbiBwcm9wcykge1xuICAgICAga2V5ID0gcHJvcHMuYXBpS2V5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgcmVxdWlyZWQgcHJvcGVydHk6IGF1dGhUb2tlbiBvciBhcGlLZXknKTtcbiAgICB9XG4gICAgY29uc3QgZGVjb2RlZFRva2VuID0gZGVjb2RlQXV0aFRva2VuKGtleSk7XG4gICAgdGhpcy5hcGlLZXkgPSBkZWNvZGVkVG9rZW4uYXV0aFRva2VuO1xuICAgIGlmIChwcm9wcy5lbmRwb2ludE92ZXJyaWRlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmVuZHBvaW50c092ZXJyaWRkZW4gPSBmYWxzZTtcbiAgICAgIGlmIChkZWNvZGVkVG9rZW4uY29udHJvbEVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY29udHJvbCBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgY29udHJvbEVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY2FjaGUgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNhY2hlRW5kcG9pbnQgZXhwbGljaXRseS4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoZGVjb2RlZFRva2VuLnRva2VuRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ01hbGZvcm1lZCB0b2tlbjsgdW5hYmxlIHRvIGRldGVybWluZSB0b2tlbiBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgdG9rZW5FbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWNvZGVkVG9rZW4uc3RvcmFnZUVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgc3RvcmFnZSBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgc3RvcmFnZUVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5hbGxFbmRwb2ludHMgPSB7XG4gICAgICAgIGNvbnRyb2xFbmRwb2ludDoge1xuICAgICAgICAgIGVuZHBvaW50OiBkZWNvZGVkVG9rZW4uY29udHJvbEVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICBjYWNoZUVuZHBvaW50OiB7XG4gICAgICAgICAgZW5kcG9pbnQ6IGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICB0b2tlbkVuZHBvaW50OiB7XG4gICAgICAgICAgZW5kcG9pbnQ6IGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50LFxuICAgICAgICB9LFxuICAgICAgICBzdG9yYWdlRW5kcG9pbnQ6IHtcbiAgICAgICAgICBlbmRwb2ludDogZGVjb2RlZFRva2VuLnN0b3JhZ2VFbmRwb2ludCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0FsbEVuZHBvaW50cyhwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzO1xuICAgIH0gZWxzZSBpZiAoaXNCYXNlRW5kcG9pbnRPdmVycmlkZShwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgICAgICAgcHJvcHMuZW5kcG9pbnRPdmVycmlkZXNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICBgVW5zdXBwb3J0ZWQgZW5kcG9pbnRPdmVycmlkZXM6ICR7cHJvcHMuZW5kcG9pbnRPdmVycmlkZXN9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRBdXRoVG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcGlLZXk7XG4gIH1cblxuICBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc0NhY2hlRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc0NvbnRyb2xFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jb250cm9sRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGdldFRva2VuRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5lbmRwb2ludDtcbiAgfVxuXG4gIGlzVG9rZW5FbmRwb2ludFNlY3VyZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uO1xuICB9XG5cbiAgZ2V0U3RvcmFnZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnN0b3JhZ2VFbmRwb2ludC5lbmRwb2ludDtcbiAgfVxuXG4gIGlzU3RvcmFnZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFsbEVuZHBvaW50cy5zdG9yYWdlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnN0b3JhZ2VFbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uO1xuICB9XG5cbiAgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmRwb2ludHNPdmVycmlkZGVuO1xuICB9XG5cbiAgd2l0aE1vbWVudG9Mb2NhbCgpOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgTW9tZW50b0xvY2FsUHJvdmlkZXIoKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiB0aGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgZnJvbSB3aGljaCB0aGUgYXV0aCB0b2tlbiB3aWxsIGJlIHJlYWRcbiAgICovXG4gIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVhZHMgYW5kIHBhcnNlcyBhIG1vbWVudG8gYXV0aCB0b2tlbiBzdG9yZWQgYXMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgRW52TW9tZW50b1Rva2VuUHJvdmlkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyIGV4dGVuZHMgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIge1xuICBlbnZpcm9ubWVudFZhcmlhYmxlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogQHBhcmFtIHtFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzfSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSB0b2tlbiBwcm92aWRlclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMgfCBzdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIHByb3BzID09PSAnc3RyaW5nJykge1xuICAgICAgcHJvcHMgPSB7ZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHByb3BzfTtcbiAgICB9XG4gICAgY29uc3QgYXV0aFRva2VuID0gcHJvY2Vzcy5lbnZbcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWVdO1xuICAgIGlmICghYXV0aFRva2VuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBNaXNzaW5nIHJlcXVpcmVkIGVudmlyb25tZW50IHZhcmlhYmxlICR7cHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWV9YFxuICAgICAgKTtcbiAgICB9XG4gICAgc3VwZXIoe1xuICAgICAgYXV0aFRva2VuOiBhdXRoVG9rZW4sXG4gICAgICBlbmRwb2ludE92ZXJyaWRlczogcHJvcHMuZW5kcG9pbnRPdmVycmlkZXMsXG4gICAgfSk7XG4gICAgdGhpcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZSA9IHByb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0Q3JlZGVudGlhbFByb3ZpZGVyKCk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gIHJldHVybiBDcmVkZW50aWFsUHJvdmlkZXIuZnJvbUVudlZhcignTU9NRU5UT19BUElfS0VZJyk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9tZW50b0xvY2FsUHJvdmlkZXJQcm9wcyBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBob3N0bmFtZSBvZiB0aGUgbW9tZW50by1sb2NhbCBzZXJ2aWNlXG4gICAqL1xuICBob3N0bmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwb3J0IG9mIHRoZSBtb21lbnRvLWxvY2FsIHNlcnZpY2VcbiAgICovXG4gIHBvcnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBNb21lbnRvTG9jYWxQcm92aWRlciBpbXBsZW1lbnRzIENyZWRlbnRpYWxQcm92aWRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWxsRW5kcG9pbnRzOiBBbGxFbmRwb2ludHM7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW5kcG9pbnRzT3ZlcnJpZGRlbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHBhcmFtIHtNb21lbnRvTG9jYWxQcm92aWRlclByb3BzfSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGNvbm5lY3RpbmcgdG8gbW9tZW50by1sb2NhbFxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM/OiBNb21lbnRvTG9jYWxQcm92aWRlclByb3BzKSB7XG4gICAgY29uc3QgaG9zdG5hbWUgPSBwcm9wcz8uaG9zdG5hbWUgfHwgJzEyNy4wLjAuMSc7XG4gICAgY29uc3QgcG9ydCA9IHByb3BzPy5wb3J0IHx8IDgwODA7XG4gICAgY29uc3QgbW9tZW50b0xvY2FsRW5kcG9pbnQgPSB7XG4gICAgICBlbmRwb2ludDogYCR7aG9zdG5hbWV9OiR7cG9ydH1gLFxuICAgICAgc2VjdXJlQ29ubmVjdGlvbjogZmFsc2UsXG4gICAgfTtcblxuICAgIGlmIChwcm9wcyA9PT0gdW5kZWZpbmVkIHx8IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5hbGxFbmRwb2ludHMgPSB7XG4gICAgICAgIGNvbnRyb2xFbmRwb2ludDogbW9tZW50b0xvY2FsRW5kcG9pbnQsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IG1vbWVudG9Mb2NhbEVuZHBvaW50LFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBtb21lbnRvTG9jYWxFbmRwb2ludCxcbiAgICAgICAgc3RvcmFnZUVuZHBvaW50OiBtb21lbnRvTG9jYWxFbmRwb2ludCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0FsbEVuZHBvaW50cyhwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzO1xuICAgIH0gZWxzZSBpZiAoaXNCYXNlRW5kcG9pbnRPdmVycmlkZShwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgICAgICAgcHJvcHMuZW5kcG9pbnRPdmVycmlkZXNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICBgVW5zdXBwb3J0ZWQgZW5kcG9pbnRPdmVycmlkZXM6ICR7cHJvcHMuZW5kcG9pbnRPdmVycmlkZXN9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBnZXRBdXRoVG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50LmVuZHBvaW50O1xuICB9XG5cbiAgaXNDYWNoZUVuZHBvaW50U2VjdXJlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb247XG4gIH1cblxuICBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50LmVuZHBvaW50O1xuICB9XG5cbiAgaXNDb250cm9sRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWxsRW5kcG9pbnRzLmNvbnRyb2xFbmRwb2ludC5zZWN1cmVDb25uZWN0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb247XG4gIH1cblxuICBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnRva2VuRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc1Rva2VuRW5kcG9pbnRTZWN1cmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWxsRW5kcG9pbnRzLnRva2VuRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnRva2VuRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGdldFN0b3JhZ2VFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5zdG9yYWdlRW5kcG9pbnQuZW5kcG9pbnQ7XG4gIH1cblxuICBpc1N0b3JhZ2VFbmRwb2ludFNlY3VyZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hbGxFbmRwb2ludHMuc3RvcmFnZUVuZHBvaW50LnNlY3VyZUNvbm5lY3Rpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5zdG9yYWdlRW5kcG9pbnQuc2VjdXJlQ29ubmVjdGlvbjtcbiAgfVxuXG4gIGFyZUVuZHBvaW50c092ZXJyaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbjtcbiAgfVxuXG4gIHdpdGhNb21lbnRvTG9jYWwoKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IE1vbWVudG9Mb2NhbFByb3ZpZGVyKCk7XG4gIH1cbn1cbiJdfQ==
@@ -80,12 +80,12 @@ export { StoreInfo } from './messages/store-info';
80
80
  import { CacheInfo } from './messages/cache-info';
81
81
  import { SubscribeCallOptions, CollectionTtl, SortedSetOrder, LeaderboardOrder, ExpiresIn, ExpiresAt, ItemType, WebhookDestination, PostUrlWebhookDestination, WebhookDestinationType, SetBatchItem } from './utils';
82
82
  export * as utils from './utils';
83
- import { CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, getDefaultCredentialProvider } from './auth';
83
+ import { CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, getDefaultCredentialProvider, MomentoLocalProvider } from './auth';
84
84
  import { MomentoErrorCode, SdkError, CacheAlreadyExistsError, StoreAlreadyExistsError, AuthenticationError, CancelledError, ConnectionError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, CacheNotFoundError, StoreItemNotFoundError, StoreNotFoundError, UnknownError } from './errors';
85
85
  export { MomentoLogger, MomentoLoggerFactory, } from './config/logging/momento-logger';
86
86
  export * from './messages/responses/enums';
87
87
  export { NoopMomentoLogger, NoopMomentoLoggerFactory, } from './config/logging/noop-momento-logger';
88
- export { ICacheClient, SetOptions, SetIfNotExistsOptions, SetIfAbsentOptions, SetIfPresentOptions, SetIfEqualOptions, SetIfNotEqualOptions, SetIfPresentAndNotEqualOptions, SetIfAbsentOrEqualOptions, IncrementOptions, } from './clients/ICacheClient';
88
+ export { ICacheClient, SetOptions, SetIfNotExistsOptions, SetIfAbsentOptions, SetIfPresentOptions, SetIfEqualOptions, SetIfNotEqualOptions, SetIfPresentAndNotEqualOptions, SetIfAbsentOrEqualOptions, SortedSetPutElementsOptions, IncrementOptions, } from './clients/ICacheClient';
89
89
  export { IStorageClient } from './clients/IStorageClient';
90
90
  export { IMomentoCache } from './clients/IMomentoCache';
91
91
  export { ILeaderboardClient } from './clients/ILeaderboardClient';
@@ -104,7 +104,7 @@ export * as TokenScopes from './auth/tokens/permission-scopes';
104
104
  export * as DisposableTokenScopes from './auth/tokens/disposable-token-scopes';
105
105
  export { ReadConcern } from './config/read-concern';
106
106
  export { CompressionLevel } from './compression/compression-level';
107
- export { ExpiresIn, ExpiresAt, CollectionTtl, ItemType, WebhookDestination, PostUrlWebhookDestination, WebhookDestinationType, SortedSetOrder, LeaderboardOrder, CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, getDefaultCredentialProvider, SetBatchItem, CacheGet, CacheListConcatenateBack, CacheListConcatenateFront, CacheListFetch, CacheListLength, CacheListPopBack, CacheListPopFront, CacheListPushBack, CacheListPushFront, CacheListRemoveValue, CacheListRetain, CacheSet, CacheSetIfNotExists, CacheSetIfPresent, CacheSetIfAbsent, CacheSetIfEqual, CacheSetIfNotEqual, CacheSetIfPresentAndNotEqual, CacheSetIfAbsentOrEqual, CacheDelete, CacheFlush, CreateCache, DeleteCache, ListCaches, CacheIncrement, CacheSetFetch, CacheDictionaryFetch, CacheDictionarySetField, CacheDictionarySetFields, CacheDictionaryGetField, CacheDictionaryGetFields, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheDictionaryIncrement, CacheDictionaryLength, CacheSetAddElements, CacheSetAddElement, CacheSetContainsElement, CacheSetContainsElements, CacheSetRemoveElements, CacheSetRemoveElement, CacheSetSample, CacheSetPop, CacheSetLength, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetFetch, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetRemoveElement, CacheSortedSetRemoveElements, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheItemGetType, CacheItemGetTtl, CacheKeyExists, CacheKeysExist, CacheUpdateTtl, CacheIncreaseTtl, CacheDecreaseTtl, CacheInfo, CacheSetBatch, CacheGetBatch, TopicPublish, TopicSubscribe, TopicItem, TopicDiscontinuity, TopicHeartbeat, SubscribeCallOptions, GenerateApiKey,
107
+ export { ExpiresIn, ExpiresAt, CollectionTtl, ItemType, WebhookDestination, PostUrlWebhookDestination, WebhookDestinationType, SortedSetOrder, LeaderboardOrder, CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, MomentoLocalProvider, getDefaultCredentialProvider, SetBatchItem, CacheGet, CacheListConcatenateBack, CacheListConcatenateFront, CacheListFetch, CacheListLength, CacheListPopBack, CacheListPopFront, CacheListPushBack, CacheListPushFront, CacheListRemoveValue, CacheListRetain, CacheSet, CacheSetIfNotExists, CacheSetIfPresent, CacheSetIfAbsent, CacheSetIfEqual, CacheSetIfNotEqual, CacheSetIfPresentAndNotEqual, CacheSetIfAbsentOrEqual, CacheDelete, CacheFlush, CreateCache, DeleteCache, ListCaches, CacheIncrement, CacheSetFetch, CacheDictionaryFetch, CacheDictionarySetField, CacheDictionarySetFields, CacheDictionaryGetField, CacheDictionaryGetFields, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheDictionaryIncrement, CacheDictionaryLength, CacheSetAddElements, CacheSetAddElement, CacheSetContainsElement, CacheSetContainsElements, CacheSetRemoveElements, CacheSetRemoveElement, CacheSetSample, CacheSetPop, CacheSetLength, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetFetch, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetRemoveElement, CacheSortedSetRemoveElements, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheItemGetType, CacheItemGetTtl, CacheKeyExists, CacheKeysExist, CacheUpdateTtl, CacheIncreaseTtl, CacheDecreaseTtl, CacheInfo, CacheSetBatch, CacheGetBatch, TopicPublish, TopicSubscribe, TopicItem, TopicDiscontinuity, TopicHeartbeat, SubscribeCallOptions, GenerateApiKey,
108
108
  /**
109
109
  * @deprecated - please use GenerateApiKey
110
110
  */
package/dist/src/index.js CHANGED
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.CacheSetIfNotEqual = exports.CacheSetIfEqual = exports.CacheSetIfAbsent = exports.CacheSetIfPresent = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = exports.CacheListRemoveValue = exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGet = exports.getDefaultCredentialProvider = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.CompressionLevel = exports.ReadConcern = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.isTopicName = exports.isCacheName = exports.AllDataReadWrite = exports.TopicRole = exports.CacheRole = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.utils = exports.StoreInfo = exports.webhook = exports.leaderboard = void 0;
18
- exports.TopicSubscribe = exports.TopicPublish = exports.CacheGetBatch = exports.CacheSetBatch = exports.CacheInfo = exports.CacheDecreaseTtl = exports.CacheIncreaseTtl = exports.CacheUpdateTtl = exports.CacheKeysExist = exports.CacheKeyExists = exports.CacheItemGetTtl = exports.CacheItemGetType = exports.CacheSortedSetLengthByScore = exports.CacheSortedSetLength = exports.CacheSortedSetRemoveElements = exports.CacheSortedSetRemoveElement = exports.CacheSortedSetIncrementScore = exports.CacheSortedSetGetScores = exports.CacheSortedSetGetScore = exports.CacheSortedSetGetRank = exports.CacheSortedSetFetch = exports.CacheSortedSetPutElements = exports.CacheSortedSetPutElement = exports.CacheSetLength = exports.CacheSetPop = exports.CacheSetSample = exports.CacheSetRemoveElement = exports.CacheSetRemoveElements = exports.CacheSetContainsElements = exports.CacheSetContainsElement = exports.CacheSetAddElement = exports.CacheSetAddElements = exports.CacheDictionaryLength = exports.CacheDictionaryIncrement = exports.CacheDictionaryRemoveFields = exports.CacheDictionaryRemoveField = exports.CacheDictionaryGetFields = exports.CacheDictionaryGetField = exports.CacheDictionarySetFields = exports.CacheDictionarySetField = exports.CacheDictionaryFetch = exports.CacheSetFetch = exports.CacheIncrement = exports.ListCaches = exports.DeleteCache = exports.CreateCache = exports.CacheFlush = exports.CacheDelete = exports.CacheSetIfAbsentOrEqual = exports.CacheSetIfPresentAndNotEqual = void 0;
19
- exports.UnknownError = exports.StoreNotFoundError = exports.StoreItemNotFoundError = exports.CacheNotFoundError = exports.PermissionError = exports.BadRequestError = exports.TimeoutError = exports.ServerUnavailableError = exports.UnknownServiceError = exports.InvalidArgumentError = exports.InternalServerError = exports.LimitExceededError = exports.FailedPreconditionError = exports.ConnectionError = exports.CancelledError = exports.AuthenticationError = exports.StoreAlreadyExistsError = exports.CacheAlreadyExistsError = exports.SdkError = exports.MomentoErrorCode = exports.GenerateDisposableToken = exports.RefreshAuthToken = exports.RefreshApiKey = exports.GenerateAuthToken = exports.GenerateApiKey = exports.TopicHeartbeat = exports.TopicDiscontinuity = exports.TopicItem = void 0;
17
+ exports.CacheSetIfEqual = exports.CacheSetIfAbsent = exports.CacheSetIfPresent = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = exports.CacheListRemoveValue = exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGet = exports.getDefaultCredentialProvider = exports.MomentoLocalProvider = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.CompressionLevel = exports.ReadConcern = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.isTopicName = exports.isCacheName = exports.AllDataReadWrite = exports.TopicRole = exports.CacheRole = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.utils = exports.StoreInfo = exports.webhook = exports.leaderboard = void 0;
18
+ exports.TopicPublish = exports.CacheGetBatch = exports.CacheSetBatch = exports.CacheInfo = exports.CacheDecreaseTtl = exports.CacheIncreaseTtl = exports.CacheUpdateTtl = exports.CacheKeysExist = exports.CacheKeyExists = exports.CacheItemGetTtl = exports.CacheItemGetType = exports.CacheSortedSetLengthByScore = exports.CacheSortedSetLength = exports.CacheSortedSetRemoveElements = exports.CacheSortedSetRemoveElement = exports.CacheSortedSetIncrementScore = exports.CacheSortedSetGetScores = exports.CacheSortedSetGetScore = exports.CacheSortedSetGetRank = exports.CacheSortedSetFetch = exports.CacheSortedSetPutElements = exports.CacheSortedSetPutElement = exports.CacheSetLength = exports.CacheSetPop = exports.CacheSetSample = exports.CacheSetRemoveElement = exports.CacheSetRemoveElements = exports.CacheSetContainsElements = exports.CacheSetContainsElement = exports.CacheSetAddElement = exports.CacheSetAddElements = exports.CacheDictionaryLength = exports.CacheDictionaryIncrement = exports.CacheDictionaryRemoveFields = exports.CacheDictionaryRemoveField = exports.CacheDictionaryGetFields = exports.CacheDictionaryGetField = exports.CacheDictionarySetFields = exports.CacheDictionarySetField = exports.CacheDictionaryFetch = exports.CacheSetFetch = exports.CacheIncrement = exports.ListCaches = exports.DeleteCache = exports.CreateCache = exports.CacheFlush = exports.CacheDelete = exports.CacheSetIfAbsentOrEqual = exports.CacheSetIfPresentAndNotEqual = exports.CacheSetIfNotEqual = void 0;
19
+ exports.UnknownError = exports.StoreNotFoundError = exports.StoreItemNotFoundError = exports.CacheNotFoundError = exports.PermissionError = exports.BadRequestError = exports.TimeoutError = exports.ServerUnavailableError = exports.UnknownServiceError = exports.InvalidArgumentError = exports.InternalServerError = exports.LimitExceededError = exports.FailedPreconditionError = exports.ConnectionError = exports.CancelledError = exports.AuthenticationError = exports.StoreAlreadyExistsError = exports.CacheAlreadyExistsError = exports.SdkError = exports.MomentoErrorCode = exports.GenerateDisposableToken = exports.RefreshAuthToken = exports.RefreshApiKey = exports.GenerateAuthToken = exports.GenerateApiKey = exports.TopicHeartbeat = exports.TopicDiscontinuity = exports.TopicItem = exports.TopicSubscribe = void 0;
20
20
  // Cache Client Response Types
21
21
  const CacheGet = require("./messages/responses/cache-get");
22
22
  exports.CacheGet = CacheGet;
@@ -192,6 +192,7 @@ Object.defineProperty(exports, "CredentialProvider", { enumerable: true, get: fu
192
192
  Object.defineProperty(exports, "StringMomentoTokenProvider", { enumerable: true, get: function () { return auth_1.StringMomentoTokenProvider; } });
193
193
  Object.defineProperty(exports, "EnvMomentoTokenProvider", { enumerable: true, get: function () { return auth_1.EnvMomentoTokenProvider; } });
194
194
  Object.defineProperty(exports, "getDefaultCredentialProvider", { enumerable: true, get: function () { return auth_1.getDefaultCredentialProvider; } });
195
+ Object.defineProperty(exports, "MomentoLocalProvider", { enumerable: true, get: function () { return auth_1.MomentoLocalProvider; } });
195
196
  const errors_1 = require("./errors");
196
197
  Object.defineProperty(exports, "MomentoErrorCode", { enumerable: true, get: function () { return errors_1.MomentoErrorCode; } });
197
198
  Object.defineProperty(exports, "SdkError", { enumerable: true, get: function () { return errors_1.SdkError; } });
@@ -239,4 +240,4 @@ var read_concern_1 = require("./config/read-concern");
239
240
  Object.defineProperty(exports, "ReadConcern", { enumerable: true, get: function () { return read_concern_1.ReadConcern; } });
240
241
  var compression_level_1 = require("./compression/compression-level");
241
242
  Object.defineProperty(exports, "CompressionLevel", { enumerable: true, get: function () { return compression_level_1.CompressionLevel; } });
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUFxT3pELDRCQUFRO0FBcE9WLDZGQUE2RjtBQXFPM0YsNERBQXdCO0FBcE8xQiwrRkFBK0Y7QUFxTzdGLDhEQUF5QjtBQXBPM0Isd0VBQXdFO0FBcU90RSx3Q0FBYztBQXBPaEIsMEVBQTBFO0FBcU94RSwwQ0FBZTtBQXBPakIsNkVBQTZFO0FBcU8zRSw0Q0FBZ0I7QUFwT2xCLCtFQUErRTtBQXFPN0UsOENBQWlCO0FBcE9uQiwrRUFBK0U7QUFxTzdFLDhDQUFpQjtBQXBPbkIsaUZBQWlGO0FBcU8vRSxnREFBa0I7QUFwT3BCLHFGQUFxRjtBQXFPbkYsb0RBQW9CO0FBcE90QiwwRUFBMEU7QUFxT3hFLDBDQUFlO0FBcE9qQiwyREFBMkQ7QUFxT3pELDRCQUFRO0FBcE9WLGlFQUFpRTtBQTRPL0Qsa0NBQVc7QUEzT2IsK0RBQStEO0FBNE83RCxnQ0FBVTtBQTNPWixpRUFBaUU7QUE0Ty9ELGtDQUFXO0FBM09iLGlFQUFpRTtBQTRPL0Qsa0NBQVc7QUEzT2IsK0RBQStEO0FBNE83RCxnQ0FBVTtBQTNPWixzRUFBc0U7QUE2T3BFLHNDQUFhO0FBNU9mLG9GQUFvRjtBQTZPbEYsb0RBQW9CO0FBNU90QiwyRkFBMkY7QUE2T3pGLDBEQUF1QjtBQTVPekIsNkZBQTZGO0FBNk8zRiw0REFBd0I7QUE1TzFCLDJGQUEyRjtBQTZPekYsMERBQXVCO0FBNU96Qiw2RkFBNkY7QUE2TzNGLDREQUF3QjtBQTVPMUIsaUdBQWlHO0FBNk8vRixnRUFBMEI7QUE1TzVCLG1HQUFtRztBQTZPakcsa0VBQTJCO0FBNU83Qiw0RkFBNEY7QUE2TzFGLDREQUF3QjtBQTVPMUIsc0ZBQXNGO0FBNk9wRixzREFBcUI7QUE1T3ZCLG1GQUFtRjtBQTZPakYsa0RBQW1CO0FB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L0Usc0RBQWtEO0FBQTFDLDJHQUFBLFdBQVcsT0FBQTtBQUNuQixxRUFBaUU7QUFBekQscUhBQUEsZ0JBQWdCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDYWNoZSBDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmltcG9ydCAqIGFzIENhY2hlR2V0IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWdldCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1iYWNrJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1jb25jYXRlbmF0ZS1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BCYWNrIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcG9wLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UG9wRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtZnJvbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0UHVzaEZyb250IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcHVzaC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZW1vdmVWYWx1ZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJlbW92ZS12YWx1ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RSZXRhaW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1yZXRhaW4nO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlRGVsZXRlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRlbGV0ZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUZsdXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWZsdXNoJztcbmltcG9ydCAqIGFzIENyZWF0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NyZWF0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBEZWxldGVDYWNoZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9kZWxldGUtY2FjaGUnO1xuaW1wb3J0ICogYXMgTGlzdENhY2hlcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9saXN0LWNhY2hlcyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVNldEZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVNldEZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXNldC1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1yZW1vdmUtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUluY3JlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1sZW5ndGgnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtYWRkLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QWRkRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtYWRkLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRDb250YWluc0VsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWNvbnRhaW5zLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRDb250YWluc0VsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1jb250YWlucy1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1yZW1vdmUtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFNhbXBsZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtc2FtcGxlJztcbmltcG9ydCAqIGFzIENhY2hlU2V0UG9wIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1wb3AnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZUluY3JlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pbmNyZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZk5vdEV4aXN0cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtbm90LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1hYnNlbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZlByZXNlbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLXByZXNlbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZkVxdWFsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLW5vdC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudEFuZE5vdEVxdWFsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1wcmVzZW50LWFuZC1ub3QtZXF1YWwnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRJZkFic2VudE9yRXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudC1vci1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcHV0LWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1mZXRjaCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEdldFJhbmsgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtcmFuayc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEdldFNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtZ2V0LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtZ2V0LXNjb3Jlcyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldEluY3JlbWVudFNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtaW5jcmVtZW50LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1yZW1vdmUtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRMZW5ndGggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtbGVuZ3RoLWJ5LXNjb3JlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR5cGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtaXRlbS1nZXQtdHlwZSc7XG5pbXBvcnQgKiBhcyBDYWNoZUl0ZW1HZXRUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtaXRlbS1nZXQtdHRsJztcbmltcG9ydCAqIGFzIENhY2hlS2V5RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWtleS1leGlzdHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlzRXhpc3QgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5cy1leGlzdCc7XG5pbXBvcnQgKiBhcyBDYWNoZVVwZGF0ZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtdXBkYXRlJztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVhc2VUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtdHRsLWluY3JlYXNlJztcbmltcG9ydCAqIGFzIENhY2hlRGVjcmVhc2VUdGwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtdHRsLWRlY3JlYXNlJztcbmltcG9ydCAqIGFzIENhY2hlU2V0QmF0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtYmF0Y2gtc2V0JztcbmltcG9ydCAqIGFzIENhY2hlR2V0QmF0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtYmF0Y2gtZ2V0JztcblxuLy8gVG9waWNDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmltcG9ydCAqIGFzIFRvcGljUHVibGlzaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1wdWJsaXNoJztcbmltcG9ydCAqIGFzIFRvcGljU3Vic2NyaWJlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXN1YnNjcmliZSc7XG5pbXBvcnQge1RvcGljSXRlbX0gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtaXRlbSc7XG5pbXBvcnQge1RvcGljRGlzY29udGludWl0eX0gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtZGlzY29udGludWl0eSc7XG5pbXBvcnQge1RvcGljSGVhcnRiZWF0fSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1oZWFydGJlYXQnO1xuXG4vLyBBdXRoQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5pbXBvcnQgKiBhcyBHZW5lcmF0ZUFwaUtleSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9nZW5lcmF0ZS1hcGkta2V5JztcbmltcG9ydCAqIGFzIFJlZnJlc2hBcGlLZXkgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvcmVmcmVzaC1hcGkta2V5JztcblxuaW1wb3J0ICogYXMgR2VuZXJhdGVEaXNwb3NhYmxlVG9rZW4gZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtZGlzcG9zYWJsZS10b2tlbic7XG5cbi8vIExlYWRlcmJvYXJkIFJlc3BvbnNlIFR5cGVzXG5leHBvcnQgKiBhcyBsZWFkZXJib2FyZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9sZWFkZXJib2FyZCc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9sZWFkZXJib2FyZCc7XG5cbmV4cG9ydCAqIGFzIHdlYmhvb2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvd2ViaG9vayc7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy93ZWJob29rJztcbmV4cG9ydCB7V2ViaG9vaywgV2ViaG9va0lkfSBmcm9tICcuL21lc3NhZ2VzL3dlYmhvb2snO1xuXG4vLyBTdG9yZUNsaWVudCBSZXNwb25zZSBUeXBlc1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvc3RvcmFnZSc7XG5leHBvcnQge1N0b3JlSW5mb30gZnJvbSAnLi9tZXNzYWdlcy9zdG9yZS1pbmZvJztcblxuaW1wb3J0IHtDYWNoZUluZm99IGZyb20gJy4vbWVzc2FnZXMvY2FjaGUtaW5mbyc7XG5pbXBvcnQge1xuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgQ29sbGVjdGlvblR0bCxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIExlYWRlcmJvYXJkT3JkZXIsXG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBJdGVtVHlwZSxcbiAgV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBXZWJob29rRGVzdGluYXRpb25UeXBlLFxuICBTZXRCYXRjaEl0ZW0sXG59IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgKiBhcyB1dGlscyBmcm9tICcuL3V0aWxzJztcblxuaW1wb3J0IHtcbiAgQ3JlZGVudGlhbFByb3ZpZGVyLFxuICBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIGdldERlZmF1bHRDcmVkZW50aWFsUHJvdmlkZXIsXG59IGZyb20gJy4vYXV0aCc7XG5cbmltcG9ydCB7XG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBDYWNoZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBDYWNoZU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlSXRlbU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCB7XG4gIE1vbWVudG9Mb2dnZXIsXG4gIE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL21vbWVudG8tbG9nZ2VyJztcblxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZW51bXMnO1xuXG5leHBvcnQge1xuICBOb29wTW9tZW50b0xvZ2dlcixcbiAgTm9vcE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL25vb3AtbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBJQ2FjaGVDbGllbnQsXG4gIFNldE9wdGlvbnMsXG4gIFNldElmTm90RXhpc3RzT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPcHRpb25zLFxuICBTZXRJZlByZXNlbnRPcHRpb25zLFxuICBTZXRJZkVxdWFsT3B0aW9ucyxcbiAgU2V0SWZOb3RFcXVhbE9wdGlvbnMsXG4gIFNldElmUHJlc2VudEFuZE5vdEVxdWFsT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPckVxdWFsT3B0aW9ucyxcbiAgSW5jcmVtZW50T3B0aW9ucyxcbn0gZnJvbSAnLi9jbGllbnRzL0lDYWNoZUNsaWVudCc7XG5cbmV4cG9ydCB7SVN0b3JhZ2VDbGllbnR9IGZyb20gJy4vY2xpZW50cy9JU3RvcmFnZUNsaWVudCc7XG5cbmV4cG9ydCB7SU1vbWVudG9DYWNoZX0gZnJvbSAnLi9jbGllbnRzL0lNb21lbnRvQ2FjaGUnO1xuXG5leHBvcnQge0lMZWFkZXJib2FyZENsaWVudH0gZnJvbSAnLi9jbGllbnRzL0lMZWFkZXJib2FyZENsaWVudCc7XG5leHBvcnQge0lMZWFkZXJib2FyZH0gZnJvbSAnLi9jbGllbnRzL0lMZWFkZXJib2FyZCc7XG5cbmV4cG9ydCB7XG4gIENhY2hlUm9sZSxcbiAgQ2FjaGVQZXJtaXNzaW9uLFxuICBUb3BpY1JvbGUsXG4gIFRvcGljUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbnMsXG4gIEFsbERhdGFSZWFkV3JpdGUsXG4gIFBlcm1pc3Npb25TY29wZSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBQZXJtaXNzaW9uU2NvcGVcbiAgICovXG4gIFRva2VuU2NvcGUsXG4gIENhY2hlTmFtZSxcbiAgaXNDYWNoZU5hbWUsXG4gIFRvcGljTmFtZSxcbiAgaXNUb3BpY05hbWUsXG4gIENhY2hlU2VsZWN0b3IsXG4gIFRvcGljU2VsZWN0b3IsXG4gIEFsbENhY2hlcyxcbiAgQWxsVG9waWNzLFxuICBBbGxDYWNoZUl0ZW1zLFxufSBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuXG5leHBvcnQge1xuICBEaXNwb3NhYmxlVG9rZW5TY29wZSxcbiAgQ2FjaGVJdGVtU2VsZWN0b3IsXG4gIENhY2hlSXRlbUtleSxcbiAgQ2FjaGVJdGVtS2V5UHJlZml4LFxuICBpc0NhY2hlSXRlbUtleSxcbiAgaXNDYWNoZUl0ZW1LZXlQcmVmaXgsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZSc7XG5cbmV4cG9ydCAqIGFzIFBlcm1pc3Npb25TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3Blcyc7XG4vKipcbiAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgUGVybWlzc2lvblNjb3BlcyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCAqIGFzIFRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZXMnO1xuZXhwb3J0ICogYXMgRGlzcG9zYWJsZVRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZXMnO1xuXG5leHBvcnQge1JlYWRDb25jZXJufSBmcm9tICcuL2NvbmZpZy9yZWFkLWNvbmNlcm4nO1xuZXhwb3J0IHtDb21wcmVzc2lvbkxldmVsfSBmcm9tICcuL2NvbXByZXNzaW9uL2NvbXByZXNzaW9uLWxldmVsJztcblxuZXhwb3J0IHtcbiAgRXhwaXJlc0luLFxuICBFeHBpcmVzQXQsXG4gIENvbGxlY3Rpb25UdGwsXG4gIEl0ZW1UeXBlLFxuICBXZWJob29rRGVzdGluYXRpb24sXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFdlYmhvb2tEZXN0aW5hdGlvblR5cGUsXG4gIFNvcnRlZFNldE9yZGVyLFxuICBMZWFkZXJib2FyZE9yZGVyLFxuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgZ2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcixcbiAgU2V0QmF0Y2hJdGVtLFxuXG4gIC8vIENhY2hlQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIENhY2hlR2V0LFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQsXG4gIENhY2hlTGlzdEZldGNoLFxuICBDYWNoZUxpc3RMZW5ndGgsXG4gIENhY2hlTGlzdFBvcEJhY2ssXG4gIENhY2hlTGlzdFBvcEZyb250LFxuICBDYWNoZUxpc3RQdXNoQmFjayxcbiAgQ2FjaGVMaXN0UHVzaEZyb250LFxuICBDYWNoZUxpc3RSZW1vdmVWYWx1ZSxcbiAgQ2FjaGVMaXN0UmV0YWluLFxuICBDYWNoZVNldCxcbiAgQ2FjaGVTZXRJZk5vdEV4aXN0cyxcbiAgQ2FjaGVTZXRJZlByZXNlbnQsXG4gIENhY2hlU2V0SWZBYnNlbnQsXG4gIENhY2hlU2V0SWZFcXVhbCxcbiAgQ2FjaGVTZXRJZk5vdEVxdWFsLFxuICBDYWNoZVNldElmUHJlc2VudEFuZE5vdEVxdWFsLFxuICBDYWNoZVNldElmQWJzZW50T3JFcXVhbCxcbiAgQ2FjaGVEZWxldGUsXG4gIENhY2hlRmx1c2gsXG4gIENyZWF0ZUNhY2hlLFxuICBEZWxldGVDYWNoZSxcbiAgTGlzdENhY2hlcyxcbiAgQ2FjaGVJbmNyZW1lbnQsXG4gIENhY2hlU2V0RmV0Y2gsXG4gIENhY2hlRGljdGlvbmFyeUZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQsXG4gIENhY2hlRGljdGlvbmFyeUxlbmd0aCxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50cyxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50LFxuICBDYWNoZVNldENvbnRhaW5zRWxlbWVudCxcbiAgQ2FjaGVTZXRDb250YWluc0VsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlU2V0U2FtcGxlLFxuICBDYWNoZVNldFBvcCxcbiAgQ2FjaGVTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRGZXRjaCxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRSYW5rLFxuICBDYWNoZVNvcnRlZFNldEdldFNjb3JlLFxuICBDYWNoZVNvcnRlZFNldEdldFNjb3JlcyxcbiAgQ2FjaGVTb3J0ZWRTZXRJbmNyZW1lbnRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZVNvcnRlZFNldExlbmd0aCxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlLFxuICBDYWNoZUl0ZW1HZXRUeXBlLFxuICBDYWNoZUl0ZW1HZXRUdGwsXG4gIENhY2hlS2V5RXhpc3RzLFxuICBDYWNoZUtleXNFeGlzdCxcbiAgQ2FjaGVVcGRhdGVUdGwsXG4gIENhY2hlSW5jcmVhc2VUdGwsXG4gIENhY2hlRGVjcmVhc2VUdGwsXG4gIENhY2hlSW5mbyxcbiAgQ2FjaGVTZXRCYXRjaCxcbiAgQ2FjaGVHZXRCYXRjaCxcbiAgLy8gVG9waWNDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgVG9waWNQdWJsaXNoLFxuICBUb3BpY1N1YnNjcmliZSxcbiAgVG9waWNJdGVtLFxuICBUb3BpY0Rpc2NvbnRpbnVpdHksXG4gIFRvcGljSGVhcnRiZWF0LFxuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuICBHZW5lcmF0ZUFwaUtleSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBHZW5lcmF0ZUFwaUtleVxuICAgKi9cbiAgR2VuZXJhdGVBcGlLZXkgYXMgR2VuZXJhdGVBdXRoVG9rZW4sXG4gIFJlZnJlc2hBcGlLZXksXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgUmVmcmVzaEFwaUtleVxuICAgKi9cbiAgUmVmcmVzaEFwaUtleSBhcyBSZWZyZXNoQXV0aFRva2VuLFxuICBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbixcbiAgLy8gRXJyb3JzXG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBDYWNoZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBDYWNoZU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlSXRlbU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufTtcbiJdfQ==
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUF3T3pELDRCQUFRO0FBdk9WLDZGQUE2RjtBQXdPM0YsNERBQXdCO0FBdk8xQiwrRkFBK0Y7QUF3TzdGLDhEQUF5QjtBQXZPM0Isd0VBQXdFO0FBd090RSx3Q0FBYztBQXZPaEIsMEVBQTBFO0FBd094RSwwQ0FBZTtBQXZPakIsNkVBQTZFO0FBd08zRSw0Q0FBZ0I7QUF2T2xCLCtFQUErRTtBQXdPN0UsOENBQWlCO0FBdk9uQiwrRUFBK0U7QUF3TzdFLDhDQUFpQjtBQXZPbkIsaUZBQWlGO0FBd08vRSxnREFBa0I7QUF2T3BCLHFGQUFxRjtBQXdPbkYsb0RBQW9CO0FBdk90QiwwRUFBMEU7QUF3T3hFLDBDQUFlO0FBdk9qQiwyREFBMkQ7QUF3T3pELDRCQUFRO0FBdk9WLGlFQUFpRTtBQStPL0Qsa0NBQVc7QUE5T2IsK0RBQStEO0FBK083RCxnQ0FBVTtBQTlPWixpRUFBaUU7QUErTy9ELGtDQUFXO0FBOU9iLGlFQUFpRTtBQStPL0Qsa0NBQVc7QUE5T2IsK0RBQStEO0FBK083RCxnQ0FBVTtBQTlPWixzRUFBc0U7QUFnUHBFLHNDQUFhO0FBL09mLG9GQUFvRjtBQWdQbEYsb0RBQW9CO0FBL090QiwyRkFBMkY7QUFnUHpGLDBEQUF1QjtBQS9PekIsNkZBQTZGO0FBZ1AzRiw0REFBd0I7QUEvTzFCLDJGQUEyRjtBQWdQekYsMERBQXVCO0FBL096Qiw2RkFBNkY7QUFnUDNGLDREQUF3QjtBQS9PMUIsaUdBQWlHO0FBZ1AvRixnRUFBMEI7QUEvTzVCLG1HQUFtRztBQWdQakcsa0VBQTJCO0FBL083Qiw0RkFBNEY7QUFnUDFGLDREQUF3QjtBQS9PMUIsc0ZBQXNGO0FBZ1BwRixzREFBcUI7QUEvT3ZCLG1GQUFtRjtBQWdQakYsa0RBQW1CO0FB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Q0gsaUVBQStEO0FBQy9ELGlGQUErRTtBQUUvRSxzREFBa0Q7QUFBMUMsMkdBQUEsV0FBVyxPQUFBO0FBQ25CLHFFQUFpRTtBQUF6RCxxSEFBQSxnQkFBZ0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgQ2FjaGVHZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFBvcEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXBvcC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXB1c2gtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJlbW92ZVZhbHVlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcmVtb3ZlLXZhbHVlJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJldGFpbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJldGFpbic7XG5pbXBvcnQgKiBhcyBDYWNoZVNldCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWxldGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGVsZXRlJztcbmltcG9ydCAqIGFzIENhY2hlRmx1c2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZmx1c2gnO1xuaW1wb3J0ICogYXMgQ3JlYXRlQ2FjaGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY3JlYXRlLWNhY2hlJztcbmltcG9ydCAqIGFzIERlbGV0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2RlbGV0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBMaXN0Q2FjaGVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xpc3QtY2FjaGVzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1zZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktcmVtb3ZlLWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktaW5jcmVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUxlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEFkZEVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldENvbnRhaW5zRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtY29udGFpbnMtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldENvbnRhaW5zRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWNvbnRhaW5zLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU2V0U2FtcGxlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1zYW1wbGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRQb3AgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXBvcCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1ub3QtZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZBYnNlbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmRXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZOb3RFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtbm90LWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLXByZXNlbnQtYW5kLW5vdC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50T3JFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtYWJzZW50LW9yLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0UmFuayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1yYW5rJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmVzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1pbmNyZW1lbnQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgtYnktc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHlwZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10eXBlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10dGwnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleXNFeGlzdCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXlzLWV4aXN0JztcbmltcG9ydCAqIGFzIENhY2hlVXBkYXRlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC11cGRhdGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtaW5jcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtZGVjcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVHZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1nZXQnO1xuXG4vLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgVG9waWNQdWJsaXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXB1Ymxpc2gnO1xuaW1wb3J0ICogYXMgVG9waWNTdWJzY3JpYmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtc3Vic2NyaWJlJztcbmltcG9ydCB7VG9waWNJdGVtfSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1pdGVtJztcbmltcG9ydCB7VG9waWNEaXNjb250aW51aXR5fSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1kaXNjb250aW51aXR5JztcbmltcG9ydCB7VG9waWNIZWFydGJlYXR9IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLWhlYXJ0YmVhdCc7XG5cbi8vIEF1dGhDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmltcG9ydCAqIGFzIEdlbmVyYXRlQXBpS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2dlbmVyYXRlLWFwaS1rZXknO1xuaW1wb3J0ICogYXMgUmVmcmVzaEFwaUtleSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9yZWZyZXNoLWFwaS1rZXknO1xuXG5pbXBvcnQgKiBhcyBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9nZW5lcmF0ZS1kaXNwb3NhYmxlLXRva2VuJztcblxuLy8gTGVhZGVyYm9hcmQgUmVzcG9uc2UgVHlwZXNcbmV4cG9ydCAqIGFzIGxlYWRlcmJvYXJkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xlYWRlcmJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xlYWRlcmJvYXJkJztcblxuZXhwb3J0ICogYXMgd2ViaG9vayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy93ZWJob29rJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3dlYmhvb2snO1xuZXhwb3J0IHtXZWJob29rLCBXZWJob29rSWR9IGZyb20gJy4vbWVzc2FnZXMvd2ViaG9vayc7XG5cbi8vIFN0b3JlQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9zdG9yYWdlJztcbmV4cG9ydCB7U3RvcmVJbmZvfSBmcm9tICcuL21lc3NhZ2VzL3N0b3JlLWluZm8nO1xuXG5pbXBvcnQge0NhY2hlSW5mb30gZnJvbSAnLi9tZXNzYWdlcy9jYWNoZS1pbmZvJztcbmltcG9ydCB7XG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBDb2xsZWN0aW9uVHRsLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgTGVhZGVyYm9hcmRPcmRlcixcbiAgRXhwaXJlc0luLFxuICBFeHBpcmVzQXQsXG4gIEl0ZW1UeXBlLFxuICBXZWJob29rRGVzdGluYXRpb24sXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFdlYmhvb2tEZXN0aW5hdGlvblR5cGUsXG4gIFNldEJhdGNoSXRlbSxcbn0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgZ2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcixcbiAgTW9tZW50b0xvY2FsUHJvdmlkZXIsXG59IGZyb20gJy4vYXV0aCc7XG5cbmltcG9ydCB7XG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBDYWNoZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBDYWNoZU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlSXRlbU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCB7XG4gIE1vbWVudG9Mb2dnZXIsXG4gIE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL21vbWVudG8tbG9nZ2VyJztcblxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZW51bXMnO1xuXG5leHBvcnQge1xuICBOb29wTW9tZW50b0xvZ2dlcixcbiAgTm9vcE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL25vb3AtbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBJQ2FjaGVDbGllbnQsXG4gIFNldE9wdGlvbnMsXG4gIFNldElmTm90RXhpc3RzT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPcHRpb25zLFxuICBTZXRJZlByZXNlbnRPcHRpb25zLFxuICBTZXRJZkVxdWFsT3B0aW9ucyxcbiAgU2V0SWZOb3RFcXVhbE9wdGlvbnMsXG4gIFNldElmUHJlc2VudEFuZE5vdEVxdWFsT3B0aW9ucyxcbiAgU2V0SWZBYnNlbnRPckVxdWFsT3B0aW9ucyxcbiAgU29ydGVkU2V0UHV0RWxlbWVudHNPcHRpb25zLFxuICBJbmNyZW1lbnRPcHRpb25zLFxufSBmcm9tICcuL2NsaWVudHMvSUNhY2hlQ2xpZW50JztcblxuZXhwb3J0IHtJU3RvcmFnZUNsaWVudH0gZnJvbSAnLi9jbGllbnRzL0lTdG9yYWdlQ2xpZW50JztcblxuZXhwb3J0IHtJTW9tZW50b0NhY2hlfSBmcm9tICcuL2NsaWVudHMvSU1vbWVudG9DYWNoZSc7XG5cbmV4cG9ydCB7SUxlYWRlcmJvYXJkQ2xpZW50fSBmcm9tICcuL2NsaWVudHMvSUxlYWRlcmJvYXJkQ2xpZW50JztcbmV4cG9ydCB7SUxlYWRlcmJvYXJkfSBmcm9tICcuL2NsaWVudHMvSUxlYWRlcmJvYXJkJztcblxuZXhwb3J0IHtcbiAgQ2FjaGVSb2xlLFxuICBDYWNoZVBlcm1pc3Npb24sXG4gIFRvcGljUm9sZSxcbiAgVG9waWNQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9uLFxuICBQZXJtaXNzaW9ucyxcbiAgQWxsRGF0YVJlYWRXcml0ZSxcbiAgUGVybWlzc2lvblNjb3BlLFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIFBlcm1pc3Npb25TY29wZVxuICAgKi9cbiAgVG9rZW5TY29wZSxcbiAgQ2FjaGVOYW1lLFxuICBpc0NhY2hlTmFtZSxcbiAgVG9waWNOYW1lLFxuICBpc1RvcGljTmFtZSxcbiAgQ2FjaGVTZWxlY3RvcixcbiAgVG9waWNTZWxlY3RvcixcbiAgQWxsQ2FjaGVzLFxuICBBbGxUb3BpY3MsXG4gIEFsbENhY2hlSXRlbXMsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZSc7XG5cbmV4cG9ydCB7XG4gIERpc3Bvc2FibGVUb2tlblNjb3BlLFxuICBDYWNoZUl0ZW1TZWxlY3RvcixcbiAgQ2FjaGVJdGVtS2V5LFxuICBDYWNoZUl0ZW1LZXlQcmVmaXgsXG4gIGlzQ2FjaGVJdGVtS2V5LFxuICBpc0NhY2hlSXRlbUtleVByZWZpeCxcbn0gZnJvbSAnLi9hdXRoL3Rva2Vucy9kaXNwb3NhYmxlLXRva2VuLXNjb3BlJztcblxuZXhwb3J0ICogYXMgUGVybWlzc2lvblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGVzJztcbi8qKlxuICogQGRlcHJlY2F0ZWQgcGxlYXNlIHVzZSBQZXJtaXNzaW9uU2NvcGVzIGluc3RlYWRcbiAqL1xuZXhwb3J0ICogYXMgVG9rZW5TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3Blcyc7XG5leHBvcnQgKiBhcyBEaXNwb3NhYmxlVG9rZW5TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9kaXNwb3NhYmxlLXRva2VuLXNjb3Blcyc7XG5cbmV4cG9ydCB7UmVhZENvbmNlcm59IGZyb20gJy4vY29uZmlnL3JlYWQtY29uY2Vybic7XG5leHBvcnQge0NvbXByZXNzaW9uTGV2ZWx9IGZyb20gJy4vY29tcHJlc3Npb24vY29tcHJlc3Npb24tbGV2ZWwnO1xuXG5leHBvcnQge1xuICBFeHBpcmVzSW4sXG4gIEV4cGlyZXNBdCxcbiAgQ29sbGVjdGlvblR0bCxcbiAgSXRlbVR5cGUsXG4gIFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgV2ViaG9va0Rlc3RpbmF0aW9uVHlwZSxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIExlYWRlcmJvYXJkT3JkZXIsXG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBNb21lbnRvTG9jYWxQcm92aWRlcixcbiAgZ2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcixcbiAgU2V0QmF0Y2hJdGVtLFxuXG4gIC8vIENhY2hlQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIENhY2hlR2V0LFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQsXG4gIENhY2hlTGlzdEZldGNoLFxuICBDYWNoZUxpc3RMZW5ndGgsXG4gIENhY2hlTGlzdFBvcEJhY2ssXG4gIENhY2hlTGlzdFBvcEZyb250LFxuICBDYWNoZUxpc3RQdXNoQmFjayxcbiAgQ2FjaGVMaXN0UHVzaEZyb250LFxuICBDYWNoZUxpc3RSZW1vdmVWYWx1ZSxcbiAgQ2FjaGVMaXN0UmV0YWluLFxuICBDYWNoZVNldCxcbiAgQ2FjaGVTZXRJZk5vdEV4aXN0cyxcbiAgQ2FjaGVTZXRJZlByZXNlbnQsXG4gIENhY2hlU2V0SWZBYnNlbnQsXG4gIENhY2hlU2V0SWZFcXVhbCxcbiAgQ2FjaGVTZXRJZk5vdEVxdWFsLFxuICBDYWNoZVNldElmUHJlc2VudEFuZE5vdEVxdWFsLFxuICBDYWNoZVNldElmQWJzZW50T3JFcXVhbCxcbiAgQ2FjaGVEZWxldGUsXG4gIENhY2hlRmx1c2gsXG4gIENyZWF0ZUNhY2hlLFxuICBEZWxldGVDYWNoZSxcbiAgTGlzdENhY2hlcyxcbiAgQ2FjaGVJbmNyZW1lbnQsXG4gIENhY2hlU2V0RmV0Y2gsXG4gIENhY2hlRGljdGlvbmFyeUZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQsXG4gIENhY2hlRGljdGlvbmFyeUxlbmd0aCxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50cyxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50LFxuICBDYWNoZVNldENvbnRhaW5zRWxlbWVudCxcbiAgQ2FjaGVTZXRDb250YWluc0VsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlU2V0U2FtcGxlLFxuICBDYWNoZVNldFBvcCxcbiAgQ2FjaGVTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRGZXRjaCxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRSYW5rLFxuICBDYWNoZVNvcnRlZFNldEdldFNjb3JlLFxuICBDYWNoZVNvcnRlZFNldEdldFNjb3JlcyxcbiAgQ2FjaGVTb3J0ZWRTZXRJbmNyZW1lbnRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZVNvcnRlZFNldExlbmd0aCxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlLFxuICBDYWNoZUl0ZW1HZXRUeXBlLFxuICBDYWNoZUl0ZW1HZXRUdGwsXG4gIENhY2hlS2V5RXhpc3RzLFxuICBDYWNoZUtleXNFeGlzdCxcbiAgQ2FjaGVVcGRhdGVUdGwsXG4gIENhY2hlSW5jcmVhc2VUdGwsXG4gIENhY2hlRGVjcmVhc2VUdGwsXG4gIENhY2hlSW5mbyxcbiAgQ2FjaGVTZXRCYXRjaCxcbiAgQ2FjaGVHZXRCYXRjaCxcbiAgLy8gVG9waWNDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgVG9waWNQdWJsaXNoLFxuICBUb3BpY1N1YnNjcmliZSxcbiAgVG9waWNJdGVtLFxuICBUb3BpY0Rpc2NvbnRpbnVpdHksXG4gIFRvcGljSGVhcnRiZWF0LFxuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuICBHZW5lcmF0ZUFwaUtleSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBHZW5lcmF0ZUFwaUtleVxuICAgKi9cbiAgR2VuZXJhdGVBcGlLZXkgYXMgR2VuZXJhdGVBdXRoVG9rZW4sXG4gIFJlZnJlc2hBcGlLZXksXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgUmVmcmVzaEFwaUtleVxuICAgKi9cbiAgUmVmcmVzaEFwaUtleSBhcyBSZWZyZXNoQXV0aFRva2VuLFxuICBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbixcbiAgLy8gRXJyb3JzXG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBDYWNoZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBDYWNoZU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlSXRlbU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gomomento/sdk-core",
3
- "version": "1.102.2",
3
+ "version": "1.103.0",
4
4
  "description": "Common code for Momento JS SDKs",
5
5
  "main": "dist/src/index.js",
6
6
  "files": [