@valtimo/plugin 12.5.1 → 12.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/esm2022/lib/components/default-plugin-configuration/default-plugin-configuration.component.mjs +1 -1
  2. package/esm2022/lib/components/plugin-configuration-container/plugin-configuration-container.component.mjs +16 -3
  3. package/esm2022/lib/models/plugin.mjs +1 -1
  4. package/esm2022/lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component.mjs +3 -3
  5. package/esm2022/lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component.mjs +3 -3
  6. package/esm2022/lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component.mjs +3 -3
  7. package/esm2022/lib/plugins/catalogi-api/components/catalogi-api-configuration/catalogi-api-configuration.component.mjs +3 -3
  8. package/esm2022/lib/plugins/catalogi-api/components/get-besluittype/get-besluittype-configuration.component.mjs +3 -3
  9. package/esm2022/lib/plugins/catalogi-api/components/get-resultaattype/get-resultaattype-configuration.component.mjs +3 -3
  10. package/esm2022/lib/plugins/catalogi-api/components/get-statustype/get-statustype-configuration.component.mjs +3 -3
  11. package/esm2022/lib/plugins/documenten-api/components/documenten-api-configuration/documenten-api-configuration.component.mjs +3 -3
  12. package/esm2022/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.mjs +3 -3
  13. package/esm2022/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.mjs +3 -3
  14. package/esm2022/lib/plugins/exact/components/exact-action-get-request-configuration/exact-get-request-configuration.component.mjs +3 -3
  15. package/esm2022/lib/plugins/exact/components/exact-action-post-request-configuration/exact-post-request-configuration.component.mjs +3 -3
  16. package/esm2022/lib/plugins/exact/components/exact-action-put-request-configuration/exact-put-request-configuration.component.mjs +3 -3
  17. package/esm2022/lib/plugins/exact/components/exact-plugin-configuration/exact-plugin-configuration.component.mjs +3 -3
  18. package/esm2022/lib/plugins/notificaties-api/components/notificaties-api-configuration/notificaties-api-configuration.component.mjs +3 -3
  19. package/esm2022/lib/plugins/notificaties-api-authentication/components/open-notificaties-configuration/open-notificaties-configuration.component.mjs +3 -3
  20. package/esm2022/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.mjs +3 -3
  21. package/esm2022/lib/plugins/objecten-api/components/delete-object/delete-object.component.mjs +3 -3
  22. package/esm2022/lib/plugins/objecten-api/components/objecten-api-configuration/objecten-api-configuration.component.mjs +3 -3
  23. package/esm2022/lib/plugins/objecttypen-api/components/objecttypen-api-configuration/objecttypen-api-configuration.component.mjs +3 -3
  24. package/esm2022/lib/plugins/open-zaak/components/open-zaak-configuration/open-zaak-configuration.component.mjs +3 -3
  25. package/esm2022/lib/plugins/portaaltaak/components/create-portal-task/create-portal-task.component.mjs +3 -3
  26. package/esm2022/lib/plugins/portaaltaak/components/portaaltaak-configuration/portaaltaak-configuration.component.mjs +3 -3
  27. package/esm2022/lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component.mjs +3 -3
  28. package/esm2022/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.mjs +3 -3
  29. package/esm2022/lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component.mjs +3 -3
  30. package/esm2022/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.mjs +3 -3
  31. package/esm2022/lib/plugins/zaken-api/components/create-natuurlijk-persoon-zaak-rol/create-natuurlijk-persoon-zaak-rol.component.mjs +3 -3
  32. package/esm2022/lib/plugins/zaken-api/components/create-niet-natuurlijk-persoon-zaak-rol/create-niet-natuurlijk-persoon-zaak-rol.component.mjs +3 -3
  33. package/esm2022/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.mjs +43 -11
  34. package/esm2022/lib/plugins/zaken-api/components/create-zaak-resultaat/create-zaak-resultaat-configuration.component.mjs +3 -3
  35. package/esm2022/lib/plugins/zaken-api/components/create-zaakeigenschap/create-zaakeigenschap.component.mjs +3 -3
  36. package/esm2022/lib/plugins/zaken-api/components/delete-zaakeigenschap/delete-zaakeigenschap.component.mjs +3 -3
  37. package/esm2022/lib/plugins/zaken-api/components/link-document-to-zaak/link-document-to-zaak-configuration.component.mjs +3 -3
  38. package/esm2022/lib/plugins/zaken-api/components/set-zaak-status/set-zaak-status-configuration.component.mjs +3 -3
  39. package/esm2022/lib/plugins/zaken-api/components/set-zaakopschorting/set-zaakopschorting.component.mjs +3 -3
  40. package/esm2022/lib/plugins/zaken-api/components/start-hersteltermijn/start-hersteltermijn-configuration.component.mjs +3 -3
  41. package/esm2022/lib/plugins/zaken-api/components/update-zaakeigenschap/update-zaakeigenschap.component.mjs +3 -3
  42. package/esm2022/lib/plugins/zaken-api/components/zaken-api-configuration/zaken-api-configuration.component.mjs +3 -3
  43. package/esm2022/lib/plugins/zaken-api/models/config.mjs +1 -1
  44. package/esm2022/lib/plugins/zaken-api/models/create-zaak-properties.mjs +6 -0
  45. package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.module.mjs +20 -4
  46. package/esm2022/lib/plugins/zaken-api/zaken-api-plugin.specification.mjs +13 -1
  47. package/fesm2022/valtimo-plugin.mjs +178 -101
  48. package/fesm2022/valtimo-plugin.mjs.map +1 -1
  49. package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts +3 -2
  50. package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts.map +1 -1
  51. package/lib/models/plugin.d.ts +1 -0
  52. package/lib/models/plugin.d.ts.map +1 -1
  53. package/lib/plugins/documenten-api/components/store-temp-document/store-temp-document-configuration.component.d.ts.map +1 -1
  54. package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts +10 -1
  55. package/lib/plugins/zaken-api/components/create-zaak/create-zaak-configuration.component.d.ts.map +1 -1
  56. package/lib/plugins/zaken-api/models/config.d.ts +3 -0
  57. package/lib/plugins/zaken-api/models/config.d.ts.map +1 -1
  58. package/lib/plugins/zaken-api/models/create-zaak-properties.d.ts +3 -0
  59. package/lib/plugins/zaken-api/models/create-zaak-properties.d.ts.map +1 -0
  60. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts +2 -1
  61. package/lib/plugins/zaken-api/zaken-api-plugin.module.d.ts.map +1 -1
  62. package/lib/plugins/zaken-api/zaken-api-plugin.specification.d.ts.map +1 -1
  63. package/package.json +1 -1
@@ -54,7 +54,7 @@ export class DefaultPluginConfigurationComponent {
54
54
  });
55
55
  }
