@c8y/ngx-components 1018.503.71 → 1018.503.73

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.
@@ -15,7 +15,7 @@ export declare class CookieBannerService {
15
15
  isCookieBannerShowed$: Subject<boolean>;
16
16
  cookieDescriptions: {
17
17
  required: "These cookies are required to enable core site functionality. They perform a task or operation without which a site's functionality would not be possible.";
18
- functional: "These cookies are used to track site usage and to process my personal data to measure and improve usability and performance. We will neither forward this data to any third party nor use this data for direct marketing purposes. I recognize that I can opt in and out of these cookies at any time.";
18
+ functional: "These cookies are used to support you during your first steps with the product, to deliver content tailored to your needs, and to collect usage statistics.";
19
19
  marketing: "These cookies are used to target advertising to a user.";
20
20
  };
21
21
  constructor(options: OptionsService);
@@ -18,7 +18,7 @@ export class CookieBannerService {
18
18
  this.isCookieBannerShowed$ = new Subject();
19
19
  this.cookieDescriptions = {
20
20
  required: gettext("These cookies are required to enable core site functionality. They perform a task or operation without which a site's functionality would not be possible."),
21
- functional: gettext('These cookies are used to track site usage and to process my personal data to measure and improve usability and performance. We will neither forward this data to any third party nor use this data for direct marketing purposes. I recognize that I can opt in and out of these cookies at any time.'),
21
+ functional: gettext('These cookies are used to support you during your first steps with the product, to deliver content tailored to your needs, and to collect usage statistics.'),
22
22
  marketing: gettext('These cookies are used to target advertising to a user.')
23
23
  };
24
24
  }
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
137
137
  providedIn: 'root'
138
138
  }]
