@valtimo/plugin 11.1.5 → 11.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/esm2022/lib/components/default-plugin-configuration/default-plugin-configuration.component.mjs +73 -0
  2. package/esm2022/lib/components/default-plugin-configuration/default-plugin-configuration.module.mjs +53 -0
  3. package/esm2022/lib/components/plugin-configuration-container/plugin-configuration-container.component.mjs +25 -8
  4. package/esm2022/lib/components/plugin-configuration-container/plugin-configuration-container.module.mjs +5 -4
  5. package/esm2022/lib/models/plugin.mjs +1 -1
  6. package/esm2022/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.mjs +24 -6
  7. package/esm2022/lib/plugins/documenten-api/documenten-api-plugin.specification.mjs +4 -1
  8. package/esm2022/lib/plugins/documenten-api/models/config.mjs +1 -1
  9. package/esm2022/lib/plugins/object-token-authentication/components/object-token-authentication-configuration/object-token-authencation-configuration.component.mjs +2 -2
  10. package/esm2022/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.mjs +74 -0
  11. package/esm2022/lib/plugins/smart-documents/models/config.mjs +1 -1
  12. package/esm2022/lib/plugins/smart-documents/smart-documents-plugin.module.mjs +17 -5
  13. package/esm2022/lib/plugins/smart-documents/smart-documents-plugin.specification.mjs +19 -8
  14. package/esm2022/lib/plugins/verzoek/components/verzoek-configuration/verzoek-configuration.component.mjs +3 -3
  15. package/esm2022/lib/services/plugin-management.service.mjs +3 -2
  16. package/esm2022/public-api.mjs +2 -1
  17. package/fesm2022/valtimo-plugin.mjs +267 -28
  18. package/fesm2022/valtimo-plugin.mjs.map +1 -1
  19. package/lib/components/default-plugin-configuration/default-plugin-configuration.component.d.ts +22 -0
  20. package/lib/components/default-plugin-configuration/default-plugin-configuration.component.d.ts.map +1 -0
  21. package/lib/components/default-plugin-configuration/default-plugin-configuration.module.d.ts +12 -0
  22. package/lib/components/default-plugin-configuration/default-plugin-configuration.module.d.ts.map +1 -0
  23. package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts +6 -1
  24. package/lib/components/plugin-configuration-container/plugin-configuration-container.component.d.ts.map +1 -1
  25. package/lib/components/plugin-configuration-container/plugin-configuration-container.module.d.ts +2 -1
  26. package/lib/components/plugin-configuration-container/plugin-configuration-container.module.d.ts.map +1 -1
  27. package/lib/models/plugin.d.ts +6 -1
  28. package/lib/models/plugin.d.ts.map +1 -1
  29. package/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.d.ts +7 -2
  30. package/lib/plugins/documenten-api/components/download-document/download-document-configuration.component.d.ts.map +1 -1
  31. package/lib/plugins/documenten-api/documenten-api-plugin.specification.d.ts.map +1 -1
  32. package/lib/plugins/documenten-api/models/config.d.ts +3 -0
  33. package/lib/plugins/documenten-api/models/config.d.ts.map +1 -1
  34. package/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.d.ts +24 -0
  35. package/lib/plugins/smart-documents/components/get-template-names/get-template-names.component.d.ts.map +1 -0
  36. package/lib/plugins/smart-documents/models/config.d.ts +5 -1
  37. package/lib/plugins/smart-documents/models/config.d.ts.map +1 -1
  38. package/lib/plugins/smart-documents/smart-documents-plugin.module.d.ts +5 -4
  39. package/lib/plugins/smart-documents/smart-documents-plugin.module.d.ts.map +1 -1
  40. package/lib/plugins/smart-documents/smart-documents-plugin.specification.d.ts.map +1 -1
  41. package/lib/services/plugin-management.service.d.ts +1 -1
  42. package/lib/services/plugin-management.service.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/public-api.d.ts +1 -0
  45. package/public-api.d.ts.map +1 -1
@@ -207,11 +207,11 @@ export class VerzoekConfigurationComponent {
207
207
  }));
208
208
  }
209
209
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VerzoekConfigurationComponent, deps: [{ token: i1.PluginManagementService }, { token: i2.TranslateService }, { token: i1.PluginTranslationService }, { token: i3.VerzoekPluginService }, { token: i4.ProcessService }, { token: i5.DocumentService }], target: i0.ɵɵFactoryTarget.Component }); }
210
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VerzoekConfigurationComponent, selector: "valtimo-verzoek-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{documentSelectItems: documentSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.documentSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinitionName\"\n [title]=\"'caseDefinitionName' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionName\"\n [required]=\"true\"\n [loading]=\"!vars.documentSelectItems\"\n [tooltip]=\"'caseDefinitionNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionName &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionName\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n <v-button (clickEvent)=\"openMappingModal(uuid)\" mdiIcon=\"table\"\n >{{ 'setMapping' | pluginTranslate: pluginId | async }}\n </v-button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <cds-modal valtimoCdsModal [open]=\"showMappingModals[uuid]\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeMappingModal(uuid)\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </cds-modal-header>\n <section cdsModalContent>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n </cds-modal-footer>\n </cds-modal>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:.5rem;width:250px}.hidden-input{display:none}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i7.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder"], outputs: ["valueChange"] }, { kind: "component", type: i7.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme"], outputs: ["selectedChange"] }, { kind: "component", type: i7.MultiInputFormComponent, selector: "v-multi-input-form", inputs: ["name", "title", "titleTranslationKey", "type", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "formTemplate"], outputs: ["valueChange", "deleteRowEvent"] }, { kind: "component", type: i7.RadioComponent, selector: "v-radio", inputs: ["name", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "tooltip", "required", "smallLabel", "rows", "clear$", "radioValues"], outputs: ["valueChange"] }, { kind: "component", type: i7.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i7.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i8.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i8.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i8.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i8.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i8.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i8.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i7.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "directive", type: i8.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.PluginTranslatePipe, name: "pluginTranslate" }] }); }
210
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: VerzoekConfigurationComponent, selector: "valtimo-verzoek-configuration", inputs: { save$: "save$", disabled$: "disabled$", pluginId: "pluginId", prefillConfiguration$: "prefillConfiguration$" }, outputs: { valid: "valid", configuration: "configuration" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{documentSelectItems: documentSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.documentSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinitionName\"\n [title]=\"'caseDefinitionName' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionName\"\n [required]=\"true\"\n [loading]=\"!vars.documentSelectItems\"\n [tooltip]=\"'caseDefinitionNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionName &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionName\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n <v-button (clickEvent)=\"openMappingModal(uuid)\" mdiIcon=\"table\"\n >{{ 'setMapping' | pluginTranslate: pluginId | async }}\n </v-button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <cds-modal valtimoCdsModal [open]=\"showMappingModals[uuid]\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeMappingModal(uuid)\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </cds-modal-header>\n <section cdsModalContent>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n </cds-label>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n </cds-modal-footer>\n </cds-modal>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:.5rem;width:250px}.hidden-input{display:none}.cds--text-input__field-wrapper{flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.FormComponent, selector: "v-form", inputs: ["className"], outputs: ["valueChange"] }, { kind: "component", type: i7.InputComponent, selector: "v-input", inputs: ["name", "type", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "step", "min", "maxLength", "tooltip", "required", "hideNumberSpinBox", "smallLabel", "rows", "clear$", "carbonTheme", "placeholder"], outputs: ["valueChange"] }, { kind: "component", type: i7.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme"], outputs: ["selectedChange"] }, { kind: "component", type: i7.MultiInputFormComponent, selector: "v-multi-input-form", inputs: ["name", "title", "titleTranslationKey", "type", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "formTemplate"], outputs: ["valueChange", "deleteRowEvent"] }, { kind: "component", type: i7.RadioComponent, selector: "v-radio", inputs: ["name", "title", "titleTranslationKey", "defaultValue", "widthPx", "fullWidth", "margin", "smallMargin", "disabled", "tooltip", "required", "smallLabel", "rows", "clear$", "radioValues"], outputs: ["valueChange"] }, { kind: "component", type: i7.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }, { kind: "component", type: i7.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i8.Modal, selector: "cds-modal, ibm-modal", inputs: ["size", "theme", "ariaLabel", "open", "trigger", "hasScrollingContent"], outputs: ["overlaySelected", "close"] }, { kind: "component", type: i8.ModalHeader, selector: "cds-modal-header, ibm-modal-header", inputs: ["theme", "closeLabel", "showCloseButton"], outputs: ["closeSelect"] }, { kind: "component", type: i8.ModalFooter, selector: "cds-modal-footer, ibm-modal-footer" }, { kind: "directive", type: i8.ModalContent, selector: "[cdsModalContent], [ibmModalContent]", inputs: ["hasForm"] }, { kind: "directive", type: i8.ModalHeaderHeading, selector: "[cdsModalHeaderHeading], [ibmModalHeaderHeading]" }, { kind: "component", type: i8.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i7.TooltipIconComponent, selector: "v-tooltip-icon", inputs: ["tooltip", "disabled"] }, { kind: "component", type: i7.CarbonMultiInputComponent, selector: "valtimo-carbon-multi-input", inputs: ["name", "title", "titleTranslationKey", "type", "initialAmountOfRows", "minimumAmountOfRows", "maxRows", "addRowText", "addRowTranslationKey", "deleteRowText", "deleteRowTranslationKey", "disabled", "defaultValues", "margin", "tooltip", "required", "keyColumnTitle", "valueColumnTitle", "dropdownColumnTitle", "hideDeleteButton", "hideAddButton", "dropdownItems", "dropdownWidth", "fullWidth"], outputs: ["valueChange", "allValuesValidEvent"] }, { kind: "directive", type: i8.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "directive", type: i7.ValtimoCdsModalDirective, selector: "[valtimoCdsModal]" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.PluginTranslatePipe, name: "pluginTranslate" }] }); }
211
211
  }
