@alauda-fe/common 1.4.30-beta.1 → 1.4.31-beta.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.
@@ -37,6 +37,7 @@ export class BaseFormContainer {
37
37
  this.form.patchValue({
38
38
  resource: this.initResource,
39
39
  });
40
+ this.originalYaml = this.resourceToYaml(this.initResource);
40
41
  }
41
42
  switchFormView(view) {
42
43
  let resource;
@@ -53,7 +54,7 @@ export class BaseFormContainer {
53
54
  }
54
55
  else {
55
56
  resource = this.form.get('resource').value;
56
- this.originalYaml = this.yaml = this.resourceToYaml(resource);
57
+ this.yaml = this.resourceToYaml(resource);
57
58
  }
58
59
  this.resource = resource;
59
60
  this.formView = view;
@@ -136,4 +137,4 @@ __decorate([
136
137
  type: ViewChild,
137
138
  args: ['resourceForm', { static: false }]
138
139
  }] }); })();
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2Fic3RyYWN0L2Jhc2UtZm9ybS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVwRDs7O0dBR0c7QUFFSCxNQUFNLE9BQWdCLGlCQUFpQjtJQW9DckMsWUFBWSxRQUFrQjtRQWxDOUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVNqQixzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFLekIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsa0JBQWEsR0FBRyxhQUFh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UUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBVztRQUNyQyxPQUFPLFNBQVMsQ0FDZCxJQUFJLENBQUMsaUJBQWlCO1lBQ3BCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQUUsUUFBUSxDQUFDO1lBQ3JELENBQUMsQ0FBQyxRQUFRLEVBQ1osRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQzFCLENBQUM7SUFDSixDQUFDO2tGQWpJbUIsaUJBQWlCO29FQUFqQixpQkFBaUI7Ozs7Ozs7QUFRckM7SUFEQyxlQUFlLEVBQUU7OEJBQ0gsVUFBVTt3REFBSTtpRkFSVCxpQkFBaUI7Y0FEdEMsU0FBUzt5Q0FHUixRQUFRO2tCQURQLEtBQUs7WUFJTixZQUFZO2tCQURYLEtBQUs7WUFJTixhQUFhLE1BR2IsaUJBQWlCO2tCQURoQixLQUFLO1lBSVcsTUFBTTtrQkFEdEIsU0FBUzttQkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBkaXNzb2NQYXRoIH0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBjcmVhdGVBY3Rpb25zLFxuICB5YW1sV3JpdGVPcHRpb25zLFxufSBmcm9tICcuLi8uLi9jb2RlL2NvZGUtZWRpdG9yLWNvbmZpZ3MnO1xuaW1wb3J0IHsgSW50ZXJjZXB0RGVhY3RpdmF0ZVNlcnZpY2UgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGlzRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vdHlwZXMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi91dGlscy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IHBhcnNlQWxsLCBzdHJpbmdpZnkgfSBmcm9tICcuLi91dGlscy95YW1sJztcblxuLyoqXG4gKiBodHRwOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vZGlzcGxheS9GUk9OL0lzc3VlLUFuZ3VsYXIrcmVsYXRlZFxuICog55Sx5LqOZm9ybUNvbnRyb2zlrZjlnKjlhoXlrZjms4TmvI/pl67popjvvIzlhoXpg6ggZm9ybSDlsZXnpLot6ZqQ6JeP5YiH5o2i5bqU5b2T6YeH55SoIGhpZGRlbiDov5vooYzmjqfliLZcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1Db250YWluZXI8VCA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBpc1VwZGF0ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGluaXRSZXNvdXJjZTogVDtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgaW5pdFJlc291cmNlJDogT2JzZXJ2YWJsZTxUPjtcblxuICBASW5wdXQoKVxuICBoaWRlTWFuYWdlZEZpZWxkcyA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZCgncmVzb3VyY2VGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdGb3JtOiBOZ0Zvcm07XG5cbiAgY29kZUVkaXRvck9wdGlvbnMgPSB5YW1sV3JpdGVPcHRpb25zO1xuICBhY3Rpb25zQ29uZmlnID0gY3JlYXRlQWN0aW9ucztcbiAgZm9ybVZpZXc6ICdVSScgfCAnWUFNTCcgPSAnVUknO1xuICBzdWJtaXR0aW5nID0gZmFsc2U7XG5cbiAgcmVzb3VyY2U6IFQ7XG4gIHlhbWw6IHN0cmluZztcbiAgLy8g5pSv5oyB5bimICfmgaLlpI0nIOeahCBjb2RlRWRpdG9yXG4gIG9yaWdpbmFsWWFtbDogc3RyaW5nO1xuICBmYjogRm9ybUJ1aWxkZXI7XG4gIGludGVyY2VwdERlYWN0aXZhdGU6IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlO1xuICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uO1xuICBwcm90ZWN0ZWQgZmlsbFJlc291cmNlOiAocmVzb3VyY2U6IFQpID0+IFQgPSBpZGVudGl0eTtcblxuICBhYnN0cmFjdCBzdWJtaXQocGFyYW1zPzogdW5rbm93bik6IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24gPSBpbmplY3Rvci5nZXQoTm90aWZpY2F0aW9uU2VydmljZSk7XG4gICAgdGhpcy5sb2NhdGlvbiA9IGluamVjdG9yLmdldChMb2NhdGlvbik7XG4gICAgdGhpcy5mYiA9IGluamVjdG9yLmdldChGb3JtQnVpbGRlcik7XG4gICAgdGhpcy5pbnRlcmNlcHREZWFjdGl2YXRlID0gaW5qZWN0b3IuZ2V0KEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHsgcmVzb3VyY2U6IHRoaXMuZmIuY29udHJvbCgnJykgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc291cmNlID0gdGhpcy5pbml0UmVzb3VyY2U7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgcmVzb3VyY2U6IHRoaXMuaW5pdFJlc291cmNlLFxuICAgIH0pO1xuICB9XG5cbiAgc3dpdGNoRm9ybVZpZXcodmlldzogJ1lBTUwnIHwgJ1VJJykge1xuICAgIGxldCByZXNvdXJjZTogVDtcbiAgICBpZiAodmlldyA9PT0gJ1VJJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzb3VyY2UgPSB0aGlzLnlhbWxUb1Jlc291cmNlKHRoaXMueWFtbCk7XG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICByZXNvdXJjZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXNvdXJjZSA9IHRoaXMuZm9ybS5nZXQoJ3Jlc291cmNlJykudmFsdWU7XG4gICAgICB0aGlzLm9yaWdpbmFsWWFtbCA9IHRoaXMueWFtbCA9IHRoaXMucmVzb3VyY2VUb1lhbWwocmVzb3VyY2UpO1xuICAgIH1cbiAgICB0aGlzLnJlc291cmNlID0gcmVzb3VyY2U7XG4gICAgdGhpcy5mb3JtVmlldyA9IHZpZXc7XG4gIH1cblxuICBjYW5jZWwoZXNjYXBlPzogYm9vbGVhbikge1xuICAgIHRoaXMuaW50ZXJjZXB0RGVhY3RpdmF0ZS5iYWNrKGVzY2FwZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tGb3JtKCkge1xuICAgIHRoaXMubmdGb3JtLm9uU3VibWl0KG51bGwpO1xuICAgIGlmICh0aGlzLmZvcm1WaWV3ID09PSAnVUknICYmIHRoaXMubmdGb3JtLmludmFsaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybVZpZXcgPT09ICdZQU1MJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHRoaXMueWFtbFRvUmVzb3VyY2UodGhpcy55YW1sKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuZm9ybS5nZXQoJ3Jlc291cmNlJykudmFsdWUgYXMgVDtcbiAgICB0aGlzLnJlc291cmNlID0gdGhpcy5maWxsUmVzb3VyY2UocmVzb3VyY2UpO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgeWFtbFRvUmVzb3VyY2UoeWFtbDogc3RyaW5nKTogVCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFsbCA9IHBhcnNlQWxsKHlhbWwpO1xuICAgICAgcmV0dXJuIChBcnJheS5pc0FycmF5KHRoaXMucmVzb3VyY2UpID8gYWxsIDogYWxsWzBdKSBhcyBUO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChpc0Vycm9yTWVzc2FnZShlKSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcihlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb3VyY2VUb1lhbWwocmVzb3VyY2U6IFQpIHtcbiAgICB0cnkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzb3VyY2UpKSB7XG4gICAgICAgIHJldHVybiByZXNvdXJjZS5tYXAociA9PiB0aGlzLnN0cmluZ2lmeVJlc291cmNlKHIpKS5qb2luKCdcXG4tLS1cXHJcXG5cXG4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnN0cmluZ2lmeVJlc291cmNlKHJlc291cmNlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gJ3t9JztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlUmVzb3VyY2UocmVzb3VyY2U6IFQpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHJlc291cmNlIH0pO1xuICAgIHRoaXMucmVzb3VyY2UgPSByZXNvdXJjZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdHJpbmdpZnlSZXNvdXJjZShyZXNvdXJjZTogVCkge1xuICAgIHJldHVybiBzdHJpbmdpZnkoXG4gICAgICB0aGlzLmhpZGVNYW5hZ2VkRmllbGRzXG4gICAgICAgID8gZGlzc29jUGF0aChbJ21ldGFkYXRhJywgJ21hbmFnZWRGaWVsZHMnXSwgcmVzb3VyY2UpXG4gICAgICAgIDogcmVzb3VyY2UsXG4gICAgICB7IGJsb2NrUXVvdGU6ICdsaXRlcmFsJyB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2Fic3RyYWN0L2Jhc2UtZm9ybS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVwRDs7O0dBR0c7QUFFSCxNQUFNLE9BQWdCLGlCQUFpQjtJQW9DckMsWUFBWSxRQUFrQjtRQWxDOUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVNqQixzQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFLekIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsa0JBQWEsR0FBRyxhQUFh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VUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBVztRQUNyQyxPQUFPLFNBQVMsQ0FDZCxJQUFJLENBQUMsaUJBQWlCO1lBQ3BCLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQUUsUUFBUSxDQUFDO1lBQ3JELENBQUMsQ0FBQyxRQUFRLEVBQ1osRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQzFCLENBQUM7SUFDSixDQUFDO2tGQWxJbUIsaUJBQWlCO29FQUFqQixpQkFBaUI7Ozs7Ozs7QUFRckM7SUFEQyxlQUFlLEVBQUU7OEJBQ0gsVUFBVTt3REFBSTtpRkFSVCxpQkFBaUI7Y0FEdEMsU0FBUzt5Q0FHUixRQUFRO2tCQURQLEtBQUs7WUFJTixZQUFZO2tCQURYLEtBQUs7WUFJTixhQUFhLE1BR2IsaUJBQWlCO2tCQURoQixLQUFLO1lBSVcsTUFBTTtrQkFEdEIsU0FBUzttQkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBkaXNzb2NQYXRoIH0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBjcmVhdGVBY3Rpb25zLFxuICB5YW1sV3JpdGVPcHRpb25zLFxufSBmcm9tICcuLi8uLi9jb2RlL2NvZGUtZWRpdG9yLWNvbmZpZ3MnO1xuaW1wb3J0IHsgSW50ZXJjZXB0RGVhY3RpdmF0ZVNlcnZpY2UgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGlzRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vdHlwZXMvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi91dGlscy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IHBhcnNlQWxsLCBzdHJpbmdpZnkgfSBmcm9tICcuLi91dGlscy95YW1sJztcblxuLyoqXG4gKiBodHRwOi8vY29uZmx1ZW5jZS5hbGF1ZGEuY24vZGlzcGxheS9GUk9OL0lzc3VlLUFuZ3VsYXIrcmVsYXRlZFxuICog55Sx5LqOZm9ybUNvbnRyb2zlrZjlnKjlhoXlrZjms4TmvI/pl67popjvvIzlhoXpg6ggZm9ybSDlsZXnpLot6ZqQ6JeP5YiH5o2i5bqU5b2T6YeH55SoIGhpZGRlbiDov5vooYzmjqfliLZcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUZvcm1Db250YWluZXI8VCA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKVxuICBpc1VwZGF0ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGluaXRSZXNvdXJjZTogVDtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgaW5pdFJlc291cmNlJDogT2JzZXJ2YWJsZTxUPjtcblxuICBASW5wdXQoKVxuICBoaWRlTWFuYWdlZEZpZWxkcyA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZCgncmVzb3VyY2VGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdGb3JtOiBOZ0Zvcm07XG5cbiAgY29kZUVkaXRvck9wdGlvbnMgPSB5YW1sV3JpdGVPcHRpb25zO1xuICBhY3Rpb25zQ29uZmlnID0gY3JlYXRlQWN0aW9ucztcbiAgZm9ybVZpZXc6ICdVSScgfCAnWUFNTCcgPSAnVUknO1xuICBzdWJtaXR0aW5nID0gZmFsc2U7XG5cbiAgcmVzb3VyY2U6IFQ7XG4gIHlhbWw6IHN0cmluZztcbiAgLy8g5pSv5oyB5bimICfmgaLlpI0nIOeahCBjb2RlRWRpdG9yXG4gIG9yaWdpbmFsWWFtbDogc3RyaW5nO1xuICBmYjogRm9ybUJ1aWxkZXI7XG4gIGludGVyY2VwdERlYWN0aXZhdGU6IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlO1xuICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uO1xuICBwcm90ZWN0ZWQgZmlsbFJlc291cmNlOiAocmVzb3VyY2U6IFQpID0+IFQgPSBpZGVudGl0eTtcblxuICBhYnN0cmFjdCBzdWJtaXQocGFyYW1zPzogdW5rbm93bik6IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24gPSBpbmplY3Rvci5nZXQoTm90aWZpY2F0aW9uU2VydmljZSk7XG4gICAgdGhpcy5sb2NhdGlvbiA9IGluamVjdG9yLmdldChMb2NhdGlvbik7XG4gICAgdGhpcy5mYiA9IGluamVjdG9yLmdldChGb3JtQnVpbGRlcik7XG4gICAgdGhpcy5pbnRlcmNlcHREZWFjdGl2YXRlID0gaW5qZWN0b3IuZ2V0KEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHsgcmVzb3VyY2U6IHRoaXMuZmIuY29udHJvbCgnJykgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc291cmNlID0gdGhpcy5pbml0UmVzb3VyY2U7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgcmVzb3VyY2U6IHRoaXMuaW5pdFJlc291cmNlLFxuICAgIH0pO1xuICAgIHRoaXMub3JpZ2luYWxZYW1sID0gdGhpcy5yZXNvdXJjZVRvWWFtbCh0aGlzLmluaXRSZXNvdXJjZSk7XG4gIH1cblxuICBzd2l0Y2hGb3JtVmlldyh2aWV3OiAnWUFNTCcgfCAnVUknKSB7XG4gICAgbGV0IHJlc291cmNlOiBUO1xuICAgIGlmICh2aWV3ID09PSAnVUknKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXNvdXJjZSA9IHRoaXMueWFtbFRvUmVzb3VyY2UodGhpcy55YW1sKTtcbiAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIHJlc291cmNlLFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc291cmNlID0gdGhpcy5mb3JtLmdldCgncmVzb3VyY2UnKS52YWx1ZTtcbiAgICAgIHRoaXMueWFtbCA9IHRoaXMucmVzb3VyY2VUb1lhbWwocmVzb3VyY2UpO1xuICAgIH1cbiAgICB0aGlzLnJlc291cmNlID0gcmVzb3VyY2U7XG4gICAgdGhpcy5mb3JtVmlldyA9IHZpZXc7XG4gIH1cblxuICBjYW5jZWwoZXNjYXBlPzogYm9vbGVhbikge1xuICAgIHRoaXMuaW50ZXJjZXB0RGVhY3RpdmF0ZS5iYWNrKGVzY2FwZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tGb3JtKCkge1xuICAgIHRoaXMubmdGb3JtLm9uU3VibWl0KG51bGwpO1xuICAgIGlmICh0aGlzLmZvcm1WaWV3ID09PSAnVUknICYmIHRoaXMubmdGb3JtLmludmFsaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybVZpZXcgPT09ICdZQU1MJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHRoaXMueWFtbFRvUmVzb3VyY2UodGhpcy55YW1sKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuZm9ybS5nZXQoJ3Jlc291cmNlJykudmFsdWUgYXMgVDtcbiAgICB0aGlzLnJlc291cmNlID0gdGhpcy5maWxsUmVzb3VyY2UocmVzb3VyY2UpO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgeWFtbFRvUmVzb3VyY2UoeWFtbDogc3RyaW5nKTogVCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFsbCA9IHBhcnNlQWxsKHlhbWwpO1xuICAgICAgcmV0dXJuIChBcnJheS5pc0FycmF5KHRoaXMucmVzb3VyY2UpID8gYWxsIDogYWxsWzBdKSBhcyBUO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChpc0Vycm9yTWVzc2FnZShlKSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbi5lcnJvcihlLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb3VyY2VUb1lhbWwocmVzb3VyY2U6IFQpIHtcbiAgICB0cnkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzb3VyY2UpKSB7XG4gICAgICAgIHJldHVybiByZXNvdXJjZS5tYXAociA9PiB0aGlzLnN0cmluZ2lmeVJlc291cmNlKHIpKS5qb2luKCdcXG4tLS1cXHJcXG5cXG4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnN0cmluZ2lmeVJlc291cmNlKHJlc291cmNlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gJ3t9JztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlUmVzb3VyY2UocmVzb3VyY2U6IFQpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHJlc291cmNlIH0pO1xuICAgIHRoaXMucmVzb3VyY2UgPSByZXNvdXJjZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdHJpbmdpZnlSZXNvdXJjZShyZXNvdXJjZTogVCkge1xuICAgIHJldHVybiBzdHJpbmdpZnkoXG4gICAgICB0aGlzLmhpZGVNYW5hZ2VkRmllbGRzXG4gICAgICAgID8gZGlzc29jUGF0aChbJ21ldGFkYXRhJywgJ21hbmFnZWRGaWVsZHMnXSwgcmVzb3VyY2UpXG4gICAgICAgIDogcmVzb3VyY2UsXG4gICAgICB7IGJsb2NrUXVvdGU6ICdsaXRlcmFsJyB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -123,4 +123,4 @@ export const SERVICE_PORT_PROTOCOLS = [
123
123
  'HTTP2',
124
124
  'gRPC',
125
125
  ];
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdHlwZXMvazhzL3Jhdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RUFBd0U7QUFDeEUsK0VBQStFO0FBQy9FLHFFQUFxRTtBQThDckUsTUFBTSxDQUFOLElBQVksaUJBWVg7QUFaRCxXQUFZLGlCQUFpQjtJQUMzQixnQ0FBVyxDQUFBO0lBQ1gsa0NBQWEsQ0FBQTtJQUNiLG9DQUFlLENBQUE7SUFDZixzQ0FBaUIsQ0FBQTtJQUNqQixzQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsMkRBQXNDLENBQUE7SUFDdEMsb0NBQWUsQ0FBQTtJQUNmLDBDQUFxQixDQUFBO0lBQ3JCLDhCQUFTLENBQUE7QUFDWCxDQUFDLEVBWlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVk1QjtBQUVELE1BQU0sQ0FBTixJQUFZLFVBY1g7QUFkRCxXQUFZLFVBQVU7SUFDcEIsK0JBQWlCLENBQUE7SUFDakIsdUNBQXlCLENBQUE7SUFDekIscURBQXVDLENBQUE7SUFDdkMsZ0RBQWtDLENBQUE7SUFDbEMsb0RBQXNDLENBQUE7SUFDdEMsaUVBQW1ELENBQUE7SUFDbkQsaURBQW1DLENBQUE7SUFDbkMsaUVBQW1ELENBQUE7SUFDbkQsNENBQThCLENBQUE7SUFDOUIsOENBQWdDLENBQUE7SUFDaEMsc0RBQXdDLENBQUE7SUFDeEMsdURBQXlDLENBQUE7SUFDekMsaURBQW1DLENBQUE7QUFDckMsQ0FBQyxFQWRXLFVBQVUsS0FBVixVQUFVLFFBY3JCO0FBcURELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsdUNBQWlCLENBQUE7SUFDakIscUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUc3QjtBQUVELE1BQU0sQ0FBTixJ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QUEyQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBSW5FLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ3BDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLE9BQU87SUFDUCxPQUFPO0lBQ1AsTUFBTTtDQUNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUeXBlTWV0YSBkZXNjcmliZXMgYW4gaW5kaXZpZHVhbCBvYmplY3QgaW4gYW4gQVBJIHJlc3BvbnNlIG9yIHJlcXVlc3Rcbi8vIHdpdGggc3RyaW5ncyByZXByZXNlbnRpbmcgdGhlIHR5cGUgb2YgdGhlIG9iamVjdCBhbmQgaXRzIEFQSSBzY2hlbWEgdmVyc2lvbi5cbi8vIFN0cnVjdHVyZXMgdGhhdCBhcmUgdmVyc2lvbmVkIG9yIHBlcnNpc3RlZCBzaG91bGQgaW5saW5lIFR5cGVNZXRhLlxuXG4vKipcbiAqIOatpOaWh+S7tuWPque7tOaKpCDmiYDmnInnmoQgazhzIOWOn+eUn+exu+Wei1xuICovXG5cbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uL2NvbW1vbnMnO1xuaW1wb3J0IHsgVmFsdWVPZiB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgT3BlbkFQSVYzU2NoZW1hT2JqZWN0IH0gZnJvbSAnLi4vc2NoZW1hJztcblxuaW1wb3J0IHtcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBMYWJlbFNlbGVjdG9yLFxuICBMYWJlbFNlbGVjdG9yUmVxdWlyZW1lbnQsXG4gIE9iamVjdE1ldGEsXG4gIE9iamVjdFJlZmVyZW5jZSxcbiAgQ29uZGl0aW9uLFxufSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3JldDxUID0gU3RyaW5nTWFwPiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGRhdGE/OiBUO1xuICBzdHJpbmdEYXRhPzogU3RyaW5nTWFwO1xuICB0eXBlPzogU2VjcmV0VHlwZTtcbiAgLy8gISBoYWNrLCBub3Qgc3BlY1xuICBnbG9iYWw/OiBib29sZWFuO1xuICBjZXJ0aWZpY2F0ZT86IENlcnRpZmljYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVzcGFjZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHN0YXR1cz86IE5hbWVzcGFjZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYW1lc3BhY2VTdGF0dXMge1xuICBwaGFzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY29wZWRSZXNvdXJjZVNlbGVjdG9yUmVxdWlyZW1lbnQge1xuICBvcGVyYXRvcjogJ0luJyB8ICdOb3RJbicgfCAnRXhpc3RzJyB8ICdEb2VzTm90RXhpc3QnO1xuICBzY29wZU5hbWU6IHN0cmluZztcbiAgdmFsdWVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NvcGVTZWxlY3RvciB7XG4gIG1hdGNoRXhwcmVzc2lvbnM6IFNjb3BlZFJlc291cmNlU2VsZWN0b3JSZXF1aXJlbWVudFtdO1xufVxuXG5leHBvcnQgZW51bSBLOHNSZXNvdXJjZUFjdGlvbiB7XG4gIEdFVCA9ICdnZXQnLFxuICBMSVNUID0gJ2xpc3QnLFxuICBXQVRDSCA9ICd3YXRjaCcsXG4gIENSRUFURSA9ICdjcmVhdGUnLFxuICBVUERBVEUgPSAndXBkYXRlJyxcbiAgUEFUQ0ggPSAncGF0Y2gnLFxuICBERUxFVEUgPSAnZGVsZXRlJyxcbiAgREVMRVRFX0NPTExFQ1RJT04gPSAnZGVsZXRlY29sbGVjdGlvbicsXG4gIFBST1hZID0gJ3Byb3h5JyxcbiAgUkVESVJFQ1QgPSAncmVkaXJlY3QnLFxuICBBTEwgPSAnKicsXG59XG5cbmV4cG9ydCBlbnVtIFNlY3JldFR5cGUge1xuICBPcGFxdWUgPSAnT3BhcXVlJyxcbiAgVExTID0gJ2t1YmVybmV0ZXMuaW8vdGxzJyxcbiAgU1NIS2V5ID0gJ2t1YmVybmV0ZXMuaW8vc3NoLXB1YmxpYy1rZXknLFxuICBTU0hBdXRoID0gJ2t1YmVybmV0ZXMuaW8vc3NoLWF1dGgnLFxuICBCYXNpY0F1dGggPSAna3ViZXJuZXRlcy5pby9iYXNpYy1hdXRoJyxcbiAgQmFzaWNBdXRoU2VjcmV0ID0gJ2t1YmVybmV0ZXMuaW8vYmFzaWMtYXV0aC1zZWNyZXQnLFxuICBEYXRhYmFzZSA9ICdrdWJlcm5ldGVzLmlvL2RhdGFiYXNlJyxcbiAgRG9ja2VyQ29uZmlnSnNvbiA9ICdrdWJlcm5ldGVzLmlvL2RvY2tlcmNvbmZpZ2pzb24nLFxuICBPQXV0aDIgPSAna2F0YW5vbWkuZGV2L29hdXRoMicsXG4gIE5vQXV0aCA9ICdrdWJlcm5ldGVzLmlvL25vLWF1dGgnLFxuICBEZXZPcHNPQXV0aDIgPSAnZGV2b3BzLmFsYXVkYS5pby9vYXV0aDInLFxuICBEeW5hbWljU2VjcmV0S2V5ID0gJ2thdGFub21pLmRldi9keW5hbWljJyxcbiAgQ2xvdWRDcmVkZW50aWFsID0gJ0Nsb3VkQ3JlZGVudGlhbCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVmdWxTZXQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogU3RhdGVmdWxTZXRTcGVjO1xuICBzdGF0dXM/OiBTdGF0ZWZ1bFNldFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZWZ1bFNldFNwZWMge1xuICByZXBsaWNhcz86IG51bWJlcjtcbiAgc2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICB0ZW1wbGF0ZT86IFBvZFRlbXBsYXRlU3BlYztcblxuICAvLyBzZXJ2aWNlTmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgc2VydmljZSB0aGF0IGdvdmVybnMgdGhpcyBTdGF0ZWZ1bFNldC5cbiAgLy8gVGhpcyBzZXJ2aWNlIG11c3QgZXhpc3QgYmVmb3JlIHRoZSBTdGF0ZWZ1bFNldCwgYW5kIGlzIHJlc3BvbnNpYmxlIGZvclxuICAvLyB0aGUgbmV0d29yayBpZGVudGl0eSBvZiB0aGUgc2V0LiBQb2RzIGdldCBETlMvaG9zdG5hbWVzIHRoYXQgZm9sbG93IHRoZVxuICAvLyBwYXR0ZXJuOiBwb2Qtc3BlY2lmaWMtc3RyaW5nLnNlcnZpY2VOYW1lLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWxcbiAgLy8gd2hlcmUgXCJwb2Qtc3BlY2lmaWMtc3RyaW5nXCIgaXMgbWFuYWdlZCBieSB0aGUgU3RhdGVmdWxTZXQgY29udHJvbGxlci5cbiAgc2VydmljZU5hbWU/OiBzdHJpbmc7XG4gIHVwZGF0ZVN0cmF0ZWd5PzogU3RhdGVmdWxTZXRVcGRhdGVTdHJhdGVneTtcbiAgcmV2aXNpb25IaXN0b3J5TGltaXQ/OiBudW1iZXI7XG4gIHZvbHVtZUNsYWltVGVtcGxhdGVzPzogUGVyc2lzdGVudFZvbHVtZUNsYWltW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kVGVtcGxhdGVTcGVjIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFBvZFNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kU3BlYyB7XG4gIGNvbnRhaW5lcnM/OiBDb250YWluZXJbXTtcbiAgaW5pdENvbnRhaW5lcnM/OiBDb250YWluZXJbXTtcbiAgZXBoZW1lcmFsQ29udGFpbmVycz86IEVwaGVtZXJhbENvbnRhaW5lcltdO1xuICB2b2x1bWVzPzogVm9sdW1lW107XG4gIGhvc3RBbGlhc2VzPzogSG9zdEFsaWFzZXNbXTtcbiAgbm9kZVNlbGVjdG9yPzogU3RyaW5nTWFwO1xuICBob3N0TmV0d29yaz86IGJvb2xlYW47XG4gIGFmZmluaXR5PzogQWZmaW5pdHk7XG4gIHJlc3RhcnRQb2xpY3k/OiBzdHJpbmc7XG4gIGltYWdlUHVsbFNlY3JldHM/OiBMb2NhbE9iamVjdFJlZmVyZW5jZVtdO1xuICBzZXJ2aWNlQWNjb3VudE5hbWU/OiBzdHJpbmc7XG4gIHNlcnZpY2VBY2NvdW50Pzogc3RyaW5nO1xuICBub2RlTmFtZT86IHN0cmluZztcbiAgdGVybWluYXRpb25HcmFjZVBlcmlvZFNlY29uZHM/OiBudW1iZXI7XG4gIHRvbGVyYXRpb25zPzogVG9sZXJhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvbGVyYXRpb24ge1xuICBrZXk/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBvcGVyYXRvcj86IFRvbGVyYXRpb25PcGVyYXRvcjtcbiAgdG9sZXJhdGlvblNlY29uZHM/OiBudW1iZXI7XG4gIGVmZmVjdD86IFRhaW50RWZmZWN0O1xufVxuXG5leHBvcnQgZW51bSBUb2xlcmF0aW9uT3BlcmF0b3Ige1xuICBFeGlzdHMgPSAnRXhpc3RzJyxcbiAgRXF1YWwgPSAnRXF1YWwnLFxufVxuXG5leHBvcnQgZW51bSBUYWludEVmZmVjdCB7XG4gIE5vU2NoZWR1bGUgPSAnTm9TY2hlZHVsZScsXG4gIFByZWZlck5vU2NoZWR1bGUgPSAnUHJlZmVyTm9TY2hlZHVsZScsXG4gIE5vRXhlY3V0ZSA9ICdOb0V4ZWN1dGUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lciB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGltYWdlPzogc3RyaW5nO1xuICBjb21tYW5kPzogc3RyaW5nW107XG4gIGFyZ3M/OiBzdHJpbmdbXTtcbiAgZW52PzogRW52VmFyW107XG4gIGVudkZyb20/OiBFbnZGcm9tU291cmNlW107XG4gIHdvcmtpbmdEaXI/OiBzdHJpbmc7XG4gIHBvcnRzPzogQ29udGFpbmVyUG9ydFtdO1xuICByZXNvdXJjZXM/OiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgdm9sdW1lTW91bnRzPzogVm9sdW1lTW91bnRbXTtcbiAgbGl2ZW5lc3NQcm9iZT86IFByb2JlO1xuICByZWFkaW5lc3NQcm9iZT86IFByb2JlO1xuICBsaWZlY3ljbGU/OiBQb2RMaWZlQ3ljbGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52VmFyU291cmNlIHtcbiAgY29uZmlnTWFwS2V5UmVmPzogQ29uZmlnTWFwS2V5UmVmO1xuICBzZWNyZXRLZXlSZWY/OiBTZWNyZXRLZXlSZWY7XG4gIGZpZWxkUmVmPzogT2JqZWN0RmllbGRTZWxlY3RvcjtcbiAgcmVzb3VyY2VGaWVsZFJlZj86IFJlc291cmNlRmllbGRTZWxlY3Rvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZWYXIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICB2YWx1ZUZyb20/OiBFbnZWYXJTb3VyY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52RnJvbVNvdXJjZSB7XG4gIHByZWZpeD86IHN0cmluZztcbiAgY29uZmlnTWFwUmVmPzogQ29uZmlnTWFwUmVmO1xuICBzZWNyZXRSZWY/OiBTZWNyZXRSZWY7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kTGlmZUN5Y2xlIHtcbiAgcG9zdFN0YXJ0PzogUG9kTGlmZUN5Y2xlSG9vaztcbiAgcHJlU3RvcD86IFBvZExpZmVDeWNsZUhvb2s7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kTGlmZUN5Y2xlSG9vayB7XG4gIGV4ZWM6IHsgY29tbWFuZDogc3RyaW5nW10gfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVFRQR2V0QWN0aW9uIHtcbiAgaG9zdD86IHN0cmluZztcbiAgaHR0cEhlYWRlcnM/OiBIVFRQSGVhZGVyW107XG4gIHBhdGg6IHN0cmluZztcbiAgcG9ydD86IG51bWJlciB8IHN0cmluZztcbiAgc2NoZW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVwaGVtZXJhbENvbnRhaW5lciB7XG4gIGNvbW1hbmQ6IHN0cmluZ1tdO1xuICBpbWFnZTogc3RyaW5nO1xuICBpbWFnZVB1bGxQb2xpY3k6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBzdGRpbjogYm9vbGVhbjtcbiAgdHR5OiBib29sZWFuO1xuICB0ZXJtaW5hdGlvbk1lc3NhZ2VQb2xpY3k/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCB0eXBlIFN0YXRlZnVsU2V0U3RhdHVzID0gUGFydGlhbDx7XG4gIGNvbGxpc2lvbkNvdW50OiBudW1iZXI7XG4gIG9ic2VydmVkR2VuZXJhdGlvbjogbnVtYmVyO1xuICByZXBsaWNhczogbnVtYmVyO1xuICByZWFkeVJlcGxpY2FzOiBudW1iZXI7XG4gIGN1cnJlbnRSZXBsaWNhczogbnVtYmVyO1xuICBjdXJyZW50UmV2aXNpb246IHN0cmluZztcbiAgdXBkYXRlUmV2aXNpb246IHN0cmluZztcbiAgdXBkYXRlZFJlcGxpY2FzPzogbnVtYmVyO1xufT47XG5cbmV4cG9ydCB0eXBlIERlcGxveW1lbnRTdHJhdGVneVR5cGUgPSAnUm9sbGluZ1VwZGF0ZScgfCAnUmVjcmVhdGUnO1xuZXhwb3J0IHR5cGUgRGFlbW9uU2V0VXBkYXRlU3RyYXRlZ3lUeXBlID0gJ1JvbGxpbmdVcGRhdGUnIHwgJ09uRGVsZXRlJztcbmV4cG9ydCB0eXBlIFN0YXRlZnVsU2V0VXBkYXRlU3RyYXRlZ3lUeXBlID0gJ1JvbGxpbmdVcGRhdGUnIHwgJ09uRGVsZXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3ltZW50U3RyYXRlZ3kge1xuICB0eXBlPzogRGVwbG95bWVudFN0cmF0ZWd5VHlwZTtcbiAgcm9sbGluZ1VwZGF0ZT86IFJvbGxpbmdVcGRhdGVEZXBsb3ltZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGxpbmdVcGRhdGVEZXBsb3ltZW50IHtcbiAgbWF4VW5hdmFpbGFibGU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIG1heFN1cmdlPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlZnVsU2V0VXBkYXRlU3RyYXRlZ3kge1xuICB0eXBlPzogU3RhdGVmdWxTZXRVcGRhdGVTdHJhdGVneVR5cGU7XG4gIHJvbGxpbmdVcGRhdGU/OiBSb2xsaW5nVXBkYXRlU3RhdGVmdWxTZXRTdHJhdGVneTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb2xsaW5nVXBkYXRlU3RhdGVmdWxTZXRTdHJhdGVneSB7XG4gIHBhcnRpdGlvbj86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmdyZXNzIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IEluZ3Jlc3NTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NTcGVjIHtcbiAgaW5ncmVzc0NsYXNzTmFtZT86IHN0cmluZztcbiAgcnVsZXM/OiBJbmdyZXNzUnVsZVtdO1xuICB0bHM/OiBJbmdyZXNzVExTW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5ncmVzc1J1bGUge1xuICBob3N0Pzogc3RyaW5nO1xuICBodHRwOiBIVFRQSW5ncmVzc1J1bGVWYWx1ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVFRQSW5ncmVzc1J1bGVWYWx1ZSB7XG4gIHBhdGhzOiBIVFRQSW5ncmVzc1BhdGhbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVFRQSW5ncmVzc1BhdGgge1xuICBwYXRoOiBzdHJpbmc7XG4gIHBhdGhUeXBlOiAnUHJlZml4JyB8ICdFeGFjdCcgfCAnSW1wbGVtZW50YXRpb25TcGVjaWZpYyc7XG4gIGJhY2tlbmQ6IEluZ3Jlc3NCYWNrZW5kO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NCYWNrZW5kIHtcbiAgc2VydmljZU5hbWU/OiBzdHJpbmc7XG4gIHNlcnZpY2VQb3J0PzogbnVtYmVyO1xuICBzZXJ2aWNlPzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwb3J0OiB7XG4gICAgICBudW1iZXI6IG51bWJlcjtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NUTFMge1xuICBob3N0cz86IHN0cmluZ1tdO1xuICBzZWNyZXROYW1lPzogc3RyaW5nO1xuICBnbG9iYWw/OiBib29sZWFuO1xuICBjZXJ0aWZpY2F0ZT86IENlcnRpZmljYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NTdGF0dXMge1xuICBsb2FkQmFsYW5jZXI/OiBJbmdyZXNzTG9hZEJhbGFuY2VyU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NMb2FkQmFsYW5jZXJTdGF0dXMge1xuICBpbmdyZXNzPzogTG9hZEJhbGFuY2VySW5ncmVzc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlckluZ3Jlc3Mge1xuICBpcDogc3RyaW5nO1xuICBob3N0bmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVm9sdW1lTW9kZSA9IHtcbiAgRklMRV9TWVNURU06ICdGaWxlc3lzdGVtJyxcbiAgQkxPQ0tfREVWSUNFOiAnQmxvY2snLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVm9sdW1lTW9kZSA9IFZhbHVlT2Y8dHlwZW9mIFZvbHVtZU1vZGU+O1xuXG5leHBvcnQgY29uc3QgVm9sdW1lTW9kZXMgPSBbVm9sdW1lTW9kZS5CTE9DS19ERVZJQ0UsIFZvbHVtZU1vZGUuRklMRV9TWVNURU1dO1xuXG5leHBvcnQgY29uc3QgQWNjZXNzTW9kZSA9IHtcbiAgUldPOiAnUmVhZFdyaXRlT25jZScsXG4gIFJPWDogJ1JlYWRPbmx5TWFueScsXG4gIFJXWDogJ1JlYWRXcml0ZU1hbnknLFxuICBSV09QOiAnUmVhZFdyaXRlT25jZVBvZCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBY2Nlc3NNb2RlID0gVmFsdWVPZjx0eXBlb2YgQWNjZXNzTW9kZT47XG5cbmV4cG9ydCBjb25zdCBBY2Nlc3NNb2RlcyA9IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5ST1gsIEFjY2Vzc01vZGUuUldYXTtcblxuZXhwb3J0IGludGVyZmFjZSBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1TcGVjO1xuICBzdGF0dXM/OiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1TdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZUNsYWltU3RhdHVzIHtcbiAgcGhhc2U6IHN0cmluZztcbiAgY2FwYWNpdHk/OiB7IHN0b3JhZ2U6IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNpc3RlbnRWb2x1bWVDbGFpbVNwZWMge1xuICAvLyBudWxsIOihqOekuuS9v+eUqOm7mOiupCBzY1xuICAvLyBcIlwiIOihqOekuuS4jeiuvue9ruWtmOWCqOexu1xuICBzdG9yYWdlQ2xhc3NOYW1lPzogc3RyaW5nO1xuICB2b2x1bWVOYW1lPzogc3RyaW5nO1xuICByZXNvdXJjZXM6IHtcbiAgICByZXF1ZXN0czogeyBzdG9yYWdlOiBzdHJpbmcgfTtcbiAgfTtcbiAgZGF0YVNvdXJjZT86IFBlcnNpc3RlbnRWb2x1bWVDbGFpbURhdGFTb3VyY2U7XG4gIHNlbGVjdG9yPzogTGFiZWxTZWxlY3RvcjtcbiAgYWNjZXNzTW9kZXM6IEFjY2Vzc01vZGVbXTtcbiAgdm9sdW1lTW9kZT86IFZvbHVtZU1vZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZUNsYWltRGF0YVNvdXJjZSB7XG4gIG5hbWU6IHN0cmluZztcbiAga2luZDogc3RyaW5nO1xuICBhcGlHcm91cDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSVJlc291cmNlSXRlbSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2luZ3VsYXJOYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZWQ6IGJvb2xlYW47XG4gIGtpbmQ6IHN0cmluZztcbiAgdmVyYnM6IEs4c1Jlc291cmNlQWN0aW9uW107XG4gIGdyb3VwVmVyc2lvbj86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSVJlc291cmNlTGlzdCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdBUElSZXNvdXJjZUxpc3QnO1xuICBhcGlWZXJzaW9uPzogc3RyaW5nO1xuICBncm91cFZlcnNpb246IHN0cmluZztcbiAgcmVzb3VyY2VzOiBBUElSZXNvdXJjZUl0ZW1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUF0dHJpYnV0ZXM8VCBleHRlbmRzIEs4c1Jlc291cmNlQWN0aW9uPiB7XG4gIGdyb3VwOiBzdHJpbmc7XG4gIHJlc291cmNlOiBzdHJpbmc7XG4gIHZlcmI6IFQ7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJqZWN0QWNjZXNzUmV2aWV3U3BlYzxUIGV4dGVuZHMgSzhzUmVzb3VyY2VBY3Rpb24+IHtcbiAgcmVzb3VyY2VBdHRyaWJ1dGVzOiBSZXNvdXJjZUF0dHJpYnV0ZXM8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ViamVjdEFjY2Vzc1Jldmlld1N0YXR1cyB7XG4gIGFsbG93ZWQ6IGJvb2xlYW47XG4gIGRlbmllZD86IGJvb2xlYW47XG4gIGV2YWx1YXRpb25FcnJvcj86IHN0cmluZztcbiAgcmVhc29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1YmplY3RBY2Nlc3NSZXZpZXc8XG4gIFQgZXh0ZW5kcyBLOHNSZXNvdXJjZUFjdGlvbiA9IEs4c1Jlc291cmNlQWN0aW9uLFxuPiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdTdWJqZWN0QWNjZXNzUmV2aWV3JztcbiAgc3BlYzogU3ViamVjdEFjY2Vzc1Jldmlld1NwZWM8VD47XG4gIHN0YXR1czogU3ViamVjdEFjY2Vzc1Jldmlld1N0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxmUmVzb3VyY2VBdHRyaWJ1dGVzPFQgZXh0ZW5kcyBLOHNSZXNvdXJjZUFjdGlvbj5cbiAgZXh0ZW5kcyBSZXNvdXJjZUF0dHJpYnV0ZXM8VD4ge1xuICBwcm9qZWN0Pzogc3RyaW5nO1xuICBjbHVzdGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGZTdWJqZWN0QWNjZXNzUmV2aWV3U3BlYzxUIGV4dGVuZHMgSzhzUmVzb3VyY2VBY3Rpb24+XG4gIGV4dGVuZHMgU3ViamVjdEFjY2Vzc1Jldmlld1NwZWM8VD4ge1xuICByZXNvdXJjZUF0dHJpYnV0ZXM6IFNlbGZSZXNvdXJjZUF0dHJpYnV0ZXM8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZlN1YmplY3RBY2Nlc3NSZXZpZXc8XG4gIFQgZXh0ZW5kcyBLOHNSZXNvdXJjZUFjdGlvbiA9IEs4c1Jlc291cmNlQWN0aW9uLFxuPiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdTZWxmU3ViamVjdEFjY2Vzc1Jldmlldyc7XG4gIHNwZWM6IFNlbGZTdWJqZWN0QWNjZXNzUmV2aWV3U3BlYzxUPjtcbiAgc3RhdHVzOiBTdWJqZWN0QWNjZXNzUmV2aWV3U3RhdHVzO1xufVxuXG5leHBvcnQgZW51bSBEZXBlbmRlbmN5VHlwZSB7XG4gIEFueSA9ICdhbnknLFxuICBBbGwgPSAnYWxsJyxcbn1cblxuZXhwb3J0IGVudW0gRmVhdHVyZVN0YWdlIHtcbiAgQWxwaGEgPSAnQWxwaGEnLFxuICBCZXRhID0gJ0JldGEnLFxuICBHQSA9ICdHQScsXG4gIEVPRiA9ICdFT0YnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHYXRlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGRlcGVuZGVuY3k6IHtcbiAgICAgIHR5cGU6IERlcGVuZGVuY3lUeXBlO1xuICAgICAgZmVhdHVyZUdhdGVzOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBzdGFnZTogRmVhdHVyZVN0YWdlO1xuICB9O1xuICBzdGF0dXM6IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBGZWF0dXJlR2F0ZUVudGVycHJpc2VTdXBwb3J0U3BlYztcbiAgc3RhdHVzOiBGZWF0dXJlR2F0ZUVudGVycHJpc2VTdXBwb3J0U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnRTcGVjIHtcbiAgcHJvZHVjdHM6IEFycmF5PHsgbmFtZTogc3RyaW5nIH0+O1xuICB2YWxpZGl0eToge1xuICAgIG5vdEJlZm9yZTogc3RyaW5nO1xuICAgIG5vdEFmdGVyOiBzdHJpbmc7XG4gIH07XG4gIHR5cGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGxpY2Vuc2VLaW5kOiBzdHJpbmc7XG4gIGJhcmVtZXRhbENsdXN0ZXJDUFVDb3JlTGltaXQ6IG51bWJlcjtcbiAgaW1wb3J0ZWRDbHVzdGVyTm9kZUxpbWl0OiBudW1iZXI7XG4gIGFsbG93UHJvZHVjdFZlcnNpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlR2F0ZUVudGVycHJpc2VTdXBwb3J0U3RhdHVzIHtcbiAgcGhhc2U6IEVudGVycHJpc2VTdXBwb3J0U3RhdHVzVHlwZTtcbiAgcmVhc29uOiBFbnRlcnByaXNlU3VwcG9ydFN0YXR1c1JlYXNvbltdO1xuICBiYXJlbWV0YWxDbHVzdGVyQ1BVQ29yZU51bTogbnVtYmVyO1xuICBpbXBvcnRlZENsdXN0ZXJOb2RlTnVtOiBudW1iZXI7XG4gIEN1cnJlbnRQcm9kdWN0VmVyc2lvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBFbnRlcnByaXNlU3VwcG9ydFN0YXR1c1R5cGUge1xuICBpblNlcnZpY2UgPSAnSW5TZXJ2aWNlJyxcbiAgb3V0T2ZTZXJ2aWNlID0gJ091dE9mU2VydmljZScsXG4gIHdhcm5pbmcgPSAnV2FybmluZycsXG59XG5cbmV4cG9ydCBlbnVtIEVudGVycHJpc2VTdXBwb3J0U3RhdHVzUmVhc29uIHtcbiAgRXhjZWVkUmVzb3VyY2VMaW1pdCA9ICdFeGNlZWRSZXNvdXJjZUxpbWl0JyxcbiAgRXhjZWVkTm9kZUxpbWl0ID0gJ0V4Y2VlZE5vZGVMaW1pdCcsXG4gIE1pc21hdGNoUHJvZHVjdFZlcnNpb24gPSAnTWlzbWF0Y2hQcm9kdWN0VmVyc2lvbicsXG4gIE1pc21hdGNoU3ViUHJvZHVjdHMgPSAnTWlzbWF0Y2hTdWJQcm9kdWN0cycsXG4gIE5vdEV4aXN0ID0gJ05vdEV4aXN0JyxcbiAgRXhwaXJlZCA9ICdFeHBpcmVkJyxcbiAgUGVuZGluZyA9ICdQZW5kaW5nJyxcbiAgRXhwaXJpbmdTb29uID0gJ0V4cGlyaW5nU29vbicsXG59XG5cbmV4cG9ydCBlbnVtIFNlY3VyaXR5UG9saWN5UnVsZU5hbWUge1xuICBwYXNzd29yZCA9ICdQYXNzd29yZFBvbGljeScsXG4gIGxvY2sgPSAnVXNlckxvY2tlZFBvbGljeScsXG4gIGRpc2FibGUgPSAnVXNlckRpc2FibGVkUG9saWN5JyxcbiAgbm90aWZpY2F0aW9uID0gJ05vdGlmaWNhdGlvblBvbGljeScsXG4gIGFjY2VzcyA9ICdBY2Nlc3NDb250cm9sUG9saWN5Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eVBvbGljeVJ1bGUge1xuICBuYW1lOiBTZWN1cml0eVBvbGljeVJ1bGVOYW1lO1xuICBpdGVtczogQXJyYXk8e1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICBrZXk6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eVBvbGljeVJlc291cmNlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgcnVsZXM6IFNlY3VyaXR5UG9saWN5UnVsZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1cyB7XG4gIGtpbmQ6ICdTdGF0dXMnO1xuICBhcGlWZXJzaW9uOiBzdHJpbmc7XG4gIG1ldGFkYXRhOiB7XG4gICAgY29udGludWU/OiBzdHJpbmc7XG4gIH07XG4gIHN0YXR1czogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nO1xuICBjb2RlOiBudW1iZXI7XG4gIGRldGFpbHM/OiB7XG4gICAgZ3JvdXA/OiBzdHJpbmc7XG4gICAga2luZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgICBjYXVzZXM6IEFycmF5PHtcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICByZWFzb24/OiBzdHJpbmc7XG4gICAgICBmaWVsZD86IHN0cmluZztcbiAgICB9PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbE9iamVjdFJlZmVyZW5jZSB7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNYXBLZXlSZWYgZXh0ZW5kcyBMb2NhbE9iamVjdFJlZmVyZW5jZSB7XG4gIGtleTogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0S2V5UmVmIGV4dGVuZHMgTG9jYWxPYmplY3RSZWZlcmVuY2Uge1xuICBrZXk6IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ01hcFJlZiBleHRlbmRzIExvY2FsT2JqZWN0UmVmZXJlbmNlIHtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3JldFJlZiBleHRlbmRzIExvY2FsT2JqZWN0UmVmZXJlbmNlIHtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdEZpZWxkU2VsZWN0b3Ige1xuICBhcGlWZXJzaW9uPzogc3RyaW5nO1xuICBmaWVsZFBhdGg6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VGaWVsZFNlbGVjdG9yIHtcbiAgY29udGFpbmVyTmFtZT86IHN0cmluZztcbiAgZGl2aXNvcj86IHN0cmluZztcbiAgcmVzb3VyY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXb3JrbG9hZCBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBsb3ltZW50IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgc3BlYz86IERlcGxveW1lbnRTcGVjO1xuICBzdGF0dXM/OiBEZXBsb3ltZW50U3RhdHVzO1xuICBnZW5lcmF0aW9uPzogbnVtYmVyO1xufVxuXG4vLyBEZXBsb3ltZW50U3BlYyBpcyB0aGUgc3BlY2lmaWNhdGlvbiBvZiB0aGUgZGVzaXJlZCBiZWhhdmlvciBvZiB0aGUgRGVwbG95bWVudC5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudFNwZWMge1xuICByZXBsaWNhcz86IG51bWJlcjtcbiAgc2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICB0ZW1wbGF0ZT86IFBvZFRlbXBsYXRlU3BlYztcbiAgc3RyYXRlZ3k/OiBEZXBsb3ltZW50U3RyYXRlZ3k7XG4gIG1pblJlYWR5U2Vjb25kcz86IG51bWJlcjtcbiAgcmV2aXNpb25IaXN0b3J5TGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFBvZFNwZWM7XG4gIHN0YXR1cz86IFBvZFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2RTdGF0dXMge1xuICBjb25kaXRpb25zPzogQ29uZGl0aW9uW107XG4gIGNvbnRhaW5lclN0YXR1c2VzPzogQ29udGFpbmVyU3RhdHVzW107XG4gIGhvc3RJUD86IHN0cmluZztcbiAgaW5pdENvbnRhaW5lclN0YXR1c2VzPzogQ29udGFpbmVyU3RhdHVzW107XG4gIGVwaGVtZXJhbENvbnRhaW5lclN0YXR1c2VzPzogQ29udGFpbmVyU3RhdHVzW107XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIG5vbWluYXRlZE5vZGVOYW1lPzogc3RyaW5nO1xuICBwaGFzZT86IHN0cmluZztcbiAgcG9kSVA/OiBzdHJpbmc7XG4gIHBvZElQcz86IEFycmF5PHsgaXA6IHN0cmluZyB9PjtcbiAgcW9zQ2xhc3M/OiBzdHJpbmc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgc3RhcnRUaW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RBbGlhc2VzIHtcbiAgaXA6IHN0cmluZztcbiAgaG9zdG5hbWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJTdGF0dXMge1xuICBjb250YWluZXJJRD86IHN0cmluZztcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIGltYWdlSUQ/OiBzdHJpbmc7XG4gIGxhc3RTdGF0ZT86IENvbnRhaW5lclN0YXRlO1xuICBuYW1lPzogc3RyaW5nO1xuICByZWFkeT86IGJvb2xlYW47XG4gIHJlc3RhcnRDb3VudD86IG51bWJlcjtcbiAgc3RhdGU/OiBDb250YWluZXJTdGF0ZTtcbiAgc3RhcnRlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyU3RhdGUge1xuICBydW5uaW5nPzogQ29udGFpbmVyU3RhdGVSdW5uaW5nO1xuICB0ZXJtaW5hdGVkPzogQ29udGFpbmVyU3RhdGVUZXJtaW5hdGVkO1xuICB3YWl0aW5nPzogQ29udGFpbmVyU3RhdGVXYWl0aW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lclN0YXRlUnVubmluZyB7XG4gIHN0YXJ0ZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJTdGF0ZVRlcm1pbmF0ZWQge1xuICBjb250YWluZXJJRD86IHN0cmluZztcbiAgZXhpdENvZGU/OiBudW1iZXI7XG4gIGZpbmlzaGVkQXQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgc2lnbmFsPzogbnVtYmVyO1xuICBzdGFydGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyU3RhdGVXYWl0aW5nIHtcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgcmVhc29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveW1lbnRTdGF0dXMge1xuICBhdmFpbGFibGVSZXBsaWNhcz86IG51bWJlcjtcbiAgY29sbGlzaW9uQ291bnQ/OiBudW1iZXI7XG4gIG9ic2VydmVkR2VuZXJhdGlvbj86IG51bWJlcjtcbiAgcmVhZHlSZXBsaWNhcz86IG51bWJlcjtcbiAgcmVwbGljYXM/OiBudW1iZXI7XG4gIHVuYXZhaWxhYmxlUmVwbGljYXM/OiBudW1iZXI7XG4gIHVwZGF0ZWRSZXBsaWNhcz86IG51bWJlcjtcbiAgY29uZGl0aW9ucz86IENvbmRpdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVkQWZmaW5pdHkge1xuICB0b3BvbG9neUtleTogc3RyaW5nO1xuICBsYWJlbFNlbGVjdG9yOiBMYWJlbFNlbGVjdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZWZlcnJlZEFmZmluaXR5IHtcbiAgd2VpZ2h0OiBudW1iZXI7XG4gIHBvZEFmZmluaXR5VGVybToge1xuICAgIGxhYmVsU2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICAgIHRvcG9sb2d5S2V5OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kQWZmaW5pdHkge1xuICByZXF1aXJlZER1cmluZ1NjaGVkdWxpbmdJZ25vcmVkRHVyaW5nRXhlY3V0aW9uPzogUmVxdWlyZWRBZmZpbml0eVtdO1xuICBwcmVmZXJyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbj86IFByZWZlcnJlZEFmZmluaXR5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kU3BlY0FmZmluaXR5IHtcbiAgcG9kQWZmaW5pdHk/OiBBZmZpbml0eTtcbiAgcG9kQW50aUFmZmluaXR5PzogQWZmaW5pdHk7XG4gIG5vZGVBZmZpbml0eT86IEFmZmluaXR5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFmZmluaXR5IHtcbiAgcmVxdWlyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbj86XG4gICAgfCBQb2RBZmZpbml0eVRlcm1bXVxuICAgIHwgTm9kZUFmZmluaXR5VGVybTtcbiAgcHJlZmVycmVkRHVyaW5nU2NoZWR1bGluZ0lnbm9yZWREdXJpbmdFeGVjdXRpb24/OiBXZWlnaHRlZFBvZEFmZmluaXR5VGVybVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlaWdodGVkTm9kZUFmZmluaXR5VGVybSB7XG4gIHdlaWdodDogbnVtYmVyO1xuICBwcmVmZXJlbmNlOiBOb2RlU2VsZWN0b3JUZXJtO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVBZmZpbml0eSB7XG4gIHJlcXVpcmVkRHVyaW5nU2NoZWR1bGluZ0lnbm9yZWREdXJpbmdFeGVjdXRpb24/OiBOb2RlQWZmaW5pdHlUZXJtO1xuICBwcmVmZXJyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbj86IFdlaWdodGVkTm9kZUFmZmluaXR5VGVybVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlaWdodGVkUG9kQWZmaW5pdHlUZXJtIHtcbiAgcG9kQWZmaW5pdHlUZXJtOiBQb2RBZmZpbml0eVRlcm07XG4gIHdlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvZEFmZmluaXR5VGVybSB7XG4gIGxhYmVsU2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICB0b3BvbG9neUtleTogc3RyaW5nO1xuICBuYW1lc3BhY2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUFmZmluaXR5VGVybSB7XG4gIG5vZGVTZWxlY3RvclRlcm1zOiBOb2RlU2VsZWN0b3JUZXJtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVNlbGVjdG9yVGVybSB7XG4gIG1hdGNoRXhwcmVzc2lvbnM6IExhYmVsU2VsZWN0b3JSZXF1aXJlbWVudFtdO1xufVxuXG5leHBvcnQgZW51bSBWb2x1bWVUeXBlRW51bSB7XG4gIHBlcnNpc3RlbnRWb2x1bWVDbGFpbSA9ICdwZXJzaXN0ZW50Vm9sdW1lQ2xhaW0nLFxuICBjb25maWdNYXAgPSAnY29uZmlnTWFwJyxcbiAgc2VjcmV0ID0gJ3NlY3JldCcsXG4gIGVwaGVtZXJhbCA9ICdlcGhlbWVyYWwnLFxuICBlbXB0eURpciA9ICdlbXB0eURpcicsXG4gIGhvc3RQYXRoID0gJ2hvc3RQYXRoJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb2x1bWUge1xuICBuYW1lOiBzdHJpbmc7XG4gIFtWb2x1bWVUeXBlRW51bS5lbXB0eURpcl0/OiBFbXB0eURpclZvbHVtZVNvdXJjZTtcbiAgW1ZvbHVtZVR5cGVFbnVtLmNvbmZpZ01hcF0/OiBDb25maWdNYXBWb2x1bWVTb3VyY2U7XG4gIFtWb2x1bWVUeXBlRW51bS5zZWNyZXRdPzogU2VjcmV0Vm9sdW1lU291cmNlO1xuICBbVm9sdW1lVHlwZUVudW0ucGVyc2lzdGVudFZvbHVtZUNsYWltXT86IFBlcnNpc3RlbnRWb2x1bWVDbGFpbVZvbHVtZVNvdXJjZTtcbiAgW1ZvbHVtZVR5cGVFbnVtLmhvc3RQYXRoXT86IEhvc3RQYXRoVm9sdW1lU291cmNlO1xuICBbVm9sdW1lVHlwZUVudW0uZXBoZW1lcmFsXT86IEVwaGVtZXJhbFZvbHVtZVNvdXJjZTtcbiAgLy8gb3RoZXIgaWFhcyBzdG9yYWdlIGRlZmluaXRpb25zIG5vdCBpbmNsdWRlZFxuICBpc0FwcFJlc291cmNlPzogYm9vbGVhbjsgLy8g5piv5ZCmT0FN5bqU55So6LWE5rqQXG4gIG1vdW50UGF0aD86IHN0cmluZzsgLy8gZm9yIG9hbSBjb21wb25lbnQgd2Vic2VydmljZSBjb21wb25lbnQuIOacquadpeWPr+iDveWNleeLrOWumuS5iVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENzaVZvbHVtZVNvdXJjZSB7XG4gIGRyaXZlcjogJ29iamVjdHN0b3JhZ2UuazhzLmlvJztcbiAgdm9sdW1lQXR0cmlidXRlczoge1xuICAgICdiYXItbmFtZSc6IHN0cmluZztcbiAgICAnYmFyLW5hbWVzcGFjZSc6IHN0cmluZztcbiAgICBidWNrZXRSZXF1ZXN0TmFtZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleVRvUGF0aCB7XG4gIGtleT86IHN0cmluZztcbiAgbW9kZT86IG51bWJlcjtcbiAgcGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbXB0eURpclZvbHVtZVNvdXJjZSB7XG4gIG1lZGl1bT86IHN0cmluZztcbiAgc2l6ZUxpbWl0Pzogc3RyaW5nOyAvLyBlZzogMTUwMG0gcmVmZXJzIHRvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2UvZ2VuZXJhdGVkL2t1YmVybmV0ZXMtYXBpL3YxLjE1LyNxdWFudGl0eS1yZXNvdXJjZS1jb3JlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTWFwVm9sdW1lU291cmNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIGl0ZW1zPzogS2V5VG9QYXRoW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0Vm9sdW1lU291cmNlIHtcbiAgc2VjcmV0TmFtZTogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIGl0ZW1zPzogS2V5VG9QYXRoW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdFBhdGhWb2x1bWVTb3VyY2Uge1xuICB0eXBlPzogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZUNsYWltVm9sdW1lU291cmNlIHtcbiAgY2xhaW1OYW1lOiBzdHJpbmc7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcGhlbWVyYWxWb2x1bWVTb3VyY2Uge1xuICB2b2x1bWVDbGFpbVRlbXBsYXRlOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvYmUge1xuICBleGVjPzogRXhlY0FjdGlvbjtcbiAgZmFpbHVyZVRocmVzaG9sZD86IG51bWJlcjtcbiAgaHR0cEdldD86IEhUVFBHZXRBY3Rpb247XG4gIGluaXRpYWxEZWxheVNlY29uZHM/OiBudW1iZXI7XG4gIHBlcmlvZFNlY29uZHM/OiBudW1iZXI7XG4gIHN1Y2Nlc3NUaHJlc2hvbGQ/OiBudW1iZXI7XG4gIHRjcFNvY2tldD86IFRDUFNvY2tldEFjdGlvbjtcbiAgdGltZW91dFNlY29uZHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY0FjdGlvbiB7XG4gIGNvbW1hbmQ/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVFRQSGVhZGVyIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVENQU29ja2V0QWN0aW9uIHtcbiAgaG9zdD86IHN0cmluZztcbiAgcG9ydD86IG51bWJlciB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb2x1bWVNb3VudCB7XG4gIG5hbWU6IHN0cmluZztcbiAgbW91bnRQYXRoPzogc3RyaW5nO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIHN1YlBhdGg/OiBzdHJpbmc7XG4gIG1vdW50UHJvcGFnYXRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VSZXF1aXJlbWVudHMge1xuICBsaW1pdHM/OiBTdHJpbmdNYXA7XG4gIHJlcXVlc3RzPzogU3RyaW5nTWFwO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lclBvcnQge1xuICBuYW1lPzogc3RyaW5nO1xuICBob3N0UG9ydD86IG51bWJlcjtcbiAgY29udGFpbmVyUG9ydD86IG51bWJlcjtcbiAgc2VydmljZVBvcnQ/OiBudW1iZXI7XG4gIHByb3RvY29sPzogJ1RDUCcgfCAnVURQJztcbiAgaG9zdElQPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcnRpZmljYXRlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgbm90QmVmb3JlOiBzdHJpbmc7XG4gIG5vdEFmdGVyOiBzdHJpbmc7XG4gIGRuc05hbWVzOiBzdHJpbmdbXTtcbiAgdmFsaWQ6IGJvb2xlYW47XG4gIHJlYXNvbkNvZGU/OlxuICAgIHwgMSAvLyDor4HkuabmoLzlvI/mnInor69cbiAgICB8IDIgLy8g6K+B5Lmm5LiN5Zyo5pyJ5pWI5pyf5YaFXG4gICAgfCAzOyAvLyDor4Hkuabkv6Hmga/mnKrnn6Vcbn1cblxuZXhwb3J0IGNvbnN0IEFsYlByb3RvY29sTWFwcGVyID0ge1xuICBodHRwOiAnSFRUUCcsXG4gIGh0dHBzOiAnSFRUUFMnLFxuICBncnBjOiAnZ1JQQycsXG4gIHRjcDogJ1RDUCcsXG4gIHVkcDogJ1VEUCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBbGJQcm90b2NvbCA9IGtleW9mIHR5cGVvZiBBbGJQcm90b2NvbE1hcHBlcjtcblxuZXhwb3J0IGludGVyZmFjZSBGcm9udGVuZFNwZWMge1xuICBwb3J0PzogbnVtYmVyIHwgJyc7XG4gIHByb3RvY29sPzogQWxiUHJvdG9jb2w7XG4gIHNvdXJjZT86IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICB9O1xuICBiYWNrZW5kUHJvdG9jb2w/OiAnSFRUUCcgfCAnSFRUUFMnIHwgJ2dSUEMnO1xuICBzZXJ2aWNlR3JvdXA/OiBTZXJ2aWNlR3JvdXA7XG4gIGNlcnRpZmljYXRlX25hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZVNlcnZpY2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHdlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VHcm91cCB7XG4gIHNlcnZpY2VzOiBSdWxlU2VydmljZVtdO1xuICBzZXNzaW9uX2FmZmluaXR5X3BvbGljeT86IHN0cmluZztcbiAgc2Vzc2lvbl9hZmZpbml0eV9hdHRyaWJ1dGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sbGluZ1VwZGF0ZURhZW1vblNldCB7XG4gIG1heFVuYXZhaWxhYmxlPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhZW1vblNldFVwZGF0ZVN0cmF0ZWd5IHtcbiAgdHlwZT86IERhZW1vblNldFVwZGF0ZVN0cmF0ZWd5VHlwZTtcbiAgcm9sbGluZ1VwZGF0ZT86IFJvbGxpbmdVcGRhdGVEYWVtb25TZXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFlbW9uU2V0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IERhZW1vblNldFNwZWM7XG4gIHN0YXR1cz86IERhZW1vblNldFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYWVtb25TZXRTcGVjIHtcbiAgc2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICB0ZW1wbGF0ZT86IFBvZFRlbXBsYXRlU3BlYztcbiAgdXBkYXRlU3RyYXRlZ3k/OiBEYWVtb25TZXRVcGRhdGVTdHJhdGVneTtcbiAgbWluUmVhZHlTZWNvbmRzPzogbnVtYmVyO1xuICByZXZpc2lvbkhpc3RvcnlMaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRGFlbW9uU2V0U3RhdHVzID0gUGFydGlhbDx7XG4gIGN1cnJlbnROdW1iZXJTY2hlZHVsZWQ6IG51bWJlcjtcbiAgbnVtYmVyTWlzc2NoZWR1bGVkOiBudW1iZXI7XG4gIGRlc2lyZWROdW1iZXJTY2hlZHVsZWQ6IG51bWJlcjtcbiAgbnVtYmVyUmVhZHk6IG51bWJlcjtcbiAgb2JzZXJ2ZWRHZW5lcmF0aW9uOiBudW1iZXI7XG4gIHVwZGF0ZWROdW1iZXJTY2hlZHVsZWQ6IG51bWJlcjtcbiAgbnVtYmVyVW5hdmFpbGFibGU6IG51bWJlcjtcbiAgbnVtYmVyQXZhaWxhYmxlOiBudW1iZXI7XG59PjtcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNYXA8VCA9IFN0cmluZ01hcD4gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBkYXRhPzogVDtcbiAgYmluYXJ5RGF0YT86IFN0cmluZ01hcDtcbn1cblxuLy8gaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvcmVmZXJlbmNlL2dlbmVyYXRlZC9rdWJlcm5ldGVzLWFwaS92MS4xMS8jY3JvbmpvYnNwZWMtdjFiZXRhMS1iYXRjaFxuZXhwb3J0IGludGVyZmFjZSBDcm9uSm9iU3BlYyB7XG4gIGNvbmN1cnJlbmN5UG9saWN5Pzogc3RyaW5nO1xuICBmYWlsZWRKb2JzSGlzdG9yeUxpbWl0PzogbnVtYmVyIHwgJyc7XG4gIHNjaGVkdWxlPzogc3RyaW5nO1xuICBzdGFydGluZ0RlYWRsaW5lU2Vjb25kcz86IG51bWJlciB8ICcnO1xuICBzdWNjZXNzZnVsSm9ic0hpc3RvcnlMaW1pdD86IG51bWJlciB8ICcnO1xuICBzdXNwZW5kPzogYm9vbGVhbjtcbiAgdGltZVpvbmU/OiBzdHJpbmc7XG4gIGpvYlRlbXBsYXRlPzogSm9iVGVtcGxhdGVTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpvYiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBKb2JTcGVjO1xuICBzdGF0dXM/OiBKb2JTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSm9iU3BlYyB7XG4gIGFjdGl2ZURlYWRsaW5lU2Vjb25kcz86IG51bWJlciB8ICcnO1xuICBiYWNrb2ZmTGltaXQ/OiBudW1iZXIgfCAnJztcbiAgY29tcGxldGlvbnM/OiBudW1iZXIgfCAnJztcbiAgbWFudWFsU2VsZWN0b3I/OiBib29sZWFuO1xuICBwYXJhbGxlbGlzbT86IG51bWJlciB8ICcnO1xuICBzZWxlY3Rvcj86IExhYmVsU2VsZWN0b3I7XG4gIHRlbXBsYXRlPzogUG9kVGVtcGxhdGVTcGVjO1xuICBzdGFydGluZ0RlYWRsaW5lU2Vjb25kcz86IG51bWJlciB8ICcnO1xufVxuXG4vLyBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2UvZ2VuZXJhdGVkL2t1YmVybmV0ZXMtYXBpL3YxLjExLyNqb2J0ZW1wbGF0ZXNwZWMtdjFiZXRhMS1iYXRjaFxuZXhwb3J0IGludGVyZmFjZSBKb2JUZW1wbGF0ZVNwZWMge1xuICBtZXRhZGF0YT86IE9iamVjdE1ldGE7XG4gIHNwZWM/OiBKb2JTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpvYlN0YXR1cyB7XG4gIGFjdGl2ZTogbnVtYmVyIHwgJyc7XG4gIGNvbXBsZXRpb25UaW1lOiBzdHJpbmc7XG4gIGNvbmRpdGlvbnM6IENvbmRpdGlvbltdO1xuICBzdGFydFRpbWU6IHN0cmluZztcbiAgc3VjY2VlZGVkOiBudW1iZXI7XG4gIGZhaWxlZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyb25Kb2JTdGF0dXMge1xuICBhY3RpdmU/OiBPYmplY3RSZWZlcmVuY2VbXTtcbiAgbGFzdFNjaGVkdWxlVGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyb25Kb2IgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogQ3JvbkpvYlNwZWM7XG4gIHN0YXR1cz86IENyb25Kb2JTdGF0dXM7XG59XG5cbmV4cG9ydCB0eXBlIE5vZGVTdGF0dXNSZWFzb24gPVxuICB8ICdLdWJlbGV0SGFzU3VmZmljaWVudERpc2snXG4gIHwgJ0t1YmVsZXRIYXNTdWZmaWNpZW50TWVtb3J5J1xuICB8ICdLdWJlbGV0SGFzTm9EaXNrUHJlc3N1cmUnXG4gIHwgJ0t1YmVsZXRSZWFkeSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVTdGF0dXNUeXBlID1cbiAgfCAnT3V0T2ZEaXNrJ1xuICB8ICdNZW1vcnlQcmVzc3VyZSdcbiAgfCAnRGlza1ByZXNzdXJlJ1xuICB8ICdSZWFkeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVRhaW50IHtcbiAga2V5OiBzdHJpbmc7XG4gIHRpbWVBZGRlZD86IHN0cmluZztcbiAgZWZmZWN0OiBUYWludEVmZmVjdDtcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIHVuc2NoZWR1bGFibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzoge1xuICAgIHByb3ZpZGVySUQ/OiBzdHJpbmc7XG4gICAgdGFpbnRzPzogTm9kZVRhaW50W107XG4gICAgY29uZmlnU291cmNlPzogc3RyaW5nO1xuICAgIHVuc2NoZWR1bGFibGU/OiBib29sZWFuO1xuICAgIHBvZENJRFI/OiBzdHJpbmc7XG4gICAgcG9kQ0lEUnM/OiBzdHJpbmdbXTtcbiAgICBleHRlcm5hbElEPzogc3RyaW5nO1xuICAgIGlwPzogc3RyaW5nO1xuICB9O1xuICBzdGF0dXM/OiBOb2RlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVTdGF0dXMge1xuICB2b2x1bWVzQXR0YWNoZWQ6IGJvb2xlYW47XG4gIGRhZW1vbkVuZHBvaW50czoge1xuICAgIGt1YmVsZXRFbmRwb2ludDoge1xuICAgICAgcG9ydDogbnVtYmVyO1xuICAgIH07XG4gIH07XG4gIGNhcGFjaXR5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBhZGRyZXNzZXM6IEFycmF5PHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9PjtcbiAgYWxsb2NhdGFibGU6IHtcbiAgICAnYWxwaGEua3ViZXJuZXRlcy5pby9udmlkaWEtZ3B1Jzogc3RyaW5nO1xuICAgICd0ZW5jZW50LmNvbS92Y3VkYS1jb3JlJzogc3RyaW5nO1xuICAgICd0ZW5jZW50LmNvbS92Y3VkYS1tZW1vcnknOiBzdHJpbmc7XG4gICAgcG9kczogc3RyaW5nO1xuICAgIGNwdTogc3RyaW5nO1xuICAgIG1lbW9yeTogc3RyaW5nO1xuICB9O1xuICBpbWFnZXM6IEFycmF5PHtcbiAgICBzaXplQnl0ZXM6IG51bWJlcjtcbiAgICBuYW1lczogc3RyaW5nW107XG4gIH0+O1xuICBub2RlSW5mbzoge1xuICAgIGt1YmVQcm94eVZlcnNpb246IHN0cmluZztcbiAgICBvcGVyYXRpbmdTeXN0ZW06IHN0cmluZztcbiAgICBrZXJuZWxWZXJzaW9uOiBzdHJpbmc7XG4gICAgc3lzdGVtVVVJRDogc3RyaW5nO1xuICAgIGNvbnRhaW5lclJ1bnRpbWVWZXJzaW9uOiBzdHJpbmc7XG4gICAgb3NJbWFnZTogc3RyaW5nO1xuICAgIGFyY2hpdGVjdHVyZTogc3RyaW5nO1xuICAgIGJvb3RJRDogc3RyaW5nO1xuICAgIG1hY2hpbmVJRDogc3RyaW5nO1xuICAgIGt1YmVsZXRWZXJzaW9uOiBzdHJpbmc7XG4gIH07XG4gIHZvbHVtZXNJblVzZTogYm9vbGVhbjtcbiAgcGhhc2U6IHN0cmluZztcbiAgY29uZGl0aW9uczogQ29uZGl0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdTZXJ2aWNlJztcbiAgc3BlYz86IFNlcnZpY2VTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgbG9hZEJhbGFuY2VyPzoge1xuICAgICAgaW5ncmVzcz86IEFycmF5PHtcbiAgICAgICAgaG9zdG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGlwPzogc3RyaW5nO1xuICAgICAgfT47XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFNFUlZJQ0VfVFlQRVMgPSBbXG4gICdDbHVzdGVySVAnLFxuICAnTm9kZVBvcnQnLFxuICAnTG9hZEJhbGFuY2VyJyxcbiAgJ0V4dGVybmFsTmFtZScsXG5dIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IFNFUlZJQ0VfU0VTU0lPTl9BRkZJTklUSUVTID0gWydOb25lJywgJ0NsaWVudElQJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFNlcnZpY2VUeXBlID0gKHR5cGVvZiBTRVJWSUNFX1RZUEVTKVtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBTZXJ2aWNlU2Vzc2lvbkFmZmluaXR5ID1cbiAgKHR5cGVvZiBTRVJWSUNFX1NFU1NJT05fQUZGSU5JVElFUylbbnVtYmVyXTtcblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlU3BlYyB7XG4gIGNsdXN0ZXJJUD86IHN0cmluZztcbiAgY2x1c3RlcklQcz86IHN0cmluZ1tdO1xuICBleHRlcm5hbElQcz86IHN0cmluZ1tdO1xuICBleHRlcm5hbE5hbWU/OiBzdHJpbmc7XG4gIGlwRmFtaWxpZXM/OiBbJ0lQdjQnXSB8IFsnSVB2NiddIHwgWydJUHY0JywgJ0lQdjYnXSB8IFsnSVB2NicsICdJUHY0J107XG4gIGlwRmFtaWx5UG9saWN5PzogJ1NpbmdsZVN0YWNrJyB8ICdQcmVmZXJEdWFsU3RhY2snIHwgJ1JlcXVpcmVEdWFsU3RhY2snO1xuICBwb3J0cz86IFNlcnZpY2VQb3J0W107XG4gIHNlbGVjdG9yPzogU3RyaW5nTWFwO1xuICB0eXBlPzogU2VydmljZVR5cGU7XG4gIHNlc3Npb25BZmZpbml0eT86IFNlcnZpY2VTZXNzaW9uQWZmaW5pdHk7XG59XG5cbmV4cG9ydCBjb25zdCBTRVJWSUNFX1BPUlRfQkFTRV9QUk9UT0NPTFMgPSBbJ1RDUCcsICdVRFAnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFNlcnZpY2VQb3J0QmFzZVByb3RvY29sID1cbiAgKHR5cGVvZiBTRVJWSUNFX1BPUlRfQkFTRV9QUk9UT0NPTFMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBTRVJWSUNFX1BPUlRfUFJPVE9DT0xTID0gW1xuICAnVENQJyxcbiAgJ1VEUCcsXG4gICdIVFRQJyxcbiAgJ0hUVFBTJyxcbiAgJ0hUVFAyJyxcbiAgJ2dSUEMnLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFNlcnZpY2VQb3J0UHJvdG9jb2wgPSAodHlwZW9mIFNFUlZJQ0VfUE9SVF9QUk9UT0NPTFMpW251bWJlcl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVBvcnQge1xuICBuYW1lPzogc3RyaW5nO1xuICBub2RlUG9ydD86IG51bWJlcjtcbiAgcG9ydD86IG51bWJlcjtcbiAgcHJvdG9jb2w/OiBTZXJ2aWNlUG9ydEJhc2VQcm90b2NvbDtcbiAgYXBwUHJvdG9jb2w/OiBMb3dlcmNhc2U8U2VydmljZVBvcnRQcm90b2NvbD47XG4gIHRhcmdldFBvcnQ/OiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uVmVyc2lvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2VydmVkOiBib29sZWFuO1xuICBzdG9yYWdlOiBib29sZWFuO1xuICBzY2hlbWE/OiB7XG4gICAgb3BlbkFQSVYzU2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAga2luZDogJ0N1c3RvbVJlc291cmNlRGVmaW5pdGlvbic7XG4gIHNwZWM6IHtcbiAgICBncm91cDogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBuYW1lczoge1xuICAgICAgcGx1cmFsOiBzdHJpbmc7XG4gICAgICBzaW5ndWxhcjogc3RyaW5nO1xuICAgICAga2luZDogc3RyaW5nO1xuICAgICAgbGlzdEtpbmQ6IHN0cmluZztcbiAgICB9O1xuICAgIHNjb3BlOiBzdHJpbmc7XG4gICAgdmFsaWRhdGlvbjoge1xuICAgICAgb3BlbkFQSVYzU2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG4gICAgfTtcbiAgICB2ZXJzaW9uczogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uVmVyc2lvbltdO1xuICAgIHByZXNlcnZlVW5rbm93bkZpZWxkczogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYW1lU3BhY2VSZXNvdXJjZVJhdGlvIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGNwdTogbnVtYmVyO1xuICAgIG1lbW9yeTogbnVtYmVyO1xuICB9O1xuICBzdGF0dXM6IHtcbiAgICBjbHVzdGVyQ1BVOiBudW1iZXI7XG4gICAgY2x1c3Rlck1lbW9yeTogbnVtYmVyO1xuICB9O1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvNWE5OTkzMGFiNTdiMmM3ODM3OTYwYjIxZDJjOTJlOTU4ZGI4YzM3Ny9wa2cvYXBpcy9jb3JlL3R5cGVzLmdvI0w1NTc1XG5leHBvcnQgaW50ZXJmYWNlIEs4c0V2ZW50U2VyaWVzIHtcbiAgY291bnQ6IG51bWJlcjtcbiAgbGFzdE9ic2VydmVkVGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEs4c0V2ZW50U291cmNlIHtcbiAgY29tcG9uZW50Pzogc3RyaW5nO1xuICBob3N0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEs4c0V2ZW50IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgaW52b2x2ZWRPYmplY3Q/OiBPYmplY3RSZWZlcmVuY2U7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgc291cmNlPzogSzhzRXZlbnRTb3VyY2U7XG4gIGZpcnN0VGltZXN0YW1wPzogc3RyaW5nO1xuICBsYXN0VGltZXN0YW1wPzogc3RyaW5nO1xuICBjb3VudD86IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgZXZlbnRUaW1lPzogc3RyaW5nO1xuICBzZXJpZXM/OiBLOHNFdmVudFNlcmllcztcbiAgYWN0aW9uPzogc3RyaW5nO1xuICByZWxhdGVkPzogT2JqZWN0UmVmZXJlbmNlO1xuICByZXBvcnRpbmdDb250cm9sbGVyPzogc3RyaW5nO1xuICByZXBvcnRpbmdJbnN0YW5jZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBhdGNoIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IHtcbiAgICBqc29uUGF0Y2g6IEFycmF5PHtcbiAgICAgIG9wOiBzdHJpbmc7XG4gICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICB2YWx1ZTogc3RyaW5nO1xuICAgIH0+O1xuICAgIHRhcmdldD86IHtcbiAgICAgIGFwaVZlcnNpb246IHN0cmluZztcbiAgICAgIGtpbmQ6IHN0cmluZztcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIH07XG4gICAgcmVsZWFzZTogc3RyaW5nO1xuICB9O1xufVxuIl19
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdHlwZXMvazhzL3Jhdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3RUFBd0U7QUFDeEUsK0VBQStFO0FBQy9FLHFFQUFxRTtBQThDckUsTUFBTSxDQUFOLElBQVksaUJBWVg7QUFaRCxXQUFZLGlCQUFpQjtJQUMzQixnQ0FBVyxDQUFBO0lBQ1gsa0NBQWEsQ0FBQTtJQUNiLG9DQUFlLENBQUE7SUFDZixzQ0FBaUIsQ0FBQTtJQUNqQixzQ0FBaUIsQ0FBQTtJQUNqQixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsMkRBQXNDLENBQUE7SUFDdEMsb0NBQWUsQ0FBQTtJQUNmLDBDQUFxQixDQUFBO0lBQ3JCLDhCQUFTLENBQUE7QUFDWCxDQUFDLEVBWlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVk1QjtBQUVELE1BQU0sQ0FBTixJQUFZLFVBY1g7QUFkRCxXQUFZLFVBQVU7SUFDcEIsK0JBQWlCLENBQUE7SUFDakIsdUNBQXlCLENBQUE7SUFDekIscURBQXVDLENBQUE7SUFDdkMsZ0RBQWtDLENBQUE7SUFDbEMsb0RBQXNDLENBQUE7SUFDdEMsaUVBQW1ELENBQUE7SUFDbkQsaURBQW1DLENBQUE7SUFDbkMsaUVBQW1ELENBQUE7SUFDbkQsNENBQThCLENBQUE7SUFDOUIsOENBQWdDLENBQUE7SUFDaEMsc0RBQXdDLENBQUE7SUFDeEMsdURBQXlDLENBQUE7SUFDekMsaURBQW1DLENBQUE7QUFDckMsQ0FBQyxFQWRXLFVBQVUsS0FBVixVQUFVLFFBY3JCO0FBcURELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsdUNBQWlCLENBQUE7SUFDakIscUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUc3QjtBQUVELE1BQU0sQ0FBTixJ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QUEyQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBVSxDQUFDO0FBSW5FLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ3BDLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLE9BQU87SUFDUCxPQUFPO0lBQ1AsTUFBTTtDQUNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUeXBlTWV0YSBkZXNjcmliZXMgYW4gaW5kaXZpZHVhbCBvYmplY3QgaW4gYW4gQVBJIHJlc3BvbnNlIG9yIHJlcXVlc3Rcbi8vIHdpdGggc3RyaW5ncyByZXByZXNlbnRpbmcgdGhlIHR5cGUgb2YgdGhlIG9iamVjdCBhbmQgaXRzIEFQSSBzY2hlbWEgdmVyc2lvbi5cbi8vIFN0cnVjdHVyZXMgdGhhdCBhcmUgdmVyc2lvbmVkIG9yIHBlcnNpc3RlZCBzaG91bGQgaW5saW5lIFR5cGVNZXRhLlxuXG4vKipcbiAqIOatpOaWh+S7tuWPque7tOaKpCDmiYDmnInnmoQgazhzIOWOn+eUn+exu+Wei1xuICovXG5cbmltcG9ydCB7IFN0cmluZ01hcCB9IGZyb20gJy4uL2NvbW1vbnMnO1xuaW1wb3J0IHsgVmFsdWVPZiB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgT3BlbkFQSVYzU2NoZW1hT2JqZWN0IH0gZnJvbSAnLi4vc2NoZW1hJztcblxuaW1wb3J0IHtcbiAgS3ViZXJuZXRlc1Jlc291cmNlLFxuICBMYWJlbFNlbGVjdG9yLFxuICBMYWJlbFNlbGVjdG9yUmVxdWlyZW1lbnQsXG4gIE9iamVjdE1ldGEsXG4gIE9iamVjdFJlZmVyZW5jZSxcbiAgQ29uZGl0aW9uLFxufSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3JldDxUID0gU3RyaW5nTWFwPiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGRhdGE/OiBUO1xuICBzdHJpbmdEYXRhPzogU3RyaW5nTWFwO1xuICB0eXBlPzogU2VjcmV0VHlwZTtcbiAgLy8gISBoYWNrLCBub3Qgc3BlY1xuICBnbG9iYWw/OiBib29sZWFuO1xuICBjZXJ0aWZpY2F0ZT86IENlcnRpZmljYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVzcGFjZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHN0YXR1cz86IE5hbWVzcGFjZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYW1lc3BhY2VTdGF0dXMge1xuICBwaGFzZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY29wZWRSZXNvdXJjZVNlbGVjdG9yUmVxdWlyZW1lbnQge1xuICBvcGVyYXRvcjogJ0luJyB8ICdOb3RJbicgfCAnRXhpc3RzJyB8ICdEb2VzTm90RXhpc3QnO1xuICBzY29wZU5hbWU6IHN0cmluZztcbiAgdmFsdWVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NvcGVTZWxlY3RvciB7XG4gIG1hdGNoRXhwcmVzc2lvbnM6IFNjb3BlZFJlc291cmNlU2VsZWN0b3JSZXF1aXJlbWVudFtdO1xufVxuXG5leHBvcnQgZW51bSBLOHNSZXNvdXJjZUFjdGlvbiB7XG4gIEdFVCA9ICdnZXQnLFxuICBMSVNUID0gJ2xpc3QnLFxuICBXQVRDSCA9ICd3YXRjaCcsXG4gIENSRUFURSA9ICdjcmVhdGUnLFxuICBVUERBVEUgPSAndXBkYXRlJyxcbiAgUEFUQ0ggPSAncGF0Y2gnLFxuICBERUxFVEUgPSAnZGVsZXRlJyxcbiAgREVMRVRFX0NPTExFQ1RJT04gPSAnZGVsZXRlY29sbGVjdGlvbicsXG4gIFBST1hZID0gJ3Byb3h5JyxcbiAgUkVESVJFQ1QgPSAncmVkaXJlY3QnLFxuICBBTEwgPSAnKicsXG59XG5cbmV4cG9ydCBlbnVtIFNlY3JldFR5cGUge1xuICBPcGFxdWUgPSAnT3BhcXVlJyxcbiAgVExTID0gJ2t1YmVybmV0ZXMuaW8vdGxzJyxcbiAgU1NIS2V5ID0gJ2t1YmVybmV0ZXMuaW8vc3NoLXB1YmxpYy1rZXknLFxuICBTU0hBdXRoID0gJ2t1YmVybmV0ZXMuaW8vc3NoLWF1dGgnLFxuICBCYXNpY0F1dGggPSAna3ViZXJuZXRlcy5pby9iYXNpYy1hdXRoJyxcbiAgQmFzaWNBdXRoU2VjcmV0ID0gJ2t1YmVybmV0ZXMuaW8vYmFzaWMtYXV0aC1zZWNyZXQnLFxuICBEYXRhYmFzZSA9ICdrdWJlcm5ldGVzLmlvL2RhdGFiYXNlJyxcbiAgRG9ja2VyQ29uZmlnSnNvbiA9ICdrdWJlcm5ldGVzLmlvL2RvY2tlcmNvbmZpZ2pzb24nLFxuICBPQXV0aDIgPSAna2F0YW5vbWkuZGV2L29hdXRoMicsXG4gIE5vQXV0aCA9ICdrdWJlcm5ldGVzLmlvL25vLWF1dGgnLFxuICBEZXZPcHNPQXV0aDIgPSAnZGV2b3BzLmFsYXVkYS5pby9vYXV0aDInLFxuICBEeW5hbWljU2VjcmV0S2V5ID0gJ2thdGFub21pLmRldi9keW5hbWljJyxcbiAgQ2xvdWRDcmVkZW50aWFsID0gJ0Nsb3VkQ3JlZGVudGlhbCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVmdWxTZXQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogU3RhdGVmdWxTZXRTcGVjO1xuICBzdGF0dXM/OiBTdGF0ZWZ1bFNldFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGF0ZWZ1bFNldFNwZWMge1xuICByZXBsaWNhcz86IG51bWJlcjtcbiAgc2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICB0ZW1wbGF0ZT86IFBvZFRlbXBsYXRlU3BlYztcblxuICAvLyBzZXJ2aWNlTmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgc2VydmljZSB0aGF0IGdvdmVybnMgdGhpcyBTdGF0ZWZ1bFNldC5cbiAgLy8gVGhpcyBzZXJ2aWNlIG11c3QgZXhpc3QgYmVmb3JlIHRoZSBTdGF0ZWZ1bFNldCwgYW5kIGlzIHJlc3BvbnNpYmxlIGZvclxuICAvLyB0aGUgbmV0d29yayBpZGVudGl0eSBvZiB0aGUgc2V0LiBQb2RzIGdldCBETlMvaG9zdG5hbWVzIHRoYXQgZm9sbG93IHRoZVxuICAvLyBwYXR0ZXJuOiBwb2Qtc3BlY2lmaWMtc3RyaW5nLnNlcnZpY2VOYW1lLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWxcbiAgLy8gd2hlcmUgXCJwb2Qtc3BlY2lmaWMtc3RyaW5nXCIgaXMgbWFuYWdlZCBieSB0aGUgU3RhdGVmdWxTZXQgY29udHJvbGxlci5cbiAgc2VydmljZU5hbWU/OiBzdHJpbmc7XG4gIHVwZGF0ZVN0cmF0ZWd5PzogU3RhdGVmdWxTZXRVcGRhdGVTdHJhdGVneTtcbiAgcmV2aXNpb25IaXN0b3J5TGltaXQ/OiBudW1iZXI7XG4gIHZvbHVtZUNsYWltVGVtcGxhdGVzPzogUGVyc2lzdGVudFZvbHVtZUNsYWltW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kVGVtcGxhdGVTcGVjIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFBvZFNwZWM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kU3BlYyB7XG4gIGNvbnRhaW5lcnM/OiBDb250YWluZXJbXTtcbiAgaW5pdENvbnRhaW5lcnM/OiBDb250YWluZXJbXTtcbiAgZXBoZW1lcmFsQ29udGFpbmVycz86IEVwaGVtZXJhbENvbnRhaW5lcltdO1xuICB2b2x1bWVzPzogVm9sdW1lW107XG4gIGhvc3RBbGlhc2VzPzogSG9zdEFsaWFzZXNbXTtcbiAgbm9kZVNlbGVjdG9yPzogU3RyaW5nTWFwO1xuICBob3N0TmV0d29yaz86IGJvb2xlYW47XG4gIGFmZmluaXR5PzogQWZmaW5pdHk7XG4gIHJlc3RhcnRQb2xpY3k/OiBzdHJpbmc7XG4gIGltYWdlUHVsbFNlY3JldHM/OiBMb2NhbE9iamVjdFJlZmVyZW5jZVtdO1xuICBzZXJ2aWNlQWNjb3VudE5hbWU/OiBzdHJpbmc7XG4gIHNlcnZpY2VBY2NvdW50Pzogc3RyaW5nO1xuICBub2RlTmFtZT86IHN0cmluZztcbiAgdGVybWluYXRpb25HcmFjZVBlcmlvZFNlY29uZHM/OiBudW1iZXI7XG4gIHRvbGVyYXRpb25zPzogVG9sZXJhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvbGVyYXRpb24ge1xuICBrZXk/OiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBvcGVyYXRvcj86IFRvbGVyYXRpb25PcGVyYXRvcjtcbiAgdG9sZXJhdGlvblNlY29uZHM/OiBudW1iZXI7XG4gIGVmZmVjdD86IFRhaW50RWZmZWN0O1xufVxuXG5leHBvcnQgZW51bSBUb2xlcmF0aW9uT3BlcmF0b3Ige1xuICBFeGlzdHMgPSAnRXhpc3RzJyxcbiAgRXF1YWwgPSAnRXF1YWwnLFxufVxuXG5leHBvcnQgZW51bSBUYWludEVmZmVjdCB7XG4gIE5vU2NoZWR1bGUgPSAnTm9TY2hlZHVsZScsXG4gIFByZWZlck5vU2NoZWR1bGUgPSAnUHJlZmVyTm9TY2hlZHVsZScsXG4gIE5vRXhlY3V0ZSA9ICdOb0V4ZWN1dGUnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lciB7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGltYWdlPzogc3RyaW5nO1xuICBjb21tYW5kPzogc3RyaW5nW107XG4gIGFyZ3M/OiBzdHJpbmdbXTtcbiAgZW52PzogRW52VmFyW107XG4gIGVudkZyb20/OiBFbnZGcm9tU291cmNlW107XG4gIHdvcmtpbmdEaXI/OiBzdHJpbmc7XG4gIHBvcnRzPzogQ29udGFpbmVyUG9ydFtdO1xuICByZXNvdXJjZXM/OiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgdm9sdW1lTW91bnRzPzogVm9sdW1lTW91bnRbXTtcbiAgbGl2ZW5lc3NQcm9iZT86IFByb2JlO1xuICByZWFkaW5lc3NQcm9iZT86IFByb2JlO1xuICBsaWZlY3ljbGU/OiBQb2RMaWZlQ3ljbGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52VmFyU291cmNlIHtcbiAgY29uZmlnTWFwS2V5UmVmPzogQ29uZmlnTWFwS2V5UmVmO1xuICBzZWNyZXRLZXlSZWY/OiBTZWNyZXRLZXlSZWY7XG4gIGZpZWxkUmVmPzogT2JqZWN0RmllbGRTZWxlY3RvcjtcbiAgcmVzb3VyY2VGaWVsZFJlZj86IFJlc291cmNlRmllbGRTZWxlY3Rvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnZWYXIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICB2YWx1ZUZyb20/OiBFbnZWYXJTb3VyY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52RnJvbVNvdXJjZSB7XG4gIHByZWZpeD86IHN0cmluZztcbiAgY29uZmlnTWFwUmVmPzogQ29uZmlnTWFwUmVmO1xuICBzZWNyZXRSZWY/OiBTZWNyZXRSZWY7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kTGlmZUN5Y2xlIHtcbiAgcG9zdFN0YXJ0PzogUG9kTGlmZUN5Y2xlSG9vaztcbiAgcHJlU3RvcD86IFBvZExpZmVDeWNsZUhvb2s7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kTGlmZUN5Y2xlSG9vayB7XG4gIGV4ZWM6IHsgY29tbWFuZDogc3RyaW5nW10gfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVFRQR2V0QWN0aW9uIHtcbiAgaG9zdD86IHN0cmluZztcbiAgaHR0cEhlYWRlcnM/OiBIVFRQSGVhZGVyW107XG4gIHBhdGg6IHN0cmluZztcbiAgcG9ydD86IG51bWJlciB8IHN0cmluZztcbiAgc2NoZW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVwaGVtZXJhbENvbnRhaW5lciB7XG4gIGNvbW1hbmQ6IHN0cmluZ1tdO1xuICBpbWFnZTogc3RyaW5nO1xuICBpbWFnZVB1bGxQb2xpY3k6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBzdGRpbjogYm9vbGVhbjtcbiAgdHR5OiBib29sZWFuO1xuICB0ZXJtaW5hdGlvbk1lc3NhZ2VQb2xpY3k/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCB0eXBlIFN0YXRlZnVsU2V0U3RhdHVzID0gUGFydGlhbDx7XG4gIGNvbGxpc2lvbkNvdW50OiBudW1iZXI7XG4gIG9ic2VydmVkR2VuZXJhdGlvbjogbnVtYmVyO1xuICByZXBsaWNhczogbnVtYmVyO1xuICByZWFkeVJlcGxpY2FzOiBudW1iZXI7XG4gIGN1cnJlbnRSZXBsaWNhczogbnVtYmVyO1xuICBjdXJyZW50UmV2aXNpb246IHN0cmluZztcbiAgdXBkYXRlUmV2aXNpb246IHN0cmluZztcbiAgdXBkYXRlZFJlcGxpY2FzPzogbnVtYmVyO1xufT47XG5cbmV4cG9ydCB0eXBlIERlcGxveW1lbnRTdHJhdGVneVR5cGUgPSAnUm9sbGluZ1VwZGF0ZScgfCAnUmVjcmVhdGUnO1xuZXhwb3J0IHR5cGUgRGFlbW9uU2V0VXBkYXRlU3RyYXRlZ3lUeXBlID0gJ1JvbGxpbmdVcGRhdGUnIHwgJ09uRGVsZXRlJztcbmV4cG9ydCB0eXBlIFN0YXRlZnVsU2V0VXBkYXRlU3RyYXRlZ3lUeXBlID0gJ1JvbGxpbmdVcGRhdGUnIHwgJ09uRGVsZXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3ltZW50U3RyYXRlZ3kge1xuICB0eXBlPzogRGVwbG95bWVudFN0cmF0ZWd5VHlwZTtcbiAgcm9sbGluZ1VwZGF0ZT86IFJvbGxpbmdVcGRhdGVEZXBsb3ltZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJvbGxpbmdVcGRhdGVEZXBsb3ltZW50IHtcbiAgbWF4VW5hdmFpbGFibGU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIG1heFN1cmdlPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlZnVsU2V0VXBkYXRlU3RyYXRlZ3kge1xuICB0eXBlPzogU3RhdGVmdWxTZXRVcGRhdGVTdHJhdGVneVR5cGU7XG4gIHJvbGxpbmdVcGRhdGU/OiBSb2xsaW5nVXBkYXRlU3RhdGVmdWxTZXRTdHJhdGVneTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb2xsaW5nVXBkYXRlU3RhdGVmdWxTZXRTdHJhdGVneSB7XG4gIHBhcnRpdGlvbj86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmdyZXNzIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IEluZ3Jlc3NTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NTcGVjIHtcbiAgaW5ncmVzc0NsYXNzTmFtZT86IHN0cmluZztcbiAgcnVsZXM/OiBJbmdyZXNzUnVsZVtdO1xuICB0bHM/OiBJbmdyZXNzVExTW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5ncmVzc1J1bGUge1xuICBob3N0Pzogc3RyaW5nO1xuICBodHRwOiBIVFRQSW5ncmVzc1J1bGVWYWx1ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVFRQSW5ncmVzc1J1bGVWYWx1ZSB7XG4gIHBhdGhzOiBIVFRQSW5ncmVzc1BhdGhbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVFRQSW5ncmVzc1BhdGgge1xuICBwYXRoOiBzdHJpbmc7XG4gIHBhdGhUeXBlOiAnUHJlZml4JyB8ICdFeGFjdCcgfCAnSW1wbGVtZW50YXRpb25TcGVjaWZpYyc7XG4gIGJhY2tlbmQ6IEluZ3Jlc3NCYWNrZW5kO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NCYWNrZW5kIHtcbiAgc2VydmljZU5hbWU/OiBzdHJpbmc7XG4gIHNlcnZpY2VQb3J0PzogbnVtYmVyO1xuICBzZXJ2aWNlPzoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBwb3J0OiB7XG4gICAgICBudW1iZXI6IG51bWJlcjtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NUTFMge1xuICBob3N0cz86IHN0cmluZ1tdO1xuICBzZWNyZXROYW1lPzogc3RyaW5nO1xuICBnbG9iYWw/OiBib29sZWFuO1xuICBjZXJ0aWZpY2F0ZT86IENlcnRpZmljYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NTdGF0dXMge1xuICBsb2FkQmFsYW5jZXI/OiBJbmdyZXNzTG9hZEJhbGFuY2VyU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ3Jlc3NMb2FkQmFsYW5jZXJTdGF0dXMge1xuICBpbmdyZXNzPzogTG9hZEJhbGFuY2VySW5ncmVzc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlckluZ3Jlc3Mge1xuICBpcDogc3RyaW5nO1xuICBob3N0bmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgVm9sdW1lTW9kZSA9IHtcbiAgRklMRV9TWVNURU06ICdGaWxlc3lzdGVtJyxcbiAgQkxPQ0tfREVWSUNFOiAnQmxvY2snLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgVm9sdW1lTW9kZSA9IFZhbHVlT2Y8dHlwZW9mIFZvbHVtZU1vZGU+O1xuXG5leHBvcnQgY29uc3QgVm9sdW1lTW9kZXMgPSBbVm9sdW1lTW9kZS5CTE9DS19ERVZJQ0UsIFZvbHVtZU1vZGUuRklMRV9TWVNURU1dO1xuXG5leHBvcnQgY29uc3QgQWNjZXNzTW9kZSA9IHtcbiAgUldPOiAnUmVhZFdyaXRlT25jZScsXG4gIFJPWDogJ1JlYWRPbmx5TWFueScsXG4gIFJXWDogJ1JlYWRXcml0ZU1hbnknLFxuICBSV09QOiAnUmVhZFdyaXRlT25jZVBvZCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBY2Nlc3NNb2RlID0gVmFsdWVPZjx0eXBlb2YgQWNjZXNzTW9kZT47XG5cbmV4cG9ydCBjb25zdCBBY2Nlc3NNb2RlcyA9IFtBY2Nlc3NNb2RlLlJXTywgQWNjZXNzTW9kZS5ST1gsIEFjY2Vzc01vZGUuUldYXTtcblxuZXhwb3J0IGludGVyZmFjZSBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1TcGVjO1xuICBzdGF0dXM/OiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1TdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZUNsYWltU3RhdHVzIHtcbiAgcGhhc2U6IHN0cmluZztcbiAgY2FwYWNpdHk/OiB7IHN0b3JhZ2U6IHN0cmluZyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcnNpc3RlbnRWb2x1bWVDbGFpbVNwZWMge1xuICAvLyBudWxsIOihqOekuuS9v+eUqOm7mOiupCBzY1xuICAvLyBcIlwiIOihqOekuuS4jeiuvue9ruWtmOWCqOexu1xuICBzdG9yYWdlQ2xhc3NOYW1lPzogc3RyaW5nO1xuICB2b2x1bWVOYW1lPzogc3RyaW5nO1xuICByZXNvdXJjZXM6IHtcbiAgICByZXF1ZXN0czogeyBzdG9yYWdlOiBzdHJpbmcgfTtcbiAgfTtcbiAgZGF0YVNvdXJjZT86IFBlcnNpc3RlbnRWb2x1bWVDbGFpbURhdGFTb3VyY2U7XG4gIHNlbGVjdG9yPzogTGFiZWxTZWxlY3RvcjtcbiAgYWNjZXNzTW9kZXM6IEFjY2Vzc01vZGVbXTtcbiAgdm9sdW1lTW9kZT86IFZvbHVtZU1vZGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZUNsYWltRGF0YVNvdXJjZSB7XG4gIG5hbWU6IHN0cmluZztcbiAga2luZDogc3RyaW5nO1xuICBhcGlHcm91cDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSVJlc291cmNlSXRlbSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2luZ3VsYXJOYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZWQ6IGJvb2xlYW47XG4gIGtpbmQ6IHN0cmluZztcbiAgdmVyYnM6IEs4c1Jlc291cmNlQWN0aW9uW107XG4gIGdyb3VwVmVyc2lvbj86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFQSVJlc291cmNlTGlzdCBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdBUElSZXNvdXJjZUxpc3QnO1xuICBhcGlWZXJzaW9uPzogc3RyaW5nO1xuICBncm91cFZlcnNpb246IHN0cmluZztcbiAgcmVzb3VyY2VzOiBBUElSZXNvdXJjZUl0ZW1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUF0dHJpYnV0ZXM8VCBleHRlbmRzIEs4c1Jlc291cmNlQWN0aW9uPiB7XG4gIGdyb3VwOiBzdHJpbmc7XG4gIHJlc291cmNlOiBzdHJpbmc7XG4gIHZlcmI6IFQ7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWJqZWN0QWNjZXNzUmV2aWV3U3BlYzxUIGV4dGVuZHMgSzhzUmVzb3VyY2VBY3Rpb24+IHtcbiAgcmVzb3VyY2VBdHRyaWJ1dGVzOiBSZXNvdXJjZUF0dHJpYnV0ZXM8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ViamVjdEFjY2Vzc1Jldmlld1N0YXR1cyB7XG4gIGFsbG93ZWQ6IGJvb2xlYW47XG4gIGRlbmllZD86IGJvb2xlYW47XG4gIGV2YWx1YXRpb25FcnJvcj86IHN0cmluZztcbiAgcmVhc29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1YmplY3RBY2Nlc3NSZXZpZXc8XG4gIFQgZXh0ZW5kcyBLOHNSZXNvdXJjZUFjdGlvbiA9IEs4c1Jlc291cmNlQWN0aW9uLFxuPiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdTdWJqZWN0QWNjZXNzUmV2aWV3JztcbiAgc3BlYzogU3ViamVjdEFjY2Vzc1Jldmlld1NwZWM8VD47XG4gIHN0YXR1czogU3ViamVjdEFjY2Vzc1Jldmlld1N0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxmUmVzb3VyY2VBdHRyaWJ1dGVzPFQgZXh0ZW5kcyBLOHNSZXNvdXJjZUFjdGlvbj5cbiAgZXh0ZW5kcyBSZXNvdXJjZUF0dHJpYnV0ZXM8VD4ge1xuICBwcm9qZWN0Pzogc3RyaW5nO1xuICBjbHVzdGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGZTdWJqZWN0QWNjZXNzUmV2aWV3U3BlYzxUIGV4dGVuZHMgSzhzUmVzb3VyY2VBY3Rpb24+XG4gIGV4dGVuZHMgU3ViamVjdEFjY2Vzc1Jldmlld1NwZWM8VD4ge1xuICByZXNvdXJjZUF0dHJpYnV0ZXM6IFNlbGZSZXNvdXJjZUF0dHJpYnV0ZXM8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZlN1YmplY3RBY2Nlc3NSZXZpZXc8XG4gIFQgZXh0ZW5kcyBLOHNSZXNvdXJjZUFjdGlvbiA9IEs4c1Jlc291cmNlQWN0aW9uLFxuPiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdTZWxmU3ViamVjdEFjY2Vzc1Jldmlldyc7XG4gIHNwZWM6IFNlbGZTdWJqZWN0QWNjZXNzUmV2aWV3U3BlYzxUPjtcbiAgc3RhdHVzOiBTdWJqZWN0QWNjZXNzUmV2aWV3U3RhdHVzO1xufVxuXG5leHBvcnQgZW51bSBEZXBlbmRlbmN5VHlwZSB7XG4gIEFueSA9ICdhbnknLFxuICBBbGwgPSAnYWxsJyxcbn1cblxuZXhwb3J0IGVudW0gRmVhdHVyZVN0YWdlIHtcbiAgQWxwaGEgPSAnQWxwaGEnLFxuICBCZXRhID0gJ0JldGEnLFxuICBHQSA9ICdHQScsXG4gIEVPRiA9ICdFT0YnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHYXRlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGRlcGVuZGVuY3k6IHtcbiAgICAgIHR5cGU6IERlcGVuZGVuY3lUeXBlO1xuICAgICAgZmVhdHVyZUdhdGVzOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICBzdGFnZTogRmVhdHVyZVN0YWdlO1xuICB9O1xuICBzdGF0dXM6IHtcbiAgICBlbmFibGVkOiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnQgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjOiBGZWF0dXJlR2F0ZUVudGVycHJpc2VTdXBwb3J0U3BlYztcbiAgc3RhdHVzOiBGZWF0dXJlR2F0ZUVudGVycHJpc2VTdXBwb3J0U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnRTcGVjIHtcbiAgcHJvZHVjdHM6IEFycmF5PHsgbmFtZTogc3RyaW5nIH0+O1xuICB2YWxpZGl0eToge1xuICAgIG5vdEJlZm9yZTogc3RyaW5nO1xuICAgIG5vdEFmdGVyOiBzdHJpbmc7XG4gIH07XG4gIHR5cGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIGxpY2Vuc2VLaW5kOiBzdHJpbmc7XG4gIGJhcmVtZXRhbENsdXN0ZXJDUFVDb3JlTGltaXQ6IG51bWJlcjtcbiAgaW1wb3J0ZWRDbHVzdGVyTm9kZUxpbWl0OiBudW1iZXI7XG4gIGFsbG93UHJvZHVjdFZlcnNpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGZWF0dXJlR2F0ZUVudGVycHJpc2VTdXBwb3J0U3RhdHVzIHtcbiAgcGhhc2U6IEVudGVycHJpc2VTdXBwb3J0U3RhdHVzVHlwZTtcbiAgcmVhc29uOiBFbnRlcnByaXNlU3VwcG9ydFN0YXR1c1JlYXNvbltdO1xuICBiYXJlbWV0YWxDbHVzdGVyQ1BVQ29yZU51bTogbnVtYmVyO1xuICBpbXBvcnRlZENsdXN0ZXJOb2RlTnVtOiBudW1iZXI7XG4gIGN1cnJlbnRQcm9kdWN0VmVyc2lvbjogc3RyaW5nO1xuICBsaWNlbnNlRXhlbXB0ZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZW51bSBFbnRlcnByaXNlU3VwcG9ydFN0YXR1c1R5cGUge1xuICBpblNlcnZpY2UgPSAnSW5TZXJ2aWNlJyxcbiAgb3V0T2ZTZXJ2aWNlID0gJ091dE9mU2VydmljZScsXG4gIHdhcm5pbmcgPSAnV2FybmluZycsXG59XG5cbmV4cG9ydCBlbnVtIEVudGVycHJpc2VTdXBwb3J0U3RhdHVzUmVhc29uIHtcbiAgRXhjZWVkUmVzb3VyY2VMaW1pdCA9ICdFeGNlZWRSZXNvdXJjZUxpbWl0JyxcbiAgRXhjZWVkTm9kZUxpbWl0ID0gJ0V4Y2VlZE5vZGVMaW1pdCcsXG4gIE1pc21hdGNoUHJvZHVjdFZlcnNpb24gPSAnTWlzbWF0Y2hQcm9kdWN0VmVyc2lvbicsXG4gIE1pc21hdGNoU3ViUHJvZHVjdHMgPSAnTWlzbWF0Y2hTdWJQcm9kdWN0cycsXG4gIE5vdEV4aXN0ID0gJ05vdEV4aXN0JyxcbiAgRXhwaXJlZCA9ICdFeHBpcmVkJyxcbiAgUGVuZGluZyA9ICdQZW5kaW5nJyxcbiAgRXhwaXJpbmdTb29uID0gJ0V4cGlyaW5nU29vbicsXG59XG5cbmV4cG9ydCBlbnVtIFNlY3VyaXR5UG9saWN5UnVsZU5hbWUge1xuICBwYXNzd29yZCA9ICdQYXNzd29yZFBvbGljeScsXG4gIGxvY2sgPSAnVXNlckxvY2tlZFBvbGljeScsXG4gIGRpc2FibGUgPSAnVXNlckRpc2FibGVkUG9saWN5JyxcbiAgbm90aWZpY2F0aW9uID0gJ05vdGlmaWNhdGlvblBvbGljeScsXG4gIGFjY2VzcyA9ICdBY2Nlc3NDb250cm9sUG9saWN5Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eVBvbGljeVJ1bGUge1xuICBuYW1lOiBTZWN1cml0eVBvbGljeVJ1bGVOYW1lO1xuICBpdGVtczogQXJyYXk8e1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICBrZXk6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eVBvbGljeVJlc291cmNlIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgcnVsZXM6IFNlY3VyaXR5UG9saWN5UnVsZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1cyB7XG4gIGtpbmQ6ICdTdGF0dXMnO1xuICBhcGlWZXJzaW9uOiBzdHJpbmc7XG4gIG1ldGFkYXRhOiB7XG4gICAgY29udGludWU/OiBzdHJpbmc7XG4gIH07XG4gIHN0YXR1czogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nO1xuICBjb2RlOiBudW1iZXI7XG4gIGRldGFpbHM/OiB7XG4gICAgZ3JvdXA/OiBzdHJpbmc7XG4gICAga2luZDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB1aWQ6IHN0cmluZztcbiAgICBjYXVzZXM6IEFycmF5PHtcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICByZWFzb24/OiBzdHJpbmc7XG4gICAgICBmaWVsZD86IHN0cmluZztcbiAgICB9PjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbE9iamVjdFJlZmVyZW5jZSB7XG4gIG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNYXBLZXlSZWYgZXh0ZW5kcyBMb2NhbE9iamVjdFJlZmVyZW5jZSB7XG4gIGtleTogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0S2V5UmVmIGV4dGVuZHMgTG9jYWxPYmplY3RSZWZlcmVuY2Uge1xuICBrZXk6IHN0cmluZztcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ01hcFJlZiBleHRlbmRzIExvY2FsT2JqZWN0UmVmZXJlbmNlIHtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3JldFJlZiBleHRlbmRzIExvY2FsT2JqZWN0UmVmZXJlbmNlIHtcbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdEZpZWxkU2VsZWN0b3Ige1xuICBhcGlWZXJzaW9uPzogc3RyaW5nO1xuICBmaWVsZFBhdGg6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VGaWVsZFNlbGVjdG9yIHtcbiAgY29udGFpbmVyTmFtZT86IHN0cmluZztcbiAgZGl2aXNvcj86IHN0cmluZztcbiAgcmVzb3VyY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBXb3JrbG9hZCBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXBsb3ltZW50IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgc3BlYz86IERlcGxveW1lbnRTcGVjO1xuICBzdGF0dXM/OiBEZXBsb3ltZW50U3RhdHVzO1xuICBnZW5lcmF0aW9uPzogbnVtYmVyO1xufVxuXG4vLyBEZXBsb3ltZW50U3BlYyBpcyB0aGUgc3BlY2lmaWNhdGlvbiBvZiB0aGUgZGVzaXJlZCBiZWhhdmlvciBvZiB0aGUgRGVwbG95bWVudC5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudFNwZWMge1xuICByZXBsaWNhcz86IG51bWJlcjtcbiAgc2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICB0ZW1wbGF0ZT86IFBvZFRlbXBsYXRlU3BlYztcbiAgc3RyYXRlZ3k/OiBEZXBsb3ltZW50U3RyYXRlZ3k7XG4gIG1pblJlYWR5U2Vjb25kcz86IG51bWJlcjtcbiAgcmV2aXNpb25IaXN0b3J5TGltaXQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IFBvZFNwZWM7XG4gIHN0YXR1cz86IFBvZFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2RTdGF0dXMge1xuICBjb25kaXRpb25zPzogQ29uZGl0aW9uW107XG4gIGNvbnRhaW5lclN0YXR1c2VzPzogQ29udGFpbmVyU3RhdHVzW107XG4gIGhvc3RJUD86IHN0cmluZztcbiAgaW5pdENvbnRhaW5lclN0YXR1c2VzPzogQ29udGFpbmVyU3RhdHVzW107XG4gIGVwaGVtZXJhbENvbnRhaW5lclN0YXR1c2VzPzogQ29udGFpbmVyU3RhdHVzW107XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIG5vbWluYXRlZE5vZGVOYW1lPzogc3RyaW5nO1xuICBwaGFzZT86IHN0cmluZztcbiAgcG9kSVA/OiBzdHJpbmc7XG4gIHBvZElQcz86IEFycmF5PHsgaXA6IHN0cmluZyB9PjtcbiAgcW9zQ2xhc3M/OiBzdHJpbmc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgc3RhcnRUaW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RBbGlhc2VzIHtcbiAgaXA6IHN0cmluZztcbiAgaG9zdG5hbWVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJTdGF0dXMge1xuICBjb250YWluZXJJRD86IHN0cmluZztcbiAgaW1hZ2U/OiBzdHJpbmc7XG4gIGltYWdlSUQ/OiBzdHJpbmc7XG4gIGxhc3RTdGF0ZT86IENvbnRhaW5lclN0YXRlO1xuICBuYW1lPzogc3RyaW5nO1xuICByZWFkeT86IGJvb2xlYW47XG4gIHJlc3RhcnRDb3VudD86IG51bWJlcjtcbiAgc3RhdGU/OiBDb250YWluZXJTdGF0ZTtcbiAgc3RhcnRlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyU3RhdGUge1xuICBydW5uaW5nPzogQ29udGFpbmVyU3RhdGVSdW5uaW5nO1xuICB0ZXJtaW5hdGVkPzogQ29udGFpbmVyU3RhdGVUZXJtaW5hdGVkO1xuICB3YWl0aW5nPzogQ29udGFpbmVyU3RhdGVXYWl0aW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lclN0YXRlUnVubmluZyB7XG4gIHN0YXJ0ZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJTdGF0ZVRlcm1pbmF0ZWQge1xuICBjb250YWluZXJJRD86IHN0cmluZztcbiAgZXhpdENvZGU/OiBudW1iZXI7XG4gIGZpbmlzaGVkQXQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgc2lnbmFsPzogbnVtYmVyO1xuICBzdGFydGVkQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyU3RhdGVXYWl0aW5nIHtcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgcmVhc29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveW1lbnRTdGF0dXMge1xuICBhdmFpbGFibGVSZXBsaWNhcz86IG51bWJlcjtcbiAgY29sbGlzaW9uQ291bnQ/OiBudW1iZXI7XG4gIG9ic2VydmVkR2VuZXJhdGlvbj86IG51bWJlcjtcbiAgcmVhZHlSZXBsaWNhcz86IG51bWJlcjtcbiAgcmVwbGljYXM/OiBudW1iZXI7XG4gIHVuYXZhaWxhYmxlUmVwbGljYXM/OiBudW1iZXI7XG4gIHVwZGF0ZWRSZXBsaWNhcz86IG51bWJlcjtcbiAgY29uZGl0aW9ucz86IENvbmRpdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVkQWZmaW5pdHkge1xuICB0b3BvbG9neUtleTogc3RyaW5nO1xuICBsYWJlbFNlbGVjdG9yOiBMYWJlbFNlbGVjdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByZWZlcnJlZEFmZmluaXR5IHtcbiAgd2VpZ2h0OiBudW1iZXI7XG4gIHBvZEFmZmluaXR5VGVybToge1xuICAgIGxhYmVsU2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICAgIHRvcG9sb2d5S2V5OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kQWZmaW5pdHkge1xuICByZXF1aXJlZER1cmluZ1NjaGVkdWxpbmdJZ25vcmVkRHVyaW5nRXhlY3V0aW9uPzogUmVxdWlyZWRBZmZpbml0eVtdO1xuICBwcmVmZXJyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbj86IFByZWZlcnJlZEFmZmluaXR5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9kU3BlY0FmZmluaXR5IHtcbiAgcG9kQWZmaW5pdHk/OiBBZmZpbml0eTtcbiAgcG9kQW50aUFmZmluaXR5PzogQWZmaW5pdHk7XG4gIG5vZGVBZmZpbml0eT86IEFmZmluaXR5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFmZmluaXR5IHtcbiAgcmVxdWlyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbj86XG4gICAgfCBQb2RBZmZpbml0eVRlcm1bXVxuICAgIHwgTm9kZUFmZmluaXR5VGVybTtcbiAgcHJlZmVycmVkRHVyaW5nU2NoZWR1bGluZ0lnbm9yZWREdXJpbmdFeGVjdXRpb24/OiBXZWlnaHRlZFBvZEFmZmluaXR5VGVybVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlaWdodGVkTm9kZUFmZmluaXR5VGVybSB7XG4gIHdlaWdodDogbnVtYmVyO1xuICBwcmVmZXJlbmNlOiBOb2RlU2VsZWN0b3JUZXJtO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVBZmZpbml0eSB7XG4gIHJlcXVpcmVkRHVyaW5nU2NoZWR1bGluZ0lnbm9yZWREdXJpbmdFeGVjdXRpb24/OiBOb2RlQWZmaW5pdHlUZXJtO1xuICBwcmVmZXJyZWREdXJpbmdTY2hlZHVsaW5nSWdub3JlZER1cmluZ0V4ZWN1dGlvbj86IFdlaWdodGVkTm9kZUFmZmluaXR5VGVybVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlaWdodGVkUG9kQWZmaW5pdHlUZXJtIHtcbiAgcG9kQWZmaW5pdHlUZXJtOiBQb2RBZmZpbml0eVRlcm07XG4gIHdlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvZEFmZmluaXR5VGVybSB7XG4gIGxhYmVsU2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICB0b3BvbG9neUtleTogc3RyaW5nO1xuICBuYW1lc3BhY2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUFmZmluaXR5VGVybSB7XG4gIG5vZGVTZWxlY3RvclRlcm1zOiBOb2RlU2VsZWN0b3JUZXJtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVNlbGVjdG9yVGVybSB7XG4gIG1hdGNoRXhwcmVzc2lvbnM6IExhYmVsU2VsZWN0b3JSZXF1aXJlbWVudFtdO1xufVxuXG5leHBvcnQgZW51bSBWb2x1bWVUeXBlRW51bSB7XG4gIHBlcnNpc3RlbnRWb2x1bWVDbGFpbSA9ICdwZXJzaXN0ZW50Vm9sdW1lQ2xhaW0nLFxuICBjb25maWdNYXAgPSAnY29uZmlnTWFwJyxcbiAgc2VjcmV0ID0gJ3NlY3JldCcsXG4gIGVwaGVtZXJhbCA9ICdlcGhlbWVyYWwnLFxuICBlbXB0eURpciA9ICdlbXB0eURpcicsXG4gIGhvc3RQYXRoID0gJ2hvc3RQYXRoJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb2x1bWUge1xuICBuYW1lOiBzdHJpbmc7XG4gIFtWb2x1bWVUeXBlRW51bS5lbXB0eURpcl0/OiBFbXB0eURpclZvbHVtZVNvdXJjZTtcbiAgW1ZvbHVtZVR5cGVFbnVtLmNvbmZpZ01hcF0/OiBDb25maWdNYXBWb2x1bWVTb3VyY2U7XG4gIFtWb2x1bWVUeXBlRW51bS5zZWNyZXRdPzogU2VjcmV0Vm9sdW1lU291cmNlO1xuICBbVm9sdW1lVHlwZUVudW0ucGVyc2lzdGVudFZvbHVtZUNsYWltXT86IFBlcnNpc3RlbnRWb2x1bWVDbGFpbVZvbHVtZVNvdXJjZTtcbiAgW1ZvbHVtZVR5cGVFbnVtLmhvc3RQYXRoXT86IEhvc3RQYXRoVm9sdW1lU291cmNlO1xuICBbVm9sdW1lVHlwZUVudW0uZXBoZW1lcmFsXT86IEVwaGVtZXJhbFZvbHVtZVNvdXJjZTtcbiAgLy8gb3RoZXIgaWFhcyBzdG9yYWdlIGRlZmluaXRpb25zIG5vdCBpbmNsdWRlZFxuICBpc0FwcFJlc291cmNlPzogYm9vbGVhbjsgLy8g5piv5ZCmT0FN5bqU55So6LWE5rqQXG4gIG1vdW50UGF0aD86IHN0cmluZzsgLy8gZm9yIG9hbSBjb21wb25lbnQgd2Vic2VydmljZSBjb21wb25lbnQuIOacquadpeWPr+iDveWNleeLrOWumuS5iVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENzaVZvbHVtZVNvdXJjZSB7XG4gIGRyaXZlcjogJ29iamVjdHN0b3JhZ2UuazhzLmlvJztcbiAgdm9sdW1lQXR0cmlidXRlczoge1xuICAgICdiYXItbmFtZSc6IHN0cmluZztcbiAgICAnYmFyLW5hbWVzcGFjZSc6IHN0cmluZztcbiAgICBidWNrZXRSZXF1ZXN0TmFtZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleVRvUGF0aCB7XG4gIGtleT86IHN0cmluZztcbiAgbW9kZT86IG51bWJlcjtcbiAgcGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbXB0eURpclZvbHVtZVNvdXJjZSB7XG4gIG1lZGl1bT86IHN0cmluZztcbiAgc2l6ZUxpbWl0Pzogc3RyaW5nOyAvLyBlZzogMTUwMG0gcmVmZXJzIHRvOiBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2UvZ2VuZXJhdGVkL2t1YmVybmV0ZXMtYXBpL3YxLjE1LyNxdWFudGl0eS1yZXNvdXJjZS1jb3JlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnTWFwVm9sdW1lU291cmNlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIGl0ZW1zPzogS2V5VG9QYXRoW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0Vm9sdW1lU291cmNlIHtcbiAgc2VjcmV0TmFtZTogc3RyaW5nO1xuICBvcHRpb25hbD86IGJvb2xlYW47XG4gIGl0ZW1zPzogS2V5VG9QYXRoW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdFBhdGhWb2x1bWVTb3VyY2Uge1xuICB0eXBlPzogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc2lzdGVudFZvbHVtZUNsYWltVm9sdW1lU291cmNlIHtcbiAgY2xhaW1OYW1lOiBzdHJpbmc7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcGhlbWVyYWxWb2x1bWVTb3VyY2Uge1xuICB2b2x1bWVDbGFpbVRlbXBsYXRlOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvYmUge1xuICBleGVjPzogRXhlY0FjdGlvbjtcbiAgZmFpbHVyZVRocmVzaG9sZD86IG51bWJlcjtcbiAgaHR0cEdldD86IEhUVFBHZXRBY3Rpb247XG4gIGluaXRpYWxEZWxheVNlY29uZHM/OiBudW1iZXI7XG4gIHBlcmlvZFNlY29uZHM/OiBudW1iZXI7XG4gIHN1Y2Nlc3NUaHJlc2hvbGQ/OiBudW1iZXI7XG4gIHRjcFNvY2tldD86IFRDUFNvY2tldEFjdGlvbjtcbiAgdGltZW91dFNlY29uZHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY0FjdGlvbiB7XG4gIGNvbW1hbmQ/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIVFRQSGVhZGVyIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVENQU29ja2V0QWN0aW9uIHtcbiAgaG9zdD86IHN0cmluZztcbiAgcG9ydD86IG51bWJlciB8IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWb2x1bWVNb3VudCB7XG4gIG5hbWU6IHN0cmluZztcbiAgbW91bnRQYXRoPzogc3RyaW5nO1xuICByZWFkT25seT86IGJvb2xlYW47XG4gIHN1YlBhdGg/OiBzdHJpbmc7XG4gIG1vdW50UHJvcGFnYXRpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VSZXF1aXJlbWVudHMge1xuICBsaW1pdHM/OiBTdHJpbmdNYXA7XG4gIHJlcXVlc3RzPzogU3RyaW5nTWFwO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lclBvcnQge1xuICBuYW1lPzogc3RyaW5nO1xuICBob3N0UG9ydD86IG51bWJlcjtcbiAgY29udGFpbmVyUG9ydD86IG51bWJlcjtcbiAgc2VydmljZVBvcnQ/OiBudW1iZXI7XG4gIHByb3RvY29sPzogJ1RDUCcgfCAnVURQJztcbiAgaG9zdElQPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENlcnRpZmljYXRlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgbm90QmVmb3JlOiBzdHJpbmc7XG4gIG5vdEFmdGVyOiBzdHJpbmc7XG4gIGRuc05hbWVzOiBzdHJpbmdbXTtcbiAgdmFsaWQ6IGJvb2xlYW47XG4gIHJlYXNvbkNvZGU/OlxuICAgIHwgMSAvLyDor4HkuabmoLzlvI/mnInor69cbiAgICB8IDIgLy8g6K+B5Lmm5LiN5Zyo5pyJ5pWI5pyf5YaFXG4gICAgfCAzOyAvLyDor4Hkuabkv6Hmga/mnKrnn6Vcbn1cblxuZXhwb3J0IGNvbnN0IEFsYlByb3RvY29sTWFwcGVyID0ge1xuICBodHRwOiAnSFRUUCcsXG4gIGh0dHBzOiAnSFRUUFMnLFxuICBncnBjOiAnZ1JQQycsXG4gIHRjcDogJ1RDUCcsXG4gIHVkcDogJ1VEUCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBBbGJQcm90b2NvbCA9IGtleW9mIHR5cGVvZiBBbGJQcm90b2NvbE1hcHBlcjtcblxuZXhwb3J0IGludGVyZmFjZSBGcm9udGVuZFNwZWMge1xuICBwb3J0PzogbnVtYmVyIHwgJyc7XG4gIHByb3RvY29sPzogQWxiUHJvdG9jb2w7XG4gIHNvdXJjZT86IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICB9O1xuICBiYWNrZW5kUHJvdG9jb2w/OiAnSFRUUCcgfCAnSFRUUFMnIHwgJ2dSUEMnO1xuICBzZXJ2aWNlR3JvdXA/OiBTZXJ2aWNlR3JvdXA7XG4gIGNlcnRpZmljYXRlX25hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZVNlcnZpY2Uge1xuICBuYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHdlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VHcm91cCB7XG4gIHNlcnZpY2VzOiBSdWxlU2VydmljZVtdO1xuICBzZXNzaW9uX2FmZmluaXR5X3BvbGljeT86IHN0cmluZztcbiAgc2Vzc2lvbl9hZmZpbml0eV9hdHRyaWJ1dGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUm9sbGluZ1VwZGF0ZURhZW1vblNldCB7XG4gIG1heFVuYXZhaWxhYmxlPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhZW1vblNldFVwZGF0ZVN0cmF0ZWd5IHtcbiAgdHlwZT86IERhZW1vblNldFVwZGF0ZVN0cmF0ZWd5VHlwZTtcbiAgcm9sbGluZ1VwZGF0ZT86IFJvbGxpbmdVcGRhdGVEYWVtb25TZXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGFlbW9uU2V0IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IERhZW1vblNldFNwZWM7XG4gIHN0YXR1cz86IERhZW1vblNldFN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYWVtb25TZXRTcGVjIHtcbiAgc2VsZWN0b3I/OiBMYWJlbFNlbGVjdG9yO1xuICB0ZW1wbGF0ZT86IFBvZFRlbXBsYXRlU3BlYztcbiAgdXBkYXRlU3RyYXRlZ3k/OiBEYWVtb25TZXRVcGRhdGVTdHJhdGVneTtcbiAgbWluUmVhZHlTZWNvbmRzPzogbnVtYmVyO1xuICByZXZpc2lvbkhpc3RvcnlMaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IHR5cGUgRGFlbW9uU2V0U3RhdHVzID0gUGFydGlhbDx7XG4gIGN1cnJlbnROdW1iZXJTY2hlZHVsZWQ6IG51bWJlcjtcbiAgbnVtYmVyTWlzc2NoZWR1bGVkOiBudW1iZXI7XG4gIGRlc2lyZWROdW1iZXJTY2hlZHVsZWQ6IG51bWJlcjtcbiAgbnVtYmVyUmVhZHk6IG51bWJlcjtcbiAgb2JzZXJ2ZWRHZW5lcmF0aW9uOiBudW1iZXI7XG4gIHVwZGF0ZWROdW1iZXJTY2hlZHVsZWQ6IG51bWJlcjtcbiAgbnVtYmVyVW5hdmFpbGFibGU6IG51bWJlcjtcbiAgbnVtYmVyQXZhaWxhYmxlOiBudW1iZXI7XG59PjtcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdNYXA8VCA9IFN0cmluZ01hcD4gZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBkYXRhPzogVDtcbiAgYmluYXJ5RGF0YT86IFN0cmluZ01hcDtcbn1cblxuLy8gaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL2RvY3MvcmVmZXJlbmNlL2dlbmVyYXRlZC9rdWJlcm5ldGVzLWFwaS92MS4xMS8jY3JvbmpvYnNwZWMtdjFiZXRhMS1iYXRjaFxuZXhwb3J0IGludGVyZmFjZSBDcm9uSm9iU3BlYyB7XG4gIGNvbmN1cnJlbmN5UG9saWN5Pzogc3RyaW5nO1xuICBmYWlsZWRKb2JzSGlzdG9yeUxpbWl0PzogbnVtYmVyIHwgJyc7XG4gIHNjaGVkdWxlPzogc3RyaW5nO1xuICBzdGFydGluZ0RlYWRsaW5lU2Vjb25kcz86IG51bWJlciB8ICcnO1xuICBzdWNjZXNzZnVsSm9ic0hpc3RvcnlMaW1pdD86IG51bWJlciB8ICcnO1xuICBzdXNwZW5kPzogYm9vbGVhbjtcbiAgdGltZVpvbmU/OiBzdHJpbmc7XG4gIGpvYlRlbXBsYXRlPzogSm9iVGVtcGxhdGVTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpvYiBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIHNwZWM/OiBKb2JTcGVjO1xuICBzdGF0dXM/OiBKb2JTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSm9iU3BlYyB7XG4gIGFjdGl2ZURlYWRsaW5lU2Vjb25kcz86IG51bWJlciB8ICcnO1xuICBiYWNrb2ZmTGltaXQ/OiBudW1iZXIgfCAnJztcbiAgY29tcGxldGlvbnM/OiBudW1iZXIgfCAnJztcbiAgbWFudWFsU2VsZWN0b3I/OiBib29sZWFuO1xuICBwYXJhbGxlbGlzbT86IG51bWJlciB8ICcnO1xuICBzZWxlY3Rvcj86IExhYmVsU2VsZWN0b3I7XG4gIHRlbXBsYXRlPzogUG9kVGVtcGxhdGVTcGVjO1xuICBzdGFydGluZ0RlYWRsaW5lU2Vjb25kcz86IG51bWJlciB8ICcnO1xufVxuXG4vLyBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9yZWZlcmVuY2UvZ2VuZXJhdGVkL2t1YmVybmV0ZXMtYXBpL3YxLjExLyNqb2J0ZW1wbGF0ZXNwZWMtdjFiZXRhMS1iYXRjaFxuZXhwb3J0IGludGVyZmFjZSBKb2JUZW1wbGF0ZVNwZWMge1xuICBtZXRhZGF0YT86IE9iamVjdE1ldGE7XG4gIHNwZWM/OiBKb2JTcGVjO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpvYlN0YXR1cyB7XG4gIGFjdGl2ZTogbnVtYmVyIHwgJyc7XG4gIGNvbXBsZXRpb25UaW1lOiBzdHJpbmc7XG4gIGNvbmRpdGlvbnM6IENvbmRpdGlvbltdO1xuICBzdGFydFRpbWU6IHN0cmluZztcbiAgc3VjY2VlZGVkOiBudW1iZXI7XG4gIGZhaWxlZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyb25Kb2JTdGF0dXMge1xuICBhY3RpdmU/OiBPYmplY3RSZWZlcmVuY2VbXTtcbiAgbGFzdFNjaGVkdWxlVGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyb25Kb2IgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzogQ3JvbkpvYlNwZWM7XG4gIHN0YXR1cz86IENyb25Kb2JTdGF0dXM7XG59XG5cbmV4cG9ydCB0eXBlIE5vZGVTdGF0dXNSZWFzb24gPVxuICB8ICdLdWJlbGV0SGFzU3VmZmljaWVudERpc2snXG4gIHwgJ0t1YmVsZXRIYXNTdWZmaWNpZW50TWVtb3J5J1xuICB8ICdLdWJlbGV0SGFzTm9EaXNrUHJlc3N1cmUnXG4gIHwgJ0t1YmVsZXRSZWFkeSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVTdGF0dXNUeXBlID1cbiAgfCAnT3V0T2ZEaXNrJ1xuICB8ICdNZW1vcnlQcmVzc3VyZSdcbiAgfCAnRGlza1ByZXNzdXJlJ1xuICB8ICdSZWFkeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVRhaW50IHtcbiAga2V5OiBzdHJpbmc7XG4gIHRpbWVBZGRlZD86IHN0cmluZztcbiAgZWZmZWN0OiBUYWludEVmZmVjdDtcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIHVuc2NoZWR1bGFibGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGUgZXh0ZW5kcyBLdWJlcm5ldGVzUmVzb3VyY2Uge1xuICBzcGVjPzoge1xuICAgIHByb3ZpZGVySUQ/OiBzdHJpbmc7XG4gICAgdGFpbnRzPzogTm9kZVRhaW50W107XG4gICAgY29uZmlnU291cmNlPzogc3RyaW5nO1xuICAgIHVuc2NoZWR1bGFibGU/OiBib29sZWFuO1xuICAgIHBvZENJRFI/OiBzdHJpbmc7XG4gICAgcG9kQ0lEUnM/OiBzdHJpbmdbXTtcbiAgICBleHRlcm5hbElEPzogc3RyaW5nO1xuICAgIGlwPzogc3RyaW5nO1xuICB9O1xuICBzdGF0dXM/OiBOb2RlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVTdGF0dXMge1xuICB2b2x1bWVzQXR0YWNoZWQ6IGJvb2xlYW47XG4gIGRhZW1vbkVuZHBvaW50czoge1xuICAgIGt1YmVsZXRFbmRwb2ludDoge1xuICAgICAgcG9ydDogbnVtYmVyO1xuICAgIH07XG4gIH07XG4gIGNhcGFjaXR5OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBhZGRyZXNzZXM6IEFycmF5PHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWRkcmVzczogc3RyaW5nO1xuICB9PjtcbiAgYWxsb2NhdGFibGU6IHtcbiAgICAnYWxwaGEua3ViZXJuZXRlcy5pby9udmlkaWEtZ3B1Jzogc3RyaW5nO1xuICAgICd0ZW5jZW50LmNvbS92Y3VkYS1jb3JlJzogc3RyaW5nO1xuICAgICd0ZW5jZW50LmNvbS92Y3VkYS1tZW1vcnknOiBzdHJpbmc7XG4gICAgcG9kczogc3RyaW5nO1xuICAgIGNwdTogc3RyaW5nO1xuICAgIG1lbW9yeTogc3RyaW5nO1xuICB9O1xuICBpbWFnZXM6IEFycmF5PHtcbiAgICBzaXplQnl0ZXM6IG51bWJlcjtcbiAgICBuYW1lczogc3RyaW5nW107XG4gIH0+O1xuICBub2RlSW5mbzoge1xuICAgIGt1YmVQcm94eVZlcnNpb246IHN0cmluZztcbiAgICBvcGVyYXRpbmdTeXN0ZW06IHN0cmluZztcbiAgICBrZXJuZWxWZXJzaW9uOiBzdHJpbmc7XG4gICAgc3lzdGVtVVVJRDogc3RyaW5nO1xuICAgIGNvbnRhaW5lclJ1bnRpbWVWZXJzaW9uOiBzdHJpbmc7XG4gICAgb3NJbWFnZTogc3RyaW5nO1xuICAgIGFyY2hpdGVjdHVyZTogc3RyaW5nO1xuICAgIGJvb3RJRDogc3RyaW5nO1xuICAgIG1hY2hpbmVJRDogc3RyaW5nO1xuICAgIGt1YmVsZXRWZXJzaW9uOiBzdHJpbmc7XG4gIH07XG4gIHZvbHVtZXNJblVzZTogYm9vbGVhbjtcbiAgcGhhc2U6IHN0cmluZztcbiAgY29uZGl0aW9uczogQ29uZGl0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZSBleHRlbmRzIEt1YmVybmV0ZXNSZXNvdXJjZSB7XG4gIGtpbmQ6ICdTZXJ2aWNlJztcbiAgc3BlYz86IFNlcnZpY2VTcGVjO1xuICBzdGF0dXM/OiB7XG4gICAgbG9hZEJhbGFuY2VyPzoge1xuICAgICAgaW5ncmVzcz86IEFycmF5PHtcbiAgICAgICAgaG9zdG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGlwPzogc3RyaW5nO1xuICAgICAgfT47XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFNFUlZJQ0VfVFlQRVMgPSBbXG4gICdDbHVzdGVySVAnLFxuICAnTm9kZVBvcnQnLFxuICAnTG9hZEJhbGFuY2VyJyxcbiAgJ0V4dGVybmFsTmFtZScsXG5dIGFzIGNvbnN0O1xuZXhwb3J0IGNvbnN0IFNFUlZJQ0VfU0VTU0lPTl9BRkZJTklUSUVTID0gWydOb25lJywgJ0NsaWVudElQJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFNlcnZpY2VUeXBlID0gKHR5cGVvZiBTRVJWSUNFX1RZUEVTKVtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBTZXJ2aWNlU2Vzc2lvbkFmZmluaXR5ID1cbiAgKHR5cGVvZiBTRVJWSUNFX1NFU1NJT05fQUZGSU5JVElFUylbbnVtYmVyXTtcblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2aWNlU3BlYyB7XG4gIGNsdXN0ZXJJUD86IHN0cmluZztcbiAgY2x1c3RlcklQcz86IHN0cmluZ1tdO1xuICBleHRlcm5hbElQcz86IHN0cmluZ1tdO1xuICBleHRlcm5hbE5hbWU/OiBzdHJpbmc7XG4gIGlwRmFtaWxpZXM/OiBbJ0lQdjQnXSB8IFsnSVB2NiddIHwgWydJUHY0JywgJ0lQdjYnXSB8IFsnSVB2NicsICdJUHY0J107XG4gIGlwRmFtaWx5UG9saWN5PzogJ1NpbmdsZVN0YWNrJyB8ICdQcmVmZXJEdWFsU3RhY2snIHwgJ1JlcXVpcmVEdWFsU3RhY2snO1xuICBwb3J0cz86IFNlcnZpY2VQb3J0W107XG4gIHNlbGVjdG9yPzogU3RyaW5nTWFwO1xuICB0eXBlPzogU2VydmljZVR5cGU7XG4gIHNlc3Npb25BZmZpbml0eT86IFNlcnZpY2VTZXNzaW9uQWZmaW5pdHk7XG59XG5cbmV4cG9ydCBjb25zdCBTRVJWSUNFX1BPUlRfQkFTRV9QUk9UT0NPTFMgPSBbJ1RDUCcsICdVRFAnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFNlcnZpY2VQb3J0QmFzZVByb3RvY29sID1cbiAgKHR5cGVvZiBTRVJWSUNFX1BPUlRfQkFTRV9QUk9UT0NPTFMpW251bWJlcl07XG5cbmV4cG9ydCBjb25zdCBTRVJWSUNFX1BPUlRfUFJPVE9DT0xTID0gW1xuICAnVENQJyxcbiAgJ1VEUCcsXG4gICdIVFRQJyxcbiAgJ0hUVFBTJyxcbiAgJ0hUVFAyJyxcbiAgJ2dSUEMnLFxuXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIFNlcnZpY2VQb3J0UHJvdG9jb2wgPSAodHlwZW9mIFNFUlZJQ0VfUE9SVF9QUk9UT0NPTFMpW251bWJlcl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVBvcnQge1xuICBuYW1lPzogc3RyaW5nO1xuICBub2RlUG9ydD86IG51bWJlcjtcbiAgcG9ydD86IG51bWJlcjtcbiAgcHJvdG9jb2w/OiBTZXJ2aWNlUG9ydEJhc2VQcm90b2NvbDtcbiAgYXBwUHJvdG9jb2w/OiBMb3dlcmNhc2U8U2VydmljZVBvcnRQcm90b2NvbD47XG4gIHRhcmdldFBvcnQ/OiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uVmVyc2lvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2VydmVkOiBib29sZWFuO1xuICBzdG9yYWdlOiBib29sZWFuO1xuICBzY2hlbWE/OiB7XG4gICAgb3BlbkFQSVYzU2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAga2luZDogJ0N1c3RvbVJlc291cmNlRGVmaW5pdGlvbic7XG4gIHNwZWM6IHtcbiAgICBncm91cDogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbiAgICBuYW1lczoge1xuICAgICAgcGx1cmFsOiBzdHJpbmc7XG4gICAgICBzaW5ndWxhcjogc3RyaW5nO1xuICAgICAga2luZDogc3RyaW5nO1xuICAgICAgbGlzdEtpbmQ6IHN0cmluZztcbiAgICB9O1xuICAgIHNjb3BlOiBzdHJpbmc7XG4gICAgdmFsaWRhdGlvbjoge1xuICAgICAgb3BlbkFQSVYzU2NoZW1hOiBPcGVuQVBJVjNTY2hlbWFPYmplY3Q7XG4gICAgfTtcbiAgICB2ZXJzaW9uczogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uVmVyc2lvbltdO1xuICAgIHByZXNlcnZlVW5rbm93bkZpZWxkczogYm9vbGVhbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYW1lU3BhY2VSZXNvdXJjZVJhdGlvIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYzoge1xuICAgIGNwdTogbnVtYmVyO1xuICAgIG1lbW9yeTogbnVtYmVyO1xuICB9O1xuICBzdGF0dXM6IHtcbiAgICBjbHVzdGVyQ1BVOiBudW1iZXI7XG4gICAgY2x1c3Rlck1lbW9yeTogbnVtYmVyO1xuICB9O1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvNWE5OTkzMGFiNTdiMmM3ODM3OTYwYjIxZDJjOTJlOTU4ZGI4YzM3Ny9wa2cvYXBpcy9jb3JlL3R5cGVzLmdvI0w1NTc1XG5leHBvcnQgaW50ZXJmYWNlIEs4c0V2ZW50U2VyaWVzIHtcbiAgY291bnQ6IG51bWJlcjtcbiAgbGFzdE9ic2VydmVkVGltZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEs4c0V2ZW50U291cmNlIHtcbiAgY29tcG9uZW50Pzogc3RyaW5nO1xuICBob3N0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEs4c0V2ZW50IGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgaW52b2x2ZWRPYmplY3Q/OiBPYmplY3RSZWZlcmVuY2U7XG4gIHJlYXNvbj86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgc291cmNlPzogSzhzRXZlbnRTb3VyY2U7XG4gIGZpcnN0VGltZXN0YW1wPzogc3RyaW5nO1xuICBsYXN0VGltZXN0YW1wPzogc3RyaW5nO1xuICBjb3VudD86IG51bWJlcjtcbiAgdHlwZT86IHN0cmluZztcbiAgZXZlbnRUaW1lPzogc3RyaW5nO1xuICBzZXJpZXM/OiBLOHNFdmVudFNlcmllcztcbiAgYWN0aW9uPzogc3RyaW5nO1xuICByZWxhdGVkPzogT2JqZWN0UmVmZXJlbmNlO1xuICByZXBvcnRpbmdDb250cm9sbGVyPzogc3RyaW5nO1xuICByZXBvcnRpbmdJbnN0YW5jZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVBhdGNoIGV4dGVuZHMgS3ViZXJuZXRlc1Jlc291cmNlIHtcbiAgc3BlYz86IHtcbiAgICBqc29uUGF0Y2g6IEFycmF5PHtcbiAgICAgIG9wOiBzdHJpbmc7XG4gICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICB2YWx1ZTogc3RyaW5nO1xuICAgIH0+O1xuICAgIHRhcmdldD86IHtcbiAgICAgIGFwaVZlcnNpb246IHN0cmluZztcbiAgICAgIGtpbmQ6IHN0cmluZztcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIH07XG4gICAgcmVsZWFzZTogc3RyaW5nO1xuICB9O1xufVxuIl19
@@ -3,53 +3,57 @@
3
3
  * @module license-api
