@alfresco/adf-core 8.1.0-16344390102 → 8.1.0-16445172226

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 (40) hide show
  1. package/esm2022/lib/app-config/app-config.module.mjs +1 -1
  2. package/esm2022/lib/app-config/provide-app-config.mjs +44 -0
  3. package/esm2022/lib/app-config/public-api.mjs +2 -1
  4. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +3 -3
  5. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +3 -3
  6. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +3 -3
  7. package/esm2022/lib/core.module.mjs +146 -164
  8. package/esm2022/lib/form/components/form-renderer.component.mjs +3 -3
  9. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +3 -3
  10. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +1 -1
  11. package/esm2022/lib/form/form-base.module.mjs +3 -18
  12. package/esm2022/lib/testing/core.testing.module.mjs +2 -1
  13. package/esm2022/lib/testing/noop-translate.module.mjs +22 -8
  14. package/esm2022/lib/translation/translate-loader.service.mjs +7 -2
  15. package/esm2022/lib/viewer/components/viewer.component.mjs +9 -9
  16. package/esm2022/shell/index.mjs +2 -1
  17. package/esm2022/shell/lib/shell.module.mjs +8 -12
  18. package/esm2022/shell/lib/shell.routes.mjs +26 -1
  19. package/fesm2022/adf-core.mjs +168 -134
  20. package/fesm2022/adf-core.mjs.map +1 -1
  21. package/fesm2022/alfresco-adf-core-shell.mjs +32 -11
  22. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  23. package/lib/app-config/app-config.module.d.ts +1 -0
  24. package/lib/app-config/provide-app-config.d.ts +23 -0
  25. package/lib/app-config/public-api.d.ts +1 -0
  26. package/lib/card-view/components/card-view/card-view.component.scss +0 -9
  27. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +1 -2
  28. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +1 -5
  29. package/lib/core.module.d.ts +124 -128
  30. package/lib/form/components/form-renderer.component.scss +4 -5
  31. package/lib/form/components/widgets/amount/amount.widget.scss +0 -8
  32. package/lib/form/form-base.module.d.ts +1 -0
  33. package/lib/testing/core.testing.module.d.ts +1 -0
  34. package/lib/testing/noop-translate.module.d.ts +1 -2
  35. package/lib/viewer/components/viewer.component.d.ts +3 -3
  36. package/package.json +3 -3
  37. package/shell/README.md +10 -6
  38. package/shell/index.d.ts +1 -0
  39. package/shell/lib/shell.module.d.ts +4 -7
  40. package/shell/lib/shell.routes.d.ts +13 -1
@@ -122,7 +122,7 @@ export class FormRendererComponent {
122
122
  useFactory: formRulesManagerFactory,
123
123
  deps: [Injector]
124
124
  }
125
- ], ngImport: i0, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }}\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;flex-grow:1;box-sizing:border-box}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto;padding-right:1%;padding-left:1%}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}.adf-error-messages-container{min-height:35px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FormFieldComponent, selector: "adf-form-field", inputs: ["field"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HeaderWidgetComponent, selector: "adf-header-widget", inputs: ["element"] }, { kind: "component", type: FormSectionComponent, selector: "adf-form-section", inputs: ["field"] }], encapsulation: i0.ViewEncapsulation.None }); }
125
+ ], ngImport: i0, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }}\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto;padding-left:5px;padding-right:5px}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}.adf-error-messages-container{min-height:35px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabContent, selector: "[matTabContent]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: FormFieldComponent, selector: "adf-form-field", inputs: ["field"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: HeaderWidgetComponent, selector: "adf-header-widget", inputs: ["element"] }, { kind: "component", type: FormSectionComponent, selector: "adf-form-section", inputs: ["field"] }], encapsulation: i0.ViewEncapsulation.None }); }
126
126
  }