139
139
  }], ctorParameters: function () { return [{ type: i1.OptionsService }]; } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLWJhbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9ib290c3RyYXAvY29va2llLWJhbm5lci9jb29raWUtYmFubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUc3Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFrQjlCLFlBQW9CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBakJsQyxnQkFBVyxHQUFXLG9CQUFvQixDQUFDO1FBQzNDLGtCQUFhLEdBQUcsY0FBYyxDQUFDO1FBQy9CLDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBQzlDLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsOEJBQXlCLEdBQUcsbUJBQW1CLENBQUM7UUFDekQsMEJBQXFCLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFeEQsdUJBQWtCLEdBQUc7WUFDbkIsUUFBUSxFQUFFLE9BQU8sQ0FDZiw0SkFBNEosQ0FDN0o7WUFDRCxVQUFVLEVBQUUsT0FBTyxDQUNqQix3U0FBd1MsQ0FDelM7WUFDRCxTQUFTLEVBQUUsT0FBTyxDQUFDLHlEQUF5RCxDQUFDO1NBQzlFLENBQUM7SUFFNEMsQ0FBQztJQUUvQzs7O09BR0c7SUFDSCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsdUJBQXVCO1FBQ3JCLElBQUksY0FBNkMs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LENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaURBQWlELENBQy9DLHFCQUErQjtRQUUvQixPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQTZCLEVBQUUsTUFBYyxFQUFFLEVBQUU7WUFDcEYsTUFBTSxHQUFHLEdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNoQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUMvQixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRU8sYUFBYTtRQUNuQixnSUFBZ0k7UUFDaEksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOztnSEF6SVUsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi8uLi9pMThuL2dldHRleHQnO1xuaW1wb3J0IHsgQ29va2llLCBDb29raWVCYW5uZXJTZXR0aW5ncywgQ29va2llUHJlZmVyZW5jZXMgfSBmcm9tICcuL2Nvb2tpZS1iYW5uZXIubW9kZWwnO1xuXG4vKipcbiAqIFRoaXMgc2VydmljZSBpcyBoYW5kbGluZyB0aGUgY29va2llIGJhbm5lciBhbmQgY29va2llIHByZWZlcmVuY2VzIHJlbGF0ZWQgbG9naWMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZUJhbm5lclNlcnZpY2Uge1xuICByZWFkb25seSBTVE9SQUdFX0tFWTogc3RyaW5nID0gJ2FjY2VwdENvb2tpZU5vdGljZSc7XG4gIHJlYWRvbmx5IENPT0tJRV9CQU5ORVIgPSAnY29va2llQmFubmVyJztcbiAgcmVhZG9ubHkgUFJFVklFV19DT09LSUVfQkFOTkVSID0gJ3ByZXZpZXdDb29raWVCYW5uZXInO1xuICByZWFkb25seSBJU19QUkVWSUVXID0gJ3ByZXZpZXcnO1xuICByZWFkb25seSBDT09LSUVfUFJFRkVSRU5DRVNfQ09ORklHID0gJ2Nvb2tpZVByZWZlcmVuY2VzJztcbiAgaXNDb29raWVCYW5uZXJTaG93ZWQkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb29raWVEZXNjcmlwdGlvbnMgPSB7XG4gICAgcmVxdWlyZWQ6IGdldHRleHQoXG4gICAgICBcIlRoZXNlIGNvb2tpZXMgYXJlIHJlcXVpcmVkIHRvIGVuYWJsZSBjb3JlIHNpdGUgZnVuY3Rpb25hbGl0eS4gVGhleSBwZXJmb3JtIGEgdGFzayBvciBvcGVyYXRpb24gd2l0aG91dCB3aGljaCBhIHNpdGUncyBmdW5jdGlvbmFsaXR5IHdvdWxkIG5vdCBiZSBwb3NzaWJsZS5cIlxuICAgICksXG4gICAgZnVuY3Rpb25hbDogZ2V0dGV4dChcbiAgICAgICdUaGVzZSBjb29raWVzIGFyZSB1c2VkIHRvIHRyYWNrIHNpdGUgdXNhZ2UgYW5kIHRvIHByb2Nlc3MgbXkgcGVyc29uYWwgZGF0YSB0byBtZWFzdXJlIGFuZCBpbXByb3ZlIHVzYWJpbGl0eSBhbmQgcGVyZm9ybWFuY2UuIFdlIHdpbGwgbmVpdGhlciBmb3J3YXJkIHRoaXMgZGF0YSB0byBhbnkgdGhpcmQgcGFydHkgbm9yIHVzZSB0aGlzIGRhdGEgZm9yIGRpcmVjdCBtYXJrZXRpbmcgcHVycG9zZXMuIEkgcmVjb2duaXplIHRoYXQgSSBjYW4gb3B0IGluIGFuZCBvdXQgb2YgdGhlc2UgY29va2llcyBhdCBhbnkgdGltZS4nXG4gICAgKSxcbiAgICBtYXJrZXRpbmc6IGdldHRleHQoJ1RoZXNlIGNvb2tpZXMgYXJlIHVzZWQgdG8gdGFyZ2V0IGFkdmVydGlzaW5nIHRvIGEgdXNlci4nKVxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3B0aW9uczogT3B0aW9uc1NlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgQ29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIHtvYmplY3R9IFJldHVybiBhbiBvYmplY3Qgd2l0aCBjb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbiBkZWZpbmVkIGluIGFwcGxpY2F0aW9uIG9wdGlvbnMuXG4gICAqL1xuICBnZXRDb29raWVQcmVmZXJlbmNlc0NvbmZpZygpOiBDb29raWVQcmVmZXJlbmNlcyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQodGhpcy5DT09LSUVfUFJFRkVSRU5DRVNfQ09ORklHKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIENvb2tpZSBiYW5uZXIgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge29iamVjdH0gUmV0dXJuIGFuIG9iamVjdCB3aXRoIGNvb2tpZSBiYW5uZXIgY29uZmlndXJhdGlvbiBkZWZpbmVkIGluIGFwcGxpY2F0aW9uIG9wdGlvbnMuXG4gICAqL1xuICBnZXRDb29raWVCYW5uZXJTZXR0aW5ncygpOiBQYXJ0aWFsPENvb2tpZUJhbm5lclNldHRpbmdzPiB7XG4gICAgbGV0IGNvb2tpZVNldHRpbmdzOiBQYXJ0aWFsPENvb2tpZUJhbm5lclNldHRpbmdzPjtcbiAgICBpZiAodGhpcy5pc1ByZXZpZXdNb2RlKCkpIHtcbiAgICAgIGNvb2tpZVNldHRpbmdzID0gdGhpcy5vcHRpb25zLmdldCh0aGlzLlBSRVZJRVdfQ09PS0lFX0JBTk5FUik7XG4gICAgICBpZiAoY29va2llU2V0dGluZ3MpIHtcbiAgICAgICAgcmV0dXJuIGNvb2tpZVNldHRpbmdzO1xuICAgICAgfVxuICAgIH1cbiAgICBjb29raWVTZXR0aW5ncyA9IHRoaXMub3B0aW9ucy5nZXQodGhpcy5DT09LSUVfQkFOTkVSKSB8fCB7fTtcbiAgICByZXR1cm4gY29va2llU2V0dGluZ3M7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIGNvb2tpZSBwcmVmZXJlbmNlcyB0byBib29sZWFuLiBTZXRzIHRoZSBjb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbiBpbiBsb2NhbCBzdG9yYWdlLlxuICAgKiBAcGFyYW0ge29iamVjdH0gY29va2llUHJlZmVyZW5jZXMgT2JqZWN0IHdpdGggY29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHNldENvb2tpZXMoY29va2llUHJlZmVyZW5jZXM6IENvb2tpZVByZWZlcmVuY2VzKSB7XG4gICAgY29uc3QgY29va2llc1RvU2V0ID0geyAuLi5jb29raWVQcmVmZXJlbmNlcyB9O1xuICAgIE9iamVjdC5lbnRyaWVzKGNvb2tpZXNUb1NldCkuZm9yRWFjaCgoW2Nvb2tpZU5hbWUsIGNvb2tpZVZhbHVlXSkgPT4ge1xuICAgICAgY29va2llc1RvU2V0W2Nvb2tpZU5hbWVdID0gdHlwZW9mIGNvb2tpZVZhbHVlID09PSAnc3RyaW5nJyA/IHRydWUgOiBjb29raWVWYWx1ZTtcbiAgICB9KTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLlNUT1JBR0VfS0VZLCBKU09OLnN0cmluZ2lmeShjb29raWVzVG9TZXQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyB0aGF0IGNvb2tpZSBiYW5uZXIgc2hvdWxkIGJlIHNob3duLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBpZiB0aGUgY29va2llIGJhbm5lciBzaG91bGQgYmUgc2hvd24uXG4gICAqL1xuICBzaG91bGRTaG93Q29va2llQmFubmVyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNldHRpbmdzID0gdGhpcy5nZXRDb29raWVCYW5uZXJTZXR0aW5ncygpO1xuICAgIGNvbnN0IHNob3VsZFNob3dEZWZhdWx0ID0gISFzZXR0aW5ncy5jb29raWVCYW5uZXJUZXh0ICYmICF0aGlzLmdldFVzZXJDb29raWVQcmVmZXJlbmNlcygpO1xuICAgIGlmICh0aGlzLmlzUHJldmlld01vZGUoKSkge1xuICAgICAgcmV0dXJuICEoc2V0dGluZ3MgJiYgc2V0dGluZ3MuY29va2llQmFubmVyRGlzYWJsZWQpO1xuICAgIH1cbiAgICByZXR1cm4gc2hvdWxkU2hvd0RlZmF1bHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24gZnJvbSBsb2NhbCBzdG9yYWdlLlxuICAgKiBAcmV0dXJucyB7b2JqZWN0fSBPYmplY3Qgd2l0aCBjb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGdldFVzZXJDb29raWVQcmVmZXJlbmNlcygpOiBDb29raWVQcmVmZXJlbmNlcyB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5TVE9SQUdFX0tFWSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoYXQgY29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZCBpbiB0aGUgYXBwbGljYXRpb24gb3B0aW9ucy5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgaWYgdGhlIGNvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uIGlzIGRlZmluZWQuXG4gICAqL1xuICBpc0NvbmZpZ0Nvb2tpZVByZWZlcmVuY2VzRGVmaW5lZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdldENvb2tpZVByZWZlcmVuY2VzQ29uZmlnKCk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpZXMgdGhhdCBmdW5jdGlvbmFsIGNvb2tpZXMgYXJlIGVuYWJsZWQuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIHdoZW4gZnVuY3Rpb25hbCBjb29raWVzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgaXNGdW5jdGlvbmFsQ29va2llRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCB7IGZ1bmN0aW9uYWwgfTogQ29va2llUHJlZmVyZW5jZXMgPSB0aGlzLmdldFVzZXJDb29raWVQcmVmZXJlbmNlcygpIHx8IHt9O1xuICAgIHJldHVybiBmdW5jdGlvbmFsID09PSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIG9mIGNvb2tpZXMuXG4gICAqIEBwYXJhbSB7J3JlcXVpcmVkJyB8ICdmdW5jdGlvbmFsJyB8ICdtYXJrZXRpbmcnfSBjb29raWVUeXBlIFRha2VzIG9uZSBvZiB0aGUgZm9sbG93aW5nIG9wdGlvbnM6ICdyZXF1aXJlZCcsICdmdW5jdGlvbmFsJywgJ21hcmtldGluZycuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBkZWZhdWx0IGNvb2tpZSBkZXNjcmlwdGlvbiwgaWYgbm90IGV4cGxpY2l0bHkgZGVmaW5lZCBpbiBhcHBsaWNhdGlvbiBvcHRpb25zLlxuICAgKi9cbiAgZ2V0Q29va2llRGVzY3JpcHRpb24oY29va2llVHlwZTogJ3JlcXVpcmVkJyB8ICdmdW5jdGlvbmFsJyB8ICdtYXJrZXRpbmcnKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb29raWVCYW5uZXJDb25maWdTZXR0aW5ncyA9IHRoaXMuZ2V0Q29va2llUHJlZmVyZW5jZXNDb25maWcoKTtcbiAgICBjb25zdCBjb29raWVCYW5uZXJTZXR0aW5nVmFsdWUgPSBjb29raWVCYW5uZXJDb25maWdTZXR0aW5nc1tjb29raWVUeXBlXTtcbiAgICByZXR1cm4gdHlwZW9mIGNvb2tpZUJhbm5lclNldHRpbmdWYWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgID8gY29va2llQmFubmVyU2V0dGluZ1ZhbHVlXG4gICAgICA6IHRoaXMuY29va2llRGVzY3JpcHRpb25zW2Nvb2tpZVR5cGVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybXMgY29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHRvIGFuIGFycmF5IG9mIGNvb2tpZSBwcmVmZXJlbmNlcyBvYmplY3RzLiBFYWNoIG9iamVjdCBpbiByZXR1cm5lZCBhcnJheSBjb250YWlucyBjb29raWUgJ25hbWUnLCAndmFsdWUnIGFuZCAnaXNSZWFkb25seScgcHJvcGVydHkuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBjb29raWVQcmVmZXJlbmNlcy5cbiAgICogQHJldHVybnMge0FycmF5fSBBcnJheSBzaG93cyBpZiB0aGUgY29va2llIGlzIFJlYWRvbmx5LlxuICAgKi9cbiAgdHJhbnNmb3JtQ29va2llUHJlZmVyZW5jZXNUb0xpc3QoY29va2llUHJlZmVyZW5jZXM6IENvb2tpZVByZWZlcmVuY2VzKTogQ29va2llW10ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhjb29raWVQcmVmZXJlbmNlcykubWFwKChbbmFtZSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBpc1JlYWRvbmx5ID0gbmFtZSA9PT0gJ3JlcXVpcmVkJztcbiAgICAgIHJldHVybiB7IG5hbWUsIHZhbHVlLCBpc1JlYWRvbmx5IH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyBhbiBhcnJheSBvZiBjb29raWUgcHJlZmVyZW5jZXMgb2JqZWN0cyB0byBjb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGNvb2tpZVByZWZlcmVuY2VzTGlzdCBBcnJheSBvZiBjb29raWUgcHJlZmVyZW5jZXMuXG4gICAqIEByZXR1cm5zIHtvYmplY3R9IEFuIG9iamVjdCB3aXRoIGNvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgdHJhbnNmb3JtQ29va2llUHJlZmVyZW5jZXNMaXN0VG9Db29raWVQcmVmZXJlbmNlcyhcbiAgICBjb29raWVQcmVmZXJlbmNlc0xpc3Q6IENvb2tpZVtdXG4gICk6IENvb2tpZVByZWZlcmVuY2VzIHtcbiAgICByZXR1cm4gY29va2llUHJlZmVyZW5jZXNMaXN0LnJlZHVjZSgoY29va2llUHJlZjogQ29va2llUHJlZmVyZW5jZXMsIGNvb2tpZTogQ29va2llKSA9PiB7XG4gICAgICBjb25zdCBrZXk6IHN0cmluZyA9IGNvb2tpZS5uYW1lO1xuICAgICAgY29va2llUHJlZltrZXldID0gY29va2llLnZhbHVlO1xuICAgICAgcmV0dXJuIGNvb2tpZVByZWY7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1ByZXZpZXdNb2RlKCk6IGJvb2xlYW4ge1xuICAgIC8vIHBhcmFtcyBmcm9tIHVybCBhcmUgYXV0b21hdGljYWxseSByZXNvbHZlZCBkdXJpbmcgYm9vdHN0cmFwIGFzIHN0cmluZyBvcHRpb25zLCBzZWU6IHBhY2thZ2VzL2NsaS9zcmMvYXBwLWJvb3RzdHJhcC9vcHRpb25zLnRzXG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQodGhpcy5JU19QUkVWSUVXLCBmYWxzZSwgdHJ1ZSk7XG4gIH1cbn1cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLWJhbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9ib290c3RyYXAvY29va2llLWJhbm5lci9jb29raWUtYmFubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUc3Qzs7R0FFRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFrQjlCLFlBQW9CLE9BQXVCO1FBQXZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBakJsQyxnQkFBVyxHQUFXLG9CQUFvQixDQUFDO1FBQzNDLGtCQUFhLEdBQUcsY0FBYyxDQUFDO1FBQy9CLDBCQUFxQixHQUFHLHFCQUFxQixDQUFDO1FBQzlDLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFDdkIsOEJBQXlCLEdBQUcsbUJBQW1CLENBQUM7UUFDekQsMEJBQXFCLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFeEQsdUJBQWtCLEdBQUc7WUFDbkIsUUFBUSxFQUFFLE9BQU8sQ0FDZiw0SkFBNEosQ0FDN0o7WUFDRCxVQUFVLEVBQUUsT0FBTyxDQUNqQiw2SkFBNkosQ0FDOUo7WUFDRCxTQUFTLEVBQUUsT0FBTyxDQUFDLHlEQUF5RCxDQUFDO1NBQzlFLENBQUM7SUFFNEMsQ0FBQztJQUUvQzs7O09BR0c7SUFDSCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsdUJBQXVCO1FBQ3JCLElBQUksY0FBNkMs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LENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaURBQWlELENBQy9DLHFCQUErQjtRQUUvQixPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQTZCLEVBQUUsTUFBYyxFQUFFLEVBQUU7WUFDcEYsTUFBTSxHQUFHLEdBQVcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNoQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUMvQixPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRU8sYUFBYTtRQUNuQixnSUFBZ0k7UUFDaEksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RCxDQUFDOztnSEF6SVUsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi8uLi9pMThuL2dldHRleHQnO1xuaW1wb3J0IHsgQ29va2llLCBDb29raWVCYW5uZXJTZXR0aW5ncywgQ29va2llUHJlZmVyZW5jZXMgfSBmcm9tICcuL2Nvb2tpZS1iYW5uZXIubW9kZWwnO1xuXG4vKipcbiAqIFRoaXMgc2VydmljZSBpcyBoYW5kbGluZyB0aGUgY29va2llIGJhbm5lciBhbmQgY29va2llIHByZWZlcmVuY2VzIHJlbGF0ZWQgbG9naWMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvb2tpZUJhbm5lclNlcnZpY2Uge1xuICByZWFkb25seSBTVE9SQUdFX0tFWTogc3RyaW5nID0gJ2FjY2VwdENvb2tpZU5vdGljZSc7XG4gIHJlYWRvbmx5IENPT0tJRV9CQU5ORVIgPSAnY29va2llQmFubmVyJztcbiAgcmVhZG9ubHkgUFJFVklFV19DT09LSUVfQkFOTkVSID0gJ3ByZXZpZXdDb29raWVCYW5uZXInO1xuICByZWFkb25seSBJU19QUkVWSUVXID0gJ3ByZXZpZXcnO1xuICByZWFkb25seSBDT09LSUVfUFJFRkVSRU5DRVNfQ09ORklHID0gJ2Nvb2tpZVByZWZlcmVuY2VzJztcbiAgaXNDb29raWVCYW5uZXJTaG93ZWQkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb29raWVEZXNjcmlwdGlvbnMgPSB7XG4gICAgcmVxdWlyZWQ6IGdldHRleHQoXG4gICAgICBcIlRoZXNlIGNvb2tpZXMgYXJlIHJlcXVpcmVkIHRvIGVuYWJsZSBjb3JlIHNpdGUgZnVuY3Rpb25hbGl0eS4gVGhleSBwZXJmb3JtIGEgdGFzayBvciBvcGVyYXRpb24gd2l0aG91dCB3aGljaCBhIHNpdGUncyBmdW5jdGlvbmFsaXR5IHdvdWxkIG5vdCBiZSBwb3NzaWJsZS5cIlxuICAgICksXG4gICAgZnVuY3Rpb25hbDogZ2V0dGV4dChcbiAgICAgICdUaGVzZSBjb29raWVzIGFyZSB1c2VkIHRvIHN1cHBvcnQgeW91IGR1cmluZyB5b3VyIGZpcnN0IHN0ZXBzIHdpdGggdGhlIHByb2R1Y3QsIHRvIGRlbGl2ZXIgY29udGVudCB0YWlsb3JlZCB0byB5b3VyIG5lZWRzLCBhbmQgdG8gY29sbGVjdCB1c2FnZSBzdGF0aXN0aWNzLidcbiAgICApLFxuICAgIG1hcmtldGluZzogZ2V0dGV4dCgnVGhlc2UgY29va2llcyBhcmUgdXNlZCB0byB0YXJnZXQgYWR2ZXJ0aXNpbmcgdG8gYSB1c2VyLicpXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBvcHRpb25zOiBPcHRpb25zU2VydmljZSkge31cblxuICAvKipcbiAgICogUmV0dXJucyBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge29iamVjdH0gUmV0dXJuIGFuIG9iamVjdCB3aXRoIGNvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uIGRlZmluZWQgaW4gYXBwbGljYXRpb24gb3B0aW9ucy5cbiAgICovXG4gIGdldENvb2tpZVByZWZlcmVuY2VzQ29uZmlnKCk6IENvb2tpZVByZWZlcmVuY2VzIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldCh0aGlzLkNPT0tJRV9QUkVGRVJFTkNFU19DT05GSUcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgQ29va2llIGJhbm5lciBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7b2JqZWN0fSBSZXR1cm4gYW4gb2JqZWN0IHdpdGggY29va2llIGJhbm5lciBjb25maWd1cmF0aW9uIGRlZmluZWQgaW4gYXBwbGljYXRpb24gb3B0aW9ucy5cbiAgICovXG4gIGdldENvb2tpZUJhbm5lclNldHRpbmdzKCk6IFBhcnRpYWw8Q29va2llQmFubmVyU2V0dGluZ3M+IHtcbiAgICBsZXQgY29va2llU2V0dGluZ3M6IFBhcnRpYWw8Q29va2llQmFubmVyU2V0dGluZ3M+O1xuICAgIGlmICh0aGlzLmlzUHJldmlld01vZGUoKSkge1xuICAgICAgY29va2llU2V0dGluZ3MgPSB0aGlzLm9wdGlvbnMuZ2V0KHRoaXMuUFJFVklFV19DT09LSUVfQkFOTkVSKTtcbiAgICAgIGlmIChjb29raWVTZXR0aW5ncykge1xuICAgICAgICByZXR1cm4gY29va2llU2V0dGluZ3M7XG4gICAgICB9XG4gICAgfVxuICAgIGNvb2tpZVNldHRpbmdzID0gdGhpcy5vcHRpb25zLmdldCh0aGlzLkNPT0tJRV9CQU5ORVIpIHx8IHt9O1xuICAgIHJldHVybiBjb29raWVTZXR0aW5ncztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgY29va2llIHByZWZlcmVuY2VzIHRvIGJvb2xlYW4uIFNldHMgdGhlIGNvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uIGluIGxvY2FsIHN0b3JhZ2UuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBjb29raWVQcmVmZXJlbmNlcyBPYmplY3Qgd2l0aCBjb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvblxuICAgKi9cbiAgc2V0Q29va2llcyhjb29raWVQcmVmZXJlbmNlczogQ29va2llUHJlZmVyZW5jZXMpIHtcbiAgICBjb25zdCBjb29raWVzVG9TZXQgPSB7IC4uLmNvb2tpZVByZWZlcmVuY2VzIH07XG4gICAgT2JqZWN0LmVudHJpZXMoY29va2llc1RvU2V0KS5mb3JFYWNoKChbY29va2llTmFtZSwgY29va2llVmFsdWVdKSA9PiB7XG4gICAgICBjb29raWVzVG9TZXRbY29va2llTmFtZV0gPSB0eXBlb2YgY29va2llVmFsdWUgPT09ICdzdHJpbmcnID8gdHJ1ZSA6IGNvb2tpZVZhbHVlO1xuICAgIH0pO1xuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuU1RPUkFHRV9LRVksIEpTT04uc3RyaW5naWZ5KGNvb2tpZXNUb1NldCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoYXQgY29va2llIGJhbm5lciBzaG91bGQgYmUgc2hvd24uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGlmIHRoZSBjb29raWUgYmFubmVyIHNob3VsZCBiZSBzaG93bi5cbiAgICovXG4gIHNob3VsZFNob3dDb29raWVCYW5uZXIoKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLmdldENvb2tpZUJhbm5lclNldHRpbmdzKCk7XG4gICAgY29uc3Qgc2hvdWxkU2hvd0RlZmF1bHQgPSAhIXNldHRpbmdzLmNvb2tpZUJhbm5lclRleHQgJiYgIXRoaXMuZ2V0VXNlckNvb2tpZVByZWZlcmVuY2VzKCk7XG4gICAgaWYgKHRoaXMuaXNQcmV2aWV3TW9kZSgpKSB7XG4gICAgICByZXR1cm4gIShzZXR0aW5ncyAmJiBzZXR0aW5ncy5jb29raWVCYW5uZXJEaXNhYmxlZCk7XG4gICAgfVxuICAgIHJldHVybiBzaG91bGRTaG93RGVmYXVsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbiBmcm9tIGxvY2FsIHN0b3JhZ2UuXG4gICAqIEByZXR1cm5zIHtvYmplY3R9IE9iamVjdCB3aXRoIGNvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZ2V0VXNlckNvb2tpZVByZWZlcmVuY2VzKCk6IENvb2tpZVByZWZlcmVuY2VzIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLlNUT1JBR0VfS0VZKSk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpZXMgdGhhdCBjb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbiBpcyBkZWZpbmVkIGluIHRoZSBhcHBsaWNhdGlvbiBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBpZiB0aGUgY29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZC5cbiAgICovXG4gIGlzQ29uZmlnQ29va2llUHJlZmVyZW5jZXNEZWZpbmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ2V0Q29va2llUHJlZmVyZW5jZXNDb25maWcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmllcyB0aGF0IGZ1bmN0aW9uYWwgY29va2llcyBhcmUgZW5hYmxlZC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgd2hlbiBmdW5jdGlvbmFsIGNvb2tpZXMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICBpc0Z1bmN0aW9uYWxDb29raWVFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHsgZnVuY3Rpb25hbCB9OiBDb29raWVQcmVmZXJlbmNlcyA9IHRoaXMuZ2V0VXNlckNvb2tpZVByZWZlcmVuY2VzKCkgfHwge307XG4gICAgcmV0dXJuIGZ1bmN0aW9uYWwgPT09IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogRGVzY3JpcHRpb24gb2YgY29va2llcy5cbiAgICogQHBhcmFtIHsncmVxdWlyZWQnIHwgJ2Z1bmN0aW9uYWwnIHwgJ21hcmtldGluZyd9IGNvb2tpZVR5cGUgVGFrZXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgb3B0aW9uczogJ3JlcXVpcmVkJywgJ2Z1bmN0aW9uYWwnLCAnbWFya2V0aW5nJy5cbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGRlZmF1bHQgY29va2llIGRlc2NyaXB0aW9uLCBpZiBub3QgZXhwbGljaXRseSBkZWZpbmVkIGluIGFwcGxpY2F0aW9uIG9wdGlvbnMuXG4gICAqL1xuICBnZXRDb29raWVEZXNjcmlwdGlvbihjb29raWVUeXBlOiAncmVxdWlyZWQnIHwgJ2Z1bmN0aW9uYWwnIHwgJ21hcmtldGluZycpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvb2tpZUJhbm5lckNvbmZpZ1NldHRpbmdzID0gdGhpcy5nZXRDb29raWVQcmVmZXJlbmNlc0NvbmZpZygpO1xuICAgIGNvbnN0IGNvb2tpZUJhbm5lclNldHRpbmdWYWx1ZSA9IGNvb2tpZUJhbm5lckNvbmZpZ1NldHRpbmdzW2Nvb2tpZVR5cGVdO1xuICAgIHJldHVybiB0eXBlb2YgY29va2llQmFubmVyU2V0dGluZ1ZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgPyBjb29raWVCYW5uZXJTZXR0aW5nVmFsdWVcbiAgICAgIDogdGhpcy5jb29raWVEZXNjcmlwdGlvbnNbY29va2llVHlwZV07XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNmb3JtcyBjb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbiBvYmplY3QgdG8gYW4gYXJyYXkgb2YgY29va2llIHByZWZlcmVuY2VzIG9iamVjdHMuIEVhY2ggb2JqZWN0IGluIHJldHVybmVkIGFycmF5IGNvbnRhaW5zIGNvb2tpZSAnbmFtZScsICd2YWx1ZScgYW5kICdpc1JlYWRvbmx5JyBwcm9wZXJ0eS5cbiAgICogQHBhcmFtIHtvYmplY3R9IGNvb2tpZVByZWZlcmVuY2VzLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IEFycmF5IHNob3dzIGlmIHRoZSBjb29raWUgaXMgUmVhZG9ubHkuXG4gICAqL1xuICB0cmFuc2Zvcm1Db29raWVQcmVmZXJlbmNlc1RvTGlzdChjb29raWVQcmVmZXJlbmNlczogQ29va2llUHJlZmVyZW5jZXMpOiBDb29raWVbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGNvb2tpZVByZWZlcmVuY2VzKS5tYXAoKFtuYW1lLCB2YWx1ZV0pID0+IHtcbiAgICAgIGNvbnN0IGlzUmVhZG9ubHkgPSBuYW1lID09PSAncmVxdWlyZWQnO1xuICAgICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUsIGlzUmVhZG9ubHkgfTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGFuIGFycmF5IG9mIGNvb2tpZSBwcmVmZXJlbmNlcyBvYmplY3RzIHRvIGNvb2tpZSBwcmVmZXJlbmNlcyBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHBhcmFtIHtBcnJheX0gY29va2llUHJlZmVyZW5jZXNMaXN0IEFycmF5IG9mIGNvb2tpZSBwcmVmZXJlbmNlcy5cbiAgICogQHJldHVybnMge29iamVjdH0gQW4gb2JqZWN0IHdpdGggY29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICB0cmFuc2Zvcm1Db29raWVQcmVmZXJlbmNlc0xpc3RUb0Nvb2tpZVByZWZlcmVuY2VzKFxuICAgIGNvb2tpZVByZWZlcmVuY2VzTGlzdDogQ29va2llW11cbiAgKTogQ29va2llUHJlZmVyZW5jZXMge1xuICAgIHJldHVybiBjb29raWVQcmVmZXJlbmNlc0xpc3QucmVkdWNlKChjb29raWVQcmVmOiBDb29raWVQcmVmZXJlbmNlcywgY29va2llOiBDb29raWUpID0+IHtcbiAgICAgIGNvbnN0IGtleTogc3RyaW5nID0gY29va2llLm5hbWU7XG4gICAgICBjb29raWVQcmVmW2tleV0gPSBjb29raWUudmFsdWU7XG4gICAgICByZXR1cm4gY29va2llUHJlZjtcbiAgICB9LCB7fSk7XG4gIH1cblxuICBwcml2YXRlIGlzUHJldmlld01vZGUoKTogYm9vbGVhbiB7XG4gICAgLy8gcGFyYW1zIGZyb20gdXJsIGFyZSBhdXRvbWF0aWNhbGx5IHJlc29sdmVkIGR1cmluZyBib290c3RyYXAgYXMgc3RyaW5nIG9wdGlvbnMsIHNlZTogcGFja2FnZXMvY2xpL3NyYy9hcHAtYm9vdHN0cmFwL29wdGlvbnMudHNcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldCh0aGlzLklTX1BSRVZJRVcsIGZhbHNlLCB0cnVlKTtcbiAgfVxufVxuIl19
