@valtimo/dossier-management 12.1.1 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/esm2022/lib/components/dossier-management-assignee/dossier-management-assignee.component.mjs +4 -4
  2. package/esm2022/lib/components/dossier-management-connect-modal/dossier-management-connect-modal.component.mjs +4 -4
  3. package/esm2022/lib/components/dossier-management-create/dossier-management-create.component.mjs +4 -4
  4. package/esm2022/lib/components/dossier-management-detail/dossier-management-detail.component.mjs +4 -4
  5. package/esm2022/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.mjs +4 -4
  6. package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.mjs +4 -4
  7. package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.mjs +4 -4
  8. package/esm2022/lib/components/dossier-management-list/dossier-management-list.component.mjs +4 -4
  9. package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +7 -6
  10. package/esm2022/lib/components/dossier-management-processes/dossier-management-processes.component.mjs +4 -4
  11. package/esm2022/lib/components/dossier-management-remove-modal/dossier-management-remove-modal.component.mjs +4 -4
  12. package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +14 -6
  13. package/esm2022/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.mjs +4 -4
  14. package/esm2022/lib/components/dossier-management-statuses/dossier-management-statuses.component.mjs +4 -4
  15. package/esm2022/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.mjs +10 -14
  16. package/esm2022/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.mjs +4 -4
  17. package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs +9 -18
  18. package/esm2022/lib/components/dossier-management-tabs/tab-form/tab-form.component.mjs +16 -6
  19. package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.component.mjs +4 -4
  20. package/esm2022/lib/components/dossier-management-upload/step/dossier-management-upload-step.component.mjs +4 -4
  21. package/esm2022/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.mjs +9 -8
  22. package/esm2022/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.mjs +4 -4
  23. package/esm2022/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.mjs +17 -11
  24. package/esm2022/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.mjs +16 -8
  25. package/esm2022/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.mjs +4 -4
  26. package/esm2022/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.mjs +7 -6
  27. package/esm2022/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.mjs +4 -4
  28. package/esm2022/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.mjs +8 -8
  29. package/esm2022/lib/components/dossier-management-widget-tab/json-editor/dossier-management-widgets-json-editor.component.mjs +4 -4
  30. package/esm2022/lib/components/dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal.mjs +4 -4
  31. package/esm2022/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.mjs +14 -8
  32. package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.mjs +4 -4
  33. package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.mjs +4 -4
  34. package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.mjs +5 -5
  35. package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.mjs +5 -5
  36. package/esm2022/lib/dossier-management-routing.module.mjs +5 -5
  37. package/esm2022/lib/dossier-management.module.mjs +11 -8
  38. package/esm2022/lib/models/widget-wizard.model.mjs +5 -5
  39. package/esm2022/lib/services/dossier-detail.service.mjs +4 -4
  40. package/esm2022/lib/services/dossier-export.service.mjs +4 -4
  41. package/esm2022/lib/services/dossier-management.service.mjs +4 -4
  42. package/esm2022/lib/services/tab-management.service.mjs +9 -12
  43. package/esm2022/lib/services/tab.service.mjs +4 -4
  44. package/esm2022/lib/services/widget-fields.service.mjs +4 -4
  45. package/esm2022/lib/services/widget-json-editor.service.mjs +4 -4
  46. package/esm2022/lib/services/widget-tab-management.service.mjs +4 -4
  47. package/esm2022/lib/services/widget-wizard.service.mjs +4 -4
  48. package/fesm2022/valtimo-dossier-management.mjs +231 -204
  49. package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
  50. package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts +1 -1
  51. package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts.map +1 -1
  52. package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts +2 -1
  53. package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts.map +1 -1
  54. package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts +3 -1
  55. package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +1 -1
  56. package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts +1 -1
  57. package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts.map +1 -1
  58. package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts +0 -1
  59. package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts.map +1 -1
  60. package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts +2 -1
  61. package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts.map +1 -1
  62. package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts.map +1 -1
  63. package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts +7 -5
  64. package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts.map +1 -1
  65. package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts +5 -3
  66. package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts.map +1 -1
  67. package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts.map +1 -1
  68. package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts +1 -1
  69. package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts.map +1 -1
  70. package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts +2 -0
  71. package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts.map +1 -1
  72. package/lib/dossier-management.module.d.ts +1 -1
  73. package/lib/dossier-management.module.d.ts.map +1 -1
  74. package/lib/services/tab-management.service.d.ts +1 -2
  75. package/lib/services/tab-management.service.d.ts.map +1 -1
  76. package/package.json +2 -2
@@ -14,11 +14,11 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { CommonModule } from '@angular/common';
17
- import { ChangeDetectionStrategy, Component, computed, EventEmitter, HostBinding, Output, signal, ViewEncapsulation, } from '@angular/core';
17
+ import { ChangeDetectionStrategy, Component, computed, EventEmitter, HostBinding, Output, signal, ViewChild, ViewEncapsulation, } from '@angular/core';
18
18
  import { ReactiveFormsModule, Validators } from '@angular/forms';
19
19
  import { TranslateModule } from '@ngx-translate/core';
20
- import { CARBON_THEME, CurrentCarbonTheme } from '@valtimo/components';
21
- import { ButtonModule, IconModule, InputModule, TabsModule } from 'carbon-components-angular';
20
+ import { CARBON_THEME, CurrentCarbonTheme, InputLabelModule, } from '@valtimo/components';
21
+ import { ButtonModule, IconModule, InputModule, Tab, TabsModule } from 'carbon-components-angular';
22
22
  import { debounceTime, map, Subscription } from 'rxjs';
23
23
  import { DossierManagementWidgetFieldsColumnComponent } from './column/dossier-management-widget-fields-column.component';
24
24
  import * as i0 from "@angular/core";
@@ -61,6 +61,9 @@ export class DossierManagementWidgetFieldsComponent {
61
61
  return;
62
62
  this.columns.set(Object.keys(widgetContent).map(() => null));
63
63
  }