127
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormRendererComponent, decorators: [{
128
128
  type: Component,
@@ -146,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
146
146
  NgClass,
147
147
  HeaderWidgetComponent,
148
148
  FormSectionComponent
149
- ], encapsulation: ViewEncapsulation.None, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }}\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;flex-grow:1;box-sizing:border-box}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto;padding-right:1%;padding-left:1%}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}.adf-error-messages-container{min-height:35px}\n"] }]
149
+ ], encapsulation: ViewEncapsulation.None, template: "<div id=\"adf-form-renderer\" class=\"{{ formDefinition.className }}\"\n [ngClass]=\"{ 'adf-readonly-form': formDefinition.readOnly }\">\n <div *ngIf=\"formDefinition.hasTabs()\">\n <div *ngIf=\"hasTabs()\" class=\"alfresco-tabs-widget\">\n <mat-tab-group [preserveContent]=\"true\">\n <mat-tab *ngFor=\"let tab of visibleTabs()\" [label]=\"tab.title | translate \">\n <ng-template matTabContent>\n <div class=\"adf-form-tab-content\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: tab.fields }\" />\n </div>\n </ng-template>\n </mat-tab>\n </mat-tab-group>\n </div>\n </div>\n\n <div *ngIf=\"!formDefinition.hasTabs() && formDefinition.hasFields()\">\n <ng-template *ngTemplateOutlet=\"render; context: { fieldToRender: formDefinition.fields }\" />\n </div>\n</div>\n\n<ng-template #render let-fieldToRender=\"fieldToRender\">\n <div *ngFor=\"let currentRootElement of fieldToRender\">\n <div *ngIf=\"currentRootElement.type === 'container' || currentRootElement.type === 'group'\"\n [id]=\"'field-' + currentRootElement?.id + '-container'\"\n class=\"adf-container-widget\"\n [hidden]=\"!currentRootElement?.isVisible\">\n <adf-header-widget [element]=\"currentRootElement\" />\n <div *ngIf=\"currentRootElement?.form?.enableFixedSpace; else fixingTemplate\">\n <div class=\"adf-grid-list\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + getNumberOfColumns(currentRootElement) + ', 1fr)' }\"\n *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-item\"\n *ngFor=\"let field of getContainerFields(currentRootElement)\"\n [ngStyle]=\"{ 'grid-area': 'auto / auto / span ' + (field?.rowspan || 1) + ' / span ' + (field?.colspan || 1) }\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </div>\n </div>\n\n <ng-template #fixingTemplate>\n <section class=\"adf-grid-list-column-view\" *ngIf=\"currentRootElement?.isExpanded\">\n <div class=\"adf-grid-list-single-column\"\n *ngFor=\"let column of currentRootElement?.columns\"\n [style.width.%]=\"getColumnWidth(currentRootElement)\"\n >\n <ng-container *ngFor=\"let field of column?.fields\">\n <ng-container *ngIf=\"field.type === 'section'; else formField\">\n <adf-form-section [field]=\"field\"/>\n </ng-container>\n <ng-template #formField>\n <div class=\"adf-grid-list-column-view-item\">\n <adf-form-field [field]=\"field\"/>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </section>\n </ng-template>\n\n <ng-template #columnViewItem let-column=\"column\">\n <div class=\"adf-grid-list-column-view-item\" *ngFor=\"let field of column?.fields\">\n <adf-form-field *ngIf=\"field\" [field]=\"field\" />\n </div>\n </ng-template>\n </div>\n\n <div *ngIf=\"currentRootElement.type === 'dynamic-table'\" class=\"adf-container-widget\">\n <adf-form-field [field]=\"currentRootElement\" />\n </div>\n\n <div class=\"adf-container-widget\"\n *ngIf=\"currentRootElement.type === 'readonly' && currentRootElement.field.params.field.type === 'dynamic-table'\">\n <adf-form-field [field]=\"currentRootElement.field\"/>\n </div>\n </div>\n</ng-template>\n", styles: [".adf-hidden{display:none}.adf-field-list{padding:0;list-style-type:none;width:100%;height:100%}.alfresco-tabs-widget{width:100%}.alfresco-tabs-widget .adf-form-tab-content{margin-top:1em}.alfresco-tabs-widget .adf-form-tab-group{width:100%}.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:8em}@media (max-width: 959.9px){.alfresco-tabs-widget .mat-mdc-tab-body{margin-bottom:0}}.alfresco-tabs-widget .mat-mdc-tab-header{z-index:2;margin:0;background-color:#fff;position:absolute;width:98%;margin-left:0!important;margin-right:10px!important;top:0}.alfresco-tabs-widget .mat-mdc-tab-body-wrapper{padding-top:5%}.mat-mdc-card-content:first-child{padding-top:1em}.adf-container-widget .adf-grid-list{display:grid}.adf-container-widget .adf-grid-list-column-view{display:flex;margin-right:-1%;width:100%}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-column-view{display:flow}}.adf-container-widget .adf-grid-list-column-view-item{width:100%;box-sizing:border-box}.adf-container-widget .adf-grid-list-single-column{display:flex;flex-direction:column;flex:1 1 auto;padding-left:5px;padding-right:5px}.adf-container-widget .adf-grid-list-item{box-sizing:border-box;padding-left:3px;padding-right:3px}@media (max-width: 959.9px){.adf-container-widget .adf-grid-list-item{flex:1 0 100%}.adf-container-widget .adf-grid-list--column-view{flex-direction:column}.adf-container-widget .adf-grid-list-single-column{display:block;width:90%!important}.adf-container-widget .adf-grid-list-column-view-item{flex:1 0 auto}}.adf-container-widget mat-input-placeholder{top:1.8em}.adf-container-widget .mat-focused{width:100%}.adf-container-widget .mat-focused .mdc-text-field--focused label{color:var(--theme-primary-color)}.adf-container-widget .mat-focused label{transition:transform .15s linear;background-color:.3s cubic-bezier(.55,0,.55,.2)}.adf-container-widget .mat-focused .mat-mdc-form-field-text-prefix{color:var(--theme-primary-color)}.adf-container-widget .mat-grid-tile{overflow:visible;width:80%}.adf-container-widget adf-form-field,.adf-container-widget mat-form-field{width:100%}.adf-form-container{max-width:100%;max-height:100%}.adf-form-container .mat-mdc-card{padding:16px 24px;overflow:hidden}.adf-form-container .mat-mdc-tab-header{position:fixed;z-index:1000}.adf-form-container .mat-mdc-card-header-text{margin:0}.adf-form-container .mat-mdc-card-content{overflow:hidden;padding-top:0}.adf-form-container mat-tab-label-text{font-size:var(--theme-subheading-2-font-size);line-height:var(--theme-headline-line-height);letter-spacing:-.4px;text-align:left;color:#0000008a;text-transform:uppercase}.adf-form-container .mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:4px}.adf-form-container .mat-mdc-text-field-wrapper{margin:0 12px 0 0}.adf-form-title{font-size:var(--theme-title-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adf-form-reload-button{position:absolute;right:12px;top:30px}.adf-form-validation-button{position:absolute;right:50px;top:39px;color:var(--theme-accent-color)}.adf-form-validation-button .adf-invalid-color{color:var(--theme-warn-color)}.adf-form-hide-button{display:none}.adf-task-title{text-align:center}.adf-form-mat-card-actions{padding-bottom:25px;padding-right:25px}.adf-form-mat-card-actions .mat-mdc-button{height:36px;border-radius:5px;width:auto;padding:0 16px;margin:0 8px;white-space:nowrap}.adf-form-mat-card-actions .mdc-button__label{min-width:58px}.adf-left-label-input-container{display:flex}.adf-left-label-input-container div:nth-child(2){flex:1}.adf-left-label-input-container .mat-mdc-floating-label{top:auto;bottom:0}.adf-left-label{line-height:64px;margin-right:15px}form-field{width:100%}form-field .mat-mdc-input-element{font-size:var(--theme-body-2-font-size);padding-top:8px;line-height:normal}.adf-error-messages-container{min-height:35px}\n"] }]
150
150
  }], ctorParameters: () => [{ type: i1.FormService }, { type: i2.FormRulesManager }, { type: undefined, decorators: [{
151
151
  type: Optional
152
152
  }, {
@@ -158,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
158
158
  }], readOnly: [{
159
159
  type: Input
160
160
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0NBQWtDLEVBQWtDLE1BQU0sMEJBQTBCLENBQUM7QUFDOUcsT0FBTyxFQUFrQyxTQUFTLEVB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ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3JPZiwgTmdJZiwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGb3JtUnVsZXNNYW5hZ2VyLCBmb3JtUnVsZXNNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4uL21vZGVscy9mb3JtLXJ1bGVzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGT1JNX0ZJRUxEX01PREVMX1JFTkRFUl9NSURETEVXQVJFLCBGb3JtRmllbGRNb2RlbFJlbmRlck1pZGRsZXdhcmUgfSBmcm9tICcuL21pZGRsZXdhcmVzL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29udGFpbmVyTW9kZWwsIEZvcm1GaWVsZE1vZGVsLCBGb3JtTW9kZWwsIFRhYk1vZGVsIH0gZnJvbSAnLi93aWRnZXRzJztcbmltcG9ydCB7IEhlYWRlcldpZGdldENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9oZWFkZXIvaGVhZGVyLndpZGdldCc7XG5pbXBvcnQgeyBGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1mb3JtLXJlbmRlcmVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvcm1SdWxlc01hbmFnZXIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBmb3JtUnVsZXNNYW5hZ2VyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl1cbiAgICAgICAgfVxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIEZvcm1GaWVsZENvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEhlYWRlcldpZGdldENvbXBvbmVudCxcbiAgICAgICAgRm9ybVNlY3Rpb25Db21wb25lbnRcbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVJlbmRlcmVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgZm9ybURlZmluaXRpb246IEZvcm1Nb2RlbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIGRlYnVnTW9kZTogYm9vbGVhbjtcblxuICAgIGZpZWxkczogRm9ybUZpZWxkTW9kZWxbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvcm1SdWxlc01hbmFnZXI6IEZvcm1SdWxlc01hbmFnZXI8VD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoRk9STV9GSUVMRF9NT0RFTF9SRU5ERVJfTUlERExFV0FSRSlcbiAgICAgICAgcHJpdmF0ZSBtaWRkbGV3YXJlU2VydmljZXM/OiBGb3JtRmllbGRNb2RlbFJlbmRlck1pZGRsZXdhcmVbXVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bk1pZGRsZXdhcmVTZXJ2aWNlcygpO1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVJ1bGVzTWFuYWdlci5pbml0aWFsaXplKHRoaXMuZm9ybURlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZm9ybVJ1bGVzTWFuYWdlci5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgaGFzVGFicygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybURlZmluaXRpb24udGFicyAmJiB0aGlzLmZvcm1EZWZpbml0aW9uLnRhYnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2aXNpYmxlVGFicygpOiBUYWJNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybURlZmluaXRpb24udGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmlzVmlzaWJsZSk7XG4gICAgfVxuXG4gICAgZ2V0TnVtYmVyT2ZDb2x1bW5zKGNvbnRlbnQ6IENvbnRhaW5lck1vZGVsKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChjb250ZW50Lmpzb24/Lm51bWJlck9mQ29sdW1ucyB8fCAxKSA+IChjb250ZW50LmNvbHVtbnM/Lmxlbmd0aCB8fCAxKVxuICAgICAgICAgICAgPyBjb250ZW50Lmpzb24/Lm51bWJlck9mQ29sdW1ucyB8fCAxXG4gICAgICAgICAgICA6IGNvbnRlbnQuY29sdW1ucz8ubGVuZ3RoIHx8IDE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VyaWFsaXplcyBjb2x1bW4gZmllbGRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudCBjb250YWluZXIgbW9kZWxcbiAgICAgKiBAcmV0dXJucyBhIGxpc3Qgb2YgZm9ybSBmaWVsZCBtb2RlbHNcbiAgICAgKi9cbiAgICBnZXRDb250YWluZXJGaWVsZHMoY29udGVudDogQ29udGFpbmVyTW9kZWwpOiBGb3JtRmllbGRNb2RlbFtdIHtcbiAgICAgICAgY29uc3Qgc2VyaWFsaXNlZEZvcm1GaWVsZHM6IEZvcm1GaWVsZE1vZGVsW10gPSBbXTtcbiAgICAgICAgY29uc3QgbWF4Q29sdW1uRmllbGRzU2l6ZSA9IHRoaXMuZ2V0TWF4Q29sdW1uRmllbGRTaXplKGNvbnRlbnQpO1xuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbWF4Q29sdW1uRmllbGRzU2l6ZTsgcm93SW5kZXgrKykge1xuICAgICAgICAgICAgY29udGVudD8uY29sdW1ucy5mbGF0TWFwKChjdXJyZW50Q29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRDb2x1bW4/LmZpZWxkc1tyb3dJbmRleF0pIHtcbiAgICAgICAgICAgICAgICAgICAgc2VyaWFsaXNlZEZvcm1GaWVsZHMucHVzaChjdXJyZW50Q29sdW1uPy5maWVsZHNbcm93SW5kZXhdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdFJvd0VsZW1lbnRDb2xTcGFuID0gY3VycmVudENvbHVtbj8uZmllbGRzWzBdPy5jb2xzcGFuO1xuICAgICAgICAgICAgICAgICAgICBpZiAoISFmaXJzdFJvd0VsZW1lbnRDb2xTcGFuICYmIHJvd0luZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaXJzdFJvd0VsZW1lbnRDb2xTcGFuOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxpc2VkRm9ybUZpZWxkcy5wdXNoKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc2VyaWFsaXNlZEZvcm1GaWVsZHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXhDb2x1bW5GaWVsZFNpemUoY29udGVudDogQ29udGFpbmVyTW9kZWwpOiBudW1iZXIge1xuICAgICAgICBsZXQgbWF4RmllbGRTaXplID0gMDtcbiAgICAgICAgaWYgKGNvbnRlbnQ/LmNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG1heEZpZWxkU2l6ZSA9IGNvbnRlbnQ/LmNvbHVtbnM/LnJlZHVjZSgocHJldkNvbHVtbiwgY3VycmVudENvbHVtbikgPT5cbiAgICAgICAgICAgICAgICBjdXJyZW50Q29sdW1uLmZpZWxkcy5sZW5ndGggPiBwcmV2Q29sdW1uPy5maWVsZHM/Lmxlbmd0aCA/IGN1cnJlbnRDb2x1bW4gOiBwcmV2Q29sdW1uXG4gICAgICAgICAgICApPy5maWVsZHM/Lmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4RmllbGRTaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSB0aGUgY29sdW1uIHdpZHRoIGJhc2VkIG9uIHRoZSBudW1iZXJPZkNvbHVtbnMgYW5kIGN1cnJlbnQgZmllbGQncyBjb2xzcGFuIHByb3BlcnR5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIGNvbnRhaW5lciBtb2RlbFxuICAgICAqIEByZXR1cm5zIHRoZSBjb2x1bW4gd2lkdGggZm9yIHRoZSBnaXZlbiBtb2RlbFxuICAgICAqL1xuICAgIGdldENvbHVtbldpZHRoKGNvbnRhaW5lcjogQ29udGFpbmVyTW9kZWwpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IGZpZWxkIH0gPSBjb250YWluZXI7XG4gICAgICAgIGNvbnN0IGNvbHNwYW4gPSBmaWVsZCA/IGZpZWxkLmNvbHNwYW4gOiAxO1xuICAgICAgICByZXR1cm4gKDEwMCAvIGZpZWxkLm51bWJlck9mQ29sdW1ucykgKiBjb2xzcGFuICsgJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBydW5NaWRkbGV3YXJlU2VydmljZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcyAmJiB0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtRmllbGRzID0gdGhpcy5mb3JtRGVmaW5pdGlvbi5nZXRGb3JtRmllbGRzKCk7XG5cbiAgICAgICAgICAgIGZvcm1GaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcy5mb3JFYWNoKChtaWRkbGV3YXJlU2VydmljZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobWlkZGxld2FyZVNlcnZpY2UudHlwZSA9PT0gZmllbGQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgPSBtaWRkbGV3YXJlU2VydmljZS5nZXRQYXJzZWRGaWVsZChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBpZD1cImFkZi1mb3JtLXJlbmRlcmVyXCIgY2xhc3M9XCJ7eyBmb3JtRGVmaW5pdGlvbi5jbGFzc05hbWUgfX1cIlxuICAgICBbbmdDbGFzc109XCJ7ICdhZGYtcmVhZG9ubHktZm9ybSc6IGZvcm1EZWZpbml0aW9uLnJlYWRPbmx5IH1cIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybURlZmluaXRpb24uaGFzVGFicygpXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNUYWJzKClcIiBjbGFzcz1cImFsZnJlc2NvLXRhYnMtd2lkZ2V0XCI+XG4gICAgICAgICAgICA8bWF0LXRhYi1ncm91cCBbcHJlc2VydmVDb250ZW50XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIHZpc2libGVUYWJzKClcIiBbbGFiZWxdPVwidGFiLnRpdGxlIHwgdHJhbnNsYXRlIFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZm9ybS10YWItY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlcjsgY29udGV4dDogeyBmaWVsZFRvUmVuZGVyOiB0YWIuZmllbGRzIH1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhZm9ybURlZmluaXRpb24uaGFzVGFicygpICYmIGZvcm1EZWZpbml0aW9uLmhhc0ZpZWxkcygpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlcjsgY29udGV4dDogeyBmaWVsZFRvUmVuZGVyOiBmb3JtRGVmaW5pdGlvbi5maWVsZHMgfVwiIC8+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNyZW5kZXIgbGV0LWZpZWxkVG9SZW5kZXI9XCJmaWVsZFRvUmVuZGVyXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgY3VycmVudFJvb3RFbGVtZW50IG9mIGZpZWxkVG9SZW5kZXJcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudC50eXBlID09PSAnY29udGFpbmVyJyB8fCBjdXJyZW50Um9vdEVsZW1lbnQudHlwZSA9PT0gJ2dyb3VwJ1wiXG4gICAgICAgICAgICAgW2lkXT1cIidmaWVsZC0nICsgY3VycmVudFJvb3RFbGVtZW50Py5pZCArICctY29udGFpbmVyJ1wiXG4gICAgICAgICAgICAgY2xhc3M9XCJhZGYtY29udGFpbmVyLXdpZGdldFwiXG4gICAgICAgICAgICAgW2hpZGRlbl09XCIhY3VycmVudFJvb3RFbGVtZW50Py5pc1Zpc2libGVcIj5cbiAgICAgICAgICAgIDxhZGYtaGVhZGVyLXdpZGdldCBbZWxlbWVudF09XCJjdXJyZW50Um9vdEVsZW1lbnRcIiAvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudD8uZm9ybT8uZW5hYmxlRml4ZWRTcGFjZTsgZWxzZSBmaXhpbmdUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoJyArIGdldE51bWJlck9mQ29sdW1ucyhjdXJyZW50Um9vdEVsZW1lbnQpICsgJywgMWZyKScgfVwiXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudD8uaXNFeHBhbmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWdyaWQtbGlzdC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZ2V0Q29udGFpbmVyRmllbGRzKGN1cnJlbnRSb290RWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2dyaWQtYXJlYSc6ICdhdXRvIC8gYXV0byAvIHNwYW4gJyArIChmaWVsZD8ucm93c3BhbiB8fCAxKSArICcgLyBzcGFuICcgKyAoZmllbGQ/LmNvbHNwYW4gfHwgMSkgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFkZi1mb3JtLWZpZWxkICpuZ0lmPVwiZmllbGRcIiBbZmllbGRdPVwiZmllbGRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ZpeGluZ1RlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYWRmLWdyaWQtbGlzdC1jb2x1bW4tdmlld1wiICpuZ0lmPVwiY3VycmVudFJvb3RFbGVtZW50Py5pc0V4cGFuZGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0LXNpbmdsZS1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY3VycmVudFJvb3RFbGVtZW50Py5jb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJnZXRDb2x1bW5XaWR0aChjdXJyZW50Um9vdEVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY29sdW1uPy5maWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ3NlY3Rpb24nOyBlbHNlIGZvcm1GaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWZvcm0tc2VjdGlvbiBbZmllbGRdPVwiZmllbGRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmb3JtRmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0LWNvbHVtbi12aWV3LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtZm9ybS1maWVsZCBbZmllbGRdPVwiZmllbGRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb2x1bW5WaWV3SXRlbSBsZXQtY29sdW1uPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1ncmlkLWxpc3QtY29sdW1uLXZpZXctaXRlbVwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb2x1bW4/LmZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgKm5nSWY9XCJmaWVsZFwiIFtmaWVsZF09XCJmaWVsZFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudFJvb3RFbGVtZW50LnR5cGUgPT09ICdkeW5hbWljLXRhYmxlJ1wiIGNsYXNzPVwiYWRmLWNvbnRhaW5lci13aWRnZXRcIj5cbiAgICAgICAgICAgIDxhZGYtZm9ybS1maWVsZCBbZmllbGRdPVwiY3VycmVudFJvb3RFbGVtZW50XCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1jb250YWluZXItd2lkZ2V0XCJcbiAgICAgICAgICAgICAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudC50eXBlID09PSAncmVhZG9ubHknICYmIGN1cnJlbnRSb290RWxlbWVudC5maWVsZC5wYXJhbXMuZmllbGQudHlwZSA9PT0gJ2R5bmFtaWMtdGFibGUnXCI+XG4gICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgW2ZpZWxkXT1cImN1cnJlbnRSb290RWxlbWVudC5maWVsZFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL2Zvcm0tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0NBQWtDLEVBQWtDLE1BQU0sMEJBQTBCLENBQUM7QUFDOUcsT0FBTyxFQUFrQyxTQUFTLEVB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ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3JPZiwgTmdJZiwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGb3JtUnVsZXNNYW5hZ2VyLCBmb3JtUnVsZXNNYW5hZ2VyRmFjdG9yeSB9IGZyb20gJy4uL21vZGVscy9mb3JtLXJ1bGVzLm1vZGVsJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGT1JNX0ZJRUxEX01PREVMX1JFTkRFUl9NSURETEVXQVJFLCBGb3JtRmllbGRNb2RlbFJlbmRlck1pZGRsZXdhcmUgfSBmcm9tICcuL21pZGRsZXdhcmVzL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29udGFpbmVyTW9kZWwsIEZvcm1GaWVsZE1vZGVsLCBGb3JtTW9kZWwsIFRhYk1vZGVsIH0gZnJvbSAnLi93aWRnZXRzJztcbmltcG9ydCB7IEhlYWRlcldpZGdldENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9oZWFkZXIvaGVhZGVyLndpZGdldCc7XG5pbXBvcnQgeyBGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1zZWN0aW9uL2Zvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1mb3JtLXJlbmRlcmVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEZvcm1SdWxlc01hbmFnZXIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBmb3JtUnVsZXNNYW5hZ2VyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl1cbiAgICAgICAgfVxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIEZvcm1GaWVsZENvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIEhlYWRlcldpZGdldENvbXBvbmVudCxcbiAgICAgICAgRm9ybVNlY3Rpb25Db21wb25lbnRcbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVJlbmRlcmVyQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgZm9ybURlZmluaXRpb246IEZvcm1Nb2RlbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIGRlYnVnTW9kZTogYm9vbGVhbjtcblxuICAgIGZpZWxkczogRm9ybUZpZWxkTW9kZWxbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZm9ybVNlcnZpY2U6IEZvcm1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvcm1SdWxlc01hbmFnZXI6IEZvcm1SdWxlc01hbmFnZXI8VD4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoRk9STV9GSUVMRF9NT0RFTF9SRU5ERVJfTUlERExFV0FSRSlcbiAgICAgICAgcHJpdmF0ZSBtaWRkbGV3YXJlU2VydmljZXM/OiBGb3JtRmllbGRNb2RlbFJlbmRlck1pZGRsZXdhcmVbXVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJ1bk1pZGRsZXdhcmVTZXJ2aWNlcygpO1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybVJ1bGVzTWFuYWdlci5pbml0aWFsaXplKHRoaXMuZm9ybURlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZm9ybVJ1bGVzTWFuYWdlci5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgaGFzVGFicygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybURlZmluaXRpb24udGFicyAmJiB0aGlzLmZvcm1EZWZpbml0aW9uLnRhYnMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICB2aXNpYmxlVGFicygpOiBUYWJNb2RlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybURlZmluaXRpb24udGFicy5maWx0ZXIoKHRhYikgPT4gdGFiLmlzVmlzaWJsZSk7XG4gICAgfVxuXG4gICAgZ2V0TnVtYmVyT2ZDb2x1bW5zKGNvbnRlbnQ6IENvbnRhaW5lck1vZGVsKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIChjb250ZW50Lmpzb24/Lm51bWJlck9mQ29sdW1ucyB8fCAxKSA+IChjb250ZW50LmNvbHVtbnM/Lmxlbmd0aCB8fCAxKVxuICAgICAgICAgICAgPyBjb250ZW50Lmpzb24/Lm51bWJlck9mQ29sdW1ucyB8fCAxXG4gICAgICAgICAgICA6IGNvbnRlbnQuY29sdW1ucz8ubGVuZ3RoIHx8IDE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VyaWFsaXplcyBjb2x1bW4gZmllbGRzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudCBjb250YWluZXIgbW9kZWxcbiAgICAgKiBAcmV0dXJucyBhIGxpc3Qgb2YgZm9ybSBmaWVsZCBtb2RlbHNcbiAgICAgKi9cbiAgICBnZXRDb250YWluZXJGaWVsZHMoY29udGVudDogQ29udGFpbmVyTW9kZWwpOiBGb3JtRmllbGRNb2RlbFtdIHtcbiAgICAgICAgY29uc3Qgc2VyaWFsaXNlZEZvcm1GaWVsZHM6IEZvcm1GaWVsZE1vZGVsW10gPSBbXTtcbiAgICAgICAgY29uc3QgbWF4Q29sdW1uRmllbGRzU2l6ZSA9IHRoaXMuZ2V0TWF4Q29sdW1uRmllbGRTaXplKGNvbnRlbnQpO1xuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbWF4Q29sdW1uRmllbGRzU2l6ZTsgcm93SW5kZXgrKykge1xuICAgICAgICAgICAgY29udGVudD8uY29sdW1ucy5mbGF0TWFwKChjdXJyZW50Q29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRDb2x1bW4/LmZpZWxkc1tyb3dJbmRleF0pIHtcbiAgICAgICAgICAgICAgICAgICAgc2VyaWFsaXNlZEZvcm1GaWVsZHMucHVzaChjdXJyZW50Q29sdW1uPy5maWVsZHNbcm93SW5kZXhdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdFJvd0VsZW1lbnRDb2xTcGFuID0gY3VycmVudENvbHVtbj8uZmllbGRzWzBdPy5jb2xzcGFuO1xuICAgICAgICAgICAgICAgICAgICBpZiAoISFmaXJzdFJvd0VsZW1lbnRDb2xTcGFuICYmIHJvd0luZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaXJzdFJvd0VsZW1lbnRDb2xTcGFuOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJpYWxpc2VkRm9ybUZpZWxkcy5wdXNoKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc2VyaWFsaXNlZEZvcm1GaWVsZHM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNYXhDb2x1bW5GaWVsZFNpemUoY29udGVudDogQ29udGFpbmVyTW9kZWwpOiBudW1iZXIge1xuICAgICAgICBsZXQgbWF4RmllbGRTaXplID0gMDtcbiAgICAgICAgaWYgKGNvbnRlbnQ/LmNvbHVtbnM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIG1heEZpZWxkU2l6ZSA9IGNvbnRlbnQ/LmNvbHVtbnM/LnJlZHVjZSgocHJldkNvbHVtbiwgY3VycmVudENvbHVtbikgPT5cbiAgICAgICAgICAgICAgICBjdXJyZW50Q29sdW1uLmZpZWxkcy5sZW5ndGggPiBwcmV2Q29sdW1uPy5maWVsZHM/Lmxlbmd0aCA/IGN1cnJlbnRDb2x1bW4gOiBwcmV2Q29sdW1uXG4gICAgICAgICAgICApPy5maWVsZHM/Lmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF4RmllbGRTaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGN1bGF0ZSB0aGUgY29sdW1uIHdpZHRoIGJhc2VkIG9uIHRoZSBudW1iZXJPZkNvbHVtbnMgYW5kIGN1cnJlbnQgZmllbGQncyBjb2xzcGFuIHByb3BlcnR5XG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGFpbmVyIGNvbnRhaW5lciBtb2RlbFxuICAgICAqIEByZXR1cm5zIHRoZSBjb2x1bW4gd2lkdGggZm9yIHRoZSBnaXZlbiBtb2RlbFxuICAgICAqL1xuICAgIGdldENvbHVtbldpZHRoKGNvbnRhaW5lcjogQ29udGFpbmVyTW9kZWwpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7IGZpZWxkIH0gPSBjb250YWluZXI7XG4gICAgICAgIGNvbnN0IGNvbHNwYW4gPSBmaWVsZCA/IGZpZWxkLmNvbHNwYW4gOiAxO1xuICAgICAgICByZXR1cm4gKDEwMCAvIGZpZWxkLm51bWJlck9mQ29sdW1ucykgKiBjb2xzcGFuICsgJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBydW5NaWRkbGV3YXJlU2VydmljZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcyAmJiB0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtRmllbGRzID0gdGhpcy5mb3JtRGVmaW5pdGlvbi5nZXRGb3JtRmllbGRzKCk7XG5cbiAgICAgICAgICAgIGZvcm1GaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1pZGRsZXdhcmVTZXJ2aWNlcy5mb3JFYWNoKChtaWRkbGV3YXJlU2VydmljZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobWlkZGxld2FyZVNlcnZpY2UudHlwZSA9PT0gZmllbGQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQgPSBtaWRkbGV3YXJlU2VydmljZS5nZXRQYXJzZWRGaWVsZChmaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBpZD1cImFkZi1mb3JtLXJlbmRlcmVyXCIgY2xhc3M9XCJ7eyBmb3JtRGVmaW5pdGlvbi5jbGFzc05hbWUgfX1cIlxuICAgICBbbmdDbGFzc109XCJ7ICdhZGYtcmVhZG9ubHktZm9ybSc6IGZvcm1EZWZpbml0aW9uLnJlYWRPbmx5IH1cIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZm9ybURlZmluaXRpb24uaGFzVGFicygpXCI+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNUYWJzKClcIiBjbGFzcz1cImFsZnJlc2NvLXRhYnMtd2lkZ2V0XCI+XG4gICAgICAgICAgICA8bWF0LXRhYi1ncm91cCBbcHJlc2VydmVDb250ZW50XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LXRhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIHZpc2libGVUYWJzKClcIiBbbGFiZWxdPVwidGFiLnRpdGxlIHwgdHJhbnNsYXRlIFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbWF0VGFiQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZm9ybS10YWItY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlcjsgY29udGV4dDogeyBmaWVsZFRvUmVuZGVyOiB0YWIuZmllbGRzIH1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtdGFiPlxuICAgICAgICAgICAgPC9tYXQtdGFiLWdyb3VwPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIhZm9ybURlZmluaXRpb24uaGFzVGFicygpICYmIGZvcm1EZWZpbml0aW9uLmhhc0ZpZWxkcygpXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJlbmRlcjsgY29udGV4dDogeyBmaWVsZFRvUmVuZGVyOiBmb3JtRGVmaW5pdGlvbi5maWVsZHMgfVwiIC8+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNyZW5kZXIgbGV0LWZpZWxkVG9SZW5kZXI9XCJmaWVsZFRvUmVuZGVyXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgY3VycmVudFJvb3RFbGVtZW50IG9mIGZpZWxkVG9SZW5kZXJcIj5cbiAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudC50eXBlID09PSAnY29udGFpbmVyJyB8fCBjdXJyZW50Um9vdEVsZW1lbnQudHlwZSA9PT0gJ2dyb3VwJ1wiXG4gICAgICAgICAgICAgW2lkXT1cIidmaWVsZC0nICsgY3VycmVudFJvb3RFbGVtZW50Py5pZCArICctY29udGFpbmVyJ1wiXG4gICAgICAgICAgICAgY2xhc3M9XCJhZGYtY29udGFpbmVyLXdpZGdldFwiXG4gICAgICAgICAgICAgW2hpZGRlbl09XCIhY3VycmVudFJvb3RFbGVtZW50Py5pc1Zpc2libGVcIj5cbiAgICAgICAgICAgIDxhZGYtaGVhZGVyLXdpZGdldCBbZWxlbWVudF09XCJjdXJyZW50Um9vdEVsZW1lbnRcIiAvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudD8uZm9ybT8uZW5hYmxlRml4ZWRTcGFjZTsgZWxzZSBmaXhpbmdUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoJyArIGdldE51bWJlck9mQ29sdW1ucyhjdXJyZW50Um9vdEVsZW1lbnQpICsgJywgMWZyKScgfVwiXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudD8uaXNFeHBhbmRlZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWdyaWQtbGlzdC1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZ2V0Q29udGFpbmVyRmllbGRzKGN1cnJlbnRSb290RWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2dyaWQtYXJlYSc6ICdhdXRvIC8gYXV0byAvIHNwYW4gJyArIChmaWVsZD8ucm93c3BhbiB8fCAxKSArICcgLyBzcGFuICcgKyAoZmllbGQ/LmNvbHNwYW4gfHwgMSkgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFkZi1mb3JtLWZpZWxkICpuZ0lmPVwiZmllbGRcIiBbZmllbGRdPVwiZmllbGRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2ZpeGluZ1RlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiYWRmLWdyaWQtbGlzdC1jb2x1bW4tdmlld1wiICpuZ0lmPVwiY3VycmVudFJvb3RFbGVtZW50Py5pc0V4cGFuZGVkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0LXNpbmdsZS1jb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY3VycmVudFJvb3RFbGVtZW50Py5jb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJnZXRDb2x1bW5XaWR0aChjdXJyZW50Um9vdEVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgY29sdW1uPy5maWVsZHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ3NlY3Rpb24nOyBlbHNlIGZvcm1GaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWZvcm0tc2VjdGlvbiBbZmllbGRdPVwiZmllbGRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmb3JtRmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZ3JpZC1saXN0LWNvbHVtbi12aWV3LWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtZm9ybS1maWVsZCBbZmllbGRdPVwiZmllbGRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb2x1bW5WaWV3SXRlbSBsZXQtY29sdW1uPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1ncmlkLWxpc3QtY29sdW1uLXZpZXctaXRlbVwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb2x1bW4/LmZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgKm5nSWY9XCJmaWVsZFwiIFtmaWVsZF09XCJmaWVsZFwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudFJvb3RFbGVtZW50LnR5cGUgPT09ICdkeW5hbWljLXRhYmxlJ1wiIGNsYXNzPVwiYWRmLWNvbnRhaW5lci13aWRnZXRcIj5cbiAgICAgICAgICAgIDxhZGYtZm9ybS1maWVsZCBbZmllbGRdPVwiY3VycmVudFJvb3RFbGVtZW50XCIgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1jb250YWluZXItd2lkZ2V0XCJcbiAgICAgICAgICAgICAqbmdJZj1cImN1cnJlbnRSb290RWxlbWVudC50eXBlID09PSAncmVhZG9ubHknICYmIGN1cnJlbnRSb290RWxlbWVudC5maWVsZC5wYXJhbXMuZmllbGQudHlwZSA9PT0gJ2R5bmFtaWMtdGFibGUnXCI+XG4gICAgICAgICAgICA8YWRmLWZvcm0tZmllbGQgW2ZpZWxkXT1cImN1cnJlbnRSb290RWxlbWVudC5maWVsZFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -53,7 +53,7 @@ export class AmountWidgetComponent extends WidgetComponent {
53
53
  }
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AmountWidgetComponent, deps: [{ token: i1.FormService }, { token: ADF_AMOUNT_SETTINGS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AmountWidgetComponent, isStandalone: true, selector: "amount-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-amount-widget__container adf-amount-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n </div>\n <div class=\"adf-amount-widget-container\">\n <mat-form-field class=\"adf-amount-widget__input adf-form-field-input\" [floatLabel]=\"placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</mat-label> }\n <span matTextPrefix class=\"adf-amount-widget__prefix-spacing\">{{ currency }}&nbsp;</span>\n <input\n matInput\n [title]=\"field.tooltip\"\n class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [placeholder]=\"placeholder\"\n [value]=\"field.value\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [disabled]=\"field.readOnly\"\n (blur)=\"markAsTouched()\"\n />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-amount-widget{width:100%}.adf-amount-widget .adf-left-label{line-height:36px}.adf-amount-widget-container{display:flex;align-items:flex-start;flex-direction:column}.adf-amount-widget__input{margin-top:-15px}.adf-amount-widget__input .mat-focused{transition:none}.adf-amount-widget__input .mat-mdc-form-field-text-prefix{padding-top:16px;padding-bottom:16px;align-self:flex-end}.adf-amount-widget__input .adf-input{margin-top:3px}.adf-amount-widget__input:not(.mat-focused):not(.mat-form-field-invalid) .adf-amount-widget__prefix-spacing{color:var(--adf-theme-foreground-secondary-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AmountWidgetComponent, isStandalone: true, selector: "amount-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"adf-amount-widget__container adf-amount-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n </div>\n <div class=\"adf-amount-widget-container\">\n <mat-form-field class=\"adf-amount-widget__input adf-form-field-input\" [floatLabel]=\"placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</mat-label> }\n <span matTextPrefix class=\"adf-amount-widget__prefix-spacing\">{{ currency }}&nbsp;</span>\n <input\n matInput\n [title]=\"field.tooltip\"\n class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [placeholder]=\"placeholder\"\n [value]=\"field.value\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [disabled]=\"field.readOnly\"\n (blur)=\"markAsTouched()\"\n />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-amount-widget{width:100%}.adf-amount-widget .adf-left-label{line-height:36px}.adf-amount-widget-container{display:flex;align-items:flex-start;flex-direction:column}.adf-amount-widget__input .mat-focused{transition:none}.adf-amount-widget__input .adf-input{margin-top:3px}.adf-amount-widget__input:not(.mat-focused):not(.mat-form-field-invalid) .adf-amount-widget__prefix-spacing{color:var(--adf-theme-foreground-secondary-text-color)}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
57
57
  }
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AmountWidgetComponent, decorators: [{
59
59
  type: Component,
@@ -67,11 +67,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
67
67
  '(input)': 'event($event)',
68
68
  '(invalid)': 'event($event)',
69
69
  '(select)': 'event($event)'
70
- }, imports: [MatFormFieldModule, MatInputModule, FormsModule, ErrorWidgetComponent, TranslatePipe, NgIf], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-amount-widget__container adf-amount-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n </div>\n <div class=\"adf-amount-widget-container\">\n <mat-form-field class=\"adf-amount-widget__input adf-form-field-input\" [floatLabel]=\"placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</mat-label> }\n <span matTextPrefix class=\"adf-amount-widget__prefix-spacing\">{{ currency }}&nbsp;</span>\n <input\n matInput\n [title]=\"field.tooltip\"\n class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [placeholder]=\"placeholder\"\n [value]=\"field.value\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [disabled]=\"field.readOnly\"\n (blur)=\"markAsTouched()\"\n />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-amount-widget{width:100%}.adf-amount-widget .adf-left-label{line-height:36px}.adf-amount-widget-container{display:flex;align-items:flex-start;flex-direction:column}.adf-amount-widget__input{margin-top:-15px}.adf-amount-widget__input .mat-focused{transition:none}.adf-amount-widget__input .mat-mdc-form-field-text-prefix{padding-top:16px;padding-bottom:16px;align-self:flex-end}.adf-amount-widget__input .adf-input{margin-top:3px}.adf-amount-widget__input:not(.mat-focused):not(.mat-form-field-invalid) .adf-amount-widget__prefix-spacing{color:var(--adf-theme-foreground-secondary-text-color)}\n"] }]
70
+ }, imports: [MatFormFieldModule, MatInputModule, FormsModule, ErrorWidgetComponent, TranslatePipe, NgIf], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"adf-amount-widget__container adf-amount-widget {{field.className}}\"\n [class.adf-invalid]=\"!field.isValid && isTouched()\"\n [class.adf-readonly]=\"field.readOnly\"\n [class.adf-left-label-input-container]=\"field.leftLabels\"\n>\n <div *ngIf=\"field.leftLabels\">\n <label class=\"adf-label adf-left-label\" [attr.for]=\"field.id\"\n >{{field.name | translate }}<span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label\n >\n </div>\n <div class=\"adf-amount-widget-container\">\n <mat-form-field class=\"adf-amount-widget__input adf-form-field-input\" [floatLabel]=\"placeholder ? 'always' : null\">\n @if ( (field.name || field?.required) && !field.leftLabels) { <mat-label class=\"adf-label\" [attr.for]=\"field.id\">{{field.name | translate }}</mat-label> }\n <span matTextPrefix class=\"adf-amount-widget__prefix-spacing\">{{ currency }}&nbsp;</span>\n <input\n matInput\n [title]=\"field.tooltip\"\n class=\"adf-input\"\n type=\"text\"\n [id]=\"field.id\"\n [required]=\"field.required && field.isVisible\"\n [placeholder]=\"placeholder\"\n [value]=\"field.value\"\n [(ngModel)]=\"field.value\"\n (ngModelChange)=\"onFieldChanged(field)\"\n [disabled]=\"field.readOnly\"\n (blur)=\"markAsTouched()\"\n />\n </mat-form-field>\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n <error-widget\n *ngIf=\"isInvalidFieldRequired() && isTouched()\"\n required=\"{{ 'FORM.FIELD.REQUIRED' | translate }}\"\n />\n </div>\n </div>\n</div>\n", styles: [".adf-amount-widget{width:100%}.adf-amount-widget .adf-left-label{line-height:36px}.adf-amount-widget-container{display:flex;align-items:flex-start;flex-direction:column}.adf-amount-widget__input .mat-focused{transition:none}.adf-amount-widget__input .adf-input{margin-top:3px}.adf-amount-widget__input:not(.mat-focused):not(.mat-form-field-invalid) .adf-amount-widget__prefix-spacing{color:var(--adf-theme-foreground-secondary-text-color)}\n"] }]
71
71
  }], ctorParameters: () => [{ type: i1.FormService }, { type: undefined, decorators: [{
72
72
  type: Inject,
73
73
  args: [ADF_AMOUNT_SETTINGS]
74
74
  }, {
75
75
  type: Optional
76
76
  }] }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50LndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvYW1vdW50L2Ftb3VudC53aWRnZXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2Ftb3VudC9hbW91bnQud2lkZ2V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQU10RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUJBQXFCLENBQUMsQ0FBQztBQXFCbkcsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWU7YUFDL0MscUJBQWdCLEdBQVcsR0FBRyxBQUFkLENBQWU7SUFLdEMsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRCxZQUNXLFdBQXdCLEVBR3ZCLFFBQThCO1FBRXRDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUxaLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBR3ZCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBWmxDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRS9CLGFBQVEsR0FBVyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQztJQWExRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ3hDLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQztZQUNsRSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7K0dBN0JRLHFCQUFxQiw2Q0FZbEIsbUJBQW1CO21HQVp0QixxQkFBcUIsMldDdERsQyw4M0RBdUNBLGdwQkRZYyxrQkFBa0IsMmFBQUUsY0FBYywwV0FBRSxXQUFXLDQwQkFBRSxvQkFBb0IsbUZBQUUsYUFBYSxrREFBRSxJQUFJOzs0RkFHM0YscUJBQXFCO2tCQW5CakMsU0FBUzsrQkFDSSxlQUFlLGNBQ2IsSUFBSSxRQUdWO3dCQUNGLFNBQVMsRUFBRSxlQUFlO3dCQUMxQixRQUFRLEVBQUUsZUFBZTt3QkFDekIsVUFBVSxFQUFFLGVBQWU7d0JBQzNCLFNBQVMsRUFBRSxlQUFlO3dCQUMxQixXQUFXLEVBQUUsZUFBZTt3QkFDNUIsWUFBWSxFQUFFLGVBQWU7d0JBQzdCLFNBQVMsRUFBRSxlQUFlO3dCQUMxQixXQUFXLEVBQUUsZUFBZTt3QkFDNUIsVUFBVSxFQUFFLGVBQWU7cUJBQzlCLFdBQ1EsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQ3RGLGlCQUFpQixDQUFDLElBQUk7OzBCQWNoQyxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3IgKi9cblxuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24sIEluamVjdGlvblRva2VuLCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Zvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBFcnJvcldpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL2Vycm9yL2Vycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXRDb21wb25lbnQgfSBmcm9tICcuLi93aWRnZXQuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBBbW91bnRXaWRnZXRTZXR0aW5ncyB7XG4gICAgc2hvd1JlYWRvbmx5UGxhY2Vob2xkZXI6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBBREZfQU1PVU5UX1NFVFRJTkdTID0gbmV3IEluamVjdGlvblRva2VuPEFtb3VudFdpZGdldFNldHRpbmdzPignYWRmLWFtb3VudC1zZXR0aW5ncycpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Ftb3VudC13aWRnZXQnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ftb3VudC53aWRnZXQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYW1vdW50LndpZGdldC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c2luKSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1c291dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW5wdXQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGludmFsaWQpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKHNlbGVjdCknOiAnZXZlbnQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGltcG9ydHM6IFtNYXRGb3JtRmllbGRNb2R1bGUsIE1hdElucHV0TW9kdWxlLCBGb3Jtc01vZHVsZSwgRXJyb3JXaWRnZXRDb21wb25lbnQsIFRyYW5zbGF0ZVBpcGUsIE5nSWZdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQW1vdW50V2lkZ2V0Q29tcG9uZW50IGV4dGVuZHMgV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdGF0aWMgREVGQVVMVF9DVVJSRU5DWTogc3RyaW5nID0gJyQnO1xuICAgIHByaXZhdGUgc2hvd1BsYWNlaG9sZGVyID0gdHJ1ZTtcblxuICAgIGN1cnJlbmN5OiBzdHJpbmcgPSBBbW91bnRXaWRnZXRDb21wb25lbnQuREVGQVVMVF9DVVJSRU5DWTtcblxuICAgIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93UGxhY2Vob2xkZXIgPyB0aGlzLmZpZWxkLnBsYWNlaG9sZGVyIDogJyc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBmb3JtU2VydmljZTogRm9ybVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoQURGX0FNT1VOVF9TRVRUSU5HUylcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgcHJpdmF0ZSBzZXR0aW5nczogQW1vdW50V2lkZ2V0U2V0dGluZ3NcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybVNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5maWVsZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQuY3VycmVuY3kpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbmN5ID0gdGhpcy5maWVsZC5jdXJyZW5jeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZmllbGQucmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dQbGFjZWhvbGRlciA9IHRoaXMuc2V0dGluZ3M/LnNob3dSZWFkb25seVBsYWNlaG9sZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiYWRmLWFtb3VudC13aWRnZXRfX2NvbnRhaW5lciBhZGYtYW1vdW50LXdpZGdldCB7e2ZpZWxkLmNsYXNzTmFtZX19XCJcbiAgICBbY2xhc3MuYWRmLWludmFsaWRdPVwiIWZpZWxkLmlzVmFsaWQgJiYgaXNUb3VjaGVkKClcIlxuICAgIFtjbGFzcy5hZGYtcmVhZG9ubHldPVwiZmllbGQucmVhZE9ubHlcIlxuICAgIFtjbGFzcy5hZGYtbGVmdC1sYWJlbC1pbnB1dC1jb250YWluZXJdPVwiZmllbGQubGVmdExhYmVsc1wiXG4+XG4gICAgPGRpdiAqbmdJZj1cImZpZWxkLmxlZnRMYWJlbHNcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYWRmLWxhYmVsIGFkZi1sZWZ0LWxhYmVsXCIgW2F0dHIuZm9yXT1cImZpZWxkLmlkXCJcbiAgICAgICAgICAgID57e2ZpZWxkLm5hbWUgfCB0cmFuc2xhdGUgfX08c3BhbiBjbGFzcz1cImFkZi1hc3Rlcmlza1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImlzUmVxdWlyZWQoKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCI+Kjwvc3Bhbj48L2xhYmVsXG4gICAgICAgID5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWFtb3VudC13aWRnZXQtY29udGFpbmVyXCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1hbW91bnQtd2lkZ2V0X19pbnB1dCBhZGYtZm9ybS1maWVsZC1pbnB1dFwiIFtmbG9hdExhYmVsXT1cInBsYWNlaG9sZGVyID8gJ2Fsd2F5cycgOiBudWxsXCI+XG4gICAgICAgICAgICBAaWYgKCAoZmllbGQubmFtZSB8fCBmaWVsZD8ucmVxdWlyZWQpICYmICFmaWVsZC5sZWZ0TGFiZWxzKSB7IDxtYXQtbGFiZWwgY2xhc3M9XCJhZGYtbGFiZWxcIiBbYXR0ci5mb3JdPVwiZmllbGQuaWRcIj57e2ZpZWxkLm5hbWUgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD4gfVxuICAgICAgICAgICAgPHNwYW4gbWF0VGV4dFByZWZpeCBjbGFzcz1cImFkZi1hbW91bnQtd2lkZ2V0X19wcmVmaXgtc3BhY2luZ1wiPnt7IGN1cnJlbmN5IH19Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiZmllbGQudG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtaW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiZmllbGQuaWRcIlxuICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJmaWVsZC5yZXF1aXJlZCAmJiBmaWVsZC5pc1Zpc2libGVcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImZpZWxkLnZhbHVlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZpZWxkLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkZpZWxkQ2hhbmdlZChmaWVsZClcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5yZWFkT25seVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwibWFya0FzVG91Y2hlZCgpXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtZXJyb3ItbWVzc2FnZXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZXJyb3Itd2lkZ2V0IFtlcnJvcl09XCJmaWVsZC52YWxpZGF0aW9uU3VtbWFyeVwiIC8+XG4gICAgICAgICAgICA8ZXJyb3Itd2lkZ2V0XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0ludmFsaWRGaWVsZFJlcXVpcmVkKCkgJiYgaXNUb3VjaGVkKClcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkPVwie3sgJ0ZPUk0uRklFTEQuUkVRVUlSRUQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50LndpZGdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9jb21wb25lbnRzL3dpZGdldHMvYW1vdW50L2Ftb3VudC53aWRnZXQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2Zvcm0vY29tcG9uZW50cy93aWRnZXRzL2Ftb3VudC9hbW91bnQud2lkZ2V0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsdURBQXVEO0FBRXZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQU10RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBdUIscUJBQXFCLENBQUMsQ0FBQztBQXFCbkcsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQWU7YUFDL0MscUJBQWdCLEdBQVcsR0FBRyxBQUFkLENBQWU7SUFLdEMsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFRCxZQUNXLFdBQXdCLEVBR3ZCLFFBQThCO1FBRXRDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUxaLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBR3ZCLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBWmxDLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRS9CLGFBQVEsR0FBVyxxQkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQztJQWExRCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1lBQ3hDLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQztZQUNsRSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7K0dBN0JRLHFCQUFxQiw2Q0FZbEIsbUJBQW1CO21HQVp0QixxQkFBcUIsMldDdERsQyw4M0RBdUNBLGtmRFljLGtCQUFrQiwyYUFBRSxjQUFjLDBXQUFFLFdBQVcsNDBCQUFFLG9CQUFvQixtRkFBRSxhQUFhLGtEQUFFLElBQUk7OzRGQUczRixxQkFBcUI7a0JBbkJqQyxTQUFTOytCQUNJLGVBQWUsY0FDYixJQUFJLFFBR1Y7d0JBQ0YsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFFBQVEsRUFBRSxlQUFlO3dCQUN6QixVQUFVLEVBQUUsZUFBZTt3QkFDM0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixZQUFZLEVBQUUsZUFBZTt3QkFDN0IsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLFdBQVcsRUFBRSxlQUFlO3dCQUM1QixVQUFVLEVBQUUsZUFBZTtxQkFDOUIsV0FDUSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFDdEYsaUJBQWlCLENBQUMsSUFBSTs7MEJBY2hDLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xuXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5qZWN0aW9uVG9rZW4sIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3IvZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFtb3VudFdpZGdldFNldHRpbmdzIHtcbiAgICBzaG93UmVhZG9ubHlQbGFjZWhvbGRlcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IEFERl9BTU9VTlRfU0VUVElOR1MgPSBuZXcgSW5qZWN0aW9uVG9rZW48QW1vdW50V2lkZ2V0U2V0dGluZ3M+KCdhZGYtYW1vdW50LXNldHRpbmdzJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYW1vdW50LXdpZGdldCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYW1vdW50LndpZGdldC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hbW91bnQud2lkZ2V0LnNjc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGNoYW5nZSknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoZm9jdXMpJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3VzaW4pJzogJ2V2ZW50KCRldmVudCknLFxuICAgICAgICAnKGZvY3Vzb3V0KSc6ICdldmVudCgkZXZlbnQpJyxcbiAgICAgICAgJyhpbnB1dCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoaW52YWxpZCknOiAnZXZlbnQoJGV2ZW50KScsXG4gICAgICAgICcoc2VsZWN0KSc6ICdldmVudCgkZXZlbnQpJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW01hdEZvcm1GaWVsZE1vZHVsZSwgTWF0SW5wdXRNb2R1bGUsIEZvcm1zTW9kdWxlLCBFcnJvcldpZGdldENvbXBvbmVudCwgVHJhbnNsYXRlUGlwZSwgTmdJZl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBBbW91bnRXaWRnZXRDb21wb25lbnQgZXh0ZW5kcyBXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHN0YXRpYyBERUZBVUxUX0NVUlJFTkNZOiBzdHJpbmcgPSAnJCc7XG4gICAgcHJpdmF0ZSBzaG93UGxhY2Vob2xkZXIgPSB0cnVlO1xuXG4gICAgY3VycmVuY3k6IHN0cmluZyA9IEFtb3VudFdpZGdldENvbXBvbmVudC5ERUZBVUxUX0NVUlJFTkNZO1xuXG4gICAgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dQbGFjZWhvbGRlciA/IHRoaXMuZmllbGQucGxhY2Vob2xkZXIgOiAnJztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGZvcm1TZXJ2aWNlOiBGb3JtU2VydmljZSxcbiAgICAgICAgQEluamVjdChBREZfQU1PVU5UX1NFVFRJTkdTKVxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIHNldHRpbmdzOiBBbW91bnRXaWRnZXRTZXR0aW5nc1xuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtU2VydmljZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5jdXJyZW5jeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVuY3kgPSB0aGlzLmZpZWxkLmN1cnJlbmN5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5yZWFkT25seSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1BsYWNlaG9sZGVyID0gdGhpcy5zZXR0aW5ncz8uc2hvd1JlYWRvbmx5UGxhY2Vob2xkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJhZGYtYW1vdW50LXdpZGdldF9fY29udGFpbmVyIGFkZi1hbW91bnQtd2lkZ2V0IHt7ZmllbGQuY2xhc3NOYW1lfX1cIlxuICAgIFtjbGFzcy5hZGYtaW52YWxpZF09XCIhZmllbGQuaXNWYWxpZCAmJiBpc1RvdWNoZWQoKVwiXG4gICAgW2NsYXNzLmFkZi1yZWFkb25seV09XCJmaWVsZC5yZWFkT25seVwiXG4gICAgW2NsYXNzLmFkZi1sZWZ0LWxhYmVsLWlucHV0LWNvbnRhaW5lcl09XCJmaWVsZC5sZWZ0TGFiZWxzXCJcbj5cbiAgICA8ZGl2ICpuZ0lmPVwiZmllbGQubGVmdExhYmVsc1wiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhZGYtbGFiZWwgYWRmLWxlZnQtbGFiZWxcIiBbYXR0ci5mb3JdPVwiZmllbGQuaWRcIlxuICAgICAgICAgICAgPnt7ZmllbGQubmFtZSB8IHRyYW5zbGF0ZSB9fTxzcGFuIGNsYXNzPVwiYWRmLWFzdGVyaXNrXCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNSZXF1aXJlZCgpID8gJ3Zpc2libGUnIDogJ2hpZGRlbidcIj4qPC9zcGFuPjwvbGFiZWxcbiAgICAgICAgPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJhZGYtYW1vdW50LXdpZGdldC1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWRmLWFtb3VudC13aWRnZXRfX2lucHV0IGFkZi1mb3JtLWZpZWxkLWlucHV0XCIgW2Zsb2F0TGFiZWxdPVwicGxhY2Vob2xkZXIgPyAnYWx3YXlzJyA6IG51bGxcIj5cbiAgICAgICAgICAgIEBpZiAoIChmaWVsZC5uYW1lIHx8IGZpZWxkPy5yZXF1aXJlZCkgJiYgIWZpZWxkLmxlZnRMYWJlbHMpIHsgPG1hdC1sYWJlbCBjbGFzcz1cImFkZi1sYWJlbFwiIFthdHRyLmZvcl09XCJmaWVsZC5pZFwiPnt7ZmllbGQubmFtZSB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPiB9XG4gICAgICAgICAgICA8c3BhbiBtYXRUZXh0UHJlZml4IGNsYXNzPVwiYWRmLWFtb3VudC13aWRnZXRfX3ByZWZpeC1zcGFjaW5nXCI+e3sgY3VycmVuY3kgfX0mbmJzcDs8L3NwYW4+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJmaWVsZC50b29sdGlwXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1pbnB1dFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIFtpZF09XCJmaWVsZC5pZFwiXG4gICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImZpZWxkLnJlcXVpcmVkICYmIGZpZWxkLmlzVmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZmllbGQudmFsdWVcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmllbGRDaGFuZ2VkKGZpZWxkKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnJlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJtYXJrQXNUb3VjaGVkKClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lcnJvci1tZXNzYWdlcy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxlcnJvci13aWRnZXQgW2Vycm9yXT1cImZpZWxkLnZhbGlkYXRpb25TdW1tYXJ5XCIgLz5cbiAgICAgICAgICAgIDxlcnJvci13aWRnZXRcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzSW52YWxpZEZpZWxkUmVxdWlyZWQoKSAmJiBpc1RvdWNoZWQoKVwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ9XCJ7eyAnRk9STS5GSUVMRC5SRVFVSVJFRCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -40,7 +40,7 @@ export class BaseViewerWidgetComponent extends WidgetComponent {
40
40
  }
41
41
  }