4
4
  */
5
5
  import { HttpClient } from '@angular/common/http';
6
- import { Injectable } from '@angular/core';
7
- import { map } from 'rxjs';
6
+ import { inject, Injectable } from '@angular/core';
7
+ import { catchError, map, of, shareReplay, switchMap } from 'rxjs';
8
8
  import { API_GATEWAY } from '../core/constants/constants';
9
9
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/common/http";
11
10
  export const LICENSE_FEATURE_GATE = `${API_GATEWAY}/fg/v1/featuregates/license`;
11
+ export const ENTERPRISE_SUPPORT_FEATURE_GATE = `${API_GATEWAY}/fg/v1/featuregates/enterprise-support`;
12
12
  export function getResourceNum(resource = {}) {
13
13
  return Object.values(resource).reduce((pre, cur) => cur + pre, 0);
14
14
  }
15
- // replace space to -, as Container-Platform
16
15
  export function formatProductName(productName) {
17
16
  return productName.replaceAll(/\s+/g, '-');
18
17
  }
19
18
  export class LicenseApiService {
20
- constructor(http) {
21
- this.http = http;
19
+ constructor() {
20
+ this.http = inject(HttpClient);
21
+ this.licenseExempted$ = this.http
22
+ .get(ENTERPRISE_SUPPORT_FEATURE_GATE)
23
+ .pipe(map(res => res.status.licenseExempted ?? false), catchError(() => of(true)), shareReplay(1));
22
24
  }
23
- getLicenseResourceLimit(check, resource) {
24
- const params = check === 'version'
25
- ? { check, targetVersion: resource }
26
- : { check, resourceNum: resource };
27
- return this.http
28
- .get(LICENSE_FEATURE_GATE, {
29
- params,
30
- })
31
- .pipe(map(res => res.status.enabled));
25
+ isLicenseExempted() {
26
+ return this.licenseExempted$;
32
27
  }
33
- getLicenseAllowVersion(version) {
28
+ getLicense(product) {
34
29
  return this.http.get(LICENSE_FEATURE_GATE, {
35
- params: {
36
- check: 'version',
37
- targetVersion: version,
38
- },
30
+ params: { product },
39
31
  });
40
32
  }
41
33
  getEnterpriseSupport(product) {
42
- return this.http.get(`${API_GATEWAY}/fg/v1/featuregates/enterprise-support`, {
34
+ return this.http.get(ENTERPRISE_SUPPORT_FEATURE_GATE, {
43
35
  params: product && {
44
36
  product,
45
37
  },
46
38
  });
47
39
  }
48
- static { this.ɵfac = function LicenseApiService_Factory(t) { return new (t || LicenseApiService)(i0.ɵɵinject(i1.HttpClient)); }; }
40
+ getLicenseResourceLimit(check, resource) {
41
+ const params = check === 'version'
42
+ ? { check, targetVersion: resource }
43
+ : { check, resourceNum: resource };
44
+ return this.isLicenseExempted().pipe(switchMap(exempted => exempted
45
+ ? of(true)
46
+ : this.http
47
+ .get(LICENSE_FEATURE_GATE, {
48
+ params,
49
+ })
50
+ .pipe(map(res => res.status.enabled))));
51
+ }
52
+ static { this.ɵfac = function LicenseApiService_Factory(t) { return new (t || LicenseApiService)(); }; }
49
53
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LicenseApiService, factory: LicenseApiService.ɵfac, providedIn: 'root' }); }
50
54
  }
51
55
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LicenseApiService, [{
52
56
  type: Injectable,
53
57
  args: [{ providedIn: 'root' }]
54
- }], () => [{ type: i1.HttpClient }], null); })();
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbGljZW5zZS9saWNlbnNlLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRzFELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsV0FBVyw2QkFBNkIsQ0FBQztBQUVoRixNQUFNLFVBQVUsY0FBYyxDQUFDLFdBQW1DLEVBQUU7SUFDbEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVELDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsaUJBQWlCLENBQUMsV0FBbUI7SUFDbkQsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBR0QsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUE2QixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUcsQ0FBQztJQUVqRCx1QkFBdUIsQ0FDckIsS0FBc0MsRUFDdEMsUUFBZ0I7UUFFaEIsTUFBTSxNQUFNLEdBQ1YsS0FBSyxLQUFLLFNBQVM7WUFDakIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUU7WUFDcEMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFjLG9CQUFvQixFQUFFO1lBQ3RDLE1BQU07U0FDUCxDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBZTtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLG9CQUFvQixFQUFFO1lBQ3RELE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsU0FBUztnQkFDaEIsYUFBYSxFQUFFLE9BQU87YUFDdkI7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBZ0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxXQUFXLHdDQUF3QyxFQUN0RDtZQUNFLE1BQU0sRUFBRSxPQUFPLElBQUk7Z0JBQ2pCLE9BQU87YUFDUjtTQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7a0ZBcENVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFESixNQUFNOztpRkFDbkIsaUJBQWlCO2NBRDdCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBsaWNlbnNlLWFwaVxuICovXG5cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQVBJX0dBVEVXQVkgfSBmcm9tICcuLi9jb3JlL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGUsIEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnQgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgTElDRU5TRV9GRUFUVVJFX0dBVEUgPSBgJHtBUElfR0FURVdBWX0vZmcvdjEvZmVhdHVyZWdhdGVzL2xpY2Vuc2VgO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzb3VyY2VOdW0ocmVzb3VyY2U6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fSk6IG51bWJlciB7XG4gIHJldHVybiBPYmplY3QudmFsdWVzKHJlc291cmNlKS5yZWR1Y2UoKHByZSwgY3VyKSA9PiBjdXIgKyBwcmUsIDApO1xufVxuXG4vLyByZXBsYWNlIHNwYWNlIHRvIC0sIGFzIENvbnRhaW5lci1QbGF0Zm9ybVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFByb2R1Y3ROYW1lKHByb2R1Y3ROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHByb2R1Y3ROYW1lLnJlcGxhY2VBbGwoL1xccysvZywgJy0nKTtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBMaWNlbnNlQXBpU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge31cblxuICBnZXRMaWNlbnNlUmVzb3VyY2VMaW1pdChcbiAgICBjaGVjazogJ3Jlc291cmNlJyB8ICdub2RlJyB8ICd2ZXJzaW9uJyxcbiAgICByZXNvdXJjZTogbnVtYmVyLFxuICApIHtcbiAgICBjb25zdCBwYXJhbXMgPVxuICAgICAgY2hlY2sgPT09ICd2ZXJzaW9uJ1xuICAgICAgICA/IHsgY2hlY2ssIHRhcmdldFZlcnNpb246IHJlc291cmNlIH1cbiAgICAgICAgOiB7IGNoZWNrLCByZXNvdXJjZU51bTogcmVzb3VyY2UgfTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PEZlYXR1cmVHYXRlPihMSUNFTlNFX0ZFQVRVUkVfR0FURSwge1xuICAgICAgICBwYXJhbXMsXG4gICAgICB9KVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXMuc3RhdHVzLmVuYWJsZWQpKTtcbiAgfVxuXG4gIGdldExpY2Vuc2VBbGxvd1ZlcnNpb24odmVyc2lvbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RmVhdHVyZUdhdGU+KExJQ0VOU0VfRkVBVFVSRV9HQVRFLCB7XG4gICAgICBwYXJhbXM6IHtcbiAgICAgICAgY2hlY2s6ICd2ZXJzaW9uJyxcbiAgICAgICAgdGFyZ2V0VmVyc2lvbjogdmVyc2lvbixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBnZXRFbnRlcnByaXNlU3VwcG9ydChwcm9kdWN0Pzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RmVhdHVyZUdhdGVFbnRlcnByaXNlU3VwcG9ydD4oXG4gICAgICBgJHtBUElfR0FURVdBWX0vZmcvdjEvZmVhdHVyZWdhdGVzL2VudGVycHJpc2Utc3VwcG9ydGAsXG4gICAgICB7XG4gICAgICAgIHBhcmFtczogcHJvZHVjdCAmJiB7XG4gICAgICAgICAgcHJvZHVjdCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxufVxuIl19
58
+ }], null, null); })();
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbGljZW5zZS9saWNlbnNlLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUcxRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLFdBQVcsNkJBQTZCLENBQUM7QUFDaEYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxXQUFXLHdDQUF3QyxDQUFDO0FBRXRHLE1BQU0sVUFBVSxjQUFjLENBQUMsV0FBbUMsRUFBRTtJQUNsRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQW1CO0lBQ25ELE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxQixxQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSTthQUMxQyxHQUFHLENBQStCLCtCQUErQixDQUFDO2FBQ2xFLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUMsRUFDL0MsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMxQixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztLQTJDTDtJQXpDQyxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYyxvQkFBb0IsRUFBRTtZQUN0RCxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUU7U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLCtCQUErQixFQUMvQjtZQUNFLE1BQU0sRUFBRSxPQUFPLElBQUk7Z0JBQ2pCLE9BQU87YUFDUjtTQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx1QkFBdUIsQ0FDckIsS0FBc0MsRUFDdEMsUUFBZ0I7UUFFaEIsTUFBTSxNQUFNLEdBQ1YsS0FBSyxLQUFLLFNBQVM7WUFDakIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUU7WUFDcEMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FDbEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ25CLFFBQVE7WUFDTixDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNWLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSTtpQkFDTixHQUFHLENBQWMsb0JBQW9CLEVBQUU7Z0JBQ3RDLE1BQU07YUFDUCxDQUFDO2lCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQzVDLENBQ0YsQ0FBQztJQUNKLENBQUM7a0ZBbkRVLGlCQUFpQjt1RUFBakIsaUJBQWlCLFdBQWpCLGlCQUFpQixtQkFESixNQUFNOztpRkFDbkIsaUJBQWlCO2NBRDdCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBsaWNlbnNlLWFwaVxuICovXG5cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQVBJX0dBVEVXQVkgfSBmcm9tICcuLi9jb3JlL2NvbnN0YW50cy9jb25zdGFudHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdhdGUsIEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnQgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgY29uc3QgTElDRU5TRV9GRUFUVVJFX0dBVEUgPSBgJHtBUElfR0FURVdBWX0vZmcvdjEvZmVhdHVyZWdhdGVzL2xpY2Vuc2VgO1xuZXhwb3J0IGNvbnN0IEVOVEVSUFJJU0VfU1VQUE9SVF9GRUFUVVJFX0dBVEUgPSBgJHtBUElfR0FURVdBWX0vZmcvdjEvZmVhdHVyZWdhdGVzL2VudGVycHJpc2Utc3VwcG9ydGA7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvdXJjZU51bShyZXNvdXJjZTogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9KTogbnVtYmVyIHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMocmVzb3VyY2UpLnJlZHVjZSgocHJlLCBjdXIpID0+IGN1ciArIHByZSwgMCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRQcm9kdWN0TmFtZShwcm9kdWN0TmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBwcm9kdWN0TmFtZS5yZXBsYWNlQWxsKC9cXHMrL2csICctJyk7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTGljZW5zZUFwaVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsaWNlbnNlRXhlbXB0ZWQkID0gdGhpcy5odHRwXG4gICAgLmdldDxGZWF0dXJlR2F0ZUVudGVycHJpc2VTdXBwb3J0PihFTlRFUlBSSVNFX1NVUFBPUlRfRkVBVFVSRV9HQVRFKVxuICAgIC5waXBlKFxuICAgICAgbWFwKHJlcyA9PiByZXMuc3RhdHVzLmxpY2Vuc2VFeGVtcHRlZCA/PyBmYWxzZSksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHRydWUpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICk7XG5cbiAgaXNMaWNlbnNlRXhlbXB0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMubGljZW5zZUV4ZW1wdGVkJDtcbiAgfVxuXG4gIGdldExpY2Vuc2UocHJvZHVjdDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RmVhdHVyZUdhdGU+KExJQ0VOU0VfRkVBVFVSRV9HQVRFLCB7XG4gICAgICBwYXJhbXM6IHsgcHJvZHVjdCB9LFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RW50ZXJwcmlzZVN1cHBvcnQocHJvZHVjdD86IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEZlYXR1cmVHYXRlRW50ZXJwcmlzZVN1cHBvcnQ+KFxuICAgICAgRU5URVJQUklTRV9TVVBQT1JUX0ZFQVRVUkVfR0FURSxcbiAgICAgIHtcbiAgICAgICAgcGFyYW1zOiBwcm9kdWN0ICYmIHtcbiAgICAgICAgICBwcm9kdWN0LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgZ2V0TGljZW5zZVJlc291cmNlTGltaXQoXG4gICAgY2hlY2s6ICdyZXNvdXJjZScgfCAnbm9kZScgfCAndmVyc2lvbicsXG4gICAgcmVzb3VyY2U6IG51bWJlcixcbiAgKSB7XG4gICAgY29uc3QgcGFyYW1zID1cbiAgICAgIGNoZWNrID09PSAndmVyc2lvbidcbiAgICAgICAgPyB7IGNoZWNrLCB0YXJnZXRWZXJzaW9uOiByZXNvdXJjZSB9XG4gICAgICAgIDogeyBjaGVjaywgcmVzb3VyY2VOdW06IHJlc291cmNlIH07XG4gICAgcmV0dXJuIHRoaXMuaXNMaWNlbnNlRXhlbXB0ZWQoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGV4ZW1wdGVkID0+XG4gICAgICAgIGV4ZW1wdGVkXG4gICAgICAgICAgPyBvZih0cnVlKVxuICAgICAgICAgIDogdGhpcy5odHRwXG4gICAgICAgICAgICAgIC5nZXQ8RmVhdHVyZUdhdGU+KExJQ0VOU0VfRkVBVFVSRV9HQVRFLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAucGlwZShtYXAocmVzID0+IHJlcy5zdGF0dXMuZW5hYmxlZCkpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -2,52 +2,43 @@
2
2
  * @packageDocumentation