@@ -147,7 +147,7 @@ export class PackageVersionsListComponent {
147
147
  });
148
148
  }
149
149
  catch (e) {
150
- // on cancel: do nothing
150
+ await this.refreshPackage();
151
151
  return;
152
152
  }
153
153
  await this.setVersionAsLatest(uploadedVersion);
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
167
167
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.PluginsService }, { type: i3.EcosystemService }, { type: i4.TranslateService }, { type: i2.ModalService }, { type: i2.AlertService }, { type: i2.OptionsService }, { type: i2.Permissions }, { type: i2.GainsightService }]; }, propDecorators: { onVersionSelect: [{
168
168
  type: Output
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS12ZXJzaW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9wYWNrYWdlLXZlcnNpb25zL3BhY2thZ2UtdmVyc2lvbnMtbGlzdC9wYWNrYWdlLXZlcnNpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL3BhY2thZ2VzL3BhY2thZ2UtdmVyc2lvbnMvcGFja2FnZS12ZXJzaW9ucy1saXN0L3BhY2thZ2UtdmVyc2lvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFDTCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsV0FBVyxFQUNYLGNBQWMsRUFDZCxNQUFNLEVBQ04sT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBRXZELE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBTWxDLE1BQU0sT0FBTyw0QkFBNEI7SUFjdkMsWUFDVSxjQUE4QixFQUM5QixjQUE4QixFQUM5QixnQkFBa0MsRUFDbEMsZ0JBQWtDLEVBQ2xDLEtBQW1CLEVBQ25CLFlBQTBCLEVBQzFCLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLGdCQUFrQztRQVJsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFC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QUN4QixPQUFPO1NBQ1I7UUFDRCxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLElBQUksQ0FBQyxpQkFBaUI7WUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWE7Z0JBQzdDLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7O3lIQW5NVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixrSEN0QnpDLCs3R0E2RkE7MkZEdkVhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDRSwyQkFBMkI7NFVBZTNCLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElBcHBsaWNhdGlvbiwgSUFwcGxpY2F0aW9uVmVyc2lvbiB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFsZXJ0U2VydmljZSxcbiAgR2FpbnNpZ2h0U2VydmljZSxcbiAgTW9kYWxTZXJ2aWNlLFxuICBPcHRpb25zU2VydmljZSxcbiAgUGVybWlzc2lvbnMsXG4gIFBsdWdpbnNTZXJ2aWNlLFxuICBTdGF0dXMsXG4gIGdldHRleHRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBFY29zeXN0ZW1TZXJ2aWNlLCBQUk9EVUNUX0VYUEVSSUVOQ0UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2Vjb3N5c3RlbS9zaGFyZWQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5jb25zdCBERUZBVUxUX1ZFUlNJT05TX0xJTUlUID0gMjA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1wYWNrYWdlLXZlcnNpb25zLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFja2FnZS12ZXJzaW9ucy1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWNrYWdlVmVyc2lvbnNMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQ1VSUkVOVF9MT0NBVElPTiA9IGxvY2F0aW9uLmhyZWY7XG5cbiAgdmVyc2lvbnNMaW1pdDogbnVtYmVyO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgcGFja2FnZTogSUFwcGxpY2F0aW9uO1xuICBzb3J0ZWRWZXJzaW9uczogSUFwcGxpY2F0aW9uVmVyc2lvbltdO1xuICBzZWxlY3RlZFZlcnNpb246IHN0cmluZztcbiAgcHJlVXBsb2FkQ2FsbGJhY2s6ICgpID0+IFByb21pc2U8YW55PjtcbiAgaGFzQWRtaW5QZXJtaXNzaW9ucyA9IGZhbHNlO1xuICBpc1BhY2thZ2VPd25lZEJ5Q3VycmVudFRlbmFudCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvblZlcnNpb25TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBwbHVnaW5zU2VydmljZTogUGx1Z2luc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBlY29zeXN0ZW1TZXJ2aWNlOiBFY29zeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIG1vZGFsOiBNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9ucyxcbiAgICBwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmhhc0FkbWluUGVybWlzc2lvbnMgPSB0aGlzLnBlcm1pc3Npb25zLmhhc1JvbGUoXG4gICAgICBQZXJtaXNzaW9ucy5ST0xFX0FQUExJQ0FUSU9OX01BTkFHRU1FTlRfQURNSU5cbiAgICApO1xuICAgIHRoaXMucGFja2FnZSA9IHRoaXMuYWN0aXZhdGVkUm91dGU/LnNuYXBzaG90Py5wYXJlbnQ/LmRhdGE/LmNvbnRleHREYXRhO1xuICAgIHRoaXMuaXNQYWNrYWdlT3duZWRCeUN1cnJlbnRUZW5hbnQgPSB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuaXNPd25lcih0aGlzLnBhY2thZ2UpO1xuICAgIHRoaXMudmVyc2lvbnNMaW1pdCA9IChhd2FpdCB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldFN5c3RlbU9wdGlvbihcbiAgICAgICdhcHBsaWNhdGlvbicsXG4gICAgICAndmVyc2lvbnMubGltaXQnLFxuICAgICAgREVGQVVMVF9WRVJTSU9OU19MSU1JVFxuICAgICkpIGFzIG51bWJlcjtcbiAgICB0aGlzLnNvcnRWZXJzaW9ucygpO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gIH1cblxuICBhc3luYyBkb3dubG9hZEFyY2hpdmUoYXBwVmVyc2lvbjogSUFwcGxpY2F0aW9uVmVyc2lvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZ2FpbnNpZ2h0U2VydmljZS50cmlnZ2VyRXZlbnQoUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5FVkVOVFMuUEFDS0FHRV9WRVJTSU9OUywge1xuICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkNPTVBPTkVOVFMuUEFDS0FHRV9WRVJTSU9OUyxcbiAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5BQ1RJT05TLkRPV05MT0FELFxuICAgICAgdXJsOiB0aGlzLkNVUlJFTlRfTE9DQVRJT05cbiAgICB9KTtcbiAgICBjb25zdCBhcmNoaXZlTU8gPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZ2V0QXJjaGl2ZU1hbmFnZWRPYmplY3QoYXBwVmVyc2lvbi5iaW5hcnlJZCk7XG4gICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmRvd25sb2FkQXJjaGl2ZSh0aGlzLnBhY2thZ2UsIHtcbiAgICAgIGlkOiBhcHBWZXJzaW9uLmJpbmFyeUlkLFxuICAgICAgbmFtZTogYXJjaGl2ZU1PLm5hbWVcbiAgICB9KTtcbiAgfVxuXG4gIHBhY2thZ2VWZXJzaW9uVXBsb2FkZWQoKSB7XG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5wYXJlbnQuZGF0YS5jb250ZXh0RGF0YSA9IHRoaXMucGFja2FnZTtcbiAgICB0aGlzLnNvcnRWZXJzaW9ucygpO1xuICAgIHRoaXMuc2V0VXBsb2FkZWRWZXJzaW9uQXNMYXRlc3QoKTtcbiAgfVxuXG4gIHNlbGVjdFZlcnNpb24odmVyc2lvbjogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLm9uVmVyc2lvblNlbGVjdC5lbWl0KHZlcnNpb24pO1xuICB9XG5cbiAgYXN5bmMgcmVtb3ZlVmVyc2lvblBhY2thZ2UodmVyc2lvbjogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS5kZWxldGVQYWNrYWdlVmVyc2lvbih0aGlzLnBhY2thZ2UsIHsgdmVyc2lvbiB9KTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ1BhY2thZ2UgdmVyc2lvbiB7e3ZlcnNpb259fSBoYXMgYmVlbiByZW1vdmVkJyksIHtcbiAgICAgICAgICB2ZXJzaW9uXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkVWRU5UUy5QQUNLQUdFX1ZFUlNJT05TLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLlBBQ0tBR0VfVkVSU0lPTlMsXG4gICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5BQ1RJT05TLkRFTEVURSxcbiAgICAgICAgcmVzdWx0OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLlJFU1VMVFMuU1VDQ0VTUyxcbiAgICAgICAgdXJsOiB0aGlzLkNVUlJFTlRfTE9DQVRJT05cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZSk7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuRVZFTlRTLlBBQ0tBR0VfVkVSU0lPTlMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkNPTVBPTkVOVFMuUEFDS0FHRV9WRVJTSU9OUyxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkFDVElPTlMuREVMRVRFLFxuICAgICAgICByZXN1bHQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuUkVTVUxUUy5TRVJWRVJfRkFJTFVSRSxcbiAgICAgICAgdXJsOiB0aGlzLkNVUlJFTlRfTE9DQVRJT05cbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAodmVyc2lvbiA9PT0gdGhpcy5zZWxlY3RlZFZlcnNpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0VmVyc2lvbihudWxsKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5yZWZyZXNoUGFja2FnZSgpO1xuICB9XG5cbiAgYXN5bmMgc2V0VmVyc2lvbkFzTGF0ZXN0KGFwcFZlcnNpb246IElBcHBsaWNhdGlvblZlcnNpb24pIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnNldFBhY2thZ2VWZXJzaW9uVGFnKHRoaXMucGFja2FnZSwgYXBwVmVyc2lvbi52ZXJzaW9uLCBbXG4gICAgICAgIC4uLmFwcFZlcnNpb24udGFncyxcbiAgICAgICAgJ2xhdGVzdCdcbiAgICAgIF0pO1xuXG4gICAgICAvLyBUT0RPIGFkZGVkIGl0IGR1ZSB0bzogaHR0cHM6Ly9jdW11bG9jaXR5LmF0bGFzc2lhbi5uZXQvYnJvd3NlL01UTS00ODU1M1xuICAgICAgLy8gUmVtb3ZlIGl0IHdoZW4gQkUgZml4ZXMgaXNzdWVzIHdpdGggYWN0aXZlVmVyc2lvbi5cbiAgICAgIGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS5zZXRBcHBBY3RpdmVWZXJzaW9uKHRoaXMucGFja2FnZSwgYXBwVmVyc2lvbi5iaW5hcnlJZCk7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKGdldHRleHQoJ1RhZyBoYXMgYmVlbiBzZXQuJykpO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkVWRU5UUy5QQUNLQUdFX1ZFUlNJT05TLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLlBBQ0tBR0VfVkVSU0lPTlMsXG4gICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5BQ1RJT05TLlNFVF9BU19MQVRFU1QsXG4gICAgICAgIHJlc3VsdDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5SRVNVTFRTLlNVQ0NFU1MsXG4gICAgICAgIHVybDogdGhpcy5DVVJSRU5UX0xPQ0FUSU9OXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGUpO1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkVWRU5UUy5QQUNLQUdFX1ZFUlNJT05TLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLlBBQ0tBR0VfVkVSU0lPTlMsXG4gICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5BQ1RJT05TLlNFVF9BU19MQVRFU1QsXG4gICAgICAgIHJlc3VsdDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5SRVNVTFRTLlNFUlZFUl9GQUlMVVJFLFxuICAgICAgICB1cmw6IHRoaXMuQ1VSUkVOVF9MT0NBVElPTlxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMucmVmcmVzaFBhY2thZ2UoKTtcbiAgfVxuXG4gIGFzeW5jIGFja25vd2xlZGdlTGltaXRSZWFjaGVkKCkge1xuICAgIGF3YWl0IHRoaXMubW9kYWwuYWNrbm93bGVkZ2UoXG4gICAgICBnZXR0ZXh0KCdQYWNrYWdlIGxpbWl0IGV4Y2VlZGVkJyksXG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBudW1iZXIgb2Yge3sgdmVyc2lvbnNMaW1pdCB9fSBwYWNrYWdlIHZlcnNpb25zLiBUbyBhZGQgYW5vdGhlciB2ZXJzaW9uLCBmaXJzdCBkZWxldGUgb25lIGZyb20gdGhlIGxpc3QuJ1xuICAgICAgICApLFxuICAgICAgICB7IHZlcnNpb25zTGltaXQ6IHRoaXMudmVyc2lvbnNMaW1pdCB9XG4gICAgICApLFxuICAgICAgU3RhdHVzLklORk8sXG4gICAgICBnZXR0ZXh0KCdDbG9zZScpXG4gICAgKTtcbiAgICB0aHJvdyB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlZnJlc2hQYWNrYWdlKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnBhY2thZ2UgPSBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZ2V0QXBwbGljYXRpb24odGhpcy5wYWNrYWdlLmlkKTtcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmVudC5kYXRhLmNvbnRleHREYXRhID0gdGhpcy5wYWNrYWdlO1xuICAgIHRoaXMuc29ydFZlcnNpb25zKCk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydFZlcnNpb25zKCkge1xuICAgIHRoaXMuc29ydGVkVmVyc2lvbnMgPSB0aGlzLnBsdWdpbnNTZXJ2aWNlLnNvcnRWZXJzaW9ucyhcbiAgICAgIHtcbiAgICAgICAgbGlzdDogdGhpcy5wYWNrYWdlLmFwcGxpY2F0aW9uVmVyc2lvbnMsXG4gICAgICAgIHBhdGg6IFsndmVyc2lvbiddXG4gICAgICB9LFxuICAgICAgJ2Rlc2MnXG4gICAgKTtcbiAgICB0aGlzLnRvZ2dsZVVwbG9hZFBvc3NpYmlsaXR5KCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldFVwbG9hZGVkVmVyc2lvbkFzTGF0ZXN0KCkge1xuICAgIGNvbnN0IHVwbG9hZGVkVmVyc2lvbiA9XG4gICAgICB0aGlzLnBhY2thZ2UuYXBwbGljYXRpb25WZXJzaW9uc1t0aGlzLnBhY2thZ2UuYXBwbGljYXRpb25WZXJzaW9ucy5sZW5ndGggLSAxXTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkVWRU5UUy5QQUNLQUdFX1ZFUlNJT05TLCB7XG4gICAgICAgIGNvbXBvbmVudDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5DT01QT05FTlRTLlBBQ0tBR0VfVkVSU0lPTlMsXG4gICAgICAgIGFjdGlvbjogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5BQ1RJT05TLlVQTE9BRCxcbiAgICAgICAgcmVzdWx0OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLlJFU1VMVFMuU1VDQ0VTUyxcbiAgICAgICAgdXJsOiB0aGlzLkNVUlJFTlRfTE9DQVRJT05cbiAgICAgIH0pO1xuICAgICAgYXdhaXQgdGhpcy5tb2RhbC5jb25maXJtKFxuICAgICAgICBnZXR0ZXh0KCdVcGxvYWQgc3VjY2Vzc2Z1bCcpLFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICAgJ0RvIHlvdSB3YW50IHRvIHNldCB2ZXJzaW9uIHt7dmVyc2lvbn19IGFzIHRoZSBsYXRlc3Q/IERlcGxveWluZyBhIG5ldyBhcHBsaWNhdGlvbiB3aWxsIGFsd2F5cyB1c2UgdGhpcyB2ZXJzaW9uLidcbiAgICAgICAgICApLFxuICAgICAgICAgIHsgdmVyc2lvbjogdXBsb2FkZWRWZXJzaW9uLnZlcnNpb24gfVxuICAgICAgICApLFxuICAgICAgICBTdGF0dXMuU1VDQ0VTUyxcbiAgICAgICAge1xuICAgICAgICAgIG9rOiBnZXR0ZXh0KCdTZXQgYXMgbGF0ZXN0YHZlcnNpb25gJyksXG4gICAgICAgICAgY2FuY2VsOiBnZXR0ZXh0KCdLZWVwIHVuY2hhbmdlZGB2ZXJzaW9uYCcpXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gb24gY2FuY2VsOiBkbyBub3RoaW5nXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuc2V0VmVyc2lvbkFzTGF0ZXN0KHVwbG9hZGVkVmVyc2lvbik7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZVVwbG9hZFBvc3NpYmlsaXR5KCkge1xuICAgIHRoaXMucHJlVXBsb2FkQ2FsbGJhY2sgPVxuICAgICAgdGhpcy5zb3J0ZWRWZXJzaW9ucy5sZW5ndGggPCB0aGlzLnZlcnNpb25zTGltaXRcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDogdGhpcy5hY2tub3dsZWRnZUxpbWl0UmVhY2hlZC5iaW5kKHRoaXMpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5uZXItc2Nyb2xsIHNwbGl0LXZpZXdfX2xpc3RcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvciBzdGlja3ktdG9wIGJnLWNvbXBvbmVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCIgdHJhbnNsYXRlPlZlcnNpb25zPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJiZy1sZXZlbC0xIGZsZXgtZ3Jvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJwLTE2XCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgIDxjOHktbG9hZGluZz48L2M4eS1sb2FkaW5nPlxuICAgIDwvZGl2PlxuICAgIDx1bCBjbGFzcz1cIm5hdiBjOHktbmF2LXN0YWNrZWRcIiAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cImM4eS1zdGFja2VkLWl0ZW0gcC10LTAgcC1iLTAgcC1yLTRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogc2VsZWN0ZWRWZXJzaW9uID09PSBhcHBsaWNhdGlvblZlcnNpb24udmVyc2lvbiB9XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGFwcGxpY2F0aW9uVmVyc2lvbiBvZiBzb3J0ZWRWZXJzaW9uc1wiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZsZXgtZ3JvdyBkLWZsZXggYS1pLWNlbnRlciBnYXAtNCBwLXQtOCBwLWItOFwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZlcnNpb24oYXBwbGljYXRpb25WZXJzaW9uLnZlcnNpb24pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGM4eUljb249XCJiaWctcGFyY2VsXCIgY2xhc3M9XCJpY29uLTIwXCI+PC9pPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sYWJlbC1zbWFsbFwiPlxuICAgICAgICAgICAge3sgJ1ZlcnNpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tZWRpdW1cIj57eyBhcHBsaWNhdGlvblZlcnNpb24udmVyc2lvbiB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZSBkLWZsZXggai1jLWVuZCBmbGV4LWdyb3cgZ2FwLTQgZmxleC13cmFwIG0tbC1hdXRvXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGFnIG9mIGFwcGxpY2F0aW9uVmVyc2lvbi50YWdzXCIgY2xhc3M9XCJsYWJlbCBsYWJlbC1pbmZvXCI+XG4gICAgICAgICAgICAgIHt7IHRhZyB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgZHJvcGRvd24gKm5nSWY9XCJoYXNBZG1pblBlcm1pc3Npb25zICYmIGlzUGFja2FnZU93bmVkQnlDdXJyZW50VGVuYW50XCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUgYzh5LWRyb3Bkb3duXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgdGl0bGU9XCJ7eyAnU2V0dGluZ3MnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIGRyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgYzh5SWNvbj1cImVsbGlwc2lzLXZcIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPHVsICpkcm9wZG93bk1lbnUgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHRcIj5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1NldCBhcyBsYXRlc3RgdmVyc2lvbmAnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VmVyc2lvbkFzTGF0ZXN0KGFwcGxpY2F0aW9uVmVyc2lvbilcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcHBsaWNhdGlvblZlcnNpb24udGFncz8uaW5jbHVkZXMoJ2xhdGVzdCcpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGM4eUljb249XCJjb2xsZWN0XCIgY2xhc3M9XCJtLXItNFwiPjwvaT5cbiAgICAgICAgICAgICAgICB7eyAnU2V0IGFzIGxhdGVzdGB2ZXJzaW9uYCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnRG93bmxvYWQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRBcmNoaXZlKGFwcGxpY2F0aW9uVmVyc2lvbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgYzh5SWNvbj1cImRvd25sb2FkXCIgY2xhc3M9XCJtLXItNFwiPjwvaT5cbiAgICAgICAgICAgICAgICB7eyAnRG93bmxvYWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0RlbGV0ZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVWZXJzaW9uUGFja2FnZShhcHBsaWNhdGlvblZlcnNpb24udmVyc2lvbilcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcHBsaWNhdGlvblZlcnNpb24udGFncz8uaW5jbHVkZXMoJ2xhdGVzdCcpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGM4eUljb249XCJ0cmFzaFwiIGNsYXNzPVwibS1yLTRcIj48L2k+XG4gICAgICAgICAgICAgICAge3sgJ0RlbGV0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJjYXJkLWZvb3RlciBzZXBhcmF0b3Igc3RpY2t5LWJvdHRvbVwiXG4gICAgKm5nSWY9XCIhaXNMb2FkaW5nICYmIGlzUGFja2FnZU93bmVkQnlDdXJyZW50VGVuYW50XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG0tYi0wXCI+XG4gICAgICA8bGFiZWwgdHJhbnNsYXRlPlVwbG9hZCBhIG5ldyB2ZXJzaW9uPC9sYWJlbD5cbiAgICAgIDxjOHktdXBsb2FkLWFyY2hpdmVcbiAgICAgICAgWyhhcHBsaWNhdGlvbildPVwicGFja2FnZVwiXG4gICAgICAgIFt1cGxvYWROZXdWZXJzaW9uXT1cInRydWVcIlxuICAgICAgICAocmVmcmVzaCk9XCJwYWNrYWdlVmVyc2lvblVwbG9hZGVkKClcIlxuICAgICAgICBbcHJlVXBsb2FkQ2FsbGJhY2tdPVwicHJlVXBsb2FkQ2FsbGJhY2tcIlxuICAgICAgPjwvYzh5LXVwbG9hZC1hcmNoaXZlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS12ZXJzaW9ucy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Vjb3N5c3RlbS9wYWNrYWdlcy9wYWNrYWdlLXZlcnNpb25zL3BhY2thZ2UtdmVyc2lvbnMtbGlzdC9wYWNrYWdlLXZlcnNpb25zLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vZWNvc3lzdGVtL3BhY2thZ2VzL3BhY2thZ2UtdmVyc2lvbnMvcGFja2FnZS12ZXJzaW9ucy1saXN0L3BhY2thZ2UtdmVyc2lvbnMtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELE9BQU8sRUFDTCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsV0FBVyxFQUNYLGNBQWMsRUFDZCxNQUFNLEVBQ04sT0FBTyxFQUNSLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBRXZELE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBTWxDLE1BQU0sT0FBTyw0QkFBNEI7SUFjdkMsWUFDVSxjQUE4QixFQUM5QixjQUE4QixFQUM5QixnQkFBa0MsRUFDbEMsZ0JBQWtDLEVBQ2xDLEtBQW1CLEVBQ25CLFlBQTBCLEVBQzFCLGNBQThCLEVBQzlCLFdBQXdCLEVBQ3hCLGdCQUFrQztRQVJsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFC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SSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVCLE9BQU87U0FDUjtRQUNELE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQjtZQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYTtnQkFDN0MsQ0FBQyxDQUFDLElBQUk7Z0JBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7eUhBbk1VLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLGtIQ3RCekMsKzdHQTZGQTsyRkR2RWEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDJCQUEyQjs0VUFlM0IsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSUFwcGxpY2F0aW9uLCBJQXBwbGljYXRpb25WZXJzaW9uIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWxlcnRTZXJ2aWNlLFxuICBHYWluc2lnaHRTZXJ2aWNlLFxuICBNb2RhbFNlcnZpY2UsXG4gIE9wdGlvbnNTZXJ2aWNlLFxuICBQZXJtaXNzaW9ucyxcbiAgUGx1Z2luc1NlcnZpY2UsXG4gIFN0YXR1cyxcbiAgZ2V0dGV4dFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEVjb3N5c3RlbVNlcnZpY2UsIFBST0RVQ1RfRVhQRVJJRU5DRSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvZWNvc3lzdGVtL3NoYXJlZCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmNvbnN0IERFRkFVTFRfVkVSU0lPTlNfTElNSVQgPSAyMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXBhY2thZ2UtdmVyc2lvbnMtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWNrYWdlLXZlcnNpb25zLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBhY2thZ2VWZXJzaW9uc0xpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBDVVJSRU5UX0xPQ0FUSU9OID0gbG9jYXRpb24uaHJlZjtcblxuICB2ZXJzaW9uc0xpbWl0OiBudW1iZXI7XG4gIGlzTG9hZGluZyA9IGZhbHNlO1xuICBwYWNrYWdlOiBJQXBwbGljYXRpb247XG4gIHNvcnRlZFZlcnNpb25zOiBJQXBwbGljYXRpb25WZXJzaW9uW107XG4gIHNlbGVjdGVkVmVyc2lvbjogc3RyaW5nO1xuICBwcmVVcGxvYWRDYWxsYmFjazogKCkgPT4gUHJvbWlzZTxhbnk+O1xuICBoYXNBZG1pblBlcm1pc3Npb25zID0gZmFsc2U7XG4gIGlzUGFja2FnZU93bmVkQnlDdXJyZW50VGVuYW50ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uVmVyc2lvblNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHBsdWdpbnNTZXJ2aWNlOiBQbHVnaW5zU2VydmljZSxcbiAgICBwcml2YXRlIGVjb3N5c3RlbVNlcnZpY2U6IEVjb3N5c3RlbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWw6IE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zLFxuICAgIHByaXZhdGUgZ2FpbnNpZ2h0U2VydmljZTogR2FpbnNpZ2h0U2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuaGFzQWRtaW5QZXJtaXNzaW9ucyA9IHRoaXMucGVybWlzc2lvbnMuaGFzUm9sZShcbiAgICAgIFBlcm1pc3Npb25zLlJPTEVfQVBQTElDQVRJT05fTUFOQUdFTUVOVF9BRE1JTlxuICAgICk7XG4gICAgdGhpcy5wYWNrYWdlID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZT8uc25hcHNob3Q/LnBhcmVudD8uZGF0YT8uY29udGV4dERhdGE7XG4gICAgdGhpcy5pc1BhY2thZ2VPd25lZEJ5Q3VycmVudFRlbmFudCA9IHRoaXMuZWNvc3lzdGVtU2VydmljZS5pc093bmVyKHRoaXMucGFja2FnZSk7XG4gICAgdGhpcy52ZXJzaW9uc0xpbWl0ID0gKGF3YWl0IHRoaXMub3B0aW9uc1NlcnZpY2UuZ2V0U3lzdGVtT3B0aW9uKFxuICAgICAgJ2FwcGxpY2F0aW9uJyxcbiAgICAgICd2ZXJzaW9ucy5saW1pdCcsXG4gICAgICBERUZBVUxUX1ZFUlNJT05TX0xJTUlUXG4gICAgKSkgYXMgbnVtYmVyO1xuICAgIHRoaXMuc29ydFZlcnNpb25zKCk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkQXJjaGl2ZShhcHBWZXJzaW9uOiBJQXBwbGljYXRpb25WZXJzaW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkVWRU5UUy5QQUNLQUdFX1ZFUlNJT05TLCB7XG4gICAgICBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuQ09NUE9ORU5UUy5QQUNLQUdFX1ZFUlNJT05TLFxuICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkFDVElPTlMuRE9XTkxPQUQsXG4gICAgICB1cmw6IHRoaXMuQ1VSUkVOVF9MT0NBVElPTlxuICAgIH0pO1xuICAgIGNvbnN0IGFyY2hpdmVNTyA9IGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS5nZXRBcmNoaXZlTWFuYWdlZE9iamVjdChhcHBWZXJzaW9uLmJpbmFyeUlkKTtcbiAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2UuZG93bmxvYWRBcmNoaXZlKHRoaXMucGFja2FnZSwge1xuICAgICAgaWQ6IGFwcFZlcnNpb24uYmluYXJ5SWQsXG4gICAgICBuYW1lOiBhcmNoaXZlTU8ubmFtZVxuICAgIH0pO1xuICB9XG5cbiAgcGFja2FnZVZlcnNpb25VcGxvYWRlZCgpIHtcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmVudC5kYXRhLmNvbnRleHREYXRhID0gdGhpcy5wYWNrYWdlO1xuICAgIHRoaXMuc29ydFZlcnNpb25zKCk7XG4gICAgdGhpcy5zZXRVcGxvYWRlZFZlcnNpb25Bc0xhdGVzdCgpO1xuICB9XG5cbiAgc2VsZWN0VmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIHRoaXMub25WZXJzaW9uU2VsZWN0LmVtaXQodmVyc2lvbik7XG4gIH1cblxuICBhc3luYyByZW1vdmVWZXJzaW9uUGFja2FnZSh2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLmRlbGV0ZVBhY2thZ2VWZXJzaW9uKHRoaXMucGFja2FnZSwgeyB2ZXJzaW9uIH0pO1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc3VjY2VzcyhcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZ2V0dGV4dCgnUGFja2FnZSB2ZXJzaW9uIHt7dmVyc2lvbn19IGhhcyBiZWVuIHJlbW92ZWQnKSwge1xuICAgICAgICAgIHZlcnNpb25cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuRVZFTlRTLlBBQ0tBR0VfVkVSU0lPTlMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkNPTVBPTkVOVFMuUEFDS0FHRV9WRVJTSU9OUyxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkFDVElPTlMuREVMRVRFLFxuICAgICAgICByZXN1bHQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuUkVTVUxUUy5TVUNDRVNTLFxuICAgICAgICB1cmw6IHRoaXMuQ1VSUkVOVF9MT0NBVElPTlxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShlKTtcbiAgICAgIHRoaXMuZ2FpbnNpZ2h0U2VydmljZS50cmlnZ2VyRXZlbnQoUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5FVkVOVFMuUEFDS0FHRV9WRVJTSU9OUywge1xuICAgICAgICBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuQ09NUE9ORU5UUy5QQUNLQUdFX1ZFUlNJT05TLFxuICAgICAgICBhY3Rpb246IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuQUNUSU9OUy5ERUxFVEUsXG4gICAgICAgIHJlc3VsdDogUFJPRFVDVF9FWFBFUklFTkNFLkFQUExJQ0FUSU9OUy5SRVNVTFRTLlNFUlZFUl9GQUlMVVJFLFxuICAgICAgICB1cmw6IHRoaXMuQ1VSUkVOVF9MT0NBVElPTlxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh2ZXJzaW9uID09PSB0aGlzLnNlbGVjdGVkVmVyc2lvbikge1xuICAgICAgdGhpcy5zZWxlY3RWZXJzaW9uKG51bGwpO1xuICAgIH1cbiAgICBhd2FpdCB0aGlzLnJlZnJlc2hQYWNrYWdlKCk7XG4gIH1cblxuICBhc3luYyBzZXRWZXJzaW9uQXNMYXRlc3QoYXBwVmVyc2lvbjogSUFwcGxpY2F0aW9uVmVyc2lvbikge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmVjb3N5c3RlbVNlcnZpY2Uuc2V0UGFja2FnZVZlcnNpb25UYWcodGhpcy5wYWNrYWdlLCBhcHBWZXJzaW9uLnZlcnNpb24sIFtcbiAgICAgICAgLi4uYXBwVmVyc2lvbi50YWdzLFxuICAgICAgICAnbGF0ZXN0J1xuICAgICAgXSk7XG5cbiAgICAgIC8vIFRPRE8gYWRkZWQgaXQgZHVlIHRvOiBodHRwczovL2N1bXVsb2NpdHkuYXRsYXNzaWFuLm5ldC9icm93c2UvTVRNLTQ4NTUzXG4gICAgICAvLyBSZW1vdmUgaXQgd2hlbiBCRSBmaXhlcyBpc3N1ZXMgd2l0aCBhY3RpdmVWZXJzaW9uLlxuICAgICAgYXdhaXQgdGhpcy5lY29zeXN0ZW1TZXJ2aWNlLnNldEFwcEFjdGl2ZVZlcnNpb24odGhpcy5wYWNrYWdlLCBhcHBWZXJzaW9uLmJpbmFyeUlkKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnVGFnIGhhcyBiZWVuIHNldC4nKSk7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuRVZFTlRTLlBBQ0tBR0VfVkVSU0lPTlMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkNPTVBPTkVOVFMuUEFDS0FHRV9WRVJTSU9OUyxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkFDVElPTlMuU0VUX0FTX0xBVEVTVCxcbiAgICAgICAgcmVzdWx0OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLlJFU1VMVFMuU1VDQ0VTUyxcbiAgICAgICAgdXJsOiB0aGlzLkNVUlJFTlRfTE9DQVRJT05cbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZSk7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuRVZFTlRTLlBBQ0tBR0VfVkVSU0lPTlMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkNPTVBPTkVOVFMuUEFDS0FHRV9WRVJTSU9OUyxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkFDVElPTlMuU0VUX0FTX0xBVEVTVCxcbiAgICAgICAgcmVzdWx0OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLlJFU1VMVFMuU0VSVkVSX0ZBSUxVUkUsXG4gICAgICAgIHVybDogdGhpcy5DVVJSRU5UX0xPQ0FUSU9OXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5yZWZyZXNoUGFja2FnZSgpO1xuICB9XG5cbiAgYXN5bmMgYWNrbm93bGVkZ2VMaW1pdFJlYWNoZWQoKSB7XG4gICAgYXdhaXQgdGhpcy5tb2RhbC5hY2tub3dsZWRnZShcbiAgICAgIGdldHRleHQoJ1BhY2thZ2UgbGltaXQgZXhjZWVkZWQnKSxcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICdZb3UgaGF2ZSByZWFjaGVkIHRoZSBtYXhpbXVtIG51bWJlciBvZiB7eyB2ZXJzaW9uc0xpbWl0IH19IHBhY2thZ2UgdmVyc2lvbnMuIFRvIGFkZCBhbm90aGVyIHZlcnNpb24sIGZpcnN0IGRlbGV0ZSBvbmUgZnJvbSB0aGUgbGlzdC4nXG4gICAgICAgICksXG4gICAgICAgIHsgdmVyc2lvbnNMaW1pdDogdGhpcy52ZXJzaW9uc0xpbWl0IH1cbiAgICAgICksXG4gICAgICBTdGF0dXMuSU5GTyxcbiAgICAgIGdldHRleHQoJ0Nsb3NlJylcbiAgICApO1xuICAgIHRocm93IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVmcmVzaFBhY2thZ2UoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucGFja2FnZSA9IGF3YWl0IHRoaXMuZWNvc3lzdGVtU2VydmljZS5nZXRBcHBsaWNhdGlvbih0aGlzLnBhY2thZ2UuaWQpO1xuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucGFyZW50LmRhdGEuY29udGV4dERhdGEgPSB0aGlzLnBhY2thZ2U7XG4gICAgdGhpcy5zb3J0VmVyc2lvbnMoKTtcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0VmVyc2lvbnMoKSB7XG4gICAgdGhpcy5zb3J0ZWRWZXJzaW9ucyA9IHRoaXMucGx1Z2luc1NlcnZpY2Uuc29ydFZlcnNpb25zKFxuICAgICAge1xuICAgICAgICBsaXN0OiB0aGlzLnBhY2thZ2UuYXBwbGljYXRpb25WZXJzaW9ucyxcbiAgICAgICAgcGF0aDogWyd2ZXJzaW9uJ11cbiAgICAgIH0sXG4gICAgICAnZGVzYydcbiAgICApO1xuICAgIHRoaXMudG9nZ2xlVXBsb2FkUG9zc2liaWxpdHkoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2V0VXBsb2FkZWRWZXJzaW9uQXNMYXRlc3QoKSB7XG4gICAgY29uc3QgdXBsb2FkZWRWZXJzaW9uID1cbiAgICAgIHRoaXMucGFja2FnZS5hcHBsaWNhdGlvblZlcnNpb25zW3RoaXMucGFja2FnZS5hcHBsaWNhdGlvblZlcnNpb25zLmxlbmd0aCAtIDFdO1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuRVZFTlRTLlBBQ0tBR0VfVkVSU0lPTlMsIHtcbiAgICAgICAgY29tcG9uZW50OiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkNPTVBPTkVOVFMuUEFDS0FHRV9WRVJTSU9OUyxcbiAgICAgICAgYWN0aW9uOiBQUk9EVUNUX0VYUEVSSUVOQ0UuQVBQTElDQVRJT05TLkFDVElPTlMuVVBMT0FELFxuICAgICAgICByZXN1bHQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BUFBMSUNBVElPTlMuUkVTVUxUUy5TVUNDRVNTLFxuICAgICAgICB1cmw6IHRoaXMuQ1VSUkVOVF9MT0NBVElPTlxuICAgICAgfSk7XG4gICAgICBhd2FpdCB0aGlzLm1vZGFsLmNvbmZpcm0oXG4gICAgICAgIGdldHRleHQoJ1VwbG9hZCBzdWNjZXNzZnVsJyksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgIGdldHRleHQoXG4gICAgICAgICAgICAnRG8geW91IHdhbnQgdG8gc2V0IHZlcnNpb24ge3t2ZXJzaW9ufX0gYXMgdGhlIGxhdGVzdD8gRGVwbG95aW5nIGEgbmV3IGFwcGxpY2F0aW9uIHdpbGwgYWx3YXlzIHVzZSB0aGlzIHZlcnNpb24uJ1xuICAgICAgICAgICksXG4gICAgICAgICAgeyB2ZXJzaW9uOiB1cGxvYWRlZFZlcnNpb24udmVyc2lvbiB9XG4gICAgICAgICksXG4gICAgICAgIFN0YXR1cy5TVUNDRVNTLFxuICAgICAgICB7XG4gICAgICAgICAgb2s6IGdldHRleHQoJ1NldCBhcyBsYXRlc3RgdmVyc2lvbmAnKSxcbiAgICAgICAgICBjYW5jZWw6IGdldHRleHQoJ0tlZXAgdW5jaGFuZ2VkYHZlcnNpb25gJylcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlZnJlc2hQYWNrYWdlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuc2V0VmVyc2lvbkFzTGF0ZXN0KHVwbG9hZGVkVmVyc2lvbik7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZVVwbG9hZFBvc3NpYmlsaXR5KCkge1xuICAgIHRoaXMucHJlVXBsb2FkQ2FsbGJhY2sgPVxuICAgICAgdGhpcy5zb3J0ZWRWZXJzaW9ucy5sZW5ndGggPCB0aGlzLnZlcnNpb25zTGltaXRcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDogdGhpcy5hY2tub3dsZWRnZUxpbWl0UmVhY2hlZC5iaW5kKHRoaXMpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5uZXItc2Nyb2xsIHNwbGl0LXZpZXdfX2xpc3RcIj5cbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIHNlcGFyYXRvciBzdGlja3ktdG9wIGJnLWNvbXBvbmVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCIgdHJhbnNsYXRlPlZlcnNpb25zPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJiZy1sZXZlbC0xIGZsZXgtZ3Jvd1wiPlxuICAgIDxkaXYgY2xhc3M9XCJwLTE2XCIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgIDxjOHktbG9hZGluZz48L2M4eS1sb2FkaW5nPlxuICAgIDwvZGl2PlxuICAgIDx1bCBjbGFzcz1cIm5hdiBjOHktbmF2LXN0YWNrZWRcIiAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cbiAgICAgIDxsaVxuICAgICAgICBjbGFzcz1cImM4eS1zdGFja2VkLWl0ZW0gcC10LTAgcC1iLTAgcC1yLTRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogc2VsZWN0ZWRWZXJzaW9uID09PSBhcHBsaWNhdGlvblZlcnNpb24udmVyc2lvbiB9XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGFwcGxpY2F0aW9uVmVyc2lvbiBvZiBzb3J0ZWRWZXJzaW9uc1wiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImZsZXgtZ3JvdyBkLWZsZXggYS1pLWNlbnRlciBnYXAtNCBwLXQtOCBwLWItOFwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFZlcnNpb24oYXBwbGljYXRpb25WZXJzaW9uLnZlcnNpb24pXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGM4eUljb249XCJiaWctcGFyY2VsXCIgY2xhc3M9XCJpY29uLTIwXCI+PC9pPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1sYWJlbC1zbWFsbFwiPlxuICAgICAgICAgICAge3sgJ1ZlcnNpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1tZWRpdW1cIj57eyBhcHBsaWNhdGlvblZlcnNpb24udmVyc2lvbiB9fTwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZSBkLWZsZXggai1jLWVuZCBmbGV4LWdyb3cgZ2FwLTQgZmxleC13cmFwIG0tbC1hdXRvXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGFnIG9mIGFwcGxpY2F0aW9uVmVyc2lvbi50YWdzXCIgY2xhc3M9XCJsYWJlbCBsYWJlbC1pbmZvXCI+XG4gICAgICAgICAgICAgIHt7IHRhZyB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgZHJvcGRvd24gKm5nSWY9XCJoYXNBZG1pblBlcm1pc3Npb25zICYmIGlzUGFja2FnZU93bmVkQnlDdXJyZW50VGVuYW50XCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUgYzh5LWRyb3Bkb3duXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgdGl0bGU9XCJ7eyAnU2V0dGluZ3MnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIGRyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGkgYzh5SWNvbj1cImVsbGlwc2lzLXZcIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPHVsICpkcm9wZG93bk1lbnUgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHRcIj5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1NldCBhcyBsYXRlc3RgdmVyc2lvbmAnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VmVyc2lvbkFzTGF0ZXN0KGFwcGxpY2F0aW9uVmVyc2lvbilcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcHBsaWNhdGlvblZlcnNpb24udGFncz8uaW5jbHVkZXMoJ2xhdGVzdCcpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGM4eUljb249XCJjb2xsZWN0XCIgY2xhc3M9XCJtLXItNFwiPjwvaT5cbiAgICAgICAgICAgICAgICB7eyAnU2V0IGFzIGxhdGVzdGB2ZXJzaW9uYCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnRG93bmxvYWQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRBcmNoaXZlKGFwcGxpY2F0aW9uVmVyc2lvbilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGkgYzh5SWNvbj1cImRvd25sb2FkXCIgY2xhc3M9XCJtLXItNFwiPjwvaT5cbiAgICAgICAgICAgICAgICB7eyAnRG93bmxvYWQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0RlbGV0ZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVWZXJzaW9uUGFja2FnZShhcHBsaWNhdGlvblZlcnNpb24udmVyc2lvbilcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhcHBsaWNhdGlvblZlcnNpb24udGFncz8uaW5jbHVkZXMoJ2xhdGVzdCcpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxpIGM4eUljb249XCJ0cmFzaFwiIGNsYXNzPVwibS1yLTRcIj48L2k+XG4gICAgICAgICAgICAgICAge3sgJ0RlbGV0ZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJjYXJkLWZvb3RlciBzZXBhcmF0b3Igc3RpY2t5LWJvdHRvbVwiXG4gICAgKm5nSWY9XCIhaXNMb2FkaW5nICYmIGlzUGFja2FnZU93bmVkQnlDdXJyZW50VGVuYW50XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG0tYi0wXCI+XG4gICAgICA8bGFiZWwgdHJhbnNsYXRlPlVwbG9hZCBhIG5ldyB2ZXJzaW9uPC9sYWJlbD5cbiAgICAgIDxjOHktdXBsb2FkLWFyY2hpdmVcbiAgICAgICAgWyhhcHBsaWNhdGlvbildPVwicGFja2FnZVwiXG4gICAgICAgIFt1cGxvYWROZXdWZXJzaW9uXT1cInRydWVcIlxuICAgICAgICAocmVmcmVzaCk9XCJwYWNrYWdlVmVyc2lvblVwbG9hZGVkKClcIlxuICAgICAgICBbcHJlVXBsb2FkQ2FsbGJhY2tdPVwicHJlVXBsb2FkQ2FsbGJhY2tcIlxuICAgICAgPjwvYzh5LXVwbG9hZC1hcmNoaXZlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19