42
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseViewerWidgetComponent, deps: [{ token: i1.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseViewerWidgetComponent, isStandalone: true, selector: "base-viewer-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-base-viewer-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\">\n <label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label>\n <adf-viewer [urlFile]=\"field.value.urlFile\"\n [blobFile]=\"field.value.blobFile\"\n [fileName]=\"field.value.fileName\"\n [showViewer]=\"field.value?.blobFile || field.value?.urlFile\"\n [allowGoBack]=\"false\" />\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n </div>\n</div>\n", styles: ["base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer{position:relative}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer .adf-viewer-container .adf-viewer-content>div{height:90vh}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ViewerComponent, selector: "adf-viewer", inputs: ["urlFile", "blobFile", "showViewer", "allowGoBack", "allowFullScreen", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "sidebarRightTemplate", "sidebarLeftTemplate", "readOnly", "allowedEditActions", "tracks", "mimeType", "sidebarRightTemplateContext", "sidebarLeftTemplateContext", "closeButtonPosition", "hideInfoButton", "viewerExtensions", "nodeId", "nodeMimeType", "customError", "showToolbarDividers", "fileName", "title"], outputs: ["downloadFile", "navigateBefore", "navigateNext", "showViewerChange", "submitFile"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BaseViewerWidgetComponent, isStandalone: true, selector: "base-viewer-widget", host: { listeners: { "click": "event($event)", "blur": "event($event)", "change": "event($event)", "focus": "event($event)", "focusin": "event($event)", "focusout": "event($event)", "input": "event($event)", "invalid": "event($event)", "select": "event($event)" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"adf-base-viewer-widget {{ field.className }}\"\n [class.adf-invalid]=\"!field.isValid\"\n [class.adf-readonly]=\"field.readOnly\">\n <label class=\"adf-label\" [attr.for]=\"field.id\">\n {{ field.name | translate }}\n <span class=\"adf-asterisk\" [style.visibility]=\"isRequired() ? 'visible' : 'hidden'\">*</span></label>\n <adf-viewer [urlFile]=\"field.value.urlFile\"\n [blobFile]=\"field.value.blobFile\"\n [fileName]=\"field.value.fileName\"\n [showViewer]=\"field.value?.blobFile || field.value?.urlFile\"\n [allowGoBack]=\"false\" />\n <div class=\"adf-error-messages-container\">\n <error-widget [error]=\"field.validationSummary\" />\n </div>\n</div>\n", styles: ["base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget{height:100%;width:100%}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer{position:relative}base-viewer-widget .adf-base-viewer-widget adf-viewer.adf-viewer .adf-viewer-container .adf-viewer-content>div{height:90vh}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ViewerComponent, selector: "adf-viewer", inputs: ["urlFile", "blobFile", "showViewer", "allowGoBack", "allowFullScreen", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "sidebarRightTemplate", "sidebarLeftTemplate", "readOnly", "allowedEditActions", "tracks", "mimeType", "sidebarRightTemplateContext", "sidebarLeftTemplateContext", "closeButtonPosition", "hideInfoButton", "viewerExtensions", "nodeId", "nodeMimeType", "customError", "showToolbarDividers", "title", "fileName"], outputs: ["downloadFile", "navigateBefore", "navigateNext", "showViewerChange", "submitFile"] }, { kind: "component", type: ErrorWidgetComponent, selector: "error-widget", inputs: ["error", "required"] }], encapsulation: i0.ViewEncapsulation.None }); }
44
44
  }
45
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BaseViewerWidgetComponent, decorators: [{
46
46
  type: Component,
@@ -19,8 +19,6 @@ import { StartFormCustomButtonDirective } from './components/form-custom-button.
19
19
  import { FormFieldComponent } from './components/form-field/form-field.component';
20
20
  import { FormRendererComponent } from './components/form-renderer.component';
21
21
  import { InplaceFormInputComponent } from './components/inplace-form-input/inplace-form-input.component';
22
- import { DecimalRenderMiddlewareService } from './components/middlewares/decimal-middleware.service';
23
- import { FORM_FIELD_MODEL_RENDER_MIDDLEWARE } from './components/middlewares/middleware';
24
22
  import { MASK_DIRECTIVE, WIDGET_DIRECTIVES, WidgetComponent } from './components/widgets';
25
23
  import * as i0 from "@angular/core";
26
24
  import * as i1 from "./components/widgets/unknown/unknown.widget";
@@ -38,6 +36,7 @@ import * as i12 from "./components/widgets/date-time/date-time.widget";
38
36
  import * as i13 from "./components/widgets/json/json.widget";
39
37
  import * as i14 from "./components/widgets/base-viewer/base-viewer.widget";
40
38
  import * as i15 from "./components/widgets/text/text-mask.component";
39
+ /** @deprecated This module is deprecated and will be removed in a future release. Use standalone components instead. */
41
40
  export class FormBaseModule {
42
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormBaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
43
42
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FormBaseModule, imports: [FormFieldComponent,
@@ -48,13 +47,7 @@ export class FormBaseModule {
48
47
  FormRendererComponent,
49
48
  StartFormCustomButtonDirective, i1.UnknownWidgetComponent, i2.TextWidgetComponent, i3.NumberWidgetComponent, i4.DecimalWidgetComponent, i5.CheckboxWidgetComponent, i6.MultilineTextWidgetComponentComponent, i7.HyperlinkWidgetComponent, i8.DisplayTextWidgetComponent, i9.DateWidgetComponent, i10.AmountWidgetComponent, i11.ErrorWidgetComponent, i12.DateTimeWidgetComponent, i13.JsonWidgetComponent, i14.BaseViewerWidgetComponent, InplaceFormInputComponent,
50
49
  WidgetComponent] }); }
51
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormBaseModule, providers: [
52
- {
53
- provide: FORM_FIELD_MODEL_RENDER_MIDDLEWARE,
54
- useClass: DecimalRenderMiddlewareService,
55
- multi: true
56
- }
57
- ], imports: [FormRendererComponent,
50
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormBaseModule, imports: [FormRendererComponent,
58
51
  InplaceFormInputComponent, i1.UnknownWidgetComponent, i2.TextWidgetComponent, i3.NumberWidgetComponent, i4.DecimalWidgetComponent, i5.CheckboxWidgetComponent, i6.MultilineTextWidgetComponentComponent, i9.DateWidgetComponent, i10.AmountWidgetComponent, i11.ErrorWidgetComponent, i12.DateTimeWidgetComponent, i13.JsonWidgetComponent, i14.BaseViewerWidgetComponent] }); }
59
52
  }
60
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormBaseModule, decorators: [{
@@ -69,7 +62,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
69
62
  ...WIDGET_DIRECTIVES,
70
63
  ...MASK_DIRECTIVE
71
64
  ],
72
- declarations: [],
73
65
  exports: [
74
66
  FormFieldComponent,
75
67
  FormRendererComponent,
@@ -77,14 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
77
69
  ...WIDGET_DIRECTIVES,
78
70
  InplaceFormInputComponent,
79
71
  WidgetComponent
80
- ],
81
- providers: [
82
- {
83
- provide: FORM_FIELD_MODEL_RENDER_MIDDLEWARE,
84
- useClass: DecimalRenderMiddlewareService,
85
- multi: true
86
- }
87
72
  ]
88
73
  }]