3
3
  * @module license
4
4
  */
5
- import { HttpClient } from '@angular/common/http';
6
- import { Inject, Injectable, InjectionToken } from '@angular/core';
7
- import { catchError, map, of, shareReplay } from 'rxjs';
8
- import { K8sUtilService } from '../core/public-api';
9
- import { formatProductName, LICENSE_FEATURE_GATE } from './license-api';
10
- import { LicenseProductName, LicenseStatus } from './license.type';
5
+ import { inject, Injectable, InjectionToken } from '@angular/core';
6
+ import { catchError, map, of, shareReplay, switchMap } from 'rxjs';
7
+ import { getSubdomainAnnotation } from '../core/public-api';
8
+ import { formatProductName, LicenseApiService } from './license-api';
9
+ import { LicenseStatus } from './license.type';
11
10
  import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common/http";
13
- import * as i2 from "../core/public-api";
14
- import * as i3 from "./license.type";
15
- // each platform inject this token to specify product name
16
- export const LICENSE_PRODUCT_NAME_TOKEN = new InjectionToken('product_name');
17
11
  const FAILED_STATUS_MAPPER = {
18
12
  Expired: LicenseStatus.EXPIRED,
19
13
  Forbidden: LicenseStatus.NO_PERMISSION,
20
14
  NotExist: LicenseStatus.UNAUTHORIZED,
21
15
  };