64
+ ngAfterViewInit() {
65
+ this._tab.tabIndex = -1;
66
+ }
64
67
  ngOnDestroy() {
65
68
  this._subscriptions.unsubscribe();
66
69
  this.changeValidEvent.emit(false);
@@ -70,6 +73,7 @@ export class DossierManagementWidgetFieldsComponent {
70
73
  onAddColumnClick() {
71
74
  this.columns.update(value => [...value, null]);
72
75
  this.activeTab.set(this.columns().length - 1);
76
+ this.changeValidEvent.emit(false);
73
77
  }
74
78
  onTabSelected(index) {
75
79
  this.activeTab.set(index);
@@ -109,10 +113,10 @@ export class DossierManagementWidgetFieldsComponent {
109
113
  this._contentValid.set(event.valid);
110
114
  this.changeValidEvent.emit(event.valid && this.form.valid);
111
115
  }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetFieldsComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: DossierManagementWidgetFieldsComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>{{ 'widgetTabManagement.content.description' | translate }}</p>\n\n<form [formGroup]=\"form\">\n <cds-text-label\n [attr.data-carbon-theme]=\"theme$ | async\"\n class=\"valtimo-dossier-management-widget-field__input\"\n >\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<ng-container>\n <cds-tabs type=\"contained\">\n @for (column of columns(); track $index) {\n <cds-tab\n [active]=\"activeTab() === $index\"\n [heading]=\"columnHeading\"\n [context]=\"{index: $index, count: $count}\"\n (selected)=\"onTabSelected($index)\"\n >\n <valtimo-dossier-management-widget-fields-column\n *ngIf=\"activeTab() === $index\"\n [columnData]=\"selectedWidgetContent()?.[$index]\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event, $index)\"\n ></valtimo-dossier-management-widget-fields-column>\n </cds-tab>\n }\n <cds-tab\n *ngIf=\"columns().length < widgetWidth\"\n [heading]=\"addColumn\"\n [id]=\"'addColumn'\"\n class=\"valtimo-dossier-management-widget-field__add\"\n ></cds-tab>\n </cds-tabs>\n</ng-container>\n\n<ng-template #addColumn>\n <button\n cdsButton=\"ghost\"\n [iconOnly]=\"true\"\n (click)=\"$event.stopImmediatePropagation(); onAddColumnClick()\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #columnHeading let-data>\n <div class=\"valtimo-dossier-management-widget-field__heading\">\n {{ 'widgetTabManagement.content.column' | translate: {number: data.index + 1} }}\n\n <button\n cdsButton=\"ghost\"\n [disabled]=\"data.count === 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onDeleteColumnClick(data.index)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-dossier-management-widget-field{display:flex;flex-direction:column}.valtimo-dossier-management-widget-field>*:first-child,.valtimo-dossier-management-widget-field>*:nth-child(2){margin-bottom:16px}.valtimo-dossier-management-widget-field__input{max-width:288px}.valtimo-dossier-management-widget-field__heading{display:flex;align-items:center}.valtimo-dossier-management-widget-field #addColumn-header{padding:0!important}.valtimo-dossier-management-widget-field .cds--tabs__nav-item{padding-right:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i6.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i6.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: DossierManagementWidgetFieldsColumnComponent, selector: "valtimo-dossier-management-widget-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown"], outputs: ["columnUpdateEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetFieldsComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: DossierManagementWidgetFieldsComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "_tab", first: true, predicate: Tab, descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>{{ 'widgetTabManagement.content.description' | translate }}</p>\n\n<form [formGroup]=\"form\">\n <cds-text-label\n [attr.data-carbon-theme]=\"theme$ | async\"\n class=\"valtimo-dossier-management-widget-field__input\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<cds-tabs type=\"contained\">\n @for (column of columns(); track $index) {\n <cds-tab\n [active]=\"activeTab() === $index\"\n [heading]=\"columnHeading\"\n [context]=\"{index: $index, count: $count}\"\n (selected)=\"onTabSelected($index)\"\n >\n <valtimo-dossier-management-widget-fields-column\n *ngIf=\"activeTab() === $index\"\n [columnData]=\"selectedWidgetContent()?.[$index]\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event, $index)\"\n ></valtimo-dossier-management-widget-fields-column>\n </cds-tab>\n }\n <cds-tab\n *ngIf=\"columns().length < widgetWidth\"\n [heading]=\"addColumn\"\n [id]=\"'addColumn'\"\n class=\"valtimo-dossier-management-widget-field__add\"\n ></cds-tab>\n</cds-tabs>\n\n<ng-template #addColumn>\n <button\n cdsButton=\"ghost\"\n [iconOnly]=\"true\"\n (click)=\"$event.stopImmediatePropagation(); onAddColumnClick()\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #columnHeading let-data>\n <div class=\"valtimo-dossier-management-widget-field__heading\">\n {{ 'widgetTabManagement.content.column' | translate: {number: data.index + 1} }}\n\n <button\n cdsButton=\"ghost\"\n [disabled]=\"data.count === 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onDeleteColumnClick(data.index)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-dossier-management-widget-field{display:flex;flex-direction:column}.valtimo-dossier-management-widget-field>*:first-child,.valtimo-dossier-management-widget-field>*:nth-child(2){margin-bottom:16px}.valtimo-dossier-management-widget-field__input{max-width:288px}.valtimo-dossier-management-widget-field__heading{display:flex;align-items:center}.valtimo-dossier-management-widget-field #addColumn-header{padding:0!important}.valtimo-dossier-management-widget-field .cds--tabs__nav-item{padding-right:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i6.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i6.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive", "tabContent", "templateContext"], outputs: ["selected"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i6.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "component", type: DossierManagementWidgetFieldsColumnComponent, selector: "valtimo-dossier-management-widget-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
114
118
  }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetFieldsComponent, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetFieldsComponent, decorators: [{
116
120
  type: Component,
117
121
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [
118
122
  CommonModule,
@@ -123,11 +127,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
123
127
  ReactiveFormsModule,
124
128
  ButtonModule,
125
129
  DossierManagementWidgetFieldsColumnComponent,
126
- ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>{{ 'widgetTabManagement.content.description' | translate }}</p>\n\n<form [formGroup]=\"form\">\n <cds-text-label\n [attr.data-carbon-theme]=\"theme$ | async\"\n class=\"valtimo-dossier-management-widget-field__input\"\n >\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<ng-container>\n <cds-tabs type=\"contained\">\n @for (column of columns(); track $index) {\n <cds-tab\n [active]=\"activeTab() === $index\"\n [heading]=\"columnHeading\"\n [context]=\"{index: $index, count: $count}\"\n (selected)=\"onTabSelected($index)\"\n >\n <valtimo-dossier-management-widget-fields-column\n *ngIf=\"activeTab() === $index\"\n [columnData]=\"selectedWidgetContent()?.[$index]\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event, $index)\"\n ></valtimo-dossier-management-widget-fields-column>\n </cds-tab>\n }\n <cds-tab\n *ngIf=\"columns().length < widgetWidth\"\n [heading]=\"addColumn\"\n [id]=\"'addColumn'\"\n class=\"valtimo-dossier-management-widget-field__add\"\n ></cds-tab>\n </cds-tabs>\n</ng-container>\n\n<ng-template #addColumn>\n <button\n cdsButton=\"ghost\"\n [iconOnly]=\"true\"\n (click)=\"$event.stopImmediatePropagation(); onAddColumnClick()\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #columnHeading let-data>\n <div class=\"valtimo-dossier-management-widget-field__heading\">\n {{ 'widgetTabManagement.content.column' | translate: {number: data.index + 1} }}\n\n <button\n cdsButton=\"ghost\"\n [disabled]=\"data.count === 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onDeleteColumnClick(data.index)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-dossier-management-widget-field{display:flex;flex-direction:column}.valtimo-dossier-management-widget-field>*:first-child,.valtimo-dossier-management-widget-field>*:nth-child(2){margin-bottom:16px}.valtimo-dossier-management-widget-field__input{max-width:288px}.valtimo-dossier-management-widget-field__heading{display:flex;align-items:center}.valtimo-dossier-management-widget-field #addColumn-header{padding:0!important}.valtimo-dossier-management-widget-field .cds--tabs__nav-item{padding-right:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
130
+ InputLabelModule,
131
+ ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<p>{{ 'widgetTabManagement.content.description' | translate }}</p>\n\n<form [formGroup]=\"form\">\n <cds-text-label\n [attr.data-carbon-theme]=\"theme$ | async\"\n class=\"valtimo-dossier-management-widget-field__input\"\n >\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<cds-tabs type=\"contained\">\n @for (column of columns(); track $index) {\n <cds-tab\n [active]=\"activeTab() === $index\"\n [heading]=\"columnHeading\"\n [context]=\"{index: $index, count: $count}\"\n (selected)=\"onTabSelected($index)\"\n >\n <valtimo-dossier-management-widget-fields-column\n *ngIf=\"activeTab() === $index\"\n [columnData]=\"selectedWidgetContent()?.[$index]\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event, $index)\"\n ></valtimo-dossier-management-widget-fields-column>\n </cds-tab>\n }\n <cds-tab\n *ngIf=\"columns().length < widgetWidth\"\n [heading]=\"addColumn\"\n [id]=\"'addColumn'\"\n class=\"valtimo-dossier-management-widget-field__add\"\n ></cds-tab>\n</cds-tabs>\n\n<ng-template #addColumn>\n <button\n cdsButton=\"ghost\"\n [iconOnly]=\"true\"\n (click)=\"$event.stopImmediatePropagation(); onAddColumnClick()\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"add\" size=\"16\"></svg>\n </button>\n</ng-template>\n\n<ng-template #columnHeading let-data>\n <div class=\"valtimo-dossier-management-widget-field__heading\">\n {{ 'widgetTabManagement.content.column' | translate: {number: data.index + 1} }}\n\n <button\n cdsButton=\"ghost\"\n [disabled]=\"data.count === 1\"\n [iconOnly]=\"true\"\n size=\"sm\"\n (click)=\"onDeleteColumnClick(data.index)\"\n >\n <svg class=\"cds--btn__icon\" cdsIcon=\"close\" size=\"16\"></svg>\n </button>\n </div>\n</ng-template>\n", styles: [".valtimo-dossier-management-widget-field{display:flex;flex-direction:column}.valtimo-dossier-management-widget-field>*:first-child,.valtimo-dossier-management-widget-field>*:nth-child(2){margin-bottom:16px}.valtimo-dossier-management-widget-field__input{max-width:288px}.valtimo-dossier-management-widget-field__heading{display:flex;align-items:center}.valtimo-dossier-management-widget-field #addColumn-header{padding:0!important}.valtimo-dossier-management-widget-field .cds--tabs__nav-item{padding-right:0!important}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
127
132
  }], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i2.FormBuilder }, { type: i3.WidgetWizardService }], propDecorators: { class: [{
128
133
  type: HostBinding,
129
134
  args: ['class']
130
135
  }], changeValidEvent: [{
131
136
  type: Output
137
+ }], _tab: [{
138
+ type: ViewChild,
139
+ args: [Tab]
132
140
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9maWVsZHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9maWVsZHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixXQUFXLEVBR1gsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLG1CQUFtQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFtQixrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXRGLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RixPQUFPLEVBQUMsWUFBWSxF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QyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7OEdBcEhVLHNDQUFzQztrR0FBdEMsc0NBQXNDLDRLQ3ZEbkQsd3VGQW9GQSxnc0NEdkNJLFlBQVksdUxBQ1osZUFBZSwyRkFDZixXQUFXLDJhQUNYLFVBQVUsOFpBQ1YsVUFBVSw0TkFDVixtQkFBbUIsNDhCQUNuQixZQUFZLGlNQUNaLDRDQUE0Qzs7MkZBR25DLHNDQUFzQztrQkFqQmxELFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWiw0Q0FBNEM7cUJBQzdDO2dKQUtxQyxLQUFLO3NCQUExQyxXQUFXO3VCQUFDLE9BQU87Z0JBQ00sZ0JBQWdCO3NCQUF6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDQVJCT05fVEhFTUUsIENkc1RoZW1lU2VydmljZSwgQ3VycmVudENhcmJvblRoZW1lfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RmllbGRzQ2FzZVdpZGdldFZhbHVlLCBXaWRnZXRGaWVsZHNDb250ZW50fSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlLCBJbnB1dE1vZHVsZSwgVGFic01vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgbWFwLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXaWRnZXRDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXaWRnZXRXaXphcmRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge0Rvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0RmllbGRzQ29sdW1uQ29tcG9uZW50fSBmcm9tICcuL2NvbHVtbi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgRG9zc2llck1hbmFnZW1lbnRXaWRnZXRGaWVsZHNDb2x1bW5Db21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0RmllbGRzQ29tcG9uZW50XG4gIGltcGxlbWVudHMgV2lkZ2V0Q29udGVudENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIHB1YmxpYyByZWFkb25seSBjbGFzcyA9ICd2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGQnO1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGNoYW5nZVZhbGlkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICB3aWRnZXRUaXRsZTogdGhpcy5mYi5jb250cm9sKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRUaXRsZSgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbHVtbnMgPSBzaWduYWw8bnVsbFtdPihbbnVsbF0pO1xuICBwdWJsaWMgcmVhZG9ubHkgd2lkZ2V0V2lkdGggPSB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0V2lkdGgoKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkVGFiSW5kZXggPSAtMTtcbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lJCA9IHRoaXMuY2RzVGhlbWVTZXJ2aWNlLmN1cnJlbnRUaGVtZSQucGlwZShcbiAgICBtYXAoKHRoZW1lOiBDdXJyZW50Q2FyYm9uVGhlbWUpID0+XG4gICAgICB0aGVtZSA9PT0gQ3VycmVudENhcmJvblRoZW1lLkcxMCA/IENBUkJPTl9USEVNRS5XSElURSA6IENBUkJPTl9USEVNRS5HOTBcbiAgICApXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFdpZGdldENvbnRlbnQgPSBjb21wdXRlZCgoKSA9PlxuICAgICh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpIGFzIFdpZGdldEZpZWxkc0NvbnRlbnQpPy5jb2x1bW5zLnJlZHVjZShcbiAgICAgIChhY2MsIGN1cnIsIGluZGV4KSA9PiAoe1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIFtpbmRleF06IGN1cnIsXG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlVGFiID0gc2lnbmFsPG51bWJlcj4oMCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGVudFZhbGlkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkc1RoZW1lU2VydmljZTogQ2RzVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0V2l6YXJkU2VydmljZTogV2lkZ2V0V2l6YXJkU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxMDApKS5zdWJzY3JpYmUoZm9ybVZhbHVlID0+IHtcbiAgICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFRpdGxlLnNldChmb3JtVmFsdWUud2lkZ2V0VGl0bGUgPz8gJycpO1xuICAgICAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdCh0aGlzLmZvcm0udmFsaWQgJiYgdGhpcy5fY29udGVudFZhbGlkKCkpO1xuICAgICAgfSlcbiAgICApO1xuICAgIGNvbnN0IHdpZGdldENvbnRlbnQgPSAodGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQoKSBhcyBXaWRnZXRGaWVsZHNDb250ZW50KVxuICAgICAgPy5jb2x1bW5zO1xuICAgIGlmICghd2lkZ2V0Q29udGVudCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jb2x1bW5zLnNldChPYmplY3Qua2V5cyh3aWRnZXRDb250ZW50KS5tYXAoKCkgPT4gbnVsbCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdChmYWxzZSk7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gICAgdGhpcy5fY29udGVudFZhbGlkLnNldChmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgb25BZGRDb2x1bW5DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbnMudXBkYXRlKHZhbHVlID0+IFsuLi52YWx1ZSwgbnVsbF0pO1xuICAgIHRoaXMuYWN0aXZlVGFiLnNldCh0aGlzLmNvbHVtbnMoKS5sZW5ndGggLSAxKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRhYlNlbGVjdGVkKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVRhYi5zZXQoaW5kZXgpO1xuICB9XG5cbiAgcHVibGljIG9uRGVsZXRlQ29sdW1uQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50LnVwZGF0ZShjb250ZW50ID0+IHtcbiAgICAgIGlmICghY29udGVudCkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHdpZGdldENvbnRlbnQgPSBjb250ZW50IGFzIFdpZGdldEZpZWxkc0NvbnRlbnQ7XG5cbiAgICAgIGxldCB0ZW1wSW5kZXggPSBpbmRleDtcbiAgICAgIGxldCB0ZW1wQ29udGVudCA9IHsuLi53aWRnZXRDb250ZW50fTtcbiAgICAgIHdoaWxlICh0ZW1wSW5kZXggPCB0aGlzLmNvbHVtbnMoKS5sZW5ndGggLSAxKSB7XG4gICAgICAgIHRlbXBDb250ZW50LmNvbHVtbnNbdGVtcEluZGV4XSA9IHRlbXBDb250ZW50LmNvbHVtbnNbdGVtcEluZGV4ICsgMV07XG4gICAgICAgIHRlbXBJbmRleCsrO1xuICAgICAgfVxuICAgICAgdGVtcENvbnRlbnQuY29sdW1ucy5zcGxpY2UodGVtcEluZGV4LCAxKTtcblxuICAgICAgcmV0dXJuIHRlbXBDb250ZW50O1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb2x1bW5zLnVwZGF0ZSgoY29sdW1uczogbnVsbFtdKSA9PiB7XG4gICAgICBjb25zdCB0ZW1wID0gY29sdW1ucztcbiAgICAgIHRlbXAuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgcmV0dXJuIHRlbXA7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5hY3RpdmVUYWIoKSAhPT0gaW5kZXgpIHJldHVybjtcblxuICAgIHRoaXMuYWN0aXZlVGFiLnNldCgtMSk7XG4gIH1cblxuICBwdWJsaWMgb25Db2x1bW5VcGRhdGVFdmVudChcbiAgICBldmVudDoge1xuICAgICAgZGF0YTogRmllbGRzQ2FzZVdpZGdldFZhbHVlW107XG4gICAgICB2YWxpZDogYm9vbGVhbjtcbiAgICB9LFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXJcbiAgKTogdm9pZCB7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKGNvbnRlbnQgPT4ge1xuICAgICAgaWYgKCFjb250ZW50KSByZXR1cm4ge2NvbHVtbnM6IFtldmVudC5kYXRhXX07XG5cbiAgICAgIGNvbnN0IGNvbHVtbnMgPSAoY29udGVudCBhcyBXaWRnZXRGaWVsZHNDb250ZW50KT8uY29sdW1ucy5tYXAoKGNvbHVtbiwgaW5kZXgpID0+XG4gICAgICAgIGluZGV4ID09PSBjb2x1bW5JbmRleCA/IGV2ZW50LmRhdGEgOiBjb2x1bW5cbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2x1bW5zOiBjb2x1bW5JbmRleCA+IGNvbHVtbnMubGVuZ3RoIC0gMSA/IFsuLi5jb2x1bW5zLCBldmVudC5kYXRhXSA6IGNvbHVtbnMsXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuX2NvbnRlbnRWYWxpZC5zZXQoZXZlbnQudmFsaWQpO1xuICAgIHRoaXMuY2hhbmdlVmFsaWRFdmVudC5lbWl0KGV2ZW50LnZhbGlkICYmIHRoaXMuZm9ybS52YWxpZCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHA+e3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC5kZXNjcmlwdGlvbicgfCB0cmFuc2xhdGUgfX08L3A+XG5cbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICA8Y2RzLXRleHQtbGFiZWxcbiAgICBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJ0aGVtZSQgfCBhc3luY1wiXG4gICAgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRfX2lucHV0XCJcbiAgPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQud2lkZ2V0VGl0bGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIndpZGdldFRpdGxlXCJcbiAgICAgIGNkc1RleHRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuPC9mb3JtPlxuXG48bmctY29udGFpbmVyPlxuICA8Y2RzLXRhYnMgdHlwZT1cImNvbnRhaW5lZFwiPlxuICAgIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGNkcy10YWJcbiAgICAgICAgW2FjdGl2ZV09XCJhY3RpdmVUYWIoKSA9PT0gJGluZGV4XCJcbiAgICAgICAgW2hlYWRpbmddPVwiY29sdW1uSGVhZGluZ1wiXG4gICAgICAgIFtjb250ZXh0XT1cIntpbmRleDogJGluZGV4LCBjb3VudDogJGNvdW50fVwiXG4gICAgICAgIChzZWxlY3RlZCk9XCJvblRhYlNlbGVjdGVkKCRpbmRleClcIlxuICAgICAgPlxuICAgICAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW5cbiAgICAgICAgICAqbmdJZj1cImFjdGl2ZVRhYigpID09PSAkaW5kZXhcIlxuICAgICAgICAgIFtjb2x1bW5EYXRhXT1cInNlbGVjdGVkV2lkZ2V0Q29udGVudCgpPy5bJGluZGV4XVwiXG4gICAgICAgICAgKGNvbHVtblVwZGF0ZUV2ZW50KT1cIm9uQ29sdW1uVXBkYXRlRXZlbnQoJGV2ZW50LCAkaW5kZXgpXCJcbiAgICAgICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW4+XG4gICAgICA8L2Nkcy10YWI+XG4gICAgfVxuICAgIDxjZHMtdGFiXG4gICAgICAqbmdJZj1cImNvbHVtbnMoKS5sZW5ndGggPCB3aWRnZXRXaWR0aFwiXG4gICAgICBbaGVhZGluZ109XCJhZGRDb2x1bW5cIlxuICAgICAgW2lkXT1cIidhZGRDb2x1bW4nXCJcbiAgICAgIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkX19hZGRcIlxuICAgID48L2Nkcy10YWI+XG4gIDwvY2RzLXRhYnM+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNhZGRDb2x1bW4+XG4gIDxidXR0b25cbiAgICBjZHNCdXR0b249XCJnaG9zdFwiXG4gICAgW2ljb25Pbmx5XT1cInRydWVcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7IG9uQWRkQ29sdW1uQ2xpY2soKVwiXG4gID5cbiAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwiYWRkXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gIDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb2x1bW5IZWFkaW5nIGxldC1kYXRhPlxuICA8ZGl2IGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkX19oZWFkaW5nXCI+XG4gICAge3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC5jb2x1bW4nIHwgdHJhbnNsYXRlOiB7bnVtYmVyOiBkYXRhLmluZGV4ICsgMX0gfX1cblxuICAgIDxidXR0b25cbiAgICAgIGNkc0J1dHRvbj1cImdob3N0XCJcbiAgICAgIFtkaXNhYmxlZF09XCJkYXRhLmNvdW50ID09PSAxXCJcbiAgICAgIFtpY29uT25seV09XCJ0cnVlXCJcbiAgICAgIHNpemU9XCJzbVwiXG4gICAgICAoY2xpY2spPVwib25EZWxldGVDb2x1bW5DbGljayhkYXRhLmluZGV4KVwiXG4gICAgPlxuICAgICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cImNsb3NlXCIgc2l6ZT1cIjE2XCI+PC9zdmc+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9maWVsZHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9maWVsZHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixXQUFXLEVBR1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBYyxtQkFBbUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUNMLFlBQVksRUFFWixrQkFBa0IsRUFDbEIsZ0JBQWdCLEdBQ2pCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUMsTUFBTSwy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QUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTzthQUMvRSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQzsrR0ExSFUsc0NBQXNDO21HQUF0QyxzQ0FBc0Msa05BS3RDLEdBQUcsZ0RDcEVoQixzeUZBc0ZBLGdzQ0RsQ0ksWUFBWSx1TEFDWixlQUFlLDJGQUNmLFdBQVcsMmFBQ1gsVUFBVSwrYkFDVixVQUFVLDROQUNWLG1CQUFtQiw0OEJBQ25CLFlBQVksaU1BQ1osNENBQTRDLDRMQUM1QyxnQkFBZ0I7OzRGQUdQLHNDQUFzQztrQkFsQmxELFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsVUFBVTt3QkFDVixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWiw0Q0FBNEM7d0JBQzVDLGdCQUFnQjtxQkFDakI7Z0pBS3FDLEtBQUs7c0JBQTFDLFdBQVc7dUJBQUMsT0FBTztnQkFDTSxnQkFBZ0I7c0JBQXpDLE1BQU07Z0JBQzBCLElBQUk7c0JBQXBDLFNBQVM7dUJBQUMsR0FBRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ0FSQk9OX1RIRU1FLFxuICBDZHNUaGVtZVNlcnZpY2UsXG4gIEN1cnJlbnRDYXJib25UaGVtZSxcbiAgSW5wdXRMYWJlbE1vZHVsZSxcbn0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge0ZpZWxkc0Nhc2VXaWRnZXRWYWx1ZSwgV2lkZ2V0RmllbGRzQ29udGVudH0gZnJvbSAnQHZhbHRpbW8vZG9zc2llcic7XG5pbXBvcnQge0J1dHRvbk1vZHVsZSwgSWNvbk1vZHVsZSwgSW5wdXRNb2R1bGUsIFRhYiwgVGFic01vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgbWFwLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXaWRnZXRDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXaWRnZXRXaXphcmRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge0Rvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0RmllbGRzQ29sdW1uQ29tcG9uZW50fSBmcm9tICcuL2NvbHVtbi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgRG9zc2llck1hbmFnZW1lbnRXaWRnZXRGaWVsZHNDb2x1bW5Db21wb25lbnQsXG4gICAgSW5wdXRMYWJlbE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llck1hbmFnZW1lbnRXaWRnZXRGaWVsZHNDb21wb25lbnRcbiAgaW1wbGVtZW50cyBXaWRnZXRDb250ZW50Q29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdFxue1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHVibGljIHJlYWRvbmx5IGNsYXNzID0gJ3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZCc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlVmFsaWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQFZpZXdDaGlsZChUYWIpIHByaXZhdGUgcmVhZG9ubHkgX3RhYjogVGFiO1xuXG4gIHB1YmxpYyBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgd2lkZ2V0VGl0bGU6IHRoaXMuZmIuY29udHJvbCh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0VGl0bGUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb2x1bW5zID0gc2lnbmFsPG51bGxbXT4oW251bGxdKTtcbiAgcHVibGljIHJlYWRvbmx5IHdpZGdldFdpZHRoID0gdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFdpZHRoKCk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFRhYkluZGV4ID0gLTE7XG4gIHB1YmxpYyByZWFkb25seSB0aGVtZSQgPSB0aGlzLmNkc1RoZW1lU2VydmljZS5jdXJyZW50VGhlbWUkLnBpcGUoXG4gICAgbWFwKCh0aGVtZTogQ3VycmVudENhcmJvblRoZW1lKSA9PlxuICAgICAgdGhlbWUgPT09IEN1cnJlbnRDYXJib25UaGVtZS5HMTAgPyBDQVJCT05fVEhFTUUuV0hJVEUgOiBDQVJCT05fVEhFTUUuRzkwXG4gICAgKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRXaWRnZXRDb250ZW50ID0gY29tcHV0ZWQoKCkgPT5cbiAgICAodGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQoKSBhcyBXaWRnZXRGaWVsZHNDb250ZW50KT8uY29sdW1ucy5yZWR1Y2UoXG4gICAgICAoYWNjLCBjdXJyLCBpbmRleCkgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbaW5kZXhdOiBjdXJyLFxuICAgICAgfSksXG4gICAgICB7fVxuICAgIClcbiAgKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZVRhYiA9IHNpZ25hbDxudW1iZXI+KDApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRWYWxpZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHNUaGVtZVNlcnZpY2U6IENkc1RoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMTAwKSkuc3Vic2NyaWJlKGZvcm1WYWx1ZSA9PiB7XG4gICAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRUaXRsZS5zZXQoZm9ybVZhbHVlLndpZGdldFRpdGxlID8/ICcnKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQodGhpcy5mb3JtLnZhbGlkICYmIHRoaXMuX2NvbnRlbnRWYWxpZCgpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICBjb25zdCB3aWRnZXRDb250ZW50ID0gKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50KCkgYXMgV2lkZ2V0RmllbGRzQ29udGVudClcbiAgICAgID8uY29sdW1ucztcbiAgICBpZiAoIXdpZGdldENvbnRlbnQpIHJldHVybjtcblxuICAgIHRoaXMuY29sdW1ucy5zZXQoT2JqZWN0LmtleXMod2lkZ2V0Q29udGVudCkubWFwKCgpID0+IG51bGwpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdGFiLnRhYkluZGV4ID0gLTE7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuY2hhbmdlVmFsaWRFdmVudC5lbWl0KGZhbHNlKTtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLl9jb250ZW50VmFsaWQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkFkZENvbHVtbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1ucy51cGRhdGUodmFsdWUgPT4gWy4uLnZhbHVlLCBudWxsXSk7XG4gICAgdGhpcy5hY3RpdmVUYWIuc2V0KHRoaXMuY29sdW1ucygpLmxlbmd0aCAtIDEpO1xuICAgIHRoaXMuY2hhbmdlVmFsaWRFdmVudC5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRhYlNlbGVjdGVkKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZVRhYi5zZXQoaW5kZXgpO1xuICB9XG5cbiAgcHVibGljIG9uRGVsZXRlQ29sdW1uQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50LnVwZGF0ZShjb250ZW50ID0+IHtcbiAgICAgIGlmICghY29udGVudCkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHdpZGdldENvbnRlbnQgPSBjb250ZW50IGFzIFdpZGdldEZpZWxkc0NvbnRlbnQ7XG5cbiAgICAgIGxldCB0ZW1wSW5kZXggPSBpbmRleDtcbiAgICAgIGxldCB0ZW1wQ29udGVudCA9IHsuLi53aWRnZXRDb250ZW50fTtcbiAgICAgIHdoaWxlICh0ZW1wSW5kZXggPCB0aGlzLmNvbHVtbnMoKS5sZW5ndGggLSAxKSB7XG4gICAgICAgIHRlbXBDb250ZW50LmNvbHVtbnNbdGVtcEluZGV4XSA9IHRlbXBDb250ZW50LmNvbHVtbnNbdGVtcEluZGV4ICsgMV07XG4gICAgICAgIHRlbXBJbmRleCsrO1xuICAgICAgfVxuICAgICAgdGVtcENvbnRlbnQuY29sdW1ucy5zcGxpY2UodGVtcEluZGV4LCAxKTtcblxuICAgICAgcmV0dXJuIHRlbXBDb250ZW50O1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb2x1bW5zLnVwZGF0ZSgoY29sdW1uczogbnVsbFtdKSA9PiB7XG4gICAgICBjb25zdCB0ZW1wID0gY29sdW1ucztcbiAgICAgIHRlbXAuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgcmV0dXJuIHRlbXA7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5hY3RpdmVUYWIoKSAhPT0gaW5kZXgpIHJldHVybjtcblxuICAgIHRoaXMuYWN0aXZlVGFiLnNldCgtMSk7XG4gIH1cblxuICBwdWJsaWMgb25Db2x1bW5VcGRhdGVFdmVudChcbiAgICBldmVudDoge1xuICAgICAgZGF0YTogRmllbGRzQ2FzZVdpZGdldFZhbHVlW107XG4gICAgICB2YWxpZDogYm9vbGVhbjtcbiAgICB9LFxuICAgIGNvbHVtbkluZGV4OiBudW1iZXJcbiAgKTogdm9pZCB7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKGNvbnRlbnQgPT4ge1xuICAgICAgaWYgKCFjb250ZW50KSByZXR1cm4ge2NvbHVtbnM6IFtldmVudC5kYXRhXX07XG5cbiAgICAgIGNvbnN0IGNvbHVtbnMgPSAoY29udGVudCBhcyBXaWRnZXRGaWVsZHNDb250ZW50KT8uY29sdW1ucy5tYXAoKGNvbHVtbiwgaW5kZXgpID0+XG4gICAgICAgIGluZGV4ID09PSBjb2x1bW5JbmRleCA/IGV2ZW50LmRhdGEgOiBjb2x1bW5cbiAgICAgICk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb2x1bW5zOiBjb2x1bW5JbmRleCA+IGNvbHVtbnMubGVuZ3RoIC0gMSA/IFsuLi5jb2x1bW5zLCBldmVudC5kYXRhXSA6IGNvbHVtbnMsXG4gICAgICB9O1xuICAgIH0pO1xuICAgIHRoaXMuX2NvbnRlbnRWYWxpZC5zZXQoZXZlbnQudmFsaWQpO1xuICAgIHRoaXMuY2hhbmdlVmFsaWRFdmVudC5lbWl0KGV2ZW50LnZhbGlkICYmIHRoaXMuZm9ybS52YWxpZCk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHA+e3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC5kZXNjcmlwdGlvbicgfCB0cmFuc2xhdGUgfX08L3A+XG5cbjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICA8Y2RzLXRleHQtbGFiZWxcbiAgICBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJ0aGVtZSQgfCBhc3luY1wiXG4gICAgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRfX2lucHV0XCJcbiAgPlxuICAgIDx2LWlucHV0LWxhYmVsXG4gICAgICBbdGl0bGVdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC53aWRnZXRUaXRsZScgfCB0cmFuc2xhdGVcIlxuICAgICAgW3Rvb2x0aXBdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC53aWRnZXRUaXRsZVRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgPGlucHV0XG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJ3aWRnZXRUaXRsZVwiXG4gICAgICBjZHNUZXh0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC53aWRnZXRUaXRsZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgPC9jZHMtdGV4dC1sYWJlbD5cbjwvZm9ybT5cblxuPGNkcy10YWJzIHR5cGU9XCJjb250YWluZWRcIj5cbiAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnMoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPGNkcy10YWJcbiAgICAgIFthY3RpdmVdPVwiYWN0aXZlVGFiKCkgPT09ICRpbmRleFwiXG4gICAgICBbaGVhZGluZ109XCJjb2x1bW5IZWFkaW5nXCJcbiAgICAgIFtjb250ZXh0XT1cIntpbmRleDogJGluZGV4LCBjb3VudDogJGNvdW50fVwiXG4gICAgICAoc2VsZWN0ZWQpPVwib25UYWJTZWxlY3RlZCgkaW5kZXgpXCJcbiAgICA+XG4gICAgICA8dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW5cbiAgICAgICAgKm5nSWY9XCJhY3RpdmVUYWIoKSA9PT0gJGluZGV4XCJcbiAgICAgICAgW2NvbHVtbkRhdGFdPVwic2VsZWN0ZWRXaWRnZXRDb250ZW50KCk/LlskaW5kZXhdXCJcbiAgICAgICAgKGNvbHVtblVwZGF0ZUV2ZW50KT1cIm9uQ29sdW1uVXBkYXRlRXZlbnQoJGV2ZW50LCAkaW5kZXgpXCJcbiAgICAgID48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMtY29sdW1uPlxuICAgIDwvY2RzLXRhYj5cbiAgfVxuICA8Y2RzLXRhYlxuICAgICpuZ0lmPVwiY29sdW1ucygpLmxlbmd0aCA8IHdpZGdldFdpZHRoXCJcbiAgICBbaGVhZGluZ109XCJhZGRDb2x1bW5cIlxuICAgIFtpZF09XCInYWRkQ29sdW1uJ1wiXG4gICAgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRfX2FkZFwiXG4gID48L2Nkcy10YWI+XG48L2Nkcy10YWJzPlxuXG48bmctdGVtcGxhdGUgI2FkZENvbHVtbj5cbiAgPGJ1dHRvblxuICAgIGNkc0J1dHRvbj1cImdob3N0XCJcbiAgICBbaWNvbk9ubHldPVwidHJ1ZVwiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsgb25BZGRDb2x1bW5DbGljaygpXCJcbiAgPlxuICAgIDxzdmcgY2xhc3M9XCJjZHMtLWJ0bl9faWNvblwiIGNkc0ljb249XCJhZGRcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbHVtbkhlYWRpbmcgbGV0LWRhdGE+XG4gIDxkaXYgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRfX2hlYWRpbmdcIj5cbiAgICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LmNvbHVtbicgfCB0cmFuc2xhdGU6IHtudW1iZXI6IGRhdGEuaW5kZXggKyAxfSB9fVxuXG4gICAgPGJ1dHRvblxuICAgICAgY2RzQnV0dG9uPVwiZ2hvc3RcIlxuICAgICAgW2Rpc2FibGVkXT1cImRhdGEuY291bnQgPT09IDFcIlxuICAgICAgW2ljb25Pbmx5XT1cInRydWVcIlxuICAgICAgc2l6ZT1cInNtXCJcbiAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNvbHVtbkNsaWNrKGRhdGEuaW5kZXgpXCJcbiAgICA+XG4gICAgICA8c3ZnIGNsYXNzPVwiY2RzLS1idG5fX2ljb25cIiBjZHNJY29uPVwiY2xvc2VcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -88,10 +88,10 @@ export class DossierManagementWidgetFormioComponent {
88
88
  this._selectedFormDefinitionId$.next(formDefinitionId);
89
89
  this.changeValidEvent.emit(true);
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetFormioComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }, { token: i4.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementWidgetFormioComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n class=\"valtimo-dossier-management-widget-formio\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <cds-text-label class=\"valtimo-dossier-management-widget-field__input\">\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.formio.selectForm' | translate }}\n\n <cds-dropdown\n *ngIf=\"formListItems$ | async as formListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.formio.placeholder' | translate\"\n [disabled]=\"formListItems.length === 0\"\n [dropUp]=\"false\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"formListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n</form>\n", styles: [".valtimo-dossier-management-widget-formio{display:flex;flex-direction:column}.valtimo-dossier-management-widget-formio>*:first-child{margin-bottom:16px}.valtimo-dossier-management-widget-formio ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-dossier-management-widget-formio ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i7.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i7.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i7.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetFormioComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }, { token: i4.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementWidgetFormioComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n class=\"valtimo-dossier-management-widget-formio\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <cds-text-label class=\"valtimo-dossier-management-widget-field__input\">\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.formio.selectForm' | translate }}\n\n <cds-dropdown\n *ngIf=\"formListItems$ | async as formListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.formio.placeholder' | translate\"\n [disabled]=\"formListItems.length === 0\"\n [dropUp]=\"false\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"formListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n</form>\n", styles: [".valtimo-dossier-management-widget-formio{display:flex;flex-direction:column}.valtimo-dossier-management-widget-formio>*:first-child{margin-bottom:16px}.valtimo-dossier-management-widget-formio ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-dossier-management-widget-formio ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i7.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i7.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i7.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "hideLabel", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetFormioComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetFormioComponent, decorators: [{
95
95
  type: Component,
96
96
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
97
97
  CommonModule,
@@ -104,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
104
104
  }], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i2.FormBuilder }, { type: i3.WidgetWizardService }, { type: i4.FormService }], propDecorators: { changeValidEvent: [{
105
105
  type: Output
106
106
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9mb3JtaW8vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9mb3JtaW8vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQStCLG1CQUFtQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFtQixrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3RGLE9BQU8sRUFBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXBGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFB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QVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE9BQU87UUFDYixNQUFNLGdCQUFnQixHQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQTBCO1lBQ3hGLEVBQUUsa0JBQWtCLENBQUM7UUFFdkIsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs4R0EzRlUsc0NBQXNDO2tHQUF0QyxzQ0FBc0MsMkhDakRuRCw0cURBK0NBLHlpQ0ROSSxZQUFZLHVMQUNaLGVBQWUsMkZBQ2YsV0FBVywrbUJBQ1gsbUJBQW1CLDQ4QkFDbkIsWUFBWSw4QkFDWixjQUFjOzsyRkFHTCxzQ0FBc0M7a0JBZGxELFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGNBQWM7cUJBQ2Y7MEtBS3lCLGdCQUFnQjtzQkFBekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX1RIRU1FLCBDZHNUaGVtZVNlcnZpY2UsIEN1cnJlbnRDYXJib25UaGVtZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1dpZGdldEZvcm1pb0NvbnRlbnR9IGZyb20gJ0B2YWx0aW1vL2Rvc3NpZXInO1xuaW1wb3J0IHtGb3JtRGVmaW5pdGlvbk9wdGlvbiwgRm9ybVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZSwgSW5wdXRNb2R1bGUsIFNlbGVjdE1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0xpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2Ryb3Bkb3duL2xpc3QtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXaWRnZXRDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXaWRnZXRXaXphcmRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZvcm1pby5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0Rm9ybWlvQ29tcG9uZW50XG4gIGltcGxlbWVudHMgV2lkZ2V0Q29udGVudENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjaGFuZ2VWYWxpZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgd2lkZ2V0VGl0bGU6IHRoaXMuZmIuY29udHJvbCh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0VGl0bGUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gIH0pO1xuXG4gIHB1YmxpYyBnZXQgd2lkZ2V0VGl0bGUoKTogQWJzdHJhY3RDb250cm9sPHN0cmluZyB8IG51bGw+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3dpZGdldFRpdGxlJyk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWUkID0gdGhpcy5jZHNUaGVtZVNlcnZpY2UuY3VycmVudFRoZW1lJC5waXBlKFxuICAgIG1hcCgodGhlbWU6IEN1cnJlbnRDYXJib25UaGVtZSkgPT5cbiAgICAgIHRoZW1lID09PSBDdXJyZW50Q2FyYm9uVGhlbWUuRzEwID8gQ0FSQk9OX1RIRU1FLldISVRFIDogQ0FSQk9OX1RIRU1FLkc5MFxuICAgIClcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mb3JtRGVmaW5pdGlvbk9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRGVmaW5pdGlvbk9wdGlvbltdPihbXSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1MaXN0SXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fZm9ybURlZmluaXRpb25PcHRpb25zJCxcbiAgICB0aGlzLl9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkLFxuICBdKS5waXBlKFxuICAgIGZpbHRlcigoW29wdGlvbnNdKSA9PiAhIW9wdGlvbnMpLFxuICAgIG1hcCgoW29wdGlvbnMsIHNlbGVjdGVkRm9ybUlkXSkgPT5cbiAgICAgIG9wdGlvbnMubWFwKG9wdGlvbiA9PiAoe1xuICAgICAgICBjb250ZW50OiBvcHRpb24ubmFtZSxcbiAgICAgICAgaWQ6IG9wdGlvbi5uYW1lLFxuICAgICAgICBzZWxlY3RlZDogb3B0aW9uLm5hbWUgPT09IHNlbGVjdGVkRm9ybUlkLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHNUaGVtZVNlcnZpY2U6IENkc1RoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBjb21wb25lbnREcm9wRG93bkNoYW5nZShldmVudDoge1xuICAgIGl0ZW06IHtpZDogc3RyaW5nOyBzZWxlY3RlZDogYm9vbGVhbn07XG4gICAgaXNVcGRhdGU6IGJvb2xlYW47XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtRGVmaW5pdGlvbklkID0gZXZlbnQ/Lml0ZW0/LmlkO1xuXG4gICAgaWYgKCFmb3JtRGVmaW5pdGlvbklkKSByZXR1cm47XG5cbiAgICB0aGlzLl9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkLm5leHQoZm9ybURlZmluaXRpb25JZCk7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQuc2V0KHtmb3JtRGVmaW5pdGlvbk5hbWU6IGZvcm1EZWZpbml0aW9uSWR9KTtcbiAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZldGNoRm9ybURlZmluaXRpb24oKTtcbiAgICB0aGlzLm9wZW5UaXRsZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMucHJlZmlsbCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblRpdGxlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy53aWRnZXRUaXRsZT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh0aXRsZSA9PiB7XG4gICAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRUaXRsZS5zZXQodGl0bGUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEZvcm1EZWZpbml0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVNlcnZpY2UuZ2V0QWxsRm9ybURlZmluaXRpb25zKCkuc3Vic2NyaWJlKGRlZmluaXRpb25zID0+IHtcbiAgICAgIHRoaXMuX2Zvcm1EZWZpbml0aW9uT3B0aW9ucyQubmV4dChkZWZpbml0aW9ucyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpbGwoKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybURlZmluaXRpb25JZCA9ICh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpIGFzIFdpZGdldEZvcm1pb0NvbnRlbnQpXG4gICAgICA/LmZvcm1EZWZpbml0aW9uTmFtZTtcblxuICAgIGlmICghZm9ybURlZmluaXRpb25JZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbklkJC5uZXh0KGZvcm1EZWZpbml0aW9uSWQpO1xuICAgIHRoaXMuY2hhbmdlVmFsaWRFdmVudC5lbWl0KHRydWUpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtXG4gIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZvcm1pb1wiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIFthdHRyLmRhdGEtY2FyYm9uLXRoZW1lXT1cInRoZW1lJCB8IGFzeW5jXCJcbj5cbiAgPGNkcy10ZXh0LWxhYmVsIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkX19pbnB1dFwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQud2lkZ2V0VGl0bGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIndpZGdldFRpdGxlXCJcbiAgICAgIGNkc1RleHRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gIDxjZHMtbGFiZWwgY2xhc3M9XCJkcm9wZG93bi1sYWJlbFwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQuZm9ybWlvLnNlbGVjdEZvcm0nIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAqbmdJZj1cImZvcm1MaXN0SXRlbXMkIHwgYXN5bmMgYXMgZm9ybUxpc3RJdGVtc1wiXG4gICAgICBbYXBwZW5kSW5saW5lXT1cImZhbHNlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LmZvcm1pby5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rpc2FibGVkXT1cImZvcm1MaXN0SXRlbXMubGVuZ3RoID09PSAwXCJcbiAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgKHNlbGVjdGVkKT1cImNvbXBvbmVudERyb3BEb3duQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwiZm9ybUxpc3RJdGVtc1wiPiA8L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgIDwvY2RzLWRyb3Bkb3duPlxuICA8L2Nkcy1sYWJlbD5cbjwvZm9ybT5cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9mb3JtaW8vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9mb3JtaW8vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQStCLG1CQUFtQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFtQixrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3RGLE9BQU8sRUFBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXBGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFB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QVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE9BQU87UUFDYixNQUFNLGdCQUFnQixHQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQTBCO1lBQ3hGLEVBQUUsa0JBQWtCLENBQUM7UUFFdkIsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0EzRlUsc0NBQXNDO21HQUF0QyxzQ0FBc0MsMkhDakRuRCw0cURBK0NBLHlpQ0ROSSxZQUFZLHVMQUNaLGVBQWUsMkZBQ2YsV0FBVywrbUJBQ1gsbUJBQW1CLDQ4QkFDbkIsWUFBWSw4QkFDWixjQUFjOzs0RkFHTCxzQ0FBc0M7a0JBZGxELFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGNBQWM7cUJBQ2Y7MEtBS3lCLGdCQUFnQjtzQkFBekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX1RIRU1FLCBDZHNUaGVtZVNlcnZpY2UsIEN1cnJlbnRDYXJib25UaGVtZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1dpZGdldEZvcm1pb0NvbnRlbnR9IGZyb20gJ0B2YWx0aW1vL2Rvc3NpZXInO1xuaW1wb3J0IHtGb3JtRGVmaW5pdGlvbk9wdGlvbiwgRm9ybVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZSwgSW5wdXRNb2R1bGUsIFNlbGVjdE1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0xpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2Ryb3Bkb3duL2xpc3QtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXaWRnZXRDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXaWRnZXRXaXphcmRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZvcm1pby5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0Rm9ybWlvQ29tcG9uZW50XG4gIGltcGxlbWVudHMgV2lkZ2V0Q29udGVudENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjaGFuZ2VWYWxpZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgd2lkZ2V0VGl0bGU6IHRoaXMuZmIuY29udHJvbCh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0VGl0bGUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gIH0pO1xuXG4gIHB1YmxpYyBnZXQgd2lkZ2V0VGl0bGUoKTogQWJzdHJhY3RDb250cm9sPHN0cmluZyB8IG51bGw+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3dpZGdldFRpdGxlJyk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWUkID0gdGhpcy5jZHNUaGVtZVNlcnZpY2UuY3VycmVudFRoZW1lJC5waXBlKFxuICAgIG1hcCgodGhlbWU6IEN1cnJlbnRDYXJib25UaGVtZSkgPT5cbiAgICAgIHRoZW1lID09PSBDdXJyZW50Q2FyYm9uVGhlbWUuRzEwID8gQ0FSQk9OX1RIRU1FLldISVRFIDogQ0FSQk9OX1RIRU1FLkc5MFxuICAgIClcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mb3JtRGVmaW5pdGlvbk9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRGVmaW5pdGlvbk9wdGlvbltdPihbXSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1MaXN0SXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fZm9ybURlZmluaXRpb25PcHRpb25zJCxcbiAgICB0aGlzLl9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkLFxuICBdKS5waXBlKFxuICAgIGZpbHRlcigoW29wdGlvbnNdKSA9PiAhIW9wdGlvbnMpLFxuICAgIG1hcCgoW29wdGlvbnMsIHNlbGVjdGVkRm9ybUlkXSkgPT5cbiAgICAgIG9wdGlvbnMubWFwKG9wdGlvbiA9PiAoe1xuICAgICAgICBjb250ZW50OiBvcHRpb24ubmFtZSxcbiAgICAgICAgaWQ6IG9wdGlvbi5uYW1lLFxuICAgICAgICBzZWxlY3RlZDogb3B0aW9uLm5hbWUgPT09IHNlbGVjdGVkRm9ybUlkLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHNUaGVtZVNlcnZpY2U6IENkc1RoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBjb21wb25lbnREcm9wRG93bkNoYW5nZShldmVudDoge1xuICAgIGl0ZW06IHtpZDogc3RyaW5nOyBzZWxlY3RlZDogYm9vbGVhbn07XG4gICAgaXNVcGRhdGU6IGJvb2xlYW47XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtRGVmaW5pdGlvbklkID0gZXZlbnQ/Lml0ZW0/LmlkO1xuXG4gICAgaWYgKCFmb3JtRGVmaW5pdGlvbklkKSByZXR1cm47XG5cbiAgICB0aGlzLl9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkLm5leHQoZm9ybURlZmluaXRpb25JZCk7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQuc2V0KHtmb3JtRGVmaW5pdGlvbk5hbWU6IGZvcm1EZWZpbml0aW9uSWR9KTtcbiAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZldGNoRm9ybURlZmluaXRpb24oKTtcbiAgICB0aGlzLm9wZW5UaXRsZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMucHJlZmlsbCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblRpdGxlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy53aWRnZXRUaXRsZT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh0aXRsZSA9PiB7XG4gICAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRUaXRsZS5zZXQodGl0bGUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEZvcm1EZWZpbml0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVNlcnZpY2UuZ2V0QWxsRm9ybURlZmluaXRpb25zKCkuc3Vic2NyaWJlKGRlZmluaXRpb25zID0+IHtcbiAgICAgIHRoaXMuX2Zvcm1EZWZpbml0aW9uT3B0aW9ucyQubmV4dChkZWZpbml0aW9ucyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpbGwoKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybURlZmluaXRpb25JZCA9ICh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpIGFzIFdpZGdldEZvcm1pb0NvbnRlbnQpXG4gICAgICA/LmZvcm1EZWZpbml0aW9uTmFtZTtcblxuICAgIGlmICghZm9ybURlZmluaXRpb25JZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbklkJC5uZXh0KGZvcm1EZWZpbml0aW9uSWQpO1xuICAgIHRoaXMuY2hhbmdlVmFsaWRFdmVudC5lbWl0KHRydWUpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtXG4gIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZvcm1pb1wiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIFthdHRyLmRhdGEtY2FyYm9uLXRoZW1lXT1cInRoZW1lJCB8IGFzeW5jXCJcbj5cbiAgPGNkcy10ZXh0LWxhYmVsIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkX19pbnB1dFwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQud2lkZ2V0VGl0bGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIndpZGdldFRpdGxlXCJcbiAgICAgIGNkc1RleHRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gIDxjZHMtbGFiZWwgY2xhc3M9XCJkcm9wZG93bi1sYWJlbFwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQuZm9ybWlvLnNlbGVjdEZvcm0nIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAqbmdJZj1cImZvcm1MaXN0SXRlbXMkIHwgYXN5bmMgYXMgZm9ybUxpc3RJdGVtc1wiXG4gICAgICBbYXBwZW5kSW5saW5lXT1cImZhbHNlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LmZvcm1pby5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rpc2FibGVkXT1cImZvcm1MaXN0SXRlbXMubGVuZ3RoID09PSAwXCJcbiAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgKHNlbGVjdGVkKT1cImNvbXBvbmVudERyb3BEb3duQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwiZm9ybUxpc3RJdGVtc1wiPiA8L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgIDwvY2RzLWRyb3Bkb3duPlxuICA8L2Nkcy1sYWJlbD5cbjwvZm9ybT5cbiJdfQ==
@@ -17,7 +17,7 @@ import { CommonModule } from '@angular/common';
17
17
  import { ChangeDetectionStrategy, Component, computed, EventEmitter, HostBinding, Output, signal, ViewEncapsulation, } from '@angular/core';
18
18
  import { ReactiveFormsModule, Validators } from '@angular/forms';
19
19
  import { TranslateModule } from '@ngx-translate/core';
20
- import { CARBON_THEME, CurrentCarbonTheme } from '@valtimo/components';
20
+ import { CARBON_THEME, CurrentCarbonTheme, InputLabelModule, } from '@valtimo/components';
21
21
  import { ButtonModule, InputModule, ToggleModule } from 'carbon-components-angular';
22
22
  import { debounceTime, map, Subscription } from 'rxjs';
23
23
  import { DossierManagementWidgetFieldsColumnComponent } from '../fields/column/dossier-management-widget-fields-column.component';
@@ -73,10 +73,10 @@ export class DossierManagementWidgetTableComponent {
73
73
  onCheckedChange(firstColumnAsTitle) {
74
74
  this.widgetWizardService.widgetContent.update((content) => ({ ...content, firstColumnAsTitle }));
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetTableComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementWidgetTableComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.table.defaultPageSize' | translate }}\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.table.collection' | translate }}\n\n <input\n formControlName=\"collection\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.collectionPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:flex;gap:16px}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: DossierManagementWidgetFieldsColumnComponent, selector: "valtimo-dossier-management-widget-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i6.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetTableComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DossierManagementWidgetTableComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.collectionTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"collection\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.collectionPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:flex;gap:16px}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: DossierManagementWidgetFieldsColumnComponent, selector: "valtimo-dossier-management-widget-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i6.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: InputLabelModule }, { kind: "component", type: i1.InputLabelComponent, selector: "v-input-label", inputs: ["name", "tooltip", "largeMargin", "small", "noMargin", "title", "titleTranslationKey", "required", "disabled", "carbonTheme"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetTableComponent, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DossierManagementWidgetTableComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, encapsulation: ViewEncapsulation.None, imports: [
82
82
  CommonModule,
@@ -86,11 +86,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
86
86
  InputModule,
87
87
  ToggleModule,
88
88
  ButtonModule,
89
- ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.table.defaultPageSize' | translate }}\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.table.collection' | translate }}\n\n <input\n formControlName=\"collection\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.collectionPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:flex;gap:16px}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
89
+ InputLabelModule,
90
+ ], template: "<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.widgetTitle' | translate\"\n [tooltip]=\"'widgetTabManagement.content.widgetTitleTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.defaultPageSize' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.defaultPageSizeTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n <v-input-label\n [title]=\"'widgetTabManagement.content.table.collection' | translate\"\n [tooltip]=\"'widgetTabManagement.content.table.collectionTooltip' | translate\"\n >\n </v-input-label>\n\n <input\n formControlName=\"collection\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.collectionPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:flex;gap:16px}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}\n/*!\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n"] }]
90
91
  }], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i2.FormBuilder }, { type: i3.WidgetWizardService }], propDecorators: { class: [{
91
92
  type: HostBinding,
92
93
  args: ['class']
93
94
  }], changeValidEvent: [{
94
95
  type: Output
95
96
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1jb25maWd1cmF0b3JzL3RhYmxlL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy90YWJsZS9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osV0FBVyxFQUdYLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQW1CLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdEYsT0FBTyxFQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQWMs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QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsNENBQTRDO3dCQUM1QyxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3FCQUNiO2dKQUtxQyxLQUFLO3NCQUExQyxXQUFXO3VCQUFDLE9BQU87Z0JBQ00sZ0JBQWdCO3NCQUF6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDQVJCT05fVEhFTUUsIENkc1RoZW1lU2VydmljZSwgQ3VycmVudENhcmJvblRoZW1lfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RmllbGRzQ2FzZVdpZGdldFZhbHVlLCBXaWRnZXRDb250ZW50UHJvcGVydGllcywgV2lkZ2V0VGFibGVDb250ZW50fSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJbnB1dE1vZHVsZSwgVG9nZ2xlTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1dpZGdldENvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1dpZGdldFdpemFyZFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7RG9zc2llck1hbmFnZW1lbnRXaWRnZXRGaWVsZHNDb2x1bW5Db21wb25lbnR9IGZyb20gJy4uL2ZpZWxkcy9jb2x1bW4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMtY29sdW1uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0RmllbGRzQ29sdW1uQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgVG9nZ2xlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llck1hbmFnZW1lbnRXaWRnZXRUYWJsZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIFdpZGdldENvbnRlbnRDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBwdWJsaWMgcmVhZG9ubHkgY2xhc3MgPSAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlJztcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjaGFuZ2VWYWxpZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICB0aXRsZTogdGhpcy5mYi5jb250cm9sPHN0cmluZz4oXG4gICAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0VGl0bGUoKSA/PyAnJyxcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICApLFxuICAgIGNvbGxlY3Rpb246IHRoaXMuZmIuY29udHJvbDxzdHJpbmc+KFxuICAgICAgKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50KCkgYXMgV2lkZ2V0VGFibGVDb250ZW50KT8uY29sbGVjdGlvbiA/PyAnJyxcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICApLFxuICAgIGRlZmF1bHRQYWdlU2l6ZTogdGhpcy5mYi5jb250cm9sPG51bWJlcj4oXG4gICAgICAodGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQoKSBhcyBXaWRnZXRUYWJsZUNvbnRlbnQpPy5kZWZhdWx0UGFnZVNpemUgPz8gNSxcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICApLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWUkOiBPYnNlcnZhYmxlPENBUkJPTl9USEVNRT4gPSB0aGlzLmNkc1RoZW1lU2VydmljZS5jdXJyZW50VGhlbWUkLnBpcGUoXG4gICAgbWFwKChjdXJyZW50VGhlbWU6IEN1cnJlbnRDYXJib25UaGVtZSkgPT5cbiAgICAgIGN1cnJlbnRUaGVtZSA9PT0gQ3VycmVudENhcmJvblRoZW1lLkcxMCA/IENBUkJPTl9USEVNRS5XSElURSA6IENBUkJPTl9USEVNRS5HOTBcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnQgPSB0aGlzLndpZGdldFdpemFyZFNlcnZpY2VcbiAgICAud2lkZ2V0Q29udGVudCBhcyBXcml0YWJsZVNpZ25hbDxXaWRnZXRUYWJsZUNvbnRlbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tlZCA9IGNvbXB1dGVkKFxuICAgICgpID0+XG4gICAgICAodGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQoKSBhcyBXaWRnZXRUYWJsZUNvbnRlbnQpPy5maXJzdENvbHVtbkFzVGl0bGUgfHwgZmFsc2VcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGVudFZhbGlkID0gc2lnbmFsPGJvb2xlYW4+KHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5lZGl0TW9kZSgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkc1RoZW1lU2VydmljZTogQ2RzVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0V2l6YXJkU2VydmljZTogV2lkZ2V0V2l6YXJkU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0VGl0bGUuc2V0KHZhbHVlPy50aXRsZSA/PyAnJyk7XG5cbiAgICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKFxuICAgICAgICAgIChjb250ZW50OiBXaWRnZXRDb250ZW50UHJvcGVydGllcyB8IG51bGwpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAuLi5jb250ZW50LFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiB2YWx1ZT8uY29sbGVjdGlvbiB8fCAnJyxcbiAgICAgICAgICAgICAgZGVmYXVsdFBhZ2VTaXplOiB2YWx1ZT8uZGVmYXVsdFBhZ2VTaXplIHx8IDUsXG4gICAgICAgICAgICB9KSBhcyBXaWRnZXRUYWJsZUNvbnRlbnRcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdCh0aGlzLmZvcm0udmFsaWQgJiYgdGhpcy5fY29udGVudFZhbGlkKCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRWYWxpZC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdChmYWxzZSk7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Db2x1bW5VcGRhdGVFdmVudChldmVudDoge2RhdGE6IEZpZWxkc0Nhc2VXaWRnZXRWYWx1ZVtdOyB2YWxpZDogYm9vbGVhbn0pOiB2b2lkIHtcbiAgICBjb25zdCB7ZGF0YSwgdmFsaWR9ID0gZXZlbnQ7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKFxuICAgICAgKGNvbnRlbnQ6IFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzIHwgbnVsbCkgPT5cbiAgICAgICAgKHsuLi5jb250ZW50LCBjb2x1bW5zOiBkYXRhfSkgYXMgV2lkZ2V0VGFibGVDb250ZW50XG4gICAgKTtcbiAgICB0aGlzLl9jb250ZW50VmFsaWQuc2V0KHZhbGlkKTtcbiAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdCh2YWxpZCAmJiB0aGlzLmZvcm0udmFsaWQpO1xuICB9XG5cbiAgcHVibGljIG9uQ2hlY2tlZENoYW5nZShmaXJzdENvbHVtbkFzVGl0bGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudC51cGRhdGUoXG4gICAgICAoY29udGVudDogV2lkZ2V0Q29udGVudFByb3BlcnRpZXMgfCBudWxsKSA9PlxuICAgICAgICAoey4uLmNvbnRlbnQsIGZpcnN0Q29sdW1uQXNUaXRsZX0pIGFzIFdpZGdldFRhYmxlQ29udGVudFxuICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGZvcm1cbiAgKm5nSWY9XCJ7dGhlbWU6IHRoZW1lJCB8IGFzeW5jfSBhcyBvYnNcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZV9fZm9ybVwiXG4+XG4gIDxjZHMtdGV4dC1sYWJlbCBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJvYnMudGhlbWVcIj5cbiAgICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgPGlucHV0XG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiXG4gICAgICBjZHNUZXh0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC53aWRnZXRUaXRsZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgPC9jZHMtdGV4dC1sYWJlbD5cblxuICA8Y2RzLXRleHQtbGFiZWwgW2F0dHIuZGF0YS1jYXJib24tdGhlbWVdPVwib2JzLnRoZW1lXCI+XG4gICAge3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5kZWZhdWx0UGFnZVNpemUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlZmF1bHRQYWdlU2l6ZVwiXG4gICAgICBjZHNUZXh0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5kZWZhdWx0UGFnZVNpemVQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgIC8+XG4gIDwvY2RzLXRleHQtbGFiZWw+XG5cbiAgPGNkcy10ZXh0LWxhYmVsIFthdHRyLmRhdGEtY2FyYm9uLXRoZW1lXT1cIm9icy50aGVtZVwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sbGVjdGlvbicgfCB0cmFuc2xhdGUgfX1cblxuICAgIDxpbnB1dFxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sbGVjdGlvblwiXG4gICAgICBjZHNUZXh0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5jb2xsZWN0aW9uUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuPC9mb3JtPlxuXG48c3BhbiBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZV9fc3VidGl0bGVcIj5cbiAge3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5jb2x1bW5zJyB8IHRyYW5zbGF0ZSB9fVxuPC9zcGFuPlxuXG48dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW5cbiAgW2FkZFRyYW5zbGF0ZUtleV09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmFkZENvbHVtbidcIlxuICBbY29sdW1uRGF0YV09XCJjb250ZW50KCk/LmNvbHVtbnNcIlxuICAoY29sdW1uVXBkYXRlRXZlbnQpPVwib25Db2x1bW5VcGRhdGVFdmVudCgkZXZlbnQpXCJcbj48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMtY29sdW1uPlxuXG48c2VjdGlvbiBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZV9fdG9nZ2xlXCI+XG4gIDxzcGFuIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlX19zdWJ0aXRsZVwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUub3B0aW9ucycgfCB0cmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuXG4gIDxjZHMtdG9nZ2xlXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZCgpXCJcbiAgICBbbGFiZWxdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5maXJzdENvbHVtbkFzVGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICBbb25UZXh0XT1cIidpbnRlcmZhY2UueWVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW29mZlRleHRdPVwiJ2ludGVyZmFjZS5ubycgfCB0cmFuc2xhdGVcIlxuICAgIChjaGVja2VkQ2hhbmdlKT1cIm9uQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcbiAgPjwvY2RzLXRvZ2dsZT5cbjwvc2VjdGlvbj5cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1jb25maWd1cmF0b3JzL3RhYmxlL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy90YWJsZS9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osV0FBVyxFQUdYLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxZQUFZLEVBRVosa0JBQWtCLEVBQ2xCLGdCQUFnQixHQUNqQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxZQUFZLEVB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RCxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZiw0Q0FBNEM7d0JBQzVDLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtnSkFLcUMsS0FBSztzQkFBMUMsV0FBVzt1QkFBQyxPQUFPO2dCQUNNLGdCQUFnQjtzQkFBekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBzaWduYWwsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIENBUkJPTl9USEVNRSxcbiAgQ2RzVGhlbWVTZXJ2aWNlLFxuICBDdXJyZW50Q2FyYm9uVGhlbWUsXG4gIElucHV0TGFiZWxNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtGaWVsZHNDYXNlV2lkZ2V0VmFsdWUsIFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzLCBXaWRnZXRUYWJsZUNvbnRlbnR9IGZyb20gJ0B2YWx0aW1vL2Rvc3NpZXInO1xuaW1wb3J0IHtCdXR0b25Nb2R1bGUsIElucHV0TW9kdWxlLCBUb2dnbGVNb2R1bGV9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7V2lkZ2V0Q29udGVudENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7V2lkZ2V0V2l6YXJkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtEb3NzaWVyTWFuYWdlbWVudFdpZGdldEZpZWxkc0NvbHVtbkNvbXBvbmVudH0gZnJvbSAnLi4vZmllbGRzL2NvbHVtbi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW4uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGUuY29tcG9uZW50LnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRG9zc2llck1hbmFnZW1lbnRXaWRnZXRGaWVsZHNDb2x1bW5Db21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBUb2dnbGVNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIElucHV0TGFiZWxNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0VGFibGVDb21wb25lbnRcbiAgaW1wbGVtZW50cyBXaWRnZXRDb250ZW50Q29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgcHVibGljIHJlYWRvbmx5IGNsYXNzID0gJ3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZSc7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlVmFsaWRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgdGl0bGU6IHRoaXMuZmIuY29udHJvbDxzdHJpbmc+KFxuICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFRpdGxlKCkgPz8gJycsXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgKSxcbiAgICBjb2xsZWN0aW9uOiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nPihcbiAgICAgICh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpIGFzIFdpZGdldFRhYmxlQ29udGVudCk/LmNvbGxlY3Rpb24gPz8gJycsXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgKSxcbiAgICBkZWZhdWx0UGFnZVNpemU6IHRoaXMuZmIuY29udHJvbDxudW1iZXI+KFxuICAgICAgKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50KCkgYXMgV2lkZ2V0VGFibGVDb250ZW50KT8uZGVmYXVsdFBhZ2VTaXplID8/IDUsXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXG4gICAgKSxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHRoZW1lJDogT2JzZXJ2YWJsZTxDQVJCT05fVEhFTUU+ID0gdGhpcy5jZHNUaGVtZVNlcnZpY2UuY3VycmVudFRoZW1lJC5waXBlKFxuICAgIG1hcCgoY3VycmVudFRoZW1lOiBDdXJyZW50Q2FyYm9uVGhlbWUpID0+XG4gICAgICBjdXJyZW50VGhlbWUgPT09IEN1cnJlbnRDYXJib25UaGVtZS5HMTAgPyBDQVJCT05fVEhFTUUuV0hJVEUgOiBDQVJCT05fVEhFTUUuRzkwXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50ID0gdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlXG4gICAgLndpZGdldENvbnRlbnQgYXMgV3JpdGFibGVTaWduYWw8V2lkZ2V0VGFibGVDb250ZW50PjtcbiAgcHVibGljIHJlYWRvbmx5IGNoZWNrZWQgPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50KCkgYXMgV2lkZ2V0VGFibGVDb250ZW50KT8uZmlyc3RDb2x1bW5Bc1RpdGxlIHx8IGZhbHNlXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRWYWxpZCA9IHNpZ25hbDxib29sZWFuPih0aGlzLndpZGdldFdpemFyZFNlcnZpY2UuZWRpdE1vZGUoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHNUaGVtZVNlcnZpY2U6IENkc1RoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldFRpdGxlLnNldCh2YWx1ZT8udGl0bGUgPz8gJycpO1xuXG4gICAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50LnVwZGF0ZShcbiAgICAgICAgICAoY29udGVudDogV2lkZ2V0Q29udGVudFByb3BlcnRpZXMgfCBudWxsKSA9PlxuICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgLi4uY29udGVudCxcbiAgICAgICAgICAgICAgY29sbGVjdGlvbjogdmFsdWU/LmNvbGxlY3Rpb24gfHwgJycsXG4gICAgICAgICAgICAgIGRlZmF1bHRQYWdlU2l6ZTogdmFsdWU/LmRlZmF1bHRQYWdlU2l6ZSB8fCA1LFxuICAgICAgICAgICAgfSkgYXMgV2lkZ2V0VGFibGVDb250ZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQodGhpcy5mb3JtLnZhbGlkICYmIHRoaXMuX2NvbnRlbnRWYWxpZCgpKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50VmFsaWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQoZmFsc2UpO1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICB9XG5cbiAgcHVibGljIG9uQ29sdW1uVXBkYXRlRXZlbnQoZXZlbnQ6IHtkYXRhOiBGaWVsZHNDYXNlV2lkZ2V0VmFsdWVbXTsgdmFsaWQ6IGJvb2xlYW59KTogdm9pZCB7XG4gICAgY29uc3Qge2RhdGEsIHZhbGlkfSA9IGV2ZW50O1xuICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50LnVwZGF0ZShcbiAgICAgIChjb250ZW50OiBXaWRnZXRDb250ZW50UHJvcGVydGllcyB8IG51bGwpID0+XG4gICAgICAgICh7Li4uY29udGVudCwgY29sdW1uczogZGF0YX0pIGFzIFdpZGdldFRhYmxlQ29udGVudFxuICAgICk7XG4gICAgdGhpcy5fY29udGVudFZhbGlkLnNldCh2YWxpZCk7XG4gICAgdGhpcy5jaGFuZ2VWYWxpZEV2ZW50LmVtaXQodmFsaWQgJiYgdGhpcy5mb3JtLnZhbGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNoZWNrZWRDaGFuZ2UoZmlyc3RDb2x1bW5Bc1RpdGxlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKFxuICAgICAgKGNvbnRlbnQ6IFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzIHwgbnVsbCkgPT5cbiAgICAgICAgKHsuLi5jb250ZW50LCBmaXJzdENvbHVtbkFzVGl0bGV9KSBhcyBXaWRnZXRUYWJsZUNvbnRlbnRcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtXG4gICpuZ0lmPVwie3RoZW1lOiB0aGVtZSQgfCBhc3luY30gYXMgb2JzXCJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGVfX2Zvcm1cIlxuPlxuICA8Y2RzLXRleHQtbGFiZWwgW2F0dHIuZGF0YS1jYXJib24tdGhlbWVdPVwib2JzLnRoZW1lXCI+XG4gICAgPHYtaW5wdXQtbGFiZWxcbiAgICAgIFt0aXRsZV09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdG9vbHRpcF09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICA8L3YtaW5wdXQtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcbiAgICAgIGNkc1RleHRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gIDxjZHMtdGV4dC1sYWJlbCBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJvYnMudGhlbWVcIj5cbiAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgW3RpdGxlXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuZGVmYXVsdFBhZ2VTaXplJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbdG9vbHRpcF09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmRlZmF1bHRQYWdlU2l6ZVRvb2x0aXAnIHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgPC92LWlucHV0LWxhYmVsPlxuXG4gICAgPGlucHV0XG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZWZhdWx0UGFnZVNpemVcIlxuICAgICAgY2RzVGV4dFxuICAgICAgW3BsYWNlaG9sZGVyXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuZGVmYXVsdFBhZ2VTaXplUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gIDxjZHMtdGV4dC1sYWJlbCBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJvYnMudGhlbWVcIj5cbiAgICA8di1pbnB1dC1sYWJlbFxuICAgICAgW3RpdGxlXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sbGVjdGlvbicgfCB0cmFuc2xhdGVcIlxuICAgICAgW3Rvb2x0aXBdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5jb2xsZWN0aW9uVG9vbHRpcCcgfCB0cmFuc2xhdGVcIlxuICAgID5cbiAgICA8L3YtaW5wdXQtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvbGxlY3Rpb25cIlxuICAgICAgY2RzVGV4dFxuICAgICAgW3BsYWNlaG9sZGVyXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sbGVjdGlvblBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgPC9jZHMtdGV4dC1sYWJlbD5cbjwvZm9ybT5cblxuPHNwYW4gY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGVfX3N1YnRpdGxlXCI+XG4gIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sdW1ucycgfCB0cmFuc2xhdGUgfX1cbjwvc3Bhbj5cblxuPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMtY29sdW1uXG4gIFthZGRUcmFuc2xhdGVLZXldPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5hZGRDb2x1bW4nXCJcbiAgW2NvbHVtbkRhdGFdPVwiY29udGVudCgpPy5jb2x1bW5zXCJcbiAgKGNvbHVtblVwZGF0ZUV2ZW50KT1cIm9uQ29sdW1uVXBkYXRlRXZlbnQoJGV2ZW50KVwiXG4+PC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtZmllbGRzLWNvbHVtbj5cblxuPHNlY3Rpb24gY2xhc3M9XCJ2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGVfX3RvZ2dsZVwiPlxuICA8c3BhbiBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZV9fc3VidGl0bGVcIj5cbiAgICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLm9wdGlvbnMnIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cblxuICA8Y2RzLXRvZ2dsZVxuICAgIFtjaGVja2VkXT1cImNoZWNrZWQoKVwiXG4gICAgW2xhYmVsXT1cIid3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuZmlyc3RDb2x1bW5Bc1RpdGxlJyB8IHRyYW5zbGF0ZVwiXG4gICAgW29uVGV4dF09XCInaW50ZXJmYWNlLnllcycgfCB0cmFuc2xhdGVcIlxuICAgIFtvZmZUZXh0XT1cIidpbnRlcmZhY2Uubm8nIHwgdHJhbnNsYXRlXCJcbiAgICAoY2hlY2tlZENoYW5nZSk9XCJvbkNoZWNrZWRDaGFuZ2UoJGV2ZW50KVwiXG4gID48L2Nkcy10b2dnbGU+XG48L3NlY3Rpb24+XG4iXX0=