89
74
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9mb3JtLWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDckcsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QjFGLE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxZQXpCbkIsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsOEJBQThCO1lBQzlCLHlCQUF5QixpYkFNekIsa0JBQWtCO1lBQ2xCLHFCQUFxQjtZQUNyQiw4QkFBOEIsOFlBRTlCLHlCQUF5QjtZQUN6QixlQUFlO2dIQVVWLGNBQWMsYUFSWjtZQUNQO2dCQUNJLE9BQU8sRUFBRSxrQ0FBa0M7Z0JBQzNDLFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixZQXRCRyxxQkFBcUI7WUFHckIseUJBQXlCOzs0RkFxQnBCLGNBQWM7a0JBM0IxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZiw4QkFBOEI7d0JBQzlCLHlCQUF5Qjt3QkFDekIsR0FBRyxpQkFBaUI7d0JBQ3BCLEdBQUcsY0FBYztxQkFDcEI7b0JBQ0QsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsOEJBQThCO3dCQUM5QixHQUFHLGlCQUFpQjt3QkFDcEIseUJBQXlCO3dCQUN6QixlQUFlO3FCQUNsQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGtDQUFrQzs0QkFDM0MsUUFBUSxFQUFFLDhCQUE4Qjs0QkFDeEMsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGFydEZvcm1DdXN0b21CdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1jdXN0b20tYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wbGFjZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnBsYWNlLWZvcm0taW5wdXQvaW5wbGFjZS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZWNpbWFsUmVuZGVyTWlkZGxld2FyZVNlcnZpY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvbWlkZGxld2FyZXMvZGVjaW1hbC1taWRkbGV3YXJlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRk9STV9GSUVMRF9NT0RFTF9SRU5ERVJfTUlERExFV0FSRSB9IGZyb20gJy4vY29tcG9uZW50cy9taWRkbGV3YXJlcy9taWRkbGV3YXJlJztcbmltcG9ydCB7IE1BU0tfRElSRUNUSVZFLCBXSURHRVRfRElSRUNUSVZFUywgV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3dpZGdldHMnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBGb3JtUmVuZGVyZXJDb21wb25lbnQsXG4gICAgICAgIFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgU3RhcnRGb3JtQ3VzdG9tQnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBJbnBsYWNlRm9ybUlucHV0Q29tcG9uZW50LFxuICAgICAgICAuLi5XSURHRVRfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uTUFTS19ESVJFQ1RJVkVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW10sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGb3JtRmllbGRDb21wb25lbnQsXG4gICAgICAgIEZvcm1SZW5kZXJlckNvbXBvbmVudCxcbiAgICAgICAgU3RhcnRGb3JtQ3VzdG9tQnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICAuLi5XSURHRVRfRElSRUNUSVZFUyxcbiAgICAgICAgSW5wbGFjZUZvcm1JbnB1dENvbXBvbmVudCxcbiAgICAgICAgV2lkZ2V0Q29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRk9STV9GSUVMRF9NT0RFTF9SRU5ERVJfTUlERExFV0FSRSxcbiAgICAgICAgICAgIHVzZUNsYXNzOiBEZWNpbWFsUmVuZGVyTWlkZGxld2FyZVNlcnZpY2UsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQmFzZU1vZHVsZSB7fVxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvZm9ybS9mb3JtLWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUYsd0hBQXdIO0FBb0J4SCxNQUFNLE9BQU8sY0FBYzsrR0FBZCxjQUFjO2dIQUFkLGNBQWMsWUFqQm5CLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLDhCQUE4QjtZQUM5Qix5QkFBeUIsaWJBS3pCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsOEJBQThCLDhZQUU5Qix5QkFBeUI7WUFDekIsZUFBZTtnSEFHVixjQUFjLFlBaEJuQixxQkFBcUI7WUFHckIseUJBQXlCOzs0RkFhcEIsY0FBYztrQkFuQjFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLDhCQUE4Qjt3QkFDOUIseUJBQXlCO3dCQUN6QixHQUFHLGlCQUFpQjt3QkFDcEIsR0FBRyxjQUFjO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLDhCQUE4Qjt3QkFDOUIsR0FBRyxpQkFBaUI7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsZUFBZTtxQkFDbEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGFydEZvcm1DdXN0b21CdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1jdXN0b20tYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wbGFjZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnBsYWNlLWZvcm0taW5wdXQvaW5wbGFjZS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNQVNLX0RJUkVDVElWRSwgV0lER0VUX0RJUkVDVElWRVMsIFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzJztcblxuLyoqIEBkZXByZWNhdGVkIFRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlLiBVc2Ugc3RhbmRhbG9uZSBjb21wb25lbnRzIGluc3RlYWQuICovXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBGb3JtUmVuZGVyZXJDb21wb25lbnQsXG4gICAgICAgIFdpZGdldENvbXBvbmVudCxcbiAgICAgICAgU3RhcnRGb3JtQ3VzdG9tQnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBJbnBsYWNlRm9ybUlucHV0Q29tcG9uZW50LFxuICAgICAgICAuLi5XSURHRVRfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uTUFTS19ESVJFQ1RJVkVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgICAgICBGb3JtUmVuZGVyZXJDb21wb25lbnQsXG4gICAgICAgIFN0YXJ0Rm9ybUN1c3RvbUJ1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgLi4uV0lER0VUX0RJUkVDVElWRVMsXG4gICAgICAgIElucGxhY2VGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgICAgIFdpZGdldENvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUJhc2VNb2R1bGUge31cbiJdfQ==
@@ -21,6 +21,7 @@ import { NoopTranslateModule } from './noop-translate.module';
21
21
  import { NoopAuthModule } from './noop-auth.module';
