@valtimo/object-management 10.2.1 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +16 -7
  2. package/esm2020/lib/components/object-management-detail-container/object-management-detail-container.component.mjs +6 -5
  3. package/esm2020/lib/components/object-management-detail-container/tabs/object-management-detail/object-management-detail.component.mjs +13 -7
  4. package/esm2020/lib/components/object-management-detail-container/tabs/object-management-list-columns/object-management-list-columns.component.mjs +434 -0
  5. package/esm2020/lib/components/object-management-detail-container/tabs/object-management-list-search-fields/object-management-list-search-fields.component.mjs +325 -0
  6. package/esm2020/lib/components/object-management-list/object-management-list.component.mjs +8 -5
  7. package/esm2020/lib/components/object-management-modal/object-management-modal.component.mjs +14 -11
  8. package/esm2020/lib/components/object-management-upload-modal/object-management-upload-modal.component.mjs +16 -7
  9. package/esm2020/lib/models/object-management.model.mjs +1 -1
  10. package/esm2020/lib/object-management-routing.module.mjs +2 -2
  11. package/esm2020/lib/object-management.module.mjs +65 -15
  12. package/esm2020/lib/services/object-management.service.mjs +29 -2
  13. package/esm2020/lib/services/tab.enum.mjs +2 -1
  14. package/esm2020/public-api.mjs +1 -1
  15. package/fesm2015/valtimo-object-management.mjs +826 -63
  16. package/fesm2015/valtimo-object-management.mjs.map +1 -1
  17. package/fesm2020/valtimo-object-management.mjs +864 -63
  18. package/fesm2020/valtimo-object-management.mjs.map +1 -1
  19. package/lib/components/object-management-detail-container/tabs/object-management-detail/object-management-detail.component.d.ts +2 -1
  20. package/lib/components/object-management-detail-container/tabs/object-management-list-columns/object-management-list-columns.component.d.ts +91 -0
  21. package/lib/components/object-management-detail-container/tabs/object-management-list-search-fields/object-management-list-search-fields.component.d.ts +76 -0
  22. package/lib/models/object-management.model.d.ts +29 -0
  23. package/lib/object-management.module.d.ts +10 -7
  24. package/lib/services/object-management.service.d.ts +10 -2
  25. package/lib/services/tab.enum.d.ts +2 -1
  26. package/package.json +1 -1
  27. package/esm2020/lib/components/object-management-detail-container/tabs/object-management-list-tab/object-management-list-tab.component.mjs +0 -30
  28. package/lib/components/object-management-detail-container/tabs/object-management-list-tab/object-management-list-tab.component.d.ts +0 -9
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { Component, Input, ViewChild } from '@angular/core';
16
+ import { Component, Input, ViewChild, } from '@angular/core';
17
17
  import { BehaviorSubject, combineLatest, map } from 'rxjs';
18
18
  import { take } from 'rxjs/operators';
19
19
  import * as i0 from "@angular/core";