16
+ // each platform inject this token to specify product name
17
+ export const LICENSE_PRODUCT_NAME_TOKEN = new InjectionToken('product_name');
22
18
  export class LicenseService {
23
- constructor(productName, http, k8sUtil) {
24
- this.productName = productName;
25
- this.http = http;
26
- this.k8sUtil = k8sUtil;
27
- this.status$ = this.getStatus();
28
- }
29
- getStatus() {
30
- return this.http
31
- .get(LICENSE_FEATURE_GATE, {
32
- params: { product: formatProductName(this.productName) },
33
- })
34
- .pipe(catchError(() => of(null)), map(featureGate => {
35
- if (featureGate?.status?.enabled) {
36
- return LicenseStatus.AUTHORIZED;
19
+ constructor() {
20
+ this.productName = inject(LICENSE_PRODUCT_NAME_TOKEN);
21
+ this.licenseApi = inject(LicenseApiService);
22
+ this.status$ = this.licenseApi.isLicenseExempted().pipe(switchMap(exempted => {
23
+ if (exempted) {
24
+ return of(LicenseStatus.AUTHORIZED);
37
25
  }
38
- const annotation = this.k8sUtil.getAnnotation(featureGate, 'reason', 'license');
39
- return ((annotation && FAILED_STATUS_MAPPER[annotation]) ||
40
- LicenseStatus.INVALID);
26
+ return this.licenseApi
27
+ .getLicense(formatProductName(this.productName))
28
+ .pipe(catchError(() => of(null)), map(featureGate => {
29
+ if (featureGate?.status?.enabled) {
30
+ return LicenseStatus.AUTHORIZED;
31
+ }
32
+ const reason = getSubdomainAnnotation('license', 'reason', featureGate);
33
+ return ((reason && FAILED_STATUS_MAPPER[reason]) || LicenseStatus.INVALID);
34
+ }));
41
35
  }), shareReplay(1));
42
36
  }
43
- static { this.ɵfac = function LicenseService_Factory(t) { return new (t || LicenseService)(i0.ɵɵinject(LICENSE_PRODUCT_NAME_TOKEN), i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.K8sUtilService)); }; }
37
+ static { this.ɵfac = function LicenseService_Factory(t) { return new (t || LicenseService)(); }; }
44
38
  static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LicenseService, factory: LicenseService.ɵfac, providedIn: 'root' }); }
45
39
  }
46
40
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LicenseService, [{
47
41
  type: Injectable,
48
42
  args: [{ providedIn: 'root' }]
49
- }], () => [{ type: i3.LicenseProductName, decorators: [{
50
- type: Inject,
51
- args: [LICENSE_PRODUCT_NAME_TOKEN]
52
- }] }, { type: i1.HttpClient }, { type: i2.K8sUtilService }], null); })();
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2xpY2Vuc2UvbGljZW5zZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRSxPQUFPLEVBQWUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFbkUsMERBQTBEO0FBQzFELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUNyQyxJQUFJLGNBQWMsQ0FBcUIsY0FBYyxDQUFDLENBQUM7QUFFekQsTUFBTSxvQkFBb0IsR0FBa0M7SUFDMUQsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO0lBQzlCLFNBQVMsRUFBRSxhQUFhLENBQUMsYUFBYTtJQUN0QyxRQUFRLEVBQUUsYUFBYSxDQUFDLFlBQVk7Q0FDckMsQ0FBQztBQUdGLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBRW1CLFdBQStCLEVBQy9CLElBQWdCLEVBQ2hCLE9BQXVCO1FBRnZCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBTjFDLFlBQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFPeEIsQ0FBQztJQUVKLFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFjLG9CQUFvQixFQUFFO1lBQ3RDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7U0FDekQsQ0FBQzthQUNELElBQUksQ0FDSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQixJQUFJLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQzNDLFdBQVcsRUFDWCxRQUFRLEVBQ1IsU0FBUyxDQUNWLENBQUM7WUFDRixPQUFPLENBQ0wsQ0FBQyxVQUFVLElBQUksb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2hELGFBQWEsQ0FBQyxPQUFPLENBQ3RCLENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNOLENBQUM7K0VBakNVLGNBQWMsY0FJZiwwQkFBMEI7dUVBSnpCLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O3NCQUs3QixNQUFNO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIGxpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwLCBvZiwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRmVhdHVyZUdhdGUsIEs4c1V0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgZm9ybWF0UHJvZHVjdE5hbWUsIExJQ0VOU0VfRkVBVFVSRV9HQVRFIH0gZnJvbSAnLi9saWNlbnNlLWFwaSc7XG5pbXBvcnQgeyBMaWNlbnNlUHJvZHVjdE5hbWUsIExpY2Vuc2VTdGF0dXMgfSBmcm9tICcuL2xpY2Vuc2UudHlwZSc7XG5cbi8vIGVhY2ggcGxhdGZvcm0gaW5qZWN0IHRoaXMgdG9rZW4gdG8gc3BlY2lmeSBwcm9kdWN0IG5hbWVcbmV4cG9ydCBjb25zdCBMSUNFTlNFX1BST0RVQ1RfTkFNRV9UT0tFTiA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxMaWNlbnNlUHJvZHVjdE5hbWU+KCdwcm9kdWN0X25hbWUnKTtcblxuY29uc3QgRkFJTEVEX1NUQVRVU19NQVBQRVI6IFJlY29yZDxzdHJpbmcsIExpY2Vuc2VTdGF0dXM+ID0ge1xuICBFeHBpcmVkOiBMaWNlbnNlU3RhdHVzLkVYUElSRUQsXG4gIEZvcmJpZGRlbjogTGljZW5zZVN0YXR1cy5OT19QRVJNSVNTSU9OLFxuICBOb3RFeGlzdDogTGljZW5zZVN0YXR1cy5VTkFVVEhPUklaRUQsXG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExpY2Vuc2VTZXJ2aWNlIHtcbiAgc3RhdHVzJCA9IHRoaXMuZ2V0U3RhdHVzKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMSUNFTlNFX1BST0RVQ1RfTkFNRV9UT0tFTilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3ROYW1lOiBMaWNlbnNlUHJvZHVjdE5hbWUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgazhzVXRpbDogSzhzVXRpbFNlcnZpY2UsXG4gICkge31cblxuICBnZXRTdGF0dXMoKTogT2JzZXJ2YWJsZTxMaWNlbnNlU3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxGZWF0dXJlR2F0ZT4oTElDRU5TRV9GRUFUVVJFX0dBVEUsIHtcbiAgICAgICAgcGFyYW1zOiB7IHByb2R1Y3Q6IGZvcm1hdFByb2R1Y3ROYW1lKHRoaXMucHJvZHVjdE5hbWUpIH0sXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLFxuICAgICAgICBtYXAoZmVhdHVyZUdhdGUgPT4ge1xuICAgICAgICAgIGlmIChmZWF0dXJlR2F0ZT8uc3RhdHVzPy5lbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gTGljZW5zZVN0YXR1cy5BVVRIT1JJWkVEO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhbm5vdGF0aW9uID0gdGhpcy5rOHNVdGlsLmdldEFubm90YXRpb24oXG4gICAgICAgICAgICBmZWF0dXJlR2F0ZSxcbiAgICAgICAgICAgICdyZWFzb24nLFxuICAgICAgICAgICAgJ2xpY2Vuc2UnLFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChhbm5vdGF0aW9uICYmIEZBSUxFRF9TVEFUVVNfTUFQUEVSW2Fubm90YXRpb25dKSB8fFxuICAgICAgICAgICAgTGljZW5zZVN0YXR1cy5JTlZBTElEXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgKTtcbiAgfVxufVxuIl19
43
+ }], null, null); })();
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2xpY2Vuc2UvbGljZW5zZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFzQixhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFbkUsTUFBTSxvQkFBb0IsR0FBa0M7SUFDMUQsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPO0lBQzlCLFNBQVMsRUFBRSxhQUFhLENBQUMsYUFBYTtJQUN0QyxRQUFRLEVBQUUsYUFBYSxDQUFDLFlBQVk7Q0FDckMsQ0FBQztBQUVGLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FDckMsSUFBSSxjQUFjLENBQXFCLGNBQWMsQ0FBQyxDQUFDO0FBR3pELE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRW1CLGdCQUFXLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDakQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXhELFlBQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUNoRCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkIsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLFVBQVU7aUJBQ25CLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQy9DLElBQUksQ0FDSCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxXQUFXLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO29CQUNqQyxPQUFPLGFBQWEsQ0FBQyxVQUFVLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQ0QsTUFBTSxNQUFNLEdBQUcsc0JBQXNCLENBQ25DLFNBQVMsRUFDVCxRQUFRLEVBQ1IsV0FBVyxDQUNaLENBQUM7Z0JBQ0YsT0FBTyxDQUNMLENBQUMsTUFBTSxJQUFJLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FDbEUsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztLQUNIOytFQTlCWSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjLG1CQURELE1BQU07O2lGQUNuQixjQUFjO2NBRDFCLFVBQVU7ZUFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSBsaWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBvZiwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBnZXRTdWJkb21haW5Bbm5vdGF0aW9uIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgZm9ybWF0UHJvZHVjdE5hbWUsIExpY2Vuc2VBcGlTZXJ2aWNlIH0gZnJvbSAnLi9saWNlbnNlLWFwaSc7XG5pbXBvcnQgeyBMaWNlbnNlUHJvZHVjdE5hbWUsIExpY2Vuc2VTdGF0dXMgfSBmcm9tICcuL2xpY2Vuc2UudHlwZSc7XG5cbmNvbnN0IEZBSUxFRF9TVEFUVVNfTUFQUEVSOiBSZWNvcmQ8c3RyaW5nLCBMaWNlbnNlU3RhdHVzPiA9IHtcbiAgRXhwaXJlZDogTGljZW5zZVN0YXR1cy5FWFBJUkVELFxuICBGb3JiaWRkZW46IExpY2Vuc2VTdGF0dXMuTk9fUEVSTUlTU0lPTixcbiAgTm90RXhpc3Q6IExpY2Vuc2VTdGF0dXMuVU5BVVRIT1JJWkVELFxufTtcblxuLy8gZWFjaCBwbGF0Zm9ybSBpbmplY3QgdGhpcyB0b2tlbiB0byBzcGVjaWZ5IHByb2R1Y3QgbmFtZVxuZXhwb3J0IGNvbnN0IExJQ0VOU0VfUFJPRFVDVF9OQU1FX1RPS0VOID1cbiAgbmV3IEluamVjdGlvblRva2VuPExpY2Vuc2VQcm9kdWN0TmFtZT4oJ3Byb2R1Y3RfbmFtZScpO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIExpY2Vuc2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9kdWN0TmFtZSA9IGluamVjdChMSUNFTlNFX1BST0RVQ1RfTkFNRV9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgbGljZW5zZUFwaSA9IGluamVjdChMaWNlbnNlQXBpU2VydmljZSk7XG5cbiAgc3RhdHVzJCA9IHRoaXMubGljZW5zZUFwaS5pc0xpY2Vuc2VFeGVtcHRlZCgpLnBpcGUoXG4gICAgc3dpdGNoTWFwKGV4ZW1wdGVkID0+IHtcbiAgICAgIGlmIChleGVtcHRlZCkge1xuICAgICAgICByZXR1cm4gb2YoTGljZW5zZVN0YXR1cy5BVVRIT1JJWkVEKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmxpY2Vuc2VBcGlcbiAgICAgICAgLmdldExpY2Vuc2UoZm9ybWF0UHJvZHVjdE5hbWUodGhpcy5wcm9kdWN0TmFtZSkpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YobnVsbCkpLFxuICAgICAgICAgIG1hcChmZWF0dXJlR2F0ZSA9PiB7XG4gICAgICAgICAgICBpZiAoZmVhdHVyZUdhdGU/LnN0YXR1cz8uZW5hYmxlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gTGljZW5zZVN0YXR1cy5BVVRIT1JJWkVEO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVhc29uID0gZ2V0U3ViZG9tYWluQW5ub3RhdGlvbihcbiAgICAgICAgICAgICAgJ2xpY2Vuc2UnLFxuICAgICAgICAgICAgICAncmVhc29uJyxcbiAgICAgICAgICAgICAgZmVhdHVyZUdhdGUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgKHJlYXNvbiAmJiBGQUlMRURfU1RBVFVTX01BUFBFUltyZWFzb25dKSB8fCBMaWNlbnNlU3RhdHVzLklOVkFMSURcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSksXG4gICk7XG59XG4iXX0=
@@ -215,6 +215,8 @@ export function handleChartUnit(metrics, type) {
215
215
  export function hasNoData(res) {
216
216
  return (!res ||
217
217
  res?.length === 0 ||
218
- res?.every(item => !item?.values?.length || item.values.every(d => d.y === null)));
218
+ res?.every(item => {
219
+ return !item?.values?.length || item.values.every(d => d.y === null);
220
+ }));
219
221
  }
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbWV0cmljLWNoYXJ0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsK0JBQStCLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQVdoRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUM7QUFFOUMsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxHQUFtQixFQUNuQixTQUFzQjtJQUV0QixPQUFPLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDcEMsTUFBTSxNQUFNLEdBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2pFLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTjtnQkFDRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDeEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO2dCQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNWLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ1osQ0FBQyxDQUFDO2FBQ0o7U0FDRixDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsR0FBbUIsRUFDbkIsVUFBdUI7SUFFdkIsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3BELGdEQUFnRDtZQUNoRCxNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUMxRCxJQUFJO2dCQUNKLFNBQVMsRUFBRSxNQUFNO2FBQ2xCLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsR0FBRztnQkFDTixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDekIsSUFBSSxFQUFFLGFBQWEsQ0FDakIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLGVBQWUsRUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FDWjtvQkFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUM1QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDUCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNULENBQUMsQ0FBQztpQkFDSixDQUFDLENBQUM7YUFDSixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsU0FBaUIsRUFBRSxNQUFpQjtJQUNoRSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckQsT0FBTywrQkFBK0IsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxDQUFDLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsSUFBSSxVQUFVLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE9BQU8sS0FBSyxJQUFJLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsU0FBUyxJQUFJLGNBQWMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsUUFBUTtBQUNSLHdEQUF3RDtBQUN4RCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQW1CLEVBQ3JDLE1BQXNELEVBQUUsRUFDeEQsUUFBUSxHQUFHLEtBQUs7SUFFaEIsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUN4QixNQUFNLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDckMsTUFBTSxJQUFJLEdBQUcsUUFBUTtRQUNuQixDQUFDLENBQUM7WUFDRSxJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQztpQkFDbEIsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUM7aUJBQ2hDLE9BQU8sRUFBRTtTQUNiO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNQLE1BQU0sTUFBTSxHQUFHO1FBQ2IsR0FBRyxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLEdBQUcsR0FBRztRQUNOLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUM5RCxDQUFDO0lBRUYsb0NBQW9DO0lBQ3BDLG1CQUFtQjtJQUNuQixxQ0FBcUM7SUFDckMsb0NBQW9DO0lBQ3BDLDBCQUEwQjtJQUMxQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM5QyxNQUFNLElBQUksR0FDUixNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNsRSxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQzFCLCtCQUErQjtRQUMvQixNQUFNLFFBQVEsR0FBRztZQUNmLEdBQUcsSUFBSTtZQUNQLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDLENBQUM7UUFDRixJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO2lCQUNwRCxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNQLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyxHQUNMLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQztnQkFDaEUsT0FBTztvQkFDTCxHQUFHLEdBQUc7b0JBQ047d0JBQ0UsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJO3dCQUNYLENBQUMsRUFBRSxJQUFJO3dCQUNQLEdBQUcsQ0FBQyxRQUFROzRCQUNWLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDcEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztxQkFDUjtpQkFDRixDQUFDO1lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBb0I7SUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLElBQUksQ0FBQyxFQUFFLENBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FDTixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ25FLElBQUksMEJBQTBCLENBQ2xDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsSUFBcUIsRUFDckIsU0FBMEI7SUFFMUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN2QyxJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtDQUNKLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsR0FBRyxFQUFFO1lBQ0gsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsV0FBVztTQUNsQjtLQUNGO0lBQ0QsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEIsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLFNBQVM7U0FDaEI7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLElBQUk7U0FDWDtRQUNELEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLEdBQUc7U0FDVjtLQUNGO0lBQ0QsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLFNBQVM7U0FDaEI7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLEtBQUs7U0FDWjtRQUNELEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLE1BQU07U0FDYjtLQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxFQUN4QyxFQUFFLEVBQ0YsS0FBSyxHQUNVO0lBQ2YsT0FBTztRQUNMLFVBQVUsRUFBRSxFQUFFO1FBQ2QsRUFBRTtRQUNGLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO1lBQ3JDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7U0FDeEI7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxVQUE0QjtJQUM5RCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUF1QixFQUFFLElBQW1CO0lBQzFFLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO1lBQ25CLFFBQVEsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLFFBQVE7U0FDVCxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLElBQUksQ0FBQyxNQUFNO1FBQ2QsUUFBUTtLQUNULENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFnQjtJQUN4QyxPQUFPLENBQ0wsQ0FBQyxHQUFHO1FBQ0osR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDO1FBQ2pCLEdBQUcsRUFBRSxLQUFLLENBQ1IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FDdEUsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5cbmltcG9ydCB7IEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVIsIFN0cmluZ01hcCB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDaGFydERhdGEsIENoYXJ0RGF0YUl0ZW0gfSBmcm9tICcuLi92aWV3LWNoYXJ0L3B1YmxpYy1hcGknO1xuXG5pbXBvcnQge1xuICBFeHByZXNzaW9uSXRlbSxcbiAgSW5kaWNhdG9yLFxuICBNZXRyaWNBcGlQYXJhbXMsXG4gIE1ldHJpY1F1ZXJ5SXRlbSxcbiAgTWV0cmljUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENIQVJUX0xJTUlUX01BWF9VTklUX1ZBTFVFID0gODAwO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25JbmRpY2F0b3JTZXJpZXMoXG4gIHJlczogTWV0cmljUmVzdWx0W10sXG4gIGluZGljYXRvcjogSW5kaWNhdG9yW10sXG4pOiBDaGFydERhdGFbXSB7XG4gIHJldHVybiBpbmRpY2F0b3I/LnJlZHVjZSgoYWNjLCBwcmUpID0+IHtcbiAgICBjb25zdCB2YWx1ZXMgPVxuICAgICAgcmVzPy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJlLmlkKT8ucmVzdWx0WzBdPy52YWx1ZXMgfHwgW107XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLmFjYyxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogcHJlLm5hbWUgfHwgcHJlLmlkLFxuICAgICAgICBjb2xvcjogcHJlLmNvbG9yLFxuICAgICAgICB2YWx1ZXM6IHZhbHVlcy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgIHg6IGl0ZW1bMF0sXG4gICAgICAgICAgeTogK2l0ZW1bMV0sXG4gICAgICAgIH0pKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhU2VyaWVzKFxuICByZXM6IE1ldHJpY1Jlc3VsdFtdLFxuICBpbmRpY2F0b3JzOiBJbmRpY2F0b3JbXSxcbik6IENoYXJ0RGF0YVtdIHtcbiAgY29uc3QgaW5kaWNhdG9yID0gaW5kaWNhdG9yc1swXTtcbiAgcmV0dXJuIHJlcz8ucmVkdWNlKChhY2MsIHByZSkgPT4ge1xuICAgIGlmIChbaW5kaWNhdG9yLmlkLCBpbmRpY2F0b3IubmFtZV0uaW5jbHVkZXMocHJlLmlkKSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vYmV0dGVyLXJlZ2V4XG4gICAgICBjb25zdCBrZXlzID0gaW5kaWNhdG9yPy5sZWdlbmQ/Lm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pIHx8IFtcbiAgICAgICAgbnVsbCxcbiAgICAgICAgaW5kaWNhdG9yPy5sZWdlbmQsXG4gICAgICBdO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5wcmUucmVzdWx0Lm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgbmFtZTogZ2V0TWV0cmljTmFtZShcbiAgICAgICAgICAgIGtleXM/LlsxXSB8fCBpbmRpY2F0b3IubWV0cmljU291cmNlS2V5LFxuICAgICAgICAgICAgaXRlbS5tZXRyaWMsXG4gICAgICAgICAgKSxcbiAgICAgICAgICB2YWx1ZXM6IGl0ZW0udmFsdWVzLm1hcChkID0+ICh7XG4gICAgICAgICAgICB4OiBkWzBdLFxuICAgICAgICAgICAgeTogK2RbMV0sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9KSksXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXRyaWNOYW1lKG1ldHJpY0tleTogc3RyaW5nLCBtZXRyaWM6IFN0cmluZ01hcCkge1xuICBpZiAoIW1ldHJpY0tleSAmJiAhT2JqZWN0LmtleXMobWV0cmljIHx8IHt9KT8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVI7XG4gIH1cbiAgaWYgKCFtZXRyaWNLZXkgJiYgbWV0cmljKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1ldHJpYyk7XG4gIH1cbiAgY29uc3QgbWV0cmljS2V5cyA9IG1ldHJpY0tleT8uc3BsaXQoJywnKTtcbiAgaWYgKG1ldHJpY0tleXM/Lmxlbmd0aCA+IDEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IG1ldHJpYz8uW21ldHJpY0tleXMuZmluZChpdGVtID0+IG1ldHJpY1tpdGVtXSldO1xuICAgIHJldHVybiB2YWx1ZSB8fCBtZXRyaWNLZXk7XG4gIH1cbiAgcmV0dXJuIG1ldHJpY1ttZXRyaWNLZXkgfHwgJ19fcXVlcnlfaWRfXyddIHx8IG1ldHJpY0tleTtcbn1cblxuLy8g5aGr5YWF56m65pWw5o2uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuZXhwb3J0IGZ1bmN0aW9uIGZpbGxOdWxsQ2hhcnREYXRhKFxuICB7IHN0YXJ0LCBlbmQsIHN0ZXAgfTogTWV0cmljQXBpUGFyYW1zLFxuICByZXM6IEFycmF5PENoYXJ0RGF0YUl0ZW08eyB4OiBudW1iZXI7IHk6IG51bWJlciB9Pj4gPSBbXSxcbiAgc3RlcExpbmUgPSBmYWxzZSxcbikge1xuICBpZiAoIStzdGFydCB8fCAhK2VuZCkge1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBjb25zdCBjdXJTdGFydCA9ICtzdGFydDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyAoZW5kIC0gc3RhcnQpO1xuICBjb25zdCBwcmVYID0gc3RlcExpbmVcbiAgICA/IHtcbiAgICAgICAgcHJlWDogZGF5anMoY3VyU3RhcnQpXG4gICAgICAgICAgLnN1YnRyYWN0KChlbmQgLSBzdGFydCkgLyA2LCAncycpXG4gICAgICAgICAgLnZhbHVlT2YoKSxcbiAgICAgIH1cbiAgICA6IHt9O1xuICBjb25zdCByZXN1bHQgPSBbXG4gICAgLi4uKGN1clN0YXJ0ID09PSByZXNbMF0/LnggPyBbXSA6IFt7IHg6IGN1clN0YXJ0LCB5OiBudWxsLCAuLi5wcmVYIH1dKSxcbiAgICAuLi5yZXMsXG4gICAgLi4uKHJlcy5hdCgtMSk/LnggPT09IGN1ckVuZCA/IFtdIDogW3sgeDogY3VyRW5kLCB5OiBudWxsIH1dKSxcbiAgXTtcblxuICAvLyBxdWVyeSDov5Tlm57mlbDmja7lj6/og73lrZjlnKjmn5DkuKrml7bpl7TmrrXml6DmlbDmja7mg4XlhrXvvIzkvJrlr7zoh7TliY3nq69idWdcbiAgLy8g6YCa6L+HIHN0ZXAg6K6h566X5Ye6IOaAu+aVsOaNruOAglxuICAvLyDlnKjlh7rnjrDkuIDlvIDlp4vmlbDmja7nvLrlpLHmg4XlhrXvvIzlhYjnu5nmlbDmja7mt7vliqDlvIDlp4vml7bpl7TmlbDmja7vvIzlkoznu5PmnZ/ml7bpl7TmlbDmja7jgIJcbiAgLy8g5Zyo6L+b6KGM6YGN5Y6G77yM5Yik6K+75b2T5YmN5pWw5o2u5ZKM5LiL5LiA6Lez5pWw5o2u5LqL5Lu25beuIOaYr+WQpuaYr+i/meS4qiBzdGVwLFxuICAvLyDlpoLmnpzkuI3mmK/orqHnrpflh7rkuKTogIXnm7jlt64g5Yeg5p2h5pWw5o2u77yM54S25ZCO6L+b6KGM5aGr5YWFXG4gIGNvbnN0IGRhdGEgPSByZXN1bHQucmVkdWNlKChhY2MsIHByZXYsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgZGlmZiA9XG4gICAgICByZXN1bHRbaW5kZXggKyAxXSAmJiByZXN1bHRbaW5kZXggKyAxXS54ICogMTAwMCAtIHByZXYueCAqIDEwMDA7XG4gICAgY29uc3Qgc3RlcE0gPSBzdGVwICogMTAwMDtcbiAgICAvLyDlkI7nq6/lj6/og73lh7rnjrAgK0lmbiDlr7zoh7TmiJAgTmFO77yM6K6+572u5Li6IG51bGxcbiAgICBjb25zdCBjdXJWYWx1ZSA9IHtcbiAgICAgIC4uLnByZXYsXG4gICAgICB5OiBpc05hTihwcmV2LnkpID8gbnVsbCA6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbCxcbiAgICAgICAgICAgICAgLi4uKHN0ZXBMaW5lXG4gICAgICAgICAgICAgICAgPyB7IHByZVg6IGkgPT09IDAgPyByZXN1bHRbaW5kZXhdLnggOiBvbGRbaSAtIDFdLnggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWUsIC4uLmRhdGFdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWVdO1xuICB9LCBbXSk7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0RGVhbFdpdGgoZGF0YTogTWV0cmljUmVzdWx0W10pIHtcbiAgcmV0dXJuIGRhdGEuc29tZShcbiAgICBpdGVtID0+XG4gICAgICBNYXRoLm1heChcbiAgICAgICAgLi4uaXRlbS5yZXN1bHQubWFwKHJlcyA9PiBNYXRoLm1heCguLi5yZXMudmFsdWVzLm1hcChkID0+ICtkWzFdKSkpLFxuICAgICAgKSA+PSBDSEFSVF9MSU1JVF9NQVhfVU5JVF9WQUxVRSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSW50ZXJ2YWwoXG4gIHRpbWU6IE1ldHJpY0FwaVBhcmFtcyxcbiAgY2FjaGVUaW1lOiBNZXRyaWNBcGlQYXJhbXMsXG4pIHtcbiAgaWYgKCF0aW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGxhc3REaWZmID0gY2FjaGVUaW1lLmVuZCAtIGNhY2hlVGltZS5zdGFydDtcbiAgY29uc3QgY3VyckRpZmYgPSB0aW1lLmVuZCAtIHRpbWUuc3RhcnQ7XG4gIGlmIChsYXN0RGlmZiA9PT0gY3VyckRpZmYpIHtcbiAgICBjb25zdCBkaWZmUyA9IGN1cnJEaWZmIC8gKGN1cnJEaWZmIC8gdGltZS5zdGVwKTtcbiAgICByZXR1cm4gdGltZS5lbmQgLSBjYWNoZVRpbWUuZW5kID49IGRpZmZTO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY29uc3QgQ2hhcnRVbml0VHlwZSA9IHtcbiAgQ1BVOiAnY3B1JyxcbiAgTUVNT1JZOiAnbWVtb3J5JyxcbiAgVElNRTogJ3RpbWUnLFxuICBNRUFTVVJFOiAnbWVhc3VyZScsXG4gIFJhdGU6ICdyYXRlJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBDaGFydFVuaXRUeXBlID0gKHR5cGVvZiBDaGFydFVuaXRUeXBlKVtrZXlvZiB0eXBlb2YgQ2hhcnRVbml0VHlwZV07XG5leHBvcnQgY29uc3QgQ0hBUlRfVU5JVF9NQVAgPSB7XG4gIFtDaGFydFVuaXRUeXBlLkNQVV06IHtcbiAgICBtZWRpdW06IHtcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgdW5pdDogJ3VuaXRfbScsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ3VuaXRfY29yZScsXG4gICAgfSxcbiAgfSxcbiAgW0NoYXJ0VW5pdFR5cGUuTUVNT1JZXToge1xuICAgIG1lZGl1bToge1xuICAgICAgdmFsdWU6IDAsXG4gICAgICB1bml0OiAndW5pdF9NaScsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDI0LFxuICAgICAgdW5pdDogJ3VuaXRfR2knLFxuICAgIH0sXG4gIH0sXG4gIFtDaGFydFVuaXRUeXBlLlRJTUVdOiB7XG4gICAgbWVkaXVtOiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHVuaXQ6ICdtcycsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ3MnLFxuICAgIH0sXG4gIH0sXG4gIFtDaGFydFVuaXRUeXBlLk1FQVNVUkVdOiB7XG4gICAgbWVkaXVtOiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHVuaXQ6ICd1bml0X0tCJyxcbiAgICB9LFxuICAgIGJpZzoge1xuICAgICAgdmFsdWU6IDEwMjQsXG4gICAgICB1bml0OiAndW5pdF9NQicsXG4gICAgfSxcbiAgfSxcbiAgW0NoYXJ0VW5pdFR5cGUuUmF0ZV06IHtcbiAgICBtZWRpdW06IHtcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgdW5pdDogJ0JwcycsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ0ticHMnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNZXRyaWNRdWVyeVBhcmFtcyh7XG4gIGlkLFxuICB2YWx1ZSxcbn06IEV4cHJlc3Npb25JdGVtKTogTWV0cmljUXVlcnlJdGVtIHtcbiAgcmV0dXJuIHtcbiAgICBhZ2dyZWdhdG9yOiAnJyxcbiAgICBpZCxcbiAgICBsYWJlbHM6IFtcbiAgICAgIHsgbmFtZTogJ19fbmFtZV9fJywgdmFsdWU6ICdjdXN0b20nIH0sXG4gICAgICB7IG5hbWU6ICdleHByJywgdmFsdWUgfSxcbiAgICBdLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNZXRyaWNRdWVyeShleHByZXNzaW9uOiBFeHByZXNzaW9uSXRlbVtdKSB7XG4gIHJldHVybiBleHByZXNzaW9uLm1hcChnZW5lcmF0ZU1ldHJpY1F1ZXJ5UGFyYW1zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUNoYXJ0VW5pdChtZXRyaWNzOiBNZXRyaWNSZXN1bHRbXSwgdHlwZTogQ2hhcnRVbml0VHlwZSkge1xuICBjb25zdCBkYXRhID0gQ0hBUlRfVU5JVF9NQVBbdHlwZV07XG4gIGNvbnN0IGRlYWxXaXRoID0gdW5pdERlYWxXaXRoKG1ldHJpY3MpO1xuICBpZiAoZGVhbFdpdGgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdW5pdDogZGF0YS5iaWcudW5pdCxcbiAgICAgIGhhbmRsZUNiOiAodmFsdWU6IG51bWJlcikgPT4gKyh2YWx1ZSAvIGRhdGEuYmlnLnZhbHVlIHx8IDApLnRvRml4ZWQoMiksXG4gICAgICBkZWFsV2l0aCxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4uZGF0YS5tZWRpdW0sXG4gICAgZGVhbFdpdGgsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNOb0RhdGEocmVzOiBDaGFydERhdGFbXSkge1xuICByZXR1cm4gKFxuICAgICFyZXMgfHxcbiAgICByZXM/Lmxlbmd0aCA9PT0gMCB8fFxuICAgIHJlcz8uZXZlcnkoXG4gICAgICBpdGVtID0+ICFpdGVtPy52YWx1ZXM/Lmxlbmd0aCB8fCBpdGVtLnZhbHVlcy5ldmVyeShkID0+IGQueSA9PT0gbnVsbCksXG4gICAgKVxuICApO1xufVxuIl19
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbWV0cmljLWNoYXJ0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsK0JBQStCLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQVdoRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLENBQUM7QUFFOUMsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxHQUFtQixFQUNuQixTQUFzQjtJQUV0QixPQUFPLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDcEMsTUFBTSxNQUFNLEdBQ1YsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2pFLE9BQU87WUFDTCxHQUFHLEdBQUc7WUFDTjtnQkFDRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtnQkFDeEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO2dCQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQzFCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUNWLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ1osQ0FBQyxDQUFDO2FBQ0o7U0FDRixDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsR0FBbUIsRUFDbkIsVUFBdUI7SUFFdkIsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3BELGdEQUFnRDtZQUNoRCxNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUMxRCxJQUFJO2dCQUNKLFNBQVMsRUFBRSxNQUFNO2FBQ2xCLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsR0FBRztnQkFDTixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDekIsSUFBSSxFQUFFLGFBQWEsQ0FDakIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLGVBQWUsRUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FDWjtvQkFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUM1QixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDUCxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNULENBQUMsQ0FBQztpQkFDSixDQUFDLENBQUM7YUFDSixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsU0FBaUIsRUFBRSxNQUFpQjtJQUNoRSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDckQsT0FBTywrQkFBK0IsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxDQUFDLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsSUFBSSxVQUFVLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE9BQU8sS0FBSyxJQUFJLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsU0FBUyxJQUFJLGNBQWMsQ0FBQyxJQUFJLFNBQVMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsUUFBUTtBQUNSLHdEQUF3RDtBQUN4RCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQW1CLEVBQ3JDLE1BQXNELEVBQUUsRUFDeEQsUUFBUSxHQUFHLEtBQUs7SUFFaEIsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNyQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUN4QixNQUFNLE1BQU0sR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDckMsTUFBTSxJQUFJLEdBQUcsUUFBUTtRQUNuQixDQUFDLENBQUM7WUFDRSxJQUFJLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQztpQkFDbEIsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUM7aUJBQ2hDLE9BQU8sRUFBRTtTQUNiO1FBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNQLE1BQU0sTUFBTSxHQUFHO1FBQ2IsR0FBRyxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLEdBQUcsR0FBRztRQUNOLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUM5RCxDQUFDO0lBRUYsb0NBQW9DO0lBQ3BDLG1CQUFtQjtJQUNuQixxQ0FBcUM7SUFDckMsb0NBQW9DO0lBQ3BDLDBCQUEwQjtJQUMxQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM5QyxNQUFNLElBQUksR0FDUixNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNsRSxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQzFCLCtCQUErQjtRQUMvQixNQUFNLFFBQVEsR0FBRztZQUNmLEdBQUcsSUFBSTtZQUNQLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pDLENBQUM7UUFDRixJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDO2lCQUNwRCxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNQLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sQ0FBQyxHQUNMLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQztnQkFDaEUsT0FBTztvQkFDTCxHQUFHLEdBQUc7b0JBQ047d0JBQ0UsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJO3dCQUNYLENBQUMsRUFBRSxJQUFJO3dCQUNQLEdBQUcsQ0FBQyxRQUFROzRCQUNWLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDcEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztxQkFDUjtpQkFDRixDQUFDO1lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ1QsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBb0I7SUFDL0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLElBQUksQ0FBQyxFQUFFLENBQ0wsSUFBSSxDQUFDLEdBQUcsQ0FDTixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ25FLElBQUksMEJBQTBCLENBQ2xDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsSUFBcUIsRUFDckIsU0FBMEI7SUFFMUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ2pELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN2QyxJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyxRQUFRLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixPQUFPLEVBQUUsU0FBUztJQUNsQixJQUFJLEVBQUUsTUFBTTtDQUNKLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDbkIsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsR0FBRyxFQUFFO1lBQ0gsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsV0FBVztTQUNsQjtLQUNGO0lBQ0QsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDdEIsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLFNBQVM7U0FDaEI7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLElBQUk7U0FDWDtRQUNELEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLEdBQUc7U0FDVjtLQUNGO0lBQ0QsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLFNBQVM7U0FDaEI7S0FDRjtJQUNELENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxFQUFFLEtBQUs7U0FDWjtRQUNELEdBQUcsRUFBRTtZQUNILEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLE1BQU07U0FDYjtLQUNGO0NBQ0YsQ0FBQztBQUVGLE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxFQUN4QyxFQUFFLEVBQ0YsS0FBSyxHQUNVO0lBQ2YsT0FBTztRQUNMLFVBQVUsRUFBRSxFQUFFO1FBQ2QsRUFBRTtRQUNGLE1BQU0sRUFBRTtZQUNOLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO1lBQ3JDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7U0FDeEI7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxVQUE0QjtJQUM5RCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUF1QixFQUFFLElBQW1CO0lBQzFFLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO1lBQ25CLFFBQVEsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLFFBQVE7U0FDVCxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLElBQUksQ0FBQyxNQUFNO1FBQ2QsUUFBUTtLQUNULENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFnQjtJQUN4QyxPQUFPLENBQ0wsQ0FBQyxHQUFHO1FBQ0osR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDO1FBQ2pCLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEIsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5cbmltcG9ydCB7IEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVIsIFN0cmluZ01hcCB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDaGFydERhdGEsIENoYXJ0RGF0YUl0ZW0gfSBmcm9tICcuLi92aWV3LWNoYXJ0L3B1YmxpYy1hcGknO1xuXG5pbXBvcnQge1xuICBFeHByZXNzaW9uSXRlbSxcbiAgSW5kaWNhdG9yLFxuICBNZXRyaWNBcGlQYXJhbXMsXG4gIE1ldHJpY1F1ZXJ5SXRlbSxcbiAgTWV0cmljUmVzdWx0LFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IENIQVJUX0xJTUlUX01BWF9VTklUX1ZBTFVFID0gODAwO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25JbmRpY2F0b3JTZXJpZXMoXG4gIHJlczogTWV0cmljUmVzdWx0W10sXG4gIGluZGljYXRvcjogSW5kaWNhdG9yW10sXG4pOiBDaGFydERhdGFbXSB7XG4gIHJldHVybiBpbmRpY2F0b3I/LnJlZHVjZSgoYWNjLCBwcmUpID0+IHtcbiAgICBjb25zdCB2YWx1ZXMgPVxuICAgICAgcmVzPy5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gcHJlLmlkKT8ucmVzdWx0WzBdPy52YWx1ZXMgfHwgW107XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLmFjYyxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogcHJlLm5hbWUgfHwgcHJlLmlkLFxuICAgICAgICBjb2xvcjogcHJlLmNvbG9yLFxuICAgICAgICB2YWx1ZXM6IHZhbHVlcy5tYXAoaXRlbSA9PiAoe1xuICAgICAgICAgIHg6IGl0ZW1bMF0sXG4gICAgICAgICAgeTogK2l0ZW1bMV0sXG4gICAgICAgIH0pKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kT25EYXRhU2VyaWVzKFxuICByZXM6IE1ldHJpY1Jlc3VsdFtdLFxuICBpbmRpY2F0b3JzOiBJbmRpY2F0b3JbXSxcbik6IENoYXJ0RGF0YVtdIHtcbiAgY29uc3QgaW5kaWNhdG9yID0gaW5kaWNhdG9yc1swXTtcbiAgcmV0dXJuIHJlcz8ucmVkdWNlKChhY2MsIHByZSkgPT4ge1xuICAgIGlmIChbaW5kaWNhdG9yLmlkLCBpbmRpY2F0b3IubmFtZV0uaW5jbHVkZXMocHJlLmlkKSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vYmV0dGVyLXJlZ2V4XG4gICAgICBjb25zdCBrZXlzID0gaW5kaWNhdG9yPy5sZWdlbmQ/Lm1hdGNoKC9cXHtcXHtcXC4oLis/KVxcfVxcfS8pIHx8IFtcbiAgICAgICAgbnVsbCxcbiAgICAgICAgaW5kaWNhdG9yPy5sZWdlbmQsXG4gICAgICBdO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5wcmUucmVzdWx0Lm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgbmFtZTogZ2V0TWV0cmljTmFtZShcbiAgICAgICAgICAgIGtleXM/LlsxXSB8fCBpbmRpY2F0b3IubWV0cmljU291cmNlS2V5LFxuICAgICAgICAgICAgaXRlbS5tZXRyaWMsXG4gICAgICAgICAgKSxcbiAgICAgICAgICB2YWx1ZXM6IGl0ZW0udmFsdWVzLm1hcChkID0+ICh7XG4gICAgICAgICAgICB4OiBkWzBdLFxuICAgICAgICAgICAgeTogK2RbMV0sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9KSksXG4gICAgICBdO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNZXRyaWNOYW1lKG1ldHJpY0tleTogc3RyaW5nLCBtZXRyaWM6IFN0cmluZ01hcCkge1xuICBpZiAoIW1ldHJpY0tleSAmJiAhT2JqZWN0LmtleXMobWV0cmljIHx8IHt9KT8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIEZJRUxEX05PVF9BVkFJTEFCTEVfUExBQ0VIT0xERVI7XG4gIH1cbiAgaWYgKCFtZXRyaWNLZXkgJiYgbWV0cmljKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG1ldHJpYyk7XG4gIH1cbiAgY29uc3QgbWV0cmljS2V5cyA9IG1ldHJpY0tleT8uc3BsaXQoJywnKTtcbiAgaWYgKG1ldHJpY0tleXM/Lmxlbmd0aCA+IDEpIHtcbiAgICBjb25zdCB2YWx1ZSA9IG1ldHJpYz8uW21ldHJpY0tleXMuZmluZChpdGVtID0+IG1ldHJpY1tpdGVtXSldO1xuICAgIHJldHVybiB2YWx1ZSB8fCBtZXRyaWNLZXk7XG4gIH1cbiAgcmV0dXJuIG1ldHJpY1ttZXRyaWNLZXkgfHwgJ19fcXVlcnlfaWRfXyddIHx8IG1ldHJpY0tleTtcbn1cblxuLy8g5aGr5YWF56m65pWw5o2uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29uYXJqcy9jb2duaXRpdmUtY29tcGxleGl0eVxuZXhwb3J0IGZ1bmN0aW9uIGZpbGxOdWxsQ2hhcnREYXRhKFxuICB7IHN0YXJ0LCBlbmQsIHN0ZXAgfTogTWV0cmljQXBpUGFyYW1zLFxuICByZXM6IEFycmF5PENoYXJ0RGF0YUl0ZW08eyB4OiBudW1iZXI7IHk6IG51bWJlciB9Pj4gPSBbXSxcbiAgc3RlcExpbmUgPSBmYWxzZSxcbikge1xuICBpZiAoIStzdGFydCB8fCAhK2VuZCkge1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBjb25zdCBjdXJTdGFydCA9ICtzdGFydDtcbiAgY29uc3QgY3VyRW5kID0gc3RhcnQgKyAoZW5kIC0gc3RhcnQpO1xuICBjb25zdCBwcmVYID0gc3RlcExpbmVcbiAgICA/IHtcbiAgICAgICAgcHJlWDogZGF5anMoY3VyU3RhcnQpXG4gICAgICAgICAgLnN1YnRyYWN0KChlbmQgLSBzdGFydCkgLyA2LCAncycpXG4gICAgICAgICAgLnZhbHVlT2YoKSxcbiAgICAgIH1cbiAgICA6IHt9O1xuICBjb25zdCByZXN1bHQgPSBbXG4gICAgLi4uKGN1clN0YXJ0ID09PSByZXNbMF0/LnggPyBbXSA6IFt7IHg6IGN1clN0YXJ0LCB5OiBudWxsLCAuLi5wcmVYIH1dKSxcbiAgICAuLi5yZXMsXG4gICAgLi4uKHJlcy5hdCgtMSk/LnggPT09IGN1ckVuZCA/IFtdIDogW3sgeDogY3VyRW5kLCB5OiBudWxsIH1dKSxcbiAgXTtcblxuICAvLyBxdWVyeSDov5Tlm57mlbDmja7lj6/og73lrZjlnKjmn5DkuKrml7bpl7TmrrXml6DmlbDmja7mg4XlhrXvvIzkvJrlr7zoh7TliY3nq69idWdcbiAgLy8g6YCa6L+HIHN0ZXAg6K6h566X5Ye6IOaAu+aVsOaNruOAglxuICAvLyDlnKjlh7rnjrDkuIDlvIDlp4vmlbDmja7nvLrlpLHmg4XlhrXvvIzlhYjnu5nmlbDmja7mt7vliqDlvIDlp4vml7bpl7TmlbDmja7vvIzlkoznu5PmnZ/ml7bpl7TmlbDmja7jgIJcbiAgLy8g5Zyo6L+b6KGM6YGN5Y6G77yM5Yik6K+75b2T5YmN5pWw5o2u5ZKM5LiL5LiA6Lez5pWw5o2u5LqL5Lu25beuIOaYr+WQpuaYr+i/meS4qiBzdGVwLFxuICAvLyDlpoLmnpzkuI3mmK/orqHnrpflh7rkuKTogIXnm7jlt64g5Yeg5p2h5pWw5o2u77yM54S25ZCO6L+b6KGM5aGr5YWFXG4gIGNvbnN0IGRhdGEgPSByZXN1bHQucmVkdWNlKChhY2MsIHByZXYsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgZGlmZiA9XG4gICAgICByZXN1bHRbaW5kZXggKyAxXSAmJiByZXN1bHRbaW5kZXggKyAxXS54ICogMTAwMCAtIHByZXYueCAqIDEwMDA7XG4gICAgY29uc3Qgc3RlcE0gPSBzdGVwICogMTAwMDtcbiAgICAvLyDlkI7nq6/lj6/og73lh7rnjrAgK0lmbiDlr7zoh7TmiJAgTmFO77yM6K6+572u5Li6IG51bGxcbiAgICBjb25zdCBjdXJWYWx1ZSA9IHtcbiAgICAgIC4uLnByZXYsXG4gICAgICB5OiBpc05hTihwcmV2LnkpID8gbnVsbCA6IHByZXYueSxcbiAgICB9O1xuICAgIGlmIChkaWZmICYmIGRpZmYgIT09IHN0ZXBNKSB7XG4gICAgICBjb25zdCB0b3RhbCA9IE1hdGguY2VpbChkaWZmIC8gc3RlcE0gLSAxKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBBcnJheS5mcm9tPG51bWJlcj4oeyBsZW5ndGg6IHRvdGFsIHx8IDAgfSlcbiAgICAgICAgLmZpbGwoMClcbiAgICAgICAgLnJlZHVjZSgob2xkLCBfY3VyciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHggPVxuICAgICAgICAgICAgaSA9PT0gMCA/IHByZXYueCAqIDEwMDAgKyBzdGVwTSA6IG9sZFtpIC0gMV0ueCAqIDEwMDAgKyBzdGVwTTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4ub2xkLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB4OiB4IC8gMTAwMCxcbiAgICAgICAgICAgICAgeTogbnVsbCxcbiAgICAgICAgICAgICAgLi4uKHN0ZXBMaW5lXG4gICAgICAgICAgICAgICAgPyB7IHByZVg6IGkgPT09IDAgPyByZXN1bHRbaW5kZXhdLnggOiBvbGRbaSAtIDFdLnggfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9LCBbXSk7XG4gICAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWUsIC4uLmRhdGFdO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLmFjYywgY3VyVmFsdWVdO1xuICB9LCBbXSk7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IGEueCAtIGIueCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0RGVhbFdpdGgoZGF0YTogTWV0cmljUmVzdWx0W10pIHtcbiAgcmV0dXJuIGRhdGEuc29tZShcbiAgICBpdGVtID0+XG4gICAgICBNYXRoLm1heChcbiAgICAgICAgLi4uaXRlbS5yZXN1bHQubWFwKHJlcyA9PiBNYXRoLm1heCguLi5yZXMudmFsdWVzLm1hcChkID0+ICtkWzFdKSkpLFxuICAgICAgKSA+PSBDSEFSVF9MSU1JVF9NQVhfVU5JVF9WQUxVRSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSW50ZXJ2YWwoXG4gIHRpbWU6IE1ldHJpY0FwaVBhcmFtcyxcbiAgY2FjaGVUaW1lOiBNZXRyaWNBcGlQYXJhbXMsXG4pIHtcbiAgaWYgKCF0aW1lKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IGxhc3REaWZmID0gY2FjaGVUaW1lLmVuZCAtIGNhY2hlVGltZS5zdGFydDtcbiAgY29uc3QgY3VyckRpZmYgPSB0aW1lLmVuZCAtIHRpbWUuc3RhcnQ7XG4gIGlmIChsYXN0RGlmZiA9PT0gY3VyckRpZmYpIHtcbiAgICBjb25zdCBkaWZmUyA9IGN1cnJEaWZmIC8gKGN1cnJEaWZmIC8gdGltZS5zdGVwKTtcbiAgICByZXR1cm4gdGltZS5lbmQgLSBjYWNoZVRpbWUuZW5kID49IGRpZmZTO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY29uc3QgQ2hhcnRVbml0VHlwZSA9IHtcbiAgQ1BVOiAnY3B1JyxcbiAgTUVNT1JZOiAnbWVtb3J5JyxcbiAgVElNRTogJ3RpbWUnLFxuICBNRUFTVVJFOiAnbWVhc3VyZScsXG4gIFJhdGU6ICdyYXRlJyxcbn0gYXMgY29uc3Q7XG5leHBvcnQgdHlwZSBDaGFydFVuaXRUeXBlID0gKHR5cGVvZiBDaGFydFVuaXRUeXBlKVtrZXlvZiB0eXBlb2YgQ2hhcnRVbml0VHlwZV07XG5leHBvcnQgY29uc3QgQ0hBUlRfVU5JVF9NQVAgPSB7XG4gIFtDaGFydFVuaXRUeXBlLkNQVV06IHtcbiAgICBtZWRpdW06IHtcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgdW5pdDogJ3VuaXRfbScsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ3VuaXRfY29yZScsXG4gICAgfSxcbiAgfSxcbiAgW0NoYXJ0VW5pdFR5cGUuTUVNT1JZXToge1xuICAgIG1lZGl1bToge1xuICAgICAgdmFsdWU6IDAsXG4gICAgICB1bml0OiAndW5pdF9NaScsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDI0LFxuICAgICAgdW5pdDogJ3VuaXRfR2knLFxuICAgIH0sXG4gIH0sXG4gIFtDaGFydFVuaXRUeXBlLlRJTUVdOiB7XG4gICAgbWVkaXVtOiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHVuaXQ6ICdtcycsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ3MnLFxuICAgIH0sXG4gIH0sXG4gIFtDaGFydFVuaXRUeXBlLk1FQVNVUkVdOiB7XG4gICAgbWVkaXVtOiB7XG4gICAgICB2YWx1ZTogMCxcbiAgICAgIHVuaXQ6ICd1bml0X0tCJyxcbiAgICB9LFxuICAgIGJpZzoge1xuICAgICAgdmFsdWU6IDEwMjQsXG4gICAgICB1bml0OiAndW5pdF9NQicsXG4gICAgfSxcbiAgfSxcbiAgW0NoYXJ0VW5pdFR5cGUuUmF0ZV06IHtcbiAgICBtZWRpdW06IHtcbiAgICAgIHZhbHVlOiAwLFxuICAgICAgdW5pdDogJ0JwcycsXG4gICAgfSxcbiAgICBiaWc6IHtcbiAgICAgIHZhbHVlOiAxMDAwLFxuICAgICAgdW5pdDogJ0ticHMnLFxuICAgIH0sXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNZXRyaWNRdWVyeVBhcmFtcyh7XG4gIGlkLFxuICB2YWx1ZSxcbn06IEV4cHJlc3Npb25JdGVtKTogTWV0cmljUXVlcnlJdGVtIHtcbiAgcmV0dXJuIHtcbiAgICBhZ2dyZWdhdG9yOiAnJyxcbiAgICBpZCxcbiAgICBsYWJlbHM6IFtcbiAgICAgIHsgbmFtZTogJ19fbmFtZV9fJywgdmFsdWU6ICdjdXN0b20nIH0sXG4gICAgICB7IG5hbWU6ICdleHByJywgdmFsdWUgfSxcbiAgICBdLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVNZXRyaWNRdWVyeShleHByZXNzaW9uOiBFeHByZXNzaW9uSXRlbVtdKSB7XG4gIHJldHVybiBleHByZXNzaW9uLm1hcChnZW5lcmF0ZU1ldHJpY1F1ZXJ5UGFyYW1zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUNoYXJ0VW5pdChtZXRyaWNzOiBNZXRyaWNSZXN1bHRbXSwgdHlwZTogQ2hhcnRVbml0VHlwZSkge1xuICBjb25zdCBkYXRhID0gQ0hBUlRfVU5JVF9NQVBbdHlwZV07XG4gIGNvbnN0IGRlYWxXaXRoID0gdW5pdERlYWxXaXRoKG1ldHJpY3MpO1xuICBpZiAoZGVhbFdpdGgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdW5pdDogZGF0YS5iaWcudW5pdCxcbiAgICAgIGhhbmRsZUNiOiAodmFsdWU6IG51bWJlcikgPT4gKyh2YWx1ZSAvIGRhdGEuYmlnLnZhbHVlIHx8IDApLnRvRml4ZWQoMiksXG4gICAgICBkZWFsV2l0aCxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4uZGF0YS5tZWRpdW0sXG4gICAgZGVhbFdpdGgsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNOb0RhdGEocmVzOiBDaGFydERhdGFbXSkge1xuICByZXR1cm4gKFxuICAgICFyZXMgfHxcbiAgICByZXM/Lmxlbmd0aCA9PT0gMCB8fFxuICAgIHJlcz8uZXZlcnkoaXRlbSA9PiB7XG4gICAgICByZXR1cm4gIWl0ZW0/LnZhbHVlcz8ubGVuZ3RoIHx8IGl0ZW0udmFsdWVzLmV2ZXJ5KGQgPT4gZC55ID09PSBudWxsKTtcbiAgICB9KVxuICApO1xufVxuIl19