22
22
  import * as i0 from "@angular/core";
23
23
  import * as i1 from "../core.module";
24
+ /** @deprecated this module is deprecated and will be removed in the future */
24
25
  export class CoreTestingModule {
25
26
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CoreTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
27
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CoreTestingModule, imports: [NoopAnimationsModule, i1.CoreModule, NoopTranslateModule, NoopAuthModule] }); }
@@ -32,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
32
33
  imports: [NoopAnimationsModule, CoreModule.forRoot(), NoopTranslateModule, NoopAuthModule]
33
34
  }]
34
35
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS50ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvdGVzdGluZy9jb3JlLnRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBS3BELE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLFlBRmhCLG9CQUFvQixpQkFBd0IsbUJBQW1CLEVBQUUsY0FBYztnSEFFaEYsaUJBQWlCLFlBRmhCLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxjQUFjOzs0RkFFaEYsaUJBQWlCO2tCQUg3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7aUJBQzdGIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9vcEFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJy4uL2NvcmUubW9kdWxlJztcbmltcG9ydCB7IE5vb3BUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICcuL25vb3AtdHJhbnNsYXRlLm1vZHVsZSc7XG5pbXBvcnQgeyBOb29wQXV0aE1vZHVsZSB9IGZyb20gJy4vbm9vcC1hdXRoLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW05vb3BBbmltYXRpb25zTW9kdWxlLCBDb3JlTW9kdWxlLmZvclJvb3QoKSwgTm9vcFRyYW5zbGF0ZU1vZHVsZSwgTm9vcEF1dGhNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENvcmVUZXN0aW5nTW9kdWxlIHt9XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS50ZXN0aW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvdGVzdGluZy9jb3JlLnRlc3RpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXBELDhFQUE4RTtBQUk5RSxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixZQUZoQixvQkFBb0IsaUJBQXdCLG1CQUFtQixFQUFFLGNBQWM7Z0hBRWhGLGlCQUFpQixZQUZoQixvQkFBb0IsRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsY0FBYzs7NEZBRWhGLGlCQUFpQjtrQkFIN0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO2lCQUM3RiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vb3BBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICcuLi9jb3JlLm1vZHVsZSc7XG5pbXBvcnQgeyBOb29wVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnLi9ub29wLXRyYW5zbGF0ZS5tb2R1bGUnO1xuaW1wb3J0IHsgTm9vcEF1dGhNb2R1bGUgfSBmcm9tICcuL25vb3AtYXV0aC5tb2R1bGUnO1xuXG4vKiogQGRlcHJlY2F0ZWQgdGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBmdXR1cmUgKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW05vb3BBbmltYXRpb25zTW9kdWxlLCBDb3JlTW9kdWxlLmZvclJvb3QoKSwgTm9vcFRyYW5zbGF0ZU1vZHVsZSwgTm9vcEF1dGhNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENvcmVUZXN0aW5nTW9kdWxlIHt9XG4iXX0=
@@ -16,11 +16,10 @@
16
16
  */