56
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultPluginConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultPluginConfigurationComponent, selector: "valtimo-default-plugin-configuration", inputs: { save$: "save$", disabled$: "disabled$", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationId\"\n [title]=\"'plugin.configurationId' | translate\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationId\"\n [required]=\"false\"\n [tooltip]=\"'plugin.configurationIdTooltip' | translate\"\n placeholder=\"00000000-0000-0000-0000-000000000000\"\n >\n </v-input>\n</v-form>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultPluginConfigurationComponent, selector: "valtimo-default-plugin-configuration", inputs: { save$: "save$", disabled$: "disabled$", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationId\"\n [title]=\"'plugin.configurationId' | translate\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationId\"\n [required]=\"false\"\n [tooltip]=\"'plugin.configurationIdTooltip' | translate\"\n placeholder=\"00000000-0000-0000-0000-000000000000\"\n >\n </v-input>\n</v-form>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i2.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
58
58
  }
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultPluginConfigurationComponent, decorators: [{
60
60
  type: Component,
@@ -91,8 +91,9 @@ export class PluginConfigurationContainerComponent {
91
91
  openComponentInstanceSubscription() {
92
92
  this.componentRefSubscription = combineLatest([
93
93
  this.componentRef$,
94
+ this._componentType,
94
95
  this._pluginDefinitionKey,
95
- ]).subscribe(([ref, pluginDefinitionKey]) => {
96
+ ]).subscribe(([ref, type, pluginDefinitionKey]) => {
96
97
  const instance = ref?.instance;
97
98
  this.configurationSubscription?.unsubscribe();
98
99
  this.validSubscription?.unsubscribe();
@@ -103,6 +104,16 @@ export class PluginConfigurationContainerComponent {
103
104
  if (this.prefillConfiguration$) {
104
105
  instance.prefillConfiguration$ = this.prefillConfiguration$;
105
106
  }
107
+ if (this.selectedPluginConfiguration$ && type === 'function') {
108
+ instance.selectedPluginConfigurationData$ =
109
+ this.selectedPluginConfiguration$.pipe(map(configuration => configuration
110
+ ? {
111
+ configurationId: configuration.id,
112
+ configurationTitle: configuration.title,
113
+ ...configuration.properties,
114
+ }
115
+ : undefined));
116
+ }
106
117
  this.validSubscription = combineLatest([
107
118
  instance.valid,
108
119
  this._validDefaultConfiguration,
@@ -120,7 +131,7 @@ export class PluginConfigurationContainerComponent {
120
131
  });
121
132
  }
122
133
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginConfigurationContainerComponent, deps: [{ token: i1.PluginService }], target: i0.ɵɵFactoryTarget.Component }); }
123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: { type: "type", pluginDefinitionKey: "pluginDefinitionKey", functionKey: "functionKey", save$: "save$", disabled$: "disabled$", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, viewQueries: [{ propertyName: "dynamicContainer", first: true, predicate: ["pluginConfigurationComponent"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-default-plugin-configuration\n *ngIf=\"isTypeConfiguration$ | async\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValidDefaultConfiguration($event)\"\n (configuration)=\"onDefaultConfiguration($event)\"\n>\n</valtimo-default-plugin-configuration>\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: i4.DefaultPluginConfigurationComponent, selector: "valtimo-default-plugin-configuration", inputs: ["save$", "disabled$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
134
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PluginConfigurationContainerComponent, selector: "valtimo-plugin-configuration-container", inputs: { type: "type", pluginDefinitionKey: "pluginDefinitionKey", functionKey: "functionKey", save$: "save$", disabled$: "disabled$", selectedPluginConfiguration$: "selectedPluginConfiguration$", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, viewQueries: [{ propertyName: "dynamicContainer", first: true, predicate: ["pluginConfigurationComponent"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-default-plugin-configuration\n *ngIf=\"isTypeConfiguration$ | async\"\n [prefillConfiguration$]=\"prefillConfiguration$\"\n [save$]=\"save$\"\n [disabled$]=\"disabled$\"\n (valid)=\"onValidDefaultConfiguration($event)\"\n (configuration)=\"onDefaultConfiguration($event)\"\n>\n</valtimo-default-plugin-configuration>\n<ng-template #pluginConfigurationComponent></ng-template>\n<ng-container *ngIf=\"noConfigurationComponentAvailable$ | async\">\n <v-paragraph [center]=\"true\">{{ 'plugin.noConfigurationComponent' | translate }}</v-paragraph>\n</ng-container>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ParagraphComponent, selector: "v-paragraph", inputs: ["center", "fullWidth", "margin", "italic", "loading", "dataTestId"] }, { kind: "component", type: i4.DefaultPluginConfigurationComponent, selector: "valtimo-default-plugin-configuration", inputs: ["save$", "disabled$", "prefillConfiguration$"], outputs: ["valid", "configuration"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
124
135
  }
125
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PluginConfigurationContainerComponent, decorators: [{
126
137
  type: Component,
@@ -138,6 +149,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
138
149
  type: Input
139
150
  }], disabled$: [{
140
151
  type: Input
152
+ }], selectedPluginConfiguration$: [{
153
+ type: Input
141
154
  }], prefillConfiguration$: [{
142
155
  type: Input
143
156
  }], valid: [{
@@ -145,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
145
158
  }], configuration: [{
146
159
  type: Output
147
160
  }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvY29tcG9uZW50cy9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIvcGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvY29tcG9uZW50cy9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIvcGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBZXhDLE1BQU0sT0FBTyxxQ0FBcUM7SUFNaEQsSUFBYSxJQUFJLENBQUMsSUFBZ0M7UUFDaEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELElBQWEsbUJBQW1CLENBQUMsR0FBVztRQUMxQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFhLFdBQVcsQ0FBQyxHQUFXO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FB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MTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGx1Z2luU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uQ29tcG9uZW50VHlwZSxcbiAgRGVmYXVsdFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhLFxuICBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhLFxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXBsdWdpbi1jb25maWd1cmF0aW9uLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGx1Z2luQ29uZmlndXJhdGlvbkNvbnRhaW5lckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbWl0PFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsICdwbHVnaW5JZCc+XG57XG4gIEBWaWV3Q2hpbGQoJ3BsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQnLCB7c3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcbiAgcHVibGljIGR5bmFtaWNDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgQElucHV0KCkgc2V0IHR5cGUodHlwZTogQ29uZmlndXJhdGlvbkNvbXBvbmVudFR5cGUpIHtcbiAgICB0aGlzLl9jb21wb25lbnRUeXBlLm5leHQodHlwZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHBsdWdpbkRlZmluaXRpb25LZXkoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbHVnaW5EZWZpbml0aW9uS2V5Lm5leHQoa2V5KTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZnVuY3Rpb25LZXkoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mdW5jdGlvbktleS5uZXh0KGtleSk7XG4gIH1cbiAgQElucHV0KCkgc2F2ZSQ6IE9ic2VydmFibGU8dm9pZD47XG4gIEBJbnB1dCgpIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgQElucHV0KCkgcHJlZmlsbENvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPGFueT47XG4gIEBPdXRwdXQoKSB2YWxpZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxQbHVnaW5Db25maWd1cmF0aW9uRGF0YT4oKTtcblxuICByZWFkb25seSBub0NvbmZpZ3VyYXRpb25Db21wb25lbnRBdmFpbGFibGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNvbXBvbmVudFJlZiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIENvbXBvbmVudFJlZjxQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50IHwgRnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50PiB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRSZWZTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcGx1Z2luU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHZhbGlkU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50VHlwZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29uZmlndXJhdGlvbkNvbXBvbmVudFR5cGUgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGx1Z2luRGVmaW5pdGlvbktleSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Z1bmN0aW9uS2V5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdENvbmZpZ3VyYXRpb24gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8RGVmYXVsdFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbGlkRGVmYXVsdENvbmZpZ3VyYXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHJlYWRvbmx5IGlzVHlwZUNvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29tcG9uZW50VHlwZS5waXBlKFxuICAgIG1hcChjb21wb25lbnRUeXBlID0+IGNvbXBvbmVudFR5cGUgPT09ICdjb25maWd1cmF0aW9uJyksXG4gICAgdGFwKGlzVHlwZUNvbmZpZ3VyYXRpb24gPT4gdGhpcy5fdmFsaWREZWZhdWx0Q29uZmlndXJhdGlvbi5uZXh0KCFpc1R5cGVDb25maWd1cmF0aW9uKSlcbiAgKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsdWdpblNlcnZpY2U6IFBsdWdpblNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuUGx1Z2luU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuQ29tcG9uZW50SW5zdGFuY2VTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25EZWZhdWx0Q29uZmlndXJhdGlvbihkZWZhdWx0Q29uZmlndXJhdGlvbjogRGVmYXVsdFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhKSB7XG4gICAgdGhpcy5fZGVmYXVsdENvbmZpZ3VyYXRpb24ubmV4dChkZWZhdWx0Q29uZmlndXJhdGlvbik7XG4gIH1cblxuICBvblZhbGlkRGVmYXVsdENvbmZpZ3VyYXRpb24odmFsaWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92YWxpZERlZmF1bHRDb25maWd1cmF0aW9uLm5leHQodmFsaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUGx1Z2luU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl9wbHVnaW5EZWZpbml0aW9uS2V5LFxuICAgICAgdGhpcy5fZnVuY3Rpb25LZXksXG4gICAgICB0aGlzLl9jb21wb25lbnRUeXBlLFxuICAgICAgdGhpcy5wbHVnaW5TZXJ2aWNlLnBsdWdpblNwZWNpZmljYXRpb25zJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoW3BsdWdpbkRlZmluaXRpb25LZXksIGZ1bmN0aW9uS2V5LCBjb21wb25lbnRUeXBlLCBwbHVnaW5TcGVjaWZpY2F0aW9uc10pID0+IHtcbiAgICAgICAgICBsZXQgY29uZmlndXJhdGlvbkNvbXBvbmVudCE6IFR5cGU8XG4gICAgICAgICAgICBQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50IHwgRnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50XG4gICAgICAgICAgPjtcblxuICAgICAgICAgIHRoaXMuZHluYW1pY0NvbnRhaW5lci5jbGVhcigpO1xuXG4gICAgICAgICAgaWYgKGNvbXBvbmVudFR5cGUgPT09ICdjb25maWd1cmF0aW9uJyAmJiBwbHVnaW5EZWZpbml0aW9uS2V5KSB7XG4gICAgICAgICAgICBjb25maWd1cmF0aW9uQ29tcG9uZW50ID0gcGx1Z2luU3BlY2lmaWNhdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgc3BlY2lmaWNhdGlvbiA9PiBzcGVjaWZpY2F0aW9uLnBsdWdpbklkID09PSBwbHVnaW5EZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApPy5wbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50O1xuICAgICAgICAgIH0gZWxzZSBpZiAoY29tcG9uZW50VHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiBwbHVnaW5EZWZpbml0aW9uS2V5ICYmIGZ1bmN0aW9uS2V5KSB7XG4gICAgICAgICAgICBjb25zdCBwbHVnaW5TcGVjaWZpY2F0aW9uID0gcGx1Z2luU3BlY2lmaWNhdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgc3BlY2lmaWNhdGlvbiA9PiBzcGVjaWZpY2F0aW9uLnBsdWdpbklkID09PSBwbHVnaW5EZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uZmlndXJhdGlvbkNvbXBvbmVudCA9XG4gICAgICAgICAgICAgIHBsdWdpblNwZWNpZmljYXRpb24/LmZ1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudHNbZnVuY3Rpb25LZXldO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjb25maWd1cmF0aW9uQ29tcG9uZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmR5bmFtaWNDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbmZpZ3VyYXRpb25Db21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYkLm5leHQoY29tcG9uZW50UmVmKTtcbiAgICAgICAgICAgIHRoaXMubm9Db25maWd1cmF0aW9uQ29tcG9uZW50QXZhaWxhYmxlJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ub0NvbmZpZ3VyYXRpb25Db21wb25lbnRBdmFpbGFibGUkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQ29tcG9uZW50SW5zdGFuY2VTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWZTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmJCxcbiAgICAgIHRoaXMuX3BsdWdpbkRlZmluaXRpb25LZXksXG4gICAgXSkuc3Vic2NyaWJlKChbcmVmLCBwbHVnaW5EZWZpbml0aW9uS2V5XSkgPT4ge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSByZWY/Lmluc3RhbmNlO1xuXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnZhbGlkU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICBpZiAoaW5zdGFuY2UpIHtcbiAgICAgICAgaW5zdGFuY2Uuc2F2ZSQgPSB0aGlzLnNhdmUkO1xuICAgICAgICBpbnN0YW5jZS5kaXNhYmxlZCQgPSB0aGlzLmRpc2FibGVkJDtcbiAgICAgICAgaW5zdGFuY2UucGx1Z2luSWQgPSBwbHVnaW5EZWZpbml0aW9uS2V5O1xuXG4gICAgICAgIGlmICh0aGlzLnByZWZpbGxDb25maWd1cmF0aW9uJCkge1xuICAgICAgICAgIGluc3RhbmNlLnByZWZpbGxDb25maWd1cmF0aW9uJCA9IHRoaXMucHJlZmlsbENvbmZpZ3VyYXRpb24kO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52YWxpZFN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIGluc3RhbmNlLnZhbGlkLFxuICAgICAgICAgIHRoaXMuX3ZhbGlkRGVmYXVsdENvbmZpZ3VyYXRpb24sXG4gICAgICAgIF0pLnN1YnNjcmliZSgoW2luc3RhbmNlVmFsaWQsIGRlZmF1bHRDb25maWd1cmF0aW9uVmFsaWRdKSA9PiB7XG4gICAgICAgICAgdGhpcy52YWxpZC5lbWl0KGluc3RhbmNlVmFsaWQgJiYgZGVmYXVsdENvbmZpZ3VyYXRpb25WYWxpZCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvblN1YnNjcmlwdGlvbiA9IGluc3RhbmNlLmNvbmZpZ3VyYXRpb24uc3Vic2NyaWJlKGNvbmZpZ3VyYXRpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb25JZCA9IHRoaXMuX2RlZmF1bHRDb25maWd1cmF0aW9uLnZhbHVlPy5jb25maWd1cmF0aW9uSWQ7XG4gICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmVtaXQoe1xuICAgICAgICAgICAgLi4uY29uZmlndXJhdGlvbixcbiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25JZCxcbiAgICAgICAgICB9IGFzIGFueSBhcyBQbHVnaW5Db25maWd1cmF0aW9uRGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2YWx0aW1vLWRlZmF1bHQtcGx1Z2luLWNvbmZpZ3VyYXRpb25cbiAgKm5nSWY9XCJpc1R5cGVDb25maWd1cmF0aW9uJCB8IGFzeW5jXCJcbiAgW3ByZWZpbGxDb25maWd1cmF0aW9uJF09XCJwcmVmaWxsQ29uZmlndXJhdGlvbiRcIlxuICBbc2F2ZSRdPVwic2F2ZSRcIlxuICBbZGlzYWJsZWQkXT1cImRpc2FibGVkJFwiXG4gICh2YWxpZCk9XCJvblZhbGlkRGVmYXVsdENvbmZpZ3VyYXRpb24oJGV2ZW50KVwiXG4gIChjb25maWd1cmF0aW9uKT1cIm9uRGVmYXVsdENvbmZpZ3VyYXRpb24oJGV2ZW50KVwiXG4+XG48L3ZhbHRpbW8tZGVmYXVsdC1wbHVnaW4tY29uZmlndXJhdGlvbj5cbjxuZy10ZW1wbGF0ZSAjcGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudD48L25nLXRlbXBsYXRlPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vQ29uZmlndXJhdGlvbkNvbXBvbmVudEF2YWlsYWJsZSQgfCBhc3luY1wiPlxuICA8di1wYXJhZ3JhcGggW2NlbnRlcl09XCJ0cnVlXCI+e3sgJ3BsdWdpbi5ub0NvbmZpZ3VyYXRpb25Db21wb25lbnQnIHwgdHJhbnNsYXRlIH19PC92LXBhcmFncmFwaD5cbjwvbmctY29udGFpbmVyPlxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvY29tcG9uZW50cy9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIvcGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvY29tcG9uZW50cy9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIvcGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUM5RSxPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBZ0J4QyxNQUFNLE9BQU8scUNBQXFDO0lBTWhELElBQWEsSUFBSSxDQUFDLElBQWdDO1FBQ2hELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFhLG1CQUFtQixDQUFDLEdBQVc7UUFDMUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBYSxXQUFXLENBQUMsR0FBVztRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENB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aUJhLHFDQUFxQztrQkFMakQsU0FBUzsrQkFDRSx3Q0FBd0M7a0ZBUTNDLGdCQUFnQjtzQkFEdEIsU0FBUzt1QkFBQyw4QkFBOEIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDO2dCQUdwRSxJQUFJO3NCQUFoQixLQUFLO2dCQUdPLG1CQUFtQjtzQkFBL0IsS0FBSztnQkFHTyxXQUFXO3NCQUF2QixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVHlwZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGx1Z2luU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uQ29tcG9uZW50VHlwZSxcbiAgRGVmYXVsdFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhLFxuICBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb24sXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhLFxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXBsdWdpbi1jb25maWd1cmF0aW9uLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGx1Z2luQ29uZmlndXJhdGlvbkNvbnRhaW5lckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbWl0PFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsICdwbHVnaW5JZCc+XG57XG4gIEBWaWV3Q2hpbGQoJ3BsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQnLCB7c3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmfSlcbiAgcHVibGljIGR5bmFtaWNDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgQElucHV0KCkgc2V0IHR5cGUodHlwZTogQ29uZmlndXJhdGlvbkNvbXBvbmVudFR5cGUpIHtcbiAgICB0aGlzLl9jb21wb25lbnRUeXBlLm5leHQodHlwZSk7XG4gIH1cbiAgQElucHV0KCkgc2V0IHBsdWdpbkRlZmluaXRpb25LZXkoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbHVnaW5EZWZpbml0aW9uS2V5Lm5leHQoa2V5KTtcbiAgfVxuICBASW5wdXQoKSBzZXQgZnVuY3Rpb25LZXkoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mdW5jdGlvbktleS5uZXh0KGtleSk7XG4gIH1cbiAgQElucHV0KCkgc2F2ZSQ6IE9ic2VydmFibGU8dm9pZD47XG4gIEBJbnB1dCgpIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgQElucHV0KCkgc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxQbHVnaW5Db25maWd1cmF0aW9uPjtcbiAgQElucHV0KCkgcHJlZmlsbENvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPGFueT47XG4gIEBPdXRwdXQoKSB2YWxpZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgY29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxQbHVnaW5Db25maWd1cmF0aW9uRGF0YT4oKTtcblxuICByZWFkb25seSBub0NvbmZpZ3VyYXRpb25Db21wb25lbnRBdmFpbGFibGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNvbXBvbmVudFJlZiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIENvbXBvbmVudFJlZjxQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50IHwgRnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50PiB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnRSZWZTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcGx1Z2luU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHZhbGlkU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGNvbmZpZ3VyYXRpb25TdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50VHlwZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q29uZmlndXJhdGlvbkNvbXBvbmVudFR5cGUgfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcGx1Z2luRGVmaW5pdGlvbktleSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Z1bmN0aW9uS2V5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVmYXVsdENvbmZpZ3VyYXRpb24gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Q8RGVmYXVsdFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbGlkRGVmYXVsdENvbmZpZ3VyYXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHJlYWRvbmx5IGlzVHlwZUNvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5fY29tcG9uZW50VHlwZS5waXBlKFxuICAgIG1hcChjb21wb25lbnRUeXBlID0+IGNvbXBvbmVudFR5cGUgPT09ICdjb25maWd1cmF0aW9uJyksXG4gICAgdGFwKGlzVHlwZUNvbmZpZ3VyYXRpb24gPT4gdGhpcy5fdmFsaWREZWZhdWx0Q29uZmlndXJhdGlvbi5uZXh0KCFpc1R5cGVDb25maWd1cmF0aW9uKSlcbiAgKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsdWdpblNlcnZpY2U6IFBsdWdpblNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuUGx1Z2luU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuQ29tcG9uZW50SW5zdGFuY2VTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY29tcG9uZW50UmVmU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgb25EZWZhdWx0Q29uZmlndXJhdGlvbihkZWZhdWx0Q29uZmlndXJhdGlvbjogRGVmYXVsdFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhKSB7XG4gICAgdGhpcy5fZGVmYXVsdENvbmZpZ3VyYXRpb24ubmV4dChkZWZhdWx0Q29uZmlndXJhdGlvbik7XG4gIH1cblxuICBvblZhbGlkRGVmYXVsdENvbmZpZ3VyYXRpb24odmFsaWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92YWxpZERlZmF1bHRDb25maWd1cmF0aW9uLm5leHQodmFsaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuUGx1Z2luU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMucGx1Z2luU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLl9wbHVnaW5EZWZpbml0aW9uS2V5LFxuICAgICAgdGhpcy5fZnVuY3Rpb25LZXksXG4gICAgICB0aGlzLl9jb21wb25lbnRUeXBlLFxuICAgICAgdGhpcy5wbHVnaW5TZXJ2aWNlLnBsdWdpblNwZWNpZmljYXRpb25zJCxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoW3BsdWdpbkRlZmluaXRpb25LZXksIGZ1bmN0aW9uS2V5LCBjb21wb25lbnRUeXBlLCBwbHVnaW5TcGVjaWZpY2F0aW9uc10pID0+IHtcbiAgICAgICAgICBsZXQgY29uZmlndXJhdGlvbkNvbXBvbmVudCE6IFR5cGU8XG4gICAgICAgICAgICBQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50IHwgRnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50XG4gICAgICAgICAgPjtcblxuICAgICAgICAgIHRoaXMuZHluYW1pY0NvbnRhaW5lci5jbGVhcigpO1xuXG4gICAgICAgICAgaWYgKGNvbXBvbmVudFR5cGUgPT09ICdjb25maWd1cmF0aW9uJyAmJiBwbHVnaW5EZWZpbml0aW9uS2V5KSB7XG4gICAgICAgICAgICBjb25maWd1cmF0aW9uQ29tcG9uZW50ID0gcGx1Z2luU3BlY2lmaWNhdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgc3BlY2lmaWNhdGlvbiA9PiBzcGVjaWZpY2F0aW9uLnBsdWdpbklkID09PSBwbHVnaW5EZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApPy5wbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50O1xuICAgICAgICAgIH0gZWxzZSBpZiAoY29tcG9uZW50VHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiBwbHVnaW5EZWZpbml0aW9uS2V5ICYmIGZ1bmN0aW9uS2V5KSB7XG4gICAgICAgICAgICBjb25zdCBwbHVnaW5TcGVjaWZpY2F0aW9uID0gcGx1Z2luU3BlY2lmaWNhdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgc3BlY2lmaWNhdGlvbiA9PiBzcGVjaWZpY2F0aW9uLnBsdWdpbklkID09PSBwbHVnaW5EZWZpbml0aW9uS2V5XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uZmlndXJhdGlvbkNvbXBvbmVudCA9XG4gICAgICAgICAgICAgIHBsdWdpblNwZWNpZmljYXRpb24/LmZ1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudHNbZnVuY3Rpb25LZXldO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjb25maWd1cmF0aW9uQ29tcG9uZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmR5bmFtaWNDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbmZpZ3VyYXRpb25Db21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYkLm5leHQoY29tcG9uZW50UmVmKTtcbiAgICAgICAgICAgIHRoaXMubm9Db25maWd1cmF0aW9uQ29tcG9uZW50QXZhaWxhYmxlJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ub0NvbmZpZ3VyYXRpb25Db21wb25lbnRBdmFpbGFibGUkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQ29tcG9uZW50SW5zdGFuY2VTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnRSZWZTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmJCxcbiAgICAgIHRoaXMuX2NvbXBvbmVudFR5cGUsXG4gICAgICB0aGlzLl9wbHVnaW5EZWZpbml0aW9uS2V5LFxuICAgIF0pLnN1YnNjcmliZSgoW3JlZiwgdHlwZSwgcGx1Z2luRGVmaW5pdGlvbktleV0pID0+IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gcmVmPy5pbnN0YW5jZTtcblxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy52YWxpZFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgIGluc3RhbmNlLnNhdmUkID0gdGhpcy5zYXZlJDtcbiAgICAgICAgaW5zdGFuY2UuZGlzYWJsZWQkID0gdGhpcy5kaXNhYmxlZCQ7XG4gICAgICAgIGluc3RhbmNlLnBsdWdpbklkID0gcGx1Z2luRGVmaW5pdGlvbktleTtcblxuICAgICAgICBpZiAodGhpcy5wcmVmaWxsQ29uZmlndXJhdGlvbiQpIHtcbiAgICAgICAgICBpbnN0YW5jZS5wcmVmaWxsQ29uZmlndXJhdGlvbiQgPSB0aGlzLnByZWZpbGxDb25maWd1cmF0aW9uJDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQgJiYgdHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIChpbnN0YW5jZSBhcyBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQpLnNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbkRhdGEkID1cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJC5waXBlKFxuICAgICAgICAgICAgICBtYXAoY29uZmlndXJhdGlvbiA9PlxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgICAgICAgID8gKHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uSWQ6IGNvbmZpZ3VyYXRpb24uaWQsXG4gICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvblRpdGxlOiBjb25maWd1cmF0aW9uLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZ3VyYXRpb24ucHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBQbHVnaW5Db25maWd1cmF0aW9uRGF0YSlcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhbGlkU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgaW5zdGFuY2UudmFsaWQsXG4gICAgICAgICAgdGhpcy5fdmFsaWREZWZhdWx0Q29uZmlndXJhdGlvbixcbiAgICAgICAgXSkuc3Vic2NyaWJlKChbaW5zdGFuY2VWYWxpZCwgZGVmYXVsdENvbmZpZ3VyYXRpb25WYWxpZF0pID0+IHtcbiAgICAgICAgICB0aGlzLnZhbGlkLmVtaXQoaW5zdGFuY2VWYWxpZCAmJiBkZWZhdWx0Q29uZmlndXJhdGlvblZhbGlkKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uU3Vic2NyaXB0aW9uID0gaW5zdGFuY2UuY29uZmlndXJhdGlvbi5zdWJzY3JpYmUoY29uZmlndXJhdGlvbiA9PiB7XG4gICAgICAgICAgY29uc3QgY29uZmlndXJhdGlvbklkID0gdGhpcy5fZGVmYXVsdENvbmZpZ3VyYXRpb24udmFsdWU/LmNvbmZpZ3VyYXRpb25JZDtcbiAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdCh7XG4gICAgICAgICAgICAuLi5jb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgY29uZmlndXJhdGlvbklkLFxuICAgICAgICAgIH0gYXMgYW55IGFzIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tZGVmYXVsdC1wbHVnaW4tY29uZmlndXJhdGlvblxuICAqbmdJZj1cImlzVHlwZUNvbmZpZ3VyYXRpb24kIHwgYXN5bmNcIlxuICBbcHJlZmlsbENvbmZpZ3VyYXRpb24kXT1cInByZWZpbGxDb25maWd1cmF0aW9uJFwiXG4gIFtzYXZlJF09XCJzYXZlJFwiXG4gIFtkaXNhYmxlZCRdPVwiZGlzYWJsZWQkXCJcbiAgKHZhbGlkKT1cIm9uVmFsaWREZWZhdWx0Q29uZmlndXJhdGlvbigkZXZlbnQpXCJcbiAgKGNvbmZpZ3VyYXRpb24pPVwib25EZWZhdWx0Q29uZmlndXJhdGlvbigkZXZlbnQpXCJcbj5cbjwvdmFsdGltby1kZWZhdWx0LXBsdWdpbi1jb25maWd1cmF0aW9uPlxuPG5nLXRlbXBsYXRlICNwbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50PjwvbmctdGVtcGxhdGU+XG48bmctY29udGFpbmVyICpuZ0lmPVwibm9Db25maWd1cmF0aW9uQ29tcG9uZW50QXZhaWxhYmxlJCB8IGFzeW5jXCI+XG4gIDx2LXBhcmFncmFwaCBbY2VudGVyXT1cInRydWVcIj57eyAncGx1Z2luLm5vQ29uZmlndXJhdGlvbkNvbXBvbmVudCcgfCB0cmFuc2xhdGUgfX08L3YtcGFyYWdyYXBoPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -14,4 +14,4 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export {};
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wbHVnaW4vc3JjL2xpYi9tb2RlbHMvcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW50ZXJmYWNlIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhIHtcbiAgY29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG4gIGNvbmZpZ3VyYXRpb25UaXRsZTogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmludGVyZmFjZSBEZWZhdWx0UGx1Z2luQ29uZmlndXJhdGlvbkRhdGEge1xuICBjb25maWd1cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEZ1bmN0aW9uQ29uZmlndXJhdGlvbkRhdGEge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmludGVyZmFjZSBDb25maWd1cmF0aW9uQ29tcG9uZW50IHtcbiAgc2F2ZSQ6IE9ic2VydmFibGU8dm9pZD47XG4gIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcGx1Z2luSWQ6IHN0cmluZztcbiAgdmFsaWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcbn1cblxuaW50ZXJmYWNlIFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uQ29tcG9uZW50IHtcbiAgcHJlZmlsbENvbmZpZ3VyYXRpb24kPzogT2JzZXJ2YWJsZTxQbHVnaW5Db25maWd1cmF0aW9uRGF0YT47XG4gIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxQbHVnaW5Db25maWd1cmF0aW9uRGF0YT47XG59XG5cbmludGVyZmFjZSBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uQ29tcG9uZW50IHtcbiAgcHJlZmlsbENvbmZpZ3VyYXRpb24kPzogT2JzZXJ2YWJsZTxGdW5jdGlvbkNvbmZpZ3VyYXRpb25EYXRhPjtcbiAgY29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPEZ1bmN0aW9uQ29uZmlndXJhdGlvbkRhdGE+O1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luU3BlY2lmaWNhdGlvbiB7XG4gIHBsdWdpbklkOiBzdHJpbmc7XG4gIHBsdWdpbkxvZ29CYXNlNjQ6IHN0cmluZztcbiAgcGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudDogVHlwZTxQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50PjtcbiAgZnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50cz86IHtcbiAgICBbZnVuY3Rpb25JZDogc3RyaW5nXTogVHlwZTxGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQ+O1xuICB9O1xuICBwbHVnaW5UcmFuc2xhdGlvbnM6IHtcbiAgICBbbGFuZ0tleTogc3RyaW5nXToge1xuICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICBbdHJhbnNsYXRpb25LZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG50eXBlIFBsdWdpbkNvbmZpZyA9IEFycmF5PFBsdWdpblNwZWNpZmljYXRpb24+O1xuXG50eXBlIENvbmZpZ3VyYXRpb25Db21wb25lbnRUeXBlID0gJ2Z1bmN0aW9uJyB8ICdjb25maWd1cmF0aW9uJztcblxuaW50ZXJmYWNlIFBsdWdpbkRlZmluaXRpb24ge1xuICBrZXk6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luRGVmaW5pdGlvbldpdGhMb2dvIGV4dGVuZHMgUGx1Z2luRGVmaW5pdGlvbiB7XG4gIHBsdWdpbkxvZ29CYXNlNjQ/OiBTYWZlUmVzb3VyY2VVcmw7XG59XG5cbmludGVyZmFjZSBQbHVnaW5Db25maWd1cmF0aW9uIHtcbiAgZGVmaW5pdGlvbktleT86IHN0cmluZztcbiAgcGx1Z2luRGVmaW5pdGlvbj86IFBsdWdpbkRlZmluaXRpb247XG4gIGlkPzogc3RyaW5nO1xuICBuZXdJZD86IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgcHJvcGVydGllczogb2JqZWN0O1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luQ29uZmlndXJhdGlvbldpdGhMb2dvIGV4dGVuZHMgUGx1Z2luQ29uZmlndXJhdGlvbiB7XG4gIHBsdWdpbkxvZ29CYXNlNjQ/OiBTYWZlUmVzb3VyY2VVcmw7XG59XG5cbmludGVyZmFjZSBQbHVnaW5GdW5jdGlvbiB7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB7XG4gIFBsdWdpblNwZWNpZmljYXRpb24sXG4gIFBsdWdpbkNvbmZpZyxcbiAgUGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgQ29uZmlndXJhdGlvbkNvbXBvbmVudFR5cGUsXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhLFxuICBEZWZhdWx0UGx1Z2luQ29uZmlndXJhdGlvbkRhdGEsXG4gIEZ1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgRnVuY3Rpb25Db25maWd1cmF0aW9uRGF0YSxcbiAgUGx1Z2luQ29uZmlndXJhdGlvbixcbiAgUGx1Z2luRGVmaW5pdGlvbixcbiAgUGx1Z2luRnVuY3Rpb24sXG4gIFBsdWdpbkRlZmluaXRpb25XaXRoTG9nbyxcbiAgUGx1Z2luQ29uZmlndXJhdGlvbldpdGhMb2dvLFxufTtcbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wbHVnaW4vc3JjL2xpYi9tb2RlbHMvcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7U2FmZVJlc291cmNlVXJsfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW50ZXJmYWNlIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhIHtcbiAgY29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG4gIGNvbmZpZ3VyYXRpb25UaXRsZTogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmludGVyZmFjZSBEZWZhdWx0UGx1Z2luQ29uZmlndXJhdGlvbkRhdGEge1xuICBjb25maWd1cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEZ1bmN0aW9uQ29uZmlndXJhdGlvbkRhdGEge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmludGVyZmFjZSBDb25maWd1cmF0aW9uQ29tcG9uZW50IHtcbiAgc2F2ZSQ6IE9ic2VydmFibGU8dm9pZD47XG4gIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcGx1Z2luSWQ6IHN0cmluZztcbiAgdmFsaWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcbn1cblxuaW50ZXJmYWNlIFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uQ29tcG9uZW50IHtcbiAgcHJlZmlsbENvbmZpZ3VyYXRpb24kPzogT2JzZXJ2YWJsZTxQbHVnaW5Db25maWd1cmF0aW9uRGF0YT47XG4gIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxQbHVnaW5Db25maWd1cmF0aW9uRGF0YT47XG59XG5cbmludGVyZmFjZSBGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQgZXh0ZW5kcyBDb25maWd1cmF0aW9uQ29tcG9uZW50IHtcbiAgcHJlZmlsbENvbmZpZ3VyYXRpb24kPzogT2JzZXJ2YWJsZTxGdW5jdGlvbkNvbmZpZ3VyYXRpb25EYXRhPjtcbiAgc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uRGF0YSQ/OiBPYnNlcnZhYmxlPFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhPjtcbiAgY29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPEZ1bmN0aW9uQ29uZmlndXJhdGlvbkRhdGE+O1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luU3BlY2lmaWNhdGlvbiB7XG4gIHBsdWdpbklkOiBzdHJpbmc7XG4gIHBsdWdpbkxvZ29CYXNlNjQ6IHN0cmluZztcbiAgcGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudDogVHlwZTxQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50PjtcbiAgZnVuY3Rpb25Db25maWd1cmF0aW9uQ29tcG9uZW50cz86IHtcbiAgICBbZnVuY3Rpb25JZDogc3RyaW5nXTogVHlwZTxGdW5jdGlvbkNvbmZpZ3VyYXRpb25Db21wb25lbnQ+O1xuICB9O1xuICBwbHVnaW5UcmFuc2xhdGlvbnM6IHtcbiAgICBbbGFuZ0tleTogc3RyaW5nXToge1xuICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgICBbdHJhbnNsYXRpb25LZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG50eXBlIFBsdWdpbkNvbmZpZyA9IEFycmF5PFBsdWdpblNwZWNpZmljYXRpb24+O1xuXG50eXBlIENvbmZpZ3VyYXRpb25Db21wb25lbnRUeXBlID0gJ2Z1bmN0aW9uJyB8ICdjb25maWd1cmF0aW9uJztcblxuaW50ZXJmYWNlIFBsdWdpbkRlZmluaXRpb24ge1xuICBrZXk6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luRGVmaW5pdGlvbldpdGhMb2dvIGV4dGVuZHMgUGx1Z2luRGVmaW5pdGlvbiB7XG4gIHBsdWdpbkxvZ29CYXNlNjQ/OiBTYWZlUmVzb3VyY2VVcmw7XG59XG5cbmludGVyZmFjZSBQbHVnaW5Db25maWd1cmF0aW9uIHtcbiAgZGVmaW5pdGlvbktleT86IHN0cmluZztcbiAgcGx1Z2luRGVmaW5pdGlvbj86IFBsdWdpbkRlZmluaXRpb247XG4gIGlkPzogc3RyaW5nO1xuICBuZXdJZD86IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgcHJvcGVydGllczogb2JqZWN0O1xufVxuXG5pbnRlcmZhY2UgUGx1Z2luQ29uZmlndXJhdGlvbldpdGhMb2dvIGV4dGVuZHMgUGx1Z2luQ29uZmlndXJhdGlvbiB7XG4gIHBsdWdpbkxvZ29CYXNlNjQ/OiBTYWZlUmVzb3VyY2VVcmw7XG59XG5cbmludGVyZmFjZSBQbHVnaW5GdW5jdGlvbiB7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB7XG4gIFBsdWdpblNwZWNpZmljYXRpb24sXG4gIFBsdWdpbkNvbmZpZyxcbiAgUGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgQ29uZmlndXJhdGlvbkNvbXBvbmVudFR5cGUsXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb25EYXRhLFxuICBEZWZhdWx0UGx1Z2luQ29uZmlndXJhdGlvbkRhdGEsXG4gIEZ1bmN0aW9uQ29uZmlndXJhdGlvbkNvbXBvbmVudCxcbiAgRnVuY3Rpb25Db25maWd1cmF0aW9uRGF0YSxcbiAgUGx1Z2luQ29uZmlndXJhdGlvbixcbiAgUGx1Z2luRGVmaW5pdGlvbixcbiAgUGx1Z2luRnVuY3Rpb24sXG4gIFBsdWdpbkRlZmluaXRpb25XaXRoTG9nbyxcbiAgUGx1Z2luQ29uZmlndXJhdGlvbldpdGhMb2dvLFxufTtcbiJdfQ==
@@ -68,11 +68,11 @@ export class BesluitenApiConfigurationComponent {
68
68
  });
69
69
  }
70
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BesluitenApiConfigurationComponent, deps: [{ token: i1.PluginManagementService }, { token: i2.TranslateService }, { token: i1.PluginTranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BesluitenApiConfigurationComponent, selector: "valtimo-besluiten-api-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i4.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId"], outputs: ["valueChange"] }, { kind: "component", type: i4.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PluginTranslatePipe, name: "pluginTranslate" }] }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BesluitenApiConfigurationComponent, selector: "valtimo-besluiten-api-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i4.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder", "dataTestId", "trim"], outputs: ["valueChange"] }, { kind: "component", type: i4.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "dropUp", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme", "appendInline", "dataTestId"], outputs: ["selectedChange"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PluginTranslatePipe, name: "pluginTranslate" }] }); }
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BesluitenApiConfigurationComponent, decorators: [{
74
74
  type: Component,
75
- args: [{ selector: 'valtimo-besluiten-api-configuration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
75
+ args: [{ selector: 'valtimo-besluiten-api-configuration', template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: prefillConfiguration$ ? (prefillConfiguration$ | async) : null,\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"Besluiten API Plugin\"\n >\n </v-input>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"123456789\"\n >\n </v-input>\n <v-input\n name=\"url\"\n [title]=\"'url' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.url\"\n [required]=\"true\"\n [trim]=\"true\"\n [tooltip]=\"'urlTooltip' | pluginTranslate: pluginId | async\"\n placeholder=\"https://openzaak.example.com/besluiten/api/v1/ \"\n >\n </v-input>\n <ng-container\n *ngIf=\"{authenticationPluginSelectItems: authenticationPluginSelectItems$ | async} as authObs\"\n >\n <v-select\n [items]=\"authObs.authenticationPluginSelectItems\"\n [margin]=\"true\"\n name=\"authenticationPluginConfiguration\"\n [title]=\"'authenticationPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.authenticationPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!authObs.authenticationPluginSelectItems\"\n ></v-select>\n </ng-container>\n</v-form>\n", styles: ["/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
76
76
  }], ctorParameters: () => [{ type: i1.PluginManagementService }, { type: i2.TranslateService }, { type: i1.PluginTranslationService }], propDecorators: { save$: [{
77
77
  type: Input
78
78
  }], disabled$: [{
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
86
86
  }], configuration: [{
87
87
  type: Output
88
88
  }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVzbHVpdGVuLWFwaS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy9iZXNsdWl0ZW4tYXBpL2NvbXBvbmVudHMvYmVzbHVpdGVuLWFwaS1jb25maWd1cmF0aW9uL2Jlc2x1aXRlbi1hcGktY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvYmVzbHVpdGVuLWFwaS9jb21wb25lbnRzL2Jlc2x1aXRlbi1hcGktY29uZmlndXJhdGlvbi9iZXNsdWl0ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQTRCLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVV6RixNQUFNLE9BQU8sa0NBQWtDO0lBK0I3QyxZQUNtQix1QkFBZ0QsRUFDaEQsZ0JBQWtDLEVBQ2xDLHdCQUFrRDtRQUZsRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQTNCM0QsVUFBSyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzNELGtCQUFhLEdBQ3JCLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQ2hDLHFDQUFnQyxHQUN2QyxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMsaUNBQWlDLENBQzVELDhCQUE4QixDQUMvQjtZQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLENBQ3ZCLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLEVBQUUsRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNwQixJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQ3JFLE9BQU8sRUFDUCxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUNuQyxFQUFFO1NBQ0osQ0FBQyxDQUFDLENBQ0osQ0FDRixDQUFDO1FBRWEsZUFBVSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQztRQUNsRSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFNM0QsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQTZCO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUE2QjtRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FDZCxTQUFTLENBQUMsa0JBQWtCO1lBQzVCLFNBQVMsQ0FBQyxJQUFJO1lBQ2QsU0FBUyxDQUFDLEdBQUc7WUFDYixTQUFTLENBQUMsaUNBQWlDLENBQzVDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuRCxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBeEVVLGtDQUFrQzttR0FBbEMsa0NBQWtDLGtRQzVCL0MseWdGQXVFQTs7NEZEM0NhLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDRSxxQ0FBcUM7a0tBT3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0YWtlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QmVzbHVpdGVuQXBpQ29uZmlnfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtQbHVnaW5NYW5hZ2VtZW50U2VydmljZSwgUGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWJlc2x1aXRlbi1hcGktY29uZmlndXJhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZXNsdWl0ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZXNsdWl0ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmVzbHVpdGVuQXBpQ29uZmlndXJhdGlvbkNvbXBvbmVudFxuICBpbXBsZW1lbnRzIFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIHNhdmUkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICBASW5wdXQoKSBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIEBJbnB1dCgpIHBsdWdpbklkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxCZXNsdWl0ZW5BcGlDb25maWc+O1xuICBAT3V0cHV0KCkgdmFsaWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxCZXNsdWl0ZW5BcGlDb25maWc+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEJlc2x1aXRlbkFwaUNvbmZpZz4oKTtcbiAgcmVhZG9ubHkgYXV0aGVudGljYXRpb25QbHVnaW5TZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8e2lkOiBzdHJpbmc7IHRleHQ6IHN0cmluZ30+PiA9XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLmdldFBsdWdpbkNvbmZpZ3VyYXRpb25zQnlDYXRlZ29yeShcbiAgICAgICAgJ2Jlc2x1aXRlbi1hcGktYXV0aGVudGljYXRpb24nXG4gICAgICApLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2NvbmZpZ3VyYXRpb25zXSkgPT5cbiAgICAgICAgY29uZmlndXJhdGlvbnMubWFwKGNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICAgICAgICBpZDogY29uZmlndXJhdGlvbi5pZCxcbiAgICAgICAgICB0ZXh0OiBgJHtjb25maWd1cmF0aW9uLnRpdGxlfSAtICR7dGhpcy5wbHVnaW5UcmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICd0aXRsZScsXG4gICAgICAgICAgICBjb25maWd1cmF0aW9uLnBsdWdpbkRlZmluaXRpb24ua2V5XG4gICAgICAgICAgKX1gLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuICBwcml2YXRlIHNhdmVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmVzbHVpdGVuQXBpQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlOiBQbHVnaW5UcmFuc2xhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IEJlc2x1aXRlbkFwaUNvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVZhbHVlJC5uZXh0KGZvcm1WYWx1ZSk7XG4gICAgdGhpcy5oYW5kbGVWYWxpZChmb3JtVmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWxpZChmb3JtVmFsdWU6IEJlc2x1aXRlbkFwaUNvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkID0gISEoXG4gICAgICBmb3JtVmFsdWUuY29uZmlndXJhdGlvblRpdGxlICYmXG4gICAgICBmb3JtVmFsdWUucnNpbiAmJlxuICAgICAgZm9ybVZhbHVlLnVybCAmJlxuICAgICAgZm9ybVZhbHVlLmF1dGhlbnRpY2F0aW9uUGx1Z2luQ29uZmlndXJhdGlvblxuICAgICk7XG5cbiAgICB0aGlzLnZhbGlkJC5uZXh0KHZhbGlkKTtcbiAgICB0aGlzLnZhbGlkLmVtaXQodmFsaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2F2ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVTdWJzY3JpcHRpb24gPSB0aGlzLnNhdmUkPy5zdWJzY3JpYmUoc2F2ZSA9PiB7XG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmZvcm1WYWx1ZSQsIHRoaXMudmFsaWQkXSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoW2Zvcm1WYWx1ZSwgdmFsaWRdKSA9PiB7XG4gICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdChmb3JtVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtZm9ybVxuICAodmFsdWVDaGFuZ2UpPVwiZm9ybVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAqbmdJZj1cIntcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgcHJlZmlsbDogcHJlZmlsbENvbmZpZ3VyYXRpb24kID8gKHByZWZpbGxDb25maWd1cmF0aW9uJCB8IGFzeW5jKSA6IG51bGwsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPHYtaW5wdXRcbiAgICBuYW1lPVwiY29uZmlndXJhdGlvblRpdGxlXCJcbiAgICBbdGl0bGVdPVwiJ2NvbmZpZ3VyYXRpb25UaXRsZScgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8uY29uZmlndXJhdGlvblRpdGxlXCJcbiAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgW3Rvb2x0aXBdPVwiJ2NvbmZpZ3VyYXRpb25UaXRsZVRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICBwbGFjZWhvbGRlcj1cIkJlc2x1aXRlbiBBUEkgUGx1Z2luXCJcbiAgPlxuICA8L3YtaW5wdXQ+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cInJzaW5cIlxuICAgIFt0aXRsZV09XCIncnNpbicgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8ucnNpblwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIidyc2luVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIHBsYWNlaG9sZGVyPVwiMTIzNDU2Nzg5XCJcbiAgPlxuICA8L3YtaW5wdXQ+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cInVybFwiXG4gICAgW3RpdGxlXT1cIid1cmwnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LnVybFwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIid1cmxUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgcGxhY2Vob2xkZXI9XCJodHRwczovL29wZW56YWFrLmV4YW1wbGUuY29tL2Jlc2x1aXRlbi9hcGkvdjEvIFwiXG4gID5cbiAgPC92LWlucHV0PlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJ7YXV0aGVudGljYXRpb25QbHVnaW5TZWxlY3RJdGVtczogYXV0aGVudGljYXRpb25QbHVnaW5TZWxlY3RJdGVtcyQgfCBhc3luY30gYXMgYXV0aE9ic1wiXG4gID5cbiAgICA8di1zZWxlY3RcbiAgICAgIFtpdGVtc109XCJhdXRoT2JzLmF1dGhlbnRpY2F0aW9uUGx1Z2luU2VsZWN0SXRlbXNcIlxuICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgIG5hbWU9XCJhdXRoZW50aWNhdGlvblBsdWdpbkNvbmZpZ3VyYXRpb25cIlxuICAgICAgW3RpdGxlXT1cIidhdXRoZW50aWNhdGlvblBsdWdpbkNvbmZpZ3VyYXRpb24nIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJvYnMucHJlZmlsbD8uYXV0aGVudGljYXRpb25QbHVnaW5Db25maWd1cmF0aW9uXCJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIFtsb2FkaW5nXT1cIiFhdXRoT2JzLmF1dGhlbnRpY2F0aW9uUGx1Z2luU2VsZWN0SXRlbXNcIlxuICAgID48L3Ytc2VsZWN0PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvdi1mb3JtPlxuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVzbHVpdGVuLWFwaS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy9iZXNsdWl0ZW4tYXBpL2NvbXBvbmVudHMvYmVzbHVpdGVuLWFwaS1jb25maWd1cmF0aW9uL2Jlc2x1aXRlbi1hcGktY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvYmVzbHVpdGVuLWFwaS9jb21wb25lbnRzL2Jlc2x1aXRlbi1hcGktY29uZmlndXJhdGlvbi9iZXNsdWl0ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQTRCLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQzs7Ozs7OztBQVV6RixNQUFNLE9BQU8sa0NBQWtDO0lBK0I3QyxZQUNtQix1QkFBZ0QsRUFDaEQsZ0JBQWtDLEVBQ2xDLHdCQUFrRDtRQUZsRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQTNCM0QsVUFBSyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzNELGtCQUFhLEdBQ3JCLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQ2hDLHFDQUFnQyxHQUN2QyxhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMsaUNBQWlDLENBQzVELDhCQUE4QixDQUMvQjtZQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLENBQ3ZCLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLEVBQUUsRUFBRSxhQUFhLENBQUMsRUFBRTtZQUNwQixJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQ3JFLE9BQU8sRUFDUCxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUNuQyxFQUFFO1NBQ0osQ0FBQyxDQUFDLENBQ0osQ0FDRixDQUFDO1FBRWEsZUFBVSxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsQ0FBQztRQUNsRSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFNM0QsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQTZCO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxTQUE2QjtRQUMvQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FDZCxTQUFTLENBQUMsa0JBQWtCO1lBQzVCLFNBQVMsQ0FBQyxJQUFJO1lBQ2QsU0FBUyxDQUFDLEdBQUc7WUFDYixTQUFTLENBQUMsaUNBQWlDLENBQzVDLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuRCxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNWLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBeEVVLGtDQUFrQzttR0FBbEMsa0NBQWtDLGtRQzVCL0Msd2tGQTBFQTs7NEZEOUNhLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDRSxxQ0FBcUM7a0tBT3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQbHVnaW5Db25maWd1cmF0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB0YWtlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QmVzbHVpdGVuQXBpQ29uZmlnfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtQbHVnaW5NYW5hZ2VtZW50U2VydmljZSwgUGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLWJlc2x1aXRlbi1hcGktY29uZmlndXJhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZXNsdWl0ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZXNsdWl0ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmVzbHVpdGVuQXBpQ29uZmlndXJhdGlvbkNvbXBvbmVudFxuICBpbXBsZW1lbnRzIFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIHNhdmUkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICBASW5wdXQoKSBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIEBJbnB1dCgpIHBsdWdpbklkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByZWZpbGxDb25maWd1cmF0aW9uJDogT2JzZXJ2YWJsZTxCZXNsdWl0ZW5BcGlDb25maWc+O1xuICBAT3V0cHV0KCkgdmFsaWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxCZXNsdWl0ZW5BcGlDb25maWc+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEJlc2x1aXRlbkFwaUNvbmZpZz4oKTtcbiAgcmVhZG9ubHkgYXV0aGVudGljYXRpb25QbHVnaW5TZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8e2lkOiBzdHJpbmc7IHRleHQ6IHN0cmluZ30+PiA9XG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLmdldFBsdWdpbkNvbmZpZ3VyYXRpb25zQnlDYXRlZ29yeShcbiAgICAgICAgJ2Jlc2x1aXRlbi1hcGktYXV0aGVudGljYXRpb24nXG4gICAgICApLFxuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2NvbmZpZ3VyYXRpb25zXSkgPT5cbiAgICAgICAgY29uZmlndXJhdGlvbnMubWFwKGNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICAgICAgICBpZDogY29uZmlndXJhdGlvbi5pZCxcbiAgICAgICAgICB0ZXh0OiBgJHtjb25maWd1cmF0aW9uLnRpdGxlfSAtICR7dGhpcy5wbHVnaW5UcmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAgICd0aXRsZScsXG4gICAgICAgICAgICBjb25maWd1cmF0aW9uLnBsdWdpbkRlZmluaXRpb24ua2V5XG4gICAgICAgICAgKX1gLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuICBwcml2YXRlIHNhdmVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QmVzbHVpdGVuQXBpQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlOiBQbHVnaW5UcmFuc2xhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IEJlc2x1aXRlbkFwaUNvbmZpZyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVZhbHVlJC5uZXh0KGZvcm1WYWx1ZSk7XG4gICAgdGhpcy5oYW5kbGVWYWxpZChmb3JtVmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVWYWxpZChmb3JtVmFsdWU6IEJlc2x1aXRlbkFwaUNvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkID0gISEoXG4gICAgICBmb3JtVmFsdWUuY29uZmlndXJhdGlvblRpdGxlICYmXG4gICAgICBmb3JtVmFsdWUucnNpbiAmJlxuICAgICAgZm9ybVZhbHVlLnVybCAmJlxuICAgICAgZm9ybVZhbHVlLmF1dGhlbnRpY2F0aW9uUGx1Z2luQ29uZmlndXJhdGlvblxuICAgICk7XG5cbiAgICB0aGlzLnZhbGlkJC5uZXh0KHZhbGlkKTtcbiAgICB0aGlzLnZhbGlkLmVtaXQodmFsaWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2F2ZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVTdWJzY3JpcHRpb24gPSB0aGlzLnNhdmUkPy5zdWJzY3JpYmUoc2F2ZSA9PiB7XG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmZvcm1WYWx1ZSQsIHRoaXMudmFsaWQkXSlcbiAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgLnN1YnNjcmliZSgoW2Zvcm1WYWx1ZSwgdmFsaWRdKSA9PiB7XG4gICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdChmb3JtVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtZm9ybVxuICAodmFsdWVDaGFuZ2UpPVwiZm9ybVZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAqbmdJZj1cIntcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgcHJlZmlsbDogcHJlZmlsbENvbmZpZ3VyYXRpb24kID8gKHByZWZpbGxDb25maWd1cmF0aW9uJCB8IGFzeW5jKSA6IG51bGwsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPHYtaW5wdXRcbiAgICBuYW1lPVwiY29uZmlndXJhdGlvblRpdGxlXCJcbiAgICBbdGl0bGVdPVwiJ2NvbmZpZ3VyYXRpb25UaXRsZScgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8uY29uZmlndXJhdGlvblRpdGxlXCJcbiAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgW3RyaW1dPVwidHJ1ZVwiXG4gICAgW3Rvb2x0aXBdPVwiJ2NvbmZpZ3VyYXRpb25UaXRsZVRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICBwbGFjZWhvbGRlcj1cIkJlc2x1aXRlbiBBUEkgUGx1Z2luXCJcbiAgPlxuICA8L3YtaW5wdXQ+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cInJzaW5cIlxuICAgIFt0aXRsZV09XCIncnNpbicgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8ucnNpblwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0cmltXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIidyc2luVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIHBsYWNlaG9sZGVyPVwiMTIzNDU2Nzg5XCJcbiAgPlxuICA8L3YtaW5wdXQ+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cInVybFwiXG4gICAgW3RpdGxlXT1cIid1cmwnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LnVybFwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0cmltXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIid1cmxUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgcGxhY2Vob2xkZXI9XCJodHRwczovL29wZW56YWFrLmV4YW1wbGUuY29tL2Jlc2x1aXRlbi9hcGkvdjEvIFwiXG4gID5cbiAgPC92LWlucHV0PlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJ7YXV0aGVudGljYXRpb25QbHVnaW5TZWxlY3RJdGVtczogYXV0aGVudGljYXRpb25QbHVnaW5TZWxlY3RJdGVtcyQgfCBhc3luY30gYXMgYXV0aE9ic1wiXG4gID5cbiAgICA8di1zZWxlY3RcbiAgICAgIFtpdGVtc109XCJhdXRoT2JzLmF1dGhlbnRpY2F0aW9uUGx1Z2luU2VsZWN0SXRlbXNcIlxuICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgIG5hbWU9XCJhdXRoZW50aWNhdGlvblBsdWdpbkNvbmZpZ3VyYXRpb25cIlxuICAgICAgW3RpdGxlXT1cIidhdXRoZW50aWNhdGlvblBsdWdpbkNvbmZpZ3VyYXRpb24nIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJvYnMucHJlZmlsbD8uYXV0aGVudGljYXRpb25QbHVnaW5Db25maWd1cmF0aW9uXCJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgIFtsb2FkaW5nXT1cIiFhdXRoT2JzLmF1dGhlbnRpY2F0aW9uUGx1Z2luU2VsZWN0SXRlbXNcIlxuICAgID48L3Ytc2VsZWN0PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvdi1mb3JtPlxuIl19