@@ -36,24 +36,26 @@ export class ObjectManagementModalComponent {
36
36
  this.modalType$ = this.objectManagementState.modalType$;
37
37
  this.formData$ = new BehaviorSubject(null);
38
38
  this.selectedObjecttype$ = new BehaviorSubject(null);
39
- this.formDefinitions$ = this.formManagementService.queryFormDefinitions().pipe(map((results) => results?.body?.content.map(configuration => ({
39
+ this.formDefinitions$ = this.formManagementService.queryFormDefinitions().pipe(map(results => results?.body?.content.map(configuration => ({
40
40
  id: configuration.id,
41
- text: configuration.name
41
+ text: configuration.name,
42
42
  }))));
43
- this.configurationInstances$ = this.pluginManagementService.getAllPluginConfigurations().pipe(map((configurations) => configurations));
44
- this.objectsApiConfigurations$ = this.configurationInstances$.pipe(map((configurations) => {
43
+ this.configurationInstances$ = this.pluginManagementService
44
+ .getAllPluginConfigurations()
45
+ .pipe(map(configurations => configurations));
46
+ this.objectsApiConfigurations$ = this.configurationInstances$.pipe(map(configurations => {
45
47
  const filteredObjectsApiConfigurations = configurations.filter(configuration => configuration?.pluginDefinition?.key === 'objectenapi');
46
48
  return filteredObjectsApiConfigurations.map(configuration => ({
47
49
  id: configuration.id,
48
50
  text: configuration.title,
49
51
  }));
50
52
  }));
51
- this.objecttypesApiConfigurations$ = this.configurationInstances$.pipe(map((configurations) => {
53
+ this.objecttypesApiConfigurations$ = this.configurationInstances$.pipe(map(configurations => {
52
54
  const filteredObjecttypesApiConfigurations = configurations.filter(configuration => configuration?.pluginDefinition?.key === 'objecttypenapi');
53
55
  return filteredObjecttypesApiConfigurations.map(configuration => ({
54
56
  id: configuration.id,
55
57
  text: configuration.title,
56
- properties: configuration.properties
58
+ properties: configuration.properties,
57
59
  }));
58
60
  }));
59
61
  }
@@ -121,21 +123,22 @@ export class ObjectManagementModalComponent {
121
123
  this.valid$.next(!!(data.title &&
122
124
  data.objectenApiPluginConfigurationId &&
123
125
  data.objecttypenApiPluginConfigurationId &&
124
- data.objecttypeId));
126
+ data.objecttypeId,
127
+ data.objecttypeVersion));
125
128
  }
126
129
  selectObjectType(objecttype) {
127
130
  this.selectedObjecttype$.next(objecttype);
128
131
  }
129
132
  }
130
133
  ObjectManagementModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectManagementModalComponent, deps: [{ token: i1.ObjectManagementStateService }, { token: i2.ObjectManagementService }, { token: i3.FormManagementService }, { token: i4.PluginManagementService }, { token: i5.ModalService }], target: i0.ɵɵFactoryTarget.Component });
131
- ObjectManagementModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectManagementModalComponent, selector: "valtimo-object-management-modal", inputs: { prefillObject$: "prefillObject$" }, viewQueries: [{ propertyName: "objectManagementModal", first: true, predicate: ["objectManagementModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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-modal #objectManagementModal *ngIf=\"{\n disabled: disabled$ | async,\n valid: valid$ | async,\n modalType: modalType$ | async,\n prefillObject: prefillObject$ | async\n } as obs\">\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ (obs.modalType === 'add' ? 'objectManagement.createObjecttype' : 'objectManagement.editObjecttype') | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"form; context: {prefillObject: obs.prefillObject, modalType: obs.modalType}\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button (clickEvent)=\"save()\" [disabled]=\"obs.disabled || !obs.valid\" mdiIcon=\"plus\" type=\"success\">\n {{ (obs.modalType === 'add' ? 'objectManagement.add' : 'objectManagement.edit') | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #form let-prefillObject=\"prefillObject\" let-modalType=\"modalType\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input *ngIf=\"modalType === 'edit'\"\n hidden\n [disabled]=\"true\"\n [defaultValue]=\"prefillObject?.id\"\n name=\"id\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.title' | translate\"\n [tooltip]=\"'objectManagement.tooltips.title' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.title\"\n name=\"title\"\n ></v-input>\n\n <ng-container *ngIf=\"{\n connectionInstances: configurationInstances$ | async,\n objectsApiConfigurations: objectsApiConfigurations$ | async,\n objecttypesApiConfigurations: objecttypesApiConfigurations$ | async\n } as objectObs\"\n >\n <v-select\n [items]=\"objectObs.objectsApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objects' | translate\"\n [defaultSelectionId]=\"prefillObject?.objectenApiPluginConfigurationId\"\n [required]=\"true\"\n ></v-select>\n\n <v-select\n [items]=\"objectObs.objecttypesApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objecttypes' | translate\"\n [defaultSelectionId]=\"prefillObject?.objecttypenApiPluginConfigurationId\"\n [required]=\"true\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeId' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeId' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeId\"\n name=\"objecttypeId\"\n ></v-input>\n\n <ng-container *ngIf=\"{formDefinitions: formDefinitions$ | async} as formObs\">\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionView\"\n [title]=\"'objectManagement.labels.formDefinitionView' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionView' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionView\"\n ></v-select>\n\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionEdit\"\n [title]=\"'objectManagement.labels.formDefinitionEdit' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionEdit' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionEdit\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n type=\"checkbox\"\n [title]=\"'objectManagement.labels.showInDataMenu' | translate\"\n [tooltip]=\"'objectManagement.tooltips.showInDataMenu' | translate\"\n name=\"showInDataMenu\"\n [defaultValue]=\"prefillObject?.showInDataMenu\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i5.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i5.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i5.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$"], outputs: ["valueChange"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "clearable", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder"], outputs: ["selectedChange", "clear"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
134
+ ObjectManagementModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectManagementModalComponent, selector: "valtimo-object-management-modal", inputs: { prefillObject$: "prefillObject$" }, viewQueries: [{ propertyName: "objectManagementModal", first: true, predicate: ["objectManagementModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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-modal\n #objectManagementModal\n *ngIf=\"{\n disabled: disabled$ | async,\n valid: valid$ | async,\n modalType: modalType$ | async,\n prefillObject: prefillObject$ | async\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add'\n ? 'objectManagement.createObjecttype'\n : 'objectManagement.editObjecttype'\n ) | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container\n *ngTemplateOutlet=\"\n form;\n context: {prefillObject: obs.prefillObject, modalType: obs.modalType}\n \"\n ></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{\n (obs.modalType === 'add' ? 'objectManagement.add' : 'objectManagement.edit') | translate\n }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #form let-prefillObject=\"prefillObject\" let-modalType=\"modalType\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n *ngIf=\"modalType === 'edit'\"\n hidden\n [disabled]=\"true\"\n [defaultValue]=\"prefillObject?.id\"\n name=\"id\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.title' | translate\"\n [tooltip]=\"'objectManagement.tooltips.title' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.title\"\n name=\"title\"\n ></v-input>\n\n <ng-container\n *ngIf=\"{\n connectionInstances: configurationInstances$ | async,\n objectsApiConfigurations: objectsApiConfigurations$ | async,\n objecttypesApiConfigurations: objecttypesApiConfigurations$ | async\n } as objectObs\"\n >\n <v-select\n [items]=\"objectObs.objectsApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objects' | translate\"\n [defaultSelectionId]=\"prefillObject?.objectenApiPluginConfigurationId\"\n [required]=\"true\"\n ></v-select>\n\n <v-select\n [items]=\"objectObs.objecttypesApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objecttypes' | translate\"\n [defaultSelectionId]=\"prefillObject?.objecttypenApiPluginConfigurationId\"\n [required]=\"true\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeId' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeId' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeId\"\n name=\"objecttypeId\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeVersion' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeVersion' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeVersion\"\n [min]=\"1\"\n type=\"number\"\n name=\"objecttypeVersion\"\n ></v-input>\n\n <ng-container *ngIf=\"{formDefinitions: formDefinitions$ | async} as formObs\">\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionView\"\n [title]=\"'objectManagement.labels.formDefinitionView' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionView' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionView\"\n ></v-select>\n\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionEdit\"\n [title]=\"'objectManagement.labels.formDefinitionEdit' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionEdit' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionEdit\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n type=\"checkbox\"\n [title]=\"'objectManagement.labels.showInDataMenu' | translate\"\n [tooltip]=\"'objectManagement.tooltips.showInDataMenu' | translate\"\n name=\"showInDataMenu\"\n [defaultValue]=\"prefillObject?.showInDataMenu\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i5.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i5.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i5.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$"], outputs: ["valueChange"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "clearable", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder"], outputs: ["selectedChange", "clear"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
132
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectManagementModalComponent, decorators: [{
133
136
  type: Component,
134
- args: [{ selector: 'valtimo-object-management-modal', template: "<!--\n ~ Copyright 2015-2020 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-modal #objectManagementModal *ngIf=\"{\n disabled: disabled$ | async,\n valid: valid$ | async,\n modalType: modalType$ | async,\n prefillObject: prefillObject$ | async\n } as obs\">\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ (obs.modalType === 'add' ? 'objectManagement.createObjecttype' : 'objectManagement.editObjecttype') | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"form; context: {prefillObject: obs.prefillObject, modalType: obs.modalType}\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button (clickEvent)=\"save()\" [disabled]=\"obs.disabled || !obs.valid\" mdiIcon=\"plus\" type=\"success\">\n {{ (obs.modalType === 'add' ? 'objectManagement.add' : 'objectManagement.edit') | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #form let-prefillObject=\"prefillObject\" let-modalType=\"modalType\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input *ngIf=\"modalType === 'edit'\"\n hidden\n [disabled]=\"true\"\n [defaultValue]=\"prefillObject?.id\"\n name=\"id\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.title' | translate\"\n [tooltip]=\"'objectManagement.tooltips.title' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.title\"\n name=\"title\"\n ></v-input>\n\n <ng-container *ngIf=\"{\n connectionInstances: configurationInstances$ | async,\n objectsApiConfigurations: objectsApiConfigurations$ | async,\n objecttypesApiConfigurations: objecttypesApiConfigurations$ | async\n } as objectObs\"\n >\n <v-select\n [items]=\"objectObs.objectsApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objects' | translate\"\n [defaultSelectionId]=\"prefillObject?.objectenApiPluginConfigurationId\"\n [required]=\"true\"\n ></v-select>\n\n <v-select\n [items]=\"objectObs.objecttypesApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objecttypes' | translate\"\n [defaultSelectionId]=\"prefillObject?.objecttypenApiPluginConfigurationId\"\n [required]=\"true\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeId' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeId' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeId\"\n name=\"objecttypeId\"\n ></v-input>\n\n <ng-container *ngIf=\"{formDefinitions: formDefinitions$ | async} as formObs\">\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionView\"\n [title]=\"'objectManagement.labels.formDefinitionView' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionView' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionView\"\n ></v-select>\n\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionEdit\"\n [title]=\"'objectManagement.labels.formDefinitionEdit' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionEdit' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionEdit\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n type=\"checkbox\"\n [title]=\"'objectManagement.labels.showInDataMenu' | translate\"\n [tooltip]=\"'objectManagement.tooltips.showInDataMenu' | translate\"\n name=\"showInDataMenu\"\n [defaultValue]=\"prefillObject?.showInDataMenu\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"] }]
137
+ args: [{ selector: 'valtimo-object-management-modal', template: "<!--\n ~ Copyright 2015-2020 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-modal\n #objectManagementModal\n *ngIf=\"{\n disabled: disabled$ | async,\n valid: valid$ | async,\n modalType: modalType$ | async,\n prefillObject: prefillObject$ | async\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{\n (obs.modalType === 'add'\n ? 'objectManagement.createObjecttype'\n : 'objectManagement.editObjecttype'\n ) | translate\n }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container\n *ngTemplateOutlet=\"\n form;\n context: {prefillObject: obs.prefillObject, modalType: obs.modalType}\n \"\n ></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"save()\"\n [disabled]=\"obs.disabled || !obs.valid\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{\n (obs.modalType === 'add' ? 'objectManagement.add' : 'objectManagement.edit') | translate\n }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #form let-prefillObject=\"prefillObject\" let-modalType=\"modalType\">\n <ng-container *ngIf=\"showForm$ | async\">\n <v-form (valueChange)=\"formValueChange($event)\">\n <v-input\n *ngIf=\"modalType === 'edit'\"\n hidden\n [disabled]=\"true\"\n [defaultValue]=\"prefillObject?.id\"\n name=\"id\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.title' | translate\"\n [tooltip]=\"'objectManagement.tooltips.title' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.title\"\n name=\"title\"\n ></v-input>\n\n <ng-container\n *ngIf=\"{\n connectionInstances: configurationInstances$ | async,\n objectsApiConfigurations: objectsApiConfigurations$ | async,\n objecttypesApiConfigurations: objecttypesApiConfigurations$ | async\n } as objectObs\"\n >\n <v-select\n [items]=\"objectObs.objectsApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objects' | translate\"\n [defaultSelectionId]=\"prefillObject?.objectenApiPluginConfigurationId\"\n [required]=\"true\"\n ></v-select>\n\n <v-select\n [items]=\"objectObs.objecttypesApiConfigurations\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objecttypenApiPluginConfigurationId\"\n [title]=\"'objectManagement.labels.objecttypes' | translate\"\n [defaultSelectionId]=\"prefillObject?.objecttypenApiPluginConfigurationId\"\n [required]=\"true\"\n (selectedChange)=\"selectObjectType($event)\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeId' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeId' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeId\"\n name=\"objecttypeId\"\n ></v-input>\n\n <v-input\n [margin]=\"true\"\n [required]=\"true\"\n [title]=\"'objectManagement.labels.objecttypeVersion' | translate\"\n [tooltip]=\"'objectManagement.tooltips.objecttypeVersion' | translate\"\n [widthPx]=\"350\"\n [defaultValue]=\"prefillObject?.objecttypeVersion\"\n [min]=\"1\"\n type=\"number\"\n name=\"objecttypeVersion\"\n ></v-input>\n\n <ng-container *ngIf=\"{formDefinitions: formDefinitions$ | async} as formObs\">\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionView\"\n [title]=\"'objectManagement.labels.formDefinitionView' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionView' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionView\"\n ></v-select>\n\n <v-select\n [items]=\"formObs.formDefinitions\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"formDefinitionEdit\"\n [title]=\"'objectManagement.labels.formDefinitionEdit' | translate\"\n [tooltip]=\"'objectManagement.tooltips.formDefinitionEdit' | translate\"\n [defaultSelectionId]=\"prefillObject?.formDefinitionEdit\"\n ></v-select>\n </ng-container>\n\n <v-input\n [margin]=\"true\"\n type=\"checkbox\"\n [title]=\"'objectManagement.labels.showInDataMenu' | translate\"\n [tooltip]=\"'objectManagement.tooltips.showInDataMenu' | translate\"\n name=\"showInDataMenu\"\n [defaultValue]=\"prefillObject?.showInDataMenu\"\n ></v-input>\n </v-form>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"] }]
135
138
  }], ctorParameters: function () { return [{ type: i1.ObjectManagementStateService }, { type: i2.ObjectManagementService }, { type: i3.FormManagementService }, { type: i4.PluginManagementService }, { type: i5.ModalService }]; }, propDecorators: { objectManagementModal: [{
136
139
  type: ViewChild,
137
140
  args: ['objectManagementModal']
138
141
  }], prefillObject$: [{
139
142
  type: Input
140
143
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQWdCLFNBQVMsRUFBZ0IsS0FBSyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUcsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVlwQyxNQUFNLE9BQU8sOEJBQThCO0lBc0R6QyxZQUNtQixxQkFBbUQsRUFDbkQsdUJBQWdELEVBQ2hELHFCQUE0QyxFQUM1Qyx1QkFBZ0QsRUFDaEQsWUFBMEI7UUFKMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUNuRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXREcEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdDLGNBQVMsR0FBd0Is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QVM7dUJBQUMsdUJBQXVCO2dCQUN6QixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNb2RhbENvbXBvbmVudCBhcyB2TW9kYWxDb21wb25lbnQsIE1vZGFsU2VydmljZX0gZnJvbSAnQHZhbHRpbW8vdXNlci1pbnRlcmZhY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtPYmplY3RNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYmplY3QtbWFuYWdlbWVudC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7Rm9ybU1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9mb3JtLW1hbmFnZW1lbnQnO1xuaW1wb3J0IHtQbHVnaW5Db25maWd1cmF0aW9uLCBQbHVnaW5NYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luJztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtPYmplY3R0eXBlfSBmcm9tICcuLi8uLi9tb2RlbHMvb2JqZWN0LW1hbmFnZW1lbnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLW9iamVjdC1tYW5hZ2VtZW50LW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL29iamVjdC1tYW5hZ2VtZW50LW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgT2JqZWN0TWFuYWdlbWVudE1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnb2JqZWN0TWFuYWdlbWVudE1vZGFsJykgb2JqZWN0TWFuYWdlbWVudE1vZGFsOiB2TW9kYWxDb21wb25lbnQ7XG4gIEBJbnB1dCgpIHByZWZpbGxPYmplY3QkITogT2JzZXJ2YWJsZTxPYmplY3R0eXBlPjtcblxuICByZWFkb25seSBkaXNhYmxlZCQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICByZWFkb25seSB2YWxpZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd0Zvcm0kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5tb2RhbFNlcnZpY2UubW9kYWxWaXNpYmxlJDtcbiAgcmVhZG9ubHkgbW9kYWxUeXBlJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUubW9kYWxUeXBlJDtcbiAgcmVhZG9ubHkgZm9ybURhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuXG4gIHNob3dTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIGhpZGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRPYmplY3R0eXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgZm9ybURlZmluaXRpb25zJDogT2JzZXJ2YWJsZTxBcnJheTx7aWQ6IHN0cmluZzsgdGV4dDogc3RyaW5nfT4+ID1cbiAgICB0aGlzLmZvcm1NYW5hZ2VtZW50U2VydmljZS5xdWVyeUZvcm1EZWZpbml0aW9ucygpLnBpcGUoXG4gICAgICBtYXAoKHJlc3VsdHMpID0+XG4gICAgICAgIHJlc3VsdHM/LmJvZHk/LmNvbnRlbnQubWFwKGNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICAgICAgICBpZDogY29uZmlndXJhdGlvbi5pZCxcbiAgICAgICAgICB0ZXh0OiBjb25maWd1cmF0aW9uLm5hbWVcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICByZWFkb25seSBjb25maWd1cmF0aW9uSW5zdGFuY2VzJDogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5Db25maWd1cmF0aW9uPj4gPVxuICAgIHRoaXMucGx1Z2luTWFuYWdlbWVudFNlcnZpY2UuZ2V0QWxsUGx1Z2luQ29uZmlndXJhdGlvbnMoKS5waXBlKFxuICAgICAgbWFwKChjb25maWd1cmF0aW9ucykgPT4gY29uZmlndXJhdGlvbnNcbiAgICAgIClcbiAgICApO1xuXG4gIHJlYWRvbmx5IG9iamVjdHNBcGlDb25maWd1cmF0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuY29uZmlndXJhdGlvbkluc3RhbmNlcyQucGlwZShcbiAgICBtYXAoKGNvbmZpZ3VyYXRpb25zKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZE9iamVjdHNBcGlDb25maWd1cmF0aW9ucyA9IGNvbmZpZ3VyYXRpb25zLmZpbHRlcihjb25maWd1cmF0aW9uID0+IGNvbmZpZ3VyYXRpb24/LnBsdWdpbkRlZmluaXRpb24/LmtleSA9PT0gJ29iamVjdGVuYXBpJyk7XG4gICAgICByZXR1cm4gZmlsdGVyZWRPYmplY3RzQXBpQ29uZmlndXJhdGlvbnMubWFwKGNvbmZpZ3VyYXRpb24gPT4gKHtcbiAgICAgICAgaWQ6IGNvbmZpZ3VyYXRpb24uaWQsXG4gICAgICAgIHRleHQ6IGNvbmZpZ3VyYXRpb24udGl0bGUsXG4gICAgICB9KSlcbiAgICAgIH1cbiAgICApXG4gIClcblxuICByZWFkb25seSBvYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5jb25maWd1cmF0aW9uSW5zdGFuY2VzJC5waXBlKFxuICAgIG1hcCgoY29uZmlndXJhdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRPYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zID0gY29uZmlndXJhdGlvbnMuZmlsdGVyKGNvbmZpZ3VyYXRpb24gPT4gY29uZmlndXJhdGlvbj8ucGx1Z2luRGVmaW5pdGlvbj8ua2V5ID09PSAnb2JqZWN0dHlwZW5hcGknKTtcbiAgICAgICAgcmV0dXJuIGZpbHRlcmVkT2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9ucy5tYXAoY29uZmlndXJhdGlvbiA9PiAoe1xuICAgICAgICAgIGlkOiBjb25maWd1cmF0aW9uLmlkLFxuICAgICAgICAgIHRleHQ6IGNvbmZpZ3VyYXRpb24udGl0bGUsXG4gICAgICAgICAgcHJvcGVydGllczogY29uZmlndXJhdGlvbi5wcm9wZXJ0aWVzXG4gICAgICAgIH0pKVxuICAgICAgfVxuICAgIClcbiAgKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0TWFuYWdlbWVudFN0YXRlOiBPYmplY3RNYW5hZ2VtZW50U3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JqZWN0TWFuYWdlbWVudFNlcnZpY2U6IE9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybU1hbmFnZW1lbnRTZXJ2aWNlOiBGb3JtTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZVxuICApIHtcblxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNob3dTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5IaWRlU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1EYXRhJC5uZXh0KG51bGwpO1xuICAgIHRoaXMudmFsaWQkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMubW9kYWxTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgfVxuXG4gIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGUoKTtcbiAgfVxuXG4gIHNhdmUoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy52YWxpZCQsIHRoaXMuZm9ybURhdGEkLCB0aGlzLm1vZGFsVHlwZSRdKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKFt2YWxpZCwgZm9ybURhdGEsIG1vZGFsVHlwZV0pID0+IHtcbiAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgaWYgKG1vZGFsVHlwZSA9PT0gJ2FkZCcpIHtcbiAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFNlcnZpY2UuY3JlYXRlT2JqZWN0KHsuLi5mb3JtRGF0YX0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gZWxzZSBpZiAobW9kYWxUeXBlID09PSAnZWRpdCcpIHtcbiAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFNlcnZpY2UuZWRpdE9iamVjdCh7Li4uZm9ybURhdGF9KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLmhpZGVNb2RhbCgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2hvd1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5zaG93TW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkhpZGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uID0gdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUubW9kYWxUeXBlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShtb2RhbFR5cGUgPT4ge1xuICAgICAgaWYgKG1vZGFsVHlwZSA9PT0gJ2VkaXQnIHx8IG1vZGFsVHlwZSA9PT0gJ2FkZCcpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKHRoaXMub2JqZWN0TWFuYWdlbWVudE1vZGFsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZGF0YS5zaG93SW5EYXRhTWVudSA9PT0gJycpIHtcbiAgICAgIGRhdGEuc2hvd0luRGF0YU1lbnUgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5mb3JtRGF0YSQubmV4dChkYXRhKTtcbiAgICB0aGlzLnNldFZhbGlkKGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWYWxpZChkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkJC5uZXh0KFxuICAgICAgISEoXG4gICAgICAgIGRhdGEudGl0bGUgJiZcbiAgICAgICAgZGF0YS5vYmplY3RlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZCAmJlxuICAgICAgICBkYXRhLm9iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkICYmXG4gICAgICAgIGRhdGEub2JqZWN0dHlwZUlkXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHNlbGVjdE9iamVjdFR5cGUob2JqZWN0dHlwZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRPYmplY3R0eXBlJC5uZXh0KG9iamVjdHR5cGUpO1xuICB9XG5cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHYtbW9kYWwgI29iamVjdE1hbmFnZW1lbnRNb2RhbCAqbmdJZj1cIntcbiAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmMsXG4gICAgdmFsaWQ6IHZhbGlkJCB8IGFzeW5jLFxuICAgIG1vZGFsVHlwZTogbW9kYWxUeXBlJCB8IGFzeW5jLFxuICAgIHByZWZpbGxPYmplY3Q6IHByZWZpbGxPYmplY3QkIHwgYXN5bmNcbiAgfSBhcyBvYnNcIj5cbiAgPGRpdiByb2xlPVwiaGVhZGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZC10aXRsZVwiPlxuICAgICAgPHYtdGl0bGUgW21hcmdpbl09XCJmYWxzZVwiPnt7IChvYnMubW9kYWxUeXBlID09PSAnYWRkJyA/ICdvYmplY3RNYW5hZ2VtZW50LmNyZWF0ZU9iamVjdHR5cGUnIDogJ29iamVjdE1hbmFnZW1lbnQuZWRpdE9iamVjdHR5cGUnKSB8IHRyYW5zbGF0ZSB9fTwvdi10aXRsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9ybTsgY29udGV4dDoge3ByZWZpbGxPYmplY3Q6IG9icy5wcmVmaWxsT2JqZWN0LCBtb2RhbFR5cGU6IG9icy5tb2RhbFR5cGV9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJmb290ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxuICAgICAgPHYtYnV0dG9uIChjbGlja0V2ZW50KT1cImNhbmNlbCgpXCIgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiIHR5cGU9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAge3sgJ29iamVjdE1hbmFnZW1lbnQuY2FuY2VsJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC92LWJ1dHRvbj5cbiAgICAgIDx2LWJ1dHRvbiAoY2xpY2tFdmVudCk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8ICFvYnMudmFsaWRcIiBtZGlJY29uPVwicGx1c1wiIHR5cGU9XCJzdWNjZXNzXCI+XG4gICAgICAgIHt7IChvYnMubW9kYWxUeXBlID09PSAnYWRkJyA/ICdvYmplY3RNYW5hZ2VtZW50LmFkZCcgOiAnb2JqZWN0TWFuYWdlbWVudC5lZGl0JykgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92LW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI2Zvcm0gbGV0LXByZWZpbGxPYmplY3Q9XCJwcmVmaWxsT2JqZWN0XCIgbGV0LW1vZGFsVHlwZT1cIm1vZGFsVHlwZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Zvcm0kIHwgYXN5bmNcIj5cbiAgICA8di1mb3JtICh2YWx1ZUNoYW5nZSk9XCJmb3JtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPHYtaW5wdXQgKm5nSWY9XCJtb2RhbFR5cGUgPT09ICdlZGl0J1wiXG4gICAgICAgIGhpZGRlblxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8uaWRcIlxuICAgICAgICBuYW1lPVwiaWRcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8udGl0bGVcIlxuICAgICAgICBuYW1lPVwidGl0bGVcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIntcbiAgICAgICAgY29ubmVjdGlvbkluc3RhbmNlczogY29uZmlndXJhdGlvbkluc3RhbmNlcyQgfCBhc3luYyxcbiAgICAgICAgb2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zOiBvYmplY3RzQXBpQ29uZmlndXJhdGlvbnMkIHwgYXN5bmMsXG4gICAgICAgIG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnM6IG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnMkIHwgYXN5bmNcbiAgICAgICAgfSBhcyBvYmplY3RPYnNcIlxuICAgICAgPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwib2JqZWN0T2JzLm9iamVjdHNBcGlDb25maWd1cmF0aW9uc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cInByZWZpbGxPYmplY3Q/Lm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L3Ytc2VsZWN0PlxuXG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJvYmplY3RPYnMub2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9uc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHR5cGVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5vYmplY3R0eXBlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJzZWxlY3RPYmplY3RUeXBlKCRldmVudClcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDx2LWlucHV0XG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidvYmplY3RNYW5hZ2VtZW50LmxhYmVscy5vYmplY3R0eXBlSWQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInb2JqZWN0TWFuYWdlbWVudC50b29sdGlwcy5vYmplY3R0eXBlSWQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbd2lkdGhQeF09XCIzNTBcIlxuICAgICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8ub2JqZWN0dHlwZUlkXCJcbiAgICAgICAgICBuYW1lPVwib2JqZWN0dHlwZUlkXCJcbiAgICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIntmb3JtRGVmaW5pdGlvbnM6IGZvcm1EZWZpbml0aW9ucyQgfCBhc3luY30gYXMgZm9ybU9ic1wiPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwiZm9ybU9icy5mb3JtRGVmaW5pdGlvbnNcIlxuICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICAgIG5hbWU9XCJmb3JtRGVmaW5pdGlvblZpZXdcIlxuICAgICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMuZm9ybURlZmluaXRpb25WaWV3JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ29iamVjdE1hbmFnZW1lbnQudG9vbHRpcHMuZm9ybURlZmluaXRpb25WaWV3JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5mb3JtRGVmaW5pdGlvblZpZXdcIlxuICAgICAgICA+PC92LXNlbGVjdD5cblxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwiZm9ybU9icy5mb3JtRGVmaW5pdGlvbnNcIlxuICAgICAgICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICAgIG5hbWU9XCJmb3JtRGVmaW5pdGlvbkVkaXRcIlxuICAgICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMuZm9ybURlZmluaXRpb25FZGl0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ29iamVjdE1hbmFnZW1lbnQudG9vbHRpcHMuZm9ybURlZmluaXRpb25FZGl0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5mb3JtRGVmaW5pdGlvbkVkaXRcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8di1pbnB1dFxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLnNob3dJbkRhdGFNZW51JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLnNob3dJbkRhdGFNZW51JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIG5hbWU9XCJzaG93SW5EYXRhTWVudVwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8uc2hvd0luRGF0YU1lbnVcIlxuICAgICAgPjwvdi1pbnB1dD5cbiAgICA8L3YtZm9ybT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwvb2JqZWN0LW1hbmFnZW1lbnQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVlwQyxNQUFNLE9BQU8sOEJBQThCO0lBdUR6QyxZQUNtQixxQkFBbUQsRUFDbkQsdUJBQWdELEVBQ2hELHFCQUE0QyxFQUM1Qyx1QkFBZ0QsRUFDaEQsWUFBMEI7UUFKMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUE4QjtRQUNuRCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUNoRCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQXZEcEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdDLGNBQVMsR0FBd0IsSUFB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LFNBQVM7dUJBQUMsdUJBQXVCO2dCQUN6QixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxDb21wb25lbnQgYXMgdk1vZGFsQ29tcG9uZW50LCBNb2RhbFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudFN0YXRlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LW1hbmFnZW1lbnQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge0Zvcm1NYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZm9ybS1tYW5hZ2VtZW50JztcbmltcG9ydCB7UGx1Z2luQ29uZmlndXJhdGlvbiwgUGx1Z2luTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3BsdWdpbic7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vYmplY3QtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7T2JqZWN0dHlwZX0gZnJvbSAnLi4vLi4vbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1vYmplY3QtbWFuYWdlbWVudC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtbWFuYWdlbWVudC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1tYW5hZ2VtZW50LW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdE1hbmFnZW1lbnRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ29iamVjdE1hbmFnZW1lbnRNb2RhbCcpIG9iamVjdE1hbmFnZW1lbnRNb2RhbDogdk1vZGFsQ29tcG9uZW50O1xuICBASW5wdXQoKSBwcmVmaWxsT2JqZWN0JCE6IE9ic2VydmFibGU8T2JqZWN0dHlwZT47XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQkITogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcmVhZG9ubHkgdmFsaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dGb3JtJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubW9kYWxTZXJ2aWNlLm1vZGFsVmlzaWJsZSQ7XG4gIHJlYWRvbmx5IG1vZGFsVHlwZSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLm1vZGFsVHlwZSQ7XG4gIHJlYWRvbmx5IGZvcm1EYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcblxuICBzaG93U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBoaWRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkT2JqZWN0dHlwZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIHJlYWRvbmx5IGZvcm1EZWZpbml0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8e2lkOiBzdHJpbmc7IHRleHQ6IHN0cmluZ30+PiA9XG4gICAgdGhpcy5mb3JtTWFuYWdlbWVudFNlcnZpY2UucXVlcnlGb3JtRGVmaW5pdGlvbnMoKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdHMgPT5cbiAgICAgICAgcmVzdWx0cz8uYm9keT8uY29udGVudC5tYXAoY29uZmlndXJhdGlvbiA9PiAoe1xuICAgICAgICAgIGlkOiBjb25maWd1cmF0aW9uLmlkLFxuICAgICAgICAgIHRleHQ6IGNvbmZpZ3VyYXRpb24ubmFtZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKTtcblxuICByZWFkb25seSBjb25maWd1cmF0aW9uSW5zdGFuY2VzJDogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5Db25maWd1cmF0aW9uPj4gPVxuICAgIHRoaXMucGx1Z2luTWFuYWdlbWVudFNlcnZpY2VcbiAgICAgIC5nZXRBbGxQbHVnaW5Db25maWd1cmF0aW9ucygpXG4gICAgICAucGlwZShtYXAoY29uZmlndXJhdGlvbnMgPT4gY29uZmlndXJhdGlvbnMpKTtcblxuICByZWFkb25seSBvYmplY3RzQXBpQ29uZmlndXJhdGlvbnMkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmNvbmZpZ3VyYXRpb25JbnN0YW5jZXMkLnBpcGUoXG4gICAgbWFwKGNvbmZpZ3VyYXRpb25zID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkT2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zID0gY29uZmlndXJhdGlvbnMuZmlsdGVyKFxuICAgICAgICBjb25maWd1cmF0aW9uID0+IGNvbmZpZ3VyYXRpb24/LnBsdWdpbkRlZmluaXRpb24/LmtleSA9PT0gJ29iamVjdGVuYXBpJ1xuICAgICAgKTtcbiAgICAgIHJldHVybiBmaWx0ZXJlZE9iamVjdHNBcGlDb25maWd1cmF0aW9ucy5tYXAoY29uZmlndXJhdGlvbiA9PiAoe1xuICAgICAgICBpZDogY29uZmlndXJhdGlvbi5pZCxcbiAgICAgICAgdGV4dDogY29uZmlndXJhdGlvbi50aXRsZSxcbiAgICAgIH0pKTtcbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnMkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmNvbmZpZ3VyYXRpb25JbnN0YW5jZXMkLnBpcGUoXG4gICAgbWFwKGNvbmZpZ3VyYXRpb25zID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlcmVkT2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9ucyA9IGNvbmZpZ3VyYXRpb25zLmZpbHRlcihcbiAgICAgICAgY29uZmlndXJhdGlvbiA9PiBjb25maWd1cmF0aW9uPy5wbHVnaW5EZWZpbml0aW9uPy5rZXkgPT09ICdvYmplY3R0eXBlbmFwaSdcbiAgICAgICk7XG4gICAgICByZXR1cm4gZmlsdGVyZWRPYmplY3R0eXBlc0FwaUNvbmZpZ3VyYXRpb25zLm1hcChjb25maWd1cmF0aW9uID0+ICh7XG4gICAgICAgIGlkOiBjb25maWd1cmF0aW9uLmlkLFxuICAgICAgICB0ZXh0OiBjb25maWd1cmF0aW9uLnRpdGxlLFxuICAgICAgICBwcm9wZXJ0aWVzOiBjb25maWd1cmF0aW9uLnByb3BlcnRpZXMsXG4gICAgICB9KSk7XG4gICAgfSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9iamVjdE1hbmFnZW1lbnRTdGF0ZTogT2JqZWN0TWFuYWdlbWVudFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlOiBPYmplY3RNYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1NYW5hZ2VtZW50U2VydmljZTogRm9ybU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luTWFuYWdlbWVudFNlcnZpY2U6IFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBNb2RhbFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TaG93U3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuSGlkZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zaG93U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaGlkZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtRGF0YSQubmV4dChudWxsKTtcbiAgICB0aGlzLnZhbGlkJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLm1vZGFsU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gIH1cblxuICBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlKCk7XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMudmFsaWQkLCB0aGlzLmZvcm1EYXRhJCwgdGhpcy5tb2RhbFR5cGUkXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChbdmFsaWQsIGZvcm1EYXRhLCBtb2RhbFR5cGVdKSA9PiB7XG4gICAgICAgIGlmICh2YWxpZCkge1xuICAgICAgICAgIGlmIChtb2RhbFR5cGUgPT09ICdhZGQnKSB7XG4gICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLmNyZWF0ZU9iamVjdCh7Li4uZm9ybURhdGF9KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLmhpZGVNb2RhbCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChtb2RhbFR5cGUgPT09ICdlZGl0Jykge1xuICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U2VydmljZS5lZGl0T2JqZWN0KHsuLi5mb3JtRGF0YX0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2hvd1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5zaG93TW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkhpZGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uID0gdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUubW9kYWxUeXBlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShtb2RhbFR5cGUgPT4ge1xuICAgICAgaWYgKG1vZGFsVHlwZSA9PT0gJ2VkaXQnIHx8IG1vZGFsVHlwZSA9PT0gJ2FkZCcpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKHRoaXMub2JqZWN0TWFuYWdlbWVudE1vZGFsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoZGF0YS5zaG93SW5EYXRhTWVudSA9PT0gJycpIHtcbiAgICAgIGRhdGEuc2hvd0luRGF0YU1lbnUgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5mb3JtRGF0YSQubmV4dChkYXRhKTtcbiAgICB0aGlzLnNldFZhbGlkKGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRWYWxpZChkYXRhOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbGlkJC5uZXh0KFxuICAgICAgISEoZGF0YS50aXRsZSAmJlxuICAgICAgICBkYXRhLm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkICYmXG4gICAgICAgIGRhdGEub2JqZWN0dHlwZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQgJiZcbiAgICAgICAgZGF0YS5vYmplY3R0eXBlSWQsXG4gICAgICBkYXRhLm9iamVjdHR5cGVWZXJzaW9uKVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RPYmplY3RUeXBlKG9iamVjdHR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkT2JqZWN0dHlwZSQubmV4dChvYmplY3R0eXBlKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1tb2RhbFxuICAjb2JqZWN0TWFuYWdlbWVudE1vZGFsXG4gICpuZ0lmPVwie1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICB2YWxpZDogdmFsaWQkIHwgYXN5bmMsXG4gICAgbW9kYWxUeXBlOiBtb2RhbFR5cGUkIHwgYXN5bmMsXG4gICAgcHJlZmlsbE9iamVjdDogcHJlZmlsbE9iamVjdCQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtdGl0bGVcIj5cbiAgICAgIDx2LXRpdGxlIFttYXJnaW5dPVwiZmFsc2VcIj57e1xuICAgICAgICAob2JzLm1vZGFsVHlwZSA9PT0gJ2FkZCdcbiAgICAgICAgICA/ICdvYmplY3RNYW5hZ2VtZW50LmNyZWF0ZU9iamVjdHR5cGUnXG4gICAgICAgICAgOiAnb2JqZWN0TWFuYWdlbWVudC5lZGl0T2JqZWN0dHlwZSdcbiAgICAgICAgKSB8IHRyYW5zbGF0ZVxuICAgICAgfX08L3YtdGl0bGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgZm9ybTtcbiAgICAgICAgY29udGV4dDoge3ByZWZpbGxPYmplY3Q6IG9icy5wcmVmaWxsT2JqZWN0LCBtb2RhbFR5cGU6IG9icy5tb2RhbFR5cGV9XG4gICAgICBcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICA8di1idXR0b24gKGNsaWNrRXZlbnQpPVwiY2FuY2VsKClcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCIgdHlwZT1cInNlY29uZGFyeVwiPlxuICAgICAgICB7eyAnb2JqZWN0TWFuYWdlbWVudC5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3YtYnV0dG9uPlxuICAgICAgPHYtYnV0dG9uXG4gICAgICAgIChjbGlja0V2ZW50KT1cInNhdmUoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWQgfHwgIW9icy52YWxpZFwiXG4gICAgICAgIG1kaUljb249XCJwbHVzXCJcbiAgICAgICAgdHlwZT1cInN1Y2Nlc3NcIlxuICAgICAgPlxuICAgICAgICB7e1xuICAgICAgICAgIChvYnMubW9kYWxUeXBlID09PSAnYWRkJyA/ICdvYmplY3RNYW5hZ2VtZW50LmFkZCcgOiAnb2JqZWN0TWFuYWdlbWVudC5lZGl0JykgfCB0cmFuc2xhdGVcbiAgICAgICAgfX1cbiAgICAgIDwvdi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92LW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI2Zvcm0gbGV0LXByZWZpbGxPYmplY3Q9XCJwcmVmaWxsT2JqZWN0XCIgbGV0LW1vZGFsVHlwZT1cIm1vZGFsVHlwZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Zvcm0kIHwgYXN5bmNcIj5cbiAgICA8di1mb3JtICh2YWx1ZUNoYW5nZSk9XCJmb3JtVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgKm5nSWY9XCJtb2RhbFR5cGUgPT09ICdlZGl0J1wiXG4gICAgICAgIGhpZGRlblxuICAgICAgICBbZGlzYWJsZWRdPVwidHJ1ZVwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8uaWRcIlxuICAgICAgICBuYW1lPVwiaWRcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLnRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8udGl0bGVcIlxuICAgICAgICBuYW1lPVwidGl0bGVcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIntcbiAgICAgICAgICBjb25uZWN0aW9uSW5zdGFuY2VzOiBjb25maWd1cmF0aW9uSW5zdGFuY2VzJCB8IGFzeW5jLFxuICAgICAgICAgIG9iamVjdHNBcGlDb25maWd1cmF0aW9uczogb2JqZWN0c0FwaUNvbmZpZ3VyYXRpb25zJCB8IGFzeW5jLFxuICAgICAgICAgIG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnM6IG9iamVjdHR5cGVzQXBpQ29uZmlndXJhdGlvbnMkIHwgYXN5bmNcbiAgICAgICAgfSBhcyBvYmplY3RPYnNcIlxuICAgICAgPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwib2JqZWN0T2JzLm9iamVjdHNBcGlDb25maWd1cmF0aW9uc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cInByZWZpbGxPYmplY3Q/Lm9iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L3Ytc2VsZWN0PlxuXG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJvYmplY3RPYnMub2JqZWN0dHlwZXNBcGlDb25maWd1cmF0aW9uc1wiXG4gICAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgICBbd2lkdGhJblB4XT1cIjM1MFwiXG4gICAgICAgICAgbmFtZT1cIm9iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHR5cGVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsT2JqZWN0Py5vYmplY3R0eXBlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZFwiXG4gICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJzZWxlY3RPYmplY3RUeXBlKCRldmVudClcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8di1pbnB1dFxuICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0aXRsZV09XCInb2JqZWN0TWFuYWdlbWVudC5sYWJlbHMub2JqZWN0dHlwZUlkJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLm9iamVjdHR5cGVJZCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbd2lkdGhQeF09XCIzNTBcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGxPYmplY3Q/Lm9iamVjdHR5cGVJZFwiXG4gICAgICAgIG5hbWU9XCJvYmplY3R0eXBlSWRcIlxuICAgICAgPjwvdi1pbnB1dD5cblxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLm9iamVjdHR5cGVWZXJzaW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLm9iamVjdHR5cGVWZXJzaW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbE9iamVjdD8ub2JqZWN0dHlwZVZlcnNpb25cIlxuICAgICAgICBbbWluXT1cIjFcIlxuICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgbmFtZT1cIm9iamVjdHR5cGVWZXJzaW9uXCJcbiAgICAgID48L3YtaW5wdXQ+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ7Zm9ybURlZmluaXRpb25zOiBmb3JtRGVmaW5pdGlvbnMkIHwgYXN5bmN9IGFzIGZvcm1PYnNcIj5cbiAgICAgICAgPHYtc2VsZWN0XG4gICAgICAgICAgW2l0ZW1zXT1cImZvcm1PYnMuZm9ybURlZmluaXRpb25zXCJcbiAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwiZm9ybURlZmluaXRpb25WaWV3XCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLmZvcm1EZWZpbml0aW9uVmlldycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLmZvcm1EZWZpbml0aW9uVmlldycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwicHJlZmlsbE9iamVjdD8uZm9ybURlZmluaXRpb25WaWV3XCJcbiAgICAgICAgPjwvdi1zZWxlY3Q+XG5cbiAgICAgICAgPHYtc2VsZWN0XG4gICAgICAgICAgW2l0ZW1zXT1cImZvcm1PYnMuZm9ybURlZmluaXRpb25zXCJcbiAgICAgICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwiZm9ybURlZmluaXRpb25FZGl0XCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnQubGFiZWxzLmZvcm1EZWZpbml0aW9uRWRpdCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidvYmplY3RNYW5hZ2VtZW50LnRvb2x0aXBzLmZvcm1EZWZpbml0aW9uRWRpdCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwicHJlZmlsbE9iamVjdD8uZm9ybURlZmluaXRpb25FZGl0XCJcbiAgICAgICAgPjwvdi1zZWxlY3Q+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgW21hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgW3RpdGxlXT1cIidvYmplY3RNYW5hZ2VtZW50LmxhYmVscy5zaG93SW5EYXRhTWVudScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbdG9vbHRpcF09XCInb2JqZWN0TWFuYWdlbWVudC50b29sdGlwcy5zaG93SW5EYXRhTWVudScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBuYW1lPVwic2hvd0luRGF0YU1lbnVcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGxPYmplY3Q/LnNob3dJbkRhdGFNZW51XCJcbiAgICAgID48L3YtaW5wdXQ+XG4gICAgPC92LWZvcm0+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { Component, Input, ViewChild } from '@angular/core';
16
+ import { Component, Input, ViewChild, } from '@angular/core';
17
17
  import { BehaviorSubject, Subject } from 'rxjs';
18
18
  import { take } from 'rxjs/operators';
19
19
  import * as i0 from "@angular/core";
@@ -62,8 +62,10 @@ export class ObjectManagementUploadModalComponent {
62
62
  }
63
63
  uploadDefinition() {
64
64
  this.disable();
65
- this.jsonString$.pipe(take(1)).subscribe((objecttypeDefinition) => {
66
- this.objectManagementService.createObject({ ...JSON.parse(objecttypeDefinition) }).subscribe(() => {
65
+ this.jsonString$.pipe(take(1)).subscribe(objecttypeDefinition => {
66
+ this.objectManagementService
67
+ .createObject({ ...JSON.parse(objecttypeDefinition) })
68
+ .subscribe(() => {
67
69
  this.objectManagementState.refresh();
68
70
  this.objectManagementState.hideModal();
69
71
  });
@@ -135,7 +137,14 @@ export class ObjectManagementUploadModalComponent {
135
137
  }
136
138
  isValidJsonObjecttype(string) {
137
139
  const jsonObjecttype = JSON.parse(string);
138
- const isValid = this.validateObject(jsonObjecttype, ['title', 'objecttypenApiPluginConfigurationId', 'objecttypeId', 'objectenApiPluginConfigurationId', 'showInDataMenu']);
140
+ const isValid = this.validateObject(jsonObjecttype, [
141
+ 'title',
142
+ 'objecttypenApiPluginConfigurationId',
143
+ 'objecttypeId',
144
+ 'objecttypeVersion',
145
+ 'objectenApiPluginConfigurationId',
146
+ 'showInDataMenu',
147
+ ]);
139
148
  const isObjecttypeTitleUnique = !this.objecttypes?.find(objecttype => objecttype.title === jsonObjecttype.title);
140
149
  if (isValid && isObjecttypeTitleUnique) {
141
150
  return true;
@@ -163,14 +172,14 @@ export class ObjectManagementUploadModalComponent {
163
172
  }
164
173
  }
165
174
  ObjectManagementUploadModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectManagementUploadModalComponent, deps: [{ token: i1.ObjectManagementStateService }, { token: i2.ObjectManagementService }, { token: i3.FormManagementService }, { token: i4.PluginManagementService }, { token: i5.ModalService }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
166
- ObjectManagementUploadModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectManagementUploadModalComponent, selector: "valtimo-object-management-upload-modal", inputs: { objecttypes: "objecttypes" }, viewQueries: [{ propertyName: "objectManagementUploadModal", first: true, predicate: ["objectManagementUploadModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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-modal #objectManagementUploadModal *ngIf=\"{\n disabled: disabled$ | async,\n jsonString: jsonString$ | async,\n error: error$ | async\n} as obs\">\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ 'objectManagement.uploadObjecttype' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"uploadForm\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button (clickEvent)=\"uploadDefinition()\" [disabled]=\"obs.jsonString === '' || obs.disabled\" mdiIcon=\"plus\" type=\"success\">\n {{ 'Upload' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #uploadForm>\n <ng-container *ngIf=\"showForm$ | async\">\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.objecttypeDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i5.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i5.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
175
+ ObjectManagementUploadModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ObjectManagementUploadModalComponent, selector: "valtimo-object-management-upload-modal", inputs: { objecttypes: "objecttypes" }, viewQueries: [{ propertyName: "objectManagementUploadModal", first: true, predicate: ["objectManagementUploadModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 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-modal\n #objectManagementUploadModal\n *ngIf=\"{\n disabled: disabled$ | async,\n jsonString: jsonString$ | async,\n error: error$ | async\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ 'objectManagement.uploadObjecttype' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"uploadForm\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"uploadDefinition()\"\n [disabled]=\"obs.jsonString === '' || obs.disabled\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'Upload' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #uploadForm>\n <ng-container *ngIf=\"showForm$ | async\">\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.objecttypeDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i8.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { kind: "component", type: i5.ModalComponent, selector: "v-modal", inputs: ["appearingDelayMs", "maxWidthPx", "hideFooter"], outputs: ["closeEvent"] }, { kind: "component", type: i5.TitleComponent, selector: "v-title", inputs: ["type", "margin", "fullWidth", "center"] }, { kind: "component", type: i5.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
167
176
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ObjectManagementUploadModalComponent, decorators: [{
168
177
  type: Component,
169
- args: [{ selector: 'valtimo-object-management-upload-modal', template: "<!--\n ~ Copyright 2015-2020 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-modal #objectManagementUploadModal *ngIf=\"{\n disabled: disabled$ | async,\n jsonString: jsonString$ | async,\n error: error$ | async\n} as obs\">\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ 'objectManagement.uploadObjecttype' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"uploadForm\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button (clickEvent)=\"uploadDefinition()\" [disabled]=\"obs.jsonString === '' || obs.disabled\" mdiIcon=\"plus\" type=\"success\">\n {{ 'Upload' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #uploadForm>\n <ng-container *ngIf=\"showForm$ | async\">\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.objecttypeDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"] }]
178
+ args: [{ selector: 'valtimo-object-management-upload-modal', template: "<!--\n ~ Copyright 2015-2020 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-modal\n #objectManagementUploadModal\n *ngIf=\"{\n disabled: disabled$ | async,\n jsonString: jsonString$ | async,\n error: error$ | async\n } as obs\"\n>\n <div role=\"header\">\n <div class=\"add-title\">\n <v-title [margin]=\"false\">{{ 'objectManagement.uploadObjecttype' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <ng-container *ngTemplateOutlet=\"uploadForm\"></ng-container>\n </div>\n <div role=\"footer\">\n <div class=\"buttons\">\n <v-button (clickEvent)=\"cancel()\" [disabled]=\"obs.disabled\" type=\"secondary\">\n {{ 'objectManagement.cancel' | translate }}\n </v-button>\n <v-button\n (clickEvent)=\"uploadDefinition()\"\n [disabled]=\"obs.jsonString === '' || obs.disabled\"\n mdiIcon=\"plus\"\n type=\"success\"\n >\n {{ 'Upload' | translate }}\n </v-button>\n </div>\n </div>\n</v-modal>\n\n<ng-template #uploadForm>\n <ng-container *ngIf=\"showForm$ | async\">\n <valtimo-dropzone\n [clear$]=\"clear$\"\n (fileSelected)=\"setFile($event)\"\n [disabled]=\"disabled$ | async\"\n [subtitle]=\"'dropzone.objecttypeDef' | translate\"\n [externalError$]=\"error$\"\n [maxFiles]=\"1\"\n ></valtimo-dropzone>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2020 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 */.buttons{width:100%;display:flex;flex-direction:row;justify-content:space-between}\n"] }]
170
179
  }], ctorParameters: function () { return [{ type: i1.ObjectManagementStateService }, { type: i2.ObjectManagementService }, { type: i3.FormManagementService }, { type: i4.PluginManagementService }, { type: i5.ModalService }, { type: i6.TranslateService }]; }, propDecorators: { objectManagementUploadModal: [{
171
180
  type: ViewChild,
172
181
  args: ['objectManagementUploadModal']
173
182
  }], objecttypes: [{
174
183
  type: Input
175
184
  }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC9vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBZ0IsU0FBUyxFQUFnQixLQUFLLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxRyxPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFhcEMsTUFBTSxPQUFPLG9DQUFvQztJQWlCL0MsWUFDbUIscUJBQW1ELEVBQ25ELHVCQUFnRCxFQUNoRCxxQkFBNEMsRUFDNUMsdUJBQWdELEVBQ2hELFlBQTBCLEVBQzFCLGdCQUFrQztRQUxsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0Is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QUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMscUNBQXFDLENBQUMsQ0FBQztZQUNsRSxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFXLEVBQUUsWUFBOEI7UUFDeEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUdPLE9BQU87UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU8sTUFBTTtRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7O2tJQXhLVSxvQ0FBb0M7c0hBQXBDLG9DQUFvQyxrUUNoQ2pELGk4REFxREE7NEZEckJhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDRSx3Q0FBd0M7NlJBS1IsMkJBQTJCO3NCQUFwRSxTQUFTO3VCQUFDLDZCQUE2QjtnQkFDL0IsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxDb21wb25lbnQgYXMgdk1vZGFsQ29tcG9uZW50LCBNb2RhbFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0tbWFuYWdlbWVudCc7XG5pbXBvcnQge1BsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuaW1wb3J0IHtPYmplY3RNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYmplY3R0eXBlLCBPYmplY3R0eXBlS2V5c30gZnJvbSAnLi4vLi4vbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ29iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbCcpIG9iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbDogdk1vZGFsQ29tcG9uZW50O1xuICBASW5wdXQoKSBvYmplY3R0eXBlcz86IE9iamVjdHR5cGVbXTtcblxuICByZWFkb25seSBjbGVhciQgPSBuZXcgU3ViamVjdCgpO1xuICByZWFkb25seSBqc29uU3RyaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGVycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG93Rm9ybSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLm1vZGFsU2VydmljZS5tb2RhbFZpc2libGUkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbGU+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBzaG93U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGhpZGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZmlsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGVycm9yU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U3RhdGU6IE9iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U2VydmljZTogT2JqZWN0TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWFuYWdlbWVudFNlcnZpY2U6IEZvcm1NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlOiBQbHVnaW5NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNob3dTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5GaWxlU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuSGlkZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zaG93U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaGlkZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZpbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgc2V0RmlsZShmaWxlOiBGaWxlKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckVycm9yKCk7XG4gICAgdGhpcy5maWxlJC5uZXh0KGZpbGUpO1xuICB9XG5cbiAgdXBsb2FkRGVmaW5pdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMuanNvblN0cmluZyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKG9iamVjdHR5cGVEZWZpbml0aW9uKSA9PiB7XG4gICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTZXJ2aWNlLmNyZWF0ZU9iamVjdCh7Li4uSlNPTi5wYXJzZShvYmplY3R0eXBlRGVmaW5pdGlvbil9KS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5yZWZyZXNoKCk7XG4gICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLmhpZGVNb2RhbCgpO1xuICAgICAgfSlcbiAgICAgIHRoaXMuY2xvc2VFcnJvclN1YnNjcmlwdGlvbigpO1xuICAgICAgdGhpcy5jbGVhckVycm9yKCk7XG4gICAgICB0aGlzLmVuYWJsZSgpO1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5FcnJvclN1YnNjcmlwdGlvbihlcnJvckNvZGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VFcnJvclN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMuZXJyb3JTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKGVycm9yQ29kZSkuc3Vic2NyaWJlKGVycm9yID0+IHtcbiAgICAgIHRoaXMuZXJyb3IkLm5leHQoZXJyb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUVycm9yU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmVycm9yU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmVycm9yU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRmlsZVN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVTdWJzY3JpcHRpb24gPSB0aGlzLmZpbGUkLnN1YnNjcmliZShmaWxlID0+IHtcbiAgICAgIGlmIChmaWxlKSB7XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG5cbiAgICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSByZWFkZXIucmVzdWx0LnRvU3RyaW5nKCk7XG4gICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZEpzb25PYmplY3R0eXBlKHJlc3VsdCkpIHtcbiAgICAgICAgICAgIHRoaXMuanNvblN0cmluZyQubmV4dChyZXN1bHQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFySnNvblN0cmluZygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChmaWxlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xlYXJKc29uU3RyaW5nKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TaG93U3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1N1YnNjcmlwdGlvbiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnNob3dNb2RhbCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvdygpO1xuXG4gICAgICB0aGlzLmNsZWFySnNvblN0cmluZygpO1xuICAgICAgdGhpcy5jbGVhckVycm9yKCk7XG4gICAgICB0aGlzLmNsZWFyRHJvcHpvbmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlbkhpZGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5oaWRlU3Vic2NyaXB0aW9uID0gdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUuaGlkZU1vZGFsJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U3RhdGUubW9kYWxUeXBlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShtb2RhbFR5cGUgPT4ge1xuICAgICAgaWYgKG1vZGFsVHlwZSA9PT0gJ3VwbG9hZCcpIHtcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbk1vZGFsKHRoaXMub2JqZWN0TWFuYWdlbWVudFVwbG9hZE1vZGFsKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJFcnJvcigpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yJC5uZXh0KCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJKc29uU3RyaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuanNvblN0cmluZyQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRHJvcHpvbmUoKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhciQubmV4dChudWxsKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNWYWxpZEpzb25PYmplY3R0eXBlKHN0cmluZzogc3RyaW5nKSB7XG4gICAgY29uc3QganNvbk9iamVjdHR5cGUgPSBKU09OLnBhcnNlKHN0cmluZyk7XG4gICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVPYmplY3QoXG4gICAgICBqc29uT2JqZWN0dHlwZSxcbiAgICAgIFsndGl0bGUnLCAnb2JqZWN0dHlwZW5BcGlQbHVnaW5Db25maWd1cmF0aW9uSWQnLCAnb2JqZWN0dHlwZUlkJywgJ29iamVjdGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkJywgJ3Nob3dJbkRhdGFNZW51J11cbiAgICApO1xuICAgIGNvbnN0IGlzT2JqZWN0dHlwZVRpdGxlVW5pcXVlID0gIXRoaXMub2JqZWN0dHlwZXM/LmZpbmQob2JqZWN0dHlwZSA9PiBvYmplY3R0eXBlLnRpdGxlID09PSBqc29uT2JqZWN0dHlwZS50aXRsZSk7XG4gICAgaWYgKGlzVmFsaWQgJiYgaXNPYmplY3R0eXBlVGl0bGVVbmlxdWUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoaXNWYWxpZCAmJiAhaXNPYmplY3R0eXBlVGl0bGVVbmlxdWUpIHtcbiAgICAgIHRoaXMuY2xlYXJEcm9wem9uZSgpO1xuICAgICAgdGhpcy5vcGVuRXJyb3JTdWJzY3JpcHRpb24oJ2Ryb3B6b25lLmVycm9yLm9iamVjdHR5cGVBbHJlYWR5RXhpc3RzJyk7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkICYmIGlzT2JqZWN0dHlwZVRpdGxlVW5pcXVlKSB7XG4gICAgICB0aGlzLmNsZWFyRHJvcHpvbmUoKTtcbiAgICAgIHRoaXMub3BlbkVycm9yU3Vic2NyaXB0aW9uKCdkcm9wem9uZS5lcnJvci5pbnZhbGlkT2JqZWN0dHlwZURlZicpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlT2JqZWN0KG9iajogb2JqZWN0LCByZXF1aXJlZEtleXM6IE9iamVjdHR5cGVLZXlzW10pIHtcbiAgICBjb25zdCBvYmpLZXlzID0gT2JqZWN0LmtleXMob2JqKTtcbiAgICByZXR1cm4gcmVxdWlyZWRLZXlzLmV2ZXJ5KGtleSA9PiBvYmpLZXlzLmluY2x1ZGVzKGtleSkpO1xuICB9XG5cblxuICBwcml2YXRlIGRpc2FibGUoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQoZmFsc2UpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2LW1vZGFsICNvYmplY3RNYW5hZ2VtZW50VXBsb2FkTW9kYWwgKm5nSWY9XCJ7XG4gIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAganNvblN0cmluZzoganNvblN0cmluZyQgfCBhc3luYyxcbiAgZXJyb3I6IGVycm9yJCB8IGFzeW5jXG59IGFzIG9ic1wiPlxuICA8ZGl2IHJvbGU9XCJoZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkLXRpdGxlXCI+XG4gICAgICA8di10aXRsZSBbbWFyZ2luXT1cImZhbHNlXCI+e3sgJ29iamVjdE1hbmFnZW1lbnQudXBsb2FkT2JqZWN0dHlwZScgfCB0cmFuc2xhdGUgfX08L3YtdGl0bGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IHJvbGU9XCJjb250ZW50XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInVwbG9hZEZvcm1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImZvb3RlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCI+XG4gICAgICA8di1idXR0b24gKGNsaWNrRXZlbnQpPVwiY2FuY2VsKClcIiBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCIgdHlwZT1cInNlY29uZGFyeVwiPlxuICAgICAgICB7eyAnb2JqZWN0TWFuYWdlbWVudC5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3YtYnV0dG9uPlxuICAgICAgICA8di1idXR0b24gKGNsaWNrRXZlbnQpPVwidXBsb2FkRGVmaW5pdGlvbigpXCIgW2Rpc2FibGVkXT1cIm9icy5qc29uU3RyaW5nID09PSAnJyB8fCBvYnMuZGlzYWJsZWRcIiBtZGlJY29uPVwicGx1c1wiIHR5cGU9XCJzdWNjZXNzXCI+XG4gICAgICAgICAge3sgJ1VwbG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC92LWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3YtbW9kYWw+XG5cbjxuZy10ZW1wbGF0ZSAjdXBsb2FkRm9ybT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGb3JtJCB8IGFzeW5jXCI+XG4gICAgICA8dmFsdGltby1kcm9wem9uZVxuICAgICAgICAgICAgICBbY2xlYXIkXT1cImNsZWFyJFwiXG4gICAgICAgICAgICAgIChmaWxlU2VsZWN0ZWQpPVwic2V0RmlsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgW3N1YnRpdGxlXT1cIidkcm9wem9uZS5vYmplY3R0eXBlRGVmJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgIFtleHRlcm5hbEVycm9yJF09XCJlcnJvciRcIlxuICAgICAgICAgICAgICBbbWF4RmlsZXNdPVwiMVwiXG4gICAgICA+PC92YWx0aW1vLWRyb3B6b25lPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vb2JqZWN0LW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC9vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9vYmplY3QtbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsL29iamVjdC1tYW5hZ2VtZW50LXVwbG9hZC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFFTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsZUFBZSxFQUFjLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFhcEMsTUFBTSxPQUFPLG9DQUFvQztJQWlCL0MsWUFDbUIscUJBQW1ELEVBQ25ELHVCQUFnRCxFQUNoRCxxQkFBNEMsRUFDNUMsdUJBQWdELEVBQ2hELFlBQTBCLEVBQzFCLGdCQUFrQztRQUxsQywwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ25ELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FB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SUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVcsRUFBRSxZQUE4QjtRQUN4RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7a0lBL0tVLG9DQUFvQztzSEFBcEMsb0NBQW9DLGtRQ3hDakQsbThEQTZEQTs0RkRyQmEsb0NBQW9DO2tCQUxoRCxTQUFTOytCQUNFLHdDQUF3Qzs2UkFLUiwyQkFBMkI7c0JBQXBFLFNBQVM7dUJBQUMsNkJBQTZCO2dCQUMvQixXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxDb21wb25lbnQgYXMgdk1vZGFsQ29tcG9uZW50LCBNb2RhbFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3VzZXItaW50ZXJmYWNlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29iamVjdC1tYW5hZ2VtZW50LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtGb3JtTWFuYWdlbWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0tbWFuYWdlbWVudCc7XG5pbXBvcnQge1BsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuaW1wb3J0IHtPYmplY3RNYW5hZ2VtZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2JqZWN0LW1hbmFnZW1lbnQuc2VydmljZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYmplY3R0eXBlLCBPYmplY3R0eXBlS2V5c30gZnJvbSAnLi4vLi4vbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1vYmplY3QtbWFuYWdlbWVudC11cGxvYWQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb2JqZWN0LW1hbmFnZW1lbnQtdXBsb2FkLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ29iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbCcpIG9iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbDogdk1vZGFsQ29tcG9uZW50O1xuICBASW5wdXQoKSBvYmplY3R0eXBlcz86IE9iamVjdHR5cGVbXTtcblxuICByZWFkb25seSBjbGVhciQgPSBuZXcgU3ViamVjdCgpO1xuICByZWFkb25seSBqc29uU3RyaW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGVycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG93Rm9ybSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLm1vZGFsU2VydmljZS5tb2RhbFZpc2libGUkO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbGU+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSBzaG93U3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGhpZGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZmlsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGVycm9yU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U3RhdGU6IE9iamVjdE1hbmFnZW1lbnRTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvYmplY3RNYW5hZ2VtZW50U2VydmljZTogT2JqZWN0TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtTWFuYWdlbWVudFNlcnZpY2U6IEZvcm1NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlOiBQbHVnaW5NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNob3dTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5GaWxlU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5vcGVuSGlkZVN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zaG93U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuaGlkZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZpbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGhpZGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZSgpO1xuICB9XG5cbiAgc2V0RmlsZShmaWxlOiBGaWxlKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckVycm9yKCk7XG4gICAgdGhpcy5maWxlJC5uZXh0KGZpbGUpO1xuICB9XG5cbiAgdXBsb2FkRGVmaW5pdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMuanNvblN0cmluZyQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUob2JqZWN0dHlwZURlZmluaXRpb24gPT4ge1xuICAgICAgdGhpcy5vYmplY3RNYW5hZ2VtZW50U2VydmljZVxuICAgICAgICAuY3JlYXRlT2JqZWN0KHsuLi5KU09OLnBhcnNlKG9iamVjdHR5cGVEZWZpbml0aW9uKX0pXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLnJlZnJlc2goKTtcbiAgICAgICAgICB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5oaWRlTW9kYWwoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmNsb3NlRXJyb3JTdWJzY3JpcHRpb24oKTtcbiAgICAgIHRoaXMuY2xlYXJFcnJvcigpO1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuRXJyb3JTdWJzY3JpcHRpb24oZXJyb3JDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlRXJyb3JTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLmVycm9yU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbShlcnJvckNvZGUpLnN1YnNjcmliZShlcnJvciA9PiB7XG4gICAgICB0aGlzLmVycm9yJC5uZXh0KGVycm9yKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VFcnJvclN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lcnJvclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5lcnJvclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb3BlbkZpbGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5maWxlU3Vic2NyaXB0aW9uID0gdGhpcy5maWxlJC5zdWJzY3JpYmUoZmlsZSA9PiB7XG4gICAgICBpZiAoZmlsZSkge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXG4gICAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVhZGVyLnJlc3VsdC50b1N0cmluZygpO1xuICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRKc29uT2JqZWN0dHlwZShyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aGlzLmpzb25TdHJpbmckLm5leHQocmVzdWx0KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgcmVhZGVyLnJlYWRBc1RleHQoZmlsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsZWFySnNvblN0cmluZygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2hvd1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWJzY3JpcHRpb24gPSB0aGlzLm9iamVjdE1hbmFnZW1lbnRTdGF0ZS5zaG93TW9kYWwkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNob3coKTtcblxuICAgICAgdGhpcy5jbGVhckpzb25TdHJpbmcoKTtcbiAgICAgIHRoaXMuY2xlYXJFcnJvcigpO1xuICAgICAgdGhpcy5jbGVhckRyb3B6b25lKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5IaWRlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuaGlkZVN1YnNjcmlwdGlvbiA9IHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLmhpZGVNb2RhbCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMub2JqZWN0TWFuYWdlbWVudFN0YXRlLm1vZGFsVHlwZSQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUobW9kYWxUeXBlID0+IHtcbiAgICAgIGlmIChtb2RhbFR5cGUgPT09ICd1cGxvYWQnKSB7XG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW5Nb2RhbCh0aGlzLm9iamVjdE1hbmFnZW1lbnRVcGxvYWRNb2RhbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRXJyb3IoKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvciQubmV4dCgnJyk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFySnNvblN0cmluZygpOiB2b2lkIHtcbiAgICB0aGlzLmpzb25TdHJpbmckLm5leHQoJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckRyb3B6b25lKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXIkLm5leHQobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGlzVmFsaWRKc29uT2JqZWN0dHlwZShzdHJpbmc6IHN0cmluZykge1xuICAgIGNvbnN0IGpzb25PYmplY3R0eXBlID0gSlNPTi5wYXJzZShzdHJpbmcpO1xuICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLnZhbGlkYXRlT2JqZWN0KGpzb25PYmplY3R0eXBlLCBbXG4gICAgICAndGl0bGUnLFxuICAgICAgJ29iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkJyxcbiAgICAgICdvYmplY3R0eXBlSWQnLFxuICAgICAgJ29iamVjdHR5cGVWZXJzaW9uJyxcbiAgICAgICdvYmplY3RlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZCcsXG4gICAgICAnc2hvd0luRGF0YU1lbnUnLFxuICAgIF0pO1xuICAgIGNvbnN0IGlzT2JqZWN0dHlwZVRpdGxlVW5pcXVlID0gIXRoaXMub2JqZWN0dHlwZXM/LmZpbmQoXG4gICAgICBvYmplY3R0eXBlID0+IG9iamVjdHR5cGUudGl0bGUgPT09IGpzb25PYmplY3R0eXBlLnRpdGxlXG4gICAgKTtcbiAgICBpZiAoaXNWYWxpZCAmJiBpc09iamVjdHR5cGVUaXRsZVVuaXF1ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmIChpc1ZhbGlkICYmICFpc09iamVjdHR5cGVUaXRsZVVuaXF1ZSkge1xuICAgICAgdGhpcy5jbGVhckRyb3B6b25lKCk7XG4gICAgICB0aGlzLm9wZW5FcnJvclN1YnNjcmlwdGlvbignZHJvcHpvbmUuZXJyb3Iub2JqZWN0dHlwZUFscmVhZHlFeGlzdHMnKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkICYmIGlzT2JqZWN0dHlwZVRpdGxlVW5pcXVlKSB7XG4gICAgICB0aGlzLmNsZWFyRHJvcHpvbmUoKTtcbiAgICAgIHRoaXMub3BlbkVycm9yU3Vic2NyaXB0aW9uKCdkcm9wem9uZS5lcnJvci5pbnZhbGlkT2JqZWN0dHlwZURlZicpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlT2JqZWN0KG9iajogb2JqZWN0LCByZXF1aXJlZEtleXM6IE9iamVjdHR5cGVLZXlzW10pIHtcbiAgICBjb25zdCBvYmpLZXlzID0gT2JqZWN0LmtleXMob2JqKTtcbiAgICByZXR1cm4gcmVxdWlyZWRLZXlzLmV2ZXJ5KGtleSA9PiBvYmpLZXlzLmluY2x1ZGVzKGtleSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNhYmxlKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGVuYWJsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48di1tb2RhbFxuICAjb2JqZWN0TWFuYWdlbWVudFVwbG9hZE1vZGFsXG4gICpuZ0lmPVwie1xuICAgIGRpc2FibGVkOiBkaXNhYmxlZCQgfCBhc3luYyxcbiAgICBqc29uU3RyaW5nOiBqc29uU3RyaW5nJCB8IGFzeW5jLFxuICAgIGVycm9yOiBlcnJvciQgfCBhc3luY1xuICB9IGFzIG9ic1wiXG4+XG4gIDxkaXYgcm9sZT1cImhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJhZGQtdGl0bGVcIj5cbiAgICAgIDx2LXRpdGxlIFttYXJnaW5dPVwiZmFsc2VcIj57eyAnb2JqZWN0TWFuYWdlbWVudC51cGxvYWRPYmplY3R0eXBlJyB8IHRyYW5zbGF0ZSB9fTwvdi10aXRsZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgcm9sZT1cImNvbnRlbnRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidXBsb2FkRm9ybVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdiByb2xlPVwiZm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgIDx2LWJ1dHRvbiAoY2xpY2tFdmVudCk9XCJjYW5jZWwoKVwiIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIiB0eXBlPVwic2Vjb25kYXJ5XCI+XG4gICAgICAgIHt7ICdvYmplY3RNYW5hZ2VtZW50LmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdi1idXR0b24+XG4gICAgICA8di1idXR0b25cbiAgICAgICAgKGNsaWNrRXZlbnQpPVwidXBsb2FkRGVmaW5pdGlvbigpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5qc29uU3RyaW5nID09PSAnJyB8fCBvYnMuZGlzYWJsZWRcIlxuICAgICAgICBtZGlJY29uPVwicGx1c1wiXG4gICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcbiAgICAgID5cbiAgICAgICAge3sgJ1VwbG9hZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvdi1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC92LW1vZGFsPlxuXG48bmctdGVtcGxhdGUgI3VwbG9hZEZvcm0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93Rm9ybSQgfCBhc3luY1wiPlxuICAgIDx2YWx0aW1vLWRyb3B6b25lXG4gICAgICBbY2xlYXIkXT1cImNsZWFyJFwiXG4gICAgICAoZmlsZVNlbGVjdGVkKT1cInNldEZpbGUoJGV2ZW50KVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICAgICAgW3N1YnRpdGxlXT1cIidkcm9wem9uZS5vYmplY3R0eXBlRGVmJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbZXh0ZXJuYWxFcnJvciRdPVwiZXJyb3IkXCJcbiAgICAgIFttYXhGaWxlc109XCIxXCJcbiAgICA+PC92YWx0aW1vLWRyb3B6b25lPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50L3NyYy9saWIvbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgT2JqZWN0dHlwZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG9iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG4gIG9iamVjdHR5cGVJZDogc3RyaW5nO1xuICBvYmplY3RlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuICBzaG93SW5EYXRhTWVudTogYm9vbGVhbjtcbiAgZm9ybURlZmluaXRpb25WaWV3Pzogc3RyaW5nO1xuICBmb3JtRGVmaW5pdGlvbkVkaXQ/OiBzdHJpbmc7XG59XG5cbnR5cGUgT2JqZWN0dHlwZUtleXMgPSBrZXlvZiBPYmplY3R0eXBlO1xuXG5leHBvcnQgIHtPYmplY3R0eXBlLCBPYmplY3R0eXBlS2V5c31cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50L3NyYy9saWIvbW9kZWxzL29iamVjdC1tYW5hZ2VtZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgT2JqZWN0dHlwZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIG9iamVjdHR5cGVuQXBpUGx1Z2luQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG4gIG9iamVjdHR5cGVJZDogc3RyaW5nO1xuICBvYmplY3R0eXBlVmVyc2lvbjogbnVtYmVyO1xuICBvYmplY3RlbkFwaVBsdWdpbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuICBzaG93SW5EYXRhTWVudTogYm9vbGVhbjtcbiAgZm9ybURlZmluaXRpb25WaWV3Pzogc3RyaW5nO1xuICBmb3JtRGVmaW5pdGlvbkVkaXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoTGlzdENvbHVtbiB7XG4gIG93bmVySWQ/OiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIGRpc3BsYXlUeXBlOiBEaXNwbGF5VHlwZTtcbiAgc29ydGFibGU6IGJvb2xlYW47XG4gIGRlZmF1bHRTb3J0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoTGlzdENvbHVtblZpZXcge1xuICB0aXRsZTogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBkaXNwbGF5VHlwZTogc3RyaW5nO1xuICBkaXNwbGF5VHlwZVBhcmFtZXRlcnM6IHN0cmluZztcbiAgc29ydGFibGU6IGJvb2xlYW47XG4gIGRlZmF1bHRTb3J0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcGxheVR5cGUge1xuICB0eXBlOiBzdHJpbmc7XG4gIGRpc3BsYXlUeXBlUGFyYW1ldGVyczogRGlzcGxheVR5cGVQYXJhbWV0ZXJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpc3BsYXlUeXBlUGFyYW1ldGVycyB7XG4gIGVudW0/OiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xuICBkYXRlRm9ybWF0Pzogc3RyaW5nO1xufVxuXG50eXBlIE9iamVjdHR5cGVLZXlzID0ga2V5b2YgT2JqZWN0dHlwZTtcblxuZXhwb3J0IHtPYmplY3R0eXBlLCBPYmplY3R0eXBlS2V5c307XG4iXX0=
@@ -34,7 +34,7 @@ const routes = [
34
34
  canActivate: [AuthGuardService],
35
35
  component: ObjectManagementDetailContainerComponent,
36
36
  data: { title: 'Object', roles: [ROLE_ADMIN] },
37
- }
37
+ },
38
38
  ];
39
39
  export class ObjectManagementRoutingModule {
40
40
  }
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
49
49
  declarations: [],
50
50
  }]
51
51
  }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50L3NyYy9saWIvb2JqZWN0LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBQyx3Q0FBd0MsRUFBQyxNQUFNLDhGQUE4RixDQUFDO0FBQ3RKLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDOzs7QUFFbkgsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQVMsRUFBRSw2QkFBNkI7UUFDeEMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBQztLQUM5QztJQUNEO1FBQ0UsSUFBSSxFQUFFLDhCQUE4QjtRQUNwQyxXQUFXLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixTQUFTLEVBQUUsd0NBQXdDO1FBQ25ELElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUM7S0FDN0M7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLDZCQUE2Qjs7MkhBQTdCLDZCQUE2Qjs0SEFBN0IsNkJBQTZCLFlBSjlCLFlBQVksOEJBQ1osWUFBWTs0SEFHWCw2QkFBNkIsWUFKOUIsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzNDLFlBQVk7NEZBR1gsNkJBQTZCO2tCQUx6QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxFQUFFO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge1JPTEVfQURNSU59IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnREZXRhaWxDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vYmplY3QtbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyL29iamVjdC1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudExpc3RDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vYmplY3QtbWFuYWdlbWVudC1saXN0L29iamVjdC1tYW5hZ2VtZW50LWxpc3QuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnb2JqZWN0LW1hbmFnZW1lbnQnLFxuICAgIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkU2VydmljZV0sXG4gICAgY29tcG9uZW50OiBPYmplY3RNYW5hZ2VtZW50TGlzdENvbXBvbmVudCxcbiAgICBkYXRhOiB7dGl0bGU6ICdPYmplY3RzJywgcm9sZXM6IFtST0xFX0FETUlOXX0sXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnb2JqZWN0LW1hbmFnZW1lbnQvb2JqZWN0LzppZCcsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBjb21wb25lbnQ6IE9iamVjdE1hbmFnZW1lbnREZXRhaWxDb250YWluZXJDb21wb25lbnQsXG4gICAgZGF0YToge3RpdGxlOiAnT2JqZWN0Jywgcm9sZXM6IFtST0xFX0FETUlOXX0sXG4gIH1cbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW10sXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdE1hbmFnZW1lbnRSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL29iamVjdC1tYW5hZ2VtZW50L3NyYy9saWIvb2JqZWN0LW1hbmFnZW1lbnQtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBQyx3Q0FBd0MsRUFBQyxNQUFNLDhGQUE4RixDQUFDO0FBQ3RKLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHNFQUFzRSxDQUFDOzs7QUFFbkgsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFdBQVcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLFNBQVMsRUFBRSw2QkFBNkI7UUFDeEMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBQztLQUM5QztJQUNEO1FBQ0UsSUFBSSxFQUFFLDhCQUE4QjtRQUNwQyxXQUFXLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMvQixTQUFTLEVBQUUsd0NBQXdDO1FBQ25ELElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUM7S0FDN0M7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLDZCQUE2Qjs7MkhBQTdCLDZCQUE2Qjs0SEFBN0IsNkJBQTZCLFlBSjlCLFlBQVksOEJBQ1osWUFBWTs0SEFHWCw2QkFBNkIsWUFKOUIsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzNDLFlBQVk7NEZBR1gsNkJBQTZCO2tCQUx6QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxFQUFFO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGUsIFJvdXRlc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBdXRoR3VhcmRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5pbXBvcnQge1JPTEVfQURNSU59IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge09iamVjdE1hbmFnZW1lbnREZXRhaWxDb250YWluZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vYmplY3QtbWFuYWdlbWVudC1kZXRhaWwtY29udGFpbmVyL29iamVjdC1tYW5hZ2VtZW50LWRldGFpbC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7T2JqZWN0TWFuYWdlbWVudExpc3RDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9vYmplY3QtbWFuYWdlbWVudC1saXN0L29iamVjdC1tYW5hZ2VtZW50LWxpc3QuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnb2JqZWN0LW1hbmFnZW1lbnQnLFxuICAgIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkU2VydmljZV0sXG4gICAgY29tcG9uZW50OiBPYmplY3RNYW5hZ2VtZW50TGlzdENvbXBvbmVudCxcbiAgICBkYXRhOiB7dGl0bGU6ICdPYmplY3RzJywgcm9sZXM6IFtST0xFX0FETUlOXX0sXG4gIH0sXG4gIHtcbiAgICBwYXRoOiAnb2JqZWN0LW1hbmFnZW1lbnQvb2JqZWN0LzppZCcsXG4gICAgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRTZXJ2aWNlXSxcbiAgICBjb21wb25lbnQ6IE9iamVjdE1hbmFnZW1lbnREZXRhaWxDb250YWluZXJDb21wb25lbnQsXG4gICAgZGF0YToge3RpdGxlOiAnT2JqZWN0Jywgcm9sZXM6IFtST0xFX0FETUlOXX0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RNYW5hZ2VtZW50Um91dGluZ01vZHVsZSB7fVxuIl19