17
17
  import { EventEmitter, Injectable, NgModule } from '@angular/core';
18
18
  import { HttpClientTestingModule } from '@angular/common/http/testing';
19
- import { TranslateModule } from '@ngx-translate/core';
19
+ import { provideTranslateService, TranslateLoader } from '@ngx-translate/core';
20
20
  import { TranslationService } from '../translation/translation.service';
21
21
  import { of } from 'rxjs';
22
22
  import * as i0 from "@angular/core";
23
- import * as i1 from "@ngx-translate/core";
24
23
  export class NoopTranslationService {
25
24
  constructor() {
26
25
  this.defaultLang = 'en';
@@ -47,15 +46,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
47
46
  }] });
48
47
  export class NoopTranslateModule {
49
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoopTranslateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
50
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NoopTranslateModule, imports: [HttpClientTestingModule, i1.TranslateModule], exports: [TranslateModule] }); }
51
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoopTranslateModule, providers: [{ provide: TranslationService, useClass: NoopTranslationService }], imports: [HttpClientTestingModule, TranslateModule.forRoot(), TranslateModule] }); }
49
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NoopTranslateModule, imports: [HttpClientTestingModule] }); }
50
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoopTranslateModule, providers: [
51
+ { provide: TranslationService, useClass: NoopTranslationService },
52
+ provideTranslateService({
53
+ loader: {
54
+ provide: TranslateLoader,
55
+ useClass: NoopTranslationService
56
+ }
57
+ })
58
+ ], imports: [HttpClientTestingModule] }); }
52
59
  }