212
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: VerzoekConfigurationComponent, decorators: [{
213
213
  type: Component,
214
- args: [{ selector: 'valtimo-verzoek-configuration', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{documentSelectItems: documentSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.documentSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinitionName\"\n [title]=\"'caseDefinitionName' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionName\"\n [required]=\"true\"\n [loading]=\"!vars.documentSelectItems\"\n [tooltip]=\"'caseDefinitionNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionName &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionName\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n <v-button (clickEvent)=\"openMappingModal(uuid)\" mdiIcon=\"table\"\n >{{ 'setMapping' | pluginTranslate: pluginId | async }}\n </v-button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <cds-modal valtimoCdsModal [open]=\"showMappingModals[uuid]\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeMappingModal(uuid)\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </cds-modal-header>\n <section cdsModalContent>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n ></valtimo-carbon-multi-input>\n </cds-label>\n </div>\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n </cds-modal-footer>\n </cds-modal>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:.5rem;width:250px}.hidden-input{display:none}\n"] }]
214
+ args: [{ selector: 'valtimo-verzoek-configuration', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-form\n (valueChange)=\"formValueChange($event)\"\n *ngIf=\"{\n disabled: disabled$ | async,\n prefill: mappedPrefill$ ? (mappedPrefill$ | async) : null\n } as obs\"\n>\n <v-input\n name=\"configurationTitle\"\n [title]=\"'configurationTitle' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.configurationTitle\"\n [required]=\"true\"\n [tooltip]=\"'configurationTitleTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"Verzoek Plugin\"\n >\n </v-input>\n <ng-container\n *ngIf=\"{notificatiePluginSelectItems: notificatiePluginSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.notificatiePluginSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"notificatiesApiPluginConfiguration\"\n [title]=\"'notificatiesApiPluginConfiguration' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.notificatiesApiPluginConfiguration\"\n [required]=\"true\"\n [loading]=\"!vars.notificatiePluginSelectItems\"\n [tooltip]=\"'notificatiesApiPluginConfigurationTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [margin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processToStart\"\n [title]=\"'processToStart' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"obs.prefill?.processToStart\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processToStartTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-input\n name=\"rsin\"\n [title]=\"'rsin' | pluginTranslate: pluginId | async\"\n [margin]=\"true\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"obs.prefill?.rsin\"\n [required]=\"true\"\n [tooltip]=\"'rsinTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n placeholder=\"\"\n >\n </v-input>\n <v-multi-input-form\n name=\"verzoekProperties\"\n [title]=\"'verzoekProperties' | pluginTranslate: pluginId | async\"\n [formTemplate]=\"mappingForm\"\n [addRowText]=\"'addVerzoekType' | pluginTranslate: pluginId | async\"\n [required]=\"false\"\n [tooltip]=\"'verzoekPropertiesTooltip' | pluginTranslate: pluginId | async\"\n (deleteRowEvent)=\"deleteRow($event)\"\n [initialAmountOfRows]=\"0\"\n [minimumAmountOfRows]=\"0\"\n [defaultValues]=\"obs.prefill?.verzoekProperties\"\n >\n </v-multi-input-form>\n</v-form>\n\n<ng-template\n #mappingForm\n let-index=\"index\"\n let-uuid=\"uuid\"\n let-changeFunction=\"changeFunction\"\n let-prefill=\"prefill\"\n>\n <ng-container\n *ngIf=\"{\n disabled: disabled$ | async\n } as obs\"\n >\n <v-form (valueChange)=\"changeFunction($event, uuid); verzoekTypeFormChange($event, uuid)\">\n <v-input\n name=\"type\"\n [title]=\"'type' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.type\"\n [required]=\"true\"\n [tooltip]=\"'typeTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{documentSelectItems: documentSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.documentSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"caseDefinitionName\"\n [title]=\"'caseDefinitionName' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.caseDefinitionName\"\n [required]=\"true\"\n [loading]=\"!vars.documentSelectItems\"\n [tooltip]=\"'caseDefinitionNameTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <ng-container\n *ngIf=\"{objectManagementSelectItems: objectManagementSelectItems$ | async} as vars\"\n >\n <v-select\n [items]=\"vars.objectManagementSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"objectManagementId\"\n [title]=\"'objectManagementId' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.objectManagementId\"\n [required]=\"true\"\n [loading]=\"!vars.objectManagementSelectItems\"\n [tooltip]=\"'objectManagementIdTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-select\n [items]=\"\n rolTypeSelectItemsObservables[uuid]?.caseDefinitionName &&\n (rolTypeSelectItemsObservables[uuid].items | async)\n \"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"initiatorRoltypeUrl\"\n [title]=\"'initiatorRoltypeUrl' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled || !rolTypeSelectItemsObservables[uuid]?.caseDefinitionName\"\n [defaultSelectionId]=\"prefill?.initiatorRoltypeUrl\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRoltypeUrlTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n <v-input\n name=\"initiatorRolDescription\"\n [title]=\"'initiatorRolDescription' | pluginTranslate: pluginId | async\"\n [margin]=\"false\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"prefill?.initiatorRolDescription || 'Initiator'\"\n [required]=\"true\"\n [tooltip]=\"'initiatorRolDescriptionTooltip' | pluginTranslate: pluginId | async\"\n [widthPx]=\"350\"\n [smallMargin]=\"true\"\n placeholder=\"\"\n >\n </v-input>\n <ng-container *ngIf=\"{processSelectItems: processSelectItems$ | async} as vars\">\n <v-select\n [items]=\"vars.processSelectItems\"\n [smallMargin]=\"true\"\n [widthInPx]=\"350\"\n name=\"processDefinitionKey\"\n [title]=\"'processDefinitionKey' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n [defaultSelectionId]=\"prefill?.processDefinitionKey\"\n [required]=\"true\"\n [loading]=\"!vars.processSelectItems\"\n [tooltip]=\"'processDefinitionKeyTooltip' | pluginTranslate: pluginId | async\"\n ></v-select>\n </ng-container>\n <v-radio\n name=\"copyStrategy\"\n [disabled]=\"obs.disabled\"\n [title]=\"'copyStrategy' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'copyStrategyTooltip' | pluginTranslate: pluginId | async\"\n [radioValues]=\"radioItems$ | async\"\n [smallMargin]=\"true\"\n [defaultValue]=\"prefill?.copyStrategy || 'full'\"\n >\n </v-radio>\n <ng-container *ngIf=\"showMappingButtons[uuid]\">\n <v-input-label\n [title]=\"'mapping' | pluginTranslate: pluginId | async\"\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n >\n </v-input-label>\n <v-button (clickEvent)=\"openMappingModal(uuid)\" mdiIcon=\"table\"\n >{{ 'setMapping' | pluginTranslate: pluginId | async }}\n </v-button>\n </ng-container>\n <v-input class=\"hidden-input\" name=\"uuid\" [defaultValue]=\"uuid\"> </v-input>\n </v-form>\n <cds-modal valtimoCdsModal [open]=\"showMappingModals[uuid]\">\n <cds-modal-header [showCloseButton]=\"true\" (closeSelect)=\"closeMappingModal(uuid)\">\n <h3 cdsModalHeaderHeading>{{ 'setMapping' | pluginTranslate: pluginId | async }}</h3>\n </cds-modal-header>\n <section cdsModalContent>\n <div class=\"cds--text-input__field-wrapper\">\n <cds-label [disabled]=\"obs.disabled\">\n <span class=\"label-with-tooltip select-label\">\n {{ 'mapping' | pluginTranslate: pluginId | async }}\n <v-tooltip-icon\n [tooltip]=\"'mappingTooltip' | pluginTranslate: pluginId | async\"\n [disabled]=\"obs.disabled\"\n ></v-tooltip-icon>\n </span>\n </cds-label>\n <valtimo-carbon-multi-input\n *ngIf=\"showMappingModalsDelay[uuid]\"\n type=\"keyValue\"\n (valueChange)=\"mappingValueChange($event, uuid)\"\n [defaultValues]=\"mappings[uuid] || prefill?.mapping\"\n [valueColumnTitle]=\"'target' | pluginTranslate: pluginId | async\"\n [keyColumnTitle]=\"'source' | pluginTranslate: pluginId | async\"\n [fullWidth]=\"true\"\n ></valtimo-carbon-multi-input>\n </div>\n </section>\n <cds-modal-footer>\n <ng-container>\n <button\n cdsButton=\"secondary\"\n [attr.modal-primary-focus]=\"true\"\n (click)=\"closeMappingModal(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'close' | pluginTranslate: pluginId | async }}\n </button>\n <button\n cdsButton=\"primary\"\n [attr.modal-primary-focus]=\"true\"\n [disabled]=\"obs.disabled\"\n (click)=\"saveMapping(uuid)\"\n [disabled]=\"obs.disabled\"\n >\n {{ 'save' | pluginTranslate: pluginId | async }}\n </button>\n </ng-container>\n </cds-modal-footer>\n </cds-modal>\n </ng-container>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 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 */.label-with-tooltip{display:flex;align-items:center}.select-label{padding-bottom:.5rem;width:250px}.hidden-input{display:none}.cds--text-input__field-wrapper{flex-direction:column}\n"] }]
215
215
  }], ctorParameters: function () { return [{ type: i1.PluginManagementService }, { type: i2.TranslateService }, { type: i1.PluginTranslationService }, { type: i3.VerzoekPluginService }, { type: i4.ProcessService }, { type: i5.DocumentService }]; }, propDecorators: { save$: [{
216
216
  type: Input
217
217
  }], disabled$: [{
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
225
225
  }], configuration: [{
226
226
  type: Output
227
227
  }] } });
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyem9lay1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy92ZXJ6b2VrL2NvbXBvbmVudHMvdmVyem9lay1jb25maWd1cmF0aW9uL3ZlcnpvZWstY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvdmVyem9lay9jb21wb25lbnRzL3ZlcnpvZWstY29uZmlndXJhdGlvbi92ZXJ6b2VrLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixNQUFNLEVBQ04sR0FBRyxFQUVILEVBQUUsRUFFRixJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQWNkLE1BQU0sT0FBTyw2QkFBNkI7SUEwRnhDLFlBQ21CLHVCQUFnRCxFQUNoRCxnQkFBa0MsRUFDbEMsd0JBQWtELEVBQ2xELG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5QixlQUFnQztRQUxoQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUF6RnpD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Qzt3QkFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztxQkFDeEI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0F2UVUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsNFBDMUMxQyxzdFVBb1FBOzs0RkQxTmEsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLCtCQUErQjtrUkFPaEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3Vic2NyaXB0aW9uLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb3B5U3RyYXRlZ3ksIFZlcnpvZWtDb25maWcsIFZlcnpvZWtUeXBlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtQbHVnaW5NYW5hZ2VtZW50U2VydmljZSwgUGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtNdWx0aUlucHV0VmFsdWVzLCBSYWRpb1ZhbHVlLCBTZWxlY3RJdGVtfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VmVyem9la1BsdWdpblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7UHJvY2Vzc1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3Byb2Nlc3MnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby12ZXJ6b2VrLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdmVyem9lay1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmVyem9lay1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFZlcnpvZWtDb25maWd1cmF0aW9uQ29tcG9uZW50XG4gIGltcGxlbWVudHMgUGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgc2F2ZSQ6IE9ic2VydmFibGU8dm9pZD47XG4gIEBJbnB1dCgpIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgQElucHV0KCkgcGx1Z2luSWQ6IHN0cmluZztcbiAgQElucHV0KCkgcHJlZmlsbENvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPFZlcnpvZWtDb25maWc+O1xuICBAT3V0cHV0KCkgdmFsaWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxWZXJ6b2VrQ29uZmlnPiA9IG5ldyBFdmVudEVtaXR0ZXI8VmVyem9la0NvbmZpZz4oKTtcblxuICBtYXBwZWRQcmVmaWxsJDogT2JzZXJ2YWJsZTxWZXJ6b2VrQ29uZmlnPjtcblxuICBwcml2YXRlIG1hcHBpbmdTZXQhOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGllUGx1Z2luU2VsZWN0SXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMucGx1Z2luTWFuYWdlbWVudFNlcnZpY2UuZ2V0UGx1Z2luQ29uZmlndXJhdGlvbnNCeVBsdWdpbkRlZmluaXRpb25LZXkoJ25vdGlmaWNhdGllc2FwaScpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2NvbmZpZ3VyYXRpb25zXSkgPT5cbiAgICAgIGNvbmZpZ3VyYXRpb25zLm1hcChjb25maWd1cmF0aW9uID0+ICh7XG4gICAgICAgIGlkOiBjb25maWd1cmF0aW9uLmlkLFxuICAgICAgICB0ZXh0OiBgJHtjb25maWd1cmF0aW9uLnRpdGxlfSAtICR7dGhpcy5wbHVnaW5UcmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAndGl0bGUnLFxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24ucGx1Z2luRGVmaW5pdGlvbi5rZXlcbiAgICAgICAgKX1gLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHJlYWRvbmx5IG9iamVjdE1hbmFnZW1lbnRTZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VsZWN0SXRlbT4+ID0gdGhpcy52ZXJ6b2VrUGx1Z2luU2VydmljZVxuICAgIC5nZXRBbGxPYmplY3RzKClcbiAgICAucGlwZShcbiAgICAgIG1hcChvYmplY3RzID0+XG4gICAgICAgIG9iamVjdHMubWFwKG9iamVjdCA9PiAoe1xuICAgICAgICAgIGlkOiBvYmplY3QuaWQsXG4gICAgICAgICAgdGV4dDogb2JqZWN0LnRpdGxlLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHJlYWRvbmx5IHByb2Nlc3NTZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VsZWN0SXRlbT4+ID0gdGhpcy5wcm9jZXNzU2VydmljZVxuICAgIC5nZXRQcm9jZXNzRGVmaW5pdGlvbnMoKVxuICAgIC5waXBlKFxuICAgICAgbWFwKHByb2Nlc3NEZWZpbml0aW9ucyA9PlxuICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbnMubWFwKHByb2Nlc3NEZWZpbml0aW9uID0+ICh7XG4gICAgICAgICAgaWQ6IHByb2Nlc3NEZWZpbml0aW9uLmtleSxcbiAgICAgICAgICB0ZXh0OiBwcm9jZXNzRGVmaW5pdGlvbi5uYW1lLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHJlYWRvbmx5IGRvY3VtZW50U2VsZWN0SXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEl0ZW0+PiA9IHRoaXMuZG9jdW1lbnRTZXJ2aWNlXG4gICAgLmdldEFsbERlZmluaXRpb25zKClcbiAgICAucGlwZShcbiAgICAgIG1hcChkb2N1bWVudERlZmluaXRpb25zID0+XG4gICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuY29udGVudC5tYXAoZG9jdW1lbnREZWZpbml0aW9uID0+ICh7XG4gICAgICAgICAgaWQ6IGRvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lLFxuICAgICAgICAgIHRleHQ6IGRvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHJlYWRvbmx5IFJBRElPX0lURU1TOiBBcnJheTxDb3B5U3RyYXRlZ3k+ID0gWydmdWxsJywgJ3NwZWNpZmllZCddO1xuICByZWFkb25seSByYWRpb0l0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxSYWRpb1ZhbHVlPj4gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKS5waXBlKFxuICAgIG1hcCgoKSA9PlxuICAgICAgdGhpcy5SQURJT19JVEVNUy5tYXAocmFkaW9JdGVtID0+ICh7XG4gICAgICAgIHZhbHVlOiByYWRpb0l0ZW0sXG4gICAgICAgIHRpdGxlOiB0aGlzLnBsdWdpblRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KHJhZGlvSXRlbSwgdGhpcy5wbHVnaW5JZCksXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcmVhZG9ubHkgcm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXM6IHtcbiAgICBbdXVpZDogc3RyaW5nXToge2Nhc2VEZWZpbml0aW9uTmFtZTogc3RyaW5nOyBpdGVtczogT2JzZXJ2YWJsZTxBcnJheTxTZWxlY3RJdGVtPj59O1xuICB9ID0ge307XG5cbiAgcmVhZG9ubHkgc2hvd01hcHBpbmdCdXR0b25zOiB7W3V1aWQ6IHN0cmluZ106IGJvb2xlYW59ID0ge307XG5cbiAgcmVhZG9ubHkgc2hvd01hcHBpbmdNb2RhbHM6IHtbdXVpZDogc3RyaW5nXTogYm9vbGVhbn0gPSB7fTtcbiAgcmVhZG9ubHkgc2hvd01hcHBpbmdNb2RhbHNEZWxheToge1t1dWlkOiBzdHJpbmddOiBib29sZWFufSA9IHt9O1xuXG4gIHJlYWRvbmx5IHRlbXBNYXBwaW5nczoge1t1dWlkOiBzdHJpbmddOiBNdWx0aUlucHV0VmFsdWVzfSA9IHt9O1xuXG4gIHJlYWRvbmx5IG1hcHBpbmdzOiB7W3V1aWQ6IHN0cmluZ106IE11bHRpSW5wdXRWYWx1ZXN9ID0ge307XG5cbiAgcHJpdmF0ZSBzYXZlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmVyem9la0NvbmZpZyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luTWFuYWdlbWVudFNlcnZpY2U6IFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblRyYW5zbGF0aW9uU2VydmljZTogUGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyem9la1BsdWdpblNlcnZpY2U6IFZlcnpvZWtQbHVnaW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc1NlcnZpY2U6IFByb2Nlc3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLnNldE1hcHBlZFByZWZpbGwoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IFZlcnpvZWtDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1WYWx1ZSQubmV4dChmb3JtVmFsdWUpO1xuICAgIHRoaXMuaGFuZGxlVmFsaWQoZm9ybVZhbHVlKTtcbiAgfVxuXG4gIHZlcnpvZWtUeXBlRm9ybUNoYW5nZShmb3JtVmFsdWU6IFZlcnpvZWtUeXBlLCB1dWlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjYXNlRGVmaW5pdGlvbk5hbWUgPSBmb3JtVmFsdWU/LmNhc2VEZWZpbml0aW9uTmFtZTtcbiAgICBjb25zdCByb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlcyA9IHRoaXMucm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXM7XG5cbiAgICB0aGlzLnNob3dNYXBwaW5nQnV0dG9uc1t1dWlkXSA9IGZvcm1WYWx1ZS5jb3B5U3RyYXRlZ3kgPT09ICdzcGVjaWZpZWQnO1xuXG4gICAgaWYgKGNhc2VEZWZpbml0aW9uTmFtZSkge1xuICAgICAgaWYgKFxuICAgICAgICAhcm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXNbdXVpZF0gfHxcbiAgICAgICAgcm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXNbdXVpZF0uY2FzZURlZmluaXRpb25OYW1lICE9PSBjYXNlRGVmaW5pdGlvbk5hbWVcbiAgICAgICkge1xuICAgICAgICByb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlc1t1dWlkXSA9IHtcbiAgICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgaXRlbXM6IHRoaXMudmVyem9la1BsdWdpblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRSb2x0eXBlc0J5RG9jdW1lbnREZWZpbml0aW9uTmFtZShjYXNlRGVmaW5pdGlvbk5hbWUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgbWFwKHJvbFR5cGVzID0+IHJvbFR5cGVzLm1hcChyb2xUeXBlID0+ICh7dGV4dDogcm9sVHlwZS5uYW1lLCBpZDogcm9sVHlwZS51cmx9KSkpXG4gICAgICAgICAgICApLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlc1t1dWlkXSA9IHtcbiAgICAgICAgY2FzZURlZmluaXRpb25OYW1lLFxuICAgICAgICBpdGVtczogb2YoW10pLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVSb3codXVpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMucm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXNbdXVpZF07XG4gIH1cblxuICBvcGVuTWFwcGluZ01vZGFsKHV1aWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2hvd01hcHBpbmdNb2RhbHNbdXVpZF0gPSB0cnVlO1xuICAgIHRoaXMuc2hvd01hcHBpbmdNb2RhbHNEZWxheVt1dWlkXSA9IHRydWU7XG4gIH1cblxuICBjbG9zZU1hcHBpbmdNb2RhbCh1dWlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dNYXBwaW5nTW9kYWxzW3V1aWRdID0gZmFsc2U7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd01hcHBpbmdNb2RhbHNEZWxheVt1dWlkXSA9IGZhbHNlO1xuICAgIH0sIDI1MCk7XG4gIH1cblxuICBtYXBwaW5nVmFsdWVDaGFuZ2UobmV3VmFsdWU6IE11bHRpSW5wdXRWYWx1ZXMsIHV1aWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGVtcE1hcHBpbmdzW3V1aWRdID0gbmV3VmFsdWU7XG4gIH1cblxuICBzYXZlTWFwcGluZyh1dWlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm1hcHBpbmdzW3V1aWRdID0gWy4uLnRoaXMudGVtcE1hcHBpbmdzW3V1aWRdXTtcbiAgICB0aGlzLnRlbXBNYXBwaW5nc1t1dWlkXSA9IFtdO1xuICAgIHRoaXMuY2xvc2VNYXBwaW5nTW9kYWwodXVpZCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbGlkKGZvcm1WYWx1ZTogVmVyem9la0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkRm9ybSA9ICEhKFxuICAgICAgZm9ybVZhbHVlLmNvbmZpZ3VyYXRpb25UaXRsZSAmJlxuICAgICAgZm9ybVZhbHVlLm5vdGlmaWNhdGllc0FwaVBsdWdpbkNvbmZpZ3VyYXRpb24gJiZcbiAgICAgIGZvcm1WYWx1ZS5yc2luICYmXG4gICAgICBmb3JtVmFsdWUucHJvY2Vzc1RvU3RhcnRcbiAgICApO1xuICAgIGNvbnN0IHZlcnpvZWtUeXBlbiA9IGZvcm1WYWx1ZS52ZXJ6b2VrUHJvcGVydGllcyB8fCBbXTtcbiAgICBjb25zdCB2YWxpZFZlcnpvZWtUeXBlbiA9IHZlcnpvZWtUeXBlbi5maWx0ZXIoXG4gICAgICB0eXBlID0+XG4gICAgICAgICEhKFxuICAgICAgICAgIHR5cGUudHlwZSAmJlxuICAgICAgICAgIHR5cGUuY2FzZURlZmluaXRpb25OYW1lICYmXG4gICAgICAgICAgdHlwZS5vYmplY3RNYW5hZ2VtZW50SWQgJiZcbiAgICAgICAgICB0eXBlLmluaXRpYXRvclJvbHR5cGVVcmwgJiZcbiAgICAgICAgICB0eXBlLnByb2Nlc3NEZWZpbml0aW9uS2V5ICYmXG4gICAgICAgICAgdHlwZS5pbml0aWF0b3JSb2xEZXNjcmlwdGlvblxuICAgICAgICApXG4gICAgKTtcbiAgICBjb25zdCB2YWxpZCA9IHZhbGlkRm9ybSAmJiB2ZXJ6b2VrVHlwZW4ubGVuZ3RoID09PSB2YWxpZFZlcnpvZWtUeXBlbi5sZW5ndGg7XG4gICAgdGhpcy52YWxpZCQubmV4dCh2YWxpZCk7XG4gICAgdGhpcy52YWxpZC5lbWl0KHZhbGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNhdmVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlU3Vic2NyaXB0aW9uID0gdGhpcy5zYXZlJD8uc3Vic2NyaWJlKHNhdmUgPT4ge1xuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5mb3JtVmFsdWUkLCB0aGlzLnZhbGlkJF0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKFtmb3JtVmFsdWUsIHZhbGlkXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZVRvU2F2ZTogVmVyem9la0NvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLmZvcm1WYWx1ZSxcbiAgICAgICAgICAgIHZlcnpvZWtQcm9wZXJ0aWVzOiBmb3JtVmFsdWUudmVyem9la1Byb3BlcnRpZXMubWFwKHZlcnpvZWsgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2ZXJ6b2VrVG9SZXR1cm46IFZlcnpvZWtUeXBlID0gey4uLnZlcnpvZWt9O1xuICAgICAgICAgICAgICBkZWxldGUgdmVyem9la1RvUmV0dXJuLnV1aWQ7XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMubWFwcGluZ3NbdmVyem9lay51dWlkXSAmJiB2ZXJ6b2VrLmNvcHlTdHJhdGVneSA9PT0gJ3NwZWNpZmllZCcpIHtcbiAgICAgICAgICAgICAgICB2ZXJ6b2VrVG9SZXR1cm4ubWFwcGluZyA9IHRoaXMubWFwcGluZ3NbdmVyem9lay51dWlkXTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4udmVyem9la1RvUmV0dXJuLFxuICAgICAgICAgICAgICAgIC4uLih2ZXJ6b2VrVG9SZXR1cm4ubWFwcGluZyAmJiB7XG4gICAgICAgICAgICAgICAgICBtYXBwaW5nOiB2ZXJ6b2VrVG9SZXR1cm4ubWFwcGluZy5tYXAodmVyem9la01hcHBpbmcgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiB2ZXJ6b2VrTWFwcGluZy5rZXksXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogdmVyem9la01hcHBpbmcudmFsdWUsXG4gICAgICAgICAgICAgICAgICB9KSkgYXMgQXJyYXk8YW55PixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdChmb3JtVmFsdWVUb1NhdmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldE1hcHBlZFByZWZpbGwoKTogdm9pZCB7XG4gICAgdGhpcy5tYXBwZWRQcmVmaWxsJCA9IHRoaXMucHJlZmlsbENvbmZpZ3VyYXRpb24kLnBpcGUoXG4gICAgICBmaWx0ZXIocHJlZmlsbCA9PiAhIXByZWZpbGwpLFxuICAgICAgbWFwKHByZWZpbGwgPT4gKHtcbiAgICAgICAgLi4ucHJlZmlsbCxcbiAgICAgICAgdmVyem9la1Byb3BlcnRpZXM6IHByZWZpbGwudmVyem9la1Byb3BlcnRpZXMubWFwKHZlcnpvZWtUeXBlID0+ICh7XG4gICAgICAgICAgLi4udmVyem9la1R5cGUsXG4gICAgICAgICAgLi4uKHZlcnpvZWtUeXBlLm1hcHBpbmcgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodmVyem9la1R5cGUubWFwcGluZykgJiYge1xuICAgICAgICAgICAgICBtYXBwaW5nOiB2ZXJ6b2VrVHlwZS5tYXBwaW5nLm1hcChtYXBwaW5nID0+ICh7XG4gICAgICAgICAgICAgICAga2V5OiBtYXBwaW5nLnNvdXJjZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbWFwcGluZy50YXJnZXQsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KSksXG4gICAgICB9KSksXG4gICAgICB0YXAocHJlZmlsbCA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybVZhbHVlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShmb3JtVmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm1hcHBpbmdTZXQpIHtcbiAgICAgICAgICAgICAgY29uc3QgcHJlZmlsbFZlcnpvZWtlbiA9IHByZWZpbGw/LnZlcnpvZWtQcm9wZXJ0aWVzO1xuICAgICAgICAgICAgICBjb25zdCBmb3JtVmFsdWVWZXJ6b2VrZW4gPSBmb3JtVmFsdWU/LnZlcnpvZWtQcm9wZXJ0aWVzO1xuXG4gICAgICAgICAgICAgIHByZWZpbGxWZXJ6b2VrZW4uZm9yRWFjaCgodmVyem9laywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwaW5nRm9yVmVyem9layA9IHZlcnpvZWs/Lm1hcHBpbmc7XG4gICAgICAgICAgICAgICAgY29uc3QgdXVpZEZvck1hcHBpbmcgPSBmb3JtVmFsdWVWZXJ6b2VrZW5baW5kZXhdLnV1aWQ7XG5cbiAgICAgICAgICAgICAgICBpZiAobWFwcGluZ0ZvclZlcnpvZWsgJiYgdXVpZEZvck1hcHBpbmcpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMubWFwcGluZ3NbdXVpZEZvck1hcHBpbmddID0gbWFwcGluZ0ZvclZlcnpvZWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICB0aGlzLm1hcHBpbmdTZXQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LCAyNTApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2LWZvcm1cbiAgKHZhbHVlQ2hhbmdlKT1cImZvcm1WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJ7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICAgIHByZWZpbGw6IG1hcHBlZFByZWZpbGwkID8gKG1hcHBlZFByZWZpbGwkIHwgYXN5bmMpIDogbnVsbFxuICB9IGFzIG9ic1wiXG4+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cImNvbmZpZ3VyYXRpb25UaXRsZVwiXG4gICAgW3RpdGxlXT1cIidjb25maWd1cmF0aW9uVGl0bGUnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LmNvbmZpZ3VyYXRpb25UaXRsZVwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIidjb25maWd1cmF0aW9uVGl0bGVUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgW3dpZHRoUHhdPVwiMzUwXCJcbiAgICBwbGFjZWhvbGRlcj1cIlZlcnpvZWsgUGx1Z2luXCJcbiAgPlxuICA8L3YtaW5wdXQ+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIntub3RpZmljYXRpZVBsdWdpblNlbGVjdEl0ZW1zOiBub3RpZmljYXRpZVBsdWdpblNlbGVjdEl0ZW1zJCB8IGFzeW5jfSBhcyB2YXJzXCJcbiAgPlxuICAgIDx2LXNlbGVjdFxuICAgICAgW2l0ZW1zXT1cInZhcnMubm90aWZpY2F0aWVQbHVnaW5TZWxlY3RJdGVtc1wiXG4gICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgbmFtZT1cIm5vdGlmaWNhdGllc0FwaVBsdWdpbkNvbmZpZ3VyYXRpb25cIlxuICAgICAgW3RpdGxlXT1cIidub3RpZmljYXRpZXNBcGlQbHVnaW5Db25maWd1cmF0aW9uJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwib2JzLnByZWZpbGw/Lm5vdGlmaWNhdGllc0FwaVBsdWdpbkNvbmZpZ3VyYXRpb25cIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW2xvYWRpbmddPVwiIXZhcnMubm90aWZpY2F0aWVQbHVnaW5TZWxlY3RJdGVtc1wiXG4gICAgICBbdG9vbHRpcF09XCInbm90aWZpY2F0aWVzQXBpUGx1Z2luQ29uZmlndXJhdGlvblRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICA+PC92LXNlbGVjdD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ7cHJvY2Vzc1NlbGVjdEl0ZW1zOiBwcm9jZXNzU2VsZWN0SXRlbXMkIHwgYXN5bmN9IGFzIHZhcnNcIj5cbiAgICA8di1zZWxlY3RcbiAgICAgIFtpdGVtc109XCJ2YXJzLnByb2Nlc3NTZWxlY3RJdGVtc1wiXG4gICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgbmFtZT1cInByb2Nlc3NUb1N0YXJ0XCJcbiAgICAgIFt0aXRsZV09XCIncHJvY2Vzc1RvU3RhcnQnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJvYnMucHJlZmlsbD8ucHJvY2Vzc1RvU3RhcnRcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW2xvYWRpbmddPVwiIXZhcnMucHJvY2Vzc1NlbGVjdEl0ZW1zXCJcbiAgICAgIFt0b29sdGlwXT1cIidwcm9jZXNzVG9TdGFydFRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICA+PC92LXNlbGVjdD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cInJzaW5cIlxuICAgIFt0aXRsZV09XCIncnNpbicgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8ucnNpblwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIidyc2luVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgcGxhY2Vob2xkZXI9XCJcIlxuICA+XG4gIDwvdi1pbnB1dD5cbiAgPHYtbXVsdGktaW5wdXQtZm9ybVxuICAgIG5hbWU9XCJ2ZXJ6b2VrUHJvcGVydGllc1wiXG4gICAgW3RpdGxlXT1cIid2ZXJ6b2VrUHJvcGVydGllcycgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFtmb3JtVGVtcGxhdGVdPVwibWFwcGluZ0Zvcm1cIlxuICAgIFthZGRSb3dUZXh0XT1cIidhZGRWZXJ6b2VrVHlwZScgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXG4gICAgW3Rvb2x0aXBdPVwiJ3ZlcnpvZWtQcm9wZXJ0aWVzVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIChkZWxldGVSb3dFdmVudCk9XCJkZWxldGVSb3coJGV2ZW50KVwiXG4gICAgW2luaXRpYWxBbW91bnRPZlJvd3NdPVwiMFwiXG4gICAgW21pbmltdW1BbW91bnRPZlJvd3NdPVwiMFwiXG4gICAgW2RlZmF1bHRWYWx1ZXNdPVwib2JzLnByZWZpbGw/LnZlcnpvZWtQcm9wZXJ0aWVzXCJcbiAgPlxuICA8L3YtbXVsdGktaW5wdXQtZm9ybT5cbjwvdi1mb3JtPlxuXG48bmctdGVtcGxhdGVcbiAgI21hcHBpbmdGb3JtXG4gIGxldC1pbmRleD1cImluZGV4XCJcbiAgbGV0LXV1aWQ9XCJ1dWlkXCJcbiAgbGV0LWNoYW5nZUZ1bmN0aW9uPVwiY2hhbmdlRnVuY3Rpb25cIlxuICBsZXQtcHJlZmlsbD1cInByZWZpbGxcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJ7XG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmNcbiAgICB9IGFzIG9ic1wiXG4gID5cbiAgICA8di1mb3JtICh2YWx1ZUNoYW5nZSk9XCJjaGFuZ2VGdW5jdGlvbigkZXZlbnQsIHV1aWQpOyB2ZXJ6b2VrVHlwZUZvcm1DaGFuZ2UoJGV2ZW50LCB1dWlkKVwiPlxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgbmFtZT1cInR5cGVcIlxuICAgICAgICBbdGl0bGVdPVwiJ3R5cGUnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW21hcmdpbl09XCJmYWxzZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGw/LnR5cGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIid0eXBlVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbd2lkdGhQeF09XCIzNTBcIlxuICAgICAgICBbc21hbGxNYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgID5cbiAgICAgIDwvdi1pbnB1dD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ7ZG9jdW1lbnRTZWxlY3RJdGVtczogZG9jdW1lbnRTZWxlY3RJdGVtcyQgfCBhc3luY30gYXMgdmFyc1wiPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwidmFycy5kb2N1bWVudFNlbGVjdEl0ZW1zXCJcbiAgICAgICAgICBbc21hbGxNYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICAgIG5hbWU9XCJjYXNlRGVmaW5pdGlvbk5hbWVcIlxuICAgICAgICAgIFt0aXRsZV09XCInY2FzZURlZmluaXRpb25OYW1lJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsPy5jYXNlRGVmaW5pdGlvbk5hbWVcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbbG9hZGluZ109XCIhdmFycy5kb2N1bWVudFNlbGVjdEl0ZW1zXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInY2FzZURlZmluaXRpb25OYW1lVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIntvYmplY3RNYW5hZ2VtZW50U2VsZWN0SXRlbXM6IG9iamVjdE1hbmFnZW1lbnRTZWxlY3RJdGVtcyQgfCBhc3luY30gYXMgdmFyc1wiXG4gICAgICA+XG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJ2YXJzLm9iamVjdE1hbmFnZW1lbnRTZWxlY3RJdGVtc1wiXG4gICAgICAgICAgW3NtYWxsTWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwib2JqZWN0TWFuYWdlbWVudElkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnRJZCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwicHJlZmlsbD8ub2JqZWN0TWFuYWdlbWVudElkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2xvYWRpbmddPVwiIXZhcnMub2JqZWN0TWFuYWdlbWVudFNlbGVjdEl0ZW1zXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInb2JqZWN0TWFuYWdlbWVudElkVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHYtc2VsZWN0XG4gICAgICAgIFtpdGVtc109XCJcbiAgICAgICAgICByb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlc1t1dWlkXT8uY2FzZURlZmluaXRpb25OYW1lICYmXG4gICAgICAgICAgKHJvbFR5cGVTZWxlY3RJdGVtc09ic2VydmFibGVzW3V1aWRdLml0ZW1zIHwgYXN5bmMpXG4gICAgICAgIFwiXG4gICAgICAgIFtzbWFsbE1hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICBuYW1lPVwiaW5pdGlhdG9yUm9sdHlwZVVybFwiXG4gICAgICAgIFt0aXRsZV09XCInaW5pdGlhdG9yUm9sdHlwZVVybCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8ICFyb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlc1t1dWlkXT8uY2FzZURlZmluaXRpb25OYW1lXCJcbiAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsPy5pbml0aWF0b3JSb2x0eXBlVXJsXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdG9vbHRpcF09XCInaW5pdGlhdG9yUm9sdHlwZVVybFRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgID48L3Ytc2VsZWN0PlxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgbmFtZT1cImluaXRpYXRvclJvbERlc2NyaXB0aW9uXCJcbiAgICAgICAgW3RpdGxlXT1cIidpbml0aWF0b3JSb2xEZXNjcmlwdGlvbicgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbbWFyZ2luXT1cImZhbHNlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbD8uaW5pdGlhdG9yUm9sRGVzY3JpcHRpb24gfHwgJ0luaXRpYXRvcidcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidpbml0aWF0b3JSb2xEZXNjcmlwdGlvblRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW3dpZHRoUHhdPVwiMzUwXCJcbiAgICAgICAgW3NtYWxsTWFyZ2luXT1cInRydWVcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICA+XG4gICAgICA8L3YtaW5wdXQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwie3Byb2Nlc3NTZWxlY3RJdGVtczogcHJvY2Vzc1NlbGVjdEl0ZW1zJCB8IGFzeW5jfSBhcyB2YXJzXCI+XG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJ2YXJzLnByb2Nlc3NTZWxlY3RJdGVtc1wiXG4gICAgICAgICAgW3NtYWxsTWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwicHJvY2Vzc0RlZmluaXRpb25LZXlcIlxuICAgICAgICAgIFt0aXRsZV09XCIncHJvY2Vzc0RlZmluaXRpb25LZXknIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cInByZWZpbGw/LnByb2Nlc3NEZWZpbml0aW9uS2V5XCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2xvYWRpbmddPVwiIXZhcnMucHJvY2Vzc1NlbGVjdEl0ZW1zXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCIncHJvY2Vzc0RlZmluaXRpb25LZXlUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgID48L3Ytc2VsZWN0PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8di1yYWRpb1xuICAgICAgICBuYW1lPVwiY29weVN0cmF0ZWd5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgIFt0aXRsZV09XCInY29weVN0cmF0ZWd5JyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIFt0b29sdGlwXT1cIidjb3B5U3RyYXRlZ3lUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIFtyYWRpb1ZhbHVlc109XCJyYWRpb0l0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgW3NtYWxsTWFyZ2luXT1cInRydWVcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGw/LmNvcHlTdHJhdGVneSB8fCAnZnVsbCdcIlxuICAgICAgPlxuICAgICAgPC92LXJhZGlvPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dNYXBwaW5nQnV0dG9uc1t1dWlkXVwiPlxuICAgICAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgICAgIFt0aXRsZV09XCInbWFwcGluZycgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidtYXBwaW5nVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICA+XG4gICAgICAgIDwvdi1pbnB1dC1sYWJlbD5cbiAgICAgICAgPHYtYnV0dG9uIChjbGlja0V2ZW50KT1cIm9wZW5NYXBwaW5nTW9kYWwodXVpZClcIiBtZGlJY29uPVwidGFibGVcIlxuICAgICAgICAgID57eyAnc2V0TWFwcGluZycgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmMgfX1cbiAgICAgICAgPC92LWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHYtaW5wdXQgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiBuYW1lPVwidXVpZFwiIFtkZWZhdWx0VmFsdWVdPVwidXVpZFwiPiA8L3YtaW5wdXQ+XG4gICAgPC92LWZvcm0+XG4gICAgPGNkcy1tb2RhbCB2YWx0aW1vQ2RzTW9kYWwgW29wZW5dPVwic2hvd01hcHBpbmdNb2RhbHNbdXVpZF1cIj5cbiAgICAgIDxjZHMtbW9kYWwtaGVhZGVyIFtzaG93Q2xvc2VCdXR0b25dPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJjbG9zZU1hcHBpbmdNb2RhbCh1dWlkKVwiPlxuICAgICAgICA8aDMgY2RzTW9kYWxIZWFkZXJIZWFkaW5nPnt7ICdzZXRNYXBwaW5nJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luYyB9fTwvaDM+XG4gICAgICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG4gICAgICA8c2VjdGlvbiBjZHNNb2RhbENvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIj5cbiAgICAgICAgICA8Y2RzLWxhYmVsIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtd2l0aC10b29sdGlwIHNlbGVjdC1sYWJlbFwiPlxuICAgICAgICAgICAgICB7eyAnbWFwcGluZycgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgPHYtdG9vbHRpcC1pY29uXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ21hcHBpbmdUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgID48L3YtdG9vbHRpcC1pY29uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHZhbHRpbW8tY2FyYm9uLW11bHRpLWlucHV0XG4gICAgICAgICAgICAgICpuZ0lmPVwic2hvd01hcHBpbmdNb2RhbHNEZWxheVt1dWlkXVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJrZXlWYWx1ZVwiXG4gICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJtYXBwaW5nVmFsdWVDaGFuZ2UoJGV2ZW50LCB1dWlkKVwiXG4gICAgICAgICAgICAgIFtkZWZhdWx0VmFsdWVzXT1cIm1hcHBpbmdzW3V1aWRdIHx8IHByZWZpbGw/Lm1hcHBpbmdcIlxuICAgICAgICAgICAgICBbdmFsdWVDb2x1bW5UaXRsZV09XCIndGFyZ2V0JyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICAgIFtrZXlDb2x1bW5UaXRsZV09XCInc291cmNlJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICA+PC92YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dD5cbiAgICAgICAgICA8L2Nkcy1sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8Y2RzLW1vZGFsLWZvb3Rlcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU1hcHBpbmdNb2RhbCh1dWlkKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnY2xvc2UnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBbYXR0ci5tb2RhbC1wcmltYXJ5LWZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2F2ZU1hcHBpbmcodXVpZClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3NhdmUnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuICAgIDwvY2RzLW1vZGFsPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyem9lay1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvcGx1Z2lucy92ZXJ6b2VrL2NvbXBvbmVudHMvdmVyem9lay1jb25maWd1cmF0aW9uL3ZlcnpvZWstY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3BsdWdpbi9zcmMvbGliL3BsdWdpbnMvdmVyem9lay9jb21wb25lbnRzL3ZlcnpvZWstY29uZmlndXJhdGlvbi92ZXJ6b2VrLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixNQUFNLEVBQ04sR0FBRyxFQUVILEVBQUUsRUFFRixJQUFJLEVBQ0osR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7OztBQWNkLE1BQU0sT0FBTyw2QkFBNkI7SUEwRnhDLFlBQ21CLHVCQUFnRCxFQUNoRCxnQkFBa0MsRUFDbEMsd0JBQWtELEVBQ2xELG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5QixlQUFnQztRQUxoQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUF6RnpD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Qzt3QkFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztxQkFDeEI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrR0F2UVUsNkJBQTZCO21HQUE3Qiw2QkFBNkIsNFBDMUMxQyx3dVVBcVFBOzs0RkQzTmEsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLCtCQUErQjtrUkFPaEMsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0ksS0FBSztzQkFBZCxNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgU3Vic2NyaXB0aW9uLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb3B5U3RyYXRlZ3ksIFZlcnpvZWtDb25maWcsIFZlcnpvZWtUeXBlfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtQbHVnaW5NYW5hZ2VtZW50U2VydmljZSwgUGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtNdWx0aUlucHV0VmFsdWVzLCBSYWRpb1ZhbHVlLCBTZWxlY3RJdGVtfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7VmVyem9la1BsdWdpblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7UHJvY2Vzc1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3Byb2Nlc3MnO1xuaW1wb3J0IHtEb2N1bWVudFNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2RvY3VtZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby12ZXJ6b2VrLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vdmVyem9lay1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmVyem9lay1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFZlcnpvZWtDb25maWd1cmF0aW9uQ29tcG9uZW50XG4gIGltcGxlbWVudHMgUGx1Z2luQ29uZmlndXJhdGlvbkNvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KCkgc2F2ZSQ6IE9ic2VydmFibGU8dm9pZD47XG4gIEBJbnB1dCgpIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgQElucHV0KCkgcGx1Z2luSWQ6IHN0cmluZztcbiAgQElucHV0KCkgcHJlZmlsbENvbmZpZ3VyYXRpb24kOiBPYnNlcnZhYmxlPFZlcnpvZWtDb25maWc+O1xuICBAT3V0cHV0KCkgdmFsaWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNvbmZpZ3VyYXRpb246IEV2ZW50RW1pdHRlcjxWZXJ6b2VrQ29uZmlnPiA9IG5ldyBFdmVudEVtaXR0ZXI8VmVyem9la0NvbmZpZz4oKTtcblxuICBtYXBwZWRQcmVmaWxsJDogT2JzZXJ2YWJsZTxWZXJ6b2VrQ29uZmlnPjtcblxuICBwcml2YXRlIG1hcHBpbmdTZXQhOiBib29sZWFuO1xuXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGllUGx1Z2luU2VsZWN0SXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMucGx1Z2luTWFuYWdlbWVudFNlcnZpY2UuZ2V0UGx1Z2luQ29uZmlndXJhdGlvbnNCeVBsdWdpbkRlZmluaXRpb25LZXkoJ25vdGlmaWNhdGllc2FwaScpLFxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zdHJlYW0oJ2tleScpLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW2NvbmZpZ3VyYXRpb25zXSkgPT5cbiAgICAgIGNvbmZpZ3VyYXRpb25zLm1hcChjb25maWd1cmF0aW9uID0+ICh7XG4gICAgICAgIGlkOiBjb25maWd1cmF0aW9uLmlkLFxuICAgICAgICB0ZXh0OiBgJHtjb25maWd1cmF0aW9uLnRpdGxlfSAtICR7dGhpcy5wbHVnaW5UcmFuc2xhdGlvblNlcnZpY2UuaW5zdGFudChcbiAgICAgICAgICAndGl0bGUnLFxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24ucGx1Z2luRGVmaW5pdGlvbi5rZXlcbiAgICAgICAgKX1gLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHJlYWRvbmx5IG9iamVjdE1hbmFnZW1lbnRTZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VsZWN0SXRlbT4+ID0gdGhpcy52ZXJ6b2VrUGx1Z2luU2VydmljZVxuICAgIC5nZXRBbGxPYmplY3RzKClcbiAgICAucGlwZShcbiAgICAgIG1hcChvYmplY3RzID0+XG4gICAgICAgIG9iamVjdHMubWFwKG9iamVjdCA9PiAoe1xuICAgICAgICAgIGlkOiBvYmplY3QuaWQsXG4gICAgICAgICAgdGV4dDogb2JqZWN0LnRpdGxlLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHJlYWRvbmx5IHByb2Nlc3NTZWxlY3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8U2VsZWN0SXRlbT4+ID0gdGhpcy5wcm9jZXNzU2VydmljZVxuICAgIC5nZXRQcm9jZXNzRGVmaW5pdGlvbnMoKVxuICAgIC5waXBlKFxuICAgICAgbWFwKHByb2Nlc3NEZWZpbml0aW9ucyA9PlxuICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbnMubWFwKHByb2Nlc3NEZWZpbml0aW9uID0+ICh7XG4gICAgICAgICAgaWQ6IHByb2Nlc3NEZWZpbml0aW9uLmtleSxcbiAgICAgICAgICB0ZXh0OiBwcm9jZXNzRGVmaW5pdGlvbi5uYW1lLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHJlYWRvbmx5IGRvY3VtZW50U2VsZWN0SXRlbXMkOiBPYnNlcnZhYmxlPEFycmF5PFNlbGVjdEl0ZW0+PiA9IHRoaXMuZG9jdW1lbnRTZXJ2aWNlXG4gICAgLmdldEFsbERlZmluaXRpb25zKClcbiAgICAucGlwZShcbiAgICAgIG1hcChkb2N1bWVudERlZmluaXRpb25zID0+XG4gICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbnMuY29udGVudC5tYXAoZG9jdW1lbnREZWZpbml0aW9uID0+ICh7XG4gICAgICAgICAgaWQ6IGRvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lLFxuICAgICAgICAgIHRleHQ6IGRvY3VtZW50RGVmaW5pdGlvbi5pZC5uYW1lLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApO1xuXG4gIHJlYWRvbmx5IFJBRElPX0lURU1TOiBBcnJheTxDb3B5U3RyYXRlZ3k+ID0gWydmdWxsJywgJ3NwZWNpZmllZCddO1xuICByZWFkb25seSByYWRpb0l0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxSYWRpb1ZhbHVlPj4gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc3RyZWFtKCdrZXknKS5waXBlKFxuICAgIG1hcCgoKSA9PlxuICAgICAgdGhpcy5SQURJT19JVEVNUy5tYXAocmFkaW9JdGVtID0+ICh7XG4gICAgICAgIHZhbHVlOiByYWRpb0l0ZW0sXG4gICAgICAgIHRpdGxlOiB0aGlzLnBsdWdpblRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KHJhZGlvSXRlbSwgdGhpcy5wbHVnaW5JZCksXG4gICAgICB9KSlcbiAgICApXG4gICk7XG5cbiAgcmVhZG9ubHkgcm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXM6IHtcbiAgICBbdXVpZDogc3RyaW5nXToge2Nhc2VEZWZpbml0aW9uTmFtZTogc3RyaW5nOyBpdGVtczogT2JzZXJ2YWJsZTxBcnJheTxTZWxlY3RJdGVtPj59O1xuICB9ID0ge307XG5cbiAgcmVhZG9ubHkgc2hvd01hcHBpbmdCdXR0b25zOiB7W3V1aWQ6IHN0cmluZ106IGJvb2xlYW59ID0ge307XG5cbiAgcmVhZG9ubHkgc2hvd01hcHBpbmdNb2RhbHM6IHtbdXVpZDogc3RyaW5nXTogYm9vbGVhbn0gPSB7fTtcbiAgcmVhZG9ubHkgc2hvd01hcHBpbmdNb2RhbHNEZWxheToge1t1dWlkOiBzdHJpbmddOiBib29sZWFufSA9IHt9O1xuXG4gIHJlYWRvbmx5IHRlbXBNYXBwaW5nczoge1t1dWlkOiBzdHJpbmddOiBNdWx0aUlucHV0VmFsdWVzfSA9IHt9O1xuXG4gIHJlYWRvbmx5IG1hcHBpbmdzOiB7W3V1aWQ6IHN0cmluZ106IE11bHRpSW5wdXRWYWx1ZXN9ID0ge307XG5cbiAgcHJpdmF0ZSBzYXZlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybVZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmVyem9la0NvbmZpZyB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luTWFuYWdlbWVudFNlcnZpY2U6IFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblRyYW5zbGF0aW9uU2VydmljZTogUGx1Z2luVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyem9la1BsdWdpblNlcnZpY2U6IFZlcnpvZWtQbHVnaW5TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc1NlcnZpY2U6IFByb2Nlc3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnRTZXJ2aWNlOiBEb2N1bWVudFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNhdmVTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLnNldE1hcHBlZFByZWZpbGwoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc2F2ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGZvcm1WYWx1ZUNoYW5nZShmb3JtVmFsdWU6IFZlcnpvZWtDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1WYWx1ZSQubmV4dChmb3JtVmFsdWUpO1xuICAgIHRoaXMuaGFuZGxlVmFsaWQoZm9ybVZhbHVlKTtcbiAgfVxuXG4gIHZlcnpvZWtUeXBlRm9ybUNoYW5nZShmb3JtVmFsdWU6IFZlcnpvZWtUeXBlLCB1dWlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjYXNlRGVmaW5pdGlvbk5hbWUgPSBmb3JtVmFsdWU/LmNhc2VEZWZpbml0aW9uTmFtZTtcbiAgICBjb25zdCByb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlcyA9IHRoaXMucm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXM7XG5cbiAgICB0aGlzLnNob3dNYXBwaW5nQnV0dG9uc1t1dWlkXSA9IGZvcm1WYWx1ZS5jb3B5U3RyYXRlZ3kgPT09ICdzcGVjaWZpZWQnO1xuXG4gICAgaWYgKGNhc2VEZWZpbml0aW9uTmFtZSkge1xuICAgICAgaWYgKFxuICAgICAgICAhcm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXNbdXVpZF0gfHxcbiAgICAgICAgcm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXNbdXVpZF0uY2FzZURlZmluaXRpb25OYW1lICE9PSBjYXNlRGVmaW5pdGlvbk5hbWVcbiAgICAgICkge1xuICAgICAgICByb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlc1t1dWlkXSA9IHtcbiAgICAgICAgICBjYXNlRGVmaW5pdGlvbk5hbWUsXG4gICAgICAgICAgaXRlbXM6IHRoaXMudmVyem9la1BsdWdpblNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRSb2x0eXBlc0J5RG9jdW1lbnREZWZpbml0aW9uTmFtZShjYXNlRGVmaW5pdGlvbk5hbWUpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgbWFwKHJvbFR5cGVzID0+IHJvbFR5cGVzLm1hcChyb2xUeXBlID0+ICh7dGV4dDogcm9sVHlwZS5uYW1lLCBpZDogcm9sVHlwZS51cmx9KSkpXG4gICAgICAgICAgICApLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlc1t1dWlkXSA9IHtcbiAgICAgICAgY2FzZURlZmluaXRpb25OYW1lLFxuICAgICAgICBpdGVtczogb2YoW10pLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBkZWxldGVSb3codXVpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMucm9sVHlwZVNlbGVjdEl0ZW1zT2JzZXJ2YWJsZXNbdXVpZF07XG4gIH1cblxuICBvcGVuTWFwcGluZ01vZGFsKHV1aWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2hvd01hcHBpbmdNb2RhbHNbdXVpZF0gPSB0cnVlO1xuICAgIHRoaXMuc2hvd01hcHBpbmdNb2RhbHNEZWxheVt1dWlkXSA9IHRydWU7XG4gIH1cblxuICBjbG9zZU1hcHBpbmdNb2RhbCh1dWlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dNYXBwaW5nTW9kYWxzW3V1aWRdID0gZmFsc2U7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd01hcHBpbmdNb2RhbHNEZWxheVt1dWlkXSA9IGZhbHNlO1xuICAgIH0sIDI1MCk7XG4gIH1cblxuICBtYXBwaW5nVmFsdWVDaGFuZ2UobmV3VmFsdWU6IE11bHRpSW5wdXRWYWx1ZXMsIHV1aWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGVtcE1hcHBpbmdzW3V1aWRdID0gbmV3VmFsdWU7XG4gIH1cblxuICBzYXZlTWFwcGluZyh1dWlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm1hcHBpbmdzW3V1aWRdID0gWy4uLnRoaXMudGVtcE1hcHBpbmdzW3V1aWRdXTtcbiAgICB0aGlzLnRlbXBNYXBwaW5nc1t1dWlkXSA9IFtdO1xuICAgIHRoaXMuY2xvc2VNYXBwaW5nTW9kYWwodXVpZCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVZhbGlkKGZvcm1WYWx1ZTogVmVyem9la0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IHZhbGlkRm9ybSA9ICEhKFxuICAgICAgZm9ybVZhbHVlLmNvbmZpZ3VyYXRpb25UaXRsZSAmJlxuICAgICAgZm9ybVZhbHVlLm5vdGlmaWNhdGllc0FwaVBsdWdpbkNvbmZpZ3VyYXRpb24gJiZcbiAgICAgIGZvcm1WYWx1ZS5yc2luICYmXG4gICAgICBmb3JtVmFsdWUucHJvY2Vzc1RvU3RhcnRcbiAgICApO1xuICAgIGNvbnN0IHZlcnpvZWtUeXBlbiA9IGZvcm1WYWx1ZS52ZXJ6b2VrUHJvcGVydGllcyB8fCBbXTtcbiAgICBjb25zdCB2YWxpZFZlcnpvZWtUeXBlbiA9IHZlcnpvZWtUeXBlbi5maWx0ZXIoXG4gICAgICB0eXBlID0+XG4gICAgICAgICEhKFxuICAgICAgICAgIHR5cGUudHlwZSAmJlxuICAgICAgICAgIHR5cGUuY2FzZURlZmluaXRpb25OYW1lICYmXG4gICAgICAgICAgdHlwZS5vYmplY3RNYW5hZ2VtZW50SWQgJiZcbiAgICAgICAgICB0eXBlLmluaXRpYXRvclJvbHR5cGVVcmwgJiZcbiAgICAgICAgICB0eXBlLnByb2Nlc3NEZWZpbml0aW9uS2V5ICYmXG4gICAgICAgICAgdHlwZS5pbml0aWF0b3JSb2xEZXNjcmlwdGlvblxuICAgICAgICApXG4gICAgKTtcbiAgICBjb25zdCB2YWxpZCA9IHZhbGlkRm9ybSAmJiB2ZXJ6b2VrVHlwZW4ubGVuZ3RoID09PSB2YWxpZFZlcnpvZWtUeXBlbi5sZW5ndGg7XG4gICAgdGhpcy52YWxpZCQubmV4dCh2YWxpZCk7XG4gICAgdGhpcy52YWxpZC5lbWl0KHZhbGlkKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNhdmVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlU3Vic2NyaXB0aW9uID0gdGhpcy5zYXZlJD8uc3Vic2NyaWJlKHNhdmUgPT4ge1xuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5mb3JtVmFsdWUkLCB0aGlzLnZhbGlkJF0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKFtmb3JtVmFsdWUsIHZhbGlkXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZVRvU2F2ZTogVmVyem9la0NvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLmZvcm1WYWx1ZSxcbiAgICAgICAgICAgIHZlcnpvZWtQcm9wZXJ0aWVzOiBmb3JtVmFsdWUudmVyem9la1Byb3BlcnRpZXMubWFwKHZlcnpvZWsgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2ZXJ6b2VrVG9SZXR1cm46IFZlcnpvZWtUeXBlID0gey4uLnZlcnpvZWt9O1xuICAgICAgICAgICAgICBkZWxldGUgdmVyem9la1RvUmV0dXJuLnV1aWQ7XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMubWFwcGluZ3NbdmVyem9lay51dWlkXSAmJiB2ZXJ6b2VrLmNvcHlTdHJhdGVneSA9PT0gJ3NwZWNpZmllZCcpIHtcbiAgICAgICAgICAgICAgICB2ZXJ6b2VrVG9SZXR1cm4ubWFwcGluZyA9IHRoaXMubWFwcGluZ3NbdmVyem9lay51dWlkXTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4udmVyem9la1RvUmV0dXJuLFxuICAgICAgICAgICAgICAgIC4uLih2ZXJ6b2VrVG9SZXR1cm4ubWFwcGluZyAmJiB7XG4gICAgICAgICAgICAgICAgICBtYXBwaW5nOiB2ZXJ6b2VrVG9SZXR1cm4ubWFwcGluZy5tYXAodmVyem9la01hcHBpbmcgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiB2ZXJ6b2VrTWFwcGluZy5rZXksXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogdmVyem9la01hcHBpbmcudmFsdWUsXG4gICAgICAgICAgICAgICAgICB9KSkgYXMgQXJyYXk8YW55PixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH07XG4gICAgICAgICAgaWYgKHZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uZW1pdChmb3JtVmFsdWVUb1NhdmUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldE1hcHBlZFByZWZpbGwoKTogdm9pZCB7XG4gICAgdGhpcy5tYXBwZWRQcmVmaWxsJCA9IHRoaXMucHJlZmlsbENvbmZpZ3VyYXRpb24kLnBpcGUoXG4gICAgICBmaWx0ZXIocHJlZmlsbCA9PiAhIXByZWZpbGwpLFxuICAgICAgbWFwKHByZWZpbGwgPT4gKHtcbiAgICAgICAgLi4ucHJlZmlsbCxcbiAgICAgICAgdmVyem9la1Byb3BlcnRpZXM6IHByZWZpbGwudmVyem9la1Byb3BlcnRpZXMubWFwKHZlcnpvZWtUeXBlID0+ICh7XG4gICAgICAgICAgLi4udmVyem9la1R5cGUsXG4gICAgICAgICAgLi4uKHZlcnpvZWtUeXBlLm1hcHBpbmcgJiZcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodmVyem9la1R5cGUubWFwcGluZykgJiYge1xuICAgICAgICAgICAgICBtYXBwaW5nOiB2ZXJ6b2VrVHlwZS5tYXBwaW5nLm1hcChtYXBwaW5nID0+ICh7XG4gICAgICAgICAgICAgICAga2V5OiBtYXBwaW5nLnNvdXJjZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogbWFwcGluZy50YXJnZXQsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICB9KSksXG4gICAgICB9KSksXG4gICAgICB0YXAocHJlZmlsbCA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybVZhbHVlJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShmb3JtVmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLm1hcHBpbmdTZXQpIHtcbiAgICAgICAgICAgICAgY29uc3QgcHJlZmlsbFZlcnpvZWtlbiA9IHByZWZpbGw/LnZlcnpvZWtQcm9wZXJ0aWVzO1xuICAgICAgICAgICAgICBjb25zdCBmb3JtVmFsdWVWZXJ6b2VrZW4gPSBmb3JtVmFsdWU/LnZlcnpvZWtQcm9wZXJ0aWVzO1xuXG4gICAgICAgICAgICAgIHByZWZpbGxWZXJ6b2VrZW4uZm9yRWFjaCgodmVyem9laywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXBwaW5nRm9yVmVyem9layA9IHZlcnpvZWs/Lm1hcHBpbmc7XG4gICAgICAgICAgICAgICAgY29uc3QgdXVpZEZvck1hcHBpbmcgPSBmb3JtVmFsdWVWZXJ6b2VrZW5baW5kZXhdLnV1aWQ7XG5cbiAgICAgICAgICAgICAgICBpZiAobWFwcGluZ0ZvclZlcnpvZWsgJiYgdXVpZEZvck1hcHBpbmcpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMubWFwcGluZ3NbdXVpZEZvck1hcHBpbmddID0gbWFwcGluZ0ZvclZlcnpvZWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICB0aGlzLm1hcHBpbmdTZXQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LCAyNTApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjx2LWZvcm1cbiAgKHZhbHVlQ2hhbmdlKT1cImZvcm1WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJ7XG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkJCB8IGFzeW5jLFxuICAgIHByZWZpbGw6IG1hcHBlZFByZWZpbGwkID8gKG1hcHBlZFByZWZpbGwkIHwgYXN5bmMpIDogbnVsbFxuICB9IGFzIG9ic1wiXG4+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cImNvbmZpZ3VyYXRpb25UaXRsZVwiXG4gICAgW3RpdGxlXT1cIidjb25maWd1cmF0aW9uVGl0bGUnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgIFtkZWZhdWx0VmFsdWVdPVwib2JzLnByZWZpbGw/LmNvbmZpZ3VyYXRpb25UaXRsZVwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIidjb25maWd1cmF0aW9uVGl0bGVUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgW3dpZHRoUHhdPVwiMzUwXCJcbiAgICBwbGFjZWhvbGRlcj1cIlZlcnpvZWsgUGx1Z2luXCJcbiAgPlxuICA8L3YtaW5wdXQ+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cIntub3RpZmljYXRpZVBsdWdpblNlbGVjdEl0ZW1zOiBub3RpZmljYXRpZVBsdWdpblNlbGVjdEl0ZW1zJCB8IGFzeW5jfSBhcyB2YXJzXCJcbiAgPlxuICAgIDx2LXNlbGVjdFxuICAgICAgW2l0ZW1zXT1cInZhcnMubm90aWZpY2F0aWVQbHVnaW5TZWxlY3RJdGVtc1wiXG4gICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgbmFtZT1cIm5vdGlmaWNhdGllc0FwaVBsdWdpbkNvbmZpZ3VyYXRpb25cIlxuICAgICAgW3RpdGxlXT1cIidub3RpZmljYXRpZXNBcGlQbHVnaW5Db25maWd1cmF0aW9uJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwib2JzLnByZWZpbGw/Lm5vdGlmaWNhdGllc0FwaVBsdWdpbkNvbmZpZ3VyYXRpb25cIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW2xvYWRpbmddPVwiIXZhcnMubm90aWZpY2F0aWVQbHVnaW5TZWxlY3RJdGVtc1wiXG4gICAgICBbdG9vbHRpcF09XCInbm90aWZpY2F0aWVzQXBpUGx1Z2luQ29uZmlndXJhdGlvblRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICA+PC92LXNlbGVjdD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ7cHJvY2Vzc1NlbGVjdEl0ZW1zOiBwcm9jZXNzU2VsZWN0SXRlbXMkIHwgYXN5bmN9IGFzIHZhcnNcIj5cbiAgICA8di1zZWxlY3RcbiAgICAgIFtpdGVtc109XCJ2YXJzLnByb2Nlc3NTZWxlY3RJdGVtc1wiXG4gICAgICBbbWFyZ2luXT1cInRydWVcIlxuICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgbmFtZT1cInByb2Nlc3NUb1N0YXJ0XCJcbiAgICAgIFt0aXRsZV09XCIncHJvY2Vzc1RvU3RhcnQnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJvYnMucHJlZmlsbD8ucHJvY2Vzc1RvU3RhcnRcIlxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW2xvYWRpbmddPVwiIXZhcnMucHJvY2Vzc1NlbGVjdEl0ZW1zXCJcbiAgICAgIFt0b29sdGlwXT1cIidwcm9jZXNzVG9TdGFydFRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICA+PC92LXNlbGVjdD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDx2LWlucHV0XG4gICAgbmFtZT1cInJzaW5cIlxuICAgIFt0aXRsZV09XCIncnNpbicgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFttYXJnaW5dPVwidHJ1ZVwiXG4gICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgW2RlZmF1bHRWYWx1ZV09XCJvYnMucHJlZmlsbD8ucnNpblwiXG4gICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgIFt0b29sdGlwXT1cIidyc2luVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFt3aWR0aFB4XT1cIjM1MFwiXG4gICAgcGxhY2Vob2xkZXI9XCJcIlxuICA+XG4gIDwvdi1pbnB1dD5cbiAgPHYtbXVsdGktaW5wdXQtZm9ybVxuICAgIG5hbWU9XCJ2ZXJ6b2VrUHJvcGVydGllc1wiXG4gICAgW3RpdGxlXT1cIid2ZXJ6b2VrUHJvcGVydGllcycgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFtmb3JtVGVtcGxhdGVdPVwibWFwcGluZ0Zvcm1cIlxuICAgIFthZGRSb3dUZXh0XT1cIidhZGRWZXJ6b2VrVHlwZScgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXG4gICAgW3Rvb2x0aXBdPVwiJ3ZlcnpvZWtQcm9wZXJ0aWVzVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgIChkZWxldGVSb3dFdmVudCk9XCJkZWxldGVSb3coJGV2ZW50KVwiXG4gICAgW2luaXRpYWxBbW91bnRPZlJvd3NdPVwiMFwiXG4gICAgW21pbmltdW1BbW91bnRPZlJvd3NdPVwiMFwiXG4gICAgW2RlZmF1bHRWYWx1ZXNdPVwib2JzLnByZWZpbGw/LnZlcnpvZWtQcm9wZXJ0aWVzXCJcbiAgPlxuICA8L3YtbXVsdGktaW5wdXQtZm9ybT5cbjwvdi1mb3JtPlxuXG48bmctdGVtcGxhdGVcbiAgI21hcHBpbmdGb3JtXG4gIGxldC1pbmRleD1cImluZGV4XCJcbiAgbGV0LXV1aWQ9XCJ1dWlkXCJcbiAgbGV0LWNoYW5nZUZ1bmN0aW9uPVwiY2hhbmdlRnVuY3Rpb25cIlxuICBsZXQtcHJlZmlsbD1cInByZWZpbGxcIlxuPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nSWY9XCJ7XG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWQkIHwgYXN5bmNcbiAgICB9IGFzIG9ic1wiXG4gID5cbiAgICA8di1mb3JtICh2YWx1ZUNoYW5nZSk9XCJjaGFuZ2VGdW5jdGlvbigkZXZlbnQsIHV1aWQpOyB2ZXJ6b2VrVHlwZUZvcm1DaGFuZ2UoJGV2ZW50LCB1dWlkKVwiPlxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgbmFtZT1cInR5cGVcIlxuICAgICAgICBbdGl0bGVdPVwiJ3R5cGUnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW21hcmdpbl09XCJmYWxzZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGw/LnR5cGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIid0eXBlVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbd2lkdGhQeF09XCIzNTBcIlxuICAgICAgICBbc21hbGxNYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcbiAgICAgID5cbiAgICAgIDwvdi1pbnB1dD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ7ZG9jdW1lbnRTZWxlY3RJdGVtczogZG9jdW1lbnRTZWxlY3RJdGVtcyQgfCBhc3luY30gYXMgdmFyc1wiPlxuICAgICAgICA8di1zZWxlY3RcbiAgICAgICAgICBbaXRlbXNdPVwidmFycy5kb2N1bWVudFNlbGVjdEl0ZW1zXCJcbiAgICAgICAgICBbc21hbGxNYXJnaW5dPVwidHJ1ZVwiXG4gICAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICAgIG5hbWU9XCJjYXNlRGVmaW5pdGlvbk5hbWVcIlxuICAgICAgICAgIFt0aXRsZV09XCInY2FzZURlZmluaXRpb25OYW1lJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsPy5jYXNlRGVmaW5pdGlvbk5hbWVcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICBbbG9hZGluZ109XCIhdmFycy5kb2N1bWVudFNlbGVjdEl0ZW1zXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInY2FzZURlZmluaXRpb25OYW1lVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIntvYmplY3RNYW5hZ2VtZW50U2VsZWN0SXRlbXM6IG9iamVjdE1hbmFnZW1lbnRTZWxlY3RJdGVtcyQgfCBhc3luY30gYXMgdmFyc1wiXG4gICAgICA+XG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJ2YXJzLm9iamVjdE1hbmFnZW1lbnRTZWxlY3RJdGVtc1wiXG4gICAgICAgICAgW3NtYWxsTWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwib2JqZWN0TWFuYWdlbWVudElkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ29iamVjdE1hbmFnZW1lbnRJZCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIlxuICAgICAgICAgIFtkZWZhdWx0U2VsZWN0aW9uSWRdPVwicHJlZmlsbD8ub2JqZWN0TWFuYWdlbWVudElkXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2xvYWRpbmddPVwiIXZhcnMub2JqZWN0TWFuYWdlbWVudFNlbGVjdEl0ZW1zXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCInb2JqZWN0TWFuYWdlbWVudElkVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICA+PC92LXNlbGVjdD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHYtc2VsZWN0XG4gICAgICAgIFtpdGVtc109XCJcbiAgICAgICAgICByb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlc1t1dWlkXT8uY2FzZURlZmluaXRpb25OYW1lICYmXG4gICAgICAgICAgKHJvbFR5cGVTZWxlY3RJdGVtc09ic2VydmFibGVzW3V1aWRdLml0ZW1zIHwgYXN5bmMpXG4gICAgICAgIFwiXG4gICAgICAgIFtzbWFsbE1hcmdpbl09XCJ0cnVlXCJcbiAgICAgICAgW3dpZHRoSW5QeF09XCIzNTBcIlxuICAgICAgICBuYW1lPVwiaW5pdGlhdG9yUm9sdHlwZVVybFwiXG4gICAgICAgIFt0aXRsZV09XCInaW5pdGlhdG9yUm9sdHlwZVVybCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkIHx8ICFyb2xUeXBlU2VsZWN0SXRlbXNPYnNlcnZhYmxlc1t1dWlkXT8uY2FzZURlZmluaXRpb25OYW1lXCJcbiAgICAgICAgW2RlZmF1bHRTZWxlY3Rpb25JZF09XCJwcmVmaWxsPy5pbml0aWF0b3JSb2x0eXBlVXJsXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdG9vbHRpcF09XCInaW5pdGlhdG9yUm9sdHlwZVVybFRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgID48L3Ytc2VsZWN0PlxuICAgICAgPHYtaW5wdXRcbiAgICAgICAgbmFtZT1cImluaXRpYXRvclJvbERlc2NyaXB0aW9uXCJcbiAgICAgICAgW3RpdGxlXT1cIidpbml0aWF0b3JSb2xEZXNjcmlwdGlvbicgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICBbbWFyZ2luXT1cImZhbHNlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgIFtkZWZhdWx0VmFsdWVdPVwicHJlZmlsbD8uaW5pdGlhdG9yUm9sRGVzY3JpcHRpb24gfHwgJ0luaXRpYXRvcidcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0b29sdGlwXT1cIidpbml0aWF0b3JSb2xEZXNjcmlwdGlvblRvb2x0aXAnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgW3dpZHRoUHhdPVwiMzUwXCJcbiAgICAgICAgW3NtYWxsTWFyZ2luXT1cInRydWVcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlwiXG4gICAgICA+XG4gICAgICA8L3YtaW5wdXQ+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwie3Byb2Nlc3NTZWxlY3RJdGVtczogcHJvY2Vzc1NlbGVjdEl0ZW1zJCB8IGFzeW5jfSBhcyB2YXJzXCI+XG4gICAgICAgIDx2LXNlbGVjdFxuICAgICAgICAgIFtpdGVtc109XCJ2YXJzLnByb2Nlc3NTZWxlY3RJdGVtc1wiXG4gICAgICAgICAgW3NtYWxsTWFyZ2luXT1cInRydWVcIlxuICAgICAgICAgIFt3aWR0aEluUHhdPVwiMzUwXCJcbiAgICAgICAgICBuYW1lPVwicHJvY2Vzc0RlZmluaXRpb25LZXlcIlxuICAgICAgICAgIFt0aXRsZV09XCIncHJvY2Vzc0RlZmluaXRpb25LZXknIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICBbZGVmYXVsdFNlbGVjdGlvbklkXT1cInByZWZpbGw/LnByb2Nlc3NEZWZpbml0aW9uS2V5XCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgW2xvYWRpbmddPVwiIXZhcnMucHJvY2Vzc1NlbGVjdEl0ZW1zXCJcbiAgICAgICAgICBbdG9vbHRpcF09XCIncHJvY2Vzc0RlZmluaXRpb25LZXlUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgID48L3Ytc2VsZWN0PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8di1yYWRpb1xuICAgICAgICBuYW1lPVwiY29weVN0cmF0ZWd5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgIFt0aXRsZV09XCInY29weVN0cmF0ZWd5JyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIFt0b29sdGlwXT1cIidjb3B5U3RyYXRlZ3lUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgIFtyYWRpb1ZhbHVlc109XCJyYWRpb0l0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgW3NtYWxsTWFyZ2luXT1cInRydWVcIlxuICAgICAgICBbZGVmYXVsdFZhbHVlXT1cInByZWZpbGw/LmNvcHlTdHJhdGVneSB8fCAnZnVsbCdcIlxuICAgICAgPlxuICAgICAgPC92LXJhZGlvPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dNYXBwaW5nQnV0dG9uc1t1dWlkXVwiPlxuICAgICAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgICAgIFt0aXRsZV09XCInbWFwcGluZycgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgIFt0b29sdGlwXT1cIidtYXBwaW5nVG9vbHRpcCcgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICA+XG4gICAgICAgIDwvdi1pbnB1dC1sYWJlbD5cbiAgICAgICAgPHYtYnV0dG9uIChjbGlja0V2ZW50KT1cIm9wZW5NYXBwaW5nTW9kYWwodXVpZClcIiBtZGlJY29uPVwidGFibGVcIlxuICAgICAgICAgID57eyAnc2V0TWFwcGluZycgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmMgfX1cbiAgICAgICAgPC92LWJ1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPHYtaW5wdXQgY2xhc3M9XCJoaWRkZW4taW5wdXRcIiBuYW1lPVwidXVpZFwiIFtkZWZhdWx0VmFsdWVdPVwidXVpZFwiPiA8L3YtaW5wdXQ+XG4gICAgPC92LWZvcm0+XG4gICAgPGNkcy1tb2RhbCB2YWx0aW1vQ2RzTW9kYWwgW29wZW5dPVwic2hvd01hcHBpbmdNb2RhbHNbdXVpZF1cIj5cbiAgICAgIDxjZHMtbW9kYWwtaGVhZGVyIFtzaG93Q2xvc2VCdXR0b25dPVwidHJ1ZVwiIChjbG9zZVNlbGVjdCk9XCJjbG9zZU1hcHBpbmdNb2RhbCh1dWlkKVwiPlxuICAgICAgICA8aDMgY2RzTW9kYWxIZWFkZXJIZWFkaW5nPnt7ICdzZXRNYXBwaW5nJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luYyB9fTwvaDM+XG4gICAgICA8L2Nkcy1tb2RhbC1oZWFkZXI+XG4gICAgICA8c2VjdGlvbiBjZHNNb2RhbENvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjZHMtLXRleHQtaW5wdXRfX2ZpZWxkLXdyYXBwZXJcIj5cbiAgICAgICAgICA8Y2RzLWxhYmVsIFtkaXNhYmxlZF09XCJvYnMuZGlzYWJsZWRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtd2l0aC10b29sdGlwIHNlbGVjdC1sYWJlbFwiPlxuICAgICAgICAgICAgICB7eyAnbWFwcGluZycgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmMgfX1cbiAgICAgICAgICAgICAgPHYtdG9vbHRpcC1pY29uXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ21hcHBpbmdUb29sdGlwJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgID48L3YtdG9vbHRpcC1pY29uPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvY2RzLWxhYmVsPlxuICAgICAgICAgIDx2YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93TWFwcGluZ01vZGFsc0RlbGF5W3V1aWRdXCJcbiAgICAgICAgICAgIHR5cGU9XCJrZXlWYWx1ZVwiXG4gICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwibWFwcGluZ1ZhbHVlQ2hhbmdlKCRldmVudCwgdXVpZClcIlxuICAgICAgICAgICAgW2RlZmF1bHRWYWx1ZXNdPVwibWFwcGluZ3NbdXVpZF0gfHwgcHJlZmlsbD8ubWFwcGluZ1wiXG4gICAgICAgICAgICBbdmFsdWVDb2x1bW5UaXRsZV09XCIndGFyZ2V0JyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luSWQgfCBhc3luY1wiXG4gICAgICAgICAgICBba2V5Q29sdW1uVGl0bGVdPVwiJ3NvdXJjZScgfCBwbHVnaW5UcmFuc2xhdGU6IHBsdWdpbklkIHwgYXN5bmNcIlxuICAgICAgICAgICAgW2Z1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgICA+PC92YWx0aW1vLWNhcmJvbi1tdWx0aS1pbnB1dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgICA8Y2RzLW1vZGFsLWZvb3Rlcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjZHNCdXR0b249XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgW2F0dHIubW9kYWwtcHJpbWFyeS1mb2N1c109XCJ0cnVlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU1hcHBpbmdNb2RhbCh1dWlkKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwib2JzLmRpc2FibGVkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnY2xvc2UnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2RzQnV0dG9uPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBbYXR0ci5tb2RhbC1wcmltYXJ5LWZvY3VzXT1cInRydWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2F2ZU1hcHBpbmcodXVpZClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm9icy5kaXNhYmxlZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3NhdmUnIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5JZCB8IGFzeW5jIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9jZHMtbW9kYWwtZm9vdGVyPlxuICAgIDwvY2RzLW1vZGFsPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -55,8 +55,9 @@ export class PluginManagementService {
55
55
  savePluginConfiguration(pluginConfiguration) {
56
56
  return this.http.post(`${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration`, pluginConfiguration);
57
57
  }
58
- updatePluginConfiguration(configurationId, configurationTitle, configurationProperties) {
58
+ updatePluginConfiguration(configurationId, newConfigurationId, configurationTitle, configurationProperties) {
59
59
  return this.http.put(`${this.VALTIMO_API_ENDPOINT_URI}v1/plugin/configuration/${configurationId}`, {
60
+ newId: newConfigurationId,
60
61
  title: configurationTitle,
61
62
  properties: configurationProperties,
62
63
  });
@@ -84,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
84
85
  providedIn: 'root',
85
86
  }]
86
87
  }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.PluginService }, { type: i3.DomSanitizer }, { type: i4.HttpClient }]; } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvc2VydmljZXMvcGx1Z2luLW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQVEvQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU9uQyxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQ21CLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLFNBQXVCLEVBQ3ZCLElBQWdCO1FBSGhCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU5sQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBTzFGLENBQUM7SUFFSixvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLHNCQUFzQixDQUN2RCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUFDLGtCQUEwQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLElBQUksQ0FBQyx3QkFBd0Isd0JBQXdCLGtCQUFrQixTQUFTLENBQ3BGLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFB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LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIFBsdWdpbkNvbmZpZ3VyYXRpb24sXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb25XaXRoTG9nbyxcbiAgUGx1Z2luRGVmaW5pdGlvbixcbiAgUGx1Z2luRnVuY3Rpb24sXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQbHVnaW5TZXJ2aWNlfSBmcm9tICcuL3BsdWdpbi5zZXJ2aWNlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBWQUxUSU1PX0FQSV9FTkRQT0lOVF9VUkkgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGkuZW5kcG9pbnRVcmk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luU2VydmljZTogUGx1Z2luU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudFxuICApIHt9XG5cbiAgZ2V0UGx1Z2luRGVmaW5pdGlvbnMoKTogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5EZWZpbml0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFBsdWdpbkRlZmluaXRpb24+PihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9kZWZpbml0aW9uYFxuICAgICk7XG4gIH1cblxuICBnZXRQbHVnaW5GdW5jdGlvbnMocGx1Z2luRGVmaW5pdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkZ1bmN0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFBsdWdpbkZ1bmN0aW9uPj4oXG4gICAgICBgJHt0aGlzLlZBTFRJTU9fQVBJX0VORFBPSU5UX1VSSX12MS9wbHVnaW4vZGVmaW5pdGlvbi8ke3BsdWdpbkRlZmluaXRpb25JZH0vYWN0aW9uYFxuICAgICk7XG4gIH1cblxuICBnZXRBbGxQbHVnaW5Db25maWd1cmF0aW9ucygpOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbj4+KFxuICAgICAgYCR7dGhpcy5WQUxUSU1PX0FQSV9FTkRQT0lOVF9VUkl9djEvcGx1Z2luL2NvbmZpZ3VyYXRpb25gXG4gICAgKTtcbiAgfVxuXG4gIGdldFBsdWdpbkNvbmZpZ3VyYXRpb25zQnlQbHVnaW5EZWZpbml0aW9uS2V5KFxuICAgIHBsdWdpbkRlZmluaXRpb25LZXk6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbj4+KFxuICAgICAgYCR7dGhpcy5WQUxUSU1PX0FQSV9FTkRQT0lOVF9VUkl9djEvcGx1Z2luL2NvbmZpZ3VyYXRpb24/cGx1Z2luRGVmaW5pdGlvbktleT0ke3BsdWdpbkRlZmluaXRpb25LZXl9YFxuICAgICk7XG4gIH1cblxuICBnZXRQbHVnaW5Db25maWd1cmF0aW9uc0J5Q2F0ZWdvcnkoY2F0ZWdvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5Db25maWd1cmF0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9jb25maWd1cmF0aW9uP2NhdGVnb3J5PSR7Y2F0ZWdvcnlJZH1gXG4gICAgKTtcbiAgfVxuXG4gIGdldFBsdWdpbkNvbmZpZ3VyYXRpb25zV2l0aEFjdGlvbnNGb3JBY3Rpdml0eVR5cGUoXG4gICAgYWN0aXZpdHlUeXBlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5Db25maWd1cmF0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9jb25maWd1cmF0aW9uP2FjdGl2aXR5VHlwZT0ke2FjdGl2aXR5VHlwZX1gXG4gICAgKTtcbiAgfVxuXG4gIGdldEFsbFBsdWdpbkNvbmZpZ3VyYXRpb25zV2l0aExvZ29zKFxuICAgIGFjdGl2aXR5VHlwZT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb25XaXRoTG9nbz4+IHtcbiAgICByZXR1cm4gYWN0aXZpdHlUeXBlICYmIGFjdGl2aXR5VHlwZS5sZW5ndGggPiAwXG4gICAgICA/IHRoaXMucmV0dXJuUGx1Z2luQ29uZmlndXJhdGlvbnNXaXRoTG9nb3MoXG4gICAgICAgICAgdGhpcy5nZXRQbHVnaW5Db25maWd1cmF0aW9uc1dpdGhBY3Rpb25zRm9yQWN0aXZpdHlUeXBlKGFjdGl2aXR5VHlwZSlcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLnJldHVyblBsdWdpbkNvbmZpZ3VyYXRpb25zV2l0aExvZ29zKHRoaXMuZ2V0QWxsUGx1Z2luQ29uZmlndXJhdGlvbnMoKSk7XG4gIH1cblxuICBzYXZlUGx1Z2luQ29uZmlndXJhdGlvbihcbiAgICBwbHVnaW5Db25maWd1cmF0aW9uOiBQbHVnaW5Db25maWd1cmF0aW9uXG4gICk6IE9ic2VydmFibGU8UGx1Z2luQ29uZmlndXJhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQbHVnaW5Db25maWd1cmF0aW9uPihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9jb25maWd1cmF0aW9uYCxcbiAgICAgIHBsdWdpbkNvbmZpZ3VyYXRpb25cbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUGx1Z2luQ29uZmlndXJhdGlvbihcbiAgICBjb25maWd1cmF0aW9uSWQ6IHN0cmluZyxcbiAgICBjb25maWd1cmF0aW9uVGl0bGU6IHN0cmluZyxcbiAgICBjb25maWd1cmF0aW9uUHJvcGVydGllczogb2JqZWN0XG4gICk6IE9ic2VydmFibGU8UGx1Z2luQ29uZmlndXJhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFBsdWdpbkNvbmZpZ3VyYXRpb24+KFxuICAgICAgYCR7dGhpcy5WQUxUSU1PX0FQSV9FTkRQT0lOVF9VUkl9djEvcGx1Z2luL2NvbmZpZ3VyYXRpb24vJHtjb25maWd1cmF0aW9uSWR9YCxcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6IGNvbmZpZ3VyYXRpb25UaXRsZSxcbiAgICAgICAgcHJvcGVydGllczogY29uZmlndXJhdGlvblByb3BlcnRpZXMsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZVBsdWdpbkNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx2b2lkPihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9jb25maWd1cmF0aW9uLyR7Y29uZmlndXJhdGlvbklkfWBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5QbHVnaW5Db25maWd1cmF0aW9uc1dpdGhMb2dvcyhcbiAgICBwbHVnaW5Db25maWd1cmF0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbj4+XG4gICk6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbldpdGhMb2dvPj4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtwbHVnaW5Db25maWd1cmF0aW9ucyQsIHRoaXMucGx1Z2luU2VydmljZS5wbHVnaW5TcGVjaWZpY2F0aW9ucyRdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW3BsdWdpbkNvbmZpZ3VyYXRpb25zLCBwbHVnaW5TcGVjaWZpY2F0aW9uc10pID0+XG4gICAgICAgICAgcGx1Z2luQ29uZmlndXJhdGlvbnM/Lm1hcChwbHVnaW5Db25maWd1cmF0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBsdWdpblNwZWNpZmljYXRpb24gPSBwbHVnaW5TcGVjaWZpY2F0aW9ucy5maW5kKFxuICAgICAgICAgICAgICBzcGVjaWZpY2F0aW9uID0+IHNwZWNpZmljYXRpb24ucGx1Z2luSWQgPT09IHBsdWdpbkNvbmZpZ3VyYXRpb24/LnBsdWdpbkRlZmluaXRpb24/LmtleVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4ucGx1Z2luQ29uZmlndXJhdGlvbixcbiAgICAgICAgICAgICAgLi4uKHBsdWdpblNwZWNpZmljYXRpb24/LnBsdWdpbkxvZ29CYXNlNjQgJiYge1xuICAgICAgICAgICAgICAgIHBsdWdpbkxvZ29CYXNlNjQ6IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcbiAgICAgICAgICAgICAgICAgIHBsdWdpblNwZWNpZmljYXRpb24/LnBsdWdpbkxvZ29CYXNlNjRcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLW1hbmFnZW1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9saWIvc2VydmljZXMvcGx1Z2luLW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQVEvQyxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU9uQyxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQ21CLGFBQTRCLEVBQzVCLGFBQTRCLEVBQzVCLFNBQXVCLEVBQ3ZCLElBQWdCO1FBSGhCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQU5sQiw2QkFBd0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBTzFGLENBQUM7SUFFSixvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLHNCQUFzQixDQUN2RCxDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQixDQUFDLGtCQUEwQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixHQUFHLElBQUksQ0FBQyx3QkFBd0Isd0JBQXdCLGtCQUFrQixTQUFTLENBQ3BGLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLEdBQUcsSUFB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cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIFBsdWdpbkNvbmZpZ3VyYXRpb24sXG4gIFBsdWdpbkNvbmZpZ3VyYXRpb25XaXRoTG9nbyxcbiAgUGx1Z2luRGVmaW5pdGlvbixcbiAgUGx1Z2luRnVuY3Rpb24sXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQbHVnaW5TZXJ2aWNlfSBmcm9tICcuL3BsdWdpbi5zZXJ2aWNlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBWQUxUSU1PX0FQSV9FTkRQT0lOVF9VUkkgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnZhbHRpbW9BcGkuZW5kcG9pbnRVcmk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luU2VydmljZTogUGx1Z2luU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudFxuICApIHt9XG5cbiAgZ2V0UGx1Z2luRGVmaW5pdGlvbnMoKTogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5EZWZpbml0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFBsdWdpbkRlZmluaXRpb24+PihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9kZWZpbml0aW9uYFxuICAgICk7XG4gIH1cblxuICBnZXRQbHVnaW5GdW5jdGlvbnMocGx1Z2luRGVmaW5pdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkZ1bmN0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFBsdWdpbkZ1bmN0aW9uPj4oXG4gICAgICBgJHt0aGlzLlZBTFRJTU9fQVBJX0VORFBPSU5UX1VSSX12MS9wbHVnaW4vZGVmaW5pdGlvbi8ke3BsdWdpbkRlZmluaXRpb25JZH0vYWN0aW9uYFxuICAgICk7XG4gIH1cblxuICBnZXRBbGxQbHVnaW5Db25maWd1cmF0aW9ucygpOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbj4+KFxuICAgICAgYCR7dGhpcy5WQUxUSU1PX0FQSV9FTkRQT0lOVF9VUkl9djEvcGx1Z2luL2NvbmZpZ3VyYXRpb25gXG4gICAgKTtcbiAgfVxuXG4gIGdldFBsdWdpbkNvbmZpZ3VyYXRpb25zQnlQbHVnaW5EZWZpbml0aW9uS2V5KFxuICAgIHBsdWdpbkRlZmluaXRpb25LZXk6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbj4+KFxuICAgICAgYCR7dGhpcy5WQUxUSU1PX0FQSV9FTkRQT0lOVF9VUkl9djEvcGx1Z2luL2NvbmZpZ3VyYXRpb24/cGx1Z2luRGVmaW5pdGlvbktleT0ke3BsdWdpbkRlZmluaXRpb25LZXl9YFxuICAgICk7XG4gIH1cblxuICBnZXRQbHVnaW5Db25maWd1cmF0aW9uc0J5Q2F0ZWdvcnkoY2F0ZWdvcnlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5Db25maWd1cmF0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9jb25maWd1cmF0aW9uP2NhdGVnb3J5PSR7Y2F0ZWdvcnlJZH1gXG4gICAgKTtcbiAgfVxuXG4gIGdldFBsdWdpbkNvbmZpZ3VyYXRpb25zV2l0aEFjdGlvbnNGb3JBY3Rpdml0eVR5cGUoXG4gICAgYWN0aXZpdHlUeXBlOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5Db25maWd1cmF0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb24+PihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9jb25maWd1cmF0aW9uP2FjdGl2aXR5VHlwZT0ke2FjdGl2aXR5VHlwZX1gXG4gICAgKTtcbiAgfVxuXG4gIGdldEFsbFBsdWdpbkNvbmZpZ3VyYXRpb25zV2l0aExvZ29zKFxuICAgIGFjdGl2aXR5VHlwZT86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPEFycmF5PFBsdWdpbkNvbmZpZ3VyYXRpb25XaXRoTG9nbz4+IHtcbiAgICByZXR1cm4gYWN0aXZpdHlUeXBlICYmIGFjdGl2aXR5VHlwZS5sZW5ndGggPiAwXG4gICAgICA/IHRoaXMucmV0dXJuUGx1Z2luQ29uZmlndXJhdGlvbnNXaXRoTG9nb3MoXG4gICAgICAgICAgdGhpcy5nZXRQbHVnaW5Db25maWd1cmF0aW9uc1dpdGhBY3Rpb25zRm9yQWN0aXZpdHlUeXBlKGFjdGl2aXR5VHlwZSlcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLnJldHVyblBsdWdpbkNvbmZpZ3VyYXRpb25zV2l0aExvZ29zKHRoaXMuZ2V0QWxsUGx1Z2luQ29uZmlndXJhdGlvbnMoKSk7XG4gIH1cblxuICBzYXZlUGx1Z2luQ29uZmlndXJhdGlvbihcbiAgICBwbHVnaW5Db25maWd1cmF0aW9uOiBQbHVnaW5Db25maWd1cmF0aW9uXG4gICk6IE9ic2VydmFibGU8UGx1Z2luQ29uZmlndXJhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQbHVnaW5Db25maWd1cmF0aW9uPihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9jb25maWd1cmF0aW9uYCxcbiAgICAgIHBsdWdpbkNvbmZpZ3VyYXRpb25cbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUGx1Z2luQ29uZmlndXJhdGlvbihcbiAgICBjb25maWd1cmF0aW9uSWQ6IHN0cmluZyxcbiAgICBuZXdDb25maWd1cmF0aW9uSWQ6IHN0cmluZyxcbiAgICBjb25maWd1cmF0aW9uVGl0bGU6IHN0cmluZyxcbiAgICBjb25maWd1cmF0aW9uUHJvcGVydGllczogb2JqZWN0XG4gICk6IE9ic2VydmFibGU8UGx1Z2luQ29uZmlndXJhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFBsdWdpbkNvbmZpZ3VyYXRpb24+KFxuICAgICAgYCR7dGhpcy5WQUxUSU1PX0FQSV9FTkRQT0lOVF9VUkl9djEvcGx1Z2luL2NvbmZpZ3VyYXRpb24vJHtjb25maWd1cmF0aW9uSWR9YCxcbiAgICAgIHtcbiAgICAgICAgbmV3SWQ6IG5ld0NvbmZpZ3VyYXRpb25JZCxcbiAgICAgICAgdGl0bGU6IGNvbmZpZ3VyYXRpb25UaXRsZSxcbiAgICAgICAgcHJvcGVydGllczogY29uZmlndXJhdGlvblByb3BlcnRpZXMsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZVBsdWdpbkNvbmZpZ3VyYXRpb24oY29uZmlndXJhdGlvbklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTx2b2lkPihcbiAgICAgIGAke3RoaXMuVkFMVElNT19BUElfRU5EUE9JTlRfVVJJfXYxL3BsdWdpbi9jb25maWd1cmF0aW9uLyR7Y29uZmlndXJhdGlvbklkfWBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZXR1cm5QbHVnaW5Db25maWd1cmF0aW9uc1dpdGhMb2dvcyhcbiAgICBwbHVnaW5Db25maWd1cmF0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbj4+XG4gICk6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luQ29uZmlndXJhdGlvbldpdGhMb2dvPj4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtwbHVnaW5Db25maWd1cmF0aW9ucyQsIHRoaXMucGx1Z2luU2VydmljZS5wbHVnaW5TcGVjaWZpY2F0aW9ucyRdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW3BsdWdpbkNvbmZpZ3VyYXRpb25zLCBwbHVnaW5TcGVjaWZpY2F0aW9uc10pID0+XG4gICAgICAgICAgcGx1Z2luQ29uZmlndXJhdGlvbnM/Lm1hcChwbHVnaW5Db25maWd1cmF0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBsdWdpblNwZWNpZmljYXRpb24gPSBwbHVnaW5TcGVjaWZpY2F0aW9ucy5maW5kKFxuICAgICAgICAgICAgICBzcGVjaWZpY2F0aW9uID0+IHNwZWNpZmljYXRpb24ucGx1Z2luSWQgPT09IHBsdWdpbkNvbmZpZ3VyYXRpb24/LnBsdWdpbkRlZmluaXRpb24/LmtleVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgLi4ucGx1Z2luQ29uZmlndXJhdGlvbixcbiAgICAgICAgICAgICAgLi4uKHBsdWdpblNwZWNpZmljYXRpb24/LnBsdWdpbkxvZ29CYXNlNjQgJiYge1xuICAgICAgICAgICAgICAgIHBsdWdpbkxvZ29CYXNlNjQ6IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcbiAgICAgICAgICAgICAgICAgIHBsdWdpblNwZWNpZmljYXRpb24/LnBsdWdpbkxvZ29CYXNlNjRcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -36,6 +36,7 @@ export * from './lib/plugins/smart-documents/smart-documents-plugin.module';