53
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NoopTranslateModule, decorators: [{
54
61
  type: NgModule,
55
62
  args: [{
56
- imports: [HttpClientTestingModule, TranslateModule.forRoot()],
57
- providers: [{ provide: TranslationService, useClass: NoopTranslationService }],
58
- exports: [TranslateModule]
63
+ imports: [HttpClientTestingModule],
64
+ providers: [
65
+ { provide: TranslationService, useClass: NoopTranslationService },
66
+ provideTranslateService({
67
+ loader: {
68
+ provide: TranslateLoader,
69
+ useClass: NoopTranslationService
70
+ }
71
+ })
72
+ ]
59
73
  }]
60
74
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC10cmFuc2xhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi90ZXN0aW5nL25vb3AtdHJhbnNsYXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUd0QyxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRUksZ0JBQVcsR0FBVyxJQUFJLENBQUM7UUFJM0IsY0FBUyxHQUFRO1lBQ2IsWUFBWSxFQUFFLElBQUksWUFBWSxFQUFtQjtTQUNwRCxDQUFDO0tBY0w7SUFaRyxvQkFBb0IsS0FBSSxDQUFDO0lBQ3pCLG9CQUFvQixLQUFJLENBQUM7SUFDekIsR0FBRyxLQUFTLENBQUM7SUFDYixlQUFlLEtBQUksQ0FBQztJQUVwQixHQUFHLENBQUMsR0FBMkI7UUFDM0IsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUEyQjtRQUMvQixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7K0dBcEJRLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRFQsTUFBTTs7NEZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7O0FBNkJsQyxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixZQUpsQix1QkFBdUIsaUNBRXZCLGVBQWU7Z0hBRWhCLG1CQUFtQixhQUhqQixDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLFlBRHBFLHVCQUF1QixFQUFFLGVBQWUsQ0FBQyxPQUFPLEVBQUUsRUFFbEQsZUFBZTs7NEZBRWhCLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQzdELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO29CQUM5RSxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50VGVzdGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwL3Rlc3RpbmcnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCB9IGZyb20gJy4uL21vY2snO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBOb29wVHJhbnNsYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgICBkZWZhdWx0TGFuZzogc3RyaW5nID0gJ2VuJztcbiAgICB1c2VyTGFuZzogc3RyaW5nO1xuICAgIGN1c3RvbUxvYWRlcjogYW55O1xuXG4gICAgdHJhbnNsYXRlOiBhbnkgPSB7XG4gICAgICAgIG9uTGFuZ0NoYW5nZTogbmV3IEV2ZW50RW1pdHRlcjxMYW5nQ2hhbmdlRXZlbnQ+KClcbiAgICB9O1xuXG4gICAgYWRkVHJhbnNsYXRpb25Gb2xkZXIoKSB7fVxuICAgIG9uVHJhbnNsYXRpb25DaGFuZ2VkKCkge31cbiAgICB1c2UoKTogYW55IHt9XG4gICAgbG9hZFRyYW5zbGF0aW9uKCkge31cblxuICAgIGdldChrZXk6IHN0cmluZyB8IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPHN0cmluZyB8IGFueT4ge1xuICAgICAgICByZXR1cm4gb2Yoa2V5KTtcbiAgICB9XG5cbiAgICBpbnN0YW50KGtleTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPik6IHN0cmluZyB8IGFueSB7XG4gICAgICAgIHJldHVybiBrZXk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtIdHRwQ2xpZW50VGVzdGluZ01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3QoKV0sXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBUcmFuc2xhdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBOb29wVHJhbnNsYXRpb25TZXJ2aWNlIH1dLFxuICAgIGV4cG9ydHM6IFtUcmFuc2xhdGVNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIE5vb3BUcmFuc2xhdGVNb2R1bGUge31cbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC10cmFuc2xhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi90ZXN0aW5nL25vb3AtdHJhbnNsYXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXhFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFSSxnQkFBVyxHQUFXLElBQUksQ0FBQztRQUkzQixjQUFTLEdBQVE7WUFDYixZQUFZLEVBQUUsSUFBSSxZQUFZLEVBQW1CO1NBQ3BELENBQUM7S0FjTDtJQVpHLG9CQUFvQixLQUFJLENBQUM7SUFDekIsb0JBQW9CLEtBQUksQ0FBQztJQUN6QixHQUFHLEtBQVMsQ0FBQztJQUNiLGVBQWUsS0FBSSxDQUFDO0lBRXBCLEdBQUcsQ0FBQyxHQUEyQjtRQUMzQixPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQTJCO1FBQy9CLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzsrR0FwQlEsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FEVCxNQUFNOzs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUFvQ2xDLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLFlBWGxCLHVCQUF1QjtnSEFXeEIsbUJBQW1CLGFBVmpCO1lBQ1AsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFO1lBQ2pFLHVCQUF1QixDQUFDO2dCQUNwQixNQUFNLEVBQUU7b0JBQ0osT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DO2FBQ0osQ0FBQztTQUNMLFlBVFMsdUJBQXVCOzs0RkFXeEIsbUJBQW1CO2tCQVovQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNsQyxTQUFTLEVBQUU7d0JBQ1AsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFO3dCQUNqRSx1QkFBdUIsQ0FBQzs0QkFDcEIsTUFBTSxFQUFFO2dDQUNKLE9BQU8sRUFBRSxlQUFlO2dDQUN4QixRQUFRLEVBQUUsc0JBQXNCOzZCQUNuQzt5QkFDSixDQUFDO3FCQUNMO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50VGVzdGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwL3Rlc3RpbmcnO1xuaW1wb3J0IHsgcHJvdmlkZVRyYW5zbGF0ZVNlcnZpY2UsIFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBMYW5nQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi9tb2NrJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgTm9vcFRyYW5zbGF0aW9uU2VydmljZSBpbXBsZW1lbnRzIFRyYW5zbGF0aW9uU2VydmljZSB7XG4gICAgZGVmYXVsdExhbmc6IHN0cmluZyA9ICdlbic7XG4gICAgdXNlckxhbmc6IHN0cmluZztcbiAgICBjdXN0b21Mb2FkZXI6IGFueTtcblxuICAgIHRyYW5zbGF0ZTogYW55ID0ge1xuICAgICAgICBvbkxhbmdDaGFuZ2U6IG5ldyBFdmVudEVtaXR0ZXI8TGFuZ0NoYW5nZUV2ZW50PigpXG4gICAgfTtcblxuICAgIGFkZFRyYW5zbGF0aW9uRm9sZGVyKCkge31cbiAgICBvblRyYW5zbGF0aW9uQ2hhbmdlZCgpIHt9XG4gICAgdXNlKCk6IGFueSB7fVxuICAgIGxvYWRUcmFuc2xhdGlvbigpIHt9XG5cbiAgICBnZXQoa2V5OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxzdHJpbmcgfCBhbnk+IHtcbiAgICAgICAgcmV0dXJuIG9mKGtleSk7XG4gICAgfVxuXG4gICAgaW5zdGFudChrZXk6IHN0cmluZyB8IEFycmF5PHN0cmluZz4pOiBzdHJpbmcgfCBhbnkge1xuICAgICAgICByZXR1cm4ga2V5O1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbSHR0cENsaWVudFRlc3RpbmdNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFRyYW5zbGF0aW9uU2VydmljZSwgdXNlQ2xhc3M6IE5vb3BUcmFuc2xhdGlvblNlcnZpY2UgfSxcbiAgICAgICAgcHJvdmlkZVRyYW5zbGF0ZVNlcnZpY2Uoe1xuICAgICAgICAgICAgbG9hZGVyOiB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBOb29wVHJhbnNsYXRpb25TZXJ2aWNlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOb29wVHJhbnNsYXRlTW9kdWxlIHt9XG4iXX0=
@@ -27,7 +27,12 @@ export class TranslateLoaderService {
27
27
  this.http = http;
28
28
  this.prefix = 'i18n';
29
29
  this.suffix = '.json';
30
- this.providers = [];
30
+ this.providers = [
31
+ new ComponentTranslationModel({
32
+ name: 'adf-core',
33
+ path: 'assets/adf-core'
34
+ })
35
+ ];
31
36
  this.queue = [];
32
37
  this.defaultLang = 'en';
33
38
  }
@@ -145,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
145
150
  providedIn: 'root'
146
151
  }]
147
152
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi90cmFuc2xhdGlvbi90cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUt4RCxNQUFNLE9BQU8sc0JBQXNCO0lBTy9CLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFONUIsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUN4QixXQUFNLEdBQVcsT0FBTyxDQUFDO1FBQ3pCLGNBQVMsR0FBZ0MsRUFBRSxDQUFDO1FBQzVDLFVBQUssR0FBZSxFQUFFLENBQUM7UUFDdkIsZ0JBQVcsR0FBVyxJQUFJLENBQUM7SUFFSSxDQUFDO0lBRXhDLGNBQWMsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDdkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxD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QUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFELElBQUksZUFBZSxFQUFFLENBQUM7b0JBQ2xCLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7b0JBQy9CLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBeklRLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07OzRGQUVULHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luLCB0aHJvd0Vycm9yLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHJhbnNsYXRpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9jb21wb25lbnQubW9kZWwnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICcuLi9jb21tb24vdXRpbHMvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciwgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlTG9hZGVyU2VydmljZSBpbXBsZW1lbnRzIFRyYW5zbGF0ZUxvYWRlciB7XG4gICAgcHJpdmF0ZSBwcmVmaXg6IHN0cmluZyA9ICdpMThuJztcbiAgICBwcml2YXRlIHN1ZmZpeDogc3RyaW5nID0gJy5qc29uJztcbiAgICBwcml2YXRlIHByb3ZpZGVyczogQ29tcG9uZW50VHJhbnNsYXRpb25Nb2RlbFtdID0gW107XG4gICAgcHJpdmF0ZSBxdWV1ZTogc3RyaW5nW11bXSA9IFtdO1xuICAgIHByaXZhdGUgZGVmYXVsdExhbmc6IHN0cmluZyA9ICdlbic7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgICBzZXREZWZhdWx0TGFuZyh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdExhbmcgPSB2YWx1ZSB8fCAnZW4nO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyUHJvdmlkZXIobmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmVnaXN0ZXJlZCA9IHRoaXMucHJvdmlkZXJzLmZpbmQoKHByb3ZpZGVyKSA9PiBwcm92aWRlci5uYW1lID09PSBuYW1lKTtcbiAgICAgICAgaWYgKHJlZ2lzdGVyZWQpIHtcbiAgICAgICAgICAgIHJlZ2lzdGVyZWQucGF0aCA9IHBhdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByb3ZpZGVycy5wdXNoKG5ldyBDb21wb25lbnRUcmFuc2xhdGlvbk1vZGVsKHsgbmFtZSwgcGF0aCB9KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm92aWRlclJlZ2lzdGVyZWQobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMucHJvdmlkZXJzLmZpbmQoKHgpID0+IHgubmFtZSA9PT0gbmFtZSk7XG4gICAgfVxuXG4gICAgZmV0Y2hMYW5ndWFnZUZpbGUobGFuZzogc3RyaW5nLCBjb21wb25lbnQ6IENvbXBvbmVudFRyYW5zbGF0aW9uTW9kZWwsIGZhbGxiYWNrVXJsPzogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uVXJsID0gZmFsbGJhY2tVcmwgfHwgYCR7Y29tcG9uZW50LnBhdGh9LyR7dGhpcy5wcmVmaXh9LyR7bGFuZ30ke3RoaXMuc3VmZml4fT92PSR7RGF0ZS5ub3coKX1gO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRyYW5zbGF0aW9uVXJsKS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudC5qc29uW2xhbmddID0gcmVzO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICByZXRyeSgzKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZmFsbGJhY2tVcmwgJiYgbGFuZy5pbmNsdWRlcygnLScpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFtsYW5nSWRdID0gbGFuZy5zcGxpdCgnLScpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChsYW5nSWQgJiYgbGFuZ0lkICE9PSB0aGlzLmRlZmF1bHRMYW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtjb21wb25lbnQucGF0aH0vJHt0aGlzLnByZWZpeH0vJHtsYW5nSWR9JHt0aGlzLnN1ZmZpeH0/dj0ke0RhdGUubm93KCl9YDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmV0Y2hMYW5ndWFnZUZpbGUobGFuZywgY29tcG9uZW50LCB1cmwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGBGYWlsZWQgdG8gbG9hZCAke3RyYW5zbGF0aW9uVXJsfWApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRDb21wb25lbnRUb0ZldGNoKGxhbmc6IHN0cmluZyk6IEFycmF5PE9ic2VydmFibGU8YW55Pj4ge1xuICAgICAgICBjb25zdCBvYnNlcnZhYmxlQmF0Y2ggPSBbXTtcbiAgICAgICAgaWYgKCF0aGlzLnF1ZXVlW2xhbmddKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXVlW2xhbmddID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wcm92aWRlcnMuZm9yRWFjaCgoY29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNDb21wb25lbnRJblF1ZXVlKGxhbmcsIGNvbXBvbmVudC5uYW1lKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucXVldWVbbGFuZ10ucHVzaChjb21wb25lbnQubmFtZSk7XG5cbiAgICAgICAgICAgICAgICBvYnNlcnZhYmxlQmF0Y2gucHVzaCh0aGlzLmZldGNoTGFuZ3VhZ2VGaWxlKGxhbmcsIGNvbXBvbmVudCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZUJhdGNoO1xuICAgIH1cblxuICAgIGluaXQobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLnF1ZXVlW2xhbmddID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMucXVldWVbbGFuZ10gPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzQ29tcG9uZW50SW5RdWV1ZShsYW5nOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gISEodGhpcy5xdWV1ZVtsYW5nXSB8fCBbXSkuZmluZCgoeCkgPT4geCA9PT0gbmFtZSk7XG4gICAgfVxuXG4gICAgZ2V0RnVsbFRyYW5zbGF0aW9uSlNPTihsYW5nOiBzdHJpbmcpOiBhbnkge1xuICAgICAgICBsZXQgcmVzdWx0ID0ge307XG5cbiAgICAgICAgdGhpcy5wcm92aWRlcnNcbiAgICAgICAgICAgIC5zbGljZSgwKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYS5uYW1lID09PSAnYXBwJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGIubmFtZSA9PT0gJ2FwcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZm9yRWFjaCgobW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobW9kZWwuanNvbj8uW2xhbmddKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IE9iamVjdFV0aWxzLm1lcmdlKHJlc3VsdCwgbW9kZWwuanNvbltsYW5nXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBnZXRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBsZXQgaGFzRmFpbHVyZXMgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgYmF0Y2ggPSBbXG4gICAgICAgICAgICAuLi50aGlzLmdldENvbXBvbmVudFRvRmV0Y2gobGFuZykubWFwKChvYnNlcnZhYmxlKSA9PlxuICAgICAgICAgICAgICAgIG9ic2VydmFibGUucGlwZShcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhc0ZhaWx1cmVzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIGlmIChiYXRjaC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9ya0pvaW4oYmF0Y2gpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZnVsbFRyYW5zbGF0aW9uID0gdGhpcy5nZXRGdWxsVHJhbnNsYXRpb25KU09OKGxhbmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZ1bGxUcmFuc2xhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZnVsbFRyYW5zbGF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoYXNGYWlsdXJlcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBzb21lIHJlc291cmNlcycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5lcnJvcignRmFpbGVkIHRvIGxvYWQgc29tZSByZXNvdXJjZXMnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxUcmFuc2xhdGlvbiA9IHRoaXMuZ2V0RnVsbFRyYW5zbGF0aW9uSlNPTihsYW5nKTtcbiAgICAgICAgICAgICAgICBpZiAoZnVsbFRyYW5zbGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZnVsbFRyYW5zbGF0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi90cmFuc2xhdGlvbi90cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUt4RCxNQUFNLE9BQU8sc0JBQXNCO0lBWS9CLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFYNUIsV0FBTSxHQUFXLE1BQU0sQ0FBQztRQUN4QixXQUFNLEdBQVcsT0FBTyxDQUFDO1FBQ3pCLGNBQVMsR0FBZ0M7WUFDN0MsSUFBSSx5QkFBeUIsQ0FBQztnQkFDMUIsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRSxpQkFBaUI7YUFDMUIsQ0FBQztTQUNMLENBQUM7UUFDTSxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQVcsSUFBSSxDQUFDO0lBRUksQ0FBQztJQUV4QyxjQUFjLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVksRUFB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QUMsQ0FBQztnQkFDcEQsQ0FBQyxDQUNKLENBQUM7WUFDTixDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxRCxJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNsQixRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUMvQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hCLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTlJUSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQUZuQixNQUFNOzs0RkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgdGhyb3dFcnJvciwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudFRyYW5zbGF0aW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvY29tcG9uZW50Lm1vZGVsJztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAnLi4vY29tbW9uL3V0aWxzL29iamVjdC11dGlscyc7XG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IsIHJldHJ5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZUxvYWRlclNlcnZpY2UgaW1wbGVtZW50cyBUcmFuc2xhdGVMb2FkZXIge1xuICAgIHByaXZhdGUgcHJlZml4OiBzdHJpbmcgPSAnaTE4bic7XG4gICAgcHJpdmF0ZSBzdWZmaXg6IHN0cmluZyA9ICcuanNvbic7XG4gICAgcHJpdmF0ZSBwcm92aWRlcnM6IENvbXBvbmVudFRyYW5zbGF0aW9uTW9kZWxbXSA9IFtcbiAgICAgICAgbmV3IENvbXBvbmVudFRyYW5zbGF0aW9uTW9kZWwoe1xuICAgICAgICAgICAgbmFtZTogJ2FkZi1jb3JlJyxcbiAgICAgICAgICAgIHBhdGg6ICdhc3NldHMvYWRmLWNvcmUnXG4gICAgICAgIH0pXG4gICAgXTtcbiAgICBwcml2YXRlIHF1ZXVlOiBzdHJpbmdbXVtdID0gW107XG4gICAgcHJpdmF0ZSBkZWZhdWx0TGFuZzogc3RyaW5nID0gJ2VuJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICAgIHNldERlZmF1bHRMYW5nKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0TGFuZyA9IHZhbHVlIHx8ICdlbic7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJQcm92aWRlcihuYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuICAgICAgICBjb25zdCByZWdpc3RlcmVkID0gdGhpcy5wcm92aWRlcnMuZmluZCgocHJvdmlkZXIpID0+IHByb3ZpZGVyLm5hbWUgPT09IG5hbWUpO1xuICAgICAgICBpZiAocmVnaXN0ZXJlZCkge1xuICAgICAgICAgICAgcmVnaXN0ZXJlZC5wYXRoID0gcGF0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHJvdmlkZXJzLnB1c2gobmV3IENvbXBvbmVudFRyYW5zbGF0aW9uTW9kZWwoeyBuYW1lLCBwYXRoIH0pKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3ZpZGVyUmVnaXN0ZXJlZChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5wcm92aWRlcnMuZmluZCgoeCkgPT4geC5uYW1lID09PSBuYW1lKTtcbiAgICB9XG5cbiAgICBmZXRjaExhbmd1YWdlRmlsZShsYW5nOiBzdHJpbmcsIGNvbXBvbmVudDogQ29tcG9uZW50VHJhbnNsYXRpb25Nb2RlbCwgZmFsbGJhY2tVcmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25VcmwgPSBmYWxsYmFja1VybCB8fCBgJHtjb21wb25lbnQucGF0aH0vJHt0aGlzLnByZWZpeH0vJHtsYW5nfSR7dGhpcy5zdWZmaXh9P3Y9JHtEYXRlLm5vdygpfWA7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodHJhbnNsYXRpb25VcmwpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50Lmpzb25bbGFuZ10gPSByZXM7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHJldHJ5KDMpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFmYWxsYmFja1VybCAmJiBsYW5nLmluY2x1ZGVzKCctJykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgW2xhbmdJZF0gPSBsYW5nLnNwbGl0KCctJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGxhbmdJZCAmJiBsYW5nSWQgIT09IHRoaXMuZGVmYXVsdExhbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke2NvbXBvbmVudC5wYXRofS8ke3RoaXMucHJlZml4fS8ke2xhbmdJZH0ke3RoaXMuc3VmZml4fT92PSR7RGF0ZS5ub3coKX1gO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mZXRjaExhbmd1YWdlRmlsZShsYW5nLCBjb21wb25lbnQsIHVybCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoYEZhaWxlZCB0byBsb2FkICR7dHJhbnNsYXRpb25Vcmx9YCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldENvbXBvbmVudFRvRmV0Y2gobGFuZzogc3RyaW5nKTogQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PiB7XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGVCYXRjaCA9IFtdO1xuICAgICAgICBpZiAoIXRoaXMucXVldWVbbGFuZ10pIHtcbiAgICAgICAgICAgIHRoaXMucXVldWVbbGFuZ10gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByb3ZpZGVycy5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0NvbXBvbmVudEluUXVldWUobGFuZywgY29tcG9uZW50Lm5hbWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5xdWV1ZVtsYW5nXS5wdXNoKGNvbXBvbmVudC5uYW1lKTtcblxuICAgICAgICAgICAgICAgIG9ic2VydmFibGVCYXRjaC5wdXNoKHRoaXMuZmV0Y2hMYW5ndWFnZUZpbGUobGFuZywgY29tcG9uZW50KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBvYnNlcnZhYmxlQmF0Y2g7XG4gICAgfVxuXG4gICAgaW5pdChsYW5nOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMucXVldWVbbGFuZ10gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5xdWV1ZVtsYW5nXSA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNDb21wb25lbnRJblF1ZXVlKGxhbmc6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLnF1ZXVlW2xhbmddIHx8IFtdKS5maW5kKCh4KSA9PiB4ID09PSBuYW1lKTtcbiAgICB9XG5cbiAgICBnZXRGdWxsVHJhbnNsYXRpb25KU09OKGxhbmc6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGxldCByZXN1bHQgPSB7fTtcblxuICAgICAgICB0aGlzLnByb3ZpZGVyc1xuICAgICAgICAgICAgLnNsaWNlKDApXG4gICAgICAgICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChhLm5hbWUgPT09ICdhcHAnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYi5uYW1lID09PSAnYXBwJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5mb3JFYWNoKChtb2RlbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChtb2RlbC5qc29uPy5bbGFuZ10pIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gT2JqZWN0VXRpbHMubWVyZ2UocmVzdWx0LCBtb2RlbC5qc29uW2xhbmddKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGdldFRyYW5zbGF0aW9uKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGxldCBoYXNGYWlsdXJlcyA9IGZhbHNlO1xuICAgICAgICBjb25zdCBiYXRjaCA9IFtcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0Q29tcG9uZW50VG9GZXRjaChsYW5nKS5tYXAoKG9ic2VydmFibGUpID0+XG4gICAgICAgICAgICAgICAgb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFzRmFpbHVyZXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgIF07XG5cbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGJhdGNoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmb3JrSm9pbihiYXRjaCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmdWxsVHJhbnNsYXRpb24gPSB0aGlzLmdldEZ1bGxUcmFuc2xhdGlvbkpTT04obGFuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZnVsbFRyYW5zbGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChmdWxsVHJhbnNsYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhhc0ZhaWx1cmVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHNvbWUgcmVzb3VyY2VzJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKCdGYWlsZWQgdG8gbG9hZCBzb21lIHJlc291cmNlcycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnVsbFRyYW5zbGF0aW9uID0gdGhpcy5nZXRGdWxsVHJhbnNsYXRpb25KU09OKGxhbmcpO1xuICAgICAgICAgICAgICAgIGlmIChmdWxsVHJhbnNsYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChmdWxsVHJhbnNsYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19