36
36
  export * from './lib/plugins/smart-documents/smart-documents-plugin.specification';
37
37
  export * from './lib/plugins/smart-documents/components/smart-documents-configuration/smart-documents-configuration.component';
38
38
  export * from './lib/plugins/smart-documents/components/generate-document-configuration/generate-document-configuration.component';
39
+ export * from './lib/plugins/smart-documents/components/get-template-names/get-template-names.component';
39
40
  /* documenten api plugin */
40
41
  export * from './lib/plugins/documenten-api/documenten-api-plugin.module';
41
42
  export * from './lib/plugins/documenten-api/documenten-api-plugin.specification';
@@ -95,4 +96,4 @@ export * from './lib/plugins/besluiten-api/besluiten-api-plugin.specification';
95
96
  export * from './lib/plugins/besluiten-api/components/besluiten-api-configuration/besluiten-api-configuration.component';
96
97
  export * from './lib/plugins/besluiten-api/components/create-zaak-besluit/create-zaak-besluit-configuration.component';
97
98
  export * from './lib/plugins/besluiten-api/components/link-document-to-besluit/link-document-to-besluit-configuration.component';
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUg7O0dBRUc7QUFFSCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsb0NBQW9DO0FBQ3BDLGNBQWMsMEZBQTBGLENBQUM7QUFDekcsY0FBYyx1RkFBdUYsQ0FBQztBQUN0RyxzQkFBc0I7QUFDdEIsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhGQUE4RixDQUFDO0FBQzdHLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsd0NBQXdDO0FBQ3hDLGNBQWMscUZBQXFGLENBQUM7QUFDcEcsY0FBYyw0RkFBNEYsQ0FBQztBQUMzRyxjQUFjLGtKQUFrSixDQUFDO0FBQ2pLLDRCQUE0QjtBQUM1QixjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxnSEFBZ0gsQ0FBQztBQUMvSCxjQUFjLG9IQUFvSCxDQUFDO0FBQ25JLDJCQUEyQjtBQUMzQixjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyx5R0FBeUcsQ0FBQztBQUN4SCxjQUFjLDZHQUE2RyxDQUFDO0FBQzVILGNBQWMsaUhBQWlILENBQUM7QUFDaEksY0FBYyxxR0FBcUcsQ0FBQztBQUNwSCw0QkFBNEI7QUFDNUIsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsZ0hBQWdILENBQUM7QUFDL0gsc0JBQXNCO0FBQ3RCLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDhGQUE4RixDQUFDO0FBQzdHLGNBQWMsd0dBQXdHLENBQUM7QUFDdkgsY0FBYyw0RkFBNEYsQ0FBQztBQUMzRyxjQUFjLHdHQUF3RyxDQUFDO0FBQ3ZILGNBQWMsMEhBQTBILENBQUM7QUFDekksY0FBYyxvSEFBb0gsQ0FBQztBQUNuSSxjQUFjLDhIQUE4SCxDQUFDO0FBQzdJLGNBQWMsb0ZBQW9GLENBQUM7QUFDbkcsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyx5QkFBeUI7QUFDekIsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsdUdBQXVHLENBQUM7QUFDdEgsY0FBYyw2RUFBNkUsQ0FBQztBQUM1Rix5QkFBeUI7QUFDekIsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsdUdBQXVHLENBQUM7QUFDdEgsY0FBYywrRkFBK0YsQ0FBQztBQUM5RyxjQUFjLG1HQUFtRyxDQUFDO0FBQ2xILGNBQWMsNkZBQTZGLENBQUM7QUFDNUcsNkJBQTZCO0FBQzdCLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLG1IQUFtSCxDQUFDO0FBQ2xJLDRDQUE0QztBQUM1QyxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMsc0ZBQXNGLENBQUM7QUFDckcsY0FBYyxvSUFBb0ksQ0FBQztBQUNuSix3QkFBd0I7QUFDeEIsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyxjQUFjLDBGQUEwRixDQUFDO0FBQ3pHLG9CQUFvQjtBQUNwQixjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyx3RkFBd0YsQ0FBQztBQUN2RyxzQkFBc0I7QUFDdEIsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsMEdBQTBHLENBQUM7QUFDekgsY0FBYyx3R0FBd0csQ0FBQztBQUN2SCxjQUFjLGtIQUFrSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwbHVnaW5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uc3RhbnRzJztcbi8qIHBsdWdpbiBjb25maWd1cmF0aW9uIGNvbnRhaW5lciAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIvcGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3BsdWdpbi1jb25maWd1cmF0aW9uLWNvbnRhaW5lci9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIubW9kdWxlJztcbi8qIG9wZW4temFhayBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb3Blbi16YWFrL29wZW4temFhay1wbHVnaW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb3Blbi16YWFrL2NvbXBvbmVudHMvb3Blbi16YWFrLWNvbmZpZ3VyYXRpb24vb3Blbi16YWFrLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb3Blbi16YWFrL29wZW4temFhay1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG4vKiBvYmplY3QgdG9rZW4gYXV0aGVudGljYXRpb24gcGx1Z2luICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL29iamVjdC10b2tlbi1hdXRoZW50aWNhdGlvbi9vYmplY3QtdG9rZW4tYXV0aGVudGljYXRpb24tcGx1Z2luLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL29iamVjdC10b2tlbi1hdXRoZW50aWNhdGlvbi9vYmplY3QtdG9rZW4tYXV0aGVudGljYXRpb24tcGx1Z2luLnNwZWNpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9vYmplY3QtdG9rZW4tYXV0aGVudGljYXRpb24vY29tcG9uZW50cy9vYmplY3QtdG9rZW4tYXV0aGVudGljYXRpb24tY29uZmlndXJhdGlvbi9vYmplY3QtdG9rZW4tYXV0aGVuY2F0aW9uLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Jztcbi8qIHNtYXJ0LWRvY3VtZW50cyBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvc21hcnQtZG9jdW1lbnRzL3NtYXJ0LWRvY3VtZW50cy1wbHVnaW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvc21hcnQtZG9jdW1lbnRzL3NtYXJ0LWRvY3VtZW50cy1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3NtYXJ0LWRvY3VtZW50cy9jb21wb25lbnRzL3NtYXJ0LWRvY3VtZW50cy1jb25maWd1cmF0aW9uL3NtYXJ0LWRvY3VtZW50cy1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3NtYXJ0LWRvY3VtZW50cy9jb21wb25lbnRzL2dlbmVyYXRlLWRvY3VtZW50LWNvbmZpZ3VyYXRpb24vZ2VuZXJhdGUtZG9jdW1lbnQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuLyogZG9jdW1lbnRlbiBhcGkgcGx1Z2luICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2RvY3VtZW50ZW4tYXBpL2RvY3VtZW50ZW4tYXBpLXBsdWdpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9kb2N1bWVudGVuLWFwaS9kb2N1bWVudGVuLWFwaS1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvc3RvcmUtdGVtcC1kb2N1bWVudC9zdG9yZS10ZW1wLWRvY3VtZW50LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvZG9jdW1lbnRlbi1hcGkvY29tcG9uZW50cy9kb2N1bWVudGVuLWFwaS1jb25maWd1cmF0aW9uL2RvY3VtZW50ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvZG9jdW1lbnRlbi1hcGkvY29tcG9uZW50cy9zdG9yZS11cGxvYWRlZC1kb2N1bWVudC9zdG9yZS11cGxvYWRlZC1kb2N1bWVudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvZG93bmxvYWQtZG9jdW1lbnQvZG93bmxvYWQtZG9jdW1lbnQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuLyogb2JqZWN0dHlwZW4gYXBpIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9vYmplY3R0eXBlbi1hcGkvb2JqZWN0dHlwZW4tYXBpLXBsdWdpbi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9vYmplY3R0eXBlbi1hcGkvb2JqZWN0dHlwZW4tYXBpLXBsdWdpbi5zcGVjaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0dHlwZW4tYXBpL2NvbXBvbmVudHMvb2JqZWN0dHlwZW4tYXBpLWNvbmZpZ3VyYXRpb24vb2JqZWN0dHlwZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Jztcbi8qIHpha2VuIGFwaSBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvemFrZW4tYXBpL3pha2VuLWFwaS1wbHVnaW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvemFrZW4tYXBpL3pha2VuLWFwaS1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3pha2VuLWFwaS9jb21wb25lbnRzL3pha2VuLWFwaS1jb25maWd1cmF0aW9uL3pha2VuLWFwaS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3pha2VuLWFwaS9jb21wb25lbnRzL2xpbmstZG9jdW1lbnQtdG8temFhay9saW5rLWRvY3VtZW50LXRvLXphYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9zZXQtemFhay1zdGF0dXMvc2V0LXphYWstc3RhdHVzLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvY3JlYXRlLXphYWstcmVzdWx0YWF0L2NyZWF0ZS16YWFrLXJlc3VsdGFhdC1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3pha2VuLWFwaS9jb21wb25lbnRzL2xpbmstdXBsb2FkZWQtZG9jdW1lbnQtdG8temFhay9saW5rLXVwbG9hZGVkLWRvY3VtZW50LXRvLXphYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9jcmVhdGUtbmF0dXVybGlqay1wZXJzb29uLXphYWstcm9sL2NyZWF0ZS1uYXR1dXJsaWprLXBlcnNvb24temFhay1yb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvY3JlYXRlLW5pZXQtbmF0dXVybGlqay1wZXJzb29uLXphYWstcm9sL2NyZWF0ZS1uaWV0LW5hdHV1cmxpamstcGVyc29vbi16YWFrLXJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9jcmVhdGUtemFhay9jcmVhdGUtemFhay1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3pha2VuLWFwaS9jb21wb25lbnRzL3NldC16YWFrb3BzY2hvcnRpbmcvc2V0LXphYWtvcHNjaG9ydGluZy5jb21wb25lbnQnO1xuLyogb2JqZWN0ZW4gYXBpIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9vYmplY3Rlbi1hcGkvb2JqZWN0ZW4tYXBpLXBsdWdpbi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9vYmplY3Rlbi1hcGkvb2JqZWN0ZW4tYXBpLXBsdWdpbi5zcGVjaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0ZW4tYXBpL2NvbXBvbmVudHMvb2JqZWN0ZW4tYXBpLWNvbmZpZ3VyYXRpb24vb2JqZWN0ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0ZW4tYXBpL2NvbXBvbmVudHMvZGVsZXRlLW9iamVjdC9kZWxldGUtb2JqZWN0LmNvbXBvbmVudCc7XG4vKiBjYXRhbG9naSBhcGkgcGx1Z2luICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2NhdGFsb2dpLWFwaS9jYXRhbG9naS1hcGktcGx1Z2luLW1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2NhdGFsb2dpLWFwaS9jYXRhbG9naS1hcGktcGx1Z2luLnNwZWNpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9jYXRhbG9naS1hcGkvY29tcG9uZW50cy9jYXRhbG9naS1hcGktY29uZmlndXJhdGlvbi9jYXRhbG9naS1hcGktY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9jYXRhbG9naS1hcGkvY29tcG9uZW50cy9nZXQtYmVzbHVpdHR5cGUvZ2V0LWJlc2x1aXR0eXBlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvY2F0YWxvZ2ktYXBpL2NvbXBvbmVudHMvZ2V0LXJlc3VsdGFhdHR5cGUvZ2V0LXJlc3VsdGFhdHR5cGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9jYXRhbG9naS1hcGkvY29tcG9uZW50cy9nZXQtc3RhdHVzdHlwZS9nZXQtc3RhdHVzdHlwZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG4vKiBub3RpZmljYXRpZXMgYXBpIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9ub3RpZmljYXRpZXMtYXBpL25vdGlmaWNhdGllcy1hcGktcGx1Z2luLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL25vdGlmaWNhdGllcy1hcGkvbm90aWZpY2F0aWVzLWFwaS1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL25vdGlmaWNhdGllcy1hcGkvY29tcG9uZW50cy9ub3RpZmljYXRpZXMtYXBpLWNvbmZpZ3VyYXRpb24vbm90aWZpY2F0aWVzLWFwaS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG4vKiBub3RpZmljYXRpZXMgYXBpIGF1dGhlbnRpY2F0aW9uIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9ub3RpZmljYXRpZXMtYXBpLWF1dGhlbnRpY2F0aW9uL29wZW4tbm90aWZpY2F0aWVzLXBsdWdpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9ub3RpZmljYXRpZXMtYXBpLWF1dGhlbnRpY2F0aW9uL29wZW4tbm90aWZpY2F0aWVzLXBsdWdpbi5zcGVjaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvbm90aWZpY2F0aWVzLWFwaS1hdXRoZW50aWNhdGlvbi9jb21wb25lbnRzL29wZW4tbm90aWZpY2F0aWVzLWNvbmZpZ3VyYXRpb24vb3Blbi1ub3RpZmljYXRpZXMtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuLyogcG9ydGFhbHRhYWsgcGx1Z2luICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3BvcnRhYWx0YWFrL3BvcnRhYWx0YWFrLXBsdWdpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9wb3J0YWFsdGFhay9wb3J0YWFsdGFhay1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3BvcnRhYWx0YWFrL2NvbXBvbmVudHMvcG9ydGFhbHRhYWstY29uZmlndXJhdGlvbi9wb3J0YWFsdGFhay1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3BvcnRhYWx0YWFrL2NvbXBvbmVudHMvY3JlYXRlLXBvcnRhbC10YXNrL2NyZWF0ZS1wb3J0YWwtdGFzay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9wb3J0YWFsdGFhay9jb21wb25lbnRzL2NvbXBsZXRlLXBvcnRhbC10YXNrL2NvbXBsZXRlLXBvcnRhbC10YXNrLmNvbXBvbmVudCc7XG4vKiB2ZXJ6b2VrIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy92ZXJ6b2VrL3ZlcnpvZWstcGx1Z2luLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3ZlcnpvZWsvdmVyem9lay1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3ZlcnpvZWsvY29tcG9uZW50cy92ZXJ6b2VrLWNvbmZpZ3VyYXRpb24vdmVyem9lay1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG4vKiBiZXNsdWl0ZW4gcGx1Z2luICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvYmVzbHVpdGVuLWFwaS1wbHVnaW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvYmVzbHVpdGVuLWFwaS9iZXNsdWl0ZW4tYXBpLXBsdWdpbi5zcGVjaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvYmVzbHVpdGVuLWFwaS9jb21wb25lbnRzL2Jlc2x1aXRlbi1hcGktY29uZmlndXJhdGlvbi9iZXNsdWl0ZW4tYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvYmVzbHVpdGVuLWFwaS9jb21wb25lbnRzL2NyZWF0ZS16YWFrLWJlc2x1aXQvY3JlYXRlLXphYWstYmVzbHVpdC1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvY29tcG9uZW50cy9saW5rLWRvY3VtZW50LXRvLWJlc2x1aXQvbGluay1kb2N1bWVudC10by1iZXNsdWl0LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcGx1Z2luL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUg7O0dBRUc7QUFFSCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsb0NBQW9DO0FBQ3BDLGNBQWMsMEZBQTBGLENBQUM7QUFDekcsY0FBYyx1RkFBdUYsQ0FBQztBQUN0RyxzQkFBc0I7QUFDdEIsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDhGQUE4RixDQUFDO0FBQzdHLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsd0NBQXdDO0FBQ3hDLGNBQWMscUZBQXFGLENBQUM7QUFDcEcsY0FBYyw0RkFBNEYsQ0FBQztBQUMzRyxjQUFjLGtKQUFrSixDQUFDO0FBQ2pLLDRCQUE0QjtBQUM1QixjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxnSEFBZ0gsQ0FBQztBQUMvSCxjQUFjLG9IQUFvSCxDQUFDO0FBQ25JLGNBQWMsMEZBQTBGLENBQUM7QUFDekcsMkJBQTJCO0FBQzNCLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLHlHQUF5RyxDQUFDO0FBQ3hILGNBQWMsNkdBQTZHLENBQUM7QUFDNUgsY0FBYyxpSEFBaUgsQ0FBQztBQUNoSSxjQUFjLHFHQUFxRyxDQUFDO0FBQ3BILDRCQUE0QjtBQUM1QixjQUFjLDZEQUE2RCxDQUFDO0FBQzVFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxnSEFBZ0gsQ0FBQztBQUMvSCxzQkFBc0I7QUFDdEIsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsOEZBQThGLENBQUM7QUFDN0csY0FBYyx3R0FBd0csQ0FBQztBQUN2SCxjQUFjLDRGQUE0RixDQUFDO0FBQzNHLGNBQWMsd0dBQXdHLENBQUM7QUFDdkgsY0FBYywwSEFBMEgsQ0FBQztBQUN6SSxjQUFjLG9IQUFvSCxDQUFDO0FBQ25JLGNBQWMsOEhBQThILENBQUM7QUFDN0ksY0FBYyxvRkFBb0YsQ0FBQztBQUNuRyxjQUFjLHNGQUFzRixDQUFDO0FBQ3JHLHlCQUF5QjtBQUN6QixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx1R0FBdUcsQ0FBQztBQUN0SCxjQUFjLDZFQUE2RSxDQUFDO0FBQzVGLHlCQUF5QjtBQUN6QixjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyx1R0FBdUcsQ0FBQztBQUN0SCxjQUFjLCtGQUErRixDQUFDO0FBQzlHLGNBQWMsbUdBQW1HLENBQUM7QUFDbEgsY0FBYyw2RkFBNkYsQ0FBQztBQUM1Ryw2QkFBNkI7QUFDN0IsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsbUhBQW1ILENBQUM7QUFDbEksNENBQTRDO0FBQzVDLGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyxzRkFBc0YsQ0FBQztBQUNyRyxjQUFjLG9JQUFvSSxDQUFDO0FBQ25KLHdCQUF3QjtBQUN4QixjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxvR0FBb0csQ0FBQztBQUNuSCxjQUFjLHNGQUFzRixDQUFDO0FBQ3JHLGNBQWMsMEZBQTBGLENBQUM7QUFDekcsb0JBQW9CO0FBQ3BCLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLHNCQUFzQjtBQUN0QixjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYywwR0FBMEcsQ0FBQztBQUN6SCxjQUFjLHdHQUF3RyxDQUFDO0FBQ3ZILGNBQWMsa0hBQWtILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHBsdWdpblxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMnO1xuLyogcGx1Z2luIGNvbmZpZ3VyYXRpb24gY29udGFpbmVyICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3BsdWdpbi1jb25maWd1cmF0aW9uLWNvbnRhaW5lci9wbHVnaW4tY29uZmlndXJhdGlvbi1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGx1Z2luLWNvbmZpZ3VyYXRpb24tY29udGFpbmVyL3BsdWdpbi1jb25maWd1cmF0aW9uLWNvbnRhaW5lci5tb2R1bGUnO1xuLyogb3Blbi16YWFrIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9vcGVuLXphYWsvb3Blbi16YWFrLXBsdWdpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9vcGVuLXphYWsvY29tcG9uZW50cy9vcGVuLXphYWstY29uZmlndXJhdGlvbi9vcGVuLXphYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9vcGVuLXphYWsvb3Blbi16YWFrLXBsdWdpbi5zcGVjaWZpY2F0aW9uJztcbi8qIG9iamVjdCB0b2tlbiBhdXRoZW50aWNhdGlvbiBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0LXRva2VuLWF1dGhlbnRpY2F0aW9uL29iamVjdC10b2tlbi1hdXRoZW50aWNhdGlvbi1wbHVnaW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0LXRva2VuLWF1dGhlbnRpY2F0aW9uL29iamVjdC10b2tlbi1hdXRoZW50aWNhdGlvbi1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL29iamVjdC10b2tlbi1hdXRoZW50aWNhdGlvbi9jb21wb25lbnRzL29iamVjdC10b2tlbi1hdXRoZW50aWNhdGlvbi1jb25maWd1cmF0aW9uL29iamVjdC10b2tlbi1hdXRoZW5jYXRpb24tY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuLyogc21hcnQtZG9jdW1lbnRzIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9zbWFydC1kb2N1bWVudHMvc21hcnQtZG9jdW1lbnRzLXBsdWdpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9zbWFydC1kb2N1bWVudHMvc21hcnQtZG9jdW1lbnRzLXBsdWdpbi5zcGVjaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvc21hcnQtZG9jdW1lbnRzL2NvbXBvbmVudHMvc21hcnQtZG9jdW1lbnRzLWNvbmZpZ3VyYXRpb24vc21hcnQtZG9jdW1lbnRzLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvc21hcnQtZG9jdW1lbnRzL2NvbXBvbmVudHMvZ2VuZXJhdGUtZG9jdW1lbnQtY29uZmlndXJhdGlvbi9nZW5lcmF0ZS1kb2N1bWVudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3NtYXJ0LWRvY3VtZW50cy9jb21wb25lbnRzL2dldC10ZW1wbGF0ZS1uYW1lcy9nZXQtdGVtcGxhdGUtbmFtZXMuY29tcG9uZW50Jztcbi8qIGRvY3VtZW50ZW4gYXBpIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9kb2N1bWVudGVuLWFwaS9kb2N1bWVudGVuLWFwaS1wbHVnaW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvZG9jdW1lbnRlbi1hcGkvZG9jdW1lbnRlbi1hcGktcGx1Z2luLnNwZWNpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9kb2N1bWVudGVuLWFwaS9jb21wb25lbnRzL3N0b3JlLXRlbXAtZG9jdW1lbnQvc3RvcmUtdGVtcC1kb2N1bWVudC1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvZG9jdW1lbnRlbi1hcGktY29uZmlndXJhdGlvbi9kb2N1bWVudGVuLWFwaS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2RvY3VtZW50ZW4tYXBpL2NvbXBvbmVudHMvc3RvcmUtdXBsb2FkZWQtZG9jdW1lbnQvc3RvcmUtdXBsb2FkZWQtZG9jdW1lbnQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9kb2N1bWVudGVuLWFwaS9jb21wb25lbnRzL2Rvd25sb2FkLWRvY3VtZW50L2Rvd25sb2FkLWRvY3VtZW50LWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Jztcbi8qIG9iamVjdHR5cGVuIGFwaSBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0dHlwZW4tYXBpL29iamVjdHR5cGVuLWFwaS1wbHVnaW4tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0dHlwZW4tYXBpL29iamVjdHR5cGVuLWFwaS1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL29iamVjdHR5cGVuLWFwaS9jb21wb25lbnRzL29iamVjdHR5cGVuLWFwaS1jb25maWd1cmF0aW9uL29iamVjdHR5cGVuLWFwaS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG4vKiB6YWtlbiBhcGkgcGx1Z2luICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3pha2VuLWFwaS96YWtlbi1hcGktcGx1Z2luLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3pha2VuLWFwaS96YWtlbi1hcGktcGx1Z2luLnNwZWNpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy96YWtlbi1hcGktY29uZmlndXJhdGlvbi96YWtlbi1hcGktY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9saW5rLWRvY3VtZW50LXRvLXphYWsvbGluay1kb2N1bWVudC10by16YWFrLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvc2V0LXphYWstc3RhdHVzL3NldC16YWFrLXN0YXR1cy1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3pha2VuLWFwaS9jb21wb25lbnRzL2NyZWF0ZS16YWFrLXJlc3VsdGFhdC9jcmVhdGUtemFhay1yZXN1bHRhYXQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9saW5rLXVwbG9hZGVkLWRvY3VtZW50LXRvLXphYWsvbGluay11cGxvYWRlZC1kb2N1bWVudC10by16YWFrLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvY3JlYXRlLW5hdHV1cmxpamstcGVyc29vbi16YWFrLXJvbC9jcmVhdGUtbmF0dXVybGlqay1wZXJzb29uLXphYWstcm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL3pha2VuLWFwaS9jb21wb25lbnRzL2NyZWF0ZS1uaWV0LW5hdHV1cmxpamstcGVyc29vbi16YWFrLXJvbC9jcmVhdGUtbmlldC1uYXR1dXJsaWprLXBlcnNvb24temFhay1yb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvemFrZW4tYXBpL2NvbXBvbmVudHMvY3JlYXRlLXphYWsvY3JlYXRlLXphYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy96YWtlbi1hcGkvY29tcG9uZW50cy9zZXQtemFha29wc2Nob3J0aW5nL3NldC16YWFrb3BzY2hvcnRpbmcuY29tcG9uZW50Jztcbi8qIG9iamVjdGVuIGFwaSBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0ZW4tYXBpL29iamVjdGVuLWFwaS1wbHVnaW4tbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvb2JqZWN0ZW4tYXBpL29iamVjdGVuLWFwaS1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL29iamVjdGVuLWFwaS9jb21wb25lbnRzL29iamVjdGVuLWFwaS1jb25maWd1cmF0aW9uL29iamVjdGVuLWFwaS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL29iamVjdGVuLWFwaS9jb21wb25lbnRzL2RlbGV0ZS1vYmplY3QvZGVsZXRlLW9iamVjdC5jb21wb25lbnQnO1xuLyogY2F0YWxvZ2kgYXBpIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9jYXRhbG9naS1hcGkvY2F0YWxvZ2ktYXBpLXBsdWdpbi1tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9jYXRhbG9naS1hcGkvY2F0YWxvZ2ktYXBpLXBsdWdpbi5zcGVjaWZpY2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvY2F0YWxvZ2ktYXBpL2NvbXBvbmVudHMvY2F0YWxvZ2ktYXBpLWNvbmZpZ3VyYXRpb24vY2F0YWxvZ2ktYXBpLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvY2F0YWxvZ2ktYXBpL2NvbXBvbmVudHMvZ2V0LWJlc2x1aXR0eXBlL2dldC1iZXNsdWl0dHlwZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2NhdGFsb2dpLWFwaS9jb21wb25lbnRzL2dldC1yZXN1bHRhYXR0eXBlL2dldC1yZXN1bHRhYXR0eXBlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvY2F0YWxvZ2ktYXBpL2NvbXBvbmVudHMvZ2V0LXN0YXR1c3R5cGUvZ2V0LXN0YXR1c3R5cGUtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuLyogbm90aWZpY2F0aWVzIGFwaSBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvbm90aWZpY2F0aWVzLWFwaS9ub3RpZmljYXRpZXMtYXBpLXBsdWdpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9ub3RpZmljYXRpZXMtYXBpL25vdGlmaWNhdGllcy1hcGktcGx1Z2luLnNwZWNpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9ub3RpZmljYXRpZXMtYXBpL2NvbXBvbmVudHMvbm90aWZpY2F0aWVzLWFwaS1jb25maWd1cmF0aW9uL25vdGlmaWNhdGllcy1hcGktY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuLyogbm90aWZpY2F0aWVzIGFwaSBhdXRoZW50aWNhdGlvbiBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvbm90aWZpY2F0aWVzLWFwaS1hdXRoZW50aWNhdGlvbi9vcGVuLW5vdGlmaWNhdGllcy1wbHVnaW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvbm90aWZpY2F0aWVzLWFwaS1hdXRoZW50aWNhdGlvbi9vcGVuLW5vdGlmaWNhdGllcy1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL25vdGlmaWNhdGllcy1hcGktYXV0aGVudGljYXRpb24vY29tcG9uZW50cy9vcGVuLW5vdGlmaWNhdGllcy1jb25maWd1cmF0aW9uL29wZW4tbm90aWZpY2F0aWVzLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50Jztcbi8qIHBvcnRhYWx0YWFrIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9wb3J0YWFsdGFhay9wb3J0YWFsdGFhay1wbHVnaW4ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvcG9ydGFhbHRhYWsvcG9ydGFhbHRhYWstcGx1Z2luLnNwZWNpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9wb3J0YWFsdGFhay9jb21wb25lbnRzL3BvcnRhYWx0YWFrLWNvbmZpZ3VyYXRpb24vcG9ydGFhbHRhYWstY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9wb3J0YWFsdGFhay9jb21wb25lbnRzL2NyZWF0ZS1wb3J0YWwtdGFzay9jcmVhdGUtcG9ydGFsLXRhc2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvcG9ydGFhbHRhYWsvY29tcG9uZW50cy9jb21wbGV0ZS1wb3J0YWwtdGFzay9jb21wbGV0ZS1wb3J0YWwtdGFzay5jb21wb25lbnQnO1xuLyogdmVyem9layBwbHVnaW4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsdWdpbnMvdmVyem9lay92ZXJ6b2VrLXBsdWdpbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy92ZXJ6b2VrL3ZlcnpvZWstcGx1Z2luLnNwZWNpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy92ZXJ6b2VrL2NvbXBvbmVudHMvdmVyem9lay1jb25maWd1cmF0aW9uL3ZlcnpvZWstY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuLyogYmVzbHVpdGVuIHBsdWdpbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9iZXNsdWl0ZW4tYXBpL2Jlc2x1aXRlbi1hcGktcGx1Z2luLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvYmVzbHVpdGVuLWFwaS1wbHVnaW4uc3BlY2lmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvY29tcG9uZW50cy9iZXNsdWl0ZW4tYXBpLWNvbmZpZ3VyYXRpb24vYmVzbHVpdGVuLWFwaS1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wbHVnaW5zL2Jlc2x1aXRlbi1hcGkvY29tcG9uZW50cy9jcmVhdGUtemFhay1iZXNsdWl0L2NyZWF0ZS16YWFrLWJlc2x1aXQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGx1Z2lucy9iZXNsdWl0ZW4tYXBpL2NvbXBvbmVudHMvbGluay1kb2N1bWVudC10by1iZXNsdWl0L2xpbmstZG9jdW1lbnQtdG8tYmVzbHVpdC1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG4iXX0=